Python 使用Statsmodels创建时间序列时出现类型错误

Python 使用Statsmodels创建时间序列时出现类型错误,python,scipy,Python,Scipy,我正在努力理解如何在statsmodels中准确地使用ARIMA 我试图将一个ARIMA模型与我拥有的一组数据相匹配,并且使用了与答案中相同的想法 但是,我不知道作为解释变量的endog值需要是什么 我的代码如下,我得到了错误: TypeError: objfunc() takes exactly 2 arguments (20 given) 行中: brute(objfunc, grid, args=(opening_price), finish=None) 我只是传递了我在这个时间序列中

我正在努力理解如何在
statsmodels
中准确地使用
ARIMA

我试图将一个ARIMA模型与我拥有的一组数据相匹配,并且使用了与答案中相同的想法

但是,我不知道作为解释变量的
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=(开盘价)
更改为
args=(开盘价)
。您没有显示什么是
opening\u price
,但我假设它是一个序列,当您编写
args=(opening\u price)
(相当于
args=opening\u price
)时,
opening\u price
的元素在传递到
objfunc
时会展开为单独的参数。正确的格式,
args=(期初价格,)
,确保
args
是一个包含单个元素的元组,
期初价格