电力需求预测挑战赛笔记 Taks1 跑通baseline

#AI夏令营 #Datawhale #夏令营

赛题

一句话介绍赛题任务可以这样理解赛题:

【训练时序预测模型助力电力需求预测】

电力需求的准确预测对于电网的稳定运行、能源的有效管理以及可再生能源的整合至关重要。

赛题任务

给定多个房屋对应电力消耗历史 N 天的相关序列数据等信息,预测房屋对应电力的消耗。

赛题数据简介

赛题数据由训练集和测试集组成,为了保证比赛的公平性,将每日日期进行脱敏,用 1-N 进行标识。

即 1 为数据集最近一天,其中 1-10 为测试集数据。

数据集由字段 id(房屋 id)、 dt(日标识)、type(房屋类型)、target(实际电力消耗)组成。

下面进入 baseline 代码

# 1. 导入需要用到的相关库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np# 2. 读取训练集和测试集
# 使用 read_csv() 函数从文件中读取训练集数据,文件名为 'train.csv'
train = pd.read_csv('./data/data283931/train.csv')
# 使用 read_csv() 函数从文件中读取测试集数据,文件名为 'train.csv'
test = pd.read_csv('./data/data283931/test.csv')# 3. 计算训练数据最近11-20单位时间内对应id的目标均值
target_mean = train[train['dt']<=20].groupby(['id'])['target'].mean().reset_index()# 4. 将target_mean作为测试集结果进行合并
test = test.merge(target_mean, on=['id'], how='left')# 5. 保存结果文件到本地
test[['id','dt','target']].to_csv('submit.csv', index=None)

Step1:报名赛事!(点击即可跳转)

赛事链接:2024 iFLYTEK AI开发者大赛-讯飞开放平台2024 iFLYTEK AI开发者大赛-讯飞开放平台icon-default.png?t=N7T8https://challenge.xfyun.cn/h5/detail?type=electricity-demand&ch=dw24_uGS8Gs

Step2:5 分钟体验一站式 baseline!(点击即可跳转)

项目链接:从零入门机器学习竞赛-Baseline - 飞桨AI Studio星河社区- 飞桨AI Studio星河社区icon-default.png?t=N7T8https://aistudio.baidu.com/projectdetail/8151133

跑通baseline

根据task1跑通baseline

注册账号

直接注册或登录百度账号,etc

fork 项目

从零入门机器学习竞赛-Baseline - 飞桨AI Studio星河社区- 飞桨AI Studio星河社区icon-default.png?t=N7T8https://aistudio.baidu.com/projectdetail/8151133

启动项目 

选择运行环境,并点击确定,没有特殊要求就默认的基础版就可以了

等待片刻,等待在线项目启动

运行项目代码

点击 运行全部Cell

程序运行完生成文件 submit.csv

这个文件就最终提交的文件。

提交并获取分数

1返回分数373.89846submit.csvbaseline1gszwJaV2024-07-11 16:57:27

知识点:

常见的时间序列场景有:

  1. 金融领域:股票价格预测、利率变动、汇率预测等。

  2. 气象领域:温度、降水量、风速等气候指标的预测。

  3. 销售预测:产品或服务的未来销售额预测。

  4. 库存管理:预测库存需求,优化库存水平。

  5. 能源领域:电力需求预测、石油价格预测等。

  6. 医疗领域:疾病爆发趋势预测、医疗资源需求预测。

时间序列问题的数据往往有如下特点:

  1. 时间依赖性:数据点之间存在时间上的连续性和依赖性。

  2. 非平稳性:数据的统计特性(如均值、方差)随时间变化。

  3. 季节性:数据表现出周期性的模式,如年度、月度或周度。

  4. 趋势:数据随时间推移呈现长期上升或下降的趋势。

  5. 周期性:数据可能存在非固定周期的波动。

  6. 机波动:数据可能受到随机事件的影响,表现出不确定性。

时间序列分析在很多领域中具有重要的应用价值。通过对时间序列数据分析和建模,可以得到对未来趋势的预测和预测误差的估计,为决策提供依据。

时间序列预测问题可以通过多种建模方法来解决,包括传统的时间序列模型机器学习模型深度学习模型

