mirror of
https://github.com/wassname/pytorch-transformer-ts.git
synced 2026-10-03 12:51:38 +08:00
added traffic
This commit is contained in:
1 parent
8afba21ba3
commit
efc4d0d678
1 file changed
+497
@@ -0,0 +1,497 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "7c64affd",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from itertools import islice"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "8aa55868",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"%matplotlib inline\n",
|
||||
"from matplotlib import pyplot as plt\n",
|
||||
"import matplotlib.dates as mdates\n",
|
||||
"\n",
|
||||
"import pandas as pd\n",
|
||||
"from sklearn.manifold import TSNE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "6a730716",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2022-11-15 16:57:16.475413: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA\n",
|
||||
"To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from gluonts.dataset.repository.datasets import get_dataset\n",
|
||||
"from gluonts.dataset.common import ListDataset\n",
|
||||
"from gluonts.evaluation import make_evaluation_predictions, Evaluator\n",
|
||||
"from pytorch_lightning.loggers import CSVLogger\n",
|
||||
"from datasets import load_dataset\n",
|
||||
"\n",
|
||||
"from estimator import NSTransformerEstimator"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "fc889c9f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dataset = get_dataset(\"traffic\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "1717d0d2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"estimator = NSTransformerEstimator(\n",
|
||||
" freq=dataset.metadata.freq,\n",
|
||||
" prediction_length=dataset.metadata.prediction_length,\n",
|
||||
" context_length=dataset.metadata.prediction_length*6,\n",
|
||||
" \n",
|
||||
" num_feat_static_cat=len(dataset.metadata.feat_static_cat),\n",
|
||||
" cardinality=[int(cat_feat_info.cardinality) for cat_feat_info in dataset.metadata.feat_static_cat],\n",
|
||||
" embedding_dimension=[2],\n",
|
||||
" \n",
|
||||
" nhead=2,\n",
|
||||
" num_encoder_layers=4,\n",
|
||||
" num_decoder_layers=2,\n",
|
||||
" dim_feedforward=16,\n",
|
||||
" activation=\"gelu\",\n",
|
||||
" \n",
|
||||
" batch_size=256,\n",
|
||||
" num_batches_per_epoch=100,\n",
|
||||
" trainer_kwargs=dict(gpus=\"1\", max_epochs=50, logger=CSVLogger(\".\", \"lightning_logs/\")),\n",
|
||||
" )"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "c77b420c",
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/utilities/parsing.py:262: UserWarning: Attribute 'model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['model'])`.\n",
|
||||
" rank_zero_warn(\n",
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/accelerator_connector.py:446: LightningDeprecationWarning: Setting `Trainer(gpus='1')` is deprecated in v1.7 and will be removed in v2.0. Please use `Trainer(accelerator='gpu', devices='1')` instead.\n",
|
||||
" rank_zero_deprecation(\n",
|
||||
"GPU available: True (cuda), used: True\n",
|
||||
"TPU available: False, using: 0 TPU cores\n",
|
||||
"IPU available: False, using: 0 IPUs\n",
|
||||
"HPU available: False, using: 0 HPUs\n",
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pytorch_lightning/trainer/configuration_validator.py:108: PossibleUserWarning: You defined a `validation_step` but have no `val_dataloader`. Skipping val loop.\n",
|
||||
" rank_zero_warn(\n",
|
||||
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
|
||||
"\n",
|
||||
" | Name | Type | Params\n",
|
||||
"---------------------------------------------\n",
|
||||
"0 | model | NSTransformerModel | 113 K \n",
|
||||
"---------------------------------------------\n",
|
||||
"113 K Trainable params\n",
|
||||
"0 Non-trainable params\n",
|
||||
"113 K Total params\n",
|
||||
"0.456 Total estimated model params size (MB)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "d693ce385ed84eafb9a142a6f4666c1e",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
"Training: 0it [00:00, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Epoch 0, global step 100: 'train_loss' reached -2.78611 (best -2.78611), saving model to './lightning_logs/version_17/checkpoints/epoch=0-step=100.ckpt' as top 1\n",
|
||||
"Epoch 1, global step 200: 'train_loss' reached -3.36287 (best -3.36287), saving model to './lightning_logs/version_17/checkpoints/epoch=1-step=200.ckpt' as top 1\n",
|
||||
"Epoch 2, global step 300: 'train_loss' reached -3.53036 (best -3.53036), saving model to './lightning_logs/version_17/checkpoints/epoch=2-step=300.ckpt' as top 1\n",
|
||||
"Epoch 3, global step 400: 'train_loss' reached -3.61337 (best -3.61337), saving model to './lightning_logs/version_17/checkpoints/epoch=3-step=400.ckpt' as top 1\n",
|
||||
"Epoch 4, global step 500: 'train_loss' reached -3.67846 (best -3.67846), saving model to './lightning_logs/version_17/checkpoints/epoch=4-step=500.ckpt' as top 1\n",
|
||||
"Epoch 5, global step 600: 'train_loss' reached -3.71343 (best -3.71343), saving model to './lightning_logs/version_17/checkpoints/epoch=5-step=600.ckpt' as top 1\n",
|
||||
"Epoch 6, global step 700: 'train_loss' reached -3.73426 (best -3.73426), saving model to './lightning_logs/version_17/checkpoints/epoch=6-step=700.ckpt' as top 1\n",
|
||||
"Epoch 7, global step 800: 'train_loss' reached -3.76009 (best -3.76009), saving model to './lightning_logs/version_17/checkpoints/epoch=7-step=800.ckpt' as top 1\n",
|
||||
"Epoch 8, global step 900: 'train_loss' reached -3.77849 (best -3.77849), saving model to './lightning_logs/version_17/checkpoints/epoch=8-step=900.ckpt' as top 1\n",
|
||||
"Epoch 9, global step 1000: 'train_loss' reached -3.79138 (best -3.79138), saving model to './lightning_logs/version_17/checkpoints/epoch=9-step=1000.ckpt' as top 1\n",
|
||||
"Epoch 10, global step 1100: 'train_loss' reached -3.80539 (best -3.80539), saving model to './lightning_logs/version_17/checkpoints/epoch=10-step=1100.ckpt' as top 1\n",
|
||||
"Epoch 11, global step 1200: 'train_loss' reached -3.82770 (best -3.82770), saving model to './lightning_logs/version_17/checkpoints/epoch=11-step=1200.ckpt' as top 1\n",
|
||||
"Epoch 12, global step 1300: 'train_loss' reached -3.83523 (best -3.83523), saving model to './lightning_logs/version_17/checkpoints/epoch=12-step=1300.ckpt' as top 1\n",
|
||||
"Epoch 13, global step 1400: 'train_loss' reached -3.85672 (best -3.85672), saving model to './lightning_logs/version_17/checkpoints/epoch=13-step=1400.ckpt' as top 1\n",
|
||||
"Epoch 14, global step 1500: 'train_loss' reached -3.86159 (best -3.86159), saving model to './lightning_logs/version_17/checkpoints/epoch=14-step=1500.ckpt' as top 1\n",
|
||||
"Epoch 15, global step 1600: 'train_loss' reached -3.86511 (best -3.86511), saving model to './lightning_logs/version_17/checkpoints/epoch=15-step=1600.ckpt' as top 1\n",
|
||||
"Epoch 16, global step 1700: 'train_loss' reached -3.88260 (best -3.88260), saving model to './lightning_logs/version_17/checkpoints/epoch=16-step=1700.ckpt' as top 1\n",
|
||||
"Epoch 17, global step 1800: 'train_loss' reached -3.88624 (best -3.88624), saving model to './lightning_logs/version_17/checkpoints/epoch=17-step=1800.ckpt' as top 1\n",
|
||||
"Epoch 18, global step 1900: 'train_loss' reached -3.89987 (best -3.89987), saving model to './lightning_logs/version_17/checkpoints/epoch=18-step=1900.ckpt' as top 1\n",
|
||||
"Epoch 19, global step 2000: 'train_loss' reached -3.90700 (best -3.90700), saving model to './lightning_logs/version_17/checkpoints/epoch=19-step=2000.ckpt' as top 1\n",
|
||||
"Epoch 20, global step 2100: 'train_loss' reached -3.91199 (best -3.91199), saving model to './lightning_logs/version_17/checkpoints/epoch=20-step=2100.ckpt' as top 1\n",
|
||||
"Epoch 21, global step 2200: 'train_loss' reached -3.92033 (best -3.92033), saving model to './lightning_logs/version_17/checkpoints/epoch=21-step=2200.ckpt' as top 1\n",
|
||||
"Epoch 22, global step 2300: 'train_loss' reached -3.93490 (best -3.93490), saving model to './lightning_logs/version_17/checkpoints/epoch=22-step=2300.ckpt' as top 1\n",
|
||||
"Epoch 23, global step 2400: 'train_loss' reached -3.93985 (best -3.93985), saving model to './lightning_logs/version_17/checkpoints/epoch=23-step=2400.ckpt' as top 1\n",
|
||||
"Epoch 24, global step 2500: 'train_loss' was not in top 1\n",
|
||||
"Epoch 25, global step 2600: 'train_loss' reached -3.94682 (best -3.94682), saving model to './lightning_logs/version_17/checkpoints/epoch=25-step=2600.ckpt' as top 1\n",
|
||||
"Epoch 26, global step 2700: 'train_loss' reached -3.95871 (best -3.95871), saving model to './lightning_logs/version_17/checkpoints/epoch=26-step=2700.ckpt' as top 1\n",
|
||||
"Epoch 27, global step 2800: 'train_loss' was not in top 1\n",
|
||||
"Epoch 28, global step 2900: 'train_loss' reached -3.96466 (best -3.96466), saving model to './lightning_logs/version_17/checkpoints/epoch=28-step=2900.ckpt' as top 1\n",
|
||||
"Epoch 29, global step 3000: 'train_loss' was not in top 1\n",
|
||||
"Epoch 30, global step 3100: 'train_loss' reached -3.96931 (best -3.96931), saving model to './lightning_logs/version_17/checkpoints/epoch=30-step=3100.ckpt' as top 1\n",
|
||||
"Epoch 31, global step 3200: 'train_loss' reached -3.97103 (best -3.97103), saving model to './lightning_logs/version_17/checkpoints/epoch=31-step=3200.ckpt' as top 1\n",
|
||||
"Epoch 32, global step 3300: 'train_loss' reached -3.98619 (best -3.98619), saving model to './lightning_logs/version_17/checkpoints/epoch=32-step=3300.ckpt' as top 1\n",
|
||||
"Epoch 33, global step 3400: 'train_loss' reached -3.98928 (best -3.98928), saving model to './lightning_logs/version_17/checkpoints/epoch=33-step=3400.ckpt' as top 1\n",
|
||||
"Epoch 34, global step 3500: 'train_loss' was not in top 1\n",
|
||||
"Epoch 35, global step 3600: 'train_loss' was not in top 1\n",
|
||||
"Epoch 36, global step 3700: 'train_loss' reached -3.99595 (best -3.99595), saving model to './lightning_logs/version_17/checkpoints/epoch=36-step=3700.ckpt' as top 1\n",
|
||||
"Epoch 37, global step 3800: 'train_loss' reached -4.00108 (best -4.00108), saving model to './lightning_logs/version_17/checkpoints/epoch=37-step=3800.ckpt' as top 1\n",
|
||||
"Epoch 38, global step 3900: 'train_loss' was not in top 1\n",
|
||||
"Epoch 39, global step 4000: 'train_loss' reached -4.00378 (best -4.00378), saving model to './lightning_logs/version_17/checkpoints/epoch=39-step=4000.ckpt' as top 1\n",
|
||||
"Epoch 40, global step 4100: 'train_loss' reached -4.00745 (best -4.00745), saving model to './lightning_logs/version_17/checkpoints/epoch=40-step=4100.ckpt' as top 1\n",
|
||||
"Epoch 41, global step 4200: 'train_loss' was not in top 1\n",
|
||||
"Epoch 42, global step 4300: 'train_loss' reached -4.02734 (best -4.02734), saving model to './lightning_logs/version_17/checkpoints/epoch=42-step=4300.ckpt' as top 1\n",
|
||||
"Epoch 43, global step 4400: 'train_loss' was not in top 1\n",
|
||||
"Epoch 44, global step 4500: 'train_loss' was not in top 1\n",
|
||||
"Epoch 45, global step 4600: 'train_loss' reached -4.03420 (best -4.03420), saving model to './lightning_logs/version_17/checkpoints/epoch=45-step=4600.ckpt' as top 1\n",
|
||||
"Epoch 46, global step 4700: 'train_loss' was not in top 1\n",
|
||||
"Epoch 47, global step 4800: 'train_loss' reached -4.03479 (best -4.03479), saving model to './lightning_logs/version_17/checkpoints/epoch=47-step=4800.ckpt' as top 1\n",
|
||||
"Epoch 48, global step 4900: 'train_loss' reached -4.03758 (best -4.03758), saving model to './lightning_logs/version_17/checkpoints/epoch=48-step=4900.ckpt' as top 1\n",
|
||||
"Epoch 49, global step 5000: 'train_loss' reached -4.04418 (best -4.04418), saving model to './lightning_logs/version_17/checkpoints/epoch=49-step=5000.ckpt' as top 1\n",
|
||||
"`Trainer.fit` stopped: `max_epochs=50` reached.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"predictor = estimator.train(\n",
|
||||
" training_data=dataset.train,\n",
|
||||
" shuffle_buffer_length=1024,\n",
|
||||
" num_workers=8,\n",
|
||||
" cache_data=True,\n",
|
||||
" )"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "f8a362b6",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecast_it, ts_it = make_evaluation_predictions(\n",
|
||||
" dataset=dataset.test,\n",
|
||||
" predictor=predictor,\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "5fdc12da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"forecasts = list(forecast_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"id": "4b7d3409",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tss = list(ts_it)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "9b154bde",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"evaluator = Evaluator()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "0fdec8a7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Running evaluation: 6034it [00:00, 13806.78it/s]\n",
|
||||
"/home/kashif/.env/pytorch/lib/python3.10/site-packages/pandas/core/dtypes/astype.py:170: UserWarning: Warning: converting a masked element to nan.\n",
|
||||
" return arr.astype(dtype, copy=True)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"id": "d8cd91fc",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 0.0005545510502650451,\n",
|
||||
" 'abs_error': 1194.962294739671,\n",
|
||||
" 'abs_target_sum': 8672.5710073933,\n",
|
||||
" 'abs_target_mean': 0.0598868288545002,\n",
|
||||
" 'seasonal_error': 0.015220711169889631,\n",
|
||||
" 'MASE': 0.5268373852309536,\n",
|
||||
" 'MAPE': 0.19698710231386743,\n",
|
||||
" 'sMAPE': 0.14366331204023727,\n",
|
||||
" 'MSIS': 6.645775867073212,\n",
|
||||
" 'QuantileLoss[0.1]': 567.1987160773047,\n",
|
||||
" 'Coverage[0.1]': 0.11960694950834162,\n",
|
||||
" 'QuantileLoss[0.2]': 810.5378031823493,\n",
|
||||
" 'Coverage[0.2]': 0.2525066291017567,\n",
|
||||
" 'QuantileLoss[0.3]': 990.0108320649057,\n",
|
||||
" 'Coverage[0.3]': 0.3814633742127942,\n",
|
||||
" 'QuantileLoss[0.4]': 1117.429615440246,\n",
|
||||
" 'Coverage[0.4]': 0.49868799027731747,\n",
|
||||
" 'QuantileLoss[0.5]': 1194.9622953646176,\n",
|
||||
" 'Coverage[0.5]': 0.6009695061319191,\n",
|
||||
" 'QuantileLoss[0.6]': 1216.9032527409088,\n",
|
||||
" 'Coverage[0.6]': 0.6836054027179317,\n",
|
||||
" 'QuantileLoss[0.7]': 1180.0741097792227,\n",
|
||||
" 'Coverage[0.7]': 0.7650121533532207,\n",
|
||||
" 'QuantileLoss[0.8]': 1065.84677780545,\n",
|
||||
" 'Coverage[0.8]': 0.8383880234228263,\n",
|
||||
" 'QuantileLoss[0.9]': 831.3034810785131,\n",
|
||||
" 'Coverage[0.9]': 0.9074411667219092,\n",
|
||||
" 'RMSE': 0.02354890762360422,\n",
|
||||
" 'NRMSE': 0.3932234862663735,\n",
|
||||
" 'ND': 0.13778639502876078,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.0654014496501409,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.09345992122651657,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.11415424920948229,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.1288464071943194,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.13778639510082089,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.1403163204663886,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.1360696970682879,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.12289859338099669,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.09585432974487418,\n",
|
||||
" 'mean_absolute_QuantileLoss': 997.1407648370576,\n",
|
||||
" 'mean_wQuantileLoss': 0.11497637367131415,\n",
|
||||
" 'MAE_Coverage': 0.060853466160890775,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "731c35ca",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7cAAAXCCAYAAABwgmnJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxU9b0//tfsM9kTEiAhIWwJYSeAglKKosWFUqy7V9sivfdnr0uxuFxpXQBt+dYFqwXr7e1FvbVaBeu+L4AKsu8IYc2+L7Pvc87vjzNnMkMmmUkyk/X1fDzykJxz5sxnMEw+83l/3u+3QhRFEURERERERERERERERERERH2YsrcHQEREREREREREREREREREFAmD20RERERERERERERERERE1OcxuE1ERERERERERERERERERH0eg9tERERERERERERERERERNTnMbhNRERERERERERERERERER9HoPbRERERERERERERERERETU5zG4TUREREREREREREREREREfR6D20RERERERERERERERERE1OcxuE1ERERERERERERERERERH0eg9tERERERERERERERERERNTnMbhNRNSDLBYLVq1ahSlTpiApKQmpqam44IIL8Mwzz8Dtdvf28IiIiIioH7Db7fj444/xxBNP4Nprr0V+fj4UCgUUCgVWrVrV28MjIiIion6mqakJL730Em677TZMnDgRiYmJ0Ol0yM3NxTXXXIO33367t4dIRBSgEEVR7O1BEBENBmVlZbjkkktQWloKAEhISIDP54PL5QIAFBcX48svv0R6enovjpKIiIiI+rqtW7fi0ksvDXvuscceY4CbiIiIiDpFo9HA6/UGvtfr9VCpVLDZbIFjV111FTZv3oyEhITeGCIRUQAzt4mIeoDX68XixYtRWlqK7OxsfP7557DZbLDb7fjnP/+J5ORkHDhwALfddltvD5WIiIiI+oH09HRcdtlleOCBB/D6669j+PDhvT0kIiIiIuqnvF4vLrzwQrzwwgs4c+YMHA4HrFYrzp07h1/+8pcAgI8//hh33HFHL4+UiIiZ20REPeJ///d/8e///u8AgB07duCiiy4KOf/666/j3/7t3wAAX3zxBS677LIeHyMRERER9Q8+nw8qlSrk2KhRo1BWVsbMbSIiIiLqtC1btrRbGQgAfvWrX+G///u/AQDl5eXIy8vrqaEREbXBzG0ioh7wyiuvAAAuvfTSNoFtALj55psxevRoAMD//d//9ejYiIiIiKh/OT+wTURERETUHR0FtgEEsrcBYO/evfEeDhFRhxjcJiKKM7vdju3btwOQetOEo1AocOWVVwIAPvvssx4bGxEREREREREREVFH9Hp94M8+n68XR0JExOA2EVHcHT9+HIIgAAAmT57c7nXyudraWjQ3N/fI2IiIiIiIiIiIiIg6snXr1sCfp0yZ0nsDISICg9tERHFXXV0d+POIESPavS74XPBjiIiIiIiIiIiIiHqD0WjE2rVrAQDz5s3D+PHje3lERDTYMbhNRBRnFosl8OeEhIR2rws+F/wYIiIiIiIiIiIiop4mCAJ+9rOfoaamBnq9HuvXr+/tIRERMbhNREREREREREREREREoZYvX44PPvgAALBhwwZMnTq1l0dERMTgNhFR3CUnJwf+bLfb270u+FzwY4iIiIiIiIiIiIh60v333x/I1H722WexbNmyXh4REZGEwW0iojjLyckJ/Lmqqqrd64LPBT+GiIiIiIiIiIiIqKc8+OCDeOaZZwAATz/9NO69997eHRARURAGt4mI4mzChAlQKqW326NHj7Z7nXxu+PDhyMjI6JGxEREREREREREREckeeOABPPXUUwCAJ598Evfdd18vj4iIKBSD20REcZaQkIC5c+cCAD755JOw14iiiE8//RQAsHDhwh4bGxEREREREREREREglSJ/+umnAUiB7QceeKCXR0RE1BaD20REPeAXv/gFAGDLli3YtWtXm/ObNm3C2bNnAQA///nPe3RsRERERERERERENLjdf//9IaXIGdgmor6KwW0ioh7wi1/8AlOmTIEoirjuuuvw5ZdfAgAEQcCmTZvwH//xHwCAq666CpdddllvDpWIiIiI+oGWlhY0NjYGvgRBAADY7faQ41artZdHSkRERER9XXCP7XXr1rEUORH1aQpRFMXeHgQR0WBQWlqKSy+9FKWlpQCkcuWCIMDpdAIAiouL8eWXXyI9Pb0XR0lERERE/cGoUaNQVlYW8bpf/OIXePnll+M/ICIiIiLql8rLy5Gfnw8AUCqVyMrK6vD6+++/H/fff39PDI2IKCx1bw+AiGiwGDVqFA4fPoynn34a//rXv3Du3DloNBpMmjQJt9xyC+655x5otdreHiYRERERERERERENEnIFIPnPdXV1HV7PykBE1NuYuU1ERERERERERERERERERH0ee24TEREREREREREREREREVGfx+A2ERERERERERERERERERH1eQxuExERERERERERERERERFRn8fgNhERERERERERERERERER9XkMbhMRERERERERERERERERUZ+n7u0B9AWCIKC6uhrJyclQKBS9PRwiIiKimBNFERaLBTk5OVAqub8x3ji/JCIiooGMc8uexbklERERDXSdmV8yuA2guroaeXl5vT0MIiIiorirqKhAbm5ubw9jwOP8koiIiAYDzi17BueWRERENFhEM79kcBtAcnIyAOkvLCUlpZdHQ0RERBR7ZrMZeXl5gXkPxRfnl0RERDSQcW7Zszi3JCIiooGuM/NLBreBQDmflJQUThCJiIhoQGMZw57B+SURERENBpxb9gzOLYmIiGiwiGZ+yaY4RERERERERERERERERETU5zG4TUREREREREREREREREREfR6D20RERERERERERERERERE1OcxuE1ERERERERERERERERERH0eg9tERERERERERERERERERNTnMbhNRERERERERERERERERER9HoPbRERERERERERERERERETU5zG4TUREREREREREREREREREfR6D20RERERERERERERERERE1OcxuE1ERERERERERERERERERH0eg9tERERERERERERERERERNTnMbhNRERERERERERERERERER9HoPbREREFFeCIOKZz0qwpaS+t4dCRERERERERERERP1Yl4PbDocDjz76KAoLC6HX65GTk4Nly5ahqqqq0/dqaWnB8uXLkZ+fD51Oh/z8fNx7770wGo3tPubkyZO4/fbbkZ+fD61Wi+TkZFxwwQV49tln4Xa7u/qyiIiIKMb2l7fgz1+dxuMffN/bQyEiIiKiAcLj8/T2EIiIiIhogPMK3t4eAoXRpeC20+nEggUL8Pjjj8NqtWLJkiXIy8vDSy+9hOLiYpw9ezbqezU2NuLCCy/E888/D7VajWuuuQbJycl47rnnMHv2bDQ3N7d5zI4dO1BcXIyXX34ZiYmJuOaaa3DxxRfj2LFjWLFiBRYuXAivlz9wREREfUGt2QkAaLS4enkkRERERDRQVJore3sIRERERDTA1VhqensIFEaXgttPPPEEdu7ciYsuuggnT57EG2+8gV27duGZZ55BQ0MDli1bFvW97r33Xpw+fRrXXnstSkpK8MYbb+Do0aO45557cPLkSaxYsaLNY+6++27Y7XasXbsW33//Pd588018+umnOH36NMaMGYNt27bh73//e1deGhEREcWYHNQ2O73wCWIvj4aIiIiIBoJyU3lvD4GIiIiIBjBRFFFjZXC7L+p0cNvtdmP9+vUAgA0bNiApKSlwbsWKFZg6dSq2bduGffv2RbxXTU0NXn/9dWi1WrzwwgtQq9WBc0899RSysrLw6quvor6+tUen1WrFgQMHkJCQgAcffDDkfjk5Obj77rsBAHv27OnsSyMiIqI4aLS2tgsxO1g+koiIiIi6x+q2osnR1NvDICIiIqIBzOK2wOKy9PYwKIxOB7e3b98Ok8mEsWPHori4uM3566+/HgDw/vvvR7zXJ598AkEQMG/ePAwbNizknE6nw+LFi+Hz+fDRRx8Fjms0GiiVkYc9ZMiQiNcQERFR/DVaW8uRGxncJiIiIqJuMjlNMLvMvT0MIiIiIhrAWhwtsHvsvT0MCqPTwe1Dhw4BAGbMmBH2vHz88OHDcbmXTqfDD3/4Q9jtdjz55JMh11dXV2PDhg3QaDT42c9+FvH5iYiIKP6CM7eNdncHVxIRERERRWZ0GuH0OuH2cW5JRERERPFhdBrh8Dp6exgURqeD2+XlUk+j3NzcsOfl42VlZXG714svvoi8vDysXLkSEydOxI033ogrr7wS48aNgyiK+PDDD1FYWNju87pcLpjN5pAvIiIiig9mbhMRERFRLJlcJum/TlMvj4SIiIiIBqoWJzO3+yp15EtCWa1WAEBCQkLY84mJiQAAiyVyHfqu3mv8+PH49ttv8dOf/hT79+/H8ePHAQAKhQKXXnopJk2a1OHzrl27FqtXr444PiIiIuq+4OC2yc7gNhERERF1j9FpBACYXWZkJWb17mCIiIiIaEBqcbTA6XVCEAUoFZ3OFaY46pf/N7766itMmzYNHo8HX331FcxmM86dO4ff/e53eOmllzB37lw0NDS0+/iVK1fCZDIFvioqKnpw9ERERIOHKIqhmdssS05ERERE3SRnbMsZ3EREREREsSZvqHR6nb07EGqj05nbSUlJAAC7PXwqvs1mAwAkJyfH5V7Nzc244YYb4PF48PHHH2PEiBGBax5//HGYTCb8+c9/xtNPP40//vGPYe+r0+mg0+kijo+IiIg6z+V1QaeWfs/a3D44PULgHMuSExEREVF3CKIAi1uq8Gd2sc0cEREREcWe3WOHy+cK/DlBE74CNfWOTmdujxw5EgBQWVkZ9rx8PD8/Py73+vDDD9Hc3Iw5c+YEAtvBbrjhBgDA119/HfH5iYiIKPYqza2Line truncated
|
||||
"text/plain": [
|
||||
"<Figure size 2000x1500 with 9 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.figure(figsize=(20, 15))\n",
|
||||
"date_formater = mdates.DateFormatter('%b, %d')\n",
|
||||
"plt.rcParams.update({'font.size': 15})\n",
|
||||
"\n",
|
||||
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
|
||||
" ax = plt.subplot(3, 3, idx+1)\n",
|
||||
"\n",
|
||||
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
|
||||
" forecast.plot( color='g')\n",
|
||||
" plt.xticks(rotation=60)\n",
|
||||
" ax.xaxis.set_major_formatter(date_formater)\n",
|
||||
" ax.set_title(forecast.item_id)\n",
|
||||
"\n",
|
||||
"plt.gcf().tight_layout()\n",
|
||||
"plt.legend()\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"id": "7f28f4d3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'MSE': 0.0009735079624914573,\n",
|
||||
" 'abs_error': 2557.504844032228,\n",
|
||||
" 'abs_target_sum': 8672.5710073933,\n",
|
||||
" 'abs_target_mean': 0.0598868288545002,\n",
|
||||
" 'seasonal_error': 0.015220711169889631,\n",
|
||||
" 'MASE': 1.3000324385806992,\n",
|
||||
" 'MAPE': 1.2105401288497324,\n",
|
||||
" 'sMAPE': 0.3941314951953486,\n",
|
||||
" 'MSIS': 11.508284072789623,\n",
|
||||
" 'QuantileLoss[0.1]': 1247.7999667831973,\n",
|
||||
" 'Coverage[0.1]': 0.3044207822340073,\n",
|
||||
" 'QuantileLoss[0.2]': 1838.6187099514589,\n",
|
||||
" 'Coverage[0.2]': 0.4167978676389349,\n",
|
||||
" 'QuantileLoss[0.3]': 2217.341031904658,\n",
|
||||
" 'Coverage[0.3]': 0.5013603469229919,\n",
|
||||
" 'QuantileLoss[0.4]': 2449.6894316156395,\n",
|
||||
" 'Coverage[0.4]': 0.5712697491989835,\n",
|
||||
" 'QuantileLoss[0.5]': 2557.504843601957,\n",
|
||||
" 'Coverage[0.5]': 0.6335556844547564,\n",
|
||||
" 'QuantileLoss[0.6]': 2545.3354630095882,\n",
|
||||
" 'Coverage[0.6]': 0.6856700917025744,\n",
|
||||
" 'QuantileLoss[0.7]': 2400.088776300754,\n",
|
||||
" 'Coverage[0.7]': 0.7447933929952493,\n",
|
||||
" 'QuantileLoss[0.8]': 2083.7158349916335,\n",
|
||||
" 'Coverage[0.8]': 0.8087227930615402,\n",
|
||||
" 'QuantileLoss[0.9]': 1500.0963136690668,\n",
|
||||
" 'Coverage[0.9]': 0.8867735609324936,\n",
|
||||
" 'RMSE': 0.031201089123481848,\n",
|
||||
" 'NRMSE': 0.5210008564535512,\n",
|
||||
" 'ND': 0.29489580908037244,\n",
|
||||
" 'wQuantileLoss[0.1]': 0.14387889885472915,\n",
|
||||
" 'wQuantileLoss[0.2]': 0.21200388078506943,\n",
|
||||
" 'wQuantileLoss[0.3]': 0.2556728598721638,\n",
|
||||
" 'wQuantileLoss[0.4]': 0.28246403857948216,\n",
|
||||
" 'wQuantileLoss[0.5]': 0.29489580903075957,\n",
|
||||
" 'wQuantileLoss[0.6]': 0.2934926056920963,\n",
|
||||
" 'wQuantileLoss[0.7]': 0.27674478240128525,\n",
|
||||
" 'wQuantileLoss[0.8]': 0.2402650647905081,\n",
|
||||
" 'wQuantileLoss[0.9]': 0.17297019677212747,\n",
|
||||
" 'mean_absolute_QuantileLoss': 2093.3544857586617,\n",
|
||||
" 'mean_wQuantileLoss': 0.24137645964202456,\n",
|
||||
" 'MAE_Coverage': 0.11997968303072717,\n",
|
||||
" 'OWA': nan}"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"agg_metrics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"id": "cc3f804d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB7cAAAXCCAYAAABwgmnJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXyU5bk//s/sk30hARISEpYgiICAikpR0daNItat2lXpOb+eU7VatJ5y3HD51tYqFg94PKctYOupVVAUxaVuoILs+24g+77Ovj/P749nnskkmTWZLcnn/XrlJTzrPSZMnrmv+7ouhSiKIoiIiIiIiIiIiIiIiIiIiFKYMtkDICIiIiIiIiIiIiIiIiIiCofBbSIiIiIiIiIiIiIiIiIiSnkMbhMRERERERERERERERERUcpjcJuIiIiIiIiIiIiIiIiIiFIeg9tERERERERERERERERERJTyGNwmIiIiIiIiIiIiIiIiIqKUx+A2ERERERERERERERERERGlPAa3iYiIiIiIiIiIiIiIiIgo5TG4TUREREREREREREREREREKY/BbSIiIiIiIiIiIiIiIiIiSnkMbhMRJZDJZMKKFSswY8YMZGZmIicnBxdeeCGef/55OJ3OZA+PiIiIiIYAq9WKDz74AE8//TRuuukmlJWVQaFQQKFQYMWKFckeHhERERENMR0dHVi3bh1+9KMf4dxzz0VGRgZ0Oh1KSkpw4403YtOmTckeIhGRj0IURTHZgyAiGglqampwxRVXoLq6GgCQnp4Oj8cDh8MBAJg9ezY+/fRT5OXlJXGURERERJTqtm7dioULFwbc9/jjjzPATURERERR0Wg0cLvdvr/r9XqoVCpYLBbftuuuuw4bN25Eenp6MoZIROTDzG0iogRwu91YvHgxqqurUVRUhI8//hgWiwVWqxX/+Mc/kJWVhQMHDuBHP/pRsodKRERERENAXl4errrqKvz617/Ga6+9hrFjxyZ7SEREREQ0RLndblx00UV46aWXcObMGdhsNpjNZlRVVeFnP/sZAOCDDz7Az3/+8ySPlIiImdtERAnxl7/8Bf/yL/8CANixYwcuueSSXvtfe+01/OAHPwAAfPLJJ7jqqqsSPkYiIiIiGho8Hg9UKlWvbeXl5aipqWHmNhERERFF7fPPPw9aGQgA/u3f/g3/8z//AwCora1FaWlpooZGRNQPM7eJiBLglVdeAQAsXLiwX2AbAG6//XZMmDABAPDXv/41oWMjIiIioqGlb2CbiIiIiGgwQgW2AfiytwFg79698R4OEVFIDG4TEcWZ1WrF9u3bAUi9aQJRKBS49tprAQD//Oc/EzY2IiIiIiIiIiIiolD0er3vzx6PJ4kjISJicJuIKO5OnDgBQRAAAOedd17Q4+R9zc3N6OzsTMjYiIiIiIiIiIiIiELZunWr788zZsxI3kCIiMDgNhFR3DU2Nvr+PG7cuKDH+e/zP4eIiIiIiIiIiIgoGbq7u/HMM88AABYsWIBzzjknySMiopGOwW0iojgzmUy+P6enpwc9zn+f/zlEREREREREREREiSYIAn784x+jqakJer0eq1evTvaQiIgY3CYiIiIiIiIiIiIiIqLe7rvvPrz33nsAgDVr1mDmzJlJHhEREYPbRERxl5WV5fuz1WoNepz/Pv9ziIiIiIiIiIiIiBLpwQcf9GVqv/DCC1i6dGmSR0REJGFwm4gozoqLi31/bmhoCHqc/z7/c4iIiIiIiIiIiIgS5aGHHsLzzz8PAHjuuedw//33J3dARER+GNwmIoqzadOmQamU3m6PHj0a9Dh539ixY5Gfn5+QsRERERERERERERHJfv3rX+MPf/gDAODZZ5/FAw88kOQRERH1xuA2EVGcpaenY/78+QCADz/8MOAxoijio48+AgBcffXVCRsbERERERERERERESCVIn/uuecASIHtX//610keERFRfwxuExElwE9/+lMAwOeff45du3b1279hwwacPXsWAPCTn/wkoWMjIiIiIiIiIiKike3BBx/sVYqcgW0iSlUMbhMRJcBPf/pTzJgxA6Io4uabb8ann34KABAEARs2bMC//uu/AgCuu+46XHXVVckcKhERERENAV1dXWhvb/d9CYIAALBarb22m83mJI+UiIiIiFKdf4/tlStXshQ5EaU0hSiKYrIHQUQ0ElRXV2PhwoWorq4GIJUrFwQBdrsdADB79mx8+umnyMvLS+IoiYiIiGgoKC8vR01NTdjjfvrTn2L9+vXxHxARERERDUm1tbUoKysDACiVShQWFoY8/sEHH8SDDz6YiKEREQWkTvYAiIhGivLychw+fBjPPfcc3nrrLVRVVUGj0WD69Om44447cO+990Kr1SZ7mERERERERERERDRCyBWA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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 2000x1500 with 9 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.figure(figsize=(20, 15))\n",
|
||||
"date_formater = mdates.DateFormatter('%b, %d')\n",
|
||||
"plt.rcParams.update({'font.size': 15})\n",
|
||||
"\n",
|
||||
"for idx, (forecast, ts) in islice(enumerate(zip(forecasts, tss)), 9):\n",
|
||||
" ax = plt.subplot(3, 3, idx+1)\n",
|
||||
"\n",
|
||||
" plt.plot(ts[-4 * dataset.metadata.prediction_length:].to_timestamp(), label=\"target\", )\n",
|
||||
" forecast.plot( color='g')\n",
|
||||
" plt.xticks(rotation=60)\n",
|
||||
" ax.xaxis.set_major_formatter(date_formater)\n",
|
||||
" ax.set_title(forecast.item_id)\n",
|
||||
"\n",
|
||||
"plt.gcf().tight_layout()\n",
|
||||
"plt.legend()\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "50a0e3d3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"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.10.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in new issue
Block a user