我试图预测一个系列的下一个值。我需要使用哪种最好的机器学习/算法?
我有这个矩阵:
[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**]
最好的方法是什么?
答案 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
。
所以最后,你有两个预测变量f
和fbis
,它们都预测着领先一步。它使您能够提前两步做出预测。
当然,您需要更多数据来训练一个好的预测器。
更一般地说,如果你想进行时间序列预测,你可以使用“窗口方法”,它是从时间序列创建输入和输出然后学习预测器的一般方法。
另请注意,LSTM非常适用于时间序列预测,并且似乎可以提供相当不错的结果。
希望这会有所帮助!!
贝努瓦