未来警告:statsmodels.tsa.arima_model.ARMA和statsmodels.tsa.arima_model.ARIMA已被弃用。

9

在使用ARMA拟合模型时:

from statsmodels.tsa.arima_model import ARMA

我在控制台中收到了一个警告:

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)

我该如何忽略这个警告?


1
如果您想要消除警告,可以直接运行警告中的代码。这些内容已从未来版本v0.13中移除。相反,您应该使用statsmodels.tsa.arima.model.ARIMA,这是未来版本的替代方案。 - Kevin S
4个回答

10
这个警告出现是因为ARIMA包"statsmodels\tsa\arima_model"被弃用了。
请使用以下命令导入statsmodel:
import statsmodels.api as sm

并将ARIMA模型拟合为:

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

9
截至今日,statsmodels.tsa.arima_model.ARMAstatsmodels.tsa.arima_model.ARIMA已被弃用,改为使用statsmodels.tsa.arima.model.ARIMA(没有下划线)和statsmodels.tsa.SARIMAX。这是因为statsmodels.tsa.arima.model.ARIMA利用了状态空间框架,并且它们都经过了充分测试和维护。此外,它还提供了替代的专业参数估计器。
如果您尝试从statsmodels.tsa.arima_model中使用ARMA,则会收到NotImplementedError错误消息。
使用ARIMA模型的快速修复方法如下:
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(dataFrame.columnName, order=(1,0,0))

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

sm.tsa.arima.ARIMA plot_predict未定义。我应该使用什么? - Golden Lion
@GoldenLion 对于ARIMA模型,您可以使用 your_model.predict(start = start_date, end = end_date) 来进行预测,然后使用 plot() 来绘制预测结果,并使用 plot_forecast(value) 来绘制预测值。 - Ibrahim.H

3

不再使用

from statsmodels.tsa.arima_model import ARIMA

请改为以下内容

from statsmodels.tsa.arima.model import ARIMA

2

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

import warnings

warnings.filterwarnings("ignore")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接