كيفية حساب الأخطاء القياسية القوية في r
أحد افتراضات الانحدار الخطي هو أن بقايا النموذج موزعة بالتساوي عند كل مستوى من متغير التوقع.
عندما لا يتم استيفاء هذا الافتراض، يقال أن التغايرية موجودة في نموذج الانحدار.
وعندما يحدث هذا، تصبح الأخطاء المعيارية لمعاملات الانحدار الخاصة بالنموذج غير موثوقة.
لمراعاة ذلك، يمكننا حساب الأخطاء القياسية القوية ، والتي تعتبر “قوية” ضد التغايرية ويمكن أن تعطينا فكرة أفضل عن قيم الخطأ القياسية الحقيقية لمعاملات الانحدار.
يوضح المثال التالي كيفية حساب الأخطاء القياسية القوية لنموذج الانحدار في R.
مثال: حساب الأخطاء القياسية القوية في R
لنفترض أن لدينا إطار البيانات التالي في R الذي يحتوي على معلومات حول ساعات الدراسة ودرجات الامتحانات التي حصل عليها 20 طالبًا في الفصل:
#create data frame df <- data. frame (hours=c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8), score=c(67, 68, 74, 70, 71, 75, 80, 70, 84, 72, 88, 75, 95, 75, 99, 78, 99, 65, 96, 70)) #view head of data frame head(df) hours score 1 1 67 2 1 68 3 1 74 4 1 70 5 2 71 6 2 75
يمكننا استخدام الدالة lm() لتناسب نموذج الانحدار في R الذي يستخدم الساعات كمتغير متوقع والنتيجة كمتغير الاستجابة:
#fit regression model fit <- lm(score ~ hours, data=df) #view summary of model summary(fit) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -19,775 -5,298 -3,521 7,520 18,116 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 71.158 4.708 15.11 1.14e-11 *** hours 1.945 1.075 1.81 0.087 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 10.48 on 18 degrees of freedom Multiple R-squared: 0.154, Adjusted R-squared: 0.107 F-statistic: 3.278 on 1 and 18 DF, p-value: 0.08696
أسهل طريقة للتحقق بصريًا مما إذا كانت التغايرية تمثل مشكلة في نموذج الانحدار هي إنشاء مخطط متبقي:
#create residual vs. fitted plot plot(fitted(fit), reside(fit)) #add a horizontal line at y=0 abline(0,0)
يُظهر المحور x القيم المجهزة لمتغير الاستجابة ويوضح المحور y القيم المتبقية المقابلة.
من الرسم البياني يمكننا أن نرى أن تباين البقايا يزداد مع زيادة القيم المجهزة.
يشير هذا إلى أن التغايرية من المحتمل أن تكون مشكلة في نموذج الانحدار وأن الأخطاء المعيارية في ملخص النموذج غير موثوقة.
لحساب الأخطاء القياسية القوية، يمكننا استخدام الدالة coeftest() من الحزمة lmtest والدالة vcovHC() من الحزمة Sandwich كما يلي:
library (lmtest) library (sandwich) #calculate robust standard errors for model coefficients coeftest(fit, vcov = vcovHC(fit, type = ' HC0 ')) t test of coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 71.1576 3.3072 21.5160 2.719e-14 *** hours 1.9454 1.2072 1.6115 0.1245 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
لاحظ أن الخطأ القياسي لمتغير توقع الساعات زاد من 1.075 في ملخص النموذج السابق إلى 1.2072 في ملخص النموذج هذا.
نظرًا لوجود التغايرية في نموذج الانحدار الأصلي، فإن تقدير الخطأ القياسي هذا أكثر موثوقية ويجب استخدامه عند حساب فاصل الثقة لمتغير توقع الساعات .
ملاحظة : نوع التقدير الأكثر شيوعًا الذي يتم حسابه في الدالة vcovHC() هو “HC0″، ولكن يمكنك الرجوع إلى الوثائق للعثور على أنواع أخرى من التقدير.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية إجراء اختبار وايت للتغايرية في R
كيفية تفسير مخرجات الانحدار الخطي في R
كيفية إنشاء قطعة أرض متبقية في R