كيفية إجراء اختبار والد في بايثون
يمكن استخدام اختبار والد لاختبار ما إذا كانت معلمة واحدة أو أكثر من النموذج تساوي قيمًا معينة.
يُستخدم هذا الاختبار غالبًا لتحديد ما إذا كان واحد أو أكثر من متغيرات التوقع في نموذج الانحدار يساوي الصفر.
نستخدمالفرضيات الصفرية والبديلة التالية لهذا الاختبار:
- H 0 : بعض مجموعات المتغيرات المتوقعة كلها تساوي الصفر.
- HA A : ليست كل المتغيرات المتوقعة في المجموعة تساوي الصفر.
إذا فشلنا في رفض فرضية العدم، فيمكننا إزالة المجموعة المحددة من متغيرات التوقع من النموذج، لأنها لا توفر تحسنًا ذا دلالة إحصائية في ملاءمة النموذج.
يوضح المثال التالي كيفية إجراء اختبار والد في بايثون
مثال: اختبار والد في بايثون
في هذا المثال، سوف نستخدم مجموعة بيانات mtcars الشهيرة لتناسب نموذج الانحدار الخطي المتعدد التالي:
ميل لكل جالون = β 0 + β 1 متاح + β 2 كربوهيدرات + β 3 حصان + β 4 سيل
يوضح التعليمة البرمجية التالية كيفية ملاءمة نموذج الانحدار هذا وعرض ملخص النموذج:
import statsmodels. formula . api as smf import pandas as pd import io #define dataset as string mtcars_data="""model,mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb Mazda RX4,21,6,160,110,3.9,2.62,16.46,0,1,4,4 Mazda RX4 Wag,21.6,160,110,3.9,2.875,17.02,0,1,4,4 Datsun 710,22.8,4,108,93,3.85,2.32,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.44,17.02,0,0,3,2 Valiant,18.1,6,225,105,2.76,3.46,20.22,1,0,3,1 Duster 360,14.3,8,360,245,3.21,3.57,15.84,0,0,3,4 Merc 240D,24.4,4,146.7,62,3.69,3.19,20,1,0,4,2 Merc 230,22.8,4,140.8,95,3.92,3.15,22.9,1,0,4,2 Merc 280,19.2,6,167.6,123,3.92,3.44,18.3,1,0,4,4 Merc 280C,17.8,6,167.6,123,3.92,3.44,18.9,1,0,4,4 Merc 450SE,16.4,8,275.8,180,3.07,4.07,17.4,0,0,3,3 Merc 450SL,17.3,8,275.8,180,3.07,3.73,17.6,0,0,3,3 Merc 450SLC,15.2,8,275.8,180,3.07,3.78,18,0,0,3,3 Cadillac Fleetwood,10.4,8,472,205,2.93,5.25,17.98,0,0,3,4 Lincoln Continental,10.4,8,460,215,3,5.424,17.82,0,0,3,4 Chrysler Imperial,14.7,8,440,230,3.23,5.345,17.42,0,0,3,4 Fiat 128,32.4,4,78.7,66,4.08,2.2,19.47,1,1,4,1 Honda Civic,30.4,4,75.7,52,4.93,1.615,18.52,1,1,4,2 Toyota Corolla,33.9,4,71.1,65,4.22,1.835,19.9,1,1,4,1 Toyota Corona,21.5,4,120.1,97,3.7,2.465,20.01,1,0,3,1 Dodge Challenger,15.5,8,318,150,2.76,3.52,16.87,0,0,3,2 AMC Javelin,15.2,8,304,150,3.15,3.435,17.3,0,0,3,2 Camaro Z28,13.3,8,350,245,3.73,3.84,15.41,0,0,3,4 Pontiac Firebird,19.2,8,400,175,3.08,3.845,17.05,0,0,3,2 Fiat X1-9,27.3,4,79,66,4.08,1.935,18.9,1,1,4,1 Porsche 914-2,26,4,120.3,91,4.43,2.14,16.7,0,1,5,2 Lotus Europa,30.4,4,95.1,113,3.77,1.513,16.9,1,1,5,2 Ford Pantera L,15.8,8,351,264,4.22,3.17,14.5,0,1,5,4 Ferrari Dino,19.7,6,145,175,3.62,2.77,15.5,0,1,5,6 Maserati Bora,15.8,301,335,3.54,3.57,14.6,0,1,5,8 Volvo 142E,21.4,4,121,109,4.11,2.78,18.6,1,1,4,2""" #convert string to DataFrame df = pd. read_csv ( io.StringIO (mtcars_data), sep=" , ") #fit multiple linear regression model results = smf. ols (' mpg~disp+carb+hp+cyl ',df). fit () #view regression model summary results. summary () coef std err t P>|t| [0.025 0.975] Intercept34.0216 2.523 13.482 0.000 28.844 39.199 available -0.0269 0.011 -2.379 0.025 -0.050 -0.004 carb -0.9269 0.579 -1.601 0.121 -2.115 0.261 hp 0.0093 0.021 0.452 0.655 -0.033 0.052 cyl -1.0485 0.784 -1.338 0.192 -2.657 0.560
بعد ذلك، يمكننا استخدام الدالة statsmodels wald_test() لاختبار ما إذا كانت معاملات الانحدار لمتغيري التوقع “hp” و”cyl” كلاهما يساوي الصفر.
يوضح الكود التالي كيفية استخدام هذه الوظيفة عمليًا:
#perform Wald Test to determine if 'hp' and 'cyl' coefficients are both zero print ( results.wald_test (' (hp=0, cyl=0) ')) F test: F=array([[0.91125429]]), p=0.41403001184235005, df_denom=27, df_num=2
من النتيجة يمكننا أن نرى أن القيمة p للاختبار هي 0.414 .
وبما أن هذه القيمة p لا تقل عن 0.05، فإننا نفشل في رفض الفرضية الصفرية لاختبار والد.
وهذا يعني أنه يمكننا أن نفترض أن معاملات الانحدار للمتغيرين التوقعيين “hp” و”cyl” كلاهما يساوي الصفر.
يمكننا إزالة هذه المصطلحات من النموذج لأنها لا تحسن بشكل كبير من الناحية الإحصائية ملاءمة النموذج بشكل عام.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في بايثون:
كيفية تنفيذ الانحدار الخطي البسيط
كيفية إجراء الانحدار متعدد الحدود في بايثون
كيفية حساب VIF في بايثون