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

问题描述 投票:0回答:1

我正在尝试在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

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

r variables time-series tibble multiple
1个回答
0
投票

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

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功能中调整一些参数以获得所需的数字。

© www.soinside.com 2019 - 2024. All rights reserved.