كيفية إجراء انحدار ols في r (مع مثال)


يعد انحدار المربعات الصغرى العادية (OLS) طريقة تسمح لنا بالعثور على سطر يصف العلاقة بين واحد أو أكثر من متغيرات التوقع ومتغير الاستجابة .

تتيح لنا هذه الطريقة إيجاد المعادلة التالية:

ŷ = ب 0 + ب 1 س

ذهب:

  • ŷ : قيمة الاستجابة المقدرة
  • ب 0 : أصل خط الانحدار
  • ب 1 : ميل خط الانحدار

يمكن أن تساعدنا هذه المعادلة في فهم العلاقة بين المتنبئ ومتغير الاستجابة، ويمكن استخدامها للتنبؤ بقيمة متغير الاستجابة بمعلومية قيمة المتغير المتنبئ.

يوضح المثال التالي خطوة بخطوة كيفية إجراء انحدار OLS في R.

الخطوة 1: إنشاء البيانات

في هذا المثال، سنقوم بإنشاء مجموعة بيانات تحتوي على المتغيرين التاليين لـ 15 طالبًا:

  • إجمالي عدد الساعات المدروسة
  • نتيجة الإمتحان

سنقوم بإجراء انحدار OLS، باستخدام الساعات كمتغير متوقع ودرجة الامتحان كمتغير الاستجابة.

يوضح الكود التالي كيفية إنشاء مجموعة البيانات المزيفة هذه في R:

 #create dataset
df <- data. frame (hours=c(1, 2, 4, 5, 5, 6, 6, 7, 8, 10, 11, 11, 12, 12, 14),
                 score=c(64, 66, 76, 73, 74, 81, 83, 82, 80, 88, 84, 82, 91, 93, 89))

#view first six rows of dataset
head(df)

  hours score
1 1 64
2 2 66
3 4 76
4 5 73
5 5 74
6 6 81

الخطوة 2: تصور البيانات

قبل إجراء انحدار OLS، دعونا ننشئ مخططًا مبعثرًا لتصور العلاقة بين الساعات ودرجة الاختبار:

 library (ggplot2)

#create scatterplot
ggplot(df, aes(x=hours, y=score)) +
  geom_point(size= 2 )

أحد الافتراضات الأربعة للانحدار الخطي هو وجود علاقة خطية بين المتنبئ ومتغير الاستجابة.

من الرسم البياني يمكننا أن نرى أن العلاقة تبدو خطية. مع زيادة عدد الساعات، تميل النتيجة أيضًا إلى الزيادة خطيًا.

ثم يمكننا إنشاء مخطط مربع لتصور توزيع نتائج الامتحان والتحقق من القيم المتطرفة.

ملحوظة : يُعرّف R الملاحظة بأنها قيمة متطرفة إذا كانت 1.5 مرة من المدى الربيعي فوق الربع الثالث أو 1.5 مرة من المدى الربيعي أسفل الربع الأول.

إذا كانت الملاحظة غريبة، فستظهر دائرة صغيرة في المخطط الصندوقي:

 library (ggplot2)

#create scatterplot
ggplot(df, aes(y=score)) +
  geom_boxplot() 

لا توجد دوائر صغيرة في boxplot، مما يعني عدم وجود قيم متطرفة في مجموعة البيانات لدينا.

الخطوة 3: تنفيذ انحدار OLS

بعد ذلك، يمكننا استخدام الدالة lm() في R لإجراء انحدار OLS، باستخدام الساعات كمتغير متوقع والنتيجة كمتغير الاستجابة:

 #fit simple linear regression model
model <- lm(score~hours, data=df)

#view model summary
summary(model)

Call:
lm(formula = score ~ hours)

Residuals:
   Min 1Q Median 3Q Max 
-5,140 -3,219 -1,193 2,816 5,772 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 65,334 2,106 31,023 1.41e-13 ***
hours 1.982 0.248 7.995 2.25e-06 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.641 on 13 degrees of freedom
Multiple R-squared: 0.831, Adjusted R-squared: 0.818 
F-statistic: 63.91 on 1 and 13 DF, p-value: 2.253e-06

ومن ملخص النموذج يمكننا أن نرى أن معادلة الانحدار المجهزة هي:

النتيجة = 65.334 + 1.982*(ساعات)

وهذا يعني أن كل ساعة إضافية تتم دراستها ترتبط بزيادة في متوسط درجات الامتحان قدرها 1982 نقطة.

تخبرنا القيمة الأصلية البالغة 65,334 بمتوسط درجات الاختبار المتوقعة للطالب الذي يدرس لمدة صفر ساعة.

