.. _sphx_glr_auto_examples_example_simple_fit.py: ======================= Simple auto_arima model ======================= This is a simple example of how we can fit an ARIMA model in several lines without knowing anything about our data or optimal hyper parameters. .. raw:: html
.. image:: /auto_examples/images/sphx_glr_example_simple_fit_001.png :align: center .. rst-class:: sphx-glr-script-out Out:: Fit ARIMA: order=(2, 1, 2) seasonal_order=(1, 0, 1, 12); AIC=2908.451, BIC=2932.482, Fit time=1.607 seconds Fit ARIMA: order=(0, 1, 0) seasonal_order=(0, 0, 0, 12); AIC=3049.597, BIC=3055.604, Fit time=0.007 seconds Fit ARIMA: order=(1, 1, 0) seasonal_order=(1, 0, 0, 12); AIC=2895.934, BIC=2907.950, Fit time=0.390 seconds Fit ARIMA: order=(0, 1, 1) seasonal_order=(0, 0, 1, 12); AIC=2917.891, BIC=2929.907, Fit time=0.606 seconds Fit ARIMA: order=(1, 1, 0) seasonal_order=(0, 0, 0, 12); AIC=3039.240, BIC=3048.252, Fit time=0.045 seconds Fit ARIMA: order=(1, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2890.929, BIC=2905.949, Fit time=3.724 seconds Fit ARIMA: order=(1, 1, 0) seasonal_order=(2, 0, 1, 12); AIC=2892.498, BIC=2910.522, Fit time=8.288 seconds Fit ARIMA: order=(0, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2906.911, BIC=2918.927, Fit time=2.528 seconds Fit ARIMA: order=(2, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2873.301, BIC=2891.325, Fit time=7.268 seconds Fit ARIMA: order=(2, 1, 1) seasonal_order=(2, 0, 0, 12); AIC=2891.288, BIC=2912.316, Fit time=10.997 seconds Fit ARIMA: order=(3, 1, 1) seasonal_order=(2, 0, 0, 12); AIC=2881.360, BIC=2905.391, Fit time=21.310 seconds Fit ARIMA: order=(2, 1, 0) seasonal_order=(1, 0, 0, 12); AIC=2879.303, BIC=2894.322, Fit time=0.714 seconds Fit ARIMA: order=(2, 1, 0) seasonal_order=(2, 0, 1, 12); AIC=2875.058, BIC=2896.086, Fit time=15.610 seconds Fit ARIMA: order=(3, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2866.267, BIC=2887.294, Fit time=14.264 seconds Fit ARIMA: order=(4, 1, 1) seasonal_order=(2, 0, 0, 12); AIC=2870.532, BIC=2897.567, Fit time=22.407 seconds Fit ARIMA: order=(3, 1, 0) seasonal_order=(1, 0, 0, 12); AIC=2870.467, BIC=2888.491, Fit time=0.828 seconds Fit ARIMA: order=(3, 1, 0) seasonal_order=(2, 0, 1, 12); AIC=2867.919, BIC=2891.951, Fit time=12.281 seconds Fit ARIMA: order=(4, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2858.880, BIC=2882.912, Fit time=18.512 seconds Fit ARIMA: order=(5, 1, 1) seasonal_order=(2, 0, 0, 12); AIC=2868.950, BIC=2898.990, Fit time=19.391 seconds Fit ARIMA: order=(4, 1, 0) seasonal_order=(1, 0, 0, 12); AIC=2866.318, BIC=2887.345, Fit time=1.286 seconds Fit ARIMA: order=(4, 1, 0) seasonal_order=(2, 0, 1, 12); AIC=2863.844, BIC=2890.879, Fit time=11.690 seconds Fit ARIMA: order=(5, 1, 0) seasonal_order=(2, 0, 0, 12); AIC=2860.023, BIC=2887.059, Fit time=13.714 seconds Total fit time: 187.482 seconds | .. code-block:: python print(__doc__) # Author: Taylor Smith import pmdarima as pm import numpy as np from matplotlib import pyplot as plt # ############################################################################# # Load the data and split it into separate pieces data = pm.datasets.load_wineind() train, test = data[:150], data[150:] # Fit a simple auto_arima model arima = pm.auto_arima(train, error_action='ignore', trace=1, seasonal=True, m=12) # ############################################################################# # Plot actual test vs. forecasts: x = np.arange(test.shape[0]) plt.scatter(x, test, marker='x') plt.plot(x, arima.predict(n_periods=test.shape[0])) plt.title('Actual test samples vs. forecasts') plt.show() **Total running time of the script:** ( 3 minutes 7.579 seconds) .. only :: html .. container:: sphx-glr-footer .. container:: sphx-glr-download :download:`Download Python source code: example_simple_fit.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: example_simple_fit.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_