返回列表

5th place solution - NeurIPS ARIEL 2024

626. NeurIPS - Ariel Data Challenge 2024 | ariel-data-challenge-2024

开始: 2024-08-01 结束: 2024-10-31 物理与天文 数据算法赛
第五名解决方案 - NeurIPS ARIEL 2024

第五名解决方案 - NeurIPS ARIEL 2024

作者: Pascal Pfeiffer (ilu000) & Youri Matiounine (ymatioun)
发布日期: 2024-11-01
竞赛排名: 第 5 名

首先,我要感谢组织者举办了这场精彩的比赛,也要感谢我的队友 Youri。过去两周能与你一起参加这场比赛是我的荣幸。祝贺你获得 Grandmaster 头衔!

数据预处理

与大多数具有合成数据的竞赛一样,在开始 this 竞赛时,我专注于数据探索和建模聚合光变曲线。我们最终解决方案中的数据预处理主要按照 此链接 所述以及主持人分享的方式进行。通过使用 GPU 和并行处理进行了一些 minor 改进以加快过程,帮助将完整测试数据集的运行时降低到约 1 小时。由于测试集具有不同的热像素和死像素,使用插值来填补空白有助于泛化到分布偏移。

光变曲线建模

多项式拟合示意图

正如许多人所发现的那样,数据中添加了高达 4 或 5 阶的多项式作为随时间的人工漂移。在适当的数据预处理之后,检测并去除这种漂移是获得 decent 分数的关键。检测凌日点,拟合该多项式,并使用具有适当 sigma(按恒星在 LB 分数上调整)的直接均值预测,给出的公共 LB 分数约为 0.546,私有分数为 0.578。排除凌日点周围的区域使这一点更稳定。到比赛结束时,这种类型的解决方案已广为人知,并且是得分最高的公共解决方案,经过一些调整后本可以进入青铜区。直到这一点,可以通过按恒星分割来进行本地验证,并且与公共 LB 分数有很好的相关性。

波长特征

训练数据集中的所有行星都具有由大气中的分子引起的弱到强的波长依赖性吸收。实际上查看训练标签,我们可以将它们与已知分子的吸收光谱叠加,看到训练集由 H2O、CO2 和 CH4 的混合物组成。

CO2 和 CH4 吸收光谱

当我们组队时,我们有两种不同的方法来处理这个问题。我使用了一种无模型的方法,通过波长上的滑动窗口提取吸收。经过一些平滑和分箱,这种方法和恒定 sigma 可以实现的公共 LB 分数约为 0.590,并且仍然与验证很好地相关,因为它不会过度拟合特定分布。论坛上分享的 2D 高斯 + 马尔可夫链蒙特卡罗 (MCMC) 以及文献中建模光变曲线的最先进技术帮助获得了稍好的结果,但 MCMC 的运行时阻止我们在任何 kernel 提交中使用它。

当在此基础上添加任何类型的模型时,本地验证分数很容易飙升 0.100,因为模型可以拟合训练集中的三个分子。但公共 LB 没有跟随,表明测试集存在不同的分子。

Youri 确实使用了一种基于模型的方法,并巧妙地通过建模 5 个高斯分布来约束它,这些高斯分布大致拟合了 H2O、CO2 和 CH4 的吸收峰。然后,用这些高斯分布分割信号,并将聚合作为线性回归模型的特征。他还首先减去了平均吸收以进一步约束模型。这种方法在本地验证上效果很好,同时仍能将大部分效果带到 LB。从这些结果来看,很明显模型非常强大,可以拟合训练数据,但我们很难完全泛化到测试集。

正如我们所料,接近比赛结束时,主持人确认测试集中存在训练集中没有的新分子。我们尝试了不同的训练数据分割,甚至尝试了按主导分子聚类,但公共 LB 仍然是最好的验证方式。

Sigma 估计

估计 sigma 是比赛的关键部分。我们尝试了不同的方法来估计 sigma,有些方法在本地很难验证。在本地和 LB 上效果非常好的是 pred.std(-1)(每个行星波长的标准差)与误差之间的强相关性。通过这个因子缩放平均 sigma 改善了本地验证和 LB 分数约 0.030。此外,我们使用了一个小的全连接神经网络来预测 sigma,并混合了这些预测,在 LB 上又获得了几分。

合成数据

生成更多数据以将训练集扩展到更多分子,在最后几天显著推动了我们的 LB 分数。使用 Taurex3,我们为 9 个更多分子生成了吸收光谱 (all_molecules = [(H2O, CH4, CO2), CO, NH3, HCN, C2H2, SO2, C2H4, H2S, PH3, TiO])。

吸收光谱图

我们必须对行星温度做出假设,我们从文献中获取了这些假设,但我们仍然无法让 Taurex3 与我们在训练数据中看到的已知分子(如 H2O)之间获得理想的匹配。

Taurex3 匹配示意图

我们通过两种方式使用训练数据并用这些吸收光谱对其进行增强。首先,我们将其添加到训练标签之上并相应地修改信号(使用我们管道中的凌日区)。其次,我们使用训练数据中的干净/平均信号并添加吸收光谱,再次相应地修改信号。然后,我们在这个增强数据上重新训练模型,并将我们的 LB 分数提高了约 0.020,而本地验证分数略有下降,因为拟合更多分子更难。有趣的是,只添加几个分子可以同时改善本地和 LB 分数,但添加更多分子只改善 LB 分数。

合成数据效果

我相信通过对正确分子进行更多的 LB 探测,我们可以进一步改进我们的解决方案。但是,我们对第 5 名感到满意,并期待阅读顶级团队的解决方案。

无效的方法

  • 吸收光谱的线性组合。仍然不确定为什么这不起作用,可能从未完全正确设置,模型只是更好地学习了它。
  • 按绝对吸收缩放 sigma。我们在训练数据中看到了轻微的相关性,但在测试数据上不起作用。
  • 使用网络预测吸收。现在有了更适合测试数据的更多训练数据,它可能会起作用,但最后时间不够再次测试。
  • 还有很多其他方法
同比赛其他方案