From 7c31deeb174cab090659c6c54a0870c9ca638bc0 Mon Sep 17 00:00:00 2001 From: Kashif Rasul Date: Mon, 17 May 2021 16:32:29 +0200 Subject: [PATCH] updated notebook --- .../Implicit-Quantile-Network-Example.ipynb | 191 ++++++++++-------- 1 file changed, 107 insertions(+), 84 deletions(-) diff --git a/examples/Implicit-Quantile-Network-Example.ipynb b/examples/Implicit-Quantile-Network-Example.ipynb index 0da9b11..c3a9243 100644 --- a/examples/Implicit-Quantile-Network-Example.ipynb +++ b/examples/Implicit-Quantile-Network-Example.ipynb @@ -2,25 +2,26 @@ "cells": [ { "cell_type": "code", - "execution_count": 37, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import json\n", "\n", - "from pts.dataset.repository import get_dataset\n", - "from pts.dataset.utils import to_pandas\n", + "from gluonts.dataset.repository.datasets import get_dataset\n", + "from gluonts.evaluation import Evaluator\n", + "from gluonts.evaluation.backtest import make_evaluation_predictions\n", "\n", "from pts.model.deepar import DeepAREstimator\n", "from pts.modules.distribution_output import ImplicitQuantileOutput\n", "from pts import Trainer\n", - "from pts.evaluation import make_evaluation_predictions, Evaluator" + "from pts.dataset.repository.datasets import dataset_recipes" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -29,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -38,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -47,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -66,14 +67,14 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "estimator = DeepAREstimator(\n", " distr_output=ImplicitQuantileOutput(output_domain=\"Positive\"),\n", " cell_type='GRU',\n", - " input_size=72,\n", + " input_size=62,\n", " num_cells=64,\n", " num_layers=3,\n", " dropout_rate=0.2,\n", @@ -90,51 +91,71 @@ " learning_rate=1e-3,\n", " num_batches_per_epoch=120,\n", " batch_size=256,\n", - " num_workers=8,\n", - " pin_memory=True,\n", " )\n", ")" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "119it [01:01, 1.94it/s, avg_epoch_loss=0.435, epoch=0]\n", - "119it [00:56, 2.10it/s, avg_epoch_loss=0.366, epoch=1]\n", - "119it [00:59, 2.01it/s, avg_epoch_loss=0.344, epoch=2]\n", - "119it [00:57, 2.09it/s, avg_epoch_loss=0.339, epoch=3]\n", - "119it [00:57, 2.08it/s, avg_epoch_loss=0.323, epoch=4]\n", - "119it [00:56, 2.09it/s, avg_epoch_loss=0.339, epoch=5]\n", - "119it [00:58, 2.04it/s, avg_epoch_loss=0.327, epoch=6]\n", - "119it [00:56, 2.10it/s, avg_epoch_loss=0.327, epoch=7]\n", - "119it [00:57, 2.06it/s, avg_epoch_loss=0.328, epoch=8]\n", - "119it [00:58, 2.04it/s, avg_epoch_loss=0.331, epoch=9]\n", - "119it [00:57, 2.08it/s, avg_epoch_loss=0.322, epoch=10]\n", - "119it [00:59, 2.01it/s, avg_epoch_loss=0.319, epoch=11]\n", - "119it [00:58, 2.05it/s, avg_epoch_loss=0.321, epoch=12]\n", - "119it [00:58, 2.05it/s, avg_epoch_loss=0.319, epoch=13]\n", - "119it [00:58, 2.02it/s, avg_epoch_loss=0.321, epoch=14]\n", - "119it [00:55, 2.13it/s, avg_epoch_loss=0.326, epoch=15]\n", - "119it [00:57, 2.09it/s, avg_epoch_loss=0.326, epoch=16]\n", - "119it [00:59, 2.02it/s, avg_epoch_loss=0.324, epoch=17]\n", - "119it [00:57, 2.07it/s, avg_epoch_loss=0.317, epoch=18]\n", - "119it [00:58, 2.02it/s, avg_epoch_loss=0.32, epoch=19] \n" + "255it [00:12, 20.38it/s]\n", + "0it [00:00, ?it/s]/usr/local/anaconda3/lib/python3.8/site-packages/torch/distributions/distribution.py:44: UserWarning: does not define `arg_constraints`. Please set `arg_constraints = {}` or initialize the distribution with `validate_args=False` to turn off validation.\n", + " warnings.warn(f'{self.__class__} does not define `arg_constraints`. ' +\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.499, epoch=0]\n", + "255it [00:12, 20.62it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.373, epoch=1]\n", + "255it [00:12, 20.47it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.356, epoch=2]\n", + "255it [00:12, 20.37it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.349, epoch=3]\n", + "255it [00:12, 20.32it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.344, epoch=4]\n", + "255it [00:12, 20.27it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.342, epoch=5]\n", + "255it [00:12, 20.35it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.34, epoch=6]\n", + "255it [00:12, 20.70it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.339, epoch=7]\n", + "255it [00:12, 20.40it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.337, epoch=8]\n", + "255it [00:12, 20.06it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.337, epoch=9]\n", + "255it [00:12, 20.59it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.335, epoch=10]\n", + "255it [00:12, 20.42it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.335, epoch=11]\n", + "255it [00:12, 20.52it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.334, epoch=12]\n", + "255it [00:12, 20.46it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.333, epoch=13]\n", + "255it [00:12, 20.21it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.332, epoch=14]\n", + "255it [00:12, 20.65it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.332, epoch=15]\n", + "255it [00:12, 20.22it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.331, epoch=16]\n", + "255it [00:12, 20.36it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.331, epoch=17]\n", + "255it [00:12, 20.66it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.331, epoch=18]\n", + "255it [00:12, 20.24it/s]\n", + "0it [00:03, ?it/s, avg_epoch_loss=0.33, epoch=19]\n" ] } ], "source": [ - "predictor = estimator.train(dataset.train)" + "predictor = estimator.train(dataset.train, num_workers=8)" ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -147,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -157,26 +178,27 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Running evaluation: 100%|██████████| 30490/30490 [00:01<00:00, 15362.84it/s]\n" + "Running evaluation: 100%|██████████| 30490/30490 [00:01<00:00, 27259.18it/s]\n", + "/home/krasul/.env/pytorch/lib/python3.8/site-packages/pandas/core/dtypes/cast.py:1672: UserWarning: Warning: converting a masked element to nan.\n", + " subarr = np.array(values, dtype=dtype, copy=copy)\n" ] } ], "source": [ "evaluator = Evaluator()\n", - "agg_metrics, item_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(dataset.test))\n", - "\n" + "agg_metrics, item_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(dataset.test))" ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -184,48 +206,49 @@ "output_type": "stream", "text": [ "{\n", - " \"MSE\": 4.67881831019069,\n", - " \"abs_error\": 829715.0852242557,\n", + " \"MSE\": 4.755984111358613,\n", + " \"abs_error\": 834177.9219083469,\n", " \"abs_target_sum\": 1231764.0,\n", " \"abs_target_mean\": 1.4428196598416543,\n", " \"seasonal_error\": 1.12721783493784,\n", - " \"MASE\": 0.8981459708461484,\n", - " \"MAPE\": 0.32066903474970854,\n", - " \"sMAPE\": 1.607201008190784,\n", + " \"MASE\": 0.8981968607451877,\n", + " \"MAPE\": 0.8099336448562378,\n", + " \"sMAPE\": 1.6020707415533486,\n", " \"OWA\": NaN,\n", - " \"MSIS\": 8.020464013332395,\n", - " \"QuantileLoss[0.1]\": 228597.93391284882,\n", - " \"Coverage[0.1]\": 0.5465105655249968,\n", - " \"QuantileLoss[0.2]\": 427520.68589925097,\n", - " \"Coverage[0.2]\": 0.5526788642646276,\n", - " \"QuantileLoss[0.3]\": 596678.5831146002,\n", - " \"Coverage[0.3]\": 0.5641638944853101,\n", - " \"QuantileLoss[0.4]\": 733503.7435174085,\n", - " \"Coverage[0.4]\": 0.5829768542379278,\n", - " \"QuantileLoss[0.5]\": 829715.0852156124,\n", - " \"Coverage[0.5]\": 0.6140994705524139,\n", - " \"QuantileLoss[0.6]\": 881578.0619610748,\n", - " \"Coverage[0.6]\": 0.6517195333364716,\n", - " \"QuantileLoss[0.7]\": 872760.4227906723,\n", - " \"Coverage[0.7]\": 0.7082111230848716,\n", - " \"QuantileLoss[0.8]\": 783768.9510111441,\n", - " \"Coverage[0.8]\": 0.7846483624607741,\n", - " \"QuantileLoss[0.9]\": 573582.3997516176,\n", - " \"Coverage[0.9]\": 0.873871995502109,\n", - " \"RMSE\": 2.1630576298819895,\n", - " \"NRMSE\": 1.4991877987851783,\n", - " \"ND\": 0.6735990702961409,\n", - " \"wQuantileLoss[0.1]\": 0.18558582156391062,\n", - " \"wQuantileLoss[0.2]\": 0.3470800298590079,\n", - " \"wQuantileLoss[0.3]\": 0.48440982453992826,\n", - " \"wQuantileLoss[0.4]\": 0.5954904864222437,\n", - " \"wQuantileLoss[0.5]\": 0.6735990702891239,\n", - " \"wQuantileLoss[0.6]\": 0.7157037078215266,\n", - " \"wQuantileLoss[0.7]\": 0.7085451618903233,\n", - " \"wQuantileLoss[0.8]\": 0.6362979848502993,\n", - " \"wQuantileLoss[0.9]\": 0.4656593306441961,\n", - " \"mean_wQuantileLoss\": 0.5347079353200622,\n", - " \"MAE_Coverage\": 0.16242666083597068\n", + " \"MSIS\": 8.260408136542406,\n", + " \"QuantileLoss[0.1]\": 232933.92667773535,\n", + " \"Coverage[0.1]\": 0.5482148713864025,\n", + " \"QuantileLoss[0.2]\": 432863.72900996683,\n", + " \"Coverage[0.2]\": 0.5567293726280275,\n", + " \"QuantileLoss[0.3]\": 602256.93819869,\n", + " \"Coverage[0.3]\": 0.5704551843695826,\n", + " \"QuantileLoss[0.4]\": 737814.7064298784,\n", + " \"Coverage[0.4]\": 0.5920418872698383,\n", + " \"QuantileLoss[0.5]\": 834177.922027275,\n", + " \"Coverage[0.5]\": 0.6226373986787334,\n", + " \"QuantileLoss[0.6]\": 884780.6868602519,\n", + " \"Coverage[0.6]\": 0.6591399990629399,\n", + " \"QuantileLoss[0.7]\": 876329.6622192905,\n", + " \"Coverage[0.7]\": 0.7127079136016631,\n", + " \"QuantileLoss[0.8]\": 791094.1399574431,\n", + " \"Coverage[0.8]\": 0.7817387433819231,\n", + " \"QuantileLoss[0.9]\": 586032.7896624055,\n", + " \"Coverage[0.9]\": 0.8721290352809268,\n", + " \"RMSE\": 2.1808218889580626,\n", + " \"NRMSE\": 1.5114999813610817,\n", + " \"ND\": 0.677222196710041,\n", + " \"wQuantileLoss[0.1]\": 0.18910597052498315,\n", + " \"wQuantileLoss[0.2]\": 0.35141774642704837,\n", + " \"wQuantileLoss[0.3]\": 0.4889385776810249,\n", + " \"wQuantileLoss[0.4]\": 0.5989903150521353,\n", + " \"wQuantileLoss[0.5]\": 0.677222196806592,\n", + " \"wQuantileLoss[0.6]\": 0.7183037390768459,\n", + " \"wQuantileLoss[0.7]\": 0.711442826888341,\n", + " \"wQuantileLoss[0.8]\": 0.6422448942796211,\n", + " \"wQuantileLoss[0.9]\": 0.4757671028398342,\n", + " \"mean_absolute_QuantileLoss\": 664253.8334492152,\n", + " \"mean_wQuantileLoss\": 0.5392703743973806,\n", + " \"MAE_Coverage\": 0.16756209425937085\n", "}\n" ] } @@ -236,12 +259,12 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -268,9 +291,9 @@ ], "metadata": { "kernelspec": { - "display_name": "pytorchts-experiment", + "display_name": "Python 3", "language": "python", - "name": "pytorchts-experiment" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -282,7 +305,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.9" + "version": "3.8.8" } }, "nbformat": 4,