Skip to content

Instantly share code, notes, and snippets.

@d8rt8v
Last active December 10, 2024 20:48
Show Gist options
  • Save d8rt8v/39f7f83e64dfcc811cb664ed4af6f6b5 to your computer and use it in GitHub Desktop.
Save d8rt8v/39f7f83e64dfcc811cb664ed4af6f6b5 to your computer and use it in GitHub Desktop.
MOSEX.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"gpuType": "T4",
"authorship_tag": "ABX9TyMRbVtsKjDmZFDl+exWFT9z",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/d8rt8v/39f7f83e64dfcc811cb664ed4af6f6b5/mosex.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "7HTnJwZ85d-K"
},
"outputs": [],
"source": [
"!pip install autogluon\n",
"!pip install dask[dataframe]"
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"from autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor\n",
"import plotly.graph_objects as go"
],
"metadata": {
"id": "Ng_gNqjI6Io1"
},
"execution_count": 99,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df = pd.read_csv(\"https://gist.githubusercontent.com/d8rt8v/1557598f0135695dbcad8ce463dfc2fd/raw/e41f637f43725263dae92ad0d1b06f148a46af7c/MoscowExchangeIndex.csv\",sep=\";\")"
],
"metadata": {
"id": "CO-URU6A6L0c"
},
"execution_count": 125,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df = df.drop(columns=['VALUE', 'DURATION', 'YIELD','OPEN'])\n",
"df['TRADEDATE'] = pd.to_datetime(df['TRADEDATE'], format='%d.%m.%Y')\n",
"df = df.rename(columns={'CLOSE': 'target'})\n",
"df = df.sort_values(by=['TRADEDATE'])"
],
"metadata": {
"id": "bs0UWHm37v7J"
},
"execution_count": 127,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "CqGY_eZm8IgG",
"outputId": "6dc4f8f8-82ef-4e21-a958-41ed31f9b335"
},
"execution_count": 128,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" ID NAME TRADEDATE HIGH LOW target\n",
"0 IMOEX Индекс МосБиржи 2012-01-03 1445.57 1401.21 1444.76\n",
"1 IMOEX Индекс МосБиржи 2012-01-04 1453.27 1437.62 1447.59\n",
"2 IMOEX Индекс МосБиржи 2012-01-05 1458.14 1432.88 1434.91\n",
"3 IMOEX Индекс МосБиржи 2012-01-06 1453.92 1431.97 1440.60\n",
"4 IMOEX Индекс МосБиржи 2012-01-09 1449.55 1432.01 1448.36"
],
"text/html": [
"\n",
" <div id=\"df-159f7148-949c-4d0f-a730-517b7ea4ddca\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>NAME</th>\n",
" <th>TRADEDATE</th>\n",
" <th>HIGH</th>\n",
" <th>LOW</th>\n",
" <th>target</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>IMOEX</td>\n",
" <td>Индекс МосБиржи</td>\n",
" <td>2012-01-03</td>\n",
" <td>1445.57</td>\n",
" <td>1401.21</td>\n",
" <td>1444.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>IMOEX</td>\n",
" <td>Индекс МосБиржи</td>\n",
" <td>2012-01-04</td>\n",
" <td>1453.27</td>\n",
" <td>1437.62</td>\n",
" <td>1447.59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>IMOEX</td>\n",
" <td>Индекс МосБиржи</td>\n",
" <td>2012-01-05</td>\n",
" <td>1458.14</td>\n",
" <td>1432.88</td>\n",
" <td>1434.91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>IMOEX</td>\n",
" <td>Индекс МосБиржи</td>\n",
" <td>2012-01-06</td>\n",
" <td>1453.92</td>\n",
" <td>1431.97</td>\n",
" <td>1440.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>IMOEX</td>\n",
" <td>Индекс МосБиржи</td>\n",
" <td>2012-01-09</td>\n",
" <td>1449.55</td>\n",
" <td>1432.01</td>\n",
" <td>1448.36</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-159f7148-949c-4d0f-a730-517b7ea4ddca')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-159f7148-949c-4d0f-a730-517b7ea4ddca button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-159f7148-949c-4d0f-a730-517b7ea4ddca');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-fb7268b5-9e35-4b77-b608-06ce9066d006\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-fb7268b5-9e35-4b77-b608-06ce9066d006')\"\n",
" title=\"Suggest charts\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-fb7268b5-9e35-4b77-b608-06ce9066d006 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
"\n",
" </div>\n",
" </div>\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "df",
"summary": "{\n \"name\": \"df\",\n \"rows\": 3250,\n \"fields\": [\n {\n \"column\": \"ID\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"IMOEX\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"NAME\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"\\u0418\\u043d\\u0434\\u0435\\u043a\\u0441 \\u041c\\u043e\\u0441\\u0411\\u0438\\u0440\\u0436\\u0438\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"TRADEDATE\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"2012-01-03 00:00:00\",\n \"max\": \"2024-12-10 00:00:00\",\n \"num_unique_values\": 3250,\n \"samples\": [\n \"2021-07-09 00:00:00\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"HIGH\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 734.0660786057459,\n \"min\": 1248.29,\n \"max\": 4292.68,\n \"num_unique_values\": 3230,\n \"samples\": [\n 1537.08\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"LOW\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 726.4325807662012,\n \"min\": 1182.86,\n \"max\": 4259.13,\n \"num_unique_values\": 3220,\n \"samples\": [\n 1493.55\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 730.3755801471954,\n \"min\": 1237.43,\n \"max\": 4287.52,\n \"num_unique_values\": 3212,\n \"samples\": [\n 1515.36\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 128
}
]
},
{
"cell_type": "code",
"source": [
"train_df = df[:-100].copy()\n",
"test_df = df[-100:].copy()"
],
"metadata": {
"id": "ZkF3k2WmJn97"
},
"execution_count": 155,
"outputs": []
},
{
"cell_type": "code",
"source": [
"train_data = TimeSeriesDataFrame.from_data_frame(\n",
" train_df,\n",
" id_column=\"ID\",\n",
" timestamp_column=\"TRADEDATE\",\n",
")\n",
"\n",
"test_data = TimeSeriesDataFrame.from_data_frame(\n",
" test_df,\n",
" id_column=\"ID\",\n",
" timestamp_column=\"TRADEDATE\",\n",
")\n",
"\n",
"\n",
"print(f\"Length of train_data: {len(train_data)}\")\n",
"print(f\"Length of test_data: {len(test_data)}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "pmnvxKSX9bJJ",
"outputId": "b907dd68-e83b-4fc2-fef6-57b1865a47fd"
},
"execution_count": 156,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Length of train_data: 3150\n",
"Length of test_data: 100\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"predictor = TimeSeriesPredictor(\n",
" prediction_length=100,\n",
" target=\"target\",\n",
" freq='B'\n",
").fit(train_data=train_data,\n",
" presets=\"high_quality\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "olZUH3SO81FS",
"outputId": "a28c736b-7c0c-4e68-f2c4-fc08e45c1042"
},
"execution_count": 157,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"Beginning AutoGluon training...\n",
"AutoGluon will save models to '/content/AutogluonModels/ag-20241210_203038'\n",
"=================== System Info ===================\n",
"AutoGluon Version: 1.2\n",
"Python Version: 3.10.12\n",
"Operating System: Linux\n",
"Platform Machine: x86_64\n",
"Platform Version: #1 SMP PREEMPT_DYNAMIC Thu Jun 27 21:05:47 UTC 2024\n",
"CPU Count: 2\n",
"GPU Count: 1\n",
"Memory Avail: 9.20 GB / 12.67 GB (72.6%)\n",
"Disk Space Avail: 77.63 GB / 112.64 GB (68.9%)\n",
"===================================================\n",
"Setting presets to: high_quality\n",
"\n",
"Fitting with arguments:\n",
"{'enable_ensemble': True,\n",
" 'eval_metric': WQL,\n",
" 'freq': 'B',\n",
" 'hyperparameters': 'default',\n",
" 'known_covariates_names': [],\n",
" 'num_val_windows': 1,\n",
" 'prediction_length': 100,\n",
" 'quantile_levels': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9],\n",
" 'random_seed': 123,\n",
" 'refit_every_n_windows': 1,\n",
" 'refit_full': False,\n",
" 'skip_model_selection': False,\n",
" 'target': 'target',\n",
" 'verbosity': 2}\n",
"\n",
"train_data with frequency 'None' has been resampled to frequency 'B'.\n",
"Provided train_data has 3276 rows (NaN fraction=4.2%), 1 time series. Median time series length is 3276 (min=3276, max=3276). \n",
"\n",
"Provided data contains following columns:\n",
"\ttarget: 'target'\n",
"\tpast_covariates:\n",
"\t\tcategorical: ['NAME']\n",
"\t\tcontinuous (float): ['HIGH', 'LOW']\n",
"\n",
"To learn how to fix incorrectly inferred types, please see documentation for TimeSeriesPredictor.fit\n",
"\n",
"AutoGluon will gauge predictive performance using evaluation metric: 'WQL'\n",
"\tThis metric's sign has been flipped to adhere to being higher_is_better. The metric score can be multiplied by -1 to get the metric value.\n",
"===================================================\n",
"\n",
"Starting training. Start time is 2024-12-10 20:30:39\n",
"Models that will be trained: ['SeasonalNaive', 'RecursiveTabular', 'DirectTabular', 'NPTS', 'DynamicOptimizedTheta', 'AutoETS', 'ChronosZeroShot[bolt_base]', 'ChronosFineTuned[bolt_small]', 'TemporalFusionTransformer', 'DeepAR', 'PatchTST', 'TiDE']\n",
"Training timeseries model SeasonalNaive. \n",
"\t-0.0316 = Validation score (-WQL)\n",
"\t0.02 s = Training runtime\n",
"\t0.02 s = Validation (prediction) runtime\n",
"Training timeseries model RecursiveTabular. \n",
"\t-0.0298 = Validation score (-WQL)\n",
"\t2.31 s = Training runtime\n",
"\t0.90 s = Validation (prediction) runtime\n",
"Training timeseries model DirectTabular. \n",
"\t-0.1053 = Validation score (-WQL)\n",
"\t132.67 s = Training runtime\n",
"\t2.06 s = Validation (prediction) runtime\n",
"Training timeseries model NPTS. \n",
"\t-0.1548 = Validation score (-WQL)\n",
"\t0.02 s = Training runtime\n",
"\t2.53 s = Validation (prediction) runtime\n",
"Training timeseries model DynamicOptimizedTheta. \n",
"\t-0.0310 = Validation score (-WQL)\n",
"\t0.03 s = Training runtime\n",
"\t1.49 s = Validation (prediction) runtime\n",
"Training timeseries model AutoETS. \n",
"\t-0.0354 = Validation score (-WQL)\n",
"\t0.03 s = Training runtime\n",
"\t0.99 s = Validation (prediction) runtime\n",
"Training timeseries model ChronosZeroShot[bolt_base]. \n",
"\t-0.0495 = Validation score (-WQL)\n",
"\t0.02 s = Training runtime\n",
"\t1.59 s = Validation (prediction) runtime\n",
"Training timeseries model ChronosFineTuned[bolt_small]. \n",
"\tSkipping covariate_regressor since the dataset contains no covariates or static features.\n",
"\tSaving fine-tuned model to /content/AutogluonModels/ag-20241210_203038/models/ChronosFineTuned[bolt_small]/W0/fine-tuned-ckpt\n",
"\t-0.0840 = Validation score (-WQL)\n",
"\t238.77 s = Training runtime\n",
"\t0.06 s = Validation (prediction) runtime\n",
"Training timeseries model TemporalFusionTransformer. \n",
"\t-0.0322 = Validation score (-WQL)\n",
"\t54.84 s = Training runtime\n",
"\t0.03 s = Validation (prediction) runtime\n",
"Training timeseries model DeepAR. \n",
"\t-0.0721 = Validation score (-WQL)\n",
"\t48.71 s = Training runtime\n",
"\t0.62 s = Validation (prediction) runtime\n",
"Training timeseries model PatchTST. \n",
"\t-0.0357 = Validation score (-WQL)\n",
"\t42.41 s = Training runtime\n",
"\t0.02 s = Validation (prediction) runtime\n",
"Training timeseries model TiDE. \n",
"\t-0.0382 = Validation score (-WQL)\n",
"\t116.83 s = Training runtime\n",
"\t0.02 s = Validation (prediction) runtime\n",
"Fitting simple weighted ensemble.\n",
"\tEnsemble weights: {'DeepAR': 0.51, 'DirectTabular': 0.28, 'DynamicOptimizedTheta': 0.01, 'RecursiveTabular': 0.2}\n",
"\t-0.0272 = Validation score (-WQL)\n",
"\t1.74 s = Training runtime\n",
"\t5.07 s = Validation (prediction) runtime\n",
"Training complete. Models trained: ['SeasonalNaive', 'RecursiveTabular', 'DirectTabular', 'NPTS', 'DynamicOptimizedTheta', 'AutoETS', 'ChronosZeroShot[bolt_base]', 'ChronosFineTuned[bolt_small]', 'TemporalFusionTransformer', 'DeepAR', 'PatchTST', 'TiDE', 'WeightedEnsemble']\n",
"Total runtime: 648.99 s\n",
"Best model: WeightedEnsemble\n",
"Best model score: -0.0272\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"predictor.leaderboard()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 457
},
"id": "Q3SGFoXU-147",
"outputId": "43396b52-06c2-4104-db3d-e8540ea5f7d4"
},
"execution_count": 158,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" model score_val pred_time_val fit_time_marginal \\\n",
"0 WeightedEnsemble -0.027209 5.066502 1.744842 \n",
"1 RecursiveTabular -0.029814 0.896858 2.313147 \n",
"2 DynamicOptimizedTheta -0.031044 1.487603 0.031497 \n",
"3 SeasonalNaive -0.031620 0.020513 0.020091 \n",
"4 TemporalFusionTransformer -0.032169 0.029134 54.835537 \n",
"5 AutoETS -0.035396 0.987028 0.026445 \n",
"6 PatchTST -0.035678 0.020437 42.410388 \n",
"7 TiDE -0.038242 0.023532 116.829893 \n",
"8 ChronosZeroShot[bolt_base] -0.049451 1.593165 0.023069 \n",
"9 DeepAR -0.072094 0.618030 48.714457 \n",
"10 ChronosFineTuned[bolt_small] -0.084037 0.057849 238.773691 \n",
"11 DirectTabular -0.105333 2.064010 132.667889 \n",
"12 NPTS -0.154756 2.529972 0.023121 \n",
"\n",
" fit_order \n",
"0 13 \n",
"1 2 \n",
"2 5 \n",
"3 1 \n",
"4 9 \n",
"5 6 \n",
"6 11 \n",
"7 12 \n",
"8 7 \n",
"9 10 \n",
"10 8 \n",
"11 3 \n",
"12 4 "
],
"text/html": [
"\n",
" <div id=\"df-3437988e-611f-4b5c-97dc-4c50ee0d0eef\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>score_val</th>\n",
" <th>pred_time_val</th>\n",
" <th>fit_time_marginal</th>\n",
" <th>fit_order</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>WeightedEnsemble</td>\n",
" <td>-0.027209</td>\n",
" <td>5.066502</td>\n",
" <td>1.744842</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>RecursiveTabular</td>\n",
" <td>-0.029814</td>\n",
" <td>0.896858</td>\n",
" <td>2.313147</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>DynamicOptimizedTheta</td>\n",
" <td>-0.031044</td>\n",
" <td>1.487603</td>\n",
" <td>0.031497</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>SeasonalNaive</td>\n",
" <td>-0.031620</td>\n",
" <td>0.020513</td>\n",
" <td>0.020091</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>TemporalFusionTransformer</td>\n",
" <td>-0.032169</td>\n",
" <td>0.029134</td>\n",
" <td>54.835537</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>AutoETS</td>\n",
" <td>-0.035396</td>\n",
" <td>0.987028</td>\n",
" <td>0.026445</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>PatchTST</td>\n",
" <td>-0.035678</td>\n",
" <td>0.020437</td>\n",
" <td>42.410388</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>TiDE</td>\n",
" <td>-0.038242</td>\n",
" <td>0.023532</td>\n",
" <td>116.829893</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ChronosZeroShot[bolt_base]</td>\n",
" <td>-0.049451</td>\n",
" <td>1.593165</td>\n",
" <td>0.023069</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>DeepAR</td>\n",
" <td>-0.072094</td>\n",
" <td>0.618030</td>\n",
" <td>48.714457</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>ChronosFineTuned[bolt_small]</td>\n",
" <td>-0.084037</td>\n",
" <td>0.057849</td>\n",
" <td>238.773691</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>DirectTabular</td>\n",
" <td>-0.105333</td>\n",
" <td>2.064010</td>\n",
" <td>132.667889</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>NPTS</td>\n",
" <td>-0.154756</td>\n",
" <td>2.529972</td>\n",
" <td>0.023121</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3437988e-611f-4b5c-97dc-4c50ee0d0eef')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-3437988e-611f-4b5c-97dc-4c50ee0d0eef button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-3437988e-611f-4b5c-97dc-4c50ee0d0eef');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-c0cd5dec-c5a6-4fa2-bdcf-a105bde458db\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-c0cd5dec-c5a6-4fa2-bdcf-a105bde458db')\"\n",
" title=\"Suggest charts\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-c0cd5dec-c5a6-4fa2-bdcf-a105bde458db button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
"\n",
" </div>\n",
" </div>\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"summary": "{\n \"name\": \"predictor\",\n \"rows\": 13,\n \"fields\": [\n {\n \"column\": \"model\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 13,\n \"samples\": [\n \"DirectTabular\",\n \"DeepAR\",\n \"WeightedEnsemble\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"score_val\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.038434908005183926,\n \"min\": -0.15475550168686442,\n \"max\": -0.02720869952839249,\n \"num_unique_values\": 13,\n \"samples\": [\n -0.10533331068715565,\n -0.07209370882243565,\n -0.02720869952839249\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"pred_time_val\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.4438731846204071,\n \"min\": 0.020436525344848633,\n \"max\": 5.066501617431641,\n \"num_unique_values\": 13,\n \"samples\": [\n 2.0640101432800293,\n 0.6180300712585449,\n 5.066501617431641\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"fit_time_marginal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 73.08568573043476,\n \"min\": 0.020090818405151367,\n \"max\": 238.773690700531,\n \"num_unique_values\": 13,\n \"samples\": [\n 132.66788911819458,\n 48.714457273483276,\n 1.744842290878296\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"fit_order\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3,\n \"min\": 1,\n \"max\": 13,\n \"num_unique_values\": 13,\n \"samples\": [\n 3,\n 10,\n 13\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 158
}
]
},
{
"cell_type": "code",
"source": [
"predictions = predictor.predict(train_data)\n",
"predictions"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 490
},
"id": "TDcaym-rCESY",
"outputId": "a23bad87-525e-4e90-8283-302bc9fa1d24"
},
"execution_count": 159,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"data with frequency 'None' has been resampled to frequency 'B'.\n",
"Model not specified in predict, will default to the model with the best validation score: WeightedEnsemble\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
" mean 0.1 0.2 0.3 \\\n",
"item_id timestamp \n",
"IMOEX 2024-07-24 3008.914874 2922.311135 2944.682207 2968.006330 \n",
" 2024-07-25 3010.768138 2914.337804 2948.492360 2978.252730 \n",
" 2024-07-26 2999.331151 2889.921963 2924.243520 2956.909769 \n",
" 2024-07-29 2992.711704 2882.007061 2920.431484 2955.721430 \n",
" 2024-07-30 2992.102271 2888.924828 2919.961703 2944.577150 \n",
"... ... ... ... ... \n",
" 2024-12-04 2972.474599 2779.735031 2839.797352 2908.074135 \n",
" 2024-12-05 2982.996115 2791.793610 2842.069417 2915.595789 \n",
" 2024-12-06 2989.271622 2789.402877 2841.905468 2915.011780 \n",
" 2024-12-09 2989.288059 2791.211183 2841.785203 2918.116043 \n",
" 2024-12-10 2998.497659 2797.673709 2848.533348 2920.832650 \n",
"\n",
" 0.4 0.5 0.6 0.7 \\\n",
"item_id timestamp \n",
"IMOEX 2024-07-24 2990.174574 3007.069628 3035.458276 3085.459008 \n",
" 2024-07-25 2991.506532 3009.843512 3032.272263 3077.540903 \n",
" 2024-07-26 2982.269323 2999.127397 3034.732508 3084.380862 \n",
" 2024-07-29 2975.747103 2994.034515 3029.618459 3080.394259 \n",
" 2024-07-30 2958.976916 2990.420596 3034.446933 3080.464807 \n",
"... ... ... ... ... \n",
" 2024-12-04 2948.806683 2972.503593 3008.831930 3103.987832 \n",
" 2024-12-05 2959.869701 2985.270798 3019.256634 3109.522671 \n",
" 2024-12-06 2959.693154 2989.740851 3024.463422 3112.861785 \n",
" 2024-12-09 2967.209654 2992.514217 3029.533032 3118.333435 \n",
" 2024-12-10 2970.823996 2998.789960 3032.683994 3119.897387 \n",
"\n",
" 0.8 0.9 \n",
"item_id timestamp \n",
"IMOEX 2024-07-24 3149.336404 3217.635547 \n",
" 2024-07-25 3128.516866 3198.342007 \n",
" 2024-07-26 3140.158888 3215.372497 \n",
" 2024-07-29 3139.843491 3203.220033 \n",
" 2024-07-30 3134.010704 3207.059828 \n",
"... ... ... \n",
" 2024-12-04 3145.104049 3225.996208 \n",
" 2024-12-05 3156.594743 3234.723523 \n",
" 2024-12-06 3150.049267 3252.600919 \n",
" 2024-12-09 3158.829189 3251.203921 \n",
" 2024-12-10 3163.658813 3257.819560 \n",
"\n",
"[100 rows x 10 columns]"
],
"text/html": [
"\n",
" <div id=\"df-a38ba8a5-8a8c-414f-9a39-396a12132995\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>mean</th>\n",
" <th>0.1</th>\n",
" <th>0.2</th>\n",
" <th>0.3</th>\n",
" <th>0.4</th>\n",
" <th>0.5</th>\n",
" <th>0.6</th>\n",
" <th>0.7</th>\n",
" <th>0.8</th>\n",
" <th>0.9</th>\n",
" </tr>\n",
" <tr>\n",
" <th>item_id</th>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"11\" valign=\"top\">IMOEX</th>\n",
" <th>2024-07-24</th>\n",
" <td>3008.914874</td>\n",
" <td>2922.311135</td>\n",
" <td>2944.682207</td>\n",
" <td>2968.006330</td>\n",
" <td>2990.174574</td>\n",
" <td>3007.069628</td>\n",
" <td>3035.458276</td>\n",
" <td>3085.459008</td>\n",
" <td>3149.336404</td>\n",
" <td>3217.635547</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-07-25</th>\n",
" <td>3010.768138</td>\n",
" <td>2914.337804</td>\n",
" <td>2948.492360</td>\n",
" <td>2978.252730</td>\n",
" <td>2991.506532</td>\n",
" <td>3009.843512</td>\n",
" <td>3032.272263</td>\n",
" <td>3077.540903</td>\n",
" <td>3128.516866</td>\n",
" <td>3198.342007</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-07-26</th>\n",
" <td>2999.331151</td>\n",
" <td>2889.921963</td>\n",
" <td>2924.243520</td>\n",
" <td>2956.909769</td>\n",
" <td>2982.269323</td>\n",
" <td>2999.127397</td>\n",
" <td>3034.732508</td>\n",
" <td>3084.380862</td>\n",
" <td>3140.158888</td>\n",
" <td>3215.372497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-07-29</th>\n",
" <td>2992.711704</td>\n",
" <td>2882.007061</td>\n",
" <td>2920.431484</td>\n",
" <td>2955.721430</td>\n",
" <td>2975.747103</td>\n",
" <td>2994.034515</td>\n",
" <td>3029.618459</td>\n",
" <td>3080.394259</td>\n",
" <td>3139.843491</td>\n",
" <td>3203.220033</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-07-30</th>\n",
" <td>2992.102271</td>\n",
" <td>2888.924828</td>\n",
" <td>2919.961703</td>\n",
" <td>2944.577150</td>\n",
" <td>2958.976916</td>\n",
" <td>2990.420596</td>\n",
" <td>3034.446933</td>\n",
" <td>3080.464807</td>\n",
" <td>3134.010704</td>\n",
" <td>3207.059828</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-12-04</th>\n",
" <td>2972.474599</td>\n",
" <td>2779.735031</td>\n",
" <td>2839.797352</td>\n",
" <td>2908.074135</td>\n",
" <td>2948.806683</td>\n",
" <td>2972.503593</td>\n",
" <td>3008.831930</td>\n",
" <td>3103.987832</td>\n",
" <td>3145.104049</td>\n",
" <td>3225.996208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-12-05</th>\n",
" <td>2982.996115</td>\n",
" <td>2791.793610</td>\n",
" <td>2842.069417</td>\n",
" <td>2915.595789</td>\n",
" <td>2959.869701</td>\n",
" <td>2985.270798</td>\n",
" <td>3019.256634</td>\n",
" <td>3109.522671</td>\n",
" <td>3156.594743</td>\n",
" <td>3234.723523</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-12-06</th>\n",
" <td>2989.271622</td>\n",
" <td>2789.402877</td>\n",
" <td>2841.905468</td>\n",
" <td>2915.011780</td>\n",
" <td>2959.693154</td>\n",
" <td>2989.740851</td>\n",
" <td>3024.463422</td>\n",
" <td>3112.861785</td>\n",
" <td>3150.049267</td>\n",
" <td>3252.600919</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-12-09</th>\n",
" <td>2989.288059</td>\n",
" <td>2791.211183</td>\n",
" <td>2841.785203</td>\n",
" <td>2918.116043</td>\n",
" <td>2967.209654</td>\n",
" <td>2992.514217</td>\n",
" <td>3029.533032</td>\n",
" <td>3118.333435</td>\n",
" <td>3158.829189</td>\n",
" <td>3251.203921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-12-10</th>\n",
" <td>2998.497659</td>\n",
" <td>2797.673709</td>\n",
" <td>2848.533348</td>\n",
" <td>2920.832650</td>\n",
" <td>2970.823996</td>\n",
" <td>2998.789960</td>\n",
" <td>3032.683994</td>\n",
" <td>3119.897387</td>\n",
" <td>3163.658813</td>\n",
" <td>3257.819560</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 10 columns</p>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-a38ba8a5-8a8c-414f-9a39-396a12132995')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-a38ba8a5-8a8c-414f-9a39-396a12132995 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-a38ba8a5-8a8c-414f-9a39-396a12132995');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-f3382126-0146-446f-9499-6692ede2be9a\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f3382126-0146-446f-9499-6692ede2be9a')\"\n",
" title=\"Suggest charts\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-f3382126-0146-446f-9499-6692ede2be9a button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
"\n",
" <div id=\"id_3d5cdc2a-966c-4bf0-ae4e-2f151c8cbc62\">\n",
" <style>\n",
" .colab-df-generate {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-generate:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-generate {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-generate:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('predictions')\"\n",
" title=\"Generate code using this dataframe.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
" </svg>\n",
" </button>\n",
" <script>\n",
" (() => {\n",
" const buttonEl =\n",
" document.querySelector('#id_3d5cdc2a-966c-4bf0-ae4e-2f151c8cbc62 button.colab-df-generate');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" buttonEl.onclick = () => {\n",
" google.colab.notebook.generateWithVariable('predictions');\n",
" }\n",
" })();\n",
" </script>\n",
" </div>\n",
"\n",
" </div>\n",
" </div>\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "predictions",
"summary": "{\n \"name\": \"predictions\",\n \"rows\": 100,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43.560460720798055,\n \"min\": 2879.6368486969614,\n \"max\": 3010.768137965166,\n \"num_unique_values\": 100,\n \"samples\": [\n 2920.7912442806046,\n 2899.8701195422,\n 2879.6368486969614\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 61.301507653686976,\n \"min\": 2673.9019318145606,\n \"max\": 2922.311134899282,\n \"num_unique_values\": 100,\n \"samples\": [\n 2721.16132376135,\n 2730.861813240518,\n 2673.9019318145606\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 59.028548471567234,\n \"min\": 2737.868877658219,\n \"max\": 2948.492360085406,\n \"num_unique_values\": 100,\n \"samples\": [\n 2782.8630142801426,\n 2774.4530159286787,\n 2743.2831085580583\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.3\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 49.600371090828,\n \"min\": 2798.856347274932,\n \"max\": 2978.252730231272,\n \"num_unique_values\": 100,\n \"samples\": [\n 2846.167307490394,\n 2852.6603199646106,\n 2798.856347274932\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.4\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 44.695927280824094,\n \"min\": 2846.8498101898504,\n \"max\": 2991.506531990087,\n \"num_unique_values\": 100,\n \"samples\": [\n 2893.525663173192,\n 2878.643545439997,\n 2846.8498101898504\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.5\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43.35299969593857,\n \"min\": 2880.4673289141565,\n \"max\": 3012.535457822999,\n \"num_unique_values\": 100,\n \"samples\": [\n 2923.050141359103,\n 2901.397146416755,\n 2883.9972145699694\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.6\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 45.89873684457468,\n \"min\": 2903.4366823487035,\n \"max\": 3042.8114356944343,\n \"num_unique_values\": 100,\n \"samples\": [\n 2950.862442785102,\n 2930.6090506328646,\n 2903.4366823487035\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.7\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 39.39315058379099,\n \"min\": 3003.6354888182577,\n \"max\": 3134.7506579437136,\n \"num_unique_values\": 100,\n \"samples\": [\n 3057.654897566197,\n 3019.9110515093344,\n 3003.6354888182577\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.8\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 34.83511805498679,\n \"min\": 3055.504568721659,\n \"max\": 3169.189195515153,\n \"num_unique_values\": 100,\n \"samples\": [\n 3132.302214441068,\n 3066.5951407555467,\n 3062.8625381126394\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"0.9\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 25.750475865607605,\n \"min\": 3147.233438655915,\n \"max\": 3257.8195598102375,\n \"num_unique_values\": 100,\n \"samples\": [\n 3193.110287116738,\n 3165.3969192156737,\n 3147.233438655915\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 159
}
]
},
{
"cell_type": "code",
"source": [
"item_id_to_plot = train_data.item_ids[0]\n",
"\n",
"# Get past data, predictions, and ground truth (test data) for the chosen item_id\n",
"y_past = train_data.loc[item_id_to_plot, 'target'][-100:]\n",
"y_pred = predictions.loc[item_id_to_plot]\n",
"y_test = test_data.loc[item_id_to_plot, 'target']\n",
"\n",
"# Create the Plotly figure\n",
"fig = go.Figure()\n",
"\n",
"# Past time series values\n",
"fig.add_trace(go.Scatter(\n",
" x=y_past.index,\n",
" y=y_past,\n",
" mode='lines',\n",
" name='Past time series values',\n",
" line=dict(color='blue')\n",
"))\n",
"\n",
"# Mean forecast\n",
"fig.add_trace(go.Scatter(\n",
" x=y_pred.index,\n",
" y=y_pred['mean'],\n",
" mode='lines',\n",
" name='Mean forecast',\n",
" line=dict(color='orange', dash='dash')\n",
"))\n",
"\n",
"# Confidence interval\n",
"fig.add_trace(go.Scatter(\n",
" x=y_pred.index.tolist() + y_pred.index.tolist()[::-1], # x, then x reversed\n",
" y=y_pred['0.9'].tolist() + y_pred['0.1'].tolist()[::-1], # upper, then lower reversed\n",
" fill='toself',\n",
" fillcolor='rgba(255,0,0,0.2)',\n",
" line=dict(color='rgba(255,255,255,0)'),\n",
" hoverinfo=\"skip\",\n",
" name='10%-90% confidence interval'\n",
"))\n",
"\n",
"# Actual time series values (ground truth)\n",
"fig.add_trace(go.Scatter(\n",
" x=y_test.index,\n",
" y=y_test,\n",
" mode='lines',\n",
" name='Actual time series values',\n",
" line=dict(color='green', dash='dot')\n",
"))\n",
"\n",
"# Update layout for better visualization\n",
"fig.update_layout(\n",
" title=f'Forecast vs. Actuals on Test Set for item_id: {item_id_to_plot}',\n",
" yaxis_title='Target Value',\n",
" legend=dict(\n",
" orientation=\"h\",\n",
" yanchor=\"bottom\",\n",
" y=1.02,\n",
" xanchor=\"right\",\n",
" x=1\n",
" )\n",
")\n",
"\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 542
},
"id": "8qYRMp3sJE5h",
"outputId": "f25836c2-2625-4979-b6a0-9cdeadb0d93c"
},
"execution_count": 160,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.35.2.min.js\"></script> <div id=\"a57ea34a-a7c8-4d3d-8c78-9c82c1c10f3c\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"a57ea34a-a7c8-4d3d-8c78-9c82c1c10f3c\")) { Plotly.newPlot( \"a57ea34a-a7c8-4d3d-8c78-9c82c1c10f3c\", [{\"line\":{\"color\":\"blue\"},\"mode\":\"lines\",\"name\":\"Past time series values\",\"x\":[\"2024-03-01T00:00:00\",\"2024-03-04T00:00:00\",\"2024-03-05T00:00:00\",\"2024-03-06T00:00:00\",\"2024-03-07T00:00:00\",\"2024-03-11T00:00:00\",\"2024-03-12T00:00:00\",\"2024-03-13T00:00:00\",\"2024-03-14T00:00:00\",\"2024-03-15T00:00:00\",\"2024-03-18T00:00:00\",\"2024-03-19T00:00:00\",\"2024-03-20T00:00:00\",\"2024-03-21T00:00:00\",\"2024-03-22T00:00:00\",\"2024-03-25T00:00:00\",\"2024-03-26T00:00:00\",\"2024-03-27T00:00:00\",\"2024-03-28T00:00:00\",\"2024-03-29T00:00:00\",\"2024-04-01T00:00:00\",\"2024-04-02T00:00:00\",\"2024-04-03T00:00:00\",\"2024-04-04T00:00:00\",\"2024-04-05T00:00:00\",\"2024-04-08T00:00:00\",\"2024-04-09T00:00:00\",\"2024-04-10T00:00:00\",\"2024-04-11T00:00:00\",\"2024-04-12T00:00:00\",\"2024-04-15T00:00:00\",\"2024-04-16T00:00:00\",\"2024-04-17T00:00:00\",\"2024-04-18T00:00:00\",\"2024-04-19T00:00:00\",\"2024-04-22T00:00:00\",\"2024-04-23T00:00:00\",\"2024-04-24T00:00:00\",\"2024-04-25T00:00:00\",\"2024-04-26T00:00:00\",\"2024-04-27T00:00:00\",\"2024-04-29T00:00:00\",\"2024-04-30T00:00:00\",\"2024-05-02T00:00:00\",\"2024-05-03T00:00:00\",\"2024-05-06T00:00:00\",\"2024-05-07T00:00:00\",\"2024-05-08T00:00:00\",\"2024-05-10T00:00:00\",\"2024-05-13T00:00:00\",\"2024-05-14T00:00:00\",\"2024-05-15T00:00:00\",\"2024-05-16T00:00:00\",\"2024-05-17T00:00:00\",\"2024-05-20T00:00:00\",\"2024-05-21T00:00:00\",\"2024-05-22T00:00:00\",\"2024-05-23T00:00:00\",\"2024-05-24T00:00:00\",\"2024-05-27T00:00:00\",\"2024-05-28T00:00:00\",\"2024-05-29T00:00:00\",\"2024-05-30T00:00:00\",\"2024-05-31T00:00:00\",\"2024-06-03T00:00:00\",\"2024-06-04T00:00:00\",\"2024-06-05T00:00:00\",\"2024-06-06T00:00:00\",\"2024-06-07T00:00:00\",\"2024-06-10T00:00:00\",\"2024-06-11T00:00:00\",\"2024-06-13T00:00:00\",\"2024-06-14T00:00:00\",\"2024-06-17T00:00:00\",\"2024-06-18T00:00:00\",\"2024-06-19T00:00:00\",\"2024-06-20T00:00:00\",\"2024-06-21T00:00:00\",\"2024-06-24T00:00:00\",\"2024-06-25T00:00:00\",\"2024-06-26T00:00:00\",\"2024-06-27T00:00:00\",\"2024-06-28T00:00:00\",\"2024-07-01T00:00:00\",\"2024-07-02T00:00:00\",\"2024-07-03T00:00:00\",\"2024-07-04T00:00:00\",\"2024-07-05T00:00:00\",\"2024-07-08T00:00:00\",\"2024-07-09T00:00:00\",\"2024-07-10T00:00:00\",\"2024-07-11T00:00:00\",\"2024-07-12T00:00:00\",\"2024-07-15T00:00:00\",\"2024-07-16T00:00:00\",\"2024-07-17T00:00:00\",\"2024-07-18T00:00:00\",\"2024-07-19T00:00:00\",\"2024-07-22T00:00:00\",\"2024-07-23T00:00:00\"],\"y\":[3266.66,3296.75,3300.89,3310.58,3315.68,3320.31,3332.6,3320.68,3297.0,3300.07,3296.3,3264.97,3267.1,3286.69,3273.49,3281.63,3285.54,3304.09,3312.77,3332.53,3363.29,3371.29,3395.59,3407.57,3395.37,3417.38,3414.26,3439.11,3439.53,3456.24,3472.19,3462.94,3454.07,3455.82,3470.88,3479.17,3439.42,3428.93,3439.76,3449.77,3465.85,3478.08,3469.83,3442.83,3441.77,3436.05,3427.61,3432.54,3449.78,3457.11,3463.93,3470.72,3486.26,3501.89,3468.09,3428.38,3444.64,3442.79,3396.5,3299.22,3302.91,3318.03,3282.18,3217.19,3141.42,3186.93,3212.24,3192.38,3233.22,3180.94,3171.1,3171.69,3215.91,3183.68,3114.15,3027.47,3123.43,3114.35,3098.05,3111.39,3151.7,3150.32,3154.36,3186.19,3217.29,3203.07,3133.81,3149.29,3132.58,3054.07,2975.75,2992.21,2973.21,2913.48,2944.86,2947.24,2980.62,3008.24,3024.54,3028.01],\"type\":\"scatter\"},{\"line\":{\"color\":\"orange\",\"dash\":\"dash\"},\"mode\":\"lines\",\"name\":\"Mean forecast\",\"x\":[\"2024-07-24T00:00:00\",\"2024-07-25T00:00:00\",\"2024-07-26T00:00:00\",\"2024-07-29T00:00:00\",\"2024-07-30T00:00:00\",\"2024-07-31T00:00:00\",\"2024-08-01T00:00:00\",\"2024-08-02T00:00:00\",\"2024-08-05T00:00:00\",\"2024-08-06T00:00:00\",\"2024-08-07T00:00:00\",\"2024-08-08T00:00:00\",\"2024-08-09T00:00:00\",\"2024-08-12T00:00:00\",\"2024-08-13T00:00:00\",\"2024-08-14T00:00:00\",\"2024-08-15T00:00:00\",\"2024-08-16T00:00:00\",\"2024-08-19T00:00:00\",\"2024-08-20T00:00:00\",\"2024-08-21T00:00:00\",\"2024-08-22T00:00:00\",\"2024-08-23T00:00:00\",\"2024-08-26T00:00:00\",\"2024-08-27T00:00:00\",\"2024-08-28T00:00:00\",\"2024-08-29T00:00:00\",\"2024-08-30T00:00:00\",\"2024-09-02T00:00:00\",\"2024-09-03T00:00:00\",\"2024-09-04T00:00:00\",\"2024-09-05T00:00:00\",\"2024-09-06T00:00:00\",\"2024-09-09T00:00:00\",\"2024-09-10T00:00:00\",\"2024-09-11T00:00:00\",\"2024-09-12T00:00:00\",\"2024-09-13T00:00:00\",\"2024-09-16T00:00:00\",\"2024-09-17T00:00:00\",\"2024-09-18T00:00:00\",\"2024-09-19T00:00:00\",\"2024-09-20T00:00:00\",\"2024-09-23T00:00:00\",\"2024-09-24T00:00:00\",\"2024-09-25T00:00:00\",\"2024-09-26T00:00:00\",\"2024-09-27T00:00:00\",\"2024-09-30T00:00:00\",\"2024-10-01T00:00:00\",\"2024-10-02T00:00:00\",\"2024-10-03T00:00:00\",\"2024-10-04T00:00:00\",\"2024-10-07T00:00:00\",\"2024-10-08T00:00:00\",\"2024-10-09T00:00:00\",\"2024-10-10T00:00:00\",\"2024-10-11T00:00:00\",\"2024-10-14T00:00:00\",\"2024-10-15T00:00:00\",\"2024-10-16T00:00:00\",\"2024-10-17T00:00:00\",\"2024-10-18T00:00:00\",\"2024-10-21T00:00:00\",\"2024-10-22T00:00:00\",\"2024-10-23T00:00:00\",\"2024-10-24T00:00:00\",\"2024-10-25T00:00:00\",\"2024-10-28T00:00:00\",\"2024-10-29T00:00:00\",\"2024-10-30T00:00:00\",\"2024-10-31T00:00:00\",\"2024-11-01T00:00:00\",\"2024-11-04T00:00:00\",\"2024-11-05T00:00:00\",\"2024-11-06T00:00:00\",\"2024-11-07T00:00:00\",\"2024-11-08T00:00:00\",\"2024-11-11T00:00:00\",\"2024-11-12T00:00:00\",\"2024-11-13T00:00:00\",\"2024-11-14T00:00:00\",\"2024-11-15T00:00:00\",\"2024-11-18T00:00:00\",\"2024-11-19T00:00:00\",\"2024-11-20T00:00:00\",\"2024-11-21T00:00:00\",\"2024-11-22T00:00:00\",\"2024-11-25T00:00:00\",\"2024-11-26T00:00:00\",\"2024-11-27T00:00:00\",\"2024-11-28T00:00:00\",\"2024-11-29T00:00:00\",\"2024-12-02T00:00:00\",\"2024-12-03T00:00:00\",\"2024-12-04T00:00:00\",\"2024-12-05T00:00:00\",\"2024-12-06T00:00:00\",\"2024-12-09T00:00:00\",\"2024-12-10T00:00:00\"],\"y\":[3008.914873672553,3010.768137965166,2999.331151464865,2992.711703560483,2992.1022711618834,2977.1336147909574,2989.2007256544903,2992.234404040706,2994.7092482692956,2997.053647744783,2983.152606510659,2992.7573043943667,3010.338542014879,3001.23157824604,3003.681393500199,2993.3021760818106,2991.3092594086725,3001.2738019528065,2991.6323212170946,2988.3639986435737,2975.962981087646,2975.7606558880716,2975.2617389823054,2969.5276258431986,2971.887982127194,3000.1896467494594,2995.3385520873708,2990.3717687584035,2997.3329223060873,2986.449750102408,2994.8574520830416,3003.4948498123504,3003.431253964455,3009.021195700909,2996.6638418908033,2987.2754865974684,2992.4913973570156,2980.151782313577,2971.3732899556953,2946.880150866703,2942.4306040612532,2914.2551941831243,2913.5857194767405,2929.8776955851763,2908.632405806811,2898.531487420792,2895.6711553900705,2890.0423667079313,2892.8594908059795,2898.5093119716103,2894.842952023987,2893.327318585339,2903.699916770489,2899.8701195422,2899.1185104594365,2889.3663356576817,2891.052299541141,2901.3765471851416,2896.13931064827,2893.434381454042,2879.8355524441654,2888.359045184159,2893.2311910056724,2886.2128180703003,2887.1815168898192,2890.7805345223096,2897.5447095325203,2895.8174246431145,2896.5875302622735,2899.3390701478647,2879.6368486969614,2900.0439725126125,2914.848123775083,2917.8741251352594,2919.9320307650105,2910.160217323356,2919.5825296762296,2925.1696242992184,2921.487193332876,2921.486579086441,2915.855794762291,2915.257544009659,2921.026144070537,2920.7912442806046,2921.381972625708,2914.494843665088,2924.4813640460643,2926.9436516758806,2934.9818346190686,2935.780921144451,2929.8684319787917,2950.4220781149334,2952.893921465801,2975.1013277224843,2974.779805387446,2972.474599108842,2982.996115385454,2989.271621709857,2989.288059155031,2998.497658851785],\"type\":\"scatter\"},{\"fill\":\"toself\",\"fillcolor\":\"rgba(255,0,0,0.2)\",\"hoverinfo\":\"skip\",\"line\":{\"color\":\"rgba(255,255,255,0)\"},\"name\":\"10%-90% confidence interval\",\"x\":[\"2024-07-24T00:00:00\",\"2024-07-25T00:00:00\",\"2024-07-26T00:00:00\",\"2024-07-29T00:00:00\",\"2024-07-30T00:00:00\",\"2024-07-31T00:00:00\",\"2024-08-01T00:00:00\",\"2024-08-02T00:00:00\",\"2024-08-05T00:00:00\",\"2024-08-06T00:00:00\",\"2024-08-07T00:00:00\",\"2024-08-08T00:00:00\",\"2024-08-09T00:00:00\",\"2024-08-12T00:00:00\",\"2024-08-13T00:00:00\",\"2024-08-14T00:00:00\",\"2024-08-15T00:00:00\",\"2024-08-16T00:00:00\",\"2024-08-19T00:00:00\",\"2024-08-20T00:00:00\",\"2024-08-21T00:00:00\",\"2024-08-22T00:00:00\",\"2024-08-23T00:00:00\",\"2024-08-26T00:00:00\",\"2024-08-27T00:00:00\",\"2024-08-28T00:00:00\",\"2024-08-29T00:00:00\",\"2024-08-30T00:00:00\",\"2024-09-02T00:00:00\",\"2024-09-03T00:00:00\",\"2024-09-04T00:00:00\",\"2024-09-05T00:00:00\",\"2024-09-06T00:00:00\",\"2024-09-09T00:00:00\",\"2024-09-10T00:00:00\",\"2024-09-11T00:00:00\",\"2024-09-12T00:00:00\",\"2024-09-13T00:00:00\",\"2024-09-16T00:00:00\",\"2024-09-17T00:00:00\",\"2024-09-18T00:00:00\",\"2024-09-19T00:00:00\",\"2024-09-20T00:00:00\",\"2024-09-23T00:00:00\",\"2024-09-24T00:00:00\",\"2024-09-25T00:00:00\",\"2024-09-26T00:00:00\",\"2024-09-27T00:00:00\",\"2024-09-30T00:00:00\",\"2024-10-01T00:00:00\",\"2024-10-02T00:00:00\",\"2024-10-03T00:00:00\",\"2024-10-04T00:00:00\",\"2024-10-07T00:00:00\",\"2024-10-08T00:00:00\",\"2024-10-09T00:00:00\",\"2024-10-10T00:00:00\",\"2024-10-11T00:00:00\",\"2024-10-14T00:00:00\",\"2024-10-15T00:00:00\",\"2024-10-16T00:00:00\",\"2024-10-17T00:00:00\",\"2024-10-18T00:00:00\",\"2024-10-21T00:00:00\",\"2024-10-22T00:00:00\",\"2024-10-23T00:00:00\",\"2024-10-24T00:00:00\",\"2024-10-25T00:00:00\",\"2024-10-28T00:00:00\",\"2024-10-29T00:00:00\",\"2024-10-30T00:00:00\",\"2024-10-31T00:00:00\",\"2024-11-01T00:00:00\",\"2024-11-04T00:00:00\",\"2024-11-05T00:00:00\",\"2024-11-06T00:00:00\",\"2024-11-07T00:00:00\",\"2024-11-08T00:00:00\",\"2024-11-11T00:00:00\",\"2024-11-12T00:00:00\",\"2024-11-13T00:00:00\",\"2024-11-14T00:00:00\",\"2024-11-15T00:00:00\",\"2024-11-18T00:00:00\",\"2024-11-19T00:00:00\",\"2024-11-20T00:00:00\",\"2024-11-21T00:00:00\",\"2024-11-22T00:00:00\",\"2024-11-25T00:00:00\",\"2024-11-26T00:00:00\",\"2024-11-27T00:00:00\",\"2024-11-28T00:00:00\",\"2024-11-29T00:00:00\",\"2024-12-02T00:00:00\",\"2024-12-03T00:00:00\",\"2024-12-04T00:00:00\",\"2024-12-05T00:00:00\",\"2024-12-06T00:00:00\",\"2024-12-09T00:00:00\",\"2024-12-10T00:00:00\",\"2024-12-10T00:00:00\",\"2024-12-09T00:00:00\",\"2024-12-06T00:00:00\",\"2024-12-05T00:00:00\",\"2024-12-04T00:00:00\",\"2024-12-03T00:00:00\",\"2024-12-02T00:00:00\",\"2024-11-29T00:00:00\",\"2024-11-28T00:00:00\",\"2024-11-27T00:00:00\",\"2024-11-26T00:00:00\",\"2024-11-25T00:00:00\",\"2024-11-22T00:00:00\",\"2024-11-21T00:00:00\",\"2024-11-20T00:00:00\",\"2024-11-19T00:00:00\",\"2024-11-18T00:00:00\",\"2024-11-15T00:00:00\",\"2024-11-14T00:00:00\",\"2024-11-13T00:00:00\",\"2024-11-12T00:00:00\",\"2024-11-11T00:00:00\",\"2024-11-08T00:00:00\",\"2024-11-07T00:00:00\",\"2024-11-06T00:00:00\",\"2024-11-05T00:00:00\",\"2024-11-04T00:00:00\",\"2024-11-01T00:00:00\",\"2024-10-31T00:00:00\",\"2024-10-30T00:00:00\",\"2024-10-29T00:00:00\",\"2024-10-28T00:00:00\",\"2024-10-25T00:00:00\",\"2024-10-24T00:00:00\",\"2024-10-23T00:00:00\",\"2024-10-22T00:00:00\",\"2024-10-21T00:00:00\",\"2024-10-18T00:00:00\",\"2024-10-17T00:00:00\",\"2024-10-16T00:00:00\",\"2024-10-15T00:00:00\",\"2024-10-14T00:00:00\",\"2024-10-11T00:00:00\",\"2024-10-10T00:00:00\",\"2024-10-09T00:00:00\",\"2024-10-08T00:00:00\",\"2024-10-07T00:00:00\",\"2024-10-04T00:00:00\",\"2024-10-03T00:00:00\",\"2024-10-02T00:00:00\",\"2024-10-01T00:00:00\",\"2024-09-30T00:00:00\",\"2024-09-27T00:00:00\",\"2024-09-26T00:00:00\",\"2024-09-25T00:00:00\",\"2024-09-24T00:00:00\",\"2024-09-23T00:00:00\",\"2024-09-20T00:00:00\",\"2024-09-19T00:00:00\",\"2024-09-18T00:00:00\",\"2024-09-17T00:00:00\",\"2024-09-16T00:00:00\",\"2024-09-13T00:00:00\",\"2024-09-12T00:00:00\",\"2024-09-11T00:00:00\",\"2024-09-10T00:00:00\",\"2024-09-09T00:00:00\",\"2024-09-06T00:00:00\",\"2024-09-05T00:00:00\",\"2024-09-04T00:00:00\",\"2024-09-03T00:00:00\",\"2024-09-02T00:00:00\",\"2024-08-30T00:00:00\",\"2024-08-29T00:00:00\",\"2024-08-28T00:00:00\",\"2024-08-27T00:00:00\",\"2024-08-26T00:00:00\",\"2024-08-23T00:00:00\",\"2024-08-22T00:00:00\",\"2024-08-21T00:00:00\",\"2024-08-20T00:00:00\",\"2024-08-19T00:00:00\",\"2024-08-16T00:00:00\",\"2024-08-15T00:00:00\",\"2024-08-14T00:00:00\",\"2024-08-13T00:00:00\",\"2024-08-12T00:00:00\",\"2024-08-09T00:00:00\",\"2024-08-08T00:00:00\",\"2024-08-07T00:00:00\",\"2024-08-06T00:00:00\",\"2024-08-05T00:00:00\",\"2024-08-02T00:00:00\",\"2024-08-01T00:00:00\",\"2024-07-31T00:00:00\",\"2024-07-30T00:00:00\",\"2024-07-29T00:00:00\",\"2024-07-26T00:00:00\",\"2024-07-25T00:00:00\",\"2024-07-24T00:00:00\"],\"y\":[3217.6355474889706,3198.34200740104,3215.372497298933,3203.2200331878266,3207.059827853629,3202.0497362462384,3205.4860611618114,3200.502198991938,3210.5109069925047,3218.279697649494,3206.6501091288624,3212.669868142824,3227.480371580419,3224.5500517970977,3220.2807277487577,3211.0626331020085,3206.5600481600704,3225.0880104695643,3213.5382997115235,3212.747577860218,3200.1511779160005,3201.461557811046,3219.165375340297,3207.3404190615133,3201.137701859641,3213.605166956059,3201.545958151629,3211.3113367028254,3217.567908646557,3191.138426215791,3207.390232185754,3218.20349627378,3217.283675469237,3214.7088508668544,3208.0136436730195,3192.5614807657685,3210.796941225203,3199.518147747337,3197.2078546953794,3199.2918591366797,3192.9931519019856,3174.603600680557,3182.284463465453,3179.141816557455,3166.3792777969684,3155.8728796494806,3159.5177084797842,3154.3420469703124,3155.4412216980695,3160.721718223759,3154.5032714092863,3153.046865509161,3174.3088931078933,3165.3969192156737,3165.293465252527,3158.8903956898284,3166.3604752656292,3170.509746164794,3158.2305440400346,3165.3411077440596,3155.422337358905,3163.993974746858,3162.0747330903732,3168.5049144561563,3159.5154697246962,3154.237355882521,3160.609816286521,3166.075324784755,3156.4427793632476,3168.9687703978498,3147.233438655915,3155.503016999417,3170.8609168193716,3179.6366431087818,3180.225148550127,3169.077832395359,3176.8810099709126,3183.022391983776,3179.9405846169084,3183.39475513067,3173.0936272009753,3175.699249482129,3184.650049329988,3193.110287116738,3193.355969060175,3177.5062904299293,3194.7533765965663,3194.4940960619742,3203.223364075019,3196.4867482315167,3190.5771559153745,3204.3345053294033,3215.3581490537686,3233.292194014847,3237.82741245378,3225.996208131488,3234.7235228739837,3252.6009193222976,3251.203920784368,3257.8195598102375,2797.673709157877,2791.211183290637,2789.402876611117,2791.793609865471,2779.7350314904957,2777.365715523084,2779.96524805816,2741.705849660566,2737.5371233659425,2724.6829870739543,2733.171732199042,2738.2373277263873,2719.014620629144,2717.4290909643187,2718.751688653546,2728.870194401222,2721.16132376135,2733.609894681917,2720.8190200250865,2717.3895079626113,2723.7152960893604,2730.991163326504,2731.0977891623415,2725.1244668563713,2709.2103554066493,2731.9760730770195,2724.10569662745,2725.346080405873,2701.674198977909,2673.9019318145606,2694.237260698518,2695.7799434002754,2691.974816054542,2704.8306754943296,2695.326842357268,2708.3793479667493,2708.2857481950196,2713.283996496163,2710.888074395809,2707.3353731665657,2721.5849719528187,2719.4252305897962,2722.0446535570145,2706.11520731942,2727.4724656638996,2727.0894275723613,2730.861813240518,2729.439821007397,2725.5281816569086,2724.8954913493017,2717.324816549539,2724.5009026619177,2713.765632645639,2732.675610781452,2743.9121875752435,2746.689605834764,2762.4734330853894,2765.1054891109907,2765.290830275432,2785.562261137993,2789.723661100957,2794.32865525321,2790.3420101773336,2791.977796027459,2794.8153207403084,2798.855223790012,2814.9446045662526,2807.971443621333,2830.165250613839,2806.8138627031035,2787.390561439248,2800.8498148786007,2803.29935573501,2812.6821702391744,2792.6477606652124,2794.1115211435313,2788.8606896143474,2801.3175541575697,2829.1971252858903,2824.6966024518842,2829.6128458731614,2840.4020442351502,2848.4653581969014,2852.4829893052383,2863.340803079055,2872.9146599536152,2848.4501244577013,2873.9164915279644,2866.973346781176,2865.0745054565987,2869.3365625216825,2875.222666570643,2875.3709654884697,2869.794335999951,2864.634529163637,2888.9248281015757,2882.007060976759,2889.9219631314836,2914.337804078571,2922.311134899282],\"type\":\"scatter\"},{\"line\":{\"color\":\"green\",\"dash\":\"dot\"},\"mode\":\"lines\",\"name\":\"Actual time series values\",\"x\":[\"2024-07-24T00:00:00\",\"2024-07-25T00:00:00\",\"2024-07-26T00:00:00\",\"2024-07-29T00:00:00\",\"2024-07-30T00:00:00\",\"2024-07-31T00:00:00\",\"2024-08-01T00:00:00\",\"2024-08-02T00:00:00\",\"2024-08-05T00:00:00\",\"2024-08-06T00:00:00\",\"2024-08-07T00:00:00\",\"2024-08-08T00:00:00\",\"2024-08-09T00:00:00\",\"2024-08-12T00:00:00\",\"2024-08-13T00:00:00\",\"2024-08-14T00:00:00\",\"2024-08-15T00:00:00\",\"2024-08-16T00:00:00\",\"2024-08-19T00:00:00\",\"2024-08-20T00:00:00\",\"2024-08-21T00:00:00\",\"2024-08-22T00:00:00\",\"2024-08-23T00:00:00\",\"2024-08-26T00:00:00\",\"2024-08-27T00:00:00\",\"2024-08-28T00:00:00\",\"2024-08-29T00:00:00\",\"2024-08-30T00:00:00\",\"2024-09-02T00:00:00\",\"2024-09-03T00:00:00\",\"2024-09-04T00:00:00\",\"2024-09-05T00:00:00\",\"2024-09-06T00:00:00\",\"2024-09-09T00:00:00\",\"2024-09-10T00:00:00\",\"2024-09-11T00:00:00\",\"2024-09-12T00:00:00\",\"2024-09-13T00:00:00\",\"2024-09-16T00:00:00\",\"2024-09-17T00:00:00\",\"2024-09-18T00:00:00\",\"2024-09-19T00:00:00\",\"2024-09-20T00:00:00\",\"2024-09-23T00:00:00\",\"2024-09-24T00:00:00\",\"2024-09-25T00:00:00\",\"2024-09-26T00:00:00\",\"2024-09-27T00:00:00\",\"2024-09-30T00:00:00\",\"2024-10-01T00:00:00\",\"2024-10-02T00:00:00\",\"2024-10-03T00:00:00\",\"2024-10-04T00:00:00\",\"2024-10-07T00:00:00\",\"2024-10-08T00:00:00\",\"2024-10-09T00:00:00\",\"2024-10-10T00:00:00\",\"2024-10-11T00:00:00\",\"2024-10-14T00:00:00\",\"2024-10-15T00:00:00\",\"2024-10-16T00:00:00\",\"2024-10-17T00:00:00\",\"2024-10-18T00:00:00\",\"2024-10-21T00:00:00\",\"2024-10-22T00:00:00\",\"2024-10-23T00:00:00\",\"2024-10-24T00:00:00\",\"2024-10-25T00:00:00\",\"2024-10-28T00:00:00\",\"2024-10-29T00:00:00\",\"2024-10-30T00:00:00\",\"2024-10-31T00:00:00\",\"2024-11-01T00:00:00\",\"2024-11-02T00:00:00\",\"2024-11-05T00:00:00\",\"2024-11-06T00:00:00\",\"2024-11-07T00:00:00\",\"2024-11-08T00:00:00\",\"2024-11-11T00:00:00\",\"2024-11-12T00:00:00\",\"2024-11-13T00:00:00\",\"2024-11-14T00:00:00\",\"2024-11-15T00:00:00\",\"2024-11-18T00:00:00\",\"2024-11-19T00:00:00\",\"2024-11-20T00:00:00\",\"2024-11-21T00:00:00\",\"2024-11-22T00:00:00\",\"2024-11-25T00:00:00\",\"2024-11-26T00:00:00\",\"2024-11-27T00:00:00\",\"2024-11-28T00:00:00\",\"2024-11-29T00:00:00\",\"2024-12-02T00:00:00\",\"2024-12-03T00:00:00\",\"2024-12-04T00:00:00\",\"2024-12-05T00:00:00\",\"2024-12-06T00:00:00\",\"2024-12-09T00:00:00\",\"2024-12-10T00:00:00\"],\"y\":[3051.76,3041.37,2993.23,2906.95,2944.78,2942.68,2935.69,2899.0,2828.72,2830.75,2874.94,2852.51,2848.29,2844.77,2884.6,2871.11,2838.11,2828.2,2775.64,2768.42,2768.14,2725.75,2662.47,2763.75,2730.38,2699.98,2708.27,2650.32,2545.07,2524.38,2605.15,2621.62,2623.37,2703.17,2671.38,2668.03,2615.0,2678.99,2744.2,2774.04,2751.73,2758.91,2782.35,2819.87,2871.96,2830.11,2829.65,2858.56,2857.56,2814.19,2766.79,2782.39,2804.62,2793.84,2788.37,2748.81,2761.54,2754.52,2773.36,2805.79,2783.46,2763.53,2751.9,2767.71,2755.19,2734.93,2718.42,2660.36,2575.06,2599.66,2615.38,2560.2,2574.71,2594.38,2616.51,2662.87,2690.63,2734.56,2785.31,2756.76,2763.99,2697.47,2739.21,2720.77,2630.51,2596.89,2568.6,2581.05,2530.69,2464.35,2491.88,2547.88,2578.0,2586.74,2539.64,2485.62,2510.83,2536.23,2572.89,2522.75],\"type\":\"scatter\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"legend\":{\"orientation\":\"h\",\"yanchor\":\"bottom\",\"y\":1.02,\"xanchor\":\"right\",\"x\":1},\"title\":{\"text\":\"Forecast vs. Actuals on Test Set for item_id: IMOEX\"},\"yaxis\":{\"title\":{\"text\":\"Target Value\"}}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('a57ea34a-a7c8-4d3d-8c78-9c82c1c10f3c');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment