كيفية إجراء اختبار durbin-watson في بايثون
أحد افتراضات الانحدار الخطي هو عدم وجود ارتباط بين القيم المتبقية. وبعبارة أخرى، يفترض أن تكون البقايا مستقلة.
إحدى الطرق لتحديد ما إذا كان هذا الافتراض قد تم استيفاءه هو إجراء اختبار دوربين-واتسون ، والذي يستخدم للكشف عن وجود الارتباط الذاتي في بقايا الانحدار . يستخدم هذا الاختبار الافتراضات التالية:
H 0 (فرضية العدم): لا يوجد ارتباط بين البقايا.
HA (فرضية بديلة): البقايا مرتبطة ذاتيًا.
إحصائية الاختبار تساوي تقريباً 2*(1-r) حيث r هي عينة الارتباط الذاتي للبقايا. وبالتالي، ستكون إحصائية الاختبار دائمًا بين 0 و4 بالتفسير التالي:
- تشير إحصائيات الاختبار 2 إلى عدم وجود ارتباط تسلسلي.
- كلما اقتربت إحصائيات الاختبار من 0 ، زاد الدليل على وجود علاقة تسلسلية إيجابية.
- كلما اقتربت إحصائيات الاختبار من 4 ، زادت الأدلة على وجود علاقة تسلسلية سلبية.
عادة، تعتبر القيم الإحصائية للاختبار بين 1.5 و2.5 طبيعية. ومع ذلك، قد تشير القيم خارج هذا النطاق إلى أن الارتباط التلقائي يمثل مشكلة.
يشرح هذا البرنامج التعليمي كيفية إجراء اختبار Durbin-Watson في لغة Python.
مثال: اختبار Durbin-Watson في بايثون
لنفترض أن لدينا مجموعة البيانات التالية التي تصف سمات 10 من لاعبي كرة السلة:
import numpy as np import pandas as pd #create dataset df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86], 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19], 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]}) #view dataset df rating points assists rebounds 0 90 25 5 11 1 85 20 7 8 2 82 14 7 10 3 88 16 8 6 4 94 27 5 6 5 90 20 7 9 6 76 12 6 6 7 75 15 9 10 8 87 14 9 10 9 86 19 5 7
لنفترض أننا نلائم نموذج الانحدار الخطي المتعدد باستخدام التصنيف كمتغير الاستجابة والمتغيرات الثلاثة الأخرى كمتغيرات متوقعة:
from statsmodels.formula.api import ols #fit multiple linear regression model model = ols('rating ~ points + assists + rebounds', data=df). fit () #view model summary print(model.summary())
يمكننا إجراء Watson Durbin باستخدام وظيفة durbin_watson() من مكتبة statsmodels لتحديد ما إذا كانت بقايا نموذج الانحدار مرتبطة تلقائيًا:
from statsmodels.stats.stattools import durbin_watson #perform Durbin-Watson test durbin_watson(model.resid) 2,392
إحصائيات الاختبار هي 2.392 . وبما أن هذه القيمة تتراوح بين 1.5 و2.5، فإننا نعتبر أن الارتباط الذاتي لا يمثل مشكلة في نموذج الانحدار هذا.
كيفية التعامل مع الارتباط الذاتي
إذا رفضت فرضية العدم واستنتجت أن الارتباط الذاتي موجود في القيم المتبقية، فلديك عدة خيارات لتصحيح هذه المشكلة إذا كنت تعتبرها خطيرة بما فيه الكفاية:
1. للحصول على ارتباط تسلسلي إيجابي، فكر في إضافة تأخرات المتغير التابع و/أو المستقل إلى النموذج.
2. بالنسبة للارتباط التسلسلي السلبي، تأكد من عدم تأخر أي من متغيراتك بشكل زائد .
3. بالنسبة للارتباط الموسمي، فكر في إضافة نماذج موسمية إلى النموذج.