java - 预测轨迹路径点的最佳方法

标签 java geolocation linear-regression prediction

我每3分钟记录一次车辆的移动。因此,每3分钟我就会知道车辆的位置更新。根据这些数据,我想预测每个点的下一个点。例如 最后五个位置更新如下所示:

    latitude,longitude,timestamp
    1.527219139 103.7791514,2017-08-21 00:03:00
    1.528935142 103.7805676,2017-08-21 00:06:00
    1.530651144 103.7812113,2017-08-21 00:09:00
    1.531895244 103.7819838,2017-08-21 00:12:00
    1.533353844 103.7832713,2017-08-21 00:15:00

有了这个数据,我想预测它的下一个点。使用线性回归或外推法是否好。或者是否有任何其他方法来计算预测的纬度和经度。任何帮助都是值得赞赏的.

最佳答案

我假设地球是平的(说真的——否则数学将无法形容)。

您需要决定要分析多少数据点来进行预测。如果您只采用最后两个数据点,那么问题相对简单(在平坦的地球上)。您的行程似乎为三分钟(12:00 到 15:00),纬度增量为 1.533353844 - 1.531895244,而经度增量为 103.7832713 - 03.7819838。根据这些数字,您可以估计每分钟纬度的变化以及每分钟经度的变化。您可以将这些每分钟的变化添加到最新的纬度和经度数字中,以估计距离上次读数一分钟后的位置。等等。

只有当您假设您正在沿着近似直线行驶时,线性回归才会对您有用。使用回归可以让您“平均”记录位置中的误差,但不会给您更好的预测,除非您的运动确实是在一条直线上。

您可以在预测中使用多个数据点。例如,您可以使用最后三个数据点并将这些值拟合到某种三次多项式。然后,您可以使用多项式函数的参数来估计下一个数据点。

仅当您了解正在记录的潜在运动(例如,它是直线或某种特定形状的曲线)时,使用三个以上的数据点实际上才可行。

关于java - 预测轨迹路径点的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792835/

相关文章:

python - 在 SciKit 线性回归上获取 'ValueError: shapes not aligned'

java - 如何加载位于 jar 文件内的属性文件

java - SQLite插入函数/方法参数参数太多,如何重构?

java - 避免Java因证书错误而出现安全警告

javascript - 如何在嵌入式谷歌地图中获取从访问者当前位置到我的位置的方向

elasticsearch - 寻找某人来帮助我使用ElasticSearch

javascript - 地名自动完成城市/州,返回完整的州名而不是缩写

apache-spark - Spark (1.6) ML 线性回归 - 如何使用模型进行预测

c# - 使用 C# 的线性回归梯度下降

java - 将 Java 类转换为 Kotlin