Python基于机器学习模型LightGBM进行水电站流量入库预测项目源码+数据集+模型,含项目报告

news2024/12/27 0:26:19

1.前言
该文档主要是介绍通过机器学习模型LightGBM进行水电站流量入库预测。 对于水电站来说,发电是主要经济效益来源,而水就是生产的原料。对进入水电站水库的入库流量进行精准预测,能够帮助水电站对防洪、发电计划调度工作进行合理安排,实现避免洪涝灾害和提升发电经济效益的目的。
在这里插入图片描述

2.目标
基于历史数据和当前观测信息,对电站未来7日入库流量进行预测(每3小时一个预测值,共56个待预测值)。
3.数据解析
竞赛主办方共提供了4类数据,包括历史入库流量数据、环境数据、降雨预报数据以及遥测站降雨观测数据。数据均为时序数据。
其中入库流量数据包含时间和流量两个字段。环境数据提供了温度、风速、方向三个字段。天气预报包含了未来五天的降雨情况。遥测站数据则包括了39个点的降雨量。
初赛提供:2013年-2018年的历史数据
决赛提供:2019年数据
数据维度:3小时为一个粒度点
数据缺失:初赛数据在14年缺少部分数据,决赛未提供18年数据
综上述,经过对数据的了解和分析,影响模型预测主要归纳为一下四个方面:
历史数据存在样本缺失
使用何种模型进行预测,NN还是回归
如何选取、构造特征,使用特征
数据的准确性
4.赛题分析与模型选择
从数据表现来看,是一个完完全全的时序题,针对时序题的做法有很多,找周期拟合、使用NN模型,本人尝试过LSTM、GRU、RNN、CNN等,通过线下拟合,自划分样本进行测试,可以观测到拟合效果非常好
(如图4-1),但是反馈则是,只是存在部分段分数很高,部分分段很低,导致结果评分为BR,模型稳定性差。
遂转换思路,将问题转换成线性拟合问题,将时序数据看成一个单独的点,构造特征将时序保留,进行回归预测,重新构造测试数据,预测的输出作为下一次预测的输入,进行预测。最终选择竞赛界比较通用的LightGBM模型进行线性拟合。得到的表现却是各段分数平平如其,虽然分数较低,但是每一段的偏差相差不大,模型表现较为稳定。相对NN鲁棒性更强,这也是为什么在决赛选择LightGBM的原因。各个特征的重要程度表现如图4-2所示。
在这里插入图片描述

图4-1 cnn-gru拟合
在这里插入图片描述

图4-2 特征重要度
5.方法
数据预处理
将初赛、复赛数据读入,相同类别数据进行concat合并。如历史入库数据。并将时间转换成datetime格式。其他三类数据类似处理。
在这里插入图片描述

特征工程、训练集、测试集构造
1.遥测站数据处理和特征工程
(1)39个遥测站数据直接求和,而且发现遥测站的数据更像是一个类别数据,和QI也存在一定的相关性。
(2)将原始的天数据转换成入库流量一直的时序数据3H粒度数据,方便关联
2.天气预报数据
(1)这里使用的前期预报不是未来五天,而是前三天的一个天气预报作为特征输入。
在这里插入图片描述

3.环境数据
(1)环境数据使用当天数据,考虑到风向数据分布不一致的问题,将其剔除,只是用温度和风速作为特征输入。
4.入流流量数据
(1)历史8个点的时刻数据作为特征输入Q1-Q8
5.保留时序特征
(1)构造年、月、小时、小时IDX特征(保留时序,作为也可以理解为相近数据的权重)
在这里插入图片描述

6.数据构造
按照待预测的时间段进行测试集构造。
在这里插入图片描述

模型构建
这里使用的是五折的交叉验证,对最终结果也是5折之后的平均结果。
在这里插入图片描述

结果预测
对5段结果进行分别预测。每一次的输出作为下一次的输入,进行构造Q1-Q8的特征更新。五段预测方式一致。
在这里插入图片描述
结果提交
将5段结果数据进行拼接,保存至csv进行提交。
在这里插入图片描述

6.总结
从模型表现来看,最终结果五段结果均为负数,但是整体偏差不大,鲁棒性比较强,最终五段的平均在-75左右,其他朋友的模型肯定都比这个模型更加精致,从表现来看,他们在其他几段预测的结果表现都很不错,比这个模型更强,但是在第四段出现了意外,但这也是数据中不可计算的意外。他们的方案更加值得学习,共同进步,共同学习。

完整代码下载地址:水电站入库流量预测

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

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

相关文章

阿里云经济型e实例云服务器怎么样?性能测评

阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理…

哪种小型洗衣机好用?四款公认好用的内衣洗衣机推荐

在近年以来,由于人们对健康的认识和生活质量的不断改善,使得内衣洗衣机这一类的产品在近年来得到了飞速的发展,洗烘一体机、洗烘套装的价格总体下降,功能和性能都得到了改善,往往更多的用户会选择一台或者多台洗衣机来…

八股文面试day6

什么是代理?为什么要用动态代理? 代理模式大概意思是:为其他对象提供一个代理项或者是占位符,以控制对这个对象的访问 代理模式核心思想:创建一个代理对象,在客户端和目标对象之间的一个中介,…

【ROS 2 进阶-MoveIt!】MoveIt!中的关键节点

所有内容请查看:博客学习目录_Howe_xixi的博客-CSDN博客 原文档链接:Docs

5V升8.4V升压双节充电芯片WT4059

