كيفية استخدام stepaic في r لاختيار الميزة


معيار المعلومات Akaike ( AIC ) هو مقياس يستخدم لتحديد مدى ملاءمة النموذج لمجموعة البيانات.

يتم حسابه على النحو التالي:

AIC = 2K – 2 لتر (L)

ذهب:

  • K: عدد معلمات النموذج. القيمة الافتراضية لـ K هي 2، وبالتالي فإن النموذج الذي يحتوي على متغير توقع واحد فقط سيكون له قيمة K هي 2+1 = 3.
  • ln (L) : الاحتمالية اللوغاريتمية للنموذج. يمكن لمعظم البرامج الإحصائية حساب هذه القيمة لك تلقائيًا.

تم تصميم AIC للعثور على النموذج الذي يفسر أكبر قدر من الاختلاف في البيانات، مع معاقبة النماذج التي تستخدم عددًا مفرطًا من المعلمات.

يمكنك استخدام الدالة stepAIC() من حزمة MASS في R لإضافة متغيرات التوقع وإزالتها بشكل متكرر من نموذج الانحدار حتى تجد مجموعة متغيرات التوقع (أو “الميزات”) التي تنتج النموذج بأقل قيمة AIC.

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

stepAIC (كائن، اتجاه، …)

ذهب:

  • الكائن : اسم النموذج المعدل
  • الاتجاه : نوع البحث المرحلي المطلوب استخدامه (“للخلف” أو “للأمام” أو “كلاهما”)

يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

مثال: استخدام stepAIC() لاختيار الميزة في R

في هذا المثال، سنستخدم مجموعة بيانات mtcars المضمنة في R، والتي تحتوي على قياسات لـ 11 سمة مختلفة لـ 32 سيارة مختلفة:

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

لنفترض أننا نريد ملاءمة نموذج الانحدار باستخدام hp كمتغير الاستجابة ومتغيرات التوقع المحتملة التالية:

  • ميلا في الغالون
  • وزن
  • القرف
  • com.qsec

يمكننا استخدام الدالة stepAIC() من الحزمة MASS لإضافة وطرح متغيرات التوقع المختلفة من النموذج حتى نصل إلى النموذج بأقل قيمة AIC ممكنة:

 library (MASS)

#fit initial multiple linear regression model
model <- lm(hp ~ mpg + wt + drat + qsec, data=mtcars)

#use both forward and backward selection to find model with lowest AIC
stepAIC(model, direction=" both ")

Start: AIC=226.88
hp ~ mpg + wt + drat + qsec

       Df Sum of Sq RSS AIC
- drat 1 94.9 28183 224.98
- mpg 1 1519.4 29608 226.56
  none 28088 226.88
- wt 1 3861.9 31950 229.00
-qsec 1 28102.2 56190 247.06

Step: AIC=224.98
hp ~ mpg + wt + qsec

       Df Sum of Sq RSS AIC
- mpg 1 1424.5 29608 224.56
  none 28183 224.98
+ drat 1 94.9 28088 226.88
- wt 1 3797.9 31981 227.03
-qsec 1 29625.1 57808 245.97

Step: AIC=224.56
hp ~ wt + qsec

       Df Sum of Sq RSS AIC
  none 29608 224.56
+ mpg 1 1425 28183 224.98
+ drat 1 0 29608 226.56
- wt 1 43026 72633 251.28
-qsec 1 52881 82489 255.35

Call:
lm(formula = hp ~ wt + qsec, data = mtcars)

Coefficients:
(Intercept) wt qsec  
     441.26 38.67 -23.47  

وإليك كيفية تفسير النتيجة:

(1) أولاً، نبدأ بتركيب نموذج الانحدار مع المتغيرات الأربعة المتوقعة. يحتوي هذا النموذج على قيمة AIC تبلغ 226.88 .

(2) بعد ذلك، يحدد stepAIC أن إزالة drat كمتغير متوقع سيؤدي إلى تقليل قيمة AIC إلى 224.98 .

(3) بعد ذلك، يحدد نموذج stepAIC أن إزالة ميلا في الغالون كمتغير متوقع سيؤدي إلى تقليل قيمة AIC إلى 224.56 .

(4) أخيرًا، يحدد stepAIC أنه لا توجد طريقة لمزيد من تقليل قيمة AIC عن طريق إضافة أو إزالة المتغيرات.

وبالتالي فإن النموذج النهائي هو:

حصان = 441.26 + 38.67 (الوزن) – 23.47 (قطة ثانية)

يحتوي هذا النموذج على قيمة AIC تبلغ 224.56 .

مصادر إضافية

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

كيفية إجراء الانحدار الخطي المتعدد في R
كيفية إجراء الانحدار الجزئي في R
كيفية إجراء الانحدار الخطي في R

Add a Comment

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