VAR模型与R,平稳性

时间:2013-09-20 16:58:32

标签: r time-series prediction

所以使用模型var和R的包'vars',这样:

model_var <- VAR(my_data, lag.max=10)
roots(model_var)
pred <- predict(model_var, n.ahead=15)

如果my_data静止不存在问题。 但是,如果my_data不是静止的,我在my_data中区分所有时间序列,这是正确的吗? 现在,我使用差分数据,并使用此数据进行预测。 因为我返回到预测的原始数据,我应该如何使用运算符diffinv()?

谢谢!

卢卡

2 个答案:

答案 0 :(得分:2)

您的数据应该是班级&#34; ts&#34;。如果您的数据是一个名为data

的矩阵
  

类(数据)

     

[1]&#34; mts&#34; &#34; TS&#34;

     

ddata&lt; - diff(data)

现在您可以将数据返回到

级别
  

diffinv(ddata,xi = t(data [1,]))

所以你的预测值出现在差异中,然后你将它们归还给它们,例如

  

diffinv(pred $ fcst $ VARIABLENAME [1,],xi = t(data [nrow(data),&#34; VARIABLENAME&#34;])

使用您的数据的最后一次观察作为初始值,您可以将预测返回到级别。其中nrow(data)是最后一行,&#34; VARIABLENAME&#34;是您感兴趣的变量的列。它是否有意义?

答案 1 :(得分:0)

@ user21240。由于我没有足够的分数来评论你的答案。我在这里写一篇文章。

从技术上讲,你说的是正确的。即diff()diffinv()在任何系列中都与此完全相同。但这是将预测返回到水平的正确方法,尤其是在VAR的背景下。

使用符号表示法进行一些澄清可能会非常有用,因为即使我遇到同样的问题。