5V升8.4V升压双节充电芯片WT4059 今天给大家带来一款强大且实用的锂电池充电芯片:WT4059。 WT4059采用同步架构支持双节串联锂电池同步升压充电,它可用外部电阻配置充电电流,使其在应用时仅需极少的外围器件,有效减少整体方案尺寸…

《YOLOv8创新改进》专栏指导书册 手把手创新教程

🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 本专栏为订阅者提供答疑服务,每一篇提供源代码和详细的每一个步骤改进地方。…

抖音商城小程序源码系统 附带完整的搭建教程

大家好啊,今天小编来给大家分享一款抖音商城小程序源码系统。这可是当下最热门的的项目之一。。抖音作为国内最大的短视频平台之一,拥有庞大的用户群体和丰富的社交功能。为了满足用户在抖音上购物和交易的需求,抖音商城小程序应运而生。 以…

张弛声音变现课,如何为偶像剧配音?

在为偶像剧进行配音工作时,配音员应当捕捉剧中角色的年轻活力、浪漫的爱情故事以及轻快的生活节奏。偶像剧主要讲述的是青春的爱恋、友谊和梦想追求,因此配音需要传递出剧中的真诚和活泼。为偶像剧配音可以考虑以下几点建议: 鲜明活泼的声音 …

玻璃加工ERP包含些模块?玻璃加工ERP好用吗

玻璃制品的类型多、规格不一、营销策略灵活、销售渠道广泛、生产关联业务环节。在当今这个市场竞争日益激烈的时代,如何有效整合各个业务环节,提升多部门协作效率,随时进行数据分析等,是每个玻璃加工企业面临的管理难题。 在数字…

Omniverse合成数据生成【城市交通场景】

智慧城市是城市生活的未来。 然而,它们可能给城市规划者带来各种挑战,尤其是在交通领域。 为了取得成功,城市的各个方面—从环境和基础设施到商业和教育—必须在功能上整合。 这可能很困难,因为单独管理交通流量是一个复杂的问题…

购买Zoho CRM系统要花多少钱?

相信对CRM系统有过了解的人都知道,CRM系统的价格取决于功能需求,用户数量,部署方式,定制开发等因素。Zoho CRM是全球领先的云CRM系统,自2005年推出以来,累计服务25万企业,那么Zoho CRM系统的价格…

可编程交流回馈式负载箱在电源设备中的应用

可编程交流回馈式负载箱可以用于测试电源设备的输出能力,通过在负载箱中设置不同的负载条件,可以模拟不同的工作负载情况,从而测试电源设备在不同负载下的输出能力和稳定性。这对于电源设备的设计和生产非常重要,可以帮助制造商评…

中国跨境电商暴露数百万用户隐私数据,部分含身份证照片

近日,据外媒TechCrunch报道称,云安全公司CloudDefense.ai的安全研究员发现,由于一家中国电商店铺的数据库暴露在互联网上,数百万中国公民的隐私数据遭到泄露,这些数据包括了客户送货地址、电话号码、身份证号码及身份证…

2011-2022年地级市互联网普及率数据

2011-2022年地级市互联网普及率数据 1、时间:2011-2022年 2、指标:行政区划代码、年份、地区、互联网宽带接入用户_千户、常住人口数_千人、户籍人口数_千人、每百人互联网宽带用户_常住人口口径、每百人互联网宽带用户_户籍人口口径 3、来源&#xf…

【HMS Core】推送问题的小九九

【问题描述1】 不在华为应用市场上架,是否可以使用推送服务,申请自分类? 【解决方案】 目前使用推送服务不强制要求上架,不上架也可正常使用、申请自分类权限。 【问题描述2】 数据存储位置改变后,自分类权限申请按…

Zoho Bigin和标准版CRM有什么区别?

Zoho Bigin是Zoho公司推出的一款针对小微企业设计的CRM系统,它与Zoho CRM一脉相承,但更加轻量级,快速帮助小微企业实现数字化销售。下面来说说,Zoho Bigin是什么?它适合哪些企业? 什么是Zoho Bigin&#x…

Python潮流周刊:Rust 让 Python 再次伟大

文章&教程 1、Python修饰器的函数式编程 介绍了装饰器的实现原理、带参装饰器、多装饰器、类装饰器和几个典型的示例。文章发布于 2014 年,代码用的还是 Python 2。之所以分享这篇文章,因为它是左耳朵耗子唯一以 Python 为话题的文章,而…

Springboot_文件下载功能(前端后端)

遇到的问题: 文件下载后文件一直被破坏,无法正常打开文件名乱码,如图 刚开始一直在纠结,是不是后端没有写对,然后导致下载不能使用 后来搜索了一些资料,发现后端没什么问题 然后就开始找到其他项目对比…

【C语法学习】27 - 字符串转换为数字

文章目录 1 atoi()函数1.1 函数原型1.2 参数1.3 返回值1.4 转换机制1.5 示例1.5.1 示例1 1 atoi()函数 1.1 函数原型 atoi():将str指向的字符串转换为整数,函数原型如下: int atoi(const char *str);1.2 参数 atoi()函数只有一个参数str&…

创建vue项目体验

文章目录 使用vue-cli创建vue项目创建出的项目目录结构配置router 运行问题router未找到eslint报错 首页显示单页面内容替换 使用vue-cli创建vue项目 安装vue-cli,创建基本项目 选择步骤 一般创建成功后,提示使用下面的指令运行demo npm run serve创建…