كيفية إنشاء متغيرات وهمية في لغة r (خطوة بخطوة)


المتغير الوهمي هو نوع من المتغيرات التي نقوم بإنشائها في تحليل الانحدار حتى نتمكن من تمثيل متغير فئوي كمتغير رقمي يأخذ إحدى القيمتين: صفر أو واحد.

على سبيل المثال، لنفترض أن لدينا مجموعة البيانات التالية ونريد استخدام العمر والحالة الاجتماعية للتنبؤ بالدخل :

لاستخدام الحالة الاجتماعية كمتغير متوقع في نموذج الانحدار، نحتاج إلى تحويله إلى متغير وهمي.

نظرًا لأن هذا متغير فئة حاليًا يمكن أن يأخذ ثلاث قيم مختلفة (“أعزب” أو “متزوج” أو “مطلق”)، فنحن بحاجة إلى إنشاء k -1 = 3-1 = 2 متغيرات وهمية.

لإنشاء هذا المتغير الوهمي، يمكننا ترك “مفرد” كقيمة أساسية لأنه يظهر في أغلب الأحيان. إذن، إليك كيفية تحويل الحالة الاجتماعية إلى متغيرات وهمية:

يوفر هذا البرنامج التعليمي مثالاً خطوة بخطوة حول كيفية إنشاء متغيرات وهمية لمجموعة البيانات الدقيقة هذه في R ثم إجراء تحليل الانحدار باستخدام هذه المتغيرات الوهمية كمتنبئات.

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

أولاً، لنقم بإنشاء مجموعة البيانات في R:

 #create data frame
df <- data. frame (income=c(45000, 48000, 54000, 57000, 65000, 69000,
                          78000, 83000, 98000, 104000, 107000),
                 age=c(23, 25, 24, 29, 38, 36, 40, 59, 56, 64, 53),
                 status=c('Single', 'Single', 'Single', 'Single',
                          'Married', 'Single', 'Married', 'Divorced',
                          'Divorced', 'Married', 'Married'))

#view data frame
df

   income age status
1 45000 23 Single
2 48000 25 Single
3 54000 24 Single
4 57000 29 Single
5 65000 38 Married
6 69000 36 Single
7 78000 40 Married
8 83000 59 Divorced
9 98000 56 Divorced
10 104000 64 Married
11 107000 53 Married

الخطوة 2: إنشاء المتغيرات الوهمية

بعد ذلك، يمكننا استخدام الدالة ifelse() في R لتحديد المتغيرات الوهمية ثم تحديد إطار البيانات النهائي الذي نود استخدامه لبناء نموذج الانحدار:

 #create dummy variables
married <- ifelse (df$status == ' Married ', 1, 0)
divorced <- ifelse (df$status == ' Divorced ', 1, 0)

#create data frame to use for regression
df_reg <- data. frame (income = df$income,
                     age = df$age,
                     married = married,
                     divorced = divorced)

#view data frame
df_reg

   income age married divorced
1 45000 23 0 0
2 48000 25 0 0
3 54000 24 0 0
4 57000 29 0 0
5 65000 38 1 0
6 69000 36 0 0
7 78000 40 1 0
8 83000 59 0 1
9 98000 56 0 1
10 104000 64 1 0
11 107000 53 1 0

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

أخيرًا، يمكننا استخدام الدالة lm() ‎ لتناسب نموذج الانحدار الخطي المتعدد:

 #create regression model
model <- lm (income ~ age + married + divorced, data=df_reg)

#view regression model output
summary(model)

Call:
lm(formula = income ~ age + married + divorced, data = df_reg)

Residuals:
    Min 1Q Median 3Q Max 
-9707.5 -5033.8 45.3 3390.4 12245.4 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 14276.1 10411.5 1.371 0.21266   
age 1471.7 354.4 4.152 0.00428 **
married 2479.7 9431.3 0.263 0.80018   
divorced -8397.4 12771.4 -0.658 0.53187   
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8391 on 7 degrees of freedom
Multiple R-squared: 0.9008, Adjusted R-squared: 0.8584 
F-statistic: 21.2 on 3 and 7 DF, p-value: 0.0006865

تبين أن خط الانحدار المجهز هو:

الدخل = 14,276.1 + 1,471.7*(العمر) + 2,479.7*(متزوج) – 8,397.4*(مطلق)

يمكننا استخدام هذه المعادلة للعثور على الدخل المقدر للفرد بناءً على عمره وحالته الاجتماعية. على سبيل المثال، الشخص البالغ من العمر 35 عامًا والمتزوج سيكون لديه دخل يقدر بـ 68,264 دولارًا :

الدخل = 14,276.2 + 1,471.7*(35) + 2,479.7*(1) – 8,397.4*(0) = 68,264 دولارًا

فيما يلي كيفية تفسير معاملات الانحدار في الجدول:

  • الاعتراض: يمثل الاعتراض متوسط دخل شخص واحد عمره صفر. من الواضح أنه لا يمكن أن يكون لديك صفر سنة، لذلك ليس من المنطقي تفسير التقاطع بمفرده في نموذج الانحدار المحدد هذا.
  • العمر: ترتبط كل سنة من الزيادة في العمر بمتوسط زيادة قدرها 1,471.70 دولارًا في الدخل. وبما أن القيمة الاحتمالية (0.004) أقل من 0.05، فإن العمر يعد مؤشرًا مهمًا إحصائيًا للدخل.
  • متزوج: يكسب الشخص المتزوج في المتوسط 2,479.70 دولارًا أكثر من الشخص الأعزب. وبما أن القيمة p (0.800) لا تقل عن 0.05، فإن هذا الفرق ليس ذا دلالة إحصائية.
  • المطلق: يكسب الشخص المطلق في المتوسط 8,397.40 دولارًا أقل من الشخص الأعزب. وبما أن القيمة p (0.532) لا تقل عن 0.05، فإن هذا الفرق ليس ذا دلالة إحصائية.

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

Add a Comment

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