2017-01-09 9 views
0

はそれはのようなものです:起こるようです何Strucchange

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

されますbreakpointsコマンドによるラグ演算子の誤解。 どうすればよいですか? strucchangeパッケージの代替手段はありますか?誤解がbreakpoints()に固有ではないことを

おかげ

答えて

0

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()は2つの同一の列を生成します(時間インデックスは無視されます)。正しい結果を得るために、単純に適した多変量時系列を設定し、それを使用します。

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)で動作します。