Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Artificial intelligence 金融时间序列预测/SV回归_Artificial Intelligence_Regression_Svm_Prediction - Fatal编程技术网

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

Artificial intelligence 金融时间序列预测/SV回归,artificial-intelligence,regression,svm,prediction,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]。支持向

我正在使用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]。支持向量机类型为eps回归,核函数为径向函数。此外,我还进行了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,但结果是一样的

有谁能告诉我为什么会发生这种情况,我怎样才能得到真正的预测

**

补遗 **

关于用户__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] = 11 - 15  -> y'[t] = y[t] - y[-1] 
但在实时预测中,我不知道y[t]来计算y':

2考虑到上面的例子,你能解释一下下面的表达是什么意思吗

y'[nt] 


y'[-nt] 


y[nt] 

如果你使用真实的金融时间序列数据,这种行为就是挑战的一部分——因为金融时间序列非常嘈杂

你可以试试:

写下您的内核参数,用相同的内核参数尝试nu SVR,然后选择nu=0.1。通过这种方式,您将增加模型的复杂性,与死记硬背的学习相融合,并使用谷歌翻译!德语中的auswendiglernen 1.a.edit你可以尝试一个损失函数,它不是经典的ε不敏感LF,比如高斯损失函数no xp

1.b.编辑我曾经使用过FaLK SVR。在那里,你可以在子数据邻域中分割数据:我认为这将帮助你获得更少的平均结果。FaLKM lib是基于libSVM的现成实现:

包括s[t-13]和s[t-27]而不是介于两者之间的值!只有t-1、t-2、t-3、t-13和t-27可以为机器提供关于总体趋势的线索

如果你真的想预测像这样的天气系列,你当然需要更多的功能;-,或通过隐马尔可夫链计算特征

谷歌提供更简单的玩具数据或外观


这对我来说可能更好。他们可能有更多的洞察力。你想做什么?金融数据是一个太宽泛的术语,我希望现在更清楚。谢谢。也许对你来说更好,但现在可以行动了……谢谢你的回答。我确实试过你的建议。二,。不幸的是,我也有同样的行为。预测总是非常接近最后的价格。也许增加时间序列的间隔会有所帮助?i、 e:t-2、t-5、t-9、t-13和t-27更新:我增加了如下间距:[t-1]、[t-13]、[t-27],包括建议1。二,。结果:相同的初始结果。好的,让我澄清一下第三点:你的输入值是简单的y[-t]值-因此机器将y[-1]作为y上最接近的猜测是正确的。尝试预测y'[t]=y[t]-y[-t],也使用y'[-nt]作为输入。这样,从x1=[1,2,3,4]到x2=[3,4,5,6]的内核距离将为零。如果需要y[t]作为输出,只需将已知的y[-t]添加到y'[t]。还可以尝试混合y'[-nt]和y[-nt]值,以覆盖低值和高值上的不同行为。尝试将尽可能多的信息放入内核。玩y[-nt]-y[-nt-2]等等……感谢您的洞察力。请您参考上述初始问题的附录,以澄清一些要点?再次感谢。请在上面的评论中将-nt替换为t-n。对于x1和x2,我指的是您的原始输入。如果取这些值的差分:x1*=[1,1,1,1]和x2*=[1,1,1],则具有任何内核的x1*和x2*之间的内核距离为0。好啊现在为了让事情变得简单,我们想要预测y1=5和y2=7。所以y1*=y1'=1和y2*=y2'=1。如果我们有一台预测y1*和y2*的机器,我们需要将y'加到已知的y[t-1]中,以返回到所需的y。这里:y1=y1*+y1[t-1]=1+4=5,y2=y2*+y2[t-1]=1+6=7。所以你预测y'并从中计算y。
y'[t] = x - 15
y'[nt] 


y'[-nt] 


y[nt]