目录
写在前面的话
人生第二次打比赛,一开始是单打独斗,完全陌生的业务场景,我根据能搜索到的Tips疯狂尝试,在别人那里好用的Trick,在我这里效果却疯狂下降,期间也通过开源的baseline学到了提取特征的常见套路,对数据的处理有了一点懵懂的感觉,直到比赛加入了靠谱的队友,但是由于时间原因,未能获得理想的成绩。
新手入门,Mark一下。
关于比赛
这题的任务是,根据提供的4个电场的气象数据和辐照数据,预测4个电场未来的发电功率,是一个回归问题。
这里是赛题链接。
评价指标是MAE,每日绝对偏差,对4个电场取平均,只计算预测功率大于装机功率的样本。
启示1:解题先读题,磨刀不误砍柴工,最终分数只算正功率的样本,所以训练模型的时候应该剔除晚上的数据,因为晚上无发电功率,甚至存在没有光照但有发电功率的异常数据,会对模型造成扰动。
数据和特征工程
原始数据如下
原始数据分为3类:时间数据、float气象数据、category数据。
1. 时间
通过画时间-功率图,我们发现发电功率随着时间的推进,呈现明显的波动趋势,所以时间是个强特征,需要好好挖掘一下。
![时间-功率图](https://i-blog.csdnimg.cn/blog_migrate/286310d011335f0a23774f3f73f18bc5.png)
首先经过简单的split,提取出样本所在的年、月、日、小时;
一开始我们以为这题是一个时间序列问题,即假设历史是会重复的,根据以往预测未来,后来发现并不是,但是仍然可以借鉴时间序列模型的思想,构造:当前月是距离初始时间的第几个月、第几年,都可以反映出功率曲线的变化趋势;
差分特征:从第二行开始,求所有维度上本行与上一行的差,可以反映样本在各个特征上的变化。
![](https://i-blog.csdnimg.cn/blog_migrate/600ad1dbf04ef299f9391f1237248ba1.png)