机器学习算法预测下一个值

时间:2017-03-03 14:33:36

标签: python machine-learning

我试图预测一个系列的下一个值。我需要使用哪种最好的机器学习/算法?

我有这个矩阵:

 [114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]

我希望预测这个值:

 [114, 160, 60, 27 , **80 , 90**]
[74, 97, 73, 14 , **10 , 15**]
[119, 157, 112, 23 , **50 , 48**]

最好的方法是什么?

1 个答案:

答案 0 :(得分:5)

如果我理解你的问题,在你的情况下:

X = [114, 160, 60, 27] and Y = [80,90] [74, 97, 73, 14] [10,15] [119, 157, 112, 23] [50,48]
你想在这个数据上使用机器学习算法吗?

您可以使用任何监控的学习算法,如回归或SVM,使用X作为输入,Y作为输出。

您还可以使用迭代学习:您将学习预测器f向前迈出一步:

X = [114, 160, 60, 27] and Y = [80] [74, 97, 73, 14] [10] [119, 157, 112, 23] [50]

你提前做一步预测:

f(X) = [pred1] [pred2] [pred3]

之后,您将预测结合到输入中,所以现在您已经:

Xbis = [114, 160, 60, 27, pred1] and Yter = [90] [74, 97, 73, 14,pred2] [15] [119, 157, 112, 23,pred3] [48]

你在Xbis和Ybis上训练了另一个预言者fbis

所以最后,你有两个预测变量ffbis,它们都预测着领先一步。它使您能够提前两步做出预测。 当然,您需要更多数据来训练一个好的预测器。

更一般地说,如果你想进行时间序列预测,你可以使用“窗口方法”,它是从时间序列创建输入和输出然后学习预测器的一般方法。

另请注意,LSTM非常适用于时间序列预测,并且似乎可以提供相当不错的结果。

希望这会有所帮助!!

贝努瓦