كيفية حساب المخلفات الموحدة في r
المتبقي هو الفرق بين القيمة المرصودة والقيمة المتوقعة في نموذج الانحدار .
يتم حسابه على النحو التالي:
المتبقية = القيمة المرصودة – القيمة المتوقعة
إذا قمنا برسم القيم المرصودة وقمنا بتركيب خط الانحدار المجهز، فإن المتبقي لكل ملاحظة هو المسافة العمودية بين الملاحظة وخط الانحدار:
أحد الأنواع المتبقية التي نستخدمها غالبًا لتحديد القيم المتطرفة في نموذج الانحدار يسمى المتبقي القياسي .
يتم حسابه على النحو التالي:
r i = e i / s(e i ) = e i / RSE√ 1-h ii
ذهب:
- e i : البقايا i
- RSE: الخطأ المعياري المتبقي للنموذج
- الح الثانية : طلوع الملاحظة الثامنة
من الناحية العملية، غالبًا ما نعتبر أي قيمة متبقية موحدة تكون قيمتها المطلقة أكبر من 3 بمثابة قيمة متطرفة.
يوفر هذا البرنامج التعليمي مثالاً خطوة بخطوة لكيفية حساب القيم المتبقية القياسية في R.
الخطوة 1: أدخل البيانات
أولاً، سنقوم بإنشاء مجموعة بيانات صغيرة للعمل عليها في R:
#create data data <- data.frame(x=c(8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30), y=c(41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57)) #viewdata data xy 1 8 41 2 12 42 3 12 39 4 13 37 5 14 35 6 16 39 7 17 45 8 22 46 9 24 39 10 26 49 11 29 55 12 30 57
الخطوة 2: ملاءمة نموذج الانحدار
بعد ذلك، سوف نستخدم الدالة lm() لتناسب نموذج الانحدار الخطي البسيط :
#fit model model <- lm(y ~ x, data=data) #view model summary summary(model) Call: lm(formula = y ~ x, data = data) Residuals: Min 1Q Median 3Q Max -8.7578 -2.5161 0.0292 3.3457 5.3268 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 29.6309 3.6189 8.188 9.6e-06 *** x 0.7553 0.1821 4.148 0.00199 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 4.442 on 10 degrees of freedom Multiple R-squared: 0.6324, Adjusted R-squared: 0.5956 F-statistic: 17.2 on 1 and 10 DF, p-value: 0.001988
الخطوة 3: حساب المخلفات الموحدة
بعد ذلك، سوف نستخدم الدالة المضمنة rstandard() لحساب القيم المتبقية القياسية للنموذج:
#calculate the standardized residuals standard_res <- rstandard(model) #view the standardized residuals standard_res 1 2 3 4 5 6 1.40517322 0.81017562 0.07491009 -0.59323342 -1.24820530 -0.64248883 7 8 9 10 11 12 0.59610905 -0.05876884 -2.11711982 -0.06655600 0.91057211 1.26973888
يمكننا إضافة المخلفات الموحدة إلى إطار البيانات الأصلي إذا أردنا:
#column bind standardized residuals back to original data frame final_data <- cbind(data, standard_res) #view data frame xy standard_res 1 8 41 1.40517322 2 12 42 0.81017562 3 12 39 0.07491009 4 13 37 -0.59323342 5 14 35 -1.24820530 6 16 39 -0.64248883 7 17 45 0.59610905 8 22 46 -0.05876884 9 24 39 -2.11711982 10 26 49 -0.06655600 11 29 55 0.91057211 12 30 57 1.26973888
يمكننا بعد ذلك فرز كل ملاحظة من الأكبر إلى الأصغر بناءً على بقاياها الموحدة للحصول على فكرة عن الملاحظات الأقرب إلى القيم المتطرفة:
#sort standardized residuals descending
final_data[ order (-standard_res),]
xy standard_res
1 8 41 1.40517322
12 30 57 1.26973888
11 29 55 0.91057211
2 12 42 0.81017562
7 17 45 0.59610905
3 12 39 0.07491009
8 22 46 -0.05876884
10 26 49 -0.06655600
4 13 37 -0.59323342
6 16 39 -0.64248883
5 14 35 -1.24820530
9 24 39 -2.11711982
من النتائج، يمكننا أن نرى أن أيا من البقايا القياسية لا تتجاوز القيمة المطلقة 3. وبالتالي، لا يبدو أن أيا من الملاحظات تعتبر قيما متطرفة.
الخطوة 4: تصور المخلفات الموحدة
أخيرًا، يمكننا إنشاء مخطط مبعثر لتصور قيم متغير التوقع مقابل البقايا القياسية:
#plot predictor variable vs. standardized residuals
plot(final_data$x, standard_res, ylab=' Standardized Residuals ', xlab=' x ')
#add horizontal line at 0
abline(0, 0)
مصادر إضافية
ما هي البقايا؟
ما هي المخلفات موحدة؟
مقدمة في الانحدار الخطي المتعدد