train_power_forecast_history = pd.read_csv(‘./data1/train/power_forecast_history.csv’)
train_power = pd.read_csv(‘./data1/train/power.csv’)
train_stub_info = pd.read_csv(‘./data1/train/stub_info.csv’)
test_power_forecast_history = pd.read_csv(‘./data1/test/power_forecast_history.csv’)
test_stub_info = pd.read_csv(‘./data1/test/stub_info.csv’)
利用groupby函数进行分组聚合
充电量分组聚合求和
将充电量合并
train_df = train_power_forecast_history.groupby([‘id_encode’,‘ds’]).head(1)##分类组合
del train_df[‘hour’]
test_df = test_power_forecast_history.groupby([‘id_encode’,‘ds’]).head(1)
del test_df[‘hour’]
tmp_df = train_power.groupby([‘id_encode’,‘ds’])[‘power’].sum()
tmp_df.columns = [‘id_encode’,‘ds’,‘power’]
绘制折线图,查看每个站点的情况如周期性、趋势性、相关性和异常性等。
1、将标签由字符串转为0,1;
2、将f3四舍五入取整。
将“时间”变量转换为datetime格式,然后提取月、日、小时、周等相关特征,主要是为了刻画不同时间阶段可能存在的一致性信息。
1、K折交叉验证会把样本数据随机的分成K份;
2、每次随机的选择K-1份作为训练集,剩下的1份做验证集;
3、当这一轮完成后,重新随机选择K-1份来训练数据;
4、最后将K折预测结果取平均作为最终提交结果。
时间序列的基本思路如上所示,但是结果不是很理想,需要对数据进行进一步处理,才可能得到更好的结果。