Colab运行ARIMA代码报No module named 'statsmodels.tsa.arima'但PyCharm正常如何解决
问题原因
该报错由Colab默认预装的statsmodels版本过低导致:from statsmodels.tsa.arima.model import ARIMA是statsmodels 0.12及以上版本才支持的新接口,旧版本中无该模块路径。
可行解决方案
- 方案1:升级Colab的statsmodels版本(保留原代码完全不变)
首先在Colab中新建一个代码块,运行如下升级命令:!pip install --upgrade statsmodels
升级完成后点击顶部菜单栏「运行时」→「重新启动运行时」,重启后再运行原ARIMA代码即可正常执行。 - 方案2:修改导入语句适配旧版本(无需升级库)
将原代码的导入行替换为旧版本兼容的导入路径即可,其余代码无需调整:
把from statsmodels.tsa.arima.model import ARIMA改为from statsmodels.tsa.arima_model import ARIMA(注意模块名多了一个下划线) - 方案3:用SARIMAX兼容接口(全版本通用,无需改业务代码)
直接用statsmodels全版本都支持的SARIMAX类替换ARIMA,ARIMA本身就是SARIMAX无季节项的特例,业务代码完全不用修改,仅需修改导入语句:from statsmodels.tsa.statespace.sarimax import SARIMAX as ARIMA
兼容版完整测试代码
# 全版本兼容ARIMA示例 from statsmodels.tsa.statespace.sarimax import SARIMAX as ARIMA data = [200,30,30,35,30,20,26,35,30,33,40,29,29,30,30,30,30,20,26,35,30,33,40,29,29,30,30,30] # fit model model = ARIMA(data, order=(10, 1, 10)) model_fit = model.fit() # make prediction yhat = model_fit.predict(len(data), len(data), typ='levels') print(yhat)
内容的提问来源于stack exchange,提问作者Nagulan S
相关产品推荐
相关产品推荐

