2017-01-02 45 views
0

我一直在試圖使用statsmodels的SARIMAX模型,但返回一個置信區間圍繞我的預測。無法理解和使用Statsmodels的SARIMAX`conf_int()`輸出

我的目標是對置信區間的上界和下界產生一系列預測。

我試圖適合我的模型,然後使用get_prediction(),最後是conf_int()get_prediction()按我的預期爲我的每個索引返回數據。然而,conf_int()返回一個奇怪的矩陣:

 0 1 
ar.S.L7 0.018806 0.194818 
ma.S.L7 -0.830238 -0.717128 
sigma2 40.832875 48.105937 

,我不明白。我注意到這些是模型的參數,但我不知道如何使用這些參數來獲取每個指數的上限和下限預測值。

我查閱了:thisthisthis,但沒有一個似乎有同樣的問題。我也看過this question。我試圖儘可能密切關注他們的代碼,但不能重現問題。

+0

'conf_int'意味着不同的事情取決於哪個統計量是指。模型結果實例的conf_int是估計參數的置信區間。預測或預測中的'conf_int'或者是新觀測值的預測區間,或者是新觀測值的期望值的置信區間。 – user333700

回答

1

當你這樣做:

model = sm.tsa.statespace.SARIMAX(params) 
fit_model = model.fit() 

nforecast = 144 
forecast = fit_model.get_prediction(end=model.nobs+nforecast) 

ci = forecast.conf_int() 

print(ci.head()) 

你應該得到:

  upper [name of your feature]  lower [name of your feature] 

time1   0.018806     0.194818 
time2   -0.830238     -0.717128 
time3   40.832875     48.105937 

詞的默認標題就是「上」和「下」,如果你不具備的功能的標題在你的原始數據。