第三屆世界科學智能大賽新能源賽道:新能源發電功率預測-數據處理心得體會1

看懂數據

比賽數據說明:

文檔(報名之后可以下載)大小操作
初賽測試集.zip94MB下載
初賽訓練集.zip632MB下載
output.zip145KB下載

任務和主題

AI新能源功率預報:根據歷史發電功率數據和對應時段多類別氣象預測數據,實現次日零時起到未來24小時逐15分鐘級新能源場站發電功率預測。

比賽數據

1.氣象數據
比賽輸入數據來自三個不同的氣象預報數據,數據格式為nc,共8個變量,需要注意氣象源NWP_2的變量與另外兩個稍有不同。氣象變量說明見下文。每個文件是第二天北京時間0點開始的未來24小時氣象預報,時間間隔1小時,文件名的日期表示預報發布日期,如20240101.nc是2024年1月1日發布的,對1月2日的預報。每個輸入文件有5個維度,time,channel,hour,lat,lon。
time表示數據第一個時刻,為世界時;channel為變量,共8維;hour為從起始時間到預報時間的時間間隔,數值為0~23;lat為緯度,數值從小到大為從北向南排列;lon為經度,數值從小到大為從西向東排列。這里經緯度數值僅代表相對關系,中心點為離場站最近的點。
參賽隊伍可以不使用全部氣象源的全部變量做為輸入。

2.場站實發功率
比賽目標數據來自10個新能源場站的歸一化處理后的實發功率,其中包含5個風電場站和5個光伏場站。編號1-5為風電場,6-10為光伏電場。數據時間為北京時間,數據時間間隔為15分鐘。需要注意數據中偶有空值、死值等異常值。

氣象變量說明:

氣象源1(NWP_1)、氣象源3(NWP_3): [u100,?v100,?t2m,?tp,?tcc,?sp,?poai,?ghi], 氣象源2(NWP_2): [u100,?v100,?t2m,?tp,?tcc,msl,poai,ghi]

變量描述單位
u100100米高度緯向風m/s(米/秒)
v100100米高度經向風m/s(米/秒)
t2m2米氣溫K(開爾文)
tp總降水量m(米)
tcc總云量(0 - 1)
sp地面氣壓Pa(帕斯卡)
poai光伏面板輻照度W/m2(瓦/平方米)
ghi水平面總輻照度W/m2(瓦/平方米)
msl海平面氣壓Pa(帕斯卡)

初賽訓練集和測試集:

數據集時間范圍空間范圍時間分辨率
TrainA20240101 ~ 20241231場站周邊 11x11 個格點1h
TestA20250101 ~ 20250228場站周邊 11x11 個格點1h

復賽訓練集和測試集:

數據集時間范圍空間范圍時間分辨率
TrainB20240101 ~ 20250228場站周邊 11x11 個格點1h
TestB20250301 ~ 20250430場站周邊 11x11 個格點1h

?比賽數據分析

總體思想:結果時序模型輸入一般都是 [B* T*feature]三維? ,但是這個拓展了兩個維度,把多的這兩維處理好就能順利放入時序模型了?。

1.文件結構?

Input/
├── 1/
│   ├── NWP_1/
│   │   ├── 20240101.nc
│   │   ├── 20240102.nc
│   │   └── ...
│   ├── NWP_2/
│   ├── NWP_3/
├── 2/
├── ...
Output/
├── output1.csv
├── output2.csv

3個氣象源

1個站點 - 對應3個不同機構的氣象源數據 NWP_1,NWP_2,NWP_3

baseline中只用了NWP_1

我們需要將3個氣象源都利用起來

簡單辦法,把NWP_1,NWP_2,NWP_3 屬性都連起來 一個NWP有8個氣象特征,

連起來后我們的特征維度8*3=24

5個維度

每個輸入文件有5個維度,time,channel,hour,lat,lon

from netCDF4 import Dataset
import numpy as np
import pandas as pdnc_path = "data/初賽訓練集/nwp_data_train/1/NWP_1/20240101.nc"
dataset = Dataset(nc_path, mode='r')
dataset.variables.keys()

輸出結果 dict_keys(['time', 'channel', 'data', 'lat', 'lon', 'lead_time'])?????????

time表示數據第一個時刻,為世界時;channel為變量,共8維;hour為從起始時間到預報時間的時間間隔,數值為0~23;lat為緯度,數值從小到大為從北向南排列;lon為經度,數值從小到大為從西向東排列。這里經緯度數值僅代表相對關系,中心點為離場站最近的點。

需要通過

time 起始時間到預報時間間隔

hour =?lead_time

