Python ARIMA预测-线性误差:SVD未收敛
我面临一个奇怪的错误Python ARIMA预测-线性误差:SVD未收敛,python,python-3.x,list,arima,Python,Python 3.x,List,Arima,我面临一个奇怪的错误linalgeror:SVD在JupyterLab上用Python进行ARIMA预测时没有收敛 我浏览了这个问题,提到的常见原因是数组中存在NaN或无效值。奇怪的是,在以下两个列表中,ARIMA模型适用于第一个列表,即注册率1,但不适用于第二个列表,即注册率,但两个列表的结构相同 ==========RegistrationRates1========== 20 [[43.80517448], [39.36453258], [39.70608009], [39.3930015
linalgeror:SVD在JupyterLab上用Python进行ARIMA预测时没有收敛
我浏览了这个问题,提到的常见原因是数组中存在NaN或无效值。奇怪的是,在以下两个列表中,ARIMA模型适用于第一个列表,即注册率1
,但不适用于第二个列表,即注册率
,但两个列表的结构相同
==========RegistrationRates1==========
20
[[43.80517448], [39.36453258], [39.70608009], [39.39300158], [43.30890468], [45.21370359], [46.72624559], [46.2387957], [46.67145853], [49.18804367], [47.71981447], [51.36193024], [52.8201166], [51.22670829], [53.56771018], [50.00680673], [52.39296528], [53.20835592], [50.80719854], [52.54866463]]
[<class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>]
==========RegistrationRates==========
20
[[36.30621294], [29.44909876], [26.76993013], [28.15856476], [32.70576672], [32.21908981], [36.840430700000006], [32.28168264], [30.70488457], [34.27677665], [27.53115582], [30.920245399999995], [30.61829196], [26.56064405], [29.51944325], [26.6194901], [24.05321567], [33.384220500000005], [23.63554653], [20.63679245]]
[<class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>, <class 'list'>]
=============注册率1==========
20
[[43.80517448], [39.36453258], [39.70608009], [39.39300158], [43.30890468], [45.21370359], [46.72624559], [46.2387957], [46.67145853], [49.18804367], [47.71981447], [51.36193024], [52.8201166], [51.22670829], [53.56771018], [50.00680673], [52.39296528], [53.20835592], [50.80719854], [52.54866463]]
[, , , , , , , , , , ]
=============注册率==========
20
[[36.30621294], [29.44909876], [26.76993013], [28.15856476], [32.70576672], [32.21908981], [36.840430700000006], [32.28168264], [30.70488457], [34.27677665], [27.53115582], [30.920245399999995], [30.61829196], [26.56064405], [29.51944325], [26.6194901], [24.05321567], [33.384220500000005], [23.63554653], [20.63679245]]
[, , , , , , , , , , ]
我已经打印了列表名称、大小、内容和列表元素的类型。一切似乎都很相似,因此我无法找到导致此错误的可能原因:
..\lib\site-packages\statsmodels\base\model.py:492: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available
'available', HessianInversionWarning)
..\lib\site-packages\statsmodels\base\model.py:512: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals
"Check mle_retvals", ConvergenceWarning)
---------------------------------------------------------------------------
LinAlgError Traceback (most recent call last)
<ipython-input-42-f1cab0f554ce> in <module>
60 predictions = list()
61 for i in range (10):
---> 62 predicted= StartARIMAForecasting(RegistrationRates, 5,1,0)
63 p = predicted[0]
64 predictions.append(p)
<ipython-input-42-f1cab0f554ce> in StartARIMAForecasting(Actual, P, D, Q)
13 def StartARIMAForecasting(Actual, P, D, Q):
14 model = ARIMA(Actual, order=(P, D, Q))
---> 15 model_fit = model.fit(disp=0)
16 prediction = model_fit.forecast()[0]
17 return prediction
LONG LONG STACK-TRACE and then
LinAlgError: SVD did not converge
。\lib\site packages\statsmodels\base\model.py:492:HessianinVersion警告:反转hessian失败,没有可用的bse或cov参数
“可用”,HessianVersionWarning)
..\lib\site packages\statsmodels\base\model.py:512:ConvergenceWarning:最大似然优化无法收敛。检查mle_retvals
“检查mle_retvals”,收敛警告)
---------------------------------------------------------------------------
LinalError回溯(最近一次调用上次)
在里面
60预测=列表()
61对于范围(10)内的i:
--->62预测=星空预测(登记率,5,1,0)
63 p=预测值[0]
64.追加(p)
在Startarima预测中(实际、P、D、Q)
13 def STARTARIMA预测(实际、P、D、Q):
14模型=ARIMA(实际,顺序=(P,D,Q))
--->15模型拟合=模型拟合(disp=0)
16预测=模型拟合。预测()[0]
17收益预测
长堆栈跟踪,然后
LinalError:SVD未收敛