光伏发电预测(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151736.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows 任务计划自动提交 笔记到github 、gitee

一、必须有个git仓库托管到git上。 这个就不用说了,自己在github或者码云上新建一个仓库就行了。 二、创建自动提交脚本 这个bat脚本是在windows环境下使用的。 注意:windows定时任务下 调用自动提交git前,必须先进入该git仓库目录&#x…

【Linux】线程控制

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ Linux       🛰️社区 :✈️ 进步学堂       &#x1f6f0…

DependsOn注解失效问题排查

文章目录 前言一、现象描述1.1.背景描述1.2.第一次修改,使用DependsOn注解1.3.第二次修改,设置方法入参 二、看看源码2.1.Spring实例化的源码2.2.调试2.3.验证 总结 前言 最近几天遇到一个比较有意思的问题,发现Spring的DependsOn注解失效&a…

CSS3与HTML5

box-sizing content-box:默认,宽高包不含边框和内边距 border-box:也叫怪异盒子,宽高包含边框和内边距 动画:移动translate,旋转、transform等等 走马灯:利用动画实现animation:from…

websocket拦截

python实现websocket拦截 前言一、拦截的优缺点优点缺点二、实现方法1.环境配置2.代码三、总结现在的直播间都是走的websocket通信,想要获取websocket通信的内容就需要使用websocket拦截,大多数是使用中间人代理进行拦截,这里将会使用更简单的方式进行拦截。 前言 开发者工…

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes,所谓仿函数【不懂,跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…

FFMPEG 视频类过滤器学习整理

针对FFMPEG提供视频过滤器进行了介绍,并提供使用实例 addroi 作用 在视频帧上标记一块感兴趣的区域。 帧数据被原封不动地传递,但元数据被附加到帧,指示可能影响后续编码行为的感兴趣区域。可以通过多次应用过滤器来标记多个区域。 参数 qoffset: 应用在此区域的量化偏…

C语言 - 数组

目录 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 数组作为函数参数 4.1…

电脑上制定工作计划的软件有哪些?

在数字的时代,电脑成为了我们工作的得力助手,但在这个信息过载的年代,如何在电脑上制定高效的工作计划成了工作中必不可少的一项任务。我在工作中也曾经迷茫过,制定的各项计划不能按时完成,直到我找到一款可以辅助我办…

tomcat整体架构

Tomcat介绍 Tomcat是Apache Software Foundation(Apache软件基金会)开发的一款开源的Java Servlet 容器。它是一种Web服务器,用于在服务器端运行Java Servlet和JavaServer Pages (JSP)技术。它可 以为Java Web应用程序提供运行环境&#x…

Linux读写锁的容易犯的问题

Linux读写锁的容易犯的问题 读写锁是互斥锁之外的另一种用于多线程之间同步的一种方式。 多线程对于一个共享变量的读操作是安全的, 而写操作是不安全的。如果在一个读很多而写很少的场景之下,那么使用互斥锁将会阻碍大量的线程安全的读操作的进行。在…

腾讯云轻量和CVM有啥区别?怎么选择服务器配置?

腾讯云轻量服务器和云服务器有什么区别?为什么轻量应用服务器价格便宜?是因为轻量服务器CPU内存性能比云服务器CVM性能差吗?轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境,云服务器CV…

关于Jupyter markdown的使用

一级标题 #空格 标题1 二级标题 ## 空格 标题2 三级标题 ###空格 标题3 无序; 有序: 数学符号:

记一次问题排查

1785年,卡文迪许在实验中发现,把不含水蒸气、二氧化碳的空气除去氧气和氮气后,仍有很少量的残余气体存在。这种现象在当时并没有引起化学家的重视。 一百多年后,英国物理学家瑞利测定氮气的密度时,发现从空气里分离出来…

Visual Studio 2019中的安全问题

最近,在使用Visual Studio 2019的时候遇到了一个很奇怪的问题,如下所示。 这里一直在说scanf函数不安全,导致报错,然后上网查了查相关资料,发现在代码中加那么一句就可以了,而且必须放在最前面。 #define …

网工内推 | IT高级运维工程师,周末双休,包吃包住,14-20k

01 深圳朗特智能控制股份有限公司 招聘岗位:IT高级运维工程师 职责描述: 1、对集团网络基础架构的建设、运维、安全制定相关标准和准则; 2、负责集团数据中心、核心设备、信息安全的管理和运维; 3、执行网络、服务器、核心交换机…

wpf中prism框架

安装prism包: 添加引用 using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; using Prism.DryIoc; using Prism.Ioc;namespace PrismDemo …

A (1087) : DS单链表--类实现

Description 用C语言和类实现单链表&#xff0c;含头结点 属性包括&#xff1a;data数据域、next指针域 操作包括&#xff1a;插入、删除、查找 注意&#xff1a;单链表不是数组&#xff0c;所以位置从1开始对应首结点&#xff0c;头结点不放数据 类定义参考 #include<…

【考研复习】union有关的输出问题

文章目录 遇到的问题正确解答拓展参考文章 遇到的问题 首次遇到下面的代码时&#xff0c;感觉应该输出65,323。深入理解union的存储之后发现正确答案是&#xff1a;67,323. union {char c;int i; } u; int main(){u.c A;u.i 0x143;printf("%d,%d\n", u.c, u.i); …

初阶数据结构(四)带头双向链表

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;数据结构 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 带头双向链表 链表的相关介绍初始化链表销毁链…