2017-01-09 71 views
0

我試圖以測試R. 基於自迴歸模型strucchange包在時間序列結構變化是這樣的:Strucchange與自迴歸模型

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

什麼似乎發生的是通過breakpoints命令誤解滯後操作符。 我該怎麼辦?是否有替代strucchange包?

感謝

回答

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)