data.shape == [1, 8, 24, lat, lon]
? ? ? ? ? ? ? ? ? ? ? ? ?^ ?^ ? ^
? ? ? ? ? ? ? ? ? ? ? ? ? | ?| ? └── lead_time: 0~23 小時
? ? ? ? ? ? ? ? ? ? ? ? ??| ?└── channel: 8 個變量(如 u100, v100...)
? ? ? ? ? ? ? ? ? ? ? ? ?└── time: 通常只有 1(僅起始時間)

把channel 和11*11站點數據處理成 2維度

trick:

歸一化 Y

對 Y 做歸一化(通常歸一到 [0, 1])在回歸預測任務中是非常常見、有效且標準的做法,尤其是在風電/光伏功率預測這類 尺度不一、目標動態范圍大的任務 中,它能帶來諸多優勢。

原因說明
🎯 穩定模型訓練避免目標值過大導致梯度爆炸或收斂緩慢
📏 對抗單位不一致輸入是歸一化氣象數據,Y 不歸一會尺度失衡
📉 提高預測精度模型學的是“相對變化”,更好擬合歸一化目標
📐 通用性更強方便多場站間 transfer(特別是單位不同的場站)

?實踐中常用方法

1. 歸一化到 [0, 1]:
y_max = fact_df["value"].max() y = y / y_max

?? 最常用!方便訓練、預測后乘回來

2. 保存歸一化參數用于反歸一:
self.y_max = y_max # 推理時: y_pred * y_max 

真實場景中是否有效?

以光伏/風電預測為例:

  • 幾乎所有 top 比賽/論文/產品系統都使用 Y 歸一化策略

  • 典型例子:阿里天池光伏預測挑戰賽、SGCC 風電短期預測項目

總體流程
階段動作
加載 Y清洗負值,小于閾值置零
擬合 Y歸一化到 [0, 1],保存 y_max
推理后模型輸出 * y_max,恢復原單位

歸一化 Y 是“回歸問題中”的行業標準做法,尤其在新能源功率預測任務中對收斂速度和泛化能力都有顯著提升效果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902126.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902126.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902126.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【云馨AI-大模型】2025年4月第三周AI領域全景觀察:硬件革命、生態博弈與國產化突圍

一、硬件算力突破點燃多智能體時代 谷歌在4月12日Cloud Next大會發布第七代TPU Ironwood,單芯片算力達4614 TFLOPs,較前代內存提升6倍,專為AI推理場景優化。配合發布的Gemini 2.5 Flash模型通過"思考"功能實現成本優化&#xff0c…

第3章 垃圾收集器與內存分配策略《深入理解Java虛擬機:JVM高級特性與最佳實踐(第3版)》

第3章 垃圾收集器與內存分配策略 3.2 對象已死 Java世界中的所有對象實例,垃圾收集器進行回收前就是確定對象哪些是活著的,哪些已經死去。 3.2.1 引用計數算法 常見的回答是:給對象中添加一個引用計數器,有地方引用&#xff0…

超詳細VMware虛擬機擴容磁盤容量-無坑版

1.環境: 虛擬機:VMware Workstation 17 Pro-17.5.2 Linux系統:Ubuntu 22.04 LTS 2.硬盤容量 虛擬機當前硬盤容量180G -> 擴展至 300G 3.操作步驟 (1)在虛擬機關機的狀態下,虛擬機硬盤擴容之前必…

HarmonyOS:1.4 - HarmonyOS應用程序框架基礎

判斷題 1.在基于Stage模型開發的應用項目中都存在一個app.json5配置文件、以及一個或多個module.json5配置文件。 正確(True) 2.一個應用只可以包含一個UIAbility組件。 錯誤(False) 3.Background狀態在UIAbility實例銷毀時觸發。可以在onDestroy()回調中進行系統資源的釋…

HTTP HTTPS RSA

推薦閱讀 小林coding HTTP篇 文章目錄 HTTP 80HTTP 響應碼1xx:信息性狀態碼(Informational)2xx:成功狀態碼(Success)3xx:重定向狀態碼(Redirection)4xx:客戶端…

ORACLE數據庫轉國產阿里OceanBase數據庫

