2016-04-19 21 views
1

配列のoutofsample値を予測しようとしています。 Pythonコード:predict statsmodel引数エラー

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') 

私はこのerror.Iは私がARIMA.predict

+0

エラーメッセージが奇妙である - 明確 '* 3'で少なくとも '2' *、それは多くの意味がありませんので。これは正確なメッセージです。 –

+0

はい、私は確信しています。私は完全なエラーを更新しました – jokeroor

答えて

4

コールサインを助けてください、私は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'),selfrに結合し、値は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 
+0

ありがとう – jokeroor