填补时间序列缺口的想法(使用统计学习吗?)

时间:2019-10-16 10:26:05

标签: python machine-learning scikit-learn time-series imputation

我正在寻找一些有关时间序列问题的信息。

我所掌握的是2008-2018年的土地利用数据。 每行看起来都是这样,其中每个值代表连续一年某个单元格的土地使用情况:

[1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0]

每个数字代表土地使用类型。

但是有时候看起来像这样:

[1.0, 2.0, 1.0, 3.0, 3.0, 3.0, NaN, 3.0, 3.0, 3.0, 3.0]

有时看起来像这样:

[1.0, 2.0, 1.0, 3.0, 3.0, 3.0, 8.0, 3.0, 3.0, 3.0, 3.0]

3.0级=茂密的森林, 8.0级=建成区

在NaN和土地用途转换不一致的情况下,我都想使用统计学习之类的方法来填充和校正我的观察结果,并得出可能基于先前和过去土地用途的土地用途类型。

现在,我已经建立了一个计分方案,对以前的土地用途和过去的土地用途类型进行评分(越接近缺失,权重就越大)。然后,针对缺失/不一致的值填写得分最高的土地使用类型。我仍在弄清楚如何测试该方案的性能。

在任何情况下,计分方案都是任意的,我想为我可以尝试的其他想法提供一些输入。我对python很好,但是还是机器学习和插补的初学者。

非常感谢您的想法!

1 个答案:

答案 0 :(得分:2)

最好的方法可能不是使用统计学习

  • 使用最后一个值
  • 在平均值与最后一个非缺失值之间进行求值
  • 平均在滚动窗口中出现

或者您可以尝试基于线性回归或基于时间序列的建模(arima,LSTM等),但是再次;我不确定这是最好的方法。您应该尝试凭经验评估结果。