1.BLOB類型修改 將接口內oracle.sql.BLOB改為java.sql.Blob 2.REGEXP_LIKE 判斷函數正則表達式中字符轉義問題 OB的正則表達式使用的是標準的Linux模式,oracle是黑盒子,在處理部分轉義符([])的時候, Oracle無需使用轉義符,OB務必使用轉義符,加/轉義處理,例如在regexp_like(t…

STM32的三種啟動方式

目錄 一、從主閃存存儲器啟動(Main Flash Memory) 二、從系統存儲器啟動(System Memory) 三、從內置SRAM啟動(Embedded SRAM) 一、從主閃存存儲器啟動(Main Flash Memory) >&g…

Flutter使用flutter_driver進行自動化測試

Flutter自動化測試實踐指南 作為一名iOS開發者,我最近對Flutter的自動化測試產生了濃厚興趣。在開發過程中,我發現自動化測試對于保證應用質量至關重要,特別是像我們這樣的創業團隊,測試資源有限的情況下。 搭建Flutter自動化測…

Halcon應用:九點標定-手眼標定

提示:若沒有查找的算子,可以評論區留言,會盡快更新 Halcon應用:九點標定-手眼標定 前言一、Halcon應用?二、應用實戰1、圖形理解[eye-to-hand]:1.1、開始應用2、 圖形理解[eye-in-hand]2.1、 開始應用 前言…

【C++11】列表初始化、右值引用、完美轉發、lambda表達式

📚 博主的專欄 🐧 Linux | 🖥? C | 📊 數據結構 | 💡C 算法 | 🌐 C 語言 上篇文章:unordered_map、unordered_set底層編寫 下篇文章:C11:新的類功能、模板的可…

Pandas取代Excel?

有人在知乎上提問:為什么大公司不用pandas取代excel? 而且列出了幾個理由:Pandas功能比Excel強大,運行速度更快,Excel除了簡單和可視化界面外,沒有其他更多的優勢。 有個可怕的現實是,對比Exce…

Vue 3 中將 ref 創建的響應式對象數據轉換為普通(非響應式)的數據

Vue 3 中使用 ref 創建的響應式對象數據轉換為普通(非響應式)的數據,有以下幾種方法: 1. 訪問 .value 屬性: 這是最直接、最常見的方法。 由于 ref 對象的值存儲在其 .value 屬性中,直接訪問該屬性即可獲得普通數據。…

四月下旬系列

CUHKSZ 校賽 期中考試 DAY -1。 省流&#xff1a;前 1h 切 6 題&#xff0c;后 3h 過 1 題&#xff0c;讀錯一個本來很【】的題&#xff0c;被大模擬構造創【】了。 本地除了 VSCode 沒有 Extensions&#xff0c;別的和省選差不多。使用 DEVC。 前 6 題難度 < 綠&#x…

下采樣(Downsampling)

目錄 1. 下采樣的定義與作用?? ??2. 常見下采樣方法?? ??(1) 池化&#xff08;Pooling&#xff09;?? ??(2) 跨步卷積&#xff08;Strided Convolution&#xff09;?? ??(3) 空間金字塔池化&#xff08;SPP&#xff09;?? ??3. PyTorch 實現示例?? …

lottie深入玩法

A、json文件和圖片資源分開 delete 是json資源名字 /res/lottie/delete_anim_images是圖片資源文件夾路徑 JSON 中引用的圖片名&#xff0c;必須與實際圖片文件名一致 B、json文件和圖片資源分開&#xff0c;并且圖片加載不固定 比如我有7張圖片&#xff0c;分別命名1~7&…

高精度算法(加、減、乘、除、階乘和)?

歸納編程學習的感悟&#xff0c; 記錄奮斗路上的點滴&#xff0c; 希望能幫到一樣刻苦的你&#xff01; 如有不足歡迎指正&#xff01; 共同學習交流&#xff01; &#x1f30e;歡迎各位→點贊 &#x1f44d; 收藏? 留言?&#x1f4dd; 唯有主動付出&#xff0c;才有豐富的果…

探索大語言模型(LLM):馬爾可夫鏈——從詩歌分析到人工智能的數學工具

提出背景與靈感起源 馬爾可夫鏈由俄國數學家安德雷馬爾可夫于1906年提出&#xff0c;最初是為了挑戰當時概率論中“獨立性假設”的局限性。他希望通過研究相依變量序列&#xff0c;證明即使隨機變量之間存在依賴關系&#xff0c;大數定律和中心極限定理仍然成立。 靈感來源&am…

【web服務_負載均衡Nginx】三、Nginx 實踐應用與高級配置技巧

一、Nginx 在 Web 服務器場景中的深度應用? 1.1 靜態網站部署與優化? 在 CentOS 7 系統中&#xff0c;使用 Nginx 部署靜態網站是最基礎也最常見的應用場景。首先&#xff0c;準備網站文件&#xff0c;在/var/www/html目錄下創建index.html文件&#xff1a; sudo mkdir -p…

C語言格式化輸入輸出總結 (printf和scanf)

一、printf格式化輸出 1. 整數格式化 (%d, %i, %u, %o, %x) c復制代碼 int num 42; // 以下為不同格式輸出示例 printf("%d", num); // 42 (十進制) printf("%i", num); // 42 (同%d) printf("%u", num); // 42 (無符號十進制…

哈夫曼編碼和哈夫曼樹

哈夫曼編碼&#xff08;Huffman Coding&#xff09; 是一種基于字符出現頻率的無損數據壓縮算法&#xff0c;通過構建哈夫曼樹&#xff08;Huffman Tree&#xff09; 來生成最優前綴編碼&#xff0c;使得高頻字符用短編碼&#xff0c;低頻字符用長編碼&#xff0c;從而實現高效…