马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
赛题链接
官网
新能源发电功率预测赛题进阶方案
下面是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 [1, 2, 3, 24, 24 * 7]:
- train[f"t2m_lag{lag}"] = train["t2m"].shift(lag)
- # 功率自回归特征
- train["power_lag96"] = train["power"].shift(96) # 昨日同时间点
- window_sizes = [4, 24, 48] # 1h/24h/48h窗口
- for ws in window_sizes:
- train[f"wind_rolling_mean_{ws}"] = train["wind_speed"].rolling(ws).mean()
- train[f"ghi_rolling_max_{ws}"] = 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企服之家,中国第一个企服评测及商务社交产业平台。 |