626. NeurIPS - Ariel Data Challenge 2024 | ariel-data-challenge-2024
寻找机会和指导:我在下面描述的贝叶斯推断方法不仅适用于竞赛——它适用于许多现实世界的问题,并且在当今以深度学习为导向的时代中被低估了。我相信我可以利用这些知识 meaningful 地影响我们的世界,但目前我正在努力寻找正确的职业道路来实现这一目标。如果您有关于如何使用贝叶斯方法产生更大影响的见解,我将感激任何指导,也许是导师形式的指导。
凌日分析是探测和研究系外行星最常用的方法。当行星相对于地球穿过其恒星前方时,就会发生凌日现象,遮挡部分星光。通过观察光线减少的程度(凌日深度)作为波长的函数,我们可以了解行星的性质。但是,当一颗微小的行星穿过一颗巨大的恒星前方时,这个问题的信噪比非常低。我们要面临的挑战是:从 Ariel 卫星未来可能看到的合成原始光谱信号中找出凌日深度,包括置信区间(有关更详细的概述,请参阅 https://www.kaggle.com/competitions/ariel-data-challenge-2024/overview)。
我对这个挑战的解决方案建立在贝叶斯推断和高斯过程的相关概念之上。
贝叶斯推断 (BI) 是一种强大的统计方法,基于定义先验(对现实的统计信念)和观测(某种形式的新信息)。然后使用贝叶斯定律,我们将这些结合起来找到后验(对现实的更新信念)。在我们的案例中,这意味着:
对我来说,贝叶斯推断最吸引人的地方在于它让我们能够将物理思维与求解器分开。我们所有的领域知识都用于定义先验,在那里我们可以一次考虑一个物理元素;然后进行实际的贝叶斯推断以找到后验就只是“数学问题”。不一定是简单的数学——但它与我们的领域知识完全分开。
下图显示了一个示例凌日如何在后验中被分解:
我们的几个先验元素是平滑函数;例如,凌日深度是波长的函数,漂移是波长和时间的函数等。这意味着我们需要在先验中描述函数的分布。高斯过程 (GPs) 是一种自然的方法。GPs 是非参数方法,意味着它们不依赖于一组固定的基函数。相反,它们允许任何函数,但为不同的函数分配不同的概率。例如,低频漂移比高频漂移更有可能。学习 GPs 的一个很好的起点是 https://arxiv.org/abs/2009.10862
在我的这篇文章中,我将主要专注于提供模型的细节,这在 BI 框架中仅仅意味着描述先验。最后我将涵盖一些琐事(预处理以及我们实际上如何进行 BI 数学计算)。
在本节中,我将提供一些视觉分解、各种元素的概述以及一些说明。你会看到对单独传感器(AIRS 和 FGS)的引用,但我没有真正讨论我对这些传感器的使用;AIRS 是主要传感器(光谱仪)。本节假设熟悉 GPs,但希望无论如何你都能得到要点。如果你想知道所有细节,你必须查看代码 (ariel_gp.py)。
| 先验元素 | 描述 | 调整和超参数 | 自由度 |
|---|---|---|---|
| 噪声 (Noise) | 每个时间和波长的不相关高斯噪声 | 预处理中发现的标准差 | 114340 |
| 恒星光谱 (Star spectrum) | 每个波长的不相关值 | 未正则化(无限 sigma) | 283 |
| 漂移:1D (Drift: 1D) | 2x 时间上的 GP,1 个用于 AIRS,1 个用于 FGS | 在训练集上调整 | 816 |
| 漂移:2D (Drift: 2D) | 时间和波长上的 GP | 在训练集上调整 | 113928 -> 使用 KISS-GP 后为 800 |
| 凌日窗口 (Transit window) | 固定函数,拟合入凌/出凌时间和宽度 | 在训练集上找到固定函数 | 3 |
| 凌日深度:均值 (Transit depth: mean) | 单个值 | 未正则化 | 1 |
| 凌日深度:变化 FGS (Transit depth: variation FGS) | 单个高斯值 | 在训练集上找到的标准差 | 1 |
| 凌日深度:变化 AIRS (Transit depth: variation AIRS) | 波长上的 GP | 在训练集上调整 | 282 |
| 凌日深度:PCA (Transit depth: PCA) | 从 PCA 分析获得的固定基函数 | PCA 形状来自测试数据的初步粗略拟合 | 1 |
细节说明:
(编辑:我后来从 @cnumber 那里了解到,这是因为我错过了一个恒定的背景信号;如果你在代码中打开 include_later_optimization,这将得到纠正,并且这两个修正值都被禁用)
我的一般预处理流程如下(详细信息见 ariel_support.py):
我实际上有一个更复杂的替代方案,包括抖动校正和加权列求和(以减少整体噪声)。我认为这些东西对于最佳性能是必要的,但我没有看到足够的增益来证明额外的复杂性是合理的(尽管我现在看到了一些未 selected 的第一名提交使用了这个替代流程...)
正如引言中所述,实际上在 BI 中找到后验只是“数学问题”——不再涉及领域知识。但我们当然也必须实现数学。关于这方面的一些说明:
通过应用贝叶斯推断,我们可以解开模型的复杂性。我们可以单独考虑每个物理贡献者(噪声、漂移、凌日等),并将所有这些都与求解器的实际数学分开。这导致了一个强大且灵活的模型——例如,如果我们需要添加额外的物理现象如临边昏暗,我们只接触模型的一个元素。最后,它还提供了准确的误差估计——包括每个行星的完整协方差矩阵,这对于准确的进一步建模至关重要。我确信贝叶斯推断是 Ariel 项目的正确方向。
如果你有任何关于如何使用这些贝叶斯方法增加我的影响的想法,或者仅仅认识到这个挑战,请联系我!