{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "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.6"
    },
    "colab": {
      "name": "BayesOptProphetHyperparameters.ipynb",
      "provenance": []
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "qCDI1fQGnE8d"
      },
      "source": [
        "%matplotlib inline\n",
        "\n",
        "if 'google.colab' in str(get_ipython()):\n",
        "    !pip install BayesianOptimization\n",
        "\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "from time import sleep\n",
        "from fbprophet import Prophet\n",
        "from fbprophet.diagnostics import cross_validation, performance_metrics\n",
        "from bayes_opt import BayesianOptimization\n",
        "\n",
        "# silence scipy/optimize/_numdiff.py:519: RuntimeWarnings\n",
        "import warnings; \n",
        "warnings.simplefilter(\"ignore\", RuntimeWarning)\n",
        "\n",
        "# silence prophet INFO messages\n",
        "import logging\n",
        "logging.getLogger('fbprophet').setLevel(logging.WARNING)\n",
        "\n",
        "import random\n",
        "random.seed(42)\n",
        "np.random.seed(42)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "s4RqxfA7nE9J"
      },
      "source": [
        "# Bayesian Optimisation of Prophet Hyperparameters\n",
        "\n",
        "This notebook illustrates optimisation of continuous hyperparamaters of \n",
        "[prophet](https://facebook.github.io/prophet/) \n",
        "time series models using the \n",
        "[BayesianOptimization](https://github.com/fmfn/BayesianOptimization) package.\n",
        "\n",
        "The notebook is organised into the following sections:\n",
        " * Importing Data\n",
        " * Building Simple Model\n",
        " * Cross-validating Model\n",
        " * Tuning Discrete Prophet Hyperparameters\n",
        " * Bayesian Optimisation of Continuous Prophet Hyperparameters\n",
        " * Conclusion\n",
        "\n",
        "\n",
        "## Import Data\n",
        "\n",
        "Data has been cleaned but may still have issues.  See the [cleaning section](https://github.com/makeyourownmaker/CambridgeTemperatureModel#Cleaning) in my [Cambridge Temperature Model repository](https://github.com/makeyourownmaker/CambridgeTemperatureModel) for details.\n",
        "\n",
        "The `y` variable is temperature * 10.  I'm primarily interested in very short term forecasts (less than 2 hours)\n",
        "but forecasts over 24 hours are also interesting."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mXatNPq3nE9K",
        "outputId": "7d433a8c-89ec-4bea-ce26-f69445acefac"
      },
      "source": [
        "df = pd.read_csv(\"../data/CamUKWeather.csv\", parse_dates=True)\n",
        "print(\"Shape:\")\n",
        "print(df.shape)\n",
        "print(\"\\nInfo:\")\n",
        "print(df.info())\n",
        "print(\"\\nSummary stats:\")\n",
        "display(df.describe())\n",
        "print(\"\\nRaw data:\")\n",
        "df"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Shape:\n",
            "(192885, 11)\n",
            "\n",
            "Info:\n",
            "<class 'pandas.core.frame.DataFrame'>\n",
            "RangeIndex: 192885 entries, 0 to 192884\n",
            "Data columns (total 11 columns):\n",
            " #   Column             Non-Null Count   Dtype \n",
            "---  ------             --------------   ----- \n",
            " 0   ds                 192885 non-null  object\n",
            " 1   year               192885 non-null  int64 \n",
            " 2   doy                192885 non-null  int64 \n",
            " 3   time               192885 non-null  object\n",
            " 4   y                  192885 non-null  int64 \n",
            " 5   humidity           192885 non-null  int64 \n",
            " 6   dew.point          192885 non-null  int64 \n",
            " 7   pressure           192885 non-null  int64 \n",
            " 8   wind.speed.mean    192885 non-null  int64 \n",
            " 9   wind.bearing.mean  192885 non-null  int64 \n",
            " 10  wind.speed.max     192885 non-null  int64 \n",
            "dtypes: int64(9), object(2)\n",
            "memory usage: 16.2+ MB\n",
            "None\n",
            "\n",
            "Summary stats:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>year</th>\n",
              "      <th>doy</th>\n",
              "      <th>y</th>\n",
              "      <th>humidity</th>\n",
              "      <th>dew.point</th>\n",
              "      <th>pressure</th>\n",
              "      <th>wind.speed.mean</th>\n",
              "      <th>wind.bearing.mean</th>\n",
              "      <th>wind.speed.max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "      <td>192885.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>2013.895803</td>\n",
              "      <td>186.882298</td>\n",
              "      <td>101.096819</td>\n",
              "      <td>79.239951</td>\n",
              "      <td>62.135174</td>\n",
              "      <td>1014.404153</td>\n",
              "      <td>44.588148</td>\n",
              "      <td>196.223423</td>\n",
              "      <td>117.140369</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>3.283992</td>\n",
              "      <td>106.486420</td>\n",
              "      <td>64.465602</td>\n",
              "      <td>16.908724</td>\n",
              "      <td>51.016879</td>\n",
              "      <td>11.823922</td>\n",
              "      <td>40.025546</td>\n",
              "      <td>82.458390</td>\n",
              "      <td>80.116199</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>2008.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>-138.000000</td>\n",
              "      <td>25.000000</td>\n",
              "      <td>-143.000000</td>\n",
              "      <td>963.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>2011.000000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>52.000000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>25.000000</td>\n",
              "      <td>1008.000000</td>\n",
              "      <td>12.000000</td>\n",
              "      <td>135.000000</td>\n",
              "      <td>60.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>2014.000000</td>\n",
              "      <td>191.000000</td>\n",
              "      <td>100.000000</td>\n",
              "      <td>83.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>1016.000000</td>\n",
              "      <td>35.000000</td>\n",
              "      <td>225.000000</td>\n",
              "      <td>100.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>2017.000000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>145.000000</td>\n",
              "      <td>92.000000</td>\n",
              "      <td>100.000000</td>\n",
              "      <td>1023.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>270.000000</td>\n",
              "      <td>160.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>2020.000000</td>\n",
              "      <td>366.000000</td>\n",
              "      <td>361.000000</td>\n",
              "      <td>100.000000</td>\n",
              "      <td>216.000000</td>\n",
              "      <td>1048.000000</td>\n",
              "      <td>291.000000</td>\n",
              "      <td>315.000000</td>\n",
              "      <td>580.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                year            doy              y       humidity  \\\n",
              "count  192885.000000  192885.000000  192885.000000  192885.000000   \n",
              "mean     2013.895803     186.882298     101.096819      79.239951   \n",
              "std         3.283992     106.486420      64.465602      16.908724   \n",
              "min      2008.000000       1.000000    -138.000000      25.000000   \n",
              "25%      2011.000000      94.000000      52.000000      69.000000   \n",
              "50%      2014.000000     191.000000     100.000000      83.000000   \n",
              "75%      2017.000000     280.000000     145.000000      92.000000   \n",
              "max      2020.000000     366.000000     361.000000     100.000000   \n",
              "\n",
              "           dew.point       pressure  wind.speed.mean  wind.bearing.mean  \\\n",
              "count  192885.000000  192885.000000    192885.000000      192885.000000   \n",
              "mean       62.135174    1014.404153        44.588148         196.223423   \n",
              "std        51.016879      11.823922        40.025546          82.458390   \n",
              "min      -143.000000     963.000000         0.000000           0.000000   \n",
              "25%        25.000000    1008.000000        12.000000         135.000000   \n",
              "50%        64.000000    1016.000000        35.000000         225.000000   \n",
              "75%       100.000000    1023.000000        67.000000         270.000000   \n",
              "max       216.000000    1048.000000       291.000000         315.000000   \n",
              "\n",
              "       wind.speed.max  \n",
              "count   192885.000000  \n",
              "mean       117.140369  \n",
              "std         80.116199  \n",
              "min          0.000000  \n",
              "25%         60.000000  \n",
              "50%        100.000000  \n",
              "75%        160.000000  \n",
              "max        580.000000  "
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "Raw data:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>ds</th>\n",
              "      <th>year</th>\n",
              "      <th>doy</th>\n",
              "      <th>time</th>\n",
              "      <th>y</th>\n",
              "      <th>humidity</th>\n",
              "      <th>dew.point</th>\n",
              "      <th>pressure</th>\n",
              "      <th>wind.speed.mean</th>\n",
              "      <th>wind.bearing.mean</th>\n",
              "      <th>wind.speed.max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2008-08-01 08:30:00</td>\n",
              "      <td>2008</td>\n",
              "      <td>214</td>\n",
              "      <td>09:30:00</td>\n",
              "      <td>186</td>\n",
              "      <td>69</td>\n",
              "      <td>128</td>\n",
              "      <td>1010</td>\n",
              "      <td>123</td>\n",
              "      <td>180</td>\n",
              "      <td>280</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2008-08-01 09:00:00</td>\n",
              "      <td>2008</td>\n",
              "      <td>214</td>\n",
              "      <td>10:00:00</td>\n",
              "      <td>191</td>\n",
              "      <td>70</td>\n",
              "      <td>135</td>\n",
              "      <td>1010</td>\n",
              "      <td>137</td>\n",
              "      <td>180</td>\n",
              "      <td>260</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2008-08-01 09:30:00</td>\n",
              "      <td>2008</td>\n",
              "      <td>214</td>\n",
              "      <td>10:30:00</td>\n",
              "      <td>195</td>\n",
              "      <td>68</td>\n",
              "      <td>134</td>\n",
              "      <td>1010</td>\n",
              "      <td>133</td>\n",
              "      <td>180</td>\n",
              "      <td>260</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2008-08-01 10:00:00</td>\n",
              "      <td>2008</td>\n",
              "      <td>214</td>\n",
              "      <td>11:00:00</td>\n",
              "      <td>200</td>\n",
              "      <td>68</td>\n",
              "      <td>139</td>\n",
              "      <td>1010</td>\n",
              "      <td>129</td>\n",
              "      <td>180</td>\n",
              "      <td>240</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2008-08-01 10:30:00</td>\n",
              "      <td>2008</td>\n",
              "      <td>214</td>\n",
              "      <td>11:30:00</td>\n",
              "      <td>213</td>\n",
              "      <td>61</td>\n",
              "      <td>135</td>\n",
              "      <td>1010</td>\n",
              "      <td>145</td>\n",
              "      <td>180</td>\n",
              "      <td>260</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>192880</th>\n",
              "      <td>2020-01-16 00:00:00</td>\n",
              "      <td>2020</td>\n",
              "      <td>16</td>\n",
              "      <td>00:00:00</td>\n",
              "      <td>40</td>\n",
              "      <td>78</td>\n",
              "      <td>5</td>\n",
              "      <td>1017</td>\n",
              "      <td>45</td>\n",
              "      <td>180</td>\n",
              "      <td>100</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>192881</th>\n",
              "      <td>2020-01-16 00:30:00</td>\n",
              "      <td>2020</td>\n",
              "      <td>16</td>\n",
              "      <td>00:30:00</td>\n",
              "      <td>36</td>\n",
              "      <td>86</td>\n",
              "      <td>15</td>\n",
              "      <td>1018</td>\n",
              "      <td>25</td>\n",
              "      <td>180</td>\n",
              "      <td>120</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>192882</th>\n",
              "      <td>2020-01-16 01:00:00</td>\n",
              "      <td>2020</td>\n",
              "      <td>16</td>\n",
              "      <td>01:00:00</td>\n",
              "      <td>36</td>\n",
              "      <td>85</td>\n",
              "      <td>13</td>\n",
              "      <td>1018</td>\n",
              "      <td>28</td>\n",
              "      <td>180</td>\n",
              "      <td>80</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>192883</th>\n",
              "      <td>2020-01-16 01:30:00</td>\n",
              "      <td>2020</td>\n",
              "      <td>16</td>\n",
              "      <td>01:30:00</td>\n",
              "      <td>36</td>\n",
              "      <td>82</td>\n",
              "      <td>8</td>\n",
              "      <td>1018</td>\n",
              "      <td>17</td>\n",
              "      <td>180</td>\n",
              "      <td>80</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>192884</th>\n",
              "      <td>2020-01-16 02:00:00</td>\n",
              "      <td>2020</td>\n",
              "      <td>16</td>\n",
              "      <td>02:00:00</td>\n",
              "      <td>36</td>\n",
              "      <td>89</td>\n",
              "      <td>20</td>\n",
              "      <td>1018</td>\n",
              "      <td>22</td>\n",
              "      <td>180</td>\n",
              "      <td>100</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>192885 rows × 11 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "                         ds  year  doy      time    y  humidity  dew.point  \\\n",
              "0       2008-08-01 08:30:00  2008  214  09:30:00  186        69        128   \n",
              "1       2008-08-01 09:00:00  2008  214  10:00:00  191        70        135   \n",
              "2       2008-08-01 09:30:00  2008  214  10:30:00  195        68        134   \n",
              "3       2008-08-01 10:00:00  2008  214  11:00:00  200        68        139   \n",
              "4       2008-08-01 10:30:00  2008  214  11:30:00  213        61        135   \n",
              "...                     ...   ...  ...       ...  ...       ...        ...   \n",
              "192880  2020-01-16 00:00:00  2020   16  00:00:00   40        78          5   \n",
              "192881  2020-01-16 00:30:00  2020   16  00:30:00   36        86         15   \n",
              "192882  2020-01-16 01:00:00  2020   16  01:00:00   36        85         13   \n",
              "192883  2020-01-16 01:30:00  2020   16  01:30:00   36        82          8   \n",
              "192884  2020-01-16 02:00:00  2020   16  02:00:00   36        89         20   \n",
              "\n",
              "        pressure  wind.speed.mean  wind.bearing.mean  wind.speed.max  \n",
              "0           1010              123                180             280  \n",
              "1           1010              137                180             260  \n",
              "2           1010              133                180             260  \n",
              "3           1010              129                180             240  \n",
              "4           1010              145                180             260  \n",
              "...          ...              ...                ...             ...  \n",
              "192880      1017               45                180             100  \n",
              "192881      1018               25                180             120  \n",
              "192882      1018               28                180              80  \n",
              "192883      1018               17                180              80  \n",
              "192884      1018               22                180             100  \n",
              "\n",
              "[192885 rows x 11 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "qJ8bfFwqnE9M"
      },
      "source": [
        "Create train and test data.  Will perform [rolling origin forecasting](https://otexts.com/fpp2/accuracy.html#time-series-cross-validation) later."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QLBp8L4WnE9M"
      },
      "source": [
        "THRESHOLD = 2019\n",
        "df_test  = df[df['year'] >= THRESHOLD]\n",
        "df_train = df[df['year'] <  THRESHOLD]"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1zSAEB_bnE9N"
      },
      "source": [
        "---\n",
        "\n",
        "\n",
        "## Build Simple Model\n",
        "\n",
        "First, build a simple model with flat growth and no weekly seasonality.  This is a quick sanity check.  Results should be similar to my previous R version.\n",
        "\n",
        "One reason for using the python prophet version over R is to check the \n",
        "[flat growth](https://facebook.github.io/prophet/docs/additional_topics.html#flat-trend-and-custom-trends)\n",
        "option, (only available in python), with \n",
        "[linear and logistic growth I used earlier in R](https://github.com/makeyourownmaker/CambridgeTemperatureModel/blob/master/4.02-prophet.R).\n",
        "\n",
        "Seasonality mode defaults to additive for both daily and yearly.  Yearly seasonality is set to use 2 Fourier terms to enforce smooth annual cyclicality.  Yearly seasonality shows over-fitting if `yearly_seasonality = 'auto'` is used.\n",
        "It _may_ be better to use `yearly_seasonality = 'auto'` and tune `seasonality_prior_scale` instead of setting the number of Fourier terms."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ddTz4h31nE9N"
      },
      "source": [
        "m = Prophet(growth = 'flat',\n",
        "            daily_seasonality  = True,\n",
        "            weekly_seasonality = False,\n",
        "            yearly_seasonality = 2)\n",
        "m.fit(df_train);"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1u5MfGFGnE9O"
      },
      "source": [
        "### Make forecast\n",
        "\n",
        "Use `df_test` data created earlier to make forecast.  `df_test` contains data in 2019 and after.\n",
        "`yhat_lower` and `yhat_upper` are the 80% uncertainty intervals."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EOt7g2FBnE9O",
        "outputId": "f1644fd9-4f44-4644-d646-5c746a800f7b"
      },
      "source": [
        "forecast = m.predict(df_test)\n",
        "pd.concat([forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail().reset_index(drop = True), \n",
        "           df_test['y'].tail().reset_index(drop = True)], axis = 1)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>ds</th>\n",
              "      <th>yhat</th>\n",
              "      <th>yhat_lower</th>\n",
              "      <th>yhat_upper</th>\n",
              "      <th>y</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2020-01-16 00:00:00</td>\n",
              "      <td>17.667960</td>\n",
              "      <td>-29.378573</td>\n",
              "      <td>63.475330</td>\n",
              "      <td>40</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2020-01-16 00:30:00</td>\n",
              "      <td>16.180201</td>\n",
              "      <td>-33.025993</td>\n",
              "      <td>62.335274</td>\n",
              "      <td>36</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2020-01-16 01:00:00</td>\n",
              "      <td>14.807732</td>\n",
              "      <td>-32.105470</td>\n",
              "      <td>60.216001</td>\n",
              "      <td>36</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2020-01-16 01:30:00</td>\n",
              "      <td>13.508647</td>\n",
              "      <td>-32.616116</td>\n",
              "      <td>61.920117</td>\n",
              "      <td>36</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2020-01-16 02:00:00</td>\n",
              "      <td>12.256809</td>\n",
              "      <td>-32.434217</td>\n",
              "      <td>59.606970</td>\n",
              "      <td>36</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                   ds       yhat  yhat_lower  yhat_upper   y\n",
              "0 2020-01-16 00:00:00  17.667960  -29.378573   63.475330  40\n",
              "1 2020-01-16 00:30:00  16.180201  -33.025993   62.335274  36\n",
              "2 2020-01-16 01:00:00  14.807732  -32.105470   60.216001  36\n",
              "3 2020-01-16 01:30:00  13.508647  -32.616116   61.920117  36\n",
              "4 2020-01-16 02:00:00  12.256809  -32.434217   59.606970  36"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yspmHbSsnE9P"
      },
      "source": [
        "### Plot forecast"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "s1GsimZXnE9P",
        "outputId": "9831e19e-a683-44a9-8cd6-b30ad49039a7"
      },
      "source": [
        "fig1 = m.plot(forecast)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lUW29XkCnE9Q"
      },
      "source": [
        "### Plot components of simple model forecast\n",
        "\n",
        "As expected the trend is flat and is close to the mean `y` (temperature in C * 10) value from `df.describe()` above (101.93).\n",
        "\n",
        "The seasonalities are smoothly varying and cyclic.\n",
        "The daily and yearly seasonalities resemble the \n",
        "[seasonalities obtained with R](https://github.com/makeyourownmaker/CambridgeTemperatureModel#Seasonality)."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "w6xMIfrgnE9Q",
        "outputId": "b084a8c9-e18a-440d-91ab-b967fd278f7f"
      },
      "source": [
        "fig2 = m.plot_components(forecast)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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bPiomIiIiIjkQ+FbAMeMGYODBw8iPz8fNjY2mDNnDmbPno2RI0di9erVsLOzw+bNmwEA/fv3x65du+Do6AhdXV2sXbtW0fGIiIiIVI7CC+DGjRsfePu+ffvuu00mk2HZsmWKjkRERESk0nglECIiIiIVwwJIREREpGJYAImIiIhUDAsgERERkYphASQiIiJSMSyARERERCqGBZCIiIhIxbAAEhEREakYFkAiIiIiFcMCSERERKRiWACJiIiIVAwLIBEREZGKYQEkIiIiUjEsgEREREQqhgWQiIiISMWwABIRERGpGBZAIiIiIhXDAkhERESkYlgAiYiIiFQMCyARERGRimEBJCIiIlIxLIBEREREKkbSArh48WK4u7vDzc0NixYtAgCcPXsWQUFB8Pb2hr+/PxISEqSMSERERNTiSFYAL1y4gJUrVyIhIQHnzp3Djh07cPXqVcyaNQsfffQRzp49i3//+9+YNWuWVBGJiIiIWiQNqVb8559/IjAwELq6ugCA0NBQbN26FTKZDKWlpQCAkpISWFlZSRWRiIiIqEWSrAC6u7vjgw8+QEFBAVq1aoVdu3bB398fixYtQt++ffHOO++gvr4ex44de+DzY2JiEBMTAwDIyclBVlZWU8ZXanl5eVJHaNY4P/nhLOWHs5QPzlF+OEv5aup5yoQQoknX+DerV6/G8uXLoaenBzc3N2hra6O+vh6hoaEYNmwYNm/ejJiYGOzdu/eRy/H390diYmITpVZ+WVlZ3HL6DDg/+eEs5YezlA/OUX44S/n65zwV3W0kPQhk8uTJSEpKwuHDh2FsbIyOHTsiNjYWQ4cOBQCMGDGCB4EQERERyZmkBfDWrVsAgJs3b2Lr1q144YUXYGVlhUOHDgEA9u/fDycnJykjEhEREbU4ku0DCADDhg1DQUEBNDU1sWzZMhgZGWHlypWYMWMGamtroaOj07CfHxERERHJh6QFMD4+/r7bunfvjqSkJAnSEBEREakGXgmEiIiISMWwABIRERGpGBZAIiIiIhXDAkhERESkYlgAiYiIiFQMCyARERGRimEBJCIiIlIxLIBEREREKoYFkIiIiEjFsAASERERqRgWQCIiIiIVwwJIREREpGJYAImIiIhUDAsgERERkYphASQiIiJSMSyARERERCqGBZCIiIhIxciEEELqEM+qTZs2sLe3lzqG0sjL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\n",
            "text/plain": [
              "<Figure size 648x648 with 3 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IH5imIirnE9S"
      },
      "source": [
        "---\n",
        "\n",
        "## Cross-validate Model\n",
        "\n",
        "Second, cross-validate the simple model to get some indication of performance.\n",
        "\n",
        "To perform [rolling origin forecasting](https://otexts.com/fpp2/accuracy.html#time-series-cross-validation) first build a prophet model on `df` instead of `df_train`.  \n",
        "Then run cross-validation on a horizon of 1 hour, starting with 90,000 hours (over 10 years) of training data in the first cutoff and then making predictions every 1,000 hours.  On this 11 year time series, this corresponds to 11 total forecasts between 2018-11-25 09:00:00 and 2020-01-16 01:00:00.  1,000 hours is used to get get a range of forecasts throughout the year.  This is a small validation set.\n",
        "\n",
        "I'm primarily interested in making \"nowcasts\" (forecasts in the next 1 to 2 hours) because I live very close to the data source and the UK met office still only update the forecasts on their web site every 2 hours. "
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "referenced_widgets": [
            "8d511d9a5b30423280536384e3219ceb"
          ]
        },
        "id": "NPFPJPmrnE9T",
        "outputId": "b7afe73b-4074-4a8a-8d92-916fba288748"
      },
      "source": [
        "m = Prophet(growth = 'flat',\n",
        "            daily_seasonality  = True,\n",
        "            weekly_seasonality = False,\n",
        "            yearly_seasonality = 2)\n",
        "m.fit(df)\n",
        "\n",
        "df_cv = cross_validation(m,                                                  \n",
        "                         initial = '90000 hours',\n",
        "                         period  = '1000 hours',\n",
        "                         horizon = '1 hours')\n",
        "df_cv"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "8d511d9a5b30423280536384e3219ceb",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>ds</th>\n",
              "      <th>yhat</th>\n",
              "      <th>yhat_lower</th>\n",
              "      <th>yhat_upper</th>\n",
              "      <th>y</th>\n",
              "      <th>cutoff</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2018-11-25 09:30:00</td>\n",
              "      <td>69.739130</td>\n",
              "      <td>21.225443</td>\n",
              "      <td>115.230298</td>\n",
              "      <td>40</td>\n",
              "      <td>2018-11-25 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2018-11-25 10:00:00</td>\n",
              "      <td>74.736026</td>\n",
              "      <td>29.584274</td>\n",
              "      <td>123.286474</td>\n",
              "      <td>44</td>\n",
              "      <td>2018-11-25 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2019-01-06 01:30:00</td>\n",
              "      <td>14.903101</td>\n",
              "      <td>-29.493593</td>\n",
              "      <td>60.849929</td>\n",
              "      <td>32</td>\n",
              "      <td>2019-01-06 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2019-01-06 02:00:00</td>\n",
              "      <td>13.648006</td>\n",
              "      <td>-33.299961</td>\n",
              "      <td>60.705452</td>\n",
              "      <td>32</td>\n",
              "      <td>2019-01-06 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2019-02-16 17:30:00</td>\n",
              "      <td>60.864809</td>\n",
              "      <td>15.346603</td>\n",
              "      <td>106.657746</td>\n",
              "      <td>92</td>\n",
              "      <td>2019-02-16 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>2019-02-16 18:00:00</td>\n",
              "      <td>57.318057</td>\n",
              "      <td>12.193294</td>\n",
              "      <td>103.565412</td>\n",
              "      <td>88</td>\n",
              "      <td>2019-02-16 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>2019-03-30 09:30:00</td>\n",
              "      <td>78.062718</td>\n",
              "      <td>36.138679</td>\n",
              "      <td>122.136545</td>\n",
              "      <td>123</td>\n",
              "      <td>2019-03-30 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>2019-03-30 10:00:00</td>\n",
              "      <td>83.093376</td>\n",
              "      <td>36.629363</td>\n",
              "      <td>129.146752</td>\n",
              "      <td>141</td>\n",
              "      <td>2019-03-30 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>2019-05-11 01:30:00</td>\n",
              "      <td>91.757079</td>\n",
              "      <td>47.053125</td>\n",
              "      <td>138.943771</td>\n",
              "      <td>56</td>\n",
              "      <td>2019-05-11 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>2019-05-11 02:00:00</td>\n",
              "      <td>90.536030</td>\n",
              "      <td>44.973560</td>\n",
              "      <td>134.771269</td>\n",
              "      <td>56</td>\n",
              "      <td>2019-05-11 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>2019-06-21 17:30:00</td>\n",
              "      <td>177.967667</td>\n",
              "      <td>134.717885</td>\n",
              "      <td>225.012916</td>\n",
              "      <td>186</td>\n",
              "      <td>2019-06-21 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>2019-06-21 18:00:00</td>\n",
              "      <td>174.412222</td>\n",
              "      <td>129.988620</td>\n",
              "      <td>220.564409</td>\n",
              "      <td>177</td>\n",
              "      <td>2019-06-21 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>2019-08-02 09:30:00</td>\n",
              "      <td>183.581257</td>\n",
              "      <td>136.121930</td>\n",
              "      <td>226.609331</td>\n",
              "      <td>186</td>\n",
              "      <td>2019-08-02 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>2019-08-02 10:00:00</td>\n",
              "      <td>188.600265</td>\n",
              "      <td>141.584996</td>\n",
              "      <td>237.675696</td>\n",
              "      <td>182</td>\n",
              "      <td>2019-08-02 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>2019-09-13 01:30:00</td>\n",
              "      <td>126.944368</td>\n",
              "      <td>83.903198</td>\n",
              "      <td>173.625766</td>\n",
              "      <td>155</td>\n",
              "      <td>2019-09-13 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>2019-09-13 02:00:00</td>\n",
              "      <td>125.625959</td>\n",
              "      <td>82.166930</td>\n",
              "      <td>169.953435</td>\n",
              "      <td>145</td>\n",
              "      <td>2019-09-13 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>2019-10-24 17:30:00</td>\n",
              "      <td>117.622934</td>\n",
              "      <td>68.773212</td>\n",
              "      <td>161.759584</td>\n",
              "      <td>88</td>\n",
              "      <td>2019-10-24 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>2019-10-24 18:00:00</td>\n",
              "      <td>113.996222</td>\n",
              "      <td>69.434557</td>\n",
              "      <td>159.843390</td>\n",
              "      <td>84</td>\n",
              "      <td>2019-10-24 17:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>18</th>\n",
              "      <td>2019-12-05 09:30:00</td>\n",
              "      <td>60.190404</td>\n",
              "      <td>16.193022</td>\n",
              "      <td>109.027649</td>\n",
              "      <td>12</td>\n",
              "      <td>2019-12-05 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>19</th>\n",
              "      <td>2019-12-05 10:00:00</td>\n",
              "      <td>65.223833</td>\n",
              "      <td>19.819246</td>\n",
              "      <td>111.113055</td>\n",
              "      <td>20</td>\n",
              "      <td>2019-12-05 09:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>20</th>\n",
              "      <td>2020-01-16 01:30:00</td>\n",
              "      <td>13.998328</td>\n",
              "      <td>-30.979692</td>\n",
              "      <td>60.627637</td>\n",
              "      <td>36</td>\n",
              "      <td>2020-01-16 01:00:00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>21</th>\n",
              "      <td>2020-01-16 02:00:00</td>\n",
              "      <td>12.720485</td>\n",
              "      <td>-36.195731</td>\n",
              "      <td>56.937607</td>\n",
              "      <td>36</td>\n",
              "      <td>2020-01-16 01:00:00</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                    ds        yhat  yhat_lower  yhat_upper    y  \\\n",
              "0  2018-11-25 09:30:00   69.739130   21.225443  115.230298   40   \n",
              "1  2018-11-25 10:00:00   74.736026   29.584274  123.286474   44   \n",
              "2  2019-01-06 01:30:00   14.903101  -29.493593   60.849929   32   \n",
              "3  2019-01-06 02:00:00   13.648006  -33.299961   60.705452   32   \n",
              "4  2019-02-16 17:30:00   60.864809   15.346603  106.657746   92   \n",
              "5  2019-02-16 18:00:00   57.318057   12.193294  103.565412   88   \n",
              "6  2019-03-30 09:30:00   78.062718   36.138679  122.136545  123   \n",
              "7  2019-03-30 10:00:00   83.093376   36.629363  129.146752  141   \n",
              "8  2019-05-11 01:30:00   91.757079   47.053125  138.943771   56   \n",
              "9  2019-05-11 02:00:00   90.536030   44.973560  134.771269   56   \n",
              "10 2019-06-21 17:30:00  177.967667  134.717885  225.012916  186   \n",
              "11 2019-06-21 18:00:00  174.412222  129.988620  220.564409  177   \n",
              "12 2019-08-02 09:30:00  183.581257  136.121930  226.609331  186   \n",
              "13 2019-08-02 10:00:00  188.600265  141.584996  237.675696  182   \n",
              "14 2019-09-13 01:30:00  126.944368   83.903198  173.625766  155   \n",
              "15 2019-09-13 02:00:00  125.625959   82.166930  169.953435  145   \n",
              "16 2019-10-24 17:30:00  117.622934   68.773212  161.759584   88   \n",
              "17 2019-10-24 18:00:00  113.996222   69.434557  159.843390   84   \n",
              "18 2019-12-05 09:30:00   60.190404   16.193022  109.027649   12   \n",
              "19 2019-12-05 10:00:00   65.223833   19.819246  111.113055   20   \n",
              "20 2020-01-16 01:30:00   13.998328  -30.979692   60.627637   36   \n",
              "21 2020-01-16 02:00:00   12.720485  -36.195731   56.937607   36   \n",
              "\n",
              "                cutoff  \n",
              "0  2018-11-25 09:00:00  \n",
              "1  2018-11-25 09:00:00  \n",
              "2  2019-01-06 01:00:00  \n",
              "3  2019-01-06 01:00:00  \n",
              "4  2019-02-16 17:00:00  \n",
              "5  2019-02-16 17:00:00  \n",
              "6  2019-03-30 09:00:00  \n",
              "7  2019-03-30 09:00:00  \n",
              "8  2019-05-11 01:00:00  \n",
              "9  2019-05-11 01:00:00  \n",
              "10 2019-06-21 17:00:00  \n",
              "11 2019-06-21 17:00:00  \n",
              "12 2019-08-02 09:00:00  \n",
              "13 2019-08-02 09:00:00  \n",
              "14 2019-09-13 01:00:00  \n",
              "15 2019-09-13 01:00:00  \n",
              "16 2019-10-24 17:00:00  \n",
              "17 2019-10-24 17:00:00  \n",
              "18 2019-12-05 09:00:00  \n",
              "19 2019-12-05 09:00:00  \n",
              "20 2020-01-16 01:00:00  \n",
              "21 2020-01-16 01:00:00  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 10
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lIikB180nE9b",
        "outputId": "fea9c3d6-802a-4b2b-dd9f-8e819a5a9643"
      },
      "source": [
        "df_p = performance_metrics(df_cv)\n",
        "df_p[['horizon', 'rmse', 'mae', 'mape']]"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>horizon</th>\n",
              "      <th>rmse</th>\n",
              "      <th>mae</th>\n",
              "      <th>mape</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>00:30:00</td>\n",
              "      <td>30.129179</td>\n",
              "      <td>26.998845</td>\n",
              "      <td>0.710990</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>01:00:00</td>\n",
              "      <td>31.161329</td>\n",
              "      <td>27.206752</td>\n",
              "      <td>0.554322</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   horizon       rmse        mae      mape\n",
              "0 00:30:00  30.129179  26.998845  0.710990\n",
              "1 01:00:00  31.161329  27.206752  0.554322"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "j9LrOiOlnE9d"
      },
      "source": [
        "These metrics are comparable to the basic linear and logistic model results previously obtained in R."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BG3XzUaWnE9e"
      },
      "source": [
        "---\n",
        "\n",
        "\n",
        "## Tune Discrete Prophet Hyperparameters\n",
        "\n",
        "Third, tune the categorical parameters.\n",
        "\n",
        "In general, Gaussian process-based Bayesian optimisation does not support discrete parameters.  Discrete parameters should probably be tuned before continuous parameters.\n",
        "\n",
        "I previously added two additional regressors:\n",
        " * dew point\n",
        " * humidity\n",
        "\n",
        "Dew point is temperature to which air must be cooled to become saturated with water vapor, and\n",
        "humdidity is atmospheric moisture.\n",
        "\n",
        "These discrete hyperparameters were tuned:\n",
        " * growth\n",
        " * daily seasonality mode\n",
        " * yearly seasonality mode\n",
        " * dew point mode\n",
        " * humidity mode\n",
        " \n",
        "Final hyperparameters from \n",
        "[R version](https://github.com/makeyourownmaker/CambridgeTemperatureModel/blob/master/4.02-prophet.R):\n",
        "```R\n",
        "params <- data.frame(growth = 'linear',\n",
        "                     n.changepoints = 0,\n",
        "                     daily.mode  = 'multiplicative',\n",
        "                     yearly.mode = 'additive',\n",
        "                     daily.fo  = 2,\n",
        "                     yearly.fo = 2,\n",
        "                     daily.prior  = 0.01,\n",
        "                     yearly.prior = 0.01,\n",
        "                     dp.mode   = 'multiplicative',\n",
        "                     hum.mode  = 'multiplicative',\n",
        "                     dp.prior  = 0.01,\n",
        "                     hum.prior = 0.01,\n",
        "                     stringsAsFactors = FALSE)\n",
        "```\n",
        "\n",
        "When setting `n.changepoints = 0` the trend often showed small amounts of postive or negative growth.\n",
        "\n",
        "The seasonality and regressor priors were tuned over a small range of values \\[0.01, 0.1, 1, 10\\].\n",
        "The low number of Fourier terms and low prior values results in the seasonality components being dominated by the regressors.  This suggests the seasonality is not crucial for such short-term forecasts.\n",
        "It will be interesting to see at what horizon seasonality becomes less dominated.  The tuning grid should be extended to 100 or higher.\n",
        "\n",
        "Nonetheless, these parameters give much improved results compared to the simple model above.\n",
        "\n",
        "| horizon  | rmse     | mae      | mape     |\n",
        "|----------|----------|----------|----------|\n",
        "| 00:30:00 | 6.784561 | 5.127664 | 0.069588 |\n",
        "| 01:00:00 | 8.080058 | 5.304410 | 0.076183 |\n",
        "\n",
        "I won't translate the R code to python.  See the [prophet docs](https://facebook.github.io/prophet/docs/diagnostics.html#hyperparameter-tuning)\n",
        "for a python grid search example."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0C9BGbXnnE9r"
      },
      "source": [
        "---\n",
        "\n",
        "\n",
        "## Bayesian Optimisation of Continuous Prophet Hyperparameters\n",
        "\n",
        "Fourth, tune the continuous parameters.\n",
        "\n",
        "Below I give an example of Bayesian optimisation of prophet seasonality and regressor parameters.\n",
        "\n",
        "These continuous parameters are optimised:\n",
        " * daily_prior_scale\n",
        " * yearly_prior_scale\n",
        " * dew point prior scale\n",
        " * humidity prior scale\n",
        " \n",
        "The python [BayesianOptimization](https://github.com/fmfn/BayesianOptimization)\n",
        "library is used.  It is an implementation of constrained global optimization with Gaussian processes.\n",
        "\n",
        "Next, I define the prophet model to optimise."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_X8RexXsnE9y"
      },
      "source": [
        "def prophet_f(daily_prior, yearly_prior, hum_prior, dp_prior, metric = 'rmse', period = '1000 hours'):\n",
        "    \"\"\"\n",
        "    Implements the prophet model to be optimised and performs cross-validation\n",
        "    \n",
        "    Args:\n",
        "        daily_prior:  daily seasonality prior scale\n",
        "        yearly_prior: yearly seasonality prior scale\n",
        "        hum_prior:    humidity regressor prior scale \n",
        "        dp_prior:     dew.point regressor prior scale\n",
        "        metric:       metric(s) to return - 'rmse' or ['horizon', 'rmse', 'mae', 'mape']\n",
        "        period:       cross-validation period\n",
        "\n",
        "    Returns:\n",
        "        negative of root mean square error\n",
        "    \"\"\"\n",
        "                     \n",
        "    m = Prophet(growth = 'flat',\n",
        "                weekly_seasonality = False)\n",
        "    \n",
        "    m.add_seasonality(name   = 'daily',\n",
        "                      period = 1,\n",
        "                      mode   = 'multiplicative',\n",
        "                      prior_scale   = 10 ** daily_prior,\n",
        "                      fourier_order = 2)\n",
        "    m.add_seasonality(name   = 'yearly',\n",
        "                      period = 365.25,\n",
        "                      mode   = 'additive',\n",
        "                      prior_scale   = 10 ** yearly_prior,\n",
        "                      fourier_order = 2)\n",
        "    \n",
        "    m.add_regressor('humidity',\n",
        "                    mode = 'multiplicative',\n",
        "                    prior_scale = 10 ** hum_prior)\n",
        "    m.add_regressor('dew.point',\n",
        "                    mode = 'multiplicative',\n",
        "                    prior_scale = 10 ** dp_prior)\n",
        "    \n",
        "    m.fit(df)\n",
        "    df_cv = cross_validation(m,                                                  \n",
        "                             initial = '90000 hours',\n",
        "                             period  = period,\n",
        "                             horizon = '1 hours')\n",
        "    \n",
        "    if metric == 'rmse':\n",
        "        df_cv_rmse = ((df_cv.y - df_cv.yhat) ** 2).mean() ** .5\n",
        "        return - df_cv_rmse\n",
        "    elif metric == 'all':\n",
        "        df_p = performance_metrics(df_cv)\n",
        "        return m, df_p[['horizon', 'rmse', 'mae', 'mape']]\n",
        "    "
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ELPjhc6PnE9z"
      },
      "source": [
        "**WARNING** Next cell may take quite a while to run.\n",
        "\n",
        "Run time can be reduced by \n",
        " * decreasing `init_points` and/or `n_iter` in the `optimizer.maximize` call below\n",
        " or\n",
        " * increasing `period` (up to maximum of '15000 hours') in the `cross_validation` call in the `prophet_f` function above.\n",
        " \n",
        "**NOTE** It may be necessary to scroll down through the runtime messages to find the optimised parameters.\n",
        "Or, set `verbose = 0` in the `BayesianOptimization` call below."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "referenced_widgets": [
            "48388265e80a48e09cd9e0f81300e9bb",
            "d3fb450be8f644a4ac68276fa996e9d1",
            "9670b6acd19a410eb5f3594b90b378ba",
            "45db939be8e94372a11e39de22061d2a",
            "5899f72816034008819df948e3a55ded",
            "dbc70d068860413ead3ae44c1adcad29",
            "e5031e974be54bbd9b1506878288425f",
            "d1d46a9f22b64f91af962d5acb222752",
            "90929250ab1243758a9dcdf3d6c7c498",
            "94ff852aebac476c811d1b2f8c2c34a4",
            "66f87656b82041b6a4bfde3b0ae4bbf7",
            "4d8eb071072343c898dc01b52b424612",
            "3257d4dcc4114a41b9cd5191fc4c51d8",
            "a0555054dd484e7bb82d7bf0d8ef27d4",
            "3360807d397e4298ad8a34920672ef4d",
            "c2891cd0e6104aadbaf4090e852a0c47",
            "18fad8d7677a4de9857a1fb13a9b3adb",
            "9b5e778fc4b348e4bb1395981a0e73c3",
            "d37a483ae34741f9987cb3d68bd5570b",
            "fdfcf31b84be4abf9f47dc9dd9c03502"
          ]
        },
        "id": "rT1m0HbTnE92",
        "outputId": "1e4621e3-ab86-4fba-cb59-80d3f52ee1ea"
      },
      "source": [
        "# daily_prior_scale calculated as 10 ** daily_prior in prophet_f\n",
        "pbounds = {'daily_prior': (-2, 2), 'yearly_prior': (-2, 2),\n",
        "           'hum_prior':   (-2, 2), 'dp_prior':     (-2, 2)}\n",
        "\n",
        "optimizer = BayesianOptimization(\n",
        "    f = prophet_f,\n",
        "    pbounds = pbounds,\n",
        "    verbose = 2,  # verbose = 1 prints only when a maximum is observed, verbose = 0 is silent\n",
        "    random_state = 1\n",
        ")\n",
        "\n",
        "optimizer.maximize(\n",
        "    init_points = 10,\n",
        "    n_iter = 10)\n",
        "\n",
        "print(\"\\nMax params:\")\n",
        "print(optimizer.max)\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "|   iter    |  target   | daily_... | dp_prior  | hum_prior | yearly... |\n",
            "-------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "48388265e80a48e09cd9e0f81300e9bb",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 1       \u001b[0m | \u001b[0m-5.892   \u001b[0m | \u001b[0m-0.3319  \u001b[0m | \u001b[0m 0.8813  \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-0.7907  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "d3fb450be8f644a4ac68276fa996e9d1",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 2       \u001b[0m | \u001b[0m-5.894   \u001b[0m | \u001b[0m-1.413   \u001b[0m | \u001b[0m-1.631   \u001b[0m | \u001b[0m-1.255   \u001b[0m | \u001b[0m-0.6178  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "9670b6acd19a410eb5f3594b90b378ba",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 3       \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-0.4129  \u001b[0m | \u001b[0m 0.1553  \u001b[0m | \u001b[0m-0.3232  \u001b[0m | \u001b[0m 0.7409  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "45db939be8e94372a11e39de22061d2a",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 4       \u001b[0m | \u001b[0m-5.893   \u001b[0m | \u001b[0m-1.182   \u001b[0m | \u001b[0m 1.512   \u001b[0m | \u001b[0m-1.89    \u001b[0m | \u001b[0m 0.6819  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "5899f72816034008819df948e3a55ded",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 5       \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-0.3308  \u001b[0m | \u001b[0m 0.2348  \u001b[0m | \u001b[0m-1.438   \u001b[0m | \u001b[0m-1.208   \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "dbc70d068860413ead3ae44c1adcad29",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 6       \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m 1.203   \u001b[0m | \u001b[0m 1.873   \u001b[0m | \u001b[0m-0.7463  \u001b[0m | \u001b[0m 0.7693  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "e5031e974be54bbd9b1506878288425f",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 7       \u001b[0m | \u001b[0m-5.895   \u001b[0m | \u001b[0m 1.506   \u001b[0m | \u001b[0m 1.578   \u001b[0m | \u001b[0m-1.66    \u001b[0m | \u001b[0m-1.844   \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "d1d46a9f22b64f91af962d5acb222752",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 8       \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-1.321   \u001b[0m | \u001b[0m 1.513   \u001b[0m | \u001b[0m-1.607   \u001b[0m | \u001b[0m-0.3156  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "90929250ab1243758a9dcdf3d6c7c498",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 9       \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m 1.832   \u001b[0m | \u001b[0m 0.1327  \u001b[0m | \u001b[0m 0.7675  \u001b[0m | \u001b[0m-0.7379  \u001b[0m |\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "94ff852aebac476c811d1b2f8c2c34a4",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 10      \u001b[0m | \u001b[0m-5.893   \u001b[0m | \u001b[0m 0.746   \u001b[0m | \u001b[0m 1.339   \u001b[0m | \u001b[0m-1.927   \u001b[0m | \u001b[0m 1.001   \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "66f87656b82041b6a4bfde3b0ae4bbf7",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 11      \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-1.969   \u001b[0m | \u001b[0m-1.353   \u001b[0m | \u001b[0m 0.8375  \u001b[0m | \u001b[0m 1.059   \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "4d8eb071072343c898dc01b52b424612",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 12      \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-0.2298  \u001b[0m | \u001b[0m-0.3461  \u001b[0m | \u001b[0m 0.1912  \u001b[0m | \u001b[0m 0.9768  \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "3257d4dcc4114a41b9cd5191fc4c51d8",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 13      \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m 0.4935  \u001b[0m | \u001b[0m-1.107   \u001b[0m | \u001b[0m 1.836   \u001b[0m | \u001b[0m 1.219   \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a0555054dd484e7bb82d7bf0d8ef27d4",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 14      \u001b[0m | \u001b[0m-5.896   \u001b[0m | \u001b[0m-1.915   \u001b[0m | \u001b[0m 1.232   \u001b[0m | \u001b[0m 1.859   \u001b[0m | \u001b[0m 0.8083  \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "3360807d397e4298ad8a34920672ef4d",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[95m 15      \u001b[0m | \u001b[95m-5.891   \u001b[0m | \u001b[95m-0.5423  \u001b[0m | \u001b[95m-1.91    \u001b[0m | \u001b[95m-1.39    \u001b[0m | \u001b[95m 1.886   \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "c2891cd0e6104aadbaf4090e852a0c47",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 16      \u001b[0m | \u001b[0m-5.892   \u001b[0m | \u001b[0m-0.2874  \u001b[0m | \u001b[0m 0.8332  \u001b[0m | \u001b[0m-1.989   \u001b[0m | \u001b[0m-0.8146  \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "18fad8d7677a4de9857a1fb13a9b3adb",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[95m 17      \u001b[0m | \u001b[95m-5.886   \u001b[0m | \u001b[95m-0.3065  \u001b[0m | \u001b[95m-2.0     \u001b[0m | \u001b[95m-1.753   \u001b[0m | \u001b[95m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "9b5e778fc4b348e4bb1395981a0e73c3",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[95m 18      \u001b[0m | \u001b[95m-5.885   \u001b[0m | \u001b[95m-0.1552  \u001b[0m | \u001b[95m-1.97    \u001b[0m | \u001b[95m-1.977   \u001b[0m | \u001b[95m 1.861   \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "d37a483ae34741f9987cb3d68bd5570b",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[95m 19      \u001b[0m | \u001b[95m-5.883   \u001b[0m | \u001b[95m 0.4908  \u001b[0m | \u001b[95m-2.0     \u001b[0m | \u001b[95m-2.0     \u001b[0m | \u001b[95m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]\n",
            " [-2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "fdfcf31b84be4abf9f47dc9dd9c03502",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 20      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m 1.768   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "=========================================================================\n",
            "\n",
            "Max params:\n",
            "{'target': -5.883217196442895, 'params': {'daily_prior': 0.4908015707468804, 'dp_prior': -2.0, 'hum_prior': -2.0, 'yearly_prior': 2.0}}\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6hTKitJanE93"
      },
      "source": [
        "`yearly_prior` has converged to the maximum limit (2), `dp_prior` and `hum_prior` have converged to the minimum limit (-2).\n",
        "Anecdotally, it seemed like the Bayesian optimisation was bouncing around in a shallow basin.\n",
        "`daily_prior` may or may not have converged.  We can check by setting new bounds to optimise only `daily_prior`."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "referenced_widgets": [
            "ba284cba98dd49838a45a7099d0043da",
            "a89e34c8d72d40089778242881c520df",
            "9a7b46e6eb4244afb20b378a97232c83",
            "597b734365eb4c8bba4a611f4aa0354e",
            "15b964bae81a46d8ad9bcc3b2370c605",
            "3885b901b1e34c2495ac0f1775adedc1",
            "feb3560a378d4a5ba5d8827f02c6db6e",
            "1210ede259fd43f2af4a20fa1d89c58d",
            "892f7141f5dc4bcba1f336be9c438416",
            "5617ed953fa3481688d5593ce8b00145"
          ]
        },
        "id": "D0eThDAOnE95",
        "outputId": "0df1806c-941b-4781-b5f4-79f91a9aae08"
      },
      "source": [
        "# daily_prior_scale calculated as 10 ** daily_prior in prophet_f\n",
        "pbounds_red = {'daily_prior': (-2, 2),  'yearly_prior': (2, 2),\n",
        "               'hum_prior':   (-2, -2), 'dp_prior':     (-2, -2)}\n",
        "\n",
        "optimizer.set_bounds(new_bounds = pbounds_red)\n",
        "\n",
        "optimizer.maximize(\n",
        "    init_points = 0,\n",
        "    n_iter = 10)\n",
        "\n",
        "print(\"\\nMax params:\")\n",
        "print(optimizer.max)\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "|   iter    |  target   | daily_... | dp_prior  | hum_prior | yearly... |\n",
            "-------------------------------------------------------------------------\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "ba284cba98dd49838a45a7099d0043da",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 21      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m 1.186   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a89e34c8d72d40089778242881c520df",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 22      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m 2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "9a7b46e6eb4244afb20b378a97232c83",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[95m 23      \u001b[0m | \u001b[95m-5.883   \u001b[0m | \u001b[95m 0.7832  \u001b[0m | \u001b[95m-2.0     \u001b[0m | \u001b[95m-2.0     \u001b[0m | \u001b[95m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "597b734365eb4c8bba4a611f4aa0354e",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 24      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "15b964bae81a46d8ad9bcc3b2370c605",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 25      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m-1.364   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "3885b901b1e34c2495ac0f1775adedc1",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 26      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m-1.708   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "feb3560a378d4a5ba5d8827f02c6db6e",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 27      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m 0.6975  \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "1210ede259fd43f2af4a20fa1d89c58d",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 28      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m 0.879   \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "892f7141f5dc4bcba1f336be9c438416",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 29      \u001b[0m | \u001b[0m-5.883   \u001b[0m | \u001b[0m-0.7728  \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "bounds: \n",
            "[[-2.  2.]\n",
            " [-2. -2.]\n",
            " [-2. -2.]\n",
            " [ 2.  2.]]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "5617ed953fa3481688d5593ce8b00145",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=11.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "| \u001b[0m 30      \u001b[0m | \u001b[0m-5.884   \u001b[0m | \u001b[0m 0.09288 \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m-2.0     \u001b[0m | \u001b[0m 2.0     \u001b[0m |\n",
            "=========================================================================\n",
            "\n",
            "Max params:\n",
            "{'target': -5.8830215248022, 'params': {'daily_prior': 0.7832480635982564, 'dp_prior': -2.0, 'hum_prior': -2.0, 'yearly_prior': 2.0}}\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "fPE63wqMnE98"
      },
      "source": [
        "There was a marginal improvement in rmse value from setting new bounds to optimise only `daily_prior`.  We are firmly into the _micro-optimisation theatre_ regime, so time to stop optimisation.\n",
        "\n",
        "### Compare optimised model with earlier models\n",
        "\n",
        "How does the optimised model compare with the earlier models?"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "70t9WWganE99",
        "outputId": "f00a13e6-3929-48de-d6e8-0e5f75871c46"
      },
      "source": [
        "print(\"Simple model:\")\n",
        "display(df_p[['horizon', 'rmse', 'mae', 'mape']])"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Simple model:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>horizon</th>\n",
              "      <th>rmse</th>\n",
              "      <th>mae</th>\n",
              "      <th>mape</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>00:30:00</td>\n",
              "      <td>30.129179</td>\n",
              "      <td>26.998845</td>\n",
              "      <td>0.710990</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>01:00:00</td>\n",
              "      <td>31.161329</td>\n",
              "      <td>27.206752</td>\n",
              "      <td>0.554322</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   horizon       rmse        mae      mape\n",
              "0 00:30:00  30.129179  26.998845  0.710990\n",
              "1 01:00:00  31.161329  27.206752  0.554322"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "psCQPFBanE9-"
      },
      "source": [
        "Model with tuned discrete parameters and small grid search over continuous parameters:\n",
        "\n",
        "| horizon  | rmse     | mae      | mape     |\n",
        "|----------|----------|----------|----------|\n",
        "| 00:30:00 | 6.784561 | 5.127664 | 0.069588 |\n",
        "| 01:00:00 | 8.080058 | 5.304410 | 0.076183 |\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "referenced_widgets": [
            "037e2dd15044415b81e192f94f36ab2f"
          ]
        },
        "id": "Pji4LehNnE9-",
        "outputId": "7574b6a8-d03e-44ba-9169-40684afd5c9d"
      },
      "source": [
        "m_opt, m_diags_opt = prophet_f(optimizer.max['params']['daily_prior'], \n",
        "                               optimizer.max['params']['yearly_prior'], \n",
        "                               optimizer.max['params']['hum_prior'],\n",
        "                               optimizer.max['params']['dp_prior'],\n",
        "                               metric = 'all',\n",
        "                               period = '250 hours')\n",
        "\n",
        "print(\"Model with Bayesian optimised parameters:\")\n",
        "m_diags_opt"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "037e2dd15044415b81e192f94f36ab2f",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, max=42.0), HTML(value='')))"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "Bayesian optimised parameters:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>horizon</th>\n",
              "      <th>rmse</th>\n",
              "      <th>mae</th>\n",
              "      <th>mape</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>00:30:00</td>\n",
              "      <td>6.878412</td>\n",
              "      <td>4.847572</td>\n",
              "      <td>0.073778</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>01:00:00</td>\n",
              "      <td>10.261053</td>\n",
              "      <td>5.267301</td>\n",
              "      <td>0.071958</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   horizon       rmse       mae      mape\n",
              "0 00:30:00   6.878412  4.847572  0.073778\n",
              "1 01:00:00  10.261053  5.267301  0.071958"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ViylIliSnE9-"
      },
      "source": [
        "### Plot components of forecast from optimised model\n",
        "\n",
        "Finally, make a forecast with the optimised model and plot model components."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Eb_amInbnE9-",
        "outputId": "a7fdfd97-e083-4965-ad40-b04727ab49e5"
      },
      "source": [
        "forecast_opt = m_opt.predict(df_test)\n",
        "fig3 = m_opt.plot_components(forecast_opt)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.8/site-packages/fbprophet/plot.py:422: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
            "  ax.set_yticklabels(yticklabels)\n",
            "/usr/local/lib/python3.8/site-packages/fbprophet/plot.py:422: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
            "  ax.set_yticklabels(yticklabels)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 648x864 with 4 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "25IRzg4hnE9_"
      },
      "source": [
        "---\n",
        "\n",
        "## Conclusion\n",
        "\n",
        "Findings:\n",
        " * Bayesian optimised parameters\n",
        "   * it's notable that `yearly_prior` has converged to the maximum limit (2) and `dp_prior` plus `hum_prior` converged to the lower limit (-2)\n",
        " * Components\n",
        "   * yearly and daily seasonalities appear overfitted\n",
        "     * I would expect a smooth cycle between the maximum and minimum values\n",
        "   * there may be some seasonality present in the extra regressors\n",
        "     * check for seasonality in performance of the model\n",
        " * Diagnostics\n",
        "   * the Bayesian optimised model is superior to the simple model\n",
        "   * the Bayesian optimised model is comparable to the partially optimised grid search model\n",
        " * Number of model evaluations\n",
        "   * unfortunately, we cannot make a good comparison between the R grid search and the Bayesian optimisation\n",
        "     * I used a more restricted parameter range in the R grid search\n",
        "     * a comparable grid would be [0.01, 0.1, 0, 1, 10, 100] meaning potentially 625 (5 ** 4) model evaluations for these 4 continuous parameters\n",
        "     * this compares well with the 30 model evaluations performed for Bayesian optimisation\n",
        "   * presumably a comparable random search would not give better results than Bayesian optimisation\n",
        "\n",
        "It's disappointing that the Bayesian optimised model has worse performance than the \n",
        "[simple exponential smoothing baseline model](https://github.com/makeyourownmaker/CambridgeTemperatureModel#one-step-ahead-baselines) :-(\n",
        "\n",
        "Future work could include:\n",
        " * Plots \n",
        "   * optimisation progress\n",
        "     * the bayes_opt package does not include any built-in plots\n",
        "     * plots could show if there are any unexplored areas of parameter space\n",
        "   * individual effect of each regressor as done in this [weather related prophet notebook](https://nbviewer.jupyter.org/github/nicolasfauchereau/Auckland_Cycling/blob/master/notebooks/Auckland_cycling_and_weather.ipynb)\n",
        "   * predictions vs observations\n",
        "   * residuals over time\n",
        "   * residuals distribution\n",
        " * Regressors\n",
        "   * the unused wind bearing and speed are converted to x and y vectors in my [Keras time series notebook](https://github.com/makeyourownmaker/CambridgeTemperatureNotebooks/blob/main/notebooks/keras_mlp_fcn_resnet_time_series.ipynb)\n",
        "   * consider deseasonalising the regressors\n",
        "   * explore addition of lagged regressors\n",
        " * Cross-validation\n",
        "   * expand cross-validation horizon to 2 hours\n",
        "     * limited to 1 hour here to reduce compute time\n",
        "   * cross-validation would benefit from being \n",
        "[parallelised](https://facebook.github.io/prophet/docs/diagnostics.html#parallelizing-cross-validation)\n",
        "\n",
        "In conclusion, the Bayesian optimised model is much improved but the possible seasonality in the regressors needs further investigation."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VU5js8wwnE-A"
      },
      "source": [
        "---\n",
        "\n",
        "## Metadata\n",
        "\n",
        "Python and Jupyter versions plus modules imported and their version strings.\n",
        "This is the poor man's python equivalent of R's [`sessionInfo()`](https://stat.ethz.ch/R-manual/R-patched/library/utils/html/sessionInfo.html).\n",
        "\n",
        "Code for imported modules and versions adapted from this [stackoverflow answer](https://stackoverflow.com/a/49199019/100129).  There are simpler alternatives,\n",
        "such as [watermark](https://github.com/rasbt/watermark),\n",
        "but they all require installation."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "l64bNun8nE-A",
        "outputId": "f3c93f5a-f624-410f-c38a-b7d97210ba1a"
      },
      "source": [
        "import sys\n",
        "import IPython\n",
        "\n",
        "print(\"Python version:\")\n",
        "print(sys.executable)\n",
        "print(sys.version)\n",
        "print(\"\\nIPython version:\")\n",
        "print(IPython.__version__)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Python version:\n",
            "/usr/local/opt/python@3.8/bin/python3.8\n",
            "3.8.6 (default, Oct  8 2020, 14:17:19) \n",
            "[Clang 10.0.0 (clang-1000.11.45.5)]\n",
            "\n",
            "IPython version:\n",
            "7.19.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7KeP6hZJnE-A",
        "outputId": "0f8e171e-407c-43cb-a569-60ccf626d018"
      },
      "source": [
        "import pkg_resources\n",
        "import types\n",
        "\n",
        "def get_imports():\n",
        "    for name, val in globals().items():\n",
        "        if isinstance(val, types.ModuleType):\n",
        "            # Split ensures you get root package, \n",
        "            # not just imported function\n",
        "            name = val.__name__.split(\".\")[0]\n",
        "\n",
        "        elif isinstance(val, type):\n",
        "            name = val.__module__.split(\".\")[0]\n",
        "\n",
        "        # Some packages are weird and have different\n",
        "        # imported names vs. system/pip names.  Unfortunately,\n",
        "        # there is no systematic way to get pip names from\n",
        "        # a package's imported name.  You'll have to add\n",
        "        # exceptions to this list manually!\n",
        "        poorly_named_packages = {\n",
        "            \"PIL\":       \"Pillow\",\n",
        "            \"sklearn\":   \"scikit-learn\",\n",
        "            \"bayes_opt\": \"bayesian-optimization\",\n",
        "        }\n",
        "        if name in poorly_named_packages.keys():\n",
        "            name = poorly_named_packages[name]\n",
        "\n",
        "        yield name\n",
        "\n",
        "imports = list(set(get_imports()))\n",
        "\n",
        "# The only way I found to get the version of the root package\n",
        "# from only the name of the package is to cross-check the names \n",
        "# of installed packages vs. imported packages\n",
        "requirements = []\n",
        "for m in pkg_resources.working_set:\n",
        "    if m.project_name in imports and m.project_name != \"pip\":\n",
        "        requirements.append((m.project_name, m.version))\n",
        "\n",
        "reqs = pd.DataFrame(requirements, columns = ['name', 'version'])\n",
        "print(\"Imported modules:\")\n",
        "reqs.style.hide_index()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Imported modules:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<style  type=\"text/css\" >\n",
              "</style><table id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >version</th>    </tr></thead><tbody>\n",
              "                <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row0_col0\" class=\"data row0 col0\" >pandas</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row0_col1\" class=\"data row0 col1\" >1.0.5</td>\n",
              "            </tr>\n",
              "            <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row1_col0\" class=\"data row1 col0\" >numpy</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row1_col1\" class=\"data row1 col1\" >1.19.1</td>\n",
              "            </tr>\n",
              "            <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row2_col0\" class=\"data row2 col0\" >notebook</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row2_col1\" class=\"data row2 col1\" >6.1.6</td>\n",
              "            </tr>\n",
              "            <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row3_col0\" class=\"data row3 col0\" >matplotlib</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row3_col1\" class=\"data row3 col1\" >3.3.1</td>\n",
              "            </tr>\n",
              "            <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row4_col0\" class=\"data row4 col0\" >fbprophet</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row4_col1\" class=\"data row4 col1\" >0.7.1</td>\n",
              "            </tr>\n",
              "            <tr>\n",
              "                                <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row5_col0\" class=\"data row5 col0\" >bayesian-optimization</td>\n",
              "                        <td id=\"T_b382e4c0_5767_11eb_ba3b_542696cf5333row5_col1\" class=\"data row5 col1\" >1.2.0</td>\n",
              "            </tr>\n",
              "    </tbody></table>"
            ],
            "text/plain": [
              "<pandas.io.formats.style.Styler at 0x123f88700>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TMW0J_JnnE-B",
        "outputId": "d6c00c60-d991-4eaf-ac52-601e40f1c9c9"
      },
      "source": [
        "!date"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fri Jan 15 19:27:28 GMT 2021\r\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vWQcD64Vqpc3"
      },
      "source": [
        "---\n",
        "\n",
        "\n",
        "## Archival\n",
        "\n",
        "Archive code, markdown, history and formatted notebooks.\n",
        "\n",
        "Assumes all pdf, html, latex etc dependencies are installed.\n",
        "\n",
        "**WARNING** Will overwrite existing files."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cRCKkocdnE9_",
        "outputId": "39258574-f09c-4242-af11-7b16fd1adf09"
      },
      "source": [
        "notebook = \"BayesOptProphetHyperparameters.ipynb\"\n",
        "# !jupyter nbconvert --to script {notebook}\n",
        "# !jupyter nbconvert --execute --to html {notebook}\n",
        "# !jupyter nbconvert --execute --to pdf {notebook}\n",
        "# !jupyter nbconvert --to pdf {notebook}\n",
        "\n",
        "%rm history.txt\n",
        "%history -f history.txt\n",
        "\n",
        "!jupyter nbconvert --to python {notebook}\n",
        "sleep(5)\n",
        "!jupyter nbconvert --to markdown {notebook}\n",
        "sleep(5)\n",
        "!jupyter nbconvert --to html {notebook}"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[NbConvertApp] Converting notebook BayesOptProphetHyperparameters.ipynb to python\n",
            "[NbConvertApp] Writing 19032 bytes to BayesOptProphetHyperparameters.py\n",
            "[NbConvertApp] Converting notebook BayesOptProphetHyperparameters.ipynb to markdown\n",
            "[NbConvertApp] Support files will be in BayesOptProphetHyperparameters_files/\n",
            "[NbConvertApp] Making directory BayesOptProphetHyperparameters_files\n",
            "[NbConvertApp] Making directory BayesOptProphetHyperparameters_files\n",
            "[NbConvertApp] Making directory BayesOptProphetHyperparameters_files\n",
            "[NbConvertApp] Writing 46704 bytes to BayesOptProphetHyperparameters.md\n",
            "[NbConvertApp] Converting notebook BayesOptProphetHyperparameters.ipynb to html\n",
            "[NbConvertApp] Writing 907940 bytes to BayesOptProphetHyperparameters.html\n"
          ],
          "name": "stdout"
        }
      ]
    }
  ]
}