短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)

news2024/11/24 5:10:05

一.代码流程(运行效果:短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)_哔哩哔哩_bilibili

模型流程:

  1. 导入所需的库,包括NumPy、Pandas、Matplotlib、Seaborn等。

  2. 读取发电数据和天气传感器数据,将它们存储在df_plt1_gendf_plt1_weather中。

  3. 数据预处理:

    • 对发电数据进行了一些处理,包括删除不需要的列、将日期时间列转换为日期时间类型,并根据逆变器创建了新的逆变器列。
    • 天气数据也被处理,删除了不需要的列,将日期时间列转换为日期时间类型。
  4. 确保数据完整性:

    • 创建了一个完整的日期时间序列,以确保数据中没有缺失值。
    • 初始化一个空列表,用于存储处理后的发电数据。
  5. 遍历每个逆变器:

    • 选择特定逆变器的数据。
    • 使用完整的日期时间序列合并数据,以确保没有缺失值。
    • 添加逆变器列并将数据附加到列表中。
  6. 合并所有逆变器的数据,创建了一个完整的数据集df

  7. 提取并映射日期时间特征,计算特征之间的相关性,并检查是否有负值。

  8. 创建一个新的数据集df_eda,用于探索性数据分析(EDA)。

  9. 处理异常值:

    • 创建用于统计异常值的数据集,包括低异常值、高异常值和标准差范围内的数据点。
    • 绘制散点图可视化数据点。
  10. 统计低异常值的数量,包括低异常值且AC功率为0的数量。

  11. 绘制逆变器异常值计数的条形图,包括AC功率为0的部分。

  12. 定义一个函数outliers用于处理异常值,并绘制散点图可视化处理后的数据。

  13. 处理DAILY_YIELD特征的异常值,包括将夜间时间段的发电功率设为0。

  14. 插补缺失值:

    • 使用KNNImputer插补缺失值。
    • 使用时间插值、线性插值和多项式插值方法插补缺失值。
  15. 计算每天的总发电量,并将目标变量向后移动一天,以便进行预测。

  16. 使用季节性分解方法对目标变量进行分解,以查看趋势和季节性成分。

  17. 创建基准模型,计算基准模型的RMSE(均方根误差)。

  18. 准备数据用于机器学习模型和深度学习模型的训练和测试。

  19. 使用XGBoost模型进行训练和测试,评估模型的性能,并绘制预测结果。

  20. 最后,绘制了模型的特征重要性图表。

二.数据集(68779条数据)

这些数据是在印度的两个太阳能发电厂收集的,时间跨度为34天。每对文件包含一个电力发电数据集和一个传感器读数数据集。电力发电数据集是在逆变器级别收集的,每个逆变器都连接着多行太阳能电池板。传感器数据是在发电厂级别收集的,是单个传感器阵列在发电厂中的最佳放置。

  • DATE_TIME: 表示日期和时间的时间戳,记录数据采集的具体时间点。
  • PLANT_ID: 发电厂的唯一标识符,用于区分不同的太阳能发电厂。
  • SOURCE_KEY: 太阳能发电设备的唯一标识符,用于区分不同的发电设备。
  • DC_POWER: 直流功率的测量值,表示从太阳能电池板产生的直流电功率。
  • AC_POWER: 交流功率的测量值,表示从逆变器转换后的交流电功率。
  • DAILY_YIELD: 每天的发电量,表示在给定日期内生成的总电量。
  • TOTAL_YIELD: 总发电量,表示从安装以来生成的总电量。

这些列提供了关于太阳能发电厂的重要信息,包括发电设备的功率输出、每天的发电量以及总发电量。通过这些数据,可以进行发电量的分析、设备性能的评估以及故障检测等任务。

开始时间

