预测statsmodel参数错误

小丑

我正在尝试预测数组的样本外值。Python代码:

import pandas as pd
import numpy as np
from statsmodels.tsa.arima_model import ARIMA

    dates = pd.date_range('2012-07-09','2012-07-30')
    series = [43.,32.,63.,98.,65.,78.,23.,35.,78.,56.,45.,45.,56.,6.,63.,45.,64.,34.,76.,34.,14.,54.]
    res = pd.Series(series, index=dates)
    r = ARIMA(res,(1,2,0))
    pred = r.predict(start='2012-07-31', end='2012-08-31')

我收到这个错误,我看到我给出了两个参数,但是编译器返回了我给出的3。

Traceback (most recent call last):
  File "XXXXXXXXX/testfile.py", line 12, in <module>
    pred = r.predict(start='2012-07-31', end='2012-08-31')
TypeError: predict() takes at least 2 arguments (3 given)

请帮忙

算了吧

的呼叫签名ARIMA.predict

predict(self, params, start=None, end=None, exog=None, dynamic=False)

因此,当您调用时r.predict(start='2012-07-31', end='2012-08-31')self被绑定到r,并且值被绑定到startend但是所需的位置params不被绑定。这就是为什么你得到错误

TypeError: predict() takes at least 2 arguments (3 given)

不幸的是,错误消息具有误导性。“给定3”指的是rstartend“ 2个参数”是指两个必需的参数,selfparams问题是没有给出所需的位置参数params

要解决此问题,您需要参数。通常,您可以通过拟合找到这些参数:

r = r.fit()

致电之前

pred = r.predict(start='2012-07-31', end='2012-08-31')

r.fit()返回statsmodels.tsa.arima_model.ARIMAResultsWrapper具有参数“烘焙”的,因此调用ARIMAResultWrapper.fit不需要通过params


import pandas as pd
import numpy as np
from statsmodels.tsa.arima_model import ARIMA

dates = pd.date_range('2012-07-09','2012-07-30')
series = [43.,32.,63.,98.,65.,78.,23.,35.,78.,56.,45.,45.,56.,6.,63.,45.,64.,34.,76.,34.,14.,54.]
res = pd.Series(series, index=dates)
r = ARIMA(res,(1,2,0))
r = r.fit()
pred = r.predict(start='2012-07-31', end='2012-08-31')
print(pred)

产量

2012-07-31   -39.067222
2012-08-01    26.902571
2012-08-02   -17.027333
...
2012-08-29     0.532946
2012-08-30     0.532447
2012-08-31     0.532780
Freq: D, dtype: float64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章