14

ARMA モデルに適合させるために statsmodels を使用しています。

import statsmodels.api as sm
arma    = sm.tsa.ARMA(data, order =(4,4));
results = arma.fit( full_output=False, disp=0);

は 1次元data配列です。サンプル内予測を取得することを知っています:

pred = results.predict();

次に、2 番目のデータ セットが与えられたdata2場合、以前に調整されたモデルを使用して、この観測に基づく予測 (予測) を含むシリーズを生成するにはどうすればよいでしょうか?

4

2 に答える 2

17

これには問題があると思いました。github にファイルを作成すると、このようなものを追加することを忘れない可能性が高くなります。予測機構は (まだ) ユーザー向け機能として利用できないため、このようなことを行う必要があります。

すでにモデルを適合させている場合は、これを行うことができます。

# this is the nsteps ahead predictor function
from statsmodels.tsa.arima_model import _arma_predict_out_of_sample
res = sm.tsa.ARMA(y, (3, 2)).fit(trend="nc")

# get what you need for predicting one-step ahead
params = res.params
residuals = res.resid
p = res.k_ar
q = res.k_ma
k_exog = res.k_exog
k_trend = res.k_trend
steps = 1

_arma_predict_out_of_sample(params, steps, residuals, p, q, k_trend, k_exog, endog=y, exog=None, start=len(y))

これは一歩先の新しい予測です。これを y に追加すると、残差を更新する必要があります。

于 2013-09-04T17:29:15.227 に答える
-1

単変量サンプル外予測 (テスト) の場合、以下を使用できます。

ARMAResults.forecast(steps=1, exog=None, alpha=0.05)

それはそのようになりますres.forcast(steps=1)

同じことがARIMAでも利用できます。

ARIMAResults.forecast(steps=1, exog=None, alpha=0.05)

于 2018-04-23T19:02:19.603 に答える