Task 1
题目:电力需求预测挑战赛
赛题任务
给定多个房屋对应电力消耗历史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)
602

被折叠的 条评论
为什么被折叠?



