所以我试图对一个resudual进行box-ljung测试,但是我遇到了一个奇怪的错误而且我无法找出原因。
x = diag.acorr_ljungbox(np.random.random(20))
我也尝试用随机数组做同样的事情,仍然是同样的错误:
ValueError: operands could not be broadcast together with shapes (19,) (40,)
答案 0 :(得分:0)
这看起来像是默认滞后设置中的一个错误,它设置为40,与数据长度无关。
作为解决方法并获得正确的统计信息,lags
需要加以限制,例如使用下面的5个滞后。
>>> from statsmodels.stats import diagnostic as diag
>>> diag.acorr_ljungbox(np.random.random(50))[0].shape
(40,)
>>> diag.acorr_ljungbox(np.random.random(20), lags=5)
(array([ 0.36718151, 1.02009595, 1.23734092, 3.75338034, 4.35387236]),
array([ 0.54454461, 0.60046677, 0.74406305, 0.44040973, 0.49966951]))