Rを使用してArimaエラーのある回帰のR-2乗を計算するにはどうすればよいですか?


8

私のようなarimaオブジェクトがある場合a

set.seed(100)
x1 <- cumsum(runif(100))
x2 <- c(rnorm(25, 20), rep(0, 75))
x3 <- x1 + x2

dummy = c(rep(1, 25), rep(0, 75))

a <- arima(x3, order=c(0, 1, 0), xreg=dummy)
print(a)

Series: x3 
ARIMA(0,1,0)                    

Call: arima(x = x3, order = c(0, 1, 0), xreg = dummy) 

Coefficients:
        dummy
      17.7665
s.e.   1.1434

sigma^2 estimated as 1.307:  log likelihood = -153.74
AIC = 311.48   AICc = 311.6   BIC = 316.67

この回帰のR二乗をどのように計算しますか?

回答:


16

R2

cor(fitted(a),x3)^2

このfitted()関数は、forecastパッケージをロードした場合にのみ機能しますが、質問の出力から判断すると、すでに実行済みのようです。

あなたの場合、ARMAエラーはありませんが、差異があります。したがって、線形モデルと同等です

b <- lm(diff(x3) ~ diff(dummy) - 1)
summary(b)

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
diff(dummy)   17.766      1.149   15.46   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 1.149 on 98 degrees of freedom
Multiple R-squared: 0.7092,     Adjusted R-squared: 0.7062 
F-statistic:   239 on 1 and 98 DF,  p-value: < 2.2e-16 

R2

R2R2


わかりました、役立つ回答をありがとう。多分私は私の質問を言い換える必要があったが、あなたはそれを完全に答えた:)
fmark
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.