返回列表

Transformer Based Solution

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

开始: 2025-07-24 结束: 2026-01-16 量化投资 数据算法赛
基于 Transformer 的解决方案

基于 Transformer 的解决方案

比赛名称:三井物产商品预测挑战赛 (MITSUI&CO. Commodity Prediction Challenge)

团队名称:honkai01031227

私有榜单得分:0.490

私有榜单排名:第 8 名

作者:Wong Ye Fei

地点:新加坡

邮箱:wongyefei@gmail.com

A1. 关于你/团队的背景

比赛名称:三井物产商品预测挑战赛
团队名称:honkai01031227
私有榜单得分:0.490
私有榜单排名:第 8 名

A2. 关于你/团队的背景(详细)

如果是团队参赛,请回答每位成员的这些问题。对于较大的团队(3 人以上),请给出较短的回答。

你的学术/职业背景是什么?
南洋理工大学 (NTU) 二年级本科生,主修数学科学,辅修数据分析第二专业。

你是否有过帮助你在本次比赛中取得成功的先前经验?
曾在大学研究项目中做过关于光滑流形优化 (optimization on smooth manifolds) 的研究。

是什么让你决定参加这次比赛?
为了获得更多的编码经验。

你在比赛上花了多少时间?
几个月。

如果是团队参赛,你们是如何决定组队的?
不适用 (NA)

如果是团队参赛,谁负责什么?
不适用 (NA)

A3. 摘要

最终解决方案是一个监督学习 pipeline,使用 Transformer 编码器,通过特征 tokenizer 和列嵌入将每个数值特征视为一个 token,并联合预测所有 424 个目标值。最重要的信号来自历史目标的滞后特征,这些特征与来自 train.csv 的原始表格市场特征相结合,以捕捉时间依赖性。输入使用拟合于训练数据的 StandardScaler 进行标准化,以确保稳定的优化和可复现的推理。模型训练在 PyTorch 中实现,结合了梯度裁剪、带 warmup 的余弦学习率调度以及基于验证损失的早停机制。这种设计实现了高效的批量推理,整个训练过程在 GPU 上大约需要 12 分钟完成,同时在私有榜单上保持了强大的预测性能。

代码是在 ChatGPT Plus 的协助下开发的。

A4. 特征选择/工程

最重要的特征是什么?
最重要的特征是数据集中提供的原始数值输入特征 (train.ssv),以及目标变量的滞后版本。特别是使用了所有目标变量的 4 天滞后 (lag-4),这与评估期间可用的信息一致。

模型总共使用了 981 个特征,包括:

  • 587 个来自 train.csv 的原始输入特征,以及
  • 424 个 lag-4 目标特征,代表向前移位四天的历史目标值。

这些滞后目标特征捕捉了短期时间依赖性,是模型性能的关键贡献者。

你是否做了任何重要的特征变换?
是的,应用了几个重要的特征变换:

  • 滞后特征工程: 使用时间移位 (lag-4) 将目标变量的历史值添加为输入特征,使模型能够学习时间和自回归模式。
  • 缺失值处理: 使用因果前向填充 (causal forward-filling) 处理缺失值以确保时间有效性,随后将任何剩余的缺失值填充为零。
  • 特征缩放: 所有输入特征均使用 scikit-learn 的 StandardScaler 进行标准化,均值和标准差仅计算于训练集。目标变量保持原始尺度。

A5. 训练方法

你使用了什么训练方法?
我们使用 mini-batch 梯度下降和 AdamW 优化器训练了一个基于 Transformer 的表格模型。模型使用掩码均方误差 (MSE) 损失进行端到端训练,这允许在存在缺失或无效目标值的数据上进行训练,仅计算有限预测 - 目标对上的损失。

为了提高训练稳定性和效率,我们在 GPU 上使用了带有 bfloat16 的自动混合精度 (AMP),以及梯度缩放和梯度裁剪。应用了带有线性 warmup 的余弦学习率调度,以稳定早期训练并提高收敛性。使用基于验证损失的早停机制来防止过拟合,并保留验证集上表现最佳的模型检查点。

A6. 有趣发现

该项目的一个有趣发现是,Transformer 架构是一个非常强大且灵活的深度学习模型。即使没有广泛的微调,该模型也能够实现强大的性能,证明了其捕捉数据中复杂时间和跨特征依赖性的能力。

另一个值得注意的观察结果是,私有榜单得分在不同的私有分数发布中 consistently 增加,从 0.271 → 0.306 → 0.337 → 0.490。这种逐步改进表明 Transformer 模型泛化能力良好,并能有效地适应不同的市场制度,反映了其在建模现实金融市场动态和非平稳性质方面的鲁棒性。

A7. 模型与方法

本解决方案中使用的最重要且唯一的模型是 Transformer 模型。它直接消耗所有原始数值特征和构建的滞后天目标特征,以端到端的方式学习时间和跨特征依赖性,不使用额外的模型或集成。

A8. 模型执行时间

根据记录的运行时间,提交 notebook 的执行时间在 Kaggle 上大约为 12 分 21 秒。

A9. 参考文献

同比赛其他方案