How to fix this error while using statsmodels" ImportError: cannot import name 'factorial'"?

How to fix this error while using statsmodels" ImportError: cannot import name 'factorial'"?

我已经看完了这个答案 While importing auto_arima from pmdarima: ERROR : cannot import name 'factorial' from 'scipy.misc' 但无法修复错误,我不明白如何使用开发者版本。 还有其他应用季节性 ARIMA 模型的方法吗?

import statsmodels.api as sm
mod = sm.tsa.statespace.SARIMAX(train_weekly.Price,
                                order=(1, 0, 0),
                                seasonal_order=(1, 1, 0, 12),
                                enforce_stationarity=False,
                                enforce_invertibility=False)

results = mod.fit()
print(results.summary().tables[0])
print(results.summary().tables[1])

输出如下

ImportError                               Traceback (most recent call last)
<ipython-input-30-a5d9120bdc57> in <module>()
----> 1 import statsmodels.api as sm
      2 mod = sm.tsa.statespace.SARIMAX(train_weekly.Price,
      3                                 order=(1, 0, 0),
      4                                 seasonal_order=(1, 1, 0, 12),
      5                                 enforce_stationarity=False,

3 frames
/usr/local/lib/python3.6/dist-packages/statsmodels/api.py in <module>()
     14 from . import robust
     15 from .robust.robust_linear_model import RLM
---> 16 from .discrete.discrete_model import (Poisson, Logit, Probit,
     17                                       MNLogit, NegativeBinomial,
     18                                       GeneralizedPoisson,

/usr/local/lib/python3.6/dist-packages/statsmodels/discrete/discrete_model.py in <module>()
     43 
     44 from statsmodels.base.l1_slsqp import fit_l1_slsqp
---> 45 from statsmodels.distributions import genpoisson_p
     46 
     47 try:

/usr/local/lib/python3.6/dist-packages/statsmodels/distributions/__init__.py in <module>()
      1 from .empirical_distribution import ECDF, monotone_fn_inverter, StepFunction
----> 2 from .edgeworth import ExpandedNormal
      3 from .discrete import genpoisson_p, zipoisson, zigenpoisson, zinegbin

/usr/local/lib/python3.6/dist-packages/statsmodels/distributions/edgeworth.py in <module>()
      5 import numpy as np
      6 from numpy.polynomial.hermite_e import HermiteE
----> 7 from scipy.misc import factorial
      8 from scipy.stats import rv_continuous
      9 import scipy.special as special

ImportError: cannot import name 'factorial'

我只想使用季节性ARIMA,如果有任何其他方法请帮助我。 谢谢

似乎 scipy 模块的版本不匹配。尝试降级 scipy 模块。

在windows管理模式下执行以下命令,

pip3 install --user scipy==1.2.0

如果您正在使用 Linux,

python3.6 -m pip install scipy==1.2 --upgrade