コールサインを助けてください、私は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)
を与えられた2つの引数が、コンパイラのリターンを与えている参照して取得していますis
predict(self, params, start=None, end=None, exog=None, dynamic=False)
したがって、r.predict(start='2012-07-31', end='2012-08-31')
,self
はr
に結合し、値はstart
およびend
に結びついているが、必要な位置の表記params
は結合しない。そのため、エラーが発生します。
TypeError: predict() takes at least 2 arguments (3 given)
残念ながら、エラーメッセージは誤解を招きます。 「3与えられた」とは、r
,start
およびend
を指す。 「2引数」は、2つの必要な引数、self
およびparams
を参照します。 問題はが必要ですポジション引数params
は指定されていません。
問題を解決するには、パラメータが必要です。通常は、フィッティングにより、これらのパラメータを見つける:
r = r.fit()
はそうparams
を渡す必要はありませんARIMAResultWrapper.fit
を呼ぶ「で焼い」のパラメータを持つstatsmodels.tsa.arima_model.ARIMAResultsWrapper
を返しr.fit()
pred = r.predict(start='2012-07-31', end='2012-08-31')
を呼び出す前に。
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
エラーメッセージが奇妙である - 明確 '* 3'で少なくとも '2' *、それは多くの意味がありませんので。これは正確なメッセージです。 –
はい、私は確信しています。私は完全なエラーを更新しました – jokeroor