FutureWarning:statsmodels.tsa.arima_model.ARMA 和 statsmodels.tsa.arima_model.ARIMA 已被弃用

在使用 ARMA 拟合模型时:

from statsmodels.tsa.arima_model import ARMA

我在控制台中收到警告:

C:Userslfcanaconda3libsite-packagesstatsmodelstsaarima_model.py:472: FutureWarning: 
statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_model.ARIMA have been deprecated in favor of statsmodels.tsa.arima.model.ARIMA (note the . between arima and model) and statsmodels.tsa.SARIMAX. These will be removed after the 0.12 release.

statsmodels.tsa.arima.model.ARIMA makes use of the statespace framework and
is both well tested and maintained.

To silence this warning and continue using ARMA and ARIMA until they are
removed, use:

import warnings
warnings.filterwarnings('ignore', 'statsmodels.tsa.arima_model.ARMA',
                        FutureWarning)
warnings.filterwarnings('ignore', 'statsmodels.tsa.arima_model.ARIMA',
                        FutureWarning)

warnings.warn(ARIMA_DEPRECATION_WARN, FutureWarning)

如何丢弃警告?

stack overflow FutureWarning: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_model.ARIMA have been deprecated
原文答案

答案:

作者头像

由于 ARIMA 包“statsmodels arima_model”的贬值,出现此警告。
相反,使用以下命令导入 statsmodel:

import statsmodels.api as sm

并将 ARIMA 模型拟合为:

model = sm.tsa.arima.ARIMA(train_data, order=(1,1,2))
result = model.fit()
作者头像

到今天为止, statsmodels.tsa.arima_model.ARMAstatsmodels.tsa.arima_model.ARIMA 已被删除,取而代之的是 statsmodels.tsa.arima.model.ARIMA (没有 _ )和 statsmodels.tsa.SARIMAX

这是因为 statsmodels.tsa.arima.model.ARIMA 使用了 statespace 框架,并且它们都经过了很好的测试和维护。它还提供了替代的专用参数估计器。

如果您尝试使用来自 ARMAstatsmodels.tsa.arima_model ,您将收到 NotImplementedError 消息错误。

使用 ARIMA 模型的快速修复可能是这样的:

from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(dataFrame.columnName, order=(1,0,0))

您可以在此 issue 中找到更多详细信息。

作者头像

运行下面的代码以忽略 ARIMA 警告

import warnings

warnings.filterwarnings("ignore")

作者头像

而不是使用

from statsmodels.tsa.arima_model import ARIMA

请改为以下

from statsmodels.tsa.arima.model import ARIMA