返回列表

ZLF's Solution in the MITSUI&CO. Commodity Prediction Challenge

685. MITSUI&CO. Commodity Prediction Challenge | mitsui-commodity-prediction-challenge

开始: 2025-07-24 结束: 2026-01-16 量化投资 数据算法赛
ZLF 在三井物产商品预测挑战赛中的解决方案

ZLF 在三井物产商品预测挑战赛中的解决方案

副标题:第 5 名解决方案:保守型 RNN 与波动型 MLP 模型的简单集成

作者:ZLF (Zhu Linfeng)

发布日期:2026-01-28

比赛排名:第 5 名

私有榜单得分:0.532

A. 模型总结

A1. 关于我/团队的背景

  • 比赛名称:MITSUI&CO. Commodity Prediction Challenge (三井物产商品预测挑战赛)
  • 团队名称:ZLF
  • 私有榜单得分:0.532
  • 私有榜单排名:第 5 名

团队成员

A2. 关于我/团队的背景 (问答)

  • 你的学术/职业背景是什么?
    电子科技大学与格拉斯哥大学大四学生。
  • 你是否有过帮助你在本次比赛中取得成功的 prior 经验?
    没有。
  • 是什么让你决定参加这次比赛?
    我对金融/投资和时间序列建模感兴趣。
  • 你在比赛上花了多少时间?
    总共大约 2-3 周。

A3. 总结

我使用了两个模型进行预测:一个 4 天窗口的 RNN 模型和一个单日的 MLP 模型。观察到 RNN 模型产生的输出相对稳定和保守,而 MLP 模型在其预测中表现出更大的波动性。最终预测是这两个模型输出的平均值。此外,原始特征被直接使用 without 额外处理,缺失值统一填充为 -1。在训练期间,我采用了一个结合 MSE 和排名损失(来自 @takeshimorimura 的 notebook)的复合损失函数,在 Kaggle 的 T4 GPU 环境中使用 PyTorch 实现。每个模型大约需要 3-4 分钟进行训练。

A4. 特征选择 / 工程

未进行特定的特征选择/工程,使用了所有原始变量。缺失值填充为 -1,数据标准化由模型中内置的 LayerNorm 层处理。

A5. 训练方法

我使用了两个独立的模型进行训练和预测:一个 4 天时间窗口的 RNN 模型和一个单日的 MLP 模型。选择短窗口是因为实验表明较长的窗口不会带来性能提升,甚至可能引入噪声。

两个模型都使用相同的复合损失函数进行端到端训练,该函数改编自 takeshimorimura 的基线,并结合了学习率衰减策略。

最终预测结果是两个模型输出的简单平均,旨在利用它们不同的预测特征。

A6. 有趣发现

  • 你使用的最重要的技巧是什么?
    技巧是构建一个双模型集成系统,并对它们的输出进行平均集成,结合了两个模型的特征。此外,使用混合损失函数来平衡预测的绝对精度和相对排名。

  • 你认为是什么让你在比赛中脱颖而出?
    关键区别可能在于对两个具有明显不同预测行为的模型进行了互补集成。训练观察显示,RNN 预测相对稳定和保守,而 MLP 预测波动性更大,有时更准确。这种“保守”和“激进”方法的简单平均比单独使用单个模型产生了更稳健的结果。

  • 你是否发现了任何不适合上述部分的有趣数据关系?
    发现在这个任务中,短期历史信息似乎比长期信息对预测更有价值。在不同时间窗口的实验中,较长的窗口没有提高性能,甚至引入了噪声。因此,最终选择了仅 4 天的短窗口,并采用了简单的 RNN。
    然而,这种推测主要基于有限的实验观察,其有效性仍需进一步严格验证。

A7. 简单特征与方法

  • 简化模型的得分会是多少?
    单一 RNN 模型的私有得分为 0.509

A8. 模型执行时间

  • 训练你的模型需要多长时间?
    3-4 分钟
  • 使用你的模型生成预测需要多长时间?
    几秒钟
  • 训练简化模型(参考 A6 节)需要多长时间?
    3-4 分钟
  • 从简化模型生成预测需要多长时间?
    几秒钟

A9. 参考文献

同比赛其他方案