{ "cells": [ { "cell_type": "markdown", "id": "2bf7ad11", "metadata": {}, "source": [ "# Probabilistic Forecasting with `aeon`\n", "\n", "## Overview of this notebook\n", "\n", "* quick start - probabilistic forecasting\n", "* disambiguation - types of probabilistic forecasts\n", "* details: probabilistic forecasting interfaces\n", "* metrics for, and evaluation of probabilistic forecasts\n", "* advanced composition: pipelines, tuning, reduction\n", "* extender guide" ] }, { "cell_type": "markdown", "id": "6586a019", "metadata": {}, "source": [ "---\n", "### Quick Start - Probabilistic Forecasting with `aeon`\n", "\n", "... works exactly like the basic forecasting workflow, replace `predict` by a probabilistic method!" ] }, { "cell_type": "code", "execution_count": 1, "id": "painted-sullivan", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:27.017442400Z", "start_time": "2023-08-24T18:26:24.145874Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1961-01371.535093481.554608
1961-02344.853206497.712761
1961-03324.223996508.191104
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1961-01 371.535093 481.554608\n", "1961-02 344.853206 497.712761\n", "1961-03 324.223996 508.191104" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "from aeon.datasets import load_airline\n", "from aeon.forecasting.arima import ARIMA\n", "\n", "# step 1: data specification\n", "y = load_airline()\n", "# step 2: specifying forecasting horizon\n", "fh = [1, 2, 3]\n", "# step 3: specifying the forecasting algorithm\n", "forecaster = ARIMA()\n", "# step 4: fitting the forecaster\n", "forecaster.fit(y, fh=[1, 2, 3])\n", "# step 5: querying predictions\n", "y_pred = forecaster.predict()\n", "\n", "# for probabilistic forecasting:\n", "# call a probabilistic forecasting method after or instead of step 5\n", "y_pred_int = forecaster.predict_interval(coverage=0.9)\n", "y_pred_int" ] }, { "cell_type": "markdown", "id": "a864b9c1", "metadata": {}, "source": [ "**probabilistic forecasting methods in `aeon`**:\n", "\n", "* forecast intervals - `predict_interval(fh=None, X=None, coverage=0.90)`\n", "* forecast quantiles - `predict_quantiles(fh=None, X=None, alpha=[0.05, 0.95])`\n", "* forecast variance - `predict_var(fh=None, X=None, cov=False)`\n", "* distribution forecast - `predict_proba(fh=None, X=None, marginal=True)`" ] }, { "cell_type": "markdown", "id": "b57a3be0", "metadata": {}, "source": [ "To check which forecasters in `aeon` support probabilistic forecasting, use the `registry.all_estimators` utility and search for estimators which have the `capability:pred_int` tag (value `True`).\n", "\n", "For composites such as pipelines, a positive tag means that logic is implemented if (some or all) components support it." ] }, { "cell_type": "code", "execution_count": 2, "id": "a7490769", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:29.680029800Z", "start_time": "2023-08-24T18:26:25.323595Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nameestimator
0ARIMA<class 'aeon.forecasting.arima.ARIMA'>
1AutoARIMA<class 'aeon.forecasting.arima.AutoARIMA'>
2AutoETS<class 'aeon.forecasting.ets.AutoETS'>
3BATS<class 'aeon.forecasting.bats.BATS'>
4BaggingForecaster<class 'aeon.forecasting.compose._bagging.Bagg...
5ColumnEnsembleForecaster<class 'aeon.forecasting.compose._column_ensem...
6ConformalIntervals<class 'aeon.forecasting.conformal.ConformalIn...
7DynamicFactor<class 'aeon.forecasting.dynamic_factor.Dynami...
8ForecastX<class 'aeon.forecasting.compose._pipeline.For...
9ForecastingGridSearchCV<class 'aeon.forecasting.model_selection._tune...
10ForecastingPipeline<class 'aeon.forecasting.compose._pipeline.For...
11ForecastingRandomizedSearchCV<class 'aeon.forecasting.model_selection._tune...
12MockForecaster<class 'aeon.testing.mock_estimators._mock_for...
13MockUnivariateForecasterLogger<class 'aeon.testing.mock_estimators._mock_for...
14NaiveForecaster<class 'aeon.forecasting.naive.NaiveForecaster'>
15NaiveVariance<class 'aeon.forecasting.naive.NaiveVariance'>
16Permute<class 'aeon.forecasting.compose._pipeline.Per...
17Prophet<class 'aeon.forecasting.fbprophet.Prophet'>
18SquaringResiduals<class 'aeon.forecasting.squaring_residuals.Sq...
19StatsForecastAutoARIMA<class 'aeon.forecasting.statsforecast.StatsFo...
20TBATS<class 'aeon.forecasting.tbats.TBATS'>
21ThetaForecaster<class 'aeon.forecasting.theta.ThetaForecaster'>
22TransformedTargetForecaster<class 'aeon.forecasting.compose._pipeline.Tra...
23UnobservedComponents<class 'aeon.forecasting.structural.Unobserved...
24VAR<class 'aeon.forecasting.var.VAR'>
25VECM<class 'aeon.forecasting.vecm.VECM'>
\n", "
" ], "text/plain": [ " name \\\n", "0 ARIMA \n", "1 AutoARIMA \n", "2 AutoETS \n", "3 BATS \n", "4 BaggingForecaster \n", "5 ColumnEnsembleForecaster \n", "6 ConformalIntervals \n", "7 DynamicFactor \n", "8 ForecastX \n", "9 ForecastingGridSearchCV \n", "10 ForecastingPipeline \n", "11 ForecastingRandomizedSearchCV \n", "12 MockForecaster \n", "13 MockUnivariateForecasterLogger \n", "14 NaiveForecaster \n", "15 NaiveVariance \n", "16 Permute \n", "17 Prophet \n", "18 SquaringResiduals \n", "19 StatsForecastAutoARIMA \n", "20 TBATS \n", "21 ThetaForecaster \n", "22 TransformedTargetForecaster \n", "23 UnobservedComponents \n", "24 VAR \n", "25 VECM \n", "\n", " estimator \n", "0 \n", "1 \n", "2 \n", "3 \n", "4 \n", "15 \n", "16 \n", "18 \n", "21 \n", "22 \n", "25 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from aeon.registry import all_estimators\n", "\n", "all_estimators(\n", " \"forecaster\", filter_tags={\"capability:pred_int\": True}, as_dataframe=True\n", ")" ] }, { "cell_type": "markdown", "id": "impressive-deviation", "metadata": {}, "source": [ "---\n", "### What is probabilistic forecasting?\n", "\n", "#### Intuition\n", "\n", "* produce low/high scenarios of forecasts\n", "* quantify uncertainty around forecasts\n", "* produce expected range of variation of forecasts" ] }, { "cell_type": "markdown", "id": "435f59bf", "metadata": {}, "source": [ "#### Interface view\n", "\n", "**Want** to produce \"distribution\" or \"range\" of forecast values,\n", "\n", "at time stamps defined by **forecasting horizon** `fh`\n", "\n", "given **past data** `y` (series), and possibly exogeneous data `X`\n", "\n", "Input, to `fit` or `predict`: `fh`, `y`, `X`\n", "\n", "Output, from `predict_probabilistic`: some \"distribution\" or \"range\" object" ] }, { "cell_type": "markdown", "id": "5daec146", "metadata": {}, "source": [ "**Big caveat**: there are multiple possible ways to model \"distribution\" or \"range\"!\n", "\n", "Used in practice and easily confused! (and often, practically, confused!)" ] }, { "cell_type": "markdown", "id": "a1c0f1dc", "metadata": {}, "source": [ "#### Formal view (endogeneous, one forecast time stamp)\n", "\n", "Let $y(t_1), \\dots, y(t_n)$ be observations at fixed time stamps $t_1, \\dots, t_n$.\n", "\n", "(we consider $y$ as an $\\mathbb{R}^n$-valued random variable)\n", "\n", "Let $y'$ be a (true) value, which will be observed at a future time stamp $\\tau$.\n", "\n", "(we consider $y'$ as an $\\mathbb{R}$-valued random variable)\n", "\n", "We have the following \"types of forecasts\" of $y'$:\n", "\n", "| Name | param | prediction/estimate of | `aeon` |\n", "|-----------------------|-------------------|---------------------------------------------|---------------------|\n", "| point forecast | | conditional expectation $\\mathbb{E}[y'\\|y]$ | `predict` |\n", "| variance forecast | | conditional variance $Var[y'\\|y]$ | `predict_var` |\n", "| quantile forecast | $\\alpha\\in (0,1)$ | $\\alpha$-quantile of $y'\\|y$ | `predict_quantiles` |\n", "| interval forecast | $c\\in (0,1)$ | $[a,b]$ s.t. $P(a\\le y' \\le b\\| y) = c$ | `predict_interval` |\n", "| distribution forecast | | the law/distribution of $y'\\|y$ | `predict_proba` |\n", "\n", "Notes:\n", "\n", "* different forecasters have different capabilities!\n", "* metrics, evaluation & tuning are different by \"type of forecast\"\n", "* compositors can \"add\" type of forecast! Example: bootstrap\n", "\n", "##### More formal details & intuition:\n", "\n", "* a **\"point forecast\"** is a prediction/estimate of the conditional expectation $\\mathbb{E}[y'|y]$.\\\n", " **Intuition**: \"out of many repetitions/worlds, this value is the arithmetic average of all observations\".\n", "* a **\"variance forecast\"** is a prediction/estimate of the conditional expectation $Var[y'|y]$.\\\n", " **Intuition:** \"out of many repetitions/worlds, this value is the average squared distance of the observation to the perfect point forecast\".\n", "* a **\"quantile forecast\"**, at quantile point $\\alpha\\in (0,1)$ is a prediction/estimate of the $\\alpha$-quantile of $y'|y$, i.e., of $F^{-1}_{y'|y}(\\alpha)$, where $F^{-1}$ is the (generalized) inverse cdf = quantile function of the random variable $y'|y$.\\\n", " **Intuition**: \"out of many repetitions/worlds, a fraction of exactly $\\alpha$ will have equal or smaller than this value.\"\n", "* an **\"interval forecast\"** or \"predictive interval\" with (symmetric) coverage $c\\in (0,1)$ is a prediction/estimate pair of lower bound $a$ and upper bound $b$ such that $P(a\\le y' \\le b| y) = c$ and $P(y' \\gneq b| y) = P(y' \\lneq a| y) = (1 - c) /2$.\\\n", " **Intuition**: \"out of many repetitions/worlds, a fraction of exactly $c$ will be contained in the interval $[a,b]$, and being above is equally likely as being below\".\n", "* a **\"distribution forecast\"** or \"full probabilistic forecast\" is a prediction/estimate of the distribution of $y'|y$, e.g., \"it's a normal distribution with mean 42 and variance 1\".\\\n", "**Intuition**: exhaustive description of the generating mechanism of many repetitions/worlds." ] }, { "cell_type": "markdown", "id": "425bccbe", "metadata": {}, "source": [ "Notes:\n", "\n", "* lower/upper of interval forecasts are quantile forecasts at quantile points $0.5 - c/2$ and $0.5 + c/2$ (as long as forecast distributions are absolutely continuous).\n", "* all other forecasts can be obtained from a full probabilistic forecasts; a full probabilistic forecast can be obtained from all quantile forecasts or all interval forecasts.\n", "* there is no exact relation between the other types of forecasts (point or variance vs quantile)\n", "* in particular, point forecast does not need to be median forecast aka 0.5-quantile forecast. Can be $\\alpha$-quantile for any $\\alpha$!" ] }, { "cell_type": "markdown", "id": "7f5b10b6", "metadata": {}, "source": [ "Frequent confusion in literature & python packages:\n", "* coverage `c` vs quantile `\\alpha`\n", "* coverage `c` vs significance `p = 1-c`\n", "* quantile of lower interval bound, `p/2`, vs `p`\n", "* interval forecasts vs related, but substantially different concepts: confidence interval on predictive mean; Bayesian posterior or credibility interval of the predictive mean\n", "* all forecasts above can be Bayesian, confusion: \"posteriors are different\" or \"have to be evaluted differently\"" ] }, { "cell_type": "markdown", "id": "4d944c96", "metadata": {}, "source": [ "---\n", "### Probabilistic forecasting interfaces in `aeon`\n", "\n", "This section:\n", "\n", "* walkthrough of probabilistic predict methods\n", "* use in update/predict workflow\n", "* multivariate and hierarchical data\n", "\n", "All forecasters with tag `capability:pred_int` provide the following:\n", "\n", "* forecast intervals - `predict_interval(fh=None, X=None, coverage=0.90)`\n", "* forecast quantiles - `predict_quantiles(fh=None, X=None, alpha=[0.05, 0.95])`\n", "* forecast variance - `predict_var(fh=None, X=None, cov=False)`\n", "* distribution forecast - `predict_proba(fh=None, X=None, marginal=True)`\n", "\n", "Generalities:\n", "\n", "* methods do not change state, multiple can be called\n", "* `fh` is optional, if passed late\n", "* exogeneous data `X` can be passed" ] }, { "cell_type": "code", "execution_count": 3, "id": "85f32fff", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:29.720919300Z", "start_time": "2023-08-24T18:26:29.670545700Z" } }, "outputs": [ { "data": { "text/html": [ "
ThetaForecaster(sp=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "ThetaForecaster(sp=12)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "from aeon.datasets import load_airline\n", "from aeon.forecasting.theta import ThetaForecaster\n", "\n", "# until fit, identical with the simple workflow\n", "y = load_airline()\n", "\n", "fh = np.arange(1, 13)\n", "\n", "forecaster = ThetaForecaster(sp=12)\n", "forecaster.fit(y, fh=fh)" ] }, { "cell_type": "markdown", "id": "52ff10e6", "metadata": {}, "source": [ "##### `predict_interval` - interval predictions" ] }, { "cell_type": "markdown", "id": "4995fbc2", "metadata": {}, "source": [ "Inputs:\\\n", "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n", "`coverage`, float or list of floats, default=`0.9`\\\n", "nominal coverage(s) of the prediction interval(s) queried\n", "\n", "Output: `pandas.DataFrame`\\\n", "Row index is `fh`\\\n", "Column has multi-index:\\\n", "1st level = variable name from y in fit\\\n", "2nd level = coverage fractions in `coverage`\\\n", "3rd level = string \"lower\" or \"upper\"\\\n", "\n", "Entries = forecasts of lower/upper interval at nominal coverage in 2nd lvl, for var in 1st lvl, for time in row" ] }, { "cell_type": "code", "execution_count": 4, "id": "f81bcc0c", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:29.866550600Z", "start_time": "2023-08-24T18:26:29.696983800Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1961-01418.280121464.281951
1961-02402.215881456.888055
1961-03459.966113522.110500
1961-04442.589309511.399214
1961-05443.525027518.409480
1961-06506.585814587.087737
1961-07561.496768647.248956
1961-08557.363322648.062363
1961-09477.658056573.047752
1961-10407.915090507.775355
1961-11346.942924451.082016
1961-12394.708221502.957142
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1961-01 418.280121 464.281951\n", "1961-02 402.215881 456.888055\n", "1961-03 459.966113 522.110500\n", "1961-04 442.589309 511.399214\n", "1961-05 443.525027 518.409480\n", "1961-06 506.585814 587.087737\n", "1961-07 561.496768 647.248956\n", "1961-08 557.363322 648.062363\n", "1961-09 477.658056 573.047752\n", "1961-10 407.915090 507.775355\n", "1961-11 346.942924 451.082016\n", "1961-12 394.708221 502.957142" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coverage = 0.9\n", "y_pred_ints = forecaster.predict_interval(coverage=coverage)\n", "y_pred_ints" ] }, { "cell_type": "markdown", "id": "3f9f840e", "metadata": {}, "source": [ "pretty-plotting the predictive interval forecasts:" ] }, { "cell_type": "code", "execution_count": 5, "id": "efa4f7a6", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.137434900Z", "start_time": "2023-08-24T18:26:29.729895700Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABSMAAAFfCAYAAAC1GdkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAADlLUlEQVR4nOzdd3zU9f3A8df3ezP7ssMmJEwFWYooDobbWke1rVZbdy1IHQXRqlXUaq1a66qjVmqrv7aOaqtWQQQVRZYCMmSGTQgZl3HJ3X3v+/3+/rjcQeAyLrnLfD8fjzxq7rs+9+XuKO97D8U0TRMhhBBCCCGEEEIIIYSIM7WjFyCEEEIIIYQQQgghhOgZJBgphBBCCCGEEEIIIYRoFxKMFEIIIYQQQgghhBBCtAsJRgohhBBCCCGEEEIIIdqFBCOFEEIIIYQQQgghhBDtQoKRQgghhBBCCCGEEEKIdiHBSCGEEEIIIYQQQgghRLuwdvQCOgPDMNi3bx8pKSkoitLRyxFCCCGEEEIIIYQQoksxTZPq6mp69+6Nqjae/yjBSGDfvn3069evo5chhBBCCCGEEEIIIUSXtnv3bvr27dvodglGAikpKUDwZqWmpnbwaoQQQgghhBBCCCGE6Fqqqqro169fOM7WGAlGQrg0OzU1VYKRQgghhBBCCCGEEEK0UnMtEGWAjRBCCCGEEEIIIYQQol1IMFIIIYQQQgghhBBCCNEuJBgphBBCCCGEEEIIIYRoF9IzsoUMw8Dv93f0MoToNGw2GxaLpaOXIYQQQgghhBBCiC5EgpEt4Pf7KSoqwjCMjl6KEJ2Ky+UiLy+v2ea0QgghhBBCCCGEECDByGaZpsn+/fuxWCz069cPVZXKdiFM06S2tpaSkhIAevXq1cErEkIIIYQQQgghRFcgwchmBAIBamtr6d27N4mJiR29HCE6jYSEBABKSkrIycmRkm0hhBBCCCGEEEI0S9L8mqHrOgB2u72DVyJE5xMK0Gua1sErEUIIIYQQQgghRFcgwcgWkp54QhxN3hdCCCGEEEIIIYSIhgQjhRBCCCGEEEIIIYQQ7UKCkUIIIYQQQgghhBBCiHYhA2yEEEIIIYQQQgghRLdimgZ67QEwApiGDqaOaQQwdT+moaGYYMsYjGpP6eil9jgSjGwnHn8Am6ri9mq4nDY0wyDJLrdfCCGEEEIIIYQQItYMnxt/yWpMXcPERAFQVFBUFMWCGajFkpQjwcgOIGXa7cCr6Ty6aBt5988n77755N0/n98v2oZX0+NyvVdffZXMzEx8Pl+Dxy+88EKuvPLKuFxTCCGEEEIIIYQQorMw/TWYug9rSl9sKf2wpvTDmtwHa1IvLIk5oNowtNqOXmaPJKl5UTJNk1p/y4OIumny+KfbeWDB5vBj7jqNufW/33baICwtnEicaLe0aHrxpZdeysyZM/nPf/7DpZdeCkBJSQnvv/8+8+fPb/HahRBCCCGEEEIIIboi3VsOqq3R7Ypqx/CVt+OKRIgEI6NU69dJ+fX/WrRvVpKdol9P5eklRRG3P7WkiFmTC8h/aCGlHn+z56t+6BySHM3/kSUkJHD55ZfzyiuvhIORf//73+nfvz+nn356i9YuhBBCCCGEEEII0RWZRgDDV4FqTWx0H8XqxNRqMXUNxdJ40FLEnpRpx1FeioOSGj/uOi3idnedxsEaP3kpjphf+/rrr2f+/Pns3bsXgHnz5vGzn/2sRZmVQgghhBBCCCGEEF2VqXkwtToUa0Kj+ygWJ2bAixmQUu32JpmRUUq0W6h+6JwW72+zqLgSbBEDkq4EG71TnSy9eVKLr91SY8aM4bjjjuPVV1/lzDPPZP369bz//vstPl4IIYQQQgghhBCiKzK0GkzDj2KxN7qPYrFhGH6MQC2qI60dVyckGBklRVFaVCod4vEHmDkpP9wj8nAzJ+UHp2pHcb5oXHfddTz55JPs3buXadOm0a9fv7hcRwghhBBCCCGEEKKzMHxVoDSf0KWgYAbq2mFF4nBSph1nSXYrc6YUcu8ZQ3AlBHsQuBJs3HvGEOZMKSTJHr948OWXX86ePXt46aWXuOaaa+J2HSGEEEIIIYQQQojOwDQN9LqDTZZohygWB7rXHf9FiQYkM7IdOG0WZk0u4K6pg6n0aqQ5bWiGgdPW8rLr1khLS+OSSy7h/fff58ILL4zrtYQQQgghhBBCCCE6mqnVYgZqUWypze6rWByY/ipMQ0dR4xujEYdIZmQ7SbJbsVtVspMd2K1qXDMiD7d3716uuOIKHI7YD8kRQgghhBBCCCFE63j8AfwBg5IaH/6Agccf6OgldQuGVoMR8KFYmo+DKBYHpu6VUu12JpmR3VRFRQWLFy9m8eLFPPfccx29HCGEEEIIIYQQQtTzajqPLtrG00uKcNdpuBJszJyUz5wphXGvouzuDH81CsGZH82yODDrfMGJ2vbkuK9NBEkwspsaM2YMFRUV/O53v2Po0KEdvRwhhBBCCCGEEEIQzIh8dNE2Hjhs0K27TgsPvp01uaDdqim7G9M0MepKW9QvEg4FLI1AHRICbj/y6u6mduzY0dFLEEIIIYQQQgghxBFsqsrTS4oibntqSRF3TR3czivqPkzdG8yMbGEwEgDVGpy+LdqN9IwUQgghhBBCCCGEaCdur4a7Tou8rU6j0ht5m2ie6a/B1L1RBSMViwPD58Y0zTiuTBxOgpFCCCGEEEIIIYQQ7cTltOFKsEXelmAjzRl5m2ieodVgGgaK0vJwl2JxYgbqMHVvHFcmDifBSCGEEEIIIYQQQoh2ohkGMyflR9x286SBaIbRzivqPvS6UlSrM6pjwhO1tdo4rUocSYKRQgghhBBCCCGEEO0kyW7ljimF3D1tcDhD0pVg4+5pg5lxcj7/WX+gg1fYNZm6H9NXFV2/SEBRLWCamIG6OK1MHEkG2AghhBBCCCGEEEK0ox3ltYzt62L3PdOo9eukOW18V1LDac99iarAxAHp9E514vZquJw2NMOQCdvNMLQajEAtlsTc4AOKFcVixdQDYAaaPlhRMTRP/BcpAAlGCiGEEEIIIYQQQrSr1fuquOK1rzlveA7/vXYCACN7pXDJyF7MPCWfp5cU8cwXO3DXabgSbMyclM+cKYU4bZYOXnnnZfprwNRRbcmoCRlYnOno3orw/xp15Yf6Qh4RqFQsDgxvRcc+gR5EgpFCCCGEEEIIIYQQ7WjDgWoAeqUe6m+oKAp3TCnk0UVbefDjLeHH3XUacxdsBmDW5ALJkGyE7qtAcaRjTRtA5crHqFr9LIbPjepwkTp6Omnjf0WgZj+qPfmoQKVp6Jj+Kkzdj2Kxd/RT6fY6vGfk3r17+clPfkJmZiYJCQmMHDmSlStXhrebpsm9995Lr169SEhIYNq0aWzZsqXBOcrLy7niiitITU3F5XJx7bXXUlNT095PRbTCz372My688MKOXoYQQgghhBBCCNFuvjsQjFmMyE1p8LjdovLMFzsiHvPUkiJsaoeHcTol09AxvOXYXAVUrnwM97KHMHxuAAyfG/eyh6hePw9rch+q177Arhf7sful/ux6sR/Va1/AnjUCU7ViyBCbdtGhr+KKigpOPvlkbDYb//vf/9iwYQOPP/446enp4X0effRRnnrqKZ5//nmWLVtGUlISZ511Fl7voZHrV1xxBevXr2fBggW89957fPbZZ9xwww0d8ZQaZWgeTN2PXluCqfulF4EQQgghhBBCCNFDhTIjh+cmN3jc7dVw12kRj3HXaVR6I2/r6UytBlPXsSZkU7X62Yj72NIGUbny0YiBysqVj2FLHYCpyxCb9tChub2/+93v6NevH6+88kr4sfz8Q+PtTdPkySef5O677+b73/8+AK+++iq5ubm88847/OhHP2Ljxo18+OGHrFixgvHjxwPw9NNPc+655/LYY4/Ru3fv9n1SERgBb4QU4RmkHT876pHznZHf78dulzRmIYQQQgghhBCiOZpusKU0mKB0ZGaky2nDlWCLGJB0JdhIc9raZY1djaHVgKqi+yrCgcbDqQlZOPueysEPfxrx+KrVz+I6/g60mn1xXqmADs6M/M9//sP48eO59NJLycnJYcyYMbz00kvh7UVFRRQXFzNt2rTwY2lpaUyYMIGlS5cCsHTpUlwuVzgQCTBt2jRUVWXZsmURr+vz+aiqqmrw01KmaWJonhb/6P5qKlf8LkLk/UEqVzyK7q9q8blM02zRGl999VUyMzPx+XwNHr/wwgu58sormzz2vvvuY/To0bzwwgv069ePxMRELrvsMiorK8P7hEqrH3roIXr37s3QoUMB2L17N5dddhkul4uMjAy+//3vs2PHjvBxuq5z22234XK5yMzMZPbs2S1+TkIIIYQQQgghRHewtdRDwDBJdljom9YwQUkzDGZOyo943MxJ+WiG0R5L7HIMXxWmrmFxpqM6XEdttyTmodcejBioDB7vRve5MQOSGdkeOjQzcvv27fzpT3/itttu46677mLFihXMnDkTu93OT3/6U4qLiwHIzc1tcFxubm54W3FxMTk5OQ22W61WMjIywvsc6eGHH+b+++9v1ZrNQC07n01vfkeCkfd+12xpNEW4avUzpI2/nd1/GYxRV9rs+QZMr0CxJTW736WXXsrMmTP5z3/+w6WXXgpASUkJ77//PvPnz2/2+K1bt/Kvf/2L//73v1RVVXHttdfyi1/8gtdeey28z8KFC0lNTWXBggUAaJrGWWedxcSJE/n888+xWq08+OCDnH322axduxa73c7jjz/OvHnz+Mtf/sLw4cN5/PHH+fe//82UKVOa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ndnnUqlUUKlUxv8vLy9HREREs8uMJOsamxlJRERERERERES1mkRmpDW5ubkoLCxEYmKi8bGgoCAMGjQI6enpAID09HQEBwcbA5EAkJiYCLFYjEOHDlk89/LlyxEUFGT8iYiIcN6FkMcyrKtpjmFdTSIiIiIiIiIichyPDUYWFhYCAMLDw00eDw8PN24rLCxEWFiYyXaJRILWrVsb9zFn3rx5KCsrM/5cunTJwaOnpsDQZGXhyFgE+0gB1GZELhwZi7nDo1lSTERERERERETkYC0y2iKXyyGXy909DPIAhnU1XxkRY9JkhetqEhERERERERE5nsdmRioUCgBAUVGRyeNFRUXGbQqFAsXFxSbbtVotrl+/btyHqD5sskJERERERERE5BoeG4yMioqCQqHArl27jI+Vl5fj0KFDiIuLAwDExcWhtLQUR48eNe6ze/du6PV6DBo0yOVjJiIiIiIiIiIiIsvcmgJWWVmJrKws4//n5ubi2LFjaN26NTp27IjnnnsOy5YtQ0xMDKKiorBgwQK0a9fO2HG7e/fuGD16NJ588km899570Gg0SE5OxsMPP2yxkzYRERERERERERG5h1uDkb/++iuGDRtm/P/nn38eADBlyhRs3LgRL730EpRKJaZPn47S0lIkJCRg27Zt8Pb2Nh7z2WefITk5GSNGjIBYLMaECROwZs0al18LERERERERERERWScSBEFw9yDcrby8HEFBQSgrK0NgYKC7h0NERERERERERNSkNDS+5rFrRhIREREREREREVHzwmAkERERERERERERuQSDkUREREREREREROQSbm1g4ykMy2aWl5e7eSRERERERERERERNjyGuVl97GgYjAVRUVAAAIiIi3DwSIiIiIiIiIiKipquiogJBQUEWt7ObNgC9Xo8rV64gICAAIpHI3cNxuPLyckRERODSpUvsFk524RwiR+A8osbiHCJH4DyixuIcIkfgPKLG4hwiR3D0PBIEARUVFWjXrh3EYssrQzIzEoBYLEaHDh3cPQynCwwM5IsUNQrnEDkC5xE1FucQOQLnETUW5xA5AucRNRbnEDmCI+eRtYxIAzawISIiIiIiIiIiIpdgMJKIiIiIiIiIiIhcgsHIFkAulyMlJQVyudzdQ6EminOIHIHziBqLc4gcgfOIGotziByB84gai3OIHMFd84gNbIiIiIiIiIiIiMglmBlJRERERERERERELsFgJBEREREREREREbkEg5FERERERERERETkEgxGEhERERERERERkUswGElEREREREREREQuwWCkG+3btw9/+tOf0K5dO4hEInz77bcm24uKivD444+jXbt28PX1xejRo5GZmWn2XIIg4L777jN7nl27dmHw4MEICAiAQqHAyy+/DK1WW+/49uzZg/79+0MulyM6OhobN260afzkfI6YQ/feey9EIpHJz9///neTfS5evIgxY8bA19cXYWFhmDNnToPm0ObNm9GtWzd4e3ujd+/e+PHHH20eHzmfK+bR8ePHMWnSJERERMDHxwfdu3fH22+/3aDx1TePHn/88duee/To0fbdDLKLq16LDEpKStChQweIRCKUlpbWO7765tCWLVuQlJSENm3aQCQS4dixY7ZcPjmIq+bRrdtFIhE2bdpU7/j4nub5XDGHNm7caHYOiUQiFBcXWx0f3888n6teh/j9rHlz1Pf89PR0DB8+HH5+fggMDMSQIUNQXV1t3H79+nVMnjwZgYGBCA4OxrRp01BZWVnv+OqbRxUVFXjuuefQqVMn+Pj4YPDgwThy5Ihd94LIEgYj3UipVKJPnz5Yv379bdsEQcC4ceOQk5OD//3vf8jIyECnTp2QmJgIpVJ52/7//Oc/IRKJbnv8+PHjuP/++zF69GhkZGTgyy+/xHfffYe5c+daHVtubi7GjBmDYcOG4dixY3juuefwxBNPYPv27Q0aP7mGo+bQk08+iYKCAuPPqlWrjNt0Oh3GjBkDtVqNgwcP4qOPPsLGjRuxcOFCq2M7ePAgJk2ahGnTpiEjIwPjxo3DuHHjcOrUKZvHR87linl09OhRhIWF4dNPP8Xp06fx6quvYt68eVi3bp3VsdU3jwxGjx5t8txffPFFI+4I2coVc6iuadOm4Y477mjQ2Boyh5RKJRISErBy5UobrpoczZXzaMOGDSb7jBs3zurY+J7WNLhiDk2cONFkW0FBAUaNGoWhQ4ciLCzM4tj4ftY0uGIO8ftZ8+eIeZSeno7Ro0cjKSkJhw8fxpEjR5CcnAyx+I8QzuTJk3H69GmkpqZi69at2LdvH6ZPn251bA2ZR0888QRSU1PxySef4OTJk0hKSkJiYiIuX77sgLtDdJNAHgGA8M033xj//9y5cwIA4dSpU8bHdDqdEBoaKvz73/82OTYjI0No3769UFBQcNt55s2bJwwcONBk/++++07w9vYWysvLLY7npZdeEnr27Gny2MSJE4VRo0Y1aPzkevbOoaFDhwrPPvusxfP++OOPglgsFgoLC42Pvfvuu0JgYKCgUqksHveXv/xFGDNmjMljgwYNEp566imbxkeu5ax5ZM4zzzwjDBs2zOo+9c0jQRCEKVOmCGPHjrXpucl5nD2H3nnnHWHo0KHCrl27BADCjRs3rO7fkDlkkJubKwAQMjIy6h0HOZcz55E9n1n4ntb0uOr9rLi4WJBKpcLHH39sdT++nzU9zppD/H7Wstg7jwYNGiTMnz/f4nl///13AYBw5MgR42M//fSTIBKJhMuXL1s8rr55VFVVJXh5eQlbt2412ad///7Cq6++av1iiWzAzEgPpVKpAADe3t7Gx8RiMeRyOfbv3298rKqqCo888gjWr18PhUJh9jx1zwEAPj4+qKmpwdGjRy0+f3p6OhITE00eGzVqFNLT0+26HnK9hs4hAPjss88QEhKCXr16Yd68eaiqqjJuS09PR+/evREeHm58bNSoUSgvL8fp06ctPn99c8iW8ZH7OGoemVNWVobWrVtb3aehr0V79uxBWFgYunbtiqeffholJSX1Xhu5hiPn0O+//44lS5bg448/NskMsIbvZ82Do1+LZsyYgZCQENx111348MMPIQiC1efne1rT56z3s48//hi+vr546KGHrD4/38+aPkfNIX4/a9kaMo+Ki4tx6NAhhIWFYfDgwQgPD8fQoUNN5ll6ejqCg4MxcOBA42OJiYkQi8U4dOiQxeevbx5ptVrodDqzc5TvZ+RIDEZ6qG7duqFjx46YN28ebty4AbVajZUrVyI/Px8FBQXG/WbPno3Bgwdj7NixZs8zatQoHDx4EF988QV0Oh0uX76MJUuWAIDJeW5VWFhoEnwCgPDwcJSXl5usU0Geq6Fz6JFHHsGnn36KtLQ0zJs3D5988gkeffRR43ZLc8GwzRJLxxmOaej4yL0cNY9udfDgQXz55Zf1lpLUN4+A2pK2jz/+GLt27cLKlSuxd+9e3HfffdDpdHZeNTmSo+aQSqXCpEmTsHr1anTs2LHBz9+QOUSez5GvRUuWLMFXX32F1NRUTJgwAc888wzWrl1r9fn5ntb0Oev97D//+Q8eeeQR+Pj4WH1+vp81fY6aQ/x+1rI1ZB7l5OQAABYtWoQnn3wS27ZtQ//+/TFixAjj2pKFhYW3LQ0hkUjQunVru76jGeZRQEAA4uLisHTpUly5cgU6nQ6ffvop0tPT+X5GDsVgpIeSSqXYsmULzp8/j9atW8PX1xdpaWm47777jNkg3333HXbv3o1//vOfFs+TlJSE1atX4+9//zvkcjliY2Nx//33A4DxPP7+/sYfS80CqOlpyBwCgOnTp2PUqFHo3bs3Jk+ejI8//hjffPMNsrOzG/Q8Fy9eNJlDr732mkPHR+7ljHl06tQpjB07FikpKUhKSgJg/zwCgIcffhgPPvggevfujXHjxmHr1q04cuQI9uzZ0+jrp8Zz1ByaN28eunfvbjEo0Jg5RJ7Pka9FCxYsQHx8PPr164eXX34ZL730ElavXg2A72nNmTPez9LT03HmzBlMmzbN+Bjfz5ovR80hfj9r2Royj/R6PQDgqaeewtSpU9GvXz+89dZb6Nq1Kz788MMGP5e98+iTTz6BIAho37495HI51qxZg0mTJvH9jBxK4u4BkGUDBgzAsWPHUFZWBrVajdDQUAwaNMiYir17925kZ2cjODjY5LgJEybgnnvuMX5wef755zF79mwUFBSgVatWyMvLw7x589C5c2cAMOkaGhgYCABQKBQoKioyOW9RURECAwPr/csveY765pA5gwYNAgBkZWWhS5cuUCgUOHz4sMk+hrmhUCjQrl07kzlkKLu1NIfqLidgz/jI9Rwxjwx+//13jBgxAtOnT8f8+fONjzdmHt2qc+fOCAkJQVZWFkaMGGHTtZJzOGIO7d69GydPnsTXX38NAMay2pCQELz66qtYsGCBw+YQeSZHvhbdus/SpUuhUqn4ntbMOXoOffDBB+jbty8GDBhgfIzvZ82bo+YQv5+1bPXNo7Zt2wIAevToYXJc9+7dcfHiRQC186G4uNhku1arxfXr142vK/bOoy5dumDv3r1QKpUoLy9H27ZtMXHiROP8JHIEhrabgKCgIISGhiIzMxO//vqrsSR77ty5OHHiBI4dO2b8AYC33noLGzZsMDmHSCRCu3bt4OPjgy+++AIRERHo378/ACA6Otr4Y0j1jouLw65du0zOkZqairi4OCdfLTmDpTlkjmEeGd4E4+LicPLkSZM3u9TUVAQGBqJHjx6QSCQmc8jwoduWOWTL+Mh9GjOPAOD06dMYNmwYpkyZgn/84x8m+ztiHhnk5+ejpKTE5LnJMzRmDv33v//F8ePHje93H3zwAQDg559/xowZMxw6h8izNfa1yNw+rVq1glwu53taC+GIOVRZWYmvvvrKJCsS4PtZS+GIOcTvZ2RpHkVGRqJdu3Y4d+6cyf7nz59Hp06dANTOh9LSUpN1Rnfv3g29Xm8MgDd2Hvn5+aFt27a4ceMGtm/fzvczciw3N9Bp0SoqKoSMjAwhIyNDACC8+eabQkZGhnDhwgVBEAThq6++EtLS0oTs7Gzh22+/FTp16iSMHz/e6jlhpmvaqlWrhBMnTginTp0SlixZIkil0no7q+Xk5Ai+vr7CnDlzhDNnzgjr168XvLy8hG3btjV4/OR8jZ1DWVlZwpIlS4Rff/1VyM3NFf73v/8JnTt3FoYMGWLcR6vVCr169RKSkpKEY8eOCdu2bRNCQ0OFefPmWR3bgQMHBIlEIrz++uvCmTNnhJSUFEEqlQonT5407mPPHCfHc8U8OnnypBAaGio8+uijQkFBgfGnuLjY6tjqm0cVFRXCiy++KKSnpwu5ubnCzp07hf79+wsxMTFCTU2NE+4WmeOKOXSrtLS0BnXTbshrUUlJiZCRkSH88MMPAgBh06ZNQkZGhlBQUNC4G0M2ccU8+u6774R///vfwsmTJ4XMzEzhnXfeEXx9fYWFCxdaHRvf05oGV74WffDBB4K3t3e9r0EGfD9rGlw1h/j9rHlzxPf8t956SwgMDBQ2b94sZGZmCvPnzxe8vb2FrKws4z6jR48W+vXrJxw6dEjYv3+/EBMTI0yaNMnq2Boyj7Zt2yb89NNPQk5OjrBjxw6hT58+wqBBgwS1Wu3Au0QtHYORbmT4InXrz5QpUwRBEIS3335b6NChgyCVSoWOHTsK8+fPF1QqldVzmgtGDhs2TAgKChK8vb2FQYMGCT/++GODx9e3b19BJpMJnTt3FjZs2GDT+Mn5GjuHLl68KAwZMkRo3bq1IJfLhejoaGHOnDlCWVmZyfPk5eUJ9913n+Dj4yOEhIQIL7zwgqDRaOod31dffSXExsYKMplM6Nmzp/DDDz+YbLdnjpPjuWIepaSkmH2OTp061Ts+a/OoqqpKSEpKEkJDQwWpVCp06tRJePLJJ4XCwkKH3R+qn6tei8w9Z0MCAfW9Fm3YsMHs+FNSUuy5HWQnV8yjn376Sejbt6/g7+8v+Pn5CX369BHee+89QafT1Ts+vqd5Ple+FsXFxQmPPPKITePj+5nnc9Uc4vez5s1R3/OXL18udOjQQfD19RXi4uKEn3/+2WR7SUmJMGnSJMHf318IDAwUpk6dKlRUVDRofNbm0Zdffil07txZkMlkgkKhEGbMmCGUlpbafT+IzBEJws1Fl4iIiIiIiIiIiIiciGtGEhERERERERERkUswGElEREREREREREQuwWAkERERERERERERuQSDkUREREREREREROQSDEYSERERERERERGRSzAYSURERERERERERC7BYCQRERERERERERG5BIORRERERERERERE5BIMRhIREREREREREZFLMBhJRERERERERERELsFgJBEREREREREREbnE/wOSpdwVQE9fFAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from aeon.visualisation import plot_series\n", "\n", "# also requires predictions\n", "y_pred = forecaster.predict()\n", "\n", "fig, ax = plot_series(y, y_pred, labels=[\"y\", \"y_pred\"])\n", "ax.fill_between(\n", " ax.get_lines()[-1].get_xdata(),\n", " y_pred_ints[\"Coverage\"][coverage][\"lower\"],\n", " y_pred_ints[\"Coverage\"][coverage][\"upper\"],\n", " alpha=0.2,\n", " color=ax.get_lines()[-1].get_c(),\n", " label=f\"{coverage} cov.pred.intervals\",\n", ")\n", "ax.legend();" ] }, { "cell_type": "markdown", "id": "3afcdc20", "metadata": {}, "source": [ "multiple coverages:" ] }, { "cell_type": "code", "execution_count": 6, "id": "534f4490", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.168859600Z", "start_time": "2023-08-24T18:26:31.127461800Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.500.900.95
lowerupperlowerupperlowerupper
1961-01431.849266450.712806418.280121464.281951413.873755468.688317
1961-02418.342514440.761421402.215881456.888055396.979011462.124925
1961-03478.296822503.779790459.966113522.110500454.013504528.063109
1961-04462.886144491.102379442.589309511.399214435.998232517.990291
1961-05465.613670496.320837443.525027518.409480436.352089525.582418
1961-06530.331440563.342111506.585814587.087737498.874797594.798754
1961-07586.791063621.954661561.496768647.248956553.282845655.462879
1961-08584.116789621.308897557.363322648.062363548.675556656.750129
1961-09505.795123544.910684477.658056573.047752468.520987582.184821
1961-10437.370840478.319605407.915090507.775355398.349800517.340645
1961-11377.660798420.364142346.942924451.082016336.967779461.057161
1961-12426.638370471.026993394.708221502.957142384.339409513.325954
\n", "
" ], "text/plain": [ " Coverage \\\n", " 0.50 0.90 0.95 \n", " lower upper lower upper lower \n", "1961-01 431.849266 450.712806 418.280121 464.281951 413.873755 \n", "1961-02 418.342514 440.761421 402.215881 456.888055 396.979011 \n", "1961-03 478.296822 503.779790 459.966113 522.110500 454.013504 \n", "1961-04 462.886144 491.102379 442.589309 511.399214 435.998232 \n", "1961-05 465.613670 496.320837 443.525027 518.409480 436.352089 \n", "1961-06 530.331440 563.342111 506.585814 587.087737 498.874797 \n", "1961-07 586.791063 621.954661 561.496768 647.248956 553.282845 \n", "1961-08 584.116789 621.308897 557.363322 648.062363 548.675556 \n", "1961-09 505.795123 544.910684 477.658056 573.047752 468.520987 \n", "1961-10 437.370840 478.319605 407.915090 507.775355 398.349800 \n", "1961-11 377.660798 420.364142 346.942924 451.082016 336.967779 \n", "1961-12 426.638370 471.026993 394.708221 502.957142 384.339409 \n", "\n", " \n", " \n", " upper \n", "1961-01 468.688317 \n", "1961-02 462.124925 \n", "1961-03 528.063109 \n", "1961-04 517.990291 \n", "1961-05 525.582418 \n", "1961-06 594.798754 \n", "1961-07 655.462879 \n", "1961-08 656.750129 \n", "1961-09 582.184821 \n", "1961-10 517.340645 \n", "1961-11 461.057161 \n", "1961-12 513.325954 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coverage = [0.5, 0.9, 0.95]\n", "y_pred_ints = forecaster.predict_interval(coverage=coverage)\n", "y_pred_ints" ] }, { "cell_type": "markdown", "id": "d00f1db2", "metadata": {}, "source": [ "##### `predict_quantiles` - quantile forecasts" ] }, { "cell_type": "markdown", "id": "9468c5f4", "metadata": {}, "source": [ "Inputs:\\\n", "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n", "`alpha`, float or list of floats, default = `[0.1, 0.9]`\\\n", "quantile points at which quantiles are queried\n", "\n", "Output: `pandas.DataFrame`\\\n", "Row index is `fh`\\\n", "Column has multi-index:\\\n", "1st level = variable name from y in fit\\\n", "2nd level = quantile points in `alpha`\\\n", "\n", "Entries = forecasts of quantiles at quantile point in 2nd lvl, for var in 1st lvl, for time in row" ] }, { "cell_type": "code", "execution_count": 7, "id": "76770945", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.293526400Z", "start_time": "2023-08-24T18:26:31.154389400Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Quantiles
0.100.250.500.750.90
1961-01423.360378431.849266441.281036450.712806459.201694
1961-02408.253656418.342514429.551968440.761421450.850279
1961-03466.829089478.296822491.038306503.779790515.247523
1961-04450.188398462.886144476.994261491.102379503.800124
1961-05451.794965465.613670480.967253496.320837510.139542
1961-06515.476124530.331440546.836776563.342111578.197428
1961-07570.966896586.791063604.372862621.954661637.778829
1961-08567.379760584.116789602.712843621.308897638.045925
1961-09488.192511505.795123525.352904544.910684562.513297
1961-10418.943257437.370840457.845222478.319605496.747188
1961-11358.443627377.660798399.012470420.364142439.581313
1961-12406.662797426.638370448.832681471.026993491.002565
\n", "
" ], "text/plain": [ " Quantiles \n", " 0.10 0.25 0.50 0.75 0.90\n", "1961-01 423.360378 431.849266 441.281036 450.712806 459.201694\n", "1961-02 408.253656 418.342514 429.551968 440.761421 450.850279\n", "1961-03 466.829089 478.296822 491.038306 503.779790 515.247523\n", "1961-04 450.188398 462.886144 476.994261 491.102379 503.800124\n", "1961-05 451.794965 465.613670 480.967253 496.320837 510.139542\n", "1961-06 515.476124 530.331440 546.836776 563.342111 578.197428\n", "1961-07 570.966896 586.791063 604.372862 621.954661 637.778829\n", "1961-08 567.379760 584.116789 602.712843 621.308897 638.045925\n", "1961-09 488.192511 505.795123 525.352904 544.910684 562.513297\n", "1961-10 418.943257 437.370840 457.845222 478.319605 496.747188\n", "1961-11 358.443627 377.660798 399.012470 420.364142 439.581313\n", "1961-12 406.662797 426.638370 448.832681 471.026993 491.002565" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha = [0.1, 0.25, 0.5, 0.75, 0.9]\n", "y_pred_quantiles = forecaster.predict_quantiles(alpha=alpha)\n", "y_pred_quantiles" ] }, { "cell_type": "markdown", "id": "ef0fb2b9", "metadata": {}, "source": [ "pretty-plotting the quantile interval forecasts:" ] }, { "cell_type": "code", "execution_count": 8, "id": "00f9cb39", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.619654300Z", "start_time": "2023-08-24T18:26:31.176838600Z" } }, "outputs": [ { "data": { "image/png": "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p05p6NChKi0t9cWhwQc8lU/nW7RokcaNG6fg4OBq95+bm6vmzZu7bWvevLlyc3Mr7f/OO+8oPDxct9566yUcJbzBU7kUHh6uzz//XO+++66Cg4MVFhamdevWae3atfL3969y/1XlUkFBgdv6N3v37lVYWJgCAwP10EMPadWqVerSpYsHzwQ8wdf5hIbFU/mUlJSkbdu26b333lN5ebm+//57zZ49W5Lc3ud8Nb0+VVi9erXy8vJ0zz33XOGRozbUJJ8OHz4sSXrmmWf0wAMPaN26derVq5cGDx7sWrstNzf3gqVs/P39FR0dXeXnoIrXcb9rOHydT2hYPJVPl6uq61NF2/m+/vprpaen6/7777+i/aJhoRhZR9lsNq1cuVIHDhxQdHS0QkJClJycrBEjRrit8fCb3/xGSUlJ6tatm8aPH6+lS5dq1apVOnTokCTJ6XTK4XDo1VdfVVJSkq677jq99957ysrKUnJysiQpLCzM9VPZw29Q/3kqn86VkpKi/fv3u41ezM7OdsunF1988bLiffvttzV+/PgLRqbA9zyVS0VFRZo0aZL69eunv//979q6dauuueYajRw50vUl60quTQkJCdq1a5e2b9+uyZMna+LEidq3b5/nTgQ8or7kE+oHT+XTsGHDNH/+fD300EMKDAxUp06ddOONN0qS6308kU+LFi3SiBEj1KJFiys8ctSGmuST0+mUJD344IO699571bNnTy1YsEAJCQl6++23a7wv7ncNX33JJ9QP3synrl27uvJpxIgRlxXvokWL1K1bN/3iF7+4rNejYWK4QB3Wu3dv7dq1S/n5+SotLVVMTIz69u3rNiz/fH379pUkHTx4UB06dNBVV10lSW5/IY2JiVHTpk2VnZ0tSdq1a5erzW6318KRoC7wRD6da+HChbr22mvVu3dv17YWLVq45VN0dLQkKTY2VidOnHB7/YkTJypdHPurr75SZmam3n///Us+RniHJ3Jp2bJlOnr0qFJSUlwfmpYtW6aoqCh99NFHuvPOOyu9NlWVS3a73W2EbkBAgOLj413xpqam6pVXXtFbb73lkXMAz/FlPqHh8dS97oknntDjjz+unJwcRUVF6ejRo5o5c6bat28vqfLPTjW9PknSt99+q02bNmnlypVXfMyoPRfLp8o+Z0tS586dXZ+zY2NjdfLkSbf2srIynTp1yvU5iPtd4+DLfELD44l8qok1a9a4HgZYce2p6vpU0XauwsJCLV++3DXDAKhAMbIeiIiIkCRlZWVpx44deu6556rsW3Hzqbj49OvXT5KUmZmpVq1aSZJOnTqlH3/8UXFxcZLk+gCDxuFK8qnC2bNntWLFCs2ZM8dtu7+/f6X5lJiYqM2bN2vq1KmubRs3bqx0TaNFixapd+/eVT7pD3XHleTSTz/9JKvV6rZOWsW/K/6SW1UurVmzxm1bVbl0LqfT6VpfB3WTL/IJDZcn7nUWi8U1avG9995T69at1atXL0lXfn1avHixmjVrppEjR9b8oOAzVeVT27Zt1aJFC2VmZrr1P3DggGsEUWJiovLy8rRz507XH3A/++wzOZ1OVyGc+13j4ot8QsN1JflUExU1g3MlJibqySeflMPhkM1mk/Tz9SkhIUFRUVFufT/44AOVlJRUu/QXGilfP0GnMTtz5oxJS0szaWlpRpL54x//aNLS0sy3335rjDFmxYoVJjk52Rw6dMisXr3axMXFmVtvvdX1+oMHD5rZs2ebHTt2mCNHjpiPPvrItG/f3gwYMMBtP6NGjTJdu3Y1W7duNXv37jU33XST6dKliyktLa02vorYevfubcaNG2fS0tJMRkaGq72kpMTV56qrrjL/+Z//adLS0mr85FJ4lrfyyRhjFi5caIKCgszp06drFNvWrVuNv7+/+f3vf2/2799vnn76aWOz2czevXvd+uXn55uQkBDz5ptvXv6JwBXzRi7t37/fBAYGmsmTJ5t9+/aZ9PR0c9ddd5mIiAhz/PjxKmM7fPiwCQkJMdOmTTP79+83r7/+uvHz8zPr1q1z9ZkxY4b54osvzJEjR8yePXvMjBkzjMViMRs2bKiFs4WLqcv5ZAz3uvrGW/e6efPmmT179pj09HQze/ZsY7PZ3J5kWpmaXJ+M+fmJp23atDHTp0/3zEnBZbvSfDLm5yfE2u1288EHH5isrCwza9YsExQUZA4ePOjqM3z4cNOzZ0+zfft2s2XLFtOxY0czduzYamPjflf/1OV8Mob7XX3jrXz69ttvTVpamnn22WdNWFiYa59nzpypMra8vDzTvHlzc/fdd5v09HSzfPlyExISYt56660L+vbv39/ccccdHjoraEgoRvpQcnKykXTBz8SJE40xxrzyyiumVatWxmazmTZt2phZs2aZkpIS1+uzs7PNgAEDTHR0tAkMDDTx8fFm2rRpJj8/320/+fn55r777jORkZEmOjra3HLLLSY7O/ui8VUWW1xcnKv9yJEjlfYZOHCgJ04PLpG38skYYxITE824ceMuKb4VK1aYTp06mYCAANO1a1fz6aefXtDnrbfeMsHBwSYvL+/SDh4e5a1c2rBhg+nXr5+JiIgwUVFRZtCgQSYlJaVG8V177bUmICDAtG/f3ixevNit/b777jNxcXEmICDAxMTEmMGDB/PFzIfqej5xr6tfvJVPN9xwg4mIiDBBQUGmb9++Zs2aNTWOr7rrkzHGrF+/3kgymZmZl30e4BlXmk8V5syZY1q1amVCQkJMYmKi+eqrr9za//GPf5ixY8easLAwY7fbzb333lvtF/1z4+N+V3/U9Xzifle/eCufJk6cWOl+kpOTq41v9+7dpn///iYwMNC0bNnSzJ0794I+33zzjZHEdQmVshhjzCUNpQQAAAAAAACAy8DTtAEAAAAAAAB4BcVIAAAAAAAAAF5BMRIAAAAAAACAV1CMBAAAAAAAAOAVFCMBAAAAAAAAeAXFSAAAAAAAAABeQTESAAAAAAAAgFdQjAQAAAAAAADgFRQjAQAAAAAAAHgFxUgAAAAAAAAAXkExEgAAAAAAAIBXUIwEAAAAAAAA4BX/B27z9D6aNR7nAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from aeon.visualisation import plot_series\n", "\n", "_, columns = zip(*y_pred_quantiles.items())\n", "fig, ax = plot_series(y[-50:], *columns)" ] }, { "cell_type": "markdown", "id": "c0002de5", "metadata": {}, "source": [ "##### `predict_var` - variance forecasts" ] }, { "cell_type": "markdown", "id": "8566c184", "metadata": {}, "source": [ "Inputs:\\\n", "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n", "`cov`, boolean, default=False\\\n", "whether covariance forecasts should also be returned (not all estimators support this)\n", "\n", "Output: `pandas.DataFrame`, for cov=False:\\\n", "Row index is `fh`\\\n", "Column is equal to column index of `y` (variables)\n", "\n", "Entries = variance forecast for variable in col, for time in row" ] }, { "cell_type": "code", "execution_count": 9, "id": "4e997945", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.643589700Z", "start_time": "2023-08-24T18:26:31.554828100Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0
1961-01195.540049
1961-02276.196509
1961-03356.852968
1961-04437.509428
1961-05518.165887
1961-06598.822347
1961-07679.478807
1961-08760.135266
1961-09840.791726
1961-10921.448185
1961-111002.104645
1961-121082.761105
\n", "
" ], "text/plain": [ " 0\n", "1961-01 195.540049\n", "1961-02 276.196509\n", "1961-03 356.852968\n", "1961-04 437.509428\n", "1961-05 518.165887\n", "1961-06 598.822347\n", "1961-07 679.478807\n", "1961-08 760.135266\n", "1961-09 840.791726\n", "1961-10 921.448185\n", "1961-11 1002.104645\n", "1961-12 1082.761105" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred_variance = forecaster.predict_var()\n", "y_pred_variance" ] }, { "cell_type": "markdown", "id": "8df8ea93", "metadata": {}, "source": [ "with covariance, using a forecaster which can return covariance forecasts:\n", "\n", "return is `pandas.DataFrame` with `fh` indexing rows and columns;\\\n", "entries are forecast covariance between row and column time\\\n", "(diagonal = forecast variances)" ] }, { "cell_type": "markdown", "id": "3dd5fd21", "metadata": {}, "source": [ "#### Using probabilistic forecasts with update/predict stream workflow" ] }, { "cell_type": "markdown", "id": "a32f8732", "metadata": {}, "source": [ "Example:\n", "* data observed monthly\n", "* make probabilistic forecasts for an entire year ahead\n", "* update forecasts every month\n", "* start in Dec 1950" ] }, { "cell_type": "code", "execution_count": 10, "id": "be8a133f", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.643589700Z", "start_time": "2023-08-24T18:26:31.581755200Z" } }, "outputs": [], "source": [ "# 1949 and 1950\n", "y_start = y[:24]\n", "# Jan 1951 etc\n", "y_update_batch_1 = y.loc[[\"1951-01\"]]\n", "y_update_batch_2 = y.loc[[\"1951-02\"]]\n", "y_update_batch_3 = y.loc[[\"1951-03\"]]" ] }, { "cell_type": "code", "execution_count": 11, "id": "38dad2c6", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.725371300Z", "start_time": "2023-08-24T18:26:31.588736700Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1951-01125.707998141.744251
1951-02135.554586154.422381
1951-03149.921348171.247998
1951-04140.807417164.337362
1951-05127.941097153.484993
1951-06152.968277180.378548
1951-07167.193935196.351356
1951-08166.316512197.122153
1951-09150.425516182.795561
1951-10128.623033162.485285
1951-11109.567283144.858705
1951-12125.641292162.306217
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1951-01 125.707998 141.744251\n", "1951-02 135.554586 154.422381\n", "1951-03 149.921348 171.247998\n", "1951-04 140.807417 164.337362\n", "1951-05 127.941097 153.484993\n", "1951-06 152.968277 180.378548\n", "1951-07 167.193935 196.351356\n", "1951-08 166.316512 197.122153\n", "1951-09 150.425516 182.795561\n", "1951-10 128.623033 162.485285\n", "1951-11 109.567283 144.858705\n", "1951-12 125.641292 162.306217" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# now = Dec 1950\n", "\n", "# 1a. fit to data available in Dec 1950\n", "# fh = [1, 2, ..., 12] for all 12 months ahead\n", "forecaster.fit(y_start, fh=1 + np.arange(12))\n", "\n", "# 1b. predict 1951, in Dec 1950\n", "forecaster.predict_interval()\n", "# or other proba predict functions" ] }, { "cell_type": "code", "execution_count": 12, "id": "07c5c221", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.901409500Z", "start_time": "2023-08-24T18:26:31.626635600Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1951-02136.659398152.695651
1951-03150.894540169.762336
1951-04141.748826163.075476
1951-05128.876521152.406466
1951-06153.906406179.450302
1951-07168.170069195.580339
1951-08167.339648196.497069
1951-09151.478088182.283729
1951-10129.681615162.051660
1951-11110.621201144.483453
1951-12126.786551162.077973
1952-01121.345120158.010045
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1951-02 136.659398 152.695651\n", "1951-03 150.894540 169.762336\n", "1951-04 141.748826 163.075476\n", "1951-05 128.876521 152.406466\n", "1951-06 153.906406 179.450302\n", "1951-07 168.170069 195.580339\n", "1951-08 167.339648 196.497069\n", "1951-09 151.478088 182.283729\n", "1951-10 129.681615 162.051660\n", "1951-11 110.621201 144.483453\n", "1951-12 126.786551 162.077973\n", "1952-01 121.345120 158.010045" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# time passes, now = Jan 1951\n", "\n", "# 2a. update forecaster with new data\n", "forecaster.update(y_update_batch_1)\n", "\n", "# 2b. make new prediction - year ahead = Feb 1951 to Jan 1952\n", "forecaster.predict_interval()\n", "# forecaster remembers relative forecasting horizon" ] }, { "cell_type": "markdown", "id": "d3f81c58", "metadata": {}, "source": [ "repeat the same commands with further data batches:" ] }, { "cell_type": "code", "execution_count": 13, "id": "2736566d", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.902406300Z", "start_time": "2023-08-24T18:26:31.652566100Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1951-03151.754366167.790619
1951-04142.481687161.349482
1951-05129.549186150.875836
1951-06154.439360177.969305
1951-07168.623239194.167135
1951-08167.770039195.180310
1951-09151.929281181.086702
1951-10130.167033160.972675
1951-11111.133102143.503147
1951-12127.264390161.126643
1952-01121.830227157.121649
1952-02132.976436169.641361
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1951-03 151.754366 167.790619\n", "1951-04 142.481687 161.349482\n", "1951-05 129.549186 150.875836\n", "1951-06 154.439360 177.969305\n", "1951-07 168.623239 194.167135\n", "1951-08 167.770039 195.180310\n", "1951-09 151.929281 181.086702\n", "1951-10 130.167033 160.972675\n", "1951-11 111.133102 143.503147\n", "1951-12 127.264390 161.126643\n", "1952-01 121.830227 157.121649\n", "1952-02 132.976436 169.641361" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# time passes, now = Feb 1951\n", "\n", "# 3a. update forecaster with new data\n", "forecaster.update(y_update_batch_2)\n", "\n", "# 3b. make new prediction - year ahead = Feb 1951 to Jan 1952\n", "forecaster.predict_interval()" ] }, { "cell_type": "code", "execution_count": 14, "id": "483c84c5", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:31.915371800Z", "start_time": "2023-08-24T18:26:31.676502300Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Coverage
0.9
lowerupper
1951-04143.421741159.457994
1951-05130.401488149.269284
1951-06155.166803176.493453
1951-07169.300650192.830595
1951-08168.451755193.995651
1951-09152.643333180.053604
1951-10130.913435160.070856
1951-11111.900919142.706560
1951-12128.054402160.424448
1952-01122.645052156.507304
1952-02133.834107169.125529
1952-03149.605277186.270202
\n", "
" ], "text/plain": [ " Coverage \n", " 0.9 \n", " lower upper\n", "1951-04 143.421741 159.457994\n", "1951-05 130.401488 149.269284\n", "1951-06 155.166803 176.493453\n", "1951-07 169.300650 192.830595\n", "1951-08 168.451755 193.995651\n", "1951-09 152.643333 180.053604\n", "1951-10 130.913435 160.070856\n", "1951-11 111.900919 142.706560\n", "1951-12 128.054402 160.424448\n", "1952-01 122.645052 156.507304\n", "1952-02 133.834107 169.125529\n", "1952-03 149.605277 186.270202" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# time passes, now = Feb 1951\n", "\n", "# 4a. update forecaster with new data\n", "forecaster.update(y_update_batch_3)\n", "\n", "# 4b. make new prediction - year ahead = Feb 1951 to Jan 1952\n", "forecaster.predict_interval()" ] }, { "cell_type": "markdown", "id": "cbcf39af", "metadata": {}, "source": [ "... and so on." ] }, { "cell_type": "code", "execution_count": 15, "id": "0f2ddebc", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:32.492375900Z", "start_time": "2023-08-24T18:26:31.713404200Z" } }, "outputs": [ { "data": { "text/plain": [ "(
, )" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABRoAAAFfCAYAAAAh/3DnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB5bklEQVR4nO3de3yT9d3/8Xfaq5SStqE4SBtIAQtFoqxT8YRzUEdhyGDOcesUvFGZbnP+prIxYOo83HOAbFN3uzmdIt3A6eZEdzuZggIqiEM5CNYDVIVKK0WFFEItXMn1+wMbaEtLrjRpmvT1fDx4bM3h1W/byxA+vQ4Oy7IsAQAAAAAAAEA7pCV6AQAAAAAAAACSH4NGAAAAAAAAAO3GoBEAAAAAAABAuzFoBAAAAAAAANBuDBoBAAAAAAAAtBuDRgAAAAAAAADtxqARAAAAAAAAQLsZiV5AvIVCIVVXVysnJ0cOhyPRywEAAAAAAACSimVZ2rdvnzwej9LSWt9vMeUHjdXV1fJ6vYleBgAAAAAAAJDUqqqq1K9fv1bvT/lBY05OjqTD34jc3NwErwYAAAAAAABILnV1dfJ6veE5W2tSftDYeLh0bm4ug0YAAAAAAAAgSsc7LSEXgwEAAAAAAADQbgwaAQAAAAAAALQbg0YAAAAAAAAA7Zby52gEAAAAAACIhVAopIMHDyZ6GUDMZWRkKD09vd0dBo0AAAAAAADHcfDgQX3wwQcKhUKJXgoQFz179lR+fv5xL/jSFgaNAAAAAAAAbbAsSzU1NUpPT5fX61VaGmeiQ+qwLEsHDhxQbW2tJKmgoCDqFoPGJGYGQ1pWsVPV/np5XFkq8/WVkR6bFzvatGnTpk2bNu1ohIKm9lYul7m/Wka2Rz2LRistPTZvOWnTpt212pZlKRAIyDRNGYYhp9PZrr1saKdmO979xvbnn3+u/fv3q1+/furRo0fM2qFQSJZlyeFwKC0tLabrpp0a7Y6SlZUlSaqtrVWfPn2iPozaYVmWFcuFdTZ1dXVyuVzy+/3Kzc1N9HJiZtHaSs1Y+p52BczwbW6nofnjijXl7CLatGnTpk2bNu0Ob+/etFj71sySo2FX+DYr062cEXPVu2Qybdq0aUfM7/erpqZGpnnktcowDBUUFMjlctGm3SH9o9uNQ6TCwkLl5OTIMNo3UDdNU4cOHWpxe0ZGBm3aCVNfX68PP/xQAwcOVPfu3ZvcF+l8LSkGjb///e81f/58ffzxxyopKdH//u//6swzz4zouak4aFy0tlJTn6hQ8x9c46y8fJIv6n8o0KZNmzZt2rRpR2P3psXat+IqSZaO/v1940c5pQuiHjzQpk27a7X9fr+qqqpavd/r9UY9QKKdOu1495u3GweN/fv3V2ZmZruGSK0NphrRpp0on3/+uT744IPUHjQ+/vjj+u///m/98Y9/1FlnnaV77rlHf//73/Xuu++qT58+x31+qg0azWBI3juea7IXQnPuHumqmHm+7UOgzGBIQ+e9qNoDQdq0adOmTZt2F2s7dHjPxg9vLrPdDgVN7XioSGrY1WTg0MiSpEy3+k190/YhlaGgqY/Kh0kNtbRp006atkPq7lbhtG2225ZlaevWrU32TmvOMAwNHjzY9mGJtFOnHe/+sdrNB42SWgxiIvX5558f9zG0U6PtcDiUmZmZNIdRd4lB41lnnaUzzjhD9913n6TD/3F7vV79v//3/zRr1qwWj29oaFBDQ0P447q6Onm93pQZNC7dXKXx5RsTvQwAAJCiHh6brzMKsmw9J+2z15W1/po4rQhAsqo/7UGFeg1P9DKAmDjWoBGIRLdu3aI+32FHi8WgsVNfJungwYN64403NHr06PBtaWlpGj16tF599dVjPmfOnDlyuVzhP16vt6OW2yGq/fWJXgIAAEhhu+tb35uyNY6Dn8RhJQCSHa8NQEvBkKWXPvhMf3vzY730wWcKhjrfvl8vvfSSevToob1797arc8011+jiiy+OzaKSWCffvy/mOvWB4p988omCwaDcbneT291ut955551jPmf27NmaPn16+OPGPRpThccV2R4GT1w2TGU+j632sopqTXp0M23atGnTpk27C7dPGeiRz9fPVntPtyrVbTn+43LHPC5X0ejjP/Ao/srlqnv+Etq0aSdhu0/hycob5LPVDgQC2r59+3Ef179/fzmdTtpdtB3vfqTtbt26KS0t8v23ntxcoxuffksf+Y8cbts3N1PzLxiib53c9NRwdtvS4b0uDx482OS2P/3pT7rppptUXV0dPlfgwYMH9aUvfUnnnnuuVqxYEX7sypUrdf755+vtt99WdXW13G53+JDfY7WP5eh1p6enKz09/biHJUfTjlRnaCfLYdOx0qkHjdHIzMxM6d2Yy3x95XZuUW3A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s/7nf/5HkrR//37l5OTomWee0Te+8Q39/Oc/17PPPqvNm4+cZ/rmm2/WnXfeqT179qhnz57HXGvzbiAQUHZ2tp555hmNHTtWt9xyi5YsWWL7+9rYXrJkiS688MImt69duza8x+XFF1+sQCCgvLw8LVy4MDzgPXToUPh7MGPGDK1cuVKlpaVavny5vv71r0uSnn32WY0fP1719fUtriotxeaq05yjMYkZ6WkaN8xLmzZt2rRp06bdJdpp6YZ6FX+DNm3atNvN4XAoOzubdgq0491vbBuGoU8//TSmA9J4cjgcSk9PV1pamkpLS3X//feH72u8OM7bb7+tc845p8nXdO6552r//v366KOPVFhYKEk6/fTTm7TffPNNrVy58piDuMrKSu3du1cNDQ3h4daxPP744/rd736nyspK7d+/X6ZpKjc3N7zu6dOn65prrtHixYs1evRo/dd//ZeKiuwfHfHlL385/P+zs7OVm5urTz/9VOnp6Xrvvfd0xhlnNHn8mWeeabvrdDrDXcMw9O6770b1fW3Njh07dOGFF+qnP/2pLr74YkmHv8+HDh3SueeeG35cRkaGzjzzTL399tutrrXxlAC1tbXhdcQag0YAAAAAAAAbHEYP9f/RnuM/UNLnO1/RrqcmHPdx7gv/T937fjWiz22H0+m0dYXpYz3/aPv379eECRM0b968Fo8tKCjQ+++/32bv1Vdf1eTJk3X77bdr7Nixcrlceuyxx/Sb3/wm/JjbbrtNl112mf71r39p6dKluvXWW/XYY4/p29/+tq21Nz+M3OFwKBQK2WrEqxvJ1dADgYAmTpyoc845R3fccYetfqOj13r0OTTjhXM0AgAAAAAA2OBwOJSW4YzoT1bhaKVn91XLS6aFa0rP7qeswtER9WK1V+XQoUP16quvNjnn4+rVq5WTk6N+/fq1+rzTTjtNb731lgYMGKBBgwY1+eN0OjV48GBlZWXphRdeOObz16xZo/79++umm27S8OHDNXjwYG3fvr3F44qLi3XjjTfq+eef10UXXaRHHnlEktStWzcFg8F2fvXSkCFD9Prrrze57eiLqUQr2u9rc5ZlacqUKQqFQvrLX/7S5OdeVFQUPr9jo0OHDmndunXy+Xzt/hrag0EjAAAAAABAnDjS0nXCqN82ftT8XknSCaN+I0daeoeu69prr1VVVZX+3//7f3rn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pqWlqV+/foleRtzl5ubyHwmOi+0EkWA7QSTYThAJthNEgu0EkWA7QaTYVhAJtpPotLUnYyMuBgMAAAAAAACg3Rg0AgAAAAAAAGg3Bo1JLjMzU7feeqsyMzMTvRR0YmwniATbCSLBdoJIsJ0gEmwniATbCSLFtoJIsJ3EX8pfDAYAAAAAAABA/LFHIwAAAAAAAIB2Y9AIAAAAAAAAoN0YNAIAAAAAAABoNwaNAAAAAAAAANqNQSMAAAAAAACAdmPQGCcvvfSSJkyYII/HI4fDoaeeeqrJ/bt27dIVV1whj8ejHj166Bvf+Ia2bt16zJZlWRo3btwxOy+88IJGjBihnJwc5efna+bMmTJN87jrW7lypU477TRlZmZq0KBBWrhwoa31IzaSfTsZMGCAHA5Hiz8/+tGP7HwbcByx2E5GjRrV4uf0gx/8oMljduzYofHjx6tHjx7q06ePZsyYEdF28ve//10nnXSSunfvrmHDhunZZ59tcv+TTz6pMWPG6IQTTpDD4dDGjRuj+j6gbcm+nRzrtcThcGj+/PnRfUNwTB21nfz4xz/W6aefrszMTH3lK1+JeH28P+kckn074f1Jx+iI7WTTpk269NJL5fV6lZWVpaFDh+ree++NaH28P+kckn074f1Jx+iI7eTTTz/VN77xDXk8HmVmZsrr9eq6665TXV3dcdfH64k9DBrjJBAIqKSkRL///e9b3GdZli688EK9//77evrpp7Vhwwb1799fo0ePViAQaPH4e+65Rw6Ho8XtmzZt0gUXXKBvfOMb2rBhgx5//HH985//1KxZs9pc2wcffKDx48ertLRUGzdu1A033KDvfe97eu655yJaP2In2beTdevWqaamJvxn2bJlkqT/+q//svutQBtitZ1cffXVTX5ed911V/i+YDCo8ePH6+DBg1qzZo3Ky8u1cOFC/eIXv2hzbWvWrNGll16qadOmacOGDbrwwgt14YUXasuWLU3W/9WvflXz5s1r53cCbUn27eToz1lTU6MFCxbI4XDoO9/5Tju/MzhaR2wnja666ipdcsklEa+N9yedR7JvJ7w/6RgdsZ288cYb6tOnjxYtWqS33npLN910k2bPnq377ruvzbXx/qTzSPbthPcnHaMjtpO0tDR961vf0j//+U+99957WrhwoZYvX97il2DN8XoSBQtxJ8lasmRJ+ON3333XkmRt2bIlfFswGLR69+5t/elPf2ry3A0bNlh9+/a1ampqWnRmz55tDR8+vMnj//nPf1rdu3e36urqWl3Pz372M+vkk09uctsll1xijR07NqL1Iz6SfTuxLMu6/vrrraKiIisUCrX1paIdot1ORo4caV1//fWtdp999lkrLS3N+vjjj8O33X///VZubq7V0NDQ6vMuvvhia/z48U1uO+uss6zvf//7LR77wQcfWJKsDRs2tPEVIhaSeTtp9K1vfcs6//zzW70f7Rev7eRot956q1VSUhLRY3l/0jkl+3ZiWbw/6QgdsZ00uvbaa63S0tI2H8P7k84pmbeTRrw/ib+O3E7uvfdeq1+/fm0+htcT+9ijMQEaGhokSd27dw/flpaWpszMTL3yyivh2w4cOKDLLrtMv//975Wfn3/MztENScrKytLnn3+uN954o9XP/+qrr2r06NFNbhs7dqxeffXVqL4exEeybScHDx7UokWLdNVVVx1zz0rER6TbiSQtXrxYX/rSl3TKKado9uzZOnDgQPi+V199VcOGDZPb7Q7fNnbsWNXV1emtt95q9fPzepIckm072bVrl/71r39p2rRpkX+RaLdYbSfR4vUkOSTbdsL7k8SI53bi9/vVq1evNh/D60lySLbthPcniRGv7aS6ulpPPvmkRo4c2ebn5/XEPgaNCXDSSSepsLBQs2fP1p49e3Tw4EHNmzdPH330kWpqasKPu/HGGzVixAh961vfOmZn7NixWrNmjf76178qGAxq586duuOOOySpSae5jz/+uMk/EiXJ7Xarrq5O9fX1MfgKEQvJtp089dRT2rt3r6644ooovlpEK9Lt5LLLLtOiRYu0YsUKzZ49W3/5y180ZcqU8P2t/bwb72tNa89r6znoeMm2nZSXlysnJ0cXXXSR7a8V0YvVdhIt3p8kh2TbTnh/khjx2k7WrFmjxx9/XNdcc02bn5/3J8kh2bYT3p8kRqy3k0svvVQ9evRQ3759lZubq4ceeqjNz8/riX0MGhMgIyNDTz75pN577z316tVLPXr00IoVKzRu3DilpR3+kfzzn//Uiy++qHvuuafVzpgxYzR//nz94Ac/UGZmpoqLi3XBBRdIUriTnZ0d/nO8cw+gc0m27eThhx/WuHHj5PF4ono+ohPJdiJJ11xzjcaOHathw4Zp8uTJ+vOf/6wlS5aosrIyos+zY8eOJtvJr371q3h9SYiDZNtOFixYoMmTJ7fYGxvx1VHbicT7k2SWbNsJ708SIx7byZYtW/Stb31Lt956q8aMGSOJ9yfJLtm2E96fJEast5O7775b69ev19NPP63KykpNnz5dEq8nsWQkegFd1emnn66NGzfK7/fr4MGD6t27t8466ywNHz5ckvTiiy+qsrJSPXv2bPK873znOzrvvPO0cuVKSdL06dN14403qqamRnl5efrwww81e/ZsnXjiiZLU5GpHubm5kqT8/Hzt2rWrSXfXrl3Kzc1VVlZWfL5gRCVZtpPt27dr+fLlevLJJ2P41SNSx9tOjuWss86SJG3btk1FRUXKz8/Xf/7znyaPafz55+fny+PxNNlOGg9FaW07OdZh/EisZNlOXn75Zb377rt6/PHHo/o60T6x2E4iwfuT5JYs2wnvTxIrlttJRUWFvv71r+uaa67RzTffHL6d9yfJL1m2E96fJFYst5P8/Hzl5+frpJNOUq9evXTeeefplltu4fUkhtijMcFcLpd69+6trVu36vXXXw8f/jpr1iy9+eab2rhxY/iPdHj6/sgjjzRpOBwOeTweZWVl6a9//au8Xq9OO+00SdKgQYPCf/r06SNJOuecc/TCCy80aSxbtkznnHNOnL9aRKuzbyePPPKI+vTpo/Hjx8f6S4cNrW0nx9K4rRQUFEg6/PPevHmzamtrw49ZtmyZcnNz5fP5ZBhGk+2k8S9eXk+ST2ffTh5++GGdfvrpKikpae+XinZoz3YSCd6fpIbOvp3w/qRzaO928tZbb6m0tFRTp07VnXfe2eTxvD9JHZ19O+H9SecQ6793QqGQpMPngeT1JIYSfTWaVLVv3z5rw4YN1oYNGyxJ1m9/+1trw4YN1vbt2y3Lsqy//e1v1ooVK6zKykrrqaeesvr3729ddNFFbTZ1jKsr3nXXXdabb75pbdmyxbrjjjusjIyM416B8f3337d69OhhzZgxw3r77bet3//+91Z6err173//O+L1IzaSfTuxrMNX/CosLLRmzpxp++tHZNq7nWzbts264447rNdff9364IMPrKeffto68cQTra997Wvhx5imaZ1yyinWmDFjrI0bN1r//ve/rd69e1uzZ89uc22rV6+2DMOwfv3rX1tvv/22deutt1oZGRnW5s2bw4/59NNPrQ0bNlj/+te/LEnWY489Zm3YsMGqqamJ8Xeqa0v27cSyLMvv91s9evSw7r///hh+Z3C0jthOLMuytm7dam3YsMH6/ve/bxUXF4c/Z1tXJ+f9SeeR7NuJZfH+pCN0xHayefNmq3fv3taUKVOsmpqa8J/a2to218b7k84j2bcTy+L9SUfoiO3kX//6l7VgwQJr8+bN1gcffGA988wz1tChQ61zzz23zbXxemIfg8Y4WbFihSWpxZ+pU6dalnXkMuoZGRlWYWGhdfPNN7f5psqyjj1AKi0ttVwul9W9e3frrLPOsp599tmI1/eVr3zF6tatm3XiiSdajzzyiK31IzaSfTuxLMt67rnnLEnWu+++G1ET9rV3O9mxY4f1ta99zerVq5eVmZlpDRo0yJoxY4bl9/ubfJ4PP/zQGjdunJWVlWV96Utfsn7yk59Yhw4dOu76/va3v1nFxcVWt27drJNPPtn617/+1eT+Rx555Jjrv/XWW9v9vcERyb6dWJZlPfDAA1ZWVpa1d+/e9n0z0KqO2k5Gjhx5zM/zwQcfHHd9vD9JvGTfTiyL9ycdoSO2k1tvvfWYn6N///7HXR/vTzqHZN9OLIv3Jx2hI7aTF1980TrnnHPC/y4ePHiwNXPmTGvPnj3HXR+vJ/Y4LMuyjrWnIwAAAAAAAABEinM0AgAAAAAAAGg3Bo0AAAAAAAAA2o1BIwAAAAAAAIB2Y9AIAAAAAAAAoN0YNAIAAAAAAABoNwaNAAAAAAAAANqNQSMAAAAAAACAdmPQCAAAAAAAAKDdGDQCAAAAAAAAaDcGjQAAAAAAAADajUEjAAAAAAAAgHb7/126sUv6rGRFAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from aeon.forecasting.model_selection import ExpandingWindowSplitter\n", "from aeon.visualisation import plot_series_windows\n", "\n", "cv = ExpandingWindowSplitter(step_length=1, fh=fh, initial_window=24)\n", "plot_series_windows(y.iloc[:50], cv)" ] }, { "cell_type": "markdown", "id": "1bf857cd", "metadata": {}, "source": [ "##### `predict_proba` - distribution forecasts aka \"full\" probabilistic forecasts#" ] }, { "cell_type": "markdown", "id": "20f4a2c190ae44a6", "metadata": { "collapsed": false }, "source": [ "Inputs:\\\n", "`fh` - forecasting horizon (not necessary if seen in `fit`)\\\n", "`marginal`, bool, optional, default=True\\\n", "whether returned distribution is marginal over time points (True), or joint over time points (False)\\\n", "(not all forecasters support `marginal=False`)\n", "\n", "Output: `scipy` `Distribution` object.\n", "if `marginal=True`: batch shape 1D, `len(fh)` (time); event shape 1D, `len(y.columns)` (variables)\\\n", "if `marginal=False`: event shape 2D, `[len(fh), len(y.columns)]`" ] }, { "cell_type": "code", "execution_count": 16, "id": "1d2ced98dc0d248d", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:35.749623700Z", "start_time": "2023-08-24T18:26:32.324824900Z" }, "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
1961-011961-021961-031961-041961-051961-061961-071961-081961-091961-101961-111961-12
1961-01292.337338255.743002264.805454227.703065146.093860154.452835157.976801105.16076978.33025781.83580378.048880197.364513
1961-02255.743002422.704619402.539279353.437066291.205423236.587887227.199386205.653016152.067422121.629136156.199113245.437913
1961-03264.805454402.539279588.085358506.095484426.997535394.503941311.457854282.072157243.688600185.938841185.070365305.461220
1961-04227.703065353.437066506.095484634.350469526.180900482.653111422.777319323.453753280.749314242.065791211.397170294.971041
1961-05146.093860291.205423426.997535526.180900628.659359570.277532499.460195419.166450325.582777281.608607269.847443318.534683
1961-06154.452835236.587887394.503941482.653111570.277532728.132505629.184846527.767036444.690514330.643653313.248427382.803221
1961-07157.976801227.199386311.457854422.777319499.460195629.184846753.550007629.138725536.407564441.998603352.570968415.110922
1961-08105.160769205.653016282.072157323.453753419.166450527.767036629.138725729.423302615.142484506.155610439.994837430.992295
1961-0978.330257152.067422243.688600280.749314325.582777444.690514536.407564615.142484744.225555609.227136527.489574546.637590
1961-1081.835803121.629136185.938841242.065791281.608607330.643653441.998603506.155610609.227136697.805477590.542045604.681136
1961-1178.048880156.199113185.070365211.397170269.847443313.248427352.570968439.994837527.489574590.542045706.960631698.982589
1961-12197.364513245.437913305.461220294.971041318.534683382.803221415.110922430.992295546.637590604.681136698.982589913.698243
\n", "
" ], "text/plain": [ " 1961-01 1961-02 1961-03 1961-04 1961-05 \\\n", "1961-01 292.337338 255.743002 264.805454 227.703065 146.093860 \n", "1961-02 255.743002 422.704619 402.539279 353.437066 291.205423 \n", "1961-03 264.805454 402.539279 588.085358 506.095484 426.997535 \n", "1961-04 227.703065 353.437066 506.095484 634.350469 526.180900 \n", "1961-05 146.093860 291.205423 426.997535 526.180900 628.659359 \n", "1961-06 154.452835 236.587887 394.503941 482.653111 570.277532 \n", "1961-07 157.976801 227.199386 311.457854 422.777319 499.460195 \n", "1961-08 105.160769 205.653016 282.072157 323.453753 419.166450 \n", "1961-09 78.330257 152.067422 243.688600 280.749314 325.582777 \n", "1961-10 81.835803 121.629136 185.938841 242.065791 281.608607 \n", "1961-11 78.048880 156.199113 185.070365 211.397170 269.847443 \n", "1961-12 197.364513 245.437913 305.461220 294.971041 318.534683 \n", "\n", " 1961-06 1961-07 1961-08 1961-09 1961-10 \\\n", "1961-01 154.452835 157.976801 105.160769 78.330257 81.835803 \n", "1961-02 236.587887 227.199386 205.653016 152.067422 121.629136 \n", "1961-03 394.503941 311.457854 282.072157 243.688600 185.938841 \n", "1961-04 482.653111 422.777319 323.453753 280.749314 242.065791 \n", "1961-05 570.277532 499.460195 419.166450 325.582777 281.608607 \n", "1961-06 728.132505 629.184846 527.767036 444.690514 330.643653 \n", "1961-07 629.184846 753.550007 629.138725 536.407564 441.998603 \n", "1961-08 527.767036 629.138725 729.423302 615.142484 506.155610 \n", "1961-09 444.690514 536.407564 615.142484 744.225555 609.227136 \n", "1961-10 330.643653 441.998603 506.155610 609.227136 697.805477 \n", "1961-11 313.248427 352.570968 439.994837 527.489574 590.542045 \n", "1961-12 382.803221 415.110922 430.992295 546.637590 604.681136 \n", "\n", " 1961-11 1961-12 \n", "1961-01 78.048880 197.364513 \n", "1961-02 156.199113 245.437913 \n", "1961-03 185.070365 305.461220 \n", "1961-04 211.397170 294.971041 \n", "1961-05 269.847443 318.534683 \n", "1961-06 313.248427 382.803221 \n", "1961-07 352.570968 415.110922 \n", "1961-08 439.994837 430.992295 \n", "1961-09 527.489574 546.637590 \n", "1961-10 590.542045 604.681136 \n", "1961-11 706.960631 698.982589 \n", "1961-12 698.982589 913.698243 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from aeon.forecasting.naive import NaiveVariance\n", "\n", "forecaster_with_covariance = NaiveVariance(forecaster)\n", "forecaster_with_covariance.fit(y=y, fh=fh)\n", "forecaster_with_covariance.predict_var(cov=True)" ] }, { "cell_type": "code", "execution_count": 17, "id": "ba058557d04249d7", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:38.822904600Z", "start_time": "2023-08-24T18:26:35.742642500Z" }, "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from aeon.forecasting.naive import NaiveForecaster\n", "\n", "forecaster = NaiveForecaster(sp=12)\n", "forecaster.fit(y, fh=fh)\n", "\n", "y_pred_dist = forecaster.predict_proba()\n", "y_pred_dist" ] }, { "cell_type": "code", "execution_count": 21, "id": "e91fe16fe8062b37", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:38.833846900Z", "start_time": "2023-08-24T18:26:38.806412800Z" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "q1 = [370.45950017 344.45950017 372.45950017 414.45950017 425.45950017\n", " 488.45950017 575.45950017 559.45950017 461.45950017 414.45950017\n", " 343.45950017 385.45950017] q2 = [463.54049983 437.54049983 465.54049983 507.54049983 518.54049983\n", " 581.54049983 668.54049983 652.54049983 554.54049983 507.54049983\n", " 436.54049983 478.54049983]\n" ] } ], "source": [ "# obtaining quantiles\n", "q1 = y_pred_dist.ppf(0.1)\n", "q2 = y_pred_dist.ppf(0.9)\n", "print(\"q1 = \", q1[0], \" q2 = \", q2[0])" ] }, { "cell_type": "markdown", "id": "64e61c157cea5787", "metadata": { "collapsed": false }, "source": [ "##### a note on consistence of methods\n", "\n", "Outputs of `predict_interval`, `predict_quantiles`, `predict_var`, `predict_proba` are *typically* but not *necessarily* consistent with each other!\n", "\n", "Consistency is a weak interface requirement but not strictly enforced." ] }, { "cell_type": "markdown", "id": "da797a68", "metadata": {}, "source": [ "#### Probabilistic forecasting for multivariate and hierarchical data" ] }, { "cell_type": "markdown", "id": "0b2ce785", "metadata": {}, "source": [ "multivariate data: first column index for different variables" ] }, { "cell_type": "code", "execution_count": null, "id": "553d2e2b", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:38.981630300Z", "start_time": "2023-08-24T18:26:38.823873900Z" } }, "outputs": [], "source": [ "from aeon.datasets import load_longley\n", "from aeon.forecasting.var import VAR\n", "\n", "_, y = load_longley()\n", "\n", "mv_forecaster = VAR()\n", "\n", "mv_forecaster.fit(y, fh=[1, 2, 3])\n", "# mv_forecaster.predict_var()" ] }, { "cell_type": "markdown", "id": "bd466ddc", "metadata": {}, "source": [ "hierarchical data: probabilistic forecasts per level are row-concatenated with a row hierarchy index" ] }, { "cell_type": "code", "execution_count": null, "id": "040ee090", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:38.982626100Z", "start_time": "2023-08-24T18:26:38.837837100Z" } }, "outputs": [], "source": [ "from aeon.forecasting.arima import ARIMA\n", "from aeon.testing.utils.data_gen import _make_hierarchical\n", "\n", "y_hier = _make_hierarchical()\n", "y_hier" ] }, { "cell_type": "code", "execution_count": null, "id": "a49a126f", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.251022400Z", "start_time": "2023-08-24T18:26:38.852920800Z" } }, "outputs": [], "source": [ "forecaster = ARIMA()\n", "forecaster.fit(y_hier, fh=[1, 2, 3])\n", "forecaster.predict_interval()" ] }, { "cell_type": "markdown", "id": "74763c48", "metadata": {}, "source": [ "(more about this in the hierarchical forecasting notebook)" ] }, { "cell_type": "markdown", "id": "illegal-legend", "metadata": {}, "source": [ "---\n", "### Metrics for probabilistic forecasts and evaluation\n" ] }, { "cell_type": "markdown", "id": "1f8cb021", "metadata": {}, "source": [ "#### overview - theory\n", "\n", "Predicted `y` has different form from true `y`, so metrics have form\n", "\n", "`metric(y_true: series, y_pred: proba_prediction) -> float`\n", "\n", "where `proba_prediction` is the type of the specific \"probabilistic prediction type\".\n", "\n", "I.e., we have the following function signature for a loss/metric $L$:\n", "\n", "| Name | param | prediction/estimate of | general form |\n", "| ---- | ----- | ---------------------- | -------- |\n", "| point forecast | | conditional expectation $\\mathbb{E}[y'\\|y]$ | `metric(y_true, y_pred)` |\n", "| variance forecast | | conditional variance $Var[y'\\|y]$ | `metric(y_pred, y_pt, y_var)` (requires point forecast too) |\n", "| quantile forecast | $\\alpha\\in (0,1)$ | $\\alpha$-quantile of $y'\\|y$ | `metric(y_true, y_quantiles, alpha)` |\n", "| interval forecast | $c\\in (0,1)$| $[a,b]$ s.t. $P(a\\le y' \\le b\\| y) = c$ | `metric(y_true, y_interval, c)` |\n", "| distribution forecast | | the law/distribution of $y'\\|y$ | `metric(y_true, y_distribution)` |\n" ] }, { "cell_type": "markdown", "id": "6c20bd6e", "metadata": {}, "source": [ "#### metrics: general signature and averaging" ] }, { "cell_type": "markdown", "id": "31435c23", "metadata": {}, "source": [ "intro using the example of the quantile loss aka interval loss aka pinball loss, in the univariate case.\n", "\n", "For one quantile value $\\alpha$, the (per-sample) pinball loss function is defined as\\\n", "$L_{\\alpha}(\\widehat{y}, y) := \\alpha \\cdot \\Theta (y - \\widehat{y}) + (1-\\alpha) \\cdot \\Theta (\\widehat{y} - y)$,\\\n", "where $\\Theta (x) := [1$ if $x\\ge 0$ and $0$ otherwise $]$ is the Heaviside function.\n", "\n", "This can be used to evaluate:\n", "\n", "* *multiple quantile* forecasts $\\widehat{\\bf y}:=\\widehat{y}_1, \\dots, \\widehat{y}_k$ for quantiles ${\\bf \\alpha} = \\alpha_1,\\dots, \\alpha_k$ via\\\n", "$L_{{\\bf \\alpha}}(\\widehat{\\bf y}, y) := \\frac{1}{k}\\sum_{i=1}^k L_{\\alpha_i}(\\widehat{y}_i, y)$\n", "* *interval forecasts* $[\\widehat{a}, \\widehat{b}]$ at symmetric coverage $c$ via\\\n", "$L_c([\\widehat{a},\\widehat{b}], y) := \\frac{1}{2} L_{\\alpha_{low}}(\\widehat{a}, y) + \\frac{1}{2}L_{\\alpha_{high}}(\\widehat{b}, y)$ where $\\alpha_{low} = \\frac{1-c}{2}, \\alpha_{high} = \\frac{1+c}{2}$\n", "\n", "(all are known to be strictly proper losses for their respective prediction object)\n", "\n", "There are *three things we can choose to average over*:\n", "\n", "* quantile values, if multiple are predicted - elements of `alpha` in `predict_interval(fh, alpha)`\n", "* time stamps in the forecasting horizon `fh` - elements of `fh` in `fit(fh)` resp `predict_interval(fh, alpha)`\n", "* variables in `y`, in case of multivariate (later, first we look at univariate)\n", "\n", "We will show quantile values and time stamps first:\n", "\n", "1. averaging by `fh` time stamps only -> one number per quantile value in `alpha`\n", "\n", "2. averaging over nothing -> one number per quantile value in `alpha` and `fh` time stamp\n", "\n", "3. averaging over both `fh` and quantile values in `alpha` -> one number\n" ] }, { "cell_type": "markdown", "id": "49c020c0", "metadata": {}, "source": [ "first, generating some quantile predictions.\n", "`pred_quantiles` now contains quantile forecasts\\\n", "formally, forecasts $\\widehat{y}_j(t_i)$ where $\\widehat{y_j}$ are forecasts at quantile $\\alpha_j$, with range $i=1\\dots N, j=1\\dots k$\\\n", "$\\alpha_j$ are the elements of `alpha`, and $t_i$ are the future time stamps indexed by `fh`" ] }, { "cell_type": "code", "execution_count": null, "id": "660fc4ef", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.328836600Z", "start_time": "2023-08-24T18:26:39.206633Z" } }, "outputs": [], "source": [ "import numpy as np\n", "\n", "from aeon.datasets import load_airline\n", "from aeon.forecasting.theta import ThetaForecaster\n", "\n", "y_train = load_airline()[0:24] # train on 24 months, 1949 and 1950\n", "y_test = load_airline()[24:36] # ground truth for 12 months in 1951\n", "\n", "# try to forecast 12 months ahead, from y_train\n", "fh = np.arange(1, 13)\n", "\n", "forecaster = ThetaForecaster(sp=12)\n", "forecaster.fit(y_train, fh=fh)\n", "\n", "pred_quantiles = forecaster.predict_quantiles(alpha=[0.1, 0.25, 0.5, 0.75, 0.9])\n", "pred_quantiles" ] }, { "cell_type": "markdown", "id": "ca086cc1", "metadata": {}, "source": [ "1. computing the loss by quantile point or interval end, averaged over `fh` time stamps\\\n", "i.e., $\\frac{1}{N} \\sum_{i=1}^N L_{\\alpha}(\\widehat{y}(t_i), y(t_i))$ for $t_i$ in the `fh`, and every `alpha`,\n", "this is one number per quantile value in `alpha`" ] }, { "cell_type": "code", "execution_count": null, "id": "induced-shakespeare", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.332826Z", "start_time": "2023-08-24T18:26:39.281455100Z" } }, "outputs": [], "source": [ "from aeon.performance_metrics.forecasting.probabilistic import PinballLoss\n", "\n", "loss = PinballLoss(score_average=False)\n", "loss(y_true=y_test, y_pred=pred_quantiles)" ] }, { "cell_type": "markdown", "id": "b4537b68", "metadata": {}, "source": [ "2. computing the the individual loss values, by sample, no averaging,\\\n", "i.e., $L_{\\alpha}(\\widehat{y}(t_i), y(t_i))$ for every $t_i$ in `fh` and every $\\alpha$ in `alpha`\\\n", "this is one number per quantile value $\\alpha$ in `alpha` and time point $t_i$ in `fh`" ] }, { "cell_type": "code", "execution_count": null, "id": "c033800d", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.387679300Z", "start_time": "2023-08-24T18:26:39.303396600Z" } }, "outputs": [], "source": [ "loss.evaluate_by_index(y_true=y_test, y_pred=pred_quantiles)" ] }, { "cell_type": "markdown", "id": "1bf5aac3", "metadata": {}, "source": [ "3. computing the loss for a multiple quantile forecast, averaged over `fh` time stamps and quantile values `alpha`\\\n", "i.e., $\\frac{1}{Nk} \\sum_{j=1}^k\\sum_{i=1}^N L_{\\alpha_j}(\\widehat{y_j}(t_i), y(t_i))$ for $t_i$ in `fh`, and quantile values $\\alpha_j$,\\\n", "this is a single number that can be used in tuning (e.g., grid search) or evaluation overall" ] }, { "cell_type": "code", "execution_count": null, "id": "97479196", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.488818200Z", "start_time": "2023-08-24T18:26:39.322852800Z" } }, "outputs": [], "source": [ "from aeon.performance_metrics.forecasting.probabilistic import PinballLoss\n", "\n", "loss_multi = PinballLoss(score_average=True)\n", "loss_multi(y_true=y_test, y_pred=pred_quantiles)" ] }, { "cell_type": "markdown", "id": "759cc7f8", "metadata": {}, "source": [ "4. computing the loss for a multiple quantile forecast, averaged quantile values `alpha`, for individual time stamps\\\n", "i.e., $\\frac{1}{k} \\sum_{j=1}^k L_{\\alpha_j}(\\widehat{y_j}(t_i), y(t_i))$ for $t_i$ in `fh`, and quantile values $\\alpha_j$,\\\n", "this is a univariate time series at `fh` times $t_i$, it can be used for tuning or evaluation by horizon index" ] }, { "cell_type": "code", "execution_count": null, "id": "16a6d687", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.490813200Z", "start_time": "2023-08-24T18:26:39.335818100Z" } }, "outputs": [], "source": [ "loss_multi.evaluate_by_index(y_true=y_test, y_pred=pred_quantiles)" ] }, { "cell_type": "markdown", "id": "68c94017", "metadata": {}, "source": [ "Question: why is `score_average` a constructor flag, and `evaluate_by_index` a method?\n", "\n", "* not all losses are \"by index\", so `evaluate_by_index` logic can vary (e.g., pseudo-samples)\n", "* constructor args define \"mathematical object\" of scientific signature: series -> non-temporal object\\\n", "methods define action or \"way to apply\", e.g., as used in tuning or reporting\n", "\n", "Compare `score_average` to `multioutput` arg in `scikit-learn` metrics and `aeon`." ] }, { "cell_type": "markdown", "id": "d15ecf62", "metadata": {}, "source": [ "#### metrics: interval vs quantile metrics" ] }, { "cell_type": "markdown", "id": "9e18fcf9", "metadata": {}, "source": [ "Interval and quantile metrics can be used interchangeably:\n", "\n", "internally, these are easily convertible to each other\\\n", "recall: lower/upper interval = quantiles at $\\frac{1}{2} \\pm \\frac{1}2$ `coverage`" ] }, { "cell_type": "code", "execution_count": null, "id": "c7d0df6d", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.762659500Z", "start_time": "2023-08-24T18:26:39.353770400Z" } }, "outputs": [], "source": [ "pred_interval = forecaster.predict_interval(coverage=0.8)\n", "pred_interval" ] }, { "cell_type": "markdown", "id": "6142c0af", "metadata": {}, "source": [ "loss object recognizes an input type automatically and computes the corresponding interval loss" ] }, { "cell_type": "code", "execution_count": null, "id": "4857f09d", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.762659500Z", "start_time": "2023-08-24T18:26:39.375711700Z" } }, "outputs": [], "source": [ "loss(y_true=y_test, y_pred=pred_interval)" ] }, { "cell_type": "code", "execution_count": null, "id": "fa588117", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.783771700Z", "start_time": "2023-08-24T18:26:39.387679300Z" } }, "outputs": [], "source": [ "loss_multi(y_true=y_test, y_pred=pred_interval)" ] }, { "cell_type": "markdown", "id": "5dac797f", "metadata": {}, "source": [ "#### evaluation by backtesting" ] }, { "cell_type": "code", "execution_count": null, "id": "15e0f857", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.919464100Z", "start_time": "2023-08-24T18:26:39.405016100Z" } }, "outputs": [], "source": [ "from aeon.datasets import load_airline\n", "from aeon.forecasting.model_evaluation import evaluate\n", "from aeon.forecasting.model_selection import ExpandingWindowSplitter\n", "from aeon.forecasting.theta import ThetaForecaster\n", "from aeon.performance_metrics.forecasting.probabilistic import PinballLoss\n", "\n", "# 1. define data\n", "y = load_airline()\n", "\n", "# 2. define splitting/backtesting regime\n", "fh = [1, 2, 3]\n", "cv = ExpandingWindowSplitter(step_length=12, fh=fh, initial_window=72)\n", "\n", "# 3. define loss to use\n", "loss = PinballLoss()\n", "# default is score_average=True and multi_output=\"uniform_average\", so gives a number\n", "\n", "forecaster = ThetaForecaster(sp=12)\n", "results = evaluate(\n", " forecaster=forecaster, y=y, cv=cv, strategy=\"refit\", return_data=True, scoring=loss\n", ")\n", "results.iloc[:, :5].head()" ] }, { "cell_type": "markdown", "id": "d2b98ad3", "metadata": {}, "source": [ "* each row is one train/test split in the walkforward setting\n", "* first col is the loss on the test fold\n", "* last two columns summarise length of training window, cutoff between train/test" ] }, { "cell_type": "markdown", "id": "4d3ab695", "metadata": {}, "source": [ "roadmap items:\n", "\n", "implementing further metrics\n", "\n", "* distribution prediction metrics - may need tfp extension\n", "* advanced evaluation set-ups\n", "* variance loss\n", "\n", "contributions are appreciated!" ] }, { "cell_type": "markdown", "id": "public-union", "metadata": {}, "source": [ "---\n", "### Advanced composition: pipelines, tuning, reduction, adding proba forecasts to any estimator\n" ] }, { "cell_type": "markdown", "id": "02d2367c", "metadata": {}, "source": [ "composition = constructing \"composite\" estimators out of multiple \"component\" estimators\n", "\n", "* **reduction** = building estimator type A using estimator type B\n", " * special case: adding proba forecasting capability to non-proba forecaster\n", " * special case: using proba supervised learner for proba forecasting\n", "* **pipelining** = chaining estimators, here: transformers to a forecaster\n", "* **tuning** = automated hyperparameter fitting, usually via internal evaluation loop\n", " * special case: grid parameter search and random parameter search tuning\n", " * special case: \"Auto-ML\", optimising not just estimator hyperparameter but also choice of estimator" ] }, { "cell_type": "markdown", "id": "88e72a7e", "metadata": {}, "source": [ "#### Adding probabilistic forecasts to non-probabilistic forecasters" ] }, { "cell_type": "markdown", "id": "ea37cf77", "metadata": {}, "source": [ "start with a forecaster that does not produce probabilistic predictions:" ] }, { "cell_type": "code", "execution_count": null, "id": "6abda0ed", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.919464100Z", "start_time": "2023-08-24T18:26:39.663909100Z" } }, "outputs": [], "source": [ "from aeon.forecasting.exp_smoothing import ExponentialSmoothing\n", "\n", "my_forecaster = ExponentialSmoothing()\n", "\n", "# does the forecaster support probabilistic predictions?\n", "my_forecaster.get_tag(\"capability:pred_int\")" ] }, { "cell_type": "markdown", "id": "0cd78bfe", "metadata": {}, "source": [ "adding probabilistic predictions is possible via reduction wrappers:" ] }, { "cell_type": "code", "execution_count": null, "id": "60b0664a", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:39.919464100Z", "start_time": "2023-08-24T18:26:39.663909100Z" } }, "outputs": [], "source": [ "# NaiveVariance adds intervals & variance via collecting past residuals\n", "from aeon.forecasting.naive import NaiveVariance\n", "\n", "# create a composite forecaster like this:\n", "my_forecaster_with_proba = NaiveVariance(my_forecaster)\n", "\n", "# does it support probabilistic predictions now?\n", "my_forecaster_with_proba.get_tag(\"capability:pred_int\")" ] }, { "cell_type": "markdown", "id": "8a47135c", "metadata": {}, "source": [ "the composite can now be used like any probabilistic forecaster:" ] }, { "cell_type": "code", "execution_count": null, "id": "99e6bc89", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:42.042126700Z", "start_time": "2023-08-24T18:26:39.663909100Z" } }, "outputs": [], "source": [ "y = load_airline()\n", "\n", "my_forecaster_with_proba.fit(y, fh=[1, 2, 3])\n", "my_forecaster_with_proba.predict_interval()" ] }, { "cell_type": "markdown", "id": "64e6326f", "metadata": {}, "source": [ "roadmap items:\n", "\n", "more compositors to enable probabilistic forecasting\n", "\n", "* bootstrap forecast intervals\n", "* reduction to probabilistic supervised learning\n", "* popular \"add probabilistic capability\" wrappers\n", "\n", "contributions are appreciated!" ] }, { "cell_type": "markdown", "id": "outstanding-campus", "metadata": {}, "source": [ "#### Tuning and AutoML" ] }, { "cell_type": "markdown", "id": "4e913454", "metadata": {}, "source": [ "tuning and autoML with probabilistic forecasters works exactly like with \"ordinary\" forecasters\\\n", "via `ForecastingGridSearchCV` or `ForecastingRandomSearchCV`\n", "\n", "* change metric to tune to a probabilistic metric\n", "* use a corresponding probabilistic metric or loss function\n", "\n", "Internally, evaluation will be done using probabilistic metric, via backtesting evaluation.\n", "\n", "**important**: to evaluate the tuned estimator, use it in `evaluate` or a separate benchmarking workflow.\\\n", "Using internal metric/loss values amounts to in-sample evaluation, which is over-optimistic." ] }, { "cell_type": "code", "execution_count": null, "id": "difficult-belarus", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:42.043124300Z", "start_time": "2023-08-24T18:26:42.038137700Z" } }, "outputs": [], "source": [ "from aeon.forecasting.model_selection import (\n", " ForecastingGridSearchCV,\n", " SlidingWindowSplitter,\n", ")\n", "from aeon.forecasting.theta import ThetaForecaster\n", "from aeon.performance_metrics.forecasting.probabilistic import PinballLoss\n", "\n", "# forecaster we want to tune\n", "forecaster = ThetaForecaster()\n", "\n", "# parameter grid to search over\n", "param_grid = {\"sp\": [1, 6, 12]}\n", "\n", "# evaluation/backtesting regime for *tuning*\n", "fh = [1, 2, 3] # fh for tuning regime, does not need to be same as in fit/predict!\n", "cv = SlidingWindowSplitter(window_length=36, fh=fh)\n", "scoring = PinballLoss()\n", "\n", "# construct the composite forecaster with grid search compositor\n", "gscv = ForecastingGridSearchCV(\n", " forecaster, cv=cv, param_grid=param_grid, scoring=scoring, strategy=\"refit\"\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "562b301e", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:44.508766Z", "start_time": "2023-08-24T18:26:42.044121400Z" } }, "outputs": [], "source": [ "from aeon.datasets import load_airline\n", "\n", "y = load_airline()[:60]\n", "\n", "gscv.fit(y, fh=fh)" ] }, { "cell_type": "markdown", "id": "69a297df", "metadata": {}, "source": [ "inspect hyperparameter fit obtained by tuning:" ] }, { "cell_type": "code", "execution_count": null, "id": "comparative-sampling", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:44.524152600Z", "start_time": "2023-08-24T18:26:44.502782900Z" } }, "outputs": [], "source": [ "gscv.best_params_" ] }, { "cell_type": "markdown", "id": "ca5245bb", "metadata": {}, "source": [ "obtain predictions:" ] }, { "cell_type": "code", "execution_count": null, "id": "133d779e", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:44.614993200Z", "start_time": "2023-08-24T18:26:44.508354800Z" } }, "outputs": [], "source": [ "gscv.predict_interval()" ] }, { "cell_type": "markdown", "id": "a287cf6e", "metadata": {}, "source": [ "for AutoML, use the `MultiplexForecaster` to select among multiple forecasters:" ] }, { "cell_type": "code", "execution_count": null, "id": "differential-growth", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.338805Z", "start_time": "2023-08-24T18:26:44.525149200Z" } }, "outputs": [], "source": [ "from aeon.forecasting.compose import MultiplexForecaster\n", "from aeon.forecasting.exp_smoothing import ExponentialSmoothing\n", "\n", "forecaster = MultiplexForecaster(\n", " forecasters=[\n", " (\"naive\", NaiveForecaster(strategy=\"last\")),\n", " (\"ets\", ExponentialSmoothing(trend=\"add\", sp=12)),\n", " ],\n", ")\n", "\n", "forecaster_param_grid = {\"selected_forecaster\": [\"ets\", \"naive\"]}\n", "gscv = ForecastingGridSearchCV(forecaster, cv=cv, param_grid=forecaster_param_grid)\n", "\n", "gscv.fit(y)\n", "gscv.best_params_" ] }, { "cell_type": "markdown", "id": "severe-belize", "metadata": {}, "source": [ "#### Pipelines with probabilistic forecasters" ] }, { "cell_type": "markdown", "id": "dd70b6a2", "metadata": {}, "source": [ "`aeon` pipelines are compatible with probabilistic forecasters:\n", "\n", "* `ForecastingPipeline` applies transformers to the exogeneous `X` argument before passing them to the forecaster\n", "* `TransformedTargetForecaster` transforms `y` and back-transforms forecasts, including interval or quantile forecasts" ] }, { "cell_type": "markdown", "id": "3ce8b6f1", "metadata": {}, "source": [ "`ForecastingPipeline` takes a chain of transformers and forecasters, say,\n", "\n", "`[t1, t2, ..., tn, f]`,\n", "\n", "where `t[i]` are forecasters that pre-process, and `tp[i]` are forecasters that postprocess\n", "\n", "##### `fit(y, X, fh)` does:\n", "\n", "`X1 = t1.fit_transform(X)`\\\n", "`X2 = t2.fit_transform(X1)`\\\n", "etc\\\n", "`X[n] = t3.fit_transform(X[n-1])`\\\n", "\n", "`f.fit(y=y, x=X[n])`\n", "\n", "##### `predict_[sth](X, fh)` does:\n", "\n", "`X1 = t1.transform(X)`\\\n", "`X2 = t2.transform(X1)`\\\n", "etc\\\n", "`X[n] = t3.transform(X[n-1])`\n", "\n", "`f.predict_[sth](X=X[n], fh)`" ] }, { "cell_type": "code", "execution_count": null, "id": "dcab36a8", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.338805Z", "start_time": "2023-08-24T18:26:46.326837400Z" } }, "outputs": [], "source": [ "from aeon.datasets import load_macroeconomic\n", "from aeon.forecasting.arima import ARIMA\n", "from aeon.forecasting.compose import ForecastingPipeline\n", "from aeon.forecasting.model_selection import temporal_train_test_split\n", "from aeon.transformations.impute import Imputer" ] }, { "cell_type": "code", "execution_count": null, "id": "610257c8", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.385679900Z", "start_time": "2023-08-24T18:26:46.333818600Z" } }, "outputs": [], "source": [ "data = load_macroeconomic()\n", "y = data[\"unemp\"]\n", "X = data.drop(columns=[\"unemp\"])\n", "\n", "y_train, y_test, X_train, X_test = temporal_train_test_split(y, X)" ] }, { "cell_type": "code", "execution_count": null, "id": "1c04ef29", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.521397200Z", "start_time": "2023-08-24T18:26:46.347781200Z" } }, "outputs": [], "source": [ "forecaster = ForecastingPipeline(\n", " steps=[\n", " (\"imputer\", Imputer(method=\"mean\")),\n", " (\"forecaster\", ARIMA(suppress_warnings=True)),\n", " ]\n", ")\n", "forecaster.fit(y=y_train, X=X_train, fh=X_test.index[:5])\n", "forecaster.predict_interval(X=X_test[:5])" ] }, { "cell_type": "markdown", "id": "0081f4b9", "metadata": {}, "source": [ "`TransformedTargetForecaster` takes a chain of transformers and forecasters, say,\n", "\n", "`[t1, t2, ..., tn, f, tp1, tp2, ..., tk]`,\n", "\n", "where `t[i]` are forecasters that pre-process, and `tp[i]` are forecasters that postprocess\n", "\n", "##### `fit(y, X, fh)` does:\\\n", "`y1 = t1.fit_transform(y)`\\\n", "`y2 = t2.fit_transform(y1)`\\\n", "`y3 = t3.fit_transform(y2)`\\\n", "etc\\\n", "`y[n] = t3.fit_transform(y[n-1])`\n", "\n", "`f.fit(y[n])`\n", "\n", "`yp1 = tp1.fit_transform(yn)`\\\n", "`yp2 = tp2.fit_transform(yp1)`\\\n", "`yp3 = tp3.fit_transform(yp2)`\\\n", "etc\n", "\n", "##### `predict_quantiles(y, X, fh)` does:\n", "\n", "`y1 = t1.transform(y)`\\\n", "`y2 = t2.transform(y1)`\\\n", "etc\\\n", "`y[n] = t3.transform(y[n-1])`\n", "\n", "`y_pred = f.predict_quantiles(y[n])`\n", "\n", "`y_pred = t[n].inverse_transform(y_pred)`\\\n", "`y_pred = t[n-1].inverse_transform(y_pred)`\\\n", "etc\\\n", "`y_pred = t1.inverse_transform(y_pred)`\\\n", "`y_pred = tp1.transform(y_pred)`\\\n", "`y_pred = tp2.transform(y_pred)`\\\n", "etc\\\n", "`y_pred = tp[n].transform(y_pred)`\\\n", "\n", "**Note**: the remaining proba predictions are inferred from `predict_quantiles`." ] }, { "cell_type": "code", "execution_count": null, "id": "behavioral-anger", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.523391700Z", "start_time": "2023-08-24T18:26:46.518404800Z" } }, "outputs": [], "source": [ "from aeon.datasets import load_macroeconomic\n", "from aeon.forecasting.arima import ARIMA\n", "from aeon.forecasting.compose import TransformedTargetForecaster\n", "from aeon.transformations.detrend import Deseasonalizer, Detrender" ] }, { "cell_type": "code", "execution_count": null, "id": "5b4f08da", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.553817200Z", "start_time": "2023-08-24T18:26:46.522394600Z" } }, "outputs": [], "source": [ "data = load_macroeconomic()\n", "y = data[[\"unemp\"]]" ] }, { "cell_type": "code", "execution_count": null, "id": "underlying-australia", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.720895900Z", "start_time": "2023-08-24T18:26:46.532873800Z" } }, "outputs": [], "source": [ "forecaster = TransformedTargetForecaster(\n", " [\n", " (\"deseasonalize\", Deseasonalizer(sp=12)),\n", " (\"detrend\", Detrender()),\n", " (\"forecast\", ARIMA()),\n", " ]\n", ")\n", "\n", "forecaster.fit(y, fh=[1, 2, 3])\n", "forecaster.predict_interval()" ] }, { "cell_type": "code", "execution_count": null, "id": "8c47e57b", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.793700700Z", "start_time": "2023-08-24T18:26:46.630627800Z" } }, "outputs": [], "source": [ "forecaster.predict_quantiles()" ] }, { "cell_type": "markdown", "id": "15246bc7", "metadata": {}, "source": [ "quick creation is also possible via the `*` dunder method, same pipeline:" ] }, { "cell_type": "code", "execution_count": null, "id": "07deb7ec", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.793700700Z", "start_time": "2023-08-24T18:26:46.697956200Z" } }, "outputs": [], "source": [ "forecaster = Deseasonalizer(sp=12) * Detrender() * ARIMA()" ] }, { "cell_type": "code", "execution_count": null, "id": "4c9e9228", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:46.962615100Z", "start_time": "2023-08-24T18:26:46.711920Z" } }, "outputs": [], "source": [ "forecaster.fit(y, fh=[1, 2, 3])\n", "forecaster.predict_interval()" ] }, { "cell_type": "markdown", "id": "yellow-guarantee", "metadata": {}, "source": [ "---\n", "## Building your own probabilistic forecaster\n", "\n", "Getting started:\n", "\n", "* follow the [\"implementing estimator\" developer guide](https://www.aeon-toolkit.org/en/stable/developer_guide/add_estimators.html)\n", "* use the advanced [forecasting extension template](https://github.com/aeon-toolkit/aeon/blob/main/extension_templates/forecasting.py)\n", "\n", "Extension template = python \"fill-in\" template with to-do blocks that allow you to implement your own, aeon-compatible forecasting algorithm.\n", "\n", "Check estimators using `check_estimator`\n", "\n", "For probabilistic forecasting:\n", "\n", "* implement at least one of `predict_quantiles`, `predict_interval`, `predict_var`, `predict_proba`\n", "* optimally, implement all, unless identical with defaulting behaviour as below\n", "* if only one is implemented, others use the following defaults (in this sequence, dependent availability):\n", " * `predict_interval` uses quantiles from `predict_quantiles` and vice versa\n", " * `predict_var` uses variance from `predict_proba`, or variance of normal with IQR as obtained from `predict_quantiles`\n", " * `predict_interval` or `predict_quantiles` uses quantiles from `predict_proba` distribution\n", " * `predict_proba` returns normal with mean `predict` and variance `predict_var`\n", "* so if predictive residuals not normal, implement `predict_proba` or `predict_quantiles`\n", "* if interfacing, implement the ones where least \"conversion\" is necessary\n", "* ensure to set the `capability:pred_int` tag to `True`\n" ] }, { "cell_type": "code", "execution_count": null, "id": "59af90ce", "metadata": { "ExecuteTime": { "end_time": "2023-08-24T18:26:47.167664500Z", "start_time": "2023-08-24T18:26:46.839421500Z" } }, "outputs": [], "source": [ "# estimator checking on the fly using check_estimator\n", "\n", "# suppose this is your new estimator\n", "from aeon.forecasting.naive import NaiveForecaster\n", "from aeon.testing.estimator_checks import check_estimator\n", "\n", "# check the estimator like this:\n", "check_estimator(NaiveForecaster, tests_to_run=[\"test_constructor\"])\n", "# this prints any failed tests, and returns dictionary with\n", "# keys of test runs and results from the test run\n", "# run individual tests using the tests_to_run arg or the fixtures_to_run_arg\n", "# these need to be identical to test or test/fixture names, see docstring\n", "# runs all tests by default\n", "# to raise errors for use in traceback debugging, set raise_exceptions=True" ] }, { "cell_type": "markdown", "id": "sunrise-eleven", "metadata": {}, "source": [ "---\n", "## Summary" ] }, { "cell_type": "markdown", "id": "imperial-narrow", "metadata": {}, "source": [ "* unified API for probabilistic forecasting and probabilistic metrics\n", "* integrating other packages (e.g. scikit-learn, statsmodels, pmdarima, prophet)\n", "* interface for composite model building is same, proba or not (pipelining, ensembling, tuning, reduction)\n", "* easily extensible with custom estimators\n", "\n", "### Useful resources\n", "* For a good introduction to forecasting, see [Hyndman, Rob J., and George Athanasopoulos. Forecasting: principles and practice. OTexts, 2018](https://otexts.com/fpp2/).\n", "* For comparative benchmarking studies/forecasting competitions, see the [M4 competition](https://www.sciencedirect.com/science/article/pii/S0169207019301128) and the [M5 competition](https://www.kaggle.com/c/m5-forecasting-accuracy/overview)." ] } ], "metadata": { "kernelspec": { "display_name": "venv", "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.9.13" }, "vscode": { "interpreter": { "hash": "57068280af7f6672c724b71d6b32f81d2675f352b93fdaa01d4ac5d80189e075" } } }, "nbformat": 4, "nbformat_minor": 5 }