2017-04-17 821 views
0

我試圖從statsmodels庫在Python運行X-13-ARIMA模型3.如何在python statsmodels使用X-13-ARIMA得到的預測

我發現statsmodels文檔這個例子:

dta = sm.datasets.co2.load_pandas().data 
dta.co2.interpolate(inplace=True) 
dta = dta.resample('M').sum() 

res = sm.tsa.x13_arima_select_order(dta.co2) 
print(res.order, res.sorder) 

results = sm.tsa.x13_arima_analysis(dta.co2) 

fig = results.plot() 
fig.set_size_inches(12, 5) 
fig.tight_layout() 

這很好,但我也需要預測這個時間序列的未來值。 tsa.x13_arima_analysis()函數包含forecast_years參數,所以我認爲它應該是可能的。然而;無論我選擇的forecast_years參數的值如何,results對象似乎都不會改變。

如何獲取預測值?

回答

1

現在你可能已經擁有了這個。我檢索了一些在2012年7月結束的月度天氣數據。我輸入了此聲明以進行分析。

results = sm.tsa.x13_arima_analysis(s, forecast_years=3) 

然後(具有發現results.results是體積大)我進入此。

open('c:/scratch/result.txt', 'w').write(results.results) 

通過此文件查看'預測'我找到以下部分。

FORECASTING 
    Origin 2012.Jul 
    Number   3 

    Forecasts and Standard Errors of the Prior Adjusted Data 
    ------------------------------ 
         Standard 
     Date Forecast  Error 
    ------------------------------ 
    2012.Aug  33.02  2.954 
    2012.Sep  28.31  2.954 
    2012.Oct  21.54  2.954 
    ------------------------------ 

    Confidence intervals with coverage probability (0.95000 
    --------------------------------------- 
     Date  Lower Forecast  Upper 
    --------------------------------------- 
    2012.Aug  27.23  33.02  38.82 
    2012.Sep  22.52  28.31  34.10 
    2012.Oct  15.75  21.54  27.33 
    --------------------------------------- 

forecast_years=3似乎被理解爲使三個月預測,在這種情況下,七月後啓動。

+0

謝謝。您甚至不需要保存輸出 - 該輸出將自動保存爲臨時文件,如.out文件。但是,我還需要預測時間序列的季節性調整值,並發現X11規範不可能實現,我將不得不使用SEATS規範。所以我改變了'x13_arima_analysis()'函數。 –