Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python statsmodels中使用X-13-ARIMA进行预测_Python_Python 3.x_Statsmodels - Fatal编程技术网

如何在python statsmodels中使用X-13-ARIMA进行预测

如何在python statsmodels中使用X-13-ARIMA进行预测,python,python-3.x,statsmodels,Python,Python 3.x,Statsmodels,我正在尝试从Python3中的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) re

我正在尝试从Python3中的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\u arima\u analysis()
函数包含
forecast\u years
参数,因此我认为这应该是可能的。然而;无论我选择的
forecast\u 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)
通过查看此文件以查找“forecast”,我找到了以下部分

 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\u years=3
似乎意味着预测三个月,在这种情况下是从7月之后开始的。

forecast\u years=x对我来说很有用。注意您正在运行的statsmodels版本(“pip冻结| grep statsmodels”),对于版本10.2,预测期的正确参数为,但在版本11.0及更高版本中,正确参数为

一个简单的正则表达式应该能够找到您的预测值:

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

哪一个匹配:

2020.Feb      18.04     32.25     46.47

非常感谢。您甚至不需要保存输出-此输出将自动保存在临时文件中作为“.out”文件。然而,我还需要预测时间序列的季节性调整值,我发现这在X11规范中是不可能的,我必须使用SEATS规范。因此我更改了“x13_arima_analysis()”函数。