ARIMA训练报错:SARIMAX要求单变量endog,输入形状(88,2)
问题解决:ARIMA训练报错SARIMAX相关问题
为啥ARIMA会冒出SARIMAX的错
statsmodels里的ARIMA其实是套在SARIMAX外面的壳子——底层用的就是SARIMAX的逻辑,只是默认关闭了季节性参数,所以报错信息会显示SARIMAX的要求,这是库内部的正常实现逻辑,不用奇怪。
报错根源和解决办法
你碰到的ValueError: SARIMAX models require univariate endog. Got shape (88, 2),核心问题就是:ARIMA是单变量时间序列模型,只能喂一列数据,但你传的train是包含2列的DataFrame,不符合要求。
改代码即可,指定具体要建模的列:
- 基于
total_mtrs列建模:
arma_mod20 = ARIMA(train['total_mtrs'], order=(0,1,0)).fit()
- 基于
total_mtrs_2列建模:
arma_mod20 = ARIMA(train['total_mtrs_2'], order=(0,1,0)).fit()
额外提示
要是你想同时处理两列时间序列,别用ARIMA,要么给每列单独训练ARIMA模型,要么换用VAR这类多变量时间序列模型。
内容的提问来源于stack exchange,提问作者Mehmaam
相关产品推荐
相关产品推荐

