电力需求预测挑战赛笔记 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.mfbz.cn/a/793676.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

广度优先(BFS)

先看一道简单的题&#xff0c;迷宫问题&#xff1a; 洛谷P1746 离开中山路&#xff1a;P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> #include<cstring> #include<queue> #include <utility> #define N 1002 …

深度学习编码解码结构-以及kreas简单实现

图像分割中的编码解码结构&#xff08;Encoder-Decoder Model&#xff09;是一种广泛应用的网络架构&#xff0c;它有效地结合了特征提取&#xff08;编码&#xff09;和分割结果生成&#xff08;解码&#xff09;两个过程。以下是对图像分割中编码解码结构的详细解析&#xff…

链路聚合概述

技术背景&#xff1a; 随着网络规模不断扩大&#xff0c;人们对骨干链路的带宽吞吐量与可靠性提出了越来越高的要求。根据传统的方案&#xff0c;只能将当前链路更换为更高速的链路。但是更换链路需要付出较高的成本费用&#xff0c;而且灵活性差&#xff0c;因此我们需要探索…

旷野之间4 - 100 个 Kubernetes 面试问题及答案

100 个 Kubernetes 面试问题及答案 Kubernetes 简介 什么是 Kubernetes&#xff1f; Kubernetes 是一个开源容器编排平台&#xff0c;可自动部署、扩展和管理容器化应用程序。 什么是容器&#xff1f; 容器是一个轻量级、独立的、可执行软件包&#xff0c;其中包含运行应用…

ctfshow-web入门-文件上传(web166、web167)(web168-web170)免杀绕过

目录 1、web166 2、web167 3、web168 4、web169 5、web170 1、web166 查看源码&#xff0c;前端只让传 zip 上传 zip 成功后可以进行下载 随便搞一个压缩包&#xff0c;使用记事本编辑&#xff0c;在其内容里插入一句话木马&#xff1a; 上传该压缩包&#xff0c;上传成功…

SSL 证书错误:如何修复以及错误发生的原因

SSL证书可以提升网站的可信度。然而&#xff0c;如果您的SSL证书出现错误&#xff0c;您可能会得到一个“不安全”的标签&#xff0c;这可能会导致访问者失去对您网站的信任并转向竞争对手。 本文将介绍SSL证书错误的原因及其对用户的潜在影响。随后&#xff0c;我们将提供详细…

Proteus + Keil单片机仿真教程(六)多位LED数码管的动态显示

上一节我们通过锁存器和八个八位数码管实现了多个数码管的静态显示,这节主要讲解多位数码管的动态显示,所谓的动态显示就是对两个锁存器的控制。考虑一个问题,现在给WS位锁存器增加一个循环,让它从1111 1110到0111 1111会发生什么事情?话不多说,先上代码: #include<…

stm32——AD采集以及DMA

今天继续我们的STM32的内容学习&#xff0c;我使用的单片机是STM32F103VCT6,通过Keil Array Visualization软件来观测AD采样出来的波形。先来看看本次实验用到的硬件知识。 首先是ADC&#xff08;Analog-to-Digital Converter&#xff09;是模拟信号转数字信号的关键组件&#…

网络编程!

网络编程 【1】网络开发架构 &#xff08; 1 &#xff09; C / S 架构 C : client &#xff08;客户端&#xff09; S: server (服务端) APP - 就是服务端 C/S 架构通过客户端软件和服务器之间的交互&#xff0c;实现了前端界面和后端业务逻辑的分离&#xff0c;提供了一种…

电脑 DNS 缓存是什么?如何清除?

DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网的重要组成部分&#xff0c;负责将人类易记的域名转换为机器可读的 IP 地址&#xff0c;从而实现网络通信。DNS 缓存是 DNS 系统中的一个关键机制&#xff0c;通过临时存储已解析的域名信息&#xf…

filex用户手册中文版解读

filex用户手册 filex的用户手册&#xff0c;看着好头疼呢&#xff0c;主要是没有&#x1f58a;记录&#xff0c;感觉就是浮在空中&#xff0c;飘在天上&#xff0c;好像懂了&#xff0c;又好像啥也没了解到&#xff0c;哈哈&#xff0c;有点意思。为了解决这个bug&#xff0c;…

力扣-回溯法

何为回溯法&#xff1f; 在搜索到某一节点的时候&#xff0c;如果我们发现目前的节点&#xff08;及其子节点&#xff09;并不是需求目标时&#xff0c;我们回退到原来的节点继续搜索&#xff0c;并且把在目前节点修改的状态还原。 记住两个小诀窍&#xff0c;一是按引用传状态…

阿里云Linux中安装MySQL,并使用navicat连接以及报错解决

首先查询是否安装MySQL // linux 使用yum安装或者rpm安装。(就是一个安装工具类似于applStore&#xff0c;brew不必在意) // 区别&#xff1a;yum会自动安装你要安装的东西的其他依赖&#xff0c;rpm不会但会提示你需要安装的东西&#xff0c;比较麻烦&#xff0c;所以采用yum安…

日常的学习

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Android ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 7.11 resAndroidManifest 笔记 <> <> selector shape resources main下的AndroidMainifest.xml文件 application …

Windows系统MySQL的安装,客户端工具Navicat的安装

下载mysql安装包&#xff0c;可以去官网下载&#xff1a;www.mysql.com。点击downloads 什么&#xff1f;后面还有福利&#xff1f; 下载MySQL 下载企业版&#xff1a; 下载Windows版 5点多的版本有点低&#xff0c;下载8.0.38版本的。Window系统。下载下面的企业版。不下载…

C++笔试真题

可变分区管理方案 最佳适应&#xff1a;空闲区按容量递增最坏适应&#xff1a;空闲区按容量递减首先适应&#xff1a;空闲区按地址递增 C的结构体中有构造函数。 Linux新建用户或组 useradd&#xff1a;命令用于建立用户账号usermod&#xff1a;修改用户账号groupadd&#…

JAVA中的回溯算法解空间树,八皇后问题以及骑士游历问题超详解

1.回溯算法的概念 回溯算法顾名思义就是有回溯的算法 回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现已不满足求解条件时&#xff0c;就“回溯”返回&#xff0c;尝试别的路径。回溯法是一种选优搜索法&#xff…

kibana连接elasticsearch(版本8.11.3)

前言 elasticsearch在8版本之后就出现了很大变化&#xff0c;由于kibana版本需要需elasticsearch进行版本对象&#xff0c;kibana连接方式也出现了很大变化。我在这里记录下自己的踩坑记录。 服务部署 本文中的服务都是在docker环境中部署的。其中elasticsearch版本和kibana版…

攻防世界(PHP过滤器过滤)file_include

转换过滤器官方文档&#xff1a;https://www.php.net/manual/zh/filters.convert.php#filters.convert.iconv 这道题因为convert.base64-encode被过滤掉了&#xff0c;所以使用convert.iconv.*过滤器 在激活 iconv 的前提下可以使用 convert.iconv.* 压缩过滤器&#xff0c; 等…

【Python实战因果推断】31_双重差分2

目录 Canonical Difference-in-Differences Diff-in-Diff with Outcome Growth Canonical Difference-in-Differences 差分法的基本思想是&#xff0c;通过使用受治疗单位的基线&#xff0c;但应用对照单位的结果&#xff08;增长&#xff09;演变&#xff0c;来估算缺失的潜…