传统时间序列模型

用于分析和预测时间序列数据的统计模型。

它假设数据点之间存在一定的时间关系,即后一个数据点的值可以根据前一个数据点的值和其他相关因素预测得出。

常见的时间序列模型包括

  • AR模型(自回归模型)
  • MA模型(滑动平均模型)
  • ARMA模型(自回归滑动平均模型)
  • ARIMA模型(差分自回归滑动平均模型)
  • SARIMA模型(季节性差分自回归滑动平均模型)等。

这些模型基于不同的假设和参数设置,可以根据数据的特点选择合适的模型进行建模和预测。

时间序列模型可以用于不同领域的数据分析和预测,如经济学中的金融时间序列分析、气象学中的气象预测、生态学中的生态系统变化预测等。它们可以帮助我们理解数据的时间规律,发现趋势和周期性变化,以及预测未来的走势。

机器学习模型

在时间序列预测中,机器学习模型可以通过将时间序列数据转化为特征和目标变量的组合来进行建模和预测

以下是一些常用的机器学习时间序列模型:

  1. 自回归模型(AR):自回归模型基于时间序列数据的历史值来预测未来值。AR模型假设未来值与过去的若干个值有线性相关性。
  2. 移动平均模型(MA):移动平均模型基于时间序列数据的过去误差来预测未来值。MA模型假设未来值与过去的若干个误差有相关性。
  3. 自回归移动平均模型(ARMA):ARMA模型是AR模型和MA模型的组合。它结合了过去的时间序列值和误差来进行预测。
  4. 差分自回归移动平均模型(ARIMA):ARIMA模型在ARMA模型的基础上增加了对时间序列数据进行差分的步骤,用于处理非平稳数据。
  5. 季节性ARIMA模型(SARIMA):SARIMA模型是ARIMA模型在考虑季节性因素的基础上进行建模的一种扩展模型。
  6. 支持向量机(SVM):支持向量机是一种常用的机器学习模型,在时间序列预测中可以用于线性回归、非线性回归和分类问题。
  7. 随机森林(Random Forest):随机森林是一种集成学习模型,通过多个决策树的组合来进行预测。在时间序列预测中,可以利用随机森林进行回归和分类问题的预测

深度学习模型

深度学习模型在时间序列预测问题上表现出色,尤其是在处理大规模数据和复杂模式时。

以下是一些常用的深度学习时间序列模型:

  1. 循环神经网络(RNN):RNN是一种能够处理序列数据的神经网络。它具有记忆能力,可以在处理每个时间步时将之前的信息传递给下一个时间步,从而捕捉到时间序列的依赖关系。
  2. 长短期记忆网络(LSTM):LSTM是一种RNN的变体,通过引入“门控”机制来解决传统RNN中的梯度消失和梯度爆炸问题。LSTM对于长期依赖关系的建模能力更强,适用于处理长时间序列数据。
  3. 门控循环单元(GRU):GRU也是一种RNN的变体,类似于LSTM,它通过引入“门控”机制来记忆和更新信息。GRU相对于LSTM具有更简单的结构,参数量更小,计算效率更高。
  4. 卷积神经网络(CNN):CNN在处理时间序列数据时常用于提取局部特征。通过卷积和池化操作,CNN可以捕捉时间序列中的局部模式,并提取有用的特征,用于预测未来值或分类问题。
  5. 注意力机制(Attention):注意力机制在深度学习中很有用,尤其是在处理长时间序列数据时。它可以将模型的注意力集中在序列中最重要的部分,提高预测的准确性。

这些深度学习时间序列模型具有强大的建模能力,能够处理复杂的时间序列数据,但同时也需要大量的训练数据和计算资源。

各种模型之间的对比

模型类型特点适用场景
传统时间序列模型基于统计分析的方法,对时间序列数据的基本特性进行建模,如自相关性、季节性等

非常适合处理具有明显的趋势和季节性的数据。

对于相对简单的时间序列数据,建模和预测效果较好。

例如AR、MA、ARIMA、SARIMA模型

机器学习模型基于机器学习算法,通过对时间序列数据的样本特征进行训练建模,学习数据的模式和规律

适用于数据较为复杂、特征较多的时间序列问题。

需要手动提取和选择合适的特征。

常用的机器学习模型包括线性回归、决策树、随机森林、支持向量机等

深度学习模型基于神经网络的模型,通过多层次的神经网络结构进行特征提取和模式学习

适用于大规模数据、复杂特征的时间序列预测问题。

自动学习数据中的特征和模式,无需手动提取

常见的深度学习模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、卷积神经网络(CNN)等

  • 如果数据具有明显的趋势和季节性,且相对简单,可以使用传统时间序列模型进行建模和预测。
  • 如果数据较为复杂,特征较多,可以考虑使用机器学习模型进行建模。
  • 对于大规模数据、复杂特征和自动学习特征的需求,可以考虑使用深度学习模型。

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

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

相关文章

网信大数据信用报告查询怎么查?网信大数据有什么作用?

随着互联网的快速发展&#xff0c;大数据技术已经广泛应用于各行各业。其中&#xff0c;网信大数据信用报告查询成为了许多人关注的焦点。那么&#xff0c;如何查询网信大数据信用报告呢?网信大数据又有哪些作用呢?本文将为您一一解答。 一、如何查询网信大数据信用报告? 要…

keepalive和haproxy

1、keepalive 1.1概念 调度器的高可用 vip地址主备之间的切换&#xff0c;主在工作时&#xff0c;vip地址只在主上&#xff0c;主停止工作&#xff0c;vip漂移到备服务器 在主备的优先级不变的情况下&#xff0c;主恢复工作&#xff0c;vip会飘回到主服务器 1、配优先级 …

java通过poi-tl导出word实战详细步骤

文章目录 与其他模版引擎对比1.引入maven依赖包2.新建Word文档exportWprd.docx模版3.编写导出word接口代码4.导出成果 poi-tl是一个基于Apache POI的Word模板引擎&#xff0c;也是一个免费开源的Java类库&#xff0c;你可以非常方便的加入到你的项目中&#xff0c;并且拥有着让…

图论·Day01

P3371 P4779 P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; 注意的点&#xff1a; 边有重复&#xff0c;选择最小边&#xff01;对于SPFA算法容易出现重大BUG&#xff0c;没有负权值的边时不要使用&#xff01;&#xff01;&#xff01; 70分代码 朴素板dijsk…

100 个网络基础知识普及,看完成半个网络高手!

1&#xff09;什么是链接&#xff1f; 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2&#xff09;OSI 参考模型的层次是什么&#xff1f; 有 7 个 OSI 层&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0…

医疗器械网络安全 | 漏洞扫描、渗透测试没有发现问题,是否说明我的设备是安全的?

尽管漏洞扫描、模糊测试和渗透测试在评估系统安全性方面是非常重要和有效的工具&#xff0c;但即使这些测试没有发现任何问题&#xff0c;也不能完全保证您的医疗器械是绝对安全的。这是因为安全性的评估是一个多维度、复杂且持续的过程&#xff0c;涉及多个方面和因素。以下是…

uniapp实现table排序

根据后端接口传来的数字大小对列表进行升序/降序展示 效果图&#xff0c;价格由高到低降序 价格由低到高 升序 js 降序升序代码如下 export default {data() {return {MtList:[]}},onLoad() {this.MtypeName();//加载列表方法},methods: {MtypeName(){//列表方法this.$api.…

办公技巧:如何编辑带有工作表保护的Excel文件?

在日常工作中&#xff0c;我们经常会遇到带有工作表保护的Excel文件&#xff0c;这些文件虽然可以被打开查看&#xff0c;但无法直接编辑或修改其中的数据。然而&#xff0c;在某些情况下&#xff0c;我们可能需要编辑这些受保护的工作表以满足工作需求。本文将介绍几种方法来编…

【Linux】Linux操作系统

Linux基本指令 os概念与定位 本节内容&#xff1a; Linux操作系统讲解 os概念与定位 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;是管理和控制计算机硬件与软件资源的计算机程序。总的来讲&#xff0c;操作系统是一款做软硬件管理的软件。 了解操作…

FastGPT+OneAI接入网络模型

