R'de bir güven aralığı nasıl çizilir


Güven aralığı, belirli bir güven düzeyine sahip bir popülasyon parametresini içermesi muhtemel bir değer aralığıdır.

Bu eğitimde, R’deki bir veri kümesi için güven aralığının nasıl çizileceği açıklanmaktadır.

Örnek: R’de bir güven aralığı çizmek

R’de 100 satır ve 2 sütundan oluşan aşağıdaki veri kümesine sahip olduğumuzu varsayalım:

 #make this example reproducible
set.seed(0)

#create dataset
x <- rnorm(100)
y <- x*2 + rnorm(100)
df <- data.frame(x = x, y = y)

#view first six rows of dataset
head(df)

           xy
1 1.2629543 3.3077678
2 -0.3262334 -1.4292433
3 1.3297993 2.0436086
4 1.2724293 2.5914389
5 0.4146414 -0.3011029
6 -1.5399500 -2.5031813

X ve y arasındaki ilişkinin grafiğini oluşturmak için öncelikle doğrusal bir regresyon modelini yerleştirebiliriz:

 model <- lm(y ~ x, data = df)

Daha sonra, gerçek güven bantlarını oluşturmak için abline() işlevini velines() işlevini kullanarak tahmini doğrusal regresyon çizgisinin bir grafiğini oluşturabiliriz:

 #get predicted y values using regression equation
newx <- seq(min(df$x), max(df$x), length.out=100)
preds <- predict(model, newdata = data.frame(x=newx), interval = 'confidence')

#create plot of x vs. y, but don't display individual points (type='n') 
plot(y ~ x, data = df, type = 'n')

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue') 

R'de bir güven aralığı çizmek

Siyah çizgi, yerleştirilmiş doğrusal regresyon çizgisini gösterirken iki kesikli mavi çizgi, güven aralıklarını gösterir.

İsteğe bağlı olarak, aşağıdaki kodu kullanarak güven aralığı çizgileri ile tahmini doğrusal regresyon çizgisi arasındaki alanı da doldurabilirsiniz:

 #create plot of x vs. y
plot(y ~ x, data = df, type = 'n')

#fill in area between regression line and confidence interval
polygon(c(rev(newx), newx), c(rev(preds[,3]), preds[,2]), col = 'grey', border = NA)

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue') 

R'de Güven Aralığı Tablosu

İşte baştan sona kodun tamamı:

 #make this example reproducible
set.seed(0)

#create dataset
x <- rnorm(100)
y <- x*2 + rnorm(100)
df <- data.frame(x = x, y = y)

#fit linear regression model
model <- lm(y ~ x, data = df)

#get predicted y values using regression equation
newx <- seq(min(df$x), max(df$x), length.out=100)
preds <- predict(model, newdata = data.frame(x=newx), interval = 'confidence')

#create plot of x vs. y
plot(y ~ x, data = df, type = 'n')

#fill in area between regression line and confidence interval
polygon(c(rev(newx), newx), c(rev(preds[,3]), preds[,2]), col = 'grey', border = NA)

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue')

Ek kaynaklar

Güven aralıkları nedir?
Grafiklere düz çizgiler eklemek için R’de abline() işlevi nasıl kullanılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir