返回列表

1st (or 16th) place short write up

378. University of Liverpool - Ion Switching | liverpool-ion-switching

开始: 2020-02-24 结束: 2020-05-25 药物研发 数据算法赛
第1名(或第16名)简短总结

第1名(或第16名)简短总结

作者:James Davis (lorentztrans)
团队成员:Rakesh P Tiwari, James Davis
发布时间:2020-05-26

大家好,特别感谢 Chris Deotte、Vitalii Mokin 和 Trigram。很抱歉遗漏了其他人,接下来的几天我们会给那些被我们忽略的内容点赞。感谢组织者和 Kaggle 团队,这整个比赛对我们意义重大,仅仅达到金牌水平就已经让我们感觉非常棒了。

关于数据泄露,虽然之前已经描述得很清楚了,但还有其他一些线索,我们当然不认为自己发现了什么新东西。

  • Matlab 代码中有一条模糊的注释,说在 5 以上不起作用。
  • 它没有用时钟作为种子。Matlab 的一个“特性”(不是 bug)是随机数生成器(RNG)在启动时默认产生相同的链。这可能是问题的最初来源。
  • 在 max10 数据集的 50Hz 信号中可以看到明显的拍频。
  • 你实际上可以在视觉上看到信号之间的相关性(我们碰巧在 5+5 上做加法来获得一些额外的噪声用于模拟,并检查了所有数据的 .corr。看起来很多人都有同样的想法)。

据我们所知,泄露完全局限于一个 max10 私有数据集。当然,一旦你知道了,一切似乎都很明显,但我们原本预期即使有优势也很小,而且大家都在讨论排行榜会发生大震动。我认为在最后一周“披露”它是不合适的。

你可以把这看作是第一名的总结,或者按照你的喜好看作是第16名的总结。我们最终会提供更多细节,但我没打算这么快就写任何东西。

一个很大的改进来自 50Hz 清洗。我们最终在将信号标记为 mod200 后,对几个周期的信号减去 lgbm 预测值进行了平均。这很好地解释了 50Hz 附近频率和幅度的小幅漂移,而且非常简单。(对我们来说,真正的傅里叶变换并不是正确的路子)。

正如 Rob 最近指出的那样,位移显然也很重要。他的第四点怎么强调都不为过。

我们在贝叶斯推断模型上花费了大量时间,尽管最后我们没有使用它,因为 max10 数据集突然变成了 max5,而且在良好的 50Hz 清洗之后,贝叶斯模型实际上与 LGBM 相同(但没有任何机器学习!)。这需要足够的蒙特卡洛模拟来找到状态转移概率,我们也将其用于数据增强。

最后,max25 数据集的初始化方式不同(第二个“低”HMM)。这对贝叶斯模型来说很重要,因为我们从初始状态开始,并随着每个信号点向后更新。(尽管这对 f1 分数没有显著影响)

同比赛其他方案