Python Statsmodels的時間序列Ljung_Box檢驗


Ljung-Box檢驗即LB檢驗,是時間序列分析中檢驗序列自相關性的方法。LB檢驗的Q統計量為:

 

 

用來檢驗m階滯后范圍內序列的自相關性是否顯著,或序列是否為白噪聲,Q統計量服從自由度為m的卡方分布。

LB檢驗可同時用於時間序列以及時序模型的殘差是否存在自相關性(是否為白噪聲)。Python的statsmodels包提供了該檢驗的函數:

 

from statsmodels.stats.diagnostic import acorr_ljungbox as lb_test

 

函數輸入 lb_test(x,lags=None,boxpierce=False):

 

x:檢驗的時間序列

 

lags(int,list or None):檢驗的延遲數,

若為None則輸出min((nobs // 2 - 2), 40),其中nobs為觀測樣本數量,樣本較大的情況下輸出40

 

boxpierce:若為True,則同時輸出boxpierce統計量的檢驗結果

(Box-Pierce檢驗為白噪聲檢驗的另一個版本,是LB檢驗的前身)

 

函數輸出:

 

LB統計量值(array)

 

LB-p值(array)

 

若boxpierce=True,則繼續輸出BP統計量的值和相應p值

 

 

作為樣例,選取了一段市場指數的回報率進行檢驗,輸出p值序列: 

 

plt.plot(lb_test(df_list[index_list[0]]['Return'])[1])
plt.show()

在延遲超過5時,p值下降到0.05置信度以下,可以認為出現顯著的自回歸關系,且序列並非白噪聲

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM