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置信度以下,可以認為出現顯著的自回歸關系,且序列並非白噪聲
