كيفية إجراء اختبار goldfeld-quandt في بايثون
يتم استخدام اختبار Goldfeld-Quandt لتحديد ما إذا كانت التغايرية موجودة في نموذج الانحدار.
تشير التغايرية إلى التشتت غير المتكافئ للبقايا على مستويات مختلفة لمتغير الاستجابة في نموذج الانحدار.
في حالة وجود تغايرية، فإن هذا ينتهك أحد الافتراضات الرئيسية للانحدار الخطي المتمثل في أن البقايا موزعة بالتساوي على كل مستوى من متغير الاستجابة.
يقدم هذا البرنامج التعليمي مثالاً خطوة بخطوة لكيفية إجراء اختبار Goldfeld-Quandt في Python.
الخطوة 1: إنشاء مجموعة البيانات
في هذا المثال، لنقم بإنشاء إطار بيانات الباندا التالي الذي يحتوي على معلومات حول ساعات الدراسة والامتحانات التحضيرية التي تم إجراؤها ونتائج الامتحانات النهائية التي حصل عليها 13 طالبًا في الفصل:
import pandas as pd #createDataFrame df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6], ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2], ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]}) #view DataFrame print (df) hours exam score 0 1 1 76 1 2 3 78 2 2 3 85 3 4 5 88 4 2 2 72 5 1 2 69 6 5 1 94 7 4 1 94 8 2 0 88 9 4 3 92 10 4 4 90 11 3 3 75 12 6 2 96
الخطوة 2: ملاءمة نموذج الانحدار الخطي
بعد ذلك، سنلائم نموذج الانحدار الخطي المتعدد باستخدام الساعات والامتحانات كمتغيرات متوقعة والنتيجة كمتغير الاستجابة:
import statsmodels. api as sm
#define predictor and response variables
y = df[' score ']
x = df[[' hours ', ' exams ']]
#add constant to predictor variables
x = sm. add_constant (x)
#fit linear regression model
model = sm. OLS (y,x). fit ()
#view model summary
print ( model.summary ())
OLS Regression Results
==================================================== ============================
Dept. Variable: R-squared score: 0.718
Model: OLS Adj. R-squared: 0.661
Method: Least Squares F-statistic: 12.70
Date: Mon, 31 Oct 2022 Prob (F-statistic): 0.00180
Time: 09:22:56 Log-Likelihood: -38.618
No. Observations: 13 AIC: 83.24
Df Residuals: 10 BIC: 84.93
Model: 2
Covariance Type: non-robust
==================================================== ============================
coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 71.4048 4.001 17.847 0.000 62.490 80.319
hours 5.1275 1.018 5.038 0.001 2.860 7.395
exams -1.2121 1.147 -1.057 0.315 -3.768 1.344
==================================================== ============================
Omnibus: 1,103 Durbin-Watson: 1,248
Prob(Omnibus): 0.576 Jarque-Bera (JB): 0.803
Skew: -0.289 Prob(JB): 0.669
Kurtosis: 1.928 Cond. No. 11.7
==================================================== ============================
الخطوة 3: إجراء اختبار غولدفيلد-كواندت
بعد ذلك، سوف نستخدم الدالة statsmodels het_goldfeldquandt() لإجراء اختبار Goldfeld-Quandt.
ملحوظة : يعمل اختبار Goldfeld-Quandt عن طريق إزالة عدد من الملاحظات الموجودة في وسط مجموعة البيانات ثم الاختبار لمعرفة ما إذا كان توزيع البقايا يختلف عن مجموعتي البيانات الناتجة التي ترتبط على كل جانب من الملاحظات المركزية.
عادةً، نختار إزالة حوالي 20% من إجمالي الملاحظات. في هذه الحالة، يمكننا استخدام الوسيطة drop لتحديد أننا نريد إزالة 20% من الملاحظات:
#perform Goldfeld-Quandt test sm. stats . diagnosis . het_goldfeldquandt (y, x, drop= 0.2 ) (1.7574505407790355, 0.38270288684680076, 'increasing')
وإليك كيفية تفسير النتيجة:
- إحصائيات الاختبار هي 1.757 .
- القيمة p المقابلة هي 0.383 .
يستخدم اختبار Goldfeld-Quandt الفرضيات الصفرية والبديلة التالية:
- Null (H 0 ) : المثلية موجودة.
- البديل ( HA ): التغايرية موجودة.
وبما أن القيمة p لا تقل عن 0.05، فإننا نفشل في رفض فرضية العدم.
ليس لدينا أدلة كافية للقول بأن التغايرية تمثل مشكلة في نموذج الانحدار.
ما العمل التالي
إذا فشلت في رفض الفرضية الصفرية لاختبار غولدفيلد-كواندت، فإن التغايرية غير موجودة ويمكنك المتابعة لتفسير نتيجة الانحدار الأصلي.
ومع ذلك، إذا رفضت فرضية العدم، فهذا يعني أن التغايرية موجودة في البيانات. في هذه الحالة، قد تكون الأخطاء القياسية المعروضة في جدول مخرجات الانحدار غير موثوقة.
هناك عدة طرق شائعة لحل هذه المشكلة، بما في ذلك:
1. تحويل متغير الاستجابة.
يمكنك محاولة إجراء تحويل على متغير الاستجابة، على سبيل المثال أخذ السجل أو الجذر التربيعي أو الجذر التكعيبي لمتغير الاستجابة. بشكل عام، يمكن أن يتسبب هذا في اختفاء عدم التجانس.
2. استخدم الانحدار المرجح.
يقوم الانحدار المرجح بتعيين وزن لكل نقطة بيانات بناءً على تباين قيمتها المجهزة. بشكل أساسي، يعطي هذا أوزانًا منخفضة لنقاط البيانات التي تحتوي على تباينات أعلى، مما يقلل من مربعاتها المتبقية.
عند استخدام الأوزان المناسبة، يمكن أن يؤدي الانحدار المرجح إلى القضاء على مشكلة عدم التجانس.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في بايثون:
كيفية إجراء انحدار OLS في بايثون
كيفية إنشاء مؤامرة المتبقية في بيثون
كيفية إجراء اختبار وايت في بايثون
كيفية إجراء اختبار Breusch-Pagan في بايثون