文章目录 FastGPT连接OneAI接入网络模型1.准备工作2.开始部署2.1下载 docker-compose.yml2.2修改docker-compose.yml里的参数 3.打开FastGPT添加模型3.1打开OneAPI3.2接入网络模型3.3重启服务 FastGPT连接OneAI接入网络模型 1.准备工作 本文档参考FastGPT的官方文档 主机ip接…

配置光源——笔记

一、灯光的类型 (一&#xff09;Directional Light&#xff08;定向光&#xff09; 1、只改变方向变化&#xff0c;不记录位置变化 2、相当于太阳光 3、室外一般使用 (二&#xff09;Spot 聚光灯&#xff1a;昏暗&#xff08;凌晨或傍晚&#xff09;&#xff0c;有一个光斑…

科普文:spring boot中常用的接口、工具栏、注解整理

1.springboot 常用接口 1.1 Aware接口 Spring IOC容器中 Bean是感知不到容器的存在&#xff0c;Aware(意识到的)接口就是帮助Bean感知到IOC容器的存在&#xff0c;即获取当前Bean对应的Spring的一些组件&#xff0c;如当前Bean对应的ApplicationContext等。 1.1.1 Applicati…

SSM学习6:Spring事务

简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败Spring事务作用&#xff1a;在数据层或业务层保障一系列的数据库操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionStatus ;vo…

数据分析:小红书户外风潮起,内容种草新密码

导语 随着巴黎奥运会临近&#xff0c;小红书顺应热点推出《大家运动会》等S级IP&#xff0c;让户外运动与社区更好地有机融合&#xff0c;为品牌带来更广泛的市场曝光和用户参与度。品牌如何借势热点&#xff0c;完成新一轮的增长呢&#xff1f; S级IP《大家运动会》 千瓜数…

python如何查看类的函数

Python非常方便&#xff0c;它不需要用户查询文档&#xff0c;只需掌握如下两个帮助函数&#xff0c;即可查看Python中的所有函数&#xff08;方法&#xff09;以及它们的用法和功能&#xff1a; dir()&#xff1a;列出指定类或模块包含的全部内容&#xff08;包括函数、方法、…

一个使用Go语言和现代Web技术构建跨平台桌面应用程序开源项目

大家好&#xff0c;今天给大家分享一个使用Go语言和现代Web技术构建跨平台桌面应用程序开源项目Wails。 Wails是一个允许开发者使用Go和Web技术编写桌面应用程序的项目。 它被设计为Go的快速且轻量的Electron替代品&#xff0c;旨在提供一个平台&#xff0c;让开发者可以利用Go…

springcloud使用微服务的搭建

微服务的搭建 1.配置对应信息 Springboot 、springcloud、springcloud alibaba对应关系 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 2.pom.xml的配置 2.1 总项目pom.xml引入依赖 <parent><groupId>org.sprin…

WindowsMac共享文件夹设置

共享文件夹设置 共享文件夹设置Windows系统设置步骤一&#xff1a;设置共享文件夹步骤二: 访问共享文件夹 Mac系统中设置共享文件夹步骤一&#xff1a;设置共享文件夹步骤二&#xff1a;访问共享文件夹 小贴士结论 共享文件夹设置 有时需要在多台电脑之间共享文件夹&#xff0…

美创科技如何助力高校数据安全体系化升级,标杆实践看这里!

在高校如火如荼的数字化转型建设中&#xff0c;平衡合规与发展的天平&#xff0c;强化数据安全保障&#xff0c;是不可忽视的重要工作。 关于如何有效开展&#xff0c;美创与多所国内一流高校深入实践&#xff0c;本案例作为美创护航高校数据安全的又一典型项目&#xff0c;覆盖…

F4搜索帮助和按条件写sql

1.写SQL * -----增加业务员名字字段------SELECTA~VBELN,C~NAME1_TEXTFROM VBAK AS AINNER JOIN VBPA AS B ON A~VBELN B~VBELNINNER JOIN BUT000 AS C ON B~KUNNR C~PARTNERWHEREB~PARVW Z1AND B~POSNR * AND C~NAME1_TEXT IN S_NAMEINTO TABLE GT_NAME1 .SELECTA~VBE…