我正在使用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]
答案 0 :(得分:0)
如果您使用真实的金融时间序列数据此行为是挑战的一部分 - 因为财务时间序列非常嘈杂。
你可以尝试:
1.a.edit您可以尝试一种不是经典ε不敏感LF的损失函数,如高斯损失函数(不是我自己的xp)
1.b.edit我曾经使用过FaLK-SVR一次。您可以在子数据邻域中拆分数据:我认为这将帮助您获得更少的“平均”结果。 FaLKM-lib是基于libSVM的即用型实现:{{3 }}
包括s [t-13]和s [t-27](不是之间的值!仅为(t-1,t-2,t-3,t-13和t-27)给机器一个大趋势的线索。
如果您认真尝试预测这样的系列天气;-), http://disi.unitn.it/~segata/FaLKM-lib/或计算特征(通过隐藏的马尔科夫)
Google可以更轻松地玩具数据或查看micro-blogging