読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第31回 回帰分析の信頼区間・予測区間

第31回は回帰分析の信頼区間・予測区間について書きます。

 

前回は、母平均の信頼区間についてかきましたが、回帰分析では、母回帰の推定を行うことになります。信頼区間の解釈は前回記事と同じです。予測区間とは、xの値は信頼率○%でいくつ以上、いくつ以下に収まるということです。信頼区間とはどう違うのでしょうか。簡単にいうと、信頼区間は母集団を推定することで、予測区間は未来のことを考えることです。同じ信頼率ならば、予測区間のほうが大きくなるように設計されています。

 

demo <- read.csv("data20150712.csv",header=TRUE) 

#いつものデータセットを読込

demo <- demo[order(demo$mathtest),] #mathtestを昇順にする

 

demo.lm <- lm(demo$stattest~demo$mathtest,data=demo)

 

plot(demo$mathtest,demo$stattest)  # 散布図で描く

abline(demo.lm)   # 回帰分析の結果を引数に指定し回帰直線を描く

 

conf <- predict(demo.lm, interval="confidence") # 信頼区間を求める

pred <- predict(demo.lm, interval="prediction") # 予測区間を求める

 

lines(demo[, 8], conf[, 2], col = "red", lty = 1) #下側信頼区間を返す

lines(demo[, 8], conf[, 3], col = "red", lty = 1) #上信頼区間を返す

 

lines(demo[, 8], pred[, 2], col = "springgreen4", lty = 2) #下予測区間を返す

lines(demo[, 8], pred[, 3], col = "springgreen4", lty = 2) #上予測区間を返す

f:id:teruaki-sugiura:20150718185343p:plain

 demoデータセットは、適当に乱数を発生させた数字をテスト結果にしているので、すこし現実離れした結果となっています。笑

とにかく、Rでの信頼区間と予測区間の書き方は以上になります。

 

第31回は以上でお終い。下記補足。

 

n <- 300
x <- runif(n = n, 0, 3)
ε <-rnorm(n = n,0, 1)
α <- 10
β <- 2.4
y <- α + β*x + ε
plot(x, y)

d <- data.frame(x = seq(min(x), max(x), 0.1))
sample.model <- lm(y ~ x)


#信頼区間
conf <- predict(sample.model, d, se.fit = T, interval = "confidence")
lines(as.matrix(d), conf$fit[,1])
lines(as.matrix(d), conf$fit[,2], col = "darkgreen")
lines(as.matrix(d), conf$fit[,3], col = "darkgreen")

 

#予測区間
pred <- predict(sample.model, d, se.fit = T, interval = "prediction")
lines(as.matrix(d), pred$fit[,2], col="blue")
lines(as.matrix(d), pred$fit[,3], col="blue")

f:id:teruaki-sugiura:20160228133730p:plain

 

 

広告を非表示にする