- ベストアンサー
回帰分析における平均の信頼区間と予測区間の散布図上でのプロット方法
- 回帰分析における平均の信頼区間と予測区間を散布図上にプロットする方法について教えてください。
- 平均の信頼区間と予測区間は求めることができたが、それを散布図上にプロットする方法がわからない。
- 統計ソフトRを使って回帰分析を行っている初心者です。散布図上に平均の信頼区間と予測区間をプロットする方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まずRでは = ではなくて <- を使うようにしましょう。 それで、私はpredict()が良く分からないのですが、次のような関数を定義してあげればたぶん質問者さんの望むものが得られます。predict()で得た値をmatplot()で書く方法を知りたいのであれば、他の回答を待ってください(^_^;) conf.limit <- function(x, y, alpha=0.05){ plot(x, y) n <- length(x) b <- var(x, y)/var(x) a <- mean(y)-b*mean(x) abline(a, b) sx2 <- var(x)*(n-1) # SSX R <- max(x)-min(x) x1 <- seq(min(x)-R*0.1, max(x)+R*0.1, R/20) # x軸の値(=x') y1 <- a+b*x1 ta <- -qt(alpha/2, n-2) # t.crit Ve <- (var(y)-var(x, y)^2/var(x))*(n-1)/(n-2) # MSe(=s) temp <- ta*sqrt(Ve)*sqrt(1/n+(x1-mean(x))^2/sx2) # 信頼区間 y2 <- y1-temp lines(x1, y2, lty="dotted", col="red") y2 <- y1+temp lines(x1, y2, lty="dotted", col="red") temp <- ta*sqrt(Ve)*sqrt(1+1/n+(x1-mean(x))^2/sx2) # 予測区間 y2 <- y1-temp lines(x1, y2, lty="dashed", col="blue") y2 <- y1+temp lines(x1, y2, lty="dashed", col="blue") } > boats <- c(447, 460, 481, 498, 512, 513, 526, 559, 585, 614, 645, 675, 711, 719, 727) > manatee <- c(13, 21, 24, 16, 24, 20, 15, 34, 33, 33, 39, 43, 50, 47, 54) > conf.limit(boats, manatee, alpha = 0.05) これは群馬大学の青木先生のページhttp://aoki2.si.gunma-u.ac.jp/R/scatter.htmlに掲載されている関数を私が一部改変させていただいたものです。
お礼
親切、丁寧に教えていただきありがとうございました。参考にします。