一.代码流程(运行效果:
短期光伏发电量短期预测(Python代码,基于SARIMA(季节性自回归移动平均模型)和Prophet工具结合预测未来发电量)_哔哩哔哩_bilibili
模型流程:
-
导入所需的库,包括NumPy、Pandas、Matplotlib、Seaborn等,并设置Seaborn的图表样式为'darkgrid'。
-
读取两个数据集,分别为"Plant_1_Generation_Data.csv"和"Plant_1_Weather_Sensor_Data.csv",然后对数据进行处理,包括删除不需要的列和格式化日期时间。
-
创建两个图表的子图,一个包含每日产量图和AC & DC功率图,另一个包含每日产量和总产量的图。
-
对实际DC功率进行计算,计算每天DC功率转换成AC功率的损失百分比。
-
绘制所有源的DC功率图。
-
分析DC功率和时间的关系,绘制前11个源和后11个源的DC功率图。
-
分析温度数据,绘制模块温度和环境温度的图表。
-
选取最差的一个源,绘制该源的DC功率和每日产量图。
-
使用SARIMA(季节性自回归移动平均模型)和Prophet(Facebook开发的时间序列预测工具)进行时间序列预测。
-
绘制预测结果与原始数据的对比图,并计算预测性能指标,包括R²分数、平均绝对误差(MAE)和均方根误差(RMSE)。
二.数据集(68779条数据)
这些数据是在印度的两个太阳能发电厂收集的,时间跨度为34天。每对文件包含一个电力发电数据集和一个传感器读数数据集。电力发电数据集是在逆变器级别收集的,每个逆变器都连接着多行太阳能电池板。传感器数据是在发电厂级别收集的,是单个传感器阵列在发电厂中的最佳放置。
DATE_TIME
: 表示日期和时间的时间戳,记录数据采集的具体时间点。PLANT_ID
: 发电厂的唯一标识符,用于区分不同的太阳能发电厂。SOURCE_KEY
: 太阳能发电设备的唯一标识符,用于区分不同的发电设备。DC_POWER
: 直流功率的测量值,表示从太阳能电池板产生的直流电功率。AC_POWER
: 交流功率的测量值,表示从逆变器转换后的交流电功率。DAILY_YIELD
: 每天的发电量,表示在给定日期内生成的总电量。TOTAL_YIELD
: 总发电量,表示从安装以来生成的总电量。
这些列提供了关于太阳能发电厂的重要信息,包括发电设备的功率输出、每天的发电量以及总发电量。通过这些数据,可以进行发电量的分析、设备性能的评估以及故障检测等任务。
开始时间
DATE_TIME | PLANT_ID | SOURCE_KEY | DC_POWER | AC_POWER | DAILY_YIELD | TOTAL_YIELD |
15-05-2020 00:00 | 4135001 | 1BY6WEcLGh8j5v7 | 0 | 0 | 0 | 6259559 |
15-05-2020 00:00 | 4135001 | 1IF53ai7Xc0U56Y | 0 | 0 | 0 | 6183645 |
15-05-2020 00:00 | 4135001 | 3PZuoBAID5Wc2HD | 0 | 0 | 0 | 6987759 |
15-05-2020 00:00 | 4135001 | 7JYdWkrLSPkdwr4 | 0 | 0 | 0 | 7602960 |
15-05-2020 00:00 | 4135001 | McdE0feGgRqW7Ca | 0 | 0 | 0 | 7158 |