当前位置: 首页 > news >正文

光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)

运行效果:光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)_哔哩哔哩_bilibili

运行环境库的版本

 

光伏太阳能电池通过互连形成光伏模块,以捕捉太阳光并将太阳能转化为电能。因此,当光伏模块暴露在阳光下时,它们会产生直流电。这是目前将太阳能转化为电能的最佳方式之一。世界上许多国家已经采用了这项技术;然而,光伏系统的发电量估算是一个挑战,因为光伏系统的发电量受到天气条件的极大影响。

由于天气对光伏系统的生产有很大影响,例如辐射、温度、湿度和风速等因素,因此该竞赛的目标是通过分析历史数据来建立天气与光伏系统生产之间的关系。通过这个模型,我们能够使用未来近期天气的预测数据来预测光伏系统的生产。一旦结果与预测差距较大,可能存在光伏系统的问题,需要找出原因,然后采取适当措施来修复光伏系统并做出更好的决策。例如,根据准确的预测,光伏系统运营商可以平衡电力消耗,并将多余的电力储备用于紧急情况。

1.数据集介绍

来自美国一个光伏电站(每隔一个小时采集数据,从01.01.2017-00:00到31.12.2017-23:00,一共8760行数据

开始位置数据

 截止位置

  1. WindSpeed(风速): 表示风的速度,通常以米/秒(m/s)或千米/小时(km/h)为单位。

  2. Sunshine(阳光照射): 表示阳光的照射量,通常以小时为单位。它表示太阳光照射地表的时间。

  3. AirPressure(气压): 表示大气的压力,通常以帕斯卡(Pa)或百帕斯卡(hPa)为单位。

  4. Radiation(辐射量): 表示辐射的能量强度,通常以瓦特每平方米(W/m²)为单位。这可以是太阳辐射或其他类型的辐射。

  5. AirTemperature(气温): 表示空气的温度,通常以摄氏度(°C)或华氏度(°F)为单位。

  6. RelativeAirHumidity(相对空气湿度): 表示空气中的相对湿度,通常以百分比(%)表示。它是指空气中含水汽的相对量。

  7. SystemProduction(系统发电量): 表示太阳能光伏系统的发电量,通常以兆瓦(MW)为单位。这是您要预测或分析的目标变量,即太阳能系统的实际发电量。

特征列有:'WindSpeed', 'Sunshine', 'AirPressure', 'Radiation', 'AirTemperature', 'RelativeAirHumidity'。

标签列为:SystemProduction

2.模型(训练集和测试集比例为4:1,也就是训练集有前7008行数据,测试集有后1752行数据)

 全年发电数据显示

训练集与测试集的划分 

2.1.LSTM模型

2.2.CNN_LSTM模型

 

2.3. XGBoost回归模型

3.效果

3.1.LSTM模型下的测试集预测值与真实值

3.2.CNN_LSTM模型下的测试集预测值与真实值

 3.3. XGBoost回归模型

测试集预测值与真实值

随机选取一周的数据进行详细展示

整个项目文件夹(第一个文件夹为xgboost模型相关的包文件,xg.py是xgboost模型英文注释版本,xg_chinese.py是xgboost模型中文注释版本)

对项目感兴趣,可以关注最后一行

# 导入所需的库
import matplotlib.pyplot as plt  # 导入用于绘图的Matplotlib库
import seaborn as sns  # 导入Seaborn库,用于绘制统计图
from datetime import datetime  # 导入datetime库,用于处理日期和时间
from xgboost import XGBRegressor  # 导入XGBoost回归模型
from sklearn.model_selection import GridSearchCV  # 导入网格搜索交叉验证
from sklearn.metrics import mean_absolute_error  # 导入用于计算平均绝对误差的库
from xgboost import plot_importance  # 导入用于绘制特征重要性的库
import pandas as pd  # 导入Pandas库,用于数据处理
import numpy as np  # 导入NumPy库,用于数值计算

#代码和数据集的压缩包:https://mbd.pub/o/bread/ZZWTmZ5t

相关文章:

  • uniapp echarts 适配H5与微信小程序
  • 传统机器学习聚类算法——总集篇
  • kafka简易搭建(windows环境)
  • 使用postman 调用 Webservice 接口
  • Vue中如何进行数据可视化雷达图展示
  • 八大排序java
  • 阿里测试师用UI自动化测试实现元素定位!
  • 微服务技术栈-Gateway服务网关
  • Git 学习笔记 | Git 基本理论
  • H5+Css3文本溢出添加省略号(包括插件)
  • 【用unity实现100个游戏之14】Unity2d做一个建造与防御类rts游戏
  • 这7个AI软件让设计效率飞起,快来收藏 优漫动游
  • windows C 开发
  • freertos信号量之二值信号量
  • C++ - 右值引用 和 移动拷贝
  • NPM 常用命令(九)
  • Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)
  • Docker 日志管理 - ELK
  • C++用hiredis访问redis
  • 目标检测YOLO实战应用案例100讲-基于无人机航拍图像的目标检测
  • 上海团队在医学顶刊连发两文,率先提出“证据污染”循证概念
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 珠峰窗口期5月开启 普通人登一次有多烧钱?
  • 上海国际电影节特设“今日亚洲”单元
  • 民企老板被错羁212天续:申请国赔千万余元,要求恢复名誉赔礼道歉
  • 多元史料下的“西狩”叙事——《“庚子西狩”中外资料六种》解题