Datawhale AI春训营】AI + 新能源(发电功率预测)Task1
赛题链接官网
新能源发电功率预测赛题进阶方案
下面是ai给的一些建议
新能源发电功率预测赛题进阶方案
一、时序特性深度发掘
1. 多尺度周期特征
# 分钟级周期编码
train['15min_index'] = (train['hour']*4 + train['minute']//15)
# 周周期特征
train['weekday'] = pd.to_datetime(train['date']).dt.weekday
# 傅里叶基函数
from statsmodels.tsa.deterministic import Fourier
fourier = Fourier(order=3, period=24)
fourier_features = fourier.in_sample(train.index)
# 气象指标滞后序列
for lag in :
train = train["t2m"].shift(lag)
# 功率自回归特征
train["power_lag96"] = train["power"].shift(96)# 昨日同时间点
window_sizes = # 1h/24h/48h窗口
for ws in window_sizes:
train = train["wind_speed"].rolling(ws).mean()
train = train["ghi"].rolling(ws).max()
二、气象数据增强
# 网格点标准差
train["spatial_std"] = dataset["data"].std(axis=(1,2))
# 梯度计算函数
def calc_gradient(field):
grad_x = np.gradient(field, axis=1)
grad_y = np.gradient(field, axis=2)
return np.sqrt(grad_x**2 + grad_y**2)
from pvlib import solarposition
# 太阳位置计算
times = pd.to_datetime(train.index)
solpos = solarposition.get_solarposition(times, 30.6, 114.3)# 武汉坐标
train["solar_zenith"] = solpos["zenith"]
三、模子架构优化
def split_predict(df):
# 黎明阶段(5-8点)使用LSTM
dawn_model = build_lstm(df.between_time('5:00','8:00'))
# 平稳阶段使用LightGBM
stable_model = lgb.train(df.between_time('9:00','18:00'))
return combine_predictions(dawn_model, stable_model)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]