alkaline-ml / pmdarima

A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.
https://www.alkaline-ml.com/pmdarima
MIT License
1.57k stars 231 forks source link

Value Error on running pmdarima example from pmdarima manual #465

Closed soumyadiptapete closed 2 years ago

soumyadiptapete commented 2 years ago

Installed pmdarima via conda and/or pip. Different versions tried like 1.8.2/1.6.0.

Tried to run Example 3.1 on http://alkaline-ml.com/pmdarima/quickstart.html

Producing error in the bottom piece of code- stepwise_fit = pm.auto_arima(wineind, start_p=1, start_q=1, max_p=3, max_q=3, m=12, start_P=0, seasonal=True, d=1, D=1, trace=True, error_action='ignore', # don't want to know if an order does not work suppress_warnings=True, # don't want convergence warnings stepwise=True) # set to stepwise

Error- The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Complete Output-

Performing stepwise search to minimize aic Fit ARIMA(1,1,1)x(0,1,1,12) [intercept=True]; AIC=3066.760, BIC=3082.229, Time=0.330 seconds Fit ARIMA(0,1,0)x(0,1,0,12) [intercept=True]; AIC=3133.376, BIC=3139.564, Time=0.012 seconds Fit ARIMA(1,1,0)x(1,1,0,12) [intercept=True]; AIC=3099.734, BIC=3112.109, Time=0.084 seconds Traceback (most recent call last):

File "C:\Users\soumyadipta.sengupta\OneDrive - Shell\Documents\SARIMA_example\example.py", line 44, in stepwise=True) # set to stepwise

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\pmdarima\arima\auto.py", line 588, in auto_arima all_res = stepwise_wrapper.solve_stepwise()

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\pmdarima\arima_auto_solvers.py", line 199, in solve_stepwise if self._do_fit((_p, d, 0), (_P, D, 0, m)):

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\pmdarima\arima_auto_solvers.py", line 172, in _do_fit if self.is_new_better(fit):

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\pmdarima\arima_auto_solvers.py", line 140, in is_new_better new_ic = _root_test(new_model, new_ic, self.trace)

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\pmdarima\arima_auto_solvers.py", line 33, in _root_test max_invroot = max(0, *np.abs(1 / model.arroots()))

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\sklearn\utils\metaestimators.py", line 109, in get if not self.check(obj):

File "C:\Users\soumyadipta.sengupta\Anaconda3\envs\pmdarima_spy\lib\site-packages\sklearn\utils\metaestimators.py", line 197, in _check return getattr(delegate, self.attribute_name) or True

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

tgsmith61591 commented 2 years ago

Duplicate of #454 . Solved by upgrading to 1.8.3