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

Viewed 18326

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?

4 Answers

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()

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 (without _) and statsmodels.tsa.SARIMAX.

This is because statsmodels.tsa.arima.model.ARIMA makes use of the statespace framework and they're 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.

Run the code below to ignore ARIMA warnings

import warnings

warnings.filterwarnings("ignore")

Instead of using

from statsmodels.tsa.arima_model import ARIMA

Please change to following

from statsmodels.tsa.arima.model import ARIMA
Related