金融时间序列预测/ SV回归

时间:2014-02-18 19:01:24

标签: artificial-intelligence regression svm prediction

我正在使用R软件(Lib e1071),我正在尝试使用支持向量回归进行预测。我这样做的方法如下:

我正在使用N = 3收益率窗口化原始收盘价:

s[t-3]    s[t-2]     s[t-1]   ->   s[t]
1.2350    1.2358     1.2354        1.2360
.         .          .             .
.         .          .             .

etc... 

我想要预测的值是 y = s [t] 。 SVM类型是“eps-regression”,内核是“径向”。此外,我执行10倍交叉验证以获得最佳参数,伽玛和成本。



但我有一个问题:



预测始终是最后一个值 s [k-1] 的非常接近的值,例如:

Last Vector: 

s[t-3]    s[t-2]     s[t-1]   ->   s[t]

1.2350    1.2358     1.2354        1.2355

预测值将是最后一个s [t-1]值的非常接近的值。我已经尝试增加学习矢量的数量(10K)并增加N个产量(最多7个),但结果是一样的。

有人可以告诉我为什么会这样,我怎么能得到真实的预测?



**

附录

**

关于user__42的回复,我有一些问题需要理解你的解释:

1)假设我有以下3个训练过的矢量集

10 s[t-3]          12 s[t-2]        15 s[t-1]    ->      11 s[t]  
5  s[t-4]          8  s[t-3]        9  s[t-2]    ->      10 s[t-1]
6  s[t-5]          12 s[t-4]        10 s[t-3]    ->      15 s[t-2] 

建议的预测建议是 y'

y'[t] = y[t] - y[-t]

采用上面的例子

y'[t] = 11 - 15  -> y'[t] = y[t] - y[-1] 

但在实时预测中,我不知道 y [t] 来计算 y'

y'[t] = x - 15

2)考虑到上面的例子,请你解释一下你的意思是什么:

y'[nt] 


y'[-nt] 


y[nt] 

1 个答案:

答案 0 :(得分:0)

如果您使用真实的金融时间序列数据此行为是挑战的一部分 - 因为财务时间序列非常嘈杂

你可以尝试:

  1. 记下你的内核参数并尝试使用相同内核参数的nu-SVR并选择nu = 0.1。通过这种方式,您将增加模型复杂性,与“死记硬背学习”相衔接(用谷歌翻译!“auswendiglernen”,德语)
  2. 1.a.edit您可以尝试一种不是经典ε不敏感LF的损失函数,如高斯损失函数(不是我自己的xp)

    1.b.edit我曾经使用过FaLK-SVR一次。您可以在子数据邻域中拆分数据:我认为这将帮助您获得更少的“平均”结果。 FaLKM-lib是基于libSVM的即用型实现:{{3 }}

    1. 包括s [t-13]和s [t-27](不是之间的值!仅为(t-1,t-2,t-3,t-13和t-27)给机器一个大趋势的线索。

    2. 如果您认真尝试预测这样的系列天气;-), http://disi.unitn.it/~segata/FaLKM-lib/或计算特征(通过隐藏的马尔科夫)

    3. ,您肯定需要更多功能
    4. Google可以更轻松地玩具数据或查看micro-blogging