r - 如何使用R中的vars包来预测多个时间序列?

标签 r time-series tibble

我正在尝试使用 R 中的 vars 包来分析多个时间序列数据。例如:

g <- tibble(r10=c(1,2,3),r20=c(3,2,4),
            Date=as.Date(c('2020-01-01','2020-01-02','2020-01-03'),format = '%Y-%m-%d'))

一个小标题中有两个时间序列(r10,r20)。我需要为它们预测 2 个值。所以它是多个时间序列。

我想遵循 vars 中的示例:

data(Canada) 
var.2c <- VAR(Canada, p = 2, type = "const") 
predict(var.2c, n.ahead = 8, ci = 0.95)

但是,vars手册中的示例“加拿大”具有这样的格式:

enter image description here

我尝试在函数中直接使用我的 tibble 但失败了。如果我直接使用 vars 包中的 tibble ,该模型似乎不起作用。我也尝试了How to convert dataframe into time series?中的方法,这仍然不起作用。所以,我的问题是:如何将 tibble 转换为可以在 vars 包中使用的格式?

最佳答案

我认为您需要的数据格式是:

library(vars)
#convert to dataframe
g  <- data.frame(g)
#Assign date as row names
rownames(g) <- g$Date
#Remove Date column
g$Date <- NULL
#Convert to time-series
g <- ts(g)
var.2c <- VAR(g)
predict(var.2c)

您可能需要调整 VARpredict 函数中的一些参数以获得所需的数字。

关于r - 如何使用R中的vars包来预测多个时间序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471571/

相关文章:

r - 向 spplot 添加透明矩形

R HighCharter - 没有数据可显示

r - 如何在 R 中快速组合 60 个矩阵

time-series - 如何更改数据框列中的日期格式。

python - 时间间隔到均匀间隔的时间序列

R 向导引用

python - 索引/分箱时间序列

r - 如何按组查找R中嵌套小标题之间的最后一个公共(public)值?

r - Fisher 在 R 中根据数据帧进行精确测试

r - 如何移动嵌套 tibbles 中的 tibbles 列?