通过刺向星星,或在天上事务中进行数据分析


当我们坐在办公室里喝热茶时,真正重要的事情发生在广阔的空间中。吸引着世界各地天文学家和研究人员观点的是令人着迷,有趣的,甚至可能使比我们更了解这一点的人感到恐惧。新星系诞生了,特斯拉伊洛娜面具飞向不朽的大卫·鲍伊(David Bowie)的歌曲中,一般来说,都是美丽的。

但是,让我们回到地球一段时间。碰巧的是,数据分析是跨科学的需求。如此吸引人。既然可以研究所有事物,那么从地球的肠子到广阔的空间。

我想谈谈这样的经历,即参加IDAO 2019国际数据分析奥林匹克竞赛,该竞赛已由我的祖国大学-高等经济学院连续三年举办。

任务是预防和发现“太空事故”,即在轨道上的卫星在非最佳运动路径上相互碰撞,变成空间碎片,以宇宙速度飞行很可能会导致更多事故,数百万美元的损失以及对NASA或Roscosmos某处的地毯。为什么会这样呢?显然,应该责怪星星。还是不,让我们弄清楚。
顺便说一下,下面给出了在地球轨道上飞行的地面起源空间物体的数量统计。



可以看出,空间碎片的数量逐年增加。

因此,在这里,我将尝试说明我们的团队如何在302名中排名第22位。

首先,请考虑以下源数据。



其中x,y,z是对象在三维空间中的坐标,而Vx,Vy,Vz是速度。还有GPT-4获得的带有_sim前缀的模拟数据将不使用。

首先,让我们建立一个简单的可视化工具,这将有助于理解数据的排列方式。我用情节。如果考虑二维坐标系中的数据,则它们看起来如下。第七颗卫星的y轴显示如下。在Github上的.ipynb中,还有更多图形可以用鼠标旋转并咧着嘴笑,同时仍然可以玩得开心。



在EDA(探索性数据分析)过程中,注意到数据包含的观察结果的时间相差一秒。必须将它们移除以保持季节性。最有可能在同一点两次检测到同一物体。

简而言之,这个时间序列显然具有等于24的线性趋势和季节性,即卫星在24次观测中围绕地球公转。这将有助于将来选择最佳算法。

现在我们将编写一个函数,该函数将使用SARIMA算法预测时间序列的值(使用了statsmodels包中的实现),同时优化了模型参数并以Akaike准则的最小值选择最佳参数。它显示了模型的复杂性和重新训练的过程。公式如下。



最终结论如下:



当然,我们的团队经过几十次迭代并重复重写了代码。像Langoliers这样的东西进来了,极大地提高了我们的速度,某些东西最终落下了,吞噬了我们的时间。但是一种或另一种方式是对卫星的位置及其下个月的速度进行了预测。

质量指标是SMAPE,即对称平均百分比误差。



其中F_t是预测值,F_t是真实值。

最终公式如下:



最终,我们的团队收到了很多不太好用的.ipynb代码,用于笔记本,名称完全不合逻辑的csv文件,不眠之夜,数千个排行榜更新,数十个提交失败的内容以及ML hackathon的其他令人愉悦的东西,以及私人排行榜上的302个小组,即 达到最高7%。



作为优化解决方案的想法,建议尝试更深入地研究EDA以了解较低级别的数据,并尝试使用其他预测算法。存储库中有更详细的分析。喜欢ML,请继续关注。

代码链接

All Articles