كيفية إجراء اختبار ljung-box في بايثون


اختبار Ljung-Box هو اختبار إحصائي يتحقق مما إذا كان هناك ارتباط ذاتي في سلسلة زمنية.

ويستخدم الافتراضات التالية:

H 0 : يتم توزيع البقايا بشكل مستقل.

HA A : لا يتم توزيع المخلفات بشكل مستقل؛ أنها تظهر الارتباط التسلسلي.

ومن الناحية المثالية، لا نود أن نرفض فرضية العدم. أي أننا نود أن تكون القيمة الاحتمالية للاختبار أكبر من 0.05، لأن هذا يعني أن بقايا نموذج السلسلة الزمنية الخاص بنا مستقلة، وهو غالبًا ما يكون افتراضًا نقوم به عند إنشاء النموذج.

يشرح هذا البرنامج التعليمي كيفية إجراء اختبار Ljung-Box في بايثون.

مثال: اختبار Ljung-Box في بايثون

لإجراء اختبار Ljung-Box على سلسلة بيانات في Python، يمكنك استخدام الدالة acorr_ljungbox() من مكتبة statsmodels التي تستخدم الصيغة التالية:

acorr_ljungbox(x, الإزاحات=لا شيء)

ذهب:

  • س: سلسلة البيانات
  • التخلف: عدد التأخرات للاختبار

تقوم هذه الدالة بإرجاع إحصائية اختبار وقيمة p مقابلة. إذا كانت القيمة p أقل من عتبة معينة (على سبيل المثال α = 0.05)، فيمكنك رفض فرضية العدم واستنتاج أن البقايا لا يتم توزيعها بشكل مستقل.

يوضح الكود التالي كيفية استخدام هذه الوظيفة لإجراء اختبار Ljung-Box على مجموعة بيانات statsmodels المضمنة والتي تسمى “SUNACTIVITY”:

 import statsmodels.api as sm

#load data series
data = sm.datasets.sunspots.load_pandas().data

#view first ten rows of data series 
data[:5]

YEAR SUNACTIVITY
0 1700.0 5.0
1 1701.0 11.0
2 1702.0 16.0
3 1703.0 23.0
4 1704.0 36.0

#fit ARMA model to dataset
res = sm. tsa . ARMA (data[" SUNACTIVITY "],(1,1)). fit (disp=-1)

#perform Ljung-Box test on residuals with lag=5
sm. stats . acorr_ljungbox (res. resid , lags=[5], return_df= True )

          lb_stat lb_pvalue
5 107.86488 1.157710e-21

إحصائيات الاختبار هي 107.86488 وقيمة الاختبار p هي 1.157710e-21 ، وهو أقل بكثير من 0.05. وبالتالي، فإننا نرفض الفرضية الصفرية للاختبار ونستنتج أن البقايا ليست مستقلة.

لاحظ أننا اخترنا استخدام قيمة الإزاحة 5 في هذا المثال، ولكن يمكنك اختيار أي قيمة تريد استخدامها للإزاحة. على سبيل المثال، يمكننا بدلاً من ذلك استخدام القيمة 20:

 #perform Ljung-Box test on residuals with lag=20
sm. stats . acorr_ljungbox (res. resid , lags=[20], return_df= True )

           lb_stat lb_pvalue
20 343.634016 9.117477e-61

إحصائيات الاختبار هي 343.634016 والقيمة p للاختبار هي 9.117477e-61 ، وهي أقل بكثير من 0.05. وهكذا، فإننا نرفض مرة أخرى الفرضية الصفرية للاختبار ونستنتج أن البقايا ليست مستقلة.

اعتمادًا على موقفك الخاص، يمكنك اختيار قيمة أقل أو أعلى لاستخدامها في الإزاحة.

Add a Comment

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