TASK1
相关知识点:
1.时间序列问题的定义
时间序列问题是指对按时间顺序排列的数据点进行分析和预测的问题,往往用来做未来的趋势预测。
本次赛题的目标很简单清晰——训练 时序预测模型 助力电力需求预测
2.传统时序模型
模型 | 建模思路 | 优点 | 缺点 |
传统时间序列模型 |
|
|
|
赛事五分钟速通体验:
-
导入库:首先,代码导入了需要用到的库,包括
pandas
(用于数据处理和分析)。 -
读取数据:代码通过使用
pd.read_csv
函数从文件中读取训练集和测试集数据,并将其存储在train.csv
和test.csv
两个数据框中。 -
计算最近时间的用电均值:
- 计算训练数据最近11-20单位时间内对应id的目标均值,可以用来反映最近的用电情况。
-
将用电均值直接作为预测结果:
- 这里使用merge
函数根据'id'
列将test
和target_mean
两个DataFrame进行左连接,这意味着测试集的所有行都会保留。
-
保存结果文件到本地:
- 使用to_csv()
函数将测试集的'id'
、'dt'
和'target'
列保存为CSV文件,文件名为'submit.csv'
。index=None
参数表示在保存时不包含行索引。
# 1. 导入需要用到的相关库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np
# 2. 读取训练集和测试集
# 使用 read_csv() 函数从文件中读取训练集数据,文件名为 'train.csv'
train = pd.read_csv('train.csv')
# 使用 read_csv() 函数从文件中读取测试集数据,文件名为 'test.csv'
test = pd.read_csv('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)