简体   繁体   中英

FutureWarning: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_model.ARIMA have been deprecated

While using ARMA to fit a model:

from statsmodels.tsa.arima_model import ARMA

I am getting a warning in my console:

C:\Users\lfc\anaconda3\lib\site-packages\statsmodels\tsa\arima_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)

How do I discard the warning?

Instead of using

from statsmodels.tsa.arima_model import ARIMA

Please change to following

from statsmodels.tsa.arima.model import ARIMA

Run the code below to ignore ARIMA warnings

import warnings

warnings.filterwarnings("ignore")

As of today, the statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_model.ARIMA have been removed in favor of statsmodels.tsa.arima.model.ARIMA and statsmodels.tsa.SARIMAX . This is because statsmodels.tsa.arima.model.ARIMA makes use of the statespace framework and is both well tested and maintained. It also offers alternative specialized parameter estimators.

If you try to use ARMA from statsmodels.tsa.arima_model you'll get NotImplementedError message error.

A quick fix to use ARIMA model could be like this:

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

You can find more details in this issue .

This warning is occuring due to deprication of the ARIMA package "statsmodels\tsa\arima_model".

Instead, import the statsmodel with:

import statsmodels.api as sm

And fit ARIMA model as:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM