【问题标题】:VAR model with R, stationarity具有 R 的 VAR 模型,平稳性
【发布时间】:2013-09-20 16:58:32
【问题描述】:

所以在 R 中使用带有包 'vars' 的模型 var,以这种方式:

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()?

谢谢!

卢卡

【问题讨论】:

    标签: r time-series prediction


    【解决方案1】:

    您的数据应具有“ts”类。如果你的数据是一个叫做数据的矩阵

    类(数据)

    [1] "mts" "ts"

    ddata

    现在您可以使用

    将数据返回到级别

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

    所以你的预测值出现差异,然后你返回它们,例如

    diffinv(pred$fcst$VARIABLENAME[1,], xi=t(data[nrow(data),"VARIABLENAME"])

    使用对数据的最后一次观察作为初始值,您可以将预测返回到水平。其中 nrow(data) 是最后一行,“VARIABLENAME”是您感兴趣的变量的列。有意义吗?

    【讨论】:

      【解决方案2】:

      @user21240。因为我没有足够的分数来评论你的答案。我把它写在这里作为一个帖子。

      从技术上讲,您所说的是正确的。即diff()diffinv() 在任何系列中都像这样工作。但这是将预测恢复到水平的正确方法吗,尤其是在 VAR 的情况下。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-03
        • 2012-06-18
        • 1970-01-01
        • 2012-03-09
        • 2015-07-21
        相关资源
        最近更新 更多