670. NeurIPS - Ariel Data Challenge 2025 | ariel-data-challenge-2025
使用搜索网格生成一系列可能的凌星几何形状。然后,为网格上的每个点拟合光变曲线。利用误差的似然性,我们可以以贝叶斯方式估计后验分布。导致我在排行榜上得分下降的错误很可能是由部分凌星行星的搜索网格过粗引起的,那里的几何形状要敏感得多。
这种建模凌星不确定性的贝叶斯方法灵感来自去年的第二名解决方案:我 briefly 尝试了蒙特卡洛采样方法,但搜索网格更快(如果限制在良好初始猜测周围的小区域),更稳健,更准确,并且可以充分利用 GPU 的并行处理。然而,随着我对临边昏暗了解更多,并且需要更复杂的 LD 模型来拟合观测数据时,我遇到了严重的复杂性和运行时问题,所以我不确定这是否是本次比赛的最佳方法。
不幸的是,我的临边昏暗模型是不完整的,也是模型的一个巨大弱点。最终提交使用了线性临边昏暗和基于温度和表面重力搜索 Atlas 生成的 4 参数临边昏暗的集成。
预处理:我使用了去年的处理方法,并增加了剔除极端异常值的步骤。我还将所有内容迁移到了 T4 x2 GPU 上。
我使用贝叶斯框架的原因是我们获得了各种几何属性的噪声测量值。仅从初步观察来看,某些倾角似乎与数据拟合得不好。因此,我需要一种方法来解释测量中的不确定性以及它们如何贡献于最终的凌星深度测量。
使用了一种简单的算法,类似于往年比赛中常用的算法,用于估计凌星区域开始和结束的初始猜测。
| 变量 | 先验假设/搜索网格 |
|---|---|
| π/2-倾角 | 测量的倾角 + 均匀分布 (-.2, 0.2) 弧度,不包括导致无凌星的路径,必要时向外扩展。此参数非常敏感,因为角度的梯度在凌星几何中乘以半长轴 (sma)。某些测量角度显然与观测结果不一致,尤其是对于高冲击参数凌星(部分凌星)。 |
| 入凌/出凌期的开始/结束 | 大致以初始凌星检测算法为中心赋予相等权重,必要时扩展 |
| 半长轴 (sma) | sma 比倾角敏感得多,因此固定以节省计算时间。 |
使用倾角、sma 和入凌/出凌期的开始/结束时间计算光变曲线的凌星路径。
临边昏暗 (LD):最初使用线性临边昏暗定律,因为它易于拟合。
为了加快处理速度,行星阻挡的光线近似如下:

,近似为


其中 Ia 是整个恒星盘面上的平均强度,通过积分临边昏暗函数 r ∈ [0,1] 和 θ ∈ [0,2π] 计算。Iaπ 是归一化的凌星外通量。Delta 是凌星深度(行星/恒星横截面比)。
最后,将凌星外通量与增益漂移结合并添加噪声,我们将观测值建模如下。

利用在 GPU 上优化的网格搜索来估计后验分布。我尝试使用 32 位浮点数加速,但对于 4 次多项式来说精度不够。最初我假设高斯误差并相应地加权每个结果,但这并没有比取最佳拟合路径周围区域的简单平均值/标准差表现得更好,后者计算更快且复杂度更低(尽管这无意中导致了我在私有排行榜上失分的错误)。

图 1:拟合观测值的凌星路径后验分布。有趣的是,我的模型预测了两个主要的候选凌星路径区域,其中穿过中心的区域具有更高的概率。许多线之间的空间是由于离散的倾角网格造成的。

图 2。这是一个部分凌星。后验分布如此之小的原因是部分凌星路径必须非常具体才能拟合观测值。我的倾角网格可能不够精细,无法建模高灵敏度。这很可能是在私有集上导致错误的原因,当时某个行星 ID 拟合不佳。部分凌星行星不多,所以我没有重点关注它们,导致这一点被忽略了。

