- 問題
- 答え
- 解説
次の Python コードの Ljung-Box 検定は何を確認していますか?
Python コード:
import numpy as np
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.stats.diagnostic import acorr_ljungbox
np.random.seed(42)
data = np.zeros(300)
e = np.random.randn(300)
for t in range(2, 300):
data[t] = 0.6*data[t-1] - 0.3*data[t-2] + e[t]
for order in [(2,0,0), (1,0,0)]:
resid = ARIMA(data, order=order).fit().resid
p = acorr_ljungbox(resid, lags=[10])['lb_pvalue'].iloc[0]
judge = '白色雑音(OK)' if p > 0.05 else '自己相関あり(NG)'
print(f"ARIMA{order} Ljung-Box p値:{p:.4f} → {judge}")
回答の選択肢:
(A) 残差が正規分布に従っているかどうか
(B) 残差に自己相関が残っていないか(白色雑音か)どうか
(C) 残差の分散が一定であるかどうか
(D) モデルの係数が統計的に有意かどうか

