1.数据集介绍(可以看短期光伏发电量短期预测(Python代码,基于LSTM模型)_深度学习的奋斗者的博客-CSDN博客)
两篇文章用的是同一个数据集,不同的的是本篇多了温度特征
这些是温度数据集中的列名:
DATE_TIME
: 日期和时间PLANT_ID
: 电厂IDSOURCE_KEY
: 数据源的关键字AMBIENT_TEMPERATURE
: 环境温度MODULE_TEMPERATURE
: 模块温度IRRADIATION
: 辐照度
这些列包含了太阳能发电数据和气象传感器数据的各个指标和变量。
2020/5/15 0:00 | 4135001 | HmiyD2TTLFNqkNe | 25.18431613 | 22.8575074 | 0 |
2020/5/15 0:15 | 4135001 | HmiyD2TTLFNqkNe | 25.08458867 | 22.76166787 | 0 |
2020/5/15 0:30 | 4135001 | HmiyD2TTLFNqkNe | 24.9357526 | 22.59230553 | 0 |
2020/5/15 0:45 | 4135001 | HmiyD2TTLFNqkNe | 24.8461304 | 22.36085213 | 0 |
2020/5/15 1:00 | 4135001 | HmiyD2TTLFNqkNe | 24.62152536 | 22.16542264 | 0 |
2020/5/15 1:15 | 4135001 | HmiyD2TTLFNqkNe | 24.5360922 | 21.96857087 | 0 |
2020/5/15 1:30 | 4135001 | HmiyD2TTLFNqkNe | 24.63867387 | 22.35292567 | 0 |
2020/5/15 1:45 | 4135001 | HmiyD2TTLFNqkNe | 24.87302233 | 23.1609192 | 0 |
2020/5/15 2:00 | 4135001 | HmiyD2TTLFNqkNe | 24.93693047 | 23.026113 | 0 |
2020/5/15 2:15 | 4135001 | HmiyD2TTLFNqkNe | 25.0122476 | 23.34322927 | 0 |
2020/5/15 2:30 | 4135001 | HmiyD2TTLFNqkNe | 25.00514933 | 23.63945927 | 0 |
2020/5/15 2:45 | 4135001 | HmiyD2TTLFNqkNe | 24.99301953 | 24.0394858 | 0 |
2020/5/15 3:00 | 4135001 | HmiyD2TTLFNqkNe | 25.01630943 | 24.38413557 | 0 |
2020/5/15 3:15 | 4135001 | HmiyD2TTLFNqkNe | 24.98521527 | 24.35150773 | 0 |
2020/5/15 3:30 | 4135001 | HmiyD2TTLFNqkNe | 24.93773193 | 24.06029653 | 0 |
2020/5/15 3:45 | 4135001 | HmiyD2TTLFNqkNe | 24.87909953 | 23.70979413 | 0 |
2020/5/15 4:00 | 4135001 | HmiyD2TTLFNqkNe | 24.6789022 | 22.58994153 | 0 |
2020/5/15 4:15 | 4135001 | HmiyD2TTLFNqkNe | 24.3519308 | 21.78364253 | 0 |
2020/5/15 4:30 | 4135001 | HmiyD2TTLFNqkNe | 24.0626222 | 21.85252493 | 0 |
2020/5/15 4:45 | 4135001 | HmiyD2TTLFNqkNe | 24.0132242 | 22.306315 | 0 |
2020/5/15 5:00 | 4135001 | HmiyD2TTLFNqkNe | 24.1771058 | 22.55190847 | 0 |
2020/5/15 5:15 | 4135001 | HmiyD2TTLFNqkNe | 24.304888 | 22.97949207 | 0 |
2020/5/15 5:30 | 4135001 | HmiyD2TTLFNqkNe | 24.32872727 | 23.45238047 | 0 |
2020/5/15 5:45 | 4135001 | HmiyD2TTLFNqkNe | 24.28921113 | 23.09669193 | 0.000862721 |
2020/5/15 6:00 | 4135001 | HmiyD2TTLFNqkNe | 24.08844607 | 22.2067566 | 0.005886957 |
2.代码流程
- 导入所需的库,包括numpy、pandas、seaborn和matplotlib.pyplot。
- 读取两个CSV文件的数据,分别是'Plant_1_Generation_Data.csv'(发电相关信息)和'Plant_1_Weather_Sensor_Data.csv'(温度相关信息),存储到两个DataFrame变量中。
- 打印一些数据统计信息,如唯一值的数量和数据的概要。
- 将日期时间列转换为datetime类型。
- 使用pd.merge函数将两个数据集按照日期时间进行合并,生成一个新的DataFrame df。
- 检查并打印df中的缺失值情况。
- 绘制df中各个变量之间的散点图矩阵。
- 使用LabelEncoder对SOURCE_KEY列进行编码。
- 创建一个新的DataFrame df_ml作为机器学习模型的输入数据,并选择特征变量X和目标变量y。
- 计算特征变量X之间的相关性,并使用相关性矩阵进行可视化。
- 将数据集拆分为训练集和测试集。
- 使用线性回归模型进行训练和预测,并计算模型的得分。
- 使用K近邻回归模型进行训练和预测,并找到最佳的n_neighbors值以获得最高得分。
- 使用决策树回归模型进行训练和预测,并计算模型的得分。
- 使用随机森林回归模型进行训练和预测,并计算模型的得分。
以上就是这段代码的主要流程。它包括了数据加载、数据预处理、特征工程、模型训练和评估等步骤,用于分析太阳能发电数据并建立回归模型进行预测。
特征变量之间相关性绘图
四种方法分别为线性回归模型,K近邻回归模型,决策树回归模型,随机森林回归模型
选择SOURCE_KEY列的1BY6WEcLGh8j5v7 的光伏板进行AC POWER预测。
真实值与预测值展示