كيفية رسم فاصل الثقة في r


فاصل الثقة هو نطاق من القيم التي من المحتمل أن تحتوي على معلمة سكانية بمستوى معين من الثقة.

يشرح هذا البرنامج التعليمي كيفية رسم فاصل الثقة لمجموعة بيانات في R.

مثال: رسم فاصل الثقة في R

لنفترض أن لدينا مجموعة البيانات التالية في R مع 100 صف وعمودين:

 #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 وy، يمكننا أولاً أن نلائم نموذج الانحدار الخطي:

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

بعد ذلك، يمكننا إنشاء مخطط لخط الانحدار الخطي المقدر باستخدام الدالة abline() والدالةlines() لإنشاء نطاقات الثقة الفعلية:

 #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

يُظهر الخط الأسود خط الانحدار الخطي المجهز بينما يُظهر الخطان الأزرقان المتقطعان فترات الثقة.

بشكل اختياري، يمكنك أيضًا ملء المنطقة الواقعة بين خطوط فاصل الثقة وخط الانحدار الخطي المقدر باستخدام الكود التالي:

 #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

إليك الكود الكامل من البداية إلى النهاية:

 #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')

مصادر إضافية

ما هي فترات الثقة؟
كيفية استخدام الدالة abline() في R لإضافة خطوط مستقيمة إلى المخططات

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *