我尝试使用命令 msvar 估算 R 中的马尔可夫切换 VAR 。这是我两个时间序列的前10个条目。我有 798 。当我尝试运行它时,我收到一条错误消息
a <- c(1.998513, 1.995302, 2.030693, 2.122130, 2.236770, 2.314639, 2.365214, 2.455784, 2.530696, 2.596537)
b <- c(0.6421369, 0.6341437, 0.6494933, 0.6760939, 0.7113511, 0.7173038, 0.7250545, 0.7812490, 0.7874657, 0.8275209)
x <- matrix (NA,10,2)
x[,1] <- a
x[,2] <- b
time.seriesx <- ts(x)
markov.switchingx <- msvar(time.seriesx, p = 2, h = 2, niterblkopt = 10)
我收到的错误消息如下:
optim中的错误(par = c(beta0.it),fn = llf.msar,Y = Yregmat,X = Xregmat,&#39; vmmin&#39;中的初始值不是有限的
任何可以帮助我的人?感谢
答案 0 :(得分:0)
我认为你必须先运行类似日志的功能。我得到了同样的错误,但是当我这样做时,它确实有效。 我不确定,但我希望这可以帮到你:(我使用了我的数据所以不要注意&#34; M1euro&#34;)
library(base)
data <- data.matrix(M1euro, rownames.force = NA)
library(stats)
ss1<-ts(data, frequency=12, start=c(2007,1), end=c(2016,4))
class(ss1)
length(ss1)
ss <- na.approx(ss1,na.rm=F,rule=2)
ss
class(ss)
library(MSBVAR)
require(graphics)
set.seed(1)