我每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/