Datawhale AI 夏令营

#AI夏令营#Datawhale#夏令营

《电力需求预测挑战赛》第一期

从零入门机器学习竞赛

.跑通baseline 根据文档跑通提交并拿下第一个分数,具体运行下面的程序代码:

77736f93726f48519ec96b5f139dd953.png

 并得到以下结果评分:

58c89bb8a6db4339818df5ea72d5660e.png

 二.学习相关知识,理解赛题

①赛题任务

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

②数据说明

赛题数据由训练集和测试集组成,为了保证比赛的公平性,将每日日期进行脱敏,用1-N进行标识,即1为数据集最近一天,其中1-10为测试集数据。数据集由字段id(房屋id)、 dt(日标识)、type(房屋类型)、target(实际电力消耗)组成。

087c96d7fa6d419ba9d8dbf112aefbaf.png

 ③时间序列问题的定义

时间序列问题是指对按时间顺序排列的数据点进行分析和预测的问题,往往用来做未来的趋势预测。比如,基于历史股票每天的股价,预测未来股票的价格走向

④传统时序模型

传统时序模型,也称为时间序列模型,是统计学中用于分析和预测时间序列数据的一类模型。时间序列数据是按照时间顺序排列的一系列观测值,通常用于描述某一现象随时间的变化规律。传统时序模型在经济学、金融学、气象学、医学等多个领域有着广泛的应用。

1. 自回归(AR)模型

2. 移动平均(MA)模型

3. 自回归滑动平均(ARMA)模型

4. 差分自回归滑动平均(ARIMA)模型

5. 季节性差分自回归滑动平均(SARIMA)模型

6. 平滑法

7. 趋势拟合法

8. 组合模型

三.对以上代码进行解释如下:

导入库:

代码首先导入了pandas库,并将其简称为pd,这个库主要用于数据处理和分析。

接着导入了numpy库,但在这个代码段中并未直接使用到numpy的别名np,可能是在后续代码中有用到或者是一个预留的导入。

读取训练集和测试集:

使用pandas的read_csv()函数从指定路径读取训练集和测试集数据。这里有个小错误,读取测试集时再次使用了train.csv文件名,实际上应该是test.csv。

读取的数据被分别赋值给train和test两个变量,这两个变量都是DataFrame对象,是pandas中用于存储和操作结构化数据的主要数据结构。

计算训练数据特定时间范围内的目标均值:

这部分代码首先筛选出train中dt列小于等于20的行,这可能是为了关注最近11-20单位时间内的数据(但具体为何是20需要结合上下文理解,因为通常时间范围的确定会涉及起始点和结束点)。

然后,对筛选后的数据按id列进行分组,并计算每个id对应的target列的平均值。

结果被重置索引后赋值给target_mean变量。

将目标均值合并到测试集中:

这里使用merge()函数将target_mean(注意代码中写成了target mean,实际应该是target_mean)与test DataFrame进行合并。合并的依据是id列,采用左连接方式(how='left'),意味着test中的每一行都会保留,即使target_mean中没有对应的id。

保存结果:

最后,从合并后的test DataFrame中选择id、dt和target列(尽管target列可能已经被target_mean中的值替换或添加了),并将其保存到名为submit.csv的文件中,不保存索引(index=None)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值