从具有不确定时间间隔的位置更新估计速度

机器算法验证 回归 估计 功能数据分析 测量误差
2022-03-21 21:02:02

我有 2 种替代方法来解决问题,我只是想知道有哪些人比我想象的更了解数学,以及是否有更好的方法来解决这类问题。

问题:我有一个纬度/经度位置列表和一个位置更新之间的时间间隔值,并希望找到 SOG(对地速度)。但是,每个时间间隔的确切值存在一些不确定性——因为数据是通过 Internet 检索的,即使在程序中(例如)设置为每 60 秒请求一次更新。数据来自海洋赛艇模拟器,因此 SOG 也会随着条件的变化以及航向的变化(相对于风)而变化。

一种方法是对与该间隔的时间长度成比例的新更新进行加权,并乘以我们当前的最佳 SOG 估计。像这样的东西(T以秒为单位):

speed=distance/ΔT
d=1eΔT
sog=dspeed+(1d)sog

这可以正常工作,尤其是在速度相对一致的情况下。

在看到这个方法之前,我想出的估计 SOG 的方法是:
维护一个最近的个 {timestamp, lat, lon} 元组的列表。 在每次更新时,计算从开始的所有可能子区间的调和平均值:N
0,N1

S=N(N+1)/2

sog estimate=S/i=0,j=i+1N1timeij/distanceij

然后保留个最近估计的列表,并再次取调和平均值。 &不宜过大。显然,如果还没有个元组来对子区间求和,那么只要有很多可用的就使用。由于更新每 60 秒发生一次,因此 10-15 的值似乎适用于我能想到的一个可能的改进是对每个子区间进行加权,类似于方法 1。第二种方法似乎比第一种方法更准确,尽管有时可能需要更长的时间才能收敛到合理准确的估计 - 通常需要大约 N 次更新之前它对于任何实际用途都变得准确。MNMNNM
它似乎也能更好地处理“真实” SOG 的变化,即轻微的加速。

鉴于 SOG 很少在超过 15 或 20 分钟内保持一致,即从风强度的增加,或角度变化到船速更高/更低的角度等,并且该方向可以改变(同样,随着速度的变化),从不确定的时间间隔和位置变化计算 SOG 的最佳算法是什么。另外,有没有一种可能的方法来估计估计误差?甚至可能在计算后纠正这个错误项?我应该提到所有可用的数据:航向、纬度和经度,并且我从每个更新请求的开始都保留一个时间戳。

我希望能够尽可能准确地计算出这个速度。

在此先感谢您的帮助,并原谅我对 MathJaX 的不当使用。

编辑:我从 MathJaX 得到数学处理错误,在 math.stackexchange 上运行良好?在这两个问题中注意到很多??所以重新发布纯文本数学。

1个回答

因为您相信 GPS 位置(以及由此计算的距离)但时间有错误,所以将时间与累积距离进行回归。

要考虑加速和减速,请考虑以下形式的模型

Time=t=β0+β1X+β2X2+ε

其中是距离,表示时间误差。拟合后,您可以估计,其中Xεdt/dX^=β^1+2β^2X

Speed estimate=dX/dt^=1/dt/dX^=1β^1+2β^2X.

这可能在靠近数据集中间的时候效果最好。因此,例如,您可以维护一个包含个观测值的循环缓冲区,该缓冲区在任何时候都会跨越时间,并使用它们来估计平均位置附近的速度kt1,t2,,tk1ki=1kXk

例如,我根据公式生成距离,时间为这表示从单位速度均匀减速的一段时间。请注意,它假设模型不同:时间变化由二次公式给出。然后我通过独立的标准正态变量改变这些时间。与标称采样间隔相比,这是一个巨大的错误:您甚至无法确定连续两次的顺序实际上是否正确。这是对该方法的一个相当严格的测试。X(t)=15+ii2/25t=1,2,,10

这是一个典型实现的图,红点显示真实值,蓝色点显示观察值(,具有时间抖动的真实值),以及时间的普通最小二乘拟合。我用k=10

情节 1

请注意,时间测量结果非常糟糕,船似乎多次反转航向,尤其是在时间 2 和 4 附近。

与我看到的许多实现不同,这种拟合在中心看起来并不是非常好:线偏离了红点。尽管如此,让我们看看在此期间估计速度和实际速度如何变化:

速度与位置

(请注意,您可以随时估计速度而不仅仅是测量时间,因为拟合系数给出了速度公式。)

在这个速度与位置(不是时间)的关系图中,蓝色曲线是估计值,红色曲线是实际速度。显然它们在末端附近不是很接近,但对于中间时间,估计非常好。 (中间时间大约是位置 19-20,如第一个图所示。)请注意,直接从位置序列估计速度会遇到严重困难,因为(由于时间错误)船似乎是前后跳跃。如果您将向后跳跃视为真正的反转,您将严重高估速度,但如果您将它们视为速度,则在平均时会遇到严重问题。 这里的道德是最好拟合位置与时间的模型,然后才尝试估计速度;不要试图直接估计速度。

越大,您期望的准确度就越高。使用 OLS 的机器来估计任何所需位置的时间预测误差;从中您可以将错误传播到速度估计。k

由于在进行过程中添加了新值并删除了旧值,因此速度估计值可能会略微跳跃。你可以变得更漂亮并使用加权回归,在极端位置附近将权重平滑地降低到零。这样做时,估计速度与位置的关系图会更平滑一些。(这种技术类似于最近流行的 Fotheringham、Charlton 和 Brunsdon 的“地理加权回归” 。)