DATE_TIMEPLANT_IDSOURCE_KEYDC_POWERAC_POWERDAILY_YIELDTOTAL_YIELD
15-05-2020 00:0041350011BY6WEcLGh8j5v70006259559
15-05-2020 00:0041350011IF53ai7Xc0U56Y0006183645
15-05-2020 00:0041350013PZuoBAID5Wc2HD0006987759
15-05-2020 00:0041350017JYdWkrLSPkdwr40007602960
15-05-2020 00:004135001McdE0feGgRqW7Ca0007158964
15-05-2020 00:004135001VHMLBKoKgIrUVDU0007206408
15-05-2020 00:004135001WRmjgnKYAwPKWDb0007028673
15-05-2020 00:004135001ZnxXDlPa8U1GXgE0006522172
15-05-2020 00:004135001ZoEaEvLYb1n2sOq0007098099
15-05-2020 00:004135001adLQvlD726eNBSB0006271355
15-05-2020 00:004135001bvBOhCH3iADSZry0006316803
15-05-2020 00:004135001iCRJl6heRkivqQ30007177992
15-05-2020 00:004135001ih0vzX44oOqAx2f0006185184
15-05-2020 00:004135001pkci93gMrogZuBj0007169102
15-05-2020 00:004135001rGa61gmuvPhdLxV0007111493
15-05-2020 00:004135001sjndEbLyjtCKgGv0007016832
15-05-2020 00:004135001uHbuxQJl8lW7ozc0007038681
15-05-2020 00:004135001wCURE6d3bPkepu20006782598
15-05-2020 00:004135001z9Y9gH1T5YWrNuG0007007866
15-05-2020 00:004135001zBIq5rxdHJRwDNY0006339380
15-05-2020 00:004135001zVJPv84UY57bAof0007116151
15-05-2020 00:1541350011BY6WEcLGh8j5v70006259559
15-05-2020 00:1541350011IF53ai7Xc0U56Y0006183645
15-05-2020 00:1541350013PZuoBAID5Wc2HD0006987759
15-05-2020 00:1541350017JYdWkrLSPkdwr40007602960
15-05-2020 00:154135001McdE0feGgRqW7Ca0007158964
15-05-2020 00:154135001VHMLBKoKgIrUVDU0007206408
15-05-2020 00:154135001WRmjgnKYAwPKWDb0007028673
15-05-2020 00:154135001ZnxXDlPa8U1GXgE0006522172

中期时间段数据展示

20-05-2020 06:454135001uHbuxQJl8lW7ozc947.87592.087540.257071238.25
20-05-2020 06:454135001wCURE6d3bPkepu2944.2591.72541.256815390.25
20-05-2020 06:454135001z9Y9gH1T5YWrNuG953.87592.662540.3757040505.375
20-05-2020 06:454135001zBIq5rxdHJRwDNY936.759139.6256372010.625
20-05-2020 06:454135001zVJPv84UY57bAof933.62590.67540.1257148377.125
20-05-2020 07:0041350011BY6WEcLGh8j5v71564.714286152.9571429686290165
20-05-2020 07:0041350011IF53ai7Xc0U56Y1790.375175.237576.6256216506.625
20-05-2020 07:0041350013PZuoBAID5Wc2HD1728.714286169.157142973.714285717020585.714
20-05-2020 07:0041350017JYdWkrLSPkdwr41690.571429165.428571474.857142867635282.857
20-05-2020 07:004135001McdE0feGgRqW7Ca1628.714286159.257142971.428571437192169.429
20-05-2020 07:004135001VHMLBKoKgIrUVDU1727.428571169.042857176.571428577239618.571
20-05-2020 07:004135001WRmjgnKYAwPKWDb1700166.357142972.571428577061004.571
20-05-2020 07:004135001YxYtjZvoooNbGkE1593.857143155.7857143707212546
20-05-2020 07:004135001ZnxXDlPa8U1GXgE1638.428571160.185714359.571428576555195.571
20-05-2020 07:004135001ZoEaEvLYb1n2sOq1567153.185714369.571428577130401.571
20-05-2020 07:004135001adLQvlD726eNBSB1818.12517879.1256304592.125
20-05-2020 07:004135001bvBOhCH3iADSZry1535.71428615066.857142866346973.857
20-05-2020 07:004135001iCRJl6heRkivqQ31568.857143153.285714369.857142867210787.857
20-05-2020 07:004135001ih0vzX44oOqAx2f1584.142857154.8571429696217346
20-05-2020 07:004135001pkci93gMrogZuBj1550.571429151.568.571428577201417.571
20-05-2020 07:004135001rGa61gmuvPhdLxV1542150.671428668.571428577143880.571
20-05-2020 07:004135001sjndEbLyjtCKgGv1587.714286155.242857169.571428577049353.571
20-05-2020 07:004135001uHbuxQJl8lW7ozc1588.571429155.369.714285717071267.714
20-05-2020 07:004135001wCURE6d3bPkepu21578.571429154.3706815419

截止时间的数据展示