图 3。左:最佳拟合路径。右:倾角距离 2 个网格点(0.02 弧度)。
光谱
拟合光变曲线后,我取了前 20 条路径用于拟合单个 AIRS 波长并平均结果。使用光变曲线多项式形状拟合单个波长。
临边昏暗建模
然而,我很快注意到我的凌星估计存在严重的系统误差。虽然线性临边昏暗在建模行星 traversed 的路径方面做得不错,因为行星仅在入凌/出凌期间靠近边缘,但边缘附近的临边昏暗对盘平均恒星强度 (Ia) 具有更高的权重和敏感性。因为我们需要 (Ia) 来计算观测凌星深度与 (Rp/Rs)² 之间的失真,所以边缘附近的临边昏暗假设会导致系统拟合误差。结果,对于较高的临边昏暗系数,我的凌星深度被高估,而对于较低的临边昏暗系数,则被低估。

图 4:线性临边昏暗定律的局限性,最佳拟合线性定律(绿色)与观测临边昏暗 vs u(入射角余弦)。
我在比赛的剩余时间里试图使用 Atlas 生成的 LD 模型(基于温度和表面重力)作为起点来拟合更复杂的 LD 形状,但增加的复杂性使得很难继续我的搜索网格方法,我需要大修模型的主要部分以适应运行时。我正在探索两种不同的方法:1. 拟合 2 参数指数临边昏暗并整合到我现有的方法中。2. 首先使用 Atlas 模型估计临边昏暗。然后,拟合 u 和波长上的 2d 高斯过程。不同波长的临边昏暗之间存在明显的协方差,我想对此建模,但不幸的是没能及时找到解决方案。
时间不够了,我决定在最后一周提交我所拥有的内容,并进行 major simplifications。在简化的临边昏暗模型中,我只关注光谱。我去掉了入凌/出凌期,并使用基于 Atlas 模型生成的 4 参数系数查找表来拟合不同波长(不幸的是仍然不能很好地拟合边缘)。然后将其与线性模型集成。
我使用了一种机器学习方法 (lgb) 来估计光变曲线的平均恒星强度,基于 Rs, Mp/Ms, ip 和线性 LDC。然后用它来调整预测的平均凌星值。不理想,但这是最后提高分数的快速方法。我知道机器学习方法在去年的比赛中因分布 shifts 表现糟糕,但它在本地 CV 上似乎有效,而且我使用的变量大多是几何的(除了行星质量,我仍然不理解为什么这个变量会导致更好的性能),较少依赖于化学成分和其他恒星属性。
后处理:我使用了这个后处理 https://www.kaggle.com/competitions/ariel-data-challenge-2024/writeups/c-number-daiwakun-1st-place-solution。
光变曲线均值 + 后处理光谱形状
与去年不同,临边昏暗的存在和单个波长中极低的信噪比使得单个波长的绝对凌星深度值非常不可靠。所以我需要分别使用光变曲线预测平均凌星深度,并使用光谱的去噪测量值预测形状。这意味着要处理两种不同的不确定性测量。
光变曲线 std(从后验分布估计)+ 凌星深度 vs. 波长曲线的 mae。有趣的是,我的每个波长的 std 都是平坦的。也许我也应该采样后处理的光谱形状。
不幸的是,我没有机会查看 FSG1。由于它只占约 20% 的权重,而且绝不是一个简单的任务,我决定优先改进 AIRS 的临边昏暗模型。我只是使用了均值 + 较高的 sigma 值。
只是重复了相同的模型并平均了均值和 std。我不认为这有任何帮助,但肯定导致了我的代码中的 bugs XD。
我使用的网格对于部分凌星来说不够精细。如图 2 所示,部分凌星行星具有非常具体的几何形状。密集的后验分布没有被网格很好地近似,导致接近 0 的 std 预测。我预料到部分凌星会出问题,并调整了非常高的 STD,但忘记为 STD 设置下限。不幸的是,这在训练或公开排行榜中没有被发现,让我损失了不少分数。
完全将这些凌星路径归零给我的私有分数为 5.77,但也不理想,因为大多数部分凌星拟合得相当好。

编辑:经过进一步调查,这可能不是网格的问题,而是我使用线性临边昏暗的问题,它特别是对边缘拟合不佳。如果是这种情况,我可能需要单独处理这些凌星。