كيفية استخدام regsubsets() في r لاختيار النموذج
يمكنك استخدام الدالة regsubsets() من حزمة قفزات في R للعثور على المجموعة الفرعية من متغيرات التوقع التي تنتج أفضل نموذج انحدار.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: استخدام regsubsets() لاختيار النموذج في 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
يمكننا استخدام الدالة regsubsets() من حزمةقفزات لإجراء بحث شامل للعثور على أفضل نموذج انحدار:
library (leaps)
#find best regression model
bestSubsets <- regsubsets(hp ~ mpg + wt + drat + qsec, data=mtcars)
#view results
summary(bestSubsets)
Subset selection object
Call: regsubsets.formula(hp ~ mpg + wt + drat + qsec, data = mtcars)
4 Variables (and intercept)
Forced in Forced out
mpg FALSE FALSE
wt FALSE FALSE
drat FALSE FALSE
qsec FALSE FALSE
1 subsets of each size up to 4
Selection Algorithm: exhaustive
mpg wt drat qsec
1 ( 1 ) "*" " " " " " "
2 (1) " " "*" " " "*"
3 ( 1 ) “*” “*” “ “ “*”
4 ( 1 ) “*” “*” “*” “*”
تشير النجوم ( * ) الموجودة أسفل النتيجة إلى متغيرات التوقع التي تنتمي إلى أفضل نموذج انحدار لكل نموذج محتمل مع عدد مختلف من متغيرات التوقع.
وإليك كيفية تفسير النتيجة:
بالنسبة للنموذج الذي يحتوي على متغير متنبئ واحد، يتم إنتاج أفضل نموذج انحدار باستخدام ميلا في الغالون كمتغير متنبئ.
بالنسبة للنموذج الذي يحتوي على متغيرين متوقعين، يتم إنتاج أفضل نموذج انحدار باستخدام wt و qsec كمتغيرات متوقعة.
بالنسبة للنموذج الذي يحتوي على ثلاثة متغيرات تنبؤية، يتم إنتاج أفضل نموذج انحدار باستخدام mpg و wt و qsec كمتغيرات تنبؤية.
بالنسبة للنموذج الذي يحتوي على أربعة متغيرات تنبؤية، يتم إنتاج أفضل نموذج انحدار باستخدام mpg و wt و drat و qsec كمتغيرات تنبؤية.
لاحظ أنه يمكنك أيضًا استخراج المقاييس التالية لكل نموذج:
- rsq : القيمة التربيعية r لكل نموذج
- RSS : مجموع المربعات المتبقية لكل نموذج
- adjr2 : قيمة r-squared المعدلة لكل نموذج
- cp : Cp من الملوخية لكل نموذج
- bic : قيمة BIC لكل نموذج
على سبيل المثال، يمكننا استخدام الصيغة التالية لاستخراج قيمة R-squared المناسبة لكل نموذج من أفضل أربعة نماذج:
#view adjusted R-squared value of each model
summary(bestSubsets)$adjr2
[1] 0.5891853 0.7828169 0.7858829 0.7787005
ومن النتيجة يمكننا أن نرى:
- قيمة R-squared المعدلة للنموذج الذي يحتوي على ميل لكل جالون كمتغير متوقع هي 0.589 .
- قيمة R-squared المعدلة للنموذج الذي يحتوي على wt و qsec كمتغيرات متوقعة هي 0.783 .
- قيمة R-squared المعدلة للنموذج الذي يحتوي على mp g و wt و qsec كمتغيرات متوقعة هي 0.786 .
- قيمة R-squared المعدلة للنموذج الذي يحتوي على mpg و wt و drat و qsec كمتغيرات متوقعة هي 0.779 .
تعطينا هذه القيم فكرة عن مدى نجاح مجموعة المتغيرات المتنبئة في التنبؤ بقيمة متغير الاستجابة، والتي تم تعديلها بناءً على عدد المتغيرات المتنبئة في النموذج.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية إجراء الانحدار الخطي المتعدد في R
كيفية إجراء الانحدار الجزئي في R
كيفية إجراء الانحدار الخطي في R