17-06-2020 23:304135001wCURE6d3bPkepu20058837028601
17-06-2020 23:304135001z9Y9gH1T5YWrNuG0058197251204
17-06-2020 23:304135001zBIq5rxdHJRwDNY0058176583369
17-06-2020 23:304135001zVJPv84UY57bAof0059107363272
17-06-2020 23:4541350011BY6WEcLGh8j5v70055216485319
17-06-2020 23:4541350011IF53ai7Xc0U56Y0060346433566
17-06-2020 23:4541350013PZuoBAID5Wc2HD0060527237425
17-06-2020 23:4541350017JYdWkrLSPkdwr40058567846821
17-06-2020 23:454135001McdE0feGgRqW7Ca0059927408587
17-06-2020 23:454135001VHMLBKoKgIrUVDU0060077456208
17-06-2020 23:454135001WRmjgnKYAwPKWDb0059537273532
17-06-2020 23:454135001YxYtjZvoooNbGkE0058867425442
17-06-2020 23:454135001ZnxXDlPa8U1GXgE0059296770737
17-06-2020 23:454135001ZoEaEvLYb1n2sOq0058717341753
17-06-2020 23:454135001adLQvlD726eNBSB005237.1428576524508
17-06-2020 23:454135001bvBOhCH3iADSZry0054606539009
17-06-2020 23:454135001iCRJl6heRkivqQ30059577426263
17-06-2020 23:454135001ih0vzX44oOqAx2f0057586426129
17-06-2020 23:454135001pkci93gMrogZuBj0059527415430
17-06-2020 23:454135001rGa61gmuvPhdLxV0059507356897
17-06-2020 23:454135001sjndEbLyjtCKgGv0058877261681
17-06-2020 23:454135001uHbuxQJl8lW7ozc0059677287002
17-06-2020 23:454135001wCURE6d3bPkepu2005147.6257028601
17-06-2020 23:454135001z9Y9gH1T5YWrNuG0058197251204
17-06-2020 23:454135001zBIq5rxdHJRwDNY0058176583369
17-06-2020 23:454135001zVJPv84UY57bAof0059107363272

 三.效果图

对项目感兴趣的,可以私信

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TS编译选项——TS文件编译后消除注释