يمكننا أيضًا استخدام هذه المعادلة للعثور على درجة الامتحان المتوقعة بناءً على عدد الساعات التي يدرسها الطالب.

على سبيل المثال، الطالب الذي يدرس لمدة 10 ساعات يجب أن يحقق درجة الامتحان 85.15 :

النتيجة = 65.334 + 1.982*(10) = 85.15

فيما يلي كيفية تفسير بقية ملخص النموذج:

  • Pr(>|t|): هذه هي القيمة p المرتبطة بمعاملات النموذج. وبما أن القيمة p للساعات (2.25e-06) أقل بكثير من 0.05، يمكننا القول أن هناك علاقة ذات دلالة إحصائية بين الساعات والنتيجة .
  • مضاعف R-squared: يخبرنا هذا الرقم أن نسبة التباين في درجات الامتحان يمكن تفسيرها بعدد ساعات الدراسة. بشكل عام، كلما زادت قيمة R-squared لنموذج الانحدار، كلما كانت متغيرات التوقع أفضل في التنبؤ بقيمة متغير الاستجابة. في هذه الحالة، يمكن تفسير 83.1% من التباين في الدرجات من خلال ساعات الدراسة.
  • الخطأ المعياري المتبقي: هذا هو متوسط المسافة بين القيم المرصودة وخط الانحدار. كلما انخفضت هذه القيمة، زادت قدرة خط الانحدار على التوافق مع البيانات المرصودة. في هذه الحالة، ينحرف متوسط الدرجات المسجلة في الاختبار بمقدار 3641 نقطة عن الدرجة المتوقعة بواسطة خط الانحدار.
  • إحصائية F وقيمة p: تخبرنا إحصائية F ( 63.91 ) والقيمة p المقابلة لها ( 2.253e-06 ) بالأهمية الإجمالية لنموذج الانحدار، أي ما إذا كانت المتغيرات المتوقعة في النموذج مفيدة لشرح التباين . في متغير الاستجابة نظرًا لأن القيمة p في هذا المثال أقل من 0.05، فإن نموذجنا ذو دلالة إحصائية وتعتبر الساعات مفيدة في شرح تباين النتيجة .

الخطوة 4: إنشاء قطع الأراضي المتبقية

وأخيرًا، نحتاج إلى إنشاء قطع أرض متبقية للتحقق من افتراضات المثلية الجنسية والحياة الطبيعية .

إن افتراض المثلية هو أن بقايا نموذج الانحدار لها تباين متساو تقريبًا عند كل مستوى من متغير التوقع.

للتحقق من استيفاء هذا الافتراض، يمكننا إنشاء مخطط للبقايا مقابل النوبات .

يعرض المحور السيني القيم المجهزة ويعرض المحور الصادي القيم المتبقية. وطالما أن البقايا تبدو موزعة بشكل عشوائي وموحد في جميع أنحاء الرسم البياني حول القيمة الصفرية، يمكننا أن نفترض أن المثلية لم تنتهك:

 #define residuals
res <- resid(model)

#produce residual vs. fitted plot
plot(fitted(model), res)

#add a horizontal line at 0 
abline(0,0)

ويبدو أن البقايا متناثرة بشكل عشوائي حول الصفر ولا تظهر أي نمط ملحوظ، لذلك تم تحقيق هذا الافتراض.

ينص افتراض الحالة الطبيعية على أن بقايا نموذج الانحدار يتم توزيعها بشكل طبيعي تقريبًا.

للتحقق من استيفاء هذا الافتراض، يمكننا إنشاء مخطط QQ . إذا كانت نقاط الرسم تقع على طول خط مستقيم تقريبًا وتشكل زاوية قدرها 45 درجة، فسيتم توزيع البيانات بشكل طبيعي:

 #create QQ plot for residuals
qqnorm(res)

#add a straight diagonal line to the plot
qqline(res) 

تنحرف البقايا قليلاً عن خط 45 درجة، لكن ليس بما يكفي لإثارة قلق بالغ. يمكننا أن نفترض أن افتراض الحالة الطبيعية قد تم استيفاءه.

وبما أن البقايا موزعة بشكل طبيعي ومتجانسة، فقد تحققنا من استيفاء افتراضات نموذج الانحدار OLS.

وبالتالي، فإن مخرجات نموذجنا موثوقة.

ملحوظة : إذا لم يتم استيفاء واحد أو أكثر من الافتراضات، فيمكننا محاولة تحويل بياناتنا.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:

كيفية إجراء الانحدار الخطي المتعدد في R
كيفية إجراء الانحدار الأسي في R
كيفية إجراء انحدار المربعات الصغرى المرجحة في R

Add a Comment

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