【问题标题】:How to use vars package in R to predict multiple time series?如何在 R 中使用 vars 包来预测多个时间序列?
【发布时间】:2020-06-13 17:30:20
【问题描述】:

我正在尝试使用 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 手册中的示例“加拿大”具有这样的格式:

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

【问题讨论】:

  • 你想使用vars包中的哪个函数?
  • 您好,谢谢您的关心。我编辑了我的问题并在其中的 vars 包中放置了一个示例,这就是我想在我的情况下使用的。请看一下。

标签: r time-series tibble


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 2014-04-03
    • 2020-02-08
    • 2021-12-09
    • 2019-09-06
    • 1970-01-01
    • 2020-12-23
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多