447. Google Smartphone Decimeter Challenge | google-smartphone-decimeter-challenge
祝贺所有的获奖者,非常感谢主办方举办了如此有趣的比赛!
这次比赛对我来说非常艰难,下面我将分享我们的解决方案。

在这次比赛中,主办方分享了一个使用WLS(加权最小二乘法)的基线(仅结果文件)。为了复现它,我们利用派生文件重新构建了基线。虽然很难完全复现一模一样的结果,但我们能够创建出分数相当的基线,并决定将它们与原始基线文件进行融合。
我们参考了这个Notebook:
https://www.kaggle.com/hyperc/gsdc-reproducing-baseline-wls-on-one-measurement
以下是我们创建基线所做的一些工作:
在使用上述方法创建了两个新的基线位置后,我们通过与原始基线进行加权平均来融合它们。
我们自动将数据集分为三类(与公开版本一致),并额外定义了一个“困难区域”。
困难区域的定义如下:
定义的困难区域如下图所示:

这被用于“吸附到网格”步骤。
我们使用了一些分享的Notebook,非常感谢贡献者。
异常值校正
https://www.kaggle.com/dehokanta/baseline-post-processing-by-outlier-correction
卡尔曼平滑
https://www.kaggle.com/emaerthin/demonstration-of-the-kalman-filter
我们应用线性插值来保持时间间隔恒定。
手机均值
https://www.kaggle.com/t88take/gsdc-phones-mean-prediction
https://www.kaggle.com/bpetrb/adaptive-gauss-phone-mean
移除手机
https://www.kaggle.com/columbia2131/device-eda-interpolate-by-removing-device-en-ja
吸附到网格
我们仅在市中心区域和困难区域应用了吸附到网格。
停止均值
我尝试对停止点取平均值。
步骤如下:
(1) 使用LightGBM预测车速
(2) 如果预测结果小于 0.95m/s 且持续超过 2 