{ "cells": [ { "cell_type": "markdown", "id": "81e0620e", "metadata": {}, "source": [ "Last updated: 16 Feb 2023\n", "\n", "# 👋 PyCaret Time Series Forecasting Tutorial\n", "\n", "PyCaret is an open-source, low-code machine learning library in Python that automates machine learning workflows. It is an end-to-end machine learning and model management tool that exponentially speeds up the experiment cycle and makes you more productive.\n", "\n", "Compared with the other open-source machine learning libraries, PyCaret is an alternate low-code library that can be used to replace hundreds of lines of code with a few lines only. This makes experiments exponentially fast and efficient. PyCaret is essentially a Python wrapper around several machine learning libraries and frameworks, such as scikit-learn, XGBoost, LightGBM, CatBoost, spaCy, Optuna, Hyperopt, Ray, and a few more.\n", "\n", "The design and simplicity of PyCaret are inspired by the emerging role of citizen data scientists, a term first used by Gartner. Citizen Data Scientists are power users who can perform both simple and moderately sophisticated analytical tasks that would previously have required more technical expertise.\n" ] }, { "cell_type": "markdown", "id": "8116e19d", "metadata": {}, "source": [ "# 💻 Installation\n", "\n", "PyCaret is tested and supported on the following 64-bit systems:\n", "- Python 3.7 – 3.10\n", "- Python 3.9 for Ubuntu only\n", "- Ubuntu 16.04 or later\n", "- Windows 7 or later\n", "\n", "You can install PyCaret with Python's pip package manager:\n", "\n", "`pip install pycaret`\n", "\n", "PyCaret's default installation will not install all the extra dependencies automatically. For that you will have to install the full version:\n", "\n", "`pip install pycaret[full]`\n", "\n", "or depending on your use-case you may install one of the following variant:\n", "\n", "- `pip install pycaret[analysis]`\n", "- `pip install pycaret[models]`\n", "- `pip install pycaret[tuner]`\n", "- `pip install pycaret[mlops]`\n", "- `pip install pycaret[parallel]`\n", "- `pip install pycaret[test]`" ] }, { "cell_type": "code", "execution_count": 1, "id": "d7142a33", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'3.0.0'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check installed version\n", "import pycaret\n", "pycaret.__version__" ] }, { "cell_type": "markdown", "id": "fb66e98d", "metadata": {}, "source": [ "# 🚀 Quick start" ] }, { "cell_type": "markdown", "id": "00347d44", "metadata": {}, "source": [ "PyCaret's time series forecasting module is now available. The module currently is suitable for univariate / multivariate time series forecasting tasks. The API of time series module is consistent with other modules of PyCaret.\n", "\n", "It comes built-in with preprocessing capabilities and over 30 algorithms comprising of statistical / time-series methods as well as machine learning based models. In addition to the model training, this module has lot of other capabilities such as automated hyperparameter tuning, ensembling, model analysis, model packaging and deployment capabilities. \n", "\n", "A typical workflow in PyCaret consist of following 5 steps in this order:\n", "\n", "### **Setup** ➡️ **Compare Models** ➡️ **Analyze Model** ➡️ **Prediction** ➡️ **Save Model**
" ] }, { "cell_type": "code", "execution_count": 2, "id": "1b09f8df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Period\n", "1949-01 112.0\n", "1949-02 118.0\n", "1949-03 132.0\n", "1949-04 129.0\n", "1949-05 121.0\n", "Freq: M, Name: Number of airline passengers, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### loading sample dataset from pycaret dataset module\n", "from pycaret.datasets import get_data\n", "data = get_data('airline')" ] }, { "cell_type": "code", "execution_count": 3, "id": "2530c17c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGwCAYAAACD0J42AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB5QUlEQVR4nO3dd3xb9b0//tfR9pT3ikf2IoskNDFhk5JAoIxASwmzdHFDB1xom++P0l64JS0dtLQptJSb0AJltMwQRgi72SF7ke1tJ95T8/z+OPocSbZsax7J9uv5ePhRYsnSkUjR2+/1kWRZlkFERESUQHTxvgAiIiKi3higEBERUcJhgEJEREQJhwEKERERJRwGKERERJRwGKAQERFRwmGAQkRERAnHEO8LCIfb7UZNTQ3S0tIgSVK8L4eIiIiCIMsy2tvbUVRUBJ1u4BzJkAxQampqUFJSEu/LICIiojBUVlaiuLh4wPsMyQAlLS0NgPIC09PT43w1REREFIy2tjaUlJSon+MDGZIBiijrpKenM0AhIiIaYoJpz2CTLBERESUcBihERESUcBigEBERUcJhgEJEREQJhwEKERERJRwGKERERJRwGKAQERFRwmGAQkRERAmHAQoRERElHAYoRERElHAYoBAREVHCYYBCRERECYcBChEREQ3K5ZbhdsuaPR8DFCIiIhpQTUs3pv/8XTzw+j7NnpMBChEREQ1oV2ULuuwuvLStEq1dDk2ekwEKERERDai9RwlKnG4Z7x6o0+Q5GaAQERHRgNq6neo/r9tbq8lzMkAhIiKiAbX1eMs6nx05g5Yue8yfkwEKERERDait2xugON0y3ttfH/PnZIBCREREA2rvUUo82SkmAMBbGpR5GKAQERHRgESJZ+mcYgDAf47GvszDAIWIiIgGJJpkZxZnYEphuiZlHgYoRERENCCRQUlPMmDJ9AIAwNoYl3kYoBAREdGARA9KusWIK6YXAlDKPM2dsSvzMEAhIiKiAYkpnvQkI8bmpmJsbgpcbhl7q1tj9pwhByjV1dW4+eabkZ2djaSkJEyfPh3bt29Xb5dlGQ8++CAKCwuRlJSEhQsX4siRI36P0dTUhGXLliE9PR0ZGRm488470dHREfmrISIioqhyuWW025QMSprFAADISTEDADpszn5/LlIhBSjNzc1YsGABjEYj3n77bRw4cAC//e1vkZmZqd7n0UcfxeOPP44nn3wSW7ZsQUpKChYtWoSenh71PsuWLcP+/fuxfv16rF27Fp988gm+/e1vR+9VERERUVR09HiDEBGgpHr+1/e2aDOEcudf/epXKCkpwerVq9XvjRkzRv1nWZbx+9//Hg888ACuvvpqAMDf//535Ofn47XXXsONN96IgwcP4p133sG2bdswd+5cAMAf//hHXHHFFfjNb36DoqKiPs9rs9lgs9nUP7e1tYX2KomIiCgsokHWYtTBbNADAFLNSvjQnigZlDfeeANz587FDTfcgLy8PJx99tl46qmn1NtPnDiBuro6LFy4UP2e1WrFvHnzsGnTJgDApk2bkJGRoQYnALBw4ULodDps2bIl4POuXLkSVqtV/SopKQnpRRIREVF41Akei1H9nhYZlJAClOPHj+OJJ57AhAkT8O677+Kuu+7C97//fTzzzDMAgLo65YTD/Px8v5/Lz89Xb6urq0NeXp7f7QaDAVlZWep9eluxYgVaW1vVr8rKylAum4iIiMIkdqCI8g4ApHkyKB02R8CfiYaQSjxutxtz587FI488AgA4++yzsW/fPjz55JO47bbbYnKBAGA2m2E2m2P2+ERERBSYdweKTwZFDVASJINSWFiIqVOn+n1vypQpqKioAAAUFCjLW+rr/bfL1dfXq7cVFBSgoaHB73an04mmpib1PkRERJQYfHegCKLE054oJZ4FCxbg8OHDft/74osvUFZWBkBpmC0oKMCGDRvU29va2rBlyxaUl5cDAMrLy9HS0oIdO3ao9/nggw/gdrsxb968sF8IERERRZ/vDhRBiwxKSCWee+65B+eeey4eeeQRfPWrX8XWrVvx17/+FX/9618BAJIk4Yc//CH+93//FxMmTMCYMWPw05/+FEVFRbjmmmsAKBmXxYsX41vf+haefPJJOBwO3H333bjxxhsDTvAQERFR/IgSj18PSqKNGZ9zzjl49dVXsWLFCjz00EMYM2YMfv/732PZsmXqfX70ox+hs7MT3/72t9HS0oLzzjsP77zzDiwWi3qf5557DnfffTcuvfRS6HQ6LF26FI8//nj0XhURERFFhWiS9SvxmJV/TpgMCgBceeWVuPLKK/u9XZIkPPTQQ3jooYf6vU9WVhaef/75UJ+aiIiINNbuc1CgkHA9KERERDSyeEs8CTzFQ0RERCOLt8QToAfF5oQsyzF5XgYoRERE1K92W/9TPC63jB6HOybPywCFiIiI+hWoSTbZpIckKf/cHqNtsgxQiIiIqF/es3i8JR5Jkrx9KDFqlGWAQkRERAHJsuzdJOtT4gF8z+NhgEJEREQa6rK74HIrTbC+JR4g9icaM0AhIiKigER5x6iXYDH6hwyixNPODAoRERFpSTTIplmMkERXrEeqJ6PCDAoRERFpKlCDrMAeFCIiIooL75p7Y5/bYr1NlgEKERERBRRoB4oQ6/N4GKAQERFRQN5zePqWeLwZFC5qIyIiIg21dYselL4ZlDSOGRMREVE8eJe0DZRBccXkuRmgEBERUUDeEk/fDEoKSzxEREQUD94m2QAZFAuneIiIiEaMU42dcLjc8b4MAD57UAKMGafxsEAiIqKR4aVtlbjw1x/hTx8cjfelAADaegYfM2YGhYiIaBizO9147P0vAAAHa9vifDWK9u7Bx4y5B4WIiGgYe+XzKtS29gCIXVYiVAOXeJTv2Zxu2J3RL0kxQCEiIoozp8uNP390TP1zwgQookk2QICSYtar/9wZg+tlgEJERBRnb+yuQUVTl/rnWDWehqLH4YLd06wbaIrHoNchyagEKbEIqBigEBERxZHLLeNPHypNsV+ZWQTA25waT6K8I0lAiqlvgALE9jweBihERERx9Pa+Whw/3QlrkhF3XTQOQOyWn4VClHfSzAbodFLA+6TF8ERjBihERERx9NQnxwEAdywYjUKrBQDQ43DHfRdK+wANsoJ31Dj6ARUDFCIiojg60tABALh61ih1fTwQm8bTUAy0A0WI5agxAxQiIqI4sTld6LIrh+1lpZhg9Gk8jdV+kWC1DbADRUhliYeIiGj4afUEATrJ288Ry8bTUAy0A0VQSzzMoBAREQ0frV1KEGBNMqqNqLFsPA1FexAlHjbJEhERDUMtngxKRrJJ/Z43gxLfSR5R4klPGqDEwzFjIiKi4afFJ4MipMX4EL5giRJP2oBNssptzKAQERENIy1ddgBARrI3CIj1IXzBUtfcD9Qkyx4UIiKi4Uc0yWYk+QYosctKhCKYPSjsQSEiIhqGRInHtwclLUF6UER/TFB7UBigEBERDR8t3UqJJ2APSpxLPE2dyrXlpJr6vY+3xMNNskRERMOGN4MSoAclziWexg4lQMlKGSBAYYmHiIho+FF7UHwDlATIoPQ4XGrQkZ1q7vd+scz2MEAhIiKKEzWDkuSzByUBpnhEeceolwae4vFca6fdBZdbjuo1MEAhIiKKk2bPmLHVJ4MimlLjOcUjyjvZKWZIktTv/VJ9gpdOe3SvlwEKERFRnLR2BRgzToBFbWc6bQAG7j8BALNBD5NeCSWiXeZhgEJERBQHDpdbbYT1W3WfCCUekUEZYIJHSDErpy9HO6BigEJERBQH4qwbwH9bayLsQWn0ZFByBmiQFWJ1Hg8DFCIiojgQi9DSLAYY9N6P4zTPJlmb0w270x2XawtmxFiI1eZbBihERERxEGgHCuAtmQBAZ5z6UM6EUOJR190zg0JERDT0tXq2yPqOGAOAQa9DklEJUuLVh9IkSjwpwZd4OmzRLUkxQCEiIoqD/jIogE8fSpQ/9IPV2Bl8BiVWTb0MUIiIiOJABCjWAKcFx3ubbEg9KDEai2aAQkREFActAdbcC2kxPONmMLIs40xH8FM87EEhIiIaRlq7AvegALEb3Q1Gl90Fm2d6KJQSDzMoREREw8DAGRTle/E40ViUdyxGHZJN/Z/DI6jBFAMUIiKioS9Re1DEmvvsICZ4ADbJEhERRaSlyx7X821682ZQApR4zLEZ3Q2GWHOfE0R5R7mfEsicbrdF9TpCClB+/vOfQ5Ikv6/Jkyert/f09GD58uXIzs5Gamoqli5divr6er/HqKiowJIlS5CcnIy8vDzcf//9cDoT5y8MERENP209Dlz22Ce48vFP4XbL8b4cAD49KAONGcchgyLW3GcH0SALAIUZFgBAbWt3VK9j8OJSL2eddRbef/997wMYvA9xzz334K233sLLL78Mq9WKu+++G9dddx3+85//AABcLheWLFmCgoICbNy4EbW1tbj11lthNBrxyCOPROHlEBER9fXm7ho0eH7D77A7kW7pGxRoTc2gBCjxpMWzxBPCiDEAFFqTACglq267C0km/SA/EZyQSzwGgwEFBQXqV05ODgCgtbUVTz/9NH73u9/hkksuwZw5c7B69Wps3LgRmzdvBgC89957OHDgAJ599lnMmjULl19+OR5++GGsWrUKdrs9Ki+IiIiot5e2V6n/HK/18b7cbhmtngDFGiCDkpoATbLBTPAAykGHKZ6gpCaKWZSQA5QjR46gqKgIY8eOxbJly1BRUQEA2LFjBxwOBxYuXKjed/LkySgtLcWmTZsAAJs2bcL06dORn5+v3mfRokVoa2vD/v37+31Om82GtrY2vy8iIqJgfFHfjt2VLeqf47X8zFd7jxOyp9KUaE2yoay5BwBJklCYoWRRalt6onYdIQUo8+bNw5o1a/DOO+/giSeewIkTJ3D++eejvb0ddXV1MJlMyMjI8PuZ/Px81NXVAQDq6ur8ghNxu7itPytXroTValW/SkpKQrlsIiIawV7eXun350RolG3xnMOTbNLDbOhbEhHLz+Kx6j6UNfdCoVXpQ6lpiV4GJaQelMsvv1z95xkzZmDevHkoKyvDSy+9hKSkpKhdVG8rVqzAvffeq/65ra2NQQoREQ3K4XLjlc+rAQCSBMhyggQoXf33nwBDqwcFAEZ5MihxLfH4ysjIwMSJE3H06FEUFBTAbrejpaXF7z719fUoKCgAABQUFPSZ6hF/FvcJxGw2Iz093e+LiIhoMB8cakBjpx05qWbMLM4AkBglnha1/yRwEBCr822CoZZ4gpziAbyNsnEr8fTW0dGBY8eOobCwEHPmzIHRaMSGDRvU2w8fPoyKigqUl5cDAMrLy7F37140NDSo91m/fj3S09MxderUSC6FiIioD1HeWTp7lDrOmxgZFLHmPnAGJVbLzwYjy3LITbKAd9Q4bhmU++67Dx9//DFOnjyJjRs34tprr4Ver8fXv/51WK1W3Hnnnbj33nvx4YcfYseOHbjjjjtQXl6O+fPnAwAuu+wyTJ06Fbfccgt2796Nd999Fw888ACWL18Oszn4SI2IiGgwDe09+PDwaQDADXOLkRLHA/h6ax1gzT3gXXVvc7ph95yLo4W2biecnj0xoZR4ikQGpTV6GZSQelCqqqrw9a9/HY2NjcjNzcV5552HzZs3Izc3FwDw2GOPQafTYenSpbDZbFi0aBH+/Oc/qz+v1+uxdu1a3HXXXSgvL0dKSgpuu+02PPTQQ1F7QURERADw5u5auNwyzi7NwPi8NLXxNBHGjNUelH4CFFHiAZSAKssQfLAQCbHmPs1sCNi82x91WVtLN2RZhiRJEV9LSAHKCy+8MODtFosFq1atwqpVq/q9T1lZGdatWxfK0xIREYXsaEMHAOD8Ccov0Snm2BxqFw7vOTyBAw+9TkKySY8uuwsdPc6QshmRaApjggfwZlA67S609TgDjk6HimfxEBHRsCTOhslPV1oIUhMpg9Ld/5p7QVxvW492o8aNHaGtuReSTHr1tURr1JgBChERDUun25V+iNxU/wAlEaZ4WgcZMwbiM8kTzoixoE7yRKlRlgEKERENSyKDkpeu9Ed4P/BdcbsmoWWQJlkASPOcF6RlQCVKPMGeZOxrlJjkidKoMQMUIiIadmRZxmlPuSI3rVcGJQ7bWXsTY8b99aAA3m2yWmZQ1BJPkGvufTGDQkRENIiWLgccLmVcVmQDvD0o8c+gDDZmDPjuQtEuoDrTGUGJR53kYQaFiIgooAZPeScj2aiOy8ZzO6svWZYHHTMGvNer5dSRt0k29ABFTPJEa1kbAxQiIhp2RP9Jrs80SoopPttZe+u0u9RlaBkDlXjicB6PtwclnBKPJ4MSpWVtDFCIiGjYOd2hfEjmpXs/aMUHfrzHjEX/icmgg8XY/8dwfHpQwtuDAgBFGd5tsm5PABYJBihERDTsNLQFyKB4PvC7HS44Xdqtj+/N9yTjgTauqiUejTIoLreMpq7we1Dy0y2QJMDudKPRk4mJBAMUIiIadnqPGANAitm7ur3THr9G2WAaZAEg1XMej1YBSkuXHbIn8ZHVzynLAzEZdGppKBqTPAxQiIho2GkI0INiNuhh0isfe/FslPVmUAYOAtQeFI3GokXWIzPZCIM+vPCgyBq9XSgMUIiIaNjxZlD8mz1TE6APpanTO2E0EK2njt7bXwcAKM1OCfsxvH0ozKAQERH10dBrzb3g3S0SvwClrk25tgKrZcD7pWl4rZ02J57+7AQA4BsLRof9ON5lbcygEBFRHPU4XHhrTy3+8vEx2J3xazztrb8MSkoCHBhY3yYOMRwkQNFw1f1zW06hucuB0dnJWDK9MOzHKVLX3UeeQTFE/AhERDTiHKxtw/NbKvDG7hq16TMn1Yylc4rjfGVK0NTm+VDPTfUPAuIxuttbvSeDkpc28K4RrRa19Thc+OsnSvbkvy4eH3b/CRDdDAoDFCIiCsnpdhuu+uNn6rIxSQJkGaiOwm/N0SCyJyaDDulJ/h9zYpInEQKUwUo8ohxld7phc7rUjbjR9uK2SpzpsGFURhKuPXtURI9VGMUMCks8REQUkiMN7XC6ZeSkmvHsnfPwnQvGAfCuSY839ZDAVHOfPSOpcTghuLdgSzwiQAFi14dic7rw5MfHAAB3XTQOxgiyJ4B33X19W0/Eu2YYoBARUUiqmpXfjqcWpeO8CTlqqeJMFJZzRYNY0ta7/wQAUuOcQelxuNSSWH7awAGKXiepo8ZiNDnaXvm8GrWtPchPN+P6KJTnctPMMOgkuGXvqHe4GKAQEVFIRIBSnKn8tizWojd1JEaA4ptB6S01zk2yorxjMfYtPwUigj8xlRRtb+9TRou/sWAMLMbIS0h6naRes5hWChcDFCIiCklVcxcAYJRn50V2ivKB1NiZICUezwdjboAmVDHFo+UJwb58yzsDrbkXxGs4HWE2oj9VTcq/yxnFGVF7zEzPmnxx5lC4GKAQEVFI+sugNCZYBiUvQAklUTIog5V3BPEaYhGguN1yn3+X0SDO8WnujKwsxQCFiIhCUq1+qCUD8AYozV12uKJwim2k1IMCA2RQ1PXxcWqSVQOUQSZ4hFhmUBrabbC73NDrJBQGeT3ByEj2/n2IBAMUIiIKmtPlVnsLSjy/dWd6PpDccuRp/WjwZlD6L/HEq0nWm0EZeAeKkKv2oEQ/QBGlukKrJaLdJ71lelb4M0AhIiLN1Lb2wOWW/U6uNep16rkyjQkwySOyDYEyKKlxD1CCGzEW8mKYQan0BCglnkxYtHgzKCzxEBGRRtSehYwk6HTeJs9sT9/BmTjvQnG75X7X3APx70GpC7PEE4spnqom5d9lSVb0+k8AIMsTrLJJloiINKNO8PRqqhSTPE1xzqC0dDvUDbfimnxpfUJwbw0hlnhi2SQrMijFUc6gZLJJloiItNbf1EeiTPKITENWigkmQ9+PuBRT/AIUWZbVEs9ga+4FkUFp7nJE/TDGyhhlUNgkS0REmqvqNcEjeAOU+JZ41P6TAEvaAO8UT4/DDUeEq9hD1dbjRLfDBSDwCHQgGUlGGPVKKS3a5bOqlthkULIYoBARkdaq1Q+1wCWeeK+7H2jNPeCd4gG070MR5Z10iwFJpuC2tup0ktqMHM0yj9PlRk2LmMaKdpOsmOJxQJbDHztngEJEREEbrMQT73X3A625B5SJI7On9KN1mSfU8o6QF4NR47o2zzSWXhdwHDsSogfF7nSrGaNwMEAhIqKgOF1u1LYqv3WPyuhV4kmQdfdqiaefDArgs6xN4wBFneAJcsRYiMWyNtF/MirTfxorGlJMepg8e1UiaZpmgEJEREERv3Ub9VKf37oTp0l24AwK4C3zaF3iEUvagu0/EWIxauyd4IlugywASJKklnkiOYWZAQoREQVFlHdGZfT9rTsnNTH2oJz2fIjnDZClELtQ2jVedy96UAqsoZVUcmMwatxfs3O0ZEahUZYBChERBWWgD7UsT4mnrccZ9XHYUISWQQm/PyIckZZ4otmDIk4xjvaIsSAyKCzxEBFRzFUPcPJtRpIRIqkS6XhpJAZacy+kqevuI1skFirRJBtqiScW6+5jnUERJxqzxENERDFXNUDfgk4nqVmUeJV5bE6XWrYJJoPSoXEGxVviSYAmWfUcnlhlUFjiISIijag9KP18qInzeOK17l78tq7XSUhPMvR7P3XdvYY9KG63rJZo8geYMArEN4MSyV4RweZ0qeWm2PWgBG6SvfpPnwX9GAxQiIgoKINtHo33JI/4bT0jyQhJ6n90Vj0w0K5dgNLYaYfTLUOSoC5eC5a4v93lRlt35Ndc29IDWQaSjHq1uTnasgIEq06XGycbu4J+DAYoREQ0KKfLjdoW8Vt3PxmU1PiWeMThdKJBsz/xmOIRI8Y5qWYY9aF99FqMeliTlNcUjVFj3xHjgQK5SAQq8dS2KmPqwWKAQkREg6pvt8Gp7kAJ3EMhSjyNcSvxKM8rRlz7k2rWflFbvTrBE97W1mj2ofS3DTiaApV4RGAULAYoREQ0KDGWWpSRBH0/m0fVHpS4lXhEBiW4AEXLRW1igic/xAkeIZrr7ivVEePY9J8AgTMoIjAKFgMUIiIaVHXL4L91ixJPvNbdN6sZlEFKPHFoklUzKCFO8AjRzKBUapBBET0ozT7ZNBHkBosBChERDcp3i2x/stVtsnEu8aQMnEFJiWeJJ8wMihibPh2F/p4qdcQ4dhkUESR22l3q4r5KZlCIiCjaqtUApf8PNW8PSrwyKKE1yQ6lHpQ8z8+JXSqREAcFxrLEk27xLu4TgWMVe1CIiCjaRNAx0IZWUeKJVw9KqE2yWvag1IkelEhLPBFmUHocLnXKKpYlHp1O8ulDUQJHERgF/RhRvyoiIhp2xGRO1gDlE1Hi6bS70G3Xdksr4P0gDLYHpV2jAMXmdOFYQwcAYGxOSliPISanGtqCC1B6HC44XX3PRKrw9IGkmQ3q6HKs+J7HY3O6UB/iiDQDFCIiGlRzEAFKmtkAk2fHRzzKPOqitsEyKCYlQLE73ZocbLivug12lxvZKSaUhllWCSWD0tJlxyW/+QhXr/pPn82zB2raAAATC9JitgNFEJmsli47ajzL4SzG4MMOBihERDSopiACFEmS1NvjsU22Rc2gDNYkq1f/WYsyz86KZgDA2aWZYQcFYsy4pcsBm3Pg7NTzWytQ09qD/TVtfcoq+2taAQBnFaWHdR2hEJms5i6HOto8UJN1bwxQiIgSyKG6Nvx900lNfrMPlsPlRptnJHegAAXwlnm0Po/H7ZZ9elAGLl0Y9DokGZUgRYtG2c89AcrssoywH8OaZFSzUwNNSdmdbjyz8aT65z3VLX637/dkULQJULy7UAY7xykQBihERAnkp6/tw4Ov78dj738R70tRidKJTsKgfQvxWnff3uOE2KI+WIkH0HbU+PNTLQCA2aWZYT+GJElqmWegSZ639taoS+EAYE9Vq/rPsiz7BCjWsK8lWJk+u1DU9frMoBARDU1HPM2Uf/n4GHZVtsT3YjxENiQj2dTvFlkhXuvuRRCVYtLDZBj8oy3Nok2AUtPSjbq2Huh1EmYURxYU5AyyrE2WZfzt0xMAgAl5qQCA3T5/h6pbutHa7YBBJ2FCfmpE1xKMDJ8Sj8igFDFAISIaelq7HGofhVsG7n95N3oc2k/D9BZM/4mQHeAUWy0E2yAriD6UWAcoorwzpTANyZ7m3HDlDdIou/l4E/bXtCHJqMfD10wDAOyrboXbk1oSDbIT8tNgNugDPkY0Zfk0yao9KCzxEBENPaeaOgEoZZScVDOONHTgDxuOxPmqfAKUID7841XiURtkU4IbnVWXtcV43X00yjuCt8QT+L19+rPjAIDr5xRjblkmLEYdOu0uHD+jZOW07D8BvMFiU5ddXdLGJlkioiHoVKPyH/Hxean4xbXKb8CJUOoRI8bBfPiLJlmtp3iag1zSJsRiWdvjG47ggkc/xLHTHer31AbZKAQoIoNSH6AH5djpDrx/sAGSBNyxYDQMeh2mefpMdlcqfShaByiiWbm2pUdt7B1oE3FvEQUov/zlLyFJEn74wx+q3+vp6cHy5cuRnZ2N1NRULF26FPX19X4/V1FRgSVLliA5ORl5eXm4//774XRqt9GPiCgRiSVaZVnJWHRWAa6eVQS3DPxufXwbZps6lexEVsrga9rjte4+2JOMhVisu39zdw0qmrqwct0hAMqyNDHWG40ARfRv1LT2DVD+taMKAHDp5DyMzVX6S2YUZwAA9lYr13DAcy1TCzUKUDx/F+o8AVWaxQDrIBNWvsIOULZt24a//OUvmDFjht/377nnHrz55pt4+eWX8fHHH6OmpgbXXXedervL5cKSJUtgt9uxceNGPPPMM1izZg0efPDBcC+FiGhYONWolHjKspVto7eWlwEATpzp6PdntNDkCTaygsqgeEo87dpmUIIdMRbSk0QDZ/SuU5TC3j9Yj+0nm7C/phUOl4ycVBNKsiJfKy/KI9UBzrQ57snaXDAxV/2eaMrdXdWC5k67GthM1SyD4h8sFod4OGFYAUpHRweWLVuGp556CpmZ3qiwtbUVTz/9NH73u9/hkksuwZw5c7B69Wps3LgRmzdvBgC89957OHDgAJ599lnMmjULl19+OR5++GGsWrUKdnt8zm8gIkoEosRTlq38hzw/XVlvXt9qUxsd46GpK/gMiuiTaOzU9ppDbZIttCof9rUtkR++BwAut+wX7PzqnUNq/0kkC9p8iQBF2crq/94GOm1aBCgHatqwu0q5lrLsZKRZYrviXuh9aGNJiGf/hBWgLF++HEuWLMHChQv9vr9jxw44HA6/70+ePBmlpaXYtGkTAGDTpk2YPn068vPz1fssWrQIbW1t2L9/f8Dns9lsaGtr8/siIhpuRImn1BOg5KVZIEmA3eVGUxR/0w9VKBmUHE8PisMlo7XbEdPr8tXcGdw5PIKYJqlqCe0Au/60dNnVPSxmgw7bTjbj6c+Ukd9olHcAoMBz0GC3w6U2BQvVntfhm6UYnZ2CNIsBNqcbr+2sBqBd/wkAGPU6pJm9k0uhnp4ccoDywgsv4PPPP8fKlSv73FZXVweTyYSMjAy/7+fn56Ourk69j29wIm4XtwWycuVKWK1W9aukpCTUyyYiSmg9Dpdaqy/z/IfcZNAhx1MyqQvQd6CVUHpQzAa9uswt0pN3QxFqk+yoDOXDviZKAYoo71iTjLh9wWgA3t6L2aUZUXkOi1GvZqiqfa67vcc7nu47xqvTSZg+SsmirNunfL5qsaDNV6bPaHqopyeHFKBUVlbiBz/4AZ577jlYLOEdGR2OFStWoLW1Vf2qrKzU7LmJiLRQ1dwFWVaaN333jRR4yjzxDVA8GZQgP/xzB1koFgveJtngMiii4bSutQeuKJSixJRKdooJ/3XheKR7FsEZdJLarBoN4rp9AxTxz5nJRrX5VxDPLY5O0Kr/RPDNaJXEsgdlx44daGhowOzZs2EwGGAwGPDxxx/j8ccfh8FgQH5+Pux2O1paWvx+rr6+HgUFBQCAgoKCPlM94s/iPr2ZzWakp6f7fRERDScnz3jKO1nJfv0KIq1fO8B681iSZVktn2SlBheg5MUhQGkJMYOSl2aBQSfB6ZbR0B75eysyKNmpJliTjbjrovEAgGmjrEgyRW8pmsj8VDd7A5Sqpr7lHWFmr+21WpZ4AP+eoOIQG4VDWmt36aWXYu/evX7fu+OOOzB58mT8+Mc/RklJCYxGIzZs2IClS5cCAA4fPoyKigqUl5cDAMrLy/GLX/wCDQ0NyMvLAwCsX78e6enpmDp1akgXT0Q0XJxq8m+QFQqtolE2PgFKp90Fu0v57TuxMyihBSh6nYQCqwVVzd2oaelWm2bD5e3TUZ7/m+ePQbJJj3ljsyJ63N68jbI+AYo45yZACWW6T4CSm2ZGXpp21Q/Af/twSWYyXLa+E0j9CSlASUtLw7Rp0/y+l5KSguzsbPX7d955J+69915kZWUhPT0d3/ve91BeXo758+cDAC677DJMnToVt9xyCx599FHU1dXhgQcewPLly2E2D17fJCIajio8I8alvQIUMclTG6cApclTurAYdUFnAnJTB17JHm09Dhd6HEoQlRHkJllA+bCvau5GVXM35pRFdg2ixCP6dIx6HW47d3RkDxpAoBJPoAkeYVRGErJTTGjstGuePQG8JbesFBNSzAb0swQ3oKhvkn3sscdw5ZVXYunSpbjgggtQUFCAV155Rb1dr9dj7dq10Ov1KC8vx80334xbb70VDz30ULQvhYhoyBAZlNGeHSiCyKDUtUWnmTNUYnooO4gGWUHrDIrInhh0kt/UyGB8x3YjJUo8OUGWwcIVKIPineDpG6BIkqRmUeIRoIiMVqgNskCIGZRAPvroI78/WywWrFq1CqtWrer3Z8rKyrBu3bpIn5qIaNioaPRukfUlelDi1SQrShfBnnEDxCFA6fQ2yIayb6QowId9uBp7lXhixZtB8f59EBmU/hahfe+SCTDpdbhl/uiYXlsgYkHdhLy0kH824gCFiIgi43LLqGz234EiFPiUeGRZjsrCr1CEMmIsaB2gtIS4pE0QI7nV0QhQxBRPamxbFUQG5UyHDT0OFyxGvbcHpZ8m1DllmfjrrXNjel39WTK9CDpJwrnjckL+WR4WSEQUZ7Wt3XC4ZBj1Up9mTZFB6bK70B7Fc2OC5R0xDiODolEPihgxDnZJmxDNDIo6xRPjDEpGshHJnl6g2tYedNic6usP5aRgrZgMOlw9a5T6dyIUDFCIiOJMlHdKMpOh1/lnSJJNBnXxWTwmecLKoHiyCE2ddjg8E0CxFOqaeyHQyG64GjtFk2xsAxRJkrxlnuZu9dozko2arbDXCgMUIqI4O9UUuLwjFMRxkqdZ/eAN/sMvM9mkBlqi9BFLoR4UKIgP+nabE2094a/l9z2HJzvGTbKAf6NsdUuX3/eGEwYoRERxdqqfBlkhno2y3sxA8BkUnU5Sp1m06EPxlnhCCw6STQY1qIkki9LcZYc4uy/UawiHCKyqWrp9GmQZoBARUZSdUnegpAS83TtqHIcMSlfoGRTAtw8l9tccbokH8DbKRtKHIvpPMpKNMOpj/7Hqe47QYBM8QxkDFCKiOBssgxLPZW3iwzfUzIC6rE2DDEpLmE2yAFBkjTxAaezQpv9E8A2qBtoiO9RxzJiIKI5kWUaFWNKWEzhAUTMordova/M9YyYUWo4aR5JB8S2XhEvsQIn1BI8ggqrqlm50eCa7hmMGhQEKEVEcNXXa0WFzQpL6/5BRe1BC2RMeBQ6XG63d4fV3aBmgRJJBKVazEeFnp7wjxtoc1yIyKLUtPWjz/PthBoWIiKJKZE8K0i2wGAOfdVMQpwyK+OCXpNCzE1qex6MeFBhGBsM7shv8IXa9qSUeDSZ4AKXkp5MAu8sNe5cyxj1qGAYo7EEhIoqjek/jqyjjBFKYrnz4NHc50ONwaXJdyvN5SidJxj77WQaT6zk1N9YZFJdbVrM8GWFkUKJxHo8o8eRoVOIx6nXq6DkApFsMSB9mO1AABihERHHV4PkAH2jTZnqSARaj8p/reg0neSJp/tSqxNPW7VBHfDOSws+g1Lf3hL1UrkmjJW2+inz2ngzH/hOAAQoRUVyJD/C8tP4zKJLkXYGv5SSPd8Q4cQMUcY2pZgNMhtA/0rJTTDAZdJDl8PfMnFFLPNr0oAC9A5ThV94BGKAQEcXV6SAyKIB3m6ymGZQIMgPi9XTaXeiM4RlCYklbOOUdQFkqNyrDOxUTDpFB0arEA/j3nDCDQkREUdegZlAGCVCs2u9CaY4gQEkx6ZHkafo9E8NGWe+a+/CDg6IIz+RRSzwaNckCzKAQEQ0bLV12fP+fO7HleGO8L8VP0BmUOKy7D3dJG6CUpbQo80SaQQH8z7YJle85PFr2oBT7BCjDcYIHYIBCRCPEazur8cbuGjy09kC8L8VPQ7sScAzUgwL4LmvTPkAJ94M3WgGKyy3j1Z1V6vX4avRkZyLLoIRf4vE9hydLg3N4BGZQiIiGiRrPB/v+mjZUNoW/8yKa3G5ZbbAcLIOirrvXsAcl0sxAtHahvLm7Bve8uBv3vrSrz20fHm4AAEwuTAv78UMJUHzHmgHvpFNGshEGDc7hEUZlJkGvk6AbYMHfUMcAhYhGBN/ejfUH6uN4JV5NXXa43DIkafBV8vFYdx/pGTPRyqAcqmsHAHz8xWm/IKK2tRtbTjQBAL4ysyjsxy8OocTzyLqDmP3weuw4pTyv1mvuhVSzAb++fgYevX4mrEnDbwcKwACFiEYI3w/2d/fXxfFKvMQHd1ayadBTcEUPyul2G5xh7usIVcQZlCgFKCIokWXg3zuq1O+/sasGsgycMzozoiyCbwZFFvWaAGRZxpu7a+Byy/j359UAtF9z7+u62cW4fk6x5s+rFQYoRDQi+GZQtp1sCtjPoLVglrQJOSlmGHQS3HJ018e/u78Ob+yu6fN9WZYjGjMGohig+Kyh/9eOKrjdShDx2i7luq85e1REjy+Cvx6HG23d/Y9EVzZ1q//OPjjYoLxHGp9kPJIwQCGiYc/tltX9ITmpZrhl4P2D8S/zBDvBAyj7OtQ+lCg1ynbbXfje8zvx/X/uxAeH/N+Pli4H7E4lUxPvHhTfsk5FUxe2nGjC4bp2HKxtg1EvYcn0woge32LUq6+xtq3/Ms92T1kHAOraenCgtk0N4kI97ZkGxwCFiIa9xk47HC6l1+PGc0oAAO/tH1oBCuD9Tb8+SgFKQ3sP7J5y0U/+vRetnpFdWZbxwOv7AACjs5ORbArvXNloZFDsTreatbhsaj4A4OXtlXhtl1JiuXBiXsgHGQYSTPC37WSz358/ONigThFp3YMyEjBAIaJhzzd7smSG8tv2p0dOo8seuw2nwQh2xFgoiHIGpcEncGhot+F/1u4HAPx90ym8tacWBp2E3351VtiPLwKUMx02tSwTqtrWbsgyYDHq8N2LxgEA1u2rxaueHpBrIyzvCMGMcYvG2Esm5wEANhxq8PagaLjmfqRggEJEw574QC+0WjC5IA2lWcmwOd345IvTcb2ucDModVEaNW5o8z6/TgJe+bwav3//C/zvW8qumP93xRTMKcsM+/FF2cPh8h/NDYXY7lqUkYSzSzIwIS8VPQ436tp6kGo24NIpeWFfn6/BNvW2dNnxRX0HAOC+yyYBAHZXteCLemXCiD0o0ccAhYiGPTHBU5BugSRJaqng3TiXeYJdcy9Ee1mbyOCcMzoT3zx/LADg9+8fgcMl4/JpBbhjweiIHt9s0KsbXsPtQ6nyBCijMpIgSRJumOudWlk8rQAWzzr9SBWmDzzGveOUUt4Zm5OCqUXpmD7KClkGjp3uBMASTywwQCGiYc83gwIAi6YVAAA2HKyHQ6OR3UDOhJhByU+PdoDiPUn53i9PxNjcFADAmJwUPHr9DEiSFPFz5EXYh1LlaZAV21KvPbsYep1yXdfMik55Bxg8g7LdE6CIjJIo8wgs8UQfAxQiGvbEB3qBVfmQm12aCWuSEW09Thz2LAGLh3AzKANNmoT0/D4lHotRj7/cPAfXzynG326bizRLdJZ/if6acPtmqn0yKOJaf339DNz75YlYMD47KtcIAIWevxv9BX/bTyr9J+eMzgKAPqUllniiL7zWbCKiIaR3BkWvkzAxPxXbTjbj2OkOTBtl1fyauuxOdNiUJt1QMyj1rTbIshxxhsPbpKs8/4T8NPzmhpkRPWZvIvNR1Rze8QLVLcrP+R6Id93s6C8nG+gwRpvThd1VrQCAOaOVDMq0Iity08w43W6DJAGZERxWSIExg0JEw55oKhUfQgAwNicVAHDc00OgNVHySDLqkWoO7ndFEaDYXe6oLJoLtUk3HN4AJbysj9iBMiojtufNiL8b7TYn2nv8G3r3VbfC7nQjK8WEsTlKGUynk3DJJCWLkpGk7Tk8IwXfUSIa1mRZRq2n8bHQN0Dx9FscPxPfACU3zRx0JsRk0CHH0+sQjUme0z49KLFSkqUEFsEc0FjX2uO3xt/lllHborzOUTE+sTfVbECaRQkU63u9t9tPevtPfP9dLfQ0W/ueLEzRwwCFiIa11m4HehzKh57IQADA2FyRQemIy3WFm70osHoClAgbZR0ut7oFNS89vhkUm9OFn7+xH/NXbsCKV/aq329o74HTLcOgk5AfwyyPUNhPo6xY0HbOaP+R64VT8vDwNdPwi2unx/zaRiL2oBDRsCY+bLJSTH4jqSKDcuJMZ1T6OUIVaoOsUJCehH3VbREvazvjGfs16CRkRWETa39KPIf41bZ2w+Fy9zkUsaKxC8uf/xx7q5Uej/UH6+F2y9DpJLVBtsBq0aSEUmBNwhf1HX7vrSzL6oK2OWVZfveXJAm3zC+L+XWNVMygENGwpk7wpPuXMUqzkmHQSeiyu6K2+CwU4WZQxG/5vcsQoRITPDmpZuh0sQvOclLNMBl0cMtQyzXCZ0fOYMnjn2JvdSsyko0wG3Ro6XLgSIOS1arqNcETa4UBxriPn+lEc5cDZoMO00ala3IdpGCAQkTDWqAGWQAw6nUozVZ+uz/WoH0fSu8JmmANtq8j+Of3ZHBiWN4BlGbS/iZ5Hlq7H+02J+aUZWLd989XR3i3nmgE4NMgG+P+EyHQe7vXM71zVlE6zIboLIWj4DBAIaJhrbY1cIAC+EzynNG+DyXsHpQoLWsLN0AKhyjzVPoEKD0Ol7qFddVNs1GUkYQvjVEClM0nlJKKyKAUa5VBUUeNvf0yovQ0PQ6j6CMdAxQiGtbEh01het8AZZyY5InDqHFDmBM0hVE6j8e7pC12EzyCyKBUNnk/+I+f7oTLLcOaZES+J4szb4zIoDRBluWEyKDs8wQoZzFA0RwDFCIa1gbMoHgClGNxmOQJN4OSH6XzeMTZOJpkUDyjxr4lnsP1bQCASflpaoPyzJIMmPQ6nG634WRjF6o994/1DhRB3SbrCf7cbhn7a5TrZAZFewxQiGhYq1O3yPb9Ldw7aqxtBsXlltUpmtCneJQApSPAQrFQiAxKrHtQAJ8Mis+o8eE6JSicWJCqfs9i1GNWSQYAYMvxxrhlUFq6HOi2u3CqqQsdNifMBh0m5KUO8tMUbQxQiGhYqxuwB0XJoNS0dqPH4dLsmpo67XDLgCSFfoZLitmA9H4WioXitKcHJVeDQ+5ED4pvBuWLeuUMpEn5aX73FX0o7+yvU/fXFAb4dxcL6RYDkk1KI2xdW4/afzKlMJ2bYuOA7zgRDVvtPQ60e867CRSgZKWYYE0yQpaVfShaEQ2q2SnmsD74ojHJ453i0a4Hpb7NpgaC4pDGib0ClHljlQDl0yNnlOvzHGSoBUmS1AxVbWu32n/C8eL4YIBCRMOWyDCkWQwBz7uRJMm78l7DMk+kZ+CIU5nDDVDcbtlnzX3sMyhZKSY1M1Hd0o32HodavplU4B+gzC7NhF4nweWWAWhX3hEKfPbM7OMET1wxQCGiYav3KcaBjIvDyvtIg4NC9VTj8AKU5i47nJ4AIEeDEo8kST5lnm51EVt+uhkZvbbYppgNfqdLa7WkTRABSk1Lj08GhQFKPDBAIaJhyzvB0/+HXDwmeRoizKCISZ7aMHtQxPNnpZhgMmjzMeAdNe7CF/2UdwQxbgxon0ERwezWE01o63HCpNdhQl7g66TYYoBCRMOWOsEzQJ+Fd1nb0CnxFEY4ahzuOUCR8I4ad+NwPw2ygm+AotWSNkEEs5uOKdtsJxemaRbEkT++60Q0bA20A0XwXdYmy3LUntvmdGFfdSvcbv/HlGUZRz0ljnADhEi3yTZ4Mi/hBkjh8I4ad3kbZAsCByhzy7Igzm7UPIPieW/tLmWCiOWd+GGAQkTDlmiSHagHpTQ7GTpJ2SsiMhvR8Og7h3HlHz/DN57ZhqZOOwBl/8mKV/bis6PKhIrY+RGqggi3yXqXtGkzvgsAxaIHpamr3xFjwZpsxMIp+Ui3GDCjOEOrSwTQN5idVsQAJV76trUTEQ0TwWRQzAY9SrKScaqxC8dOd0Zt7HZPVQsA4KPDp3HFHz7F7742E89trsBbe2uhk4BfLp2Bs0szw3psEXA1ddrR43ANOIbrcsv4zj92oKnThue+OR9JJr2mS9oEkUE5XN+OHocbkgRMyO9/+dmfl82GW5Y1P6CvdzDLCZ74YQaFiIatGs8oa6Atsr7EwrZoHhpY0aQsJctOMaGurQc3PbUFb+2thVEvYdVNs/HVuSVhP7Y1yQizpy9CBBv9eWFbBd4/WI/PK1rwzv5aAD49MBpM8AiiB0UsXyvNSkayqf/fkY16XVxOD85KMcHk2U1j1Et+m25JWwxQiGhY6rA50dqtrIIvyhg4KxLtlfc9DhfqPYHDa8sX4JpZRQCAJKMeT992Di6fXhjR40uSpP6mX+tz8m5vzZ12/Prdw+qfX9pWBcDnJGMNMyjWJKO6ARfof4In3iRJUjNukwrS4hIkkYIlHiIalkT2JN1iQJrFOOB9xajxyShN8oiV7mlmA4ozk/DY12bhq+eUoNCahDGebE2kCqwWnGzsGrAP5TfvHUZLlwNl2cmoaOrCpuONqGjsCvsk5UgVZybjQK33kMBEVWC1oKKpi/0nccYMChENS2JTaVEQY6qjs5Wg4URjdAKUU41KgFKanQxJkiBJEs4dlxO14AQYfJJnX3Urnt9aAQB4dOkMnDc+BwDwrx2V3h4UDad4AKAky/vvor8JnkQw2XNt88dmx/lKRjZmUIhoWKr2nJxbHMSY6mhP4FDZ1AWXW4ZeJ0X03KL/pNTTdxELA627d7tlPPj6PsgycPWsIswbm436dhs+PXIGz2+tRLfnPBwtSzyAd5IHSOwMyo8XT8YV0wtxzuiswe9MMcMMChENSzUhZFAK0y0wGXRwuGT15yKhRYAy0LK29w4oTbEpJj3+3xVTAACXTVXGds94RoxTzYYBm1RjocQTLBp0UlSzSdGWYjZg/tjsiANVikxIAcoTTzyBGTNmID09Henp6SgvL8fbb7+t3t7T04Ply5cjOzsbqampWLp0Kerr6/0eo6KiAkuWLEFycjLy8vJw//33w+l0RufVEBF5iEAjmLNcdDoJZZ5gIhqnGld6ApSSGAYoIjN0MkBZ6vOKZgDAdbOLke8pBVmMelw9a5R6H63LOwAwxtOMPCGf21lpcCH9DSkuLsYvf/lL7NixA9u3b8cll1yCq6++Gvv37wcA3HPPPXjzzTfx8ssv4+OPP0ZNTQ2uu+469eddLheWLFkCu92OjRs34plnnsGaNWvw4IMPRvdVEZGmPjzcgHf21cX7MvyE0oMCAGWePpRTUehDET0oZdmxC1DEIYcnGzv7bKsVBx9O7LVnxHe0WcstssJ543Pw48WT8ci10zR/bhp6QgpQrrrqKlxxxRWYMGECJk6ciF/84hdITU3F5s2b0draiqeffhq/+93vcMkll2DOnDlYvXo1Nm7ciM2bNwMA3nvvPRw4cADPPvssZs2ahcsvvxwPP/wwVq1aBbvdHpMXSESx1W134Tv/2IHvPrsDW443xvtyVDUtSukj2FXpY3JEBqUroueVZVmTEk9xZhKMegk9Djdqeo0ai3FpMT4tTBuVrjaARmshXSj0Ogl3XTQu7AV1NLKEnWNzuVx44YUX0NnZifLycuzYsQMOhwMLFy5U7zN58mSUlpZi06ZNAIBNmzZh+vTpyM/PV++zaNEitLW1qVmYQGw2G9ra2vy+iCgxnGrqhN2pLN/62Rv74fScYRJPTpdbHb8NpsQDRC+DcrrdBpvTDZ0UfPYmHAa9Tr1m3/0tDpdbDZDE+LQgSRK+c+FYAMCXxrABlBJbyAHK3r17kZqaCrPZjO9+97t49dVXMXXqVNTV1cFkMiEjI8Pv/vn5+airU1K/dXV1fsGJuF3c1p+VK1fCarWqXyUl4W9gJKLoOumTcThU147ntlTE8WoU9e02uNwyjHop6G2pomkz0lFjERwUZSTBqI9tn4W6Afe0dwNuRVMXnG4ZySa9Oors69qzi7HrwS/j5nmlMb02okiF/P+eSZMmYdeuXdiyZQvuuusu3HbbbThw4EAsrk21YsUKtLa2ql+VlZUxfT4iCp7IOIgtob9977A6KRIvYsS40JoEXZCTGKJfRIwah0uL/hNBlHCO+WRQRDZlTE4KJCnwa89INvV7G1GiCDlAMZlMGD9+PObMmYOVK1di5syZ+MMf/oCCggLY7Xa0tLT43b++vh4FBQUAgIKCgj5TPeLP4j6BmM1mdXJIfBFRYjjp+UC+pbwM00alo63HiV+/c3iQn4qtUCZ4hCJrUlRGjbXoPxFECcf3DCGRTendf0I01EScf3S73bDZbJgzZw6MRiM2bNig3nb48GFUVFSgvLwcAFBeXo69e/eioaFBvc/69euRnp6OqVOnRnopRBQHIoMyNicV//MVZTrjxe2V2FXZErdrCnWCB1BGjUVQEWh0N1hajBgL43L79qCoDbIJvGeEKBghBSgrVqzAJ598gpMnT2Lv3r1YsWIFPvroIyxbtgxWqxV33nkn7r33Xnz44YfYsWMH7rjjDpSXl2P+/PkAgMsuuwxTp07FLbfcgt27d+Pdd9/FAw88gOXLl8Ns1n7kjYgiJ0oao3OSMacsE1d7DsZ7bWd13K6pWs2ghDapIlbeR3Imj6YZlBwlS1Lb2oMuu7JPSmRTxuUxg0JDW0hrBBsaGnDrrbeitrYWVqsVM2bMwLvvvosvf/nLAIDHHnsMOp0OS5cuhc1mw6JFi/DnP/9Z/Xm9Xo+1a9firrvuQnl5OVJSUnDbbbfhoYceiu6rIiJN9Dhc6oirmChZMC4Hr++qwTGfxk2tqSWeIEeMhdHZIoMS/qjxKU+AUpYV+wxGZooJWSkmNHXacfx0J6aNsqr9KMyg0FAXUoDy9NNPD3i7xWLBqlWrsGrVqn7vU1ZWhnXr1oXytESUoKqauyDLytr07BQTAGBcnvLBeLQhfgGKaJINdcxXnMkTbgal2+7Cac9JwVpkUAAlEGnqtOP4mU4UZyahqVPZKdV7xJhoqOGuYSIKmxgxLvOc2gt4N5zWtvagw6b9MRayLIfVJAv4lHjC7EGpbFbej3SLAdZkY1iPESoRiBxr6FCzJ4VWi+bn7BBFGwMUIgqb+CAXH+yAMsKak6pkU06cjnxtfKhaux3otCun9YaeQRGjxt1hjRpXeEpDpRqMGAtiWuf4mU6fCR5mT2joY4BCRGHrb+eHdz+H9mUe0SCbk2qCxagP6WcLrUkw6XWwu9xBjRq/s68WNzy5EVtPNAHQtkFW8F3WdvyMd6KKaKhjgEJEYQuUQQG8ZZ549KGIM3jCWTOv10lq9mOwMs+nR07j7ud3YtvJZnz32R2obe32CVC0y2CIYPDEmU4ca2AGhYYPBihEFLb+Mijj8+KYQfH0gYTafyIEM8mzr7oV3/3HDjjdMkwGHZo67bj7+Z3q69Uyg1KalQy9TkKX3YWtJ5VMDpe00XDAAIWIwmJ3ulHVLHag9M6geBo34xCg1LSGn0EBBt+FUtnUhTvWbEOn3YXysdl463vnIc1swI5Tzfj0yBkA2gYoJoNOfb6WLgcAjhjT8MAAhYjCUt3SDbcMWIw65KX5L1oUJZ6TZ7o0P9043BFjoSyn/1ON3W4Z3/r7dpxut2FyQRr+cuscTMhPw69vmOl3Py0DFMAbEAKA2aALO3tElEgYoBBRWHz7T3ofPDcqIwkWo9JsWtUc/rk24agOc8RYGOPJoJwIkEGpbunGobp2mPQ6rLnjS0i3KKPEi6cV4JvnjQEAGHQSikLcYBsp35LOmJyUoA9IJEpkHJQnorCc8nyABzq1V6eTMDYnFQdq23C0oaNPCSiWIg1QvKcaK6PGep8Pe7HnpDgzCQVW/yDkx5dPhgwle2LQa/u7n29JZxz7T2iYYAaFaAhxuNyQ5dD3c8SCaCLtPcEjjItDo6zN6d3kGuqae6Eoo/9R44EOAjTqdfjplVNx27mjw3reSPhmUDjBQ8MFAxSiIaKisQsLfvkBvv2PHfG+FADeHo2y/gKUODTK1nkaZC1GHTLD3OSq10koyVKCm96jxpVNSsAibk8UvkEJAxQaLljiIRoC3G4Z9/1rNxrabfjgUAPsTjdMhvj+fuF7inEg49RlbbHdJmt3urG/phUHatuw8WgjAKW807svJhRjclJw7HQnTjZ24fwJ3u+LPSclmdo2wQ4m2+fQwAl5afG+HKKoYIBCNAT8fdNJdVupyy2joqlL3TUSD06XW+3H6LfE47OsTZbliAKG3mRZxv6aNvxrRxVe31WNZs94rTClMD2ixy/rZ9RYvGatp3QGI0kSfrV0Br6ob8dZRZG9dqJEwQCFKMGdPNOJX75zCABg1EtwuGQcP90R1wCltrUHDpeypKwgPfDEytjcFEiScjZOY6cdOanmgPcLVUuXHbf+31bsqWpVv5eVYsL0UVZMKUzH1KJ0LJySF9FziGVtvUeNvSWexApQAODLU/Px5an58b4MoqhhgEKUwNxuGT/61x70ONwoH5uNnDQz3txdo565Ei+iN6MsK7nfkVaLUY/izCRUNnXjWENH1AKUT4+cwZ6qVpj0Olx2Vj6un1OM88bnRHVyRkwd+Y4ad9mdONOhNOAmWomHaDhikyxRAntuawW2nmxCskmPR6+foTaeHo/DhlZfJ88M3CArxKIPRTTdXj2rCH+6aTYumpQX9bFeUbbyPdVY7HNJtxhgDbMBl4iCxwCFKIG9+nkVAOCehRNRkpWsjpMej3Hj6WDEIYBj+mmQFWJxaKAIdmJZ4irKSIJRL/mNGg80YkxE0ccAhShBddqcap/F4mkFALwLueJd4jlU1w4AmFwwcENmLA4NFCf2xnIhmTJqLPpQlMDEe1IxAxQiLTBAIUpQ2042wemWUZyZpH5Yih0XTZ12NHfa43Jdsix7A5TCgUdavSWe6AQobreM42c8AUqMm4TVlfeefptEbpAlGo4YoBAlqE3HlJ0e5WOz1e8lmwwo8qxYFx/UWqtr60FrtwN6nTRomUXcXtXcjU6bM+Lnrm7pRo/DDZNeh5IwN8UGS/TXiJX+3h0oibWkjWi4YoBClKA2HfcEKOOy/b4/VqMFaP0R2ZOxOSkwG/QD3jcrxaRO73xR3x7xc4tMzOic2J93I/prxMRSVTN7UIi0xACFKAG19Tiwr1rpP+kboIhJnjgFKLWivBPcQrApnjLQ4bpoBCjKa9biQDx1WVtjF2RZZpMskcYYoBAloK3Hm+CWlZXrhVb/koLaKBunUeNDdW0AgMkFwa1UF/c7FIUA5agGDbLCGM/7XNHYhTMddnTaXQDCPyWZiELDAIUoAYnyzvyx2X1uU0eN4zTJc1id4AkuQJnkmfQRgU0kRIlnXF7sD8QrtFrUUWNxzEBBugUW48BlLSKKDgYoRAlo47HA/SeAt8RzqrETTpdb0+uyO91qFmNSGBkUWZYjen6RNRqfG/sD8Qx6nVrO+fTIaQCJd4ox0XDGAIUowTR32nGwVsk2lAfIoBRZk2Ax6uBwyep2U60cP9MBp1tGmtkQdKljfF4q9DoJLV0O1LfZwn7uli47znQoo9UiSIs1sVH20yNnALD/hEhLDFCIEsyWE0r2ZEJeKnLT+p5fo9NJ6gen1qPG3gbZtKBPJ7YY9Wo/RyRlHlHeKbRakGLW5hgx8T5Xe7bJ8gweIu0wQCFKMJsGKO8I4+K08v6gJ8AItrwjRKNR9lhD7Ffc9za61yp/ZlCItMMAhSjBqPtPApR3BFHiiOYK+WAcDnLFfW9qgFIbeQZFiwkeYXSvwxC55p5IOwxQiABsP9mExzccUU+ujZe61h58Ua98EM8bIECJxSnBwRAlnimDrLjvbbI6yRNcBsXllvHnj45iw8F69XveAEWb/hOgb4DCJlki7WhTyCVKYD0OF7777A6c6bBjamE6Fk7Nj9u1/NtzevE5ozORlWLq937xWNbW0mVHXVsPAGBifogBiiegOXa6A3anGybDwL8bvb2vFo++cxgmgw7v33MhSrOTNd2BIhRlKKPGDpcMk16H/DSLZs9NNNIxg0Ij3hu7atTpkMNRWMceLlmW8a8dSoByw9ySAe8rmk7PdNjQ1uOI+bUB3uxHcWYS0izGkH52VEYS0swGOFxyUI29/9h0CoAy1vzwWwdgc7rUs3C07EEx6HVqY2xxZhJ0uuAag4kocgxQaESTZRl/++y4+mfxW3o8bD/VjBNnOpFs0mPJ9MIB75tmMSLPM+GjVRZF9I+E2n8CAJIkqY21g628P1Lfji0nmqCTAINOwvoD9Xhm40m4ZSDNbAg42RRLoz3BYDH7T4g0xQCFRrRPjpxRez4A4EhDbDIopxo7sfz5z/Hg6/vwwtYK7Klqgd3pv2TtpW2VAIArZxQGNUYryjzRDqoc/Sx/OxTiBtneRJnnYO3A7/FzWyoAAAun5OOOBaMBAI++cxgAMDYvNejx5mgR2arR2QxQiLTEHhQa0f72qZI9uWhSLj46fBrHGjrhdstRT+X/Y9MpvLWn1u97o7OT8cK3y1FgtaDD5sRbe5XbvzpIeUeYWmjF5uNN2FfdiuvnFEflOu96dgd2nGrGS98pVzMHghqghNggKwSz8r7L7sS/PWWum+eX4ezSDLy2qwan25UFb1o2yAq3lY9Gl92J288drflzE41kzKDQiHW4rh2fHjkDnQT87KqzYNRL6Ha41KVc0XTK0z9x7rhsnDc+B2kWA042duH21VvR1uPAuj216LK7MDYnBXPKMoN6zJklVgDA7qqWqFyjLMv44FADGtpt+NG/9sDtM9G0r7oV+2uU05WnBHmKcW9TgijxvL6rBu02J8qykz3vkxH/3xVT1Nu17D8RSrOTsfK6GeoZSESkDQYoNGI97ek9WTytAGNyUtRU/tEY7BapaFQClO9cOA7PfnMe3v7B+chLM+NQXTu+/fft+Oc2paxx/dzioEsYM4ozAAAHatr6LcuEoqnTDpun7LT1ZBPWbDwJAGjtdmD585/D4ZKxcEqeeppyqCZ6ApTa1h60dvVt7JVlGc9uVppjl80rVbNYV88qwrmepXXnjM4K67mJaOhhgEIj0ul2G17bWQMAuPO8sQC8v50frY9ugCLLsjqBIhZ9FWcmY/Ud5yDVbMDm403YWdECnQQsnR18qaYsKxlpFgNsTje+iML0UU1Lj9+fH333EI6f7sD9L+/GqcYuFGcm4Tc3zAy7ByTdYlTP7wlU5tlV2YL9NW0wGXS4YY63zCVJEv7v9nPw7g8vYIBCNIIwQKER6R+bT8HucuPs0gy1pDI+T/kNP9pNp2c67Oh2uCBJ8Dtg76wiK/5yyxwY9coH/kWT8pCfHvyeDZ1Owoxipcyzp6o14uusaVVKWzOKrVgwPhs9DjdueHIT3jtQD5Nehz8vm42M5P53swRjitoo2zdAeWm7t0k4s9cOGItRH/J6fSIa2hig0IjT43CppYRverIngDeDEu1JHpE9KbIm9VlQtmB8Dh6/8WxMG5WO7186IeTHFmWePVHoQ6n19N4UWZPwq6UzkGLSo7FT2Q/z06umqs8Viame/pW91X0DlK0nmgAoAQoREQMUGnFe3VmNpk47RmUkYdFZ3q2xE0SJp6EDshy9lfeVvco7vV0+vRBrv3c+ZpVkhPzYM0ZFL4NS26qUeAozLCjOTMbPvnIWAOC62aNw87zSiB8f6D+gau9x4PiZTr/7ENHIxjFjGlHcbhlPf3YCAHDHgtEw6L0x+picFOgkoK3HidPtNuSFUG4ZyKnGgQOUSMzwBDWH69rR43DBYtSH/Vg1ngClyKqUob46twQXTsxFXpo5artHREnq6OkOdNqc6r6XfdVtkGWlBJaTqu0iNiJKTMyg0Ijy8ZHTONrQgVSzAV87x3/fiMWoV4OIaPahqA2yMVj0VWS1ICfVBKdbxoEITgoGvCWewgxvYJafbonqYrS8dAsK0i2QZWV0WRAZFRHAEBExQKERRSxmu/GckoDnyXj7UKIXoIgST0kMMiiSJGG6p8yzN8Iyj1riscb2xF4RhOz1DVA8/zydAQoReTBAoRHjQE0b/nO0EToJuN2zQr23WEzyiAxKWYzOchE9G5EsbHO5ZfWkYt9Jo1iY6SlL7a7qm0GZyf4TIvJggEIjxt83nQSgNKUWZwYOFqI9ydPjcKkf/LHoQQG8G2UjaZQ93W6Dyy3DoJNifhifdzS6BYCyIK6ySSkvTRvFDAoRKRig0Iix41QzAGDp7FH93sc7yROdE4KrmpXsSZrZgIzkviWlaJg+KgMAcOx0BzpszrAeQ+xAyU+3QB/lc4h6EyWpU41daO1yqKWeMTkpsCbF5j0ioqGHAQqNCC63rE7TTMjrf+HXOE+AcqbDhpYue8TPW+HTfxKrU3hz08wosvZtPA1FjWiQtUZncmkgGckmlHkahvdUt2BPZQsANsgSkT8GKDQiVDV3we5yw2TQoWiAHotUswFFng/paPShiDN4ymIwweMr0oVttS1iB0ps+08E7/W2qr0o3H9CRL4YoNCIcPy0UrIZk50yaAljnM/CtkidGmRJW7RMj3DlvSjxFGmQQQF8F8y1YG91i/I9ZlCIyAcDFBoRjnlOKB6bO/hJvKIEFI1R41iOGPsS0y/hlnjUDIpWAYonGNl4tBH1bTboJOCsonRNnpuIhgYGKDQiiDXq43JTB72vmOQ5XBf5JE/vU4xjZbLnEL5TTV3otrtC/vlakUHRqMQzbZQVkgS0e5p6J+anIdnExdZE5MUAhUaE4yFkUMTpxttONoX1YS/IsqxZgJKTakZ2igmyHN6ItLrmXqMAJcVswHifYHE6x4uJqBcGKDQiiB6UsUFkUCbmp2JURhJsTjc2HjsT9nOe7rChx+GGTgJGZcb+g39SgZJFCTXzY3e6cabDBkC7Eg/g3xQ7I4yDEoloeAspQFm5ciXOOeccpKWlIS8vD9dccw0OHz7sd5+enh4sX74c2dnZSE1NxdKlS1FfX+93n4qKCixZsgTJycnIy8vD/fffD6czvP0NRINp73GgoV35AA4mgyJJEi6dkgcAeP9gQ9jPKyZ4ijKSYNTH/neBiflKgPJFff8Byr7qVtz6f1ux+PefqEFJfVsPZBkwG3TISjHF/DoFsWAOAGayQZaIegnpv5off/wxli9fjs2bN2P9+vVwOBy47LLL0NnpXWp1zz334M0338TLL7+Mjz/+GDU1NbjuuuvU210uF5YsWQK73Y6NGzfimWeewZo1a/Dggw9G71UR+Tjh6T/JSTUjPcD5O4FcMlkJUD44VA9ZlsN6Xq3KO4KaQanv29xb19qD+17ejav+9Bk++eI0DtW145XPqwD470CJ1a6WQEQGxaTXqddORCSE1JX2zjvv+P15zZo1yMvLw44dO3DBBRegtbUVTz/9NJ5//nlccsklAIDVq1djypQp2Lx5M+bPn4/33nsPBw4cwPvvv4/8/HzMmjULDz/8MH784x/j5z//OUwm7X6Do5EhlAkeYf7YbCQZ9ahvs2F/TVtYK9i1DlDUDEqvEk9lUxeuePxTtPcoWcrJBWk4VNeOt/bU4tsXjNPskMDeZhZbsfzicSjNSobZoNf0uYko8UXUNt/aqow0ZmVlAQB27NgBh8OBhQsXqveZPHkySktLsWnTJsyfPx+bNm3C9OnTkZ+fr95n0aJFuOuuu7B//36cffbZfZ7HZrPBZrOpf25ri+xYeYqtF7dV4LWdNeqfDXoJyy8ej/ljs+NyPaL/ZFwIAYrFqMd5E3Kw/kA9PjjUEFmAEuMlbcLEfKW/pq6tB61dDlg9q/XX7qlFe48TY3NT8NsbZqI4MxnzHnkfu6taUdnUpe5AKczQrv8EUEpp9y+arOlzEtHQEXZh3O1244c//CEWLFiAadOmAQDq6upgMpmQkZHhd9/8/HzU1dWp9/ENTsTt4rZAVq5cCavVqn6VlJSEe9kUY3anG//z5gFsOt6ofn165Ax+8dbBuF2TN0AZvEHW16WeMs+GQ+H1oYgeFK0yKGkWo3oS8WGfPpRNxxsBADfPK8PZpZnITTNj3hglWFy3t1Yt8cT6FGMiolCEnUFZvnw59u3bh88++yya1xPQihUrcO+996p/bmtrY5CSoPZUtaDL7kJmshH/c/U0OF1u/Ohfe7C3uhVHGzrUHSNaCqfEAwAXewKU3ZUtON1uG/CU37rWHry6sxofHKpHj8MNwBskaBWgAEoWpbqlG4fr2/GlMVmwO93YfrIJAFA+zpvBWjKjEJuON+KtvbXITVVel9YlHiKigYSVQbn77ruxdu1afPjhhyguLla/X1BQALvdjpaWFr/719fXo6CgQL1P76ke8Wdxn97MZjPS09P9vigxbTqm/LZePi4bX5lZhOtmF+OCibkAgNd3VWt+PW63jJONnhHjnNCCo/x0i7qf48PDgbMom4834rb/24pzf7kBv3rnELadbMbe6lbsrW6F3elGqtkQ1GhztEwqUP6/IfpQfAPGSfneRtTF0wqgk8RZOC0AtC/xEBENJKQARZZl3H333Xj11VfxwQcfYMyYMX63z5kzB0ajERs2bFC/d/jwYVRUVKC8vBwAUF5ejr1796Khwfsf/PXr1yM9PR1Tp06N5LVQAhDlhPJxOer3rp5VBAB4fVdN2BMx/bE5Xfj+P3fi1+8eCnh7TWs3ehxuGPUSisPYRaJO8wQYN3a5ZXz32R34+IvTcMvAOaMz8Ytrp2H17eeoX2//4HykmrXbkDqpwLMF15O9EQHj/LHZ0PmcQZSTalZ7gs50KKc2FzGDQkQJJKT/ci5fvhzPP/88Xn/9daSlpak9I1arFUlJSbBarbjzzjtx7733IisrC+np6fje976H8vJyzJ8/HwBw2WWXYerUqbjlllvw6KOPoq6uDg888ACWL18Os7n/FDolvh6HCztONQMAyn0aYr88NR/JJj0qmrrweUWLuqk1Gt7eW4c3disNuVfOKMKUQv/smug/KctOgSGMXSSXTsnDHzYcwadHTsPmdPlNmxysbUNLlwOpZgPWfu88jM4JrYQUC767UGRZVgPGc8f1bVBeMqMQGz0BDMAMChEllpD+i/3EE0+gtbUVF110EQoLC9WvF198Ub3PY489hiuvvBJLly7FBRdcgIKCArzyyivq7Xq9HmvXroVer0d5eTluvvlm3HrrrXjooYei96ooLnZWtMDmdCM3zew3MZNsMmDRWUr5Ltplnmc3n1L/+enPTvS5XV1xH2bwMK3Iitw0MzrtLmw90eR3m/jz3NGZCRGcAEojsE4CWrocqGru9gaMAQKURWcpZR4ASDUbgt4RQ0SkhZBLPIG+br/9dvU+FosFq1atQlNTEzo7O/HKK6/06S0pKyvDunXr0NXVhdOnT+M3v/kNDAYeFDbUqeWdsdl9Fn5dc/YoAMrIq8PljsrzHaxtw/ZTzRBP9fquajS09fjdRxwSGG4fiE4n4SJPD80nX5z2u00EKF8akxXWY8eCxahXg6UXt1X6BIx9X39OqlkNXLRccU9EFAyexUNRs9mnQba3BeOykZNqQlOnHZ8eOd3n9nCI7Mnl0wowtywTDpeMf/hkVIDwdqD0duEkJUD52CdAkWUZWz3TMfMSKEABoDbDPr+1AoDSf9LfhtirZyqB44R87aeriIgGwgCFoqLb7sLOyr79J4JBr8OVM5RmWd8lbuHqsDnx2k6lXHTz/DJ883ylYfvZzaf8TiD2jhiH/wF83vgc6CTgi/oOdWfI0YYONHXaYTHqMH1URtiPHQtibXxTp9L8Gujfh3DD3GL88etn46dXskGdiBILAxSKih2nmuFwySi0WlDWz+bUaz1lnvcO1KHTFtnhkK/urEan3YVxuSkoH5uNL08tQElWEpq7HPi354yZDptTXeMeSQYlI9mEWZ7TdkWZZ4unvDO7NBMmQ2L938h3nBgI3CArSJKEq2YWcQcKESWcxPovKw1ZG4+dARC4/0SYUWzFqIwk9DjcavNmOGRZxnOeUs7N88sgSRL0OgnfWKBkUf726XH8z5v7ccGjHwIAslNMyEiO7IynCycq48aizJOI/SfCRJ+D9wYKGImIEhkDFIoK7/6TgX9bnzdW+UDvPRETih2nmnGorh1JRj2um+1dFHjD3BKkWQw42diF1f85iaZOO3JSzfjR4klhP5cg+lA+O3IGDpc7oQOUsqxkNaszUMBIRJTIGKBQv2RZht05+MRNh82JPVXKwZEDBSgAMN9zBsyWE40D3m8gqz48CgD4yswiWJO8o7GpZgPuWTgRaRYDlkwvxOrbz8HmFZfga+eUhv1cwvRRVmQmG9Fuc+KNXTWoa+uBUS/h7JLo7XSJFoNep5Z5Bvv3QUSUqDjbS/16eO1BvLCtAv++69w+C9B8vbm7Bi63jJKsJBRnDlxOEBmH3ZWt6HG4YDHqB7x/bxsO1uPDw6dh1Ev4zoVj+9z+jfPG4BvnjQnwk5HR6yScPyEXb+yuwWPvfwEAmFmcgSRTaNevlZ9dNRUfHT6tjncTEQ01zKBQv97aW4Muu8tvGVpvG4+ewYOv7wMALPUpt/SnLDsZeWlm2F1u7KpsCel6ehwu/M+bBwAA3zx/rKZn3ADAhZ59KFXNyiRPIpZ3hLmjs3DfokkwhrE9l4goEfC/XhTQmQ4b6ttsAIC39tYGLPUcqGnDd/6xAw6XjCXTC/H9SyYM+riSJKkf7FuOh9aH8tdPjqOiqQsF6RbcffH4kH42Gs6fmOP350QOUIiIhjoGKBTQ/po29Z9buhx+S8oAoKq5C7ev3op2mxNfGpOF3351pt9hdAOZ59nLsfVk8H0olU1dau/J/7dkClI0PIBPyEuz4KwipdSlkxDVM4WIiMgfAxQKaH9Nq9+fX/M5Q8fllnHXs5+jod2GifmpeOqWuSH1kojNqztONQfVhCvLMh5eewA2pxvzx2bhyhmFQT9XtIkyz7RRVqTx7Boiophhk+wQsuV4I+55cRc6fTalzi3LxF9vnQt9kNmLYB3wZFCWzCjEW3tq8f6BerT3OJBmMeKfWyuwt7oVaRYD1tzxJViTQ/ugHp+bisxkI5q7HNhX04rZpf1nIlxuGT99fR/eO1APvU7C/3xlWlzHZm8pL8OeqlbcWl4Wt2sgIhoJmEEZQp7bUoGa1h60djvUrw2HGrDhYH3Un0sEKF+bW4KxuSmwOd14d389mjvt+M17hwEA9102CUUZoW8g1ekknDN68D4Uu9ONH7ywE89vqYAkAY9cO01d4x4vhdYkPPvNebjsrILB70xERGFjgDJEyLKsLkP7w42zsOG/L8Tt544GAPztsxNRfa5OmxMnGpVD9s4qSse1s5RR1dd2VuPX7x1GS5cDkwvSsGxe+PtF1D6Ufvah9Dhc+M4/tmPtnloY9RL+9PXZUdlnQkREQwMDlCHi2OlOnG63wWTQYdFZBRiXm4q7LhoHo17C1hNN2FPVErXnOljbBlkGCtItyE4142pPgPKfY2fwT88JuQ9dPQ2GCEZYRR/K9pPNcLnlPrc/8dExfHj4NCxGHZ66dS6WxLHvhIiItMcAZYgQ2ZM5pZlqQ2p+ugVXeU4IfjqKWRQxwSMmVkqzkzG7NAOyDMgycM2soohHbKcUpiPNbEC7zYmDtW19bv/gUAMA4OdXnYWLJuVF9FxERDT0MEAZIjYfC3zWjdia+taeWtS0dEflucQEjwhQAO9JxCkmPVZcMSXi59DrJMwdrTTHbul1Lk9zpx37PNdwyWQGJ0REIxEDlCHA7fb2n5zbK0CZNsqK8rHZcLplPLPxZFSeT2RQphZZ1e/dMLcEdywYjT/dNBv56ZaoPM98Tx/KR4cb/L6/8VgjZBmYmJ+KvCg9FxERDS0MUIaALxra0dRpR5JRjxnFGX1u/+b5Shbl+a0V6LA5I3ouu9ONL+rbAfhnUCxGPX521Vm4OIoZjUWeSZiNxxrR1GlXv//Z0TMAgPPG50btuYiIaGhhgDIEbPKUd+aOzoTJ0Pdf2cWT8jA2NwXtPU68urO6z+2hONLQDodLRrrFgOLM0EeIQzE6JwVnFaXD5Zbx7v469fufHVW21p43gSfxEhGNVAxQhoBN/fSfCDqdpB7UJ3pVwuUt76RrshDtiunKdM66vbUAgIrGLlQ2dcOgkzBvDAMUIqKRigFKgnO7ZbWJtHxs/x/YZ5dkAEDIJwT3dkCd4LEOcs/oWOIJUESZR5R3ZpdmxuW8HSIiSgwMUBLcgdo2tHY7kGo2YPqo/oOG6cVWSBJQ3dKNhvae8J+v14hxrPUu84jyzoLxOYP8JBERDWcMUBLcZs/0zpfGZA24GC3NYsSEvFQAwO7K1n7vNxC3W8aBWm0zKADUJWxv7q7BRk+J6rwJDFCIiEYyBigJTu0/GaC8I8xSyzzNYT3XzspmdNicMBt0GJebEtZjhMO3zNPS5UCa2YCZxdoFSERElHhY5Idyzs0fPziKw57xWgBItxhw/6LJyEoxxe26XG4ZW0X/ST8Nsr5mlmTgpe1VYfWhbD/ZhDvWbAMAnD8hN6I19qEqy07BtFHp2FetZG/mj8vW9PmJiCjxMECBsnfjd+u/6PN9s0GPn3/lrDhckeJIQzvabU6kmg2YUjh4T4jIoOypbIXbLUOnC24K5+MvTuM7/9iOHocb54zOxG+/OjOSyw7LFdML1QDlPPafEBGNePw1FcCzm08BUNaq/89XzsJ/XTQOAPDS9kq0djnidl07TimlmpklVuiDCDYm5achyahHu82J42c6gnqOdXtr8c1ntqHH4caFE3Px92/MgzXJGNF1h0OUeQA2yBIRETMoqG3txvoD9QCAn1w+GRPz0yDLMj441IBDde3457YKfPfCcXG5ts9PtQBQRm6DYdDrMH2UFVtPNmFnRQvG56UNeP8Xt1VgxSt74ZaVRtXHvjor4CI4LZRlp+BnV02F3enGeE+zLxERjVwjPoPyz62VcMvAvDFZmJivfKBLkoQ7PYfwrfnPSThc7qg/b5fdCVmWB7zPzgolgxJsgAIo2RZg8H0oT31yHD/+txKc3HhOCR6/8ey4BSfCHQvG4DtxCgaJiCixjOgAxeFy44WtFQCAm+eX+d32lVlFyEk1o66tR91yGi1bTzRh2s/exT0v7oLbHThIae604/iZTgDA2aUZQT/2rBIlmNld1dLvfX63/gv8Yt1BAMB3LhiLlddND6qEREREpJURHaC8f6AeDe025KSa1YPrBLNBj9vKlaDlqU+PD5rtCMXfN52EWwZe21WDh9YeCPjYOz2jwmNzU5CRHPwk0SxPMHOoth09Dlef2482tOPxDUcAAPcvmoSfXD5Zk5X2REREoRjRAco/PM2xXzunOGB5Y9n8MpgNOuyrblPHfSPV3uNQe14AYM3Gk/jrJ8f73C/U/hOhyGpBbpoZTreMfdV9F7aJxtsvjcnC8ovHMzghIqKENGIDlGOnO7DxWCMkCfj6l0oD3icrxYSlc5RD+P722YmoPO+7++thc7oxLjcFDyyZAgBY+fYhvNbrFOLPw+g/AZT+mZnFGQAC96HsqVKCFnF2DxERUSIasQHK81uU3pNLJ+ehODO53/vdce5oAMCHhxqiMnL8+i4lELlm1ih88/yx+KanGff+f+3GsdPKaLDLLWO3J7iYXZYR8nOInpWBApTp3NRKREQJbNgFKA3tPahp6R7wPnanG696Mhb9ZU+ECflpmJifCqdbxoeHGyK7trYe/MdzWu/Vs0YBAP7fFVNw4cRcOFwyfvPuYQDA4bp2dNpdSDUbMGGQUeFAxMK2nRUtft+3OV04VKcsQxNZFiIiokQ0rAKULrsTVz7+GRb86gP86F+7Ud8W+FTfDw7Vo6nTjrw0My6cmDvo4142VWmgfXd/XUTX98buGrhlYHZpBkqzlayNTifh/1syBToJeHtfHXZVtqjlnVklGWFN18woVha7Vbd0o6KxS/3+odp2OFwyMpONKM5Miui1EBERxdKwClDe3luHhnYbZBl4aXsVLvr1R/jD+0dgc/pPs7y0vQoAsHROcVBnvogJn4+/OB1wMiZYr++qAQBce/Yov+9PzE/DdbOVXpdfvX0In58S/ScZYT1PmsWIOZ7elY+PnFa/v8czejy9OIPNsURElNCGVYDy8o5KAMB1Z4/C7NIMdDtceOz9L/DT1/ap96lv68FHnlLNDZ4G2MFMG5WOIqsFXXYXPjtyJqxrO3a6A3urW2HQSVgyo6jP7T9cOAEmvQ6bjjdi3T5l78rZZaE1yPq6cJKSGfr4sDdA2e3pP+FJwURElOiGTYByqrETm483QZKA+xZNwr/vOhe/++pMSJKSMfnwkBKUvPJ5NdwyMLcsE2Nzg1upLkkSLvNkUd47EF6Z53VPz8sFE3MDnpBcnJmMWzx7V3ocyuba2SURBCie0tWmY2dgdyqPt9cToMxg/wkRESW4YROg/GuHUrY5f0IuijKSIEkSrptdjG8sUKZkfvLKHrR2OfDydiXL8tW5JSE9/mVn5QMA3j/YAGeIq+/tTrd6fVfP6ps9EZZfPB5pZuV4pHG5KbAmh39o39TCdOSkmtBpd2HHqWZ02Z040tAOQOlRISIiSmTDIkBxuWU1APjqXP+yzX2XTcLYnBTUt9lw6+qtOH6mE8kmPa6YURjoofr1pdFZyEg2oqnTri47C9ZrO6tR09qD3LS+G2t9ZaWYcNfFylk0FwTRvDsQnU7CBRM8ZZ4vTmNfdRvcMpCfbkZ+uiWixyYiIoq1YRGgfHb0DGpbe2BNMmLhlHy/25JMevz6hhmQJKi7RZZML0SqObSDnA16HS6drDz2u/vrB7m3l9PlxqqPjgJQzr2xGPUD3v+uC8fh5e+W4/5Fk0K6vkDUPpQvTqsNsizvEBHRUDAsApSXPGWba2YVBQwA5pRlqQvRAOCr54RW3hFEmee9A3VBn82zdk8tTjV2ISvFhJvmDbxzBVD6Xc4ZnYVkU2gBVCDnT8iFJAEHa9vw/kElqJoxiuUdIiJKfEM+QGnpsmO9J6NxwwB9Jf992SRcODEXS2YUYm6Y0zEXTMiFxahDVXM3DtS29bnd7nSjscOm/tntlvGnD5XsyZ3njYlK0BGKrBSTmjHZfFw5S2gGV9wTEdEQoO0nZgz86YOjsLvcmFqYjmkDZAcsRj2e+caXInquJJMeF07Mxbv767F2Ty3OKvJ/vnte3IW39tbiqplF+NGiSdhb3YqjDR1Itxhwq2dCR2sXTsxVS1sAMyhERDQ0DOkMyvNbTqmH+C2/eLwmzylW1L++sxput7fMU9nUhbf2KvtL3txdg0t/9zF+9sZ+AMAdC8YgzRL+RE4kfDfllmQlITPAiDMREVGiGdIBysq3DwEA7rtsIpaEOJUTrksm5yHNbEBNaw+2nWxSvy+miGYUW3HuuGzYnW6cbrchxaTHHQtGa3JtgcwstsKaZPRcW0bcroOIiCgUQzpAkWVg2bxSzbIngFIqWjxNGRV+zbO63u0z5nzneWPw3Dfn4enb5uKCibn432unISM5flkLg16HSybnAVBGpYmIiIaCId2DcvHkXDx09TTNz5W59uxReHlHFdbtrcXPvzIV2040o7qlG+kWAxadVQBJknDplHxc2mvkOV5+dtVUnD8hB1fN7H9JHBERUSIZ0gHKo0tnhnXab6Tmjc1GfroZ9W02fHT4NNZ5ek+unjVq0D0n8ZCRbFIPIyQiIhoKhnSJJ8kUn2BAr5PwFU824h+bTuGdfcr5PDfMZRBAREQUDUM6QIknMc3z2dEzsDndmFyQhukc4SUiIooKBihhOqsoHePzvKch3zC3RPNeGCIiouEq5ADlk08+wVVXXYWioiJIkoTXXnvN73ZZlvHggw+isLAQSUlJWLhwIY4cOeJ3n6amJixbtgzp6enIyMjAnXfeiY6OjoheiNYkScK1ZytZFKNewjUDnFJMREREoQk5QOns7MTMmTOxatWqgLc/+uijePzxx/Hkk09iy5YtSElJwaJFi9DT06PeZ9myZdi/fz/Wr1+PtWvX4pNPPsG3v/3t8F9FnHx1bgmmFqbjOxeMQ3aqOd6XQ0RENGxIcrCn3gX6YUnCq6++imuuuQaAkj0pKirCf//3f+O+++4DALS2tiI/Px9r1qzBjTfeiIMHD2Lq1KnYtm0b5s6dCwB45513cMUVV6CqqgpFRYNnItra2mC1WtHa2or09PRwL5+IiIg0FMrnd1R7UE6cOIG6ujosXLhQ/Z7VasW8efOwadMmAMCmTZuQkZGhBicAsHDhQuh0OmzZsiXg49psNrS1tfl9ERER0fAV1QClrk4Zt83P919Qlp+fr95WV1eHvLw8v9sNBgOysrLU+/S2cuVKWK1W9aukpP9Ti4mIiGjoGxJTPCtWrEBra6v6VVlZGe9LIiIiohiKaoBSUKCcUVNfX+/3/fr6evW2goICNDQ0+N3udDrR1NSk3qc3s9mM9PR0vy8iIiIavqIaoIwZMwYFBQXYsGGD+r22tjZs2bIF5eXlAIDy8nK0tLRgx44d6n0++OADuN1uzJs3L5qXQ0RERENUyGfxdHR04OjRo+qfT5w4gV27diErKwulpaX44Q9/iP/93//FhAkTMGbMGPz0pz9FUVGROukzZcoULF68GN/61rfw5JNPwuFw4O6778aNN94Y1AQPERERDX8hByjbt2/HxRdfrP753nvvBQDcdtttWLNmDX70ox+hs7MT3/72t9HS0oLzzjsP77zzDiwWi/ozzz33HO6++25ceuml0Ol0WLp0KR5//PEovBwiIiIaDiLagxIv3INCREQ09MRtDwoRERFRNDBAISIiooTDAIWIiIgSDgMUIiIiSjgMUIiIiCjhMEAhIiKihBPyHpREICajeaoxERHR0CE+t4PZcDIkA5TGxkYA4KnGREREQ1B7ezusVuuA9xmSAUpWVhYAoKKiYtAXGG/nnHMOtm3bFu/L6FdbWxtKSkpQWVmZ8EvvEv29BIbO+8n3Mnr4XkZXor+ffC8jI8sy2tvbgzraZkgGKDqd0jpjtVoT/i+IXq9P+GsEMCROiR4q7yWQ+O8n38vo4XsZXUPl/eR7Gb5gEwtsko2x5cuXx/sShg2+l9HD9zJ6+F5GF9/P6Bnq7yXP4hnh+F5GF9/P6OF7GT18L6OH76V2hmQGxWw242c/+xnMZnO8L2XI43sZXXw/o4fvZfTwvYwevpfaGZIZFCIiIhrehmQGhYiIiIY3BihERESUcBigEBERUcJhgEJEREQJJ24ByieffIKrrroKRUVFkCQJr732mt/t9fX1uP3221FUVITk5GQsXrwYR44cCfhYsizj8ssvD/g4GzZswLnnnou0tDQUFBTgxz/+MZxOZ4xeVXxE47286KKLIEmS39d3v/tdv/t8//vfx5w5c2A2mzFr1qwYv6r40eL9bGxsxOLFi1FUVASz2YySkhLcfffdw+58Ka3+bva+XZIkvPDCC7F+eZrS4r1cs2ZNwPdSkiQ0NDRo8TI1odXfy5Hw+RNLcQtQOjs7MXPmTKxatarPbbIs45prrsHx48fx+uuvY+fOnSgrK8PChQvR2dnZ5/6///3vIUlSn+/v3r0bV1xxBRYvXoydO3fixRdfxBtvvIGf/OQnMXlN8RKt9/Jb3/oWamtr1a9HH320z+N94xvfwNe+9rWYvZZEoMX7qdPpcPXVV+ONN97AF198gTVr1uD999/v8x+4oU7Lv5urV6/2u88111wTq5cVF1q8l1/72tf8bqutrcWiRYtw4YUXIi8vL+avUStavJcj5fMnpuQEAEB+9dVX1T8fPnxYBiDv27dP/Z7L5ZJzc3Plp556yu9nd+7cKY8aNUqura3t8zgrVqyQ586d63f/N954Q7ZYLHJbW1tMXku8hfteXnjhhfIPfvCDoJ7jZz/7mTxz5swoXXFi0+L9FP7whz/IxcXFkV5yworle9n7sYc7rf5eNjQ0yEajUf773/8ejctOSLF6L0fi50+0JWQPis1mAwBYLBb1ezqdDmazGZ999pn6va6uLtx0001YtWoVCgoKAj6O72MAQFJSEnp6erBjx44YXX1iCfa9BIDnnnsOOTk5mDZtGlasWIGuri5Nr3UoiNX7WVNTg1deeQUXXnhhbC48AUX7vVy+fDlycnLwpS99Cf/3f/8X1HHuw0Ws/l7+/e9/R3JyMq6//vrYXHgCitZ7yc+fyCVkgDJ58mSUlpZixYoVaG5uht1ux69+9StUVVWhtrZWvd8999yDc889F1dffXXAx1m0aBE2btyIf/7zn3C5XKiursZDDz0EAH6PM5wF+17edNNNePbZZ/Hhhx9ixYoV+Mc//oGbb745jleemKL9fn79619HcnIyRo0ahfT0dPztb3/T8uXEVTTfy4ceeggvvfQS1q9fj6VLl+K//uu/8Mc//lHrlxQ3sfr/+dNPP42bbroJSUlJWryMhBCt95KfP1EQ7xSOLAdOz27fvl2eOXOmDEDW6/XyokWL5Msvv1xevHixLMuy/Prrr8vjx4+X29vbB3yc3/72t3J6erqs1+vl5ORkeeXKlTIA+YUXXoj1y4qLcN7LQDZs2CADkI8ePdrntpFc4pHl6L6ftbW18sGDB+XXX39dnjp1qnzXXXfF4mUkBC3+bgo//elPR1S5TJaj/15u3LhRBiBv37492pefUGL5Xo60z59oS8gMCgDMmTMHu3btQktLC2pra/HOO++gsbERY8eOBQB88MEHOHbsGDIyMmAwGGAwGAAAS5cuxUUXXaQ+zr333ouWlhZUVFTgzJkzarZFPM5IMNh7Gci8efMAAEePHtXqMoeMaL6fBQUFmDx5Mr7yla/gL3/5C5544okR9dtVrP5uzps3D1VVVWq6fiSI9nv5t7/9DbNmzcKcOXNids2JKlrvJT9/IpOwAYpgtVqRm5uLI0eOYPv27eq/4J/85CfYs2cPdu3apX4BwGOPPYbVq1f7PYYkSSgqKkJSUhL++c9/oqSkBLNnz9b6pcRdf+9lIOL9LCws1Ojqhp5ov59utxsARtSHqhDt93LXrl3IzMwckQe6ReO97OjowEsvvYQ777wzlpea8KLxXvLzJ3yGeD1xR0eHX6R54sQJ7Nq1C1lZWSgtLcXLL7+M3NxclJaWYu/evfjBD36Aa665BpdddhkA5TfPQI2xpaWlGDNmjPrnX//611i8eDF0Oh1eeeUV/PKXv8RLL70EvV4f+xepkUjfy2PHjuH555/HFVdcgezsbOzZswf33HMPLrjgAsyYMUN93KNHj6KjowN1dXXo7u5W/w85depUmEwmTV9zLGnxfq5btw719fU455xzkJqaiv379+P+++/HggULMHr06Hi87JjQ4r188803UV9fj/nz58NisWD9+vV45JFHcN9998XlNceKVv8/B4AXX3wRTqdz2PahafVejoTPn5iKV23pww8/lAH0+brttttkWfaOXBqNRrm0tFR+4IEHZJvNNuBjIkAt8eKLL5atVqtssVjkefPmyevWrYvRK4qfSN/LiooK+YILLpCzsrJks9ksjx8/Xr7//vvl1tZWv+e58MILAz7PiRMnNHy1safF+/nBBx/I5eXl6t/NCRMmyD/+8Y/l5uZmjV9tbGnxXr799tvyrFmz5NTUVDklJUWeOXOm/OSTT8oul0vrlxtTWv3/XJZluby8XL7pppu0emma0+q9HAmfP7EkyfIImsUjIiKiISHhe1CIiIho5GGAQkRERAmHAQoRERElHAYoRERElHAYoBAREVHCYYBCRERECYcBChERESUcBihERESUcBigEFFCuv3223HNNddE9BgfffQRJElCS0tLVK6JiLTDAIWIInb77bdDkiRIkgSTyYTx48fjoYcegtPpDPsx//CHP2DNmjXRu0giGlLidlggEQ0vixcvxurVq2Gz2bBu3TosX74cRqMRK1asCOlxXC4XJEmC1WqN0ZUS0VDADAoRRYXZbEZBQQHKyspw1113YeHChXjjjTdgs9lw3333YdSoUUhJScG8efPw0UcfqT+3Zs0aZGRk4I033sDUqVNhNptRUVHRp8Rjs9nw/e9/H3l5ebBYLDjvvPOwbds2v2tYt24dJk6ciKSkJFx88cU4efKkNi+eiKKOAQoRxURSUhLsdjvuvvtubNq0CS+88AL27NmDG264AYsXL8aRI0fU+3Z1deFXv/oV/va3v2H//v3Iy8vr83g/+tGP8O9//xvPPPMMPv/8c4wfPx6LFi1CU1MTAKCyshLXXXcdrrrqKuzatQvf/OY38ZOf/ESz10tE0cUAhYiiSpZlvP/++3j33XcxY8YMrF69Gi+//DLOP/98jBs3Dvfddx/OO+88rF69Wv0Zh8OBP//5zzj33HMxadIkJCcn+z1mZ2cnnnjiCfz617/G5ZdfjqlTp+Kpp55CUlISnn76aQDAE088gXHjxuG3v/0tJk2ahGXLluH222/X8qUTURSxB4WIomLt2rVITU2Fw+GA2+3GTTfdhOuvvx5r1qzBxIkT/e5rs9mQnZ2t/tlkMmHGjBn9PvaxY8fgcDiwYMEC9XtGoxFf+tKXcPDgQQDAwYMHMW/ePL+fKy8vj8ZLI6I4YIBCRFFx8cUX44knnoDJZEJRUREMBgNefPFF6PV67NixA3q93u/+qamp6j8nJSVBkiStL5mIEhgDFCKKipSUFIwfP97ve2effTZcLhcaGhpw/vnnh/3Y48aNg8lkwn/+8x+UlZUBUMpC27Ztww9/+EMAwJQpU/DGG2/4/dzmzZvDfk4iii/2oBBRzEycOBHLli3DrbfeildeeQUnTpzA1q1bsXLlSrz11ltBP05KSgruuusu3H///XjnnXdw4MABfOtb30JXVxfuvPNOAMB3v/tdHDlyBPfffz8OHz6M559/nntUiIYwBihEFFOrV6/Grbfeiv/+7//GpEmTcM0112Dbtm0oLS0N6XF++ctfYunSpbjlllswe/ZsHD16FO+++y4yMzMBAKWlpfj3v/+N1157DTNnzsSTTz6JRx55JBYviYg0IMmyLMf7IoiIiIh8MYNCRERECYcBChERESUcBihERESUcBigEBERUcJhgEJEREQJhwEKERERJRwGKERERJRwGKAQERFRwmGAQkRERAmHAQoRERElHAYoRERElHD+f66JeAPVS4njAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the dataset\n", "data.plot()" ] }, { "cell_type": "markdown", "id": "c00f6a4a", "metadata": {}, "source": [ "## Setup\n", "This function initializes the training environment and creates the transformation pipeline. Setup function must be called before executing any other function in PyCaret. `Setup` has only one required parameter i.e. `data`. All the other parameters are optional." ] }, { "cell_type": "code", "execution_count": 4, "id": "97f2c6c6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13Seasonality Detection Algoauto
14Max Period to Consider60
15Seasonal Period(s) Tested[12, 24, 36, 11, 48]
16Significant Seasonal Period(s)[12, 24, 36, 11, 48]
17Significant Seasonal Period(s) without Harmonics[48, 36, 11]
18Remove HarmonicsFalse
19Harmonics Order Methodharmonic_max
20Num Seasonalities to Use1
21All Seasonalities to Use[12]
22Primary Seasonality12
23Seasonality PresentTrue
24Target Strictly PositiveTrue
25Target White NoiseNo
26Recommended d1
27Recommended Seasonal D1
28PreprocessFalse
29CPU Jobs-1
30Use GPUFalse
31Log ExperimentFalse
32Experiment Namets-default-name
33USI4a01
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import pycaret time series and init setup\n", "from pycaret.time_series import *\n", "s = setup(data, fh = 3, session_id = 123)" ] }, { "cell_type": "markdown", "id": "3c583864", "metadata": {}, "source": [ "Once the setup has been successfully executed it shows the information grid containing experiment level information. \n", "\n", "- **Session id:** A pseudo-random number distributed as a seed in all functions for later reproducibility. If no `session_id` is passed, a random number is automatically generated that is distributed to all functions.
\n", "
\n", "- **Approach:** Univariate or multivariate.
\n", "
\n", "- **Exogenous Variables:** Exogeneous variables to be used in model.
\n", "
\n", "- **Original data shape:** Shape of the original data prior to any transformations.
\n", "
\n", "- **Transformed train set shape :** Shape of transformed train set
\n", "
\n", "- **Transformed test set shape :** Shape of transformed test set
\n", "
" ] }, { "cell_type": "markdown", "id": "ada19398", "metadata": {}, "source": [ "PyCaret has two set of API's that you can work with. (1) Functional (as seen above) and (2) Object Oriented API.\n", "\n", "With Object Oriented API instead of executing functions directly you will import a class and execute methods of class." ] }, { "cell_type": "code", "execution_count": 5, "id": "32ee91c9", "metadata": {}, "outputs": [], "source": [ "# import TSForecastingExperiment and init the class\n", "from pycaret.time_series import TSForecastingExperiment\n", "exp = TSForecastingExperiment()" ] }, { "cell_type": "code", "execution_count": 6, "id": "3ead9fb5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pycaret.time_series.forecasting.oop.TSForecastingExperiment" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check the type of exp\n", "type(exp)" ] }, { "cell_type": "code", "execution_count": 7, "id": "f05b8590", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13Seasonality Detection Algoauto
14Max Period to Consider60
15Seasonal Period(s) Tested[12, 24, 36, 11, 48]
16Significant Seasonal Period(s)[12, 24, 36, 11, 48]
17Significant Seasonal Period(s) without Harmonics[48, 36, 11]
18Remove HarmonicsFalse
19Harmonics Order Methodharmonic_max
20Num Seasonalities to Use1
21All Seasonalities to Use[12]
22Primary Seasonality12
23Seasonality PresentTrue
24Target Strictly PositiveTrue
25Target White NoiseNo
26Recommended d1
27Recommended Seasonal D1
28PreprocessFalse
29CPU Jobs-1
30Use GPUFalse
31Log ExperimentFalse
32Experiment Namets-default-name
33USIcf71
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# init setup on exp\n", "exp.setup(data, fh = 3, session_id = 123)" ] }, { "cell_type": "markdown", "id": "77213120", "metadata": {}, "source": [ "You can use any of the two method i.e. Functional or OOP and even switch back and forth between two set of API's. The choice of method will not impact the results and has been tested for consistency." ] }, { "cell_type": "markdown", "id": "b86fdf15", "metadata": {}, "source": [ "## Check Stats\n", "The `check_stats` function is used to get summary statistics and run statistical tests on the original data or model residuals." ] }, { "cell_type": "code", "execution_count": 8, "id": "f449e9eb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TestTest NameDataPropertySettingValue
0SummaryStatisticsTransformedLength144.0
1SummaryStatisticsTransformed# Missing Values0.0
2SummaryStatisticsTransformedMean280.298611
3SummaryStatisticsTransformedMedian265.5
4SummaryStatisticsTransformedStandard Deviation119.966317
5SummaryStatisticsTransformedVariance14391.917201
6SummaryStatisticsTransformedKurtosis-0.364942
7SummaryStatisticsTransformedSkewness0.58316
8SummaryStatisticsTransformed# Distinct Values118.0
9White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 24}1606.083817
10White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 48}1933.155822
11White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 24}0.0
12White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 48}0.0
13White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 24}False
14White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 48}False
15StationarityADFTransformedStationarity{'alpha': 0.05}False
16StationarityADFTransformedp-value{'alpha': 0.05}0.99188
17StationarityADFTransformedTest Statistic{'alpha': 0.05}0.815369
18StationarityADFTransformedCritical Value 1%{'alpha': 0.05}-3.481682
19StationarityADFTransformedCritical Value 5%{'alpha': 0.05}-2.884042
20StationarityADFTransformedCritical Value 10%{'alpha': 0.05}-2.57877
21StationarityKPSSTransformedTrend Stationarity{'alpha': 0.05}True
22StationarityKPSSTransformedp-value{'alpha': 0.05}0.1
23StationarityKPSSTransformedTest Statistic{'alpha': 0.05}0.09615
24StationarityKPSSTransformedCritical Value 10%{'alpha': 0.05}0.119
25StationarityKPSSTransformedCritical Value 5%{'alpha': 0.05}0.146
26StationarityKPSSTransformedCritical Value 2.5%{'alpha': 0.05}0.176
27StationarityKPSSTransformedCritical Value 1%{'alpha': 0.05}0.216
28NormalityShapiroTransformedNormality{'alpha': 0.05}False
29NormalityShapiroTransformedp-value{'alpha': 0.05}0.000068
\n", "
" ], "text/plain": [ " Test Test Name Data Property \\\n", "0 Summary Statistics Transformed Length \n", "1 Summary Statistics Transformed # Missing Values \n", "2 Summary Statistics Transformed Mean \n", "3 Summary Statistics Transformed Median \n", "4 Summary Statistics Transformed Standard Deviation \n", "5 Summary Statistics Transformed Variance \n", "6 Summary Statistics Transformed Kurtosis \n", "7 Summary Statistics Transformed Skewness \n", "8 Summary Statistics Transformed # Distinct Values \n", "9 White Noise Ljung-Box Transformed Test Statictic \n", "10 White Noise Ljung-Box Transformed Test Statictic \n", "11 White Noise Ljung-Box Transformed p-value \n", "12 White Noise Ljung-Box Transformed p-value \n", "13 White Noise Ljung-Box Transformed White Noise \n", "14 White Noise Ljung-Box Transformed White Noise \n", "15 Stationarity ADF Transformed Stationarity \n", "16 Stationarity ADF Transformed p-value \n", "17 Stationarity ADF Transformed Test Statistic \n", "18 Stationarity ADF Transformed Critical Value 1% \n", "19 Stationarity ADF Transformed Critical Value 5% \n", "20 Stationarity ADF Transformed Critical Value 10% \n", "21 Stationarity KPSS Transformed Trend Stationarity \n", "22 Stationarity KPSS Transformed p-value \n", "23 Stationarity KPSS Transformed Test Statistic \n", "24 Stationarity KPSS Transformed Critical Value 10% \n", "25 Stationarity KPSS Transformed Critical Value 5% \n", "26 Stationarity KPSS Transformed Critical Value 2.5% \n", "27 Stationarity KPSS Transformed Critical Value 1% \n", "28 Normality Shapiro Transformed Normality \n", "29 Normality Shapiro Transformed p-value \n", "\n", " Setting Value \n", "0 144.0 \n", "1 0.0 \n", "2 280.298611 \n", "3 265.5 \n", "4 119.966317 \n", "5 14391.917201 \n", "6 -0.364942 \n", "7 0.58316 \n", "8 118.0 \n", "9 {'alpha': 0.05, 'K': 24} 1606.083817 \n", "10 {'alpha': 0.05, 'K': 48} 1933.155822 \n", "11 {'alpha': 0.05, 'K': 24} 0.0 \n", "12 {'alpha': 0.05, 'K': 48} 0.0 \n", "13 {'alpha': 0.05, 'K': 24} False \n", "14 {'alpha': 0.05, 'K': 48} False \n", "15 {'alpha': 0.05} False \n", "16 {'alpha': 0.05} 0.99188 \n", "17 {'alpha': 0.05} 0.815369 \n", "18 {'alpha': 0.05} -3.481682 \n", "19 {'alpha': 0.05} -2.884042 \n", "20 {'alpha': 0.05} -2.57877 \n", "21 {'alpha': 0.05} True \n", "22 {'alpha': 0.05} 0.1 \n", "23 {'alpha': 0.05} 0.09615 \n", "24 {'alpha': 0.05} 0.119 \n", "25 {'alpha': 0.05} 0.146 \n", "26 {'alpha': 0.05} 0.176 \n", "27 {'alpha': 0.05} 0.216 \n", "28 {'alpha': 0.05} False \n", "29 {'alpha': 0.05} 0.000068 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check statistical tests on original data\n", "check_stats()" ] }, { "cell_type": "markdown", "id": "f98dd435", "metadata": {}, "source": [ "## Compare Models\n", "\n", "This function trains and evaluates the performance of all the estimators available in the model library using cross-validation. The output of this function is a scoring grid with average cross-validated scores. Metrics evaluated during CV can be accessed using the `get_metrics` function. Custom metrics can be added or removed using `add_metric` and `remove_metric` function." ] }, { "cell_type": "code", "execution_count": 9, "id": "65a19df4", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094019.30990.03180.0316-0.44650.0967
exp_smoothExponential Smoothing0.49290.556015.146019.37790.03200.0317-0.46000.1033
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0667
auto_arimaAuto ARIMA0.71360.694521.938924.21380.04590.0464-0.54549.6867
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.1200
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85030.826126.265528.98300.05130.05340.03670.0967
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.1333
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.4067
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.2933
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.3833
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.1033
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.1067
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.1233
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0333
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16781.086636.167838.21000.06940.0726-0.43020.1900
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.1300
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.6633
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.1067
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.22741.144937.996340.25500.07350.0769-0.71900.1467
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25001.178238.641841.35280.07490.0784-0.94260.2133
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & Detrending1.25231.160438.800240.82010.07450.0780-0.68421.5933
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.27861.195139.638242.06580.07500.0788-0.63080.1367
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.1800
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending1.36591.267242.397444.65970.07930.0834-0.73930.0967
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83442.5533
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53881.2567
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0167
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0167
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11831.4433
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/125 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094019.30990.03180.0316-0.44650.0967
exp_smoothExponential Smoothing0.49290.556015.146019.37790.03200.0317-0.46000.0867
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.1300
auto_arimaAuto ARIMA0.71360.694521.938924.21380.04590.0464-0.545413.9433
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.1100
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85030.826126.265528.98300.05130.05340.03670.1200
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.0967
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.0967
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.0967
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.1133
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.0933
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.0900
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.1300
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0300
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16781.086636.167838.21000.06940.0726-0.43020.2600
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.1767
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.5800
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.1167
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.22741.144937.996340.25500.07350.0769-0.71900.1633
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25001.178238.641841.35280.07490.0784-0.94260.2433
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & Detrending1.25231.160438.800240.82010.07450.0780-0.68421.6900
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.27861.195139.638242.06580.07500.0788-0.63080.1733
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.2167
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending1.36591.267242.397444.65970.07930.0834-0.73930.0967
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0467
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0367
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0433
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0267
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0400
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/125 [00:00#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}
AutoETS(seasonal='mul', sp=12, trend='add')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "AutoETS(seasonal='mul', sp=12, trend='add')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# compare models using OOP\n", "exp.compare_models()" ] }, { "cell_type": "markdown", "id": "340de1e2", "metadata": {}, "source": [ "Notice that the output between functional and OOP API is consistent. Rest of the functions in this notebook will only be shown using functional API only. \n", "\n", "___" ] }, { "cell_type": "markdown", "id": "6a77ec0c", "metadata": {}, "source": [ "## Analyze Model" ] }, { "cell_type": "markdown", "id": "595ea108", "metadata": {}, "source": [ "You can use the `plot_model` function to analyzes the performance of a trained model on the test set. It may require re-training the model in certain cases." ] }, { "cell_type": "code", "execution_count": 11, "id": "0ec7fad6", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "#1f77b4" }, "marker": { "size": 5 }, "mode": "lines+markers", "name": "Forecast | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 442.9857, 388.2084, 427.7002 ] }, { "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Lower Interval", "showlegend": false, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 424.9506, 371.5719, 409.4492 ] }, { "fill": "tonexty", "fillcolor": "rgba(104,187,227,0.5)", "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Prediction Interval | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 461.5174, 406.9321, 448.0973 ] }, { "marker": { "color": "#3f3f3f", "size": 5 }, "mode": "lines+markers", "name": "Original", "showlegend": true, "type": "scatter", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ] } ], "layout": { "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" }, "xaxis": { "title": { "text": "Time" } }, "yaxis": { "title": { "text": "Values" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot forecast\n", "plot_model(best, plot = 'forecast')" ] }, { "cell_type": "code", "execution_count": 12, "id": "6c5be2b7", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "#1f77b4" }, "marker": { "size": 5 }, "mode": "lines+markers", "name": "Forecast | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00", "1961-01-01T00:00:00", "1961-02-01T00:00:00", "1961-03-01T00:00:00", "1961-04-01T00:00:00", "1961-05-01T00:00:00", "1961-06-01T00:00:00", "1961-07-01T00:00:00", "1961-08-01T00:00:00", "1961-09-01T00:00:00", "1961-10-01T00:00:00", "1961-11-01T00:00:00", "1961-12-01T00:00:00", "1962-01-01T00:00:00", "1962-02-01T00:00:00", "1962-03-01T00:00:00", "1962-04-01T00:00:00", "1962-05-01T00:00:00", "1962-06-01T00:00:00", "1962-07-01T00:00:00", "1962-08-01T00:00:00", "1962-09-01T00:00:00", "1962-10-01T00:00:00", "1962-11-01T00:00:00", "1962-12-01T00:00:00", "1963-01-01T00:00:00", "1963-02-01T00:00:00", "1963-03-01T00:00:00", "1963-04-01T00:00:00", "1963-05-01T00:00:00", "1963-06-01T00:00:00", "1963-07-01T00:00:00", "1963-08-01T00:00:00", "1963-09-01T00:00:00" ], "y": [ 442.9857, 388.2084, 427.7002, 440.8284, 414.1669, 460.3102, 489.8039, 500.6157, 567.9574, 657.4232, 648.7133, 541.5302, 472.1907, 413.6623, 455.5911, 469.4199, 440.8848, 489.846, 521.065, 532.3979, 603.8251, 698.7234, 689.2542, 575.1974, 501.3958, 439.1161, 483.4819, 498.0115, 467.6027, 519.3819, 552.3262, 564.18, 639.6927, 740.0237, 729.795, 608.8646 ] }, { "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Lower Interval", "showlegend": false, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00", "1961-01-01T00:00:00", "1961-02-01T00:00:00", "1961-03-01T00:00:00", "1961-04-01T00:00:00", "1961-05-01T00:00:00", "1961-06-01T00:00:00", "1961-07-01T00:00:00", "1961-08-01T00:00:00", "1961-09-01T00:00:00", "1961-10-01T00:00:00", "1961-11-01T00:00:00", "1961-12-01T00:00:00", "1962-01-01T00:00:00", "1962-02-01T00:00:00", "1962-03-01T00:00:00", "1962-04-01T00:00:00", "1962-05-01T00:00:00", "1962-06-01T00:00:00", "1962-07-01T00:00:00", "1962-08-01T00:00:00", "1962-09-01T00:00:00", "1962-10-01T00:00:00", "1962-11-01T00:00:00", "1962-12-01T00:00:00", "1963-01-01T00:00:00", "1963-02-01T00:00:00", "1963-03-01T00:00:00", "1963-04-01T00:00:00", "1963-05-01T00:00:00", "1963-06-01T00:00:00", "1963-07-01T00:00:00", "1963-08-01T00:00:00", "1963-09-01T00:00:00" ], "y": [ 424.9506, 371.5719, 409.4492, 422.3816, 394.2021, 440.0163, 466.8634, 476.9504, 542.7137, 628.053, 621.1757, 518.0841, 442.2995, 387.6357, 426.3426, 441.6393, 411.9386, 458.1427, 488.4711, 497.6475, 565.7004, 657.767, 648.9203, 540.1708, 461.8614, 403.9483, 447.3995, 461.6122, 430.7404, 477.0223, 507.1202, 519.6842, 595.2357, 689.7727, 679.7733, 563.4659 ] }, { "fill": "tonexty", "fillcolor": "rgba(104,187,227,0.5)", "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Prediction Interval | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00", "1961-01-01T00:00:00", "1961-02-01T00:00:00", "1961-03-01T00:00:00", "1961-04-01T00:00:00", "1961-05-01T00:00:00", "1961-06-01T00:00:00", "1961-07-01T00:00:00", "1961-08-01T00:00:00", "1961-09-01T00:00:00", "1961-10-01T00:00:00", "1961-11-01T00:00:00", "1961-12-01T00:00:00", "1962-01-01T00:00:00", "1962-02-01T00:00:00", "1962-03-01T00:00:00", "1962-04-01T00:00:00", "1962-05-01T00:00:00", "1962-06-01T00:00:00", "1962-07-01T00:00:00", "1962-08-01T00:00:00", "1962-09-01T00:00:00", "1962-10-01T00:00:00", "1962-11-01T00:00:00", "1962-12-01T00:00:00", "1963-01-01T00:00:00", "1963-02-01T00:00:00", "1963-03-01T00:00:00", "1963-04-01T00:00:00", "1963-05-01T00:00:00", "1963-06-01T00:00:00", "1963-07-01T00:00:00", "1963-08-01T00:00:00", "1963-09-01T00:00:00" ], "y": [ 460.1664, 407.0486, 446.7895, 459.6393, 434.0618, 482.5451, 512.5622, 525.19, 594.7911, 687.4622, 676.7592, 567.8424, 503.6258, 443.1591, 487.0984, 500.9915, 469.8882, 521.6774, 554.4366, 568.9597, 643.2022, 741.7036, 732.6654, 612.8763, 539.8035, 476.5492, 521.9666, 534.8228, 504.449, 558.2877, 594.646, 610.3505, 689.403, 793.9929, 782.3683, 655.0295 ] }, { "marker": { "color": "#3f3f3f", "size": 5 }, "mode": "lines+markers", "name": "Original", "showlegend": true, "type": "scatter", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ] } ], "layout": { "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" }, "xaxis": { "title": { "text": "Time" } }, "yaxis": { "title": { "text": "Values" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot forecast for 36 months in future\n", "plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 36})" ] }, { "cell_type": "code", "execution_count": 13, "id": "9fc4b9b1", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "rgb(31, 119, 180)", "width": 2 }, "marker": { "color": "rgb(31, 119, 180)", "size": 5 }, "mode": "lines+markers", "name": "Number of airline passengers", "type": "scattergl", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "xaxis": "x", "y": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ], "yaxis": "y" }, { "line": { "color": "rgb(255, 127, 14)", "width": 2 }, "marker": { "color": "rgb(255, 127, 14)", "size": 5 }, "mode": "lines+markers", "name": "ETS", "type": "scattergl", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "xaxis": "x", "y": [ 0.600200000000001, -2.1299999999999955, -2.764199999999988, -1.4709000000000003, -2.778000000000006, -2.050900000000013, -3.3652999999999906, -3.495100000000008, -3.852100000000007, -4.464399999999998, -6.405699999999996, -8.676599999999993, -14.427300000000002, -6.138299999999987, -5.300399999999996, -6.4410000000000025, -6.584399999999988, 4.155300000000011, 8.720799999999997, 4.970300000000009, 3.7741000000000042, -4.397199999999998, -7.053700000000006, 2.378600000000006, 4.876800000000003, -6.09729999999999, 4.261799999999994, -6.6728999999999985, 14.869799999999998, -11.1875, -7.882100000000008, -3.074299999999994, -0.973399999999998, 4.605799999999988, 7.251299999999986, -4.661699999999996, -1.4935999999999865, -0.8353999999999928, -17.891699999999986, -9.824900000000014, -6.736500000000007, 17.973899999999986, -2.116000000000014, 10.364100000000008, -7.9757999999999925, 4.922699999999992, 6.3034000000000106, 0.723399999999998, -3.195300000000003, -12.436399999999992, 9.397199999999998, 17.1139, 1.3780999999999892, -17.74340000000001, -7.295000000000016, -5.210300000000018, -5.018000000000001, -5.337600000000009, -10.46629999999999, -10.091499999999996, -7.2298999999999864, -25.6627, -6.813600000000008, -4.985600000000005, 8.699700000000007, 14.877700000000004, 24.818499999999972, -2.2287999999999784, 0.8301999999999907, -2.8075000000000045, 2.109800000000007, 0.7752000000000123, 8.099199999999996, 4.685599999999994, -19.8673, -3.1206000000000245, -4.182999999999993, 14.004799999999989, 25.577699999999993, 7.800099999999986, 10.9495, 3.696799999999996, -2.0392999999999972, 9.637499999999989, 1.419399999999996, 6.382400000000018, -4.656499999999994, -8.607000000000028, -3.210899999999981, 8.354100000000017, -1.0248000000000275, 12.46890000000002, 3.3414000000000215, -2.6345999999999776, 3.8202, -3.8285000000000196, -0.22320000000001983, -3.3514999999999873, 6.491499999999974, -2.2998000000000047, -0.49279999999998836, 8.607199999999978, 4.501700000000028, 20.1943, 7.485500000000002, 1.9603999999999928, 1.102700000000027, -9.387200000000007, -11.87560000000002, -15.792399999999986, -23.240200000000016, -22.587499999999977, -7.4649, 1.309599999999989, 13.851499999999987, 29.6952, -13.680999999999983, 4.402499999999975, -2.5597000000000207, -10.300000000000011, 7.947200000000009, 4.837600000000009, 12.401499999999999, 6.258199999999988, 10.433299999999974, -21.016599999999983, 5.834899999999948, 12.27819999999997, 14.609300000000019, 7.737500000000011, 13.811199999999985, 17.501700000000028, 2.204900000000009, -1.8134999999999764, -40.919100000000014, 27.34620000000001, 7.155700000000024, -0.022199999999998, 6.1965999999999894, -18.644999999999982, 1.6902000000000044, null, null, null ], "yaxis": "y" } ], "layout": { "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Actual vs. Residuals" }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ] }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ] } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# residuals plot\n", "plot_model(best, plot = 'residuals')" ] }, { "cell_type": "code", "execution_count": 14, "id": "da718984", "metadata": {}, "outputs": [], "source": [ "# check docstring to see available plots \n", "# help(plot_model)" ] }, { "cell_type": "markdown", "id": "6bd66179", "metadata": {}, "source": [ "An alternate to `plot_model` function is `evaluate_model`. It can only be used in Notebook since it uses ipywidget." ] }, { "cell_type": "markdown", "id": "954cbeff", "metadata": {}, "source": [ "## Prediction\n", "The `predict_model` function returns `y_pred`. When data is `None` (default), it uses `fh` as defined during the `setup` function. " ] }, { "cell_type": "code", "execution_count": 15, "id": "87c1a007", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2
0ETS0.25160.29628.035210.74260.01790.01820.8642
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# predict on test set\n", "holdout_pred = predict_model(best)" ] }, { "cell_type": "code", "execution_count": 16, "id": "5c01ac77", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
y_pred
1960-10442.9857
1960-11388.2084
1960-12427.7002
\n", "
" ], "text/plain": [ " y_pred\n", "1960-10 442.9857\n", "1960-11 388.2084\n", "1960-12 427.7002" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show predictions df\n", "holdout_pred.head()" ] }, { "cell_type": "code", "execution_count": 17, "id": "766ed344", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
y_pred
1960-10442.9857
1960-11388.2084
1960-12427.7002
1961-01440.8284
1961-02414.1669
1961-03460.3102
1961-04489.8039
1961-05500.6157
1961-06567.9574
1961-07657.4232
1961-08648.7133
1961-09541.5302
1961-10472.1907
1961-11413.6623
1961-12455.5911
1962-01469.4199
1962-02440.8848
1962-03489.8460
1962-04521.0650
1962-05532.3979
1962-06603.8251
1962-07698.7234
1962-08689.2542
1962-09575.1974
1962-10501.3958
1962-11439.1161
1962-12483.4819
1963-01498.0115
1963-02467.6027
1963-03519.3819
1963-04552.3262
1963-05564.1800
1963-06639.6927
1963-07740.0237
1963-08729.7950
1963-09608.8646
\n", "
" ], "text/plain": [ " y_pred\n", "1960-10 442.9857\n", "1960-11 388.2084\n", "1960-12 427.7002\n", "1961-01 440.8284\n", "1961-02 414.1669\n", "1961-03 460.3102\n", "1961-04 489.8039\n", "1961-05 500.6157\n", "1961-06 567.9574\n", "1961-07 657.4232\n", "1961-08 648.7133\n", "1961-09 541.5302\n", "1961-10 472.1907\n", "1961-11 413.6623\n", "1961-12 455.5911\n", "1962-01 469.4199\n", "1962-02 440.8848\n", "1962-03 489.8460\n", "1962-04 521.0650\n", "1962-05 532.3979\n", "1962-06 603.8251\n", "1962-07 698.7234\n", "1962-08 689.2542\n", "1962-09 575.1974\n", "1962-10 501.3958\n", "1962-11 439.1161\n", "1962-12 483.4819\n", "1963-01 498.0115\n", "1963-02 467.6027\n", "1963-03 519.3819\n", "1963-04 552.3262\n", "1963-05 564.1800\n", "1963-06 639.6927\n", "1963-07 740.0237\n", "1963-08 729.7950\n", "1963-09 608.8646" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# generate forecast for 36 period in future\n", "predict_model(best, fh = 36)" ] }, { "cell_type": "markdown", "id": "e4384735", "metadata": {}, "source": [ "## Save Model" ] }, { "cell_type": "markdown", "id": "cd63f053", "metadata": {}, "source": [ "Finally, you can save the entire pipeline on disk for later use, using pycaret's `save_model` function." ] }, { "cell_type": "code", "execution_count": 18, "id": "4181de41", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transformation Pipeline and Model Successfully Saved\n" ] }, { "data": { "text/plain": [ "(AutoETS(seasonal='mul', sp=12, trend='add'), 'my_first_pipeline.pkl')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# save pipeline\n", "save_model(best, 'my_first_pipeline')" ] }, { "cell_type": "code", "execution_count": 19, "id": "40ed5152", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transformation Pipeline and Model Successfully Loaded\n" ] }, { "data": { "text/html": [ "
AutoETS(seasonal='mul', sp=12, trend='add')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "AutoETS(seasonal='mul', sp=12, trend='add')" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# load pipeline\n", "loaded_best_pipeline = load_model('my_first_pipeline')\n", "loaded_best_pipeline" ] }, { "cell_type": "markdown", "id": "b2c7d62e", "metadata": {}, "source": [ "# 👇 Detailed function-by-function overview" ] }, { "cell_type": "markdown", "id": "e05937f5", "metadata": {}, "source": [ "## ✅ Setup\n", "This function initializes the training environment and creates the transformation pipeline. Setup function must be called before executing any other function in PyCaret. `Setup` has only one required parameter i.e. `data`. All the other parameters are optional." ] }, { "cell_type": "code", "execution_count": 20, "id": "24e503be", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13Seasonality Detection Algoauto
14Max Period to Consider60
15Seasonal Period(s) Tested[12, 24, 36, 11, 48]
16Significant Seasonal Period(s)[12, 24, 36, 11, 48]
17Significant Seasonal Period(s) without Harmonics[48, 36, 11]
18Remove HarmonicsFalse
19Harmonics Order Methodharmonic_max
20Num Seasonalities to Use1
21All Seasonalities to Use[12]
22Primary Seasonality12
23Seasonality PresentTrue
24Target Strictly PositiveTrue
25Target White NoiseNo
26Recommended d1
27Recommended Seasonal D1
28PreprocessFalse
29CPU Jobs-1
30Use GPUFalse
31Log ExperimentFalse
32Experiment Namets-default-name
33USI0889
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s = setup(data, fh = 3, session_id = 123)" ] }, { "cell_type": "markdown", "id": "924d198b", "metadata": {}, "source": [ "To access all the variables created by the setup function such as transformed dataset, random_state, etc. you can use `get_config` method." ] }, { "cell_type": "code", "execution_count": 21, "id": "76128b08", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'USI',\n", " 'X',\n", " 'X_test',\n", " 'X_test_transformed',\n", " 'X_train',\n", " 'X_train_transformed',\n", " 'X_transformed',\n", " '_available_plots',\n", " '_ml_usecase',\n", " 'all_sps_to_use',\n", " 'approach_type',\n", " 'candidate_sps',\n", " 'data',\n", " 'dataset',\n", " 'dataset_transformed',\n", " 'enforce_exogenous',\n", " 'enforce_pi',\n", " 'exogenous_present',\n", " 'exp_id',\n", " 'exp_name_log',\n", " 'fh',\n", " 'fold_generator',\n", " 'fold_param',\n", " 'gpu_n_jobs_param',\n", " 'gpu_param',\n", " 'html_param',\n", " 'idx',\n", " 'index_type',\n", " 'is_multiclass',\n", " 'log_plots_param',\n", " 'logging_param',\n", " 'memory',\n", " 'model_engines',\n", " 'n_jobs_param',\n", " 'pipeline',\n", " 'primary_sp_to_use',\n", " 'seasonality_present',\n", " 'seed',\n", " 'significant_sps',\n", " 'significant_sps_no_harmonics',\n", " 'strictly_positive',\n", " 'test',\n", " 'test_transformed',\n", " 'train',\n", " 'train_transformed',\n", " 'variable_and_property_keys',\n", " 'variables',\n", " 'y',\n", " 'y_test',\n", " 'y_test_transformed',\n", " 'y_train',\n", " 'y_train_transformed',\n", " 'y_transformed'}" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check all available config\n", "get_config()" ] }, { "cell_type": "code", "execution_count": 22, "id": "dbc43292", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Period\n", "1949-01 112.0\n", "1949-02 118.0\n", "1949-03 132.0\n", "1949-04 129.0\n", "1949-05 121.0\n", " ... \n", "1960-05 472.0\n", "1960-06 535.0\n", "1960-07 622.0\n", "1960-08 606.0\n", "1960-09 508.0\n", "Freq: M, Name: Number of airline passengers, Length: 141, dtype: float64" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets access y_train_transformed\n", "get_config('y_train_transformed')" ] }, { "cell_type": "code", "execution_count": 23, "id": "ef9cd061", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The current seed is: 123\n", "The new seed is: 786\n" ] } ], "source": [ "# another example: let's access seed\n", "print(\"The current seed is: {}\".format(get_config('seed')))\n", "\n", "# now lets change it using set_config\n", "set_config('seed', 786)\n", "print(\"The new seed is: {}\".format(get_config('seed')))" ] }, { "cell_type": "markdown", "id": "7afbe41d", "metadata": {}, "source": [ "All the preprocessing configurations and experiment settings/parameters are passed into the `setup` function. To see all available parameters, check the docstring:" ] }, { "cell_type": "code", "execution_count": 24, "id": "2885a14f", "metadata": {}, "outputs": [], "source": [ "# help(setup)" ] }, { "cell_type": "code", "execution_count": 25, "id": "34ae0fce", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13Seasonality Detection Algoauto
14Max Period to Consider60
15Seasonal Period(s) Tested[12, 24, 36, 11, 48]
16Significant Seasonal Period(s)[12, 24, 36, 11, 48]
17Significant Seasonal Period(s) without Harmonics[48, 36, 11]
18Remove HarmonicsFalse
19Harmonics Order Methodharmonic_max
20Num Seasonalities to Use1
21All Seasonalities to Use[12]
22Primary Seasonality12
23Seasonality PresentTrue
24Target Strictly PositiveTrue
25Target White NoiseNo
26Recommended d1
27Recommended Seasonal D1
28PreprocessTrue
29Numerical Imputation (Target)drift
30Transformation (Target)None
31Scaling (Target)None
32Feature Engineering (Target) - Reduced RegressionFalse
33CPU Jobs-1
34Use GPUFalse
35Log ExperimentFalse
36Experiment Namets-default-name
37USIb1f7
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# init setup fold_strategy = expanding\n", "s = setup(data, fh = 3, session_id = 123,\n", " fold_strategy = 'expanding', numeric_imputation_target = 'drift')" ] }, { "cell_type": "markdown", "id": "36b8b803", "metadata": {}, "source": [ "## ✅ Compare Models\n", "This function trains and evaluates the performance of all estimators available in the model library using cross-validation. The output of this function is a scoring grid with average cross-validated scores. Metrics evaluated during CV can be accessed using the `get_metrics` function. Custom metrics can be added or removed using `add_metric` and `remove_metric` function." ] }, { "cell_type": "code", "execution_count": 26, "id": "a3350418", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094019.30990.03180.0316-0.44650.1100
exp_smoothExponential Smoothing0.49290.556015.146019.37790.03200.0317-0.46000.1067
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.1167
auto_arimaAuto ARIMA0.71360.694521.938924.21380.04590.0464-0.545411.6333
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.1267
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85030.826126.265528.98300.05130.05340.03670.1167
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.1267
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.1300
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.1333
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.1333
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.1233
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.1167
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.1433
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0600
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16781.086636.167838.21000.06940.0726-0.43020.2033
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.1233
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.3767
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.1200
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.22741.144937.996340.25500.07350.0769-0.71900.1567
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25001.178238.641841.35280.07490.0784-0.94260.2267
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & Detrending1.25231.160438.800240.82010.07450.0780-0.68421.0700
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.27861.195139.638242.06580.07500.0788-0.63080.1433
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.1400
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending1.36591.267242.397444.65970.07930.0834-0.73930.1167
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.1067
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0733
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0567
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0433
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0733
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/125 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NameReferenceTurbo
ID
naiveNaive Forecastersktime.forecasting.naive.NaiveForecasterTrue
grand_meansGrand Means Forecastersktime.forecasting.naive.NaiveForecasterTrue
snaiveSeasonal Naive Forecastersktime.forecasting.naive.NaiveForecasterTrue
polytrendPolynomial Trend Forecastersktime.forecasting.trend.PolynomialTrendForeca...True
arimaARIMAsktime.forecasting.arima.ARIMATrue
auto_arimaAuto ARIMAsktime.forecasting.arima.AutoARIMATrue
exp_smoothExponential Smoothingsktime.forecasting.exp_smoothing.ExponentialSm...True
crostonCrostonsktime.forecasting.croston.CrostonTrue
etsETSsktime.forecasting.ets.AutoETSTrue
thetaTheta Forecastersktime.forecasting.theta.ThetaForecasterTrue
tbatsTBATSsktime.forecasting.tbats.TBATSFalse
batsBATSsktime.forecasting.bats.BATSFalse
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseaso...pycaret.containers.models.time_series.BaseCdsD...True
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detren...pycaret.containers.models.time_series.BaseCdsD...True
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasona...pycaret.containers.models.time_series.BaseCdsD...True
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Det...pycaret.containers.models.time_series.BaseCdsD...True
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonali...pycaret.containers.models.time_series.BaseCdsD...True
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
\n", "" ], "text/plain": [ " Name \\\n", "ID \n", "naive Naive Forecaster \n", "grand_means Grand Means Forecaster \n", "snaive Seasonal Naive Forecaster \n", "polytrend Polynomial Trend Forecaster \n", "arima ARIMA \n", "auto_arima Auto ARIMA \n", "exp_smooth Exponential Smoothing \n", "croston Croston \n", "ets ETS \n", "theta Theta Forecaster \n", "tbats TBATS \n", "bats BATS \n", "lr_cds_dt Linear w/ Cond. Deseasonalize & Detrending \n", "en_cds_dt Elastic Net w/ Cond. Deseasonalize & Detrending \n", "ridge_cds_dt Ridge w/ Cond. Deseasonalize & Detrending \n", "lasso_cds_dt Lasso w/ Cond. Deseasonalize & Detrending \n", "lar_cds_dt Least Angular Regressor w/ Cond. Deseasonalize... \n", "llar_cds_dt Lasso Least Angular Regressor w/ Cond. Deseaso... \n", "br_cds_dt Bayesian Ridge w/ Cond. Deseasonalize & Detren... \n", "huber_cds_dt Huber w/ Cond. Deseasonalize & Detrending \n", "par_cds_dt Passive Aggressive w/ Cond. Deseasonalize & De... \n", "omp_cds_dt Orthogonal Matching Pursuit w/ Cond. Deseasona... \n", "knn_cds_dt K Neighbors w/ Cond. Deseasonalize & Detrending \n", "dt_cds_dt Decision Tree w/ Cond. Deseasonalize & Detrending \n", "rf_cds_dt Random Forest w/ Cond. Deseasonalize & Detrending \n", "et_cds_dt Extra Trees w/ Cond. Deseasonalize & Detrending \n", "gbr_cds_dt Gradient Boosting w/ Cond. Deseasonalize & Det... \n", "ada_cds_dt AdaBoost w/ Cond. Deseasonalize & Detrending \n", "xgboost_cds_dt Extreme Gradient Boosting w/ Cond. Deseasonali... \n", "lightgbm_cds_dt Light Gradient Boosting w/ Cond. Deseasonalize... \n", "catboost_cds_dt CatBoost Regressor w/ Cond. Deseasonalize & De... \n", "\n", " Reference Turbo \n", "ID \n", "naive sktime.forecasting.naive.NaiveForecaster True \n", "grand_means sktime.forecasting.naive.NaiveForecaster True \n", "snaive sktime.forecasting.naive.NaiveForecaster True \n", "polytrend sktime.forecasting.trend.PolynomialTrendForeca... True \n", "arima sktime.forecasting.arima.ARIMA True \n", "auto_arima sktime.forecasting.arima.AutoARIMA True \n", "exp_smooth sktime.forecasting.exp_smoothing.ExponentialSm... True \n", "croston sktime.forecasting.croston.Croston True \n", "ets sktime.forecasting.ets.AutoETS True \n", "theta sktime.forecasting.theta.ThetaForecaster True \n", "tbats sktime.forecasting.tbats.TBATS False \n", "bats sktime.forecasting.bats.BATS False \n", "lr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "en_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "ridge_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lasso_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "llar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "br_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "huber_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "par_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "omp_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "knn_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "dt_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "rf_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "et_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "gbr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "ada_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "xgboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lightgbm_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "catboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True " ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check available models\n", "models()" ] }, { "cell_type": "markdown", "id": "f588f54b", "metadata": {}, "source": [ "You can use the `include` and `exclude` parameter in the `compare_models` to train only select model or exclude specific models from training by passing the model id's in `exclude` parameter." ] }, { "cell_type": "code", "execution_count": 28, "id": "f2a7e578", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094019.30990.03180.0316-0.44650.1033
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0800
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0500
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0467
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0400
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0500
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0500
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/33 [00:00#sk-container-id-3 {color: black;background-color: white;}#sk-container-id-3 pre{padding: 0;}#sk-container-id-3 div.sk-toggleable {background-color: white;}#sk-container-id-3 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-3 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-3 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-3 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-3 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-3 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-3 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-3 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-3 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-3 div.sk-item {position: relative;z-index: 1;}#sk-container-id-3 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-3 div.sk-item::before, #sk-container-id-3 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-3 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-3 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-3 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-3 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-3 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-3 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-3 div.sk-label-container {text-align: center;}#sk-container-id-3 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-3 div.sk-text-repr-fallback {display: none;}
AutoETS(seasonal='mul', sp=12, trend='add')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "AutoETS(seasonal='mul', sp=12, trend='add')" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compare_ts_models" ] }, { "cell_type": "markdown", "id": "af9ae6cd", "metadata": {}, "source": [ "The function above has return trained model object as an output. The scoring grid is only displayed and not returned. If you need access to the scoring grid you can use `pull` function to access the dataframe." ] }, { "cell_type": "code", "execution_count": 30, "id": "fc529e25", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.09419.30990.03180.0316-0.44650.1033
arimaARIMA0.69640.71121.375724.77740.04470.0456-0.54950.0800
thetaTheta Forecaster1.08391.039333.322336.25550.06860.071-1.79260.0500
naiveNaive Forecaster1.56541.495148.444452.52320.0920.0981-1.83440.0467
snaiveSeasonal Naive Forecaster1.67411.534351.666753.7350.10520.1117-4.53880.0400
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.135-4.25250.0500
grand_meansGrand Means Forecaster7.30656.5029226.0502228.3880.44690.5821-72.11830.0500
\n", "
" ], "text/plain": [ " Model MASE RMSSE MAE RMSE \\\n", "ets ETS 0.4912 0.5541 15.094 19.3099 \n", "arima ARIMA 0.6964 0.711 21.3757 24.7774 \n", "theta Theta Forecaster 1.0839 1.0393 33.3223 36.2555 \n", "naive Naive Forecaster 1.5654 1.4951 48.4444 52.5232 \n", "snaive Seasonal Naive Forecaster 1.6741 1.5343 51.6667 53.735 \n", "polytrend Polynomial Trend Forecaster 2.1553 2.1096 66.9817 74.4048 \n", "grand_means Grand Means Forecaster 7.3065 6.5029 226.0502 228.388 \n", "\n", " MAPE SMAPE R2 TT (Sec) \n", "ets 0.0318 0.0316 -0.4465 0.1033 \n", "arima 0.0447 0.0456 -0.5495 0.0800 \n", "theta 0.0686 0.071 -1.7926 0.0500 \n", "naive 0.092 0.0981 -1.8344 0.0467 \n", "snaive 0.1052 0.1117 -4.5388 0.0400 \n", "polytrend 0.1241 0.135 -4.2525 0.0500 \n", "grand_means 0.4469 0.5821 -72.1183 0.0500 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compare_ts_models_results = pull()\n", "compare_ts_models_results" ] }, { "cell_type": "markdown", "id": "05a72fc2", "metadata": {}, "source": [ "By default `compare_models` return the single best performing model based on the metric defined in the `sort` parameter. Let's change our code to return 3 top models based on `MAE`." ] }, { "cell_type": "code", "execution_count": 31, "id": "1066dd07", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.1300
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85030.826126.265528.98300.05130.05340.03670.1067
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.1100
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.1133
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.1133
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.1200
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.1167
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.1267
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.1367
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16781.086636.167838.21000.06940.0726-0.43020.2133
etsETS0.49120.554115.094019.30990.03180.0316-0.44650.1000
exp_smoothExponential Smoothing0.49290.556015.146019.37790.03200.0317-0.46000.1033
auto_arimaAuto ARIMA0.71360.694521.938924.21380.04590.0464-0.545411.7400
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0867
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.3667
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.27861.195139.638242.06580.07500.0788-0.63080.1433
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & Detrending1.25231.160438.800240.82010.07450.0780-0.68421.1400
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.1200
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.22741.144937.996340.25500.07350.0769-0.71900.1333
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending1.36591.267242.397444.65970.07930.0834-0.73930.1033
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.1200
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.1333
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25001.178238.641841.35280.07490.0784-0.94260.2033
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0600
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0500
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0500
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0600
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0433
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0633
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/127 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TestTest NameDataPropertySettingValue
0SummaryStatisticsTransformedLength144.0
1SummaryStatisticsTransformed# Missing Values0.0
2SummaryStatisticsTransformedMean280.298611
3SummaryStatisticsTransformedMedian265.5
4SummaryStatisticsTransformedStandard Deviation119.966317
5SummaryStatisticsTransformedVariance14391.917201
6SummaryStatisticsTransformedKurtosis-0.364942
7SummaryStatisticsTransformedSkewness0.58316
8SummaryStatisticsTransformed# Distinct Values118.0
9White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 24}1606.083817
10White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 48}1933.155822
11White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 24}0.0
12White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 48}0.0
13White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 24}False
14White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 48}False
15StationarityADFTransformedStationarity{'alpha': 0.05}False
16StationarityADFTransformedp-value{'alpha': 0.05}0.99188
17StationarityADFTransformedTest Statistic{'alpha': 0.05}0.815369
18StationarityADFTransformedCritical Value 1%{'alpha': 0.05}-3.481682
19StationarityADFTransformedCritical Value 5%{'alpha': 0.05}-2.884042
20StationarityADFTransformedCritical Value 10%{'alpha': 0.05}-2.57877
21StationarityKPSSTransformedTrend Stationarity{'alpha': 0.05}True
22StationarityKPSSTransformedp-value{'alpha': 0.05}0.1
23StationarityKPSSTransformedTest Statistic{'alpha': 0.05}0.09615
24StationarityKPSSTransformedCritical Value 10%{'alpha': 0.05}0.119
25StationarityKPSSTransformedCritical Value 5%{'alpha': 0.05}0.146
26StationarityKPSSTransformedCritical Value 2.5%{'alpha': 0.05}0.176
27StationarityKPSSTransformedCritical Value 1%{'alpha': 0.05}0.216
28NormalityShapiroTransformedNormality{'alpha': 0.05}False
29NormalityShapiroTransformedp-value{'alpha': 0.05}0.000068
\n", "" ], "text/plain": [ " Test Test Name Data Property \\\n", "0 Summary Statistics Transformed Length \n", "1 Summary Statistics Transformed # Missing Values \n", "2 Summary Statistics Transformed Mean \n", "3 Summary Statistics Transformed Median \n", "4 Summary Statistics Transformed Standard Deviation \n", "5 Summary Statistics Transformed Variance \n", "6 Summary Statistics Transformed Kurtosis \n", "7 Summary Statistics Transformed Skewness \n", "8 Summary Statistics Transformed # Distinct Values \n", "9 White Noise Ljung-Box Transformed Test Statictic \n", "10 White Noise Ljung-Box Transformed Test Statictic \n", "11 White Noise Ljung-Box Transformed p-value \n", "12 White Noise Ljung-Box Transformed p-value \n", "13 White Noise Ljung-Box Transformed White Noise \n", "14 White Noise Ljung-Box Transformed White Noise \n", "15 Stationarity ADF Transformed Stationarity \n", "16 Stationarity ADF Transformed p-value \n", "17 Stationarity ADF Transformed Test Statistic \n", "18 Stationarity ADF Transformed Critical Value 1% \n", "19 Stationarity ADF Transformed Critical Value 5% \n", "20 Stationarity ADF Transformed Critical Value 10% \n", "21 Stationarity KPSS Transformed Trend Stationarity \n", "22 Stationarity KPSS Transformed p-value \n", "23 Stationarity KPSS Transformed Test Statistic \n", "24 Stationarity KPSS Transformed Critical Value 10% \n", "25 Stationarity KPSS Transformed Critical Value 5% \n", "26 Stationarity KPSS Transformed Critical Value 2.5% \n", "27 Stationarity KPSS Transformed Critical Value 1% \n", "28 Normality Shapiro Transformed Normality \n", "29 Normality Shapiro Transformed p-value \n", "\n", " Setting Value \n", "0 144.0 \n", "1 0.0 \n", "2 280.298611 \n", "3 265.5 \n", "4 119.966317 \n", "5 14391.917201 \n", "6 -0.364942 \n", "7 0.58316 \n", "8 118.0 \n", "9 {'alpha': 0.05, 'K': 24} 1606.083817 \n", "10 {'alpha': 0.05, 'K': 48} 1933.155822 \n", "11 {'alpha': 0.05, 'K': 24} 0.0 \n", "12 {'alpha': 0.05, 'K': 48} 0.0 \n", "13 {'alpha': 0.05, 'K': 24} False \n", "14 {'alpha': 0.05, 'K': 48} False \n", "15 {'alpha': 0.05} False \n", "16 {'alpha': 0.05} 0.99188 \n", "17 {'alpha': 0.05} 0.815369 \n", "18 {'alpha': 0.05} -3.481682 \n", "19 {'alpha': 0.05} -2.884042 \n", "20 {'alpha': 0.05} -2.57877 \n", "21 {'alpha': 0.05} True \n", "22 {'alpha': 0.05} 0.1 \n", "23 {'alpha': 0.05} 0.09615 \n", "24 {'alpha': 0.05} 0.119 \n", "25 {'alpha': 0.05} 0.146 \n", "26 {'alpha': 0.05} 0.176 \n", "27 {'alpha': 0.05} 0.216 \n", "28 {'alpha': 0.05} False \n", "29 {'alpha': 0.05} 0.000068 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check stats on original data\n", "check_stats()" ] }, { "cell_type": "code", "execution_count": 35, "id": "4aae2067", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TestTest NameDataPropertySettingValue
0SummaryStatisticsResidualLength141.0
1SummaryStatisticsResidual# Missing Values0.0
2SummaryStatisticsResidualMean-0.040771
3SummaryStatisticsResidualMedian-0.9734
4SummaryStatisticsResidualStandard Deviation10.584861
5SummaryStatisticsResidualVariance112.039291
6SummaryStatisticsResidualKurtosis1.564477
7SummaryStatisticsResidualSkewness-0.180433
8SummaryStatisticsResidual# Distinct Values141.0
9White NoiseLjung-BoxResidualTest Statictic{'alpha': 0.05, 'K': 24}41.377235
10White NoiseLjung-BoxResidualTest Statictic{'alpha': 0.05, 'K': 48}62.234507
11White NoiseLjung-BoxResidualp-value{'alpha': 0.05, 'K': 24}0.015137
12White NoiseLjung-BoxResidualp-value{'alpha': 0.05, 'K': 48}0.081294
13White NoiseLjung-BoxResidualWhite Noise{'alpha': 0.05, 'K': 24}False
14White NoiseLjung-BoxResidualWhite Noise{'alpha': 0.05, 'K': 48}True
15StationarityADFResidualStationarity{'alpha': 0.05}True
16StationarityADFResidualp-value{'alpha': 0.05}0.000377
17StationarityADFResidualTest Statistic{'alpha': 0.05}-4.341183
18StationarityADFResidualCritical Value 1%{'alpha': 0.05}-3.481282
19StationarityADFResidualCritical Value 5%{'alpha': 0.05}-2.883868
20StationarityADFResidualCritical Value 10%{'alpha': 0.05}-2.578677
21StationarityKPSSResidualTrend Stationarity{'alpha': 0.05}True
22StationarityKPSSResidualp-value{'alpha': 0.05}0.1
23StationarityKPSSResidualTest Statistic{'alpha': 0.05}0.036131
24StationarityKPSSResidualCritical Value 10%{'alpha': 0.05}0.119
25StationarityKPSSResidualCritical Value 5%{'alpha': 0.05}0.146
26StationarityKPSSResidualCritical Value 2.5%{'alpha': 0.05}0.176
27StationarityKPSSResidualCritical Value 1%{'alpha': 0.05}0.216
28NormalityShapiroResidualNormality{'alpha': 0.05}False
29NormalityShapiroResidualp-value{'alpha': 0.05}0.026076
\n", "
" ], "text/plain": [ " Test Test Name Data Property \\\n", "0 Summary Statistics Residual Length \n", "1 Summary Statistics Residual # Missing Values \n", "2 Summary Statistics Residual Mean \n", "3 Summary Statistics Residual Median \n", "4 Summary Statistics Residual Standard Deviation \n", "5 Summary Statistics Residual Variance \n", "6 Summary Statistics Residual Kurtosis \n", "7 Summary Statistics Residual Skewness \n", "8 Summary Statistics Residual # Distinct Values \n", "9 White Noise Ljung-Box Residual Test Statictic \n", "10 White Noise Ljung-Box Residual Test Statictic \n", "11 White Noise Ljung-Box Residual p-value \n", "12 White Noise Ljung-Box Residual p-value \n", "13 White Noise Ljung-Box Residual White Noise \n", "14 White Noise Ljung-Box Residual White Noise \n", "15 Stationarity ADF Residual Stationarity \n", "16 Stationarity ADF Residual p-value \n", "17 Stationarity ADF Residual Test Statistic \n", "18 Stationarity ADF Residual Critical Value 1% \n", "19 Stationarity ADF Residual Critical Value 5% \n", "20 Stationarity ADF Residual Critical Value 10% \n", "21 Stationarity KPSS Residual Trend Stationarity \n", "22 Stationarity KPSS Residual p-value \n", "23 Stationarity KPSS Residual Test Statistic \n", "24 Stationarity KPSS Residual Critical Value 10% \n", "25 Stationarity KPSS Residual Critical Value 5% \n", "26 Stationarity KPSS Residual Critical Value 2.5% \n", "27 Stationarity KPSS Residual Critical Value 1% \n", "28 Normality Shapiro Residual Normality \n", "29 Normality Shapiro Residual p-value \n", "\n", " Setting Value \n", "0 141.0 \n", "1 0.0 \n", "2 -0.040771 \n", "3 -0.9734 \n", "4 10.584861 \n", "5 112.039291 \n", "6 1.564477 \n", "7 -0.180433 \n", "8 141.0 \n", "9 {'alpha': 0.05, 'K': 24} 41.377235 \n", "10 {'alpha': 0.05, 'K': 48} 62.234507 \n", "11 {'alpha': 0.05, 'K': 24} 0.015137 \n", "12 {'alpha': 0.05, 'K': 48} 0.081294 \n", "13 {'alpha': 0.05, 'K': 24} False \n", "14 {'alpha': 0.05, 'K': 48} True \n", "15 {'alpha': 0.05} True \n", "16 {'alpha': 0.05} 0.000377 \n", "17 {'alpha': 0.05} -4.341183 \n", "18 {'alpha': 0.05} -3.481282 \n", "19 {'alpha': 0.05} -2.883868 \n", "20 {'alpha': 0.05} -2.578677 \n", "21 {'alpha': 0.05} True \n", "22 {'alpha': 0.05} 0.1 \n", "23 {'alpha': 0.05} 0.036131 \n", "24 {'alpha': 0.05} 0.119 \n", "25 {'alpha': 0.05} 0.146 \n", "26 {'alpha': 0.05} 0.176 \n", "27 {'alpha': 0.05} 0.216 \n", "28 {'alpha': 0.05} False \n", "29 {'alpha': 0.05} 0.026076 " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check_stats on residuals of best model\n", "check_stats(estimator = best)" ] }, { "cell_type": "markdown", "id": "9e6c47cb", "metadata": {}, "source": [ "## ✅ Experiment Logging\n", "PyCaret integrates with many different type of experiment loggers (default = 'mlflow'). To turn on experiment tracking in PyCaret you can set `log_experiment` and `experiment_name` parameter. It will automatically track all the metrics, hyperparameters, and artifacts based on the defined logger." ] }, { "cell_type": "code", "execution_count": 36, "id": "1af63fd0", "metadata": {}, "outputs": [], "source": [ "# from pycaret.time_series import *\n", "# s = setup(data, fh = 3, session_id = 123, log_experiment='mlflow', experiment_name='airline_experiment')" ] }, { "cell_type": "code", "execution_count": 37, "id": "42cd6120", "metadata": {}, "outputs": [], "source": [ "# compare models\n", "# best = compare_models()" ] }, { "cell_type": "code", "execution_count": 38, "id": "adc82ce5", "metadata": {}, "outputs": [], "source": [ "# start mlflow server on localhost:5000\n", "# !mlflow ui" ] }, { "cell_type": "markdown", "id": "a06f9df7", "metadata": {}, "source": [ "By default PyCaret uses `MLFlow` logger that can be changed using `log_experiment` parameter. Following loggers are available:\n", " \n", " - mlflow\n", " - wandb\n", " - comet_ml\n", " - dagshub\n", " \n", "Other logging related parameters that you may find useful are:\n", "\n", "- experiment_custom_tags\n", "- log_plots\n", "- log_data\n", "- log_profile\n", "\n", "For more information check out the docstring of the `setup` function." ] }, { "cell_type": "code", "execution_count": 39, "id": "2f8b6aa1", "metadata": {}, "outputs": [], "source": [ "# help(setup)" ] }, { "cell_type": "markdown", "id": "6ce0b555", "metadata": {}, "source": [ "## ✅ Create Model\n", "This function trains and evaluates the performance of a given estimator using cross-validation. The output of this function is a scoring grid with CV scores by fold. Metrics evaluated during CV can be accessed using the `get_metrics` function. Custom metrics can be added or removed using `add_metric` and `remove_metric` function. All the available models can be accessed using the models function." ] }, { "cell_type": "code", "execution_count": 40, "id": "837cebfa", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NameReferenceTurbo
ID
naiveNaive Forecastersktime.forecasting.naive.NaiveForecasterTrue
grand_meansGrand Means Forecastersktime.forecasting.naive.NaiveForecasterTrue
snaiveSeasonal Naive Forecastersktime.forecasting.naive.NaiveForecasterTrue
polytrendPolynomial Trend Forecastersktime.forecasting.trend.PolynomialTrendForeca...True
arimaARIMAsktime.forecasting.arima.ARIMATrue
auto_arimaAuto ARIMAsktime.forecasting.arima.AutoARIMATrue
exp_smoothExponential Smoothingsktime.forecasting.exp_smoothing.ExponentialSm...True
crostonCrostonsktime.forecasting.croston.CrostonTrue
etsETSsktime.forecasting.ets.AutoETSTrue
thetaTheta Forecastersktime.forecasting.theta.ThetaForecasterTrue
tbatsTBATSsktime.forecasting.tbats.TBATSFalse
batsBATSsktime.forecasting.bats.BATSFalse
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseaso...pycaret.containers.models.time_series.BaseCdsD...True
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detren...pycaret.containers.models.time_series.BaseCdsD...True
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasona...pycaret.containers.models.time_series.BaseCdsD...True
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Det...pycaret.containers.models.time_series.BaseCdsD...True
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonali...pycaret.containers.models.time_series.BaseCdsD...True
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
catboost_cds_dtCatBoost Regressor w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
\n", "
" ], "text/plain": [ " Name \\\n", "ID \n", "naive Naive Forecaster \n", "grand_means Grand Means Forecaster \n", "snaive Seasonal Naive Forecaster \n", "polytrend Polynomial Trend Forecaster \n", "arima ARIMA \n", "auto_arima Auto ARIMA \n", "exp_smooth Exponential Smoothing \n", "croston Croston \n", "ets ETS \n", "theta Theta Forecaster \n", "tbats TBATS \n", "bats BATS \n", "lr_cds_dt Linear w/ Cond. Deseasonalize & Detrending \n", "en_cds_dt Elastic Net w/ Cond. Deseasonalize & Detrending \n", "ridge_cds_dt Ridge w/ Cond. Deseasonalize & Detrending \n", "lasso_cds_dt Lasso w/ Cond. Deseasonalize & Detrending \n", "lar_cds_dt Least Angular Regressor w/ Cond. Deseasonalize... \n", "llar_cds_dt Lasso Least Angular Regressor w/ Cond. Deseaso... \n", "br_cds_dt Bayesian Ridge w/ Cond. Deseasonalize & Detren... \n", "huber_cds_dt Huber w/ Cond. Deseasonalize & Detrending \n", "par_cds_dt Passive Aggressive w/ Cond. Deseasonalize & De... \n", "omp_cds_dt Orthogonal Matching Pursuit w/ Cond. Deseasona... \n", "knn_cds_dt K Neighbors w/ Cond. Deseasonalize & Detrending \n", "dt_cds_dt Decision Tree w/ Cond. Deseasonalize & Detrending \n", "rf_cds_dt Random Forest w/ Cond. Deseasonalize & Detrending \n", "et_cds_dt Extra Trees w/ Cond. Deseasonalize & Detrending \n", "gbr_cds_dt Gradient Boosting w/ Cond. Deseasonalize & Det... \n", "ada_cds_dt AdaBoost w/ Cond. Deseasonalize & Detrending \n", "xgboost_cds_dt Extreme Gradient Boosting w/ Cond. Deseasonali... \n", "lightgbm_cds_dt Light Gradient Boosting w/ Cond. Deseasonalize... \n", "catboost_cds_dt CatBoost Regressor w/ Cond. Deseasonalize & De... \n", "\n", " Reference Turbo \n", "ID \n", "naive sktime.forecasting.naive.NaiveForecaster True \n", "grand_means sktime.forecasting.naive.NaiveForecaster True \n", "snaive sktime.forecasting.naive.NaiveForecaster True \n", "polytrend sktime.forecasting.trend.PolynomialTrendForeca... True \n", "arima sktime.forecasting.arima.ARIMA True \n", "auto_arima sktime.forecasting.arima.AutoARIMA True \n", "exp_smooth sktime.forecasting.exp_smoothing.ExponentialSm... True \n", "croston sktime.forecasting.croston.Croston True \n", "ets sktime.forecasting.ets.AutoETS True \n", "theta sktime.forecasting.theta.ThetaForecaster True \n", "tbats sktime.forecasting.tbats.TBATS False \n", "bats sktime.forecasting.bats.BATS False \n", "lr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "en_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "ridge_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lasso_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "llar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "br_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "huber_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "par_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "omp_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "knn_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "dt_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "rf_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "et_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "gbr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "ada_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "xgboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "lightgbm_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", "catboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True " ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check all the available models\n", "models()" ] }, { "cell_type": "code", "execution_count": 41, "id": "16641cab", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50830.723815.477225.00450.03710.0354-2.8436
11960-030.68560.626221.031521.79840.04370.04480.5529
21960-060.27960.31238.773311.12700.01470.01460.9512
MeanNaT0.49120.554115.094019.30990.03180.0316-0.4465
SDNaT0.16620.17555.01175.93240.01240.01261.7028
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/4 [00:00\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50830.723815.477225.00450.03710.0354-2.8436
11960-030.68560.626221.031521.79840.04370.04480.5529
21960-060.27960.31238.773311.12700.01470.01460.9512
MeanNaT0.49120.554115.094019.30990.03180.0316-0.4465
SDNaT0.16620.17555.01175.93240.01240.01261.7028
\n", "
" ], "text/plain": [ " cutoff MASE RMSSE MAE RMSE MAPE SMAPE R2\n", "0 1959-12 0.5083 0.7238 15.4772 25.0045 0.0371 0.0354 -2.8436\n", "1 1960-03 0.6856 0.6262 21.0315 21.7984 0.0437 0.0448 0.5529\n", "2 1960-06 0.2796 0.3123 8.7733 11.1270 0.0147 0.0146 0.9512\n", "Mean NaT 0.4912 0.5541 15.0940 19.3099 0.0318 0.0316 -0.4465\n", "SD NaT 0.1662 0.1755 5.0117 5.9324 0.0124 0.0126 1.7028" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ets_results = pull()\n", "print(type(ets_results))\n", "ets_results" ] }, { "cell_type": "code", "execution_count": 43, "id": "148a74c4", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-060.81520.821223.711427.07770.04360.04480.6016
11959-090.16220.17234.83395.82160.01270.01280.9213
21959-120.67880.785720.670027.14320.05010.0481-3.5292
31960-032.03771.803762.507562.78740.12760.1363-2.7090
41960-060.53520.528716.789518.83590.02820.02860.8603
MeanNaT0.84580.822325.702428.33320.05240.0541-0.7710
SDNaT0.63460.542819.487618.90530.03970.04301.9377
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/4 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-061.95971.965857.003364.82140.10460.1117-1.2833
11959-092.55372.334576.086878.88570.19790.1785-13.4421
21959-120.39800.368612.120612.73510.03000.02980.0030
31960-032.16882.116366.526273.66880.13240.1436-4.1060
41960-061.95521.829161.339165.16820.10340.1083-0.6723
MeanNaT1.80711.722954.615259.05590.11360.1144-3.9002
SDNaT0.73740.697622.179323.76120.05410.04934.9718
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/4 [00:00#sk-container-id-4 {color: black;background-color: white;}#sk-container-id-4 pre{padding: 0;}#sk-container-id-4 div.sk-toggleable {background-color: white;}#sk-container-id-4 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-4 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-4 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-4 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-4 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-4 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-4 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-4 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-4 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-4 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-4 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-4 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-4 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-4 div.sk-item {position: relative;z-index: 1;}#sk-container-id-4 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-4 div.sk-item::before, #sk-container-id-4 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-4 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-4 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-4 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-4 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-4 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-4 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-4 div.sk-label-container {text-align: center;}#sk-container-id-4 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-4 div.sk-text-repr-fallback {display: none;}
ThetaForecaster(deseasonalize=False, sp=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "ThetaForecaster(deseasonalize=False, sp=12)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# train theta with specific model parameters\n", "create_model('theta', deseasonalize = False, fold=5)" ] }, { "cell_type": "markdown", "id": "08634e9e", "metadata": {}, "source": [ "Some other parameters that you might find very useful in `create_model` are:\n", "\n", "- cross_validation\n", "- engine\n", "- fit_kwargs\n", "\n", "You can check the docstring of the function for more info." ] }, { "cell_type": "code", "execution_count": 45, "id": "3fb32c74", "metadata": {}, "outputs": [], "source": [ "# help(create_model)" ] }, { "cell_type": "markdown", "id": "d5378836", "metadata": {}, "source": [ "## ✅ Tune Model\n", "\n", "The `tune_model` function tunes the hyperparameters of the model. The output of this function is a scoring grid with cross-validated scores by fold. The best model is selected based on the metric defined in optimize parameter. Metrics evaluated during cross-validation can be accessed using the `get_metrics` function. Custom metrics can be added or removed using `add_metric` and `remove_metric` function." ] }, { "cell_type": "code", "execution_count": 46, "id": "402597f2", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50390.545915.343418.85930.03770.0388-1.1865
11960-031.55661.374747.748947.85260.09840.1036-1.1544
21960-061.51851.483247.639552.84330.08380.0884-0.0996
MeanNaT1.19301.134636.910639.85180.07330.0769-0.8135
SDNaT0.48750.418615.250414.98310.02590.02770.5050
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/4 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.63690.782219.393827.02250.04700.0450-3.4890
11960-031.30051.163939.893840.51550.08190.0856-0.5444
21960-060.95610.978829.997134.87420.04950.05120.5211
MeanNaT0.96450.975029.761634.13740.05950.0606-1.1708
SDNaT0.27100.15598.37075.53310.01590.01781.6960
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/7 [00:00#sk-container-id-5 {color: black;background-color: white;}#sk-container-id-5 pre{padding: 0;}#sk-container-id-5 div.sk-toggleable {background-color: white;}#sk-container-id-5 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-5 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-5 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-5 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-5 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-5 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-5 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-5 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-5 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-5 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-5 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-5 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-5 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-5 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-5 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-5 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-5 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-5 div.sk-item {position: relative;z-index: 1;}#sk-container-id-5 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-5 div.sk-item::before, #sk-container-id-5 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-5 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-5 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-5 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-5 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-5 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-5 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-5 div.sk-label-container {text-align: center;}#sk-container-id-5 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-5 div.sk-text-repr-fallback {display: none;}
BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
       "                                                                        10, 9,\n",
       "                                                                        8, 7, 6,\n",
       "                                                                        5, 4, 3,\n",
       "                                                                        2, 1]},\n",
       "                                                   n_jobs=1)],\n",
       "                    regressor=DecisionTreeRegressor(random_state=123), sp=12,\n",
       "                    window_length=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=DecisionTreeRegressor(random_state=123), sp=12,\n", " window_length=12)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dt" ] }, { "cell_type": "code", "execution_count": 49, "id": "31e050ff", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.54660.581516.645020.09100.04090.0421-1.4814
11960-031.27771.138839.194539.64190.07990.0833-0.4785
21960-061.67421.526252.523454.37720.09060.0952-0.1643
MeanNaT1.16621.082236.121038.03670.07050.0735-0.7081
SDNaT0.46700.387714.807714.04320.02140.02270.5617
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/7 [00:00#sk-container-id-6 {color: black;background-color: white;}#sk-container-id-6 pre{padding: 0;}#sk-container-id-6 div.sk-toggleable {background-color: white;}#sk-container-id-6 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-6 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-6 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-6 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-6 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-6 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-6 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-6 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-6 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-6 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-6 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-6 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-6 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-6 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-6 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-6 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-6 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-6 div.sk-item {position: relative;z-index: 1;}#sk-container-id-6 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-6 div.sk-item::before, #sk-container-id-6 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-6 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-6 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-6 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-6 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-6 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-6 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-6 div.sk-label-container {text-align: center;}#sk-container-id-6 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-6 div.sk-text-repr-fallback {display: none;}
BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
       "                                                                        10, 9,\n",
       "                                                                        8, 7, 6,\n",
       "                                                                        5, 4, 3,\n",
       "                                                                        2, 1]},\n",
       "                                                   n_jobs=1)],\n",
       "                    regressor=DecisionTreeRegressor(max_depth=4,\n",
       "                                                    random_state=123),\n",
       "                    sp=12, window_length=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=DecisionTreeRegressor(max_depth=4,\n", " random_state=123),\n", " sp=12, window_length=12)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# see tuned_dt params\n", "tuned_dt" ] }, { "cell_type": "code", "execution_count": 51, "id": "6cca514b", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.63690.782219.393827.02250.04700.0450-3.4890
11960-031.30051.163939.893840.51550.08190.0856-0.5444
21960-060.95610.978829.997134.87420.04950.05120.5211
MeanNaT0.96450.975029.761634.13740.05950.0606-1.1708
SDNaT0.27100.15598.37075.53310.01590.01781.6960
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/7 [00:00#sk-container-id-7 {color: black;background-color: white;}#sk-container-id-7 pre{padding: 0;}#sk-container-id-7 div.sk-toggleable {background-color: white;}#sk-container-id-7 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-7 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-7 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-7 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-7 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-7 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-7 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-7 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-7 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-7 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-7 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-7 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-7 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-7 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-7 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-7 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-7 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-7 div.sk-item {position: relative;z-index: 1;}#sk-container-id-7 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-7 div.sk-item::before, #sk-container-id-7 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-7 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-7 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-7 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-7 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-7 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-7 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-7 div.sk-label-container {text-align: center;}#sk-container-id-7 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-7 div.sk-text-repr-fallback {display: none;}
BaseCdsDtForecaster(degree=3, deseasonal_model='multiplicative',\n",
       "                    fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
       "                                                                        10, 9,\n",
       "                                                                        8, 7, 6,\n",
       "                                                                        5, 4, 3,\n",
       "                                                                        2, 1]},\n",
       "                                                   n_jobs=1)],\n",
       "                    regressor=DecisionTreeRegressor(max_depth=9,\n",
       "                                                    max_features='log2',\n",
       "                                                    min_impurity_decrease=0.005742993267225779,\n",
       "                                                    min_samples_leaf=5,\n",
       "                                                    min_samples_split=4,\n",
       "                                                    random_state=123),\n",
       "                    sp=12, window_length=22)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "BaseCdsDtForecaster(degree=3, deseasonal_model='multiplicative',\n", " fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=DecisionTreeRegressor(max_depth=9,\n", " max_features='log2',\n", " min_impurity_decrease=0.005742993267225779,\n", " min_samples_leaf=5,\n", " min_samples_split=4,\n", " random_state=123),\n", " sp=12, window_length=22)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# model object\n", "tuned_dt" ] }, { "cell_type": "code", "execution_count": 53, "id": "7d5e49ca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# tuner object\n", "tuner" ] }, { "cell_type": "markdown", "id": "a1e2875b", "metadata": {}, "source": [ "For more details on all available `search_library` and `search_algorithm` please check the docstring. Some other parameters that you might find very useful in `tune_model` are:\n", "\n", "- choose_better\n", "- custom_scorer\n", "- n_iter\n", "- search_algorithm\n", "- optimize\n", "\n", "You can check the docstring of the function for more info." ] }, { "cell_type": "code", "execution_count": 54, "id": "94f9c86e", "metadata": {}, "outputs": [], "source": [ "# help(tune_model)" ] }, { "cell_type": "markdown", "id": "ea8a9a4e", "metadata": {}, "source": [ "## ✅ Blend Models" ] }, { "cell_type": "markdown", "id": "2ede29c4", "metadata": {}, "source": [ "This function trains a `EnsembleForecaster` for select models passed in the estimator_list parameter. The output of this function is a scoring grid with CV scores by fold. Metrics evaluated during CV can be accessed using the `get_metrics` function. Custom metrics can be added or removed using `add_metric` and `remove_metric` function." ] }, { "cell_type": "code", "execution_count": 55, "id": "61a7a1c5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=HuberRegressor(), sp=12, window_length=12),\n", " BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=Lars(random_state=123), sp=12, window_length=12),\n", " BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", " 10, 9,\n", " 8, 7, 6,\n", " 5, 4, 3,\n", " 2, 1]},\n", " n_jobs=1)],\n", " regressor=PassiveAggressiveRegressor(random_state=123),\n", " sp=12, window_length=12)]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# top 3 models based on mae\n", "best_mae_models_top3" ] }, { "cell_type": "code", "execution_count": 56, "id": "04f65f2f", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.12400.16413.77615.66930.00910.00920.8024
11960-031.41501.255543.405043.70640.08900.0932-0.7972
21960-060.74440.750523.355226.74030.03860.03950.7184
MeanNaT0.76120.723423.512125.37200.04560.04730.2412
SDNaT0.52720.446016.178815.55870.03300.03470.7351
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing: 0%| | 0/6 [00:00#sk-container-id-8 {color: black;background-color: white;}#sk-container-id-8 pre{padding: 0;}#sk-container-id-8 div.sk-toggleable {background-color: white;}#sk-container-id-8 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-8 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-8 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-8 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-8 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-8 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-8 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-8 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-8 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-8 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-8 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-8 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-8 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-8 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-8 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-8 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-8 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-8 div.sk-item {position: relative;z-index: 1;}#sk-container-id-8 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-8 div.sk-item::before, #sk-container-id-8 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-8 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-8 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-8 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-8 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-8 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-8 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-8 div.sk-label-container {text-align: center;}#sk-container-id-8 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-8 div.sk-text-repr-fallback {display: none;}
_EnsembleForecasterWithVoting(forecasters=[('HuberRegressor',\n",
       "                                            BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n",
       "                                                                                                                    11,\n",
       "                                                                                                                    10,\n",
       "                                                                                                                    9,\n",
       "                                                                                                                    8,\n",
       "                                                                                                                    7,\n",
       "                                                                                                                    6,\n",
       "                                                                                                                    5,\n",
       "                                                                                                                    4,\n",
       "                                                                                                                    3,\n",
       "                                                                                                                    2,\n",
       "                                                                                                                    1]},\n",
       "                                                                                               n_jobs=1)],\n",
       "                                                                regressor=HuberRegressor(),\n",
       "                                                                sp=12,\n",
       "                                                                window_length=12)),\n",
       "                                           ('Lars',\n",
       "                                            BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n",
       "                                                                                                                    11,\n",
       "                                                                                                                    10,\n",
       "                                                                                                                    9,\n",
       "                                                                                                                    8,\n",
       "                                                                                                                    7,\n",
       "                                                                                                                    6,\n",
       "                                                                                                                    5,\n",
       "                                                                                                                    4,\n",
       "                                                                                                                    3,\n",
       "                                                                                                                    2,\n",
       "                                                                                                                    1]},\n",
       "                                                                                               n_jobs=1)],\n",
       "                                                                regressor=Lars(random_state=123),\n",
       "                                                                sp=12,\n",
       "                                                                window_length=12)),\n",
       "                                           ('PassiveAggressiveRegressor',\n",
       "                                            BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n",
       "                                                                                                                    11,\n",
       "                                                                                                                    10,\n",
       "                                                                                                                    9,\n",
       "                                                                                                                    8,\n",
       "                                                                                                                    7,\n",
       "                                                                                                                    6,\n",
       "                                                                                                                    5,\n",
       "                                                                                                                    4,\n",
       "                                                                                                                    3,\n",
       "                                                                                                                    2,\n",
       "                                                                                                                    1]},\n",
       "                                                                                               n_jobs=1)],\n",
       "                                                                regressor=PassiveAggressiveRegressor(random_state=123),\n",
       "                                                                sp=12,\n",
       "                                                                window_length=12))],\n",
       "                              n_jobs=-1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "_EnsembleForecasterWithVoting(forecasters=[('HuberRegressor',\n", " BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n", " 11,\n", " 10,\n", " 9,\n", " 8,\n", " 7,\n", " 6,\n", " 5,\n", " 4,\n", " 3,\n", " 2,\n", " 1]},\n", " n_jobs=1)],\n", " regressor=HuberRegressor(),\n", " sp=12,\n", " window_length=12)),\n", " ('Lars',\n", " BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n", " 11,\n", " 10,\n", " 9,\n", " 8,\n", " 7,\n", " 6,\n", " 5,\n", " 4,\n", " 3,\n", " 2,\n", " 1]},\n", " n_jobs=1)],\n", " regressor=Lars(random_state=123),\n", " sp=12,\n", " window_length=12)),\n", " ('PassiveAggressiveRegressor',\n", " BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12,\n", " 11,\n", " 10,\n", " 9,\n", " 8,\n", " 7,\n", " 6,\n", " 5,\n", " 4,\n", " 3,\n", " 2,\n", " 1]},\n", " n_jobs=1)],\n", " regressor=PassiveAggressiveRegressor(random_state=123),\n", " sp=12,\n", " window_length=12))],\n", " n_jobs=-1)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# blend top 3 models\n", "blend_models(best_mae_models_top3)" ] }, { "cell_type": "markdown", "id": "9e788c9c", "metadata": {}, "source": [ "Some other parameters that you might find very useful in `blend_models` are:\n", "\n", "- choose_better\n", "- method\n", "- weights\n", "- fit_kwargs\n", "- optimize\n", "\n", "You can check the docstring of the function for more info." ] }, { "cell_type": "code", "execution_count": 57, "id": "99b549a6", "metadata": {}, "outputs": [], "source": [ "# help(blend_models)" ] }, { "cell_type": "markdown", "id": "279a3127", "metadata": {}, "source": [ "## ✅ Plot Model" ] }, { "cell_type": "markdown", "id": "862bd3e9", "metadata": {}, "source": [ "This function analyzes the performance of a trained model on the hold-out set. It may require re-training the model in certain cases." ] }, { "cell_type": "code", "execution_count": 58, "id": "9c8da9b4", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "#1f77b4" }, "marker": { "size": 5 }, "mode": "lines+markers", "name": "Forecast | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 442.9857, 388.2084, 427.7002 ] }, { "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Lower Interval", "showlegend": false, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 424.9506, 371.5719, 409.4492 ] }, { "fill": "tonexty", "fillcolor": "rgba(104,187,227,0.5)", "line": { "width": 0 }, "marker": { "color": "#68BBE3" }, "mode": "lines", "name": "Prediction Interval | ETS", "showlegend": true, "type": "scatter", "x": [ "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 461.5174, 406.9321, 448.0973 ] }, { "marker": { "color": "#3f3f3f", "size": 5 }, "mode": "lines+markers", "name": "Original", "showlegend": true, "type": "scatter", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "y": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ] } ], "layout": { "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" }, "xaxis": { "title": { "text": "Time" } }, "yaxis": { "title": { "text": "Values" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot forecast\n", "plot_model(best, plot = 'forecast')" ] }, { "cell_type": "code", "execution_count": 59, "id": "a750d486", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 0, 0 ], "xaxis": "x", "y": [ 0, 1 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 1, 1 ], "xaxis": "x", "y": [ 0, 0.9480473407524915 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 2, 2 ], "xaxis": "x", "y": [ 0, 0.8755748351253507 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 3, 3 ], "xaxis": "x", "y": [ 0, 0.8066811554965002 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 4, 4 ], "xaxis": "x", "y": [ 0, 0.7526254173883077 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 5, 5 ], "xaxis": "x", "y": [ 0, 0.7137699726519648 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 6, 6 ], "xaxis": "x", "y": [ 0, 0.6817336033310043 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 7, 7 ], "xaxis": "x", "y": [ 0, 0.6629043863684492 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 8, 8 ], "xaxis": "x", "y": [ 0, 0.6556104843250862 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 9, 9 ], "xaxis": "x", "y": [ 0, 0.6709483279245044 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 10, 10 ], "xaxis": "x", "y": [ 0, 0.7027199209090718 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 11, 11 ], "xaxis": "x", "y": [ 0, 0.7432401890069327 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 12, 12 ], "xaxis": "x", "y": [ 0, 0.7603950422625558 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 13, 13 ], "xaxis": "x", "y": [ 0, 0.7126608704038238 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 14, 14 ], "xaxis": "x", "y": [ 0, 0.6463422792677535 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 15, 15 ], "xaxis": "x", "y": [ 0, 0.5859234238634494 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 16, 16 ], "xaxis": "x", "y": [ 0, 0.5379551907815616 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 17, 17 ], "xaxis": "x", "y": [ 0, 0.49974752598517996 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 18, 18 ], "xaxis": "x", "y": [ 0, 0.46873401291508715 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 19, 19 ], "xaxis": "x", "y": [ 0, 0.4498706649766616 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 20, 20 ], "xaxis": "x", "y": [ 0, 0.4416287957460463 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 21, 21 ], "xaxis": "x", "y": [ 0, 0.4572237571141587 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 22, 22 ], "xaxis": "x", "y": [ 0, 0.4824820295144397 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 23, 23 ], "xaxis": "x", "y": [ 0, 0.5171269883891182 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 24, 24 ], "xaxis": "x", "y": [ 0, 0.532189830465802 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 25, 25 ], "xaxis": "x", "y": [ 0, 0.4939756937750339 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 26, 26 ], "xaxis": "x", "y": [ 0, 0.4377213370680656 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 27, 27 ], "xaxis": "x", "y": [ 0, 0.3876028997464519 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 28, 28 ], "xaxis": "x", "y": [ 0, 0.3480250323299374 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 29, 29 ], "xaxis": "x", "y": [ 0, 0.31498387947256945 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 30, 30 ], "xaxis": "x", "y": [ 0, 0.2884968187844052 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 31, 31 ], "xaxis": "x", "y": [ 0, 0.2708018671117992 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 32, 32 ], "xaxis": "x", "y": [ 0, 0.26429010598992786 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 33, 33 ], "xaxis": "x", "y": [ 0, 0.276799336950146 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 34, 34 ], "xaxis": "x", "y": [ 0, 0.29852149515565224 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 35, 35 ], "xaxis": "x", "y": [ 0, 0.32558711661066314 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 36, 36 ], "xaxis": "x", "y": [ 0, 0.33702359902053575 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 37, 37 ], "xaxis": "x", "y": [ 0, 0.3033348585579199 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 38, 38 ], "xaxis": "x", "y": [ 0, 0.2539770814071908 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 39, 39 ], "xaxis": "x", "y": [ 0, 0.21065533781406406 ], "yaxis": "y" }, { "line": { "color": "#3f3f3f" }, "marker": { "size": 10 }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 40, 40 ], "xaxis": "x", "y": [ 0, 0.17217092361106262 ], "yaxis": "y" }, { "marker": { "color": "#1f77b4", "size": 10 }, "mode": "markers", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x", "y": [ 1, 0.9480473407524915, 0.8755748351253507, 0.8066811554965002, 0.7526254173883077, 0.7137699726519648, 0.6817336033310043, 0.6629043863684492, 0.6556104843250862, 0.6709483279245044, 0.7027199209090718, 0.7432401890069327, 0.7603950422625558, 0.7126608704038238, 0.6463422792677535, 0.5859234238634494, 0.5379551907815616, 0.49974752598517996, 0.46873401291508715, 0.4498706649766616, 0.4416287957460463, 0.4572237571141587, 0.4824820295144397, 0.5171269883891182, 0.532189830465802, 0.4939756937750339, 0.4377213370680656, 0.3876028997464519, 0.3480250323299374, 0.31498387947256945, 0.2884968187844052, 0.2708018671117992, 0.26429010598992786, 0.276799336950146, 0.29852149515565224, 0.32558711661066314, 0.33702359902053575, 0.3033348585579199, 0.2539770814071908, 0.21065533781406406, 0.17217092361106262 ], "yaxis": "y" }, { "line": { "color": "rgba(255,255,255,0)" }, "marker": { "size": 10 }, "mode": "lines", "name": "UC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x", "y": [ 0, 0.16333033204500447, 0.27318615521458, 0.3399017661883753, 0.38762383148595225, 0.42482244845589956, 0.45569292201744294, 0.4821334810270368, 0.5058641279364026, 0.5280447239635008, 0.550317641681715, 0.5737563310797158, 0.598889949958539, 0.624113974952015, 0.6454578001172308, 0.6624988158521083, 0.676181413525544, 0.687503897843146, 0.6971273493682075, 0.7054848995976516, 0.7130966532991216, 0.72035595943078, 0.7280566375097888, 0.7365368914864218, 0.7461597871836548, 0.7562179276283605, 0.7647773994303543, 0.7714317972264942, 0.7766097146258821, 0.7807591896188131, 0.7841418116449759, 0.7869682474990506, 0.7894502115268107, 0.7918070128489083, 0.7943841542594856, 0.7973711774106018, 0.8009098872583174, 0.804684292481433, 0.8077289046875541, 0.8098564828638037, 0.8113169075162117 ], "yaxis": "y" }, { "fill": "tonexty", "fillcolor": "rgba(32, 146, 230,0.3)", "line": { "color": "rgba(255,255,255,0)" }, "marker": { "size": 10 }, "mode": "lines", "name": "LC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x", "y": [ 0, -0.16333033204500447, -0.27318615521458, -0.3399017661883753, -0.38762383148595225, -0.4248224484558996, -0.45569292201744294, -0.4821334810270367, -0.5058641279364027, -0.5280447239635009, -0.5503176416817149, -0.5737563310797159, -0.5988899499585391, -0.6241139749520151, -0.6454578001172308, -0.6624988158521085, -0.676181413525544, -0.6875038978431461, -0.6971273493682075, -0.7054848995976515, -0.7130966532991216, -0.7203559594307799, -0.7280566375097887, -0.7365368914864218, -0.7461597871836547, -0.7562179276283606, -0.7647773994303542, -0.7714317972264944, -0.7766097146258821, -0.780759189618813, -0.7841418116449759, -0.7869682474990506, -0.7894502115268106, -0.7918070128489083, -0.7943841542594856, -0.7973711774106018, -0.8009098872583174, -0.804684292481433, -0.8077289046875542, -0.8098564828638037, -0.8113169075162117 ], "yaxis": "y" } ], "layout": { "annotations": [ { "font": { "size": 16 }, "showarrow": false, "text": "Number of airline passengers (transformed)", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "bottom", "yref": "paper" } ], "showlegend": false, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Autocorrelation (ACF) | Number of airline passengers" }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "range": [ -1, 42 ], "title": { "text": "Lags" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "range": [ -1.1, 1.1 ], "title": { "text": "ACF" }, "zerolinecolor": "#000000" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot acf\n", "# for certain plots you don't need a trained model\n", "plot_model(plot = 'acf')" ] }, { "cell_type": "code", "execution_count": 60, "id": "b18d34a5", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "color": "rgb(31, 119, 180)", "width": 2 }, "marker": { "color": "rgb(31, 119, 180)", "size": 5 }, "mode": "lines+markers", "name": "Number of airline passengers (transformed)", "showlegend": false, "type": "scattergl", "x": [ "1949-01-01T00:00:00", "1949-02-01T00:00:00", "1949-03-01T00:00:00", "1949-04-01T00:00:00", "1949-05-01T00:00:00", "1949-06-01T00:00:00", "1949-07-01T00:00:00", "1949-08-01T00:00:00", "1949-09-01T00:00:00", "1949-10-01T00:00:00", "1949-11-01T00:00:00", "1949-12-01T00:00:00", "1950-01-01T00:00:00", "1950-02-01T00:00:00", "1950-03-01T00:00:00", "1950-04-01T00:00:00", "1950-05-01T00:00:00", "1950-06-01T00:00:00", "1950-07-01T00:00:00", "1950-08-01T00:00:00", "1950-09-01T00:00:00", "1950-10-01T00:00:00", "1950-11-01T00:00:00", "1950-12-01T00:00:00", "1951-01-01T00:00:00", "1951-02-01T00:00:00", "1951-03-01T00:00:00", "1951-04-01T00:00:00", "1951-05-01T00:00:00", "1951-06-01T00:00:00", "1951-07-01T00:00:00", "1951-08-01T00:00:00", "1951-09-01T00:00:00", "1951-10-01T00:00:00", "1951-11-01T00:00:00", "1951-12-01T00:00:00", "1952-01-01T00:00:00", "1952-02-01T00:00:00", "1952-03-01T00:00:00", "1952-04-01T00:00:00", "1952-05-01T00:00:00", "1952-06-01T00:00:00", "1952-07-01T00:00:00", "1952-08-01T00:00:00", "1952-09-01T00:00:00", "1952-10-01T00:00:00", "1952-11-01T00:00:00", "1952-12-01T00:00:00", "1953-01-01T00:00:00", "1953-02-01T00:00:00", "1953-03-01T00:00:00", "1953-04-01T00:00:00", "1953-05-01T00:00:00", "1953-06-01T00:00:00", "1953-07-01T00:00:00", "1953-08-01T00:00:00", "1953-09-01T00:00:00", "1953-10-01T00:00:00", "1953-11-01T00:00:00", "1953-12-01T00:00:00", "1954-01-01T00:00:00", "1954-02-01T00:00:00", "1954-03-01T00:00:00", "1954-04-01T00:00:00", "1954-05-01T00:00:00", "1954-06-01T00:00:00", "1954-07-01T00:00:00", "1954-08-01T00:00:00", "1954-09-01T00:00:00", "1954-10-01T00:00:00", "1954-11-01T00:00:00", "1954-12-01T00:00:00", "1955-01-01T00:00:00", "1955-02-01T00:00:00", "1955-03-01T00:00:00", "1955-04-01T00:00:00", "1955-05-01T00:00:00", "1955-06-01T00:00:00", "1955-07-01T00:00:00", "1955-08-01T00:00:00", "1955-09-01T00:00:00", "1955-10-01T00:00:00", "1955-11-01T00:00:00", "1955-12-01T00:00:00", "1956-01-01T00:00:00", "1956-02-01T00:00:00", "1956-03-01T00:00:00", "1956-04-01T00:00:00", "1956-05-01T00:00:00", "1956-06-01T00:00:00", "1956-07-01T00:00:00", "1956-08-01T00:00:00", "1956-09-01T00:00:00", "1956-10-01T00:00:00", "1956-11-01T00:00:00", "1956-12-01T00:00:00", "1957-01-01T00:00:00", "1957-02-01T00:00:00", "1957-03-01T00:00:00", "1957-04-01T00:00:00", "1957-05-01T00:00:00", "1957-06-01T00:00:00", "1957-07-01T00:00:00", "1957-08-01T00:00:00", "1957-09-01T00:00:00", "1957-10-01T00:00:00", "1957-11-01T00:00:00", "1957-12-01T00:00:00", "1958-01-01T00:00:00", "1958-02-01T00:00:00", "1958-03-01T00:00:00", "1958-04-01T00:00:00", "1958-05-01T00:00:00", "1958-06-01T00:00:00", "1958-07-01T00:00:00", "1958-08-01T00:00:00", "1958-09-01T00:00:00", "1958-10-01T00:00:00", "1958-11-01T00:00:00", "1958-12-01T00:00:00", "1959-01-01T00:00:00", "1959-02-01T00:00:00", "1959-03-01T00:00:00", "1959-04-01T00:00:00", "1959-05-01T00:00:00", "1959-06-01T00:00:00", "1959-07-01T00:00:00", "1959-08-01T00:00:00", "1959-09-01T00:00:00", "1959-10-01T00:00:00", "1959-11-01T00:00:00", "1959-12-01T00:00:00", "1960-01-01T00:00:00", "1960-02-01T00:00:00", "1960-03-01T00:00:00", "1960-04-01T00:00:00", "1960-05-01T00:00:00", "1960-06-01T00:00:00", "1960-07-01T00:00:00", "1960-08-01T00:00:00", "1960-09-01T00:00:00", "1960-10-01T00:00:00", "1960-11-01T00:00:00", "1960-12-01T00:00:00" ], "xaxis": "x", "y": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ], "yaxis": "y" }, { "hoverinfo": "text", "hovertext": [ "Freq: 0.0069
Ampl: 53.3557
Time period: 144.0", "Freq: 0.0139
Ampl: 49.6072
Time period: 72.0", "Freq: 0.0208
Ampl: 39.1849
Time period: 48.0", "Freq: 0.0278
Ampl: 32.1925
Time period: 36.0", "Freq: 0.0347
Ampl: 28.4396
Time period: 28.8", "Freq: 0.0417
Ampl: 28.2206
Time period: 24.0", "Freq: 0.0486
Ampl: 12.8238
Time period: 20.5714", "Freq: 0.0556
Ampl: 26.128
Time period: 18.0", "Freq: 0.0625
Ampl: 22.4787
Time period: 16.0", "Freq: 0.0694
Ampl: 34.0128
Time period: 14.4", "Freq: 0.0764
Ampl: 45.5894
Time period: 13.0909", "Freq: 0.0833
Ampl: 48.5231
Time period: 12.0", "Freq: 0.0903
Ampl: 44.4786
Time period: 11.0769", "Freq: 0.0972
Ampl: 32.6479
Time period: 10.2857", "Freq: 0.1042
Ampl: 12.7621
Time period: 9.6", "Freq: 0.1111
Ampl: 10.0007
Time period: 9.0", "Freq: 0.1181
Ampl: 3.2444
Time period: 8.4706", "Freq: 0.125
Ampl: 17.724
Time period: 8.0", "Freq: 0.1319
Ampl: 17.3728
Time period: 7.5789", "Freq: 0.1389
Ampl: 21.9079
Time period: 7.2", "Freq: 0.1458
Ampl: 22.8436
Time period: 6.8571", "Freq: 0.1528
Ampl: 28.3416
Time period: 6.5455", "Freq: 0.1597
Ampl: 38.1887
Time period: 6.2609", "Freq: 0.1667
Ampl: 42.6703
Time period: 6.0", "Freq: 0.1736
Ampl: 39.9064
Time period: 5.76", "Freq: 0.1806
Ampl: 30.2292
Time period: 5.5385", "Freq: 0.1875
Ampl: 19.1766
Time period: 5.3333", "Freq: 0.1944
Ampl: 16.1245
Time period: 5.1429", "Freq: 0.2014
Ampl: 8.1209
Time period: 4.9655", "Freq: 0.2083
Ampl: 15.6073
Time period: 4.8", "Freq: 0.2153
Ampl: 13.973
Time period: 4.6452", "Freq: 0.2222
Ampl: 14.3912
Time period: 4.5", "Freq: 0.2292
Ampl: 14.3027
Time period: 4.3636", "Freq: 0.2361
Ampl: 14.8702
Time period: 4.2353", "Freq: 0.2431
Ampl: 31.0902
Time period: 4.1143", "Freq: 0.25
Ampl: 35.1756
Time period: 4.0", "Freq: 0.2569
Ampl: 31.9243
Time period: 3.8919", "Freq: 0.2639
Ampl: 20.6812
Time period: 3.7895", "Freq: 0.2708
Ampl: 15.046
Time period: 3.6923", "Freq: 0.2778
Ampl: 13.8721
Time period: 3.6", "Freq: 0.2847
Ampl: 9.2508
Time period: 3.5122", "Freq: 0.2917
Ampl: 1.3953
Time period: 3.4286", "Freq: 0.2986
Ampl: 4.1999
Time period: 3.3488", "Freq: 0.3056
Ampl: 10.4762
Time period: 3.2727", "Freq: 0.3125
Ampl: 12.657
Time period: 3.2", "Freq: 0.3194
Ampl: 21.977
Time period: 3.1304", "Freq: 0.3264
Ampl: 32.2591
Time period: 3.0638", "Freq: 0.3333
Ampl: 34.9907
Time period: 3.0", "Freq: 0.3403
Ampl: 32.1989
Time period: 2.9388", "Freq: 0.3472
Ampl: 26.4584
Time period: 2.88", "Freq: 0.3542
Ampl: 19.0814
Time period: 2.8235", "Freq: 0.3611
Ampl: 11.7918
Time period: 2.7692", "Freq: 0.3681
Ampl: 11.8426
Time period: 2.717", "Freq: 0.375
Ampl: 16.065
Time period: 2.6667", "Freq: 0.3819
Ampl: 18.1739
Time period: 2.6182", "Freq: 0.3889
Ampl: 16.5832
Time period: 2.5714", "Freq: 0.3958
Ampl: 16.0634
Time period: 2.5263", "Freq: 0.4028
Ampl: 3.5772
Time period: 2.4828", "Freq: 0.4097
Ampl: 27.1423
Time period: 2.4407", "Freq: 0.4167
Ampl: 31.0369
Time period: 2.4", "Freq: 0.4236
Ampl: 26.0504
Time period: 2.3607", "Freq: 0.4306
Ampl: 19.8382
Time period: 2.3226", "Freq: 0.4375
Ampl: 20.3548
Time period: 2.2857", "Freq: 0.4444
Ampl: 12.793
Time period: 2.25", "Freq: 0.4514
Ampl: 0.923
Time period: 2.2154", "Freq: 0.4583
Ampl: -1.1773
Time period: 2.1818", "Freq: 0.4653
Ampl: 12.1138
Time period: 2.1493", "Freq: 0.4722
Ampl: 17.3853
Time period: 2.1176", "Freq: 0.4792
Ampl: 17.4901
Time period: 2.087", "Freq: 0.4861
Ampl: 16.2944
Time period: 2.0571", "Freq: 0.4931
Ampl: 7.3788
Time period: 2.0282", "Freq: 0.5
Ampl: -9.5938
Time period: 2.0" ], "line": { "color": "#1f77b4", "width": 2 }, "marker": { "size": 5 }, "mode": "lines+markers", "name": "Number of airline passengers (transformed)", "showlegend": false, "type": "scattergl", "x": [ 0.006944444444444444, 0.013888888888888888, 0.020833333333333332, 0.027777777777777776, 0.034722222222222224, 0.041666666666666664, 0.048611111111111105, 0.05555555555555555, 0.0625, 0.06944444444444445, 0.07638888888888888, 0.08333333333333333, 0.09027777777777778, 0.09722222222222221, 0.10416666666666666, 0.1111111111111111, 0.11805555555555555, 0.125, 0.13194444444444445, 0.1388888888888889, 0.14583333333333331, 0.15277777777777776, 0.1597222222222222, 0.16666666666666666, 0.1736111111111111, 0.18055555555555555, 0.1875, 0.19444444444444442, 0.20138888888888887, 0.20833333333333331, 0.21527777777777776, 0.2222222222222222, 0.22916666666666666, 0.2361111111111111, 0.24305555555555555, 0.25, 0.2569444444444444, 0.2638888888888889, 0.2708333333333333, 0.2777777777777778, 0.2847222222222222, 0.29166666666666663, 0.2986111111111111, 0.3055555555555555, 0.3125, 0.3194444444444444, 0.3263888888888889, 0.3333333333333333, 0.34027777777777773, 0.3472222222222222, 0.35416666666666663, 0.3611111111111111, 0.3680555555555555, 0.375, 0.3819444444444444, 0.38888888888888884, 0.3958333333333333, 0.40277777777777773, 0.4097222222222222, 0.41666666666666663, 0.4236111111111111, 0.4305555555555555, 0.4375, 0.4444444444444444, 0.45138888888888884, 0.4583333333333333, 0.46527777777777773, 0.4722222222222222, 0.47916666666666663, 0.4861111111111111, 0.4930555555555555, 0.5 ], "xaxis": "x2", "y": [ 53.35567574550044, 49.60721873760328, 39.184936954927984, 32.19245997436271, 28.439572955795988, 28.22063018291786, 12.823808146702472, 26.128042066638756, 22.478665318347993, 34.01283039064297, 45.58937899301508, 48.52311820912373, 44.478622135025105, 32.64789900182387, 12.762055102585085, 10.000656887143343, 3.2443794054041906, 17.724045727064276, 17.37284866714297, 21.907941132424227, 22.84357051442859, 28.341564394935112, 38.188724576065155, 42.67030177845345, 39.906354196462786, 30.22918511135751, 19.17659970935757, 16.12450488567925, 8.120948684638154, 15.607295138525759, 13.973028554054396, 14.391171493195056, 14.302679814557024, 14.870186302678333, 31.090164070852847, 35.175638733609404, 31.924341877906958, 20.681246192341113, 15.046007476994463, 13.872117676089445, 9.250777989869093, 1.3952969412737186, 4.199947413208641, 10.476179837730397, 12.656992896319409, 21.97696271525033, 32.25911579246757, 34.990659005991596, 32.19889831413336, 26.45841544417905, 19.081415873599845, 11.79180751307901, 11.842566934753666, 16.06500078349103, 18.173912908663553, 16.583190039445498, 16.063377918480086, 3.57719331917111, 27.14228088302108, 31.036870974154827, 26.050419931185832, 19.838222372411682, 20.354836686834314, 12.792999193664564, 0.9229528501732736, -1.1772683002385944, 12.113799910085932, 17.38526954207593, 17.490147899270305, 16.294400657806705, 7.378801021913045, -9.593837925643882 ], "yaxis": "y2" }, { "alignmentgroup": "True", "bingroup": "x", "hovertemplate": "variable=Number of airline passengers (transformed)
value=%{x}
count=%{y}", "legendgroup": "Number of airline passengers (transformed)", "marker": { "color": "#1f77b4", "pattern": { "shape": "" } }, "name": "Number of airline passengers (transformed)", "offsetgroup": "Number of airline passengers (transformed)", "orientation": "v", "showlegend": false, "type": "histogram", "x": [ 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193, 181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235, 229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413, 405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467, 404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404, 359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432 ], "xaxis": "x3", "yaxis": "y3" }, { "marker": { "color": "#1f77b4" }, "mode": "markers", "name": "Number of airline passengers (transformed)", "showlegend": false, "type": "scattergl", "x": [ -2.4626069362500904, -2.2031212063800023, -2.0397090766872172, -1.9175159723265773, -1.8186455928500607, -1.7348994269516758, -1.66180577410579, -1.5966451543943727, -1.537634810648647, -1.4835398594012967, -1.433467998517102, -1.386752514329788, -1.3428815089087203, -1.30145298240007, -1.2621451766228078, -1.224696335968185, -1.1888905008342245, -1.1545472907446928, -1.1215143999210206, -1.089661981946107, -1.0588783783298643, -1.0290668213307226, -1.0001428550721199, -0.9720322943361202, -0.9446695913944757, -0.9179965163814972, -0.8919610813560996, -0.8665166557497274, -0.8416212335729142, -0.8172368220294002, -0.7933289280569344, -0.7698661244591363, -0.7468196811860968, -0.7241632502958759, -0.7018725954219602, -0.6799253583541528, -0.6583008567368558, -0.6369799079909213, -0.6159446754412703, -0.5951785333332777, -0.574665947985039, -0.5543923727793479, -0.5343441550710668, -0.5145084533898684, -0.49487316356862376, -0.4754268526345242, -0.4561586994717063, -0.4370584414072415, -0.4181163259921305, -0.3993230673495512, -0.3806698065474641, -0.3621480755244548, -0.3437497641586319, -0.32546709012126585, -0.3072925712011558, -0.28921899982361715, -0.27123941952052316, -0.2533471031357997, -0.23553553257487875, -0.21779837992739867, -0.20012948981040773, -0.1825228627948347, -0.16497263979141957, -0.14747308728387867, -0.13001858330708427, -0.11260360407663714, -0.09522271118359023, -0.07787053927435988, -0.06054178414117301, -0.04323119115281719, -0.02593354395909071, -0.008643653405227754, 0.008643653405227754, 0.02593354395909071, 0.04323119115281733, 0.06054178414117315, 0.07787053927435975, 0.09522271118359009, 0.11260360407663714, 0.13001858330708427, 0.14747308728387867, 0.16497263979141957, 0.18252286279483484, 0.20012948981040787, 0.21779837992739853, 0.2355355325748786, 0.2533471031357997, 0.27123941952052316, 0.28921899982361715, 0.3072925712011558, 0.325467090121266, 0.34374976415863207, 0.36214807552445466, 0.3806698065474639, 0.3993230673495512, 0.4181163259921305, 0.4370584414072415, 0.4561586994717063, 0.4754268526345244, 0.49487316356862393, 0.5145084533898683, 0.5343441550710666, 0.5543923727793479, 0.574665947985039, 0.5951785333332777, 0.6159446754412703, 0.6369799079909214, 0.6583008567368559, 0.6799253583541527, 0.7018725954219602, 0.7241632502958759, 0.7468196811860968, 0.7698661244591363, 0.7933289280569344, 0.8172368220294002, 0.8416212335729143, 0.8665166557497271, 0.8919610813560996, 0.9179965163814972, 0.9446695913944757, 0.9720322943361202, 1.0001428550721199, 1.0290668213307226, 1.0588783783298645, 1.0896619819461069, 1.1215143999210206, 1.1545472907446928, 1.1888905008342237, 1.224696335968185, 1.2621451766228082, 1.30145298240007, 1.3428815089087207, 1.3867525143297876, 1.4334679985171017, 1.4835398594012967, 1.5376348106486466, 1.5966451543943727, 1.66180577410579, 1.7348994269516764, 1.8186455928500607, 1.9175159723265764, 2.039709076687217, 2.2031212063800014, 2.46260693625009 ], "xaxis": "x4", "y": [ 104, 112, 114, 115, 118, 118, 119, 121, 125, 126, 129, 132, 133, 135, 135, 136, 140, 141, 145, 146, 148, 148, 149, 150, 158, 162, 163, 166, 170, 170, 171, 172, 172, 178, 178, 180, 180, 181, 183, 184, 188, 191, 193, 194, 196, 196, 199, 199, 201, 203, 204, 209, 211, 218, 227, 229, 229, 229, 230, 233, 234, 235, 235, 236, 237, 237, 242, 242, 243, 259, 264, 264, 267, 269, 270, 271, 272, 274, 277, 278, 284, 293, 301, 302, 305, 306, 306, 310, 312, 313, 315, 315, 317, 318, 318, 336, 337, 340, 342, 347, 347, 348, 348, 355, 355, 356, 359, 360, 362, 362, 363, 364, 374, 390, 391, 396, 404, 404, 405, 405, 406, 407, 413, 417, 419, 420, 422, 432, 435, 461, 461, 463, 465, 467, 472, 472, 491, 505, 508, 535, 548, 559, 606, 622 ], "yaxis": "y4" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "Number of airline passengers (transformed)", "showlegend": false, "type": "scattergl", "x": [ -2.4626069362500904, -2.2031212063800023, -2.0397090766872172, -1.9175159723265773, -1.8186455928500607, -1.7348994269516758, -1.66180577410579, -1.5966451543943727, -1.537634810648647, -1.4835398594012967, -1.433467998517102, -1.386752514329788, -1.3428815089087203, -1.30145298240007, -1.2621451766228078, -1.224696335968185, -1.1888905008342245, -1.1545472907446928, -1.1215143999210206, -1.089661981946107, -1.0588783783298643, -1.0290668213307226, -1.0001428550721199, -0.9720322943361202, -0.9446695913944757, -0.9179965163814972, -0.8919610813560996, -0.8665166557497274, -0.8416212335729142, -0.8172368220294002, -0.7933289280569344, -0.7698661244591363, -0.7468196811860968, -0.7241632502958759, -0.7018725954219602, -0.6799253583541528, -0.6583008567368558, -0.6369799079909213, -0.6159446754412703, -0.5951785333332777, -0.574665947985039, -0.5543923727793479, -0.5343441550710668, -0.5145084533898684, -0.49487316356862376, -0.4754268526345242, -0.4561586994717063, -0.4370584414072415, -0.4181163259921305, -0.3993230673495512, -0.3806698065474641, -0.3621480755244548, -0.3437497641586319, -0.32546709012126585, -0.3072925712011558, -0.28921899982361715, -0.27123941952052316, -0.2533471031357997, -0.23553553257487875, -0.21779837992739867, -0.20012948981040773, -0.1825228627948347, -0.16497263979141957, -0.14747308728387867, -0.13001858330708427, -0.11260360407663714, -0.09522271118359023, -0.07787053927435988, -0.06054178414117301, -0.04323119115281719, -0.02593354395909071, -0.008643653405227754, 0.008643653405227754, 0.02593354395909071, 0.04323119115281733, 0.06054178414117315, 0.07787053927435975, 0.09522271118359009, 0.11260360407663714, 0.13001858330708427, 0.14747308728387867, 0.16497263979141957, 0.18252286279483484, 0.20012948981040787, 0.21779837992739853, 0.2355355325748786, 0.2533471031357997, 0.27123941952052316, 0.28921899982361715, 0.3072925712011558, 0.325467090121266, 0.34374976415863207, 0.36214807552445466, 0.3806698065474639, 0.3993230673495512, 0.4181163259921305, 0.4370584414072415, 0.4561586994717063, 0.4754268526345244, 0.49487316356862393, 0.5145084533898683, 0.5343441550710666, 0.5543923727793479, 0.574665947985039, 0.5951785333332777, 0.6159446754412703, 0.6369799079909214, 0.6583008567368559, 0.6799253583541527, 0.7018725954219602, 0.7241632502958759, 0.7468196811860968, 0.7698661244591363, 0.7933289280569344, 0.8172368220294002, 0.8416212335729143, 0.8665166557497271, 0.8919610813560996, 0.9179965163814972, 0.9446695913944757, 0.9720322943361202, 1.0001428550721199, 1.0290668213307226, 1.0588783783298645, 1.0896619819461069, 1.1215143999210206, 1.1545472907446928, 1.1888905008342237, 1.224696335968185, 1.2621451766228082, 1.30145298240007, 1.3428815089087207, 1.3867525143297876, 1.4334679985171017, 1.4835398594012967, 1.5376348106486466, 1.5966451543943727, 1.66180577410579, 1.7348994269516764, 1.8186455928500607, 1.9175159723265764, 2.039709076687217, 2.2031212063800014, 2.46260693625009 ], "xaxis": "x4", "y": [ -14.103687789542107, 16.917582507858583, 36.45334598745998, 51.06141449568841, 62.881273598087375, 72.89304746328375, 81.63132360313855, 89.4212132353199, 96.47584327064075, 102.94284284402349, 108.92888582049125, 114.51367717982396, 119.75841382899165, 124.7111544652158, 129.41036497064383, 133.88733797741747, 138.1678912489629, 142.27358909832503, 146.2226395353517, 150.03056557475384, 153.71071588200044, 157.2746589478474, 160.73249139138957, 164.0930819843271, 167.36426689474666, 170.55300744727995, 173.66551875045496, 176.7073754440487, 179.6835993038404, 182.59873233220816, 185.45689814168355, 188.261853823472, 191.01703402750326, 193.7255886249826, 196.39041505029707, 199.01418620604593, 201.59937464801766, 204.1482736351635, 206.6630155248932, 209.14558791023705, 211.59784782797817, 214.02153431226108, 216.41827952372643, 218.7896186478437, 221.13699872619168, 223.46178655971153, 225.76527580243305, 228.0486933470684, 230.31320508954806, 232.55992114754588, 234.78990059789624, 237.00415578922477, 239.2036562788304, 241.3893324366536, 243.562078753872, 245.72275688913084, 247.87219848152722, 250.01120775612202, 252.14056394487346, 254.26102354340017, 256.3733224218343, 258.47817780617106, 260.57629014491573, 262.66834487444464, 264.75501409530034, 266.83695817061346, 268.91482725696096, 270.9892627772213, 273.06089884434994, 275.13036364447174, 277.1982807872538, 279.26527063117464, 281.3319515910475, 283.3989414349684, 285.46685857775043, 287.5363233778723, 289.60795944500086, 291.6823949652612, 293.7602640516087, 295.84220812692183, 297.92887734777753, 300.02093207730644, 302.11904441605117, 304.2238998003879, 306.336198678822, 308.4566582773487, 310.58601446610015, 312.72502374069495, 314.87446533309134, 317.0351434683502, 319.20788978556857, 321.39356594339176, 323.5930664329974, 325.80732162432594, 328.0373010746763, 330.28401713267414, 332.54852887515375, 334.8319464197891, 337.13543566251064, 339.4602234960305, 341.80760357437845, 344.1789426984957, 346.57568790996106, 348.999374394244, 351.4516343119851, 353.93420669732893, 356.4489485870587, 358.9978475742045, 361.5830360161762, 364.2068071719251, 366.87163359723957, 369.5801881947189, 372.3353683987502, 375.1403240805386, 377.998489890014, 380.9136229183818, 383.8898467781735, 386.9317034717672, 390.04421477494225, 393.2329553274755, 396.50414023789506, 399.8647308308326, 403.3225632743748, 406.8865063402218, 410.56665664746833, 414.37458268687044, 418.32363312389714, 422.4293309732592, 426.7098842448047, 431.1868572515784, 435.88606775700634, 440.8388083932306, 446.08354504239816, 451.6683364017309, 457.65437937819866, 464.1213789515814, 471.1760089869023, 478.96589861908365, 487.7041747589385, 497.7159486241348, 509.5358077265337, 524.1438762347622, 543.6796397143635, 574.7009100117642 ], "yaxis": "y4" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 0, 0 ], "xaxis": "x5", "y": [ 0, 1 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 1, 1 ], "xaxis": "x5", "y": [ 0, 0.9480473407524915 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 2, 2 ], "xaxis": "x5", "y": [ 0, 0.8755748351253507 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 3, 3 ], "xaxis": "x5", "y": [ 0, 0.8066811554965002 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 4, 4 ], "xaxis": "x5", "y": [ 0, 0.7526254173883077 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 5, 5 ], "xaxis": "x5", "y": [ 0, 0.7137699726519648 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 6, 6 ], "xaxis": "x5", "y": [ 0, 0.6817336033310043 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 7, 7 ], "xaxis": "x5", "y": [ 0, 0.6629043863684492 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 8, 8 ], "xaxis": "x5", "y": [ 0, 0.6556104843250862 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 9, 9 ], "xaxis": "x5", "y": [ 0, 0.6709483279245044 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 10, 10 ], "xaxis": "x5", "y": [ 0, 0.7027199209090718 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 11, 11 ], "xaxis": "x5", "y": [ 0, 0.7432401890069327 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 12, 12 ], "xaxis": "x5", "y": [ 0, 0.7603950422625558 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 13, 13 ], "xaxis": "x5", "y": [ 0, 0.7126608704038238 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 14, 14 ], "xaxis": "x5", "y": [ 0, 0.6463422792677535 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 15, 15 ], "xaxis": "x5", "y": [ 0, 0.5859234238634494 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 16, 16 ], "xaxis": "x5", "y": [ 0, 0.5379551907815616 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 17, 17 ], "xaxis": "x5", "y": [ 0, 0.49974752598517996 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 18, 18 ], "xaxis": "x5", "y": [ 0, 0.46873401291508715 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 19, 19 ], "xaxis": "x5", "y": [ 0, 0.4498706649766616 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 20, 20 ], "xaxis": "x5", "y": [ 0, 0.4416287957460463 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 21, 21 ], "xaxis": "x5", "y": [ 0, 0.4572237571141587 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 22, 22 ], "xaxis": "x5", "y": [ 0, 0.4824820295144397 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 23, 23 ], "xaxis": "x5", "y": [ 0, 0.5171269883891182 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 24, 24 ], "xaxis": "x5", "y": [ 0, 0.532189830465802 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 25, 25 ], "xaxis": "x5", "y": [ 0, 0.4939756937750339 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 26, 26 ], "xaxis": "x5", "y": [ 0, 0.4377213370680656 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 27, 27 ], "xaxis": "x5", "y": [ 0, 0.3876028997464519 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 28, 28 ], "xaxis": "x5", "y": [ 0, 0.3480250323299374 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 29, 29 ], "xaxis": "x5", "y": [ 0, 0.31498387947256945 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 30, 30 ], "xaxis": "x5", "y": [ 0, 0.2884968187844052 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 31, 31 ], "xaxis": "x5", "y": [ 0, 0.2708018671117992 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 32, 32 ], "xaxis": "x5", "y": [ 0, 0.26429010598992786 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 33, 33 ], "xaxis": "x5", "y": [ 0, 0.276799336950146 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 34, 34 ], "xaxis": "x5", "y": [ 0, 0.29852149515565224 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 35, 35 ], "xaxis": "x5", "y": [ 0, 0.32558711661066314 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 36, 36 ], "xaxis": "x5", "y": [ 0, 0.33702359902053575 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 37, 37 ], "xaxis": "x5", "y": [ 0, 0.3033348585579199 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 38, 38 ], "xaxis": "x5", "y": [ 0, 0.2539770814071908 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 39, 39 ], "xaxis": "x5", "y": [ 0, 0.21065533781406406 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 40, 40 ], "xaxis": "x5", "y": [ 0, 0.17217092361106262 ], "yaxis": "y5" }, { "marker": { "color": "#1f77b4", "size": 6 }, "mode": "markers", "name": "ACF", "showlegend": false, "type": "scattergl", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x5", "y": [ 1, 0.9480473407524915, 0.8755748351253507, 0.8066811554965002, 0.7526254173883077, 0.7137699726519648, 0.6817336033310043, 0.6629043863684492, 0.6556104843250862, 0.6709483279245044, 0.7027199209090718, 0.7432401890069327, 0.7603950422625558, 0.7126608704038238, 0.6463422792677535, 0.5859234238634494, 0.5379551907815616, 0.49974752598517996, 0.46873401291508715, 0.4498706649766616, 0.4416287957460463, 0.4572237571141587, 0.4824820295144397, 0.5171269883891182, 0.532189830465802, 0.4939756937750339, 0.4377213370680656, 0.3876028997464519, 0.3480250323299374, 0.31498387947256945, 0.2884968187844052, 0.2708018671117992, 0.26429010598992786, 0.276799336950146, 0.29852149515565224, 0.32558711661066314, 0.33702359902053575, 0.3033348585579199, 0.2539770814071908, 0.21065533781406406, 0.17217092361106262 ], "yaxis": "y5" }, { "line": { "color": "rgba(255,255,255,0)" }, "mode": "lines", "name": "UC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x5", "y": [ 0, 0.16333033204500447, 0.27318615521458, 0.3399017661883753, 0.38762383148595225, 0.42482244845589956, 0.45569292201744294, 0.4821334810270368, 0.5058641279364026, 0.5280447239635008, 0.550317641681715, 0.5737563310797158, 0.598889949958539, 0.624113974952015, 0.6454578001172308, 0.6624988158521083, 0.676181413525544, 0.687503897843146, 0.6971273493682075, 0.7054848995976516, 0.7130966532991216, 0.72035595943078, 0.7280566375097888, 0.7365368914864218, 0.7461597871836548, 0.7562179276283605, 0.7647773994303543, 0.7714317972264942, 0.7766097146258821, 0.7807591896188131, 0.7841418116449759, 0.7869682474990506, 0.7894502115268107, 0.7918070128489083, 0.7943841542594856, 0.7973711774106018, 0.8009098872583174, 0.804684292481433, 0.8077289046875541, 0.8098564828638037, 0.8113169075162117 ], "yaxis": "y5" }, { "fill": "tonexty", "fillcolor": "rgba(32, 146, 230,0.3)", "line": { "color": "rgba(255,255,255,0)" }, "mode": "lines", "name": "LC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ], "xaxis": "x5", "y": [ 0, -0.16333033204500447, -0.27318615521458, -0.3399017661883753, -0.38762383148595225, -0.4248224484558996, -0.45569292201744294, -0.4821334810270367, -0.5058641279364027, -0.5280447239635009, -0.5503176416817149, -0.5737563310797159, -0.5988899499585391, -0.6241139749520151, -0.6454578001172308, -0.6624988158521085, -0.676181413525544, -0.6875038978431461, -0.6971273493682075, -0.7054848995976515, -0.7130966532991216, -0.7203559594307799, -0.7280566375097887, -0.7365368914864218, -0.7461597871836547, -0.7562179276283606, -0.7647773994303542, -0.7714317972264944, -0.7766097146258821, -0.780759189618813, -0.7841418116449759, -0.7869682474990506, -0.7894502115268106, -0.7918070128489083, -0.7943841542594856, -0.7973711774106018, -0.8009098872583174, -0.804684292481433, -0.8077289046875542, -0.8098564828638037, -0.8113169075162117 ], "yaxis": "y5" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 0, 0 ], "xaxis": "x6", "y": [ 0, 1 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 1, 1 ], "xaxis": "x6", "y": [ 0, 0.9546770424360757 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 2, 2 ], "xaxis": "x6", "y": [ 0, -0.26527731666012216 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 3, 3 ], "xaxis": "x6", "y": [ 0, 0.05546954724838006 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 4, 4 ], "xaxis": "x6", "y": [ 0, 0.10885621529097601 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 5, 5 ], "xaxis": "x6", "y": [ 0, 0.08112578525491208 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 6, 6 ], "xaxis": "x6", "y": [ 0, 0.00412540544093819 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 7, 7 ], "xaxis": "x6", "y": [ 0, 0.15616955255589093 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 8, 8 ], "xaxis": "x6", "y": [ 0, 0.1037083299722011 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 9, 9 ], "xaxis": "x6", "y": [ 0, 0.2887814388340013 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 10, 10 ], "xaxis": "x6", "y": [ 0, 0.20691804782878181 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 11, 11 ], "xaxis": "x6", "y": [ 0, 0.24112970404486972 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 12, 12 ], "xaxis": "x6", "y": [ 0, -0.15800498356330542 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 13, 13 ], "xaxis": "x6", "y": [ 0, -0.718324603521264 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 14, 14 ], "xaxis": "x6", "y": [ 0, -0.08948064101694861 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 15, 15 ], "xaxis": "x6", "y": [ 0, 0.22160591266031396 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 16, 16 ], "xaxis": "x6", "y": [ 0, 0.13462253307939445 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 17, 17 ], "xaxis": "x6", "y": [ 0, 0.11561571941287228 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 18, 18 ], "xaxis": "x6", "y": [ 0, 0.1948293962927744 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 19, 19 ], "xaxis": "x6", "y": [ 0, 0.09665618446078585 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 20, 20 ], "xaxis": "x6", "y": [ 0, -0.20215867968040072 ], "yaxis": "y6" }, { "line": { "color": "#3f3f3f" }, "mode": "lines", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 21, 21 ], "xaxis": "x6", "y": [ 0, -0.09363810049964852 ], "yaxis": "y6" }, { "marker": { "color": "#1f77b4", "size": 6 }, "mode": "markers", "name": "PACF", "showlegend": false, "type": "scattergl", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 ], "xaxis": "x6", "y": [ 1, 0.9546770424360757, -0.26527731666012216, 0.05546954724838006, 0.10885621529097601, 0.08112578525491208, 0.00412540544093819, 0.15616955255589093, 0.1037083299722011, 0.2887814388340013, 0.20691804782878181, 0.24112970404486972, -0.15800498356330542, -0.718324603521264, -0.08948064101694861, 0.22160591266031396, 0.13462253307939445, 0.11561571941287228, 0.1948293962927744, 0.09665618446078585, -0.20215867968040072, -0.09363810049964852 ], "yaxis": "y6" }, { "line": { "color": "rgba(255,255,255,0)" }, "mode": "lines", "name": "UC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 ], "xaxis": "x6", "y": [ 0, 0.16333033204500447, 0.1633303320450045, 0.16333033204500452, 0.16333033204500452, 0.16333033204500447, 0.1633303320450045, 0.16333033204500447, 0.16333033204500452, 0.16333033204500447, 0.16333033204500452, 0.16333033204500452, 0.1633303320450045, 0.16333033204500447, 0.1633303320450045, 0.1633303320450045, 0.1633303320450045, 0.16333033204500447, 0.16333033204500447, 0.16333033204500452, 0.1633303320450045, 0.1633303320450045 ], "yaxis": "y6" }, { "fill": "tonexty", "fillcolor": "rgba(32, 146, 230,0.3)", "line": { "color": "rgba(255,255,255,0)" }, "mode": "lines", "name": "LC", "showlegend": false, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 ], "xaxis": "x6", "y": [ 0, -0.16333033204500447, -0.16333033204500452, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.16333033204500447, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045, -0.1633303320450045 ], "yaxis": "y6" } ], "layout": { "annotations": [ { "font": { "size": 16 }, "showarrow": false, "text": "Number of airline passengers (transformed)", "x": 0.225, "xanchor": "center", "xref": "paper", "y": 1.0000000000000002, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "Periodogram", "x": 0.775, "xanchor": "center", "xref": "paper", "y": 1.0000000000000002, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "Histogram", "x": 0.225, "xanchor": "center", "xref": "paper", "y": 0.6111111111111112, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "Q-Q Plot", "x": 0.775, "xanchor": "center", "xref": "paper", "y": 0.6111111111111112, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "ACF", "x": 0.225, "xanchor": "center", "xref": "paper", "y": 0.22222222222222227, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "PACF", "x": 0.775, "xanchor": "center", "xref": "paper", "y": 0.22222222222222227, "yanchor": "bottom", "yref": "paper" } ], "showlegend": false, "template": { "data": { "bar": [ { "error_x": { "color": "rgb(51,51,51)" }, "error_y": { "color": "rgb(51,51,51)" }, "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "rgb(237,237,237)", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "baxis": { "endlinecolor": "rgb(51,51,51)", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "rgb(51,51,51)" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" }, "colorscale": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "rgb(237,237,237)" }, "line": { "color": "white" } }, "header": { "fill": { "color": "rgb(217,217,217)" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "tickcolor": "rgb(237,237,237)", "ticklen": 6, "ticks": "inside" } }, "colorscale": { "sequential": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ], "sequentialminus": [ [ 0, "rgb(20,44,66)" ], [ 1, "rgb(90,179,244)" ] ] }, "colorway": [ "#F8766D", "#A3A500", "#00BF7D", "#00B0F6", "#E76BF3" ], "font": { "color": "rgb(51,51,51)" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "rgb(237,237,237)", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "paper_bgcolor": "white", "plot_bgcolor": "rgb(237,237,237)", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "radialaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "scene": { "xaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "rgb(237,237,237)", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "zerolinecolor": "white" } }, "shapedefaults": { "fillcolor": "black", "line": { "width": 0 }, "opacity": 0.3 }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "baxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" }, "bgcolor": "rgb(237,237,237)", "caxis": { "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside" } }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "showgrid": true, "tickcolor": "rgb(51,51,51)", "ticks": "outside", "title": { "standoff": 15 }, "zerolinecolor": "white" } } }, "title": { "text": "Diagnostics | Number of airline passengers" }, "xaxis": { "anchor": "y", "domain": [ 0, 0.45 ] }, "xaxis2": { "anchor": "y2", "domain": [ 0.55, 1 ], "range": [ 0, 0.5 ] }, "xaxis3": { "anchor": "y3", "domain": [ 0, 0.45 ], "title": { "text": "Range of Values" } }, "xaxis4": { "anchor": "y4", "domain": [ 0.55, 1 ], "title": { "text": "Theoretical Quantities" } }, "xaxis5": { "anchor": "y5", "domain": [ 0, 0.45 ], "range": [ -1, 42 ] }, "xaxis6": { "anchor": "y6", "domain": [ 0.55, 1 ], "range": [ -1, 23 ] }, "yaxis": { "anchor": "x", "domain": [ 0.7777777777777779, 1 ] }, "yaxis2": { "anchor": "x2", "domain": [ 0.7777777777777779, 1 ] }, "yaxis3": { "anchor": "x3", "domain": [ 0.38888888888888895, 0.6111111111111112 ], "title": { "text": "PDF" } }, "yaxis4": { "anchor": "x4", "domain": [ 0.38888888888888895, 0.6111111111111112 ], "title": { "text": "Sample Quantities" } }, "yaxis5": { "anchor": "x5", "domain": [ 0, 0.22222222222222227 ], "range": [ -1.1, 1.1 ], "zerolinecolor": "#000000" }, "yaxis6": { "anchor": "x6", "domain": [ 0, 0.22222222222222227 ], "range": [ -1.1, 1.1 ], "zerolinecolor": "#000000" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot diagnostics\n", "# for certain plots you don't need a trained model\n", "plot_model(plot = 'diagnostics')" ] }, { "cell_type": "markdown", "id": "2fef279d", "metadata": {}, "source": [ "Some other parameters that you might find very useful in `plot_model` are:\n", "\n", "- fig_kwargs\n", "- data_kwargs\n", "- display_format\n", "- return_fig\n", "- return_data\n", "- save\n", "\n", "You can check the docstring of the function for more info." ] }, { "cell_type": "code", "execution_count": 61, "id": "54b09b8e", "metadata": {}, "outputs": [], "source": [ "# help(plot_model)" ] }, { "cell_type": "markdown", "id": "e27c212b", "metadata": {}, "source": [ "## ✅ Finalize Model\n", "This function trains a given model on the entire dataset including the hold-out set." ] }, { "cell_type": "code", "execution_count": 62, "id": "65225684", "metadata": {}, "outputs": [], "source": [ "final_best = finalize_model(best)" ] }, { "cell_type": "code", "execution_count": 63, "id": "80d17fec", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
ForecastingPipeline(steps=[('forecaster',\n",
       "                            TransformedTargetForecaster(steps=[('transformer_target',\n",
       "                                                                TransformerPipeline(steps=[('numerical_imputer',\n",
       "                                                                                            Imputer(random_state=123))])),\n",
       "                                                               ('model',\n",
       "                                                                AutoETS(seasonal='mul',\n",
       "                                                                        sp=12,\n",
       "                                                                        trend='add'))]))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "ForecastingPipeline(steps=[('forecaster',\n", " TransformedTargetForecaster(steps=[('transformer_target',\n", " TransformerPipeline(steps=[('numerical_imputer',\n", " Imputer(random_state=123))])),\n", " ('model',\n", " AutoETS(seasonal='mul',\n", " sp=12,\n", " trend='add'))]))])" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "final_best" ] }, { "cell_type": "markdown", "id": "ed00202c", "metadata": {}, "source": [ "## ✅ Deploy Model\n", "This function deploys the entire ML pipeline on the cloud.\n", "\n", "**AWS:** When deploying model on AWS S3, environment variables must be configured using the command-line interface. To configure AWS environment variables, type `aws configure` in terminal. The following information is required which can be generated using the Identity and Access Management (IAM) portal of your amazon console account:\n", "\n", "- AWS Access Key ID\n", "- AWS Secret Key Access\n", "- Default Region Name (can be seen under Global settings on your AWS console)\n", "- Default output format (must be left blank)\n", "\n", "**GCP:** To deploy a model on Google Cloud Platform ('gcp'), the project must be created using the command-line or GCP console. Once the project is created, you must create a service account and download the service account key as a JSON file to set environment variables in your local environment. Learn more about it: https://cloud.google.com/docs/authentication/production\n", "\n", "**Azure:** To deploy a model on Microsoft Azure ('azure'), environment variables for the connection string must be set in your local environment. Go to settings of storage account on Azure portal to access the connection string required.\n", "AZURE_STORAGE_CONNECTION_STRING (required as environment variable)\n", "Learn more about it: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python?toc=%2Fpython%2Fazure%2FTOC.json" ] }, { "cell_type": "code", "execution_count": 64, "id": "40b20a18", "metadata": {}, "outputs": [], "source": [ "# deploy model on aws s3\n", "# deploy_model(best, model_name = 'my_first_platform_on_aws',\n", "# platform = 'aws', authentication = {'bucket' : 'pycaret-test'})" ] }, { "cell_type": "code", "execution_count": 65, "id": "9e236516", "metadata": {}, "outputs": [], "source": [ "# load model from aws s3\n", "# loaded_from_aws = load_model(model_name = 'my_first_platform_on_aws', platform = 'aws',\n", "# authentication = {'bucket' : 'pycaret-test'})\n", "\n", "# loaded_from_aws" ] }, { "cell_type": "markdown", "id": "e169ae86", "metadata": {}, "source": [ "## ✅ Save / Load Model\n", "This function saves the transformation pipeline and a trained model object into the current working directory as a pickle file for later use." ] }, { "cell_type": "code", "execution_count": 66, "id": "bc5cf24a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transformation Pipeline and Model Successfully Saved\n" ] }, { "data": { "text/plain": [ "(AutoETS(seasonal='mul', sp=12, trend='add'), 'my_first_model.pkl')" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# save model\n", "save_model(best, 'my_first_model')" ] }, { "cell_type": "code", "execution_count": 67, "id": "e8478d34", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Transformation Pipeline and Model Successfully Loaded\n" ] }, { "data": { "text/html": [ "
AutoETS(seasonal='mul', sp=12, trend='add')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "AutoETS(seasonal='mul', sp=12, trend='add')" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# load model\n", "loaded_from_disk = load_model('my_first_model')\n", "loaded_from_disk" ] }, { "cell_type": "markdown", "id": "de5eee8c", "metadata": {}, "source": [ "## ✅ Save / Load Experiment\n", "This function saves all the experiment variables on disk, allowing to later resume without rerunning the setup function." ] }, { "cell_type": "code", "execution_count": 68, "id": "6a3c61b6", "metadata": {}, "outputs": [], "source": [ "# save experiment\n", "save_experiment('my_experiment')" ] }, { "cell_type": "code", "execution_count": 69, "id": "83252c09", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13Seasonality Detection Algoauto
14Max Period to Consider60
15Seasonal Period(s) Tested[12, 24, 36, 11, 48]
16Significant Seasonal Period(s)[12, 24, 36, 11, 48]
17Significant Seasonal Period(s) without Harmonics[48, 36, 11]
18Remove HarmonicsFalse
19Harmonics Order Methodharmonic_max
20Num Seasonalities to Use1
21All Seasonalities to Use[12]
22Primary Seasonality12
23Seasonality PresentTrue
24Target Strictly PositiveTrue
25Target White NoiseNo
26Recommended d1
27Recommended Seasonal D1
28PreprocessTrue
29Numerical Imputation (Target)drift
30Transformation (Target)None
31Scaling (Target)None
32Feature Engineering (Target) - Reduced RegressionFalse
33CPU Jobs-1
34Use GPUFalse
35Log ExperimentFalse
36Experiment Namets-default-name
37USI46d6
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load experiment from disk\n", "exp_from_disk = load_experiment('my_experiment', data=data)" ] } ], "metadata": { "kernelspec": { "display_name": "pycaretrc5", "language": "python", "name": "pycaretrc5" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.15" } }, "nbformat": 4, "nbformat_minor": 5 }