返回列表

6th place solution

605. Enefit - Predict Energy Behavior of Prosumers | predict-energy-behavior-of-prosumers

开始: 2023-11-02 结束: 2024-04-30 新能源发电 数据算法赛
第六名解决方案

第六名解决方案

作者:Matt Motoki

比赛排名:第 6 名

发布日期:2024-05-01

我要感谢Enefit和Kaggle举办这次比赛。比赛很有意思,我从中学习到了很多。

最终提交: https://www.kaggle.com/code/mmotoki/submit-blend-v5-4-0/notebook

特征

我的大部分特征与公开笔记本中的相同或略有改动(以匹配目标)。感谢社区中所有为公开笔记本和讨论做出贡献的人!我的特征的主要不同在于,我还为消耗(consumption)发电(generation)创建了简单的基线模型,并每天重新训练它们。

模型

我为生产(production)和消耗(consumption)分别训练了4种不同目标的LightGBM模型(共8个模型):

  • target - target_lag48
  • target/(target_lag48_avg + 1) - baseline_pred
  • target/(target_lag48_avg + 1) - target_lag48
  • target/(target_lag48_avg + 1)

其中 target_lag48_avg 是2天滞后目标的每日平均值。我没想到按 installed_capacity 进行缩放,但从其他顶级解决方案来看,这似乎是一个很好的目标。

重新训练

实际上我根本没有重新训练我的LightGBM模型。唯一的重新训练是在我的基线模型中进行的。

融合

我的最终模型是不同目标、10个种子和两组超参数设置的加权组合。总的来说,我共有 160 个模型 = 8(目标)× 10(种子)× 2(超参数设置)。回想起来,我可能应该把时间分配给重新训练 LightGBM,而不是创建如此大的混合或如此频繁地重新训练简单的基线模型。

目标 消耗权重 发电权重
1. 0.13021 0.18193
2. 0.49116 0.10890
3. 0.19497 0.52331
3. 0.19300 0.19148
同比赛其他方案