2016-12-18 10 views
3

私は予測を実行するために信頼区間をグラフ化する必要があります。私は予測を実行することができますが、予測をグラフ化するときには、実際の信頼区間を得るのではなく、すべてのデータポイントに線ができます。信頼区間をプロットする方法R

これらのラインの機能は私のCIをグラフ化することになっている
GunRate <- seq(0,100, length = 51) 

LinearPredictionA <- predict(ModelA, 
    interval = "confidence", 
    newdata = data.frame(ProportionAdultsLivingWithGun = GunRate, 
         LogMedianIncome = FinalSet$LogMedianIncome, 
         PctofPeopleinMetro = FinalSet$PctofPeopleinMetro, 
         PovertyRate = FinalSet$PovertyRate)) 

##This is my prediction model 

plot(x = FinalSet$ProportionAdultsLivingWithGun, 
    y = FinalSet$ViolentCrime1K, 
    col = "red", 
    xlim = c(0, 80), ylim = c(0, 15), 
    xlab ="Proportion of Adults Living With a Gun", 
    ylab = "Violent Crime Rate per 1000", 
    main = "Violent Crime vs. Gun Ownership", 
    sub = "All 50 States & D.C.") 

## This plot shows the actual data we used to obtain the prediction 


lines(GunRate, LinearPredictionA[, "fit"], type = "l") 
lines(GunRate, LinearPredictionA[, "lwr"], lty = "dashed", col = "green") 
lines(GunRate, LinearPredictionA[, "upr"], lty = "dashed", col = "green") 

、代わりに私が次のグラフ

plot

+1

は?点線の緑色の線があなたの信頼区間であるように私は確信しています – G5W

+0

はい、それは私のCIのすべての点を通る線です。黒い線は真っ直ぐにして、2本の緑の線は弓のようにしてください。 – BColvin

+0

あなたの例の 'FinalSet'データはないようです。モデルAはどのように生成されましたか? – G5W

答えて

2

はここで内蔵のmtcarsデータフレームを使用して、間違って何が起こっているかの例のget:

# Regression model 
m1 = lm(mpg ~ wt + hp + cyl, data=mtcars) 

今度はmpgwt、オープの予測を取得してみましょうcylhp及び3つの異なる交流値の第2の異なる交流値:

plot(predData$wt, predData$fit, type="l") 
lines(predData$wt, predData$lwr, type="l", col="red") 
lines(predData$wt, predData$upr, type="l", col="red") 

enter image description here

:予測は、周り wtの各連続値のため hpcyl変化をジャンプ方法

predData = data.frame(wt=seq(1,5,length=60), hp=rep(c(200,300), 30), cyl=rep(c(4,6,8), 20)) 
predData = cbind(predData, predict(m1, newdata=predData, interval="confidence")) 

しかし、hpcylを固定しておくと、 mpgwtためション:代わりに、単一の行の

predData2 = data.frame(wt=seq(1,5,length=60), hp=rep(300,60), cyl=rep(6, 60)) 
predData2 = cbind(predData2, predict(m1, newdata=predData2, interval="confidence")) 

plot(predData2$wt, predData2$fit, type="l") 
lines(predData2$wt, predData2$lwr, type="l", col="red") 
lines(predData2$wt, predData2$upr, type="l", col="red") 

enter image description here

は、あなたもプロットは、他の変数のいくつかの値のための重量ライン対のmpgを予測することができます。以下は、それぞれの値がcylで、predDataを作成するために使用した線をプロットする例です。 ggplot2でこれは簡単ですので、私はそのパッケージを使用しました。信頼区間のためのラインを使用して理解するプロットが困難になるだろうので、私が代わりに塗りつぶしてCIを示しました:

library(ggplot2) 

ggplot(subset(predData, hp==200), aes(wt, fit, fill=factor(cyl), colour=factor(cyl))) + 
    geom_ribbon(aes(ymin=lwr, max=upr), alpha=0.2, colour=NA) + 
    geom_line() + 
    labs(x="Weight", y="Predicted MPG", colour="Cylinders", fill="Cylinders") + 
    theme_bw() 

enter image description here

関連する問題