Python SciPy-获得SARIMAX的最小AIC
我试图用Scipy brute获得季节Arima函数的AIC商最小的p和q参数。p&q的取值范围为0-2,为简单起见,我在下面固定了d和d 代码是:Python SciPy-获得SARIMAX的最小AIC,python,scipy,statsmodels,Python,Scipy,Statsmodels,我试图用Scipy brute获得季节Arima函数的AIC商最小的p和q参数。p&q的取值范围为0-2,为简单起见,我在下面固定了d和d 代码是: def objfunc(grid): p, q = grid mod = sm.tsa.statespace.SARIMAX(timeseries,order=(p,0,q), seasonal_order=(p,1,q,12), enforce_stationarity=False,
def objfunc(grid):
p, q = grid
mod = sm.tsa.statespace.SARIMAX(timeseries,order=(p,0,q),
seasonal_order=(p,1,q,12),
enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
return results.aic;
grid = (slice(1, 3, 1),slice(1, 3, 1))
Solution = brute(objfunc, grid, finish=None,full_output = True)
我得到一个错误:
TypeError:类型为“numpy.int32”的对象没有len()。SARIMAX函数可能会为某些p&q值生成错误,但我不确定如何修复它。请帮忙
如果您发布整个回溯错误消息,可能会有所帮助。网格非常小。您能否手动查找引起
类型错误的p
和q
的值?这有助于我们将注意力集中在问题的根本原因上。什么是timeseries
?发布一个简短的、可运行的示例来重现错误将是一件了不起的事情。