簡體   English   中英

如何在 python statsmodels 中使用 X-13-ARIMA 進行預測

[英]How to get predictions using X-13-ARIMA in python statsmodels

我正在嘗試從 python 3 中的 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對象似乎都不會改變。

如何獲得預測值?

到現在為止,您自己可能已經有了這個。 我檢索了一些在 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似乎意味着進行三個月的預測,在這種情況下從 7 月之后開始。

predict_years=x 為我工作。 請注意您正在運行的 statsmodels 版本(“pip freeze | grep statsmodels”),對於 10.2 版,預測范圍的正確參數是 <forecast_years>,但在 11.0 及更高版本中,正確的參數是 <forecast_periods>。

一個簡單的正則表達式應該可以找到您的預測值:

202\\d.\\w{3}\\s{6}\\d\\d.\\d\\d\\s{5}\\d\\d.\\d\\d\\s{5}\\d\\d.\\d\\d (在結果的每一行上運行)

這將匹配:

2020.Feb      18.04     32.25     46.47

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM