447. Google Smartphone Decimeter Challenge | google-smartphone-decimeter-challenge
首先,我要感谢主办方组织了一场激动人心的比赛。
在这里,我介绍一下我的解决方案。
我的解决方案利用了通过多普勒频移预测的车辆速度,这基本上比基线位置更可靠。
车辆的速度可以使用 PseudorangeRateMetersPerSecond 来估计,如下所示:
https://www.kaggle.com/c/google-smartphone-decimeter-challenge/code
将一个简单的一维卷积网络应用于预测的速度进行平滑处理。
我根据速度和相对位置之间的一致性,在基线中提取了可靠点。
如果满足以下条件,基线中的连续点将被分组:

其中:
对一致组应用吸附网格。
网格点是通过真实值的线性插值生成的。
为了避免吸附到道路的另一侧,将车辆的方向角度添加到每个网格点。
通过解决以下优化问题获得最佳网格点:

其中:
g(xt, vt, xgt, ugt) 的第一项是与基线位置和网格点之间距离相关的成本。
g(xt, vt, xgt, ugt) 的第二项是速度方向角度与网格点方向角度偏差的成本。
上述优化问题可以使用 Dijkstra 算法求解。
一致组中的基线位置是固定的。
通过固定它们,对一致组之间的点施加了边界条件。
为了满足边界条件,通过解决以下优化问题来修改速度:

其中:
然后,一致组之间的位置插值如下:

对插值点应用吸附网格的方式与一致组几乎相同(边界条件已修改)。
通过迭代求解“4. 基于速度的插值”中的优化问题对位置进行平滑,如下所示:

训练集: 2.331 / 公榜: 3.758 / 私榜: 2.597