1、save_historic_pv_power函数
功能:当日存储前一日的在数据库中的光伏发电功率,定时运行,设定每天凌晨1点运行
传入的参数:
plant_ID:工厂ID,以此确定哪家工厂
url:接口,通过工厂ID,获得对应工厂的信息,包含设备id、经纬度等
your_host、your_username、your_port、your_password、your_database:连接数据库要用到的信息
①获取前一日的日期(线上环境要改,现在是直接定死的一天)
②通过url获取对应电站的设备ID
③连接数据库,读取表TB0302_DAY_POWER,获取对应电站下的所有设备ID当日每隔15min的总的发电功率,返回的dataframe格式数据如下
time | pv_power | plant_ID |
2024-04-18 00:00 | 0.000 | 8 |
④将该dataframe格式的数据存入数据库的表pv_data_626中
⑤计算下一次该函数启动的时间,等待下一次运行
2、train_model函数
传入的参数:
plant_ID:工厂ID,以此确定哪家工厂
your_host、your_username、your_port、your_password、your_database:连接数据库要用到的信息
①从数据库中读取近3个月的历史数据,历史预报气象数据在数据库表:forecast_data_0626中,历史园区发电功率在数据库表:pv_data_0626中 (后续需要改表吧)
②数据特征构造
③lightGBM_1,存模型参数于models文件夹中
④XGBOOST,存模型参数于models文件夹中
⑤lightGBM_2,存模型参数于models文件夹中
⑥GRU,存模型参数于models文件夹中
⑦计算下一次该函数启动的时间,等待下一次运行,间隔三十天,凌晨2点运行
3、save_weather_data_and_predict函数
传入的参数:
plant_ID:工厂ID,以此确定哪家工厂
scaler:这个是模型在训练前归一化的内容,以此获取各个特征的最大最小值,方便预测的时候归一化(全局变量)
your_host、your_username、your_port、your_password、your_database:连接数据库要用到的信息
①通过API接口,获取次日预报的气象数据(这边现在用的本地的数据导入的,之后需要修改)
②连接数据库,将次日的预报气象数据存入数据库中表:forecast_data_0626中
③光伏发电预测,包含特征构造,通过XGBOOST、lightGBM_2、GRU,最终得到次日15min间隔的发电功率
④将发电功率存入数据库表predict_pv_power中
⑤计算下一次该函数启动的时间,等待下一次运行,每天晚上9点运行