丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
一、问题背景
复杂多变的气象条件和社会事件等不确定因素都会对电力系统负荷造成一定的影响,使得传统负荷预测模型的应用存在一定的局限性。同时,随着电力系统负荷结构的多元化,也使得模型应用的效果有所降低,因此电力系统负荷预测问题亟待进一步研究。
二、解决问题
1.地区负荷的中短期预测分析
根据附件中提供的某地区电网间隔15分钟的负荷数据,建立中短期负荷预测模型:
(1)给出该地区电网未来10天间隔15分钟的负荷预测结果,并分析其预测精度;
2.行业负荷的中期预测分析
(2)给出该地区各行业未来3个月日负荷最大值和最小值的预测结果,并对其预测精度做出分析。
ColumnNon-NullCountDtype—-------------------------
0日期15non-nullobject
1天气状况15non-nullobject
2最高温度15non-nullint32
3最低温度15non-nullint32
4白天风力风向15non-nullobject
5夜晚风力风向15non-nullobject
6天气115non-nullobject7天气
215non-nullobjectdtypes:int32(2),object(6)
tianqi['白天风力风向'].unique()array([‘无持续风向<3级’,‘北风4~5级’],dtype=object)
tianqi['夜晚风力风向'].unique()array([‘无持续风向<3级’,‘北风4~5级’,‘北风3~4级’],dtype=object)
dic={'无持续风向<3级':0,'北风3~4级':1,'北风4~5级':2}tianqi['白天风力风向']=tianqi['白天风力风向'].map(dic)tianqi['夜晚风力风向']=tianqi['夜晚风力风向'].map(dic)2.5天气进行有序编码tianqi['天气1'].unique()array([‘多云’,‘阴’,‘小雨-中雨’,‘大雨’,‘中雨’,‘小雨’,‘晴’],dtype=object)
tianqi['天气2'].unique()array([‘多云’,‘阴’,‘小雨’,‘中雨-大雨’,‘中雨’,‘小雨-中雨’,‘晴’],dtype=object)
y=略(2)划分训练集和验证集
x=x_train[:900]y_train=y[:900]x_val=x_train[900:]y_val=y[900:]3.2训练model_lgb=lgb.LGBMRegressor(learning_rate=0.01,max_depth=-1,n_estimators=1000,boosting_type='gbdt',random_state=2021,objective='regression',num_leaves='32',verbose=-1)lgb_model=model_lgb.fit(x,y_train)pred_val_y=lgb_model.predict(x_val)3.2模型评价(MAE,RMSE)#coding=utf-8importnumpyasnpfromsklearnimportmetrics#MAPE需要自己实现defmape(y_true,y_pred):returnnp.mean(np.abs((y_pred-y_true)/y_true))y_true=np.array(y_val)y_pred=np.array(pred_val_y)print('MSE:',metrics.mean_squared_error(y_true,y_pred))print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true,y_pred)))print('MAE:',metrics.mean_absolute_error(y_true,y_pred))print('MAPE:',mape(y_true,y_pred))##R2-scorefromsklearn.metricsimportr2_scoreprint('R2-score:',r2_score(y_true,y_pred))