使用支持向量机进行时间序列预测

time series forecasting using Support Vector Machine

要使用 SVM 进行预测的时间序列中使用的属性是什么?我有两个值 datevalue at that date for the class 我已经知道我可以使用 -1 和 1当价格上涨或下跌但仍然不知道如何绘制时间序列来计算超平面

有一些论文展示了一些方法:

Financial time series forecasting using support vector machine

Using Support Vector Machines in Financial Time Series Forecasting

Financial Forecasting Using Support Vector Machines

我真的建议您阅读现有的文献,但为了好玩,我将描述一种简单的方法(可能不是最好的)。

假设您有 N 对 f,其中 f 是该对的特定 date/time,f 是其对应值。这些对按其 X 分量排序。

假设您想要预测,如果给定 f,相应的未知值 f 会上升或下降(请注意,您也可以使用回归,而不是尝试预测值本身) .

然后我们可以用这样的训练集训练模型:

Input                         Value
======================        ================ 
y_t0, y_t1, ..., y_ti-1         1 :if y_ti   > y_ti-1, -1 otherwise
y_t1, y_t2, ..., y_ti           1 :if y_ti+1 > y_ti,   -1 otherwise
y_t2, y_t3, ..., y_ti+1         1 :if y_ti+2 > y_ti+1, -1 otherwise
y_t3, y_t4, ..., y_ti+2         1 :if y_ti+3 > y_ti+2, -1 otherwise
y_t4, y_t5, ..., y_ti+3         1 :if y_ti+4 > y_ti+3, -1 otherwise

基本上,您将训练算法通过瞥见过去对未来的下一个 "tick" 做出有根据的猜测。一旦你的模型被训练来做出预测,你就可以在你想要预测的值之前为模型提供 N 个值(其中 N 是你在训练阶段用作输入的值的数量)。