موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

الإنحدار الخطي بإستخدام لغة البرمجة آر R

16/03/2018 | لغة البرمجة آر R | 2 تعليقات

الأنحدار الخطي (linear regression) هو أسلوب إحصائي يهدف لإيجاد علاقة خطية بين المتغير التابع (dependent variable) والمتغيرات المستقلة (independent variables)، كذلك يهدف الى التنبؤ (prediction) بقيم المتغير التابع. ويمكن تعريف الإنحدار الخطي رياضياً كما يلي:

\[
y=\alpha+\beta_1 x_1+\beta_2 x_2+…+\beta_p x_p+\epsilon
\]

حيث يسمى $y$ المتغير التابع (dependent variable) او متغير الإستجابة (response variable) او متغير الناتج (outcome variable)، كذلك تسمى $x_1, x_2,…, x_p$ المتغيرات المستقلة (independent variables) او المتغيرات التفسيرية (explanatory variables) او متغيرات التنبؤ (predictor variables).

تُعرف البواقي (Residuals) بأنها الفرق بين القيمة الملاحظة (الفعلية) للمتغير التابع وقيمة المتغير التابع التي يتم التنبؤ بها بإستخدام خط الانحدار.

تعطى فروض الإنحدار الخطي (assumptions of linear regression) كما في الشكل ادناه:

الآن سوف نوضح طريقة حساب الإنحدار الخطي (linear regression) بإستخدام الدالة (lm) الموجودة في البرنامج آر R. في البداية، سوف نقوم بتوليد بيانات محكاه (simulated data) من النموذج الخطي التالي:

\[y=\alpha+\beta x +\epsilon\]

 كما يلي:

In:
x=runif(100,10,20)
Epsilon=rnorm(100)
Alpha=2
Beta=1
y=Alpha+Beta*x+Epsilon

بإستخدام الأمر التالي:

In:
plot(y~x)

نجد أن العلاقة بين المتغيرين $x$ و $y$ تعطى بالشكل التالي:

الأن، لتلخيص نتائج التحليل الإحصائي يمكن أن نستخدم الدالة lm كما يلي:

In:
fit=lm(y~x)
Out:
Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)         x 
   1.917          1.008

يمكن رسم خط الأنحدار كما يلي:

In:
plot(y~x)
abline(fit,col=2)

كما يمكن إستخدام الأمر summary لتلخيص نتائج التحليل الإحصائي كما يلي:

In:
summary(fit)
Out:
Call:
lm(formula = y ~ x)

Residuals:
   Min      1Q     Median    3Q     Max 
-2.75873 -0.50077 -0.03808 0.54745 2.23504

Coefficients:
            Estimate Std. Error t value Pr(>|t|) 
(Intercept) 1.9167 0.5261 3.643 0.000433 ***
 x          1.0079 0.0333 30.271 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9731 on 98 degrees of freedom
Multiple R-squared: 0.9034, Adjusted R-squared: 0.9024 
F-statistic: 916.4 on 1 and 98 DF, p-value: < 2.2e-16

كذلك، يمكن تشخيص (diagnosis) النموذج والتأكد من تحقق جميع الفروض بإستخدام الأمر التالي:

In:
par(mfrow=c(2,2))
plot(fit)

حيث يعطي هذا الشكل:

كما يمكن التنبو (prediction) بقيم المتغير التابع $y$ لاي قيمة حديدة لـ $x$، كما يلي:

In:
newdata = data.frame(x = c(11,15,18))
Prediction = predict(fit,newdata)
Prediction
Out:
       1        2        3 
13.00412 17.03592 20.05977

يمكن تحليل التباين (analysis of variance) بإستخدام الأمر:

In:
anova(fit)
Out:
Analysis of Variance Table

Response: y
          Df Sum Sq Mean Sq F value Pr(>F) 
x          1 867.63  867.63  916.36 < 2.2e-16 ***
Residuals 98  92.79    0.95 
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

كما يمكن حساب AIC , BIC لنموذج الإنحدار الخطي بإستخدام الدوال التالية:

In:
AIC(fit)
Out:
[1] 282.3041
In:
BIC(fit)
Out:
[1] 290.1196
جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • برنامج آر R

    البرنامج الإحصائي آر R هو واحد من أشهر البرامج الإحصائية. هذا البرنامج يعتمد على لغة البرمجة R والتي قام بتطويرها كلاً... برنامج آر R
    اقرأ المزيد
  • آر استوديو (RStudio)

    آر استوديو هو بيئة تشغيل للبرنامج الإحصائي آر R يحوي مجموعة من النوافد والأدوات المصممة بشكل رائع والتي تساعد على... آر استوديو (RStudio)
    اقرأ المزيد
  • مقدمة في لغة البرمجة آر R

    هذا الموضوع سوف نوضح بالتفصيل بعض الأساسيات في لغة البرمجة آر R والتي تمثل الخطوه الأولى في فهم هذه اللغة الهامة ويمكن... مقدمة في لغة البرمجة آر R
    اقرأ المزيد

التعليقات 2

  1. حنان بتاريخ أغسطس 18, 2018 - 9:12 م

    يعطيك العافيه ، شرح وافي ومفيد ، نفع الله بك

  2. محمد المحيميد بتاريخ أبريل 19, 2020 - 7:10 م

    اخوي ممكن سؤال.. انا مطلوب مني مشروع يمثل هذه العلاقة الخطية بين متغيرين.. وين يمكن القى بيانات خام حقيقية بينها علاقة خطية

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز