Ch.2, "Simple Linear Regression Analysis" より (pp.34-36)
プログラムと結果
データ
z <- c(1,2,4,6,7,8,10,15)
x <- c(0.045, 0.114, 0.215, 0.346, 0.410, 0.520, 0.670, 0.942)
data <- data.frame(z, x)
直線回帰
result.1 <- lm(x ~ z, data=data)
result.1
Call:
lm(formula = x ~ z, data = data)
lm(formula = x ~ z, data = data)
Coefficients:
(Intercept) z -0.02777 0.06574
共変量の平均値周りの回帰
result.2 <- lm(x ~ I(z - mean(z)), data=data)
result.2
Call:
lm(formula = x ~ I(z - mean(z)), data = data)
lm(formula = x ~ I(z - mean(z)), data = data)
Coefficients:
(Intercept) I(z - mean(z)) 0.40775 0.06574
計算値のチェック
sum(data$x - predict(result.1))
[1] 6.938894e-17
data$z %*% (data$x - predict(result.1))
[,1] [1,] 1.831868e-15
残差分散
sum(result.1$res ^2)/result.1$df
[1] 0.000644371
パラメータの SE,信頼区間
summary(result.1)
Call:
lm(formula = x ~ z, data = data)
lm(formula = x ~ z, data = data)
Residuals:
Min 1Q Median 3Q Max -0.022402 -0.020304 -0.004642 0.013185 0.040380
Coefficients:
Estimate Std. Error t value Pr(>|t|) Intercept) -0.027773 0.016647 -1.668 0.146 0.065739 0.002116 31.063 7.39e-08 ***
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02538 on 6 degrees of freedom
Multiple R-Squared: 0.9938, Adjusted R-squared: 0.9928
F-statistic: 964.9 on 1 and 6 DF, p-value: 7.392e-08
Multiple R-Squared: 0.9938, Adjusted R-squared: 0.9928
F-statistic: 964.9 on 1 and 6 DF, p-value: 7.392e-08
confint(result.1)
2.5 % 97.5 % (Intercept) -0.06850670 0.01296021 z 0.06056098 0.07091773
原点を通る直線
result.3 <- lm(x ~ z - 1, data=data)
summary(result.3)
Call:
lm(formula = x ~ z - 1, data = data)
lm(formula = x ~ z - 1, data = data)
Residuals:
Min 1Q Median 3Q Max -0.036063 -0.029668 -0.014648 0.004855 0.042343
Coefficients:
Estimate Std. Error t value Pr(>|t|) z 0.062766 0.001278 49.11 3.8e-10 ***
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.02843 on 7 degrees of freedom
Multiple R-Squared: 0.9971, Adjusted R-squared: 0.9967
F-statistic: 2412 on 1 and 7 DF, p-value: 3.799e-10
Multiple R-Squared: 0.9971, Adjusted R-squared: 0.9967
F-statistic: 2412 on 1 and 7 DF, p-value: 3.799e-10
confint(result.3)
2.5 % 97.5 % z 0.05974354 0.06578778
予測区間
pred.1 <- predict(result.1, interval="prediction")
matplot(data$z, pred.1, type="l", xlab="z", ylab="x")
points(data$z, data$x)
参照
添付ファイル