我正在努力理解如何在statsmodels
中准确地使用ARIMA
。你知道吗
我试图将ARIMA模型与我拥有的一组数据相匹配,并且使用与this question的答案相同的想法。你知道吗
但是,我不知道我的endog
值需要是什么,这是解释变量。你知道吗
我的代码如下,我得到了错误:
TypeError: objfunc() takes exactly 2 arguments (20 given)
在队列中:
brute(objfunc, grid, args=(opening_price), finish=None)
我只是把这个时间序列的20个数据点传给它,我对它的预期感到困惑,因为这是不对的。你知道吗
def objfunc(order, endog):
fit = ARIMA(endog, order).fit()
return fit.aic()
from scipy.optimize import brute
grid = (slice(1, 3, 1), slice(1, 3, 1), slice(1, 3, 1))
brute(objfunc, grid, args=(opening_price), finish=None)
以下可能是解决方案。您应该包含足够的代码,以便可以复制并运行它来重现问题。
在对
brute
的调用中,将args=(opening_price)
更改为args=(opening_price,)
。您没有说明opening_price
是什么,但我假设它是一个序列,当您编写args=(opening_price)
(相当于args=opening_price
)时,opening_price
的元素在传递给objfunc
时会展开成独立的参数。正确的形式args=(opening_price,)
确保args
是包含单个元素opening_price
的元组。你知道吗相关问题 更多 >
编程相关推荐