具有自回归模型的结构

时间:2017-01-09 15:38:02

标签: r time-series

我试图根据R中带strucchange包的自回归模型测试时间序列中的结构变化。 它类似于:

a<-ts(rnorm(150))
b<-breakpoints(a~lag(a,-1))
coeftest(b)

似乎发生的是breakpoints命令对滞后运算符的误解。 我该怎么办?是否有strucchange包的替代方案?

由于

1 个答案:

答案 0 :(得分:0)

这种误解不是breakpoints()独有的,lm()做同样的事情:

lm(a ~ lag(a, -1))
## Call:
## lm(formula = a ~ lag(a, -1))
## 
## Coefficients:
## (Intercept)   lag(a, -1)  
##  -1.813e-17    1.000e+00  

原因是alag(a, -1)具有相同的长度(并且只是一个移位的时间索引),因此cbind()产生两个相同的列(并忽略时间索引)。要产生正确的结果,只需设置一个合适的多变量时间序列并使用:

d <- ts.intersect(a = a, lag = lag(a, -1))
lm(a ~ lag, data = d)
## Call:
## lm(formula = a ~ lag, data = d)
## 
## Coefficients:
## (Intercept)          lag  
##    -0.14136      0.06969  

同样的方法也适用于breakpoints(a ~ lag, data = d)