在tsconfig.json文件中配置removeComments属性 {"compilerOptions": {// outDir 用于指定编译后文件所在目录"outDir": "./dist", // 将编译后文件放在dis目录下// 是否文件编译后移除注释"removeComments": true} } 左边是编写的t…

通过解读yolov5_gpu_optimization学习如何使用onnx_surgon

onnx实战一: 解析yolov5 gpu的onnx优化案例: 这是一个英伟达的仓库, 这个仓库的做法就是通过用gs对onnx进行修改减少算子然后最后使用TensorRT插件实现算子, 左边是优化过的, 右边是原版的。 通过这个案例理解原版的onnx的导出流程然后我们看英伟达是怎么拿gs来优化…

伦敦银如何选择最优的交易方法

经常有投资者会问,伦敦银投资中如何选择最好的方法呢?我们进行伦敦银投资,目的就是找到一个能够盈利的交易方法,它能够使我们大部分交易都是盈利,少部分交易亏损,但是可以将亏损控制在一定的范围之内&#…

Windows10关闭此电脑“桌面”“图片”“视频”“3D对象”“文档”等显示,只显示“设备与驱动器”

如何关闭下图"文件夹"等7个子文件夹,只显示“设备和驱动器”? 关闭步骤: 打开cmd,输入regedit打开注册表编辑器打开注册表编辑器后,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\My…

会声会影和剪映哪个好,2023年全新功能对比详细解析

随着网络视频的蓬勃发展,越来越多的人开始涉足视频剪辑领域,毕竟技多不压身嘛。在众多剪辑软件中,剪映和会声会影是备受新手青睐的两种。那么,会声会影和剪映哪个好呢?在它们之间,哪一个更适合初学者呢接&a…

软件测试之Web安全测试详解

前言 随着互联网时代的蓬勃发展,基于Web环境下的应用系统、应用软件也得到了越来越广泛的使用。 目前,很多企业的业务发展都依赖于互联网,比如,网上银行、网络购物、网络游戏等。但,由于很多恶意攻击者想通过截获他人…

ASCII码-对照表

ASCII 1> ASCII 控制字符2> ASCII 显示字符3> 常用ASCII码3.1> 【CR】\r 回车符3.2> 【LF】\n 换行符3.3> 不同操作系统,文件中换行 1> ASCII 控制字符 2> ASCII 显示字符 3> 常用ASCII码 3.1> 【CR】‘\r’ 回车符 CR Carriage Re…

如何通过git指令加入管理者仓库并提交分支(Github Gitee)

文章目录 创建GitHub、Gitee账户安装git下载gitgit基础配置 管理者创建gitee仓库新建仓库配置公钥 管理者管理仓库开发者通过git指令提交git提交错误原因: 创建GitHub、Gitee账户 GitHub: https://github.com/ Gitee : https://gitee.com/ …

redis做缓存(cache)

什么是缓存 缓存(Cache)的核心思路就是把一些常用的数据放到访问速度更快的地方,方便获取。关于硬件的访问速度来说 CPU寄存器>内存>硬盘>网络 因此常见使用内存作为硬盘的缓存,例如redis。使用硬盘作为网络的缓存,例如浏览器通过h…

2023-9-25 货仓选址

题目链接&#xff1a;货仓选址 #include <iostream> #include <algorithm>using namespace std;const int N 100010;int n; int a[N];int main() {cin >> n;for(int i 0; i < n; i ) cin >> a[i];sort(a, a n);int res 0;for(int i 0; i < …

生产管理看板系统助力高压线束生产车间实现生产任务的可视化管理

随着企业对生产智能化的追求不断提升&#xff0c;生产现场设备联网进行数据采集成为实现生产智能化的第一步&#xff0c;也是打造并实现数字化工厂最基础的一步。在这个过程中&#xff0c;生产管理看板系统发挥着重要的作用&#xff0c;能够实时在线统计车间工业生产设备的运行…

删除链表的倒数第N个节点-双指针法

【题目描述】 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 【示例】 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 输入&#xff1a;head [1], n 1 输出&#xff1a;[] 输入&#xff1a;head [1,2], n …

CHAPTER 11: DESIGN A NEWS FEED SYSTEM

Step 1 - Understand the problem and establish design scope Candidate: Is this a mobile app? Or a web app? Or both? Interviewer: Both Candidate: What are the important features? Interview: A user can publish a post and see her friends’ posts on the ne…

《红警3》因计算机中丢失d3dx9_35.dll无法打开游戏怎么办?最新解决方法推荐

d3dx9_35.dll 是 DirectX 9.0c 的一部分&#xff0c;它是一个动态链接库 (DLL)&#xff0c;包含了许多用于支持 DirectX 9.0c 功能的函数和类。DirectX 是一种由微软开发的游戏和多媒体应用程序编程接口&#xff0c;它提供了许多功能&#xff0c;如 3D 图形、音频、输入等&…

电子器件系列55:lm339比较器

以这个比较器为例 电压比较器可以看作是放大倍数接近“无穷大”的运算放大器。 电压比较器的功能&#xff1a;比较两个电压的大小(用输出电压的高或低电平&#xff0c;表示两个输入电压的大小关系)&#xff1a; 当””输入端电压高于”&#xff0d;”输入端时&#xff0c;电压…

阿里巴巴中国站获得1688商品详情 API 返回值说明

1688商品详情API接口可以获得1688商品详情原数据。 这个API接口有两种参数&#xff0c;公共参数和请求参数。 公共参数有以下几个&#xff1a; apikey&#xff1a;这是您自己的API密钥&#xff0c;可以在1688开发者中心获取。 请求参数有以下几个&#xff1a; num_iid&…

115V/400Hz 中频交流航空电源系统测试负载箱

中频交流航空电源系统测试负载箱主要面向战斗机、教练机以及民航飞机的生产及使用单位&#xff0c;用于对航空电源系统&#xff08;28V低压直流电源系统、270V/540V高压电源系统和115V/230V三相400HZ交流电源系统&#xff09;进行维护测试、功能性验证、可靠性负载试验。 系统加…

uni-app:实现图片周围的图片按照圆进行展示

效果 代码 <template><view class"position"><view class"circle"><img src"/static/item1.png" class"center-image"><view v-for"(item, index) in itemList" :key"index" class&q…

通俗讲解MobileNet-v1/v2/v3网络

MobileNet网络是由google团队在2017年提出的&#xff0c;专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络&#xff0c;在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%&#xff0c;但模型参数只有VGG的1/32)。MobileNet网络…

智慧电力平台打造无人值守配电房、变电所

随着科技的发展&#xff0c;电力行业也在不断进步。为了提高电力供应的可靠性和效率&#xff0c;智慧电力平台应运而生。通过智慧电力平台&#xff0c;打造无人值守配电房和变电所成为行业趋势。 一、无人值守配电房和变电所的概念 无人值守配电房和变电所是指通过数字化、…