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.55k stars 228 forks source link

fit(), update(), and predict() still take exog as argument #530

Open jeiglsperger opened 1 year ago

jeiglsperger commented 1 year ago

Describe the bug

I read that after 2.0 exog was being replaced with X as argument call when fitting, updating, or predicting. But because of **fit_args these functions still take exog as argument without having an impact then. This can be very confusing or a dangerous source of mistakes for users who updated a pre 2.0 version to 2.0 and upwards because it produces wrong or unexpected predictions.

To Reproduce

General behavior, independent of specific configurations or code.

Versions

>>> import pmdarima; pmdarima.show_versions()

System:
    python: 3.10.6 (main, Nov  2 2022, 18:53:38) [GCC 11.3.0]
executable: /usr/bin/python3
   machine: Linux-5.15.0-53-generic-x86_64-with-glibc2.35

Python dependencies:
        pip: 22.3.1
 setuptools: 59.6.0
    sklearn: 1.1.2
statsmodels: 0.13.2
      numpy: 1.23.3
      scipy: 1.8.1
     Cython: 0.29.32
     pandas: 1.5.0
     joblib: 1.2.0
   pmdarima: 2.0.1
>>> 
>>> # For pmdarima versions <1.5.2 use this:
>>> import platform; print(platform.platform())
Linux-5.15.0-53-generic-x86_64-with-glibc2.35
>>> import sys; print("Python", sys.version)
Python 3.10.6 (main, Nov  2 2022, 18:53:38) [GCC 11.3.0]
>>> import pmdarima; print("pmdarima", pmdarima.__version__)
pmdarima 2.0.1
>>> import numpy; print("NumPy", numpy.__version__)
NumPy 1.23.3
>>> import scipy; print("SciPy", scipy.__version__)
SciPy 1.8.1
>>> import sklearn; print("Scikit-Learn", sklearn.__version__)
Scikit-Learn 1.1.2
>>> import statsmodels; print("Statsmodels", statsmodels.__version__)
Statsmodels 0.13.2

Expected Behavior

It should throw an error when still using exog.

Actual Behavior

Is processes exogenous data passed to these functions as exog but these exogenous data have no impact on the model.

Additional Context

No response