From e42092e17d9d290c019faa4953c69fe58b456ee3 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Tue, 13 Jun 2023 10:20:13 +0300 Subject: [PATCH 1/8] feature: skip duplicates, ignore duplicates from top_k --- etna/auto/auto.py | 57 ++++++++++++++++++++++++++---------- tests/test_auto/conftest.py | 17 +++++++---- tests/test_auto/test_auto.py | 2 +- tests/test_auto/test_tune.py | 6 ++-- 4 files changed, 57 insertions(+), 25 deletions(-) diff --git a/etna/auto/auto.py b/etna/auto/auto.py index 188b6e4fb..baaaa6c66 100644 --- a/etna/auto/auto.py +++ b/etna/auto/auto.py @@ -149,7 +149,7 @@ def __init__( runner: Runner to use for distributed training. By default, :py:class:`~etna.auto.runner.local.LocalRunner` is used. storage: - Optuna storage to use. By default, sqlite storage is used. + Optuna storage to use. By default, sqlite storage is used with name "etna-auto.db". metrics: List of metrics to compute. By default, :py:class:`~etna.metrics.metrics.Sign`, :py:class:`~etna.metrics.metrics.SMAPE`, @@ -174,7 +174,8 @@ def __init__( def _top_k(self, summary: pd.DataFrame, k: int) -> List[BasePipeline]: metric_name = f"{self.target_metric.name}_{self.metric_aggregation}" - df = summary[~summary[metric_name].isna()] + df = summary[summary["state"].apply(lambda x: x is optuna.structs.TrialState.COMPLETE)] + df = df.drop_duplicates(subset=["hash"]) df = df.sort_values( by=metric_name, ascending=(not self.target_metric.greater_is_better), @@ -184,6 +185,8 @@ def _top_k(self, summary: pd.DataFrame, k: int) -> List[BasePipeline]: def top_k(self, k: int = 5) -> List[BasePipeline]: """Get top k pipelines with the best metric value. + Only complete and non-duplicate studies are taken into account. + Parameters ---------- k: @@ -618,7 +621,7 @@ def __init__( runner: Runner to use for distributed training. By default, :py:class:`~etna.auto.runner.local.LocalRunner` is used. storage: - Optuna storage to use. By default, sqlite storage is used. + Optuna storage to use. By default, sqlite storage is used with name "etna-auto.db". metrics: List of metrics to compute. By default, :py:class:`~etna.metrics.metrics.Sign`, :py:class:`~etna.metrics.metrics.SMAPE`, @@ -642,7 +645,7 @@ def __init__( ) self.pipeline = pipeline if sampler is None: - self.sampler: BaseSampler = TPESampler() + self.sampler: BaseSampler = TPESampler(seed=0) else: self.sampler = sampler if params_to_tune is None: @@ -760,6 +763,18 @@ def objective( CategoricalDistribution: lambda x: ("suggest_categorical", {"choices": x.choices}), } + def _find_duplicate_trial(trial: Trial, pipeline: BasePipeline) -> Optional[FrozenTrial]: + pipeline_hash = config_hash(pipeline.to_dict()) + + for t in trial.study.trials: + if t.state != optuna.structs.TrialState.COMPLETE: + continue + + if t.user_attrs.get("hash") == pipeline_hash: + return t + + return None + def _objective(trial: Trial) -> float: # using received optuna.distribution objects to call corresponding trial.suggest_xxx params_suggested = {} @@ -771,23 +786,33 @@ def _objective(trial: Trial) -> float: # create pipeline instance with the parameters to try pipeline_trial_params: BasePipeline = pipeline.set_params(**params_suggested) - if initializer is not None: - initializer(pipeline=pipeline_trial_params) + duplicate_trial = _find_duplicate_trial(trial, pipeline_trial_params) + if duplicate_trial is not None: + for param_name, param_value in duplicate_trial.user_attrs.items(): + trial.set_user_attr(param_name, param_value) - metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest( - ts, metrics=metrics, **backtest_params - ) + metric_value = trial.user_attrs[f"{target_metric.name}_{metric_aggregation}"] + return metric_value - if callback is not None: - callback(metrics_df=metrics_df, forecast_df=forecast_df, fold_info_df=fold_info_df) + else: + if initializer is not None: + initializer(pipeline=pipeline_trial_params) - trial.set_user_attr("pipeline", pipeline_trial_params.to_dict()) + metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest( + ts, metrics=metrics, **backtest_params + ) - aggregated_metrics = aggregate_metrics_df(metrics_df) - for metric in aggregated_metrics: - trial.set_user_attr(metric, aggregated_metrics[metric]) + if callback is not None: + callback(metrics_df=metrics_df, forecast_df=forecast_df, fold_info_df=fold_info_df) - return aggregated_metrics[f"{target_metric.name}_{metric_aggregation}"] + trial.set_user_attr("pipeline", pipeline_trial_params.to_dict()) + trial.set_user_attr("hash", config_hash(pipeline_trial_params.to_dict())) + + aggregated_metrics = aggregate_metrics_df(metrics_df) + for metric in aggregated_metrics: + trial.set_user_attr(metric, aggregated_metrics[metric]) + + return aggregated_metrics[f"{target_metric.name}_{metric_aggregation}"] return _objective diff --git a/tests/test_auto/conftest.py b/tests/test_auto/conftest.py index 6117de125..646d42dcd 100644 --- a/tests/test_auto/conftest.py +++ b/tests/test_auto/conftest.py @@ -2,9 +2,10 @@ import pytest from optuna.storages import RDBStorage -from typing_extensions import Literal +from optuna.structs import TrialState from typing_extensions import NamedTuple +from etna.auto.utils import config_hash from etna.models import NaiveModel from etna.pipeline import Pipeline @@ -19,12 +20,18 @@ def optuna_storage(): def trials(): class Trial(NamedTuple): user_attrs: dict - state: Literal["RUNNING", "WAITING", "COMPLETE", "PRUNED", "FAIL"] = "COMPLETE" + state: TrialState = TrialState.COMPLETE complete_trials = [ - Trial(user_attrs={"pipeline": pipeline.to_dict(), "SMAPE_median": float(i)}) + Trial( + user_attrs={ + "pipeline": pipeline.to_dict(), + "SMAPE_median": float(i), + "hash": config_hash(pipeline.to_dict()), + } + ) for i, pipeline in enumerate((Pipeline(NaiveModel(j), horizon=7) for j in range(10))) ] - fail_trials = [Trial(user_attrs={}, state="FAIL")] + fail_trials = [Trial(user_attrs={}, state=TrialState.FAIL)] - return complete_trials + fail_trials + return complete_trials + complete_trials[:3] + fail_trials diff --git a/tests/test_auto/test_auto.py b/tests/test_auto/test_auto.py index 414cd651c..a8e01175c 100644 --- a/tests/test_auto/test_auto.py +++ b/tests/test_auto/test_auto.py @@ -253,7 +253,7 @@ def test_summary_after_fit( auto.fit(ts=example_tsds, n_trials=11, tune_size=2) df_summary = auto.summary() - assert {"pipeline", "state", "study"}.issubset(set(df_summary.columns)) + assert {"hash", "pipeline", "state", "study"}.issubset(set(df_summary.columns)) assert len(df_summary) == 11 assert len(df_summary[df_summary["study"] == "pool"]) == 3 df_summary_tune_0 = df_summary[df_summary["study"] == "tuning/edddb11f9acb86ea0cd5568f13f53874"] diff --git a/tests/test_auto/test_tune.py b/tests/test_auto/test_tune.py index 642312ba0..f45adbc3b 100644 --- a/tests/test_auto/test_tune.py +++ b/tests/test_auto/test_tune.py @@ -135,7 +135,7 @@ def test_summary( df_summary = Tune.summary(self=tune) assert len(df_summary) == len(trials) - assert {"pipeline", "state"}.issubset(set(df_summary.columns)) + assert {"hash", "pipeline", "state"}.issubset(set(df_summary.columns)) expected_smape = pd.Series([trial.user_attrs.get("SMAPE_median") for trial in trials]) pd.testing.assert_series_equal(df_summary["SMAPE_median"], expected_smape, check_names=False) @@ -184,7 +184,7 @@ def test_tune_run(example_tsds, optuna_storage, pipeline): assert len(tune._optuna.study.trials) == 2 assert len(tune.summary()) == 2 - assert len(tune.top_k()) == 2 + assert len(tune.top_k()) <= 2 assert len(tune.top_k(k=1)) == 1 @@ -242,5 +242,5 @@ def test_tune_hierarchical_run( assert len(tune._optuna.study.trials) == 2 assert len(tune.summary()) == 2 - assert len(tune.top_k()) == 2 + assert len(tune.top_k()) <= 2 assert len(tune.top_k(k=1)) == 1 From affbacc49fb49335a62590d4b93ad80e5cc8ee41 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Tue, 13 Jun 2023 10:20:40 +0300 Subject: [PATCH 2/8] feature: add notebook with automl --- examples/automl.ipynb | 12176 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 12176 insertions(+) create mode 100644 examples/automl.ipynb diff --git a/examples/automl.ipynb b/examples/automl.ipynb new file mode 100644 index 000000000..538098c9e --- /dev/null +++ b/examples/automl.ipynb @@ -0,0 +1,12176 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c855b45e", + "metadata": {}, + "source": [ + "# AutoML\n", + "\n", + "\n", + " \n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "bca01a6c", + "metadata": {}, + "source": [ + "This notebooks covers AutoML utilities of ETNA library.\n", + "\n", + "- [Hyperparameters tuning](#chapter_1)\n", + " - [How `Tune` works](#section_1_1)\n", + " - [Example](#section_1_2)\n", + "- [General AutoML](#chapter_2)\n", + " - [How `Auto` works](#section_2_1)\n", + " - [Example](#section_2_2)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6f70e872", + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "\n", + "\n", + "warnings.filterwarnings(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e50060f6", + "metadata": {}, + "outputs": [], + "source": [ + "HORIZON = 30" + ] + }, + { + "cell_type": "markdown", + "id": "33ad7417", + "metadata": {}, + "source": [ + "## 1. Hyperparameters tuning " + ] + }, + { + "cell_type": "markdown", + "id": "4542c8eb", + "metadata": {}, + "source": [ + "It is a common task to tune hyperparameters of existing pipeline to improve its quality. For this purpose there is an `etna.auto.Tune` class, which is responsible for creating [optuna](https://github.com/optuna/optuna) study to solve this problem.\n", + "\n", + "In the next sections we will see how it works and how to use it for your particular problems." + ] + }, + { + "cell_type": "markdown", + "id": "73194640", + "metadata": {}, + "source": [ + "### 1.1 How `Tune` works " + ] + }, + { + "cell_type": "markdown", + "id": "c7777ea3", + "metadata": {}, + "source": [ + "During init `Tune` accepts `pipeline`, its tuning parameters (`params_to_tune`), optimization metric (`target_metric`), parameters of backtest and parameters of optuna study.\n", + "\n", + "In `fit` the optuna study is created. During each trial the sample of parameters is generated from `params_to_tune` and applied to `pipeline`. After that, the new pipeline is checked in backtest and target metric is returned to optuna framework." + ] + }, + { + "cell_type": "markdown", + "id": "09e6cb8e", + "metadata": {}, + "source": [ + "Let's look closer at `params_to_tune` parameter. It expects dictionary with parameter names and its distributions. But how this parameter names should be chosen?" + ] + }, + { + "cell_type": "markdown", + "id": "5d7a777a", + "metadata": {}, + "source": [ + "#### 1.1.1 `set_params`" + ] + }, + { + "cell_type": "markdown", + "id": "cc05b85b", + "metadata": {}, + "source": [ + "We are going to make a little detour to explain the `set_params` method, which is supported by ETNA pipelines, models and transforms. Given a dictionary with parameters it allows to create from existing object a new one with changed parameters." + ] + }, + { + "cell_type": "markdown", + "id": "b291efa4", + "metadata": {}, + "source": [ + "First, we define some objects for our future examples." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9d6893b8", + "metadata": {}, + "outputs": [], + "source": [ + "from etna.pipeline import Pipeline\n", + "from etna.models import LinearPerSegmentModel\n", + "from etna.transforms import LagTransform\n", + "from etna.transforms import DateFlagsTransform\n", + "\n", + "\n", + "model = LinearPerSegmentModel()\n", + "transforms = [\n", + " LagTransform(in_column=\"target\", lags=list(range(HORIZON, HORIZON + 10)), out_column=\"target_lag\"),\n", + " DateFlagsTransform(out_column=\"date_flags\"),\n", + "]\n", + "pipeline = Pipeline(model=model, transforms=transforms, horizon=HORIZON)" + ] + }, + { + "cell_type": "markdown", + "id": "01a57e5c", + "metadata": {}, + "source": [ + "Let's look at simple example, when we want to change `fit_intercept` parameter of the `model`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "32c51370", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'fit_intercept': True,\n", + " 'kwargs': {},\n", + " '_target_': 'etna.models.linear.LinearPerSegmentModel'}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "60bc963f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'fit_intercept': False,\n", + " 'kwargs': {},\n", + " '_target_': 'etna.models.linear.LinearPerSegmentModel'}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_model_params = {\"fit_intercept\": False}\n", + "new_model = model.set_params(**new_model_params)\n", + "new_model.to_dict()" + ] + }, + { + "cell_type": "markdown", + "id": "383931c2", + "metadata": {}, + "source": [ + "Great! On the next step we want to change the `fit_intercept` of `model` inside the `pipeline`." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7ff49f9a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'model': {'fit_intercept': True,\n", + " 'kwargs': {},\n", + " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", + " 'transforms': [{'in_column': 'target',\n", + " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'out_column': 'target_lag',\n", + " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", + " {'day_number_in_week': True,\n", + " 'day_number_in_month': True,\n", + " 'day_number_in_year': False,\n", + " 'week_number_in_month': False,\n", + " 'week_number_in_year': False,\n", + " 'month_number_in_year': False,\n", + " 'season_number': False,\n", + " 'year_number': False,\n", + " 'is_weekend': True,\n", + " 'special_days_in_week': (),\n", + " 'special_days_in_month': (),\n", + " 'out_column': 'date_flags',\n", + " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", + " 'horizon': 30,\n", + " '_target_': 'etna.pipeline.pipeline.Pipeline'}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline.to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "497662b6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'model': {'fit_intercept': False,\n", + " 'kwargs': {},\n", + " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", + " 'transforms': [{'in_column': 'target',\n", + " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'out_column': 'target_lag',\n", + " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", + " {'day_number_in_week': True,\n", + " 'day_number_in_month': True,\n", + " 'day_number_in_year': False,\n", + " 'week_number_in_month': False,\n", + " 'week_number_in_year': False,\n", + " 'month_number_in_year': False,\n", + " 'season_number': False,\n", + " 'year_number': False,\n", + " 'is_weekend': True,\n", + " 'special_days_in_week': (),\n", + " 'special_days_in_month': (),\n", + " 'out_column': 'date_flags',\n", + " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", + " 'horizon': 30,\n", + " '_target_': 'etna.pipeline.pipeline.Pipeline'}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_pipeline_params = {\"model.fit_intercept\": False}\n", + "new_pipeline = pipeline.set_params(**new_pipeline_params)\n", + "new_pipeline.to_dict()" + ] + }, + { + "cell_type": "markdown", + "id": "8eba262b", + "metadata": {}, + "source": [ + "Ok, it looks like we managed to do this. On the last step we are going to change `is_weekend` flag of `DateFlagsTransform` inside our `pipeline`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "28a1ac00", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'model': {'fit_intercept': True,\n", + " 'kwargs': {},\n", + " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", + " 'transforms': [{'in_column': 'target',\n", + " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'out_column': 'target_lag',\n", + " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", + " {'day_number_in_week': True,\n", + " 'day_number_in_month': True,\n", + " 'day_number_in_year': False,\n", + " 'week_number_in_month': False,\n", + " 'week_number_in_year': False,\n", + " 'month_number_in_year': False,\n", + " 'season_number': False,\n", + " 'year_number': False,\n", + " 'is_weekend': False,\n", + " 'special_days_in_week': (),\n", + " 'special_days_in_month': (),\n", + " 'out_column': 'date_flags',\n", + " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", + " 'horizon': 30,\n", + " '_target_': 'etna.pipeline.pipeline.Pipeline'}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_pipeline_params = {\"transforms.1.is_weekend\": False}\n", + "new_pipeline = pipeline.set_params(**new_pipeline_params)\n", + "new_pipeline.to_dict()" + ] + }, + { + "cell_type": "markdown", + "id": "50c2bf0d", + "metadata": {}, + "source": [ + "As we can see, we managed to do this." + ] + }, + { + "cell_type": "markdown", + "id": "4deb8b8b", + "metadata": {}, + "source": [ + "#### 1.1.2 `params_to_tune`" + ] + }, + { + "cell_type": "markdown", + "id": "8c732645", + "metadata": {}, + "source": [ + "Let's get back to our initial question about `params_to_tune`. In our optuna study we are going to sample each parameter value from its distribution and pass it into `pipeline.set_params` method. So, the keys for `params_to_tune` should be a valid for `set_params` method." + ] + }, + { + "cell_type": "markdown", + "id": "f6a39f16", + "metadata": {}, + "source": [ + "For example, something like this will be valid for our `pipeline` defined above:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4dab566f", + "metadata": {}, + "outputs": [], + "source": [ + "import optuna\n", + "\n", + "\n", + "example_params_to_tune = {\n", + " \"model.fit_intercept\": optuna.distributions.CategoricalDistribution([False, True]),\n", + " \"transforms.0.is_weekend\": optuna.distributions.CategoricalDistribution([False, True]),\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "a0c81b84", + "metadata": {}, + "source": [ + "There are some good news: it isn't necessary for our users to define `params_to_tune`, because we have a default grid for many of our classes. The default grid is available by calling `params_to_tune` method on pipeline, model or transform. Let's check our `pipeline`:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b493dace", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'model.fit_intercept': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.day_number_in_week': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.day_number_in_month': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.day_number_in_year': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.week_number_in_month': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.week_number_in_year': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.month_number_in_year': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.season_number': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.year_number': CategoricalDistribution(choices=(False, True)),\n", + " 'transforms.1.is_weekend': CategoricalDistribution(choices=(False, True))}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline.params_to_tune()" + ] + }, + { + "cell_type": "markdown", + "id": "554c5af2", + "metadata": {}, + "source": [ + "Now we are ready to use it in practice." + ] + }, + { + "cell_type": "markdown", + "id": "df2102f8", + "metadata": {}, + "source": [ + "### 1.2 Example " + ] + }, + { + "cell_type": "markdown", + "id": "535c0b18", + "metadata": {}, + "source": [ + "#### 1.2.1 Loading data" + ] + }, + { + "cell_type": "markdown", + "id": "9352eeb4", + "metadata": {}, + "source": [ + "Let's start by loading example data." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1b4e7705", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "from etna.datasets import TSDataset" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0041c9ab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timestampsegmenttarget
02019-01-01segment_a170
12019-01-02segment_a243
22019-01-03segment_a267
32019-01-04segment_a287
42019-01-05segment_a279
\n", + "
" + ], + "text/plain": [ + " timestamp segment target\n", + "0 2019-01-01 segment_a 170\n", + "1 2019-01-02 segment_a 243\n", + "2 2019-01-03 segment_a 267\n", + "3 2019-01-04 segment_a 287\n", + "4 2019-01-05 segment_a 279" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"data/example_dataset.csv\")\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "8996f93a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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9bpNuXzncHj33XfxoQ99CNdccw1+/vOfY9q0aQgGg3jqqafw7LPPDvv7CYIgCIIgCIIYXWjMRBAEQeQTSowQBEGMEaZNm4YvfvGL+OIXv4i2tjZceOGF+M53voMf/vCHAICysjLccMMNtstXV1ejoKAAR44cyXpP9tpwWLBggadtypWhqjuef/55FBQU4PXXX0c4HOavP/XUU/naNIIgCIIgCIIgRhkaMw1fEc+ULCKHDh0y2YURBEGcClCPEYIgiFEmnU6jt7fX9Fp1dTWmT5+OeDyOiy66CAsWLMDjjz+OgYGBrOXb29sBaNVFN9xwA1566SWT7+6RI0fw6quv5nWbvW5TrhQXF6Onpyfn5fx+PxRFQTqd5q/V1tbipZdeGtJ2EARBEARBEAQxdqAxk8FQx0yMl156CY2NjfzvTZs2YePGjbY9VgiCICYqpBghCIIYZfr7+zFz5kx85CMfwXnnnYeSkhK88cYb2Lx5M37wgx/A5/PhN7/5DW699VacddZZuOeeezBjxgw0NjbirbfeQllZGZYvXw4A+Na3voWVK1fiyiuvxL333ot0Oo2f/exnOPvss7Fjx468bXMu25QLF110Ed544w088cQTmD59OubNm8ebGDpx22234YknnsAtt9yCj3/842hra8OTTz6JhQsXYteuXUP5iQRBEARBEARBjBFozGQw1DETY+HChbjqqqtw7733Ih6P40c/+hGqqqrw1a9+NedtIQiCGM9QYoQgCGKUKSoqwhe/+EWsXLmS++MuXLgQP//5z3HvvfcCAK699lqsX78ejzzyCH72s59hYGAANTU1uOyyy/Dv//7v/LsuuugivPrqq/iv//ovfP3rX8esWbPw8MMPY//+/Thw4EBet9vrNuXCE088gc9//vP42te+hsHBQdx1112egvzrrrsOv/3tb/F//+//xf3334958+bhu9/9LmpraykxQhAEQRAEQRDjHBozGQx1zMS488474fP58KMf/QhtbW249NJL8bOf/QzTpk0b0vYQBEGMVxSVOjgRBEFMeG6//Xbs3btX6idLEARBEARBEARxqkNjJoIgiFML6jFCEAQxwRgcHDT9ffjwYaxYsQLXXnvt6GwQQRAEQRAEQRDEGILGTARBEAQpRgiCICYY06ZNw91334358+fjxIkT+MUvfoF4PI7t27dj0aJFo715OZFO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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from etna.datasets import TSDataset\n", + "\n", + "df = TSDataset.to_dataset(df)\n", + "ts = TSDataset(df, freq=\"D\")\n", + "ts.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "3efade22", + "metadata": {}, + "source": [ + "#### 1.2.2 Running `Tune`" + ] + }, + { + "cell_type": "markdown", + "id": "1338a41f", + "metadata": {}, + "source": [ + "We are going to define our `Tune` object:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5e4efd0c", + "metadata": {}, + "outputs": [], + "source": [ + "from etna.metrics import SMAPE\n", + "from etna.auto import Tune\n", + "\n", + "\n", + "tune = Tune(\n", + " pipeline=pipeline,\n", + " target_metric=SMAPE(),\n", + " horizon=HORIZON,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6d61b949", + "metadata": {}, + "source": [ + "We used mostly default parameters for this example. But for your own experiments you might want to also set up other parameters. \n", + "\n", + "For example, parameter `runner` allows you to run tuning in parallel on a local machine, and parameter `storage` makes it possible to store optuna results on a dedicated remote server.\n", + "\n", + "For a full list of parameters we advise you to check our documentation." + ] + }, + { + "cell_type": "markdown", + "id": "032a192b", + "metadata": {}, + "source": [ + "Now, let's run the tuning" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "49c86098", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:50:16,705]\u001b[0m A new study created in RDB with name: no-name-5046c5f2-2364-45af-b87b-8a8a6cbc768a\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:18,398]\u001b[0m Trial 0 finished with value: 9.424032551013603 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:19,916]\u001b[0m Trial 1 finished with value: 10.051840446830045 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:21,219]\u001b[0m Trial 2 finished with value: 10.732693622511146 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:50:22,518]\u001b[0m Trial 3 finished with value: 9.80505648667696 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:23,929]\u001b[0m Trial 4 finished with value: 9.706256897843042 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:25,326]\u001b[0m Trial 5 finished with value: 10.45535170144166 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:26,783]\u001b[0m Trial 6 finished with value: 10.135929201859586 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:28,289]\u001b[0m Trial 7 finished with value: 10.112234056351463 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:29,624]\u001b[0m Trial 8 finished with value: 9.24416821782034 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 8 with value: 9.24416821782034.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:30,979]\u001b[0m Trial 9 finished with value: 9.542153350717015 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 8 with value: 9.24416821782034.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:32,348]\u001b[0m Trial 10 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:32,574]\u001b[0m Trial 11 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:32,814]\u001b[0m Trial 12 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:50:33,052]\u001b[0m Trial 13 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:33,289]\u001b[0m Trial 14 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:33,519]\u001b[0m Trial 15 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:33,759]\u001b[0m Trial 16 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:33,992]\u001b[0m Trial 17 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:35,443]\u001b[0m Trial 18 finished with value: 9.473751558122908 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:50:35,675]\u001b[0m Trial 19 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n" + ] + } + ], + "source": [ + "best_pipeline = tune.fit(ts=ts, n_trials=20)" + ] + }, + { + "cell_type": "markdown", + "id": "218a48f2", + "metadata": {}, + "source": [ + "#### 1.2.3 Analysis" + ] + }, + { + "cell_type": "markdown", + "id": "1fd09627", + "metadata": {}, + "source": [ + "In the last section dedicated to `Tune` we will look at methods for result analysis." + ] + }, + { + "cell_type": "markdown", + "id": "3faf63b9", + "metadata": {}, + "source": [ + "First of all there is `summary` method that shows us the results of optuna trials." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "14525b55", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pipelinehashSign_medianSign_meanSign_stdSign_percentile_5Sign_percentile_25Sign_percentile_75Sign_percentile_95SMAPE_median...MSE_percentile_75MSE_percentile_95MedAE_medianMedAE_meanMedAE_stdMedAE_percentile_5MedAE_percentile_25MedAE_percentile_75MedAE_percentile_95state
0Pipeline(model = LinearPerSegmentModel(fit_int...90017b9f59d1921afcea80ae03d045280.1400000.1133330.224301-0.124667-0.0366670.2900000.3140006.409660...2932.3372584042.72998723.95597525.20635911.62263713.98377120.51714828.64518738.179483TrialState.COMPLETE
1Pipeline(model = LinearPerSegmentModel(fit_int...f12fdaaacd1f0f30797c8c2fa4ad3e510.1200000.1066670.194441-0.083333-0.0433330.2700000.2780006.517718...2892.0649804081.35354227.12315727.21817412.62677114.09135823.04426731.29706440.478015TrialState.COMPLETE
2Pipeline(model = LinearPerSegmentModel(fit_int...620e1369df4d813039cf8aba6c4063460.1266670.1266670.1000740.0233330.0633330.1900000.2300009.089307...4380.1627609372.79982323.65113833.21697927.75743013.02333617.72398139.14413666.802801TrialState.COMPLETE
3Pipeline(model = LinearPerSegmentModel(fit_int...1b8349c202df4b87e85601fbb589b8be-0.0266670.0133330.223905-0.180667-0.1566670.1433330.2633338.627456...4523.2911198706.67976221.34007229.74441624.85393711.44486715.40291735.68157159.810045TrialState.COMPLETE
4Pipeline(model = LinearPerSegmentModel(fit_int...2ba3f873c085dcb0e0c09d76c5b7f0d10.1466670.1366670.268301-0.138000-0.0500000.3333330.3973337.713863...3043.0042235965.96597323.84908029.89181022.17909911.97566718.98446234.75642956.267775TrialState.COMPLETE
5Pipeline(model = LinearPerSegmentModel(fit_int...822f29d4dbc55b75925a7a09c9157b00-0.026667-0.0400000.196864-0.239333-0.1833330.1166670.1406678.792364...4348.3129748320.43529322.16918131.98710525.21622415.22732719.11137635.04491062.491976TrialState.COMPLETE
6Pipeline(model = LinearPerSegmentModel(fit_int...e1776a647e31f966fed96c574078b6d60.1666670.1166670.224268-0.139333-0.0033330.2866670.3026677.261239...3388.9142624835.82519326.50589428.04323114.19496014.23401221.00518633.54393944.004721TrialState.COMPLETE
7Pipeline(model = LinearPerSegmentModel(fit_int...a5c13f380b0160ee60b3178023db469b0.1266670.0800000.243676-0.200000-0.0400000.2466670.2946676.787563...2881.8011594182.35710527.02933628.65445113.48510415.79529423.21470632.46908043.788769TrialState.COMPLETE
8Pipeline(model = LinearPerSegmentModel(fit_int...c50d7518c10036cd75bf03692eedd4c70.1600000.1133330.283366-0.194667-0.0666670.3400000.3560007.388653...2650.5203325457.23101423.76545728.46044119.87454911.55850318.10862634.11727351.935358TrialState.COMPLETE
9Pipeline(model = LinearPerSegmentModel(fit_int...3d62bb297472c6397485fbf61c6b082a0.1533330.1333330.379786-0.274000-0.0900000.3766670.5126677.438553...3053.2935105700.52707023.21614628.60011320.57675211.72093218.43371033.38254953.016848TrialState.COMPLETE
10Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
11Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
12Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
13Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
14Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
15Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
16Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
17Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
18Pipeline(model = LinearPerSegmentModel(fit_int...2ef1f244e3ed0c608b072107f24bd8d40.2000000.2100000.352998-0.112000-0.0800000.4900000.5460007.000799...2955.8988304927.02705124.09678427.07771115.96034212.71929819.21192431.96257145.609421TrialState.COMPLETE
19Pipeline(model = LinearPerSegmentModel(fit_int...819656d1513b71b55f7a0f548490f8b20.1400000.1133330.350153-0.264667-0.0966670.3500000.4540007.056414...2654.0192835215.29226322.71032827.93563519.92828311.64517018.45505332.19091151.541530TrialState.COMPLETE
\n", + "

20 rows × 38 columns

\n", + "
" + ], + "text/plain": [ + " pipeline \\\n", + "0 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "1 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "3 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "4 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "5 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "6 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "7 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "8 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "10 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "11 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "12 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "13 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "14 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "15 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "16 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "17 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "18 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "19 Pipeline(model = LinearPerSegmentModel(fit_int... \n", + "\n", + " hash Sign_median Sign_mean Sign_std \\\n", + "0 90017b9f59d1921afcea80ae03d04528 0.140000 0.113333 0.224301 \n", + "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 0.120000 0.106667 0.194441 \n", + "2 620e1369df4d813039cf8aba6c406346 0.126667 0.126667 0.100074 \n", + "3 1b8349c202df4b87e85601fbb589b8be -0.026667 0.013333 0.223905 \n", + "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 0.146667 0.136667 0.268301 \n", + "5 822f29d4dbc55b75925a7a09c9157b00 -0.026667 -0.040000 0.196864 \n", + "6 e1776a647e31f966fed96c574078b6d6 0.166667 0.116667 0.224268 \n", + "7 a5c13f380b0160ee60b3178023db469b 0.126667 0.080000 0.243676 \n", + "8 c50d7518c10036cd75bf03692eedd4c7 0.160000 0.113333 0.283366 \n", + "9 3d62bb297472c6397485fbf61c6b082a 0.153333 0.133333 0.379786 \n", + "10 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "11 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "12 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "13 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "14 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "15 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "16 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "17 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "18 2ef1f244e3ed0c608b072107f24bd8d4 0.200000 0.210000 0.352998 \n", + "19 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "\n", + " Sign_percentile_5 Sign_percentile_25 Sign_percentile_75 \\\n", + "0 -0.124667 -0.036667 0.290000 \n", + "1 -0.083333 -0.043333 0.270000 \n", + "2 0.023333 0.063333 0.190000 \n", + "3 -0.180667 -0.156667 0.143333 \n", + "4 -0.138000 -0.050000 0.333333 \n", + "5 -0.239333 -0.183333 0.116667 \n", + "6 -0.139333 -0.003333 0.286667 \n", + "7 -0.200000 -0.040000 0.246667 \n", + "8 -0.194667 -0.066667 0.340000 \n", + "9 -0.274000 -0.090000 0.376667 \n", + "10 -0.264667 -0.096667 0.350000 \n", + "11 -0.264667 -0.096667 0.350000 \n", + "12 -0.264667 -0.096667 0.350000 \n", + "13 -0.264667 -0.096667 0.350000 \n", + "14 -0.264667 -0.096667 0.350000 \n", + "15 -0.264667 -0.096667 0.350000 \n", + "16 -0.264667 -0.096667 0.350000 \n", + "17 -0.264667 -0.096667 0.350000 \n", + "18 -0.112000 -0.080000 0.490000 \n", + "19 -0.264667 -0.096667 0.350000 \n", + "\n", + " Sign_percentile_95 SMAPE_median ... MSE_percentile_75 \\\n", + "0 0.314000 6.409660 ... 2932.337258 \n", + "1 0.278000 6.517718 ... 2892.064980 \n", + "2 0.230000 9.089307 ... 4380.162760 \n", + "3 0.263333 8.627456 ... 4523.291119 \n", + "4 0.397333 7.713863 ... 3043.004223 \n", + "5 0.140667 8.792364 ... 4348.312974 \n", + "6 0.302667 7.261239 ... 3388.914262 \n", + "7 0.294667 6.787563 ... 2881.801159 \n", + "8 0.356000 7.388653 ... 2650.520332 \n", + "9 0.512667 7.438553 ... 3053.293510 \n", + "10 0.454000 7.056414 ... 2654.019283 \n", + "11 0.454000 7.056414 ... 2654.019283 \n", + "12 0.454000 7.056414 ... 2654.019283 \n", + "13 0.454000 7.056414 ... 2654.019283 \n", + "14 0.454000 7.056414 ... 2654.019283 \n", + "15 0.454000 7.056414 ... 2654.019283 \n", + "16 0.454000 7.056414 ... 2654.019283 \n", + "17 0.454000 7.056414 ... 2654.019283 \n", + "18 0.546000 7.000799 ... 2955.898830 \n", + "19 0.454000 7.056414 ... 2654.019283 \n", + "\n", + " MSE_percentile_95 MedAE_median MedAE_mean MedAE_std \\\n", + "0 4042.729987 23.955975 25.206359 11.622637 \n", + "1 4081.353542 27.123157 27.218174 12.626771 \n", + "2 9372.799823 23.651138 33.216979 27.757430 \n", + "3 8706.679762 21.340072 29.744416 24.853937 \n", + "4 5965.965973 23.849080 29.891810 22.179099 \n", + "5 8320.435293 22.169181 31.987105 25.216224 \n", + "6 4835.825193 26.505894 28.043231 14.194960 \n", + "7 4182.357105 27.029336 28.654451 13.485104 \n", + "8 5457.231014 23.765457 28.460441 19.874549 \n", + "9 5700.527070 23.216146 28.600113 20.576752 \n", + "10 5215.292263 22.710328 27.935635 19.928283 \n", + "11 5215.292263 22.710328 27.935635 19.928283 \n", + "12 5215.292263 22.710328 27.935635 19.928283 \n", + "13 5215.292263 22.710328 27.935635 19.928283 \n", + "14 5215.292263 22.710328 27.935635 19.928283 \n", + "15 5215.292263 22.710328 27.935635 19.928283 \n", + "16 5215.292263 22.710328 27.935635 19.928283 \n", + "17 5215.292263 22.710328 27.935635 19.928283 \n", + "18 4927.027051 24.096784 27.077711 15.960342 \n", + "19 5215.292263 22.710328 27.935635 19.928283 \n", + "\n", + " MedAE_percentile_5 MedAE_percentile_25 MedAE_percentile_75 \\\n", + "0 13.983771 20.517148 28.645187 \n", + "1 14.091358 23.044267 31.297064 \n", + "2 13.023336 17.723981 39.144136 \n", + "3 11.444867 15.402917 35.681571 \n", + "4 11.975667 18.984462 34.756429 \n", + "5 15.227327 19.111376 35.044910 \n", + "6 14.234012 21.005186 33.543939 \n", + "7 15.795294 23.214706 32.469080 \n", + "8 11.558503 18.108626 34.117273 \n", + "9 11.720932 18.433710 33.382549 \n", + "10 11.645170 18.455053 32.190911 \n", + "11 11.645170 18.455053 32.190911 \n", + "12 11.645170 18.455053 32.190911 \n", + "13 11.645170 18.455053 32.190911 \n", + "14 11.645170 18.455053 32.190911 \n", + "15 11.645170 18.455053 32.190911 \n", + "16 11.645170 18.455053 32.190911 \n", + "17 11.645170 18.455053 32.190911 \n", + "18 12.719298 19.211924 31.962571 \n", + "19 11.645170 18.455053 32.190911 \n", + "\n", + " MedAE_percentile_95 state \n", + "0 38.179483 TrialState.COMPLETE \n", + "1 40.478015 TrialState.COMPLETE \n", + "2 66.802801 TrialState.COMPLETE \n", + "3 59.810045 TrialState.COMPLETE \n", + "4 56.267775 TrialState.COMPLETE \n", + "5 62.491976 TrialState.COMPLETE \n", + "6 44.004721 TrialState.COMPLETE \n", + "7 43.788769 TrialState.COMPLETE \n", + "8 51.935358 TrialState.COMPLETE \n", + "9 53.016848 TrialState.COMPLETE \n", + "10 51.541530 TrialState.COMPLETE \n", + "11 51.541530 TrialState.COMPLETE \n", + "12 51.541530 TrialState.COMPLETE \n", + "13 51.541530 TrialState.COMPLETE \n", + "14 51.541530 TrialState.COMPLETE \n", + "15 51.541530 TrialState.COMPLETE \n", + "16 51.541530 TrialState.COMPLETE \n", + "17 51.541530 TrialState.COMPLETE \n", + "18 45.609421 TrialState.COMPLETE \n", + "19 51.541530 TrialState.COMPLETE \n", + "\n", + "[20 rows x 38 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tune.summary()" + ] + }, + { + "cell_type": "markdown", + "id": "cf987a2e", + "metadata": {}, + "source": [ + "Let's show only the columns we are interested in." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "b650bfc7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hashpipelineSMAPE_meanstate
19819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
17819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
16819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
15819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
14819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
13819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
12819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
11819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
10819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
8c50d7518c10036cd75bf03692eedd4c7Pipeline(model = LinearPerSegmentModel(fit_int...9.244168TrialState.COMPLETE
090017b9f59d1921afcea80ae03d04528Pipeline(model = LinearPerSegmentModel(fit_int...9.424033TrialState.COMPLETE
182ef1f244e3ed0c608b072107f24bd8d4Pipeline(model = LinearPerSegmentModel(fit_int...9.473752TrialState.COMPLETE
93d62bb297472c6397485fbf61c6b082aPipeline(model = LinearPerSegmentModel(fit_int...9.542153TrialState.COMPLETE
42ba3f873c085dcb0e0c09d76c5b7f0d1Pipeline(model = LinearPerSegmentModel(fit_int...9.706257TrialState.COMPLETE
31b8349c202df4b87e85601fbb589b8bePipeline(model = LinearPerSegmentModel(fit_int...9.805056TrialState.COMPLETE
1f12fdaaacd1f0f30797c8c2fa4ad3e51Pipeline(model = LinearPerSegmentModel(fit_int...10.051840TrialState.COMPLETE
7a5c13f380b0160ee60b3178023db469bPipeline(model = LinearPerSegmentModel(fit_int...10.112234TrialState.COMPLETE
6e1776a647e31f966fed96c574078b6d6Pipeline(model = LinearPerSegmentModel(fit_int...10.135929TrialState.COMPLETE
5822f29d4dbc55b75925a7a09c9157b00Pipeline(model = LinearPerSegmentModel(fit_int...10.455352TrialState.COMPLETE
2620e1369df4d813039cf8aba6c406346Pipeline(model = LinearPerSegmentModel(fit_int...10.732694TrialState.COMPLETE
\n", + "
" + ], + "text/plain": [ + " hash \\\n", + "19 819656d1513b71b55f7a0f548490f8b2 \n", + "17 819656d1513b71b55f7a0f548490f8b2 \n", + "16 819656d1513b71b55f7a0f548490f8b2 \n", + "15 819656d1513b71b55f7a0f548490f8b2 \n", + "14 819656d1513b71b55f7a0f548490f8b2 \n", + "13 819656d1513b71b55f7a0f548490f8b2 \n", + "12 819656d1513b71b55f7a0f548490f8b2 \n", + "11 819656d1513b71b55f7a0f548490f8b2 \n", + "10 819656d1513b71b55f7a0f548490f8b2 \n", + "8 c50d7518c10036cd75bf03692eedd4c7 \n", + "0 90017b9f59d1921afcea80ae03d04528 \n", + "18 2ef1f244e3ed0c608b072107f24bd8d4 \n", + "9 3d62bb297472c6397485fbf61c6b082a \n", + "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 \n", + "3 1b8349c202df4b87e85601fbb589b8be \n", + "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 \n", + "7 a5c13f380b0160ee60b3178023db469b \n", + "6 e1776a647e31f966fed96c574078b6d6 \n", + "5 822f29d4dbc55b75925a7a09c9157b00 \n", + "2 620e1369df4d813039cf8aba6c406346 \n", + "\n", + " pipeline SMAPE_mean \\\n", + "19 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "17 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "16 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "15 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "14 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "13 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "12 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "11 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "10 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.244168 \n", + "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.424033 \n", + "18 Pipeline(model = LinearPerSegmentModel(fit_int... 9.473752 \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... 9.542153 \n", + "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.706257 \n", + "3 Pipeline(model = LinearPerSegmentModel(fit_int... 9.805056 \n", + "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.051840 \n", + "7 Pipeline(model = LinearPerSegmentModel(fit_int... 10.112234 \n", + "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.135929 \n", + "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.455352 \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... 10.732694 \n", + "\n", + " state \n", + "19 TrialState.COMPLETE \n", + "17 TrialState.COMPLETE \n", + "16 TrialState.COMPLETE \n", + "15 TrialState.COMPLETE \n", + "14 TrialState.COMPLETE \n", + "13 TrialState.COMPLETE \n", + "12 TrialState.COMPLETE \n", + "11 TrialState.COMPLETE \n", + "10 TrialState.COMPLETE \n", + "8 TrialState.COMPLETE \n", + "0 TrialState.COMPLETE \n", + "18 TrialState.COMPLETE \n", + "9 TrialState.COMPLETE \n", + "4 TrialState.COMPLETE \n", + "3 TrialState.COMPLETE \n", + "1 TrialState.COMPLETE \n", + "7 TrialState.COMPLETE \n", + "6 TrialState.COMPLETE \n", + "5 TrialState.COMPLETE \n", + "2 TrialState.COMPLETE " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tune.summary()[[\"hash\", \"pipeline\", \"SMAPE_mean\", \"state\"]].sort_values(\"SMAPE_mean\")" + ] + }, + { + "cell_type": "markdown", + "id": "95721277", + "metadata": {}, + "source": [ + "As we can see, we have duplicate lines, they can be eliminated using `hash` column." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "7506fe96", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hashpipelineSMAPE_meanstate
19819656d1513b71b55f7a0f548490f8b2Pipeline(model = LinearPerSegmentModel(fit_int...9.183608TrialState.COMPLETE
8c50d7518c10036cd75bf03692eedd4c7Pipeline(model = LinearPerSegmentModel(fit_int...9.244168TrialState.COMPLETE
090017b9f59d1921afcea80ae03d04528Pipeline(model = LinearPerSegmentModel(fit_int...9.424033TrialState.COMPLETE
182ef1f244e3ed0c608b072107f24bd8d4Pipeline(model = LinearPerSegmentModel(fit_int...9.473752TrialState.COMPLETE
93d62bb297472c6397485fbf61c6b082aPipeline(model = LinearPerSegmentModel(fit_int...9.542153TrialState.COMPLETE
42ba3f873c085dcb0e0c09d76c5b7f0d1Pipeline(model = LinearPerSegmentModel(fit_int...9.706257TrialState.COMPLETE
31b8349c202df4b87e85601fbb589b8bePipeline(model = LinearPerSegmentModel(fit_int...9.805056TrialState.COMPLETE
1f12fdaaacd1f0f30797c8c2fa4ad3e51Pipeline(model = LinearPerSegmentModel(fit_int...10.051840TrialState.COMPLETE
7a5c13f380b0160ee60b3178023db469bPipeline(model = LinearPerSegmentModel(fit_int...10.112234TrialState.COMPLETE
6e1776a647e31f966fed96c574078b6d6Pipeline(model = LinearPerSegmentModel(fit_int...10.135929TrialState.COMPLETE
5822f29d4dbc55b75925a7a09c9157b00Pipeline(model = LinearPerSegmentModel(fit_int...10.455352TrialState.COMPLETE
2620e1369df4d813039cf8aba6c406346Pipeline(model = LinearPerSegmentModel(fit_int...10.732694TrialState.COMPLETE
\n", + "
" + ], + "text/plain": [ + " hash \\\n", + "19 819656d1513b71b55f7a0f548490f8b2 \n", + "8 c50d7518c10036cd75bf03692eedd4c7 \n", + "0 90017b9f59d1921afcea80ae03d04528 \n", + "18 2ef1f244e3ed0c608b072107f24bd8d4 \n", + "9 3d62bb297472c6397485fbf61c6b082a \n", + "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 \n", + "3 1b8349c202df4b87e85601fbb589b8be \n", + "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 \n", + "7 a5c13f380b0160ee60b3178023db469b \n", + "6 e1776a647e31f966fed96c574078b6d6 \n", + "5 822f29d4dbc55b75925a7a09c9157b00 \n", + "2 620e1369df4d813039cf8aba6c406346 \n", + "\n", + " pipeline SMAPE_mean \\\n", + "19 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", + "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.244168 \n", + "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.424033 \n", + "18 Pipeline(model = LinearPerSegmentModel(fit_int... 9.473752 \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... 9.542153 \n", + "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.706257 \n", + "3 Pipeline(model = LinearPerSegmentModel(fit_int... 9.805056 \n", + "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.051840 \n", + "7 Pipeline(model = LinearPerSegmentModel(fit_int... 10.112234 \n", + "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.135929 \n", + "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.455352 \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... 10.732694 \n", + "\n", + " state \n", + "19 TrialState.COMPLETE \n", + "8 TrialState.COMPLETE \n", + "0 TrialState.COMPLETE \n", + "18 TrialState.COMPLETE \n", + "9 TrialState.COMPLETE \n", + "4 TrialState.COMPLETE \n", + "3 TrialState.COMPLETE \n", + "1 TrialState.COMPLETE \n", + "7 TrialState.COMPLETE \n", + "6 TrialState.COMPLETE \n", + "5 TrialState.COMPLETE \n", + "2 TrialState.COMPLETE " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tune.summary()[[\"hash\", \"pipeline\", \"SMAPE_mean\", \"state\"]].sort_values(\"SMAPE_mean\").drop_duplicates(subset=\"hash\")" + ] + }, + { + "cell_type": "markdown", + "id": "a642c361", + "metadata": {}, + "source": [ + "The second method `top_k` is useful when you want to check out best tried pipelines without duplicates." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "6f707553", + "metadata": {}, + "outputs": [], + "source": [ + "top_3_pipelines = tune.top_k(k=3)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7fd2b238", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, ),\n", + " Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = False, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, ),\n", + " Pipeline(model = LinearPerSegmentModel(fit_intercept = True, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = False, day_number_in_month = True, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = True, season_number = True, year_number = True, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, )]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "top_3_pipelines" + ] + }, + { + "cell_type": "markdown", + "id": "15ef8f10", + "metadata": {}, + "source": [ + "## 2. General AutoML " + ] + }, + { + "cell_type": "markdown", + "id": "fef33f7e", + "metadata": {}, + "source": [ + "Hyperparameters tuning is useful, but can be too narrow. In this section we move our attention to general AutoML pipeline.\n", + "In ETNA we have an `etna.auto.Auto` class for making automatic pipeline selection." + ] + }, + { + "cell_type": "markdown", + "id": "8c1763e2", + "metadata": {}, + "source": [ + "### 2.1 How `Auto` works " + ] + }, + { + "cell_type": "markdown", + "id": "4e20092d", + "metadata": {}, + "source": [ + "`Auto` init has similar parameters to `Tune`, but instead of `pipeline` it works with `pool`. Pool, in general, is just a list of pipelines.\n", + "\n", + "During `fit` there are two stages:\n", + "- pool stage,\n", + "- tuning stage.\n", + "\n", + "Pool stage is responsible for checking every pipeline suggested in a given `pool`. For each pipeline we run a backtest and compute `target_metric`. Results are saved in optuna study.\n", + "\n", + "Tuning stage takes `tune_size` best pipelines according to the resuls of the pool stage. And then runs `Tune` with default `params_to_tune` for them sequentially from best to the worst. \n", + "\n", + "Limit parameters `n_trials` and `timeout` are shared between pool and tuning stages. First, we run pool stage with given `n_trials` and `timeout`. After thatn, the remaining values are divided equally among `tune_size` tuning steps." + ] + }, + { + "cell_type": "markdown", + "id": "96b2fb38", + "metadata": {}, + "source": [ + "### 2.2 Example " + ] + }, + { + "cell_type": "markdown", + "id": "02b2c527", + "metadata": {}, + "source": [ + "We will move stright to the example." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ea97e2f7", + "metadata": {}, + "outputs": [], + "source": [ + "from etna.auto import Auto\n", + "\n", + "\n", + "auto = Auto(\n", + " target_metric=SMAPE(),\n", + " horizon=HORIZON,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "83fe5077", + "metadata": {}, + "source": [ + "We used mostly default parameters, even pool. There is also a default `sampler`, but to make results more reproducible we fixed the `seed`." + ] + }, + { + "cell_type": "markdown", + "id": "aa87e050", + "metadata": {}, + "source": [ + "Let's start the fitting. We can start by running only pool stage." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "47ccd63b", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:50:36,034]\u001b[0m A new study created in RDB with name: pool\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 4.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 6.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:45,148]\u001b[0m Trial 0 finished with value: 9.65050394736334 and parameters: {}. Best is trial 0 with value: 9.65050394736334.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:46,408]\u001b[0m Trial 1 finished with value: 14.77670685984014 and parameters: {}. Best is trial 0 with value: 9.65050394736334.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:47,566]\u001b[0m Trial 2 finished with value: 9.361973662397073 and parameters: {}. Best is trial 2 with value: 9.361973662397073.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:50:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:50,325]\u001b[0m Trial 3 finished with value: 9.187799893440534 and parameters: {}. Best is trial 3 with value: 9.187799893440534.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:50:51,431]\u001b[0m Trial 4 finished with value: 35.29278619271458 and parameters: {}. Best is trial 3 with value: 9.187799893440534.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:13,767]\u001b[0m Trial 5 finished with value: 7.724463828489485 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:14,369]\u001b[0m Trial 6 finished with value: 9.379984399000357 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:51:16,954]\u001b[0m Trial 7 finished with value: 10.242086506868374 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:17,572]\u001b[0m Trial 8 finished with value: 15.365226824762487 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:18,881]\u001b[0m Trial 9 finished with value: 11.474284706070371 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:19,498]\u001b[0m Trial 10 finished with value: 12.675407152401187 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:20,130]\u001b[0m Trial 11 finished with value: 7.709733365606961 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:51:20,733]\u001b[0m Trial 12 finished with value: 13.508433941113003 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 37.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 56.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:52:46,480]\u001b[0m Trial 13 finished with value: 11.407574239537402 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 5.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 7.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 9.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 9.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:52:56,850]\u001b[0m Trial 14 finished with value: 9.65162598697025 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:52:57,477]\u001b[0m Trial 15 finished with value: 13.975939883597462 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:52:58,120]\u001b[0m Trial 16 finished with value: 16.02132139297351 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:00,541]\u001b[0m Trial 17 finished with value: 11.387025273188499 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:01,307]\u001b[0m Trial 18 finished with value: 14.622594913530289 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:03,997]\u001b[0m Trial 19 finished with value: 9.503320794643733 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "Pipeline(model = SeasonalMovingAverageModel(window = 3, seasonality = 7, ), transforms = (), horizon = 30, )" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "auto.fit(ts=ts, tune_size=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "d972dfb5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hashpipelineSMAPE_meanstatestudy
117025a0f724bb3c9c9772da2d59e0e100Pipeline(model = SeasonalMovingAverageModel(wi...7.709733TrialState.COMPLETEpool
5a8ae0feeb31c5172559ca1c22ca8c56cPipeline(model = CatBoostPerSegmentModel(itera...7.724464TrialState.COMPLETEpool
35fa7c4d24dae67c5aaa54afa1424c228Pipeline(model = ProphetModel(growth = 'linear...9.187800TrialState.COMPLETEpool
2252bf21bebde7b7578a3608b2bfb9236Pipeline(model = LinearMultiSegmentModel(fit_i...9.361974TrialState.COMPLETEpool
6692fda6074aa686bc8bb30b3c1ce096cPipeline(model = NaiveModel(lag = 7, ), transf...9.379984TrialState.COMPLETEpool
19d7ca2075b115c2ad928ddb3439b3ee09Pipeline(model = ProphetModel(growth = 'linear...9.503321TrialState.COMPLETEpool
077267beb1e88bedc8173146a8465c340Pipeline(model = CatBoostMultiSegmentModel(ite...9.650504TrialState.COMPLETEpool
1463a4f1e07479b9148ba1c740eeaa6263Pipeline(model = CatBoostMultiSegmentModel(ite...9.651626TrialState.COMPLETEpool
71356176b71cf5dce35c7b36ac3cb7200Pipeline(model = HoltWintersModel(trend = 'add...10.242087TrialState.COMPLETEpool
17dcd71cda87a6be6da209f5c244add946Pipeline(model = HoltWintersModel(trend = 'add...11.387025TrialState.COMPLETEpool
13849d846d248c8a0a4d060cd9e62e7eb8Pipeline(model = AutoARIMAModel(), transforms ...11.407574TrialState.COMPLETEpool
9900b94e6a4fef29cb13eeeee918a830dPipeline(model = LinearPerSegmentModel(fit_int...11.474285TrialState.COMPLETEpool
10496f9ee7f3492e7d545581802d1d2bb0Pipeline(model = MovingAverageModel(window = 3...12.675407TrialState.COMPLETEpool
12ab223f59bd9971136009410fc1295b5cPipeline(model = MovingAverageModel(window = 6...13.508434TrialState.COMPLETEpool
15c1681831deae31686a6f5ab22d2939cePipeline(model = MovingAverageModel(window = 9...13.975940TrialState.COMPLETEpool
18b772169838bc9a692bcf960539c27143Pipeline(model = HoltWintersModel(trend = None...14.622595TrialState.COMPLETEpool
1f12bdc8fb1cfb8f6a33d7e3f7719ef41Pipeline(model = ElasticPerSegmentModel(alpha ...14.776707TrialState.COMPLETEpool
831c1aae4092ec7388469f9fd82841a80Pipeline(model = NaiveModel(lag = 1, ), transf...15.365227TrialState.COMPLETEpool
16497791b5c55502576aa1f5700fb750a1Pipeline(model = SeasonalMovingAverageModel(wi...16.021321TrialState.COMPLETEpool
45f38266ff0b895203c43e08193d68c77Pipeline(model = ElasticMultiSegmentModel(alph...35.292786TrialState.COMPLETEpool
\n", + "
" + ], + "text/plain": [ + " hash \\\n", + "11 7025a0f724bb3c9c9772da2d59e0e100 \n", + "5 a8ae0feeb31c5172559ca1c22ca8c56c \n", + "3 5fa7c4d24dae67c5aaa54afa1424c228 \n", + "2 252bf21bebde7b7578a3608b2bfb9236 \n", + "6 692fda6074aa686bc8bb30b3c1ce096c \n", + "19 d7ca2075b115c2ad928ddb3439b3ee09 \n", + "0 77267beb1e88bedc8173146a8465c340 \n", + "14 63a4f1e07479b9148ba1c740eeaa6263 \n", + "7 1356176b71cf5dce35c7b36ac3cb7200 \n", + "17 dcd71cda87a6be6da209f5c244add946 \n", + "13 849d846d248c8a0a4d060cd9e62e7eb8 \n", + "9 900b94e6a4fef29cb13eeeee918a830d \n", + "10 496f9ee7f3492e7d545581802d1d2bb0 \n", + "12 ab223f59bd9971136009410fc1295b5c \n", + "15 c1681831deae31686a6f5ab22d2939ce \n", + "18 b772169838bc9a692bcf960539c27143 \n", + "1 f12bdc8fb1cfb8f6a33d7e3f7719ef41 \n", + "8 31c1aae4092ec7388469f9fd82841a80 \n", + "16 497791b5c55502576aa1f5700fb750a1 \n", + "4 5f38266ff0b895203c43e08193d68c77 \n", + "\n", + " pipeline SMAPE_mean \\\n", + "11 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", + "5 Pipeline(model = CatBoostPerSegmentModel(itera... 7.724464 \n", + "3 Pipeline(model = ProphetModel(growth = 'linear... 9.187800 \n", + "2 Pipeline(model = LinearMultiSegmentModel(fit_i... 9.361974 \n", + "6 Pipeline(model = NaiveModel(lag = 7, ), transf... 9.379984 \n", + "19 Pipeline(model = ProphetModel(growth = 'linear... 9.503321 \n", + "0 Pipeline(model = CatBoostMultiSegmentModel(ite... 9.650504 \n", + "14 Pipeline(model = CatBoostMultiSegmentModel(ite... 9.651626 \n", + "7 Pipeline(model = HoltWintersModel(trend = 'add... 10.242087 \n", + "17 Pipeline(model = HoltWintersModel(trend = 'add... 11.387025 \n", + "13 Pipeline(model = AutoARIMAModel(), transforms ... 11.407574 \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... 11.474285 \n", + "10 Pipeline(model = MovingAverageModel(window = 3... 12.675407 \n", + "12 Pipeline(model = MovingAverageModel(window = 6... 13.508434 \n", + "15 Pipeline(model = MovingAverageModel(window = 9... 13.975940 \n", + "18 Pipeline(model = HoltWintersModel(trend = None... 14.622595 \n", + "1 Pipeline(model = ElasticPerSegmentModel(alpha ... 14.776707 \n", + "8 Pipeline(model = NaiveModel(lag = 1, ), transf... 15.365227 \n", + "16 Pipeline(model = SeasonalMovingAverageModel(wi... 16.021321 \n", + "4 Pipeline(model = ElasticMultiSegmentModel(alph... 35.292786 \n", + "\n", + " state study \n", + "11 TrialState.COMPLETE pool \n", + "5 TrialState.COMPLETE pool \n", + "3 TrialState.COMPLETE pool \n", + "2 TrialState.COMPLETE pool \n", + "6 TrialState.COMPLETE pool \n", + "19 TrialState.COMPLETE pool \n", + "0 TrialState.COMPLETE pool \n", + "14 TrialState.COMPLETE pool \n", + "7 TrialState.COMPLETE pool \n", + "17 TrialState.COMPLETE pool \n", + "13 TrialState.COMPLETE pool \n", + "9 TrialState.COMPLETE pool \n", + "10 TrialState.COMPLETE pool \n", + "12 TrialState.COMPLETE pool \n", + "15 TrialState.COMPLETE pool \n", + "18 TrialState.COMPLETE pool \n", + "1 TrialState.COMPLETE pool \n", + "8 TrialState.COMPLETE pool \n", + "16 TrialState.COMPLETE pool \n", + "4 TrialState.COMPLETE pool " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "auto.summary()[[\"hash\", \"pipeline\", \"SMAPE_mean\", \"state\", \"study\"]].sort_values(\"SMAPE_mean\")" + ] + }, + { + "cell_type": "markdown", + "id": "ff62ced9", + "metadata": {}, + "source": [ + "We can continue our training. The pool stage is over and there will be only the tuning stage. If we don't want to wait forever we should limit the tuning by fixing `n_trials` or `timeout`." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "13a1861a", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:05,250]\u001b[0m Trial 20 finished with value: 14.622594913530289 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:05,268]\u001b[0m Using an existing study with name 'tuning/7025a0f724bb3c9c9772da2d59e0e100' instead of creating a new one.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:05,913]\u001b[0m Trial 0 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:06,536]\u001b[0m Trial 1 finished with value: 8.211530457237174 and parameters: {'model.window': 8}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:07,186]\u001b[0m Trial 2 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:07,366]\u001b[0m Trial 3 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:07,984]\u001b[0m Trial 4 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:08,186]\u001b[0m Trial 5 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:08,356]\u001b[0m Trial 6 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:08,976]\u001b[0m Trial 7 finished with value: 8.44208740224071 and parameters: {'model.window': 9}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:53:09,584]\u001b[0m Trial 8 finished with value: 8.686495937983308 and parameters: {'model.window': 10}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:10,167]\u001b[0m Trial 9 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:10,753]\u001b[0m Trial 10 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:11,340]\u001b[0m Trial 11 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:11,518]\u001b[0m Trial 12 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:11,695]\u001b[0m Trial 13 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 18:53:12,286]\u001b[0m Trial 14 finished with value: 9.379984399000357 and parameters: {'model.window': 1}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:12,465]\u001b[0m Trial 15 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:12,646]\u001b[0m Trial 16 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:12,821]\u001b[0m Trial 17 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:12,998]\u001b[0m Trial 18 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:13,171]\u001b[0m Trial 19 finished with value: 9.379984399000357 and parameters: {'model.window': 1}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:13,339]\u001b[0m Trial 20 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:13,524]\u001b[0m Trial 21 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:13,700]\u001b[0m Trial 22 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:13,875]\u001b[0m Trial 23 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,069]\u001b[0m Trial 24 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,257]\u001b[0m Trial 25 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,443]\u001b[0m Trial 26 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,616]\u001b[0m Trial 27 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,784]\u001b[0m Trial 28 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:14,961]\u001b[0m Trial 29 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:15,142]\u001b[0m Trial 30 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:15,345]\u001b[0m Trial 31 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:15,524]\u001b[0m Trial 32 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:15,711]\u001b[0m Trial 33 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:15,895]\u001b[0m Trial 34 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:16,085]\u001b[0m Trial 35 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:16,274]\u001b[0m Trial 36 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:16,468]\u001b[0m Trial 37 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:16,659]\u001b[0m Trial 38 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:16,840]\u001b[0m Trial 39 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:53:17,046]\u001b[0m Trial 40 finished with value: 8.211530457237174 and parameters: {'model.window': 8}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:17,241]\u001b[0m Trial 41 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:17,444]\u001b[0m Trial 42 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:17,644]\u001b[0m Trial 43 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:17,836]\u001b[0m Trial 44 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:18,050]\u001b[0m Trial 45 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:18,250]\u001b[0m Trial 46 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:18,456]\u001b[0m Trial 47 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:18,635]\u001b[0m Trial 48 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:18,851]\u001b[0m Trial 49 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,043]\u001b[0m Trial 50 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,259]\u001b[0m Trial 51 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,437]\u001b[0m Trial 52 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,621]\u001b[0m Trial 53 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,794]\u001b[0m Trial 54 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:19,974]\u001b[0m Trial 55 finished with value: 8.686495937983308 and parameters: {'model.window': 10}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:20,158]\u001b[0m Trial 56 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:20,333]\u001b[0m Trial 57 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:20,525]\u001b[0m Trial 58 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:20,722]\u001b[0m Trial 59 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:20,900]\u001b[0m Trial 60 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:21,095]\u001b[0m Trial 61 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:21,277]\u001b[0m Trial 62 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:21,472]\u001b[0m Trial 63 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:21,649]\u001b[0m Trial 64 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:21,837]\u001b[0m Trial 65 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:22,033]\u001b[0m Trial 66 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:22,274]\u001b[0m Trial 67 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:22,448]\u001b[0m Trial 68 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:22,632]\u001b[0m Trial 69 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:22,826]\u001b[0m Trial 70 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:23,034]\u001b[0m Trial 71 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:23,251]\u001b[0m Trial 72 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:23,445]\u001b[0m Trial 73 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:23,634]\u001b[0m Trial 74 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:23,823]\u001b[0m Trial 75 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,017]\u001b[0m Trial 76 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,199]\u001b[0m Trial 77 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,383]\u001b[0m Trial 78 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,564]\u001b[0m Trial 79 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,746]\u001b[0m Trial 80 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:24,942]\u001b[0m Trial 81 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:25,130]\u001b[0m Trial 82 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:25,319]\u001b[0m Trial 83 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:25,507]\u001b[0m Trial 84 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:25,712]\u001b[0m Trial 85 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:25,906]\u001b[0m Trial 86 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:26,094]\u001b[0m Trial 87 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 18:53:26,305]\u001b[0m Trial 88 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:26,514]\u001b[0m Trial 89 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:26,734]\u001b[0m Trial 90 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:26,920]\u001b[0m Trial 91 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:27,123]\u001b[0m Trial 92 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 18:53:27,133]\u001b[0m Using an existing study with name 'tuning/a8ae0feeb31c5172559ca1c22ca8c56c' instead of creating a new one.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 38.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 53.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:54:38,440]\u001b[0m Trial 0 finished with value: 8.95599899417973 and parameters: {'model.learning_rate': 0.010716295704927558, 'model.depth': 8, 'model.random_strength': 0.04135997393839887, 'model.l2_leaf_reg': 6.290363334088762, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 29.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.0min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.9min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.9min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:57:31,220]\u001b[0m Trial 1 finished with value: 11.153710362248447 and parameters: {'model.learning_rate': 0.005093288991452604, 'model.depth': 9, 'model.random_strength': 5.124441683726436e-05, 'model.l2_leaf_reg': 12.953838738811829, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 18:58:13,738]\u001b[0m Trial 2 finished with value: 9.03957484021361 and parameters: {'model.learning_rate': 0.029265104573384305, 'model.depth': 8, 'model.random_strength': 0.00018293439416272825, 'model.l2_leaf_reg': 0.2664339575790138, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 2.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 4.0s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 5.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 7.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 7.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 18:58:22,134]\u001b[0m Trial 3 finished with value: 9.173060518951004 and parameters: {'model.learning_rate': 0.10885022496978591, 'model.depth': 2, 'model.random_strength': 1.0657846106959452, 'model.l2_leaf_reg': 0.20759826854343155, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 44.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:03:01,106]\u001b[0m Trial 4 finished with value: 9.89102553101261 and parameters: {'model.learning_rate': 0.013502332895338663, 'model.depth': 11, 'model.random_strength': 0.000815480751951183, 'model.l2_leaf_reg': 15.963998697486609, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 20.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 44.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.7min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:05:14,329]\u001b[0m Trial 5 finished with value: 9.246544230404654 and parameters: {'model.learning_rate': 0.0045071640297012746, 'model.depth': 10, 'model.random_strength': 0.15735322629462453, 'model.l2_leaf_reg': 0.9590655617999487, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 19:05:31,463]\u001b[0m Trial 6 finished with value: 13.674681756711074 and parameters: {'model.learning_rate': 0.0003170403216419516, 'model.depth': 4, 'model.random_strength': 0.02628993208598797, 'model.l2_leaf_reg': 8.922544209949926, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 17.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 39.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:07:23,035]\u001b[0m Trial 7 finished with value: 14.602269167516333 and parameters: {'model.learning_rate': 0.0002870822904231637, 'model.depth': 10, 'model.random_strength': 0.6980937540893076, 'model.l2_leaf_reg': 7.561685468176948, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 40.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.5min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.3min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:11:44,124]\u001b[0m Trial 8 finished with value: 10.072483975876313 and parameters: {'model.learning_rate': 0.0018942858180534868, 'model.depth': 11, 'model.random_strength': 0.16845597184634434, 'model.l2_leaf_reg': 0.1273800049459842, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 15.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:12:04,460]\u001b[0m Trial 9 finished with value: 14.747822214688878 and parameters: {'model.learning_rate': 0.00016392610634216844, 'model.depth': 5, 'model.random_strength': 0.0007426347922713565, 'model.l2_leaf_reg': 19.890730990098493, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 24.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 33.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 42.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 42.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:12:48,285]\u001b[0m Trial 10 finished with value: 9.046943050185742 and parameters: {'model.learning_rate': 0.3016601746587215, 'model.depth': 7, 'model.random_strength': 5.207983086710336, 'model.l2_leaf_reg': 117.15766222053712, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 13.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:13:24,704]\u001b[0m Trial 11 finished with value: 8.30630605027575 and parameters: {'model.learning_rate': 0.02888986687677301, 'model.depth': 7, 'model.random_strength': 1.2113827557482931e-05, 'model.l2_leaf_reg': 1.4193997083563195, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 11 with value: 8.30630605027575.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:13:51,413]\u001b[0m Trial 12 finished with value: 8.07929866168479 and parameters: {'model.learning_rate': 0.0660039708777113, 'model.depth': 6, 'model.random_strength': 1.2829395419699266e-05, 'model.l2_leaf_reg': 1.4382430803395603, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 12 with value: 8.07929866168479.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:14:18,439]\u001b[0m Trial 13 finished with value: 8.065391877418003 and parameters: {'model.learning_rate': 0.06274920389886264, 'model.depth': 6, 'model.random_strength': 1.1209119713398471e-05, 'model.l2_leaf_reg': 1.1620401948830998, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 9.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:14:31,850]\u001b[0m Trial 14 finished with value: 8.100311162084239 and parameters: {'model.learning_rate': 0.11380764409502402, 'model.depth': 3, 'model.random_strength': 1.1256827664245276e-05, 'model.l2_leaf_reg': 1.510882248859575, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:14:55,797]\u001b[0m Trial 15 finished with value: 8.447507579438982 and parameters: {'model.learning_rate': 0.3622285587348562, 'model.depth': 5, 'model.random_strength': 0.0008638998093220183, 'model.l2_leaf_reg': 0.5954304204448454, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:15:22,127]\u001b[0m Trial 16 finished with value: 8.031969833731182 and parameters: {'model.learning_rate': 0.0745615264143987, 'model.depth': 6, 'model.random_strength': 6.121718412146904e-05, 'model.l2_leaf_reg': 2.729228075346652, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 19:15:28,211]\u001b[0m Trial 17 finished with value: 11.410654422353488 and parameters: {'model.learning_rate': 0.0016295974588932814, 'model.depth': 1, 'model.random_strength': 0.0040411393702502385, 'model.l2_leaf_reg': 48.76365782238227, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:15:51,731]\u001b[0m Trial 18 finished with value: 8.05332491586108 and parameters: {'model.learning_rate': 0.04288847006411244, 'model.depth': 5, 'model.random_strength': 8.283192124435259e-05, 'model.l2_leaf_reg': 3.297556843535905, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:16:10,094]\u001b[0m Trial 19 finished with value: 8.353573783102325 and parameters: {'model.learning_rate': 0.03107836316562015, 'model.depth': 4, 'model.random_strength': 7.63942209212799e-05, 'model.l2_leaf_reg': 2.394528391220912, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 10.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:16:24,440]\u001b[0m Trial 20 finished with value: 8.448705138928396 and parameters: {'model.learning_rate': 0.17846994420285409, 'model.depth': 3, 'model.random_strength': 0.0052571944151463225, 'model.l2_leaf_reg': 4.542352879381539, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.9s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:16:55,024]\u001b[0m Trial 21 finished with value: 8.383220007257988 and parameters: {'model.learning_rate': 0.04666810007924232, 'model.depth': 6, 'model.random_strength': 0.00016248943338374142, 'model.l2_leaf_reg': 0.49107697176534837, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:17:25,062]\u001b[0m Trial 22 finished with value: 9.68449510360387 and parameters: {'model.learning_rate': 0.4964431362911476, 'model.depth': 6, 'model.random_strength': 4.2536874715092195e-05, 'model.l2_leaf_reg': 2.8362784506831273, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:17:48,241]\u001b[0m Trial 23 finished with value: 8.512075186962742 and parameters: {'model.learning_rate': 0.01623440999852582, 'model.depth': 5, 'model.random_strength': 0.0002623142669431294, 'model.l2_leaf_reg': 3.460049187329248, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 19.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 26.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 19:18:23,782]\u001b[0m Trial 24 finished with value: 8.555201995744863 and parameters: {'model.learning_rate': 0.10762713083238827, 'model.depth': 7, 'model.random_strength': 3.4597878271322315e-05, 'model.l2_leaf_reg': 0.6580143878958676, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:18:41,149]\u001b[0m Trial 25 finished with value: 8.293638904007004 and parameters: {'model.learning_rate': 0.19887845020590356, 'model.depth': 4, 'model.random_strength': 0.0023728768741118453, 'model.l2_leaf_reg': 2.2913049946422257, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:19:04,918]\u001b[0m Trial 26 finished with value: 8.617015148172051 and parameters: {'model.learning_rate': 0.06935054245755438, 'model.depth': 5, 'model.random_strength': 0.00028650392880312725, 'model.l2_leaf_reg': 26.00488651958732, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 19.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 26.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:19:40,614]\u001b[0m Trial 27 finished with value: 8.669639919349509 and parameters: {'model.learning_rate': 0.01963454047901899, 'model.depth': 7, 'model.random_strength': 3.175379919339519e-05, 'model.l2_leaf_reg': 4.503760283265215, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 23.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 38.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 53.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:20:50,773]\u001b[0m Trial 28 finished with value: 8.935133717868933 and parameters: {'model.learning_rate': 0.05376491742167553, 'model.depth': 8, 'model.random_strength': 6.857770792729176e-05, 'model.l2_leaf_reg': 0.9470349534044336, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:21:18,401]\u001b[0m Trial 29 finished with value: 8.200640592026204 and parameters: {'model.learning_rate': 0.008368680345484669, 'model.depth': 6, 'model.random_strength': 0.024175133661466272, 'model.l2_leaf_reg': 0.3764383338268366, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 6.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 8.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 11.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 11.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:21:30,853]\u001b[0m Trial 30 finished with value: 9.34014423345457 and parameters: {'model.learning_rate': 0.00297080539194199, 'model.depth': 3, 'model.random_strength': 0.0017903035991223503, 'model.l2_leaf_reg': 5.519407255474524, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:21:58,420]\u001b[0m Trial 31 finished with value: 8.284403629631974 and parameters: {'model.learning_rate': 0.06333396482943168, 'model.depth': 6, 'model.random_strength': 1.251948986526725e-05, 'model.l2_leaf_reg': 1.8574150320946214, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:22:25,096]\u001b[0m Trial 32 finished with value: 8.158978912445004 and parameters: {'model.learning_rate': 0.15217271285713863, 'model.depth': 6, 'model.random_strength': 1.6824767497531204e-05, 'model.l2_leaf_reg': 1.3075846212454072, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 18.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 30.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 42.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 55.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 55.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:23:21,628]\u001b[0m Trial 33 finished with value: 8.428901072976863 and parameters: {'model.learning_rate': 0.03278039806041292, 'model.depth': 8, 'model.random_strength': 0.00013532842560126068, 'model.l2_leaf_reg': 0.8294059286136878, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:23:46,300]\u001b[0m Trial 34 finished with value: 8.087586794142052 and parameters: {'model.learning_rate': 0.08629463954200245, 'model.depth': 5, 'model.random_strength': 2.5725182911410294e-05, 'model.l2_leaf_reg': 9.625088887711426, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 20.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 41.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:26:01,415]\u001b[0m Trial 35 finished with value: 8.765999639627843 and parameters: {'model.learning_rate': 0.009440961403021553, 'model.depth': 9, 'model.random_strength': 8.859252222040201e-05, 'model.l2_leaf_reg': 0.343335222555471, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 14.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 18.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 18.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:26:21,439]\u001b[0m Trial 36 finished with value: 8.510185102343609 and parameters: {'model.learning_rate': 0.01972860796294576, 'model.depth': 4, 'model.random_strength': 0.0004080733373118015, 'model.l2_leaf_reg': 3.171934442388506, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 25.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 31.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 31.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:26:54,655]\u001b[0m Trial 37 finished with value: 8.302866344246397 and parameters: {'model.learning_rate': 0.04688480231421711, 'model.depth': 7, 'model.random_strength': 2.6982336518821883e-05, 'model.l2_leaf_reg': 0.20317395796166243, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 29.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.1min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.7min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.4min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:30:02,334]\u001b[0m Trial 38 finished with value: 9.108799553574789 and parameters: {'model.learning_rate': 0.2741522799411053, 'model.depth': 9, 'model.random_strength': 8.730693997118244e-05, 'model.l2_leaf_reg': 1.1961936671781448, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.6s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:30:27,254]\u001b[0m Trial 39 finished with value: 9.373087331618166 and parameters: {'model.learning_rate': 0.12880681807063418, 'model.depth': 6, 'model.random_strength': 0.00047449506198969654, 'model.l2_leaf_reg': 12.656240115515295, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 27.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 49.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 49.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:31:18,707]\u001b[0m Trial 40 finished with value: 8.723794076386387 and parameters: {'model.learning_rate': 0.0365109815783068, 'model.depth': 8, 'model.random_strength': 2.1145393995945507e-05, 'model.l2_leaf_reg': 1.9849682730500886, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:31:44,398]\u001b[0m Trial 41 finished with value: 8.172100425111964 and parameters: {'model.learning_rate': 0.07670189854950808, 'model.depth': 5, 'model.random_strength': 1.0006328829080918e-05, 'model.l2_leaf_reg': 9.583190988154263, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:32:09,431]\u001b[0m Trial 42 finished with value: 8.140604573465236 and parameters: {'model.learning_rate': 0.0791324972664535, 'model.depth': 5, 'model.random_strength': 3.961867024425694e-05, 'model.l2_leaf_reg': 7.754870915151789, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:32:27,572]\u001b[0m Trial 43 finished with value: 9.58160627697514 and parameters: {'model.learning_rate': 0.005991196706481634, 'model.depth': 4, 'model.random_strength': 2.306711878540034e-05, 'model.l2_leaf_reg': 37.0462528351183, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:32:59,304]\u001b[0m Trial 44 finished with value: 7.988004028987885 and parameters: {'model.learning_rate': 0.09508918988441205, 'model.depth': 6, 'model.random_strength': 0.0001361234741724129, 'model.l2_leaf_reg': 5.777002289780539, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:33:41,893]\u001b[0m Trial 45 finished with value: 8.321489517066045 and parameters: {'model.learning_rate': 0.25189259418879417, 'model.depth': 7, 'model.random_strength': 0.00014992922786063914, 'model.l2_leaf_reg': 3.463221611903448, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:34:13,577]\u001b[0m Trial 46 finished with value: 8.765381177778075 and parameters: {'model.learning_rate': 0.012814218260659638, 'model.depth': 6, 'model.random_strength': 6.76493104996068e-05, 'model.l2_leaf_reg': 5.991362902854593, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 24.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:34:56,500]\u001b[0m Trial 47 finished with value: 8.382428906186961 and parameters: {'model.learning_rate': 0.0239813464143043, 'model.depth': 7, 'model.random_strength': 0.2552506350622169, 'model.l2_leaf_reg': 1.5730625870054369, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 21.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 27.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 27.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:35:25,542]\u001b[0m Trial 48 finished with value: 8.157579666239567 and parameters: {'model.learning_rate': 0.11038475612098292, 'model.depth': 6, 'model.random_strength': 0.0007056161055854033, 'model.l2_leaf_reg': 0.7803503272996681, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:35:48,718]\u001b[0m Trial 49 finished with value: 8.294126449817192 and parameters: {'model.learning_rate': 0.19340173000318936, 'model.depth': 5, 'model.random_strength': 0.00012068840021077627, 'model.l2_leaf_reg': 1.1623227906601101, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 14.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:36:07,826]\u001b[0m Trial 50 finished with value: 8.555954712918059 and parameters: {'model.learning_rate': 0.05210901832131936, 'model.depth': 4, 'model.random_strength': 6.250567182313939, 'model.l2_leaf_reg': 4.237577132357375, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:36:31,157]\u001b[0m Trial 51 finished with value: 8.496623226004772 and parameters: {'model.learning_rate': 0.0746239608466254, 'model.depth': 5, 'model.random_strength': 4.9319289442388765e-05, 'model.l2_leaf_reg': 18.570378777632094, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:36:55,140]\u001b[0m Trial 52 finished with value: 8.030651379845837 and parameters: {'model.learning_rate': 0.09617133089183234, 'model.depth': 5, 'model.random_strength': 2.2161572157322385e-05, 'model.l2_leaf_reg': 9.713904969128848, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 10.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:37:09,435]\u001b[0m Trial 53 finished with value: 8.679953436930496 and parameters: {'model.learning_rate': 0.03593827634304431, 'model.depth': 3, 'model.random_strength': 1.6339602216411735e-05, 'model.l2_leaf_reg': 12.794645778958987, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:37:39,752]\u001b[0m Trial 54 finished with value: 9.278664203907407 and parameters: {'model.learning_rate': 0.48179387847394756, 'model.depth': 6, 'model.random_strength': 5.9462368047388926e-05, 'model.l2_leaf_reg': 2.573442349112225, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 22.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:38:20,157]\u001b[0m Trial 55 finished with value: 8.926902194245685 and parameters: {'model.learning_rate': 0.15258532725109455, 'model.depth': 7, 'model.random_strength': 0.0002501319482067817, 'model.l2_leaf_reg': 133.50461194662432, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:38:45,556]\u001b[0m Trial 56 finished with value: 12.174585450015188 and parameters: {'model.learning_rate': 0.0008559658864143263, 'model.depth': 5, 'model.random_strength': 1.0776714229895865e-05, 'model.l2_leaf_reg': 6.2629483600232865, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.7s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:39:04,484]\u001b[0m Trial 57 finished with value: 8.299264871115207 and parameters: {'model.learning_rate': 0.10725555604321187, 'model.depth': 4, 'model.random_strength': 4.154427446797555e-05, 'model.l2_leaf_reg': 1.722629496347362, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:39:26,971]\u001b[0m Trial 58 finished with value: 9.607920557720625 and parameters: {'model.learning_rate': 0.043180578765391824, 'model.depth': 6, 'model.random_strength': 1.7067687638469634e-05, 'model.l2_leaf_reg': 4.5776871731515785, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 5.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 6.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:39:36,750]\u001b[0m Trial 59 finished with value: 8.79543873786448 and parameters: {'model.learning_rate': 0.025210118825780517, 'model.depth': 2, 'model.random_strength': 0.008982595950999173, 'model.l2_leaf_reg': 73.38080987485642, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 19:40:00,867]\u001b[0m Trial 60 finished with value: 11.82456421522146 and parameters: {'model.learning_rate': 0.228181713088253, 'model.depth': 5, 'model.random_strength': 2.637614095453136, 'model.l2_leaf_reg': 0.564027881260557, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:40:29,565]\u001b[0m Trial 61 finished with value: 8.151805392831466 and parameters: {'model.learning_rate': 0.08441385904292124, 'model.depth': 5, 'model.random_strength': 2.2339528388248968e-05, 'model.l2_leaf_reg': 9.739974245406467, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 13.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:41:05,317]\u001b[0m Trial 62 finished with value: 8.789276440893424 and parameters: {'model.learning_rate': 0.09245996859779411, 'model.depth': 6, 'model.random_strength': 2.7959070164567537e-05, 'model.l2_leaf_reg': 24.585748826466393, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 22.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:41:45,694]\u001b[0m Trial 63 finished with value: 8.032707563846397 and parameters: {'model.learning_rate': 0.060287950964472224, 'model.depth': 7, 'model.random_strength': 9.693599398650281e-05, 'model.l2_leaf_reg': 7.453518853765049, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:42:27,732]\u001b[0m Trial 64 finished with value: 8.014563087896757 and parameters: {'model.learning_rate': 0.12606253579945126, 'model.depth': 7, 'model.random_strength': 0.00011141244836882263, 'model.l2_leaf_reg': 7.601195647275086, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:43:08,601]\u001b[0m Trial 65 finished with value: 8.781276851776932 and parameters: {'model.learning_rate': 0.346208563601516, 'model.depth': 7, 'model.random_strength': 0.0013885951398404327, 'model.l2_leaf_reg': 7.15592707529692, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 39.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 54.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:44:20,158]\u001b[0m Trial 66 finished with value: 9.115936211381197 and parameters: {'model.learning_rate': 0.1470194310832875, 'model.depth': 8, 'model.random_strength': 0.00024248648595509516, 'model.l2_leaf_reg': 15.378459558159049, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:45:02,360]\u001b[0m Trial 67 finished with value: 8.700430085710416 and parameters: {'model.learning_rate': 0.05965414845236434, 'model.depth': 7, 'model.random_strength': 0.00010687707117691142, 'model.l2_leaf_reg': 4.013518534025303, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 13.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 28.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 45.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:46:24,684]\u001b[0m Trial 68 finished with value: 8.89435115997858 and parameters: {'model.learning_rate': 0.17721594627909795, 'model.depth': 8, 'model.random_strength': 0.0003767129772227504, 'model.l2_leaf_reg': 5.23895706604989, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 24.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 50.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.3min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.7min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:48:40,006]\u001b[0m Trial 69 finished with value: 15.115777227300816 and parameters: {'model.learning_rate': 0.00011587517506101465, 'model.depth': 10, 'model.random_strength': 0.07117642100820142, 'model.l2_leaf_reg': 11.871051395443082, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 37.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 37.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "\u001b[32m[I 2023-06-12 19:49:20,146]\u001b[0m Trial 70 finished with value: 8.228243379404098 and parameters: {'model.learning_rate': 0.04221308978025186, 'model.depth': 6, 'model.random_strength': 0.000181552553334559, 'model.l2_leaf_reg': 7.797976303567318, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 29.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 36.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 36.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:49:57,898]\u001b[0m Trial 71 finished with value: 8.10815826752702 and parameters: {'model.learning_rate': 0.06434478746625942, 'model.depth': 6, 'model.random_strength': 4.5171197656046666e-05, 'model.l2_leaf_reg': 2.754019730072721, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 21.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:50:38,521]\u001b[0m Trial 72 finished with value: 8.247053012520826 and parameters: {'model.learning_rate': 0.12221888713156634, 'model.depth': 7, 'model.random_strength': 6.82229061631643e-05, 'model.l2_leaf_reg': 3.281908341622854, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:51:10,334]\u001b[0m Trial 73 finished with value: 8.383063597268825 and parameters: {'model.learning_rate': 0.05687471631457792, 'model.depth': 6, 'model.random_strength': 1.4639582266736639e-05, 'model.l2_leaf_reg': 2.006475692817085, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:51:52,776]\u001b[0m Trial 74 finished with value: 8.516998241823348 and parameters: {'model.learning_rate': 0.02772238368736195, 'model.depth': 7, 'model.random_strength': 9.172846725955901e-05, 'model.l2_leaf_reg': 2.2707166310051026, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 9.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 19.9s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 28.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 46.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 46.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:52:40,683]\u001b[0m Trial 75 finished with value: 8.32495485026527 and parameters: {'model.learning_rate': 0.09855720056262432, 'model.depth': 7, 'model.random_strength': 3.168420763570188e-05, 'model.l2_leaf_reg': 5.599392974826747, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 16.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 48.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 48.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:53:31,123]\u001b[0m Trial 76 finished with value: 9.069203101650036 and parameters: {'model.learning_rate': 0.017887713959096208, 'model.depth': 8, 'model.random_strength': 5.36276649721485e-05, 'model.l2_leaf_reg': 1.0363979521211664, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:54:02,379]\u001b[0m Trial 77 finished with value: 8.209663071060533 and parameters: {'model.learning_rate': 0.14393348137905254, 'model.depth': 6, 'model.random_strength': 0.000656274814172542, 'model.l2_leaf_reg': 3.7800310397269308, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 15.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 19:54:24,111]\u001b[0m Trial 78 finished with value: 8.419210717470907 and parameters: {'model.learning_rate': 0.038655131026692637, 'model.depth': 5, 'model.random_strength': 0.00013369606216108364, 'model.l2_leaf_reg': 10.377052949596434, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 25.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 54.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.5min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.1min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.8min remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.8min finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:57:13,534]\u001b[0m Trial 79 finished with value: 10.00773274381814 and parameters: {'model.learning_rate': 0.21980242652812787, 'model.depth': 9, 'model.random_strength': 1.6133606841631537e-05, 'model.l2_leaf_reg': 1.4685558643907377, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:57:39,656]\u001b[0m Trial 80 finished with value: 8.411802182346586 and parameters: {'model.learning_rate': 0.0700573127922613, 'model.depth': 5, 'model.random_strength': 0.00021912101083016797, 'model.l2_leaf_reg': 15.070412754878896, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:58:04,423]\u001b[0m Trial 81 finished with value: 8.05433188778809 and parameters: {'model.learning_rate': 0.09094519148449282, 'model.depth': 5, 'model.random_strength': 3.105031525983668e-05, 'model.l2_leaf_reg': 7.12234957237678, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:58:22,987]\u001b[0m Trial 82 finished with value: 8.405184041361164 and parameters: {'model.learning_rate': 0.051543376019549676, 'model.depth': 4, 'model.random_strength': 3.4174276643244427e-05, 'model.l2_leaf_reg': 7.225736783757793, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:58:53,906]\u001b[0m Trial 83 finished with value: 8.099853542644295 and parameters: {'model.learning_rate': 0.09644665932401936, 'model.depth': 6, 'model.random_strength': 2.0415495193357084e-05, 'model.l2_leaf_reg': 2.968044687616411, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:59:18,014]\u001b[0m Trial 84 finished with value: 8.1513793705268 and parameters: {'model.learning_rate': 0.12044950027590987, 'model.depth': 5, 'model.random_strength': 7.184077286317475e-05, 'model.l2_leaf_reg': 4.96091108806923, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 19:59:48,572]\u001b[0m Trial 85 finished with value: 9.759262482212726 and parameters: {'model.learning_rate': 0.03155358124589334, 'model.depth': 6, 'model.random_strength': 1.1981664461341928e-05, 'model.l2_leaf_reg': 192.08249940999715, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:00:25,956]\u001b[0m Trial 86 finished with value: 8.649848295557511 and parameters: {'model.learning_rate': 0.18352290010138952, 'model.depth': 7, 'model.random_strength': 4.81650560351937e-05, 'model.l2_leaf_reg': 18.95773796598665, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 25.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 32.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 32.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:00:59,779]\u001b[0m Trial 87 finished with value: 8.218701885283497 and parameters: {'model.learning_rate': 0.0666661507442953, 'model.depth': 6, 'model.random_strength': 0.0001022682070148913, 'model.l2_leaf_reg': 8.799923865447301, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:01:17,646]\u001b[0m Trial 88 finished with value: 9.8308795579817 and parameters: {'model.learning_rate': 0.08725130794266926, 'model.depth': 5, 'model.random_strength': 3.4581813935010435e-05, 'model.l2_leaf_reg': 6.295840497124187, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 16.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 25.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 35.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 45.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 45.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 20:02:04,632]\u001b[0m Trial 89 finished with value: 8.315998894937811 and parameters: {'model.learning_rate': 0.04953694545865797, 'model.depth': 7, 'model.random_strength': 0.00018466398451449562, 'model.l2_leaf_reg': 11.200699047569337, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:02:22,676]\u001b[0m Trial 90 finished with value: 8.452759290374376 and parameters: {'model.learning_rate': 0.326341592921041, 'model.depth': 4, 'model.random_strength': 0.00032880392654984836, 'model.l2_leaf_reg': 2.023842147151694, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:02:46,459]\u001b[0m Trial 91 finished with value: 8.22255499766052 and parameters: {'model.learning_rate': 0.08027892283834585, 'model.depth': 5, 'model.random_strength': 2.2460453731029875e-05, 'model.l2_leaf_reg': 8.783162700814778, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", + "\u001b[32m[I 2023-06-12 20:03:04,394]\u001b[0m Trial 92 finished with value: 9.855752632612187 and parameters: {'model.learning_rate': 0.004075377055081005, 'model.depth': 4, 'model.random_strength': 2.777565839223476e-05, 'model.l2_leaf_reg': 24.37905531110236, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", + "\u001b[32m[I 2023-06-12 20:03:04,470]\u001b[0m Using an existing study with name 'tuning/5fa7c4d24dae67c5aaa54afa1424c228' instead of creating a new one.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:08,158]\u001b[0m Trial 0 finished with value: 8.541965580837937 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6431172050131991, 'model.changepoint_prior_scale': 0.029554483012804774, 'model.changepoint_range': 0.8635482199008357, 'model.holidays_prior_scale': 0.8663279761354559}. Best is trial 0 with value: 8.541965580837937.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:11,343]\u001b[0m Trial 1 finished with value: 8.199149635759104 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 7.780155576901417, 'model.changepoint_prior_scale': 0.01083670267174957, 'model.changepoint_range': 0.9187587557123996, 'model.holidays_prior_scale': 0.3860866271460545}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:11 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:11 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:12 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.4s remaining: 0.0s\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:12 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:13 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:13 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.5s remaining: 0.0s\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:14 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.8s remaining: 0.0s\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:15 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:17,470]\u001b[0m Trial 2 finished with value: 13.726743418362693 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0163345876110695, 'model.changepoint_prior_scale': 0.001718538897359816, 'model.changepoint_range': 0.8030327596160489, 'model.holidays_prior_scale': 3.146730406166005}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:20,578]\u001b[0m Trial 3 finished with value: 11.56188525384476 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 8.626905220714901, 'model.changepoint_prior_scale': 0.14351754393372151, 'model.changepoint_range': 0.8692219043379398, 'model.holidays_prior_scale': 2.195773446539456}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6s remaining: 0.0s\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:03:24,026]\u001b[0m Trial 4 finished with value: 13.16115473143088 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0269190582492607, 'model.changepoint_prior_scale': 0.35451373935753394, 'model.changepoint_range': 0.8782772482625107, 'model.holidays_prior_scale': 0.17538232373118048}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:26,794]\u001b[0m Trial 5 finished with value: 8.731742420838094 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23358825194833557, 'model.changepoint_prior_scale': 0.034212607690527704, 'model.changepoint_range': 0.8028184700654533, 'model.holidays_prior_scale': 0.7126995609048579}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:29,654]\u001b[0m Trial 6 finished with value: 10.309542514593204 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 6.780227021579833, 'model.changepoint_prior_scale': 0.06921696229642238, 'model.changepoint_range': 0.8539261850860679, 'model.holidays_prior_scale': 0.20468963963126674}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:32,502]\u001b[0m Trial 7 finished with value: 9.718315974384845 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.0006913513545577, 'model.changepoint_prior_scale': 0.06457010518456686, 'model.changepoint_range': 0.8315573841610762, 'model.holidays_prior_scale': 0.024365700014642007}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:03:35,214]\u001b[0m Trial 8 finished with value: 8.196662721111094 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.513558960650023, 'model.changepoint_prior_scale': 0.015267654682360772, 'model.changepoint_range': 0.9482560757088838, 'model.holidays_prior_scale': 0.020236454843648898}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:03:37,945]\u001b[0m Trial 9 finished with value: 9.39685881152561 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.9105944026265278, 'model.changepoint_prior_scale': 0.004826434732162202, 'model.changepoint_range': 0.8699466159284459, 'model.holidays_prior_scale': 0.054109905567678765}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.4s remaining: 0.0s\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:39 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:39 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.7s remaining: 0.0s\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:40 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3s remaining: 0.0s\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:41 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:41 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:43,563]\u001b[0m Trial 10 finished with value: 15.54082036020387 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.09438237643453995, 'model.changepoint_prior_scale': 0.0011377699572461288, 'model.changepoint_range': 0.9394460532541744, 'model.holidays_prior_scale': 0.012110667473884363}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:03:46,306]\u001b[0m Trial 11 finished with value: 8.496012495899542 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 3.135359172668107, 'model.changepoint_prior_scale': 0.008366883161270433, 'model.changepoint_range': 0.9495290414986228, 'model.holidays_prior_scale': 9.58865411541368}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:49,159]\u001b[0m Trial 12 finished with value: 8.570945798667942 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.485008514032731, 'model.changepoint_prior_scale': 0.009240014100090347, 'model.changepoint_range': 0.9174966943385707, 'model.holidays_prior_scale': 0.06008819428648827}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:03:51,989]\u001b[0m Trial 13 finished with value: 8.289554036327798 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1180857039871953, 'model.changepoint_prior_scale': 0.014581734837827305, 'model.changepoint_range': 0.9140124951835015, 'model.holidays_prior_scale': 0.08225973116107134}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.9s remaining: 0.0s\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:52 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:53 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:53 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.2s remaining: 0.0s\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:54 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.9s remaining: 0.0s\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:03:56,437]\u001b[0m Trial 14 finished with value: 10.959705083545185 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.577137518168727, 'model.changepoint_prior_scale': 0.002512626801870387, 'model.changepoint_range': 0.9141384441636171, 'model.holidays_prior_scale': 0.5091960092727943}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 20:03:59,216]\u001b[0m Trial 15 finished with value: 9.487854876515936 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.0444175248635975, 'model.changepoint_prior_scale': 0.004593596045396909, 'model.changepoint_range': 0.9299546211100173, 'model.holidays_prior_scale': 0.01228603623597264}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:02,194]\u001b[0m Trial 16 finished with value: 8.24483643492838 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.25718594296337877, 'model.changepoint_prior_scale': 0.019158682398626867, 'model.changepoint_range': 0.8960280479136292, 'model.holidays_prior_scale': 0.1179825079862232}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:02 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:05,325]\u001b[0m Trial 17 finished with value: 9.748589581222916 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4921630423066466, 'model.changepoint_prior_scale': 0.004283494659703109, 'model.changepoint_range': 0.8968120243830993, 'model.holidays_prior_scale': 0.3179690254943156}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:08,070]\u001b[0m Trial 18 finished with value: 9.015221004091009 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.3873533715080923, 'model.changepoint_prior_scale': 0.010122316277341534, 'model.changepoint_range': 0.948767424431394, 'model.holidays_prior_scale': 0.03562619467598291}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:10,934]\u001b[0m Trial 19 finished with value: 9.932293397937324 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.88696757102777, 'model.changepoint_prior_scale': 0.05754500424323504, 'model.changepoint_range': 0.9311693440482074, 'model.holidays_prior_scale': 1.597117189891481}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:13,875]\u001b[0m Trial 20 finished with value: 12.427877855710065 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.11242911044550274, 'model.changepoint_prior_scale': 0.16980448326016653, 'model.changepoint_range': 0.8977070241794431, 'model.holidays_prior_scale': 0.313387698719199}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:04:16,700]\u001b[0m Trial 21 finished with value: 8.276144360377296 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.289577509170919, 'model.changepoint_prior_scale': 0.019917997027858073, 'model.changepoint_range': 0.8945083981521544, 'model.holidays_prior_scale': 0.10250035750676761}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:19,479]\u001b[0m Trial 22 finished with value: 8.316974362726546 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.18101974930962766, 'model.changepoint_prior_scale': 0.015583534260546327, 'model.changepoint_range': 0.9246011433111482, 'model.holidays_prior_scale': 0.022503921642312495}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:22,355]\u001b[0m Trial 23 finished with value: 8.76901578316967 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4575609439345704, 'model.changepoint_prior_scale': 0.035909389329124075, 'model.changepoint_range': 0.9013317867257039, 'model.holidays_prior_scale': 0.13009487568004197}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:25,094]\u001b[0m Trial 24 finished with value: 8.317275731943258 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05011126801375731, 'model.changepoint_prior_scale': 0.007538556696131807, 'model.changepoint_range': 0.884079560022438, 'model.holidays_prior_scale': 0.037002356772718924}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:27,838]\u001b[0m Trial 25 finished with value: 9.79228018771984 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.010137573258203946, 'model.changepoint_prior_scale': 0.019919822299523944, 'model.changepoint_range': 0.9368034811702408, 'model.holidays_prior_scale': 0.31978362730063364}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:27 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:27 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:30,635]\u001b[0m Trial 26 finished with value: 8.739141962733079 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.4903492101460485, 'model.changepoint_prior_scale': 0.012620582036596368, 'model.changepoint_range': 0.9144369729127115, 'model.holidays_prior_scale': 1.1840082424882457}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.1s remaining: 0.0s\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.3s remaining: 0.0s\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:34,785]\u001b[0m Trial 27 finished with value: 11.325797181724608 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.06459233578099609, 'model.changepoint_prior_scale': 0.002849012024866838, 'model.changepoint_range': 0.9070352208571381, 'model.holidays_prior_scale': 0.18760645672602935}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:37,588]\u001b[0m Trial 28 finished with value: 8.993814110432519 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.32358475840941575, 'model.changepoint_prior_scale': 0.005849944932439751, 'model.changepoint_range': 0.8888629632026186, 'model.holidays_prior_scale': 0.020444671438310816}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:40,848]\u001b[0m Trial 29 finished with value: 8.351580873702844 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.680789798100525, 'model.changepoint_prior_scale': 0.027128673584239187, 'model.changepoint_range': 0.8484921165713792, 'model.holidays_prior_scale': 0.6817019436388033}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 20:04:43,679]\u001b[0m Trial 30 finished with value: 9.087162942515583 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.162458610896737, 'model.changepoint_prior_scale': 0.04325462323374721, 'model.changepoint_range': 0.9404978131616304, 'model.holidays_prior_scale': 0.06754173488394095}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:46,491]\u001b[0m Trial 31 finished with value: 8.277909668644142 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3443906480616571, 'model.changepoint_prior_scale': 0.021134301519640106, 'model.changepoint_range': 0.8896701980367472, 'model.holidays_prior_scale': 0.10846220402108306}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:49,293]\u001b[0m Trial 32 finished with value: 8.317537971566196 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23620133398468296, 'model.changepoint_prior_scale': 0.023864869392679268, 'model.changepoint_range': 0.9251420557101491, 'model.holidays_prior_scale': 0.12167613453212367}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:52,298]\u001b[0m Trial 33 finished with value: 11.135903444173165 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6181806902901104, 'model.changepoint_prior_scale': 0.10370507633531423, 'model.changepoint_range': 0.9057843569681814, 'model.holidays_prior_scale': 0.04445081370774012}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:04:55,049]\u001b[0m Trial 34 finished with value: 8.404685988387335 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0312587334914819, 'model.changepoint_prior_scale': 0.013433586733952202, 'model.changepoint_range': 0.8852867962001704, 'model.holidays_prior_scale': 0.5152422440517757}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:04:57,845]\u001b[0m Trial 35 finished with value: 8.231006424882509 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.4245078768211772, 'model.changepoint_prior_scale': 0.019363495655721118, 'model.changepoint_range': 0.8635497890532895, 'model.holidays_prior_scale': 4.295211516780804}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:04:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:00,705]\u001b[0m Trial 36 finished with value: 9.182739997426626 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.158139732592527, 'model.changepoint_prior_scale': 0.044678748840564234, 'model.changepoint_range': 0.8619805757750548, 'model.holidays_prior_scale': 3.6922193112039334}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:03,547]\u001b[0m Trial 37 finished with value: 8.60517015185107 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 8.941497598917334, 'model.changepoint_prior_scale': 0.00714222399101993, 'model.changepoint_range': 0.8338448823315145, 'model.holidays_prior_scale': 5.21841466962622}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:06,788]\u001b[0m Trial 38 finished with value: 13.683200528065061 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.6639831204202418, 'model.changepoint_prior_scale': 0.3137530099627551, 'model.changepoint_range': 0.8772138569362108, 'model.holidays_prior_scale': 2.4499145838012084}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:07 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.1s remaining: 0.0s\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.4s remaining: 0.0s\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:10,857]\u001b[0m Trial 39 finished with value: 9.698939691587189 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.8957624548034007, 'model.changepoint_prior_scale': 0.0029427883704696346, 'model.changepoint_range': 0.8434319925808308, 'model.holidays_prior_scale': 9.343531823802445}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:10 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:13,802]\u001b[0m Trial 40 finished with value: 10.778217668335966 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 5.921332611100782, 'model.changepoint_prior_scale': 0.09601588664446753, 'model.changepoint_range': 0.8233471644799434, 'model.holidays_prior_scale': 1.0836852131471952}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:13 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:16,558]\u001b[0m Trial 41 finished with value: 8.205141145028133 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.24241268242501487, 'model.changepoint_prior_scale': 0.019555604962594272, 'model.changepoint_range': 0.8630894701929401, 'model.holidays_prior_scale': 0.23928566625157363}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:19,364]\u001b[0m Trial 42 finished with value: 8.502544073886245 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4561041586862289, 'model.changepoint_prior_scale': 0.02910534601026217, 'model.changepoint_range': 0.8616819130087252, 'model.holidays_prior_scale': 0.18499262688993692}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:22,376]\u001b[0m Trial 43 finished with value: 8.285486548324613 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.17805765403120694, 'model.changepoint_prior_scale': 0.010959374795642386, 'model.changepoint_range': 0.8711355992764817, 'model.holidays_prior_scale': 0.48182681375233927}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:25,194]\u001b[0m Trial 44 finished with value: 8.169561881754744 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.107661577800248, 'model.changepoint_prior_scale': 0.01637037740042306, 'model.changepoint_range': 0.8556450793506457, 'model.holidays_prior_scale': 0.26129725570229745}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:27,923]\u001b[0m Trial 45 finished with value: 8.276884417845043 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.2949215185093266, 'model.changepoint_prior_scale': 0.016165998211483065, 'model.changepoint_range': 0.856254522101916, 'model.holidays_prior_scale': 0.23387757046655638}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:30,697]\u001b[0m Trial 46 finished with value: 8.6441208692796 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.1714085950393693, 'model.changepoint_prior_scale': 0.038005894377207666, 'model.changepoint_range': 0.8385951008489191, 'model.holidays_prior_scale': 6.390528966170958}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 20:05:33,490]\u001b[0m Trial 47 finished with value: 8.588091914828551 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.7959087678726129, 'model.changepoint_prior_scale': 0.010328001893893811, 'model.changepoint_range': 0.8516658466101357, 'model.holidays_prior_scale': 1.921485415487998}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:36,284]\u001b[0m Trial 48 finished with value: 8.585323709870188 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 3.0083372283770564, 'model.changepoint_prior_scale': 0.006266908917193176, 'model.changepoint_range': 0.8201236897552114, 'model.holidays_prior_scale': 0.7252285525240232}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:39,130]\u001b[0m Trial 49 finished with value: 9.856726379979703 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.2005007496094287, 'model.changepoint_prior_scale': 0.05721293316717175, 'model.changepoint_range': 0.8657155992889197, 'model.holidays_prior_scale': 0.016664083606939183}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:41,853]\u001b[0m Trial 50 finished with value: 8.27211415448512 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.8199107423368297, 'model.changepoint_prior_scale': 0.026887774683604686, 'model.changepoint_range': 0.8579539262779903, 'model.holidays_prior_scale': 3.3735393701647682}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:44,667]\u001b[0m Trial 51 finished with value: 8.318783091542004 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6240628773764376, 'model.changepoint_prior_scale': 0.016062934152807903, 'model.changepoint_range': 0.8731436150761462, 'model.holidays_prior_scale': 0.42558113044931717}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:47,460]\u001b[0m Trial 52 finished with value: 8.254043076809563 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.0694651288026338, 'model.changepoint_prior_scale': 0.018801533019922993, 'model.changepoint_range': 0.8805065487789467, 'model.holidays_prior_scale': 0.24641898125451217}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:50,247]\u001b[0m Trial 53 finished with value: 8.350400610138372 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.40028266724123723, 'model.changepoint_prior_scale': 0.008768419616497809, 'model.changepoint_range': 0.865691171367229, 'model.holidays_prior_scale': 0.1454299931206766}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:53,031]\u001b[0m Trial 54 finished with value: 8.214631834178213 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23355326325602058, 'model.changepoint_prior_scale': 0.010867870854430308, 'model.changepoint_range': 0.8479823415605791, 'model.holidays_prior_scale': 0.010842392747643273}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:05:55,924]\u001b[0m Trial 55 finished with value: 8.213716079704382 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.084043771644095, 'model.changepoint_prior_scale': 0.011879346006551116, 'model.changepoint_range': 0.8461291339025108, 'model.holidays_prior_scale': 0.011224225036563793}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:05:59,113]\u001b[0m Trial 56 finished with value: 9.37972418273795 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.07077027198418605, 'model.changepoint_prior_scale': 0.005195202827657674, 'model.changepoint_range': 0.8439647076131337, 'model.holidays_prior_scale': 0.010515587477379943}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:05:59 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:00 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:00 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8s remaining: 0.0s\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.1s remaining: 0.0s\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:06:02,845]\u001b[0m Trial 57 finished with value: 9.849158047034939 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.08305969326690772, 'model.changepoint_prior_scale': 0.0036440051218635293, 'model.changepoint_range': 0.8284582618998997, 'model.holidays_prior_scale': 0.014593586615960899}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:05,697]\u001b[0m Trial 58 finished with value: 8.16196897822533 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12259309025792037, 'model.changepoint_prior_scale': 0.011609952755521385, 'model.changepoint_range': 0.8498871660623711, 'model.holidays_prior_scale': 0.02658287844224521}. Best is trial 58 with value: 8.16196897822533.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:08,461]\u001b[0m Trial 59 finished with value: 8.154336318074494 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12678355351947487, 'model.changepoint_prior_scale': 0.013000914266793815, 'model.changepoint_range': 0.9449549550822683, 'model.holidays_prior_scale': 0.026176067529070167}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:06:11,193]\u001b[0m Trial 60 finished with value: 8.970640480862114 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.12164668076469838, 'model.changepoint_prior_scale': 0.008238372064875503, 'model.changepoint_range': 0.9463185123177245, 'model.holidays_prior_scale': 0.07927367237417947}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:14,015]\u001b[0m Trial 61 finished with value: 8.393781726277426 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.13459263223201262, 'model.changepoint_prior_scale': 0.013271943156016777, 'model.changepoint_range': 0.9407407864165296, 'model.holidays_prior_scale': 0.026524099047770176}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:17,055]\u001b[0m Trial 62 finished with value: 8.094489463313986 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05192608190806342, 'model.changepoint_prior_scale': 0.011727100251702751, 'model.changepoint_range': 0.9305664901294626, 'model.holidays_prior_scale': 0.032536271862643615}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:19,881]\u001b[0m Trial 63 finished with value: 8.720502850759816 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.021653743959094245, 'model.changepoint_prior_scale': 0.01564446661606347, 'model.changepoint_range': 0.9207777102135881, 'model.holidays_prior_scale': 0.02795149643258978}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:21 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:21 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s remaining: 0.0s\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:22 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3s remaining: 0.0s\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:23 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:25,332]\u001b[0m Trial 64 finished with value: 12.871284302892954 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.04339044232470857, 'model.changepoint_prior_scale': 0.00165104133214865, 'model.changepoint_range': 0.9305092514225444, 'model.holidays_prior_scale': 0.04803914574514487}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:28,190]\u001b[0m Trial 65 finished with value: 8.239179921072695 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05821026033051738, 'model.changepoint_prior_scale': 0.023035024353236042, 'model.changepoint_range': 0.9352175499815899, 'model.holidays_prior_scale': 0.03554096028588727}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:30,938]\u001b[0m Trial 66 finished with value: 8.773060108432237 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.033298000850094135, 'model.changepoint_prior_scale': 0.007028008988583828, 'model.changepoint_range': 0.9436740189732639, 'model.holidays_prior_scale': 0.01478909662884603}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:33,946]\u001b[0m Trial 67 finished with value: 8.458228269134171 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.10177276910235537, 'model.changepoint_prior_scale': 0.008800844963836721, 'model.changepoint_range': 0.9350482633784252, 'model.holidays_prior_scale': 0.017941951149325785}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:36,810]\u001b[0m Trial 68 finished with value: 8.405310132622015 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.19433602933870733, 'model.changepoint_prior_scale': 0.012887039286328585, 'model.changepoint_range': 0.9494365193012152, 'model.holidays_prior_scale': 0.03018298890210418}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:06:39,650]\u001b[0m Trial 69 finished with value: 8.574858942288069 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.14155628089831707, 'model.changepoint_prior_scale': 0.03248189453986024, 'model.changepoint_range': 0.9268618227558492, 'model.holidays_prior_scale': 0.06001572285310379}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.0s remaining: 0.0s\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.3s remaining: 0.0s\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6s remaining: 0.0s\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:06:42,826]\u001b[0m Trial 70 finished with value: 8.14799921903954 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.28571241414905296, 'model.changepoint_prior_scale': 0.016987800673851312, 'model.changepoint_range': 0.9423178473406773, 'model.holidays_prior_scale': 0.02098291487711905}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:45,665]\u001b[0m Trial 71 finished with value: 8.22502181653449 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.21637619802694957, 'model.changepoint_prior_scale': 0.016447434821886285, 'model.changepoint_range': 0.9450333238273869, 'model.holidays_prior_scale': 0.02431339182482315}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:48,516]\u001b[0m Trial 72 finished with value: 8.281245310698745 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2698479814719883, 'model.changepoint_prior_scale': 0.01037985468742182, 'model.changepoint_range': 0.9374824788589637, 'model.holidays_prior_scale': 0.38144080317099094}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:50 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:06:51,266]\u001b[0m Trial 73 finished with value: 8.298215868860188 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3210810556951625, 'model.changepoint_prior_scale': 0.024110522876911997, 'model.changepoint_range': 0.9423483250116474, 'model.holidays_prior_scale': 0.040930808019114216}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:54,125]\u001b[0m Trial 74 finished with value: 8.32152492646297 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.5164413239934007, 'model.changepoint_prior_scale': 0.013313925016906553, 'model.changepoint_range': 0.9193056108578579, 'model.holidays_prior_scale': 0.021482940979175708}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-12 20:06:56,968]\u001b[0m Trial 75 finished with value: 9.425540534383101 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3721109486438703, 'model.changepoint_prior_scale': 0.005769511468334412, 'model.changepoint_range': 0.9296986005897715, 'model.holidays_prior_scale': 0.03216559750503291}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:06:59,769]\u001b[0m Trial 76 finished with value: 8.198590317947604 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1539206740983893, 'model.changepoint_prior_scale': 0.01783182549053658, 'model.changepoint_range': 0.9339391643197992, 'model.holidays_prior_scale': 0.01914137757138301}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:06:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:06:59 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:06:59 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:02,495]\u001b[0m Trial 77 finished with value: 8.27982137213161 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1502534652827288, 'model.changepoint_prior_scale': 0.017251465161007316, 'model.changepoint_range': 0.9347408626197787, 'model.holidays_prior_scale': 0.01870946551450906}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:05,300]\u001b[0m Trial 78 finished with value: 8.790402857625647 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.10887380073177952, 'model.changepoint_prior_scale': 0.009777398115410783, 'model.changepoint_range': 0.9238094212637779, 'model.holidays_prior_scale': 0.014969713112545281}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:08,096]\u001b[0m Trial 79 finished with value: 9.13369233640443 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.041636105362933946, 'model.changepoint_prior_scale': 0.007006566070069598, 'model.changepoint_range': 0.9120716097513982, 'model.holidays_prior_scale': 0.05194415201756469}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", + "Optimization terminated abnormally. Falling back to Newton.\n", + "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:11,123]\u001b[0m Trial 80 finished with value: 9.719306221792504 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.08669545933338012, 'model.changepoint_prior_scale': 0.004029883071239181, 'model.changepoint_range': 0.9496439628237515, 'model.holidays_prior_scale': 0.012683542479718465}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:13,839]\u001b[0m Trial 81 finished with value: 8.288200780394902 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 6.7793480660341165, 'model.changepoint_prior_scale': 0.022895249579286188, 'model.changepoint_range': 0.9395633660281012, 'model.holidays_prior_scale': 0.023205730229797467}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:13 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:16,686]\u001b[0m Trial 82 finished with value: 8.225241060846496 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2894975019654516, 'model.changepoint_prior_scale': 0.0142995157251417, 'model.changepoint_range': 0.9318673503085327, 'model.holidays_prior_scale': 0.2718931040143506}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:19,626]\u001b[0m Trial 83 finished with value: 8.321826384323362 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.16609393995172164, 'model.changepoint_prior_scale': 0.018193647164426632, 'model.changepoint_range': 0.8542563801665379, 'model.holidays_prior_scale': 0.14589719788771435}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:21 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:21 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:22,388]\u001b[0m Trial 84 finished with value: 8.536522217845778 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.464477183611315, 'model.changepoint_prior_scale': 0.02867725672572329, 'model.changepoint_range': 0.9459735586243626, 'model.holidays_prior_scale': 0.03930794638707253}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:25,126]\u001b[0m Trial 85 finished with value: 8.494151472788404 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.40133103691811794, 'model.changepoint_prior_scale': 0.01168385278170105, 'model.changepoint_range': 0.8082255279727544, 'model.holidays_prior_scale': 0.08187850923791175}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:27,927]\u001b[0m Trial 86 finished with value: 8.18984842211884 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2110377755082444, 'model.changepoint_prior_scale': 0.02131255528295946, 'model.changepoint_range': 0.8519677346170985, 'model.holidays_prior_scale': 0.020863885383988173}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:30,767]\u001b[0m Trial 87 finished with value: 9.083841820476774 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.21282603688766435, 'model.changepoint_prior_scale': 0.044449320557503745, 'model.changepoint_range': 0.8371736925576855, 'model.holidays_prior_scale': 0.020859967474744178}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:30 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:30 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:33,568]\u001b[0m Trial 88 finished with value: 8.350067915714869 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.07254751378153056, 'model.changepoint_prior_scale': 0.014356887992021219, 'model.changepoint_range': 0.8507184775424517, 'model.holidays_prior_scale': 0.02839633925266624}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:35 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:35 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:36,540]\u001b[0m Trial 89 finished with value: 8.788245042708848 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.015070093057590404, 'model.changepoint_prior_scale': 0.03294117389415037, 'model.changepoint_range': 0.8588807175147999, 'model.holidays_prior_scale': 0.013197486915857147}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:38 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:38 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:39,418]\u001b[0m Trial 90 finished with value: 8.333916895137973 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.18393777928934762, 'model.changepoint_prior_scale': 0.02553180564688982, 'model.changepoint_range': 0.9275870285877013, 'model.holidays_prior_scale': 0.032347885131941166}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", + "\u001b[32m[I 2023-06-12 20:07:42,176]\u001b[0m Trial 91 finished with value: 8.25103304340093 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.5459807393733146, 'model.changepoint_prior_scale': 0.020156632224963646, 'model.changepoint_range': 0.8695640242836883, 'model.holidays_prior_scale': 0.017356939738079048}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", + "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", + "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", + "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", + "\u001b[32m[I 2023-06-12 20:07:44,932]\u001b[0m Trial 92 finished with value: 8.401748208957802 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12778897473159434, 'model.changepoint_prior_scale': 0.011709213358841397, 'model.changepoint_range': 0.8423318535040876, 'model.holidays_prior_scale': 0.36054039365608503}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "Pipeline(model = SeasonalMovingAverageModel(window = 4, seasonality = 7, ), transforms = [], horizon = 30, )" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "auto.fit(ts=ts, tune_size=3, n_trials=300)" + ] + }, + { + "cell_type": "markdown", + "id": "09f78f63", + "metadata": {}, + "source": [ + "Let's look at the results." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "95c854eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hashpipelineSMAPE_meanstatestudy
2999c3494ea22747c980a29daf93945de23Pipeline(model = SeasonalMovingAverageModel(wi...7.366414TrialState.COMPLETEtuning/7025a0f724bb3c9c9772da2d59e0e100
292571b38e9ed78660ea2f2fa1460cb6aa2Pipeline(model = SeasonalMovingAverageModel(wi...7.446960TrialState.COMPLETEtuning/7025a0f724bb3c9c9772da2d59e0e100
2527025a0f724bb3c9c9772da2d59e0e100Pipeline(model = SeasonalMovingAverageModel(wi...7.709733TrialState.COMPLETEtuning/7025a0f724bb3c9c9772da2d59e0e100
117025a0f724bb3c9c9772da2d59e0e100Pipeline(model = SeasonalMovingAverageModel(wi...7.709733TrialState.COMPLETEpool
210a7799f3fce2b5f064ce25b2193a11364Pipeline(model = SeasonalMovingAverageModel(wi...7.714418TrialState.COMPLETEtuning/7025a0f724bb3c9c9772da2d59e0e100
5a8ae0feeb31c5172559ca1c22ca8c56cPipeline(model = CatBoostPerSegmentModel(itera...7.724464TrialState.COMPLETEpool
158e47171e4d1a4fef153f527323ab3549cPipeline(model = CatBoostPerSegmentModel(itera...7.988004TrialState.COMPLETEtuning/a8ae0feeb31c5172559ca1c22ca8c56c
245383ebc5b794269a1bea596a0b98e7233Pipeline(model = SeasonalMovingAverageModel(wi...8.012636TrialState.COMPLETEtuning/7025a0f724bb3c9c9772da2d59e0e100
178de60fa241469d0de2ecc60196b4a35e1Pipeline(model = CatBoostPerSegmentModel(itera...8.014563TrialState.COMPLETEtuning/a8ae0feeb31c5172559ca1c22ca8c56c
166bd51022557b9fd3c129d9ccfa30b02edPipeline(model = CatBoostPerSegmentModel(itera...8.030651TrialState.COMPLETEtuning/a8ae0feeb31c5172559ca1c22ca8c56c
\n", + "
" + ], + "text/plain": [ + " hash \\\n", + "299 9c3494ea22747c980a29daf93945de23 \n", + "292 571b38e9ed78660ea2f2fa1460cb6aa2 \n", + "252 7025a0f724bb3c9c9772da2d59e0e100 \n", + "11 7025a0f724bb3c9c9772da2d59e0e100 \n", + "210 a7799f3fce2b5f064ce25b2193a11364 \n", + "5 a8ae0feeb31c5172559ca1c22ca8c56c \n", + "158 e47171e4d1a4fef153f527323ab3549c \n", + "245 383ebc5b794269a1bea596a0b98e7233 \n", + "178 de60fa241469d0de2ecc60196b4a35e1 \n", + "166 bd51022557b9fd3c129d9ccfa30b02ed \n", + "\n", + " pipeline SMAPE_mean \\\n", + "299 Pipeline(model = SeasonalMovingAverageModel(wi... 7.366414 \n", + "292 Pipeline(model = SeasonalMovingAverageModel(wi... 7.446960 \n", + "252 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", + "11 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", + "210 Pipeline(model = SeasonalMovingAverageModel(wi... 7.714418 \n", + "5 Pipeline(model = CatBoostPerSegmentModel(itera... 7.724464 \n", + "158 Pipeline(model = CatBoostPerSegmentModel(itera... 7.988004 \n", + "245 Pipeline(model = SeasonalMovingAverageModel(wi... 8.012636 \n", + "178 Pipeline(model = CatBoostPerSegmentModel(itera... 8.014563 \n", + "166 Pipeline(model = CatBoostPerSegmentModel(itera... 8.030651 \n", + "\n", + " state study \n", + "299 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", + "292 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", + "252 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", + "11 TrialState.COMPLETE pool \n", + "210 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", + "5 TrialState.COMPLETE pool \n", + "158 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c \n", + "245 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", + "178 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c \n", + "166 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "auto.summary()[[\"hash\", \"pipeline\", \"SMAPE_mean\", \"state\", \"study\"]].sort_values(\"SMAPE_mean\").drop_duplicates(\n", + " subset=(\"hash\", \"study\")\n", + ").head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "640269ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Pipeline(model = SeasonalMovingAverageModel(window = 4, seasonality = 7, ), transforms = [], horizon = 30, ),\n", + " Pipeline(model = SeasonalMovingAverageModel(window = 5, seasonality = 7, ), transforms = [], horizon = 30, ),\n", + " Pipeline(model = SeasonalMovingAverageModel(window = 3, seasonality = 7, ), transforms = (), horizon = 30, ),\n", + " Pipeline(model = SeasonalMovingAverageModel(window = 6, seasonality = 7, ), transforms = [], horizon = 30, ),\n", + " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = None, learning_rate = None, logging_level = 'Silent', l2_leaf_reg = None, thread_count = None, ), transforms = [LagTransform(in_column = 'target', lags = [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = True, day_number_in_year = False, week_number_in_month = False, week_number_in_year = True, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = None, )], horizon = 30, )]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "auto.top_k(k=5)" + ] + }, + { + "cell_type": "markdown", + "id": "73c05cc9", + "metadata": {}, + "source": [ + "As we can see, tuning improved quality compared to the pool stage." + ] + }, + { + "cell_type": "markdown", + "id": "3322d9c2", + "metadata": {}, + "source": [ + "## 3. Summary" + ] + }, + { + "cell_type": "markdown", + "id": "39b4a081", + "metadata": {}, + "source": [ + "In this notebook we discussed how AutoML works in ETNA library and how to use it. There are two supported scenarios:\n", + "- Tuning your existing pipeline;\n", + "- Automatically find the pipeline for your forecasting task." + ] + } + ], + "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.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 2107f11fa742076935a71656b2f00cdd627001ff Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Tue, 13 Jun 2023 10:23:58 +0300 Subject: [PATCH 3/8] chore: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 638a23839..500e2a813 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add default `params_to_tune` for `TreeFeatureSelectionTransform`, `MRMRFeatureSelectionTransform` and `GaleShapleyFeatureSelectionTransform` ([#1250](https://github.com/tinkoff-ai/etna/pull/1250)) - Add tuning stage into `Auto.fit` ([#1272](https://github.com/tinkoff-ai/etna/pull/1272)) - Add `params_to_tune` into `Tune` init ([#1282](https://github.com/tinkoff-ai/etna/pull/1282)) +- Skip duplicates during `Tune.tune`, skip duplicates in `top_k`, add AutoML notebook ([#1285](https://github.com/tinkoff-ai/etna/pull/1285)) ### Fixed - - Fix `BaseReconciliator` to work on `pandas==1.1.5` ([#1229](https://github.com/tinkoff-ai/etna/pull/1229)) From 64efd085c9c736ec8a409bf1c0eb34618b9f25f8 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Tue, 13 Jun 2023 10:34:57 +0300 Subject: [PATCH 4/8] fix: fix changelog, fix typo in notebook, fix gc_after_trial in notebook --- CHANGELOG.md | 2 +- examples/automl.ipynb | 6 +++--- examples/etna-auto.db | Bin 0 -> 1486848 bytes 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 examples/etna-auto.db diff --git a/CHANGELOG.md b/CHANGELOG.md index 500e2a813..53d0aa3cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add default `params_to_tune` for `TreeFeatureSelectionTransform`, `MRMRFeatureSelectionTransform` and `GaleShapleyFeatureSelectionTransform` ([#1250](https://github.com/tinkoff-ai/etna/pull/1250)) - Add tuning stage into `Auto.fit` ([#1272](https://github.com/tinkoff-ai/etna/pull/1272)) - Add `params_to_tune` into `Tune` init ([#1282](https://github.com/tinkoff-ai/etna/pull/1282)) -- Skip duplicates during `Tune.tune`, skip duplicates in `top_k`, add AutoML notebook ([#1285](https://github.com/tinkoff-ai/etna/pull/1285)) +- Skip duplicates during `Tune.fit`, skip duplicates in `top_k`, add AutoML notebook ([#1285](https://github.com/tinkoff-ai/etna/pull/1285)) ### Fixed - - Fix `BaseReconciliator` to work on `pandas==1.1.5` ([#1229](https://github.com/tinkoff-ai/etna/pull/1229)) diff --git a/examples/automl.ipynb b/examples/automl.ipynb index 538098c9e..946d19920 100644 --- a/examples/automl.ipynb +++ b/examples/automl.ipynb @@ -2200,7 +2200,7 @@ "\n", "Tuning stage takes `tune_size` best pipelines according to the resuls of the pool stage. And then runs `Tune` with default `params_to_tune` for them sequentially from best to the worst. \n", "\n", - "Limit parameters `n_trials` and `timeout` are shared between pool and tuning stages. First, we run pool stage with given `n_trials` and `timeout`. After thatn, the remaining values are divided equally among `tune_size` tuning steps." + "Limit parameters `n_trials` and `timeout` are shared between pool and tuning stages. First, we run pool stage with given `n_trials` and `timeout`. After that, the remaining values are divided equally among `tune_size` tuning steps." ] }, { @@ -3106,7 +3106,7 @@ "id": "ff62ced9", "metadata": {}, "source": [ - "We can continue our training. The pool stage is over and there will be only the tuning stage. If we don't want to wait forever we should limit the tuning by fixing `n_trials` or `timeout`." + "We can continue our training. The pool stage is over and there will be only the tuning stage. If we don't want to wait forever we should limit the tuning by fixing `n_trials` or `timeout`. We also set `gc_after_trial=True` to prevent `fit` from increasing memory consumption." ] }, { @@ -11921,7 +11921,7 @@ } ], "source": [ - "auto.fit(ts=ts, tune_size=3, n_trials=300)" + "auto.fit(ts=ts, tune_size=3, n_trials=300, gc_after_trial=True)" ] }, { diff --git a/examples/etna-auto.db b/examples/etna-auto.db new file mode 100644 index 0000000000000000000000000000000000000000..5f7eacd46d0ad1c69e1e7c1e1adcc0ec743d346e GIT binary patch literal 1486848 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 X&M^q-JUSBI)BPQlrBK+3)p zwCV;yTwP$gFb-gmoxqMq67we$J39>nAgL+D#|Hw86SlvEF>51;8it5yD4^A@UdG$p z!$DTH%EJZ&ts`Y5(w%x-@9Iu;q^vBqDB@aoM+c@O9jT6N{qaX^U@OdnJfCMYDE32Q zIQTyg2Sq5$7LmoZ+6dl-Rb&)hUv=gJv?O5kwcAAXQ z#1ivptZJ}FXg2qaK#TPR7E9P2GO%7sU~X<&&AlVg(kcjRH3QwDL7S)Pq|v+{w3_DR zf!3OFEKjgbG-&(GvQl-2fwrbdi+%*lFLcwGQ5x|iHX*@g-Ju|b%_KG@4XlR}AkmD*bs%a3k$pcJoj%r&G3?aQ>Ir*$R=RO* zMM^9jjTCxW8mfR|B59h9-4!VT3Kn89Y!YIvhb4|_=#5!Wwj!hU)Ug1>dK04#0%(|P zV{3Uv7bvH3K55j!b|gj&j5wx|zkrhSRH)k#cK6D$QS zOps7ysL6?@eL$*J-~p7VzZg)H7~YH&%CL5Ckk%AQ0SitzQYln39XlLoSSh1^FHj)U zJVR7Vu)l2?*zLtc3$+uQ^~r`cph2T4(omyG$Kpr>doutB?Nm!oUrk(9xhu|1jOlw; z_GOcibjvF8H5_4eOjWR1WcxE)_5g94=^!Rr>M~0HG^=hUh^q@RBmZcW*p9HUZr|OngR)*d;lEVUux!Z&@>Fu6qcdoRCAYss%n*+O+C;Mv*;Gnn0R!d$HT5c zXLl;okx6zYkflVj{`gJ1v#G~^?$0yz5DQWJ-ga@+{@*V|iy=ptc@%&y^A!`1!eL1L zG5^;M?v~xqN^tB~Vd9a%W}t;5M|3-ArPvZRTb7PMjG2dqqhTEQVU)lwD-H>hExV3D zjDZF7i9`YomWC@6(}qOz5)f+@*f4Q6iZK*Z5A63P={V4=-37EbCgd!m8^O{N>0v7z z{Riy_8g+|7QCFm(UIfz<+TX?m1w%XS%Ff&wBseAHk?`RbMC>S(_6xBqi&3a?5vb@u z**^NyR(Fa9ZydmB=;E<|*t8Q-B0f7Mjdy9Re6h9yl138yl}TFv*Gsoc>UnCta*bj| z?~Cphc{b7+{y2PMct+^zkQTf-u{-v+QiI&?8XGKj@faHq{~3<-yNRm90FsX|jX0pChx>D{a$M z*VQ0ZgCJ(dqA}Z<>NZVj{S2fu4=K5Ag*m+H+NP=XRwK3fj?_w4e%my;{^>|=p(8ol z0(6@uxOo~9T!Krn_k>(p~OIx58+-O_SX`g|dq_X|FtG$&Ny!oQ!m-2ePL- z+C9)D0@;yUd#a<5*@>Scv)jH0szRy;Wp>nipb1EcdLY-or3V_1)aD~!_S8nL2O5Xu z7CMp}#U5xZ5~L<+&)?|xKx2?DH4b~aWnIBGpA~FYDZ7r!QCBX!k&eh5S-*9t!i{(E+UwA~EWKY>ACl|I-&h zYSjPOQX9SQXOkc4QTJm@Z`6CAK_8N(`HwBxvR+`@H%BjJb}OlF`{p>{L9*2M*fMMH z1h#oz2i=75XD2!eS#?oX%MrF`b(?oQYh@%#Q=if9cli4Ma!EZ=9jjcRG)C`??jHGN zRfgcCj{crg<`u^tI;){CE_0II%>RIA`)xFmBN7qpK(|YoscedAog@ey9e34kg~hAWVe00 z8r%`-QWs*+uDxMx^FCzL0s?s}sg6Qscc9EVK(=RgoA)B?<|9>_zW7JG8(F_SQlbTv z&(=ssYYS%{Qll*#dupRKf$854$$J-Jcrfzn8jnxs9!(eHs$NS7LiJ>607fh@}I z){-5CMwvvq)F|!QwKvLb-vgNyLAIwl3Ykq%W*s2glil_`kbzXG2l9=252Pa{>Vdrf zmL5n$YSaVSQyaA&D30W)2eKzOiak&p5~L<+PjK{mpcvAn9>|{VsP{mv6|-BG>?kzK zxk#6KAbWQ0jdI)fKrICFR#F{>%r;YI9c63J?6&WLnvg23q`afv12rNg>VfQMlA|>T znuFA+2ePL&YCX_wBu71vJ-Jcrfo35=ngiJr9Q__>Ceo$GVNbWLE7<03a&tq)?3N|F z?HeVn|96nCkknVzyVWz*teRF8JX=SZuB(dMlnp+zF5kb5G1 z1`xZA<6?1+6iXPbPGU%C(LETtBm;pf2x%vpa-?IT5-kKxp&cRxjS3KhhK>j$-JBzB z6Po6X7s6q-_;bc0|kRv4%vxaF3(%~s61%ViqNkXwkvN1>MCE7q`7rde?%SjVzHE{I@ zw>Rn5Yh#Y|OE^gZ4Fs@b;7o^5FYX#!W>bz7O|&7u_E<>-mo6m7alaP#a17jMNzKWT z!iiP~2e@9V#~`B)xpN>00rm8Z94Vcc#wiIF+~1Djt`($|(@9)UO4Q~^(L^;*mVp8h zZCu$+;8rXolp)%isLPSI2|^B>aj`WG*UE840FvF1M1y!fY5`L*foSX!-MC9Y$}LFZ zH4cp*(1sERexzZ7K(W)Zy9Chsq2ppTgs6cw@FPtVPEsZ)jvKHR)UYtAe2SG6PP95W zAZb2uNus{Eq5xL)bPcA7Br47r;B^J}yh++m!##i`RKL{ZW`m-dvq-3*CPSM?5_&^Y z(4_+HA@w<2)0gXb90ggvG-LvCuL^vV<`;ENEMQX^4L)H<+kxoMj5Y;Q0)|+#{DCf5d$B{jN|S(${a&5?xDv~BXDP*YD7^WoW#LVvPhX^ z@-bv5^oAU+>{DAR(okE%jSXD0z^w=r2qepsW^)eL^{JItk{Tzu%F@5)9B%AaA|@g7 zQbMv<=WuIZ)+RY(=J%S-mK-kYLyX+v&+f3{4npZ)sy2tK`_xQ^XD29T+-#?t%(!HT zOxNdddmnP-oP;V3T~xM-ktdTgbGW|`LGmI|L6E%c;&fte4!8F)QSq{gir$eix^ch0 z6J_7k*%8miJLBmtE7^%zOLx2rYElMrRcxZNm-q8bR0>0+n5TT6c}j6EVxPr~`b4Er zMq-{)(2G(@Q%Z9VDk;zfdMeFRFt*dkkBcto`BRBxa}IhbDiUMdfes7YAtHrd&`X7m ztR)8}73hkcF=IG3V>CEwNnG7Ur--h(DF=-ebXC~F2ld;~odjJc35cshFAAn1&|QIR zYz0~xeG;Vp3!^qJx>;$u7FVBx&I-A%NK=@qKx7>kq@hs)Qyz2#Gjq^Z0dev|M1>&; z65_b(OqYd|CWhUV*_eZ-3XGthvS~%y#2|$s2udoF7$b0*EYX;Qs)`DvG|EGK9$AJU zJL$_vr4P{DNZcwtiN&5dUaqE)$f%+@;arIX9 zTj~kwQR;g2Ky|U&rcPF6=k71-b&O0#;x~z~g`0|FZuv{~i8I{3rPP{CoL# z@z3+m^-qUJg7^750G_^E;0XZ=JY8AfiMfEM?|`Rjc}VrahLA_Dl9}d&!?{m! zx;uz8G})mYB5i)DvWI0J0dCuzAvaNAG_z}ejhZfk~IaR03Eo2ixrhDT5F z$OinKswR&e!N)ScQb@i$jQQmeg6QTk<2>@LVltewBgde$hn+HgN5P@SH9V+GXHErg zMTZidrYPWZM({!re;rI{6+)TPStA5OF`qpi{1pQg3i@joxM4r`RM` zA`MM;+(J&9t1Ek0=ANucI6|0vR1TnGWRPa?`RVHj1WXO_hn7Ob{~8VYZ60FnZCU^Ys;A)Llo~}JU0H@)*|{x@UhH3 z&YB~PxqgHoy4lNF<3W0v*4`e@TG1)fcW4w{vCI@KfUz!KERLqIuA;kTuAPXnfrl>1 zhMBEMuAAM3)Q6fu2d_tbf|}{;EHHx#2xbl{#A2_}X){yN-7*g;Fk`1T53WeAo9zW= zSZ$~Je?Wm5=8)+-ko_FewmO^Dex|H-4)-b6{$^G(4vn&DGgjHdGFur-ju2)`1DNlXUq68#p0;_iz>QX=1#1_m0vnGcdSURn+pr657qwpydD*6{|*IaQ2)S8st}94 zHmA+)E4o|eyaF?JdNW;-TsOBXFvBW46l2f}UWNOdD{nD4gYD z&G%071U3H4R*u1n?v@#t=n1wt=uKZma^3Wg@dO(U*KXqkHKD9)8?c~&Xzfmb77}8CsZQV%_`0X ztH)Ha$8s*%?@Zq~TK}K#o-L_wsxPV!t2aRpz%kGQxI|5=Gu1K5$I2_peae-}Im&U$ z24!z$zS5usqn||IjlLRvB6@f9a!3Xo9^E&(G@6dii7JslMP7|O7`ZiaMdXagU}XQu zg2>Fs_=p^SH~dWa4y^j~;lsm+gqMen@YJvr`fcd>&|{&yLf;FWA38R)HnbvShGvH* zhCIP{g3ku;3SJgGJNVV$`rxXd6`UTF1Ah#>7I-Xhec)WYH_#qf5ttun4vc}`!B_nc z_;2=K

I+R;TUD*F(U*5e`8q%EF@K6Fv@@)as!77=a5%ZD(;y)M($vTuWDVH>>Fvg%mwVahWq z1^{0*1s;Z*$TVKXisP_6y}%QyCt)_R5R<*aqlrwd=mDOl6nL_SFy%=V1AwQ=1)f-g zU`=E~fhXnyoG@sk8T*S(M0%Yy5kEB%=@;Cu*hHjXv*PkQn~3ygWgqO0{Fbri2xCgW zsT>6RBX6)K!h`Vgm43&$PFC6#X00v62&e3lgG#%O6nR4+&zL9irmFHbc8ZxX@o#1cA0a? z1NE{dBK@6nSabu2|6tY8UuYuIUwBD5nuzqbiXK4kQ&t^W1SR<~rB5mb0CImV@G#Uw zq(AX0R%{~Dp9?&pdJ<;u7hSD9s2Bh|eOTa$H3(`V(t8D- zmNv;-4y{G-Y~VEKN=nj?%U{jhQnFnu3u zBBipX(mkxc6`jELy#XvZ%wyyZcKBW!!3!L|$~km|GNo5W2m}s)&N<|PdU+Fhk#ksd1BWlM z>gX#rk!N{HIh)7}6+OV)^Q=0u2uku}N01owAvbV%3FnYkNh!`nHB#pb{Y{$|c$(G48l!m1-Xr6m5Y<0a*6A~%uz|69#MP`RT4gV~B zefX5{!C@`z2|e$B-G77sB!8EGNB=nAuY9-qPJs0P_P#0JcfI#{&-P}$3%xa-zk8nb zT;=()XO(BJC*=N}`(F3i?zQgi-4n5vegf|U47i9D@%JBqKy#ktP>eReqjo~yB(z{c zJ+ZDq&K5$STB0RSk|>7eB!&c)f#-)H#FWCN3KH^#%J4i%rBsR<@-P~rrso17%uH`F zf|y=~&?-bt;=54Gji;ob-5LT-kRGke(fbfJMPk%^(BO?a2m<4AEJ*G^RI)xt&qCA{ zX_yFAieAQp;%5z{y+fFW(>5ch^S7|_O#1SF{F zRfuYy8wLxc(_&Dv4z=M1sZ&kW=jbU2f^KLWMBMc3B|Wl;$RKS60VehW1fsEzWH@Po z2pXQW09z2vw(vSpV~*Z`pq$!C0SW}oO?oE`4_864b=qpm(K`@rNZL+{8UsD45VAt` zf^JySfS#O_qvs%69nsR$mypW>3y=nbl$);AxhEh+Kn@s?Xdj#TEODHVwbAt=D5S2^i*Gbq5vm57$yTH?%bEJ^A85(uo@ zgryVBIZ~OAPN96!%bu-50hj)@=16P4W;uwtxHqXNFZoMAG`|b0P=b_b>0e@IjxNKZceX1H;cs+MR;nY}1x?}uxppr9J+ztdS#Meu zMVf^GctHTX2#8(A`}5pXD~M^AT}3N~EXG^rT_!v}!d0~qB)|*K_KRu-$Ny*d)LL@% zHiV)1D$HJzI^Jf)00fa=dN>0QEi~uofe53`NzDYnF$m$h7-Wp`8WR!IV-b~zX}Cwb z#^aD6!>kC8fHddm;Rvk)A0*F962chr@dgOqkVruQoL-QqDH78l4I0P~<9!J{b4@*l zUZ10vBkGDYY(&C1PIuYxpfjX@A%g$`aC$Lf)-VzEC3NjAi92odiU}@wfwnP6uSK*W z+xFQ5dTqRy97|wu!$mKMc+*6KUW;&&!WWm$VwfY~)h#@y1YPTMa`bFOTWfi&KnIt% zFy)|Etr8@CKPN|zN3=T9rvU+@2%Zwf_-c_Pb4`w3keG%Hfm7fDL3XGy2P(J;hI=*` zvukqnibOS!i=hGucZfqnz#kX%Qs|EBa`ci!U6F!8g4d>F7^mWxL|}Y0F?V4PNPxyZ z%YgVd<}M`SPSY+On>UvF%9+ez2**f|L8>lCI`;_{Ho;-A;F(EWbVf!{o$w@2q9w;w?N{2Q!juUV zn35*2EI_TN8xmaCzLT20yN1hexXysbP3SF@G_JNSLHcN^mFF+GpNRsdNjI(u(lt?1 zx39H1sWE}U+n9La9g`?rCd7=tHb;v0Yl^g}Hh3Y9o|#1B#H5$ru&K-K%rjq{o3IHC ziVgP@aODlRDw3GLECS7}Vl;dykit_xSk2%{AKsY3gWs66?L>?f?x@?=0vNS(TI`$&@3v6Ytbn7j-1t4#8lGFT!&ACeEFB;eXcdw+Lr8Ypu ze-R}5_l~?4SsQ*2`v26>Wg#nge{i?J&jJVf-|+WB|KDl88t<*%1)fJed%9nCce>tz z{=cw%v1~~9{@a(WgWXV?KpI8DHl08A!J3BHZK`p6T^6a5PNVRsYZU21N~9DvWXs?1 zV7^WB)!T{GNGq&8wUYV7HchU-1Idv_5qomBdu`h^!Oa;YNIH$|309h9ZPRo&9fEX8 zqli7-3RAyrn(XFw%I?;ZWx3y`=?)%@bg5C=vukgZRH?RUs+$g~2(mrZQON9plvxMJ z_GGtx4|D)hC7nj0QSX8FM@ppADEM#bf%Zdc)C1X58?_#2UnEC8kUhCk?1A<{g487K z366dbv^UbF9>|{VsP{m7Rm^T#vZK%_*C1W$f$Z6}H_C0_1FfzIvOU#N$n2h+xX$}+|^&V&sq(nVX;NQ{%twd_1Rn4B-sP#ZAkR0i@wkJ1=JbeyCGfbf$Z6}_XXQLx0{v{$d1ZuPjwVByX)u3 z?6&WLmLOH?fdZr61MPy8s0XquDj%&?*kYtcb0B+aqtyd({eNdk(NN@-$SsiCKP)mo z5)Ho|z7c2p-Qh*yNujqx_uw6XLqkhKvx0vOJ{kOW@W|krpcYgEZ{Ys@>4DC`_JPU% zkNl7Nzv*A^-@&ukGtvDI_e<{E+$XyCbGJZJ{tefUT$kWl0i-bl5^E@(7> z!Xg6-8sdq@Jlh6o3zlur;T#fMR2aRB=myNfi?EoEI_X} z=Sd}-Q6XwNg`~YzQnQ5@FQLxNY|4{LHmw3NR8GAR*Okb*%+X2_8J(OnY}Y;RVWZBhip2y==3JvG6@SJZ6oJVLE@u#x)Kq zt?E3fWYZ=E%TE>A8KjwP$&(&7&2ad0B~ztZp>Se7H&2?_G}A%Nj~#9Mf!Gmm$&)&^ zHYYhdb%c(P(m%5{&vmo$$bkxW_E3IFJONI7yAX)b>hq+Vt){>&p+bj_C0l=Ft;&;f zwuUMm566WL9p~mr5nI)&Ak#9{X~w%y>ZwlbEE~yA*gLvmN$c5cS68Cb!h6N}CjMaY z&=omx%9vR@5L=d6yJq9i^SE>Iwy1qDrcn`!BMXOgc0V>ymuQu=`_gzY9J11crX*;Y zcOh)?46@SXuOzT-GFswZG9nE#GCU}jP=0asVYcK+wVr*-Irlj)i~X&s!#VAsT!>26bu$<6NNHUlpW?M&`X8) z+w-Jgu&zkL<|jCb#0eti5da0mNux2(v(>TtS*VIN{o$cvRUG3g)`g9M=-g@az4#AEWL8O?dFi>=bFDo9E}=m}y>IGMw#a6HwL=epRO#B7d2 zwFE+G&^rmOrtx%ho^-JpZBA;MqhQ*Ih6G+Q(n1!nDNoAS(3~7|CD3Acr4!=>(<`PM zwRuv?R#T)!t-%Bn2fCz@(?SP;#$TT&m2Akn?VwT9aI}x}O-x#mtkIAsg>18m@$lwE zvs!4hMeT$T0#HJxNf(=DIPSO6EJZJyC>SkyQpZ+-nn_C8XBA1aHBSoJG|Le;pR)i> z+aKgUNh@2M>7ZvvjhM!j{w3=2OhsFPb3SQ-hEvoZXyL=;6VrRWKJQ12H3b?zYk}@N z``^qwX=!U1BBH8cLMbPr-EVJ z#=jwOYT(eou7Mf;5Bv}NFZ6HrukjoHpzk%`P0+H(_5c3?Hvqow?RNFK7GVAVq5PD5 zxjZ1Rk>|*=^s021bo%i6zbQ`w+*(`M+3iC8AqHVu;9#)^2`jBOPlDVvMOySHSi_>r z#ljwPAP`-G%Evs3an}_|s5^m#7Iq0Bu#Cl_L6R^Hc@pBDHB3Xj3Fa`Q6B=DOt@&l}o-6veU+ba6l|A0QW z*!flNWQ)Ed^s+_o@@}^1ZtrIcov*E%E%wtJvYkDd_3c>c4z&05wG%g3Mjmj`+}ir` zHDqyh%sl%y4Yqgouiw<$2XZX22ea+n>j7&$0=5rkHm=PMwv$hGurCuUIYt`n>CFxd zW_mZohQq{mM(|xIbjiw{I9S)evFE6MO2LR%inmyyE9xW8)0G6HEmUEhXhPdR_Np*N zhD0iKpeLI1bSt3}G3KWRcCB!y1ic&P<;f%_cyvL*(3~-2@qh_4#0s&j(;?aqv3x9= z=(2)Vfe%u-Yq6UixLg9g#EC?0o-Qra6lu|wKqwSbUfKzwT~^FR>+*C}p{__mT?v%X z;(`FW6CE8jbp$i>bU|TOk-@?uk=CzCn)DjzJTW=9=H%&WLR)L7Y&nPRTCA9G>xDK% zAt{?qHs$GJLK`BqFZ=)w1SpxzCsqhLTgW!%>4riZ7_`#@8?0YwmW~x0md1GXU{0Ry zDYQCBvB<%=g7piQZnVrYtr>Z`t1yjI5-fO&1{!~{;!I;vj{7AwdAgoZ%?TJNC|oF1 z#(pO5Dd7)mA-a=L$Me7;fz%%)JZZO<9vYyX*v34&h=6G93p7BIiqWkdC|t&Z1?Xu_ zdAfx_nAk~y3GO!GvI=g}KqeJC2818oMsU)yU4;Z`55~3vR+C9wBAAn>O9=#uJzlzd z6^~;Lh>C&>Nf7_7$~vF3(Tr%lh6N%CYojGOh(Sv)T99-t z(5Bt_+B^wuqa|@#po8eJ0>|1JEe)*+H`nqcvW={B536K6Stb6O-6BI5jZAJs(`XqUsNcbDTrqM5jJaGTSu;n!-$_ zYzrG53<+&F3=tJ(DuAQ(PoJA7f$geQAvRMnx{`WF2T844dMCCCNFjQ6M|V=|Om<)j znZd=G{0e??CRFU$KWnB^7{SE7nZlS|9Q*B?*2O`)vTtEqx&UR_RHQs;nRg*jwr7Etzswn;<*xZ_=J0I%AADSY0*c>Ha|_ zS`0h5cdOxE25n7ZD8sH5-9#{O##tUOo2Fo}hS)ydlEEua7=D`bbSXirKux_ihCf`u zgpfbZT$6FLE>E`;YKp|@NwBGlGcYVW&>doY$7x}Gp6(>ji7`vQFj1jf3s~gguneQR zrq9gNRfJi?L~H=UE`~Jl1Udq?&nYl0gA5Y(bPE-IHa6=T^K=El zNlGsmVYdzsBw^bNmm9H7-IS-R2yIB*9xLF%VQ>s9QJf24xWtg4&&ku3gjNR!Y^s85 zLNtQo4kle+&C|66I$B1oG%5pSnr(stF92YcWRU*9^V~Bf&+DECJ>T`5@A;Z%qh}w_ zd{4c{@BWkf4fiwdJKUE*)BR!4e7DlQK>Z_j3La9gRnJk6X0HV7rfTXGRZ`wmUQ`}d zZc@%uj!`<4B}x+71I9!@#v1|mMX$sQ0mnr*ME8!)k2XYukxwG;LQmimk-H<8M^26$ z9@#gtG?I?Y!TSJz3cnhDFnnwHitriX!SMd!1>u?D@nJdiZs?iN9oU7)hYk-N5?UTI zLQ_Lh@VCL|gO5Q^;P-;(2agS|#oGX8aCUHF&=Ytk@ND3&z-586178iSXKw>c56J#M z`d`D_0N4A^^&jPL_pk8J_c!~;`2OsB)%Sq!X1ok=9<&y0@*U{g+1KJ5=W}~M^#0QO zsP_i%dET#h`@IKwmwIE~37${fGu`9evg=*fGp;*a7rXMV!=dkgxyx`(bxHDX<>%$c z+<*%4^l<3cDNfzyEr~@V<(${a+AZ$~dBqo(n3Xe#x|`3>|vQO-#cIJ2jV^ zxgVQ`q3Ox3OxuS;900M9a$?Qp@PVGGIMdtV@G<3B5xl_RGR~nRlqv7V0yzs6fquaPIlWAot2=V~AX~4qY!$qEx&FIXShj}T zkgcCHwJgy>Z!AC0ikJPgjkNO16+OV)OH4~pc?eVHs*cLt!57z_#5@XI{fyPif(v+h zuD}!4Tm5(H1r6nL_SFlDals5}68db)ti&?--UqQDb#0Z%_= zzazz&w|qWpR}q@J%NKCJp>}lwtSl%|UE4F#T1 zJqfe_VedTvCRgJ@6ODfZEe@< zs;^#Gc=b}<>(wL=cwiD~mO9lb@@@~4{DvD4H@dXG08H=l_`(x{*T{ExnD_}Wy_5fL zsL=ykd5W+eJ}@oH8dKy7{#=T^0f_0M6x&crz{ab&lS+vjxKjTLKwrgE#5XH2>TNvU z{6~Pj-FwiOBG>aMQw=@K)dHdNmKzYayu_6fAiP~56h%{Firg#^`pr&*1UqKLYHP-h;*zxqwHRs%Zqc zi`x_d-9;V}HoDIna^rU(cx z7YLQN+`y(bF9G3Zfl$0OC8o#*fzW>jgi|~mS?y2wE)!o$ogy#N7697|c{sM(4cx#w z?F+!Q-owCq2J>xF46()(S?giK@FYx^dNs)d9voYvEdZto50m_c8yMHV08FbrOgteN z(`3(YHp2;OBpG_}k$v zi2tvIQaBGUvEE@7a0}jf#xIO*f#(9%K%(RJzvql4y}NBk1VIoK$&zfc*4d*PrQaS6 zBHq3ujCLtNbEoaHc5#n3JiQ}?hACi3Zdg{Il74cJHoI*{P|Ihz+4<4eAvAd$iqc*P~rpiR5e1+ufFC=V4}Ei*{)plDjJ}2z!1V zx<<=nxz%~-?A5!`**(7sU4>R@5lYPaB6KBMqBW@VAF>8rf!1gVl3Sa%C1^XEqZLSQ zZXQ>lZD^2IAi2T$UxB94F0DXvyDdw>9-oujw`#lF((F7;$}MP@Rv@{%@>;ORd%Nv& zEtBO|=b^KkccZg=eg)cuR%r$5oc9%IBU+*rNKVi-UsBK%TB8+6Zf)LHpbcn_Rv@{# zd0c^Bga&B^k{g`=73hU%msTLT-Ik?bkI%{N>$Tl&X?7kac`exEz1?=1 zmdSFfd%m+||G(6DtRwZ4)EiQtN?n9-UmDT$DHg7W~=7?{VYb zWMZWAsYJN*;rI_bkLm2~yao9J%=qKb72Fj+KQdJm4mi;Ii}f__=DW?>Xq{mVz%${y@Je`%d4qYrnKL_$UmA}YcNy0i z=Nd($C-6r^7~C6pd0O?1x^ph`Q~)1;&_i0 zIHZMcZZBHXZv{?iDV3)mP5MiANkt3PMF&}d6+5kq@m&lJs1wj-al3G_6*w#)C$MVT z$S&ae<>Howk*LpQ#_W`gah$Wn3LMqanzWCduc=7K;q#coa)WamegX4NE>$^v_AaTY zr)O$7AlJqCNEPn{bXlraGKb{^Jxv@wo$Hs2H5@*b8M9L|#&HUBSf-OWe43^r9fwyi zhvkaqID7{4PA-+XLR~z0msHf#6Ez%=>tcK-F^6?ocursrx6Na79M>-wYdCx~GiIk` zjN>TguuLa$_*hLvIu0Mh9F{AZT-r3k58>A3Vh#UG%(k79G0GzIU#64zf3T(^9skSBJGmm6E7XaC2E9zh zb-TN)jJlj>4u>=xc9_G#HXP0|hvm{H4%^HUxmaS!7_&qs(6J=Tot5b{pK4T7T?-l4 zKEh0qtCM+0omj4ERHov}hId&RK^S5V2Q?fXWDZ+xI6S}{mP?yByo@<47fT#Ih*=^N z=s4WZot5cYSVzq+)l}C)##DhwXlwwJy26!3mMmb05e6dPUaoew!fxPnTji0 zxXa22!hXzQQ^Vmd=CIL*!}~Ia<O};U?J$ZU^EV*CeSBcLj-j=8&E>0Yp z*cZP0Pasp^D>^UhJgT!d{%rgk@dx5BiLZ~J7C$KVpRsSmJ{-F#wlQ{GtS93Lh8l565t4;73BY!TbKy&`>B4 z{ATdO!8ZoC2Tudtto4TmBYP(-#0&MzQLR}&ol?&h5t0p{%8l**5A5CXT*ps4-_dznCl3AJ`Coj(eIEMGIKb{g`)Zbrjz`lt zM;i;Ig`;V0=y(K+;fj{>mI+Jb9S;vc#jtZao{b$J&fqBBLMSaa9Us+HrCV@1K7xJY zkd~_E4k8^N!^(R~OR>B@F!B%Wl8pM>@c|7Zj#)YJEap?-ow0>31wbCsHsZJ>-RFR<*J%^{SY%zE|$5&yuN>zWX$V#X&52bCi?eo z=Jh^0Uf;*O-n%WY-^oqLoynX}oTCS>z*KcMf%EdBwnAfk}B^mSjP7NdE+C=|e!{d4{9k1_TUZ>jf`gU$Y zF4yt;7G}^+=>(RWnb$I*%&)dHqTaBjnmd z|6awsPU(343g)%!aYzun$moujaT9X6j@NZ&&`#+DmKyU~CX{*oQcYD_UcZESEmzgV z>z6YV{Zpw>m5L{A|RJ*czr#PoW651 zhH@QqTCPs!^oun$={S7@Gg_{xiP1OmxlS&YSwp?Nc9&Gt*Q+%=kn3WA6tm(4bly`} z0qbD_*>R+a$yadwatcMDF^6>*$W1bbWm{$whbOpxxmd&D zOPMh{B@=uS`Tu4+QeR8mjnn_x$p5!D^8Y=Yd}VSXc{ptUe@T2f@%F@(i4}>15&=Z* zKhQagc>SShE^0=;9r2A{%x zfj0#=23G`otv^~{u-;@{X`N+dEyMhG^Ir4Xj@ioe%wZxcT*8m|+*z&_Kgq}Q$yVsY zBOjTU)yZ&fzBAr89J6ME@KSg(u+- z4bE0aH$b3Wv^g;2f-IYD4d(@ekQ)oh-jD)@uDnGO?7idExR%C5$|LNVtWRZpaWfFhiF|j41UY0S(f=A&(qx14fFLJhBNd zo}n8gx&>PBCWrKBqd;sg;aH58g9lw0#u}R8JOYAB2bMS3I?tq`4}2PM=7;g5t-p;=%xtjsZ5G7Q^5To z0EUEbbYV5_8X26SDucaIHCPXDGvd{~Qf5NX=n8L&^0q(bZH5xb2%V!#DjF%}{!MyGtSVa@fvLMt$2= zireI{ouRb)S(RL$!*)ib*cX+9DVQRyIc#Sr#eUimBs69;x0@`Tp%nXl4I<(S$mEWe z%gbjdy?)n9PA}2B8#!!e_7~DhBR|FS(#rEWZ2jDF|7Ua94$shi5ss}UF3?LWbY+Ay zqEhRmm993lI%$P&kw7AD5$xR*Yp#`6=r)P8PmGmBC#}#W5*eSSowP!CNA%ATwUbup z)`)DjHG_gyTA@oLvZ!%)q!qe7LZ#J9D|Cs(h*GasTA`aHx&>O=msM$nE|2ID1Z|`h zx-f#6w^M0_Z;3!PvZ$byR_KZd>ZwesmsaSi2$fbZtfTf(wK|oD_5Vl74<~O;Zc3h-T$1=*;<3b?iRr|d2|E$${8s1voim-6bROE- z9se~l_1zhtiXR`(#GZ?NIrjG0m9dj?{_jJUfUk!h3ROer;rt&D{xJ9n*z&goj|=W^ z{mgpIdb>4aoo_9-I?R7FA245OPMJrW`x!qo9yRX79f7ACz3|}w0wDd<|AuF2)H-%j zS?jbb?ko*lXGEpethlo@hIO=>6?c|Kv#mj)TXAP;Sf_nr{fawFgE`~Vv{`XyX%P3% z5w%-!>B5L?HrcX_YFAvkFCvQ?cW1?=iz8H8{fbK$NQ@};YFAvkMWS1v)vvg8b3~6I zXtUzdOZP=kPi0d5ic1$qsI>YOcN=JlD{{Ts6_@UiAg+K^ zzv6BM0dWNcZB|^$ub=TL+N`*oR^LwU=8DUC^|LCqcEzQ%`i_QJv*HfUP+omoL##U= zQiA=oPYdQ~&WDs=A6?(+`H+(9_s`J~gEZ$uO018GzI*3G%B*j9Da8Kykh1C9u2S6Y zd`KzvvnqL;^Wj=h_jo|T6y5o75+rFyv`=G3dp=wPqP_+ZaYcJRoB&zZ%H;0eaWb=7 zoDY-FYqPhGPK{5m8>QLYNZvr zGa`!`cSl;G%Og};y|hA?NQ@};YNZvrNupbzrF~gFAD#n(9zoDXTA?c=h&q(xptbdLma1*F6k^?Z052#6~nXd|sq zlKqTN(MDR~DL$ub)+^wbBY@*LO6;T4{x{>)RS)owPz(_R~Hsn4^(aD91j! zzEf%Cc+m9E(X^3Pjw4`TkmjBfRhxY*5qBxXzO-@-6}w7tJ86Zo>StB*Hqy#bpziU2 zf+;#_NLR4vt¥BqJf1ka^V^-1 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%0AIHZm;p)#ro3 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�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
}~5MI)d~z9cV6Q%gYe$sSc8D(4&MAL4dOB9inP zJj4^i#?eN=?{SWI>wHr)!!Pn9v16C`twXnFsd!zzAh^L;0eb6MT;40}l%(JFmV=sP z^yP{T5}CS&MX5?ab*-YMB)we8k#r`0{hwxG=^sm=`H3D?Ao^&JDo}cahlt*wo%%T6 zTh)+^KE{Go13+ot@1e^k3r_bbPVNdj^?t=ky}0)&PWZ{3B=ddO zH$>_^@=i=6;@%!r;PvhvRbcimd6Qa$cIqB^lTt$xd#Aj~t|21lEVxwo)Z0~qn!=vC z+gt;FcbRKI?`KDTe<_SA6PZ8MFv9)5Ud5{%6iN+SPYsq2v=;CwDiU9YlJl15*z!5z+F zsdu75c$Peq<=H8N)X(C6p@OMMqML<=h`eiJgiJ5#Q3Zw<3q$QHJ0)rKO_5}&i-e)` zcA4QuVd#{B;U*qbN>cd!PwoM0$yP&rUs4iw&(>fo(d>-tdJJ&=8_)0F3Ogkc<=%2g z@~_N^D>lfQ{-WaK%>94n-yNHA>XSSvu+cg7nACM9h0n04G&?*Pf5BV>%Aeu{Kfb{2hQji+O`cwSi-mgYGCC6=e%h86M;K3EDiJSRhR0&?jo78YrFXJXP>a>?3 zM}2r>lksG4P@LRX*eN+~!+QZZysukQyb)lV#v-nW0Zn1)UjsX^#m3J!Kgt znY-N+&Hrn^$p3$8-(!90LfVfn`iD}tr&g!Rsf6{6^^kRkb)oeN`2T;K{6w;rydrse zvXo5WguaIow_$JoB4q!6DgLGSZ2W3`8 z=D={Cunoto^5s$C@^MGlg+bDj)IKB(ArDx zHE&AoHaQB0Iv|pf$>!N6FG2s}^S9OJ*&Y*{=lPDxXH1K_qu4y#K#R|&9hBT zjp0$nO=dl>&9hCujC_8bM?W&zJlo{S$m0RF!RFZ}mxhit+C1Cj+Q@0`nrxnJ@^1_X z6hhH$o^#ve)EE>53q=nAX_F@->p*D07`6zt*?|F&ds&2B^esYd@?Ve)-B|P%ZHrKw z+!*;GFBEd=3IJ)78zZNITmc|$@?i|fJ*j(W0U+%;01Tpks6`pMun;IXUZmVf1%xim zYm*;<#J~U&Ls8!%)MoR4VV&V41)gK?7NIsf0CGCo5CGC97eFbmV@&}dZE^t=3}8b5 zNSmAi83#+fL<<0ElQRHg$5~hmTZG!=3mA4%}zz~or0HmD+CZo8jwZ|I((oO&~q}mY? z(F*1MEA7{g1J=KI-L?jRv}3aLtlR3+v!iSgYDe+(rNY{6TzVpe&gp2=(i0}^h>q2l zo)C})0|(>M69hQpP@uWR>uzfYfXF%s^U~u7WO!6@>#_9sfXU~*pXSD;r;ng`fNfZM zTGtz~#-*oq9k4mAUDMLjx)#s@fzqU+x!dNpt^s0D5IvTj*42Py9Y~L*r*#!T^sw&b z#JKddt|TmE=*F6sp4Jrv9r8lmOHb=^fN~nhwe++u17<+(N!>$RdRmtPFo^!qYw2lS z0sx6&YfDe-Vt_Dkwr%NYT}0@djy5bktqTd8*RiIhr?na2f&pw;dRm)+%{W-s zOHXSpz=H}50hyMb)*4_kiffOhr?ncGA=OUrrKhzDu>Qqsw{_`ht(2u_?SI44L;3%z zfoxy;m+2?dpG?0$T}xkwQvi=ikEI9GiPT?GPp3W&FaOQ(@t>bMJ#|oOekyML!TOQ) zP3yDB>UX#Gde{igunw`tt+`f;PYV2O^1aDs@(sz$l1r0^Cig+6fWIex#c>3)iB~7q zVdub6iHXFVgb$|&d<8!A56168R=?}xtK%oc?f71CEB3G0bFr@@o4{SM*Tt@kt-+3h za%}HdAo{E5ccPz*elYsh=rz&l=#f!7IzPH|#9o=trT?g&qvu9eQ)<;?S9)gF{21T|&O# z?}OhAemrP({TKL8@=y8){C&RXeLwVl+4n*C|F83{O#NovG#M;>k9y1&|NFV4NPz8_ z>qRl6c_ux>w$$~cWngYf-^yl2{^_zSrSCLWOxfu>*p}+O!cL1X#9Lmp)8by?3Yo>y zx3GOwm4MS*6elc|#OV#{*6#JbVyDFqvtCmK(r;3n+*jCXF$jAv0H>RkTsn($`gMvE zmw=O;;Cz8INv2O>`|bra%cf6d>;=5g5aH9=iYvd}Qj}AMwHk==EPhC>#!ib#SgQc( zGugf?HA<38*qrMWf%a*tz_IV9&t?1W1qKZxy}U;i*iEY^(mZhKWj!tezw_ABqHd)K zp3Q>pl!4(n!ce*-N$+B5Q3~ARySzsg7|NmT7id@6X>lOwHDGwDFqDfnu$Lu$p)hpH z!0;mOju$vXWWBs8k6w=MxY<|%ZkxC}asyq@W2Yqm#9Izt;*a7A#p-H9oyUapDsEmJ^&i*3elWKk9R6*EYJ7!cyKyg zadKZ_rzMr7_X2P_Ov!}@1P_se6(=r%oDSjN9V<^d#zTb7MCrKHbyg9JJCtTQ1LK{| zHK4o`Kcsezot9*hS_Md_d5B1jl4OGWn^OeZNmbApBD--f(+!y*w`Y$ku-ilN)`y6s zlhoS-zumb5cI=ic)?HZ8oiZ@oRTxT_q}M$nG^C)bOMzjoM->>#q3yb7!%j;&NxcRP zM}?u>N{Mh^Vd#{B;R5cC>`5Sg^W;tGLu4Og1-K1!cl5d;m_IB&!x^8BB@_-htj_A;j8|wxdx8(=lCJDYwVOHlhi8UNdFBF5vdVL zrhdWw%_)Na|Cg%386v6YxtHk%7m$0QM-|xpN%7W(NJ`R4>g|EwAGrf|>?r4+}%NNJNjW7IQ@_UGbza@D=^5EpoiJvDv8vk|tWAVG=HzUsf==hx2KVmY& zY(wnO*lx(d|8TS!y)t?R=K%Z}vhLp=*&I26PXhc3V*Ibh7kM!p4t*CH_OA)PKX_g6 zbeuVm4*VqWVBn^}nfS`y$^Se5r~G#yPJe%YzwbrgH+=W|-r!s2EBR753Gi{(CuC-p z+$;kH{wRVl47S%K<)`i=(g9{7yyGgz7q?=>-L)^e*}r4GwT@KezWX` zD6BVp85!Juv+Rh->1c!Pb(UNarM!+c*Lp=q=2wM|ZmyiUYu zdu_9SLV+P5lkK%l4vLK8N)pn;V&=EWKQW}*5fK^Pe&m|yU%Y->ZLjSs#P+)0F)J7& zPIef#A30J=1^r8#BTl@BxVOorVnSmw(GPKNlYhm8X2&1gudah6+vIF1;O92g7rWeu#UUTr9&|Ks?>TQG^&P?CVy44H+Q!R>F5VZw#nI&(-;^Il5CU1Wk6b`=|w+CvQ18wK|zRI zw1Xtuj$9sr-`@9}tT7Ra{?j$ms zAzf#2YN|BSUIs9Rj>ZG)kM|Jw_PM}f=m-{KF&yIFJ_ner)1E9q-h(9DX9F|51w(yA zKS;8@l$hXKGXtBih#d;1Ka^ZLyQj6>Ypr=xn% zmd5blSXcCeB-^I}lu?9aVZkBp?IkE3>Xg#6qRq+u+NYwte=%E>x8)G`_9?P@?GpgbIAEC+yg5VKi-5^GkHr(DmNTS%JTM6Pm7A)G zLCYD^J`SinQ0@sH%Z8RSqaP*uZ?PH8s2uIHu(mop4oYt->XGr@fKnDa0 z$ry5mw2uU0P@ae7qU8)}zXFJ?w4tPeGe5^FNWzCn9@*o@C+vOOM*x&ZS8%Td5K9T? zGG8}0f-#{fxia661Y2X9sKMSeE}bV{Nw((@29>;e7Csw0Nilg>>8QYH~lw!5-gl0)vA==s7UPNRQAA=&1QpMsX72IkH%hiHe(xr6h6g~?eDLVfYDMc|SPfU)?l1h~?cw5Ee zPfSjYRd6^2jtibbX4#4IKC`4+<#JvuLb@j@S33^!F5u+UqMex~?P@?8g&0a`YitrX z$E<>rVJGa#xwE8S4GMy1Cwz0!d9dS^GR_&s?Mm5M(y_AgyfS4Yi!DwrE+TbPr9#hH zUNFm=6)^4zlNK_}WZkE@E|?`Pi)7-4LLf*BSn3>|ix}^bS<k~8L3Fa zs-kouYSO@R8kWwLMzUQj^$v7$?^#mH280214)mN!>_?d><6-c*Hj$Y<1%N>Tuuzbp zwuHGD8BRGScq%(fnhnWh%ao0bsibx|x0xE9Wre1&QJX0-V>H@Vl9;_=(Up-${<#-iwkE-rNIc)nx+{WY7$PX9xoQ~P{@BfGD|8=!2rgLjhz1I zQRt6&Cc+*wj>Fmj|}nXpORh_y!!Sd5N|>?~GT=nU)1=q#x;h0;c^J&ARH zV?eX{iE~1332BEsNwdl8OvwCHC~QIEUv_qul^g|zh{*g@#%r9QPdPk3vhmKFB{e6b zFw})~^HXX5EU7s|9gzBH@Wh=@?Kew0PXFSKY=0`QE=^2NlTv{1yW)ze@yQjH<;y2l zm63WELbc~%u{lf@n~hstY>GR^*}tQ+q>7aa8w`sLPNwkMpJquLGoi8C==P^sQq4?g z%(}>y?6E)1lA2b?>r4#xr&-e0G7f8W5`+C|mUOhNgW)Aew?EC2ZZ^CHM4g1}6dwE2 zENNwVaPzK7y8UUEbTS=kvOmp|ZkET*-K|18y8UT(3fP>+z+iuxodj|~TBR9Aw?EC= zKnw~(%l*t>)JAh8AH`sQfPII+$$bgitzw1e=*LhJM;>7GZ1ha-10;fG zid33?N@cJaKYsz?$cI$hpm+c)6iQKd2%K!vVo52=4uO*iVEYugnk7q= z|NkM^%m(*Q-CuWq+~PE&G)G^LJ{Nryvj(4t-i(z3Bgh=+jqV%uM_!FQ75Q4Ej8y{b zv8Ub{m`!Mp_`-h(|1|u)@B`t`g(t&1!{gyI!v}}^!mU^-@N(#B%q@I8bW7-(&>E~1 zI5gB5@(2GGd_MTS;1`0o2Df3Az?s3LgQ?(Nfj0ur1-^|{0-p|iEb!jI=D?!BiGg%r zpFq(68deHC?!VXnG5^&#gK)9`RIC(e@i+LM_dV%*(D!NNA#CtngjE7*U%M~rebxID z?*llK@I&6~kdtt!_gwGc-dWz5=dYd@FiY{U=T6TDJexcVJ*Rt)@bq~S?!UWcx&qF> zJAaM61n+g;=G^XF>O9LijJ*W+#yJJgBm4g=$Wxef+~C;aSnOCvSqhH(>A(N}duM7u zr1q>*I+>gi=OkSY+M`E_Z5F9MN)R9UL09T)kb-lC$jwo%F=D*=lv07@psgakifhI= z!*rv_RWgf^8nj6knCVrq9pW+6oC=V;rcM>u?UcNg8Oa!LKc&h8zpF*^lB|*hw~6GX zS{WE_XNIg-(jM>prS|4vcq=p1yo1?s{Kjf{g29I~jIhHGxCKCIX^W)^|=!?K{(M7|@eOr24MI=@$^3he$j46rtV zD%AR@P;{*f3?E~LY^J0=-nv)~q=4bCnIU7R*e4i1&kU6+BgVTVtMb6`IcCTgjj{Ls z1v50u!0=gNj^nb4#CY>!@pB3Vu=_c`LZyksekRP(euWX^{gLhE;Pq3| zYE9&6$qD93I^)fY?EwUE`my9>Z3)oVk0d8+g%RWZk?oSe>4%b&Xb^(a6OxlCfu6oE ze%C&!W4DPWBEHFEALF{37vU{YmH7lPu80?@)PQnXJd09e#CYdbr2?c&qKR;ge7}>z z-pnG<&dY*Y6XES-)kz$XyHgmTS_O8Wl)Tj@!aLWh7lGd=gaOJbNw6vuT`L2_+nFJo zB)x9lx>%i|1;YoJA!Dc5Cm7z(43#P)#=9h|^1$$G%#be{<0kSIW@wgy;eEm!#VjT9 zWqyTf6Zw)bNBb2{GonJ+FCw;JMp#lV=I`^N+fJ<^HPs7Wd`uJ+bN?XD|9c2u*BhK? zI%hdvb9@J1)EgXUA@|=0y1Vh$lc$(MCV81MGSg*|=P9U=(tt6GI)sx;DDlKdwDXh?CN?|Kkv&i!lQAlMj z)6b#WH;>9wP$894&|*f_e!hI3q6!+(`YiH1MHZ4O5enle=ga3skU@f>AYB%Do}vtG zk}GLQ4dczsQ;?xk%3&1&H8pmLe`jXrDZbD=|FYf9BG0FICib#vXJX$WS>!!=iiTv8 z>L;r%6EIIz}jn5TeApCVV637Ds-Nee@%Z&6PV%TwH>m7hoGMacxrQ|P3fWpK06 zoF0}J5fhk#)z?5R_DsM$1yATntw_>}k_nin7z!!diiK8`Ou#$^R!AvUs4f#QPqCI3 zmdfU0%LL4~0zf)}EYgXZ37DsV1?fZ}gr%sNfO!$8NUc(QhBgy0FCrC56|Ktz%u}!e ztw|BB%LL3*umY_~0qZgW^AxveGbNMFD4BqHid&#Du{=_ck_p(Er?>?glZhb}!E0p) zQ-eqlL)H_{n$Gp)DP%#+Yzvh*vBa9s(VM53MJl6!$segZ>EZv;B2 z$|lju>0$Xez^xJt4Ut2#pB|Qv0n;Wiq#|-P_MLR|QGhyYAkqffm!|ah(P3w`~DLd)rLwNd3N}VCn#s>32Lied?^e^_j(- z1DVor(8UJxK7iXy3e>^aw=>LpfoL}oqSv+Wq?`8u($!m==px&IU$evp^KM|0N&5_y zE;g8V5fl%gxFR(+n0IQiq!cAKn0El%r^waB2HWxtfVMD{x)pUh!^tavXk~;@in^2T z*V0f-*f>I$G2btm1)&4h&xtyox#vXk!QCW3a_ zq0q~eopdKR0@SB~$e?ORDNk+yriJfG=7DUIK?Auckd(tw^2Yv?>j7wmeMtYK?4&!n z4ggZaF88DEq&vA5AT%7M+ZXP~zLW0c<%I52(d2$Ixq+d6@wqWz^dnS0LD-~<)qM<2 zt^qiu0c$>nCRYR7W@5=o)Fri-0fM$;Iu^~x(BvvWx=bncK87Y&60eLhbuWAm-v5+8 z?4&z6PG~68=BczFLz82A(fW^}$rV5+RU+Dtp~*`DZk1ptNcS-`c?mFWlB@JR_MLPm zmjlx&<<$Qenp_50^L!CV=@?p+$qr?ajgrn~bBmDWFp?fxJhB9dR9R#3XgbqD-~YLW zTN<$Xe|4-EQT*GYXWx5obFF&`uYd@Qt26~p}FbQT-bRw zZ6Gh!R+FBKZ-suOYo{{9+YXR&+Um=}Xc65JKJaaF#2uik{?yR$wk|1W|N3$;#zk^C zmai&u=nhzPl1mM5nfF}!Vtl(SELIoQQM2VG*>f>jRRfwI(c!`s@VoW1MG$<4(|IpnVoDSQU! z(jBmnj`Y00l(ScTIb>}E$P&)l`0yRzg!>1Fx3x++d)AXPFc+iy{tPnARXKErOd8Wr z!`t?ga+>SQq1_s?Mj9U0svo{XKNd$o&n;5U9`)tm)4d-#<@R=w8kkFWNFgV1V0hcU zQchDnImTRg@mvO<5ccO9m`iuS@_-!V>?7qQ>dT=u!Z?;YZMPr30~T|o`iHmeE#)*$ zBM0M3S^|dkZc}@dlra}~NDZOMpk3@G<;3gB$K?$D1V2xu33N;$Fm za*#ib^%iJHHa_AGIn17r9X3lj(fV?z|H)=B3|8dO9WwMeGrVmNDJN1-PKMqWma!=P zMk+g(?ts+~19+|`DJNWC4y+{CKbWEvev6*P9k93sYbl1eC8V5CJvnL7PBEGpROR3f zSdKlIf;~4%Il=mJ(92{8vKW!u`0yQQRUrIDT*?X5lard8&0@{dAl3~ja_A0OEaiZH zVp5L3j-37+^)gu1frSP(IpPkqG?DZZm2!ObdDE>?MFY4Ud(RK{l;9n1C}hM&_9Qy9Jf}^Ae_5s zMH#$xTf68Ncj(6mm;6pp%5l|~lR|GUR_jlFuG$?^StOMYZwp8{&U$ikq~|oP8@1?1 z$e}x+pX?txdYj+Z5TJ2OJu%t2m^RC1vo^N_G2#a3d@@7*M{o1_8vN6V$;?gTBNeTk zR_*R;T@b@J5DSZjw|V7LT@clcqJV}RgdH%>&CqzGHooE-+yU+=gSX|8a?YPtPA)Tu z(UK|$cfjhcG+L=!$~kXZIoO;eh2<3rA6kQ#!*}TLHkXuh?zD0;Xhc}cqmhFTRSd9( zw>hPpbEcI8FGy>!G;&akW;eVIVJR_MJ$o8CSQAF8J2ZM8papK}G_1Kn$~kLVIiv*y zkrY1gN8ppm3|}F|oH?x+binCBOQ*rF-N159jP_E)TcwyYrWJ#MNd|K@8a6O;^v=Uu zq?psE6_dhTqt#WIY%;X=G&{UmiaBi>F&L?4(SS5MHfUaOAUim`Ns5_2tr#pg#E@5g zC>jb63}QgHQHnWrS}{oah9Y%hFgVDibHf{?m{X<|gI*Bibz(4X80zmIUN6O*Jgpck zrR&#=$zW{IpB`Q(#mt*l4Au;zThOtA>%;f;@LDP6q-n&^{23N4YE|6dkC_!?_;M-c z#A(Igb*Bb2jT1LO8z0OKPe?H*Oe-d9V4Z-*im`AkMQf>t*GMtPPb&t~`DyEi09$cp z4*F^g<%U;FF~?0S1}`d|)>v@{d#_NaZ1^%M=GbY(q%r8jThfZbH!ZAz_y2pQ0a^W3 zoM3-3He79q{uR0WlhKXX@87^~|38b|h5i2)MGlYbAATwP&G1LVW1)}X{J-NuGeZr* z?*}Wv^}!Q@GlP!6&jNQL{(o+uH{kU@?|;aj_isY({Y>ARzGr-2_TAuHb=Iqp2c zxxeFOWC47_ajoMbM;hJjGjBDCFsndOlw@*^Z3-2$iptJW1&X1lP~FPC0>x62DZ5k{ zth#cqKrxj*g@I<}UV-8&Ei9F0(bScD1q!CLGJ+?dm6dx1ilDTc5HZ)PuG}k#zzIOs z`BP{`UAb4FxCuS06^pqxb>&`x;wQ;=J624#nk)AT6h7(ev}0(lwYGCqfnp~u&>8M2 z=US~hM-{>VkRrrXs&?gGfg%v?%tZ!3ckLWi5CMnOn$zuRQ}jWi>>O1PA%~=j)~(zt zP}Cu#0qa)o6)5VE(ttH9_X-q$XfruOEt-{k1qwj4oASs+)RlV$3P5!2!jO%qEB6W% zdr0lI#y)k*6Rm^$6)4`2YF6sS)M~D`Kp}=yMyaOBRCVX50!0~;>dgp@oul$1#9**6 zo<3Dq?&T@S&?X7-{3%xMUs9Hc>3rZMLsfpDq0tvqaaA8Tg9Reutn!68j{j*&_?GdD$-_Bpe{j)&QT|4^FrvOM-ujIykf)bshxJNR%TJ;yo%Dp^=J(75U-HFao{6oc( zQq<@i1w#51x!UL)MMGK`3Z-bGb9st@v@${{MUBqoDelp3Lh3~4@*>;;kkt!lqjPzR zc90IOSY323PeG4lryVLB28NMCSej|H=PByZr+~Qv;pqH^dd_8jF`@fZv?e;2UqslX ziq%Eu@(Te@X~3H3Tz&-DHWN!$qD1HN7XyN}!%xLt!=9?R0FW+I3b!3is^Ue&E3;bf zH0;s2{Dp*uGIu9Bm%l(SS|6RupAU3WB?5<{NmV=#;8qESf^^Zj{JFriNv`Z&?Aa?b z^XCB5Ddn(=D1XHIhg8M00c)PWdbd**&tliJdRo`>4oOw)&7X;<&!jHfP1kb?9t^9YIu*d5n%k`}9XJtqR&r^wa1o)Z9VVJLMfYGO$KcpzFCQP1@p2S~dK zspoo*1&AKj>Q3~o=NQ65hgPiC^$ZiV(+;({o}&TkQ$SYNa}+Qwd`~hD)%6?+Kr8H{ zuIo7h08+!WuIF%o&~SFs^&CcMGy8l>%B$*n`24?)hS;BCKaG70YXv?K+Yq}bHZOK? ztUDINOaPt#cUQEEb^SY|6H(0mMth=-QD@|3oB{aF$Y&xqN47-9aXP?pk-kV%`0rRD z@L2fE;cEE0@MYn%!Uu(W!uy21q2GtTANo>g5_tqWu&#emXntrgG$Z5-{xSIT;Nv(0 zu#7VV)&$QBo){bob_IihKL>t*mHl@FJ`~sySQa=rkO}M^@cIAh|CRq+{?Cf@|5o@f z#@xc;{yF|;-|N2Te2@C>^WBLv0JmYC!Ks*MnC08k=k&hd{SNjV{E&C2cfxzIci7wO zjeGv$dCv2F&;6b%_8+A4|Bm+@f_43^o{;-x_tWkNunWR1$X;0IzQ}!yyU)Fc+v9r0 z^>f!lu1~mb!1;fRT=QLrxH?>ZoK5fqPAB**)+p?7ULwx_JHWXwb}4+#@uK5#$Gwh^ zIj(lBbu95_9bao`aNPG+vlaiY|KF(rv9@VKX?R#v`YEwYNmg;U9=}5@$ElTJvFj(q zLaGUNH|Qeb_p?OB|6on{Lv^aK9QW&DA(a#}rAZrcUVWw3fZ>D8kZ&a!{s%KO%fRq! zV$sqB`4i&zC9yV1{G4(hu=}dE0^IHsiCWiJOWUd$ybB&&PHA|+V@PG6Lq z&?yq9yX38{Jv%t@s;>#9%a7k9Ia#kT;=J<8egQarUh1XR4aYw#If)W*`keS(n*@k& z5(}xsEJA!U*NM?A5xzpaE@cJ;jCbg3pvLXuA(d;4IBy=IRDkq0vDT1lq$alrdoznb zd#fxk*BZum3M*45v_S6Nb*jMbU6Qwb(#(kS_7SQ)@VizRpsbPvuM&!`m4V^a%#clz zwD(b_!39<$oUBs?h96^w%2h_3w~tt()PUh_%#f?bc*XiH%+M?Y!;c7a6jQ#$?*sg% zY$Gt}@59;(aQl!jNBf+y5$97v?d9Ngv*dtADOtUbO^j|zBdYlOB`26Cak^gK+G_CN z#3z)lQJct(l9TlcBhIIU+Ajd78zd*uAZWlAzfN)zCHVaw@w@i15;8t%-~XD^tJ6 zL2k5871%A7ywxVcCxxo=z;BT-z}n}xQ0oGr=vo;VUd#;HB>+-%5T{Y7<$btpK;x!W`{0YDSz- z3AL9)bA0fqsF1A2*u-j0WL$EBc@n2(^43;^$2;W{O6?O-;B=|vWWBKTY4Bzi6$b}F2-^AmZR0l%QuOzAzqiVoD+~O| z#)$Jdp-Kfv=R_0X8mY;Qus5>^w6n6H)-85o`_%u#%}6TcJqO{q=fWNihw%@gKm|MEBDd`hUj9K878QBfgT9mghCYa+)> zPB2g6bdOziVru z;$hK5#A2#=gzIWvBraZ;vce3E_t4jXa+7#S zf?5;VOIX<|<=X+|TIy7R-M*5y+C=!IP*ooI?IR3OR!M@*LeaG{Fx-hieC$S?NIVepWBq?9@=WBO$W4(kMEw)t=fn4gZ^Ax(Cx+XwL*F+-AI3NQ zX`xgo5_}Qg?l%Qj1dqqMfPV%46MO$}2%L#s_~Q6d|C0ZD{{r8Qz7gMCU$gfm??c|3 zz014@d7H6H;JcoJXTozVRtmi8e!~4Z_fGfu?j*jnf8qKM>^69rYuL4q^N-F)oMq>g z*!%wgTL0hh257$3-|PZ~ADZW{-QD@s!X-Svy7vFV{Ay2uf+d;c<@|yzU7mUFhDoeo&6go+Qm=y};s7t{M6hl$5P>#A3 zygDR_Y*DlH6!W;9E|3lv3Z<>wK4QI>)iD0I@!GPqyRECnx!hzU%=+KEFg z_NCwj3YXB6T9Kp`Whr=p!X~6_D;8Q&mVy^3dO}LELUl{Q3lu?VVX15`wx!^Ovj8BS zKo;plT?$^HFa+sDAcUo;OTh~w`jEO@(|f~=@n&Jo134s(WswrxQxNfoq>82~SNowb z1qwl+H7TNXOTh~if@%g(f;{Akq;97_AY% z-0T8HC7S17zPn4o3&ZS@E}zyTy;GKg7bu33NvX4w+GLXgMN=|;DjNNZeJOZ>0xOwr z6^n*xO*Sb|ge9fnpo{nwDALkqQlJjT9`P$sbfw)yh+fye6ufXKAYHwZ8+W_*h+p9l zV3JAu?5Hl{S2&oUcmTx}sY}5N2WhdS6eZcDFc;W9MXoO5R~Q1cg`w1~s1d)yAP}vL z5K2*#O$s?c+D!;G7|rR*g#m!*VXdw}8}Ta`goO^RSXhg)6uginXr~mv;YaO(3J{SU6PFF7M2Q(6W=h-tZHK*GYT7X5OFJq~Lf&a0c zu3Xp`7)tXN@}vhEz-|;+z##tyW)}7VsB0HUbhqfNtf$-1_y4&_rN{UGJ=oKqzW)Q! zpG5D$`F|@B>)$i-+sJ*94@K5S&WxmR4&bxld%`z{$1oExBlK$Mk-8P2eVktuqmHDC){XOvH1No1z`AjM zkp>&N*;8i8og`f+}d1|dmRwsxFf6yp&ImVK>#%cmj@NZKSu_O;45zeod;&KjuR zIKN0^k>>g9cXym$%yMVDe%j9VoiffZ(#R>3TBmez+RnB}V<;V3+u0UrK&3-#JKG|S zu2M;riKeqH(jcqNWUcRPi!`)qH!*cO+aisrx^{u|o$ah5ji!>|W*x|5Y^y9tD$-y| zh3Xb06=_hF#LcZzp&fNWQjtbieF_83f}|piuv%Cubuj9Jq#})~S{cE5Q5GZ>X)Hy` z1GO;`7SS9fRun@hfUKi zQDVitf$7?Xp_ZdANGk3{%=TKRbwM~vthguDH!JmWK~k}qsxwM8xfyjqQgIKUlj_X~ zj0H)>CRDc?EDR5hLA<&ksh9w$O%h_yf(1#%MwE8eO4*fQK~gb}^5*&Lgzwmmqr{3a z_8se{^&Rh&1xdvyo<5UWtM?t)jRO13VEz(k|6wny?qY<{eJUD#fPIdr7$$7DiWQz? z>UM#}5RfSi2i+V|F$i#*NrAcq`y5d*07ScqkWRz8AgSmFq^nnQlbxe&yTGCkm}GLT zt!LNG5f!}z#RFKK0F@gx0-aQe(07ZncY0wQ;8qESg0yo)W5BdYuIycu z1xbY!z;sGEtRl@E5ug9p*Wmt<`#$$4-5+sZ;~v90{JHKK?zr3Sde!xu>j~GFTm{#) zu9dEfU8lMZjlB?iJobgyZL#;pHpiA>r9dXOH_re2J+cPA5&dNJrs!I%5;!3`6g?ms zj=Uny|NBg&6nTGSN93}|ImjnCFcJ;F8U7Pi3Ot1U1>Yau7``-oZg?0g1>&K<;QYUD zh3*ZNLf7JCfzz={;K0zHAy@D>!T%KJ|Gg)8WpGvS;^4_aBiI^r2YwfLCh!-8nPuX&&KKH~k7_YSNS*y>&4o#)MZySz=FH?dOS+n&$h{J$NZ%RCo)j`Ym(MBFdC z`ds_r1i(LGZ-V=rMeI(n)4A5U#CeAEAZI7?|6g+a((#1je#h-N0dQ^TOOAgw&>4WP z>nynoj(aUX|NY~gpaGFRBd31QG8+#Q2{s}_fE!r+8IheNOOSB$Q;}UI0?oJ}{v(li zBz{_wGva){kG%rPKu?S8Dtm2p@kjgbioKM+NDnPm_va7g8YO*MlZ5Bb5C0S6* zuKJ`%p;E&bAorO%RbcmNQKin`4H=C`)v3xEjYo>7Rj)D{IoDCGNgItvh@320#gEl^ zhlqKMF zlH>%VCQir5TjQsd6X#fp8Q>`u;B>s?WWB;@kg?)Qf0FG$3m{T5=L4_&qFs z*S^UbW1?Y+kGjS<*O?8gu}Qox<%1MfxR<^Ll=l=5sa#_;a;BqF0n*K)VR4PrWTUV* zvk0^kvcPOujr$5KQ)dA{ZvQ$}VAm>nD`|_3oa?B{1Hb)*0m>>#aBrdLS{WGb!wlIZ z>2)WW1{X|uuV9#|Qw4@;W~f|cH1^lI2nJ)QyLOB9w<4%Jc(1gytUQf!HG{O zwam1~SRpA)K7!1w%FG!d@h_Z$Dcus5>^zUL3Jz-%J%zX*d- zKaW7}A9bq0?(dSf(nR8XQm85q{Qf2ku=X`XYK^}l6kRJr$*ateO_E-BkZEv%wTVRQ zRN<9Jn4xl&(a0x->Sj_J!_1H`8sjG7XNG1OUVT8AqnMu{elC7fY7_BkE5OYw%+Wr< zVKnk7q4si^BOg2}DkLihn^>)hI3*{TCpg9bC2wstcr+0{q0~MvfH(T4r!&+V1?h&*MRb4 z;vto5j5wbYs#JjVqoRp$4Qn#~O<`|l5okXm3u;Z|KZTX4X^SBDWSuIo`@ZC@HW5B4 zRFwyQPY46FWGlwMD->NT1H;FeA)6$<4Wwvcf)`CBkuC;L%s&*iGghgHe5TgdSrafl9j8+*33!G zSv;~~!T9B43rANkSU$dB!|2HBO&#MSW1}5&XLKAjGBLVz#%eUut=YiLaj$Zmddf%1X2XNn{j~;kz<>Jv5b5^7mtQZ|xvS9V-(!;x7 zyzu&c?)k{BJD#+1>6zop>1DiyhF7dy2Tfz53Cdr#eCaa$Kvv3}{w-T3wi~!(&bO`G zyd&Q4;+13Qc~_5)FP&I+Sn#JWK5)?u#sBZSrbhevDdr*XOIyot*|KbV7PswmY|EIp zT|ByKVp(9ERuEJBMwrp9wJ%d|iraU1Ox_W&1_|gTdVWNjk zJahMX=ii#%b?5)GR*~E@<@U%z-?C+Fdm1-Ah%EOSON&{)W&v5v==kDYH~b%HDdXEy zxZfevLaq0sHYuCv|L6@@ZSThok5F&8W^`oD%JH}3mg}}Bam!QGTZ;Do_Vz<_aOZjI zo#|D+oi|>$y^kJQH6z=N-;N$|Htu|)dgr&j%kR~z+Iru&+)yej-tz#ceHo;mA;PgpWJxb|My+%bon?s zh`W4wThZnFcirWGu*=8kLfqw>I<<89SHHaCnY(aJJ00dkx7srGR&UQ!(RojFtIbny^>*0Bvh8#v6y0jm+kY!MHHvPv@$J7A z9V|t++VJ+@iq4**TdkjZtGB}f>HGhjhNl{0KZ|`e_P*HC*g>&I#PYu#{djasbbhoe z@>=A{$Y&$(i7beuBi`^+;b7<|q0fhI46O(q7HSMWhp7CG!7=RrzklGRz{A+DZ#B*a z><@(fFZl2C-{`;8f1LjS-#>ki`%1p`zB7C&U(EYU?-#xA@m_>Ego`~xm`8ZY{gC@+ z_j30^*!%xw*W<2|Ypv@9*M82wA-;YOP7Yk*Ji^)R_%rtY|0HG^&T!0XcpZe_>aV>- znU7t)8_oF@nrySL!7EY1V=}o>nPO3Q-7HbQV=`rjYV)f~l=rA&wfR*g%75%rCHz7hPYJOEoWIzIBo!8XnSCuFol5}Xr>hh~f zloXllv_q}=RVB)i>{CFN{HhY=OSbSmp$Rp=suTmDwNKnhC<2SH2XGEER$}LH3Zv0c zqMSogLv12flV4R5sfMYIyO&>863K>rDq53YRibpmOj5<_@~cXeZkW=5HThK~N<3^c zv1BDmepQJQ58F+iq#Z2n9vH}q!(wsfSSHhkX*rBAjpLMTO(+Dl23?Ixs->nVy{Nr0^GMC*ErlqyL&v|@Fxr$`x- z$xb`e>UxTlGTEnqEUu?`DKIU3PcjcBwYPW)0IjeO;aS9D5UcAcE(d_rFrDiuE&~V+ zXZKuBaVequRJ6wR6qgV-sbY1mr#K35N(0uop5kI)+e|E3iQ;;SivU5}nI^TjxDb#o zQ%XJ8Qyd{)nGJSlqCW||crl@&%-wN4#RYoNde>9D2;R5~g5vDo~4kFRbG6goHRNlC+}ig;hL` zupno}LMzH%SjA%jC8b!Qy1lT9#{k;GQrTQ=dtnua0U(_~7U@LU3ybsr=QPCr5c_`Y z%dvcHXKZcklGu5%6Jmq0wwN#a$LJ4`*Z+lRIeJ}mP4v9z5z%yX1~U6!iu?#W0~8`R zB46N=$SDycvM;jw|A?&qZ-+k{{!n;Jcv1ND@Uh`s_`q;;=wG4dLXU>-LSFy-L)${j zLZ^muq5VU#;Oofj|8DT}!CQh`F^h11@Yvw&U?T80Wc5Fatp3{r*9Rs7=LHVOjKa*o z9s#%iW&czD2mBxR-+;XSRsM_o!~Q=19++SFz3*vc_J7iMlW(o>eBTMaLElVY!22if zlgR4-II{Y$@?PSd@6CBzy%Dbi`wu?rdED~_&&NDhdsZN?f1c+cPlqRnnTQ{|zvaFc zI}lv!9(SMa9&{h*Zgx9dzji(5`kd=#*VWknf5dgHYmRFV=WEX2I)CQ;uJb>zKf(K* zo16=s$2;dbdz^ba-gLa+_^#s~N7eBG$CZvzF;U_8)?3Y2{JZ`gpaGG0v)Mk3Fd8}A zN~u5&+IL0j6xWP#YTUO)9+Fvv%(zEoftfnh_83N-w#A$lB|*hzb6utYGq*f1T$oRf{v!~MW(?8me0Dz-`A-E!{0GOXZ;L<#~)o&b6|a zgBPc7i3-W;=OQ~#mVnbQBq#K}#OY~yYiqX-PMqhp+1B5K(@!NQ>lH>LuNJXi08Y#@`h`k)V_^1(4Az6Ky zO^j|z!;!|XNKPeau#`sK5|D>;c0=;;RWyEaeIc&=z7Vxpn( zJg%!XkqgD^Qs!R3ctl?V$`^}=RIV`^`D75K0;Cs+Cc-sRljjS2GmAj`0$EUNB8!EU zsZ(Jfx2#ST*e#X3)h5DcgQ)VrZ;3F#+RT?w>q4RES{WEFVuoyz^tv}N4KA2s(qOoy zP8Aq#W`@dDMkAjMqMJ2u+{6s|qA_kF>zJWg28Qc}If}Vx;u1T`F&FHF#)@&m^(W0fW=H=%I3nAD4C5aL}fmz+ci^mK{%UEAENF)Nyg*d46V;JR8985FNe*)k1`57yU!@(8{h2>fhTcd-_?PI_+D@F z|Hl7S{|&zT@kM@#?-*Z)_b=XWdOzY_;XTIN>22^l>ABsr3E$nbJU;iY-4D8NbFao} zd+n|_T+iT3`)b#@_{I)8UvNI`{IGM}d8Bg>$FO5hoB;45sM`NJN+R@NY%%qTX;pPY zo)QHg+L{?eV-LhAjphs}1hFEpL z*?IWqJ7q(j62(C>DfM$qyJ>TYA|jbS6^)57d(^H(!I4b2ip4~jHELI)C`n4gK^L_v zQM9DZq<}s^iQ1JYLeg#`#Ppy&YFDDbNLR1q#tp2-4q|dpIi|Hl;gBRA zK$$aDH{>Z%Ttvl^Qj`sON)#aJQ{?KRb|s3Ev@jG((M0V^6d7q{giwkawJT9Pq}_y2 z3(;)aToPdrfUG^JHfmR*CLpy8q%kLEK$1>g+f~R zo@5?M)UI?c0IjeO*?%jWHkT-zKxz;GQiCpGM1&Di>P(AvL!OcdB=o6hP1LSLafD1# z#pviqF6$gDTUjPCSioa2&s%RPo|IB zl_-#a9zb;KQ-(g;4S7lwNzjPaN9{@!Oh~Fkv{Ac~h$~1i6r_vVl_;{%Cb_bAQ4>Ze zu+S;xu!?jEBPEI|G|%6>yHUH+aqN0FPwRT#DG4Jb3Vvi#>NJPm^-%mH)2E_!u7^S) znQj%Ux}KwfOldf1UC&Vfx0w{EZ?Pwgl#T?V-9+eJ&k=xh^-6AaT+iXaB$M`O7Om?! zjG%ac-ElpKYO#9Pa|p0~id?PhIT+9uhEk`ZCXAF00-}`>^<2+fK-x`6J=Ze?5IwBb zo#v|3VrcH9K=X$z;>6CJ&aXm8uYo0Hn0Ubk>3f&bR?b5Wpj&$2Kz_SLyJe2 zVB_4Zv3N9{>DYE+37>L~)*YT&I6?c>^Nw*n9eDZ-QiAQf^y^(uJE4(bY)9){&kVwL zt60_bv;m1ESw*VW_3RIDn@NHC7RB|n0)bRt7N>JP^!B@ z;9h}0BWizpU}NBKJWa7vx+kSFK`Yz!;YUj?s8n^ zSn4?1(b@1ONKgOQUZz1=vi%BMZ!fxVbN}Zu4a)jD?HKC8Yx_T!X++kN6d2iqTlar1 zQ*uXZN&tkC2Qi0`#YXb|@-V2}zGWKMv@@46F}F5l|L3w8#-y&$_1)_J&t)-?Nvde- zyY2fwmuW1M(SWJ*&LMpUhhD)WWYf7^rn^jInUn^M&KtQlMt>@kMlNHzKReW3rcq6s z$r)CQ3@Yr1w}$jhtyKbL7lliKSFdxy;3 z_uzhI8pWiVm3q1VbD0J%sfo> z1tn9jOk=CAT^KR10F%gO()~k&xd8+JNY5(MpehNJbv%zDu9B%&rZH6##H>&#N6pkL z)8Icf2q!Y*@ohX@l9c3DykWK_bSc-a@O<4>}Qd@PdL_M{#ECwb? z6-}?ct|Xh9vS=xj=`HU=;LKLL-yy$ZpWp#{Z#`Ok38avYI`yxo zycf_(RW^xMPOU8O32>_fLqqf>U_Z^K+zd>c#E^<;ddYrjWqA*PI%^xm7_qXk}4C;X*T5u zux%!5>SgdfU^_aj90sP{#E8x}gY%ZHM~9U|0CnvGk&)261uPyONB#}YDhB~ef}7RX zp#N1)vndC(P~B-ZWj{f2bE{Nx*#jw@yNfxDRKJl$+IRZEvJcokg@NWYo3a&5G@XIfGZCPet#K zR-^BUZjP>sUK~9&dT6vO8i~9b`AOt4tQGh~M{d1&;8|@4ILe1uN>cZ z+>f0KZg5OA?7M4%!u8Qz|88h-+&%TzzyJNeUITHrv(?#fr5FaHcSu|;@^Um@Il-Ij zsx@gN5fcekvWmOSL`WnO)yhW36Je3eBzz3r$t&`F?A~z5NCdSNIU^Ae$xQYuj0A72 zYcB^c-m6zsNLFrO4-rDZr61=Ie-Ti=*Q*yFiVI+8CUHb*#{9DYnQwMVR|^Fr zIZ#`L$62(G+nLl{Wh6%GT!cqj*yP6fAkv7WqAzN6JKJ`ZLDdV)5;I9Lv9!hQ%n-(& zZwQW;)~f@_OH3;E>x{&*dY6Ib@;%(nuG;M+&(Vb2**>KZM3+dS^UQ+_5}Tz|F0m@} z%6fGmdW9saTxTS<)VmBsw@RXX*_fDAO>C4z%|Z~}6mvUUz@0{I)S@nzFV8l>gf=(m zYd~@R-fm}~lriPOjKo^~C7`#?WKtU}Cf3MqgvXDdHephOQ4_UsQ<}A%fZA$(4X9ma zQnOxTBv$G#0ku^oHPM!+btP7q)I<>q#zYgUO)w^MqIroK%ETbonawM4kZ4}Y>?&v< zrmq3*Lq#8=Tw^3Swz9}r@{0Gv*gdJzpm zw2@;aCs6`D9VdR*W;_xJ(L}_QNur7CYE5KM@w$|GBrx7rUjxefh=)|JF%o=4h*AO4 zdy6K*HBys%2zxV&K)YEM)S5`EurhV34&>VFRDs0dJb*di>v&@h$8sjF?&kW5nFiZ(^ z6tnEaub1DH+C-At3UHev%+WqgZzTAD5PLaz@tGr{LbB>+6RS0m9?1#jNt|ZNTU!kt z8so!B?332ubfDy9y~0TF0U`Da!07;~7ttU@6X}qgL<#iNDSp?oq8tApnutiNZu}$H znN6heCGonHuUZV!{-Uoz7W}K?A(d;4Mm{1$sX!L|E24>T4QsOTPr}~JB8)BnEDOvg z()f2_W$IJ{$o;EM71;e#@>ZHiBOel?$^*aGgaOJbN${^i(X}!#{2Mc5lcd)jVH#Xu zZ6b|zs_@F=6#qY~;n{}Rld+G-cEm1@9U9vs`eO8}(f36!jUE&2i2OD3NaQ1t72#XM zE5b*I+d{8}9>cf!%FyAVeS&|%7kN3jHh6q+-@vPZCjy@hTo)J(3}N@bU;7{QPx{y3 zyL%tsAAFDa%D!#B(|xnN|MWiQ`IqN0d{bY6nE!0|>+Z+hdG`kQneG%$8~mZ`4%bH4 z8HoJHoxelw|1H@2?-*wXR@8qVtLZm5<~e3L+#vg3`I}KeM8w(F*RZXoD|?zmdj(+- zXL}7IXGJZ?wRThx{cv{mnqv6HVDbz*M_>yPBV`PvjqVDf9?oPEAnW8MCjadD;XM@u zJ)Fsug2m*Yk|5qwLHI)lra5DKhIn@caS&&pDp`}KH=}}Rh_gjvVMl7BUV8;G5NE4| z2;C@2;++*lKAi0}4D|(SmUvGE5f6R}YZn9cAl;%L`2_~1zzhW0(*xZVL_AoRRxtEq z&lB&gAoAf%c0!j{te6}%Pj2m~AoStvQ&BW6IfQ%-dWCHj1U{TC^a>#g3Q_X)+A0Yk zTFF{~5c;rfF4$Q?_<*$`5Tp$?S$uW{VFPCdI@5gEsVRFs6~qmk8QfNZ(@be5H!##M zcJLd3274$I7rR0pyt{`&YOl9ySx_BLoVai{6ptpkPfip!)wZU~+A83VZ zbN6~H2qHL>8ZH#FvmfNzQ9(e#*=nMpCr$QVM+G4TXPe2F6r~0hyDA7NI6F;AtSO4^ zS^qM96@(L<&GQ?!?Pl)yNfn0|6nA(UwoMzhdxvE3&8{H)K`rV^?&>XGP~C2@r;JDl zwI~%1v$CyRnpH+r#F^>VfT<6jy5V4N8PO54K~=6Mi*H65;S%ys5=~u>Esd|ej2H^a^{HYm#G)S6Ka~*@q0ZWl)%vG0Vk0`R)<2aI zBq9G~m#p(oWrRw|Kbf;P8vj&Aw1oVVfC$~F{;7<*Z8OMasuNi6tK=em6rhx|D>Wd{;9kaVE88q*7~RN z5@4u7P2-=+qrkvF)i7iA8vdyk)zJB;@&bV1pBPlfKb0>62>!_gk*0M1seB=D@K0Cnu74_DApO&o z{}=pIZ~1(LVl&7Sw&#qC409!|k1tNO=Mxw2~Pd zn3FP)cZFQ*bSjljcbDe@MEtGZMxR!4k`@cQG3MCPO6dFlw1$ToVoxBRzcF@VbW`-i zXlLa0$d3`P-xN71vOnVVPlP`mzA}7TcxLD?p~pjahTa{zD3lI)f=^@TzMBw>KQh=H zcrkEa;DdoxffEC*{y*XC{{y~`Zx}&b&y1wc9sB7GHgsa*4XXj(iJFu(XsW`^xRmaSRSCQ@iP`%Io zJu2kg+nO7$5}hh{QfXt)3c2&nUB%ojr3d;d@<-U$@kyr$R#xcy<*Ii?WZCD>VARI9UaYj;KF7IFvSWgQ+w=QfU|hU#LQL zMgvf5lHjhIi4~&y*7}*P1=W%GjfwA2V zTW_JA$D#2C#>sXpbfcNap@D}6OuA9$acBgBak5>qZk$}9VF<>_0!uxSvf#44LPHOX zlLbWRMjae;p6 zzoSCK4UCiRD9bpxLSqe#lLd&3#lG&ct#Sbn7$*ya(1(4TT!Fu4ZA>>#uE0-=)})MO zwd3Rp9JOdo3S2WzuE0;zIC+Nx){T=Z@YFO;R?(Vqas@7%#>o;)Hlxntz+;OBHO)A= z0(VX0WGQD%giO?Nas{rM#>qSE17H0(xdL}B`UX2(J5H{^VQYo!$H^6VZ5k&lT(sll z3OqQClNk*?>Bh+w_;4C0Gl*S~Jwd#y0v}G}WD~>=Ni&ZF|4sgB$L@}kD8+fA=ZDpA*ZC*=ilCm#@r3Tvpv8bEg=NpMF|pHkwzqOzJ<&80oHJzP@PFyS z!Tteb5FYASpy8oZA_TTA3hJmF12k+vqPf$ttqSU>3l1bpQ+aAqzp*0JIdMjz5sfj7FH7kYMD=DDiv?Q7=$i7slqtXuywXms9E7w1i zL!1M-cr8Ub3AZm8>ZtSp4X?#$C`z+psI$@yP@4&oUdz5@sH-vyD7Y;a z#qABZ%v!?_xxUJQz`<>87jEmV7Y&_MIY7Ft?bEug44p_S4tpM1v3z0!Hd4!>WWmJ9 z>ZPL-3-GgJbYgsDj@WQ*%^VZCU~FX0>GG<1E7#%_?jzQYt{z!BI**P!@7MwnyUxpo zkn=A@$ub-xzY#~r&z+H>b5NCgm^|my{&DK^Rii7GkB>rNr3=rGRwX0Nmicu}_@OeB z;I*jp6gava<+G}jz}*_zXsXumL!|>yv?!GZIjvM?0K4Ofa5Wt*OZopdx%O#rKkt6h z{eb&+_j}zF?(^IyxQE;axWlejTu-^a=K755R@XJIOI@eBva#ndQ}DIeC$LxGn%LPm zEwCH8|1M+q8p>jqvu42qrKQU;O~*2MZO#PDrORHjI4`X7&$7EiOh(E z!hZ@s8U7+N3f>)F7hV`XCfpm2gG^r2iKGHOM_U z$A755)9?5F&G%d1Q^-NM$M;d+cHc7J$-YB3zZb9q--VlJ`dMChr38(a8A^ zdtURr;CTXP1AG)23X72Qf0(D&6Lavtr>BBM9% z_^acmj;}lJaNOe9>A1{sCRFOEJ6Tb0664?H|GPB6ImtYuWNDg-zj02o+PsiYQ|8Om zIwMi6cNr3?N}S3pFXJ9IG09oFwL+v*zOax&ej{;wJJ(l=ay~{xJbv7k=J84S)U@g@OLG(3A zbe@^M-xQZpxnzpX4;f8+)T_%GO-+)ha-GrCSnsm5(Ug!x`LZ!FZO{~zM9spH@unCX z)>ZV~0>f$w$d_mPjseMtz6KP-Y*<3Zlm|1Kg8EB9FJv;Q*?g0a?MO%=n{V=))L>~u z&1p)r+ApYi^);a8F{xRvF`8WZOF+$SQWFMFhS=0#QWHfeaBx9wJ|OXE*zIg~@{~g2 zFg17zr(dQL12~PcTKL%1Fp%HA)Q(^n2WnxQbtU;yY}NW*N-$ zyJktP9sQ7PNuApQ$EWMnf#g#rf3+R`sNQ9u`C~Ru%dA%7N!EO=5JZ0*2P1JOU#s{_$LN}|ejM&kGNE(6g&NTPh%7-ua1MiMm(LG-t5tmXu9;yL;9ly;PO zQC|a!FR-x+8B-q2NIb8<1oVDwGO4wr#4n}w(Vd0w_?1Zw)=L`vsVU9cCZNA(^);aO z3zM4l8YA&D{UxCGbCa5AG@?WQiAhZqL2J)&LG1%2QRQ|dzHt(_%i3By`UJm2eYed z=S?bVJG!ghWuSRCo2TVFJMkITe60{fKP!o{#gY|#LrUe6Ddq;E->z2&qTiB4mFtYe zH|t#nqK`%CR^n^&<*DuH>-ri{e2|S*nK4V;ufGKJ9x$2g zYDZs{)>mss|6x*t^^yj^XiBrT3Fz-WeGRC6#iVAv#z=fge+j64*`y{KjnLZ{OlqPC zTDzAEYI%lZF7 zG44KhurZot;D41_Qfo)=VOvr&Y{BuydUYUqgGohgN7vW83^d=%<|%I{dA^%9Un>OB z>m*UOSh9kGl*%R6c2uGG|Je=qHpHIB>3`S7F2%WjozXY2lK;-=R;=J}kGdj1#~1vE zBWohZMD_{45`H{Gx#l)1h~TE(rAn-v~Y)cr)-gzQ?x*F2uKZgZ~MC z$-f!j;90*9U*C87w)oEW8NMd(AH9!wZ}qP99`Eh)Iz2!1+~L{mIThd7KKFC(FSxIB zU*t}@7PyiwpYxZ_uR3pVUhGUeU5;lQU&Lv8OC3XwaKleQx3fwi0?c#nq)AxTh9HZ)hI=zvbR zJ~UUQ00AaB72(>@TvfyhOf>YQ3(Zw2T7a+&izG#?%~j{hInJHt=jS_llhoN&3TR-C^J-0RqM75YQcMGLoGM&1$62ND2Ie?b zurkM4r7#CHT+=0{)iH4mhDb`gAaiBR#2w6$mo?>04zy?xBY8WyS`x2lk z#WN5cx>^|zs43P}ie@0}WXD1`YU)Up!WtSd=|)K%sZw|YaVNWEUFt}cVjPIc2`u$B zYU)Up0vkvj5fGspHFcy)(G2v+5+ih@rjAra5Q9+G@r5?Ux=Jw&p-U?m`cYCxsuapV z>WE!1)H5Y@q)MR-q>k88mei3d#W4_w6Cg4cC3U2F01!wW5eT6Vd+JD)VgW)M)A}b7 z0)RGl(?5wI0B))w;VH)?+of);-k_Vd?((Se^300VOHP z*0ZWXfcsPuYPR)^Y5-7pDj}D89VOkmz3K-9o~kxUtL9sGR(-$-CDy*B)qVVWs$QVP zLs*>;l%s6q*HiWA!LTAF<+`KlCU84AS|tltCAaeHsJZ}xr?P{{Q<*!Hw^f}0!BYtk zS&V%%zxJvF2%!(*hcK#9cJphgHUQHu`P9Cp(z#UsP%1sUas_IsMJY~4x1V2cWh=o! zNr97(vTaY^TiH?%O-{R(d28izz>}K$5xRe{voeADRzr%z^TYWl842-Z+*o`*TQ6;~D z{#T;OU1K#eK0veR&a$Z#zTt8mRq__-exr*Z?`Rq_%VEVPu)X0gX|Dwi3e!BskUV3nLjU!NiuJNakkAqn2b5H{w($3tQA zAvdFX8L$}W2`pJoZVr~h8AJUzk_f{HP@Pd-1&Gj%9N1*Cb6{Gz9NI%V(+?lsSzQT; z(2alytHF?(HZvX?Oe1?67HG__jsr!FKp9lPUZ6-L3#|;K@LpgHgR`q+_285_K4&P4 zw}NXZ;XIoe=&i0GI5e+Fr)1cHbUFp9Fk)Z_Q$1B$4$ z0hk)tlmQOpq|mem`}<*#*h!_mx*Q;UhD#6`5j6yC<2{HJ@f4JvnOR*148}J#3~7qq zAC^^RkqnOpn;Fc_t}Z2V8Nf8-8_=4v5l1Ei_>wws8tr7P`|M}%8b<5D#o#Arorul# zR2KtIZQV|W20u8}X3Af#v$_aijD#4>BcU{GKby;9-xPFMunF`<3xN{)q~{||LDbL` zK{)!Rt2zP@zQb7*50(jLdH4+Gi7y5Y-{IGY@9_Q+oWEwEPsuJ`n9HOVqH&I-2S=7H zN{ucYT(~IPv2$K^0ey#G?`yb5_Z_}?bk)Q%WTg%wDRsr@$m(&Vvo2UYGBJuW4C`Q> zDOd#-jAn<@Il~aJl}ncrYQ^YUq`M+X_Vnc|M#m>QNJ1K=BTE*n9$ktGOr@b=4d4l~ z{pgzp(m-6g4#~A^P`RmN^~m_*m1Bq}t{xpgejzN0*L)OubaxO&!a}7c5%2;_@*{#qHosU%`AtusT1J znmr=}q8a1{XRxdV1~elxfd3&gID@Cp49%XAMFwvcxGZp4;IdiD@KspuN&=oUHZrkn z&I;UO&PgLn&%lGPS+a8V7^Mnt>R3FoVZr$2V+%)DF95f7qobFC*~IG0M^@igSQLprVEm!vfo0Fx9gGf}h{1jFvQkin9nyPhp+V zfo?Q`iZk_K(v2FZI0Ime3ha`#fr`_C#i&4FX;h#IRGbC~raJ^g=tdK$m=6qw1rj54 zqX|@;3Y2(c>o7{{wN(bbO?0FT7J5G!E?z-qAqpe+`O{xkYQ^s(q&(GOwo|4XA6Mdw8i zj&?_5*gf!>$b*r)B8A9%BNLJHBS%CIjO-P0V+FwX#R`Bc!{g!eu>zn+tN{2?=;6@a zI8pGb&?TW$LfKGfXiw}i@M`ec;5UPx4t^lGF?dPvT%0sGJJ=NXN8snkH@FWO2iJ)e z0E2-80!>%}@Jq1*;0FH||D`y4@L+!j@(+IR`-$(nzONz+;TG)rzr=TvFYW8VNrZ1; z*Z)VopTph+*Wf(D1>U2?3V=U*e&%@;D*!$sRsbC9F+81~nEO@Np3Z+dDgXaL=jWVx z=k?At&hwmyI}dQ~>GU{WcKq1!HAls9onw<@ne(=Wck^eR>%+S~?;M}r_3wZG>wmWf zIFIOBWo+3blaFKsc*+!>(KNtmHfj|zc5|G(V+kBLWjJ}KR*0Pc~Hmu>(xOa?=z_=xnNB) zg-jI*nm4gI$vVmNde&5}5JcZAiSkf^-db6b;S#G!eY{>Bh~6%VD%TlJm3o(fXjKyB z%f?utMM=~w1kn;3*R?dfAey(aJ&4~{k_CMYDCXI??AI7gaw&|x0`%kx8&M<4eUz<5 z7J=HWCN)?aQM=hBV6|bqXt@~YT4fB-bc;#NdX3Q}m%`XD0ksdCN)kpc?EV8LHBkg= zALN4C2V>I$wtMl-*>th2HSNA>5x+y_iy73H)~SM8m+-q>_@pBP5nr2 z8ewBJ%fNr3SyF39m#{6V(;whCUat-$$4vfeJCY}4s3Jjg1)Ha3-lJ(5Yra+pqRS;w zwpg-)DJDQr5*mN)(qge+2hnOX` zb~MZ;s3x0&>7cXjtN;I-!@i=u!iqNs=k3q{24?|q)<-r0HP-r112%U}Mo z-|x#;n0xMX&V9cLZ;Tj|MY|Azfr+rQM-(M&y;oS-;toZajiM)ugI zIM>mvX18Hxx1OE`9IkT*-Sf2{F?5DysGhMh3o=%#j`e_{g=W_-7ROdbX>q! z{57$e(c7Z)Bj1cH4F5X33RM63p=kRxWY&MUZC>z8!M6r}5ICvzrPlG*uz$UO8{db0 zJ9=;R?(BKcb5zUIG_omwOV%D8WGCHoUaI9%wNX5%_PE1mbuSxUD%;xK2QFK2#IoaM z2X>$1*?m5KWaWzEp=MxXaCn9O&r!WYebVyP$g|Viz2x}gWS2Z4|2}QS=*jZ$HET{? z`z}AJLO}!Z%=4`>+<6^MKk;1Feyx^r_S=4HA~kXh0x4pf#z&8XdScP=NgH|AMN5_+zeqjz(bguh>;@mRX3es-N1|^xr@p!! z-zimi^4fQzaL;zf0~$NeQ>t?H+IOJxZBCVLTj5ixdDYq@(0s77cN;eFrL(70@#?jQ z%Oh`8vFd>-)x2`;VQ7AfQ?q&6G38IZYVF(IyV}${9S?lyD|uiU@hR=-dO)Q=Ml@4&kfTtXZ-4ZD`DiL$owD9P-V7KDwg!FAFZ) zY^{mWc|*d6YCB}5cFEcWs8ufCQmb6PcS6e)y8MGtrCh$bvWG`ReI-MiYd!-zimRx z6uSI9P^DbH-KU1j|G>-D-|hT{(1hlxaryI6s-pahULBXeJNkB$32W+`K9|263YE(@ z6;7wi-xZZA$~RTM3NC*aG#~8j-3HG)K}}R z!oLlFGhBt^eW4;x>xBA}f^LW4S{g`)^_WTQ+@|jc)1aLmnQ!F3?4n#GwRPCuJGlPXZ(6&Sdgyaxl z=~RC)j}!pTi(St4fQKevvrnTJc~I2@#hggfrb8NZC>ZH9te$xY=|ODgK!+By%^DYU zD4@qQ=vm>*=fP5aMM+}@9qMcxbZ7#sbPg1FG9kdzLU%EZFla_gSUPDilh0CMk1}@{ z0b(&Xt0)=GfQc+2>8AooA^-`~d61uQMJ8q!C7~H~XiY{o{|bW{c=y52qBE6CqznB; z$z=xUbg|mstK0CD>=z)e20*gED9Oxj(gF?zfNlH@6eXJ(OZ5Y23+zbFaK zmD_Af(@!9*p@2>>)pCUt*mCaZDN1rPM5($-=_fF(py})Xa&wB3 z+zdF>mXe-wk(*bPyk@|m7b|e+qTxbncqEw^p@QGyd`?n*k0@7LpWy8Df5<0N(@H;=AmmR|*alG%e6@nG!M!$&=&mjiE!?4Fi9k zVj8A_rGj`*X24K7p_eN3Ic@NN6(DM(Jk4NJUM}og+85p40L?Eq-0b$oth?EGhu8gH z7fjUsIQa`m+W5-kcH0PgxCmwj_U;e#Y0l0U&4Wr$=39Iy}r01|bI zlZC<-2Pp#hFA@>?$3Rgy0$kfxNWUx#l7*E`rxQt#)O|%E48XZN+s-7?_?mnQkoOQZ zQVaQPcTso)aPF2cPAelARZ!fNp+vj93%iTL7C>%|B_vKOohJna_+XkmT;SrF!knV8 z1dv-(6B3_AxbaXTc45R`;;PKFF7m1c>{C*vcV?bwsx0g{y;P@LPQY=GBJ9KTOmvI)YvYejF^xskjl$jAMW$a z%;J{Ff}>Tk^bJo$-awAoNa_d)Vo5~05K*0D9qx$?cc-|_1R{f}rx-^>b&e8I^QJ)3 zNI~pM<&vc7kTg=X66~EgCc1}cD@lhIByJf>F~kE!E5Y6=PW+T&0Lh_9GJAMCCsN7& zq9oW8oH@l&FKH39$_$d%&``RsC>i#$#2mpH!B!p#l44lz#C_?)tfFMv!*O8=OE(RY zWk&WEc}j#lBzE@{CC^^EKsP9ph#-$kq)uaJlC_v7Dv&IDSz@-7nny!}c^K4bERo0) z;uR7*6eYu+{9y+$O(G~#;Jb#KiraJ#CP&Ek=@N9-4|&&Mu}EsW*i@c(`E9@zUwqM7!m+HY^asQr}o zw^HHn4{Z;%eW>jWzW#S=^9COYej>O!cqpv;p}}T?@VZObM3-PMye2-O$>mq}Wz@tgSU;Oi!B%8=1-pUQ zbn;w(QF673t1fZ*F3J(P2#Y{LzFlP5^cN*t+f`cSj1x-}KQ_%8RA1Cmrs*~O+1|K zD@w*T!T%)=XdodV30-{R6BjeLC>h&Sq-qqVn=(U0w?llx;8BPgdyA5{&38hh zD1Ah)z@vlbA}Av;OU^Ay{x+XQjk0`SO4LP4e4b2pg3RoUqU3P%S)@ei9r+*{6g|kv`EK?vr=Cd}>w`!`l zs4}#rA@fUzog`}8qHl=L2;rB=C3=gJpsk+Pl%-?X29=PI*gPfQ74*2IX{#PLW$BsR zARpdC%p1Nv==T(#MUt+~XHlaO^6de~gj9xOH7U&1aF4m6?+u>Q2D5#FkmU zz>u?Fx)2f43zdkPII^oukt`x`B>9A5t56b8RqsrE7x54{ege=8Ga(DR)<99^o6?fw zTSVRpd}+Wsz?+HJOAfY${-Vk_r86DkYF}AGa3~aDa)8)_4Nyrsl?CaLW-A#|Q@-+` z8{p%WFEl=jBi_5* zm3?X(OW(*BR3gRp5&QSdAwCH+@uH-kQmj~;s6U|+sX0Z-H|3kj{#k!B@tte@<>wV8 z)sz6~5)~jVma5*Fd~TF-g^Nasl}7nO$&O?f4GpVERWd!T~1P)j9wnUSO7xdd*27!_FyTA4D$%TbbF#{gIMm zLEY3+eSVt4f2->d4^cjnH~W5w@n*l+B|hTud3uS>BaiyRa6mNdcRZte|B z@HogGvlOnCcsZ3$>iqw%7XQQkd;NF#KkC04j=shIxA+tOt^7gXpMAgZJ?OjLcOBXP zC;5)@?L+qegB`baT-|YQ$4M&te`bfD>VJ>L?vLFbyEb-K>{x35rDHqBwv4q#Ux+@= z?!m{SmqyQuo)CR!bhqg2XejbrOfsZe*Qqy44!AGd$Cz0`g~`}yrs|F6)#eY>aa zk8M9z+5cCyt)TM2e$*bA+146-Huzo82_FkyAG{#AGB^@EAh=VoEAaQgvwOIms-#f<}_Wa%RTh9+XcY8kOxx{m_=UB@B-PLk98yvo?`5(_`-M2bk|MkDN2Xyw% zWsM;x!P^cxkw{j8monLdmLcY!e zI&-V>o=m4zYo_r6Nkvu(8+Aon+kuHrZKa`v_9JabG|ar7VE}kj#q7bo^6_WPbO}0UNqiIf_MJOx>}p#FY7V9w9!8?$N%2s60YNK`gt99Wjg=T zR@a~-wWrkVF-;#Qr^##=BgXm^rYG-@6B zY}3?FnC90%)HXUgAJXec?Ui(X$GTcuN8i(9=-4Y_9X;0M66@$u{k)F5GM!eXOve@0 z(Ia{t)o<=}epgRM`!}ZN!}c$=b@W3$1)W=S*!X0#YZ&=s+kWRdvT9{Io5ai~^z<~g z-pz{xwG5VLf>4u>%G`ohO&s&B%?#pyqwKAO>{}}q5WvISw zsai*!zq1Urf5gz=>&a?wcX$5E8a&53>U`Gy3MT$mPgd1N-GgO1tvZ>F7ckE%zgf3I z-uX*w_Sx&G^BLPTX0P<%Q?>!-nxOxzN}Y{+*qHVU+cfi@Os7>Rv+)*8`?=joYSG9# z>imgqn)-M?Y{Z87~*O)g>k?fQ8gcV#-QN|}x; zSbv*dNA&>P&Z?e__HWpKi~UP&9eqYmK__w=8^6%(8b*HJw%@sqtXi4QCNcAKdU_g= z>CR8KQAu;6ck6{Y%|+!_fb0b`3+nZ5isgFVkt&%CtU3>YBvRZ|VI1 zqgy&I?$|2!q1ccSZILKNLPD^!w21GHsm zt25aHOUF-XM=xKy8oerY?{Y`#-X60af9L03`t+A3G;VT|nOo}KDm1FpJxgO_>fVjd z-gD+w&)vV-TAQTqtwgO#-LurH)II-%mMKi#TY)N-x@Y&Pk-C@udi1+HocF^C&70h- z>|ED%tVPgq8cJ2_-erb+n!s~RD4YVPv~2CE=u_F+roK8<$&@NQdF?4ER0JKSLId_c zr7BmiJsFiMblS>831DxMAxxD?IG<(ryK*E{7; zylU-9?pSX4CafgUes&-qohw>3HDx$OB81KiLCMgUde# zy~^cV>~wXUOndC~`>S{T^5E0|fpeTx&LNsb#?jj z{eOU`yQSmtjyquVKNkGIH}pmn%)*VdT- zXZ}z7$Nk4pS70k@3f$vc?;G>&<=esg5AVaU1f1@Di+8r?-<~Htw|dU;9D+grHGlmj zAtnI7<2)DxsF5VMUC{{urVy-Ne@UnbT%|Qs1MCGUNO>@&6k{AH2~7cLA7|SN?E?s! zH2r)s34D;EVErYbECB7}6c^Aa5ETH#z^p-HX7lM;C7~_=3~foXy+kz%Ah&`920TR8 zU8=hzgatq~Eg6MpA#-ksCP1N3>x=xk*(ISV0P9l|l5In{5=c-d@0ILTu!fmjUrG20 zz^F7H&;j^NCepb&dE&GeOorog3PcoZa^ zl)Ostg@AMziR|2x@D+fDZfqFP6b0}A5tC_2RWj22W|V}p0I-h|rF)>5Abn2?mhpem z;;fSJ6ae;764E&Wn*slx1K33e0&mRBDhWFQBnp;{^o>wRz{mg~s6bk5F4J35lmw#5 z+^J;-QDvBHG;mFrB#Fj-B_SkGPix9b&wybC$qFWy{72?fy00X}1TMk~>XQSroMPrk zwkpIBb4$Wcpt{CvS?Zh>l4R_Ig35vO%A{wOgrWd2v@%#`jv8$sSOPy6$TK3nh=3GV zBG$x#Gy!EyF2QvrdPj5PH_Q4li^J1tTd^}BpxLDOOjYE z3(V2Bl%u5@8cEiq01Rf0^w| zl3NWL+957zXpo5|$){FN+fdO>*IcUyHWXzD%c+E-nl$ z%8V_}!>B7dD=(Fy8^xnQFu(?QLhAwl&C z0G|3|n}Uu8;4JHeg$#(DwXiX8G+=TlJjlrh+Q_U(0_1xg9bH%dOhum?%O|w~$PM2J zjrTTOmVmmhWhGsw*}81!el?_&zVhTT+ql;@I=a6kTm*zbP6UJsm?Z5)NSYv&;SD-a z5;g+dxl@`K9w|8Z333M%!xHOdpd`!$uHx#IM`={>%)EJd1!U8>IAJNk#W`D-h=~^@ zYnbdAAuJ$$tR!p&L`;^ne(#a@fFp-P085|(DhWja?=(wBz4$1thCk!=15XA2%4Fu0 zgqeW+v6_^6_rWhAH77|r&BL6eUiQLC!27!qj3HS-^w1!PU7|%Qqr!gGTM|wJVx~r6 zi40)CkZQdIBsjZNp|>R51TM0K19=!Mh=3%Dp=fPB(OVLR0szvD?UD+IC|N7QKt=L9 znP4+Y!csuYq-5zJ%meU_Ga?4$U7AYHDhW*iF_V%|F%x1)|H0S5(x*WAfB^VAvM2$O?ObdR|kOzDW{!k`0?sAHs4+HAws}liO9quiIG@AYVI;* z0M&^Eya>rMa0DvM9P0EYg?fOOt*}02(*q?>GjS%Z^p7O!5SWwaMe1CCsYS#w!O^;Gy6%h&jp2Hk+7JJR2EVVY;2A3IjsULyG8=p_T**GS>1t6weatwnDBU z$dQn^TBh_G`4fyYxf#9woYD-j}SvW2XmsXj&{?>#H{|3%(A zTKp&b_w#S>`-kt>zK49D_HFQ;=-b=3Er|DrJDy}`;F6Bx;Re{HV@8K3_BcrYi(*S+ zyT`VTJ|F!?v>3f6dPek^==|uGkv~Mf7Wo8Bf=5MmiUh*H3_l$HeE6pDn(*P_fv`XH zbm)tr>qARJ`-FNFhX04{ceSr?KLI|$?zX?QJ=#`nTiZ6=c5qv&ZL8p4LG71Z}ck?zddCMbNk*((~+G3Lm z+9fjf9H2XWQbGM}`*-`jdp7Dc4ktVZ=?ApN*T_lrlr(0{zE<~uRsDe075#u^{eV{) zM?Liq_zC@hrhwZ6-mD*RQbGNIAJq?NN}3P&aks`?r|8G@6g3;Go1#TM^~~!oQ}iPn zms3;pLvH9g!^Y**2(EYQ z53@b}l-KAHywZIHt>Tl`RdWQd&?9JHs~f?q^$1#5^ax(5NAQZKBY2s%*c5OZ!HadL zPb#RN?IJybrldK7m%26PI)azz5i}dC8^O!<$e7p79#{DKF3? zc!m22T15!0tL6xvr$^AfRyTs{^axs4^a!riBWQx`>b>Z>+G10{Z3NHOoj$3cezvpp z2%3`S2%h8CnCl3x(IaR!RyTt0)gxnGH+x)-;F%kjQzLk~TYs4C>8CtHkDxoK&$CK< zQ8z%GXN4X?`&!)yuGS-HUC|@BQjees5~?4;Q?-Pdk-O*JdIW6XF$3~>gm7>dC#2_ z8m9u-H@>}%@~|{Ee8A2>;D}q^`0>lx7o61NMz?iz)@| zv-`Au+037F_Nf=O|M=($&70h-ZdmT|ZBVL!eP$><;bJBfPQk=kHvT5`DPW(euWm(8 zslt=Tw??4?_L&Ne7cd`mPdV4tbk#T`zm;??6_^2mZV zn^dvtfhpCzay*V^z&_^} z?EHHV{>Se>)6+T8#hdJ$T!4M!TcA+^`z(!(F8_fmU*7J8Pad_|TAR514%8}_U;jZq zE%kNBW2jOt-|kbx})w=Z@tbkD^qi@0j1-)8_Ic=uTlAr^5pV(X2e6`N*aRoCcR4kgk?s zdosP#@xZO}z#CIM4KCl0Ugh$gTV8wYFu(7NPd$3df8d-c8(sc0@A$^& zPF(olW@~NY^1Y~4F28;UZ(7oK#yzM~F5m7`!{sNxdrIWgXP(&X=WF8fTTrT^d~>sI zx?KL+bJ3@YEt>kK&E>B>2ZbuiHx*8w%h&w>H@8GS896617TF`RZTR=$d%{=K&t<}-1bP@9c>r2y}NCw%@=$k__^SQ;8-vZ z|Nj%d^L#F<2yaS_dMvi$#artH_qaJ)AF^Jn>S&vU}i~b0syPI zLSR5(B4A`pP&El4Bt=+Y-p^!bmQEAg#7_Ds8ZbBT>tv?CWO12a;lQ#;@gOL!0lv1sTMF^p}o3x;80CLs;0SXjKb1*qqG-7g8 zEt`glf0!b)=74M*;TlFlG3+CUvlJJ>>M7}~Hk&}hdRACsd^^vjk2(Z3UDiSR&6h=nj_ol>6 zmMRvd5vz*D6`O@brYsS#Y7qQTk%Ll936}VzS6bqa#0;`5$f1DeJ4dagS5VlT#P-D|uv>VB_#dDZUtPM!zjB zuRIur$;<&>%l{{H-6g3907lemPrdQrDF)IjMa960;t1xHqznKE$(oRYl2Y4`bQ+5G z0Vf2~oB|H}F64m2UhZJUB26Vt@j+Dqk;E1_*?UV;005kAqc8wc`V%BDSu(tGq;6Pm zN$LQ&$bvymN#Y!7VI+o0Io#CTl9U4gX4}}VWG_(^L`oV;+5^dEJCvj*z_#W+y|CBrAGcY5=Gn zH)Yk-AZ5Nc1xMzh zVl~Gqmp}=_2uzsG0C1(SAMc}*MQiR9C+bKKvch1-<{d-{6mnb!Nb$43CMErZ+`N*|niD8pt^%b+ zi^eFpiennX;|wht8Oi5|vx{>hxsl;f(D+nBUQpUi1xoELmroWbsnUM+AEdn0)F&lL z8l>C_rMepEP0H93u6ULi4<`j8$)VkN!qyPpi2MlLp(K%z)A~OeC|S{t8410jILS_l zYKVmFd)>n*D^9ZSZ4xM1_cq2!*3V{`Wc_GFN%sA(=~7>U|G(PT+d_3dVgJ9@zs`S} z|5$PX=J`8)fA#&w_qgu?UzKeA(|zypE%5Eq@odL;IzH2JL&w=2C&2%|SI3(>!m&Tb zz90Ka?6%lVvG>NtVsD8J#b(6b81qD*i#{2>FIu5~;Hv0Y^oZzQ(Yeu%$V-tYBHx1l z|K`Yrk&_~aMADIN`2YVF{z>@0a4~#o_>Ayz;lslD@D5>L=+~higuWTNGgJy)8#*gA z5;`C>7}^0$!r!Py`1ST%+plRKhyVZR_WA9z+uPcH*Y+d$|3BS!UE5i03)}W?OSH{s z3kRPIJ_dK;hl5uJ*9K1^pWxtND#&qh;F-WMg4%`qpH!vD_OJEoH|2tb>hPB|{ z){nKWhyVYC)&;F8Y8U?9{~KQ~{QrORKE<9!#rr<*W!|&ACwSipetNbyM7F_Gp6__R ziiZ?ju7 z15j9-4|BhQX>YepGw;d74{^T*(+;&wt3{IWgKg8)PxRUX{X;DWJHEAMn^kGt@i$pl zRmY3v+i9j#M;1D!&unrD+h^G0XH&w)KX0Mb9U&tP-PPzdv4)Jq2I9#b=;SUTTHT7IWA%7 zLzbcX+EPtX{!PnJ`$r7@mYz{p$>bI@AJCIP{dXP7EWP=l`xQ+5hMrN4_hjN$1&qcE zm}eE%P**JD?$cAm`U%tSw@qV;iD_T94KODzrdc&Ou4?$e!?ds1rkVF-;#LKW##=D$ zUb~aj%$5*0{w3Qq^%Fnbt$(=Ej$Y#z>dAhk1ie-9+WVC<7{!8p%YU^mdo`P38)&n+P*X$ZbUTd4;pjM7w z)9g0P+@PnYrOvYRD&6z7A2IZ5%TPUIWfl~zR`oCD6s+cfnP zy>^5Cp|)KfAJOYb?YPGmSyyZ8XiSfx<9qu9N-OU}a{Y&@meHHX`J!IPt-kM`w>G= zvJBNTR%XFkt5yArIYlpMb`3+%w+waMmxkUIy%!fjoB+bXr*tc zlgK(X4D{)?9&@!|+G^W0^GYVZ()|`pTVG;T61(>-7N5kvR44AnDMX2CI5tNIsn z9t=0ThM~t=hC1%c#NX5GHVj>88EP*X)uBi0^Z!q@bUe~g>^Q4qLC4&V*4WQuUx-~6 zTNq2lBGF&*1%F-ixaiK&aQkPews%bXeq`(aiSz%Dx2zS*#2hm(T<&N|a-gYcCekg}ak#d8?N z3hcB?A?VaA*!g2mKFwY!gk_x9zz3Jj{EzPa*}HJ=n}60Ont8Ed|85%g{%oWEw>SU# z%R&gqA?B41UjjKm65;~~nkau_BQOjHlg=DW+n7zhK3C5<-)%0snR2qxj9 z!~!53v&zB~2#Jg(BoQsAfE-=m37}o$%qus$EaZSdU1~Do6_Z&xOyodH>Wg!rTIem$ zMvSw)#sFIm0y)s*(ep{j6G0oLd&@!!=psuWLE$2GUFl1ysGdsomW3P8MOIEkIc;uq-TV<5hf>&mvLx9Hq~2Jq<|u1#w9{- z#{*y%!z?^XL-dSL0;;DqW$76?fa7qT^KXvY^QlZ z#lrantO{|9*UTx-0jXfaIB%1qb-68{A1Dj283&|Jabai@g3|&eojK731(%~ch1e`X z4>`WlGugocC%bT6!K%fgNF-*Jh2f0zQA=2Q2^ONfut^EmDx|mRp0etoRRqsyV>tg^*trlsi(IGGqR z@NIM%m=Nep<7MG911_dzq&J{s%FQVYff*!B_RsS8T%bgC{aAfG7GA8jk>nN*B?Ox677sy^mrmw6WMvJ@ z*|iiy3X-3Bg#qjm4)pOVqvE^{tvGzxS%YAcHER0DEphW z4Uh%*iX0FXfu0f>!uRvmncVg?RAH>)gMfP(zhcFX%-KwI!U;$it{ z0e{e476L$C=9Y|js4O(ZLY~Mc4S;6ioY`fe{S)A?Zb-k{(nIp~Q^=!>4uFZSwn~I=x$CA+h&6D0Y_je=^!o$Mb$CE($Lf{+Fj zB@}?X^i^ZhH*iS9y-BPnQJ|1F_LPM7PoUF!S4YK(JTI>T&>cK2FLK7Mq}cvM$_#M` z6zNAWx_CiB`tkmN&Qr+#)Z?1MOdlRW=qG`VD^hS87S2D_kEX1eJ$b-Tn%Xs_^9T`I5UK*-fTG;}dgARjwZ29hE9w&s6CKc$reo ztHyUjvr5-9H8*^!OJ`51;??83x<7J*V$}mvs(I!3E@)QSYvv<6-_}#Ach&gL?pAcAwUxBj>O`pq8qENYfQ{i;F`~)f$ zLxrjGRdD%3XjU%Y)ZE~Cr@`g#B#$gF)=3plhX)))v+{tZX4Caf`4g`ipXc7yrrzmz z;DJ~2z|-LJ`_ZdhzLVN@k7Ewns^@?`7ySp$sm?Rm)wag_(5PI#rLn=~?-76Guj@Y9 z-@e&eo4EX5)GC)>&r~}-E`Khnl*_mK)NuLVUoduN-{p1He5c0c?}$>Bp=}a*OGgZC{F24uOiYda>JpC@eTOL_L&q)pPZq%PT#oiv99sP6k z>(Tc`Pm3NBofq{+9*a~WYa&NRGLbiie--{x_)2&JcB%0MED03?&j#)aYzQn592Dpa zgz72)ZsGrh|1hc$W|kC5VOj{S^!mm5>cH)Nwz_+j(U8b(e*!fUQ+aMmmRWSvftIT}_T! zIPUE&D~19QGWYK|K_YKg@<}2OAyIoDSfq5>CT zI)_RvB&MCT?1v6 zdX1Fhc#@4%W_F(Wnq?}`L1bwTlvVDvo47hFWrnfCOLZWsFj6_MuPn*eY}7kjC)bxg zVux4NJ!Jaiddre~op2MDVm1PXApet1)@(l8U6w3tSz+32=_EOuW~*1qE3xg*QFeD( zvan@(*k_<}0xDII(kyT0x16fZE=vkFJMT3i=_s;jnS<=kQ^iNN;5kK*Hf0hUyHwJ6qjSu27(SwO(g@HQ&WeuoSG)ME@{_0ZRNbqWfEt*%PQ;I zHjd7ab5c1hVcxQqSuRPC8zu<2PH#ApPf!E)f0bcl((_W+ zixQeKVAi#UNL2-lT(u7|8!nsoy2aNMEgJ!UU6XZR9uvY7pFeeyuW@#bvd|I`yEv1G z@Y$4dQ)SP1rSUcZc++1NWur?|LNyb+NEG)x?h0Ua4A3rm4(+u|DLbnyd+>%37`UToBVgMiAygAsPlEelD(PGY2a2FiIUu_k%$#Dl^@ zkWbGo3sV7MQKKl&BT=c)UcmK{WvphFg|2`XzY?W$IFsgt8ofLauQZ~|nPuT9;Ki>* zq;H_s$OE+!m@O`!Q`hdY5EJm)vqbcZABd3Ph^UDN$ShyzD=R(%QDsIta$HL3M`|95 za;bcl%J!CpjzD#zDa^cqOoWJymyDFkEervc6IKEjS!RzAgGn_>z=8!K=9*g;ZUWUc zX1j7)3U?TOnD9wnE<}t%SD?B^$3!rZNfAN-PaMZfwcqs2@@|Nzu0cdi8!&$|S?M=k zq&!Pcc~?Y;iPTeDhwKva!W1HP899k(9rTxXK}r^kOH2e487~ny7>F)^3Ebn zn+|Da4oqY`2m~0ymBvEjOQO)MapFb-E&^}DErBF3Gy2PUq-A+I8W(69MZ)O;f_ott zNf&07b4bhb($dTzh{%9k!ZIevAM8l2eSxxJtidT6PTB_&2!_|kXcdpw|zM!(p@y#AT2>r29#^ENo$Hxqajr3FDH-& zO6F*d#vqC?0vkf4A*3nqr=?YhB=9_1Cd$jxdrYQyc_)Oxl1=0q3&Ys#@*qDG6xlyZ zU&saXZ(eyGVgyB3Y3i{NcwsVQnbab{7MbC6awJh0UNn*$%Pty`V7go5|8H!GR3m3a z4vWl-w1=Mv-x5A2{I>91D)#*}^y$#L&=H|Ghg#a7Z2w~WmF*+#+4fM|(`{dA`%v3y zZTq)v6Z}K)Yr&5M&kimK&ImjoxX-uDx4UnS_ut+pytjJK@xI5qlef+DwC5hrde34{ z7TU<4wcOoueU?zY< z2vQLcM>5k>5sWia&5}`$2p@p^;nf7;8O(UZV-9c`~pqu#uxu$XTs4oz>PU`>C+gAkO%wltht1pn;Kt({! zZq3PJ<3Y{8{)*t5S#6HyL>g~p{LQK;jI;EOtaP>7NW@T|&XBl(C^ zi7~zh3*8qSTG>{8f^@W8GubDI;-ztXf-v)jhIqlM;=!oc6woGn9|E4@gMzOKF!Vzk z&0!&q0Wgj%OgSK3>66iUL;tHuEUup#_Sb~#MeAFl$(M$GYm>{b=tIQ5_kaCMq`xBY zf86VOmmOM&^Pqbo{^I2d_%5I6uSf=ft2Fx*1mi=bY6)zU$S0K@s7N{hah0=ef)94? z*vA3*$3H2aoW;{iY5u7ne4#A-J0pHNQwZ?+maUN&DM}AYAw#2)P_R3 zyV8XafwU#0-g4vvpitnDFt!ob&8bK_0G}c?A@!O|4#I%T)--!|#2C4By0;>E0K~=X z8@?FWhJ+grNNk>JEJ100c5f$Svn|11H{~HhY={tD|u!`asvps zm4xaYN_`LJ`HEw}i4`(9`6wcU0G5dKjlebsac)!ummCDh-+C)5D?l1DzXR}=Od_IO zws6RxAzLZgTalaq^|+=ik4TCU8+PPWz^(|pWV){+xdEylO<8(`m%otjGBHs?e`e-Z zBx8V&kwzmVDyQ>!3A4FLERsmhtVq%T@sSdhxs#KOA?7)Rdjhjhre;=xh^W3nwdxzD zEZ?x`A_svEF7#9c^sM?uiKuzQ?h~L^`CO3i06y0SDhlh2F8AKSY>LyB~{B4}q>l8)9@d_;Ic*E4_FeM=P9LW4|m{nF7XxkJzN;W2#!}u8}uldj%D)f{E1WmN0Tah@ zh@Pyl@3p;+tNH)7Zt3`C$G19e@3^*OUB~KET)hSx6=c`ovk$hYD3`#@wovLteFWY@?}ksTsY znEjp#e?5F__?qx|_|)*i@V?=J@Eb#af!puV(7mCLg)R;)4ILVq9~ua4)&6&Q{qAos zwO`l14qm?_+IMN6+1?7{~3Hb_|4$$aQj^z zJU#gC;GV%b!S=w*fu{rC3ETm%-`Rm<0}BGX!s{1peX;fN*1KD8Y5h>^6)+N<(0WK~ zu66rXpZ`Vw&;8$lnc)5Ywf-gkBmMjOhx~Dv51;gX#dn+U{k{u*C;ATYrF~ob0^UD) zh5xVWy~?}NyBPMr{k$1(H@h2u^gQah%Tx8-=(*6d)N?rWfA?>Ef8%wD|K=XhL>e0$ z0ZAd#^|of$a+$6Lnw!IUU#83A9&uhuX1Wg6+#J?5y}!_Ppe7Ni{W!d=>mW@cvO$07 z@Q&^})-uNB)2C~3vuhZ-$THM%U#83A9wjC-f1uu;Miuyh@1 zn?}4VroG)Zz>Ll@&7yDI(C|HgX-C+mnfGM6Eb_$0TQKc#+q7Dk-F1j#Dt*)ipzpp<^=)(|ej+!uD?cypFpvT^4F{Am5Ggg&8}f&uWi4BjHheIX18JHTs=LFJUC7G47Gp6(4F;U zy~bWgX>0HtpYL6H_bZr~)00)TQTJe(u8jLFn3uIJnOH|jYxap|wT@D@Y0O^f!FhIT z=9*xj6Yf_qZOAswyeHE&=za^P?PQy#7LA&S{kCc9Cwgr_|4{o%i2qryBlV#Xf7!Zf zucP?i^cXrmlOT-xSCdQ7F#S`T=(sBr|9g|0AYuB4UPtv`M)AMs$!PxuSJYqaUux^f zqvw+Ilb7yoZFY?g_S>d7*O9l`ZFI6vPfz1pH~w$k^R*x8=oZURJ!54SY-zQsf2o^p z7`jcfYZ&?_%TULCnXavx-G-rCTZY<8M$Lz~WvKllhIZ-6YVRU-by$PvTt}VmS1|F7 zda|lE>K-i9wT1gFnD++Tl8JQ`wPs&!9mQ!^zmD*tF?7>yBw}Q|7o57 zzpSO>(vF$2ax53UC%Rwcp~&H&0ER<<2(2Oi|AzK?ZJ%q~C;08)VSy(C!>zw=T?Qlm zCFK8q+_$s$KJTHPA9{{$`E|>(jepOr9$zGh9g@p;t&tMi0K`*!Lldc2Q@{tXa(u*2 z>@YPu_noFx@2c@(JF#Ojz0>i)$I1gsM#*G~rQ@gcftQajM6b%_yVjY${g;9DPcDDw z{u3HEIqS?Vm+w7jRJnYX#)j?K-G6n{st?3_4%}?5O>+5;L9NQ=v(&2eZQq2JDNNsf zH>y-FpWUbR;DGsecb~iTqh&716;++6;lXjCrW(&%vc=l$@L-}wH%o2|8p%RdCQ%H>;XmCFxI zXqiHn|29-9mv8r};qq_a;_w%4IQ!}e&70h-t}cH8N)=j=mx<7J*;_2{!2cTKGeDje_*E{7; zylQ-Z_pUbePR9f9Cl4$xf3gRj2A97tdX>w+#_953_J!wdx9vIqfpcp{Jl}DT)w4t8eRTgs8TN9?o-p{|MH_x9k%SI&3-;m>`sy< zjsGv%{Qrk^^mPPdPsi?zT@f3JWn;1EZ=w%Gua7Q)|3A|H`SuIjm$e_z-qZFHb@qyF z7f@wy=e8|_zoEX~<-zv^^TDpbi-E5PZVW67>=oFq^)EI4|2O;pZSnsf>F@LXqouU* zy#iC>f$;4(n-l7>M3((B0SZWl-RI`(J9Li(V4bj7ma!Mbp3#qmo=Pg^m(^yIeB8t$1sbREI;-5GnX%;ozxKjxo`!Tw9&eD?X@yk z`^O>2pFDcf@ykZL*YsC}4glPx^Qa#IkbcT1Ar*04CKWK%A2$o;RXQKSrd{S zT+-_RH3C8gFE04b)ZB`&0+4Chh&d4Yh78DDo`YmhGGstPzgtA5MK-JJ_P2$DpKbzu z2(lc|F{voM72yVOktORt3BnpEHpw@jRdewFSA-$})O2IJ^nHqy6>1v8=L*J}{+wA6 zo&cc1N|xRM#0k+smIsH2UnpY92@-AqQm2%N^bNVF;KfPclQd5lZxf_W2_pd5U`s~2 zMz{?aycED#5__eXd2dDW0>}fKyXJZhkyZ-1LJl}IXvp4*a0I9aHf0s`9!N0BkMz0_ z5@-7=LKOgRy0Km6PX@{i$>kMZ2RPSz>^`Km{Ael05IjM zVVOHr6cDhl&;di@Hp1}o3BnbiZAt-FH$Yifd`hZG%Mz2F$rInGiDr*47Vhx*?tY=w} z4rzf+C&2FV5&{M<&~>^~vYvrWJEeh513i~l9EfyTKFL`XNq;7X(-M|W8U#Aa+Jl#v zln3zB-4#iHmi498OE-~KMgldoFbp`{@;^<@i5MJX%E)zF>5^z++SB-NQjGKYWyN*DSolHV-;qp<-6jfP{S{;$6xDb66H9nuOJ zZPr-Nc2`ukvn@?uNR|ktDoA)Gsf$U=lIy8RzBABh-K2B|hMO&=GFw(8;h97-TS|HZ zx%9k>BsYVF-k`A1i-!}7lcV`X_Z?HYP zTLpk-iDcwhK;?}OmL-(kv}#DqEZBD7k0u@xdT}Wpun{aY^gOWOkR(j*8QF%fW1(M< zhidrmqa}=S#4Z2d#6!XafJ42;ae8jWLuAenS@811ZS_}#48T=d$3v98!S$*rY120-$B+t_VW_?%I-3Z#DAAq0-1p`V*-x>CBvp@B)xWRufY1HNG6h&0(Uv zc(AdzB8&jM$FFG!a)^gWAsggPNwFGUS1kD6itqur$kI!~`~gE2uP0uDLqGNl?t$*-e+laMR%(kJE_A{-Ke0F_BjNJi%{fJ9fM z0F%51CkV-bGb_Rhz#Ct+ru!yK$b@?*?36M!$)1W31MtSTM5Je+JrkM=-rtf)2JHn; zpa=ov3Cuu*8ASFr`WRtSl;F|otq2={>KId$V2B|mK@E>7bXr8deH9@EAQ)35BqxP%Ml5=WNJ3zh&4v!xug?v_gL>^ z-diL0z*TT{WM$-?k-4a#nUcfKbj|D*oH++KM7zubFZhTpr3x8?deZ=4vMIREu}Lr1nq1_^%_uu*RY zsy#B#=lHqX@7=Sp0b{e>+tTazzO7NjZFAi7@40^O!Htp)d&;u4>-m>klMRAOgXf<+ z`r(~yctCTnLbdo0H`S(`Zt(9LZ%_>J{7s{Eu6Jyndj7h--Al z&o66Wm)%zV?w9A!dIYa)GJ>9$X8OImd0Wiu^2pXMg$RGV_T!ACaUpc=vN>v3|&0C*nO ztIF;C-18kh_V%^9vHzYPUF(WopWoFZWFE2AkI?_=Co=^a`bu@dH+82@DyaM5K|ScE zq&eu{c5BRa(7&appxId66nsc`xOv?i8D;)AHZG?I=4-K!wzR9bKzEE;Kf$eIZr9H; zsi5wd+jPg6l4i$z+O09yj`@`C7_+guj`@s!VDq|5$9!_*a;jr)(Z=6kypIjzy-{tv zDdJ|lH=>OrUgn?HiX9vd_yr*-Sn>v3C`W)J8|^>uBr`_Z!Je(g!zj%7Vx)fU^= zCM@(0f7@`@pM~Y`(7-c+<*om0J-;>L-=OOM?dbiCcW=-4J@0AxQ_Gr79-tNL zT5U{+yQ`Rg^5v&&`P>szTzKoab$-Egw4ax1srM!mz>29u@vZaOkPh3U)klW&-*rde zh4QkmPH3JI6yG{8N)?LFbc_?LbVA`&0Jqmc>ZnnCroOs~Hl+$rUe|&`h2k?68a{1G zRjwXC7nKUdXR37bkyEO9)%ZDRRwzDGbAz{$&Yn`mtH;;4KXQX&)dN$idFA-oXjUjb z^N~%rIpt5hYWytst~T{f#{-`!4=gCY$sSlbeo8xf`S=;=RVY4t^JwDbu}ABpD=%EV z_K69No9vw2P<*GOQK9(UH@N0+5y|Dk7k+TFwKhTVtwyav@zw8~O%HH;6{-}9&+b#h z<=?U8sz=ux{n%zdpDT)Q>G(>NDwl6=giV*rA76n!1>83EO`FRfKMjS-<(mqp)8(Iv zO6BrRm9K)!KLyRo<(rxtJnxh{z}4d?yFYS+;_2{!%h9Ynp!vwA>z(o^UNyeVy{k>V z)A7JdU&#YcgUde&y~^d=yUi0WfBr9`_iz2g5i|Y+=j7({Peh|~`R+U7^WVDQx1amw zhi}B^)93QXP^etKsc<@7{wOMy%QscN3NC*!nw85pH8*(PDR+SK{ePgR zUF!dpIh5N&;p{J-5FfMfh0^bkZ9JnN~I50o(hSp!Sex~)B){|QIZ=LOb+5e#b zM*oSN@6Yo6+xLCnCpg_dn6rJq_ZQyJdoQI*%um!xLkk(QjCe>e+;smbJz*_QDX_I4Rsbth^ML$61pqcPt15*Hfc{v*0{zKK*^)GWpi{v1Bzme+tpMbT zC1XKa??v_apDuM);}u+a`_+9nyql2OE8z!bXpd=Ep`dnGuF(Z1JMh@S-uY zImSkzh=%ribR^q-!P}}Kg^dokTsIjuT9xpt57bnu7+w`ZcIr9d9L0eHPCe7; z5alvbfCY!d`=&DjtezAatwKAhEKxWGer<|>;t5l)vqWziOSDDA+z=|Mn2jN|%VacM zmPm@L*1c{4UfsP$$XWM$UF81X3F?t zWhOPJDrE`?kZMxuJ;xFjP_h)Km0E1+d~el@9C6IGjsQujH&KodVICg{FtSpgz(tmR zqRl3-BbS|J*y&B3J3v|gbD!wjS~d$Vkhd6oFMX{&PGOcVU44W zpe{#UMJXVFLPA@x;Ho5n=rThSg|8Q^JW&}%2Z%eUn;``Whw(CGJ%UQPs#h7ScTw-P>NT7Ha)i@1qxK>m{zDtc~oPhz7}t73Nn)kCN&Cxjw>T% z@=!~U5{Hu7OKXB3pIKRj2+(mQqI!oC6Vf+HGHZynQb5O7BBDB{K0X5OpCX})EU0`M zjCp@$1yZtV95D%VMGF2gsaZa}SSiTZUpcLrwB(BM<-u}f1u!|ev%hj`Gienaf$nFP zGaX3jOVRbGAWd}Sv_wKFNj4-&f#pFN=tOtrWQ1jf)uJPc8B(}dG63X5fRBuPcV#(3 z#7CBpbQ2Z9b+s8V`V@Ldk&L+vA>yN&kdBY|pdgZGnECAC6JwyVRIE!O)=PaFl_BDu0wA5HMtiN(%6KNGJ)n}3M@BYdONE0kM+NNo~n@sWU%JE23{!dG* zV2Q$ixHU-^B(XI`xD>A}L5T8yT1Yxd;;uQByO-!ZRan~v7lZ(^-r)W4&+(ycqp?^wH@3(L16aj$RO58a*spi1tRej3+bYkep z(C(o*p>X^2?LTY(Zu{NsH@9CxrGR&|@7JDc-=W=0rGRg>-PZPjwoBSpwjI^Bds}x~ zAo!=?&w~#I?+CsxcusIp@a@5UgXv&TaErj715XC-3zP%z3tSXf88{lwg1LcM>%Ur` zZGEiui&P32Z#}N{h}OMY=e54U|7Ty!`-1l=??c`%dOzen-+Ka}_1(P*?@Vup=O3P* zdmi-M=DF5$zGsDJ*!MAG>%#M(@t?2%$7{0(G{~m$eG2*Rd73n|@k*xaT=!cb-+iwp z4Yl5b(Q|1mU-H>hvqX?$*Wy^T3403#mRN;qxnZ2$+nn&K$A<@zP~onaaX2m z-zGO<{eBjBSLt4=Y1Q}ARkGF0DY8Tx`{sQn{` zzNn|z4HBn{nN~`J`ft<7=k;JTUctoY^b~8nlIgMtfEzDhp2aJyu2{xBtLKdM6Q=#n zHjOzarafaDV9sQwkVQd!LqkM~X}_^eGw;cCSp>k1w_w_@?M_ltT`kO~ZPV0GnD$Hk z!}a#wLf372_Fpe=+^*ZLtF_sGhaSW08>0_Q|9q26*#0^FypFpvT^0qf;|kV)R?mKY z$?Dlp>B(sShW($mf3aDyyS}KW;PsC6fQ?^nb`2x%w(WPYVt3uu>^98&lAfNHI?K*4 z=$^0rh@p2{hUytBv*0^ctNIsnihjS@H4OcpWvJu6OxJgt-G-qLTZZb}mTGtMf0m*4 zj~M!po~+l~>*yQS;5okky1wmx1rxueC#!0s?!hu$54zuidEc}xseN&Eea)JEqFF-6 zuCLpsF?*#4zhbv$t_cSE0rxAIcE4?!c~7Rxf<9m0u=FtPKHD_4Xw*8o$2LvMj^g62Fi0ryd zPe%JU?7!UprM8Z))pN*;CiCU;$8EXHCp=CW;)e(!B zd9yWm&UI9Dzk-RM(3911F4Xlg_ggUU*yoa?5nM#kJ_d&d&RW(+pU>vg8uuk z`xQ+4kZqcIPp0bw?zdpt2W`{TqEY>Jqive{iC()&|4^ev>l)STNPPizjagS~>*#nr zhK?^*OkdjM61JbDO?2Fq={ljwO;~@TUPtwxtX;?H$!PzE{Y&g$YU}7^J(rxj57@Y( z*)@zj%{Ilkj!tQI8)lxWr>C*&(6vnWeCj6VAZgverFR~1E z+?VOPpxJF0dZA^gy=2sU7`F_yf5gyrda|l-2{H2=Yw(=wXsw+87h2Y}L~f0&i7bxn z9(hyv+3>f*9|$iC9}w;#1K?pQ^sNf*AL?%Zcl(p=pQ0|`k?sBMfwrHM=YM_MiF{$d zG5Fiy{lO0fPYLcFj0c|aUF{q8?d*$t|LFaS_aolZy!(20@chN|h^Oc|!*dY%_%F3Q z+;ST#YkzaAvbVv0Tw_2cdw10F<>;)y?g({VQ!}cvy}@Rs66M)4oKFv>hS-6moGr`` z`B~LbB-pG}67mjA7vPv+AB;NpoP7?lKh#qd;xqQ+EE(xXDlb!|6J2tC&oMu>T&s%k z3@Mkm2+QDm;GBp;&?wv3PI2~;)3P1JX(HQqNw}y4K_HB0?Djdup@?8d zokJlWnJT?(4rcnQ!g$7xoKu?ZclO4FVTZFw*q2gtfiRze39y9erZju*vWup6i#Yhr z^;CuUOu9fnoOF~Bi?G|w4lyQ5k>~vEs_>q%BUh7>u9CA_c3(Lq=A>+h9jN}QaGtTn zc7rp>g|wrQeW@y}XKvE6A;+2n4NC0zcAdGodjrSq|R~J zB&Uf9NcA#>95i_ByaHd?ByJ~m^|6n0e|SVVicd-@-Ho1KLMaE&3(Jo^Utwd*yncSU zY3G+sPALC74lu0)(%1I+Wq(!Z0dcn1JKngQJPD>sirA+)V`P1TJbAlFCtRfESWd_S zIo*NLjDqAqY5J?e7U#Yh=Ajgc2pQ4KElA|5q9UNBy!^-FSs=^bm2D&s%FD2ogi&oj5GWDVHyj>b$eJDx`txVNGFmdYR@qiE9W(V3z{jCES6k z7fo4pcnMV~BO{Lk7%T()ZZCvEcQsleQ;jAW9+|~M9F8VtRE1TLXi3S++yVEN%@wjl zAsi6G$TzdP2NE1!Dhbs&5Iu56%KIb71Sjn3t_mxf>KpaNq53Ax$uuuaAywuSlb1|Y zk)dIgTdc&3Sm1yJNpvPtjYXi?&`|3Tm%~fwM}e~u($GKjeP30`&{FeUq~-9EV_3ME zr8^-`Bd!uIG+AGcrs26%$F}lX1Q!XjD$qY+MI%(Qq@|Cbh^2GDF#t;>5M*))DVlV^ zM5si7#!0m>hY<*|5|TYtVMLo#vr&fwa>U64GuXV2IeH(c3KtqjmyX>#1?@5er6f2C zp+i&8;&ODEazskPh(@I3Xk0}~$^NR)pb;rKu1ll@qhtMFqPwaX(QIiQDWw2lFe?ZU z0n-6D=&2@Yl1OP{dyxoe$Ozz4AiIPU4P=)sB~u8M*?CoAKqEF%Tc_QuiqxV^VH6x7 zGhl4dNH)pZm@-^7KAOqGHx+1vCS(+cFBo8NJr+o z08D`rZY(eYJ_;c(KwX8N#j}pi8+tu3s;h8hM>ke{VdmRd;H>}Zz{oc4wH+Dh{Qre5 z9anU08T&wNPP7_Lax%Yf_>u79&>utV$p60yzW+*FGWdny{J;Z&x3~VR^%Va<{8y9z zU-Aus-JkDy!1LCY@3kzfeb7(* z)w(%$5{IeT1$sE8idV0jEsreu!;>mjJus!3SFY4G! zn;#E+@eAL)_KeNe>Ylf^ZU@w=ygf^;BF^zoXqmday>;88O6Bd@eOeC(pZ}rndp>^i zu`f?(-sD~-qN+=X@pO2=Ezzu8 zzNy)Cy)wO~bdXoA>vHdEQ}1*fMaJPj_t6TQmizt8FNL&KwIt$FY96J5N? z&Z*8b@ufXDv}VnUb#FwYa`~3VMwj39xv#9>_5GjQY^_aP{u@xMT)w4Nx%_EK)n2y+ zs+7yO`_ypxAAjl0J#Gvx-|Xj8`8;(UYq|Uml&Vy1lR9tOTz(9F%H^B-rqAU^QK($L zsc<@7egu`u<(n#B1(zR2vvT>S=IM9&A@@gaP&^$TupQ0H1DcO)y54DU`EBl9ZR(wl z2M)>u%iDFb2c8C(A3(2i`8HqN1Uttb2MphH$qu`G=09*wb)Ly``SSgr|9|Yg37ni& zvHv~2cTZ1uv!y!%A(=@cnI*&Y-W`^(1w>Za_b{2vux1fLSOhVeL0k|J6qJ2O)63w7 z3Mwua5L83~LELdiz3Nr3yYIKod7hp={X9J}xih?fJ~H=SE0v|6h#!IPx*>0yajLN7BUEKOMd&d|CLU za3LHCeLJ)%bV=ygP$rZJz8HLf{Qpyf<>0Kq?*oqpJ{VX{1pSWwKayW?hyQ#s3trRl zC=93mTU?RsXl@2SsJx~l<>A80!pgC9Va3QWC2&@9ZNG9wW+XjU98Iqr8Sc6Ku*xp# zW-!w6!Ku8a${X6O@wL|!#{+H>d@1A;k=mj%L;u~RPwtD$I4w$~V3WSdKQ?zYSR5qL z0~b3*7}DaP{tvzxwC~Vd&hunGrP(M-X0pvq^|fs^Uv>LX@Tx76@#$)M-t-NfWHk99 zZ=!r!Jn?7xR+5)L#)C0at3}GF7GG$lb!Jf;+3PBA5a= zbew&QFA(4Wl07L7Llzkh(~5u#-~@3JD~G96j3b>BGzU`cay=CR8Ngv`QHw(dFASw} z@G2B>?&dSOd{0H71@P!tM3%#pJaQa@c=IUPnJ+A?2%rG|(gu;ZEz%N9RKkNsjv($s zG8=m<0wsW_?*oqTDsdN(3P+3(*@rk`a=jHn5^$jv(1$d|0r5;p_yrD+bYDdv1@H>C z_RAEJnMmz83HV`7r9jQ1ia-kxLe)x4IE_^G!;>ZMJp4B0d6n%T#bv5UnIA$oKn*D1 zZX=7A&P%!OiU17YGF2pMc1TU99wClHs=5^=^RlNRr~+yZ8)1`zsDUpXr)e5jA4!zG z6$K_BVws*zCbDeqUS8pC%P;exPQEHv# zv)z?WNYvy&q9qOm4~Ho3+R}oGAt^sU^ch}-;^@82Zp(s)rFyQu=}XAxx*&OohIc|cPU#6F*C_ck}Qqe)P8KaO##G^%xH|G4=Cek zMK(J$wt`%CamIs*GFlu?4;S#yvwcQJM^=j4^die``hls8BX>Xy;y6krBINMJ6X!*a z_LlffB_x6Jh=g8B<}yj(n=_6`c^70J6p?&c*!izoM_W-VaB4&h_tsafqb(_&yh$Jg zuy>sKcc^ZRgmjkJ5#oFcd{l_z5EKDdY77m6z6g&Q;=2H*0NQ?FlK=`xAhE;pQeQW* zJE*;h9wzptM8J!H3!v?sV77E`5|9Cj4c48bk@y%8%A%wt>;_WR65zAmN(>wWAP(3(SSS4U1J@wCXp=w+P%E&N7U+c% zsu;^iLVU0SK-myr0W5%4Qp_^y_o3h<+(^KjvV~nX3AzAiVTzXN;iC_V1)vmsuJT0I z&f6q-0)$K{0+}26kWoQbpuPBJq3wD$35bB2z)9PP-9Y_9fx^PTWG?$QDeM3d$~0kQ z17WiXWR~o@i=afx z|E0D6|FVw6Rf)Or5673r9*Z5@^}Vjq=&z&ab^f*UE%^U$iVTDw2pFB+ z`cpBUfg7F!?Hit(otOH-iI05#w*4QO)*GI68xMe^y41HgwqEK756%AQdztaA=Gx{` ze;I7mrM|^hUFy#WVWlqh?Ky3};#vCr|N7MG$~phD)#Gb(slOjgl^^#eW9LrZ z1xzxW7C-L3@KcxiCcmZ&iD_lHcH=%URG0cDL*r&-T3KGOac@|vOMR22+g;7Ha$di2 zDV)`%zR9`ef=MQOS{YxkaW5IN+%!+gcqTO9o^V!o+$LvJ^-lYU*KgdzeX32qGcn-Z zWx%5HryB4KsQe}HRhRlVIaL1A@2~pWP9yt#dU8`uiyyZPN2T&Dj;$(x;URl|@bPC} zyVYFVsQeOamCCo+&Y;RK!b+)pdrl3NfA5cfczvOE{Z@~!jmj^;RH^(MUmlg8ho4gU zCcl|e`8gOWm2WbfNtK_4rBeAO%a=jrXW*<^~zh18~Q&eC#N5G-Npep zDwS_>Y*qQ^UvbUwVK42z)m+=C{C?Ofm2a_CD&IHBWg4S3`(UM1zCEXg%75g!9mk&e z^46D%YoqdeVX9QV8SXn{R{kRRDV1;Xn<y2H9cP)ti8JvJyqZdYxj1ERSzzMjs z^ZZax@b|&TgLehr5Otc|Yg9)_b~lZ|{ztKYAYZ+~7G2fnEWB{T0D2;9BoS$3>mWDkX;#UlOaHW={BHRLU3zh?ffU6&zJpyCEC7`o!ZgH{}L^%+*B=vJ=*k2Ju11DgtAG1E)cyyrj4?afc0&4#_1J=;yr^!7t!S>PCl?6cG24_?Pe-ibGkPqyk^y zLW?7iWJvO9@#>Lhi7&F)R}mNk?!{XBWs*QB9mJa}v&wKN1+b_hXa+b*TZtJ^o-|ml z#Kh4@7)WVuMGy_hoK&RDk7O<4M#d8dh60mW?yd-m0d7D=A(MmSmdXp@N09G_Q;kcu z`4zz~P*XU056B<~bGY^h0O8&jXJKzeAs7fR^SX{KR&fFXqAodx(B{j%6~Ql1b7Rsf zC#f#x03a_g5QRctMPLln+?ce?4LP&`OmIiaN;3LFVNpfU4Ak71#Da;76ONl)T%dA4 zT%1=CL<4-JN?zGJKxarksoZYLt#=wX>d}yJN2*BFWxKZ(*XL~A=lFc2d zMWSwx*{M0XWyKH9lH|($6_tq%k-LYqz~wfW8r*vVtC1e4s6=c8b5JV>DS4f^xPgWi zWauG0o|1`86oQjnVd8Ri3>+>yjYCoBuSg=c956@Ua(|9b9ETp4yRs`Y`RqLcpt$5GQtFK}C|W<#^ddGEYELvn_@|2Ek88 zwr**lB6-;OFmH78kK%7`a(I#g+h37PY&95{yiyZCw@?_UNG`Tp=i(s6*>C)ziXn^{M?Y6o(;{Kl9J+%g-*$eL_x`5mZ!owRK=UsbeC$*xwbEt2tbnlA0< zO-9}%qe)A%iSm^mTP7F=m_i?PGn^!}DGfM25C%k&6iWRSK{0Tp7Khy+kw!#{;Bq9a z67Y_SAR1seIr~3Amjld>a}Y;de?`y@P=!u%F`V#X@+s#t0LlSg%I=E59H7@N zYSHVWi~)b3fD3Lo9E$TRf^EP@-=a}pzcdH4h!PNO3BE@@yPzVN1}OFhm9m=vZYM01 z8aR9`i2cd*Rs_v}@BIfIb`wAjKs8`T6tEh_yW3Y0ECasxt+dJ_5izk$fUaj6iWnUN zYT(i_t!Pa7z!2{Pj*t`+s0g+Jwn1yh7!CkIV3$bT9EE<$g}D_0IKXaFq)ZP=ye!28 zFbyQ;E1jQL5ljP214W@tgAyTsATm%x0^a59{E7e>s2OZBn}}m0ObbjbKFAV-)>~0< z2GWsfvA_oli{&a1S%y)E;oDmgFatGOlUA8cg3Um59J_&-x?EpHFb&i+nzY(%lG+KB z*AjpT4EElNKpWs$ZWTgY?^qGo$wW;7JqGQ(il7}}Hz``Zb%+Eb){k0Bn5YB<&8zGN ziJBaETXqwMmD+!VF2b{?G6)G~gX(3KLY*SC474sOwj-f=_|XR{iy@Lj;ILLyWEn>Q zkQsp`BLFW0`9M2zWjNs>2T4ZZT=4NG*t1{A5y8>BiY#N)*q~A$ii3lR-Ul^-Wlm}d zLn9m$*E_|}I2@EStMo!F2TXS@vm~G$82(fe!2V=#J(We!$PCyvkyu0$Uxd}bPUD{O|I=k>BXM`}_QJ{9V4k`F`&E zn(yP_|8MZU(RUgZ`?86jCBB;YXyVSq)rmJHmM8X4EJ}36{~G^U{2TF4#BYpW79WYf zA-*);AKxbSr`QXzhhz2F9kFX-Z&CRFOJeh4!LC1b{Y2sa-`X|ab#~WD)Dz5hrJ{e2 z{vi6L=tsCycqizCM@5U#ouZM>|LuIS^Rdoa=e3;|cAnmOV&_4fC58Y0`^a;V&qivI zn-%{5agjYE^CR0wI>Il7pA3I2d_(w>@LA#G!uy6_8;*wlJM_)a=R@_-jiI-M#zF^& zhC*{g+l4&A-zxn74+pOft`Cj{k5Tyl32rT32s{z^WZ=%g+o@f6L?9RF2_*b~<)-5A z-X9R}@DcBA-gkT7=snK6hqv3ijo0V-z2}FXuX#S^xzV%1bGqj^b#>wS&MV*s<5dy2 zVg@vrW^15zCZF6vBXL?m({kXF+i3LFMjUl=TMf;r;(|He$*A3%`K>AElL_~hVm=wy zII@m#=46-qD~J}eMN^*@C0fK5&HBfo%WHIA$TE}Zp@)vEL)lFxchW0*Q% z7lA(gPMfA;e%1?GM8{kCS$O@jTd%dX|~jZr8@Ly-N?!`CdM0VZ}O| zSh{ywf@%Tu2S0haC8+%nLEo--)=gq4%Ff!LXIlNYDdf0&3nFgRJFE4beDbaCuOOZU zKdWA`gu6^{73&eAy~P%dttO&fZ1?8a^cGU>O)VxJqFri>X1>`78P zTy6RbZPC;tM7u~oX#BEI?x#1sx*SOEZ?)Q+K6#*CL&wzy=k?$=P00RwJzmFK`J`3< z!qI~C2kA}Ue4CM6rZ=Pg4EYbRpV*r|d6?dU&U-3kJhELILcYP4-vOSSJiOg&h&+ z8p)T*UGzCp`J2hPR%_!N_2@NpvAUD5ZPSG83$=)jxAMvPZC*n91^OH{+ri0sdNbP3 zkiXl0(l|%GdM`PDwJ^Pl+qEI&fGvvi9QCz(4Ke%m_B4L3BzM&_-*||ii!4F)j+I@o zm({C&(zM+Wbl-Mu2)d6YsN=nSa%sEQ5Oi-#Q2WTJ{ji56sQnN@_tcx!z6eMbt;KVm zqut$G5OIm#td4t!WXb&%#4Fp9OrE2>wfh?9s9=l6?v)uFvU@Yn1oM}3Z$Y%IEt>gG zKACoZ1<^9LXzI|Yc^kAvQ;(Rn-SmS-p3bbl=yRk}eP;dDYPHYNtbgb=bmSr-x~EMO zvUg|^9dG4l{j<$W7-9d?=cqXuY1ZHLX0)GSg#F!q(l|$cy_cM6WylzA*M^WGTNLLx z3bcETNe=4mY2=e7y?W*w51DA6C8*x9vI|~g_3Ahe2s)=-8-ng^3F>$+pWLzCYY4iN zC8&L5)P6`=g4z!ebhh5C>L-MVxt+Cm&U2J>Z$ZRadb76vX2~bFm*4**-iZ!8^P~QQ z{k!?M+Y^g_)ULc*W#{iqyH0qJbFj;;^>Ldp=gX>@}KVf zK<7AB{0{F-cZMTBh)of5n3K9 zgl6$u{b#`^g4N*0;K{*UaEHJzK^C|^U}<1sAmV??{{{aCy%XN6y<^_}ysz>6 z*7Kz2LC@{f<2&86mnYfr8~b;j=L`0~z54%Oi8HXP-+QpP<2EDw(&@zUzHyP?d#JYs zuc^hMBi|Q^G9H%B!-W+eL$M4;zmD2F!cz1N`%*_|%ea&3IclXxLCOtjgo%J}U z!kbd!CpS+gqxSCLHXr7^=~2#_J?#E^Nnv-Fu2)7I?m^loEmA4j~KcYEv0 zp<7gdn0MQGe(#>%7Ic*+|Ccwu`IS~9Tcbxd)sE03TdPNQoBPOC>5*Bjh9B2^wjPMK!NAwEb>b`=f=@qnE%@sUVub|!5w1UHW z1+5mng3I*^-qLmjPu3Ef1a2#Mf}Zp#3H8{H*DGjJnk#scTW78-c%oiGv$LiZJVmdJ z*>29bTEXKsPp4M!7`OQ_`_rR5Rw)O!6Wqw znwfpgXYg<>u}R>zf`{lypOR3I?O?rvCZ)N8hq-m;x`K!56*N0*TEQdq%9!oujH?xV z{pRV^3ck*5KFt2~C=b#r=$=XFJwUIZTNa*of4zcsThj_2s8`Tx(JQ!2ub`Qz)4YQF zYKct(w-sEfCw)pnJ+{5{3YwJW3hv|9nd=Jftyj?OtZ4=J(<@`Pn=`IfaL>)tsTJJa zZ9dHY^eFexE9jmW{uH?Lq`OKcLjtzbq^ z`jmuvY-zoMCZ)N8Ik(PSS1_wr(Cn;f1q*s*%yx6e)d~)6o=&acpxbXk9u%^6oKIDhkWY6ZL9=ELkykFrOvpgXR%cdlMRH%w~p z9KC{eThj{8(<^AT=oQ>Wub}xeqWKK&r1AgW*U|Oiu8X^lA<7&PXaq_WfkgS9svwvVCt}ga z1q;zy#Fa_`BSK0DSt<=wcZP^anVYpE(6~M&&Ys}fA;P0e#M%OrR2--(%7A>qaHtRh_y^%@eO19OBT~jmEiuM9!FP}_900pA z*`BIkm=VKo5z8zAoCfrTlp!io!Vu82?y6vz0l{Pu$wU!iMo^N30nuHyR9sLM{4yeC z8Zem?z-Fz%6V3>#quUnH#kP%Cr=&VVVTJ z%#B)w%@E+-{MTO<05bxN9g;|ZF|l>VUr$wGnc37#lZrwH(1UOq0+m1u$>!%*1IGKuS%&qt~6e zYV^Ey!>iT~t{h%Bx_s=M;nU9>+@F6vK>qD$?wigVTXXKJo=c^pGuE7Y=EZAP({Faj ztzY}B3^xAdh%?uYo^$5v(Vk2Ds{;Cm=5@wYsI(gPJn@Vm{}5$Mc1KlU|6Hk6geY;B zqy`ayC}ma)164r)|Al8ARP?JMxL&^qbB&M92fCPc|R0Q@9>%gK> zA3czs$T?w>kxz=s^;Q(vpAeaDKK2lm5HSfDt<nEWUP_+Co7nlSGfoZLX1^!YHr|27h>rU+)LQ*{EC2^sog~lEB>liUKu*t;5bzA;x@6fG#9w1>>$n4v}D*$$4~8 zi`_&T4K<;`h9xALk?&d&OtW;a3pLP{f?6hV;|!4aeL*%Oyx8iO%_A}NMBb8{Ms#`+ zqo}7Mz-F>B?9eb3UQDJLA-F@>3xIr)_9&=kaVeqcxH0+ z-HaxIH*Ef!QxQZnqKh5WD!Q0#IDs*9>rI(SrWrz%wg8!7COLYOSYwm8Q0S>BR5P2} zGLs03XXdEOhbmw(dn$r!Cb~%t$2OCUzKRPgf@_AAWD{9dQnM+=zvmWL1kwyE=_X|* ztxT^N8(mo(9vN9NG)mIp3bg3RSavj<1?fA#0xRjr${ET^+P32+Tj6g(@jpTR1WSz- z1SyjUaXu*L{JUln7AqMZMS|Jo458Yo_PrT9NoSJ_W~vl(1&)*-p~BfKc|@zDOkr-RD_e+XO}i2APu|L+dpB5&QB_k6+ghK?V0oHONbdK%B& zc(#q;V0p}pJN~6#UibV-pMNksi5;=UP)Ho_CTI++_{v!}f`jR?n!E>^WH>E2ZD-mD z4ko{*YnN$dxOU?iFjSyDCPU-aY+6}fu<>+QD$pL2rQ0psv~pg*aSYB1w8!M!q9J6m zrP*^IJZ?b$DRQ@4wRx01*Jo765U>UNg{3#jFga&*)oR!KqIh(3?+Eu>x|6ix; z|Gg=3c%nZMj{h|NAn1Q1@lt%-*h{fTV;_i}727=)i#!;4SLEEtp^-)5zlNU(-xOXQ zJ}}%9`e*2=(4C=mp=F`D!G8q56PzGQ|M=iQFckQ4;0uB417`>J3T)^9mH$!d|E=>M z;GgaLWyf_>-4$GZWc4`frtj9NZu;aB&bUEP+CVPqGQgDqsKIS@DWj3`1B}vK5fgv#AM6mdF67KTs}9TLU7pz}8=5xzhOp&;+po51 zwqCZlx~Zk6t_?-m^t?%9PYOBt*=VACg@Z0t1>p~$$}NsWB@lB6W02B#T=G+P1Se;I zRY3k+sd4p5K`=pVl!9M?yp;N@g7@c2jYkV?MJm>SOh%9hK_}_{szCqY$8bubFqd$V zfslu{3C~d`*HaY?K%5R1wfJmugMbdAK0xAJ)4da45bhttL)(mp>5--%yUfm(t^ zIln4^e+w5+5-ERZnot)e002Kw0dcog1?dkz-Yt#{t0GW6KuY2}CAbEM8}3lS`NNOb zN-JJtL589}B5uwM6@hZO-l_opxpd4F(bpigI1khlaD#vZ zf@-O{o?8{{KU{u_l-bE<%2GZ?zz6}-Lo3az3fvzqKSiOY25?M#KvK^SUp3CWo~mH{ zsrhTsBnKd#i%$rv_`%iWeIv zYqjdelE033|?E1GzB9G-yk#JTNRW)oT05U2q-G>U$|#LY!tUuwzx}G zkp3v;qiFTMq4tf`umcvfm`TsA?gzmfi$F~b9@UH#E5peLV*-N&sSH=B>cVn`QqvKK z4j@ACzz1B)4^$OG8B`8;C2>|vB6TluIpYG7+C;<;SP*4Sa^(w66Xk`E3U5B~14ZHo z1fon1m!o%ahEl7NaDyVCW;t%Z(|uKeC?kl>NiEJ$&WcnN!h0&fsNGe;D#IUY5zFow z1Q-n;InHtbslc!5sR~k=Yz^DhsT`fG3BnQ}z{fV1Sx^<6GW?+pA~{+`Vh5zU6NNn4 z|9I*9s{&CbC*Rc{N|;&m-#}F`$^d6_Q0pMFX4*o5RS=jmH*#^0W?NmJ{Z)Y~!$0ci zU8n^Ft?3U1qhQNyY9@+f*wQ7ZNPx>kRWaaBOdaERWb z9HL@WWJXyfA{$0W^ZBt-c13nLGnOA+v2rXkfwy0lxgU+F_Nq| zTUyOmXUs;jn7`6ZBti2-)86c6A^|E0EG2k;fH;bYGEfyfKM5UnP^*s|^=}2IP(n|L zv_zfDSIK@gO zkRgkc6->ygp!!jL?`DUUB#_&DwTadin87q=gJAmcd2c1fNJ7aC5==@NT7eY@-?}Q; zelE0PMq>G(r!Yk%$XY}Yh(Bzk)_$?(z_%ux31bRiP(Dy|s{-?<0?ILOm>hz?`4|%J z#P7ZsSeo&&DBV>7_mg018L~Am0zg`3pi-`sShn7( z0{D||OtXi8u^h19m^{RvNJVHc(W?UXr^ag1GQK>x-;QD>JtJd}2uJz>kzrFLk&f`1x>YPue|NlmQ8F@Z@Ncfa+Bs?EHzGuRF zgzgW0A+$PlMd;|zlF;qo@huE~IrtND{I3ahL>`IUAHFaArSQAMYa_Qtu8dq1IW@9> zq&E@||0Dd{@b?4$z%2jg{V(|Mr4HdA{AcT^j=a*jipkpZVmA*7E8m5%NctOq0LCl0UST*M6h~{ej)71I{-2 z{WeXA`MowxNcmlBf?I#E<&)pB=1sMTj4#+y3vV@(7I5RO*3Tg&;qw~M=vMiWlYCD1 zp+iNbk8|{dS=Tt`IeNBT8zXq8T^mDqT93}zXFmB&Ewa@l0(?VHwDm-d;we4RjYn!2 zU)S@}dOyQ{c+$NEA;0F{f{0($o3*vKeDW)Lv)Xq%$tU!LHEwc}kK6K2o}(|@Y|NdH zXpgzKAljquEr|ArEt=U|KKWm^Xf(*oeaRM09UD~57j4nh12t=3u$IZO=MnDn?b;CU z;dX5Z_&IBN9ew7LpS47?e;y}4qBo!Vg`NDU)!Nv=pRjv!9-dFPX+pM7SySgcArG{9 z386o!vo)LV0FocGHluY~n8A3&&sh#wezfC@# zZ28nIJpt;!n*=H6Q?GGvLB!emJhi@)Pg(F?tqq80p@OLvOStXz3R;g4Z3kO4eHv47 zTLAvs6wLw3HufYn&UmWJ7EL`uw3vR-@Z}}HrB~3I z=E`=vsa+fU?M8c7IU(Ub(C#&M+z0jQ8u_is_iMo$57~3qTYIiy_9d%UuWnY|{q5Qi zbixwU@m@YzYxf$0)-6HxYpXOw=_X51`yql>^ja%xR5b5B);Vu&UiViJ?><|S$xqE)9LRtLC)oOHlf}H#?#tXzu)o7*Z?@!sksI;i200<(Tr)D9-dX}$ zuJ~F-ko-|RI9ZGSg97E)AK>?ph2A@?{l;ni=kexf7O) zMf{5t-O10dNkX-nnuh+x4^MV3PS;$KwZoN^AE>EBYI<^5%N-gQR4@7QcDJ@ z)Mu0#qF*k@=hY;idTv7wnIzyuN>ug3&6Q#J>7JS-Q{x7;`jc5IQTzxWICi5xN8qF&=mB?77Rv zOD?(8z-Q<#Woig7XhHeFM=Z(I^X*Y<^M>9i@z?yfxGH(nxIu4IZqWQtZe%PsJXB7P z441NFEHOTSbTPYfG&@=t8C%hF`5UU2C^u-L<2L(uo?BjM&OKTT9|2B$5~B$aK{sz9 zd0LYK-W4ipV8mA&Twf88it?`VPXX-#JtP2p5E55h6JR)Wbkk5D2i8 zoPG191MC4EPI#39(BPBOUllY0l%+ zKEPMI^$wiyQE(DKgpyzzAe(@R=&PP5v?3hlMbob?zU^Q$;56kECKe4IbH8c?)M4@L#fUD2vY ziO0CuU0nkO)_|f=a|1K%B!No8pUe!Q@db(iYrvwBsYw%cMf4PU6u=8)q(onJ6;x_& zOzVd=K=DhVUp~M%TCtmYs{%maLdy;!+=QhQ1GYfXy;7;KDmVmc9?gE)KNx+Oo5VPk zi3>~vT+&+=JOVX2Cb8Jr&=bXlfr_6Rvu$owFbUM;Kr4F(CpyS4_`UJ(VrJq5J_8Ch zIZ&v{0X_rl6SO%2Q9v=3iI_Sa8nwL?joLRk%wWP_D2GVdNj@|K)iH?V6gaFIEG1xJ z2&`mY*o;{1C4k39+mWl7F#@(E01U4;#`_Sl2`k%?D*z49T*M1JL_s-fLgFzVfjrG# za|lDw7{SmO@BD-y08apFRzNE!Ow%$;>>pzE*tj64DB}xsvSEm13N(>S6ycDdx3DJi z69Ryk?1JiP5XlL%iL|v;#0cRNNjYgcECSKCT!hO)=D3#ynSp|k&40!I>Zw95^0knw zs4)q6YWf?fp3KYf zI$*2Kubv1I#*-$JnUeUkCK>tH{KD!9P=TspQ^{08*J}MOt{x8^)|2wD^c2R5Be^jm zP)CZT(UrN;(h6b=io>JX(#U9@|L)QG|7Uf8@4pLv{#@+A*nar%kBB}S9qIgi=Ud7D zza!Eg{#1CM&|{$^g3ks|3A`9s>;ISkD)Rs9zLNJ5?_r*2Jg0QL*m2g>KiJog$Lyqz zJDL!o(t|DmOOwe#(~yyW!FZP>bx3mAl#G@AFs+==ACF2>hm*5u^N3|Kt$f#yce+ot z$#*6O9FYM_{){=*CSzIgX&vyI@i2T<9^V}rTl$0x-B1#f2^o_Nr$INY9{0gdOR#b-HrS%D>I2^1Vl2|A}{GzVUxhPHq5AtKg_qzQwUs<&Ug=-Fpvy=!C82+D7G{16!r? zEw)PK`zN_f8$gr%{x5gDt)r{jb!pczT|-@6(O*Zu8oedDHv0PL!l<|Nna+DVFYG*s zDE^MfcO&;lHb#z*3`BzAAB8^`zAk)vc=vE3^s~_CLpKr2zcjQ>@JGJ)_)hf|eA{|| z<^8Pp7VjF0rtRqYqvt8lU7q!x13jvo9@Z_mb2=!sNW#aggBVRV3<$jw>uYJfwW!EiVC&++CAY zXfio05_Lf*nUrL%k}r(&Kb`Kc9Rm$_+IKjv#MJ#$W>uuiM0z$#r1!Uv8jws8DB})H%ypcj9o`Juc4MmlpXsToJZPKRx{ed*UoNY~xz5NTl1yl>H+7fRbzH#^ zj3^4pgyuHRCbDkh=%V?rxVUy8blk?>p?sO?mHCxpD~DE&;4U8;CFKbhW^qM+B{d5Q zE7>Ph0;nCJe3`M1JErnwx+7n3waPU=4wqa}YGjnl;_>`W$El)z7m8oNxY5Z2y&o`JvD(9Kowck z^0~tgmmw{m00IJOQ2m+twY?$26K4^r4_kYx3_pG@!0@H zLX(!spf2K>^fbtx#(TNC&Itff|Bah>N80uXypRtW9_>%W$TR?Q9_%l08z6=Ml& zAwzf}CIciHNU)YvcWQRvrH2#}8^<2uWiYc%+G`%9RIdyV0o}90$4bXENL}j!6cO-?c>Smt;fBA$E`}3=G`X z?3^J1E5U!?S6d7<29uK-gNZp(xE*EUyNC&xSCh18V!te6*+f*E!uLuBafz6}T&brf zInmfl7Kuz#iGVYB5pPE%08a1p{F-D$gD%q`()N-BUor#44pO}e4Is(Tq5)jZB|`0* z{|0K34vo3wpjPIR87EdK%&F}vE7?yV zg#h0JiVfc1nj}GsPEzvAOyGlUfw)*$lPqY=Bb&%Fj|hQn{>v|}Nd`3L(e27S8X+Jc zhsToGF2X-@*%i6+(8zFlI8$CZv|_AW?z#N%TDLNfq8+zSWgfLbydd(9UjaF`K2Z}u zd~Jz&#K~cogLQWsD9W^fl;JXIdzg); zjnl?HvaFVtR`b;vGmk9huWai``~Tn8k+?juef*AiCia=wkzFrzok@KEh0zX$|9@>{ zUbr4!8hSjmJoxkA`oKQ}H4ZoVR#Z`AOY$U#3A=$NOQbZu0MXd7QU> z@KZPWCcmbiHj^Wq25<4&@m?6Jn|za@@f&MeSza){2$t$5-(=~g)~1#7`te=itZwp6 z&Mw+^S{Yw3{#y4Tw=h;SFs+==A72P(b(3!n+4*UjR=(@U7r0Ng$#*6OJYNPZH~CWy zSSEg22fSvy2fpei|1O8hU;13?>L+*m+UF)YZn1J|(oA-#h4F4Us+)X^W2?%);q#|_ z{>j&UXREokQTg*=t8Vfwwo2s(C%H_c%AX4>rSk1LHB|nF`5)MCk>`;~&RaaIt}1^Q zn5uZ4J6|4^KL>tF<(vFwPUY_mL#6UfhBK-1cY>u-`6kPkLFMlVXQlE@&Mlf(CVO%p zO~Z%vg7MeLkVOwo$#^C-;A}W64QO&URqwQqc>Q?FeX32qGcn+#3|QiIrW)`JsQg** zRVx2Zr^^4$VLLDFK79YlO|`|!$xY?&07s?rEsm`!f7`zf#F9_FeXF^)QTf}$R;hf8 zty1|-WzD8htHy#`sS94kj5+gKk(o zz7718$~XDVoXStYP^o;A;Y_OhI4qUQH(AcO%I^$53;y2@K2ZFB6nZqYDRfon($LwV z<3f9cdP1S#uYxZmuJhgQyV`fDZ^ZX{-%#+OU?q5C@QUE-;4#77gWbVxxexe7;H!a; z1l}LGIB-Vbn84nF1%XK7yu@*dWr=KJZo(h`W&Fwb$G{YLe|$W?EAJS-&0Q{9=_^R-_@QLB2;RWIC6aSO=QR1n@XA`&kf9rqN|B%1p zztMk%f3^P@|L*>7|F*t=`hMa2s_!Gd9lU?`{?z+TVjAx7zTJDa_i*o?-hOY&^LNjW zJdb)Ro*O;y@m%UT$8&-w_^fw%M@R5k&x8No{l}|R|Buap#>=?N;VuLr=c5`6q}BIA zOF;vgw6^3^Irmq<&dF;)6U*}=cjT$G#xH3&V^SIYppn^}{JRGFa7vd?S%@^wCU|{B zL(5og+KH2@X#pA!5umQ2W$qI99}a-jhqUzSzYWi6s_NdtR8;g-w7!#1S!gt^4Txuf z+^7~yxO?@;tw)G<=I2fz4av9?$p#0d-s|Ns|dN5dkZ4&X&(jioqTF{_g4^a4_lIk z`!!XvkAixHXk}Y8YyGo!Z{}JeS}}1Is0G%^QGP1f${l*<9Iywx;BV8!V0@a3)st=v) z!FO50=qKi6Ue&G*LEmEu>Ub}odUw0m5cEn*Q2p8}1t^w!hb5@}5JBImkJg>G*57C? zo+Ah(b%lEiBEDUpdeukM!1Aea_g4__a$AzgQ~y?L_X%gEIp1cBW}W&=?cN-xeuH}p zqP@iy&3q@Hdb9g0h<2GR8n0OM_9k02^@v%!L_cUm>ZK0QU}GxSFLj{R+BiqA*K6nq zRb-DI)}{&B57i<%-pZ#AZu1h-AEM7ub97?rb$T<}&yfEh`$^**y+Q9KXPhZA9@DN3 zA&<62ah{_i+r5UEN9pZp1em4{*E8REh@eMUg6bVB=V;98RX=IkZU}l-yEX*15a8}` zyq8a%-tIL7J;M@IzqU%Bqm`DR_Co|6)tmJW`y4H|7SDN(M%-HvafRNjs*k3D{GIIHf@mk%qM7gHQzy8;f@mk&qNzip zY}{jQ(bOYm?Ku6Q5z>+B*5^n?g`|3{*2Xzns5hGOztr)jj>I<;_arV(9Fs^V67d(~ zpNPLBeo8za-zN5}*k@x`#a6`fksn1q5_xB2Wn^h&yYP?s9sTz3X+-}gL%#?;7`ifa zYN#Aa2LAwt|INX*;Q!4H{4MZ&pcZ&5Hv+u@um3y#Px{~GKiNO%@95YB!;X%{^=)cz#dx(%v)l_#cI2h(hugM$ECdyZK{7-*9 z!678D@=pC3Yx?34=LVh+;hn&>6v2BW4zRy2P=c=1#I;IA6#_8J1j17Ajyh-cm{6x( z`X;iKFjFbcqA+7XdMRi7>Vhyx)TUDu0eS)iM?w(=WeDV{?z#XClICI&^GTx;3rQ)0 z*aA|J9Ps&dK^G)&)uIu55+dT9iO53$0B~|c`2}@>6(rB4K_y=)O4tDAB5*Y&fPpB* z(pwiiK>~VP4P0V7ag2g;DbcM`@2{NetA~VE81qGLnoB=wLHgQg?IG&jF4V1jB28@2`UzC@t|^#ceXDMiFQ zFRCj@!Nv4sS_WzhNpcc9f-D;#Hv8&);Plj(q)bgoAfYHlMo7Ap70UxGD!77bYD{8A z3;b!JkOfT#ph#djGmC11E~uu)q*cMkMApM!BHfAho?8=yK{Yjy%FdzO4gtDS(h|B% zrZBH|2^2&{s{yI0DGmzKs041avxr&msR=?FF~Jsz+B8H(gCdxdkYCC8BFb3-qcO!U zzf2`48hla-9tJ}VKsC~t6fzopI>`Buqz74Fsrf|LQVy}dCctQN7#-9S6D=kFNNgZJ zn~2piNn`?yCa23mElFfD;h;LI(AENj6M!_Ld@W*`BLdNLM9>N8V4P*_|O zpfrM}l?B&BG6bm!qvQ#eM{;016-HL(Mpz@NqmB%Zt{j!1>9eh%>4p*LW;UsCXs6jk z(hDh=gyEyB2%FAsNzgQ(590A9osimC0-&~8tBGw(q6u@yM}$*UEc^#2mD%RamfKD4 zVbQkPW%>(F9 za(e_$6O`lZKuzEUF`1k_E0YOWa%=}aRp8;GWcq8TLyl&1l8ed2cM7Onfs&KlPEf=J za!^u(wb-K71+fv7M1B|X%_q^irzSXqk{YaO)VB}aUnXZtzTxD&WHJkDf-XolS%XM@ z{W5$a!9rFQ4}r-pXL@S_E6De|^)dsyfULAZk|{{>Ay*af#lD)r3ZiyfX~kxuc3v6? zMyybZIRl>9R}*+a7h)!fT8qGw0%Xaz3UtW~saU5$tn$lEYYdB(3@=jOn0xsQ^SPQ^ z6Rbf@1N#aG=>))>MyeX-NvG?s3A`XylcG@5Lsr%xDvlgtvd1w>NRkmyK{bgDs|l-u zXKrWVR8gWP>t85mC2#HwtQ$vL&rS8`sk|( zpr8velY`+VNsoe7DTP~ya-IATU*Y{?hyQ&4k^V)#fBC*g{k#d^b-wk!LwyUq|L}e{ z@oeIwiFYJUODs+FC$^3MG5)Q1Eq;0Y)c9Wb@P8M3GjJM2?CSrA|7rh6{kM9*=)Kqb4)1B+l6M;_2|VJt({qvM2+wYwojjg(=Q7NW z4(|h=4|jCvJDm^fAf%NY9iA_!##jIG3Y`IcLw27dsLcE9T)%gBZwoBdH$;o!n4(FInXG9y)b@>Kp96bdKL!giwpz5|!q)99C`!Ox_EvTTJI* z-(+1?THAVb?Yc9(7tQk%rP2b@(sZ-oU9TlJQCwPXThtVs*Xt+ZrKP79LOr%~d;B1N zv``wiEZ+0oI&-_H@vhT@ves6`(RrWNgSyuUH*Ox(Q+iM)L5r+vP+!w>Oi8E*^;JD6 zlhPd2*WEgE9n_P0Tbi9UZOd=y?Pj*SY|F1~o=$Dc$KB?`>`#yK3B4`vb>Ehc>3eId z^_=Ek3f@QbwzS(Ou{XV6)+=bW=oNfaui!mxSMW<(Vw1pa1wXGReM&+-wuki!nv~`W ze$lNn*A@JNUO}_7rWO1zy)tIIIpb;res1%0Y6U;zHXmkxdX%5lD|nCl3O=Y;&}ubT z&?;hQw>7QcLwW_R7QKR>)+=~-+ZB93OKcLjt>DM>q)$nx$M#XZf+nT8f}e2f%yk7n zu2<0PtZ4;5saM8qH)mX};72x3r&e&nZ9dHY^eFGwE9jn<=(UQ6xux`ZEBXxDZA~j! z*DGkX=oPH$6*RMcnziVMwZtZY+X~*RCw)pnJ+^!F3YwJW3Vz6~GuIWoPp_caSByhE>`)uLDM zHobyo5P$Ou-mE1y3EWojgL=}ZB-CU3fL=k9(pSR;4OM(%yx6e z)e7FQc{;U%?{}LIvp+q`>-7q{Ck=S7(<|r}aPNJuUO~I9X$9Y>SI}zFD|oG5K{MjJ zc?GZ55}O2WD|n@z^eGAT*xs#I(4;h1@G7^?TvzZtdIinSnpW@{y)tIIIpb;t-?e!< zwSw<(n-8-;J<50L6?8}D_P$-Opc|^S*9um$+nQGJ3cZ3>i(bLY^$ME6x6Lc~HZ8G9 z;I@Kq(UU$Up&r|1dIe2Na|Pe()|u-HZV>pX{cB%V)vEOB*WZQ_VTPy7$@ug33- zZ=?d?BBJ!4h}|9A5IZ%Ni3Pfz@2YiO(KXt&U)O9R@;?{7HhOk+S#%zi0>0S!zRuG_ z+Xr6^J|4U~xPf2lnV>K5OrREcXJ9N)4n&Cns1aGe(!Z}iNlg7ir&F&t;CasTA= z5J`2xI^<%|B9@CmpclEm1kwmcAJr(J5rji96D=Bb^Cf<>g80;MD(1791$BWn#M#rJ zQTKv5O8S)Xib#nNxxMSH3!Wj@f_JyLN2Tgwk^3x)vT!v8zD_>fTNgM(7h0x>iZp=m z2*wqjChos_>jG=&LW@r^Um6tbAt}E$gy*uJZI;I#lwh&#b75QlT? z0&&QtprU1Ra7D}XfFA`i6#tRyt_!Romx7AIx)dCum?2ntbR^*)rTKNiGQ^c?(a6*Q z9t1O~O9a>w=vReoZ(Si83NQ1fk6S^hBS)1nsbf^;UJ_rb;2Cn!*GkLW6v2hWQx1lt zguMU<)mIl>LleDe#pqnu}f^Vp1$CN@jQ^Dy1^pY}>c+T*q)&=8G%?`A( zbyz`a2Qp@^Pj5+^KR+O>mCB-NdrXkpDcvBtJ+M8++7f?ik&gMq0ys3<)`L8giE(mSArJTJB z=2X7aUAN%bGPV$I;q0(NPhH^Ia7SwznHd3{G6X9o>w?ZUe^!G?rUw6M zVR2oc*l?KMt>VnM056SY$I>fD#z5Yr6i#`?Xl}Ta8BMP&XIHLR2?%FBZ-H>$Jyo2U za)mZugAf!Xab_9f5vX2@W0p9TEd${cRJAf%91WF|GOJRvaC1>+L#TVowxScn-NT;C zz8Yq>`utTZM$cV-=IZ6j>Y0q-GL1#C)S4o>TI@3WRof5S(rmqKIW*m@tER3E`>g4C zldU)@i;=J`wGS z{X%K9xJeB&RF6fC zexfEEA8fv^s^pu5dd#m2m?0l8i%5Oq#2ZQw4CO&Vgv9MvSXdVfL%gO9D)o^g&ukE4sAjLONDv$9%upJRJ5{pN_@A5C^*Qs z4SOBn#O``GBp64HkZtTIsY)zSh17@6@co-#p9hVaoJr#-JBTY;5XiBBiAc+p2I_O6 zl5^m&NF+v4jBtJ<$Oi^1yFe`GE<()aSJ8T#O@rp|E)g zb|SovNFRQF>Og<I0Yddt0uRg{u+odj~YaB!kF?hM-?P_p<(p>_1PkvOjJvSKoxAp zr@Q&Dzn*GCE#?u$GmXDF^`ubGa`vqd%Q1&$(T+Lf;4S7*j$aZx&@S7-&UX+DP8#?P zK~Mu9_*}ZDzCARelN60Mhgyn8V=8V35!IG$BFh|Vv6?jg-)S9*D~S8QK0YUQSFEq= zfvy9n|2N$Er_Rf$|M$Mg&f&YleWCk9#o(8MM^XQ8b-?F;H}(JS@b!A{_ZB^$_3YpA zRL5yKM1}Gu*d1wUHXTYzWeQMf?HqR5Us{B-+2lMJT?uxEexDZn0+-^{7}{a~m7drXEisq*)Qr2_0R zS-uP^e;+t2m2Yxx(Y!L*)4Hq|jPLC}N@J>aWUzB3SH=|3L$^Ec)TBZi=$G3WXZB%{kRsQet9mC83cw`ksJSAZ9cXWfU~!gwY$ zUQ?VeX32qGcn*H8L+7QsRlglDqnv8mpkt3=-Slvrmmy9_Q0?I zOQQB~jIN3v5bf^#XXjI$cXpoNc|d1R&8_ibva%)M=mx*nl z;6hSSSl6{=c#wgE2c6rgQhxq~Bt~=RW|647T0Gfu?Mb4fI7+##9+-$j#hu%|j!QIs z=f*WL{&Se)pw8w7CajETC%L+FL--u`u;dSsNRlu2Pe?{IS9DHtb?L?xFm8YDQgIcL zLpdQS(Ohdeskw8bObu7j+^FHWr7&KhXF`&rxkR$4)uo%1UCEJ6f~OPj`cSTCLUNH$##BjCG=9T--EQ5;nKk}$ zb0#D$nu|0CxxRLrGa;$aZtcnqnVvHt`OjRmIo_9xwoImHLS;YO;xK&d6EbV@7;tM% z{VFzAZvKRqPRQKUome+*W-@BIn4FOGXFQKKm37rtSUe%g&Uha0Ri4MOQf{ogqOgJ* zlp|RnE=VTk>bo#9Twa0KeYDhb`H}U@l;?5Vj(ex_Jh~%Xu+zAO6}JG_<>EKrl2lES zi-*WU=89CD(&B>Loa<4N$;AW1j+Hu1T&?~G=W1GBK$ow?q+8EyluuWad(Z8Q+P>L( z`BmTJl6gI&>sAjB+NWjmUye9)?dUmYt{&~Vw7)LM0BF&BT%xkbLL?LmPrEpGR7JnK zfCHe>oz#-6i0^`!jvVQlgn>{JufHxx0j`~+O0vW!;n|a59q#9gxZngd0Jn&7 z2&e*DlhSrLGJryg?g`M`yi%kgSc3P}SnIUTOiekd)N$o*YS$F+h2=J$OP z!T<&$cC4?yT4+T=la{F|Ql^j{B)}86kuf=X>jDyh8PrOwqMxKl8;PhmREfOG&#Mbi z0M186E4znrv%`>4c8`Robl1;@M9q$JEP{`c1(^U6W|z1nJ_FE5vNLf>s+&~``;78` z1Y{A>C&4s@G$BMP#~D`cW)J~h1&UQ-T9nutL_Vr4XQt9YuFN0~B>s2$27!iR$#qF` zmLuk%7Ar`;RbaU=Nz~-bal|CaS&o>48Y@VZ#blZ=$%@q3oL84@XKMdh#4<^P1h(-N z#8M=lDxL4CORh5}kVT?RAoeM)N!fzLMiy~AN}@9+P=m-afpACTnib2EQ-I5Lg~%q; zqw$LM@Lr*f=)U+Hb(K%^bi4B)cqb^nIFz&1^??r3;*jLTi?3@S-4wAL#l)` zU^O`N(e>D)TTmQ1EwB_S0)a$uv5__#m<1Y-c-kf4l!yrex?VMoO#4UugnrdH8eO-X zNzg`2Q#ReYGgpnCw{CdV+QF5>>qeK4oilv;d4v1&uLsD#9nB@_d1GtNUDb2xDdI(2 zbMBcJuUSn$*&+UO`MTkAPjBwmJ}hp=k>vls*EhQ(@ted8iANG2PF(d$LGBL+Lw^kY zIP_HLfzU0XjiIwbCx#9JD`4l4543)*rQOVKIpy2`%do~?@{D%FZ6Ej`IqO%p2t0P&vl-+dDeSIJx2p6@TD!f z+<2Av|G62^n4tGLelg@{Tj1=@rc8eJ0U9UPYSUl7+52jg&c?&x)wB20V669vmCdJh z_MSR#O#Qb3CNp~<_m*OQ_TCzdwe_9+YzvsZwE^)gym!@N3Aek32elp{+8(xO7=$8P z!4|+YPRse(7Bu{QEoLjCm2J_?ck;7~?wui8$(|%-hl=$yJ7bkzD?i%;iFdRheL&}i=_YGtJsK6(eun&B z`-zPcJG)b7qB$?@kTKq_4IyK;{0_Y3*%nN^vrEM6(%aLxr<)ztGv9cKpb<+@z58V@ z=UT$(C*~HN->wZodn`d6@8xIDYxf$0c3Xn#*H)?D9JA+Gg4z!ebQir@@3qg-Y-{lx zzg}nW?B0TiJL%1;`e+(he)enJUqQSbZAltG7iTA}y(yf<5T2c~MPv8M3~p=pW}XQa zdX{?&qU~UdX1)C*Rt9eYd^8iQR*jp zFFAkmA>%LFwISrsZBZQODD~5JuOa5o^!7AlHmqW!lm zn)yyX^=tQ65bZa%XzI|YdHba;ntH^ny`&#Bl7vzp*XKy(8Kpj9wKmStr}P>+vaAsO zGi{oX{UI%)#Pufo!=jdU*mz*hW$oQppZ3y{A zTNLLx`h2_B5c3Oqdm71Xsn6<}Z#+cM&sl=%9V@%w8LL;vc|g$T+qEI+bC#fv_wuP{ z+r5UM-?9X?kBpkoZ(4%d4-xcfy;<&L_YPT`zwg| zbz73jbMzH!_chMZS8dVQy)uK3+P#@)g86&Gy#>)8w?#AG$)_H3e+ALLY>TE2jheUr zvPDymn6*drg9fO3>S}$C6fS(~8mqN&j;_;d=m?-k^c&hVA^Y`OM8{kC)ce}Jg!J#% z=cqY^KJ{L`8SQ7tf35wbagJ`(d&!ynfQ+}cYeUFeY*C!&=%#kBA?D3`dm32}sSoIx zZ#+cM4_boi9V@$FLdXAK*g@|9PVtF&89cwkyPoYjHTvV|*`2?mrd}*^b7WEYGvNb5 zPlrw>yZ`LK?*bS4{|T1=j=m53^4`b2M|pneIkV%p9T#rNkGS*4&$9zOKHPNgk>ED64YYpGk?h)vUB!; z|3mbdTNw8mII5UFi(^Yn-_lh1xZmyjvlF+PYnzz9)v#4DeKxkEfZ#Y*G1p{q-+b?)25~ZrEzBZB+g+Y?aEl*eY12 zz$BMxRQadDN~wH%P7Rg+iPY&|ySM*_NzPk5tF9`4IZTzxzwhNy`KQ89seF^)%&GiS zV5n5S$#5oB{>iXZ`p;zfGN}BM;H*@>$$92g{)z5GZectV8t?=-E0u2!*;KvL{*hZh ze!Tlsn|xx+DUgWZUBNR!Q>BQ8p;4>5hy4z;lzXGGMlYoLj)P| zK15UkFp>k=rTl7ObdQVPWolicrsZQmTN~6RrLx;MTQ5%?7;Uv0HbzsIO~%fojFZQ& ziSm_=$<#L?Ab%95afUJwKAQ!F4OAxL-O}KX6#FLx<&PjtC$R$5p^O(eEYy)v!J`8c zg7`-ewUe5YksT~@7QyKQS%#8hL%IG50skW|(n+o$nW(8p^yCm&mEiS|lp-L2#6?@w z++%`PDXAz$sXj<-EzpBK6N3Fm*rr9KB7d`l@d4>rgo>cmq2huGLHr|Zvq2;m)EPP> z_*7Cr1TivQUNj+4f4j*0HY}BS19#O2+$wFyse}JMWa1Hq7hU; zfQ=|llk1%j#6O~hTZzdSDpD*akBA^}f?t&`_f81%AA!HEv_#c{M@1<^rWA<@fz8jI z5cogxpA;?A!?XZ-L{UBRkO&M;=jKlA0mU3^L~3q`iG_qefSUlAnm@5S6vRZUK2|9Y zJYr|jrJxQG*T@o<7=Z%!6HcZ}Km?&0q(tQkP*o8S!`=x2`ctDdX(gH*w4pS?wxn<| z;e~YHgaH1jX*6lsJ>+1?9-~ikPe40N_f81#pPCwzSOGE-29Ek>7gO}LRGc>pP~At5(Rk*K)=xs~zCo{`1NWadu@nwgp$IO@sCkVrsI z0JZVb#14b*M6#DcF@u*Q5?SSj5j#wLGco35aWVS-2?b*YUkAAgie_#Iya(_I3DTwh z2|+QF^XQ;fLD3+dNwhUkSQHFoJ_W^$plBzxz%em&QUFK-C~%4k-4lXl1{{+`%q)>& z$5ADuo-Zh$(sa6KLa@x_cxm=BP2enXT-e+|YoQ1V*##235BaCKkN;Z(u@D%!qn+P)k&FOL;z^NwQXrjdVu6)TcHdM+ zQ=7_vXnm?Bm-z||kx5aOgs^k|U84!?TkIY|<{~`+P`0A**esGIf#1OIk^+L}<4|z8 zUxl)q^o7}`&;L(WlWmawr<+av6N3MT=Dk*i2>}K~uRD8}d@_EvknDr~ zAmv!|JrjZtC>g(66w&LF$3vn81Z1g^B8+h*sDP63tBFKo0eDG%h?qCXN>TvYW^d;gbeKJ^|43#ork+zWA-Nbz&U=5lPKGT{O8^$oEa`B(x%&X=5=<;5tg8 z8Yz0BAf&?Ggn$9M5X&5;nN(6WNV!Rq@0>0!nh;PxvdLO|=2Ipp!q`qg4T9pCBQ0Ej z0kIAgsaOZ#@D7rwC4j_K_9c6|dqU6v$(T|k$~qt&PfA&1fMSmD-7n6c5DY-f1B*r` zhhl#GkOUT({1yOvu|az$6cV7wWtuJ6eK|g*Vh>4CUIb&nf(obxY|^THGLq~7VdsM{ z$vJs8g}?*45HmZZOOd%m;*!h_xm6kc`~QlL#3#Z2UljjA{D$}u@o?HqpnTZ;6&Vf7^Lq=V_g@BVUhP5!su1eG}m`!t+AUg{}?(+ZFs|aBXl=;0J*l z0!IYG{)hb+`iFc!_ub|@-nWhSG4ETvC2I2B=Q+(YyW{H}S2%zEFWbP?v&S=MpM8!C z?|1m2M;x;3=w(>^*~LSJ#pw(PVM~UFmatvP`2!8o(Zac7{iwLPYy&sSs-I)s`bn3U z!-9N50)p^7eBXJ`ym66(~dETKZ8Oz^eyDeAxzWWK};$ zw(kd!S*c-7Qk^MJX^C(E_CVy}hE?_RhIaiFmyj+?MfM?Mo@IVYOW;6BQSM@vZQ#OG z^>ak~e)z@6xpB&)IRFxxMjkFeRX>Nf>nFEFY;+2kl2T@ltGGls3{l`Zw`>E~nyR0} z+V?ZWuPG@c-a5~U13!|euD)yo_mrxiL)-O}UBZtKvR|>2TI9(s5e{GjGD~uRy35a1jjWO1$dsS zpVznVN6=$g6qeWQM{|%=YtAV!ovNRM+VwNEB+EIah_2*~8skbY5e_6m%RGa^s0_hRPn5VRkLEy42(q%5Z2%Zk^>aYG zeoC@le7~`D9sLLg)If=K2j)`sv#eb|1=-J(vmgbvrJs_VJcW77eg?Ku^|ODwe)4L! zp)|@Z>z>mbsNGRS9#AM%Kl`=ohuyC%0B&De z<5C>>&CJ!;vJD_Rs(zNX??79gaaR* zJmcEi>ZjbUAI>TD7^p(isyFCII56TO>kc-dlBd+ZA9XIUc$@7OzJpoKLCS=4F2EX8 z{S@2vqrP@>3sZLXBOC;1fq4cxQ1w%2-_KAPbOs>jTl>)*uxN_RGf;r4pM1N13QM>< z5?E?{9OgV1mk0-tCko6n0Dr2VT>F0HJ18b;>w0Mp+!5u<%Qk@6r~1jZ??*~?lQoW6 zYsynlUs^uzCG-Yxe5#*JyMFRwA96PZP?Dn`RSX;>pLGXePxX^--w)O#p9{2kOFxQ3 z0Xsj#_Y34a)z477esW7dImnA~*eXw6EMk7>fx5nI1Aus{pWWK`BUTRgGLCU64j_SW z6~Al)D0ix#!FK&*mr#O%#CEoA%eZpNj^f9itUH)>s-MN}`pNu%?41XkoK@BTcY2?p zv$GJA>?V*c2|IlUgwT7JqV!F&3rG@rLPx-CC?Zm9SWvLh!cJL=A}T5>z9Q<2im0e4 zAd0BiP?Z1o-1|JUbLV*`F>#l_yfPn4_POV|_dK_pd+t5w{0^!(yEq~FEpj8LTi{rh zW88tDQ}qnAuLn5~b^>?IE&Qk!!!L7F2SV4jRl<~+>mbpeD7>m9r|RZnmGdN^MQ#20sOW<9C}7{xrW=cU_Q^~`Hm z57Hdi7(xANa%FO<;THv6Vg`a+_o;mI78N@Kd>T2CDs7G2D zPUV&d28}Qvj1h1 zfyDO{pH7^YI6N_!NXDOz-xI$weq6j1-!%67*jHmW#g@l*i)}@o06_^n8RJuffd;Q`vO7#6aG8>7x@qJ&+`X-zwq7XyV`dGG4%=Wue@LNevoMT z-Mw3SUi3WT`K0Gu&wie*VQCtE{S`qG&j}-A%D^aLvJ;0QZdCBW34S1W^zm zs0NX`xxde$hLgBw<5TL*!5a@04WMPq-487aG`@?4V+mK za6wF-ik9x-G*gydWVb^h;KFfsMeqcBjb8!*CQn76`i5*epj2U{2UL@Gu?Gu?n(7+bTc%N)G~eJf}Y0JxRY2+o{Ts4S3CvSrH4wh#|1@A)|akX z`iLF}U6Y0xM|uI1r(meb`m(K=V#{Rw=xlLkKoaCJc?y6UH{%T=nL{L362mQu5mSwI zhBt*^r^)JXwKJ*=G%X4G`o{%4&5c@{JjH6?_+fDn^fU~lj=Gh_Q=!5&sEdXEaY0Z6 z7Ro^`CQtHL8o$}&7Mz-R>rX#?o7y@uGDXbT2rrdL3r6q+b#$i^pxJjmL`OLA06MTr{O3_6jy$+&$Qo}n?KmgH9iWo2jiV!QO zMU9A(;~|Ow${mXi(_l8&JuU!*$a0HFZFv|2`4rkMV&Xug&lwloL1cM@Na;%4wX@lA zG!>B#lfB~tILH=%n^RRnl|-W9HwAPfnkBS?H|Ro(I*`ZeM>;)G)iF*LvH1z`AnHJC zz4Q^Ap(q*%9tHusV{W@~0U(?|-$9ISO0|GF17;|asyK68FbL6=>~X;zL{m}}s%yB7U4ZEl1rhvgymv5h3icrCfJLJ;B@7KH1SpYchWKufWO-ac z4oX|5lET#o`!z>)aYp0(h7GoFTmT2v=bE%kAdcmtmeV&t6iX)DzHvbwbRnj1z|3SA zNxjN7y?6p<=Zzl=F$UmPE<_{Y9u@B^{!0rvki(CGRCNwa=&6Gigsoi;Z(_BbJ$^J4 zs&kYcq!2UN+i6KI7BNkhnSyVHM$Iloqo$3RuqfwibIhM1bf33CB#XeI%%Ccv```n^ zppaq_;6c!s$B$}9uDrv0|aE8Pxes4TF?C$%U`=nlpY@`Kxu zi?+mMH-G)(2SJXuIU9SLz-=5b7B=wbGV=s>lAt*CC1UU(BLe9{>^RlCDy# zOC0HpUvBRB{!rl~W>ZO5p?kHcRcKH9L5KEqo6?@ji!-hikI#Of!{ojzBmAE^xF#bsVgxGVj6`=pGBL4q|NLToy;rXElLI(uD zA6y#vQ{eJI%zr)c{~z^j=e^6jgXim>w|4xZO%M=H4jBP4`91;n1=W7zXH?|4w?Idx%W_wNU?2}(O72(=r z8`GeQ-7_0B9K@!y$(3Up(WHvqGn-Vdanl;EJ(i+n6}xA)+!8`3ojt{$oOJ)>mWHPx zlx-|Q%PMxy{A5#MpYktWF&3Auc1~oo-Rbz?n0&Bv#hMLIeeB*?ly+6@-kpwc?S+qc zZW>>jI(~9et#_1}OYGiQgceoop4DPY?B33=?C+1g^o7w4Zq+?@Z!Ao+Dt6CmR*C%3 zWGhn_yEhi1DHXeC_i1xf*uqbH_W9MDe*OE&me;#i-NLoUf;6gP_wIOYM1FwwRJgX; z-t>ulKMn3GE5vMYIz_&ZCKW=5+2m^=^1ZaIM84T_i{zbh0l0F^BcCh+aIFnbhXm}P zWhL^>mQ4vbf`C#XSHXELLk-zF9+EpU|4u{C!C351-zM<#8 z^lu0!7m>f}LRwTJ-)gZ%iY58V*(<8YlqkMb$a;axh-%Qm~A4px9IyW_v z+CP;|bteCr{B82dA0OU7Tnu-GUJX4R`f6w*bW7-(&>5j4Lpy}F3B`kd3qBM4Mz8`}!3E$I92Yzw zxFdN2lH6`Q8TewL68LD~n!s6sqXWAHwhe3%@cDo1+fw2Gf7x60-VFZ#a)tlDl{ez~ zi|1+2*F0-HH{iK&lILhoM~Cl&>MF$Z#CqL`yg~f>=mCwZsVw z`avV=vU83`G*y9{opY^Hb)CtjVCOsy`{@We1sr^!O%dqe{Tk8K@m8U;x6Mo7gZF7f z)8Te_5 zuk&&D5LmUHf!2G(fNqY0DqgTS=hsO zwwPXE?VC1h<~xN>3;DP864%-Odd4rzxcgRh2=Z#ir zW75A*&x|{qm-?L_Y*Pg9H|g(nyjAG5uzwvTaQ^{4>2;CSv+vO}$9@L?@3o&aCjCeB zT)M+yLt)b2(yk09KW6jqob(p@ud_VB{Ek+LUgivS#S3mj80gL>erU(^b8e?QTri`R`q1P!(K;sT7%~>ly;80 zm%!rPda|lInm(-1d6)Yuu(!tMqydNBdAl|Hq-C+NblzdJX7%7F?ArLdsTl_PHun-( z`?SrP`A(tplkTs;+NW&Rc*W|sTW!|VBUt;me$a4c>0GYYk@AP>Jk2U?tfMpa7&_c{ zV0}fKB6vSXv*>uM(0Nvym*DEh9)wxpleB&XEo@+6xXRNHFcUiUSC+0l3zFirNUS~1tc(2fT zZM)ZC^xYPt`n6?x9lg_H)P4w~*XYS=`!;s2wg%6+j;?kufyJxzWL0%EeORIM3inrF z?@F7K$#t~KnthFRG-k8L?3EsTyIq^PCK%{Jbkv(GMDUVV(Qxb)+n#o%>m(jdgUO9z%y=7uFALQv~maXcirB6*>=U^Ag-2 ztk+SqDYtWfJsIt1@PB~)q_K_;*K^5frH9A2v@3(jqij~3>*$DfufgV#dU_hx`Od?1 z&o>^z=$kD@^^BESaEeu{e$q7EV02l#G8kQIG3t1)(D}A@ufgc47Nho(QS;#>i&6U_ zjGn9~tL^#HxyTwk=Q@Bf5nOsLFTC=aQj)ra4n7z`2 z$Jn)*Yl8ke!Mz05j<;De-zjt+>;4L?9Vh4iMcy?X{&V~X_~-au@%_kG^5@x95n zl`rId!Tash&r|oOu1lSg+BY>b`AYIT$=kpNJUe-Ga%a2+{*w4s;!}y$iQ^JGBsPja z8-F-njlVyBVf^@bA)bi+GWM0&2V>{P4vNi<`N0qPUi3534@J+4?jP-m`XWz6?uooJ zvN*C^WI<#z@C1Gcrr?#~;qb2EEkl0{Jrep@={5N>lc;DeY#=C=eTW=h!f$w;3^IYnAtEcQqb^K;K zzdl-e9(sKoG2h_Qy$8De-d(*NcN@kv<08^GWQhsuR=xQK*!xp!88~j-y-!;LS(m6Q zYVXfx`Mo=NTVPz9u35c5ndkQ&*hkqR&{gpqM;U{%whdXSn z_i_D!<{-O$ps%Dq(4?IFK;I6UakJcHNIuY)UpJk6pf9UGaBcM|K7Bd;fp_ca)M9Ay zS@#}Rso{#`TcD??T{a0s>dWXUYL%!d>f2sV(KW_;XquwF0nM>V;4(#hy}HxaN~phW zo}Qv6r7=Z){ce@Hj$of2L9?=^5uC3_#w>Rk!R^*fr$%tDTYs4K>95>YkKh{j5wtQM zTBYU)&ekJnmo<&x96f?oi5|gjJ%V?&9l@EJW0Syb1h>|mzE(p0ZCmLPG%3vy+{Udk z*AbkdN6@USX#{8Kkul579#?CyYu$8e1UudO!>mt#Wm=D*of^TITYs4K>936I5p?%Z@JhX` z^azIa2$~)b%_A7l9Ge7gBk0wgzE(p0Z5};>CZ#!o*x*EKFiBiT(5FYxq-+|&pdJ~s z-0X2Rf*tFoldtyv)2%3aZWo{$r{j(lHv$Dw%^uDY| z#w<5`Tt3(P(z@x?2>#x!Kg{~{SN=hdpnD!K?~8f_-Ev@gt<;)!S!wp9_zSoGFzeG_`Aa>5?rC|vKNtW1a>ped@ip;_<40nNkHvl*TNAq^c1Wz3 zGy6}YHDUmcjBXe8U~~U$iL-GEYBXEEyxu3&5k>0QhvP^32PvXxz*+* zu{i(`0p%i)zC&Q+4b7}bXam7Hik3?fV2~t)0<>j9xQVGL&#LST1#!%ZLPahC`3-&^ zm`H@^5TRS_sR-yfflC&NTonPMl?8+o#6`le1g)0He+%vWP8ZV;F=qhe5bjD02eCs# zg@KBNcJ8EBu{m%?(2In{03b=;?WU+y_ZO2 z)o5WD5Qjo`adGizF55kJcx6b1D$|~AC3VYUQF0GemUt}!w?LK^T+@s=`K<>aGqGtI zV%UHuk*LaSUILxh8mkN_L>b&u&ePr<|!%I)#3(h*>l;tM~vy>il9FwFq%Z1Ik zDm>xr;WJMfIr{{NyGPDmKD?mmBzyKL%SO&RdwALDBy~M|8`M zLqrLI$B1mCeSbw#10ds^*z^@G{R5B&D6Uxnf|e1=0qoKb1rfQ5 zLiG;Y4l&PVAQBl7kWNb7l|E?L^DG+GH$+h{5PTT=g?W(!*F}N<3z2C+VGhX#34{eP z#lWx;usp9K*#D|)Oj;GKTn3vI-ii!$DbrVx6acDgOj5drlnL}TqfGYzdsComBo%<_ z8k1PErW8nc0mx{9Tp4tEepW@&0f1Jm_|;PfJ%*VGnY5nE&8p0S1cgYEsJ_Vy2n*mR z!0Tt2wqV`}oVl7_w5WGFQHT_B4saNPMMBP_iUnitbX-x<%8V>Ck<1}{RHwXD+lJ-ZUL4aEYGP3 zn7J%4n@DR!**qxE0ya*tIl=e?6~Qql{Mg}#B*-o~u$7vB^s6A5yOFDC<(BjmkPDW% z8@cF28SoaHe`uP5XHK-TgBgid7R9*f$0AYC<~B7wMU|{xK@I@eMS3e!=&1;{Inm0K zj#Cm<-TYCY49u+vwmH$tHkI@hbY^^XacF);aLrMml#f_9fMkUc!lOru8314Mg++rS zOA3pZlot(;4lf#Bw77fhpvtC7fr@lA+|1k*s60D}aV^WXBAC0tD-3~}2XX@t4<*Uu z^)D+> z+$fkyY#@sV7lDdj;5=3JTIZ=Xwp!>W4%9+N8(%I7|IS1KRpNjXvs^0(%rO|+oCeoN z9B@5B0yBZ0=X}R`vMf0T{{?w~vLQN~!m8mIoqt0hI0b^evZnqxW!LO>g~yz*i~sA- zQ&j;ML?64$s0@CK3;xeOv+k;|_#AfgIdP%1JHGk{Za!eI75 z#SJg_yBr_|SWtbgNh?Du09FE*2hu9kSt=HUL1466E2eLXVB&yS1TLB2S(UQA6~P(g zMAb?wH_ROA^5}9Lsz}EmhfRSVRDA;zGI=<;$`OULx@6?VU8Cj>f8O|Z!mm7v7};7KtDGXSavDhe@;iX2BCg_J2dXe6Nz3OZkt8>m>2 zX-;y+RMI1rVH9X7vVaI4TSXw#WJx+|mn&w@Xk3fPfeo}Va5XCenZ|+2NiA2*B!SD5 zUx+?s%H?KP1UgNYn66rSiIXWGE->CA4>CjD6+upu9V=F zX&k5;L^6v=HHDbqmO$XVCG%2$MIh5e0JvT;liIiWH&7AKG!94(YB^6aF^ykopdzqo zZsh7b#q4bU4b7+sb{bdCj@sq)m1E=;a+=*bUBhF#4WM)on7F2)%eitE=rpdJbtN)~ zI2o1ZRs<`JBa{8uIx-my^T+&(;H04=-KBJ-B}1e6MWdY2hPiPV=6Z`YJUX1uEgl)o zEE;AgI5Hh)9hvT0n~vlTj|sjU$_;Y_%q~R!dVymC>d*BR;uv%5N)BgUb!3v)Vsh1 zEISCdd+c+)6@eL4Hf9{~n?{S>6$ESkhi#d>JY32bXI2DjP}!KFrGpUN@=*c;2^t}4 z+N_G;3o0A4a_5)yh~S}0Vr7N}{KFhqs)8w~y0GE#&rLP^4_B!fGVaKYdA_%zpai9F zOpS-@<}!KZ1aX`}1M^ahzyc(wzSpE>4hc{-L&!}$U5}2(9lrnyx)3vi1hJbrBzOH> zuY*9S@&AtLAfA8An2^M6eVND7|BpHgqYc~ zi`1LahF6Y}Jw>Axt+ip*15?`aIb-Bo(a=3+%g!xgO50sAMt&Bzt~T49jt?fG%ep^U zMtn*?__Q$+z-Z_mrM0fm7x^ zxcLUR>JHsAMrIie-P7!J9-eGv>Y#hZNIs*Xd+a`KzO7q$OXa$SpZH96vgP&eRadk& zGSz5+PSd}9@|Jh9!Kr}m86%^OhVC)jYtoyhw87KINPVNBd&~w6{cTE{TscOT94+$A zCSL=QPhK4@hs>6zU*waB$L*6_8lDabxE(Dkv^MjTP0=gUYf1-s#n`s)U2V2I9UnYb zK3LG&*7m{EAoAzXu0m^bhIQ=Hd+?%8)e_}R&p*Sl9;MgA-r zRcLKyK+3d<{F$_;06NX~rcdN=LxT#S(`;}$Mg9z$Q~;f3ldplu-7Yb321(@DSD^;i&u=LrK?5quC3ka_~1_YV8KFNTf@^J^0%a2 zCGwqdU<+UB`QTqKAD#Da2q!m@zXdHSk#DuwD)P5@dgDhQ*yHgHZq-%fYy7`C9sXzi z-|*k<|FHimkO1E5-`U^o5BmP-`?>E?U(NRc-^ISgzQcTb`tqq4Q$I>Ql)5c-ZR#BG z{|-;>n%XXvO#U(X!{j5$dy}^$$C9Te4^HNivy;ih%ZVQ+9!h)?{J(P(qlv>3rNoSc z7nFeS#lH^z->2d?#?Oxr$M=rU2mdb~dpY)0?BUp*vFl@(#ZHSI9osq96AMLu9epDD zaI_MAPxSog@!3$wt!QSHr&q|L@D-2)r+R zad=61zwi#>?ZTUc{v3KT^!d=Oq3eiJI3;voC>z=W{J-ad-y>V$r-Ii6&kPbqLzpr?2^IqeAB9c(sQh5G==1W#ArNdYV+{jnkmBHl0HY-kCnJ>3{4K}}`;aZH)lFlz`kd($l z7=6fMR9`XE^_@SkYSmAgu5w}YNA1dB^ht|R$9sj&Cv-=v(KRYepWwInYscEGQH#u(^l|#Z-L?fWy`7%(cZ(4+J8zeEce~8_bg^9- zOcreZ9dkZy;b1zegw4F3^H!O~=b-NS#zPp*Sd1QMWBaA|wwTdR%qhBmyD}Kv&tlZ^ zULn0tyVqcJUyD)w+ADWBS#-Qr==^z`mr!mjD5+*Ip3bNAWVD~5+Wgdh zVy~ml=kyeGx?sWMZ`zf?G<>f*pV2+vcnG7~Re ztXlPxrs>8!@U$yqCUjVgI^HXE{WR&0G@< z^h@p~u=WR=HS?W9=kMHKfwkY;tf@t#`t1dqHT8&I`>ojj_wnr4k@`WZnz|;nJarH# zf4}1_|B2+K$;0snco_`;Pb4l&oS4WbLh&EQ?~Y#?AC2!B?~464_E79SvE{LSVsoN@ ziGD45Q*SuzF20tCV9HhQ&1Ahs8FK~C@s=!EKC=l^K>A%xI=3ngJ#lN}lIp1eN z89arI0&~27^M2F&G4I*l13>QcdLH+Dl5_NaufJnrUsa$Ca0|NIF~jlbkjP5hl=&Y( z1_+R=3YGzWK2Bm4K}gnC96E3UCAyzjwSlSt8@Q4yrw(x{A)plh+$?^exxT7^9N^ID zti4cP03VWGGLyxrld!|tRlz#Iq0=H}hT@rnyDM>yc$1XMc<%L71>pdX7K=tX1>rSJ zX%5F0$!uOKWam}|*Z`;L29-=Yyo+%d$`Q2=!~$tVbFe3n1~{m+Dt;1#3QI&<4HfWc z#r?BT=&cH*0d7I9#NrrSB*==E$t{d0Ybo1T6=(yOip6(IypsoUOp@?c@z>q1Di8;x z%x$fh2ttWMl_aDR1UyupSrwE6oPrc3{X;M!Ddcfw6^C&=&&#u_f^2|OkfM;@!ELgL z+cMsmcyyCNKHF0jI0My%4N*ZTDOeJChtmiU4TOUBRu!m$RAer62~#E6xP?4q z+gBBU1NF5gEj@#KH9onxyyHemj?ogt0(9U)OxK8SRS`GOJYz_>-{8=^s=y!MPTtCe z_)JSjlk`~}&0GHeUrl(nIOjkaW%NJ3sAJTKVb1bnVKKX>@ikEMW zc-m5_rz!#5s&f>Hnl}V~3d#YP6=fzW8QKS`DsY>&T$D{X<3lC8EMFoKe#QQ(irnTa z9OTMp8ZRsyp>VFoDXU2361Xi(%t0+K(|C3bmFOBg>G4<_Ec8_+a$A;|gB+h}T;*6A zD%mvd<>l_GgmB|{XAw&`NuVkq4C3lfI5-i4-BpR;#%bCjl39d9Y&J)}+(F`#Sr|j5 zIaP_@#_z5{BwdAryhsg!w!oDT7qo4v61kn(5;B*Rxl}b!m3VC&pB)6sPg?x)n|_c> z#I_r`#^PvkQtq!x&^B?Wj@t2)Wb zOGbtV7Y{AMNxOUOuM#8l!*tjV%%(j|*`=D|yUbFtmNgZ+8SyCocl@Sp zt_&;eWSvdc;K_%RCg~>LTA?_ESBhURFdbC^Hy|oyjf;j-(MAY z16OLb!6AqVIU>Yhh}eXofvO-KAikY-D-DUr@A4pWp7h%}A~yS~f_i}Xc9JW{X^<_D zIZuCi0XvvQqckKEt+Ot3`17LpuzTd^ zR0Ze&@!gA;1SJ_1ieVsH3hVm62mnpYLT1C)T)da0JLN9iN157`XI z+f)VgV5|9>l0pz2ck5egRiBaZC&X@DJpiYd?rssktW zBixzkXLL-OLdVO<MI+mQ0;TaE<8g0x|lC&H^LSR~0w|)rlsl^a~mf@mhGH3(yHl za9>qm4P1!n7_dJC>4bx|K$uf191WpXlXo6u?VDHD3 zeW1EAM6v=L8i|T1Q*AP~Xd7q?eDOv?PER_>*>;s9KVeuzpaGPT>#wGS7zP}~q8u?q zbPUX7^JO60`l?B&WpO#E(T%cfR(UkLL6#4FHM^RCSQeKimM+36U(P;6B#PdX$#qxb z(8%{|8ks=l1%N7unt&9*^}Sf^sm36h+xQ^eO=TiBIUb-cvyjoV2C7lvEk{)@no*uO z!{#5I8finWAj?|GXH>&NzPYn@r6&z-T@6vby-T?SkY&58L5gSC%+VD*<bzW0e_i6C*c#G}jQFVaA@3PyfUw`P?Ew|iYe+$MA z-RMFc)`q9U&+Q;uR(@_~%ccaJ@-JR7cA$G#o9#}=2Ol6GEFynxA3O~re}CFl zj(ruU$e-zdy>n)tzME-uXs2uyO7F$IALjPA*&-wXzAKu_r+lc&qX;z7R zt63%T1Cy;xp)dD7G^Iqo-KU1gukRLo^;@ULCtF_cUPUKs>e#^rg^Mm)Hnum7Dv>|_ z+KBwUXitfJv%TpP`Fql!68UC>(<$=zph+e2%_d(1k-s}FE0J%uJpCenH~C}{`D<-> zIwat(w5&wF*|I5mr$OZJ;@;I}yVLQ(3+01F(H`|*&kv~L(DtyOmaQZ~P zod1Ue|Nl<1_8lHy5Rb&3#0UT4*uk-RF<&TloKlNF@Ap_zU5WgwG7`8BT{@ z2z@1VbLjlg0il`P4?N^M-M5Rc)B6Xk`Zs$|_wMH1%<}>W0k?Wqc=qw6JD%_OO2;i0 z`hQ2qtePPHVLq(LeI6GcTx)SZ#KjYs`CM!P1~#kal}nNBHHo@c%|RpgY+1mR1X!%Q zCU|As52;$L`!RsWfMdd3TIK?a%eH}ZNfs|rpTH)Kv~xgo>CTjbUh zP(rRox&0HsGOULdvGmdct_B6d7f32@0fD;et_on8biw2m+0X*PXB*^#5CA8Dvx;-7 zf>y@$bAw1*53y%*Bgf4htd+rBs|rpTs3H}&J2FAxYX0?C1*pu8T0z*F#N59LQW^Je zj=B}%64?xzf2IDapp{`sbdbx1Su1sSRUwzz)aw3>Ap%4LD>w$^a*>wIcjGtQ->@x1pY$|um=0*j*1Zy~OOw}_iIHrp2Ozmb_6gWv21Y4}zAlYHeAom2fzCv``Nhb-c<VESnOGlQU-7Q6vNmnSq{Xq-@m{ypIcvuMF(^>&5!O&(ofSnEy6SutO|7J8M z%lhY{BGI$1g|bIbW}E(6^jM``wJ)|_wkmehz9*YC_J*b^n>MLQ;>n$|iSqSsRTO|f zB=5M3RT1$24A3~32?ccy*ujCSK>T4PaZ+PO0reYzN32%)Eco{r7W=A#_lK3lNseU* z3l{L;80---{I|at%+aJJcm_~$4$>+l2oLd#RKOCEm4_K!2G3S_4$@ z9Ker@ggfGggyRLWvbQQYe=f905tze7Gl&}!mPJ8iuL|BD*0a`n=_6cgfCt3bgR>AG zG+FGGqYz^~Yb9n&$B+S7CLo;xBSmhTnN< z$KVc!w-+<5rz&V>s&}Zx(w#^WfY%{Y0@05`gz{9iV9dtbC{GNQxM~TmI$0?Osuqly zlUylJ^bC6#4t7NlE5+0=FlMrZ9kq*j5!`gJyzm>s28$=rZ7IxMfK9vy=qc4BbgrY3WYQJo4}S z+^Qg(p*z`BT6ZD`i191TuL`Oey3@GQotO>9MT^QKKz^g#<0OmcB#v(&e-9Q%N}1vA zu|ui{DBUU1F}@+Xlca$`!0|~)hr#u7%PO-m;Dvxw7hYY6`rNvdCqecDu1*08(->}~ z|HWQet_qT^0=X8xp*_7usgv~i|Lq;A$BF5`D0OIRAQetNll)Bbn&fb@kW3_=O?)}= z-o#0X9TM@#{owyEitH5W3_lLY2b)Jum2VQLaBWAmrehtowXJD)2!D>O z=xMU3@pZ;?X}u0acxRPFF_COAl5J_72O@nbmBS~D-4{iGlXtfK27td4!2gXU{r@!^ zT1~w7(Wa^{2O=QpQ6QP~+zg3}TCTq)4*agvZ2km7;0q|2^rEQYWL6VjevVJhy3v#X z3m1^<626n%bD=i%*Tk0LnW^vUq?p+J)Yl^5K_?%##RC zlc?mxi=ajmfrDdfsjns;{Hh~OTIn0kPJr=Ch!8HLxWo6=#FO8Jm(DtO)A1k#H=Q#TQ?{ojKFX?d6p5NRoObyVnCHe9FUJhaK=~%qg^nW#cgZ=z7u1az zzKK|bviX6U<(%v!SH70wyvhOtHX6U%A(o^#C(Dv_)Go&%iK&t77#w2A=t+NycQSX$ zPHJ_R%zXy&P6RT+NOpEj+>~XB>8j}^&UzATA$N*6D+BL5yCzP`v*+71GKob0#d(@w zCb>e*{^>Ii%zMFq@YT~j?E?JvMpN1rHZ_}?dzb5X=9EPguFf>|RGLp|M z&J{)$6O)x$vS@T@cxW;D&d8E-iTIUn6sIjL#i_bB#i>myG|7!82V0f}XJDk}`dlTG z76XyY`JKBTu2|N27!vq!why8dIef9+-ndEbe&Z(DKL7m(rID?PUq5oU;-WYe33pYq z9fKAQ<%D0>#Iv8PVJ9{F4PqLPZ8oyJgc%kFYU1RN-sB`kjuQ+hFz?(fpq~gbet%6I z{*jwba%FpD8Oa;$)7LV%myb2t1NlM+0N0JB&ep4@2QEmKiisBp@=HM{+E50 zFf*~UQrFy?xcPIB+@Mn1ACg*BCJE$_7~UatA#w0Wzo|GBCju`;Ymtje39JO>z9#mSuX(aNSrq9P&@*s9QO3;btxO&tBXDpeHHJ?ITZOvqV@!xMw7 z>MnEg2374#S$#1R?G{%HSzaXePhznH*7Z& zEseDR)rkw`-kP}myU=R2iR!TQk}!a+r!=o7&i{n&wDKTYlO(Pu7D@u9Q6jYe|H&Px z)#UwqPjc(TEs5>p55^CQJrP?@RR1dc|8I3%PYoK(z0^bGh1#kb4q7VX~QeWR>&tid%2}y z)dN%7@;PJY(6VyZGe6nf$*25_SB#zQ-qmKi)A7M)$p?$O-r7ER8r=2Hq+R8%S9iMW z#p-umaqvk$njG5o_9breDr>mwok5GrUC(N<#a(Y<&nF+*?F+YVc&lyP^-iZ*<*sKn ztK9WMlixOl9@?kTlycXz`_ypPdu*n6#+3&znQVEzd)3uLdpV6NcfHzcBl4Hgo^sbS z+nYX-zmx`*$Tu6DPLY2qO)8OZHu)Ne{I}7v68UD!Es}T21>nlDQ{5zaY z)3OrzX3M7No$@bUF?N!BSDWol#|Mwf2aCvG+XqjB$RD9yCGu-dk-z0upS23ZE z;p8Urm(ZdT`BsaqB7gSxum0TO&uw_lnKmMSG0iHGZ#An#{`4eRSVU7wNGEj|9#R>>ub0Y=L*dPyG-1KfqnY zYVS$joxEM1-+8_Yj^Op4b3x?a*|T}a3vwsn>*(-2Pxrc0}0Evk-hCk?;q7Rcq>QNxScWs?yF zzMVB-v{jIyWBe+^~Y!bMQ;5&4uua!`L+vR!$O-geF$J{D&9l=$4 z1kK8tM(_$fGG@8i<7xyiTQ{8=!MD5hhgqNg%1iYKPPmWY#d-v-QgZ|^)FWt@HI3jU zdIYT!J%ShM5j3wOo7dp^nq!l|Z3I{9PG2jb{kD%L4fX_-MW0y6J;D{bUt3;3BVm*T9>8N=G zPt+Wn1a2dEobL3s66$X|R*#@bX^!9tZk4%?;PH9{&B~faa9EFwS#I{Y8o^`MO{Yfi zt#18c)~CPnXgz}NxM04c^a#3PYWa@PYtSxh8o{^d5wuG52p*|N(1hJ-9>F(jj!go$ z5j;e9`dSI~w;ilU(4;g+@G!T^Tu1OwJ%VOsO(S@?9vQRT>~S@M2d$eJc>05zQmGm*&_ca2vthqy9%b zuJi8Y_y67h6p{a*kKO9OG4}4*1+f!idw>8CkNz$CT=ajV_eXC|{WA4P^2OxOliyB$ zA$eEwhUEFl6O(%-i^;jkO%i`iJeBxL;*P`z6IUe8N*tAVQ*>GM(CEVGKy=H<-y=Vb zd^z&z$a^F2AXncJksTwmB7yK9!_S7l7uq*;bSM~_#rgg_p>l9d@bke_gR6pv21~(@ z1XIE8z{7!`2W}6%EAWrdZ^NF@CqiEgT^U*y`ce4$@W;akgii`*!drwd4Szj+pWox( zgnNr0_&)Bt%J+NUsBfjO$G4L&;(gI~r1z`dA9^qL-sD~6-OD@S|D^wZ|8f5F{JZ++ zlHu=dfg=Mu24*K_CxU^E;xEUai+?}<<@oLK>*6cp$HfnfzbW1uPsRS68c)5~|7i5e z)TLxS+%L5twMmNGRqr-rEO^%Q4bR=44|}dw`TySLIf}!y|Hh6NJLuZyUoQvie~(XV zcX4r>N=tOAvH&xh4hbfP7Kh$|c8jr-2 zDQzWtt2x}3(m&7(u(bpxzwcfGi{H~ZIa=Q-q#xG_KU9IR_rE&rhWcAE_g$Och96P- zJ9aasCs4VN{k~7 zF!xBiGT8fiyD}L3nl-$RIt%Hq>fxOXi%u`Kc(Q$s8A&ULV9kD{82xhe%8reUnXEam zs%lF10td_W1TjLU({Ho7L%AzU|5$k#Ypwpvg|wBt(NRLxU$pcl^^$gtPJhmtwAM2| z;X(U}odYQSux8g8EI~(qrd=5weSf<$c)3q^w6o4a`d-a|RU}_~kM8J3*aTco=x%B} zQXO5_6Hf&YH1#TM*4#^Avg%#}ixoXtTWc$%$Ms}Y1;XCldUVv^YO=1e`JG%xciGLD zGauIObT5ImJKRfP?RJ|rv$jI|Hk&mHgtbrGtf^%~zkSMPO+8S(_DO4)9CIG#KGCiW z_CDUO3KK(vj+5lKdpP@?? zMoaoktF+PNIht_?#0VOkBUW14oFxTRZ=a>V*an(mP|miW zG$g}?dI~t)F$I2%{HRjOtBVhVMG7 zR>!stqwi@~2BSBoIyyErM7R1w_pvj8J$c@AEx`bIruz%kY?0=2I~jgPa1t} zov@s!0qpzHIQ#f5?Oub;w_5v;vGR`4ecS*UfYBqZI^25n^mb*ib(+PN zCbA3P*eG9trX3Ut(<}X zlI}%E5v)F>i(Fjv)7R^9aTdYu4c6My<6<#*=d3dDAjz@c1tG z5?H)O_ol-`K7F7%pR%t`@AA*z_cZ!|=+$Xwo zS{Eq&`HC%toO|}+ZHjp7&Eo&RuV>qi)MKenr>;w#n%Y0rkB$G)lJTF#C&>S|IKE4Ko7hXShhsO9|8K9@?C2}eN24E&o*CUE_#$Wc_XRHv z9vfT`Oa^`$sHpsZy9GA)KkL8Gf2Ds3=k9HMfAD?9_W|EB-`KtmZ}VQ{J;XbY z)AUa~g$9)X9wPf00jvUG)n6B=Ln4EmoJeF4q@bGsYy{E_LCdr2f_X@| zr$xNo z0Go)8CK@MGCTU)tEPs79K{h0Wr*(=7#v(yH#F6rUdBSP{BcocJ z1TlwhBt%=dB33I)OtnHYl(tN%M{E!gwxDAX2_?DX2*pMWSX- zo?&2$5h%t`6Ztk!vw+#^S|Ku)7&BXNdq}t_N$?mTBCr)O8=N`F89NnQJOsWKr~#~; zVyV9-&}_2E9OM#GEfb8;c%Y-QSpvNKY68thNVSt%5TJUm?fz0`QF} zKycO81tF#3W+aD}B- zyFGY=h_Ot6O<)UMsg-slstH+Wf!_m`iAZRHFm$D6HIlIo5le_O2p&jqs0GXrY3Jlb zHU%&j@<3st)JRL^?wWua0^eX!i{ut4nIfQ;gf7E0J3@C&pbU}S4NC$$9NQ7733>P< zuQA%$+?oIwq8&Ae)E)-_Cpr<~yX5slFqa7873e}X^_t@pR~AG{mO7b_1^qflaIioZ zy3n$tka~~!ayE6z!N*^HHGwch0cfq4J_5}Jr3*TcT>!tyXXn)f$`IwKm6*V3Vwp2U zLYYXWD8a->Mg6t@|Aab|2CRl~4YfM_Y2K-GR zY4SwB6Q&PlVP8!k3su*cv~&$Y`e^NvJe$3U^r-}^3vwa4Q7aRo8!3oO3CKpnB(?F( znxGe|zM*27JD}H~mVux{xID=g(F_iNLiG(4s&CK?(90$NHds3#iS*R=heY*_BC%8> zR6BGR;@2hZo4_dT2bC-WhxVeN%TZHN_yH6lFY_Q8!oEVyM>wdJY6R4ofbkIhj@FYK z8mR5lj$DCniegPzIT(ga_Y$B2}H?FF%{FwKhelFIrB zDvsbPN$N#b*q#u{3e!Z=Q7i?)SP?K!&;h`C?Wyen5!wA3L|QwN+}VJLg0w@PLcV2p zVJ-)i;}|>$2#J{`FW+C=O~{447IF>0*@Vx+KWEf-73$5M)Ji$Z%&6@``Sx2n%SAaF zsleSWY*yPDs+o2xS|7@C{@RJhC`6i7TOo2{YS!Ka z9SV`U+3FqvW~!7K$uG$a=SN3IN!B?kxKi2N@FGwl%8R>o{QvTf)YYk3$=k^P_xZ$L z@kir_;|nkx{cZFj;{V?tnIFD~{D1!wdUNo};Ber%z;e6=t|I>b6TTh1Un2kC6P^=0 zp6gh??gRVE)idnC4%4%@#Wz8@Q%q^3&^fEOwgWrNmQ6nnaiW;gc2}(4$`0&UTf5Wo z!Cmsf63e%?hNa`D^n*`Zou*wC%jfj0UijQ!Keq6fA2@ch#r2LlbBX0!-ARiomd|Rj z#ld~y-ZOjRr_OuJ2Dj=S%eQ(+)&K!UB+o71R@}JU3tM`%ike7jE#k^la8z5DrH zJ?3wb&~1H~#ET4ho$2p$%@;UF45l zM6*idH;1B4i-ih}eXb&3&j00(i#y_L;upt{j1R_R zu^-1i7kd}}|3k4&xdHfM^oHn?Xd#-4{3i1C$cORZ-y@O^zZ8Bfe0TUA;iJO+VQ=Wk z&_w9E(Be=&6bOFbx7v4o#z5^CYCf&c=KFbpb@@CeKMMmu-MmlY$92Z|;P+ zVD7C8AbQ5FYPoCUh86%zK2Ix(#siO$DV zTqd0(_oJKE1tlH3q^{Dshnrg$RCKQ4?5EN-G|__joSR=4M0Bp=N%=B58?T0ptZ z7wb2s0WPjdMfESF!2rgdVc_moY%ZDN8#ypeaM~nod!M-xi{>$zjju%!Q|dvJRj{Sl zde^SlO@ExM+E8dGA2%u1lMg4g`=-WU=SczUk~aW3JK^rIMZP=C8hD-nVNR~sx?~Q( zV&bI6P*`4oB}t%}#SaM~fpC&E06hCi%yYfh z*!tFxsNQSx)q*KJmT(u6{Ex+ZLDVBO8nh3|fh^80 ze7NKfz*S4p%B(>>!Xn77&%DBMY7mkwAW?mzjE%}wOJ$^#G_Tln^Fuv#fk0P%qe#?@ zDdI6m$`}m8?CJ%wkqp!o^f_(0DM(oOV2ure`cU9XtQQOX+)0jxgpV9~NieCFSvA0m zXZz~{elBa*QM=NSNY9LU7dJ3*AsXtd3-~$qNGG-ENI2`LG;-K3(Sy3{0)vi{WD(O% z`1*-OmMocgaAI@J6uaw!f{v185y>RN+)nZmEZ&mtPZEmEsS5LIMuRiV3QV~i*;tbz`FnkO@c+>NRe#n0UjGID6a2gTGyZM-5#I~G@A&TV-Q>H% zx5BpwU;X)l0g$>sb!X~>sjE^eQ^%$DNcE*QN_Bt>@T25I_zzs0JSRDlJS@3Wa&|J9 zcs}uH;(^3%i5nB=CXP$&nwXo|G~tQA5dTj6zW9gZm&MPBF99iVxA^w)&10{`ejfW; z?7rBiVmHRlj}6E6j?ItFh()7+iars2FnUXLEP8fyIC?;IFuHl<<;agC-yj>|Cn8rV zM1dV5y^*aWvGCu(6!>Piu22L|51#-+KsKBXy&C#u=y7rs-o+io3h)MY4h@9TA%F0> z;5UPn;Cq6X2hRu|7u+p4FPI4YA@H-n{|3Gks0MBhtO_g*92OV~%nNKuzJup|n|c4{ z{i*jc@8`Uq_P*15hW7|=Hn#I_=6TigwC8J{J3a6ATTSBACMc4H-4|b z9?+3V_qC|Qg)S@3%IW)@{-utvag-3W^o)*1Z1!VL|6Io&+Rq4EdfI-{h(`Ri4k2@T zpc7T~V!JXTdVXuO;*3W8O}p1%^93E1X84|`e`Q71*(wfUgiv3G?!sx4ZFd{lWY^Gnfd%e&sGYr9X*0`k#gc5S8-UoLc6VS0+P=`h6yUun-P^PNJM6(raC z3ankBze|-^ti8i#P3h;bwn{&^*Vc!+4%QKG_lio@b%<4})KB63&AQv~b?T#CN3|(} z_apW9I^HUDS;1wF61YD?Pkmivv45zZKlU^DKg@n&PyMc=_3+>8Q2*)P>;K&kd7Mx}=qn|X5HjJLtt_()cv>0`~ zSLm`Ldhc}@6ZGFM?j^9c&}Pkir_i;N`zx@vv(1`XG;*l#+QDW`J>tQR z`a$D--WAa6NFDLJf>vo`9YypQI&LUnJ<+BJ-s74@$6JN2Xq%VdKBm`E^PNOjNKZ!l z8T^OsCyjNqk)BJ=3nqBntX&yQZfdjQTt^$Xdkr=>(bLnoSn5jZo^L#a(Uirgp0P3u z=32GtCr#50Mtj?p!RS1TQOA3Qu5H`B2BX_qjM_^^&4(U~QTri`&e4-q-N*`?+gO9= zTu0sRC9pVKPgchbao0@uS72|J&B^3C+S;0Zjde7`W{ue^tZix6X08ePZ!7l_SnIM` zGv6t6b-KR-YiXM`wP;koZEmxs9?@%C=m(83#q>}0I#Q92>7QAp_Bu-cLXV;22*PpU zxi&?d7M>OR|4_$RN9wz&Po*wM9g)hWHcI{?c^?S>$Aj&+QQ|j=2NUm3EK1}-@f(l4 zFLFlYfXFuC7sFo+-w<9J-a9-e^q0`rLpOy^4ec449sFnTJHbx|&kG*JX*v*iI&g2` z>cH`VEF$1p|ChL3ILTl3$2;z!LE|^SF2T;+1Ky|Z0ZW66GK)s@qnYB8A%d*9N?kNE zlpB`d&P5}cMdj|X!|G?Nd%%r5?z8n?w=m9vT<|qJQDERw*4jMLR;0$nrZ9vhXnn2$ ziRmJEoq$a2HHI(p-xBbKn+^*LL!J242x0(69VfXMjIczB zr3{#hY_Xi1T^Hm4ET$GQa$H~vaHPqw^>x<;E&!X3MWYOZvXn6g011I129s$| zT|feGd}$DgWCr7c*j2(jB~rgc^4q$A17PiIJsU|ZV-70;Mnnv`NQXkPuP)dCSo>OO z=_1T3*jBMg!UE`xA65vuX4n!C^@fhKwv*O|*v;r1@Ww5nkqPsE#R$@KGxrG14 z?l`k9hygfGDO!4mz;&^RLWE(J_`<@hx_|^=7*rI}HzfHj2~Nl$$Px5202g&Z2EZ_A zkx0)l4A}bc91&~+g31Q5jE91y2hkcK4lD&0Cte<9w(OEth&Gl zU^G?y%ES?)DWg4@7c(}T6lT{?gaq^tMWW_SmN72ECazUvf#)ARbqRo0okNq$)PaID z$YSBnvrQ1=h_$jbP*;J^)Z}upp&S7)m*OPGZn^Rruab_KPs2_ zXAGzgaxtI^fJM`<)LmDx&^9&QB+h3*<(UfoR!g3ekouO8+Npru}t62|(1kU04-ysKik$FNgxH_&jJ}f)n6M zEhrTD{NgV~h&vJxJcs_eU7zem2XZq^`AAs<4aw4u}xc?T|$vAcp zT`r1}zzCoyS=1uO(N_xWHd%2y&Y&;#)CD|%t<0iP8yUjR42m8!2UU;%9Mt@mF7TaXzlEMR{`pTP?c$=FvHumBfgc33JU zgr5Gwb5`(!(82^X0F9uvX4DZBE7Txd%*0Wf9jv!5*a6DRoU4GQYY~(%TwF@*j3xFc zHoZb=W?c{jl$SZQ^bl>A1;zs>IC`j*!OL7g1C*D!x>&%AiftGVJv1)#K6d1CPhF4# zR3|p>9z@4O>B12lFDLw{hEP-#UVwapsi??aiQhWDOW;Yc!O)$(b-@l$pKH=8ZAq}J za58}$R1P{_5Cl{|nzYOr@I92byi5#n9xv+n{|h@(t5b>OP08NG{fRx|PsA6+eiu78 z`f7AF@&7kQy276d7efz+4h=pNJT34KEaP$ijl}R|SwB>VF7in1qwV9u6UK+{tn$mVxtS-2Bwb|};d~p6>`C#ezDgEHnR_AC} zMe*IQ1@O|z%rm=e^wQp^uJkr_@p=oVCdmXy*Mh-|E;@U4mKIeMpVeZ^ed#XgjvLqf z>5qS({Lb}kwT;Nn(5#B$vzk>R-#^*P6pH*ono?1GcAqw1Krg&~P5AQgbxk4T>-l}I zQGCl*Z%?C2wrq;tDgWXXtLM3Qwb|};eDHSv$_Gz_$lsQB zmB_!(A@Udg;r&m2?eL4vniPxcEu7p${#;sABHwDUMdUA>dFyU3oPWRx8{BFekw1rK zmB_c6oklIcho+RsxBJu(`Ct3u;sfs5WxEajzBVGin?@B@hl%esZCd_p+EXImY;XER z{wx|)BHwIqIz|3Wnp7g+Z1Ob_`PqeM_TL#F#bbX~>`!>>e=v4hY@b+9^q#9~-dI@U~7!QLO?YMO0p03z8Apiz0#B>r?TEQO`)CjC?xpKaDLVygo_iL@0 zJPlZ#Fl7snD>f>^`escCoB@_VMN1C>t;>)~*eEwFr2>D=nh*#BF8&mW>K`sINfiM6 zY5}wcKE8WGU<)vVStQaqgsyU%hox15!3aB}a}-#C5SjOL-1`yMDUpK=9G8uN$@WeN zRDtS9la|gY6FSVrB_0p_d-7b|5))hk+*qJjv$H1ppio^yZR*Y#BPms3AjH;6 zlxn_bLL#!&{8A)p-jDWfip0L(VV9)340yeRAn)UQBO#VRs83jt z*iLd~BUSJrd2ZLaT<7|@Z$cumad2>wi;WbFTT)X1DKbP@GQ<*yElbS7iXe4h)T8S& zVqYXSeD;JyWOKD{5lbhL-~ix$%-yg;5b99(gv4XZi{vAd6Dg(kWg&y{qJ|W@niIql`{E55=k(&8?~57F~>LmN;4)T8k?X} zN8Mr~&E)$hBm^6qsH0qpK^1QP<+>+SJhn|uzd!`OG(HdX3d>)DvU?^ZA{(2iu2SZY zK!~*bwwREJY;2-7mGlgB+4&O^e~nG_e&szjiiy9RT|$2jFA_ULwlq8{StAx@B$#v* z@38|W(iYgp{cH0c%Zs(MS(DSwTm=ljg!Uu0@f%rB@3Fl2lE9x>18{91HhLY-W8|hF zE}7_TpvH+7&b@)P;exf{YAY4JlmWBKTJ$KT&{1kzG+Ty> zm=MqcS900&*%8Q31kAw@i;9di{SyLUfUI-YF8c>C5o}y6DB`#Afa;zQAOkcbi(14s zD-Jg|S)=%P;vS0J7We|>wne0Oehg`#b|VSc-*A$dGa;Y_C`Jt;wf6&ZPp$!6iUguO zn@1%Pv;y|?);Kh=!m{&XipA!KQig@MZ$iKd*w0&O=_as9BpC`OM=YG6JD^1gXn_kc zorKpK`3kVKiXm8BUgu2+cmaSLtu?FkNLUhq@fbo^K!=<;Api#K{fd{FM}kKh-eH7Z(}Jwq~kB-H|*Vc4Jt>7D>2 zs(WnJh-&bL5lj;_1bp#|JrjOtRQF8kMnIQ=3xfh7zL7GE1}1z^$x3i2B(lw+lCh~| z0kC2|;4(Nc;cZ8*bR(?jU{YaR#`mZ=h?3wDays8pyV8xwM1Zb|^B4dn;JZw8K#g+b zq~;_fZkd?6af1LMC5v;|B@oLh(^X49u`bX`RT?sp3WGp%Tnv${vS#f_vOVBB1^fi2 z_i}bl{UV5DmDxmEJ7QumIppJUyhOy*FBI-_khS3Yiw7B#*U&6L-MF9)xzdls1mE<- zMdN%Sm(OXbT@)moIE-I^{XD2qmmJihE=dP8{j#&`=Rz&B#dhrH@(0xz6cagyp)cid z(O3x$+LETRv?Zog^ABgc6;SoqHEE|r*faA(<#hc2rXBvr{9o|j<$u5bLjSOTPk*m} zOTXXuqVK!D`+Ohrz1_FmcdTz8;{TsXeIqrVx;b@y>eAHd#Q*Ou@&Cy`C!gWY;30Ab zO8oyZ$^DZ<$)040*n!6q^~5cSYZK=uj!*2K*e(%^zZ`!y{$1`7J`%q?escV%_--te^>GUYhoXXT|@l;i7Nho)0i*%yXceA&qqHVy&}3adUSN}Xg0b<gk>Z30REKZyU| zRK@>4?7hc(tM^^rGrdQ7cl6HmCOm)h{1SA-HJmwP}* z?L5$ObCE4<)uZER91EF%p7V8RnY|)KDs`>U@mcmWo~*Q=G(yWR(cx82DN4lA37ePdh%G~Uc3q@{ks1$S^kR!qtUgivWu=35DrzwLUW-xv+A26%6c@se5+Zywg*K0;G?(d`hV=52b`Q$_4jwm&dl!Y&WIEtvmu+^1hOSzcV?%o zA_+*5CS5>E*ldA7nj|Dtu^`z9DvDU?Vxil1%F;tGDk31tUo6-w2sUi*_uTtDGtZsp znGK0MeDpQ@e_xGr&vVbY?c8(kJ?D4qsbHEIgXx47!lo!4e6s1pOdSnYU6M{%0c6z$ z%&RtAwDRVk*wGeE{e);c=^t*h&#N<@*U@0NsVM)SSf%!+G2`dD+i$Dhq3DQT*C=AJ zex=*%`YJuc3L$fqFjT+PQ(qTZBlS}~f9&5FsGr%tl&Ajh^sKqfWo{tjA8M5$pSAI zYkkISXtV^?pDkBYKjE_kwSQzr`1NGHP4twk(7#)QSEaWQvcbEAzWkS-tf~%2!_qVU z;r$8yXhChLPqc6|Ua@AMa29K1#@}qw^g5dHN4vJ_bu`05<+!cN;77E-*rJ)=q-R*U z!>d0*v_IROq!x|R!7tgOsh<$-W&Oisc^%!U*U_X}M|WAJ<#lA`_@4AwM-S-Xbrm7| z{kpxbqVxF?9)NEcZ>d$*p9_HW34kNrz|9X+h)(xlfq`g*N0gnZ1F-@T3= zsr4CRKB}ju#mL@yQ2p6*y@mXrC8+%)f_`65)=7IEea9L+*E*We}Z`5 zwIwNg2+w%RntkPU^t3G+vsZfXal1BiP0)W&dY2&Dw{6kPZ_+cq<^2hwJz^kfKhbO7)IXH(PiK5euOoE@JLA(AtD6!$v%T&>R#^YeOo8rS?Y zuGKwX{t-bxYYD1ntjvOvRjdBRG2IaKj#_01db=g4>$~)f$y%Qw=xvsu_L5Qap9K+^o*~1e}Z^lvn8plqc2&rue^@FY>US1 zl^(p&uFYH%^xv)CC5U#5Et>gFdd5xOpCH=JwrFb6sD8WN7ES#`uic=3C`Yl+SfkgG z3WT3=hE-Z#M`!9WbR9tu{oEQw$bOC%(e+h&##!3`e{n+MncfzEAYY z=t%SLn=ios|1(XUksBh(a520vbbsh@5c1v`{Cn^t`2T+~(C07s7y9n^9n|nd!(xvU z)~fYGwiCzghGU{}XVawHe8&0{;H>=iOwOkNoIHh0E8n&2kN56slW#p5e4I4cJ-bZCGUC(P z;Fas&0bk{}ce~4PZ&BCBpZ(@N+q6_TPK)2(v2av=dlttkzr8(P>}dbh_L(h@Ua8@? zcMNQm-=4)*`RxTNZJS0{?W19({PyfVb-wm4ymsu}t2@5gRN=hYy(+#VuIQY%!&JFy z-)3mU%EMrV;WVhj73+_JpYq!?`8l2^r#6dOfTdFTCd=1AYuD{AZOqwhze@e#n(13@+S*d)Jv#9~=pz;s#?rM{7JsSKrX|SmLsTy1dm47gN zmCC=(t@1mUU+~f$#WO2Qce9m~Lo=15a}I)|Qu!9gYL)-z-Cw$H`SnL_G1nR@|3KI( zm2a`FqpS7-uu>}D?o&hM7q7gv@1Jiuc#GRt!&Q5Km@1V&`P!)bx57`Ue3M`ORQ`T2 zR4U(OSWlI|FD#YHH(9<0Dt{k1E0u3@uD{CPTbe8?e@e#n(134&vr_pcXH)goLFMn| z-PI=FdNg=XX|SmLsTy1dmA?qSO6A+};*NmK1M&Q) z2KNij47|*n|6PI41vUgu3+xq`;r~PYhw*&;()iN&qWG+MH1;Ad{e{?vVq>vAVmr6K z-1@E7FSNc3bpQQZcWd3Y<&Q0owOrS7Zp-m4$(DHZr_tMq5m+Bx9z86Y0?Yr$&6CZa zZeG=VaC2wVD^1^Ry1(hhrVoQC_|~TO$X_DQL~e;(6d8)-B5#NU!oLiEJ$!5U!tjaV zOn8UTZ$b};t_rOU9TnO$v}-8Z_}j+&8ZU2L(|BZKcVjsC{ovR9-vXEav;Ot|rT#_! z9epqO9`}9T_degTzCK^P;cpH8r+wdaUr+cpx_{gH%YRP~=$qcVv~i@5iT`R3`rqtt zxYO8Y9s6G3@4E*52l}hx8%=#8$wd0@vvtFvEzPJ#dYd*d*}SyaHEt1^tKk8>S@GZM&i) z=-;!N(%Ae1S9?{azIHhDs-C}URuIpcDz=r=ao}1lzd6KS^8Zz{oRUz>{}(O4NomUe zH?PV(<$p!XZ&v1z{~vm0ndKfc@Xwp3Q#0_7Uj1R#r(5|aJp=Fbo`EmvHvp^D@Ouxu zsAr&ER@svRFY6g-mFPA22R#GtsJRAzuO&7KyhiXhy3?m5)NT8<9zm1R9KqjtRpvQ@ zzttmXR^}MN7xc)Ow8K`jmvaZO`cuG%3vy{E=5>o+J1}J%VOs zjuCubkBnJv_P83s?{At;jo`Ch{bAOpTls%_1if!m1K-sn=ye+zu->KZGRFvhPmiEg zqDSxwX-(h{2lUL*K~?(``Mb=$tBN6@4+NAO9n$~;H#+j<1e${Zv3v>q9= z-0X2Rf{$;SPL1FVwm}7yv^a$GLFX#18;0`^4c9~-Y@75z|mFN+?Q;(pDVdNaa z+qA?cf!7EYb*E2BsM}W1BWO~ZBRJ_*ndbh*#B4m|pYnZ~)A*6Txeb46c)a1}h7Y(8ne7vj1Atf> z<=Kau2C*~(x=j!gNm&WoN)EJ7tdZ!5-86{`H6qNINNFI+Ra9n*_*ua)CzM9jvRp$k z3t%(fOVAQgUBu${PAKqls64#p1d5r+6k?4C@lEB(1>8Gfp_jYKRVWQfYl(j+U`>+t zO30d^mlLStCI=x>5EzLXM&y(vA?VNaObC8C@g#0?sF9j5S>kkvsgbnnvnK?}oJeDf zS~^NFJVDr%2=p8^6NWB8=ETxiG}2QNLQK|Eaz0C{+gvI;XF_nyiKQtMiHC|JBiS@z zTLO`t9qgG92y-P}RkVx5(vUve`0Jez409rHT%N)bN<%=I@khrBjJX%NiZwQaV*p2; z5F~SAXbD4 zhlDOylp6)01rR?BNP`5BlZird-%gpfA_;t~Aff_0L1a~uIJB(^Y(4fOx^}AY;~D|R zN?AJsfIYU1O2uB9y;5py4UQ@u+f;?PqWT?_|LxJog7;70;-t&5k+{(TN!LQOCivw9 zcMcLCEQtS})P&V$1@Qw27otH4HLh=Ei$t`Np(I7t{u#EO-K>|!fUH#AlZUs z6+m8aA;1J-+nY5ZnE(hrww<%lUPwt;HbJ&3S$O+|p#NhLC<@g(U_UG%rkI#g0jwWP zc1{T7zv{xWi)cSX000hA>4d;S+fQ>9(!W$>I(X89BohIqhs+E>lrS+s1`(Wp!ilSC z1*m#~faMdnOX#{FOM}WHc>f;6^o;}y_t8$kpas=C11gKa{;SS0rI6TTNj^e40cKGj z9pB$RA(;TMmy{IRUc$a%en}KCc~1n?<`76!?^yn(gj@rVO}sS`rF3)(=ncU#SG}W1 z)Wjh!Tauhp70^4h9h?<~VGb`ZdkMTD!m{Zb@KDH2LR$3+1!C?+uIweSWoR(#F^RE~ zW7!CbxvWW7?P4zxq%0$p1#Jd&pIrBZpqLYS?52ho3?`6Xi2hcY*SmXK{Cf$DidjIi4bRr&z59REbjiE ziG4*lX}PDhBycg6zut*`ggWJ>R@PF5Q2mRDZox74B3IT@l_^HI3Y0n4l1mn`ma0rK zK%x|^xlOIDC6E=wTmowcpekU4Iwu6!9BZi(k%AS}??ilILeHI81XX8+%CeTsbQziK z{0RXy$9hu1Hyz2*;l6<}CMHqQeIqi52ZmU3nXxf!HiFy5dfLOXp33n%n_)e%8p%UK zq(7@t;^VQ9Uaj%ON+qzIDDy0k=_I-tl&`0>o@8$zU>)oOBDVqe&uq1xI<{I*w%K>w z3Cy3xYe*V5x@Iw!SjXs^6+;Ug?s1E>Den+P*1AQt6n?SZ9(}Thb~<;x@_r+(T?-<`Ty*O_>(IC z-=W0whsghT8!!AzRQ|tTw?5GN$=0Qc zHyX}vXt?mu{CsOQ-(d^pwVJ&%(*T_T2uF@BQIOsMn4#gXdO0TrcSIH@m?+@PBsYn| z1f+#14-hk8$0<9R*?Jb*x|;vCIE?~pX?)~{3}Gns<^|->lU(8GfXSEb?+3IISSC!Xp1c75VG6lx7bGUOVXl|3 zQ^7?7_ilDxfd4SmENZc52e~jB%&~cb#ROTdGcRa=*s2zdGWRh)1*C~}*@t!9m(9%0 z?*bKvp)!?q7{WZmaAr4_}9?XFe3mFyYqtc=TR{o1F({qpBxRqJ;KaMb>#)`4~xILVva)tT-kAJDR+86 zBn=MC$_wfr$00>a4*??zvXd0$K$paBnw4*dV&;5JA^kG|wk2>wm^{#OTI|dVx}WO9 z@@WX1M_McC>^SlQLq)ooyu$bsPUblTBu)-a*&KS2vDg(K*v&Co5~I1oV=izaTqES>BA5wOO_!ZOfoK+f!@3Tm~mdY-SaRc zx8Tmdp1eSqiNdHRSEr$><4sRqFwDHD_0_TS`Zj|y5*RbiLaw?w3#k)tSf| zf1>#$(0}OO+q}#tLI30W7ULh~%bwGd57nZ^eB#J}GUPQ7yyA3Dj4iT{9I^)T1CVijSxaShuwA?SY|v~rQmbuL$DC?V-8!CV#)K+J>cdc|}i*)Vs$ z+yy1&wlS01WkSFJ=l8gXxrGH^P@$^>ao(SqH6d_-*iEWd`iAReF50;%#5hrV-|PuN z00eeVQ7F@Z%@rF1LxjB#%*?)Q=Y+uiVH;R9x?e~RNEUc(mVUvpOlIdzD7ZiAKhtJW z7?xZggYL=YJ_AC>2-ctK7?YIQBPj>5#{>o(5p!UH3g(~c7?YNc$zb1+jTg%a1Dqk` z7FnSGu$!u7P%LJ-vIXitk?~)g{=>@zP;tSmeJ^MqpO==X?{2H z|CcxQMhcOG!cT>VIp3e&_zGwGaPWh~|6d;%^xx+{*7sxIs)oNbobP_q-{dcA#{+hR z$6b!=kAAK_&T{w#D^*d6dzgl>*fYlcc7(@NjOAT!TKTRV_t_C1mfyPLnRd}mt$Q7H z+cCedaGZ{yzVQY)s-QlLW0mju9zXlk*N!-T+nu+VYmK13^I@xk`kW5>^~tjME?B9c zKD$qy7SFN^jnD*uY<$z6G3tuUO13AaUC?^`gL$tL49VEP1Re6u3qci)h6G1H292H)8Oe>`RmufR|WOC11J`q^rg8E zzVwd^DwAqDRQ~$aa8xSa;#j5f7xs-@uwi`11GkuK4V8a7Y?aD)#)CL=9Zn;3$2(!A zRKDG(hRVNp{jbhX9`Mu_x37lEUjtXBE) z-k+ax!^jV|m}?D{KMGr=@|^)>p$eC2RQV&YQYzo>Q$yuH_teBczJKgJ70#Qzk$R#v z4Z~Ead^1+8ZYqBX{FKT!`PED1%lUtQUvESF@%Z)e_r*_)FXSHJU$N(i@&9OSMQqR5 zwyi&DodCgq84><7TV80nujP|1t6L5wQotX5DtdkN+~|?fzGzGHbIrFlzo+@Aus`%f z=!S9zz~>t$8b8#yv~lmo9fH3ImVy@rM}vC>+d&z4h`a);0tXN&5cGeSNP+i|0dN5s z0Dr1703M4-|8aladAV01eb}9@D?HxCGC1f-;tyQ&*H_27Uwugd!v!jPkFc3#3A zc=)lX<#~+9MIOe|*#W#cdD!92Lt-4b9kgiFB^cT5cm$TH0j{igqMDnR$Ohh4%S3Vu zmLzK(*ZVkEWw~%9T}5tQUP2mnlb+(0(YPPv4YrTga}P$Q3|i8amv{zl!Kz8=B^<3J z{y|b6@;sN}6;|RJJZQ;Kl9Nyg9zrwfogp(YFE8N@mwP{+wt2!KX%Me}_-f9| zONayagNl^SNt3B>0i!6{S8!R)HyOO`2D|bSz@VCI($Y1I44#ub ziu0emX+tY<3?8)Vf{=c}DUt_F-th;Zm1qX;2dia}`$57?pdm30a`dNpQI-e?)i=l> z6Nka>lgCQ@H}U!GA85}HL&3AEs!jLJ0umU?RXKO3lJBuIzXTH1HB_=(2j$?a$qOK% z2sBxewlJqH*X%o8FQ4jJl?u6IC9e#lGC0_qw_LN`)aq3=iaUh91hjI;dSK2M_bmHu2MRR%WvuKB&=UIHqWqkdcCXiRBikX%*=~}Hu?WtjM0t@56K^{UQ(kC zcTV+^DzBXGmsDA=tV7XKk_#-YB6nW3TWKnV=LnOC34l*3xso>ZlB&+7;=V$&WleMO z-=95?uUyWA3L;?jg5jYxOIEI2y=DPdkbB8L4jn!Hh|!am6C-r+$`L|_042Y+qOUer81y2n6K=vwW^Z018ZeXG)GRAE%s4zsd9vd% zb#7kb8L*P9daMnPy%k?2vgRQpK|B2e-Fb;*;8E`mx0Qs365B_7<9J_$k>IbN=vJO7iFnElcIPFc!J}gO2yZ^#axn$imgG$mYd|6!um-9t=HU@_BhSM; zWT)^Y%4BBcCAm%Hc?o1tU1Ji9MK0cQSV&AE%#uv5 zJukrwIG`zk_0(bBkk1jXA&d&5MB4LvK%)AF>eS3piG496+5brpEtb-oA;D5owOA7; zgE4_fM5{1vDurf#cc^3)xXcq}DG^+gAzPn3)#Ja2AJ&^{kuzlCK*>%_#=;bb5vEU1 z{*6LT*Sl&LQ;9`M&=~{8u9_aeqi+yuJkZ?K61&56V-jO!lXg0jnVru;EGtY`E!{-G z6s|(_D$X z!SfsmaVcaL<9*ec?}G?OGA*RGek7H=@i!;G8&u@;v#F%PE-NWJKfeGnte-oyAK4gF zx-T_0x`fz1rqIAhZg@#wW~9G=G&?%BWTZpz|2`7fr6Ks;;9bF6gO>-_2Tuzg8XO4j z7z_no3OpCs82CcqqQJ_)34sFx+4xUY{=duO7sS`a$KprD_lnPp$76qtJsW#8HW~Xu z?1Qm2v3JB4#rk41V-fQIeT%z;PqnUZUDLXl{D1RWTev}Z4vfHJ%M~jB-@z@rx9rxk zb4zRVmFN$n4@Pf}UK)L0^z`WB=swZj=w-)C$p4xb5 zW43W-V<7kv_Y~Xu|LXst{{jC^{>%Lv{A>Kj05mt--{^bE_e0;KzFU1C^PTBC-nZO$ zWJ5#XDt&q3d*nav5@V}CThIeK4aePfLXpJRG**byr!.SdgCk)bPU|6=EuNo;H3 zJGm4qS-Rd(tBh1)JLudV9!|cA?P`5SDzWW#>K4OGH?fV*N>ct2L0@kPs;xD&RAQc0 ztB3uT=&eDH(ctARJ! z)5@|25;yA~?y`@eiFG;|%w3|(6K7hbYAX}T&(WQImwRtZoL{2|+25tx>-s94urkQF zN|63MJ>hkcCH`4@*4V!>JZIa#lqdXq^`PJ7HQ_I;Rfdr7x8-*wRZ3WCG2K-n<^_5l zS!I@-@76tE{t-dnV+pFKmh|N(EMfF7<~;aJtuh4tv?ZwPyL7@zi+Pu;2thw(398GM z>j{6EC8+%)f__|2*1JUWh?tjHgXcOhBtGU{f{2&u$*SsbG%TI?i1#OmXJy({pIE|u z$eMj+9r$5eG;1AguxsOgJJ_%mt)!fHRax?gcCjs*`As_U0q@EX?IOFA)S?k1D6!ra zP5s0VU!@aA*Z2tOkJ0PM zd4-iYQcp(vH{?Ic{-wN*PS8`(eI1F6L$%5f@+4an_c}VU)@O*hSWi#m7BX?1?)mbM z2ztCFsGhMhK~J}8)xVhYU~R231Uv5JJ}Y^{3e|k_5K9W#%$5lqEYK;i7lG?iC!DlKa|6B6Z7>tQfG_A0;{yV zj{5Z&dYrWq=^91IKA=T(eU(lmYkY+CDZP%IXQ9MydNSI-A%CC!OL-mT^jvbERq5W{ zYn377n`}|s>u9jnXNdVmJw1&>Y9gb1zWgJCW-USWjFnk%uvM%6#WCFw^sriG2zsa` zsO!6Q;%&7)L(oGkLG2}@=EH%Op!SaldXS#1_VrI*xUQ5=7izPgYfjqhaa9 ze%_xT-dk-+D(h%(Yxb4b(LT0l%wFlig?4S`nxOyQ;$4Dhd)cCy-=q_Zygxy-J#Ep{ zqEY?!W?MA%6TP;F{-GSGm5Atdq+-1iO;%}n9ku8&)F%l?4{Q+OyaywA;Ek?TzmUE9JCj_o?Bu z_xZ%VkG}bUtG2j(-hSHSZ-A+C+PnL;QTaQ-PdV+G{OYIjw};`LqKr(2^;G%W!BVMw zljUom^0$Sv^3ygsS83j9SAgrrU+>-ID#rEDfZM=XseH4^rs|#c7Ox$Dop)E8eCyHR zxHQ;3p-skhQ28}D?o&hM-*(1M*S!A?@2_y)%q^{k%5R3LQu$^$ zZ{4i?Cip3pZ}O|3%8$TMS@|ZzdaC>|ES1S?vV09xehAJ=<(r(VH1D)4z;)w|(quVa zOv$(&8ZZcFr2$ROrUsn$7R&j6u;D!oEjP5B-LjYWb13;ef`exr^Cy`dxT#X`cdFR zffED!2HO3v_#g9M;a}ljNIt%oeBbb0<6Gm~&$na49~!>da1$)`-@JnOHQ=XR{bnXU zHh2~RR0F6jNDZlUdqI2~aIsOO-0`IP!R712c?F0Z;QDcIXfMo%1Q#3Yoo#3Z{z>2( z;pqjyF?c%t>CS>+q~T)Yc#6Y=9Uo4dY;gWf<6@jl^%g8_w7Wf?t^jT77f??;fCU5@ zEcWh#!bY3l;3m(e2gy-@7Zebx_@?z``@0K*j7A)Rn^+ud`f;NI)&u_){FZaw1p!9G zzs5}rEnaEjfeJ{3cwY^66a*m+M_P-RKEhoaXV)}PWB7;Rg4I9JQ4oMM9BeEiaX7(C zeGp${Jly&L0|Q`cPC?MoaIh&8$<>y^6cN-QMk7tCgJf?(aMAEBzT5o>Daf#f3kyD@ z1%XEMA{TcX5Au#02{mxgnWu2Vbb2r8}fFTH(1@Y2W+U{gtF(V+PS!A8Ry=WgYVlg*9} zrv`>`cNzh{duTMBkqj&}R7}-)%nvdtqWK@LK1tisvXzWGOJx z=?rLJGIf;4@~iemUXaD-kZ1_OSOJY?ldj0JI>nO-uSdN6VY?L))6~^!lc>1#nuVgs zDYJc;t2Q?K(;CIr$CjV6*LLiv+At6*;z%79qC(}zinZjdVAbgG(xGLGX~62mxQ2_Y z6e|qdYCmOL@c$fu+unkJ2;wX0euo!dNkW0x768)&RR|@W>M010AkL3&aw3L6OCs6^ zeT(lbfII!Yg`H|ujz4LZT>`iw@kIov36JFNg1`%+%iWa=jE_JWvVc{p8@!PVf-;D& zq(zK^lAQ$2glnfD-V#pKS=a#@_A-k`)DvEpMEL;K1nNG5l0If`K_CV3M=n!|dSdfb zZop(hk?aUKBX$)8Ob|cXYF7b*$?%E=>1Y5o1!Nq)v|RGHI2_wQimS7$H zUb_l{Dd<7VZr6v0H*U0|a*4>u<+=(2Er`o)wG6oO67z&Fa*9D?=Oy-NRzdIu@kUm( z^bg~h!xNgw2!!PSGVO&p6qo~+C&SPRMjQA#1|D!mJR>u7VGI)0h2_U3e6(>(6)#%Q z$Z151CMf(ssmOd9Vh%CRQW?pG0C2>YysIGSfvUMCEn`Nck;?u+Fp3)H?t*{_;*MNh zFViQtfCwVMvGCx;UljlHc?H1|#8j##7FzK1X_~g1`x?u0aNwIx!=f3ZH&1TJ+J1P@L1je5#b(?;+u*#%Ho?(Y*TMR z;h<5Im#LJ+%N`R6%YxlkBFB0Q77&`7oN*!25yxt_uK~i)1p2V2AV6rcAYHYy4kg0{ zVTWKr6MD!{brl2%t$)4;wM63K4o!bz=U|3qW*7X>$^z3h(@O&jm}NNVGKT@oWZXLo z0*59&plPI^@R$~`FM;rqjs&%BZb9JCWP#aK(oTGKJe+``c~Oh8#2h#Ndh>#YhH2%hTWlq|-uNSgOfb=~m0aXdCj}MF@rTR4 z!bh{I=_#y@EKz&J*yO92IUg(?j>~mlF=pEk-m|>q2a!D42KORT44^MbNJN%AtCcItfm!aE3 zmxM+_dxR2=ee zHcoYVlB12`d4M&`*^lF%?BImh0IW&a)n*-^vZ)0UC`{q;t{~liGUa`a4$$IRS@6+PG;`9sWiO+%ZfCI#KvKb2rzm~UpP((f{Dx705AmLa45nZjpl)qkyf6Wy)|#}4&H)sR{y~yG zaJI#W?=A>zfa-FSmYxByn6O3$hlXSpk9zBfXicv zf99syP0l9A4n+7a;|&WUm%9rR{><%!n^=KfVC-|+B7zy<8V*kq2QBN%ad-j@gY$q` zy+o1@WI75G2hByZMI-$raLHuoeIXjh!)Y(aHGie4l7!p5AMCZ;0 ziGL=P^B%98X5eRL79{AIP)-+t3gtxINSreVBv-jQAURPh`1ioff`mHn=E08xQh%Dp zsX%ADI(;PK5*<_vqMSMRu|l|9kWgoCk2O!}01O-RB07bJkyvL!J8dd`LaIKp%`Zrp zGv?4e${ZRPPV!ul9hT7a(L!@IL^xkPLZq&PznZbNb;mfe?RmIT~YA_E0~UI~n2*KXmTM&oN$&P}+2FUB67F>2VKqc*?A(H21faFcR7z_LG6Pl{Rt7sD7k=69!XR{P(JFS<@MV|RDl9T? z1kqPmP+}DcIskirHL>jdfQE4eBPInYDU+G*f}jL=R4m;DG#3}jWV1oj(yW25f}jO( zsa#z#rW5G-DkVDjA7W*uXB7l8fX!dgid}@wh=G8m$Ne-{N4fTbUdH(P)W27$!ZRS-Y{4_f*L^A|?R_#7>UAEjAFF5o>P!bL)@E9(W`72dlY3cw6gW>&#Yv%gE?Ge4>#}E+|#^MbExUXrl*=Fo33nnFY*5;HXYEk8#xJIiToh)jmSNbFGa43TpT$) za%^N_WNu{pNHF|j_&azgTo?X8`0Vh>;lsJ7NQC|sdOq~6(4C>{Lmv#C9(sG|jl}=& z5b`(vyz%ReUupbA7VOw z_WjQHgzs+O&Aw0i&h-u9<1l31Z0LBDh6dkP%U2y+|MB0@13HlAKG&jb+gFEaRh%ml zU(hjC)-Q&BOWatij9{G`bV!c-yL947hPUO8mLA-+Z5NFeE`{>H52S43r1&vh~B-3qs>t?AE-O{#2I;6|` zX=p{;p8AJ-Z9BXzsw2Se6;r;g#VWNUz}n)v*Y9;7b=tPAQH1QT*R67Wm2R`b##|*x zzm1Nh)J2x~t$O;{zaf9j{>6@@Y}-MP{=FW@*0ve7$`EoVTYgt0Wt)Y7;jR)fchnQg zDzoI=PWOEIM+Dv85>(GIw(qtcOBnr&u|(T;t5t@e3oJoh-=*6u1dMxKMF=|I5>%Hh zS2Mq@%M#T75kb54%)eJ|i$u&h*5J8rkJ{#WmmuPg4Er4lx45r&G{Ed67R3)Od+oGA@q}z7(t_;y;*`35EmS_oE zH1!j`)~0_bU+*V=rq_{rAxQk(Dz(>9;#YbM^}~XrhtMa#t5JkP`K=bw^;J6Y>lz=S zQhuY?k@F2B@e4f}?cdOMzqEg`*HPj{Jq0&cV!=LpJ z<$IyTJ$fCftEI$7tF*k1?$=}Jx;aDihieoe`$Jkp*H`Jp12sNE`Umwoa$bcc?$wjg z{tfx>vwtbCqsR1Ia^GDdy1q*%eq8G_1byBT)Lt@bKK#HE)cz4cf2b#`{Th(? zo;7%`b(DC{y95!xuP3YP@gec7_a}(=f3_r*b@Yri`^xL+yS8Y|Ug^Pa+qIc%g8uuC zcL}0BZHs1plTJM8{RyHyWs9a3jq0~=*`leR=(Q*G4`pZF#N~P&DSzL@6;^3^9bK)* z(B+?u=-1UKLiW#U5nW%U6W7%E2&WSloVZd?M*BD9ze>*kOZ*cJ!S@GG4(<`$ zA@IAvHv-oM-V-=FuprP1;@uD8KZ!pOzaoA{{NVWfcp&z}SRRzWWwB#od&D|o!PaM6 zzuJ0H>uIffw(i{Wa?7K{5q!Mm+?JC#*Y6a4kw}8;qvuDDk0zr{Ao)GnJlT9DIR%ey z-mN*@^z)`Wnm*0>eZQt%nqD9IOXU9|cSbIYERXCHnH&CF_?hr6;rE9}!iRENpAq_d z=-Z(iL+=X>hXzACH2$XXUi=C^)VQYcn8r79I{#(xp5Qh93I9j^rx0zhGiUM_d{6rF zz7P6FeQ);7Y3YL4JR zTCLb+juAXWkDyheNAO@hg7?)N!2`6!CV|%o?x#C_NMl;#NT?^T)S2)rjLM2}!fkKo3d zBiN@UHVM2&aK7&JDG7Dkdi4mJl;#NT=2e;J2rkegXjbMJ!G1k5X1UqpY6N>WO{Ye% z%d0=k`gAM1^$1#kUe#Osu6hK$;J$*^C8b^F7{PgZ1g#Q1g1hJuG$D|rNtPc%uv1HH z5_pYZyYBQU33c0M=@B$3%@OSIs?2i)XX_C(D|3wC96d5-x!L1t1b5yvof^S5ul_LW z)2*DTN6;IAC}`c~d!hFPchqapE^~}vLXV(TqDOEiJ%T2piE{*Z&=Q*jUL&}z?(``M zb=zLAN6@4+M{s+u$~;GKJ3WGCWsVVigB}^P-0X2Rg4=AGPK{vPt3S;8bSqz{NAPZM zE!wKrpjB#W(Wu7%JGCKxS$yZ%O|gO2+gjh!@^H(c(Wj%s&3|ZqFZh4gHuXeGkv+o? zg%1rq9Xg@$`Nmbje+54b{@<;E9Pi<8^F8G|q2c+4Q>Q*lt{vac26Zqk1&(Su1NP`8(XQ~Fv zh)-*SSB~!mUxnl2Ht801p8frwpZ|>$DjYW(amEYBXHPgP93P8g)z-JipO+QCdhtt( zx0q`U=(a_$RX9FQ3$?MrWg2mO7Q#y5_}G2wJjO1ZxP0zKzwUUp!g;fM6*pT)$M!8q zpLgE!@jYOwaC}T-w4!D!45vXitQdbY{1lFl$ukIB+&lbcq~YscRRXNBWqa<0G1ACxAG;+>LlJv3kr&PwH*oK4kR2bG`o?rM{7 zJsO;m28+s{s=;+o`DyqnmG3?SF8p!J1u5Uz|E$dB%~nnh%|vpn1%2n8w`P0*j!NZQ z9II6RqQ;$`I_*stJhsJLYpDDbY?aD)9%<{N@{_PqD&Ou?L*;)x9eeSbzOQd_`y}Sk zL*@6wRH=OP^jbHS-v>XX@=bpAQ~A5WP^o;AVLes;0$3{jXR>?^RQ`N8E0u3@uD{Cf z^=@(%<9cYo9yluvXg1kYy>(Fe-QHbo@~uaMyIxI$>!9-I!B?q#_odOI!;e|qH+1!! ze?vKWsr+5xs8qhiu}bAHeDCPGEARN}maD`XDt{N)DwXfN1M^qfHf>hEod5UpozxKj zRs8<=C*r5X-x{A0dpY(vcLC?e4vTfPzSR2l*6Uj@Y<)-T{8nGfQ!Tf)T-8UFf0EwV^ekeR!w;MdLkcyQya;0wIb zeZo6ZmW2?Y<8o&i^-mJw<^xB>czi zEK2rOA_;+6A?bKpl7;uDdWwQ@=t-^OU%`?|5;V$xfP0whEehBn!9wo32}LFI=^zo& zF&AivoN|e5adSgAmM6a;3tzr&VXYCFkqUn>&&d8ARiJZq)6!=0(6Oc2Db>n zrYteXx%Q%f9TF#`D5P`9_({T70%(C^?31YW&Y}Pusva!+KM{^ax>JUkP-CK(7`(2c z!ZnnNOz$OnmoRyvr>Km4wWR9Jb`=HHP<4$-OJq5*+XQC=Zkb{}0QcBc6l_BeT4oP& z5_3!tZwAaJ!qd8nf^bL(RkaKPa|Uz<=|w@P%19JjroAYrhv0N7TA4Y5EX4#DU_rW$ zsI=L|Hb@AdRwSx#6r@p_I5WV@1{v~nXHk&bROggEumBuT_)Cw?(Qurz&2{~ z@Sp|PlSwE6w{$1DhY3S1T8M3KassGRz-Xlil|xJ-c(X|sq#(A*f^^l+G+00$TuEuH zqTE>!-9>?HlNIKomc+TVjG%1hvj~%&RTS*DSv@u}{ghiU0Ll<>UqBFmFV|5N+&1E; zt?Hzki0UI0R{%zU=>#Q<{xhLaTv1bN=Nz ziweUnZBf%r93u?qs}v#Zokf9hBhtDOv_P|%>dwE++@ip^bylcE6+uTvW9MIXeo-LY z2(?!686D~VA&_G;qeuoa=2$=L0-Z51Je=h}NTu6x;r_*_gj!#GenUCL_VL-Mcz$ zfnZ=@rU^r*)nI6#QZn5|fjYzps-`6bogD(`1!ACqsmTDyfw>`=haMGU{efdclrcc4 zpj!Zdot{?|WZ--u!exZpxc4wNv46M6!1d~CPhm33;;2)06IaN0kJeY*j^C8 zLkuQGA)Ny-2{G@;n3K@zY#)F#f^vvWV3A1Iu)7aPs5@2{pfn&i0wSZp4W%N}2*O~> zfzyHs1SSPAEp$&;L7)v)YfV~a5AZ7(x}ch%GbLercR>&iRX3Wn%pL4rP%AR*?x0>| zu%f#Pf_sR?R4s%==7X<{^)GeG9L}~E1Pc+1NzuyG0hgAk$bJA4hQj!sU04SR7Ly`T zGY7QF3~}+874#m_-^A{(g+}#G*#?v}$mx5R4MdaG2?B$j4q{nm)7^#Bp_V1)q6Y3& z0n^Gn28omZnq7D&#InRRvCN?b0_X|a4Wo{@>D27PDrjc2z-@C#z|Conz;M!dAZ&A; zg_Y3Eb*>L{EF^-P)) zBDA*gpN;QtY*qRHt`5xi-|j!i_Z{D|hCezG{WkCPzH)r2eXaAL_F!06@g!Na^T}5| z`MdcuDpw!Va+80GeXV10tiINnIdJd(-?`+MTg=k)P0 zSgD(QyHAaq{JT58mE1EkQsKPWy~+f1+?QF8x1%ssH~FUjbj3)iFr1dh+Y$Jwn|za> z!%~`7hO5ShVW@8MO@@ZaHmxkzjW2R>teb zPm(6fv6HY7|!bP*5vFy2~2B?*N&g)-PI=FdNlY1X|O!rPSxN#+~gk*Uv-o3 z4ue=U^YN1xZr8O}rHeOPIXN^_`SJERII5d`i(|FQ-)ZSvzOw614{R~l8Y=%CuvItt z&Zv(1sQhDLrBuG%r-sVE<+=DvXRiL+7Pqg)M;HaC*KN@~Y<(vHKr}Ezp zL#6UfhV@kWN5N95e3RvCpz@D|vr_pc=lZMsBc#cq@~3264-I%YoR!KqIh(3?+Bdni zF59|B*c^4)P$i*lE}bnRtF|KZHf>Nm}?D{e=uy7%6Eo=)hD~|L9kLP-|kaG%6}^?mC83+)?MXm{QoN(T5ck0|EQKd zT6P49@0sWg(Q~3lMf;*H%|B@VGEo3WG%sk5HvNK#{Y#ognsUVJ{~oNp&qmfp4v4ge z{}O&8d~^7GV)bW-UJhIpSQ*$aFx&rk|M&fO_&?-d?9chP_5I$r(f2Xp@iV?{8h+dG zNW+z{=8~YRD5(LsL%YA~B2Tc6xo1oE@dlRSJ)C#5_M&79;0{gE${kvkBq@}G*_;Cu znKUu8i(_(6Vv*Q)Xj~5iX-uL)d6CU@6b12|J6ctZeof;JO|tv&_(RSm9$R_vQb6Za zSZZd447vk-DuV`Aknykj}Y6bCc^Uv;j!D zR^>5~>%;D%Af0oC=B5U=IVphS-01P>!+lVCc2OYDxk9su>82F7zw{HAL_A6Z%9-jY z3gEf)fN_P!-7`Ij+W`RU$$>dVfjj5fu}q}z&{DKtZcGIeo%_Asq5z$9?RCG`B^sBT z#$T$pC|KuS^L7Rz1czb`}NVoQFltLtmR!y(^{$<`xCwoQFl5N_vA!IOppl{~nlM6nJwU7Vp;y z0S7X}kT4Azta1bX<5?@hFAi9B;Va#*XuPSge8J%+mw_ z+T08ef}74X-y8^Mz*)gE<&vDlnz#XQ3%%*LMebS2;3KXJ@|=;%{trVqd%htmbzXVA zGi^QD&m50M!ju7I04`PMi4B$PUNvLBWf_V_@ElOqpPjYcM;z>hZ7sY=I zU!c@rPf?Nt@W|j6MLiRdwv`-c_&o7ml|o@jvH$>_Eo#~1atlzoCfz1l%xQ=^+1P* zlH*x}mClYuP6-}Bd1e^ELr5|L@Q_wb$wM0MB?v$^-z4zWY3_h;El1G802GKMcF*rXmPm0YiZ}ABne2!$RaJ>Gmsn1ERbwLJTC&I zjBAo43E+uQ5vZ;qodpy;cZp9F$jF^V$rGUZuk4crWU}D)limlHBlYClRaEH#q$2Yv zP(3l`@J+&vi}yQ#nQ?8CQ~|1IOj`XwEl-y4muj=w?xJK2P(5SP(lhiSSw7e-$Y6p? z4+#N_k~l#1j7h9)5Hb{#Z-j)2JdkDEi;_G5>qyC~Cl0ADfVC!XUO(Gq9|qK(kf^?) zHq|%GSEe2BO;}ny5D#<|1^OJ*z(O{aIm62|ZhXkYn{=Nz)Abe=;yJ9mj3Z_u$s741 z!)zqA0}fmkKEV;s53**F&31sD46CLL-#3Th&vu0>s73}r^ct?StV^DXQ81g8&w}hO%%?1dFFqxhL$AWm z3foUSTUmvuGHkG|wvcJ=*anTKp|sT&T0XjZ&Cv2y3r2?4j4mEqHgxjp1$*<)edS+A za*?%qY~|_8JI*@+qx_VWr!PHw7&V_ued6niR}y}^ zl2|FJPEM~jNjgqGWC&!7A0S->8J6YaDcvpg4I0^U(KnJk6lFl3vaLRsTYWB1VK)Bf zWJ&KSiF-d*)dOBfB9f7i(u;d9aoNM}?=6XgKZhJQHD@Am(U+hNqA;?!N#hb$5@&zU z%CTzYwv77%LM!kH!wl;wiQ7MRj=OTXD|@~yWGI8C2{+oKi@?x+1#+y#QC2?EFR^vO5*vC-=(US{=q;+Epfu*K8hn*U#h(% z-u@W=ib5ZXaO@kDWIOnj<3gJ2D2azZX0Jt}dIr}+oCR@g#orW@D&195e*HpZ9!F4^ zk{?Hs&Tz2fP$abC)vr3nq@`mB_8F8cIfNnQu)X`cOXAzFI>w|`XCfL(Dr)hZCG>}+ zIwf)O=gPQR2$^Xq%yX_d@dd@JC?GG`(;xm*~l z2pvh9$WGUn?I?-MvaBy%w{#MRLh(%*K2PS-PXByq9fiI*L`s^*^}|#qpGDW&C)z zD~kUz2PR#mbQH&}!MR0oSmyfJ{#m+)2AH8R8Lp4TSs7F50c9%n4@-)1PJSFe2l~b` z$zfFJSU+c{zSQvWP@kNb&bCaY2R7eSl9ctlV31#sdw;pL+N>iJuP@^K&T3~trMVf{ zl&wT+NVFiDm=!>HVNSiSZZ(y*no9p!rc!TF{QA+h_j{R25Wias)EOElzITH*_%(M9TtDZDzmBGXZD)%)Pq`Y>| zD~hZCZu4FB%G4omHBn0v_QN$_M(6*V(-8c1@R{J9!OsOR3cfQq6ntB7FbJq%;AeqH z0>!}R0+$5V1da{7nOp!*#P5#Z6#qzkUHtg?p7FkTXZ-bXU+j0WCu6t8u8FOWt&5Gt zj))D$+GC;C-?aW;>%*;IYyD*FdF21wr#02u-WqNBean;N|GT{911)E^jI`|EvRlh` z(Z5E25q&oLNVF9FeDvbz>gci2h0)!jJ4d6DNuqG~L_ug{F(iA8=&TUQK;XZB4$&&m)gTz8twaa%tqfk#|N;jO-ohiEI=8bNJ`s zr^EM#uMb}mUK>6>d{B5WJSQ9p{g%6miO^?5mxRs=kL;p94c(@k4f|dTG{QLNm{+WKC?`OV8e7E>6_iZ5i z-!ZhM-4Sg1Wv-w;fjNGXy={ z5>$V-T&HJxn?@ti#KwFZs z_HElwCu1o;{I$JRe_cJUeEp36T9sH$ds2UG{Y1l_(m#}MAlt6enP1c;X4}8I;;? z(8K+pYdSMHx6~>_$eV5XT^W?xtQ45;DiQN0J%g+=OU^Iqo-hB1px0Z1>PaPid6y-O z{>6BcZo9Wu8G>%K1a*CvZnIKgKIke!(0eRFb=h(~)$gzbwSPp=JM~n5(0Y1qD_Vo+ zvV7WZ_bx%i+w@ddbvPQ9ZnM%~Ru>?il~q%fSi*O5Bmww+^@ zme8b!$d9xbBlt90A>H9kW6ck6ZJJd(Gat0$xV8}grL|59E@@7Gh% zeY=8;8)}syode$ucv4E>O~Ckw)g3tFaO9-7g&Po87s5k(^jqe7sqr% z&?{?|A?OvBpsw%IZJ(+28G>GJ393I^uGi5gEkW%c5%g1fvf9^`ZI@bu=Uzvj@Ge2b zkL$^*>TonH-S#o>PY~}iTawC_@eynGmDkZnZPA#$(t{VOE9i`Wiax`pvyH#3VN5|?hbU98U`Uy3P zko|ZqqU)=4+dFD}g!IShb>#GnY&%*{M*BD9KgRy0ypB%NbII-2ii{(*$`Eqc7R9}e zhH8C=m`n8ZH2hiHPSibL{t-bJTY~BtE3@DXt5*GsW4a;eS+&X#^h`@o*LUf*wY5G& z&~=ue_L5QaVYMZw{Ud^|(Ua9a$F{Ao2G6~YPWLWB#CPh+T74o!*+(!{)T&Uy!Pilyd$K$b2#Adc$*V^4uXxSJ1|DonTHJ=au|7E=Q zUl-{Pe>t2D-4{9n{Qnh=f#Aj9|6d#E@_*T%_1)>)yWv|6CwZOZR&0pc(HjrfO1@Hw zPnm|G@Kqa{?dT1YVI8A4HZ5*a zDqN-ymSaN$tW?0B-KS0mrG*>6HGWdxMYAfLH@jCoVL8r+sS4P8$WXy`3)p)X{8Yf6 z$xqg#m944L!s$@?!|X_&xNH5*fUwyU*(UV181f3P0n>!`Qv9xlSSoE z$+!+0aQrMdE0u3@HdXKRtNigZy}R1vTaN~>lLkwS_EZg?ew9DI7QRa5Kjc>VZCBlR z%=6FeQ(3y3t(?4Kw9kN}Qu!9gYL)-?yZdgw=0Qigpv~m!t@6j$z*ebzi)|f|m{!9| zseHRn4VC}&y#4-k$qzpHZ}h6C%0C^ZO65QJ+Nk_@!cVDulVAN*{wf$Mm2Wbvr^;Um zOQrHnmal=zUjb*O@=eb5SNY4O$)fV7WLysoxD3up<(r&M)msOZf0}n!n|$lh;8Uf+ zqVlI|@U*LZIsd=aH_{OQZhT|>%J{1IUhxjz^S>9Hh+PsJiDhC5DX|B}`ft$Vd@ z-}1|rJ6b-`az@J$E%Ty(i#{H`E_z<{=x8z;YW`01_08vmdqRH;eLHkZXhZ0@P;aQU z@i&e4H(uR%PUG7e+k-C#HwG^co)tVg*c13?;EBNJ1Md!;7}!1VI{)+jg8yRwh<~9! z;rlJO36~(y|3`maB|$Mr^)x)>y6MAjV?aPgfkr3H69q3*i=tRunlk*a+6E6DPFq7!4d0-^Dy2dvr7VU zKscO5%|#vVLO6maC2Wr1K}b7Ff^2~2r$wW@g^1tG66!`wCZSf@Tykzn@CBm>-59&%k#;u=c09{z#2Nf9C1-&GPE1H56XN$Dg!P8W#x zF7b%;X=<>$BzOk63RTle7vT>B9y=j}Sv(IxZRjcqt^uw>)xvm9trJgbj_0?+F5lX@zRH#w;-m^?U+5>wn+k~nSEH&kNvO_pg2 z8ybwecNVw&-jWrd{gB7QHM1I5Z-Q3^VwnFA1VYIQ&~}q6-)cfMGq}5ohn4`(_LL+* zTh^nicJZyoH;d?RaxX~4bT-*tk^pU7tKHOihyilkkDs@MoDwsQPrU?c%&OE)WfPDz5a0plnW$pRBHMvzA1Vuwp! zdgqcvX!pMXG7m&sybs$-5|-V+t(!o(Q}>o65F7Vt*Z0bOx*DCMrzFAHxKF#t#eJGs zTH~*yq$0CzYB~e=X~1~tT?u#)U-A^{Mq;y7mq`nxGw=(n3VoehlF)3NsWo3cZ^X;m z>Dnb)XE{>$lmxv1)#~=TVOwJ(B~S@8^#S6kQrT=zNdOEysd1$xa|+I~0^&sAKYMR) zNw5qsjNEmzwI$JvlKestkBEXABpOL@4f^MMkc%HRNJi}ZlK2NF-;R>N8=!-%szq%J zT021wU;rpcgH)=sB%lUtT^5nr`UU!cJ%&Xo>YM1(IVHg|KyR0+lwpLsu|y9MSR<$l z88%)4F!g{3^0onh3Xs96QQ-zczO$B5fOU=U!eN0{EUoc0FB_r3&4RlxPJHRZe7D9#wzi~{(EPbRv#%7fS@j!JA73-OUg-+km$r3dKtmZ>>@!z!Oj<`80HRvS-qtNP{|T-SuTRn#eRs* zD=zP{s{kWbnlI#xiHls>MGDS<@J6~ztfF2arsG}2Vin=CE>S}mqY|*l>gs`7R+o#K zQ709HxTB{DFCe*2N2wcHSzVe|`iRAqW_k;l3T7tZ6& zS<~4$rFjs^;?gzgej?tC2>}p< zi^NqGD66O{RZ&lA4%8S$E^0A~Si#P}f!U=_sAV?T4hJfx4AW3DW?;*wGO6uK9ncU` zrfH-v7+jh^o1ekpuzwcSA_Yzcsg(Ht5BqO!2(Ae36Py!#UEoiF?*(oTTpBnn@RmTQ z|F8b1<4?zLj$a%19M`3i+wwGW9*{XP;8IbcCEi|eWW$tdU@-+TbHyBwr<1y zz{4$9fh2f%OIJ%I`f~Jp(L1A8N7qFUiS8N=H-Eo*viXwclbiQ#PB!n@^mh;iCYnCj zG}^RJQzG&g@B}{>xgfGC^7hCZBW<7xJR1IN_0*H59><34*#3q8g$K7;rNO$^_gt~1f z>9&2tyKR<}w^h2#`JNKIN4L!`bF}R~-8QR4w{4?t+t-aL)~8!}lODmxyhreQJ%U!LIf7r% zBWRa7M(_qbf>wzh!7u6&e6;2Weojkl5_pZ^wYt-%B-CxYMvtILX^!A^UX^){;Aiy+ znw2?5@bh|P%yP5G)d*g_X*xB6S9RE2!33Tpjnw?1V5!m z#w<5`T#ewRo2FAE_z|!EFzeH;{HPwmN4!Vy!+Hd*QgZ~YXac*;F@l%q5wuG52!2S9 zpy^=f+y^hx5}O2GBRH-*eM&;zw)J`hO-geFKj2lF=Ll}lBWPCU7{QD6$e873kE;>9 zaMN^Z1TXOF53@eq%J=IL^mb?rzE_W+mos4S-Fgk$WsVVipB_Q0M33Nm^az^%Le3F< zmzLNh@EXB$bf-^AsM~h79zm1R9KrLvD)St{bM*+Cl{rT6d_6K|x!L1t1kc(uof^S) zUj1R#r(1cZ9zk#aq@Wf2;pN*CT&+jYE_00FT0MeRi5|f?e}WS*BXC0??SI67gzrbbr427MoVhtC(la*9w;en-W!Y3*qo%=EbnS*- z+reWhzN&YomGK!HdTa-esTj*}PAlJ)8@l1EeEQt>*rHwUc;)nOwI5&MxS8H{+*$D& zb;{C{@Oc;#hSyUHFyUm3?RZ>*y`!>h06FVIFLiPoLAgY_4#bMmO$V zVWoWf>^^m#K^N|P(xPL>KJwKH=gsa_FQ2{*yTJ5K;vr;Ok`*0UVK@ydWyOZM@KZj0 zCO?NtnpTFZHq3#c^64`f8av9gvRt>J6PC)S&t&PfLrp8^wHrF%tbF=R&K~-FS{bj~ zFk6}|K7CU%u7?I}hqH2VGdY`^u1v3KZSmR-v%I_7yqvC_qxt(?46ej6N>%C|UHtNh%T`hWGvNprTCYYmm3fUQ#b&huz}B6nuM zN~wIiPYsp-z^#E9k9~5wvny`c38u=8+dO*KP37+hKc(_be)UuNZ-Ajv`6k19s{9>b zsZ_qn@-&y+1WQ(sX6hJ9)3475RJQdy!ir z@8Pw+E8+`37oH4X96lkuTi6%4IdER!?SZ~Pi~k3p1H8|Fq<_9Y;(Okg_l^6G^Y!{d z4bL~+1IsD?=1q$80^UZCR5|u2pBfy5aZ8fCNO(lfnw0DTxYQ_8+(l9Y^ecGB;69Rs z4lnHX$yrd~X{;!eOAU^@fKlU(iNjGcl^g7w6!>#IYAh1vhJ~{c{!D-`_GNLp2PCt1 z(tJ~A2Hi12vEMX7sIP|xu*c2na~gU?egHz?k7c#@|x9g~87j!TV2EPW(?V3IhA zbW9M^ypBl$KgXrUBGN83IGKPqj@zpEb@gZFObYTjE;VH$?PrWTvp6gRWG(=mnchhO zJ;zV@k!p_^0dWR7+i?8N^h^rwISw=~a^+w{q9Dg#wr5g+&%LOXyN!dCe`dQU1^gUO zE?3>k-NwLI&d#1xIOsMp{esoC1*q;G}j=3J^N!0Ck1h+eXs)IRDafCSL~? z&NnudcD^B@nDZ|?e^Nlu@j!k=c_5FCj1G>C<%Tl@BTELBfU(UK9_b%V=EgE(xQ3Ap z@X*Pa1?T+8=6fImJ(|JS4WNC(O-QV@S!m8IDtxB;ahn{#4G$dDSL1|?yE{`Hzh%M# z@U80~NdAv{A=^p&Jj@U7&HjxHIM%0ChMd?_m3qAl+e)cnY4fu!s>9^35LY%K2j%Kj zqr*#wmMx}ns~0a_u~>wmSS7cpE>p7Dg|0+3j`zbgOJAb|I6ae+F95~+@WG=arne{A z1n?>(H75&EQsQOsLY|b20iM+2U`s3lD-0}U0L)Psy_1qX02fSm-FTAX;mo=Km|r$3 zLXZY}CMA;qs?AL<`vrLXxOWn)B))(B$=Q>VQh@L*i&}4evOZDjpaBCwoo%0#L;|yW zY#M9x1Ev@pW0Wyow{s^Yc>uv#RyCG8DG3aSKq2QV!50#Pk?Nk5tO01!hh4#0xMrr3 zvYkn$IsPx1oi{021MotwCZ?0fAc8}yfG!iUlte>I?f{Q^=^-j6{~G%Wh{Y1xl1TYK~ExiLoGHBOi3B+-?ZxAQZ_DLTU7zT<$ z^$m`z?D`~!AeEzJ+UT5=i~$%17K!L_F&s#7LK?pQK}qW);aMtCfK=p~L3qPvA(e!Z z1jP*yawTa3RC`TYHGfECArl9;cS1e@h%QOG0GyVqE2eX@3&4@iNv$M~Af%|PBsm0B z-huwxB}nM1a}YrH> zWOGvfx$4Ij!nwYqq;SnsRyoZTXJcf<|38PWKueJUvLwLf7?ZjZX)hmFS#)zsf@_ZX zV-sofr`q>;en}wBF@GLb=Fc#Tcq}(|G&;O_K|K~RZe;9l`cvtWya`c@Q zTudxLI@l3x4ZIk5IxrcyGH`L=tiVX%t%3Pu0C*^#k6(wsz!~x5;)~*QF5SCpe2nLWHvxs7RDkcmlW~YM*5y?545d}rW zjN$43d#dVoclEu!u)G=G^Dp!Nf1b;&bE{6Bsyg>{opXL?r_LZ10Pau~04_|fOP-KC zD7iejUE+zv4-+>gzLB^p@qxr_;&f02_DU>HY?tuIe;dCmUWtDseo6f7_zV>Qa;gHr zPh+>lDpUY?V@xUllw!NawvTm0ABx@({e1K?@(4CXS4WSIz970R+8y~*k?<|3bn zyg9NVa$IC(WGs@R0>GoH0>FF1ZwPOo0>Hki0>I;;ABAqDZs7+)uM3?TIxMtjX!lT0 zs5AJtz;^z>`G4ZS*8dg%$NcZ`pY2}-{{OIl7w$Ix;Je3H@qNhmdfyqoRml(eUe)oO z`sIf2=K4RM{l~w#1T;3MM{f6`TXh_ly9wOR+caLQm7BfjCJjYee+Y8t%^JD0fwr*d z=cZSWUnYwlZr299=r0YUuJ`hb9%}a*jQ+wfs$bJT1Qz|wFzP&n(FZkptAl#5=!YiE z$@Rlv(NDcwVDTp!z14-Xu;@qLufX1q9Zu>Qfr}o{aI6M90oH!tu!cd30ki0Cr#IUq z2Kn@U-P?^~vFoX(PSw4cM-%H(r|AbbIL1aQtFd5j5PKz+Gp$Z)R;sAQeuLY5OYPC7 zshCeaU$f|XE1xm|vaXg)J~eKlaMe(T{k+~knp_OCRKa=TV8N#L*2{l`%UB-Ir(V#m z4JP+-_;+C{r&hFk4K`Qm9c6|yeD0|wUw;Urdl^RcCS&1JN10yr6AM#0_0o22FnWw( z)b(CIWvXD@;A(==qYb0FZLNagNF8Yybsoa#i}n7xLAJWEd8k=D*Va$H$h!p=kI-9R z_0cr3e9Bb7Xl;N!Q&>Z_80KDRcAt!_7W)u~HNEvy`#TJ@ZvB+0!Er;&k5yPZ$YITX zC!adNyE9lj&=FGO9PR6{rXC@+{q%$Son@*^pCfhcnd&yJ^>ehXUPITFEqipwHcjxp zgJ#k7Rz9^|o0s5zdlL)Ye2$)@H=}cP3;)|VPwMCBxq1t_uixP@)vgUD7dfoB&(ZVR zy#|}R=etrlb2MTYbsoa#a=lrvch1pnX7SwTXxO_27Kij^Redx~ET3BD{R-?2I-Jx$A*rQi z_tnqQt`2MLUXfs*)0=%JklzyT7Fb*Cux7uLPxX7h0&4>fYwFO*59U;l!JGj*Qw55yPnSkR1`# zo7K7EO!>{?xzAD9y9E|Qdb6rNnkJS{1-xH@y`aNM;~aIE-B&+HK8H1SFA`kzcc(Y| zOt8@Z@@`?7|LL%1zms3|5ARo4;{SG7Q-?<6w&<@8Yw8gX{-z()QG6C%qtB570$TK4 z(^@}A*XcEM!5G2%jcuCX{RYjV>#h8v@3(mg?yom_0nO*=TD=(^G$Z)`p7W%Bj&9L= z$^H8S9`9(^29vjo|G(66Zb$cB-B)(My8GDfeD`);4^zwUtzDB{dvxv4`FQ7dI^Ws3 zy0a8}IQF&J+hQ-r`@d84;po?+Z;VbySCXm!+sL;f?}$uA_KG|={O9lu;SYvi8QwqK z8~R7+{?O+_uMHhT1wCKzf#6qzn}f#(mj`_vpJu?0j^%R#RL1q+jq3WZFgZCnmBG(0 z=wLw6jpa%crPcYF!sPT+hFaPK7r%J!SatokO~;LnMSkvp%8cTI@7w{EMZv$)W1jba z5^TZMJ(tK_mvZNv&K0)q4iE=FZg7EA5+}x3>8ao_DbJ^1vp~*>|Ec~@&pSTn7SFTs z*$cpD$p1MwC#ZgaQ@Vc_;r}d-0(C>RSzI(kk_^uYsvpi4H?27KMuE=31xIKJ_w1$d z;W?dj z2~pE_XigCRJUT{5fVc@L3>=J&5vEiuEt?ahKLVp#JI47;P!DPbmn1b{L7VHH6SP14 zpNbR#;ZV%t=K(D;g9|U8!T%|6f4KM*g@{Lhq{NMiI|{TNf~XeH3FM!WVf|AtPLxq1 zr)USn3Q00uh4d#K*&k}XgTzTHzDiu(CH%;O^QWe3(~4*Wq_2R7uP|Opv+)qR;Qe_J zEB|Mf&?WJ912dY#OTBDPaQ~ES?4BiP3@>92XPf|9vG4lk1o{vEr(#$(k3>WfxRu7$ zh4&adrvAD8AOU(uk*K{xMRR6?_GeUz^X3T#5(G0P9c5amox>yq3X`({jw7L6rI9&> zTt-hGw=Veg8LY&xKuY1I9LtZ)?L(&o4Y-zc zO;`r(D1$?i%_iVwI6&Rh3W|vxiCYtfaB*h)=LEz|4q1}}6mUf1fCS|eP{#4`{yBj# z>tF8Bh@dFz%of3YFGyacd}+y?;Fsb5H2thqKMTiksex*UNLh67FwrgoT_zepSwBst zs0tfn?VA5a=AJLqSvR%zhBng@4lpt&_+?(?$~kHWnH7lh5DYV5nq0i7xG|d*BJ32N znM2Kf!rcf!7#L+zQW~T;+^37@1k#MivBm}67|_2qpSh)T0%-<#r9&lq3c8jN3(MyO z&J5#8-9-+}Ok^{wvy)RZW0{GW%yeOjV?Hx6iME^;Sg18~%@tvZh zSxs?}6AM!u-zvk2s2Fq?PGmG6@heZwbqdfIp)rIzW(X%?3qR{Q-8%S6V^sZLbetO2 zT0_JB-NMEM^$)dsz3Z1fTb-{7;Z0)L07ysV#PFQp{&`Y^!8Z;#q99iiU1n5zIxtYk~#Hcg+x~uOAkXDC!dNNd%D+2eV{OKma8gSa-EngIAA@g2&5zFbILk z9wQ7|(Es>`w_enV;l!6_lqfsC;Y2}?1Ex49@P8Oit;9sC@uQ8{B7&}fnMO14EfW+# zkB$+Nq#^@(jQS;jm*_PNCqV;L5#<;%P2U#c_4ovrSR_7Gc?_sh@0=h4s)%w(mElwZ zIGgZ|agfiEK&Ed_AOTfGxw4AHa2hX;5@7`-qg)Vm=ZfU@$yJGm6C30Ij9*0l|E00#ML!f> z9;rkQ4c`-96Z#XL@dR-K&kKAgup5|r&-Z=b_p*+kcf4w=yt}7vKEg@lxJ9FzsNe4k zlgM$nlgMF)vZ8}leB5AYVXJ?=tGcz>C&04!{2!Xo&2 z74-Ve`!TM{-E*TBt_(-_xFGhv+Z!X!OS<;HjHq(=%!sYIdy%WIz2r4_9QL$FZIiqA z0)|z&d(9w>;l?QQh|sYQL#f<7N2bjIp({Rr_Ah4c`pvnGk+)i^p1FG~8C2!&*?5Z! zrt()X-d+ObV2`(ODt~VVR4U&da3NLxUJR+ywe2CF0hPZeBP*3}kKCep=UoAA+PsJN zlv@T~2o3mrMpi1{p0cfa=Y7T-H;;RZ+8%cyCR}`VM9@%_a66YCQPCI+}CxHbOa_?hwj z!@mco|H|;|!Y75t!ah*?zZrTDDE&u-`h$N6UK6}5xITDjaL`o$J16jxKswOv|GEEb zRR25KKknZF-2QL-F7?g8(Eshf;j#b}aG`gT>&{Kpt|2p!(jVkJb7z#z43`C?z>}Km zzv3ttg;YG_qMPz|>EcLP@Cvy8bN8*T|HwSV^+q0&6#q&WhRcFofZN1PF4uot^H7!s z=TcFeR>gs`U>I=!XQ;W}qIwMp-CV$dnm}z8Tr&M-K`y|lV~EuKANP6`%fX98J|i{7 zmXrmsfZM-1jq-j`Hin90xW1@!g{z=6SbiR4TwC4b3P~arv4E!tM-%s96yM7ZmIbK5 zgO)3N!ZdAW@>BH*;ysg(Qx2_8y6?+4SPFWLqoIC=w+aDqwPr%{?tt z3@Il-Wmz+p%crS;HdrmPRQbOdsxW2>BW06j?Iy=#%8ukhnr?AflERoT4VNX&T27;@ zck!5VKbwaeP6J0Xmme-mnzbA+7d0MJmWhj8>O+l{I2gcalqKO>j#rb*luKpYsyNEI zZ^ffk7${51HA$m}NF>FIQ-o5|X2+2N2WLrH@~!23>7MlMI^}B!vETw;a*z25TIeZD zrZwejZt`-Pa#5ZtOMW$3p)LaPlV(aIWl5>VG3sj9S);ap5^+dYHI7jixj05!56zlpRCe{$WO^z+K0T3Mohwa}0zNZv@ey<9D^F;mp#bAS^OIumUj|dTo&R`oBij*IFY9Jbt3!aha4RlO?{6Ewa>g0NQ z{3K*y{s%E+-kwr1@f!VlS)Pqn%M|9Z!)lXF-t@Hb%b@Auzq>P3pa;;XH+on@VB>(I zBQ8J-jH0Z(cILL?@FGnT{AM%6!*``kG~o%ZOP7%yrFi@yyt8$x05U(&f? z5}>Z#tVpe2;5o#4!qX~MdI|CoYyu)&3^fXhkT;U@C0wj_j%xf2K?0ZjrxfY0(qmpMetS|&}n9cBEa ztQYedniBv54`RM*gxHM<00a?am@Vkk!8t)9;IrS_Ge!BR`$zZ>))O%_e1-DM<^+&{ z&weW{)u@Yn0P#T!FqK5`^vww<0iS(EihQK>9uDg?<{jTiKCA$d2rdDUQi?>xgJ_BG z8$-_(NSg=d19zxk6Y$+PH0rxwsHeDwiWq52zIS6tbI zN#PI`xB@j{n;0XAP(ax{Vjh%08c7e$32K3oq)n@~5GD$7THIkaJ2q_ z^*IhI;>a8-5fm{IEpcSIc=*naw+FWEhz25$L~e74LAY!ch$N+)AgRN*LR)Tby!!rYlp5t=kGdy z*!k_wPj|x`TFF`lSd|t$yBm4@wdc7+&x^C zct>I*7==eB_Du98Lh(o9H^s~GE8~~N&xxNL-# zV>@+y5x&!ZRQOKc)&IBeGM?qml7Plj)gO|IHK~(w8kR)r zY@K*xo;1ZAku!E)yEYQC&ei!r?)UPkSLsBhTT}x2b%s?(SEO#xFW%CsY8da9Hcbq7 zvrbfUy_HXy>?T(W8DKZ*L?zv%e~hKRuO;9-LnhZdPn<-h)a`oSx46C=@OXE-HkiE2 z;op_;mooWH?k-{TPQ7@h&G31vUcCB47`;u)zZ_y9xDNdcloL z!Tm{k&6~d{spHJ9SHsJvsus=a_@7+stxoGzZ&x$b>fOL`KH|PQB8|&Sk-;&hl?^j^& zOox+t{9tOmS^RpA<>?M<*o_zqsh2yw*;X!RYn^ustgUrev){?5USSTe7KL>GOD)Y? z^pmD}FuBA z{@Z5q=iV)__@I_T>pS_BfiP)pfIWkZqFUDKO!pt@1u~Cd?Z*ylW`XW=7_fzn{0xZ7 zEiJ!%VC@GEYxX<&)cxL_!P*0kka)$gc8|lFdIW3t>IXO1KXf0_dgf;JZMnj<*7eNC z^%~ynp=UnTrU~A!)GWH*%BMcj<|VlQq}DU~CByzl^=5RQ!T-mcCv`pZS-k~s_R=#~ zw`+sR&pWKR^~_c6UW3ig>FsHTGkktpOTPXPMn7X1Jxt+?$_D+m=~X|mx9GL)+FVCi^k%);IY(u)cy2}a4eu6Mtm)0F`e>S1 zK2`C41@@{ACk;jSb+h~Gif+zfjom8}G&N#xZaFQSqpvyR*rx^7zUr`Mx8ze__I?G{ zzT&W^4vo@3UvOAckC56I^@I9da_W42j?{H@>eZ&TevV$F*U)u+4(k`SX@d9HYZhH^ z~ufgW5 z-kz49BXzNseElJezQHi6cdYD!513x{lcwzkqaSY92BRM`jJn>-r#{&3H5mOb!>Ds) zltABS7Dz0>Tz z`Z>DHVU67@5`3%9|G%Om`RU}j$*JUC$(<9wN|f>JuT31FJo~rBuZVAq9~2*m{VVpv z*cW0K$Bv7Q#-bqYT@!szbWL5*Ok@>t9LZEx_nVSyG(2lXFvx<1t6h8_BOZ zvU<23EaivFlH*KXkDFY;YIC?9K|02B%4O^LKv|NVaXcDg5fc|(+#N|(0&cx<4&!)~ zTxYJb4Uq^6$0OcL0sy!*}pBH8D}2#^3?Viw#p^8biwkQ8UG0A0Th z<%*44Fz|dEemQ(qLwQ*GC-|AmO;{-y~veQQWCP8|Axzw>dYmZt9Q9%OWRj+ znSruOdv>Ui6rM}&4U1$JannX378jxeWl4Ni@{}7yeapsWwe`2OEP2mdvN=C_MN%F~ zoy*IT^Nfp9{cay1@f(o;(gg6=6PeOvsWdY=4H`vpYISJ_*Tfhu%JPB6MOnXx@JiM! zdIDXLEX1852-bLAfNS15oPVyJaZ(e$LAeJ!(s?No@QO_nXPj~--l}s4T7m|7MhFMv zk-p1iFTR27%<{4Pf2fPn(+R0uhsepZ(Rdjhhha;Yne%F!=BMPMbl!bxK1##n|Bo)p zvVa5NJ-ONS(IrkgtG11$a{9Jds>b zoFd%ZQ%nZG|8QAA15li9P9#`myo8UEFAU*JXm0enfCr$547KQWk`ej(;U6WCg8nH= zQWnSnzHNp`v{eS5A5jWS3&$v5m9gy7vLFTEJgHNOy25ir9zUH>hXy|rTn?56BLK%* zs}WBW6sk*L((xhUH^Lb-RNh-?rBAF5%Y@0IMbHgE0HB1(Y%S%6%7PW(K`gT<2}T1B z4k@^kE>S|DET94SC|i3b{0k`&E|kGViL)y=-cuIffL)erQX~X|J}O6WzS5 zEC>NgFm}JP)$q_^JP=kxs9(O+TNaQ2ypxJu**f{r0{R^VFD_6~cuSdmxsG0s>^evLhwI8LP=njnyP& zoG{1;LBep#7W>PR=!|F55Q~UL*@}ev5q-!0px#Y?S<;*dhBP!HByw|cM@q4$qLh=! zEGbKlGd5G5M%zrBdP0S;mk1-|e@Dua-Hch|x(`tZ7dT^^|B8#slHi=)&P}e2rjfFw zG<)^t6}eR$E=yW7Mv`lAj3i7S%d#mAlvRqeLyce{B1TmO#)+O3D|m5PlALixHm+r` zep-tm?NF8^=f%!6wCN4q^0H(!V-=|zr-8!E_{79`X##V6db~K1$<0jX)6<1XDFBd} zo){mv_{j2rvWmJp>X%ktR#BV4Eva}!4G};&u=S|NA-2={Q%*T;-6^Zq%xs)l!#8^1 zsMFTWtlKakO^sshG!Ozx;0SwHviS+Pko<}*T184lbIyo!BfddI`>b6w?~z-MZPQ{l zJ!=PRkJ?a%r*GM~>hg|rLn@@N0IP8%fXy4QKjyg5nFzRuh=ti`pJ{Att;^CM+s{ zOA}rIm46cBDwTh$Tjh6j?%Q|m?~iJnqj^#JCo-Z^`DVlxmB066UwqpSzwqf-KJ8K4 zsQeQcR;he5tWx<4ldXL`Ln)Q-$kbB#pY6HortLrb*QY(dHY)!(230EmmS;xgzl`ye z%D2Z`IF)}a11gno54eyj|D_D6RK7jrGobR1VPvK9?U7qF@4PF(O`DJQo^s2;3!wpD z!pKVH+f%kx@4U}=h9=Wp2jB1Tjy-;CIz@>gv0vlHIC_KNGC_NbmJU;F`;*=0 zb|29_*d6M65d8nQfd8NG>gs$L{Qt`Y|GzUH`*Q4}*qYdZv4Q9xqjyF>9z8pHWOO7N zrMli{Bd?Ae5gCd^!apZN;Em+}XTr(Q!=dkz|Gy@*GPHg0vEX&VD}rYQ4+`!Q_)W*< zEq4X3|GfCf$~NY*?>6WD!t1in+XYIASe&@zID@Q=OJVEqYAJ;)CCj;1Cc{=To8>}r zi?@ALd?insD`+kjaVCu^Nk8iZ-8#hDHn(|7r*M_krdd=St;TWb_04H|*ZK-JJ#YFP zH~MP)3~ZwOH_y|oNV-3slv_QVpm_Gk*TXSFQZr7HTyCf$8UNYk9@KIhPPVt8Jm5Rz zVmv=ok=%bzVtiPVrirgj()>YuEe%%$1ppVQn-4;EyRH%<%!khuBMKt<31aDf_X zanj(h6&!MqCP2prYB#&MA{YR8sSJ^EWr4qe@0IL)lKTklSX`0R|E2XQnJ}P?z(wGw zlvpBSfd(s*@{c#}))uEG`FePK@fDYdmB~{po2uItN%;4m6%mc&J|wA-{7|HnFAP;A z?;rnXYrjYcSKBDwEYdo0txA&kU`6u($wF);me3;rg8}IWwO62X$uX=52mldMiWd10 za5PSY5CJB@SD=bGfTmVEGw(s3Q6QYQ{D#(ot#_Mk$0qejfoOLlwaR@E}G! zlpdF~RMK80r1z;_RLbK`ay&2eLyD0+e{5mF*)zPZIA$P3Qs< zO=(EZhXg;Unv@a`1uCSB!Z<-N)D9RYY)F!v37#?}#t*7+@X2>2F_P6ADXZLO#O(4_ zYUBzWhJaki*9imwBEn2^vzuJSkKt98Qs=lVfep?Bz97lXa(-RCizk%nQrdwmXuu%= z|2?+p%0S_l$@I0PS$#TXMYKTQj5*RQxj_;C{XDej~%97+P641kI zPpFiQhk~dnIL+jjlqJI%S7@C`yF$gKOgc4qFVsaRPrEF+&7uO_0p)m$TMCK~mnFH` zi&}X?TQW3LWl3)a^1{`(a*P51B00@?LS5}DTnyCcraxw_(wiM>1S6`iM7RiUXAoVa z)B!}2-z+*xO-Ceyhtm!hEACj9^kyI|93qj7kS#AuDl?wYTNQ-GL?JiBvCbB!r*N8+ z2|qcRTMd3sniA|2las`U9a&yujH6q(WE{2egc1<~Mvug60joo{`PO+t0UaT>K+c5} z%aBR{TeOXU#*rjrg2V^{0n{Tq{;Vg|<5yF|?ywt;ebdJJdDb}MN79+A*PpR=;QSNW ziKnhVJ9|`agRa(?1 zmXkG57GMAgRn?vA4;Nu=sg+n+NChG* zh(04cEM3TFhsuHi;L)*22?G_Q0*gUDa6ob`EejaH@i z0)GzN6!=Ww^1!PDlY#vLyZHYAGT_%h27E>LKHWQa{e`=M?{|Hc>VT`e_U_uT^Us|( zc3#evTjuZx`$J2=)CeIj~m^z+e+qf^oG=yRwk_yAP}KNfjIZGc`_jH>$1jOM=Izq(xG+@wcOeTZ`BD!&MjiIlOyP4-n*Pi!P`uFy>3xnnBXmaLH}O< z7Hs;atBc@`nqwQh-a`bz?+*t3N3{0TLa66<-9V7@)H0@ZjS{@Ut23{QnBeujLH{1D zoi(mmf;Z`vvH5qKL&5Lq5x2P1ihx zoz@X++JK?wX^w4zmVKqp;7(fTTO`zT+flEeO=+*-bG7+tW$boa z;)?wpo}5mt;C5c}u=~@q++MHXo!%?Bjb1_1YOi3oUO}g=X$7~{D`;Bu3O+}#;2mvO zuv2qv6L_s)Tnl}RgnDi~`9kRxqSj(6s0k4CocSz3mEiXpU_Hj};95w-)*q z3Dw+!|IjOFQ(7w+{Fhf}UMm>6NkDZHdbY2LJx#bTaGUU%ljE_orw1 zH@$+ld#+&cFM0({tF?l`Kj|~*v^7>R_=H|T)1p7)f7UB#2QA8!Obl4?51M0}z-t8` z*FxVSp`P1s^$OaQ_6q*qt256P{GDDwyR*g$2LGs6#%{MIu2%4|C#O>@_^6jW?EdsD zf1_8>J4iD4E4_kV0fxbc^$I#|O)L0oy@IAiuiztk1??E5<`w*f=GZ3iTEPdk(6>ma z=k_zbf;OeSf)9Ch=DC7D*DGju*0h4Z)GK4R+Y(nR_|qq+Q!DsmFL~Jg=~@0nub_9# zQ}Bm+1-;^hf)D5wblRF$@JD(DO^aT^ALtddZTsdGyiap%6L_uQ-CF2dB-C@eORu0! zX|LeDUY&Wa;5~W;?arE3@P55AcDpTcwSsr*`2UMKy5HQr2wc7*zvqumKA3z(;`fPj z5*_h35dZ()*kJVQ(fuO#MJB_KhtKBM_Zvc;!FLk>|A|1sf35#W-!FXYJN~=lqNn|9 z@~qkIoG6bi*@{^x^+M~8n`2mJiD!=&$WVA8L{1scA^)r-G`HoC2mH&<-mkr*w_BV}@ zw_2+B;V^0L>(QJSMpm)h_QYSK*gSnf@X zs8qfgu~p@Fy#KNtzHs+tjjg}r-do0eilP1mG8*ZQu$xsBk{`Y zCkLMP{JgFF%^Mh0seJo#X`xj9<}(>jseF69g;V)wFrc#X?Ex1~<;(B?gMGan-M4ms zwfpVeYr6OD?(X_Y*VSFKT{B(#bZy`Hi_WihUeY<)xw12r{9W>z|j#LDxkT4%NHE|{-5dH{67SuusHqPWmDuP<*Nv@)T z#tG^qke9%laf)xGhbw|$NK}x!cNH~FtvlipiBTFC{Ga}cAQ=+SX{aSCs0hD=(d2;1 zq3A}wI8YJzLIOGsjR^`OZdrmti9I1QC$pp?sD;D?)rnN(D=|S*)J&j}sDYMC4^;%M zkZ6|MT|v`Sj~l0~j1-k25E{I~++an}3W;WEC6@S=al{Hh5y3kY8cY|5Dgs*Q(J?Xt zp>CAC3qqlZC(aRFx~wALg@7Zqb}U$lK+^zKlqWP;!mN5L0$@m3kRnAqgad;KrNdbX z7Ec%YDgs(aP_Uv9;p9MnL533fP2?2Nl8Y+>R7g~iA8mM5(U=%^(X!CI5UrMuB$f{K_u%1UygLBbkm-U71*)YI)=(b6P4HRDE& z7gH4hS|b43MK0me8QKL~&8uAkq|=2|MF7=y-^u+x&4m9BR1}_?!wz%jEhQW3Hxl#6 z8c42%AgTclrJ0b~LxtwC{+3n*Q4I)9hf2ppw<3JzmRAH#jS%VERfse@Ix{0FTBYLj z*hGF3%{r0EP86p~6X?E~(!j-sR|+abI@WRfmO`Z4pOVSk7Q)V#4s<%Vqj20!@e|WT;VBz(bN4 zgrX+lONx;4u@XQ+K30ZCeb7iGQsun(N&qE2R$5XKAVQRNok)G|sdq;3vgCwO@Q$G3 z!HOUd@(I7qWeK6D`PlM7<72{Sr&t)Q2mql6tq7?w4tVicj;eivLCN zA~|7_J4T-*p<;I|s|X??hEOXpYXmqQn1pB=Vzi0-?yCqYAzyn%D$*hQhI}is`bfCS z$+xtxB1nW-LW)Fx?J-9%=dck`T>t|1RRoQ&f7l^Wq9N88A|l~g#5|K#2!zs$ZLeSk zF;%H%DCn7d`tsO8f@*jy~0z;?-W78@-h(s>}_Qxbq5UY~a zSpqS3P%9G>98EG>ntUD#?iES6!VX#tt&$8K%O{=+l9D-w)r)x{^(K2O1CU?`sqU0y z=CZeHGg2_|pv4GStx~PJSr8`pTgGx?-%T!T`W0)vJt&>Ef zj7olK^tK~chES0y$fkulM>@iArANq-ysLLHgxD`IBW4YW(~`@Xf*M1}O)bFVOpA(+ zg!rq7^Zv>rh~;!O8A5^}DhG_uCwq+F8M{Cur^~T&6rebv@M6jmq!0Wor|WqT$?0;4 zL{bQxqKqmJlqKi0JW_eCFqehQqqHACZJL3>v)Pf#&TYt5=2(lJ!B4WC+K_ADam&sc zCy{kW$jKygF(Y;sP~OddnSsg1t9StZG#XDuI}Q>_7Gt<=`OX|WY39o zi5)B3K}9N=LnX2zsUfqxvMmkRNw+CGX?kKNJ2sV{E{#p5XZWEsGoGEoNG*&{k7uR| zGcyAc|Npi?Uq|;6#p#oZgJ*Z1P?Qg<&%0Ke{fpzFG>FLu4V>%6X$yY}nK zboF+{J0I)3gIj_3b#Ct5)H&68Q0HjpcF8A_zf9hr{66*iK9+oA@{HuM$-R@K)a#2U z9#7mu9>5ieOA{9+UXeH=kxT3x|3~~+@q6Omj(|5qk~w`c91P8yku}C;I2;FR0h|?dT_?Z;hT6JwAF!v=m(&jYJ-e+#2~(P1OZw#CsI3}=1pfAuJ z@cVz~|B3%5{}=u5^f`j8Go}C$21$5TzUM6OS76T+np3YB=FZU7 zTFfI@JJVrJTOU1Zo!)FShlMsZ>F#JTtYGbQhc)}1e2=LJ*ZK;qt#^dPD~7dKIIO8h zu(n1&sQgRb+(X^_)EJA(0UPIS?1g!7frU~Bn((`q_mG9Z3%}a2beWs5{@gZA@V>KV(e+loXU8@#!TnAq^11mOZKpS*V|2p*_Rf>~Ia;Lm zlKZy z8YQ=Whc)#GsSW4{bvTUFqxu{vM2*yMOsjK_QjhC3bOC@+IPQ;ankdTl2hF1Et$gZt zZC;`*+wV>MdDA&cJ*GFKg9Ad%xZgTYoO6^i87FS=7I^%--e>MMnEac=it8Muo@n

A~vtd;4SlILtoa<)?0531e|dKXYaI@2>d=VXQvVSD|MNR8)b;<4 zO75B5De(lJ{VR$7KPoYrh{t~z|6Ke+exWaq$72u2DzUf5CS!%zw$aC;H$^`j-4Hz} zx=Z8_k((o*QV4*3;otMCd41rZKsu1{|Jr|p{{#MY{sZys|I>Gy?+V{pz5{%H9slUK zuj8`}%HL2`t~#x*zpA1{4wq^h9OpmP0WQf^G#_*_ckQi4Blw1%q+ENyoWat-^0;~U^J zJcS@Mj1N}@Ese`Ncjt0>mliM(Zm05;2?FtAs48e_T;92?panJ7}SAI#s98|jHlVD>P#yRuzb1u5pY=Bd`a0hI=%5JDvg-k=&1*U3-j z$5cUE6uc3j7&e$VA~NTD!SJXQ%QHu(CN@m2Uw`I?QQ|mXApdyL%o#_`oU)c*&xfs_ zrXr8L+(>lAlXm>M1E;N9HMM@tS!)I4XF%iosCqpUszTxMS)%d8UCYgHpHx1~0#KDj zI$6B1S!R$OAL+}14U~gUY5?V+%jHh=;<7RF=-P=5r;e^+h|xnQPI(EzdHyY> z)JKgvg?QhHz9Nc6YS?9mDuN%#r@8f7OFn7T&?54RqHcoQgo|*nBKU#$>spCLN(BO1 zvgi>}aCrHKDuN^E(J>P(!UkVdWQtQ&W;Iw5JVCzstsSG!#+Vt55R64RU_Qk?l?~8R z2vE@?AZpeM64V%9QM@eK@&3x05b(uU1WGzc5BMae3)*N2+(_hn1~i227#a}{lH=Qn zLrvVPz#R@&UI~qwt!;h@LMQ`LE)bV2bHz80>!U16s^e^IO@?fqC zj-UrIyGItAt%i@1n6j~K1|O;52`bUpJtK}$Ji++>h~X0_WHHxU5r{#e-PC=b-aBk> zv@}>+d9fh+Dr=y?$Ezr`Y$Om5YXQSW_E&mwMIh2Jh75_?H@FW8gv0WZN@rL^Ojtpq zAwVx<2yZznmPJ0`qmFUD3^JOV7*i-s02oZNfjF8(#^A^lWHdRvuD-<`bI5{iO(=q}FFfve7#qzNmR1A_0-f1pf?M=niEIr6*7$Q^nE@`!!uiPh_Wa zGn1wK+hl7$XfcswD}?v7?+~ep4=RA!op6UnL2G^%_=5vru1(tz~jZHY>oJGI9H7>bjl`!bHizC zXU^O(vG(-Q>4^<9t5z%9b3guhfc&e;0+mtzC#aV?|NqpE?l%zke_7X}&X08No~$Jg zPu!PS7ynEABJ%&=8Cw+nNOUmrxyYX38^Xtjei1r16b!zD{QnOJ2K}G&7km}p!5#N@ zoGQQP+x@Mb%{#dpcQ?&5J=%zrYb1-zLtfXq*_@NRVUO3euJbzJ>9biUcf%gg+FKd&QioJ}*bO4qYT_Be|3I`F31G4Cn246GzDuOpu|yE`MRbUk~@ zZpAgP<8GWC^%k`~?m|p>`BRy&2!38Cync3saaFqB-5QIjsleijzg&=8-}CxFW5lgY zoWqO}jd|KBr}BAm()DJC8BwL{nGsvk_4a=JS9gW_QoB9vQN7dkW``J7rR$kt6*x_- zG0HqrrE{bQ*Ie}AvE9s zBP*3}PuW(z^FHH^v;E$pw#QwF3HQl_B}02l6J7w7-^;j4<-4IsS1$Qh=MHcAR+C!X zYUSjm@_QIjseChHi^^ZofAP+1f0TZ(v6Z)S)HW(V#jr}{Tga-7QRY$QFJdUA@*SC4 zD*uY>-}{%LU5;*yyp{7)m;FtGHJ}{3FsM@bHjvkXsr=_Lo>KYtcnhcUpUZ$s<=X=; zq{`o!A(fSH5BUtJ{GAwCseF6n7R@{F3UJfxjxuEd<=EoD3!wpbU}UB8?U8NOJMS~z zIJ>>KsO@p*f5P(nztpi=*Z+HM_etG*c5mDDP}kSH-UPz`%C22Hf74m(d~4@qJP~^! z_QlxyV`s-+$bGqOg6gvLR#eJuFR;M;@K!9vGRJFaHH*1x4y$&u#P@b0ES8LwNzsw7BrYk0T1H7raN zRu^ZcxFlXZRisSLOmS=y_i1`^l9UH>M7cGrzR=tn-o2$;L;Qjsw}x_)PyUnS>QZ5W zdtjk@>X(M(_TWh8mYG6Ilq!4DOi-@vae;I7TapAPQi+TI!Pkb)O`OLOXj~22jdCt& zbKY#xQ|k0IUTtYL?{2x0pmXOpGjZnnb>>pBX+Y_t@zfAEzI{!Utv7?h49)*0w}!)2 z0TaLtbC)Z4ioT>l|;6Zg0 zD<7ELrIRv6xf+Nw1jh)<03jl7a&aF~ri;sdynlqf;36ET3fustatt+o4g8prODNfg z#Kho-%Py`8$N*k0L!?|`WUS(lDH27&oNxqYmR1E@0558tN_oTZSY_c3cO#`^IP#^z zs-OzsD!j`TcqYDEf-EQ>Q=%jquB*YSfC_lf;wmH#W0aXl8MQS3L!6JG3*aei?H4H# zt}%+|lLdfLB1`hissb}WHfSrcWSxytXeJLYFiZEnRe>77QK(3jqfogi@s{Cb78sMh zs-O$tC{z?mI$$o~U?E}(*9{)KLVr~N2JoR85-pk>T;bWF&=Hw#`N66J8IW#l?Nt*NN-W}orxp}JMv_IXHWwr6Fd?=ecn|mliJHmsr66vlsrumyp(NHh4dI+ z&{X&+RZaS|n_R_{WdS3R%wP&95=c-Qu1fl}oL*P&;zY$$k5iqzT720AJPlPPeHtgK zn;Iu7>rI3co@+t}z#AE;N*=Wwu(}gfvZ&d-c!oKLWY?Cm169eR#*1o*L{fm`kmF6# zHnpRQIED$Rk}PVxsC6RQMAV`b+!fGQIH|}!GhCGfYB~R2UR1)*tiR!^q)>ZNixX9V zOPc?NtCBmiM#NUsV~^4&U0rN-zMMoxE8olbTL% zUzL<<{HwZ05fecLA!@mmCfX%Sf#H?_0M?J2SmKw6jRFdcq;(K>2%#yA zR0Vy&lbo*|pD@fYF@CT}^GL~(rNMO_`HWg4~1ZhbvN312m8Bn6JX%UTtUlHF<#3C_Il$e$L|F;L0 z`XdiV?ulF*`C{ZfkqaZM`7OU^WH_=jzvmyq=l{9DhXQX7oE z3-1*k2!}(z3f&vJHuQziyF=%PCdsNVga$)9ha&%ucmlykgSQ616!}x|!@)NNPY)g) z91o^~iNIe24+X9dd_EBO|JMH_|84$n67%qW|7-oHQ9~{7U+Ul9@ALiAceC$HzW4fO zK>(Qioc~1YcEk4_>p!3UkAF7_=xijn(j?;a3Z2B{Zp-(4xZP`{;(SCWF|IjiqZHCV$v`p#`Vf3$NXphfn?{@9l ziuvAc4O_1F^1aW|8Cvzk zVb7b|y#||aHXB^;9mD5lv%#H*Fgj}()r%ss{E+F@wM;PjQ6sUIFEcG4=;-inV+!xr zsdBFGdCz;jUxEGiIY+VnN$z>KS#%j&ev0*6?wn0NvcmW~oZjq@F3i2ly9L%Rb6B(A z$@g69{R*tT(_xKQj9lO5u%;ft+S~PmdYEj_@p}8JNZXzh%t^1yytiA+{2rIgGx^?a z%(2vMdc@vNb1a>Q6YF}rv^ee&`5=zosGfoP?;MJse3r94e#nJjszSpE^wl=_? z$^29;hPkkwy?F#{5r;M8Bdqxx25hOrnn@D9r^U#EwV=bA{Z78uq-eIj0&4+BNNQQ+ zS9;IC9M;q$SnJRa>aK~N>-9=0??%rJrnRnUZq}z!`$#OQ_T1j4iCuP^p0Deze9tXy zUSgl!sufMMJErGGy>pyrOz0-(NnO$0rT5a^USEy-+O@&ty$&mGMRRw%*I@G=y*>KSX=3@FpL@Rodk;CBG&J5%&F-sf zyq`I&v3o^=KX7`p&jcFpC*Ccv_G5=N`<;Bx54~T3wI4aGsY9dA(ftl<>Jd_VKtHHo zT=jfRpCfhm)$?)FT0ciu>NRv-)xr8_+cd%ZXEckhxAHxoYV#7@e_EfT=F7UCPw36) zJcIvFI#257=<|9nxo=(J@k{O6VDgI&EADf2b-UMK^9y==TDPq|S82)DAHwM845NC- z$}ae>=~X{z+HNrV{dR3IdYxg^^CHY9$gk|( z0&8;)YxX<&p09bo0&8D)SW|~a$?ePH|3A=2{Qm>pU+I2V_onWHyLajOW7jQRpYD2f z*NeLPJOA8yYv*S``a7{R-5E;Wm;7S#ZOL`X7bJH`Jd&s+-kDgRI3$sZ|2F=u_@$8* zk#5lUz7>8y_X8`!y`jfL-w%Bh{Qnn+mIVJ4yf*j|@c&N$VJ{rGKX6sxlE8G}1%aLX zzw%f8Z|B$a{{BASAAHyN-UU1V-~A2O1iAp9i`&NHI*BVGx%bb5bcqupof)nPc!4Li z@|b4HPX*T#OkA!FOCvSGG2j-^-8UCp_|m`-m+Nt^$z)62i@C}z`b58 zt+*+RIj&am2;#QQ zFHP!XG2L4eOapEK6)E!JauzgO0mkKGm&q6VYXW1yEuf-M!bwvQp@`2J0Msl9Brf828>|Vafd?(JDT2U?7g3Os0me<|cdH4~0r#V=Jg5t2YA6)A-YiP` ze_u_&4se+&O0#pum@%lY#Kb_9@2hn{f-hN-DA8nPzsiP{@E3M&e^v6e)#j?}EpghD zbxAP|Qc3YRjZ{sRw)h-Wfj^HLpQs498da=cvB;xElGdoG9}#~sWayCiJO@zTU1By<5Qj?7Cr z(oVTa9;iyfHvUpWBw`YODLLoloeRP)7tTwnlC6!uv`!>j2%rwAa#9=vD0;kQBUQ=M zCXLi}Q6vZ)U`<;Hx4BeRQng7Vb&+d_=}1+wv%R`gE>e&|n*RVkkpyjgq^|BH>lB0y z>u;c{vb7y*WFt4-_z8hgQGP;Pz(i|Ex;A*ZjjJprqV#Rw0hv;7gg6QpJ`{uJx{}DN-P3C z00PT6;RHr(mB*A)8d4vH{A9vN&?Eu@^5h;ik(!2l;Q)eVAy37er`?pR>9j*$j0qWN4mw5?HA<4GKQKvu< z2mlda15avB1`twsHu=sK_~78=8?Fk-fhRSeI_(K0tAcv~fPkS!UlE)HfOLQruBC|-#m&zQ34195#~_+Mj-hfYh zD>3*6e3Jz)0(*teBnI73RbUQ0Iz~neJqpxANy(b_TQCM9t|9UPrY+8}cC^2+& zjEyLsdcxKO^uU7_*-(s%eTiWBSYY@fb3sB-qOtoGQ;7+K9YgdM00B(DuPSH=7)y#@ zy?1~u5x51W1PY9JlaGf4J5rG-*<`>akkA3nf`rYa3yZ7AL8FAzu$D04uum{;Fy9DG zED-nhGN`hH1Y5V>60mo&Oqp05sS}nVBH>seWl$F>9kM6cG>8ZD3Q&j)QBW@xa>VW; z7h8$CJur)7n?e}uQNA3D%FY9783JEeB%71Ap#9>|LTi{IhnZ! zK!+;y)MRB0SC4E%t?)TGxy^rzsxK1i?c9Bf-IPsLkDwW-GS|>zC*?B()x&A0l7Md4 zmJt>NqAjo;uxijJ1J%PI!nSN&*U~j7vFWd<^Z(a%bic8?uj|ULV&^wH4@lmed`aSg z#6Ss!ViQeLJx=51^*tLCIA0pf#>_b<3Ey`eJ6K3+_CP- zf3$C!eW{b!ai4_((DJ>U|2&7YW{+_aJM59&ANfW~)I4M_Zk#>ZN$l9txC=4im&k-A zmv2i0i{R&V!s};`VqBHWcb_YLd*z~E?)Ju>zuwdsajUb=no`c{>Dw=6M3u{DMr_UH z^Zn|E+>3Yk*V7)gO)lS&46Aba%&;nbJJ=Xy9&`C##84`i&ylH>%lE0NpMU9-AHT9O z@>WX~jnO1nlgoDmgQ{GMDPKMpP=_jM%F3I}W_?%hP{(^l6XUM&<9vuuA2dVU@}cHAb07mA@}TDV6WY z)Kd9hJ!tpd-ClQ1W8|%ts;A0-0fX)#8|a>AM&<9rczcO%u*X|CmA{e!mCCmVTu7C_ zf+3auvxj^JRQ}$KtW>@|^1`e9y}YN~GVnrZz&#mRX+V3*w(6btkKD%DJ-kJ2kGl{P ze*ROL@B*m(amH0D{~ou>A6?S9_@DPL{~stPFO^?nM5Xf0h^;DrMyMQXcz)(u%J2JIY{?)%d;L``+`SYheKTpIC`TalMadAiTs^qJa$0XCq zWa3AO&n4cf{QA2k0#xa{GJa0{koeNLKlbC;mt&X2PKb@g6475quZdnBeMNL-bbIRX zT}u_d4UzpLJB1$!yc56vA%UfV4*%``EBt5q5AgT;{^q-z`grH~4)LWrp6Ix%;|mPg z^fy?ORDCUYsm|ExLoRFRY41Qnj zg>pTzyCzY0thrH~j=0Mtk00-OZlER^%v=B;tc>6@Ga_j%Tq|*zHe6GQ%MiIP zvy@wr>=thQ0C0GxhZp#b03Hkkla_fXvIMb z!0~WRGMBlGa#KUhT^&g=cni5G!%3d+uSp6sS7nA;q(tR)ikFjfLUjYFs4!5I1ZI&y zlkOXFYj4ob;nze8KBfdc;GdtAkCXF%@ zvZO#zt9(^TxYi_{86TtWQZ|&hD=jXw*&S<=&`eEEhe|{RU2b_zvX^lx-lv_4lhfQe zOV*PlP)(O|6WmHpWmnH|7d*LoDhFgmZQMXs+_xpCqJr~pRuN>^amZO_ZW}2-OR6kM zWkppR;HhF(h|>UCMVgW# zy)2~m&E{p(v6n&F7}m0Io4RZ=wHw5ZE1o9Ge{;x+nxy)pZtr!)8!Es7amA-`imPt~ zN<^~#J*iay7NH@iW<|IA48))d3+X2lJ_at<$Op; z9Ir{Hk;+t;D1-GBNrF zQ$aE^@l*BH1OotzK+z%}TwT^8QQ{%zbQE_d7oWsdN$kl$ zP161OAQ~DioMMq80~icaw*ip;!J5kQ7b4rGC#x|ELIw^t{L@TitTb4Y9DgN8n-=!? z6k)SSRR+>zFssk($X}c9Sb}iTIT93`QHixC}YG z!!^lWmJ{jfU71Uu4uG?cIl@9o@SEf=r;(70S{#dlN|j%BGID*HAz>-tEjsaL9mxwyoyU}lC4a*l|!UWp>(Oq^~gU<%WIOU zjAeAMvWzAtmED-Sw?Lj zDkN5wd~+a#h|a{ZyfyJwz!YKeu@?jp2J`62?IO-ADdohe67k4f|AUddJS`t(t~5*z z+h%&!EP96U|0Vx_%71l7_oLmnlL2sf_xkPwyL-F-)pb|b7rHL#TGh38*HG7UI{(;t zcjsq2FCq(Iug>j~k0-B9ejs^X^3>$v$xL$l#IFBQK2aB{ciwbn;s)bjh-y|FA9hrxaOeb1LXB zLa1*;Tka-97wd#3(`un7gM8>m}$`$j~Dd?{d@U4eqafp z=|^1XwVGp_pyhX^(1$J<41!?M(o+kep4+Pjg8qG4DXkxrq1SkI=Jks-bfI2Bo4>{n z&d}@h%Gm85D|r5s)2S6a*GnFDe|nbZ=@tBe_X@sBub^qQS8$VFL8q;01<%ndXj=3N zo~>8#fwn7nmgd+dXjvGwf@f%X?Ui~3ZAyCuH+XgCxq@fv6|_5RTEUHaW$boa z;)?y#pPWvu;5sjP*!}5QuGcI0fcFZn(JN?L?G=2vUO}g=X$9Bn6*Mh+1z(|8@cylL&q?G-%5t256PT&-8o?yPAAPtz-7x7!j|D>(J!bZP}B zyyRi`r)N2-SMYxC6$uPPu44FTJ#E@q*u_6jFTyu7@W}Ynq!;5 zYXy(hLf;~xp4&_H3fh$R3LfXxndb_=Os}BbS{DblRF$@F=~4rbVydk$MH~K$qqfJX~{Z6L_uQAzJ8L zB-C?zp5+MPA6;1POd>~>q?Y6TB|ayqqw2YSiF?oZG1AiaX# zfi6KA1x<@y!Tt0K+K&3>72HR2Y!i5`;NDv3TO`zT+e@#Y zO=+*-O0Uj5S8#=1LA$f26?}nS8N1zy@$FZHcQD-2KVv)Cw;5l84=&p5>@sLGN-@p<%s(UZtEugL(y>wx$&v z(JN?L^a>8?`2X{y{$FR;d%FfZzuvhYS^krW#}jAA{}q3Os{i-A=qI8DeEdg-e-U0E z`tQ(1{1$(ws{gl}|4aUTeRudy>i9#)d0YEia>MMaoRAK0qkHd1`rfzZBXiXFDMs&31XX5m+&gQGA=6kPhd^L9@Sh#fNsg{({7(_iBv1mGkoq=~z3vkwI19 zwrzqpHg;pcc?sM;i}6(8wmn{xCYaX&PoLeufGUd59?(()^E%|F*)thZ1#a6zda0Fp z9eLyI8H}u=`0SBA)abkpylM88GGz(Q+~UAW0`ofZS+l1zvI^X`N47PkY_EA8cjN4O zZ&BOhF2sb_$%G~Dc1shM6`$7$ub*AZxGIXz{mXadcK7^syNl0@G)CNN<>VE`w}uf_ z6rUNf<)&=Kws-Be{TaKy@oA6RM&-YPVO12L^+Ucf$~>z4mot=#;&Wtbsr=eq-#h3v z!#`_`ywy_06W1hIldE$YgDRD8|7Kq>m47PZDV1-Jw{R-|6b4i(-yU!wRsL#*R4U&d z@)=P1GmNZMzCH57tNdx1vZ(wm4!jT=aEg(Y%C|?hRqq0*{7G+7+v6_8gePReqVl&i z;RR6nCo`^6`R=Q-m66(83YSLzCv{+(G*dlSXB8tVm2XCDQTcoS>D0ZKet7D6Pg^Cn zQTZn^tWx>SH-8Ib<)6q*}s|cb(TY0dC;FU74=_t}fyR9_aj5=O;Sf-Fb26nVm1|T-mv6XEOPZ zC&o;*W`YK@|K{;_}4n6Q?DPNaPaFO+@2=kN+xuU;Ntm zXX2N}Ulm^!KO(+&d^o;M?1|WqV%NmJ6#H=OO|jEsN5{rvDY6oth&~woUi34>7i@@5 zMqd=&Guj`Gke_f{%k z?CtJwQU@mO9oE34^_bY+5r;J$EZV!P)0-WW3Q+ctcMGfyI;`36AXeg)Q+Ijq&A zOM90%tf@yxZK-}xM_KFntp@m2Ky5vbn^v`C1TOacL9d|;XAVr&zvz2Vy}UY@wf7>8 zYU?~>yo;SD4j^yuTlCsL;EE_k9Pen?hCtr#Y^PSJoqVqW-gkG2P~N7ulW8-2zDY}} z{t!mrY#7yBlDYR@VVH4kQW*V2yEYj8xM9@wUcUFE?Oub?j~PbwYim_1Rquxlqs~JZ z{fORN56C_jHs7!JgZl5LJq(i{@@|2}|I(YQ^__h02fSZ_JyTUfy<(Vquih=@5v;w> zVU67;tX<~xX76EGGX*#vXo>!YwaXpW?053L2K~SF6BP6xSB}TUQQinD5hzIY~ z5AJuuU3*W``~H53nC)F#N%|!TXG!uj{RR?^K(Y;C@=4BmI(* z?8$mFI?v#L!g*3ZN2lq%bida*THCG-Cf7KuxX;nc+r0*xuh84m3}^T}MN7W^5Jpcm zjOraLyWrKPSN+7^qOWb&2BWVrjJn>-_g>KMH5k3nFsff$tIyGShEeAsjGnJI>;29- zGSNrszilSZHOt!aWr4+W^k!{+C*OOv_bagXDu>wUgy zt)HX4^cuQy2w{DnHcjxpQnToKE8n|!o0s5zg+52kS%bZM=*{Rnga199C-rl*pWaLE zgiv@qs9hUO9_X;*K1as6@9q*d5767wN(AkFftGyzA&l;87}YygcEQUGGx~|WMNe$k z2BRk!MqTgadyi}P8jK!q7Z565`QD?vUxB@sIGi-j(TmLPtDmDI9oE>rBEdtP-t030Ye#suz}n#sYxX<&-b1}# zfwjXN*3_XvNTR+vX*>f1W-^%_%3nJL=8oJcIw8oG0~j)T{TBJ5vZA7q@GJ$pMEI_c`io_Zn>W z>+M-jBvN8dY01|g!f20SRPR{X1v%5J>pZ}y3F=XM{{o#}o~*F#-j>v|Kh|HZCtJAVTr;M+T=I`grg#;%TSj!nh(jy)&()9AON z?;!jCfM|c@k3U1htSS$>^URpUzB?lnzXMIx|_yug;SP z^o@YY1A4$QjLscUL4#zJoI9X`8~B%Z9#EQeJ`#DzYy(mN?9;8PR11&*>51fpN%kjc znopJoMBWg&lBAQD$jXzfyJz!&Jnq(?%>&x73K4KB?)z`H2e)g_V=Wg(hDS50y+DN$Or) z6TE-&R}GCya-}DdZ>dfpSo`F}=9kn2<{zw!I+dtqvW>~SWio&ir_*paSUVRovU*#M zXVOG-r2-{w$0gI1%+*YOuqN>S9<-7jJqFweH5d>o$)jUr01L`L8NjXmN_zD8IE8m9 z0YP;Tcpc9U)&%XJ^ypS%M3W}ODE+a0D;Jo94$cqBu5((C7Lwg%`63SBsUbDI9OBg{z7CM9XdIh zG6i`mf{<8Dz4)P;fcvZI+O&v<9QY!|9V9^+XnVkHhiU@y??J4xqrvGQkD0{cF)5%z z+O=T)E7{mROLjDX7*K+MLPZPG&3kKt_pf9Ft?V5tCIG`tX$%se!GR$?dOZ|MHc%+p zWEEI87{+9*Q%n~m6#*<)vQZ>THn~v{RDcHnWWNZcOnRiIaLQRRkKes)YorKN2S^~` z1OQ__Tr)uBZgQO+%?1_58PQ0wmWl>>E&3(B%U7 zk1jVv>XVno7(n;Q2R6^(*`+ms`3Fj-PNY710`kE(gTh}xNKx;C3S9#5&xgD9hJ-VY zQH6p5{DjI6n2A!|N&x<`mRgA^!;l8$O@6ZhZpHU5&o@kf{yjPtYY7tw+$%6|_~`Nf zvdd}$_)j&j){epNpnj8>ihQZ~qUHY|d*=b)R(1Y;Tb3+YvUJ&jKw`;GNNgv;wk%l= zlw1e_%HA7-lQM1G&M$2I&JfT_-djLi7)n zjFOPr>BO3tfUSUz=tks+RO4Mj@2~2xxXXh*29Zk_geF2VN5Rc^DUyFF%4w&FX~wD% zgGM-cBs3Z^+l266y{=PMSxc~ei6NKdi%n<+G8W>0RgX?#UIl}V4=52Oq`|2pS^qy< z{ktmTBjZ)$F{5DIU|ejRZe)#xMvt+hv5C=cB#c#!>exrIS7VRG3Y_s@96LRhjV`HR$r*U zq5k6f(>eEFSl?5>WBn#D4kqeXt*?%J6nQoBSfmiSA#!o#^hh?cFwz5`z$TIQNFuUo zq&oaj_|@=ZL>asxd~x{na5lU!+!Nk0yh*q{oCvQ9%fLtMPdrvvV2|SBy3^~jbqniy z>UON#q^`X#QMYPcb?77ZEFNRm;)c-0q0>Xz(85qpXvfedp>_}gs|NoS{2=&z@c!U$ zgTD;^G?)#}5AF*}pgTAwxMr}X_M_UDYagn;qxQ<$pVuB=ySTQecKg~N)V9{HQyUC? z#xBQWfn4Ak@B$|WmIitQI|nuiY!Dd1p2rvdxBO4}@Alu|zsP^G{|NtV|L*=N{-i$v zvf?X{70=e(TXRdzr8TG599=WFX78FG)^x#}xOz>s?=QX=eGmF>18H!k?^xeL-&CB? zH}p08hWP@-NPM;W5t^*3%E-!i4h5^8HRF#g*>c~SyNs+1UQ(Vh){gQp6Mpi~D zDStBKkN@e;os%geD`S$Br_E6{pY=a+!Hz~&1|BI-nenGDx&PSRTa2s>FH)W~;|J~W z*{1iLW@Kdyk@AGu*fj5~d+r=CvNBXidEAU&zW)((6FDO*LxYsZ%tYv>f9|<3Y-D91 zkn*S*zbF3A+z}@mS?TqpJYvR=T6Ra@_JD#0{Y{t9xKYqi@8jY-UU{W43<4a!H z;nSuWMpg(SN%^BWVZ$xPtW$Wx$O;W4DG!>7``_-JaMZ&_R#+cNdB9A}yzuwe9)F~f z6_Q6%?l&7Z-21Cr&wIwm3Zo+__nC>)YL5F?^#?{)SQ|;X*Ng|3JUVLGg+_LBo$?1W zzDh1~`|xXxtdK7v^LsP#v-QGPZSkp*6@o=l?lI%r-ZuY^#&eCV&?%B~w>jqW@msw1 zt1peLa3_*7U?zS(IT!AD-^dD0A}Iy4scVycYd-m-krgIHQu1c}obHY9Ic+=jFg+qhEIOGOU>pl8d;$uBjrZ3srkNbrX0JMkrm=G zQf@HgTYR*a=jVfW5iE&(QWGn+moAx_o)B(p#H?qP@ zMaub%)70!=-_T%W*VQTKnejL7ymqx^8yQ*QoVm*2u1-Q_f+w*>=|C z{a!M%YwMJ=&GjGOWb4=dOnVK}DL-d4?YHOoS2Js^rBlu#=Z4>0_VBt!c1@jfrWsG} z{f|}Gzuw5Mp;LZl#uGsA}t)pW`kX8imoN1s@Ag^^uV zr<`s!t{r-B+GYPVva9Hn)6DTlEkF74i#F!drc+KeM~z3ep6`R=m%q8P`V^pJ#WB>m!QS z?0|87c=7r$b$wXz`cQR!Xfgk#>UwE0|3lREAw~Iv)%C$e`6cRlN%8(-b-lRw{33O| zsCa*&x?WhkUZAcQ6!V*}uICr;&r{d)%=nq<(F=xM7@MoE=N9v4pN99FQUw7J`CfJ1TfEQq2G7qZUbBC}^>lOO z^QUd|^ztoZ>`-t$t*8&15nT6}iK$2SZuZF*F}5AJ-oKbX+Y4MzEz0kwuJnh6>la6y-5fxZb%akCDRlPG)@0wzuxSeC-$}3fDUp?_;2Fy@MIAJ#^C4-~Bm; zdBXMf#rnfI;d;Abd6*_#Z(Dpn3=^)mDdvY+!u8fgd5jXSw<_v~Ny7CHi}DyGTyI${ ze+zZJMX`L05$ z8iRxDOff&q4X(S2EqC7?h*B!(O6z^kNa6P_Q-xwBLk1NV!R&d=~>~9zqT(=bE zF)6riHpg##&%pI39u*s_uE&~9)i+Jv|Gpz)W7PGS;(d$>84j=m=au% zHroOR?|8upg&2ke*Q3nVPp+MD@Do3dVMcJ>WHxPk@p~^Fe_jkDg6l?e{YS4kV_o0X zF-!=q6K1P_$0fs$T^z%J;5uHcPs|6d8_ecCAO3v5wfBu-Ja9eIT>s;z7QUC55yN!g zdW1RQ_J8?)^=UkY;lTBJ=BOh+zI(%S--=;2aJ_D^Juw=%9&V0&MQ8A1KuGcchpZx3NkKJIS z7^VW(Yw~`v=ayc-PYgqW>ov^A{i>fha=mB_GlA>X&Bl*UJ#As*lo&<=*Q*upV37p&m;zh}%%<7rW}_Fr7{d_Y+HW?U-?nelLBEJ$25?WOW+Gma$ ze$tb5cdU4KvgjrG5%KLx(P1MByw-@LxFzOjCl$Uh_RN1lt^7x_)(vd9^cViWFqTF)`kZjXu^jl9DpxKRq>iDaMI{wr6VaUbx!@)v|pu` z8GWpEB!$J!;$SnWtkiy7bg4=3Nzb)?b9dPh>4&BXdUzw^Uad5RT}q>Saz z;i zgc-m8f`PG<4m0{#0ZB^SOnmtH1HMl_H~LruNlJqm-#*Z~Y#vXs3X+tOW_+g)&RONP zqm4e+L6S1UY`XEDKYhFn`mhp`l=WEp9F*GZ)(wq5)jRx)nDH}OxB8-bZKID>lE}o&MD?~yKHcI*qmOlxq(sg5?9is?yf@G2W2Gc1_2%eP z7WF^12cwC#lB7h;rrzi0>~$m~m(`M_gw57{|9J3~+Z=B6v0jptIx~@a=7n44Ein36 zF-c0uY~1&>wIAE)Dx;4zlcWUA_#vAgw*P9U8GWppB&C)n2GFnCnkD zv+#xMEVZktbh#pq-0Bq=p!{FJT6uhEn-`dB?liqC8u_lt{yvGt5T z)=!dBZN_i*9dO)R&lr7GI;F}?{Nt(QSDB}b?9nQv>R;yimp}Yk&y?R9*`svIKh4D9 z3m(0F4Gy%H>6EX`rZaz;yDl0svPbHaf1uC8zkU(mkl+ZN@^>?F;+^v!x{PCt!*$A+ z$ZU1UP0fpq>|r|P3)*YigUvr@bN^7C@;7tr^Q%2P`(3u7m+F+y&88Q3J$24gzc;dn z=#;;jjll=&N1yh0BYUt;`OIuOdW*)6&*DaQiB9>{j4#_enf?8zMs~4I`NVAe;=U1E zT*3DGBAxQFIr_c*4*7iYZbo*YPWi};|ID15dFx&yyFjOWXeLJOT>WL^aYlB&PWcOS z=4X4J_H(wy=joI`n;We0<^fgXb~3Vab;<{3Jd{Ne}Bn|B2{Pt_?en@v~Fj{M?v4gmJkDKDAv`Cr^{;vF2C?yFN?G!xt0`tHJ0 z|7c|Q(J3#OO~>68-DThRjqKh!<#`S%vu8gzYf~e;mri+(gO+&J+iM%L{@=2COqKDB zaiejHu|MbiHE{o58|#nFicO3~qc26Ti=N1;esXkJ{d@Iy)t^y6r~ZfaV(Bf;=<;j6>Pgm0b`q0RF!>U*t+^i}4&ukHi6DMDK+_O0sH0l}s*{bmEs+NCV@U&OA@mSBv=hZ7)g}v4k|H1!Qj$1Sjylc0euNqjH-g1bVY5q!2&p2>@ILu174yHas+1a#IiksPcl# zjjA2!Z#%)10OpWwJ1Fkv+-4#yc>{KM;t*XTuGlF(+oa3@|Mu6$PL_)lC%v z6r=+&5J%<2a+d*S3rST`Mp~8#K&4%pAPl6=Ax%Ze@?nH6O+5(+nmH|v#u8+Ts7jq{ zLxQ70bJFv8A0}ja1fan0!O`D?qyG!R(K%VoGub}xVJf9N z38TiW+?FK5G660-$L3_EpKSJ!1{|H9km|<&2*7MdGBqwITL4V@?u_}+5tb4+AR-HP z5VB7qPPXJ^e}HM+EiQ%@8PCaP2d03MP<4ar z7T$W9E`mLRhVR4_klhbefhDMDS}ubpA0IfJ$oLF5=VV7jy@At0!HF!5=MiGyz;S#M z6nIYdO0YJ|$yKNs@x)0h)VA14d}o?-vW?=Au`-jGg82XeNhf?Zj(a)TV8Ki(&saJd zb`7(=L?kC3U^)}e$<_-oHkGXIITX)3W3wQ_S2muLy%<$FmYtN8xXC!g5iAsUFW~P@ zIoX_1l{083;UU;Y$Zo=ZikZOIdR$I6Y-9|$EEz%6PoOu0W|ttUQlG3XWH-lCTzQe< zqL>m3gw`bUR7*~_dRVu(b60L;;v*o&IQ>0I-ODbJj4zie^s_F^Vw{F>w(Fp#(utgG z5Xtz`!ct2tny~4xOQp&gLGhey86{e68R}26vprxrLdNGD9Q6!lH8EqrEqM(n?$$l3m zlPx8)5SclRvUFP3|BY2st62N56}uodI(l`q17^M{ktZWF!hhlHJz95OT~p|)P)G3A z;H28$*X|T}HL%eC5C7@#|6ftl=KHO0QuXhvx2bxZOx(W({p$*eqtKkbRN~g$K4B%2 zIQ9>>NgSO;u6z>5{&j2;M`y_^o5XQx|Jw4(!rMD!!KwxZX;xPN_y58D!zfwt_Bu;; zT4pPrx3_;S@2Yl|yE0yQO?hE=hjtdc;(2@f*PvX*+xwCZjx}d6w1=5E=hO>7{{2;h zP5X^W#XWd?`&Xw##oKF@SjO8sY4{_<4>E$2zICbIyuJOaQLN(awTe|_9xH{nw|`ZN zQoOx(ot8SlPP$>$(Cm(b&i&T!$LGL|3RS$lm4a9f7PtaN=)8V|@)U2cv%HnY z+uI+bK*ihZEO2E``B92g^PjWG|G<=APsxh6*IDw)pYkK#uUuB}%9sJel&q$F=PNsB zz?CrN*Lhd9v)q;O!uUt%DSxOJUI|lvkaE?O?~V;?c6>HrhuiC)ADk;z$dq48iE7HX zN-Ur9>&$a++pcZ(!}@=rRN zlGT*&EV*pvUEvep(vyyoR~9RO$bwhG40zHqN>)?8vt;MgyTaf2kduz|u4-qwE8~Ta zkQWv!f2bE;@l*auhf}Va^6hwWC070czDu8a=*U&S!{p?)@@4(sU3FSj{WbN=>Sxq% zTR*lw6nPdF{u3k9B0q?%9eywTyYQ*t?4v-@c-WLwva+R=X4{l45>DegpseZa zj^_o@!@ir6P@9tE!ue!}Y?vh5*mZ2m3&e+gH%mmFPYQVxXL4*ML7K!ab$VQ0U_Wf6 zz2w^LV&9FU8OZ(G(j3b`w!vZjxV&J3JjM0C8(X97i*j_t?w9OW31EmVb9e4)-z|wY z83>}-4CjEmB`07aHs0LQY`n2|ET_V}Jmeo;9gR7`8F4;o39F4aNIc}InPWH36xj}I z%n9^}^GQoc@4Qh*R5UbPDB0QFH7X})B=+8lLQ+-2@|0wcl8q&_LwsCLAWH0yz2tR1 zsrV^M_Mq5K6a12wxY~SU&%E@<8GwMByu=lo69j3FUu#Z~Pwc+Al#$&x4j4**RD++I<5>gw&8(bb!rk)A#?!|`y>^mGr05u8|Vn_Hw#EQ3`qeTx%I zRhOJx!yE=7mvC3k`F9U2GZWbBhwm~2g&3y}Dg@b(=at$NfcSJEu_|9^6C}MxY}aXV05D zeg2$-=gt%MM9mG`Fw`a)#6Qqa<+w{!Z1si$s%=wGvihfX!_8ex#5TA-}@`XT;C5sO3MJwk$ z_1UU)Q@*9#o7ppGu{>F3TiB0QxNSXbm8yhGbaLKxm}rCAh>-QnVB(;?TB6$G1-;W} z_sp5f%PlT>WyRK1e$UqXzlh2yCwN7s-WNSiE4#o`0rKfc0<}rP8VmSJu#BG4iin3X z%BfHW5SBo-#^nU($XCFfw>q%o+y~yv4B#f2u)$LZ2$FLMx43*_07wAff#*jED?7kb z2tbmF-I8XuN($iM&|@Z$%$oANPPo4 zfM-BR$kfNN4@Ywy%{c*Aa(?z=8CnbY65tEIfo&XGQc+~xoD8Ke2oT{2ZLe)%4UYYlRRVxJoCDW7>1S*Epi(;wilei8rdqDd*&!r*Y zzU<@#Qc$Tf2D}X?PNOjzIOF0g$6K}L1hOgv%q6Z2Cwf1m%lt2urkl6s1kUOyEq0UO z{J^qtXeJ}Avn97D(%4Pzyam@qb90!@uz?>dm1)fFfv^m(k^{>OHIA9r4RWB9Pay`w z?g&Ze&_YsA8Q52;V(DQtCcSJ_Za0Lmn~Fl(ZsH|4sfD&nfQa24BXhfocEb>xJ!@Vm z7*ftG6+~_q5lFfPG?dFhi`k8(v~vYdnW!B1VPjb^>vNnd2>G8SkxPkTaqOyLvXC`|= zEXvt_*R*uHmyy*zeHtjbnLX2bd!es8Vf);+%KC{^y*QNhqX@lA_jUMOarT)>avCkj zyf(TobC1{w|E~GNoCOX7C<7%YqSu`Q=^^T$sA zzheJL{J+y{nydT|`)~4J;y=@WoPV)@fB)wG@&46ozNmSp=9!w`*IZq5M$Mr$`_*h$ zv!U^x@rZG=akg=!aUjwEHZ|5aBC)^3o`4zfy4ZQKV`4L7TgTdB4YAeW1pF}iV)X9l zRngO;hu}f5E4%<>qelH__0QKo2*%*j`XAv-u!G_QFd|<@UW(iu`BkJJpMqJDonZnP z8L0`s9sX1Jf$(kc0Gt^t3n5x9*y{pVl2q^uN99Ce@9q3x(bf zJxBDv8$)M>jtET+O@`aAAruLI7<@W-NAMTHQ-giMg~9!U+Xjk5u1TeM$9+)$^-&^%3;%NzdJl?-T!LYd}Zicv*d%<--;q zu0wVd-606sajy>BVtW!a6m%F9bzS1!K)8*T(^jo$A~xJ=tEQ4r z?KYiI4CK*ptd1!2ych)y$60q(#bb6f{76SLap9?`)&2^%(ETL4{p_$W@kSj@~Dn42l;(jg_x1zNqjcC8>z+23<8fU*#YDPQ!ctT(M|t6Rm!*uy z0yVy2rF$qk(Nfg)TqSb9BikfY@6R2xP zkBWDC-$BKs?os8>q~ccO%kmqjX9d($cP!;5=q_RP!TEB5Bg zWt+{YHqKVf`AjNqMZPS51l3yYN>V*rjNJGbTQ!wL!dRV9+`Mb}Sa)`{|JU$|b+_2r z|Ek;2wS7rv|FXg@I{O#;eO*tb8a}V^5JUBEI($;;hGoO2x-;5o4A#%=6nh*se5Jdf zdo!Bqt*&&B3a+wMDR=luHT<*EW2pHr-8~(f&<%grHD63b(SKNq>K-e-U^OdOo#O1G zYgM|3qH9`;x}HnLSFiLKy z>CUS1D0#6|yx#i})Qj4h6h9jAI;;0d$?6jqwpF9|N)7t$+?->Ah7Nh(LA9W*n)8`d zJmCEZs@2-6sX?R0kYFqij+6&o!CR}Uq5su(N^uE0tJ&ta!^cZU1qPwTVX|v%5UGv36 z6ur?>RQFiv1@~FGy2b;F{;|?M6n)TA)b(7d;r>dGq38paqV|wc{oxN9|9^CqajMY( zzu%gCl7s{U4W^tV{s9n${;8{zTl;L+ZM_6Z)FMT5A96#$DpxPK!X;W1RfD<0v| zzoCurc-4*Lu4;R7{l_OCHu$D11k^W?5*4V=DzO~Ym-@+p>mB{o<=?v03ZTAjidCRK zt5}8O_79e_0zrKlic+9HyG~0te2-v?LQ6iR zKS{|7)aNX@?BHE0dxaLfw7)}MSwMY57OZMug_eA9e>){BjGMD$=hVBx-}sRJHt(u- zmb)@uc!PiEg;&Cq4=PTB`d)EQ`RmUdsO{foy}_pa#*>p9)VHL6JSD0r-zu?u${*Xg z^-pF8zx{`%!jwObV%3yy6|1KFm4oAMr6@J!+jZ)g@~_%6U%3q(7x0RXKS@O!C@<+=n zi{&t6!7F1197V|r$L%cHIrXlDDZk0Ps-5Moj2CYFcV2iUO!*1QRXFaK-BbQL6Fz+8 zy7#yH4wIADlpm)=HRW3+mQVS<#8GQZDkQ#jsTHRD28vZvzE!N6@&kjVtUxP&Bt@wy z->y@~l>eLEhKEOAyzXGh-}po7IpvR_P&MT{{hL>smA@Y4sVU!C-pZQtW&NM2I=sqw z!uS%Rs5zdik} zHD6U-MS)f0^TKcj_~#W3eQs}?IdfW1&-AvgnbT%=v`yGUTdYO)`M7CXNL(%T2`m3@%yCvB)s*=^^uO8DOfKigTBjJ82F z28aA$S~r?OI|nuJ%r(IL`mpBQ=kvQ z*+N)_uy6x<2n)s+5G%AdZJom5n1u9bOkOww$B%cZL4aJMZKDA&X)wHP$%cFzl0bZw z!c-7%0~8t9qwpKSMAZ?`3pF4R-{QHsz`WrEg!d9`Hno^+%nKhN_*P3q*Nwo5VK*W# zoSjn1=DeZ-6d~u)1Sr}Rz*R`BfZx(LGM!z`c_9G={9G<85q_CtVd9dg^5C~&63q)2 zpsE;WzEn&%?ZcZ=>7Y(|r*v~(7y@w{E6-Tf3+zV3(S>7=`swIw$O}uLsv0tuz5}fk z?F_wY8m?2^!y58qkr*M>Y@L&ILgh){2Hf5bfHakE$_vSv>Rn1g)eKBra1a6D&H!k} z$EIssUXh!jl?TX#Y6OLkCmPvy0}+=&pa{;W9hW#jVjS0C)&!%?SQPMnYhL)xWPrJ( zh13#1G=Rey!68HQnrz7n!5QFZx3oBoK^jG)gO6o=rMeP%VLFrXrL(4vI*HUwAa`;F zY@Ws|E}j>jGuWCe85v*QFs9+x2J#vFcYD|9yilCU;L_R5RcGMBQq|to2DKUiD^2p$6!-QmP*r$^<5 z_N>XS1YK8dj?3|RVLZcXdRbXb$(hi;&FJZ#-UB8df3a@ee6fe3?utl%Pp+zZrQUH>?S*F$A%DH z#ZLcv!^xKXU$>luACSrSCD$n|U!zWFxVzi%i@;MkiC;-;UKj#BrNti#-y8V4u?*69 zE~h%j<%KLzoQGX`%V5NOfCpHdb(lJFj%dxVjySWYTU^}6I$$(p>duJI7ZjC=ybuU7 zwOi6mSrA={GYv$Sun|HV$b==VfyyPicZT%=gy>S7fpL1mXBsco3=`HWNQpnNR#VSd z9c^SLGdn)mI7@V39tce!pZs!g5|&7&9q%q&<}$b^rHFRloEMfr4_Rsjb4~oe@!jrZ zA(qKB=Y=iMLzX&%pBej7oU6sBDAm!N7urDOR1Qj`mIK=sczHIm+Sx>7-|eY7d#`lRnS*^d+nmymca7Bxq+Pm zVgG>taDPY5yET{8>{YXx?*U(*Z({Yw)mK$ds~!$h;7MLcfhm13t5sKz*kqIT+R58* zyTdk9c9|k|Hoh%A9#_4Nwux=2iI{4_g%7c(>kc*{%k1{aCjfXyzAf94vQ~Dq@Q~6A&oDX9Vw?$m>-TE+~_$0QY z4{T*BpYcQF!^#COZMsZ~U)>D~EIg1CCoUhsvfd|HOchlLOp73N5}K2m~=O7wvQOy$!&L_Uzs z;=)J(23J0mz=}-z50qXipRq&a!VOG#N*{DsDxXo6^68w&0t6RHulivXs#a{&GxSy}pQa)5NwMyrmdpE(E`g~aMSq60 zO6AiyL_YL33`%BQ=X;S4B?u=2`M^S@@<~+ArxOQa7?1g=yYj(bnr(_M#yb>KDxdfe z`J|bDF zUROWtoY+YT5Sw&&P3eQ=N#!%5ay}R{vcbSN)1?n3B>4hSKUG#f>kW}lC*wlgzFql9 z33zw6rKe=!VN&|6J48P8Hg;fL{kd}@8%DSi<4`{(3$2pMXL#j&gbW<>3AW_&_rfre zC>CwqQ?igGseINMA|HAiriRcJJH}V%L@5CqgZ`X_^ho8i_7M4~*^{j)cRrNBs=9;s zg2PDVGpuqx%${OQV!ycbp@gJt#7xP;Nu=^wYlwW9WrUZfd_L@)C?#NRq%u>ohgtco zIYd6p&nz}&KcuXFh-AWduswx7hg$ipF+@HD*`bng^mpY$3D9o0cTCAHwenfLaz1VF z+pss~(SO*+zzv)L5L2>;Soy3rL_TbIG6BK7UapUn0K-H_*OctRRz9l^kq<_&(6G4c zhj2M`Laga2*(Fv!t5nJ-IgwpRy!<RtL!0$ZPam$Qqle2gLTVU`hdw*330N??1F z<@}WFA}gQR5c#wVaR5Z}W%`g0B?xB&`Yg2aiB`^s*|VKJWvpB0dyx+%@ZssCeim5y z)DMvladXs`vnwAd0dkK_YD#v#l}}`deE4dz4iruYM}JOEWPZjMoqdie*?Cqz;mY|i z>tU{9Xu9*EgidJl$!D&WPu&pt5CNcFh2>?l^7?)Q=s2#z4*Yqph7 zV2FI!=VT+;WhW#j3b&ZNF5jI4tbF`KD=a?o<@M7+2@Jaw?={QHr>1f~vS1_1 zlxzM$A4*^)-bs7SwDR!{kq`Vaa8h{GkCecscq+A7wl`Q+C+n}u*)Ul#yg1--y_OKv zu=s52-Yh#KSQYx3Y$Un_8x7^NSaPBiAc4u~&C{*7+9yWeRQVVAxAZsE z{F62Nqcu0zoK-WoW=hQn-&ejTj2DfYjFXJn#;(SOMuSludnR^$?8mVKVjIWSjedl` zz^}ju92VU-Iw`tV{h#aqP=9&-k@b7lZ%|(wc_Z>zAS{vGCuiR`$kv)i#URJ zR$oxPw0g(t_Uc&GU#h|fR#nyfTDBdk@ABGw_&)7_p$10#eOvgd-qMJw=?C=8o7KBu z{_J^6rY=}Cd;X%Si>LR@=?#3??DuW&D+`3+wVfR}x54k*uv~KRls|C67(d;qEGPGl zd*J6^FDIMrfiuVYecKM5pVBjM)(F3^3qk#&Wk9aLPqmYe7iE3mbnR(n-y0+k4gAb< z@6~x~l-3z>KMWRCPFCxZE&RZ#T4Sex$H771C%V#y6x8q5-{|*kQeLLxI3aL~Zs#|( zs`_5foY_kbbF}ljBmKT^UzLZHJQsLJmt);NVE&xhwA^Ax4j<_Dw?s<&6IDK|H}Jkg zkJ9_4{p~$1^~TWJzM-}CkW$*duC=vpdusc(*47d!)kbUkmP3!y`=#2xsij^YTH9B& zwjNSS+n2Sr)@@I1U(?!JBBk1BZI?UrD7{~*?W?+jzUDw%mv+z>bq93{cy-X{bO#+$ zP9eM^7~L18aoBNTJRxV=|c+Y zcl)DmL8qj%1t0Os%(Dd_)-CAFtfU1W(=Fq?@2qj@uz?4^UQV^({a*Fq%um1N1G)v5 zd$-`dx&^Jf&K9)DXY6|=EqI@9LF8PA5u`iTTZv2 zQ_|Uj174YVwqQZGpfj_Q7Q9EdjPt&;##Ia6_4RV91@H8#4`+V*Eq|w5(Az6BaJz0n zFOSB+t$GaF_exsu4&8#*9o>Sr=@xW)d6l-{Z?wiv0k0OkNmu%ig8JQV)Gg?gbhh9v zUYU8e;LW-Potc%i;BR%yIPW`aT(#g0UoWRx@H(&haOS7q@_OBZuXvBaYjg`*cb#MK zYTbhNy^@^NK8!sO`(-Q}+a?h|c`*3|#0{@1YfO|Rdyeyzwmk>5p5 ziyRP{9BBX>a5oHnvx95Fs&`lIuWI{hcc~o>m)?DWivvdnb`P`=G4LV(h5keRyZV#< zP|fp12{;x;!3}HH@%`CX@SW+K?c3D1UiBB%4_04Ty#R&&cYZAe30XkY%vW7_9e^A} zyys+1kg5PeQ{AlviCF*?$Sn*Mh<&k)unL1Dh8DLi*;0`B1)f=Rlm-r$O>=h5ITz=# z)`CPb00`vHT2Qbc7ePD{KL8LiVAyy;A{sOlwH6={M=TKLvONssg|m~Uf70TrbL3@f-A&V4vIY{UJbs~rT3L@fZp@~VrFMexBK z9|5q1rC6fWH|Hg2frqT1T{uvZoo9;X{EjNhOY8#BF6H@BLEx{beNYuVr=W#n^Af`V zj^uJ-4$nDPl;ElOhzP55S3~}AM8N?mQ9-~0pyCKYfJ*Epvx^?jABF@tASI#j<(#Fl zK}vJb?i{XkH|8Z=0RU=CMAZ!F3AW_~iUDCZQO}$6OA%6U>%{iZd%)nchm87!DiAi= z=DdU`@Q_7BuwFnCI9%kQ0|L=?2;xe=Nm4V5kWe*)gszzhfQ#EXO9P4k33aL| zFTCrjZz&N4pysH#or;rS5*!85Q^(~OAO#feRTst?;5|Fwpu5=DCL%2-M4(gi7U8;E zT(L(J(pXMdlR(Eow}3kq!gU#ouH1z_T09xZ7Njy`B7+Nn5Uzuuc1tT^p|EC0l{e&+ zsWC6a>(EDA!ct4X{D5dciVZT57|`ji#=H=(OYgAp(Lx{1Zanh@4MV&KddH}|u&&GS zvW29o5Mv}WV(@ezz;FkkK_OfR=KQJ`h8mR|aVL_kdEs1_xuRTLh1~!zU-Bb!Azk;% zTw$oopv;-pyb!O0p>}01T+$GJm;O2$^NNJsmZqivw6TlcF2~ZGZ*aN@vvgi)*kP8| zSxT28tJLVc5U&$v!%mjEksBr2^Ji*&UP#wLO~0y8(^LnJ20-ppGl>z+fkRslsGv-D zZ%5lSq3#!7vmVRW?A4)A(?pc;Kur_&m`E_vhV%%DEb;HtOm|G+ z^^RuZaX^(3ZCO!|C)3|Mntd}zGaHm#W^XAoss!C!c3Uh`?hYMh!_L}aca`K>V#N>U zHE0=^Nd9jlrknE;o*>y;^@^93BpB!}yorcVz?Z!>FYyVOnBB7KJBJ4f=Z7*&GOsZ^ zNvr}s5^iZ_B;jfy;W!B313*h$xg>4@^SE1F`DVe@&iN*1y?ip#iM)g_04{9_%RDZS zM&P#i`CxzmBx%e`%mSuyOGbU~7{~-9XQG$+8RXgM{9Xv*3sV$QUpzVFhLawfM-0R^ zf;;8+M2?U4D=sq$pQ1GGFfzN4Gmbjonk7g9)YgsCY7$xGhLlgy& zPSjE&zY78cHCLIb+5yOeL>oXKzM9=Qay906Mn=_P5il*mz64z&5fa2T3mZknD3Fqz zHVR&E%0Da3hY%+?yl$HF60Shij8l}F!S4z}eoDnD7q>8~dS@p z8L{o{P5CJZjiz_lLfTNmZ2@3B_8!W$V^MAQlG7}qS~o!)L&>F#IGf=bSNda&m`D?XLrYUp7)la+4Qq!=0=5D?ca8icgfNt} zkkpjK?^r9pG0BABu#+uADWm!Sda8^c8?o4#oakQ>?W(`Gey7M=kpQZtqaf2rz$YAma&9?vEFvVMRHzV5p0534F1 zCk-+-d@Gu?#-157W-pn2NUy~GntSk^C9@aInLWKnrR=+G+1&p9Yz7DCDa+tD_B$$I zec{CnpuBng``Qc+&hkn=^eeQ$1^xR_pd#&Y7U-}zR%nq+`}d|u#bDzs(rfQ;g_e9s z|6Y`=c-ovLdzfY`wBV)vd&(;dThNdNs~T9LB_G_s2PG@g9%sqU?M&%jE4180`gixP zYG=7C!$BPu)FFp1Sp5iQkxB#*4IP7fMv5 zJywZj2eBJ})$q4lKKjA8r>?9(+OspoD$<_Pv)YwI&AAgrDbgOhPD`DPCoQ;P_Zx3d ztoa>k)swVmM+#M>J>cu9pH|^QdS^O+Z2jYQ@&lNjw%1(x&{$ zl&7YAXL&1c%HNa%)s*inaAi*Un^2^h|C~ks2c~?JlGT*&EP3Tm`IEd~xvb!oF#~Q) z$!f}XzOr-bUEx!{j{moImH!?8BmSHH=lFl@Kf-??Jbjz{$EgT_FV{R$a~BZ+PgfBD zH>>G1J}{m!?ldkoj>jipcVjbS17r2r-(oMs^08}U=i?bLH@0&u6B`k$kNzwAXCeST z5WPP7^XRhZ^ytn+0NfzDX8k|vm)GA%1i)X`pH{yFUx6RgC+dyJKiG44Fmiq5XOTlA zGw~QOBcmgc@Q2~2!uN!K8@?QTL0|ZQ@b=+Uc-?S>2!LOP6qdQ?uC4x_&-wv8u;^?YXg&5 zN4M)}E^0TMO}O~37L?1iVISYq`wmf&_R!H>T-)pM-Mk+mD$?#criitPF8g=!oppGY z;=X!(7h5%UlSQ@d?A)At)x5+`-gi)KM_V=LGpYFY-jAT#4z_A)6I-dajjftWLf36| zLXm_jK1>IiQ9M@hwXM5qQ&u!zR|h$9v2dY!Lxo%DK2odbdMXuPufjuUKcZ4wli_Xp zF?T;m#jRK}?ptJetB$o|-P3#a@tbum6%(nHTXayE*YuH?y!V5aG9HIy@kc7%L(zvV zMP1LO;#MpftB?|!85DiUQdB=SR|hG(-%`|0M9~Ly$9hfrxTtxLu4r{#k|V8ipZ6V9 zyjORu@@G+cG#6hEWVW2pI4-94@1EIm)vHD64mqEE9F)jd{v!R1!2I>p&Vuc~wp zMX$6Jbv>7g|EkhsD0+pZsD5m&9!Hm1irR@N`b*tem)qm$BCGM--;PVY@1Wu(y0fZ0 zN?t4#|AqG>sCTig$>2D;!0LTcvTE!LZPn<#QiEsPxjDxKQYd_ZsMJP_ZM~@?g=7~?U?iR;UuWmyZ`Uur$SGa}l2WS;t zPo?5BD?Ehuvn;rM={TCMJEILrLjM_dN^u;`(S6AcB}2yrmF}VBd|MUwIGS7OG1Q!= zyQc#}7C%ted@&J453&^1Jyv=_*2-0ewsUii3F>dD_Z?I_#8%DuOe(&_`w>(-*j7yq8dYx#ZPio~wYEqn6zS9B z8|iVR7}(=KuI}QCO z*(t?ww1w_VZlD1=Ze8gfN^WJV;vPp^R(cFIf2g~s17Q%KqHDgGh@zWYis~LKy0el7|B)rA)4&WtN4HuLr>w*e1e1|%}9x8TJ(08%A^?2IdPlPCBZx47bF z2DK@uFkqXIhNn}l1>rLXFyj^%z>Gk9K%9exhKW0cbQjW~aoy5F&YbFiQKB1YRtk#s zu2iBR%;q3wENN;9!cp=9-Xla*Aa>G?g%mPU1vVH)u`|PD1o=1E8elbZNn1M)$P6I7QVdMjxPtJR1F(5b%_Aift0z5kYe5*z)vK3f zE{K^@{EPhET4+NWz>F(%K^9A7hLT@bV?i;T+tSn%s2ZU}6CN-60dVbZoE(JX9Cl`% zrF1CJYrwrqf6289LUIm%#+H(rLch%Tf-stcEPhQPi|M0u0YF|!z+OG6nK%>xBL^E+U9?k zkQx64nv_T3w}D$EDQwO|f{XD}pua)T1GZRj`|1C~e9RWg*SQ_5_JIdsyUv@kS6c$# z_1Z$NeA{|>Xl$`{*Kq_;l4Z$R#GsCY2O=es|J%^wmV%J~<0ZA+^_5g)%*^93-E?Jy zI0r8&VgF}lb_+AI@LGa=Nc?}8COX>F;|dZ9fN9??t+B-nN3i#B`!F|mgU?R6M;ClmeGT6(Of&>Hb$e2pP!$O!1`R2g(FCj0+79=bHu14h< z^g%H#WtGh26}AkhFo&?*UK4)7AV(X~^F zfVeY+d}u022mlbYmW-|(sDz=iA|41;$>%uJTu{vaQkK)|R_I~~w*jt#HRVg3>1Zwp z@4u=Wr>ugfr%)esD<2qqSh`yZLjSMo#wn}d#Q@pyngV+bOE(Ty&4qOk23}mQgusjO zdV?HMXurkS=xiuRC;(MCWK8AIFK~0iy9l&9zJ8gGL}3^bs&bG}T?Y?CyuKuOhPaFn zq@t-HOy;U`l#HqzIBcOLhf7*qjM_21#ue5?O2&c5&X4qL#sHk>0P?Z2I@-q-)~F<| z;lun=E7Uq+0|MQ3UiqO%FQ46`W_kED4D@#*#}~xnVghE70EK3c_RV zB`(Gitn7|oy0suw=2%Ov+`Xh53yRj>OVZQgdu4wIAAuF_!58%ssO^*)vm|JKB4?I;Z0Y zH*+R)OlF$cPPLZpRNPYavYjf$vVhkZf=Rk4y@}W~-^4E~Ll0Msb!~JiJ`S0$H=R0g zaKLR-Q1MI|1Th=mmipc=>%Yb?>wDX2_PpN4WwQR?wCcht<4NNG9bs&5G#j^IM9gT!92`>t76>h5gSKXs^7uPL>w{P9hUqerXE)N|V+A6ee z@U!4!!E1wk!Cix6YyV#RG$-q)*3PKyuB{Ke61Xk!)4;rd8Ccc7+fNflQNs0WEQoJ8*3TQI6EmxL@j$|j7ay9o&QS&NEN5me3dwu}T_;-s zvKq#pDap7WR}iOiCeJs#X681Ws!D!r7Zk*=yuHgU-jy29%vcs@D3cmr5a06ll>31W zd4T1XEeXf z-9D|e@wn-QgJps~5jDLQx3d<_U%KP~)*X#==zOe>m__GJEg}C}%)Jhom`l>80+5^4 z%MC@iEM%zcVzi5~A?sIJD_7bBbs4&itmVk{G^rMw25In(*@aAOlo zC=etfN=ovcJALl-sf&B&E|}9Rwb(`y%!s{<4(XXQb?NLGs@kDoC;8xc(|Z>!>ESN* zR(wEqJh-WyY39%4DaX6@Eb5sn`Kri?{tLzi9U1^XGAylww^u+TCYD@sAy5FX)wS)3~g)u!L@j zx%j%rdQWx(Weq`mKZ!xp-aW1$bOo5MZfQ2dptGQXh?&QK@WV`EV+nVGr#J??1e*}% z2Dq3pi!riW3&LZ7z30wdMc)x>W}GEyCmi21jfDkBV?J5Z3}fgOpa&5rbfE^opOPIZ zVKKlWw}fOE6LmxQx?%aC*;!t+B}Wy6yntD+C?%s8VPVGXw!A4(mL0Ah|sl4tw z8o~RneFBRt)^X4%V7RvwgtUN_O1Uicgtsk}5g692xx}k9Ikq6=1sjZa3G*_{o@o|e zu)a&^u#T|>p)g>EHb|wl! zUBIG7uP?6ojQf)s0hFv9=HsiFFcg_$<@#|7P7VQ+AA_NU=8fe>E5HD;Q!!BuA^3l{u{D)bci(?}dDsI>; z`P|YeNLdIl2kV9mc?JfRB>vbi+gQR>6JDpXPr_1;Efq#lV?n&JrGJ##73@C{MM>6; z48|ne9vriK zVL+NG0imZi9@ksgK^YZYRj=D0gVI&scQq>5Nn*V7pEF9TK#^7czgXx#=31k(Cg82T+fuNRV6cZGVZ&x?A0@I%G z7Bm&a;h!nrl95r&*{Vd?;m8tGmG64Gb96!c{Mkq@N~uo+A8CSW2z^l})3W+>iibZR zxN^*%9G$Ya!VVkzq`V1MKv#1?Jp3_1%7roH*;B!=VfTzpXQ&{M6;FQ;Sw0GBA}sO3 z>=N-IgI{7yK^*=GhFqR6-vTyE+a+uW>qM$|WI>$%p{P)jRF62z!+628gDKU~mW&s~ z&0ifVTW~18g?w6}@L`&R&>@LcCa(Re0*l}e_7CBmpcVK-22Q%Oxu87yS4CRFzYb5RyS;8w zC>PoU{QUNK|L+obI} z2^A)(NjKb@{9wkUXTFo?P>Dwtrv%HE9nnwpCr9ayWzQh5yt(ekPo7%iH1oTZUQ#%t zxNX_8W&OmA(&Px%yO)+OwJ})S${m{{z>m#fBin~_un;G?ymD@&z!$#?q;(WFIhBu+QCa^ zvx4L!)w4ujs+I2%ux%~X-#>00FngA4I4~Wm#wL`NZfxsyOUo?z9!|RWxE(Is@+a+s zC4cibZYz0ZtE&+J%Tao1W0#ix(3_bp=KOfu?^1e6;dWOeY?kh7*1MOM{-5Y-gxk_x z?d>7D+8-8uaN0hzdRFMGFYG5mm+op-(WT9NLM2Un4|R4#x5=Wywk2eXp4Ox{4S+?bhX8lt|(uucP}mdKhf2Q zIHtRr6)VJRRx_(l`{?S9qjy@NufDK<#~Wu=!kc1h`G!u;aab9N4Xm(o4D8o|?aSF_%|wDkW( zSDQ=u>H|7Nq!F`j+%aF>byWWfef5R?#A(xAtx^P&N$=daa3HYH<%8vZ=dMOfH{I1d z$}DN@N&Adleb~C!95Gn(3h8P@f^(E!+SsL~pLToAg}ZL>)ORV}qpJ}=PIooy-AhaV zPjofn&grf;M3|UK&)jm^b>1M;oSBLlQdfs;_-J`1!Lr-@#>)lIB z|4(!^g74|BHbjh{N$=hI*`iC&D4AWpdBwY4ePKWG`gB*T6gz0rdzWnR%G7&L7_9Q| z+|`KfryJX&%#y~Qbm8P5-TT?cj|`Ul&EME#S+IXu>7|WbTKelhJMhQ*KNtNjrMv1| z&i^M@T~TE`Z(M5}W9(v#HmdODzb$rhtS6R=)kR;A=A#!x7e=Q<*QtNM{`d74)gNBJ zP5p?-Um}INJ?on5szc9*eiJ$?bZ}@&XwBfCgZBk53my{OBDgj&`|hc|xb_$#0gMU! zJ@9bg%D|5TGx4U6`Cs+l;y>9x%Rkw_R?XWrx7Ylndi|=uRy~Xw6@N_wvi$-~`z^Im zE!$UYEtf-{Mi0pL3wzMElx$zg7PRx189yLfFYH0TrS_nw3zueF+q9l(P;aNYdcp8# zrh_K$odzsmX4|yJD+3K&bAoaSunJ6WWdpFO0xdHv;jRJ`*v(8 zzvK)sEHyahvg!W>2+K;Y|b> z$MGmQ>6QWUpy9mDtqJW8l26XF0j_p)9Gy%Ih$ju(&z3Ozs{{d-klzTYbKtgQ(}1|o zuzPCB$oNe`e$3HflI>gq1`C3E^niHHu>D+=lJVQg**81MV3H{k=6oV142ZuBJEw2D z4z(~%rIAnr39YnSKDi>pAeAS!^Xu-n=(azI>Y*nn1|R1kO%HlSgM7Q$=bGYtdc zH8a8zklH~j4z=Y3PB>|k$;JV3l;OxyWieNI81pnVxI*uYn-1IVT`dF3KSo~GxlPP2 zI9t`6pbJc$Q%l%)yPF5ZJx0}{Q<&}p-jV-s(7^zfKUxOFOGZ_UQyrx(p*fde6C6xTCO*)L09*4a zGu3a>#C_n<8w7KP!>trmBlv$+HRNGc4V{2|i1I*?b^r_A;|3J&AEjIe&T>RR#)QN(LCO( zkvX>>5ct2BygJk7kjL>$jT{gUfc9bT{MDIuS8Bw7;Qlx85Rg;suI|Qxk=%z0Su03| z$l11_u))Rye3!ONH4O;tACo}~N!Q_F&T1UL(E|ee$7Hajq((%pEQZAR0fGEuGQ6p= za75kc?QQRvo}3P*BAM>#?e3j9ZDzW?Co_}7y!OW9W(*8hCIhv&QcMOg9rO|K9D>iM zfBzSo41!n_(t5fpa2mR_0NlLxNXVgvL8vza%cPRqJi;L=jxRii}v!ofs2yrkghrH6N zpzXSv2E>tsY0VOnK`bAfE{p*=Mdh=@5%;J8@gETcu&x9B3BXXnk&Ee^j@QNaF4Zz1 zjw5`;-f)=>#9R@Gzwr0t9V+H+^ME*x@O3N~7BCzE4iLh@CxwkA_K5h8c*tTbaFpBL z&i~0*8jlk`j^anc$FV$L!OHPseA0n<(C?Z2;{)PM0^Cc zg2%$!O3)8{_5c+Qh^vTtU#Bd6C{5rCM6f0KG=ny39uSWa4_SIphV=oTIKH8v*J$$Q z0dX8rb>qxezPQZq^aw(eu}WgV#|OlDMAZ$lQa7N+u=p@d1*pLH48yb*5mh&csIHTl z!0Li895sjC381oZAb^aj8zm!kLkGh_3XB)ci^b(*kc~goX_({>? z0%K*473@~yKo!C=z=~!AgHY@$-VRU$wp~YB^Z&I}ai;$$tMc>w$M}2wyZE>8r~RY- ztJVCi=H;5-!~S<(%}F&&Yxb?#tfs|y(|Fpro85vljHSlj#w26BG295m-ibXNyD@fF z?6}yX*nY9ev1WV+K8Y@mK863lP0?ROPl(Qi|F1jR99=sasDH2iarpl(tUsmxi29lJ zTfsZ9dgSxS8;d8?$hmQ;&6y77eadMpH23I4y`>Nc-S){U(5h29E17`iTWLFgoQB=!t#9BK^J20slh4?Y~c zDR@rssNnSAPQfX`&R|n;mD<17z6k%{m9^*8{9Mu$L04I|C=?SX-&!@%usZ^ugO}<@1)}IdOrd^$9tNIqXeBCe@nBkSV>TG zysdd;6e^hMExz2&%{eu~AM&R69aMY6R?YcLD*l@HBdGSety*z9jK5;5rjk(YRh>{I zFo<8Rd1PJ_(>VTX>#mI`jbEoZOkA7|sD4w0Tj+kHR?+oTDt>*1htU28%_CFF(h$E! zld;%o=zp!w;4Rmbn@U)uG45L(sl+y#RK>cdjf}*Wy1t5uJ@XPj)CIn!jS<=|F;!Ew zSScl(7~QGF^h)<&`j}=Zs&guNE|suIW87JyXpg0+e#}yIUrSLt5k>dYUF=t$?#9 zqnbs(`Bs_Pf@-_isyUxYB`osG@<&i@XSZRoL-PBd1yh3*OczOJWI35)*HbqDR^y7!l^WE1P@&SHFv z)?LuO8A0_nSGtFiV{QFiEJ}&>D?NsqV|4d)>_H@&bj=qNQFN50sP3`S3np5*>J(=e z-MG>{6#apvsOz~@V#7+0q3A}IqWZD9YR@f^u@tovQM6lkR(o?Vk+d4mwaiF#dEY_B zwC=2~y~ISP_ams6vNb6JQWNb~?~{_n;7xScs?mF;2FKaCImZMI-R6A<)i$tIb3T(w zjQ4&7)h5`gsX?R0QH!mbNxHS_gLu#Yg)PL6z4cvr_wzXUE5OB^;{~kR;9;K zbeN^6er&EDN2^qAG7Wj$I+9z4L!V-;?GpL#W?ztR?+oTD*jZ3hZsjs>v2@-5EOr0 zcSbvn?)ikBVvnQv^SUp&oxK?AFIT#Uk}uh+xW-ZZg-Va1=8L*}I^4YC&+3{lCZgzb zmZG}H(hK4rTDj_!lJ170pH{kuqMulbx}HnLKdST?ihgV=HvBj~?@CW!y^ug#=(W9a} zMn~6wQU7H94fUtiPp?nc*TEBbbL5oBY}V;9cmi(@Z4Cp!$H6}ae-&IB+&nmp^Z$X` z3u+Im-KKVA;KM*6aDL#hz;1yS|5yIU{FnQ){(b!$`d6uWt>(AvEljW3xMm&Sd%in; zr=ZODzyEJ)p!IIq(qn(?ZC77sE0~Qo4)Qp@VxNtpf$smu-g^K@R#a{O(>bc1=lG&nGt}t9ysE_b;P+UbcgkLGt2Bkm*n($brte79s zGbhbBBCbmH3{+8YHo`{N{? z-fC)cXkH{5ArB@3OFEdOHYsF6)95i-T0Vak!X&kuAB-evOnRRzFR5wrm`mnGr~&_! z5v6~WIputJilQiZCuKjLo)?D(0azoU&LR5B>8_loOQ4jPCV9@xyl68_7uJ_w4#?#| zXyVQk_JSiA%P*fdTp6Q0sB!HyHbht$!b&Qy3206Z&Wk9+^h~2D22_Nwk>Y*o@svG= znrmKs8K!3%Wl6sh;patFysxTz0?vc;uSJ;Pbh8dJ9@Ukj2FVlR-lbgsyofUhP8(Tk zIwa`?i69e0(l$^0`V>USYa0<`IE2~B&6BerMM<`HJTotz1JgBTt(V!5(ZTwSPDF62 zsUDek^ai&Eq8Sut1MHws87qJb1^%)E@#YhGrbbvmoP-M_jCeej1KNSiGI?sT8-z+v z6sS9+`>_ZmsZ|&_G%t1oqSL`=)Ai)$NH@?$)T(ima(Z4Y2PCzfFr9?)sMw7vaTLYC zND+zSKpkL}RWFevq7TWas4kqGz~sQZ7!EYNJR$WHW=&>B6}?y+Lwag>UgQQE{l*h& zSgT1Mla=)Ujm(SPfU4_&w1~Ny^4Z1Wig_^{Ko%1aHwkUPB@KW1{OG)R4t5OrffC$7 z`ON%L$dmB44bWLi!;`wX78!58BzZFsJQE@dBe$3r{%>PAIhAum7{aL5 z>E9sho?0pI!TD7fCi%5s@DsS9_#jA)l9vW=Gd?^&BiS88WC0p7ace3y3$YT5!}HUv zq*<%R$*?IcJpl@hobve4{1Heq-v#y1RLbN8|C{QobHy#_q=OQHJKl zn!)nc9D@}aj4V9#enpulaJ~tkZ(_{|5oX<_@*Pdlfpj+n1QR@2{23v_3{2PnnR`{m zPHq_os5Ce)9t{@GW;GyJEHT&7z9GRx@4}LKk!j#l7+LxV+-M2X=A07Bg2#dfI~WPp z&3deujQKdPj%xw^i70EE29kd}cE%F+rUJZuO5M@ZHaqY*1iYo-YBJoQO zo!WVP3bAD1Q#8xkN`J6byen40+*BNz7h8tun#SkK*%2ocz!m^5q-j~42IpUlu<4pc zVRE$aS(A0A1->Qy2!>F+86f4164rbGzk!FG#9;vSn4W(T0(e_Sz<3mVHVWWTjEp#p zKv1F1i{ro;Sly)%TmV)fbjLfvfhmG!Gu#F|Dc~gFQ;ds>2ml7@bDoOpJ~Hpf4T9o~ z78Tm_DX4B>#aBh}jL>9GVxofd*MX8euVZuo|-znFTyO zFO~zG3MWi2l^{aEf7Yl4*2n0`%!}hd*5UaJI2F{}Lr4lz5KDx`vzVQK9zsj$Y)?o= z1bP7CpmAx3Ar*M>eWjZRH*fYSXxINow?4OpxSR^S`-Z>#_VfEld~0+FP@@|sVf%T} z8tnM&pn#kR*7N@Py%5k?@uEL8191c!1111bIZayrzbo3{_*>nxYtJ*g@9nO1zqfm~ zyU^X+bz4`p>jUKCcV&lvTW1yizf(J(-?<&R_wRLlrsJ(0hj#2p#{K5hm8o~6W>ck9 zD*21#XUUgu5xYHBj$INvA-0ko{_jEfzn4=1_G;fM`j_Z6(F>x-NB55|iQE@ih+G^w zCGz6P7(1U|v|aI7o8FCvWVkEPc13ylQTgXQS1wEme~i>;^YBP%43uLWqoBj z-AI@joJk&R3i}T@IhfFL*|NSYqtJ=SwqUP<32c%na~y*PFPa-Ho6oBUHBJu9P;8Bnq?h5CnRgTX0y zPqr)&yy=_z3IbH7tTa>>{+$^rC@pd-Hk{1j;D4D7z-yHS zglC3w!gLe10c@4q?4R>Y!|-QGNlh>#dAA^)T^F*Q;a0zOP!b5!%jBsW?X1|H;Z;OS=L15IPY zAKy(tc<8AD@|v=kS{ubPu_E>Q`i+K&aJoB$OSpaI&y8~q*xrqmkZYWzbG(vZ@oal;H`|`E{PZjvkC|0sof(^(f)HyCM{II(Zq>wU z$mRh0mRC5S@9mGvwuc!*Y}sJZXuI^J2KwUp;l(nHa5$j<%jMXZwA}Szoy6OUcIcY|KW&lOOBP4UDy#?~nR3{u2vmswMx_UaSQsh~A8N#UTC!NxPW$-mX>!wh@DSeNP}3U zmrzI&6aw`qyk=prybL*(!`qrX1!hq8%z~q1a6~ZJeGQeDN>rXN-Cxci%F<~> z=^xe={AR)d%yvXo*|7AN(}=Ki8WHslNK<-|P$~y7;Gv9waE6PmYsPMw{4G)&>Q1e8D8O~u^ z$F0ie)8%atVdrBWXDmn5W|$5gN1&3R5k@GSyy+Ysv&Q70am&Eg;(CZX)MgY6Je~)I zxfN{bt%sn6U!62m-kN7}@JLWxl$Y}Oi0Kf!$9{{$WufD7DuTjtDtKM9xzIe%j6YNs zI$i@TpoyFcTvt35>eg_E#wOEcq2zHYoG_gv%aG?qAYKQ66s9s|VdVAxi%tcQ_Z$Ut zj2Ko+*!@{bw?GJ=qAsNIB`R&a4j5L2^k+nll!cAQNw_V{ryz9PP;OfoEejrxlMoO$ zK82Wv{eQ>{A|EDiDKAwJ=ld%Smj#oDNjva-ITggeeZs|3y6h11R+_%Tr(n?%03GT} z;%fQQKv{@+Tna1WTnaJ_4S(ay%EHVOO7+ClTQo@pOT%AjwA_gxKE-X;rnHt$ioRG(ID)7nq1py(IH0z|fru&!$_4(g#{|fm3H@2^BKcfAB_FUgz`)=&}pT5ib-pzRdhxhH> zx4f^r_tDfVcc-@v&62lcM(9qxTv&x1X`f<531J(u=e&~vuI|L@e(-;?Nm zu=~#j|NqhMw{#!deQ5Xdx^vxIcm1R5maaWtJe zse@B{rk16;l7CD7IC*{Y3(1R+7HyB* z8~J_Y`;jjb&3I$v$jHGajuH9wV}&#Rd;foD4_GiwbABAKmOH1`CA+m2q))f#t9t%B zeTIeRczNOUsov8XohEQ(?nv9_Y%@5r*I67{^PNK49Vpv;1JzEmAR%+d`abECJ=Kgm zgs!L93w45v^h%2(GaMP|-Q8U;l9=AhVweKKNmSpr#VvGyu6^IYuL@~*q-@|0+V5j= zWcHR*e-8`B@~)x(p57G?N0#2tVyS|WV|09>#Zukjc|+!N{n~a@{UT5OjeY7JcGHEo zkiO48)m`yz7labjCu`E4Bv|t((A*2f_gW2n$)-M>8i6nwX7{jy5^~d^{NNI?LDn=OrTmN{0^#>J=Ge2 z!?_XRKS8y5Pc<`W%sBd{r<%EhYTvRK>bsTnJM1_z8=myJ?rwb?ooBycV8e#$7qqyA z?(eoL27XmYzpKTM(EfZoj{IA+^gFFFde_i@op+@^j^1l+DY*Ye#}Bl+hmse0sszW; z`&#`BHQ#T|vti?%evj?>`b8AI&?#yyR#xyC_f&huXKpC^`BwK(^a`hF;CF@eXIuRY zML*{h^@fbGhfh02y^AP%xiwZVqLseXeZ1f}`c(KGRQ#kh)<6I)eOdTVQ126-CX3_f zW6t{OSw6A)|zJn7%;uY_I&*!iXQJ2 zwH7NYILAFTFdk6!?XB*i=-Zs4f!`I26n(2x)EhF!9^T{>^)905o2{{$ErirO z(|x?)IC^9F9aKEq8f){OrI0>L`Tzd5^V|B?^*z1!g5E9R|4(;+s(V@2$?JshjUQER*cI?b5||Hz+;1#?)NXK~vi>bMCdT|Jl05 zb~oA7p5=Y)kT(6M_QuTR-AA0>w%GD!F}1CmTK9i!U+cSfY*iY&O1dZ+!hezj@J(oAuS#u6qVe8&h*lhnQO5J;O7fe%E5V zn`~-ZdLKKaP2a~}`QlIPFn0VIU5hPm7E{}zsdfLy_P74k!L{dXbL-ig(t3!gJ)PF4 zQg3{In|pVE>raHKJ&pE_sok{^Q~TVP_g{K(_aU40)z_};qiJJmuIZqu-Es4Wp1;-A zpIvNslTEGH``96E`akwbl|K~rUvu?h%bUg2dYW4Ie{6s2cV*xIyVWP1yeX}Rm|8cj z8&h-d?r;5xFtsk)H>P&yMojI!U;WKl4^Hj1Szmqax=xxlrskRsn%ag}Y}Y^X=h$Mq zn`~+w-p3AU)Bmy0-}{qy9`Ua)Ew;Q_OfA*ay8mPQTfgOmEpr##y4$9-9%5=qS~m-* zdv|~9PlTx@Xy2IH9UC#V58U_S6Mxb+zgb^>?YcNk8&h*l2Tkqv4{yJ7seSv!b~oA7 zV&2CNY199)zxcM#e(34TE?8`NvzS_YQ|tbZ?Qi|==uiGuddX`xrS%X~i_*H8)!e)L zTYn-zw3*e_0`v|YolpnY9S}#xx<5A@~TMXf{w*@H__BA z{{J&=eLv~@eBV3z=K4x~9lgKp{URLy+jiaGbt7?r*LUsL^_9V_7f|7q$osW+z%PwkR=dh*Z7Ym@IH$G%5$+r);%w-Og5R<%FUenb1m z+F#%P^7b8~4@GOy_eW2N?iXDec{uW&$cH0qBF~E~jYQjSZu`teLkL3^L2|&C-Px2I z0v94yN5F;@nDPgZt1ws*Fb8~Dv#?<6K*v-#2Q(ZABCHA(VROKj8CfDMl-^L<0wM^o zIS3t&0O+rDAOiNzh!}hs7&J;tfzeR7C(L%Hl0pP{l@n1kNA*79)+`ES20F7aQb{5N z$nwqrs0-9O$TyLGtLz0tA265UN-tlF*6N-2h?)TSx1;Vy2=p zclCgmQdPkWpG9I6NvNhcKTx66Ljbe7kU9z&o~Wnc1E5?C$XtH3qVjeSV0W5GXG2U| zknIL^71+-eWtF&7e;bguhblM2(1Dn#%ss3Di(8l0{=bp3YTd!D2O2OCvnGYevYdf9 zfJ7@!e*p>;LRDwH7BC2UH(OTWJJq^Yrj9Z5H(M+%E35Jyh?ys){t~>s5h+iXl~wl+ z#OzL6tvj)5Zq;;g^~~(#*laGpTI{l=+^VVBRmJJq*~z>hW~Vub*`1FE#0;z!W+zZ1 zHQJ04U{z0Ih#B(&<|lA}fkC}d*t(clDb>(10Q?WM(~niH%bD~dRfo<%xNJVd#8V4m zHe42Q0@GL!-oPBgL?RroXqw>x$>oR3qD}~v26bE%>X?Hkm{7sBj!%x1#iGEB8ho}{ z7bs#qk7hJ%IIhTj7? z=v01rS#%1Z)|*v;t(e{ySqSTy&cLS9?KnhPIgO|m1-SVWiz z>tGO-Wl@!?Djw>s=prVqjGH-k~w$h7CdWq7qNu z25J_V!w1Vph0D@4I@y9=)L5rjZ+v{He57R6dgF6>-UOvySQ~|sIzs|@=wNv@!uS=< z!tyJy9!d*g`lco>U!qcQ4p}M%jjU`3HF+7BIGAGinpDHhB7s|BB#hzYRXROMsVcK3 zbTkv$@+w43-_(%4?N6RX6$E657-Ex35$>)a4 zDs>079*{THyORxdY57dql)Zb>bQK;26;@0HCFVFl>rg=qlvVf+Y~4Q6xfJw5!{7MQ zvP$2ng!9DITeuX>a--#!B8N+HhjA$;N~>YFp-hz%vE~Y;RfTD$p;BQsH%HA#K0lW^ z=ZNx4j7!0s^mw=w`sPf|VDxdQ@e`kDmjcJ>=#!5=bxuc4`!}V&EingJPz9uleH;q@ zPgN5eg{#Yb7TG+-2h=W8U?6FKgrV`_d?j2D<~Z1fFnk=zr`mBBWici&8QmU8x3fl4 z?V(wLIgZJWQNO$_&V<}xh%^%@Lf9;bOx>#h1PN|n-Oktn1`JsGncFk!;6 zpvq4wddH>)$}d2MdCom&jaS8l>%c2hnWJ4T)o=SF#!}ggKU0Y{b!9mgaGi;fV<%|$ z|JStj{kZS)zBhyC-vu1NpL(z9Jr^ARuD#FdxufSBJ?HmKcmAXEd!3hczO!>R`1_8I zUr_)5rjA#4?9|bd`d#WO_W!R+O{Jchygm7iWQrNn~%E7KHQ&HdI$T?~CKckfTIShckAtP@rpQ)&GS!tY*J^%%F%x&!O@!R=- zlcl8@fYYon#|BpbzzKFBb1fDKsN=?$~iXkx2J4$!6)Zn*>5=AweSWa#t zTM>f+n^!C2RvK!<{D0%iDq=8T^Xf^dvuIHzNB+OkXhrk|tTY?UN;5vWYI1sRwlqG& z=UH8trbKkr?A+ws++2QcW@dagbIz*Do@S*%fyZN|f$4!W3w0(Ovjm^>$+^-f3V;Vh zi6I*Z`V?OpMZ?0C=5$5+k{FB%tyx30dDS*|qe~41aXGAm=jtFG@gDJur_h0nBNee< z;3(e}ve@MFP}N`~T5#A(;E)VgM1a8(5)^0Sp~EooeOd5v+hEQcu80dGRN9uzif59I zk9esj^TQROZ5Q<@>Ks*f=DU=W; z2HUgd2W#SDL#+KKUasoji%Tlv#bA48WVIr&6X%>GI+CJmR>z6{il{Kyo*4fo4>(| zC@;+WHVR`x@KRBTE3Qk!D@PDl%onC38)ePjmCwRKM=~|N6ESh|UzpBm6gKg59Zn@T zh)69nLw`ja80_qg#TrBN1G%h|nR4ph@B(9Et2cY125GA!}Y5OGs<&DI%K zABZOL?FfnwNtkaKc(w>EDUVigl0jL-t>e)mDj+Bxloo*{A&V)_Fq@)}FwJyDgatTt zPMBVTZByJAc??YPl*x&7Wd~$%>YR+aX^P`Ai!gy|&x{R^4^+fepaJIXa5cbShlOsz z#F|8GR-7EIh^7FK;;x`a!9u`^YW}}`ZnPq%f-rd-5;va8;%YrHQW0ALE=Az^#-*TW zzu|AVBE|w-ih#IW3MhB{()d<}yug#DtK_K@M#80ncL&#rUu;zoeZi8g-6PdkJZhr2 ztRlt&ya?NrH6!jYoi+RwMk}H#z>B!cdJ(H;rdQ46r&i6Pj1EkjD9y|ii!;(%Q8KF}{Qr#|7#E&q4>RXF09PVjda1h{#`=Qip@D6q#= z0JQ;!;OdOG$8;hT!eh7-IE1T;;Q3R_hZwGGi%~KI-5KUXFboLg5$huUE4IJkipVZP zrJ4Wn)v+hSS@5?J_`@j>??tFIyB{d6@gNicB#?+}FjNr(hEje3O|)kfdoyDae}ixm zBUVfpO8Hq~tpV&D*;(L2u=+q!F;>b}#DBs3?u0aCNqUkylw-tF0PQwWsfvg%nBeMC z#)A-rnRql7fD372a;Wl*aAAaq4ncl_4h%e| z;&EPF)E6O7)>+OXnr3-nPfXYoBVAq*1qSi&JDVIC=5*FyI-k@rs}asje?>GHCUcC& z>LJLD8BNM%KvqM)m(mqcUnmji6`ydIgP8d&1biTsAw-a=i0(p(Q!At1Aw(>e8dALC zKoJ9Wr57Qh{mmI|;`?G<5;rJvVz3yh^hi`~HZJs75c^qJt#L#d>%<-=3Z0#wYrCNR znQeVHkpI7+?+txx`d-<$Ti*aEfDMVWdw<`1Q}4HWujqYG@9TOG@7$$q;vYvPKoY-@4&(1wddV0DarLO;m?kl_B(|u~^2Rq-^d6GG;FWZ^wc&Ov{ zj$fo+K$M^(m8Bm4r>R|%UrNp=k59fm`O@T0$&XWyzcg_};?IfCCoV{~b<{e(l)5}s zNv%u02Bg7x9j_zSuy@B`M{nw%sk>9Zi^t+y#jcP2D)#Bvd9nLrN5@_tTNc|LzJhyW zuWbKL`)^{{8iW7oD_$<8}EZ|eMV-=Er_+1?)A5d9JS zg%?NP5M2{JG`eqeB)Uc9p~$Zz-;I1T@_Dcf?}(fbd3o1!+Y+6hi+sB=VDaC7``^?9 zwl?T*^{FrOHd}aAAH|uc*{U2f#2ERRPFv}-AuzR06*8+^-76I`bFJ>NiJP^BMZsql zGOMhH?v@mov6Vyaie}=BI|i~WZWM1e#ue~KD z4{)E?+avHL-Eo8sk;u&c-a`Xn$IN~$ZlUJ$Tiim+=eZ7U-gOi*`?`MfqJ){}dRnV( z)02+4!5{w1>}?AgZKQ86`wW|i;yu$pvmF+Ua?sIxw7SO|?B41gudvd-UGSNO%x+d? zcS{|;tL^A|w1bXz$H3Ju8Drhq_Dgf50X26Dzk`xf;dfAR(i&^?(+ZiAHC8W3ktx~^ ztA`{q?hrV4!Kmg=j0;8^GVWly<~yi1;i=X*T2O7=Q?2n%Av5Nw=El*Eo@(AWa)-dV z0D)0$)P1Ia&C_oqt?r@TaI1SLIOINW;F*QYpi{})-DS43#%DK(+q=7U15SHS3J#v7 zEpDOPfa|*82yy2-2DZp3owe1p{w-~0i8Ds?ATxgYy(?ZdZDzTx8f}ObWR^Lb^-T^t z*mtW#yV4KaH#g|8^ds)B_vYz;*w+i7+xRSPEpAa(`fvN@fnOEU?nJ)89qL~HW#8P7 zXG=e7-_yHB)$8BAEA=;T@7=wv!#EMv7ToIW+bHlY&b7)0?-eqxgg1DLukjAstL~ng z^WS27wSJMA;H}o=|E9%Llf~J#1I)ks6rtD73BQAiZ?@y9`8S1(E8lItfqJeg*xYf- zon^nEyM$_Q@Kkf7@pYa8jl&kzTmkXlnwD8qJHu10@i&Ex<05MQ396m$b&?tMW{khq zQ_WmLwbSf{dZs3`r~QIK=qcJITirvyglCF@lJJZ>UNQJcbd1}t+W+wvdsCN-Xx3=Hf zc%xGD>24ebeY&l}@1Wu{?6)@0@V!_eEBwb3PP>W z@ei%;q2%v9{R2ZI?M_S#PJDczcPjtCSKAlb`hEzb-zj|u_KmRf|4r|gdf(Ffir!pr zU(cN|_+7}^06X<;*}b9rJKZ1dUemp@`{^B@>o~pR#T~;P$<$v`SEt^RdRb~ksssH0 zSCi)^4@-_FQ;9!u{@?o($0T-3Je~da4e?LK&xB1c8+$PJgV<+c=fEofYCt+ne$*k4k_0_kiRsQtt#L` z^4iMCa1>5%A`IWUs)$Q=>$;Q-UUCzoRRvgxGv96E%%z#!#0=pef^9RU)xeWx^RrVk zbF1N#93NXfTjF4(YPX3qm)h?3Jdx8grjCik?CF^!PdwqZCm+Q>W{x}h__^s5g)ch( za9?KjB<@W#2U<-%h)L{{`hrNAS_L6v;gRL%Pg4t+|jes zuRH1RAl3;z1nDlQ6Sn4^qG zMK1)Jort=I)F+r*a3OqU;L|X>S4^dgnrd8{2{bEV3J8diNQRtPGs$Yzxsa@G7B-<~ z;YL8=0p|s2O(I|QE+Mkm4@X>~h&iA~Ouxm!imG17RX0CZ)@_iFnJkB)aMlr-a=M80j44h)vw*njw-^IOCN`Cr=~%?!ifR)y z!UED5H_&lD5$FvpozF$;U$qG&bAr+cGh*S^C#zx(&LUT@8U<3-PMA(IWpHGZNagF4 zr7^M)Yh4E{?jkuy1(XM8lL?QZLV|(HYY@`#@`PkVONDiHWL&t;VQ0fCble%IHFjJ0663++2)2T)*^eupIQ$kXx9)&YQDN}sRYAvQJ9tkLfJR`G=AxD2I z`4E-WSS8a?Fzui@4kv=#E~_`Cvy>DLS5)K@D$NwffmWRMptF*7#y}pFs|sE~`UIb? zv%6S!S?@W|lvz;+4GvdS{34LA-TV5tsamyIsX5OL@CYqTfyYr143nIbW|CvU0$hR{ zp~4g%4iH$CFT(gP?xu?z>p-Cv^D4kE($(avk3fh?t}dhzT)>9_M8bN^+RT~?*i3~k ztY^*14@MEl763e~^c+S8Py)o8DqZjjnq_q`6o)EmP6Yg=d~boNT_rCe!h!{I8YC4m z9CS>5kWQf*tf=&bm9qKCd@E|5rl?{DsK)*WR8oIM^)Gl4Mpi2&ZBlg%bTpqwXW(Dy zifUe%2aSlPI8B1QI+=gc(F`~h`l`^ybYdO!1{6fy2t2@Gn}pIb)h&8Zvl{_Ek*>r; zVDZ(arGy)y;uh1Djl$RvE*{>Z;QT7_=Jc|PYFt8O^4&l^Kdr$D=$F=7t3XaSo!dX_|^c; zz$WN0;%r6b33#c#ukTheWCsG z_BXX3*1k*ovtjuAN#8H~uI;<1@3g)b6C3F6y{-22L0u?b@yDS)C7e{uD;RcXuAsxnJiF zU;_Toab3rU$?PA}kteUeA@$wV6{)wTj!5mE+AjI8hJtiRW8wL!^wh&$HUP+o9UN zz-sG6g4*uipojmyU)%kx)WaLsc5ka~h?LQGFRQJ)9jfiVR$C|H*T(kka~t&V-}h^~ zkCl38Q$CtF5~os_mrJ)`|GFvD%gz z^zh&JYg@EZ_itR=F{^Eel+kuatF5~os%_3{>qPw8SZya7^zh&JYddbG?%TMw!&ci6 zDWmO>)z;k()pmu|)`|GFvD%I{=;6Qb*LK88-MevZmsxE?q>Q#pt+wuVsJ4SvTPNbz z#%jB~K@b0ZzqUJAse3lAZQ5!ZB4xDgx7xbfq1p~uZJmf;8>?-$K@b0ZzqT1G6+&O^ zm)h298zN=2eU8=E-44}uiPhGL__eXxZr`AX|Gr<3?W|M?1Fm0cYpZRDl+pH?R$F&F zRNHN=wob&ajn($q4SM+R`}KI1l?owI^-FDGwGELn+CJTC>u!f?yOq_}iTJg#+CHN} z5C46?9$Q+e5FSpyRFBm*M9OH}ZMAi`L$!UH)z*plwXxdvHR$2L@7JT(N`+84`lV7< z+Yl+EZPIG%Zii~yWwmu8er>F_oeg^U@B8)Wuu>sxfPSfVt8Ivs(Kc$eb+<#cO;~N6 zh+iA4ZM;Db|9!t6F)QT={95c$;{USRhDb@<_&=?-8zCS}M69;0hyoLB4SKZDHvVtr z|M!l5yshtdeP8H18|;6+?`ge%?EOmb+sOatIm7R+p6fXi;OL%RdY;*RU-wPjpX`2J z_W|AMu1C6l-1Wt-H+8+VYgy;RsduGbohqdIsQ*F1aeiVtkxL{v zHQ<}^i{mH6_XM|pYivID(byTWgJR3z2E4KTlkI1>AKE?|{a5q{DDvOG|Mq~t2ZpPP z;SnplClCZCC`dGvj2p!`M74;v7DuXz;t~A{N)vE2HG^b1bJS=O*&jn(5xr1xf@NYa zRH#f`Ov>?;hO3J15s(f(U91xz55%Q_RwRU{ikYgSe5AFVvKQfrf$ zs)Bn2Q=O2>PD1-ZNRgUyg$=1TURqU557vpgkRsA#wc)Oy=1A4Of=Ltxt1m>3*yue0 zB$!xpNEqu?#wj2!kODtIvU+A?xs|fo^c3f0lW2uEji7E}c~#sPR39}9LjVO!7AZ24 z!KBQIk1wx^A%psFPg!)`_UB3V-+v%e~m3_`9(RNVuY0r(o?>+~ck#j#v}RlFF4 zT#bl{M*}ZdK{`%_Q3QKSxolNj7=&D%h`MH+-U{lbLB>r=Gr0JVRVUyM-s|p#Ih&nN$JWm!CMu@P@Ym)%ybqV@Xo}ViXR>g=x zM7miG*^l_h)Y}l0Qjc8duZk4IbdQZlli21Vq@~Dq5OId}VM%pQM7Gm+LB!Y&Ia})O z$#jwWC83b5io(G3j*&2iL++#i7>Yx*ff%R&dZ@ZPQb0lO2?UJ^NXyPR|6L{dlcZaQ ztB$xJC~VT&MUpbA7FJj0fr5y*K;t*?Xr;Bu3sDye%MFj_Eaai8hzm$-2c<QL`91hUmULO|o}Bh_1i zyfvy?T2{>=MT*;#l2suWBqgm*AV`Y)9+ToOj?b3HrpIQ)=Qp)#dU~!fL7IDFd@eUL zJ2hJ>LP}a4H!1F^wtF6z6gQ|d17`qvM6skGbx&HP9NkW8Q-D5b6*Ucut|iQIH5foh zibP!jA&0opAn8H4h0|x{8FJL9=0qJQUJPg$o?=kBF)Wj5>FyA>A`d2nv>w187A^b> z7XBSuNwXx3uV6h@x$hLXI{tUKx}ue|@hX^5NVPJLQAl4HAFhrfjZ+cSMEN>W;h<0S zcyp?Je^q1|OGZ6u>r{x16I;QdURSQRBkh%7z@P6eH+l}*RF zlbfxI8Y4uOP8ZNj1`1mjZ(d4N--K}oV6-%J!3=6xH5F(4JU18}9of!+WG7_9b(%NmygE;w*W z0Pp~06~_mwV#mOvXjZ}iEsKV{j0Kq)q=ZKyf(+9+=%CIKBd44myk`MD$MWgwc8CZ+ zUH2%+gEIwTGk_f_z%S*}RZ$wiYT{&!;V7XF{tX5jC8DQBs)opb=LD90<5A#Huj z1d60Cq;A3kh801+KaRV07bDeYNI4IS?t{1h)CJDq_YjJOsnP0|5-;%7CS;xUDVkVX zCbq9`A$bqP?t8p(DJF{A|M$0@-NxQO+ItTB{rB~3)qPR-v%5aY`G2479O<~SV<*o4 zTbaB*xmV%`od5Te_{(EIkIi!a-_g-KqH7|LM9yma7Z3P<{5yT!O7F0VkQ9$Eu(JD> z>-N~`Szp<_2eF;GZZ{n^(ZOj=A+0MEvv|%5X>YvWKd&1GH%s(HR@pG`OIpw&MkABT@Ji)MtzUs^~Pg}REci6;6 zazZOF-Sq?4CJ!80)a5@vFaiCYQ05tZsmg$A3X842bXP1>%PXv z8OLXydFHw)S~usKxOexr{zRDCB<-7XO*WFyTlte$e(3t6{&LA?ef72LN;GZGHEES7 zTzThJUq~N!&?gq#-DFcMdLKKaO~0wFedh%~`^fz9i!E;!Q!6yJ?*G{S)_?bg4<7UF zwYzRg>mjC=r*$){xp()s{zRBsj`oeIZ6q7J@|*c>;s+#rv&(w*40bKQ=#ZcNR+yTA1(!qisKzA?3pq|#TuWANDDe)6Zj#r!|-_`s{L zT{lY8#?)G+=vUq~KQ?~e4?e!w<(q73Bi_djY199)PrT{6?hDV^X0he}{Eb6QZMdm* z|Ht;X{;6;L>4yhxyJAyX5A^q$>xO9EETHb){jEO{rZ!0X#?&@~gIIaX{x4hehxfc< zv%dP;b<1hmm|81*#mc*O|LESuS6{i;8}JYkl|FM;?9d@t4kQO6wt}wv^V*tmfX`-})0_Y6G-yOl>0|mX%-WePrM5UNXH| zUw!SmEKM6zYXy#3dDqH|(!V`qtHpLV+0-)L#|~-J_pw)=_nYKFkN!_-vE|KTYU!rd z{U6)k`Zss_&0*i}*re7&Os${Rjj6eJ_qYD|n_6e$X88Y}(GKGN56Ok(=aT0q&rBYh zJUF>aGLuXu?o9lu@4f9GZ-00DneD6E_iG;`r+-D_;>6n%$0uHv*g27=w*O!8+u}FI zuZq7Pe*dH5FN^OUABcDKoz!=5-#&f0z9oIJ-rIYB(EH`y%X;4rtH8;<)4luluIPOR z9D=v^`~nuiE8rJ+UC-e?2ZAx!p{J|+?(Uy-f3^El-4}MB)jiX_Z})I_U)Mjo?&$hi z*L7W&cD=3ZxUNIHUf8v3*GSj1JOADJ7tSTPs`Jv$3p&s0obBAdbG&ow&Lk%k{;s3k zae2qOj@Q5(xPM2nW1G~!Q-4e?q`s26EOmbBTSZ}xpWc6aRN z*mbchVi(8W9y>nvve?eCbnNNv|02?HWBXO@&xk%8{Y&)6(QigCjlL~J> z){%ci{t#J+ToJiA@~+64k>et-j3jQ39^TfLxHZ4X$Qjr#(Lfl?v6 zz2yRFj>^=8jWt3;X8o5~^+Ksb*u>*&a`U#&|laIX;~Gn!@s^_B2nm z#@`gOy|!CJLd2O5SbGTG;uC(*c56e7H}gLCT^BRXnfF_w7nf_HV>4H{rv|JHR+cZe zx`&;8!6_Q}T_N-NRzE}0E1jbDXSRzopY;rIZkGN~7(4Sh+sR(`B=bqndK*C^DEXQ2 zJE(ZMHxwFwQ^A@epSdE*WyRK&Kk@9DQwG_C6Lcg~CW^Xwo{kiQW?;8E~3-3z3-+pgj^4>r?h<^KXt9vNK}B<*ei{l`Dm+qDEf#~H1NAZ=Al+U zL(zwwqV{KNETP!_PEqe7iaub6*1c}l&-~4Oygr=~SLfYV|=0^Rk-qQl3{?70_sCI{^TH|jDncKpDf@-&Ws__%oZ-4Pr zGneSKzuF6Rq)O&XmTb&|U9NI>>*MGv_8SJkI@svfTHHeSuUZuYzba&|Zt)|uzs8Ou zKRhS%Kh_w%Yv})F?@E0fU1x162);tcZ@0RKlHc-F367(0wE7upe$$#~9h#*KY35qn z^Yx2d`nprpTCB#=58YGk6`#4G=ucbSLs7>7=Wvw1-xV@HYV|V|{jpQj8!|@GA2>z5 zizs@NHC7MLnE8(Tc)@Y>{qQ@ec%wB|^Na=szZ?D&)cc;N$>KO#@2syrj&AT&!+O<& zW$$T?V}kx$2)~1BHBYt1-*DVe_)k!+>ZxW1jp?`RJ=M%5dTribsB@!b*4c4n>DA72 zckAQm-PYIw8E{m8Z;M;#exX${@T)@Rf)+nQ`}f#!i zkL@4Zw*7(jo7z7Q%KxDDO!U6!_oJU>2mPw(ShPLzv&dEKn~#m`9(hLFU)#QpB5iF; zYeIK`Oselo)bEf+fB+H05{I(E4OS=&)`aT-QPaGi0Dc3g1^ym*@j%l6?9C6=1nU5# z+bnC4NgRP9mJCji;z-7^{9sM^j*tgK5i$nN1qaW-qA)cDI;yz5CYT4%q~-?$+#W*| zl$U^}I_aXnCa4GK8zagX)cLI(mkj9%bPNItO{QytcYwYzA_kfSK5qq>AYiY6u|dt0 zGBrUuK%Y1nbqeO`>H*RP(g|#?zm`B4@ShW=p8yEz z&@`w&z^&^P%bE!A)C2bAWJ6%vfcfgI6QI8Ei=3d`oWU)zLw-)~psO;TB7)z&dj(a`kkB zY38$elkjF`|6~wT!vJCv9yt)b;E|qCOtT;1sMKeQ<$Kgeg)#(^aVL180Q;D>zD!xPjk@to;#Gq*@KcU`9bZI&= zeYpC%R??h`3=J3aH+@c-62$>i!`0JTNt-#J>K16Lpj-k%It5SYYmo-c9MnXoC?l)# z6=0%#;X)}>Jr!w6q@1)SewIW|&x5LWVoF4c6VUaZf)HR_C!`S!Ss3Ii;VsY<9P40J?1>?d%h;Ypy% zCm_nQXhi89J`3!YteK1qz^#Cr`>Wzk1kG$j)HjsTP?E(tUc58s7IT(YRcwi@2~NbU ziqJK#;J>Wy)Q)jl;qt1XNYu+VdI2g6Ss{Qh%7a)3j=Q`nvP9D_jiSJ!aixG*^O-4{ zp*U->D$YdHFO8y@PJRW4Dhn-ZPFOCKmRCibX!@m5mJSA{%xcLqAqQpUTv8QvBAlN_ zSy>G)1IC*<1NgWWrF8X3B=8oDgfSV`H@Gfwe82|F(*wsVsyov!G-w@YIMY;22gY0O z6n@!Y)iB%*w*@0Xcng4ynV)!5UYb*!tB&6;D2uBA^)VhMOtE+sI17;HRmE?oQ5$eX zcu}ZZRaD1=DQMzL4pqf(ho=yf)=8EiyqWp%kjKDOQ}!gHI}I%RXu8Nye}R+N8DX4a z#!Q*59-;TI3#pfIXn;E7=0bxAWf|3l16A?dX<&ICh3sc)1(=5RQ5`qUR5(_c8_&()y-iNe&5o@ao1UGXrV?tl`f}qn(Bk9bHBg+u z1jCX{JtcH=Pqf$2goUR0*1p38h<+V}rws_cu%Q8O={mrsNR1$jx)42s!anFIh z4YelJj&K;Pj(C4+c@EnD@7ea=Hdy|?()YH$SM&|`KHB~6?jyQO-A^OuejTUb9Y&@- z-ue5^>pIWxobJqZ#yWo6ac##%9mjU;*0BZb|JSE3Nu8N`acWue(d3QEPbSZX|9?f| z--#b4E{p91qu}q`zutaP`_b(?wRc8;5xpvUUi9ebF45k|?;>A{yfboSWbeqc+wN@p zHcGg^!I~MoJGMO#Sc+7uOGyjUA&UY9xZ{I04P6$PW?5TSqq-l8qS*gY6gyPY7-pl} zENd1c=4RyBJ#fS_tJ3nCMl!2Wv#|EA1Pgc~E3np+ss5VAHmkG|)oMh=Y>|>J;uJK` z%0Hg2y&MsiBO_v#BZ`Ui0`OI`wTGXyl&!rC8Kz?=W0q-=P_jbiDf!`@p%xvky%Z@H zjRyjYhFOo;j4)lX-J4=RkRPeNMAAGnAZ<3UI(QUEfkGLokESMvYcFo~aBW_3w^)wg zt2TwW1XWbv&WaR#IKn8+%%VC=7}p`;uBp(S!Wt(`H{r>QshFCoMQw5O1Q-uQh6UNl zsGp{I5OX7O1w2MvLN>1|a%VlN3#p^bN#OXmyfo!&l)9~`slJ`++Xq57uXx1%zp=52 z(VA-9S&;%iuq#qieQ$20rb2gCq=39#k=TIx{z}6&6}z({1;ou}R%Jtre*}U|-MhZq z;);X;$d)0dr^_bu*_sO9snxYI;Y(6!SxtrS>}x$Kw<57qZ1~HM)>QP)3iW{5*FryC zoTJPPR}|NIj&HDvkI(*gj&*TnZi-VaYWtWKiY|UURw%+Ld~%o?sLoQb?a91CL6^Wx zqY64=F{)52qHW713RYn4QO$_}1QR8@@g<5d5S+HKHsF|PbMn+$qK0eYOkl>lKWuZ0 zrv}%Cwu)2|!m&GC6Kg`KG{Fa^Q>Y%;+d+}Qe~8wJK!N!&_-s?E%aOq19VT?eHm;Z( zu8B>7-EB}DKXC<{BWSVtTI}^E3%PV{cchu}oU~mT2x?MI$<7VB{PBrQO=Jp8c}_;7 zn4J-=X%D5H3g>Dpt%*Z{hO{1NGRwWBLX;u=yOJ`sJaIR4r03O#C0fhak9TQi2$2h^DOlZ$2J&NYYsbx zb%d>QrdC44bYMOEML-Pt10Dv|3niI(-nEF3(Z6wPX)1O34oq#tn5i(G#G@#L%i>WG zb>I!zMpCHD$HAk>OI97;_*_${i@^}RW*RH8LsEz55T;VMSy&7ks*5JL&vHnZVv-l1 zKo*z6$f{@H{?JUw5|}HJeaPq2wQ)pnDU67*n-ZIE>T20iP#!FU&DK=qj!WTWjM>1x zja88wfv-h7K?cE&NNErRoCL+q+36w92PVu+sE0w|%G-nDrdAgZN>K;)nKH}an#$WX z9s>`@cvehNM9$hmuwAMX4p(_QE=5opVTK}lpf&3sJI_o_h3;%}oiN=*@Cw%l55Szl zt%!fRraE_um7S0}ioG?}!K81*6prvfO*QVg6m=PO6ybLUKnX4tQHl`y7_F(i9S`CD zaF?QC2`}dHC{*GeCU1*%oA#{ZqcxSehshg{g6KxW-{eS5weCBH=wtXl3}3+FFYvBR z-FwcdPj872Nhg~arXih>L0+3>HSxu$ycom+Q=T$WA+j%FI zz2jBfZ@h}xRr#^m=}G0NCW_M&)2nA@CRVSWUd6HVh1FxFSr|ZS{f+_T{>RCyAn3$l zH)66UQugHbDu^D6--)AVuoWU#8#(4ebRiU;=2 zL5R7(o<_&BAeRj53)x?yJ}e~ThX4OP?aylK+tBx`zFOaB`_BL0g4|Cfk`E;Rl>A}x zn&c(PbCSm-4@o{hSxj!5Y){+;a1jdMGe86tWJS9lQl5=SvnR=I+^yLiY0(rBlBMDCbHG#(GF@I)gWRxkdSy ze{V>$XRipq1C;%97L3*Wn?lwBvzu?Ap2K^aJ5ISzS$L4UgleDmRKuZ_Y9IF$XmoHv z**j?XLrtzPs(r#!t?@U7?4{ukL$%AiPU0s{wU2tLnM+X61lkD;K8$K9x*0LwIxP|U(t%`wP6|xQ_9=L<{udz5Wd&{YRoJECs*U*2Bcg4er zWlynKum=OKG2Q#RR`*cyG*AC#081h3VB*0?qULL@dAfT}&y#G=*Ds>z$xhJ&OkIGi z;9RGSz0zo+?`m}qMbC4J27Xt_zO&WOP;{MB)c$OZg|@xjDe7HB(RWy5eb5_6Z+0Iq zu>H-xE&L8DzSSD5d4})B3R!oAck>O@b0>qFJ5ISbI_p!*a+Iim)q`hv3N(%h zKD0YT{K4QjdV{B0<8KOCcZ7HIPf+bFuanH6kyoC5y{DSF#D&xCg?iL3yN?}5Ch(Vi zuDe?wN6)w4Fc7yy^#fYmqFY~J-#759LUz9vKSKNc?Ktv>Dzp1qWAv_}|MR>n^>Oqf zYfHg6G&;Vt)jgDaiKj|%939l^XQ=sNYn}}O=aZJ#EhlbxlwL?7B8h=yB zz9Rf5sP;-vH8W_;IC`0XT2-+aWrggDHwdAdv|Pg4<%Q4sszW;NUNWr z=BPE#hNw$+(Dr=&B8m<3Ps zBMY$nhr8>Iqs+hUHw=J6QN6vzEp(4s6$8I2WZPQ&2<;2 z=T;pXI&SFrWXEY8`+@(zi>ms|QfH@Lnp&RxNAjlRXOnMDu1c1YU5Vc&u1cJnm`m)Q z*dqSN_*dd@ZBIwI5S;L59kX|MlqH_;{!3{5%;LMI~4~2Nril1Yg0|DuWOh6h)=*)Owb!l$(_%!^bWERLg6((1ML7mFYtOkfRz0hX@()6yk z@!YKNZBaI3#$fkJXqAL?enR2f{|OL_VgukJiidJqJLq6^ZIR?27cP>3G*ClQF$}xM z3PuxR%`5*vx}O*(z?G*IetTp=g)&5oAGA|*gF^!%TPbc*rofHpp+bImLDe$k)Pmx~ zqDdy|INGA}na~LrM;25#6Z&wIrW9u_;02us3pjsbctJHZgrb8FH|NKaU8IgfaCrGvsocH|FGW$u28NNTeJ}XD0EX1r^MYpKX>^9l{ux zA#k<;i-eQbgH<{c@?b%VApr&`4enahy`|#df+}dpoF|A03?s8yUNyHkBsRYBV$a5cMyI8BLk8_R)ieR>yXk& z2y+uSrkTSa05O1i002<}vUQro>C1pP)p{%FZ3YDO2dq)#eTHkVZ6z)2oD2sgIDo|z zR}9ru`GBJke75SoKn0ap;+a1oye_3{s(`>zaKdyGV~j6Oc6toZQDJJ5oRI1tG{zPk zKF$?qCcvA~aVtVW4%AfrfTK_sQb*C_I{6$TZcPQ06^ztW_`u2^h;1$Q{ZncCnhGHB6awh=C z|6SSFIGCdn(~ZEeRO?VA)Y@mjTVqXO(E#bjR}=8?vAhPRcpyMvf+&sUgPT(?oz#V6YKz}ccF5UnMDa~70`q}n<-yM z0#UpR3I{L+Q+a;4rdk@jhM+1+U;_m%X-~yB71$?TQ&Ek;z*cdFESnlmX#j@>ID}bP z`D+!^Fr_;g<1~QW5%@~ycTu4Oz-pkT8XBR2?UUAc`@;z;Vt5Zw(>T_}!J3L^Sn8U? zlRCu$SQq{PLs>OO1(4sWouRy`Sr#FHSK!mstHAPDZELEa33;r_zNqB_W};P$omIZH zymmOU22f6z#^>Sbh%btLuzkELmb6lCN$u5$Qr_eRWXFM&Qnk&lZ;~w}otdt^3JHTJ zcL@i+GQJNlL4kzak0R6JVaTu|n5Wo|VYsNAoZ4$D+^GJTwEX|;+WOwq*V}tx@0RfY zZ{2-a_wugG;s3v)bF$+b9lOH+zX!i1=U3LQJKW=*{HK@?k6Yn~#hODHSKjsL{`5OPdEArk-TkdU{@jzNtvi(V z4bAC4?Dr1aO|HE3o=2Xx<~4uZtgpUy-61q>Xiinp*dNY=7&YxqQdW`6r#fDXoW?+QGDLXinX``&)k^ zOzq{gZ%pm)8!@$Sf9l@bi`j2))>mJOwBbNVroD8%KRZ8``co>n`~+?^*(k; zoBoe|>C82Q7ap^GvE|J&tG%SDb^piqxBi>weg3Mq_paQO)-*_1a9nbls{)Vlv;`&(Za{`55$pR@g@v>sw=2hh4PHTUlR)}IJddjahm zQ+s41rgrVFr(Sl@A78pzUw!Sm{b|~mnrk{}YIlD0rY+xi?-`5jZt|?QpZBpt+Vp?y z_s-4i@QU-EzS#0+nbn@()Vlv;`&<9f+h4QIA09YwQ(6x(wdc{gF*Wz@{??xeQ`?vJ zjj27n5mWm~?>qP1b;BktCxKUAyY9I(ZA{HI9b#(N#-6e81)p=i$)>iC_pw9T^ndK? zbvvwF{?^e=`Pd<|+TKmA`#-k7_3PH}aN6kyU%n}=2m1TWb$ijeF*Wz@{??xeQ`?jF zjj6dq*+RDkkDT|N>vuT%rp@~5YuD{T)5g?X(?L_a>wDQxJv8p~5jWY?cK1GZNSpqT z{rOYhvEiLpzj{;NIAChp|L@gyL0jK%`mXJJSKoABp|7*|PrcXoUebFaJpJ4BZ0K3& zxwPj@xB>gS@9nO19@aTx7y!Q3ac;-K9fPUAr+$*UGIeh1RjC!Jw&ahKpHH5fJSw?s z^67~`C%%?=Z(?oYz{EiOq4;;>AC12@{*pMgW3eB`E{&ZW?TY*g_P-B-ncp|EHSB+1 zMUA$$fdxfs2w2)DWT$ zh}#gg&UN(vjV>ry6DDty*-i2jBMXYy5U~zCUlD79>;8x5^63Q^zOmvaVojtTW;kj` z$XOFo&TqA#@C^ZLE8_*MCzdT7%5?(P-gOtS=J?l!ztZT!AqWz%e#B(DsSFXOV7gSC zE>6!(6X&PKlq}gS!SU6lNr=kk7GCKJx*vHwGTn;Cll>sWKt7M$1;O1XZKj)VMnxK2 zP~=U3V!#5}GSyA0KxH|^u8}573%uho!`7rEN<;-o0Fr*Bq?8{#g~Hau3!>H_ulBHw z+4^Fk^f@73XoU!M3cEqA(#XQWk{%C{hHnZIDN+W+Oi5lreVIdCOdFx%iX3xBIio=J ztb#F2l1dlp265}4E@F2giaZ88mSUx(+Tg|&`3Bi;C(Xbm7nvg;#<|PHe6a(9+Y92{ z0I=kQG;;G3oDt2(Cfuy-@6^%-5p9s{uFGf?a}Y4WbW$boedvMXg~0_;Y!G06H~=B! zHpyS|Pa4>;kmUy##IO+}%Zt)6P)`!8r}SE-=R*r(+8{CB{9H2U9I|Ujyz(Rrb&_~# z`N9hkCUV^@O!rR^wnqj!E6RzBr6mhu-5_#pMCl&74iT7mXjM>v@%{zTY*5l|B-A%# zg$ZsG_J@&3;p<#xLChKiuAPYK8tQe4yi?dql`!%D$-xD~ry-%nBr_dI=0ib$Qr)12 zcYZA{il!~ig-E{IhlL>B8Iq0B4ul|cYdFqvDvAZ`uQF^$ia z>5xuUexI;BVg2zX3u4zW9fPQ~8yh$lztb67xv_l8jAs8 zWw(JKkQku`8g4(5+#?HnNE!tK(k90(#!d3btkZn(0#+sh1d`lAaXvX11Px&RD^9Yh z^ukJn$q6}O`iT5BIT3((@LH1A$mOyNyCI_v@SFoM5b&xokAiVSk|cMrFtD&IQn(Ox zDOnJ-0e~u4i3@x_47)hIu#2?Q!$RP2(8V^a*~1Gvw~!VZu9;4BY+)x!?;LzK{)0)1 zqA!F)hEJzZnj0ObZ$*ZH3lUI9E(BPThO9SeIYW(*bK>+CS_pE(hYXUY;RbU`P+SBt z7>plH0*u3@hV`ac z8dwm^22);LNMjiA9Md+~Iq~R%PzJU(f*6aNsrPL3yI4cu*|QETh$<#;v1{NWG|SRU zEScil9D`mN9v2i@z95zja^}s#K(wI`W%@<|dK4_c;DX3DK!-Jp0^cYBlj7Z3p`h?$ z1SAa+J< zI<`-2Ft&9p-hNN}&F$Aw1OL|cQ`(PeKe+w5?YX|c^xfF^KYbtUdq>}CeRF;L_f7OY ztM^~M8+w1$TkHL7@AhbiYTt z@9O?__jftr?~?AfbRXM&Q1>3)W8K?zw|Cv%byL^XU7zZ@utr_zO-}C&J~?oc02+DVY%ZfDiGe=@n%l=dwIvM9odeK)FY`|Q$J08 zJ#}g7?WyBauTJfsDyFtc{yX_cPB#2X^3vpa$+gLsCwEG2pX^RNn)plNyNNF)-VaB> zF^N|tUchOF%M-ov2jahqUmyQc{A2O+;wQxq;WWc#@n^={V;kDHHue7%7z{s3{r~Z% z{{K1Aj>toiKStI^u8dq5ISn?$LqJ2cUu?h+kzbhq`S1Vx|5p##x*DGgo~_stC3lI6 zrmDSAFBr(4Z!4Ni%|Z6v?yhk=8MxUCZP`ztaDr-~i(1^GSm^z>qABpJLe?FF61YRD z(EDsflfOzLdx0$r@~)x(d%P?4ilz_Q@}po`3p!rX>K;md#M3`m(c}(72|f}vKWrpAi_^ys>}hM|{;oYY z&m7pr_O$u;hJ|5Z_wYNV!oW&fE7$y+!hoy%YrZj27;puJ=8jWtCu=J15~}U&sb=T= zfr6(%<9abw7;v?Re{b3zquQjWTH|jD1FrI~`6sAW@;b?^BU(TQa-M4D5*PCJ!lRz6 zpZ%9L`bP~t!@u2K&*%rD)-oOqZoUQ*EpDNE+`ez%SA_vr`xm%__AzVp_Ll3}HfuTF zHS~{oS3IL1=&-i*XkfET_x7~9hmzf%{sE&OaMgdoN1|qzHBWcX>6x@WU%!Z=DW~WG z9zDar_D&glrO`w)t?r>{+9?|NU14BJtDm80zf;uyY>k0j4s7cb^)905cGg%Q^~TZG z?&AewSp&}rzk`a~SYtKM@V!`Jz@0zZd;|5|v8LvZQ*J9~eQH^L(7-c2)v#U-@uztT zG>!>Av^xRy(cn1R(o?PRH-!Or{%G@0P;CpZlgywo5H})F_5)Vwwzi)AidHELmzJXsAvhGaBz#V4g-`R2GPdsFQWsT9h#+>|X z?}|5$vVXF+labi9_D7K;AeDQfSnvGfcNIYqsTDEhE9)<@hp z%HHcfUSJ$$9}K^PiVs+0HP7(9SRw09bZowXdhVb|bH^!nx3fNP9A)qERKt4JgLile zG>!>Av^!Jsk-#|0ZtzrV{7oV2PIPSk398-Yb&?r08b{gNJk`u4F5GS})I(3%FWYfs zqF33kxV!an^i}%}1JO5BzplkCy7lY!eFMKLWZjvLfjek_tsO^RP|m1-wKYcX8v0-3 zU8#?wZ&?!zMpMzT-0B`m&U^X?$B{eLG5AQ-yxy8;Lliap4cqheizxa{r>M19S;0@7 zGWLqk+)(uAt?r@d&zz!x-xad%RL5YN21RdnirSy8vE%4RPEqe7ivHLdtCyR|-snDF za2)+G{0=JKWR2B4!}nr^tUJ-M`3CB_gCc#|jO=%v_0`AG_dM0GUiDzjQ=oB7(0}es z$>y{Ns@>qJ*7zGL2g4tRYU?fk|0iwz|G9mK_KmWe|9S71doSo+-8d{g~0RQP2ibq)+)tp$Rw|xoGYweHNJXcZfb1R#Q5xLg`^=7U7t09=c%^8 zd*0|~Exod-NrH*w{D>AlxdYFtfrGu4I$Mz;o6_o*ac7c$NQ$O_RH2vy9wYKh@{#XA z>M2KPTP3wR*6S&h${t#;fE^`Oj|QeJ!gPcxmEsq5D?F>?BkL8hBbFQ#R!nt;(vQUL zL_IM{&F}DfMehhy2gM2DaZV8xP6Zf5DMljHIlO)e(nOwv(h448s^Bl6t)^0#)OTk6 z_DBg2m~+4b8YMBLN~ncyk`L@N5lIzbkVoOW^P`fZUSm0g$8 zdPXoAeqHb$ifi()vE0ylQDYDYZT8s7iIb=$)edX42vI3!Eex#}HAaXqHCSXXIe-KD zZ>7_v!QgsvWDt&RelmsI^b=V&YH!ICQ3zZZTra8&BCO4_B7D&4jGVkBJ`Zw^#s2kM zBTIzU$f}DtiC_f<>y(3YND@iZe0se&GN{8cBI+Pwt2!Bs3?s>B^3?fUX1$0p2;e&z zbq_g)aUF(6WjV3#Tw!u>y&=btP~+@v7|O{l@Zm^pis&9$5oMV7ZIs1|I8#H)tH@fR zZTd!h86mQm&=iM_p(jadvJG_6;CgXrn7(Ozu1LUDF^>&_IUuT?AMal;8V%Do$f|D& z)MS&{(zHxgfJ|h1eIFvGZxAuYqeDvRHtZY;k_XsfFEXZYjEpgzBB@6KDM+}J>7OW! ztT%KAbaKc>TxJW+0YC*TlFpwTA70qU1k&UgHcPF+ZyL_s{MSc?WMB#yLy!{5ky(H@Y`4k)C2HlM2DuaI6JMO@b6 zdE{iEu_h=f80+vuuqX|zk01j%`C`;YmD;RX{=eL^^=*iOkn_aUValO5)UCtgKf3S+ z1o10Oh$^#cHDC-F;hEW{SI?3|r_G6Jd<|}_UR_$1Ip?T_vy5M{Yg;|awORcNigd|H zQGhFAhsh^7IXRX`PLUib$FpFp8$a_z;}}ngNuDGYp2CzI1wXjf2XwW^g|ZAXF)|gC zHKfqjoci??@+?Lc&crrx7J`ujW)2RIVnHK8Og*svfW4j3N}QQ{3OXLRM8K97InNd! zd2m6T8gN<#pKg5%Wd{vNXcCB!xHa%Bg0kk&6Fx26F)WyTr*Xhr;@H5maMD^DnD%t? zGWlA{yIJhXX^UBdiO&f+&w^@x03Bp?$!V7+moB^(AsmakkXao#^@O|Pb^!3iKjnuO zM5TeR&>X_Ru~70EECqGbsSg?jMMZf_?YMTmbdP$rbES}9z#<2kT zh8HAWe&9>2Cs7xdEQnqMESM2Begy}Xi02C51|Zrv zd@y3vU@|lk)~zrgIh}ouFNIq(kzEjr2Hu&IQRe`E!ZJv0!vG{OLym0w2}qe&Xk62c zUm+MO!obT|ZRyD4C95Yk%JL{^X6POr-U9It;}Vpa_%uRs5L7T?Komhl3|A$*|F`!()u-y58m?~!9>0fuulG9VtU7z0 zeb!EEed}9|Pu9+YRScLXU^KKDC1x#}4K@}=33U$J0iMH7QmpoH8I1MZd=w(4cg&`N z-6q>dV7kH#2%NwMW$DeLMlii&WQ^%h`2=(f1rJb;ommOYm0?7nvA}X}E1$6HgVhO)>`DPWKmY_^Qvc1fhy#`j zii>5Aj>M4IfC_*x+H>YUU}s+fu=??`?kd3N%^ zWHFga+?DuL;;h7eiP1!N{5SD0#ork}EWTrWQS5Jc06r318+%D?8~6lnkA5P0YIH9Y z`tRTW^Bx$S)2PLOA8B#8WfTFa)L8?Z62}LPT-KDJID<&lvBX%2e*yIDz?_CKyY8SY z^9MLvK$RkNVO5!;Ea996Gb>O~S{POK<)ZoE+`&$eia&E2)Qk-$tvN&$j3JoQv6i#c zaV?B>PCf zlL#nU2R&Ygshz{+Xy2ShZiuWFAUMC+9C12f@5##2H>VLCBFn_eoWMN5<_lgGyamY4 zAj{#cSqJ8B&dVqZ5{$}HOe363rjcaYFopF>0xC;%E7Rb_!!)?W9-mNsKL< zQ&J2VvSwMVM+>vgOz4OSP4>?zH-^QhS=4M^Sp38u2GLAO6m)%aN|-S{)2M^!$e1pH zLg`d$P=8D2lrzKXV;-!Y;Z%nshur|{9y{~WRL|Ujh?uTfSbf;jaQLILx#-eH#+S}1 z!@-!BfAx`nMF%^a2UyzJ;GD~BcqFhu(1UDTXc(^qBY;((8ZmPwvw^-0h->u$;%IQ! zN-&_K2IiF5pb-|3woq*W#vx>4_<{!OpHpH3i%(FReFxhuwg;fpguR~{?VVGC16w>N zOgHHejt7O+k97qu!AVZ`%5Y%yaYC{ooo(?paF}Lz3B;G1Q+fku+q#g9NVP*b?eQ5^ z8Jyk5;G8lWNcMUp2o?}Dn(p-dO%BZ|xq+i_KwMC5mC$VX-!xOW!9A{VKNm#k6II((cB|ePOs+B;q zkC@xToMd-wd*sRRkh4d@UxM3NAjq-Fr?-Qg>>1A6rUW$W4#tVPEj{GeH!p?rNPaU` zl2PHfH+YcM7E<#A%&BY+Squ2VGwC2Zw>zfEF2W(Kd_gmF2H{l5f+z1CBeR6FZ?{(B z^dnAkW-q1?a$<04QI>1&C9TBGK?Hke^27zkDGh-3z}&8gvy%uaqqD3S&^+n+zd5Bpm6$d*|kMMu>^7F64F+ zc-nEIjIk%-*o$|1C&XCr4dAP>r@%UcA7|a=(2K>gtSMh6M3#*NQ3RGP4mz4)*q`;y zDQ_l3md>0MKwk9NoI{`&EB4JPdxqt*SqJXoY=ftalQ$U$>`{t~=afRjM#9L_JrK2y zuw2kG5)Ay&o;jt>uv!`kvyoseWiN<&5LW_-A0f`5WEoaVC!?<6pggR@IP(XO;t>$qmN57Pb<2f7z~h3JM`jjVP@)L_SOaA;Xv`5lN34iBp4f1JZ2_v5<@}c{BZgrETW=CB9`) z-0UO9hUWTozZAT0_6<058~*r8%4WbL9%$Zp#G5?sy!dvA%Q_Z3;-ql13nh<8`98P< zwwx;uemn>l#yR9Gddt$IbbFN!y#-y5HKJ$expJhyU++ofma( z-Ej&0f7fQVZ@;d64F11eQ#Yk{OU}XncUR)T_)p`9!2fq_^iR>_BY%PaFUAA@@Bh}F z_j<=S5s6!Bk*At(;%vt^5s7Vp+T?3D4c)$Y)%P}reZg!jjy&RZIJid`=qUIlhUoHhpgR6&HSdhkqQg`BxTN-XttKXEwF& z|JeT4f0TLs=9lbt^~SUw=HpXl-+albugv^(q2*0t zYHOQX_kV1E>-UsX*Om{wc4Jx(F}34q-I$ttcYo_og{d7!`^MDTHehNOJb1!2xBaQO zNnd^KdB@VUF*Vn8(A4f<`<`!n?)}#8r0j??{@KskOPLgQoUC^4PDw;I5Mw+TCbVd!75(VQu<9_7VGi|Jo&|eQ}}XO=48r0jZxu}&Q*%v+nA$Fzz4{|Nq!-%VXj5D1ee94n{U7_>J8!%5j#n&NXnB*E+DudH z{*Uc%{U3LpcI55(jXIQsnA$Y0Po*(6_wN4Ip9)huoc4{WIU@Ej_w$N7PTlv0T@L!j z#&mq()h+)2b8TH0bgk;zp=*oIKXu;F`EDZoBb^x{{NL%gkO==|M|TJn{!WbV65k?rPwbnq z55XX?N9=jg`=j58ejs{c^p(+k>nvbGHt(T``rJ|h0s@)&j?@UV@<(U z{GP;BmP3aD_!O5i4zIqld`BU&0`RCl0}e6#zW9+RCzh4vLjt4H{9FJaQ&8)`u`)$1 z9UwfDi_7vO;r2A5#_d@e6EIk8ZX(s2=qbx}gzv^kShpvv6r(_;h+q=N#Anu9miq|L zo|Ca|PpUYW!ZkuYj^T|h8=sMc8a6*p|Temry0>%=Q7*FJ~vb;&AYZ_%0eV;IooB;4j2z7KxIfp1-Posmp zo)gOj8{(r7q*SR3`erF2rf-Z#)6{dK^oG#vlXNy*Qxi+e!qwvvHjlCHJe=zIR#o$f z*o%nFN`qwwsDCWr$HYwrW*N{MFeIuU0pg{yS=j;VgW_^~s#pqPAk+j@PEE?kHL z!q&ZI!Rlolo=a2lQxIp0?uy()faF|Rn0ox4bs-ti1obY7)?#LO*|A4nMQD1W9*>3j zJ&Cb4_$i0Vg45&H3`kpKa3e3)SZSy%NPU>Rb%Tn6#rIbnEDKhT8#M5Ixj~`n@d*P9 z=q($F{g@M{uLz8aNls8JQMU1c$Cs9cv4`l&KGXAqf~58T70LqH;}!L!T6sl>%0k!^ zPJPUTQz`W{J2p!^V{Cf$?C{jg#MsR6Ec92?5MM#=Hbt$c^5!O-I?(pmlMznkqk|g& zF-GJ`7`LZ7p8CHn_5`3FFuuyCGTy1o);f?%tc?&crU!*j9ON524U1kL%>+9J{Sl=HD=inf^P(E%F54R_6mxd)c`g@Mal%gQSwk( zsT!fu7EuFP736ZT@d0mP9?c@nbP{~FfvpIYL~IY3Dv`L!o^lt`Om#FQd`>?tP@VZ}5ergH!v z@FGN*SP?YjMwgc3$gpBM8MB)pl?&h-1uIz%05*^FzA>as-!!h|^bJL*7+%aSENCnV zyst7cLS%`)gU13%M--1Q$ihC=Ush%YTaQPZwkc*eK|l|?1f(Wv$nnX(vhp*CqBaXF zR0-`X`wjrk1PKAHFPT${hUpy?mhGS>TQL??QgQ&ajg_{YI~$R02JGY1JHW+=&_Rod zdGkej=LDrU)@3#v>KX-Ff$kAwB!;RXFgWJ`^pA$^CB(!jl(Z^hQay|8g*gMD=N$s# z@MaRaW;{*^@W;pGl?Ud8q1ONlh!YRS(6uFFa>q2;MfJ}KL(gU+D9vVq1T!|TEPUdA z8zY7)EWO5;eY7ly;6ERQo+P9RrUJ~Gp!CF0os2pO%fM`4KqG?yyjU?eCm20@iMovX z3D!*PpCwj^L*n`*F$zFW4E52_y@Wr2%73Sy1fdTTw^*zu`Jp+X=-EpIo^F$j8lhFN z{muzW&t4)Ruf0Toce{7a;Oaf)=_+O-LtQIy2#5y2sbDn(tS8IJK2v=q$Q6^3|8I1= zIU(zpPSnNJT@q~4u?W8GSR~m^JZg6nE2m29D*#{p@rTs<*8JUufzHOr2B<>c_H z$!XGz=GM40qeq{V-2?{7I?dcG@=QwoJ*|njK?Mmiz#3o{e~Lr4-c=~Cj7gZOo5_KB z5B$UvZY$s~=4=3vLfB1)?K5jzVfp`ZZPfIu#;=WkB>s;0$?*f@FN*iZld-?XejU3d z_IXb4XUA5?_5q_`?0&HOXWifF{$%&NyHAGy?={^!cW+1Kz`tgHlC5OFOxD2LvPWlM zksZtSWV2oW?D~1vce<{C|L?S})m{5^O>}M3745vY^GBU!`2Vi#yrA=p&gstGJBQ%^ z>+JYv$1gj+*Ktk9dpq9Laa_l1J6_bWv?G=IW9F{R_cGUIF3g;fITZfC;mo#~3?7Id zwtuz#()M??zY+ew!`ffgKHC0Vd=dA+|94aRy7ULqXQx-C_e}4Q-Y&g)>hGzarfx`G zo;p8ucIwE~-l@^lbKw8`eey@i?bFDE_%|KC}O zBNMMkj3>5EL}R(wW`_UoyU|ZZ*GJEczRvLfZ5?fk{5JA~$hRWbM9z<#8aX(!I`i82 zkK6ujeHoFt|D8|czfw=<9)1QA>4 zINItSN{)D{1bAg~+qe1|Y7SevmIka=ZqU-T)GwmwkW zIYk4%E9G{z9c{jD1K=`uNBA8cce^E8Y5q+q=V)V^Z}85JjmF$rV+qr4v6kX4@xI^p z49)Izb7fC~=B;|p5!XE4wAn_rnx|UhZ%R2w8`Jy~RIA#aH+P(BH+!m?{W7Y}*$Z{& zM((}V=8bH!heE#pY}8{M1I8=M-;{En2>%JHUE!%_28~heW1ec}5~^KpFVwg7xixkinUg{8Sa-KR zj@H_57&zRZ`pGSBq5DZz#lWvhxf5Fa2<=a_K8XwWZ)m z6&=rNbq^)a^i&Csqtjdc3^mWN=GkyY&7ER%FHnjtTnj&Ea=Y?MHk% zj6JM&ih37O^ayLLUPfzf+I_s>IGPQ=gNm!Hv6^QzjH8+GpP=4KPm_glbeOZg`Zzk= zQw{4?55CrWTH~0Y{|*hmgKCF(sx|(mlshQ=C#ZI?rj$a?wyZmxPL0OYmt`t06?|6JjSy@t+WA6DQ_OW~#V#bQ^E4)lv4Wh-K@)|_8 zaU$AY5SJhlsH7Ki`H1;bU!r^rGCg$}bv5pJ@@K|Hb)(cays!i1qmddzuYe0!IURB^ zlUxl42;5kuiT?6Yk{$|?R;-$)sq`Z6JMQI)f%1{99<5L{PJM#&;!;uwhhUHL<3~_8 zpoqN7WclJ+hM)&uJ-*|f@)1ZcuB%Ni;ep4oP2ho0Jw#fQgl|?O(^HpGH{m!|tec3s z%25z3&y{Bp%KL=WPsFNu2|4r$IsmSi94sq8eq;>oLUMFKVfX{Oe2cPDJZzpNDahQC5tsq;%0#ME8*mkF&l{7np%l{dfTt0HaIy}XLB$?QssGAU`C zcvEp~c48HL1v9IPtH`;+y<9%nx|btuPlkJ$0_$H?WKB$h=e zi&za|lMQ*789$i(xU%@kJd@!*k$ahlHGBvRCo>BW8hU2Amj}w?ULfxEcwpJL1VqHK z2zY^v5u{_FEcS&^X@ZRqeNax1z@IYyhM4twfuNcbwrc}m1vo#%b3j_}RBu^)41^V(j0Q41NsM!_ z4*O0U?70n>^lPIrFbyw2m@NdVB&Cn zWf3qCnQazUWEQq55McyCR6(;e)>jq}Lx?Ql6e5pgAH#m3g@FZcSy^-pM6H{jOCmpr zClz^wEkaR}ktO9keGMAP2MA-CBNz#d7N>jqPu#RL3mtWFKoXKf)xv+I?q9Cw> z;ARAni zy(9)rLd*u;2DEDeP=nIuWgb>WMx-)o+=EKR6sDw5YObuTc_P(FwMdg!=Z-pURTv}ElJt#OU?9ywWo=*{W2PEmGx_x1Nl>DbIg5!!Fap+q4cCmuGW7$#AD}9Lxlg!}VAU~*4klVg zkKt5#2EpG3%3@w%B6=)rBSBebx`p*l48;J?2Fv1JU{VZ91MCvI3StKqA^_U}gU1KU z;$a9CH}E%DF(`7(ygm#G@+1c+Q8EZl8_>lvC94W8GY*52xxA+=ZU*K#C#}_hT>^_F zYa9zT@ET5#B4jXdXH(P1ES4ONL`lGtsIds1eLPr;ba#G?h<9lRr*glYB$+)yaWmf(ihiOT0O;Z(_UX4bgW;S4USww~qWN^3BL4 zk>etJM3%NajtAiKP!GUhMcq9%5{U*@6~jLPrG=@!uKLYWP={C4-y_?Hh#LY5h8;5| z)Gfjc_EgmIoNnE-%_0OG6}%%zHRvy(T^!F zbs^2FqB!Frs-!Ed4O2p8xs)42EaY@MBEk#bUvZm?@)t(742m1{)YMQ#ISV7D;C&0d zZo)s04pfx5z-cznyp|lc9Suv)l8Q-U&^t+4v*ZYS$Nt;E7bnIha~0(Gr`r7&=ojhYo`6*fJ?iF|Z+WM<{?=*sEUrD?#Evs2Tv ztaqzNC^1|qm=%aeKPf8^+d2S6c!Jou0cw4EuRs_ixY2P8TPGwTs>AY#EWI)gA-ray z&0#yw4(W;3A31Rh=OLI$2!5Vv=h%ueU~t|=0#m+NhE*mVYCI^2I91%lp2HkE+}qF3`2Sd>{V>I97RTZ zD@u`BT$k4B13Z*1{v=*Tl{#htTv}0L3=T~9NVEJDm$N!?=EG|xQp1U{d_@T{d7qR< zF@+ugua1aeEIQ0# zid-0$A5gyJBQ2{aC1(4ffGo=ZELLp0ILwkngC}@dMTs#uftw!-8}kU81z>{MJ>O!y zxTK=w7@WXHRQ!ET7b6HPC88JA4jfi@O0}RIyolrG3fDJ7!ttbn|^dWC; zmu6wXb!-L+%+VAdFt2NJU!+Iq+LKsS3lmCO)P+|*cqMTsw_9~)&^zXgJx-~cPH zg}69b^^^b;A}rUd3LRr@;Qd8oIZ^7XC=X^x@6-5Xdjcc{hgTOX8+=+zDqA3Hx(8Wx z4{2ERH$8{#$}Yy1R5nLs8~0Mic<4ZRbZ|F{y$inL%4Uf4=+p5Ow{d~NlzcBx&zv85 z)IjA~$Y|6A)_LO~$K`?p)o_@DPamjsx005F9R4U$P?QxX{61qWD{0<1@NDfNFkrqk zUBi|QZY6qCIScF|g5pB@(*T2v^C|nX(nL>1$qVcuoG^U^(G|m+9V1U9lrYLLRPF+M z2q&XXqL0`+5JO<9R-q6~NQn!1I>|fjYJe&0O*wl?ErfE7Ere1Q*g{0Ywh#u?zOagq zvZ5+$fh|Hn+&ajcyve1(iZU0%9&fi4d~g5XU`5#r+lM^f0I=!PhQHp5$z<@9r>k&i z;~2+jLQ)$E5iCceTUM0Huy~PES$$>v-isi);v3SSEYR%7$Uv;Dj~rkKmpp;)w4-iK=|hrDf&7n7F6^)QS*9($HA* zSh9-pWu?BbZE%mOPyVXifLUnMz$qLjuaaI&j5n}t!0d3)!+1w8vH0NtSI$d_EYml= zM1mEh*Sxm^QGI3QzJ$m!@#AP#p0hX!If_h@9;F-@7RI)wtqU$&rEM_>vpnF0N984D zCBm5CG5VT?ahxg+N~~bzQE?7joJxK%!DF*0(7s_p#jBJ-guhh9W|o#uM8QE0#YpR%>i&dhj=twG{TIy)mcaBowX9ymu_6%u_CvzwG#F#|<5q$1mu34>AA4I(F??*3p^ySLXMbJ2GF%T-tq4cP0BE zzJc4a-^zYE`@ZZM*~7EDWyiDm?B-qn)Ah@)?{*B7rcb(X^f7c5#Ycj9OtjG*z z7PbGo{qFXg+OKMVfBRd&>hIgWWBZc!MEbAz4Ss~5;I*k_YDx0`8su1>rw@o4H#=}77msc)ywO|41&EdAc}$I~yv=P;6fPWp}M za{BssB)&O319!$g9(zaZq1fu!sj;Q87slG7561S3-W>f&^z7(G(V6IO(J#iYh<_!1 zNc{Bp&hb15|D&i$uw$a9tEVfOcvj~>JAY4&gPW*waDL~horiSp-T8vfzRvEBzjuGO z`~C4-GUwtWneE=QdwKWf-Hg5Hw$W(h-bgiaZR8`7cN+ZvQIY-eV#F_Kd$5hJy)V?G z@&DaLgWrinLngWWo~`apl=3fab#Jtk-^0L#LY`U5?`|+j-YrI6em4Vk@vdmYkbjB6 z4J};KULkM6-dt>+Ve-2e7){^~O1?P!4l3?!FgbzWl=3?nz>mEl^;Q_zjs3S#&Q^N& zE*RBpS$Hlr4%w+v-d3Lv+(ES+J=Ge2gK9f?sx{sz<)=K=xFOXhJ=OTPQO#C*x2@T! zIzR3{Q()_ia-~-HP_NkP9tw`R&l`AVDL-lhPo^|r-)Nt;7}Kgqz}oTA%j z&TV^E!{9O+5MndylkX@BJnAkBENh6%=6>k9!*h7$Z61d6TlpSP%G>0P;2mCW&|m-? zoL%{4&S=e(O;7iES3C@0e#CZI@L*3z=Ud&QqjRn9q03U+(ZOey^1W68cT3jLV>{aC z2FTl5@0{D*5^s!ku{FHr!!>Gd8-52Rw+X+4id$P_ZGKuQ|9oq#-oZToJo|O(r|`V3 z^p0}%r895K!Us;asAj9r2kxNSb3D}=M+>TL>8aLur<8xTr3>zYXDNYpS!zWlexRC;vs;u+;3al0+IO}`%Zyhm2$so@gpXkU)y)FKeF$V z`-OdD?;5DgUwT)(nIU(tHGv>v576izTirv+`#e>G=-}VC`Wb5e!CHlD&gprNwVwJ# z6#bo3bZ;{`U}CvP+*9op--L;cx3#*5qK|jCwQbQbb(?>fJ`M?x=UhqlK^L&QW}vRLb7D+e7)>{a*b!p>-Dn9GoXyi3r&T7A!#&j+@09Wu8XfovsvTzS z(mc$mc95rTs0Ymu+H*LA2zqcX#Vk|JRshJ{z2Np1xOX=QIyctnmnM77DD{ zxf@#C;wyYp`TsM~FSNzi#$O)aKHeVt4QTz#VsDHc6f4EHjQ%Bhd-qSeztDX__uB4# zx(BI)ZnmK9@Q#bqpSYekuw6BKgha#mTdh`z42y&q_RyxFvB_;!TN}#EQg{_`l+J z#J>u>8o7w`_yLj8NN3yqZEdkn>6`vHAOGoV+5daZwv9)p zqLHj6Wo>5aOkQVhw>cus!0m&3N;lJEGTMI7YU^%? zYWrcUtrPKUW3|1wK@b0ZzqS`ysq}`my})W4B4xCFpVijg4%PMpR$C|H*T!o5{suk# z_x;*lXr)pc*7n_2+Yl+E?YpeD?sllQ@3q=G5x+K8+w&Xr@Za}q`yMNm+_1Lqu-b-5 z8EwzC+Pd4J+OD_SIuXA%R@?I$^zh&JYx_Lp>qPw8SZ&|bpojmyUynCh zDObJ9zvb~uooTfVkuutzVYS^r39RJVR$C|H*T!nQu0ap~eZL-OS*eh!IDV;9thOOi zM%$CEw(fRl-=1!@bs~OkthT2$=;6Qb*W*+x6;fEmFSXWc8zN=2J>F{TZii}nlGWCU z__eXxp4gy=|Gr<36RcF5T0LfYD@!=WY8xVDv_0Bt>u!f?dz{tQiTJg#+8*1WhyT7` z+cie2&6U$=rR@<$+b}7k?P{Z~cRN(uql~tmh+iA4?U4<7`0x9*eVvsGsSx0onz7o3 zNEvOXt+wuVsJ63KTPNbz#%jB&K@b0ZzaA^CRLC*NFLj8;|9`%%`?l_ncc0z;+V08j z&g?ISKwQF(bzdCE3AL%@UcGqYSBWnr-jO&oF_LJH|2BR@ z{QUS#d@P>elzvoX=g9Ng{?>L!+vopRXTWVM0%?paio~142@dqWZAHk8?VlSIFevxo zVsFLZGRB+$-ZfBYpk+w^1m{8FOW{p(6#+AVw%cap;WQ{TA3mS|I#H+ynE|xj6O&&` zf=xiV;!s7X3@~bOgHf9vU8VAsRA`=Dxe9#k$TTT*t4phAR*sL)%ucQ%xvFx!O|FW> zy)eg_y=Gv8;6AhWh!c)G^(2)N>^)>|s80IFWk>&E>mxm@y%P00+ba z=phi$U zj>-?7Ny$}}<1kHNYO#PX8+?(W+o!1Q1W;ap<;B5@STn$#1*L_aT~3$tC)_1KFp{e( zV$cW`H}H1A#45S~_7Fpym>j5xOapj(@aclL(|{BKYYz%>c(S)5QVnowPMV>tx({&j zD|d%V8zPDBt%yql@U0WlPzEFhz#C?4q)3^H{7UP1blKFiPoMcr2sc?L+VW??!C+^;zB5d?k)Lr7mmBpM;I;MB&I zs7)#oa5<2IBOu|$r2)LX`MJQ`$HAbH?+&I;#Ma|WD&o@sre;LdKR}b0lcfmQkA!Ym zv;i=SLj#za5mE0j8Is&fR|{EB#_|~0WYJ~-Q*$!v9Oezc$>Rof2H8I;Km8TMmLaJ| zw?1ZsUSLP5=}W8h(P*)+BC-tg!i~ZP-%e^V$v?a?&~-gnoEfIq8)Xf=olH73h2nyl z8=!q(Ma&tX_?op)cAh96RPzOBFqK56mQ+NZVY-J0t9w9$14dRMa5D5TNznfXBVxJ- z5o0`bjuNz~GDC(HwEN(@#dBax%*YtqAteD0d4T=QEac}E2P&4{AQB4+F`}B%3~APs zyq*{ts2F+!zHvYrwhAgKD+L<3<`|jsV^aeau^VUz2c!jXC*6bu4G@{6ZjmC`UlF|l zSkRy}!pxZPzYFF|eUo9#V?Tt!w>x1viTuSesBQRPQqjS2mU=7uy7%|OnZmb|mIy)~ zU?u4f*m3m*Eu%$R4~f601GwXk>HpAyj~T zaw1m|uK}9}E8}e*NE`A0v3U@&0h94`!0az~g- z#J@11txnj^+iZ)NJV|qd=LL!n6_t2Gh8Lz|rf>80K|V8IJk$0LV#Q$M2}6IDMom>E zCN{Pa%Ap*nh!`VOnrV5IVgrmM61YUsMVXt5I5OBe1fOlwnt)+zogh&SKr;zM;>%#- z2#TA`IPy!G*7!f-L}JPoaRyrlC(X15Xr4upxk&RhIVmOPHPK}-uR9?(`(ye{yO0yG zVJVUXE0PT5{(9kiGyRjJMZyDsY?d1qsPSbLv15?F7KERYs5eSdo<=;_`4N^oabvLD zHH)%uV1ijrX$#U|c?sn*_fD9Qt(+aDXp#LIm;k=~x6%&Se-$q#jZ`TH1rESDI zRwNfuj2NaP8)cP)2x$u?$1pTL5qtj0zKV!3*f%sQp|m*GWfmv0xyV`ozrVO5s*LA5 zh1EN7z>qAcG7_w`B&7FLCXg_lW3~hkypS?TP6WpiHV>psj*Ts?j3Z+@$H*AFQ7(px zGtfE6kc`n^DIo?*tMwhL!J4Kt2_G1_g@an{)+Ss>77$Ire48${xyjoB@W>H zeq`(qv7@68L{E=A7CAf8#smJZ|IS>$*p+^agoH+X&WaUxJo}tCjy<$|W9lCco4NnU zBXn-2FV?L)bN#kWt+#MPt@zia*WCDpTW{K!)_slhC5G3nTep526`oW*`WAtuh30md zK56!d<4!no<@7PT9(m$PCmcC*@<~S?cdU;6(wo~fQ5E9w#MoD=XoDHq)or6t=qYOyH$Vq=R(W>`5T9r+H;#) zZ((XX_58ZypM6ssRW~}&-|N(;l^x-m8P?*7)F3R6qdzA?28 z;2&08@tvJ-dBr)`Z_-y^yFNwJ#?)HjDpuV8$o8kt$L?QfccV=$>3!^wHvJ#_tLGhc z>YiI1zR>a}F||Zf>;8}JZ~ZrOy}$U^<}cou)dkl>Ko!P6iXJ+@! zj!?tz*Ii!%-+u_T`?l!(Gnw%p>|E2iQ|DIH2Kau*$2v~#*uCSq>CdL$klsJN0^I%| zQ(ptMe@JQ~wOR6ko8n$)@tMSRbK&9EV05cB+A@oOq$qV$z1y z4XP&z!^sR;bX5*L+;G8X8@?4hd&Ijza){`EpeoNEzUZJZUOmG=Ml4Rux;P+5d#m#B z;fr?C@+acuh29Hz1|B;!E{!j(%Cm>F&r>MpLTIo)R}l( zjVwKc3lrC{s7&ENBV;quQx#h#9#O<4o^hVzMmbw&qJ0F)`5`n%*%oG9A3uikji@ABW_euz7K? zYUmAVEZ|}mFB-rK5#XYmn1@Ek2dj?XFeuK;5_JH7p&}sQdvJ+Q3{=H$s6iQcx+2*M zVgq5om}O2={Z;WB63GrqBMiu46cRsB2eM-fL_CK?vYjyf1RD>Z-@pMx^gcGav?`WE zb-_X;8{7%pKiCi80!)P7SXvdwAyjR3DRmVQZ%||m7!&gu9~-QS+z>9cL|7ynKD&m$ z(qL8mhGF7jdxa9P@o%Uqjzc2ffv4L@c5@JUuqvWMsM-SZ3TzYaYIyuaZ}qu|Z{sOX zU#Yq>(+8skb|oR%L6E?9 z!UVP_SI^9@1`aebwQ_iTW@>e5<;d(Rv0qM?N-N>L>V3;>bxRZ2o`@u#jKH=?8ZiTS z65*Vpd=1|9r*U8#4ktpN#HBPi-zO9gnH6W0oJyv*fUuujjXx{tgmKwW;9W@vAXnB z#hA%LX++dJ1c-@zL*@!q9GEoXtxKz7$z+vqGU^7X8?ZGHLuQDqg+*Wqkn|A_W{)t{ zR~2if>7B;s8Z;b82Q;Qw69AU+@g-I9Xqw(ZR=uN5FjRVMH$<6V8m4z5h?w3%#MlmK zIIVh^7osJ)aA{Svho*Ooj4>UttYW9kQvz<%=wQXs9mWF-J^jZvi)|CUkwp*>!cPoT z4Ba6X5fC?cIFO2b7!VI&K}ull#CE9R8<5s6g5Wnb7cdFTeUic@7114Pj0L0-=DjpB zFoGh+GP$H8+QY?Iu@$D90FzREfITR9EV%W6jfnG5L(Gb(o1lB;E7Kx-5!i#L#+O!3 zM~FQ{T}b@|K_B2%s6*LnF)T&~E2l{{53Ak~``1eA$CL5cp~|Te_u%M0aSMlIH`MT_ z{QvjHp4}GzN&M#c=i={=pBXySC_xbUx7egU;*8BY0Ei+Rjy-ukL(t=k}djc0AJY>yEjO>pQOOxS->Vj%oY~ zLmk_6WHNut+?Dxe=3|++WlqXWXI_>W&TQHK&-S0USKGhR{)zT?7)HSz+WXqKZtqC{ z3r@lL^cT_>;g2{zeHaXZqv_|S9#7qq`eEujsZXcQPn`na;EPg&sprBe@cZO^^19@O z$u}q0CJ#xzm@I{^#9zo$xFc~RwF)jxyftx5VxPohVp(EQA|Agl_U!1tqIXAcjea9~ zRrI{*+UUMyp>G#`cI5HMZz6M%Ya;If32_XJ1N+jYv9`9z*Ei-M``_RGzv}_ZOpXiu$3~Rj&r-+)0lJXVytdUn zVC)B4R+`}NN_ksG7A>0zj!^Re%SzLL%+0^XG3zW$V)=cYqIOfn)R#ZnDHF0y${*M2 z9*Q386b<~Yl(%JMfo}(C`|@j?qW0bzOGR{~Q`Eaij~?Zb5pm3ynyV~xO7mCc)gAYa zx#OPqcS|edF7dQ~*r%nmj_YX;c~9ftzB!g}<7j$}r0)(d{8!Je8h=yDJCdB{pP<^q z_PxvkkPzir<) z@T*eZlFLK_chLS@*7WTyr~cQi{dm{V{~O+wy6Jz{T1_%wr*v<*)jgD)^Ym}F?^53K zccEqTE!4c(T9muz^t{pbeElMd-sBYB+ao*6|HLU{ulT+;ivFV2Jrw=9Q#A0qQrNRdb|60O%obQ{y6*&D*nhCt9gd+#Y*`* z!heE#KlC)IJJ#~IIqOr)+5_c(;Hl=uQO$c=Oqe`wauW6jc96i(BaaVXI=`SEc+# zEq;Xd7u#{lab*{^tB=+{X)!qtAukLB;E=u?GCx`D?>}f_k6zG+7u&*Es8|kE2g} zs$sqA!7II|HI51T?^EG-Q0;0@wZ`9+@>hlb1l2z2sb&U^>99sNz^_XAlUw`KTTy6yS;MHD^5DQYcNR`4G8 z)WCQ^(FRGZcNVQ`8$W#vb0~6!k8m=)0}4dLEbjx$ffy$I<%m zJE(Y`HCFQs-vm+0za#u7sP|4!lZA0~js=d`y zt?@Ud{F}pnf@*K^R5OFd^xGRe)yyS&?Tz+AJ$);`mmNnY11$eCceg%{USYps;BbQK zuWoS*-S<)a|HW-rwRL>}4!;+H{r?Lw{tG#m7dx{Zf9SZW;{zQ>b-bXXiz)y&aSA^r zvu9@8_J=rqUkRK4f$c->k@OGKpGm(xy)s=&r(o^-WMXG1e19MRcKpNfW8*K1XJfy> zhj4yuO>C#w=F#6qzex4JqhaaWI`ZepO_2{oPKdlBGDrr&9VoGZzrL!RE_l3}H}G;D zPLhU7U{h6O$n7C|C+|y$ES?{^((qyt$)SKZ&i=ltoG^IDnxBjB5YLZFZ4zF?r-avU zNmZ^GykkZdb0H38qLjETRhEMg){?5+FO)*6A01SajffcK8Hfy1x1-owJp~bbLrz3r ze`-pBQL^wUEQI55a;(2OS&@NO+E}oLyA4s;}OAg=#DdZor%8T&?MCbIThF=JgZD}Jcqs`52d_SzDMqD zBAyBe4^~|UdMdD=$8$(Tk@RyphHaDByz@?&ZYolX6i**@ zO>p^9ZVU5J9=goKDr;Sb#A#JiltzPbBy_yYaAOLs45wq`jY{DEHg)= zcyHC@rF+u!mJ)4EnHnPH1pNsCgLhD3I+?cik?Jn7ZxHA3|CI_=Wu_C5^u*L*5^OF( zIaF0vIswU)&9ntq!S@>}&a9%2(dvounUUG)X|nK&(l}<~CsL%iCeRD!+sV;f^#G&*H`S#yj6u!_o5A{_ z;`JsVxIbbna?S1wR!?GL%SkW>@}WYJMHadJ!e!|o)-?(>Q*w|}zZ&v=Rk0j|JXfVr z*)5P3ECvTUt2nW&`Wj@(v~AXbOk36*)>wka$|W5Jyd%N`)=tl3!%g-T6tmPgf}mq` zs;4TJ1J+I>qRtVQ2DO}sn*y9+c^PHx6tjWp!upPvm?WzwNG?7J7y)on{Z&J6peHph z>hulEF(EP5Vq(RF{3qC1i0Z(+aHB9bM4(ExL*YV*MyMXwR~6+!h^#Rnf{~DZkYEfK z#t0oL-UD_P%}SWKA9x*rRqS0*Vr+78Rn!OIzKpDlN9!D={eam4#WBn3UPzeEK}%yf z6o4e|%o3r>*esr)S(K*EvTB~P#`w-g$0_9~N(OBjv_KD5O?EnJ1vUz1Ujf2GNF|Um zhGAx)YSPnrW%fY7t4dN=2l)3D>>z;-OtIsn3gsAq zTcxNIlB^5aeFZQ&m9=N0(El5%Dm$H3Kj8E=1RX@k{eKiwttvr%WFjcl(`!Ap1Ks>)ht zSFzxz)@Fgx?f;u7RF$^QuEG=Zb`@f(^8XE0cSMj~h4IRhl{-zyebx9X>RH3&F*Q6r zwF*9(@!7G-(NzGR1asQK!JO)j{Y|>7An470252DX0#E`^=Us)O+)UOoP-x0T{M33^ z!Q2kj0jIGdcs4d5r6;8R;&_Bnt45{j0mGQY!=FJgCwu~BaNkQz;8lfO!SK6y^^z}R17H^nZFog8~rY-#l2=#9|}qHCfrjpif&h?FB2 zN7h7kkK`iJw!7Lsy@BJuz13IKsAP$0Z(6&|;Z>(do#RxYa(tpt)6g6m2*`>tflYwe zYgm9sCl}W=G+AHFL$$t8;g^jIr!k>bSf!WLc0htdy^(P1ix9``bXn4-IIu6RO(DYC z>qN}91oW>C{6Mq$A3brPHi;CwtoFcy!TJLG3GK2W25h6v$3ShOm9&-@kQ{(AyYn)Cv;W|5qHU331MH6cBgIi(i^98>$I(9wu*A7d#*he|$9o&skmq&)4z-vaCV8 zr{+NDR@y8tI=BG#1zstYcvK z5Y!`=0z@u{AxHr^fA`gtzrgy}EX;Dj$pmb!a%<#>CTFLnJcbZi7DyPRV8UXj z1V<`(#Ie4bvKcszH9r^3=M?B+Wzfip41rW}acvu9SuTyNI*5118_b4F%zP{uJ+-Zo z;5cR^O!si0TdsZvNy!96+Dvcl`N(h@aWd*0l}jf}3G^{D2dB}IzS{E;GOy5h`cx*9 z4ot#u4yz{fD6-EDmo+CrXG zAotdUJU4w~WQ^e`&x^sr)`q@h{u!(pz&UM&Z6)X(%#qCppM?{5adNO`5a(gy3_zvq za0FzC@eh7k9H?I0iXb6Xu-FL^^CUq2xaQAL7EDhlwi(hir((zoD9-=j4 z1j7x_x~5{{X?zcDRh~g7)q$Gw7?_h%AsY%vs&QPBD=^L~&HBqGL75Dp(kzxFKH^Ts zMaChIrI^E$k{Uv#?eaD%3!Gy60RbS-R(b=6r=TXlX zW)Lexi8+f?8~#If4U@f9B{wkRIU%!Z5;sti2|y&-mN?BLiQ;QxQuUG4sC_odzM?S5nT@!cd7#Z5d8mD2LFFh zb}woJF3qO8?x#B77rH*y_3o}Sx(@ByrE9ycj?RB}-rIRQ`2R~f-`x4S&iy<0?40Uc z2LAuw2LJyV{0-~D{~vDf|66p#GJnqeG;>4d)_>vwLO~|HHrAf7yOx`*rP? zw!gFe`1bwUcWhtM-rXLh62aZz|37c=|EtscrC$R6e=CFkufj`kRqB1IQ&R`0c1q<^ znZ=1-*9|ixvg~9)S zFZ!kEgdPw2_`ufWr{2P|r*qiH`r zS}MHD;%EY~YXCj>SZJ9)xSao$#buojcN(EOA zIyi~a)e)zt{n;7|b$-+->Rm+9$1Hx!1LWlY$9}xv#Fu}>{@8q0`@F(CEQZQmnm)Gh zPW!YDw|y_X)iZ_0t^ZW1;2>;9(s#1uh2L(`V9j?*1qUE&zQN0$|szbX|Rge-6e?O$U} z-`;XP`$}s+-Zi@RRo)fP^a}@CtH}h;40P`yt?r@Z!JhsB(=WKZnBXH(^B`+c?w-?g zf7|o*izs@4Q`8z6re8SLDPynrzBY=U(CQwFu62qAepf2EyqHYj7K$G46t(x(7}GBt z;}rESqUaiHtQpNyQu7G+@tWo>lsr284k{jHjnzEE_hO~O>%xD6dM?$*{KP3Y>#R>L zYvWQ_?Wuj zaG1SN_j?xl>^L&6(?Y+yTOUWR#&^K;ORtXD&l|Xf?!)$d1Gh>AS57=|2kp1FK=-|%qbf9U8%5VtDm9hUQSW_vo&@c?d}xyE~4lj)>zxU zar9#M@q*)Mx9~ft_!4WZ<{7>hD;0JL{|V~t>Sj`#JA0~Oz3Raoy{9#f z3HonE_#ISxk*8YYZ%Tz1g#QH9Ug)W2295c^Q=V$(61}#Ay-+{#7vgpt8K*%Z;qKPQ zQQCe(>wEC^5UO{!xP|T=R>i=tN`>|oKSKMA9Y=mQMs9Cce;3i`0n zaf?>>P;zrmmEbsfR;!<(=4RGB8=O~#F5C0$ zn0|YT~Q&Z-#rRVn{l z#s7B!dQbfSDrx{6+P!0UclI~gFK6G8ogs^VD{}b1*0sLt(9AzFH)k%%oR)cYW@-Dw z?YEPAe|Gx;?Zx&~`mXfV>9gSf8%u9Sru|po|2sUjLuyg-Z^=sXBjncan%pMwkHqbX zPb5xFyfpFr==IUJM-L-+e#^*TBX>kT9yuwpcVt;4-uB}SWdID$%jW`~u_Lfw1jmO* znm`*h6+m)Ol4i2hUz5`Xmvm5Ej9|Eu@p21|1}2Vxg`6+Aq@6G(B2F_Lt;D#eMxhT; zz(T$k95hbGx}@>*!0Q5{4Ri|6%GKm}!6jW6(np_wZGwB29%3qLp9|ygvpx#w@_LBzv4DETD@Uf8bujV`VB$DOyTIe`!r=48*XljB`6f_vQZsg`qqKyw0AKI)p}G0%`aw z4b_yxfY-Uhc%5-@ub!S*iSuiEcqQnl;c-pK`CWzivYdK2XEb1R|UwV*=6=Ljm*H+TlC}5uTWw2(A&5feQ-J z4f>lQmBNWhTu4lFgd2*_w8};`rN7`54j$8h{1Dh8WCb$~K4(Ey2Wm=y36*B#6L2M9 z2!{_ zn9iIu!xu6|J|m$u#U==&fmc#W3_)xsqu~o%A-E#Q`-DRU4KYb*NvSZ*XLTtJUwrL^ z!HZy8VV?ovI?-QK4h%8u=5wS#vw(gX?F!TaSw+ddnsQ)pPB#nFHX&qyO2jtwCd3%~ zYs!TQc`#0SJy#xiEMH;U$%$n(<-`EEZhkQN0+U3aq1hyLhuA=Aba72-F~qQqDE$LU zhT1$t4tWy)bz*8sO^Gl-zKn!=hqw-(oC=sq6jG_drL|c^Oc&O-9?HA{JteL|FkcWR z0cKZ#9?pu?S5w}L>BmN4 zdSePimC2D1ZyWgIzM7I>2x2!YA?qP3%_Ijh2`W#L2Nu^3N7nQW&$YHgHW*V3VG1G} zMPk^8Awdk=Jk3}R2CFmTsj$JH_)$w$p9uGODIkeWj+KU4T8X$ z4iuA|KEoFU5DoCd$i!gnU`f+#K$ZV);4KS+-outA_ycvNX5)euE8eLjbrh=@) z%BY(Z_L-z+7gi?zE290mni3T>z&t5+)YNh!;ljEqZ;X&INI>N%X#58^3?gN01jKDq zQSQksHrYB3&t9#$Fvi5SbeL#UHW&0rP2>VdgQd1p4*4n3S z&>8>=AXd_0DS9Z7iOH;L5w#|72Mj!zJ`x64%0O8>!7f5PeV~X$!AG#OB&z#oP|SL; zraTwstoFd6Td7DUQ5C$YNR)+t8K^1Mg$XezZcuQ72{6G3a|9A-u%@(^(1)`=G9^<1 zSvI)wdZ9z97|8TaE*$w&$SU(CL>AE6lmX-clw#?C z*m0__rUV#P%I4>i@1(kXtk&#=HOChxmeiC61Ki8Vs)P7Qj1T5dav-(9aF9~w3rnRD zF>3(e9lK!z1qgF1IXAVPkYS~8GU^=_|I?F5t>R=$4iPW00x9znjmtfDM2|DFlse9M z1X|cvdr`P7`cX(4ARa~p9jpKfI{z@4uS5g1(OPL+p zzt;Xj>i_MPx;6F6i?ZgJp7EvBe33Oc)+IlJ8k_6ukysRROjND z@@idTr&oNAJDR?nYOh zc%fJOA*4+oBkzj$+&Fvejx)aUDx0M8#0#2QZ*kIG@zC}EKHzJSeHY&QKW{zI-|N=z zNb9D^iFrX|IlO1T^6glbMfT{iBM?3Z0^$lOOu1)ajYu8WFv?+4pnhr6wyZ68G zsvD;lx_qNeZPNSLA#M6i?QLs+F>~dYUbE2hfBwcH1?eW5TK9i!f9v0?eBfut-WT1N z)DmeUrZW+Vw@6Hm2s94l%X&-t(7r zpL*9qyBlq4W8TLOY199)KQdqWV)XZKS!j8anA&Jl>;8}JZ~f=P-+%oci+{f{t%sP} z2(24abMNkN{i!guVcIvQ*0ljsyXCS!TzUG>Z`h=-zIOfgG;K`HH63DVm#q1ITVjue zb~oD8mU|yNq)q?Fz92bs+~&J>F0{N!Ol_#Cb^piqxBmUq;s1Eweg|z#>mjB#NbAPb z+`Ic*e=1CEfcA~4b#B1a9@_7FFMn-(vrYQyYuESFv@tc;bkNl9JK$&AJ!h9i3+-;S zsr7juJETqj$G-l8*S{ov>qga74Ou{!HMQ>l*uK_xT6FE&TkpAgqw2|qnA&!eIoiA?xY5S+z-`sw1`$T)YiT|IO-Z#B{x+C?=)OD#hrCyyHN_D`m|Mld% zssA^b+#>N{;`@oqiU04FSRDVK`0eq}#NR;uzuwqiBj-jAj11#JxTo#Q|A7l(U|zl# zan*hYPiuS-8*mGFrKvaNE7uSHN8YsUM`fev8D6!!{Cv&kCd|p_qIw>`Tq*@ z^26Yf_N3&lksL7@|KH@$yqqw2q`OQ&dw6web`@+_qchWZeO48xOEbh%W>&A9A(%e1 z5|8u|^Di_W=^Z0oPl`txx;`>VXbmDD%Kto_J<`Gl;D;WS_f9oOV2MKAuyJT&;AD$J z(FmS^FN$xHx?4{W*%tW{&NAgu5*)z4_RR8156r&+)5Oi(8Sn&)`BC*wgwMbqs(L|# z^Ww+A%^Z}*ZA-o^Q5!Kp5ZmE96$j@>8ga&@sUFOK`f+iUOXANT|1ln%y_ODOvLGNuPgT#Zlu0> zv1EkE%I&I-0-VHTV;bn27h6V%EGCR+mcZ~R*OQN%W5>GjI-4 z&&liBW?s}8&mXX|bPqEdVP@E}=pb-KJ@ewqz#(m(WqO9_1F8|rAzp=Bc!EwAKZfbQ zdSIK6Foja4J``jhQ=`k~4JpPD4{G*D69UJ6$kpX#iMi7+V#F}-+9-qW{Pu zryu+0#f(7^p!u=bj*1{LEfB#Mu_#0#ee)v7FdftQV6li11(&``+(USB$-Fo+aMqg# z(=j;M!AuaeCM*dq15;c)--pOH?v+g6OhP=sJMe`G5EMt2&WqCkSG{@28cQNZf;=%~ zY)T|-Oje_V^V=b%5fBJe1Bl>@@wtSqpl?u(0b}S4!o)Fps1F3O5NLxa9Rp`zKCh=^ zk%6ZxH5)Jx;bmC&uwX)Uee)tT7~!1)(xN97GKH~279v6Eo_P@)5Y~3GbP{oLXl8(A z@Op%vpy`|MMMgc~1*{2H(39vV78-dElJEK2I%w~GX&5PuK%xo*#N*hKHVI5gNzIB7<)=3CYR3b_G! z6#j0qcV5gHtcFg=tP2cwmJF5LR29OJvHZOFGKg{4h0Jb(=~Hza4M7RS7UQf~V#;7C zY|bv#5d^LbUWv#r^SoF!=0%jjQrIj@h?^RWtj6%Du*!ix9%GLn#*B~$!#g7G6`&p9 z(XXa`KlNAH^# zMF#tcW?8M;EUOSOvk3s>#mu~9K7lOz2_q}Z0Vc){m`{QPPlXG9K8^?&LL*}A28uT* zUxBIvZ`Ag#cV3(Z#<k~iR~4ep#Goo|1a!*3)TNtckkQ%;_hYS3;Zqn(`+^S)$Eno_1TlMuf=aL zoZTjyCjbAot}k|dsOy}rle!Kg|9@FmXXl?gf6-Yp_5YOrzjx;gsQ$NYXIIC+I_~bc zx#QCv@9TJT#|a&Wb-biwuw(Pg|4?_}hna7Y|9@^~P3BdZ6`8@zBJ%(5ZojGhs`mF& zgW&k~eNFy<0w%(H(?3doH~qQv2h*=l&!+cE@0jjSFG@X{`faL``fTd5)cVwE`uc7?krPh}bsr&~% zjsJ>1ZF|6`;dFZmMcXa5IcEN(hQi4IVOSwUumODdH17)ao8e{@K$%m{jR#F@ldo%?GU= zxqD8}KiZzJUqsRSoubyXWCc;DjJ?um2gz3Vu!MwDH1NC9c8(S!8@Pov#GRt{-Wp@@ z+qF4Gy^B~x#2S27GmpmQzum_Rc%urBhu@(uAG5}4p5c43QsI&CpU{tvX~X=)Dp&ZY zvp#PQEd0w;&5onOU%jXCZ(lQfXh+JCZQ6mM+CMzi8h=wNxGI{>KS8y>d!1wkjkc17 zzj&&dOI&!^Ua0%g3*WHg$hhJQ-*k8DK;l~J^h2@$W_t|J`y!6);!%kX93@{ zJzu|wqBlE5t;Nbff9{mAR~qf$SFP@$=-p1y!0$>0S4p!ga0^9$=@hm1*4TyPr%qAt zB8vXZ8f%v~j(+4mUT_@!B>WC4-erx|Jj3^5rGl%X*?a@_Tyaiw$0>J*v%dN``k|*9 z)~g=;zNbLrn7|la9nY@dIQoI7TH|j@1y@D0`6sA$o7YKZ(3o*F@2O@k(QCKZ3w7^N z;e&P@83$D1L+);U9DUe+!+-+~)h}yti*CKtzHi`HrGl%Y8MuS?m)LRSIo6E&7g=NU zuA%?M-j(_|y4;#z&>M=5SGKx`l2>^82gi}Cq#1l9YJS3+XM-EG@KM|I^@}L_F{h}t zSXsgKP8oZ}XKpC^^;Y*#^lMJh!0$>0S4lG%XhG4hIz{cz*4T0MC8wx&5k+*;|0gj7sKzM;uoy32BH}SS4Fe=2I{%uoGxf#zV@}w`s(B8vz}^LuT;C*Q=oB7 z(0{Iur*Y!@dKT3_?WxxIn^M75(QN(+s$JuCk{L8cwW~bU%q4p5llDSAQMquU9Y-eD zxp0!ZTOUWK+HYu25n@%F^QiR}~7_>be) z#ovXOVW;@BWB10s9=ibV!d|g$qJN6sfFl3>duI2*z%6pZ;l2v)n{kq=a23>=Djua& zm(t)Za>L;p3rgdF#7PPjy)vW8MZ(oLK6r~m0sB_3;rj`>fTF7z%BTNF* zIUNz4$xcLFLlHmnZztifRtBT6Kg;F~#f7@2aVn>4;A$s7m?%Hg1_XNg=S6m5x~5SS zXR?y~!5t9TQw|!eyZ!TGy$BJu*oFxMg-~S?Qq=$ti2MS7aW=LyBm8CoO`5?P`3NkYz!tRN_khg}E+a1FSiDFsII z=)kqDb3#F0%d65;6cpa2RnCcz7m$LDFeJz zm|uk$pf^uUy(PgW7MF>k`IQI~qBb6@US^(&;>wY!X^{<6lwe}z*vRbUYE4cvr0Wx+ zo}HgDA?k@p-RZSSSzMT}sCGb14g0}Hh~z$P)35;TQ+P%tVh_wuW0*`zK`#O;0#Q$3S->brMTXX7bYTAQR?=oy zF~O2f;Q(e_g2V*e4r?XN-he14pcuh@h>H>y9hg59Y37umCfZYwSS@;gf~O)Y8S9-F zMFt^iC#{8n>}D1QW?Zm2OnqbjhrRcJle4P+|95(yAqfd3kZegZGh4#$)LmL=ktRs5 zB5aafKnM^FohSqZDM1u_0hJ<(4Y439AfO_eX#v54qEZBuqF=vu{lCw>_nCcWo@W;M zCGh9_!VzCdp65LGp65R2-gEA`=X}ms-}*O0#G-GAlxkpMlq7M9aU?*4zbsrYfEZX6 zO)8}v&_q(B23!hswUo!`UoTJ?sJM22h9I(#-3^DRElQkFJCt+hBZXMT)oE8KWO8C6 zXcU-x%nE_TaG{kPXQ^j}*vsK6#ux1hFb1l#yqu<9^f6MDsHJXf4!h%a7e9a zWrRSOkSgC~s1sHOib&6TLBv3FDhe4MqE<%9geD@E&ZLS*xo^FoVyHo!ih9E&QD^5I znIar4BH8r{3q$&9H5QN}@MwtHlL$YwET1sDUT`qf`?k_5!-8CGYOrvu%}?wVfy2O* zYj0PZr5uklgv80QYG>CACWacC)@CJGj3ByUqH#F>COlvadrDw2uqsruGBlWPSY*U4 z5CzGbmpG-~9}-M1MWRH91a*PAA=zJO#i$Sz12r^LMuk)X5%YkTA%Kr1tAD)$FW?m% zdLJ^3SAk_Aw1Zg0VP=@ZE}&NjvD7x>jGV?P1tU|ZgdP^?0-3!IYUrfYC&fhzfbA3M zSIG6R7w7^^3MaM1yn(;Om&9&I+9|BMULXuGDGV`Vgw0Om2QM#`cd$x1rQcKDzeyv5 zM9CYB6TyGNwBRT`zhM0vAi|_D4QU?=AU0|O5bZ!T9>)0M^-G1hGGvaRH#Dj`!lzH` z2eQffJ>&r^;N0d8(ACXai*1e(V6(f>TVd=rdTmv-VW;T$|1Wou_dk)?F)=6pV*H-? zHSy)~d^{d|iu!*ah@BYQAr_B58NDZZU37JHujn?B7a|WtZX*8wh{$00-{A)MfA0(* z2mYTw^ib&2fhB>I|4Dzv|5^We{(b#(eb4yr^b$M;6xJnswM?|47zJtT7~D+7-LC=XKBU6Ieo#8R|s%_$Rk!tRYN6d@ppPESQX z9E*-3F^i7W6DHykTL=S?;G&9rEF{a&$cjt>i^YgB5hMbSL4;<1Mddn3L#-2DtvQ68 zuoq^{l>IIB=qtO@qI%<2V&*9Y%vdf77G%}Inl2Tx6-jweL)l8K^p->pflt8_N_cKA zQ<206HhS$`=onR&0>Ot;d&BOEq&}#@p;>FyVVsMSgTNX&R_>|n1c@3PNX)9kvWX&M zXo!zR_w`kFgob5D^{D5Ql!QjFNoga(TqV$Tuwuf~H*>5FEISf#1MnE?o#GT8VE*c~mX zNQ^owPm{=OX4nr91I)fmaz1j4D-xd0%CnjK%0oR^`){-`RFN2URvyO#rmmu$9N8PH zNSwMGy^gqLNLzk`6^T`6L*r;)+M1 zef}1vNf|D+O<7ctXmvI)`dKYYvfQ=-PUVIw606PzW-}FIJH9Nx97Qog;iCx*iQ)1% z-W>M3gx5~wa?5iRKdKC>4Gc|Nr}mq41A~%9!=U_u3j=uPwY-7BHz)P6*yc(2Chjhn z?VPiNFJes4ZSZ9AmzPGP#0&tRj%wbhdeRhLZ&;KSNp)Z$O6kKGn_5Q;5VFiV#7ZYv zW320g6-jo$&FQ2@4Ggn?z_P*{$!EgM!Ye9?53b}W0xHkpej$Yd4Fd%1FiJH8Im?{0 zbp6o#R`^&m}Sloi#EuU0wGbjgezjvVvF@w7D2=^XNZ(OV5JArh*g`N zmIUrDtSp3x{Y#U`>|a>cc@H!$@Pz#OD+{1Q1FCSXmVtsPQ3wKv1^N%A#CGUG_kWx@@Oq>!vUlu_B1^BoZ{& zU6DKp)TJVo0m9M%L<{zq`Ycf+tbLOEfVxy9GCX2r2$~@4AEpGKsn}PMga_26p^?#% zm}_vP@ByaJ`BsTvzdWo$@s zk<=ODxRv-6$9gJTLZZe75+yopAQ)vnHcJu0J6h_iNQ}A~8%3ieN6HS0=LEw@Hps*I z!HS7ZPdRJ@WlFGIA=zXYN(Nb>I8afs=?tZVTucdesyejZG$k^fv>j*DSQ5C++4<8f+eZrURU|-NW|(G!K@yxvNrYtXuz!+>>E4P2 zsLKqq8xmwq68X&kvA8%YSWuDZbPS0mkv1gADFX78ofV!_rs7aV0@Km+DW@TUN@W$Y z|G=B9NNle@jcmqb3FUP(h7q}8KxxlGc#H!#lj7%jQh%By{ zk*{T|g5kuRVD-RFCs~T9x#{c*UWb8X0c8Ofuta$`dltP7zCh&;;|^uPAwQGJDn%7X zUuTAewf|3TNZpdUBsHGOr~K6N`*eKgcrx}x?9SMSV<*LSjK!$J_m$|oqbEgoj?Roc z9{FnI-I0?bdquVhKOep~{K4?)oc|AmyFxz>eI|5%=#bE2BJ6)2{6g>@!2_uxc$e=c z-#dIq`3Agy_x_OR`7^u+c^7-TJPpwQ&+xp-GvJB5jQxLA<|dkEW}5~>(*U#0`G%+m zL9-kwWU4Yl(KPL}vNIHoh%LYl8;^T&epTiuUPML8vOumfr(2u?v5rc1$Vg8$1OH``P&9@{DH`^ElDWcaOj?nYydJCupu*sq>ChY~8gw9l z%diG=Ge@%dk%6jT$YISvt}{A#8+10H-15Lc)z^ty&fnNB$sre>V|Lla(m+)Xt#L;? z+lE+jMOYs|spdb><9n)de2urvP%})Fla#F&h8oGQoShZA0eE5v1}qvGC^ps{4Wfup zx7bn(Dspg*qA|_r{g{9GhF+5MYZQ&6eRTjQ;HCjIY4Luz8-8(RWF(cUPq9}0~HB+V6mFvwo?W2 zSO!wk?m0al!Q_^(2UbESwK{3Th!#IRQ4U}ZfMHyb5D3@C)jmUnTwIKJ{KQ8!G&0Ms>6i8V8-A{VO__)nyyF?#C8LYmgT4ofDevV}5+6VSjPJ{#%sYqmWBvw7K%TQ6Q zizh(CR>aWA*bt(HVxlwVjpR?_i$5MBl>Ce~C9k%ra_r5nSdPSKK3kb|r)8T;EQ_2_ z;h5r-22kq$%7oAggRNUnWjwIW;R9k8kSmM#H(OZ&F$V(e#LCS<%n8f5fc*=Gb$4Ys zv}$mg8&y_f6_Lb8WP`~@br~dTaHck@G{X8q7B4;q)L&mk&Z(7vO>I=MAFv3hV!>V& zLp6scQs>h!<}e6Yd^rN4E|EZr;~ga?r!-J82h>h-b=bzaGqiYi0F97czZ_8KksU|l z>aYz(&l#f}zvh@>ay%_F%t0$2Z+U%A@UY#Hdfs1-sWBc5u`(WzGS*Z9Dkt50gngTZ-^m?D#=8y(vs3M2d*e8w$T#woYDsoN@!i0ld`McZr>8+?UYl~W& z4{T8cnnq4QSRzI+q~y>V^FcRh%m-y+*sPt=MHM-o239%|MnOWg@Y1x{+X2W-6 zRpm^PkTwDNk^M(!n*xsm$A4fNNo6Il+wtSPlvTkJDlvX+L-4z?>`C>e*OgTvK@TYY z&D^aD!gX0i8BPFyM%Xw=*aKFDlUi97s9#JFG15d2vz$r@gey5}fjCU|H-rx>{{v^O z0~HB}V9VreUCas`mozVxZdmhi=2RpsLeBX#=b|@>w`JqTR#oCp36XME^!GWn9=}J5)u0G6)y`e+LsYB&f2RJ+9#cZ*}?Ju}U z!$qC{zj>GcQU86M*k27U-%9@x{vG{2{s0*N5Bu)(ebIM~?`+?jeY^M;r=CmwG<8?% z#?hhrU}~4tcBySr-sIECDwu&cCf}F5FnN4(|70P#buyaxbK=*D? z#CT%=#8_h6gg5?V`~mX+Z;HP+epdXL_-^rZd`>(P`wP(q5613@eKK}wY-Q}2*c)SG zvH7uJ^mow)kq2LlekA(#=xuL|Fds%pWpjOujK!K-g}Mr z9Pf$V!@RqC7kZnsT(KXX;cebERdjrRQ|IN80dgoyX&Ru9!BpW}UZ48{S-}X_ywEUe zU4+p^dXiWtU+Hc=_UhlZ78&~m?ss6ZPbY1)KT}MbII+?2G!f)E)Dtx9F5EbBXu-oW9WXxunn38DPq7lRnGbRdy;0B7LqNb%&#gad>-& zTkyU{zm?;uV%nsQIqtyy`8t!*@;`}6NuRC7$GXOqbF3>?CT03UEi_KIAw0gb(><8H z*y7)jNtreX7|teP^CB%!Ee^xU%4-~CXcmPan7S- zIz0xPZ_(n}vU5%!rANMb5k`+TjB1G$0bONU)mLm^8%EFQbPq;X8%7<^71O78dJIP2 zW*F6vt<>}ARKuus5k^nb!fN@X(r+~%&pD4yalZqLE48qyHf%3eOrPZb2<)9~ancMH zPoH3gi7^*3|`>cM)U!!3BvYZe_(71JXf9)kOvo=5gTz4T%& zjMg>y-_E+yoJVCXOU}?sc-*1WJ(%3yV#PU+Mms$Qn`2r$TS6|=MLqJ(i!fR;jB1G$ zDR`r4RbR1*8;l;%=^l)}$uR18u9)7h(_=8YzhTsxGD;ryF^pOlVRTB}Q#0eW4kpkq+s3qyjzCVRN@Rk7D{8IwDnI zJ=NhByeBn_j;D(0c!!7JKB4E4Jv1d9(ZXn5ga4?U|95v?(3QG?UHrw#&Bz0oO^*Lo zu^XxX_u1%Rcrb97{}KNRd;=$XpY^Wv{MGaJu7A)vb?n=oD5!(>dk!_`MW@Y9DEP4&Bx#U{>MceM4fUHY_t z?2o?dY~R7PTes*=+gkr|o>nCVll)>kg-DRoBFH?ILQoy_i4f)0a*4yV0U{nDwz; z`m~GM=lAuUbNe6vI@R+g5w%0xdbfXUTkpGgKJtmaS^a<6nBHAP?GSobtD1Rtd+)D? zs2xoIO4K%=M%11v&RjeB%o{f8tFKyj5M3)#GhI7H?U|idN0zP|n(B9>MeRWAW4rWe z``Am)x#f^`mwzra)$=A1wFBCEw|{I~@4JL&%$oa?yEbY~brH2U(Yq2g^X~TEUky>) zpZ=Ao&6-Bk{&nZ^YrZo4+h|dHqxG>} z`m}xQCGTAH$RA$Vep9b%`?mFN|Je54pFVr`XJ>u*!A&~eYu4>U?@H9nyW4wzHAHQ1 z`d6Yhv$Lq}vemnv+_2~Pj+^w=SFPKNu9c{nuAQRx%tPN@@xhb+Jk{?;i`t&n$9Cz{ z{;{t=V{NYbt~XEhyh&EIH?;L`|Je54|8VD=7mm$bxiP&vruLe3OX*$NYUbVTy}ufw zwg>$yQJc|O)RwG&{kS6cZ49sqMk@|4s61$;*<-LKnIXn^MC1iQ5`-&~XeHQfW4%=gsvz>h(CC0O;?)TJ7hDSx zu}4Q2R3)NuYElM|O!p$V@(e^7ZstR5K(PkEv43;EYwZ%qS!}4Mgf>koT&;32661|v;=9BeI$ScJS8O%OWoB1q=afKQW>Fg2{r|f zu|Nj81{#5HKqO7DsZ$zUlxZYH(;}r8>P8>@Z0qBSaG@7-}4$F#DmBso>D& zDvlj#1?Cj&3j$<&f{3t!9LHz=c@lTZ^0_zQmK~kV*k5 zz^ZWaAt*1Tq9N*nLCO>w>!}J@0ak?}W{9M~7Az9TCr1(+d@2XqvBOO_n~2ZL3CDFY{-7 z!N8DAUx!g6z?0+zV;<0~mW1A_U}0cL7-~@jU|J9a&k8OGR-#hn628vQK%=n`Bj8@Dq)WzNLH7TyMJo4Gdxsd}S{p|mr2;UcefB5+DF5$VMKT~P%W1*Fy zokLqu0boP$)4_A8t=Aj)2X*zn8n`_0mOwrb@;~Ok!~cH&3H~vE%=egQjb}g4g06pd zJpvn@e}gp{Zq&}4b~UK7uTdrTU$M8QhCXk|mD(ZQ5%W?86iW)}%q^(N*poh`+cav2 zdo4ezsL0@>g)B0oh1&D1ibFLSd9=_Rojz3_9w*5j>%TOaTef^;B3D?xe6qY^8QO1h zS*g@}@v*h2(n15CIj@Ws5(pZB2?m)Ign(CD3;n0r*w{><6AP{)n+5EF&iV)FC{i;? zoWU={+5t7Rb`Pb^U#Iasl&!%w0Sgvu7>L=|mjcSvB8X%@>zVCX^#$+*R8|>y)OmSy zpe6_ys1qkCD+d6*f}ARwIG_u1qk}a;!$4O#snr&Qof6(Sz#~Yi<$Lwl1Q-Jo+exlU zDX{SpoI9o`smZ-H!N)-P7-CsmN$(UWet|s#8-o1PzM7z7uy7h8nZ0?*u|}Cv2OG0k z_9_c%f`)^I%9(*n=}EyP$M|C zg9UU;#)dr{8zgKL)Te^I5WZT~3GxGEhlaldB9wg{YDzFK)cdy5f)O%IW*kEf{3Q@1 zg8W|<=nK?Td%NPR0!9j?a#9|ptTytNtqK4JJJ@z&$+#mC8L?n)^Oe{}cUJ`yLyZnh zi0lZ29WudEAowd(PwuXs2?;w`)tr(XDfK{lHKSVwrg%8lTNNAwY#T$O#HI{nEZaue zu;Un&z1eDrWD>Y-V9Sev`+$~DhbXf83|8OPi5y=K8Kms8#aV*+1ef5x2!4S~NJs0K zF65i?)$vhNtAI)t7*GOWAT!KCjfp@;G&Tap3)6>T>ZuBl0h?Gu%qWrVFP;}bmXIbg z*4f0K3XP0_Zcv743|wt+R3%#-LoqXc*@zp1uInhh^_LHzyz0Oo&A3_Sh)C5Oij80=RF!qwU&&~-0 z0N)&5A~A%fH5z0M;FIG(Lr0(`USBrDKvi%rSa&veu^DiGbK->-l1d_?;0LOLeBny1 zHmz(F+36@)F0zjYs{(?-is@`y?OE}~0@^4@>1+=RtQ&%d!MfojXM;&9Gkyph3xcRZ zlq@g8`*A=6^+7U8%~pjg;hbp!28{# zQVIY?jLm?ekpfXtSs_yu1PqLU%^ijVYdK1V9jG7&Bcs`>;9sB|+ewx08;b<+QkEN* zh9de-a4=kGS@?%>8?cb)*<%+t7At3}0*8U&(B3XOmpTXn0f{Qb(>cPPRUk1?jfzx; z2h$rc0^r8@M5vM+dsacgz;I9`GB`{Ej6Xg%&2ZMhZl!_E!%PTH&yj zR@Ey{e_%<9puXI%{h=jM3dJqN3jFd{W?*L;~Vr;VU)K*b(Kv1 z|AH?6vqbgZ>A%r`g@2WQ+`m72^KJcJ-;=%ve7E~<^j+;+?K{%9Q|fX21b3%CmwHd? ztkj!RyQYRyeW{r#Px86sgUN3uKZ)1itmI_!;N)1cI~h#;F7flk4-#KVd?>Mo{Qsqi ze4;xMi$5QKko^CT#V?Pa9bXaOJHB0f^VnZwzm5GY_CV|#v72I7#@-e?GPWePU2Gn> zgD*xOiQXB#A^N`Ph0&9v2Skg}ts?)7JR5l=a&P3*kt@mnKP0kSWH_=-#1noh{G;%# z;ZKCG39k*W3cn@12bhF2@JT!cF5$f(6J8xUGxX-r8$)BE1)*^8_vHV7HF$mS>fm|7 zV}pB;{~r(hE$~}19KI2_E^u++#J~}OeFNJEvVl4NfA|*oqEs(<%v<$-%lj$sW!_W0 zhkBQKbKY&e9?z4W2RvW!e9Uth+5bm)4)?scC4LOgk2*Uu{(I;D(g^6(p)J~0n_^}+ zop$9sG$Lo`GdeTJd9Ro@b!MHn$lAGCXKS^b2&He(iAc?h|1+{oB?e z2~fAY-+{%i>krWWOfhY0%(mZP98Kw3b;mIGWu1&=F2UMuy2JMGnk!~@*YBb3=%+JF z^wZ|j_$irP^o6G1E)&(6U&{5DiJ7}ChdL)78hwzS8do{te7$I7wtD-&!B3kJBGO) zBYo1dm?@cFi#2W9WVW#wXf>et&<22GPTOJ!Yx6DETAwLqwsmg|*5+A*)U<^%TU)HD zORzRqUubS=(@*Gmq;|#WC(T`J9;Khw-_XU4kp6v#TdW|z(=0lkDyE<5@DOXrvw9xc z_wnhcv@lxNSVewoU9sj-`UNe5PB#pT-2ZgC2a|uaSaHmw^oyMygUvr^@oe$Gq@U9x z-@FK;&l^Uy#EO6hOso2eP27-!NT+*9LfA0sc&?ZUc6tnH2pLB8V=MJM@)<_0i%5iD z3#;YZO#jP#Jm);}y5E6Cj}}(dhV8|Q>3_RF0()H+C(SKQ`X5I6ta+6Fr^Oo5%Lu0b zY_--pC-~5RcfZ4D{+q>G>odjlU)&$z6aUp>O-&lvh^GH!v8FC@;eYjoW?*FcZat4w zY-Rd8=5BKy-KW2yBQ_M)@9%I6-oLL|bUal|f49R!aQ{6$kL=N)>3g&=TG!zJUh7J8 z9{o_ul5^7okJV21V6tMd;+#i6>hu_FuGiw(65^ZwfgbthMHqd+Fsdb1q~I~rs=i_q zHyC}q(>)mdjbYUBTrvHtPLILpuMMNtlu`2V3&W^&5k`Nhh1J^Xr+;ETo?{-RA9cS2 zi$B-G>hLV2f9n1S?ETE*WNIEgY^1L_j~=mDLwaQd8&+$rbAs{vvHKlZd&pv~^_gON zgZm?}_MpX@nlx(MY8Gqi5~Ehv7n)H)>5uApqymf5A2WBG^XNML4IQyiuzr1qTk!rV z&7$L}V)_#u9)kN%>Um@jg-U;13!`-n{;##JH0RMxT9%yq4S4*loc|B_e%qD0J#|_t z!^!`Lk_RNiiMtbLCx+v{jejD3M0~T@{jm#TqtO?lH%E_)ZW*aX-WAy;{1JH8288*OF)C@oc;6u5S+R z{-*s7c;nJTmP(bSq2baHp3U6w_QU1vsg8w1nBZLJ9VsV_?{|3V+9jr)qdT`FMW;CZ z#)a?J0|%k`v88KwHtifWO*>LPmEd0|KhlE~h=QM;Ogl$T(~bbH%DJY4AL>{E#LB_w z(zQF9c8-{)9YQ53(IkG{wvo%z18&$++S$Rhb9m==IFJS*7{9l(9Vt2@@#ss}Zg1K- zY?^im&88*}p5=Caqz9>QkXyQT%(QdpH0=-t2Sa02=xBQ{>TSv~uDsW%Y3Gp6?QoVL z)e$+rcCke)4^(a$<9qd+ zcHYpr9adq=ashJfY=<7CSPJcAO*>1cX@{dYqG~8a-_DQpfSix;-7}`0J*H`g3c9LT zsNpKMnEzWl6fz?OW!#>l_ zl4;uE_?BguK(ls!q=yp2%y;iK?d&{FI|a&z6wu<%cIbh4>|$~0+8)!+PSdo*>PdVP zYlnj$z85z}3QN~^n|5~W+zzW}fiMBbI#$}A0C{rFIDuZecD`w6hiTg3$eNsBD#N$) zBRvpZAnWQp)6VwOw8Jc7S~&D_X?xaZ;?T*ATDo>y)6Q6@c8an-OHmVs+QAP!p!a3n z*v7OoI!!y&o+K>BVQ;7&q)=&@`8C(HQ=XmPJH^iJ5RO2Cm#X2@GQVg?N;MGKz<1x$v{RU-9r7^=;NS?q z{k^0IezN{-VcN-0(+*)9QgWbOpBA?-(1SFC{+eUj$#rgr)f1x^Yrx45JrHkFEJu?^ zb&Y!`0%Z12rXKa)lKOh;J<&Z z_&4I$L>ELokzYr?75PBq%*er!LL?dfZTSB1apBK|FADuB^ib%_;a$lI*fW$4`9s%) zRt7&DJO`xxCxUkco(=pkaC5L6oDtY5u&w`Zfy)BR{qOdl>VKpEXa2AHe&zd)?^^$m zKjh2%W_e$rcHoiTcX}th55!l;_m5}dVJZ`TFZPMpxv`^S<=B?dKSX~N{ha4-;0b&^ z`LyRf$$OL6drqOQU^clXd6XyE^_0hZ3owQM{r&$m0`vXe9lW0T8p^~Tc&A_nLy?7k z@1CyrZBc)r@I1eF%hCG_vZKvV3OLJ>T9NY%~t@&`dZ{s8QuNEphA9kvL zYHm$ib}ID+{-L?urZcy}ziVy{iIdyEX+B);+xhrw3zeM@JJnw_x27#SmE!i#n%lY4 zaQnZSTSMaH_D`A*m-}`;{-=e?&WD}qkD6Q4mYqs*`v=YK*3)qNqUP3+IJtd6^Wk#e z&d2jDRCYe>RL^N{OqLtGV5B8g8G`+!_)mw@+$5T<+WXc%p^M&WD}qam}r1%TA@Z{f*|V8~6QSJTwRQKaTrAFl^ z`jyRX=PUobr4##odnZ5BR4$;IcB+RoD=t)ul?U}Jo7=9h{D|h(kl49V3NiR_3m^9T zc0PWrsa$Xu?Nl|*tqYanwyL=`w_Um2pt&_9c5XDc4SjzzY47C4&ii+E86{;@x0B)< z`b}K!+u!7N-A`|aenMO7R$T7eS_y5Tsd{uP9mF~`LywvZl{^>POpltm?KWzm%{8}% z#PQCdSuK3n@7uYZsj0fB=Qggnb)iz+#x%F)wkx+O&8;D^bE8ePWD6hm`*v;_&23k1f1tTFBzA5zxA(X3VZU$ZI)o}Jt~*_Ze?5&U0DT$DIGF^~wxe-pnu{{Hw0@g0c?_-*W-*vDh1#&(I#j6NPd zH@r`{C-gVs>^~hkEA)oYY@+M$58eNAmjgszeb(GOZ?0I zWwQT&;k(s$nQw(}iEoDY*WRzd$bWyY!x0#$NtO;7E?YQap-2{z;?{V*$R!8h5x3Pq zO;UASsU-!QvjkH1hRGlX?IBkjtVz}m$u`cmRmK@m9a3f!loYbrh6@8V$>1U5%tf|S!$p33*uB$J1XGeb=>}Zj6khVG zXmVjq(soEVYZ6I(5}D9~;6l<4hw_3eR_L$25jwJ;ws6F83Bt}|j;lxoBDV(?$-3Xy zomf)N@YPdydW;7~Nt!Pdvo(RjBnPX#Wpd8Q`lA9WhX-U;kwiC^tqCF~`Pl8Wj3Gz! zd;v1MfSize?A})&%oX zy>KfnNoQnCi@X81L#`hOKK(U;zEs2BN~@C2$o>M9f|EIc;TwSoLBLd_(@HGGxjA2B zSjblwn1bPQcTGSr)#yMgqf;a=O{AVA)KQ`zMi{_dAR+IpnSH>q4+t1=Cdhi6dKCL= zf>@{qhgMcvd1st{g8>BGm_mvy4b}`&;TA42{vx-Wk;&vCUz23P;y_Iy71FPRT;-j~ zi5g&9ut>W2*g#Ey3T0M0s3q@AQp-8Z01pBbxe`MpK!qbiF4R&voFgFuEjZL6{cW_T zCU}J;tDBY?qyj~GabFh%Jd9J}kwR}x&E1<#7$iQmPTD-YEK zt`N{QM-Mt>ox=$GuRK^2%tFv_9Q2aG4(LJ4uh3J=LoV~l3REO*o&^Ee48d-cBMOi) za?p^^u4!bzXv&dXzo<3>8TsrMnGBf>LK}c=Zm2d4A^GfEsC;%XDf78WB1gu_#vCpz z8wYk^bP{aW@v#XwSVlg3Z99|CzQrq&&rZY-fK8lg5)gqRcrE9%gU2giSS-Y3d;%e* z09V}%Hic;e(1x52F{+YlOMd!GrL%MJE%;WTyrALAe3;i+K6`C3lF7>COz%-zLC(j> zsvav5`v$67ZKxA9ihy%_kO9!y;ICmgj1ATXg?hxLZ8QTa48Ro*?3nw&NEAu~wE@Vn zE}X0g3=S#fG@2tAOVG=}!4Z5+tP4Xe+Ch%q!Fi$9cR{3pl;fJ9VzTrbB4u5aIQ|43 zffRHWY0zAY3u^+0$#{&$q7zj;c5?)fkkHPUGOoxcm^dKp2r?!a?d`-0g^jQ$ z^bYCz{8#9%2|6a~Q;{-2M2!{5Lzj$gIniYS>aGbQChAj>DB}X1KwJ`GWW<*62Ns%O zV4^(?iHr^A9cTUo?ST42UbWaf3iwipTD3X>OT!ZOKn6Aj38~)sT(%~tmuhHQX;nTu zs}g{JIRP32WTL+&;FoG>T4|Mesxtin2n4~Pz!`qFCWx4r7VS)^ym9dR2rl5gK%N99 zs3xG8YHVm&goijJ;7>c$@T}^S0H5A z%cLdH0kDvfd{0dv410zw8X2ciLc;_k9Mb|g#u2dOWa^XKP;@76gshe`VSK zcXwUcm0FuhCa+1(qW<3&@$2K6*v-`c`&@K1^6kh@)c@Nxv_5oDutEL59|xBCpYk71 z{lAmEfA*g5`G@E2p!Z+7DK@RE*1dyT2&(pk%Xy{p)+~8u?Hx~E`<<<)YA|ec?TNQr z)gN5?w0TpOto&*CsEJ)KpXzy&lsQ?`)_Vuf(vq+4KKa(%IkPvWcbD1|=hM5YJ<;Jz zcdEPH$5&4rf9mO=^PIfLiEmqd`iaZVSbgHDrwB~X_-g&niML^$oCmPZsV6R1e?Pj{ z4glDO?{mzWHD|9okN#DelW7i(m%Q_`+-__0oA%XLtvi>lm8iKKHfvFP)^pDrmfo~} zY7917)XuR!wo9LOQ9EPLtFQm*Cznk1yh%ju?6%%JiQ1Rvb@knL-n%!ZcNbARi{6!} zbvTfp>h6^hwKM5oiP|(L{!1?T$2b0def7pEUS9sdJ6?U&x-;lniJD8KfDyG>YmWcH zH@BSXccVpZwe_)G`m~GMyAH`cc;B^?Q$4@@H+HG0^R~9$JBiv?FM53K4G$f0OChhiHna?p_&DTSfm$)TRm7SaM0>vV*pG{|QsPy!?T8y!xtjr_r?%HJ30C zBWk_3JUX+nYO3Fj7PV8YkL}W@UDPhw_3`HipT2Oa=a>J+E~0iyTkoAjZT%B7zx(}* z5*yRIW4za_TS@Oq)H;O1Om+9lh}y~YuS9K{SeqsHeEe;N^!=Zn;^pNJyyMkZtviXX zm8iMI=onGE?c0C(!e>sL>UX0>?XA|wcIneDY8U=#=;+^__3%{BFaM2QMD4`3-aCof zPp;izWTzcIxiP&v#(T}W6X;!uT8B8MsqS7GQ9GXgm8eYr*|y{5N(H zwH0l>cM`Q1x4HDJOTNDA#`NwO?=|a|)4LM24nb&B-MuoRwv7Ijs7({)w&Z6!-hTZa z-`%te`l@x~bge|qB|6TmYA-zS*mE1gQ)95vqIR71v0eJKi`vzvuit(3Pp+Hlc@v15 z#{a*eEAfHEWMZep95DXt@h`U&{NK_YUs|y{o-@dFOhb_uT9GxaS-Y^9H*9)m87h!QG3{Ul)H44zjJBN1mL+ z$|(=NP|g!aahmqm#h>Fsj8hVa8YtNu?r|cdu&Dd%;@EK^#w%GGp>!3{p(-;CcVj+V z7Y`4vw{|w9LDKKU*(y1Zg4;X4E^eN=+i6oO?f3L zCMJ07l+Vy`*5$ssICJp485(g*;_(Hb8=O*nn1D-jnaUs4WNID#YBOR#cF*}Bw7P=nJ-tV&GD zK`O_8RM;XZu-sjjG70!4Rl_nk_=<6pQMHlNWAg4w#qN3(5`4Cb#P}s~*WxSYK%K8)#IZbBSD^Ov3Tt3u2!aBxCTbHqTJ(ZcNNqGboqAlIxr$!dD zR8WbGs0skni$p|8fdtMhozyCRN={K&MkVM<0M-XBSL(MX0s6`ua$|#i($O5GnBR`_7-UboNoFP*Bpa?uO z{K=V;K!oHM)J}(pWv)pi)0hA%Anlo?q^AltMXtZL3Np0XmJVYA-8+gRq7D{}6*&7T z_18{wCzkjrij81+pj$Z`B&>p?(^G|57y$aJ<>ZAWowFT6YKW8J^sO+Gsht8XC!FoH zV#WX#Q0CpG(hVnd-L;jFqAeAvj1O-@mMp*xoCGtF1;VGKUIMm+B9YM%;CjKmACr1r zC3G$Yk)%k18p9?qmsB>%@wL&*M0hcEGBs5wVTguWwK(dT+E#@5a6n7!(ijz~YEm;n zy=^NgmPCPwngU^H3_BX8$S_Lj1U2TZw8#$}5E%quH=j~Mbw)EaDWIT+rj=NNrzj9q zugjI}8JLyeWo>in}Aci&q|~DVTe@b&!i4ff2)S zgXO?qKyn|b3Cg`pUk9}m`j8MfLi(u8Ct7W!za}X69B(?QA;yj%l!0-gE&_k_)CBFG z<4r@%Aj$NS))+u6XC_Z?O|b4|0Ce{2K+@A|z@^ow-k)SfWw|=-!Q9TM_M1M)PU{c8}HJXkVXij?JqH#Qk<# zISEvqurXqz48Xl^fdN6&bK=drQtg_`CM-(}Y65VN;h=+wG-~eF~#2F&KJn|pJMoI7h zQpRQq$RXzX>&tSGoap!XhPtT9SM%TH|D6B5{&W1t`j`5P{$78=_oDB|zB_!^`mXey zLzMnrz9A|A+@JaywF0lETHw*CUC0;MJQYg*Z}N#`BYAuBy5u{PCs8?YpJX|?ZPK53 zCQ$=R@bgpvIA2u&$R@T(_^AM}K~(^_Abv{x&GEhBL-AR$zr-Gm{U~-<>IOM|Pa z0I<8N0PsTK7l9uIZV!Asa8cldz><_#K-Rkb2YIt60JR`FKlh8 z;LNoe3wCSK;+gBrT`R;o^C>;-TRSbE%uO9`F%maw79CF&GX_A`afh+EL1V${TZa8l zX!)_O!T%?%D;5@P<}>>9Z|$%%8IjL-x(Ab=v-o#lDrY|1=`q;6MN5?F&hYtZJ@U7d2|CV9Yx(K7+ z*7CKrCHh}CAFpl4$7p`j{SGYNp+#S{VSBM+##F#)zX5xuu!g#0nER@cKIvJB{?{zl zjOc&KV!$E#rUu8>ZF@XeyUk*)^_gPkR`-z z%8iye*W7K+qc!>)I^2Ma>V+L{!TSZ8MaNUc%-cIW1o!XI^T_V_%bcf$(Yglz=UZ2r z^XOtNf=*8^Jie>bJ(#@IV#PU+-r4Cf*t|rGXNv;(QqaQVl>c>{IKIgdWz zeg_ucuZ7id8k4!k{SnxEpT)_P3c1=yUvnP4$6^iX71pk>T5FvXjNiN6@4(ts7Hh4~ z6f;-4KLTs(EY{Sdk&R^LGK)2Ji3^wO3(YNI<`6xP)UGmfsJYvmM@Q&y=-4U4`kOo4 zg7>2}i;ky?nIk(q1oubjd1T)QXAaZCXkCNudLd33CnC8s9?9+!8z2b0SzR-E(b zxK5A3=C~Hm78ge57(MdMi!k~Y!>E>6k%HBxRehy(9-ZCk9*mx47uLm??C42=0q|9@%s4G9y|Tt!wa~ zv#vDf(e_%Focj-W+_}>|nA}Ou|99iyJ@u2+ZK@ME8kq6Zw7Q`;qG-7e)?^WWxUl*TT1iFAc8r*UxscAT@jiH z?HZZ|&fnLAm-*-Wp7(vvcb)G%-+sPry}$R~>HUCrm3KdHx93Gp|KI01)w8cB+x5?` zTBpD*d7cGu2w@M@(IQ^XD#CK=foNp_~>B$Ac#1hnd@SvOF>hW zQ6g~!k_gBt^npT7n+|eyW=)<84qP1glGj@rtRK*+aXGW*aG8cFl?uE%|10*_CBYqM zv$JvWOq2ZrNF`@W_=ri=txKXi&Spc*D3R}scOQQo4r!e7WBJ~?M_~r|h;L5g;b%T~jkyoJ}+6 z9O-gMM_p;^moBJF(mRf5O=CHti?(+7>*%7oWWD2vw#a0-#ADsg;ZR*t-f=|F)sEwQl{PWeT2vrs=)nySahdrd6aeK$HUqkAPO>RGuIYMzI75x>J$J_|TJThR_9~ zqI5)55gIgyp^?!cts3ZN$@(O&Z;X@AY`p-H8k|;}QDu6gI7oo!q!MWNF=+Gdw92mF zU`(K1IItI3jQ)B~XobPnc9mU$wq(juP6CC@8D6$N0x@<)JF(amr0sJ+On?&5C#>@G z>%-7uS14K;9KgegFJlb=T%*MKY)^eVDAd>(16J$`!Yv3~lYl+u0}>`F?n=TGjglNN z!igp$u1y7K5Y04LSE=pr<**b~FkF#J5OUm0;xC7S1jDJ^c35+ei(x_0X*f`)zr;Ki z2J4dAj@9C%7Q=$HWWjskB%5GB04VzFlG~19;UpKs0s&HRAp|l|ex#=^IqovaG$#xb zh6SM?WYrS9M!=#3%t?m3h)1ho0TK`L#+XZ9^n$viw{wc!B$AOL@{#yF&hN1+1iT&# zOfuWCD;&O89Shg0Rtt;klH5*~u7h0L6)k26dc8DMmjrhV3&#W6uxJZW%WqqkEcflU zaMCNoqSRYgDee}(438kAqgrKN6A;B3I96Oxmn3&=i75}UmQq@17Zz4(Os zJY`Glph^JtL1ZNnRig{)TR+OM5a&FC{X)b8Ko5HVe@juVz z)&K5~ekpoI^qA=4$iE_$$jy<9BgaMZkwEz2@Xg`1;kSf$49^HX9=bhrWoRJ@6FzKc#rVry#ddUJvVvI@*Ln90HgmWUAMf% z>F_{9Mv`&g)}f9t-z4yf*~BVOAT=Rq{S6sP#@$H`v7iD`9!t>I2-nT^He^T{cSFp$ z18@O0i0s;#d7^2Hy$u;r6pSGfD+RDQF%UqtAoQQz?bw3G9Ece9CXo!gg!B=RRw8g5 z@Fh^!1{<@5yF6rVxDKLV_}cajUa>sXkURzSg@arx7~#|Y8*E6bf?M-Szkusu|CI+C zlC8kL)zQ4D7u2@>H`?1!nF|)RQZ~fyvC6Y+Mb)wG87(YmNa_O0MmK3Tt`fdu|CJUs zBzFO2W04tU1C&S0uQ=3@#08Yiwrb-#4)O-x8G=-?R|+d8%HslrR2rTfnUJWT;ogf+ zY$TMjS>oCD71_87HXE|Wlp~6A>@^)hCAyp7HcSEZ4S;{d{G$z~*}AfE5LXcq!-O63 zc2L{4^v623t}H#QrkKF&DWqE8>n(_Cup!AWn7-S%X&b=?VrP=W$HywcW@Vru`7bPF zPI43sL9VJ$j|Amn&=dz7k_zM6IBH{r%4;Zk{9)`g`3R-{hNQ)??l~I=_>fhS-2g^} zsFGa1w;|avtb2x7^bPD1LQ6Ot9vPHGKHt}noEY?tAyT_n%zv4JOn4&2CH8({Lvmr* zy*8&i+*$i38^Vp7QJ*;kiT7&U~=6BC9HphMud zaDd_T!I_(_s{|Msn$|rg0|@LFb^^{>z6m;nEvBTusMl?!MS^6^QG|qevg;w=qQ5R_ zFzj91+eLmbZiqlu-bTJSl9#DVG7S6rc4Cnp^ed|#<4N4~2uW_|Ldw=vk;>pu4H0J^ zn``m(GE_bFbD&UTV+<8O1wKFE=z!N`q2Ocp)z5}Tjg6vFVng{#kt^|`kO=_7)L{KA zsALv6ls{Y70@aKFzC!=yok{GtAMp5EGv+g*PPt9W1Jzx}+}5ZxS;~cv6Tc#|yzqEc<5;4kU8{ zcq!AMHZ1TNN~(-(n@KL{t4rF#LK}^?EAV8XQvvHDw?Q1%lCOZBu#KBp(H4BohIgng zDGP4&%C2a4ALDPAv<2)6NBi2YXwlgv{Na+ifL-ArS9V3Km4orCvKTCCMoPSXd?WGg z2*MX8Mqzec(irA%VVbn;iqVC2$z15O9$u*;4`h2Q2QRkYP+ig%up_onc0_*pO`VDR@RXtf)&Oj4QeFfwONUB}UdzQJA>rBq@eP&e^&GF~&e( z|IG4Ug}xB_Xz0Sw z38DQ%h0ub~jNm_lkNMtD^#3uweSM?8zToZb=`RdU1P>1G8XOAF4E!bVXyBf}t>F7# z6IdHK6^#EK1HFN8>V?!VQ$I?5IrZVxJ5m#=LsPq@hEg-g6ZmQJ&gAEkA5LDJJR!MX zawIuB=}WwrcrnZ9EbC z8`b}QK%T&RiA-1#J219mtUDHnJ{?^j{buwt(f3EsjUE?W8tsp66^%#!9(gA6Fc^k6 zL@p;!;JC<}B0ENUBa!g);fKQC4SzZO@$iM@3G5SI9NxzNCvqU}^MA&_&cBKbi2eLy z{&{{sIENMAw|!so&GdP^&v_s8e$)F&@1@?eyp!I8DM#1s4SIg(`MKu@p09X5-!s4XqG06PXe0=FyjrGqg)=>1=6q$#t*4h<+<|poV zVC@l$wbo~fnID_UtA~Q-vj^$XoTsnY-h;_|Sf_hT-b3|=bUs(inlvWoEhg_FX7XC! zLX4g40cP@A7rAtx9))=_EW+l#`d!t(TbX>5`yE)^UynljGsUb)VQRktdnPkV-C3#j zo7uhf2QrsnZ6Av@{eiN3SPZldHsfcKsOGh~eqe1+i?!BgirJ;^jltR*tU=-t!`f~Z zYw8lL?XE90z2n)0UT2hpJ)1Olt#u|lLw`fZ2?4Cn?r;mFWzZmC7kdEf(&+jP1IlXERr9P3PWt4@!>=GIy~TMl}%bM(kJ zFT&^+hEXlCBA`R2RehyZL`OQ^gVABbsN=a}c5$c2V01gfsD5mv7S#d6sC5xW2eq(n zYt5rY=HodQx@^Du9azk2VO4F|UaXi+yFUVZ8HPW`XT+<8{UyBvTJj(n}r^jIPPg*>i&QBTU%!_*Dn-{tC2g9hASdoITX;ojb zi5qed?{p7Ih#5v5&lR(gPLClCQNyTyY^9z@LBptZ5s3(CVYQA7vL5sCobxE)eg_u) zT3Fi;Ns3vo`y;UDvp8waqs+gJ^fl*Em&F>=%Lr!vrt$wT>Po$nxc^I&5%B-Fj(;S+ zP3&6m|GyaBE^=!m5B~oiq5DE_prYR)fu979^#9C%4Ey3!*bkrP`2+a>zOIWbd+Yz< z&ox)gx9}zx2(;A6i|sH{a%Bqf@D;(EylS3>H`%BAcRLzg^0Dg<94wyy-6>vPKKh~q zYID_9+gf;&rfd5-tHzuB{aN06c&m?1^}DfnlUHqH;Z3^qX*=6pa&=(q@n?R1{8Y~` z|Bao{rdQ2v>)rmb?Y)0sa5D4mPwl)hy*tKx%~e~|yMi_~?{4q?)eyC<=wCsbnli<% zqV|cKKQzDpnYV1xS6_A2mUOM4O z=QD?I(pO(~Rg$iisF|*v3iP?XcDm>8?oEgdepSNy*e-qAKlTN`-1B{R6l?(an`Bjs zxAkuS*!JGlSRf zbl4^qwFq4+Q8Qh;h}upw2jBIj)KtG4tw6)p$9Cz{{;@Cr#Mt27XXmDR-Xx+HYU|zp zvF*Lzz5S|p`M;LmnBHAhwIIE#Rn5G+z4uo`)B^OcL~Y(QtJ+6LFaO@4{|lS+)mL5R zr)wo@rfa9DJ)3*OdtP|rq^W*4TGV{j$9Cz{{;@Cp-k;7}==s1@&znTlyluVPKeoO1 zyO!wdFy!ib5=cQM0DA#1OvM5u;9To6;{JYhpd$P5^!+%QnhU=A=P1{(r$ zL6De}TE&!+UPM3>Vd+F9G1CScf_ULdu42l_BbEBcq~sAx4l;N{z%NLwcD61tWs# zhCp5rQ`V#s7c-&H)cz$1o@&cvk`is(-w><|0;k#!`y@v?m#1$cQ6+_is9o}l1na_u zSc1yPtY-2NR!vQ53EImx1oVOkwDy*XDkJ8-Ao;_L67kq14>tt+g5=?LT11|VUf!DE zY2J^b#KrE0;9n3`rf6k^NVukkJNcG$FS$^Jrwir}1erjM zj-pY*Ly|V}y2vRR1rltZ8*JgF}8|iHb zHUY7lhL}+zwVLc}>dJ%0uJmKMr?DeMgdG|p87RIC!1u^EFP|f*a6w}SXvlnP(#Sv& zaL9}iIC%2z$^TYIKb@@d-^qPV5npd$!97v`&EqnbOr_~ z2P71cj{|^4PTp;L`+}@PB6A6H1_EDJgx8yWAy5~rOxx-M(3V5kLJp-)2srB5^bT}9`ZHffjR*z?%bt^5^a$3# zC_oWX836^^+Yl%W$@tZLi*i6|qmNn9DbPV~o2>i-fWgXdh?IU9TMXiasyN1HC%d7% zpdr8)lJaYv0V@qL3XBI?V#P7gJ^&jT$uSG5lnI(r~)vWX$bNK;r#7Pi1;AAy~GHd7TZ0xdGraY{~Zuchr2>QCx77WK1KXTJI;Fl1TSG;@XOl`P6L>XiL6wiDg8RR?%144FYw6N@*vSZ9E%HHieQ93*=_Lkli4N7pRnW zS`v}juS!`JknIG(rcmhKAg~vx6h+JM$che-6Aa|Y@x(+c_iPZT3sj0C(JF=I7Z?Ki zBPS5w!&u)2fwxdYIJIA85_VM6}VLjwB8x*RA3{JaFA(Km`JxiG}NwUpu5J(I4 zzOAH45c?c5(-@u+fiwdpZG#|NsDW&yMWwL3k{e03KN<*~%f^3$;9ID{X(d)GH=UE% zg~b6r=V)R627$Ohrzn0!cFJTEi-Uk%YIdumqdglEP^ht?HKkKVwNCLwQMhcFw!oUWDK+x@`Qv~Bq+!m5iCLk#T8x#ToO**J0nOY2G zY&M1N$+!<}5C8(1y$))XOf9=5NovN_LjMkI5Cj5zLQZNnw!FG1eO?c(h5g>ML7)im z2^nezNm9-QK@Q6WeZ~&BcY^>C$N=d6Wtb@IhDpf)pyf+2P*|`*PzbQunnW_a%8TJk z$`nd1SIPGq+8_V~Y*xEnH>+5ywjU6JLmLEyz>QvSR@*jqg`o`sMBqlR^QoC(_8+5# zr(E``4t`{>iUZY7o$uMu1+|Ea6@7|v!KMwj5SD^CMj434JD_2!s%d1fXo*?b@?)#| zcF5SOT4XX@vZr-`f;HAa$X2ym`NEfzSB*1je8m{BVB!G4A_byoeA&pzGSWT)7#(k% zuePduidV)LF7R(4lZaI)h_SEoR&{*EiW66#c;v#{ zeJrRvAU(0Xv%7jpCpe#6m4ams;L#zM^!2q#9c-M3P@?nayBQQnFC{%KIGCm7Dbu$Q4;&fXBUWufrg-6u--XYQ9f`ieq7c# zRzTmuplAr{1qOwo7Nr2VsALwiGe8Xk89Un75UdNdp&^nvEKYFT5>k*Fr4Gs!_$-2P zffKw*r3?yH9uv?!yo^{L9Is>>f^LB-obNCxP*<1~;{1nIWHgs<2)M;|0}fi$Ia$)= z8gs;;YFTC*0&(HeDq3KSl?(U^Oep@&du1B}b%D-o=YVZ=iF|R~^#YYG2pi?@h5%k* zP$*g%9!dUYSWp&hbEtt>>}d$b1*@PUk-@=y!W{r=25xlO)aAj!5nKy&hM|$6A<-W5 zP93AMcz^-Y-%w~4(om}|SN?D8A~vTOk5W}nJpKY^pC zV7^1`V@l-MKM!-jBS2}CCN1L8R&WHc<{%gUH{NXIpM?#n}R(x zCK{?6I{@!?e?#C1u-To|;{V3Eflq{#df7GSdl~{ufJtG9l}W+iksgnxLe%)My^V1h zfhLVMDZo`_av>U&sbzvKXdDL-CWUE8n_k#3d5TgqmaM@zl{jKMR+zKSnp^y3n2&O{ zX8YmIev6R19CvGr0tW3rT*b$9pjQ@!V71$SWvTynwXeG?^?MKi@4yFeN$O1U^$$vo zrsk6o@NDvD$@`PHB|n%vKY3hok7O=6KN(Ftm)MZ_dg7yr%MxcLmM8W~EKbZKHsGoF zPvbuzU;oDV74g&KN5prIFD73<8hau3aO~T$>tol%E{L5JdsD0s+cNr(=rhrWqxVoz z;EL#}(SxJAMz@R3jdn$zjQlY2rO0)W_flQpw8$}$-6Q>x&BFg1ev*9sd%zidcleC( z(cyi=qv5`ADD=BfE%cSpr$X-zof~>fX!lS$6bt?}_*8HMC%jeiF9fa)tP7kQI4-bfU??yv;PbzLKjJR`4gPl#k#LlMPk#=t#NU0t^xf;b zm8u0-_)ha3=G(#7?MwN*cqkt8uJ_*N{fPGh^8XK`{$I|!rRU$CCpJM z+52_MlXZ>Uq90gStZc1pU1u!yI@VE=pdRXU4<;Y9_;+M$Wld7Hvq{+8pp&4?J;P^J zryeyg!f4Gfsx2;7)$Ego8GWT?;mbbL=^l(eZ5VYtSIim|g{{`OqdOy|>LWfwiAmthGK<%$khw_D5jtr`8}f)qVEI7HjGf ztUatR^jLeg>?d{BV~;|n_>{S8?K`tK>TlTNGLJsf;TF8#tl!u1R55GnDLU@J{ipRj z(zndWUay7Gx(5F@SXY|!=yO^Gd)(&Hmpa{p$uC;`JLi$9sOW4GHou_7)7&$BepZis z^CFDiVi?sDD^lfVeWP#ebTd-YT0jC ztRcNJg11==w9W~}&(w45an7T!S**1_Q_PxbitUfU+E=YXQjgh4(BIJE{(<$2JKSPeFVgSpc&eB+^%Na<;C`*1M|Ou#_U&32 zt!wcA4(m#D9$l(M(CN?n|JZvI_{fT?{XgC5bay%%AOpxUOp=*lddWb}IZk>DU+`6Z#&N+3?bKvn!?b=}SB9H&zJaQEkgO7yG|FYuQ1jK0e;YHwR_=h538 zquxareTNlR&qJPmtNVDtd31Gn3oKq`g*D)jPrGW0tqri}iZnW}yAjs6IO%K5qboet zkY0`8MvsB!Il=h3dXBB0cUZg3W3Bm~V%k+xY`q26F7*b%4FfU6uzpONCU}3Dec!-c#k8xZ7-)g}m)dz`o7`tV$_k@* z4gO#3U1`jtHC6+L)`!!hbzgwa=6Vf7qC=~Lau z3(lj{!&_kS}z^ajaH8Z(cM)A|3t9k+D!UC}qwcTnHbz78<=uEl=e zw|AGGM|;XWAMAN`&p|yqr~aIpPkk(PLF&j<7CZgh-Jj@wOZV}h=?x@*l)NK(Me>y7 zKFMtp4<&BvI;d->*zaQB=9K@6*y*wTV%v5;()pFn_jbOb^Vyv{Mt>Roa`b)C*G3PI zu890Sa$n@bkvB$WBfCfXJAMco|EphSUj7~YWvyzpAfzXWZOzL!MQ9wAx;Uys51q%%WYSvudtnalB_{5?dAw9+ct2asc2E%@T{ z_*SQu%**G4m(q~(#qk+Y)Q z4qhlnq7MkFDuGReFB6QDCoDRjo;T?cB5D>4s1AZ|uxBEMu_ z$rEO5c(BF>7o9wvoIU~%&52QI$@~$Jn6ZIGVfnpRM`RMARBSsQ${@9hAIW>Jf`~ec2ZMP21rT!x;D{L`Fyg7} z#2FB7Pdu=kYYxpT#$5wo-_5!x@qdHpsxV?X>`P1M72uAGvO%PAQrs7j6pT5z)SSbY zM&=dTj?XdRrZCly7yUZ)XeQZ(i`PN6dcwSNMtDYWg z*C{8#enaynrakWn7!ZyuiFM~ROp)cdcZt|qG_Rm`kfIm7Cpxe!EuU8yJ4cz`b&Y{q zT3w?f^NL~TD09fB^%Tda=Srm+kk98v*RI7gP8Pr#=Ftpi98^#wt!I9Jm)0}nnZ;W& z>Xvg4jsZ9>;i!bFo2n1^B#yde)=?UaXhw?Uu|5?xU2=kDhO7$0;&?Ao4osHLzX`i# zY7@k!<%c6C!hoJyX+87Gf?&A`n(S~6?-@=kZGosEt&|*gp)u{2tJvEws`y{wN{rb3~AFio|NYWL_B(?1+X`BSe}B z=dMJba#+cFPf5UeB}H&-XGpBJP~tHh%@W;g5X^U8xTqqqnkiMXF9fX;~b4Go9Y}a|^LU5*OXf--I)8sIZt`!wtC=Je! zLtzGIL0#aW9%(>g(HX!IADSP7hV9Zk#TpS{Z6jPottKS@u>0obO|&{}h3N~b%f%p~ z45~O6nDyCt6RyrP1LRT|l={PACR!Cb;TY--mXVoPxVk1; zfEtB?V_{;J1OYCPa6;%5w$72JBW93HIco)qq0BKYCdP;66|}Aaun)BQ0`bGlRb|Bi zZ$3^CqC(aQLTnIOeW9dMn}m9q(DL!zyn@v^(F}NFjk?fW^|(aLlfu=}76Rn%MAN5S z@K5L!vK~h7PBdHSv-1jDCq^ppe3Q?^EBb$f^DctjQZrO&0w}!XrV)B3ICY9f&MShQ z7%5Amp_0DPoE}^%Z8tv*8Tr8;nWtEc%n#9kB4M24Lz8RQ6sKl5*j_VE$>mw%{ih`m zQ`5!b92sKD51t=%ibTV|zC{&@0!t&|vsBV%$)_0ElUk7=#FXhsokZn_l7G5sMS=uM z3@Q?_2o7Nnn9$2@T9F|8mBeEr2Ut1ThZIZo6v_{l{l8DgtsMh(u=+0k!l3176FR@+x=kYt@Z;B0e{Qk<6lJSvL-DX@6wh{OIeL*6YML*8KV5424%{cylh0Rv}_hw zn&X6KWBagqsD5y|tSQV!)Jm*u5$Ojk9;$nSQ9ikAS+kmr$k4KIkl#U3Ay#4RHaI9u zEGZ8{f!%5-v}_QY#Jr~f17RxInWLql@)Af`h8>BP46>$_o`C=phAs^*SKbvO)VHO9 z#UHH=D;L!b(~>=s@Nyz?%8T2PqbH*!5cWwVydJF(?p%47cI52U%88=-q~dU;Q&POF ztQdC!*n-T6n$T;CX)p*Xk5`x+EGyWZt;kU`Omd^}W+d5B0SOgga=5HecN7&zW7HWX zXS1o20>jQm)OBH5S)uNzdkrd$70M&KCCUl!uXwPDiIKA6+}SRc2G1I`YB$Ho7N$nZ z3Uv>oH`|eh)c-5x$_jU9w+lSqY)9*2g@$_-BO#~2$Ni~ zfJCb?ZV2jdS;6msRahFg8?lZz{kAJB_?^wjqjH;3X{5Y04QxhBja5rnl7dNRRpV-A zdJP)k*z7d>dvSJVZq4j;e(3zU@>XUunu;uaysTO<2+;J%B369VlX^2EA6|v2rEB8G z!Vd_$?Q=;9H7FJc2inM999&sA33Q)?^Am6a>OGB<3!_&$d_^Pj1! zxq@*)Y(B;$6H)0Bq2w4OtV9eTA$-^`thVE&Oj)@TMCk^fZcGyVc?cjCVc8a@vSlSv zu*e08jZMop<-6iBRt)acP+8d&7`2X?X)B|almwh~SWt-dcz&>~BnndK9g*fO8<0>M zNGfEZL*-mnR_X+6T!TilcAUHxjAI2X5=xJ^V?13}(gge8aNsZllmskb;&_!Cis4vD zmz6RRLaUS;)lig0DKnL9r*v7V6Ct!1v>1+PRb)Tn(xJ5B3FlJisL(%2eUz z8(|(1(YvG^gA{|-kZKEHP{>=vW39au$7E@++zAObn;|hf0974%5lj`9f3}LT(r`Hn z4f}+nG3!5`U2Nm$WISt@3}p6ioE+%zLT#BGo>zRk85u)kqz1RHB3Lm` z75h`M>dM^EAES=-AM_ zqTA7<9E~IhlN*Q>^apA^BOGJ6zZKe!`@2D;fhyrFQ$8||O3WhM1S9i`YDXg&4r&lY z=qdo-_nRc?N3rc;^tfyYA@>pU&k5Y+8`{uYgSO>{$;I=EamO7V;KvxWB@Tv6gnQl* zFh02SIFrCRin~D$CeB%w&MU+nBi25}sSRdL^{F6}%jXs3j(6N6(-5JlFlU;7Bl8My zM~@gbdIZKW{mo8+Z#6qUH#0LgHa>^tKQlKqy|y&DrU)j*{E0@7*dsFhxabk&7x9xX zhD^fACpjhsTylT_oDdt1S-!N_w^tp_4vKtPKH00wYO6O?D&S5~tiO zL@f4>$SD%!J|O*6QN#(zq+d2a0~M-7gUW0Qm{sUGf;Hm*U?rDi|1aryUB|%d24ek} z_AdhefBW96dzbZG5B~p0QY*Xf=w1!}|1%SJCJu?0!T+yz9SMTpIx_c9j6M>5b>yGm z|99|!|Ifd(Hm>%dA2SwbvyEu4zHD~y$iaWwXLIlmLy(*IYU#aAmfq@b9k}!Dw-(Ra zoZhu49l!3l<3Xkq62m#?oU?IH4|vkOyTA7*0(kNn9`Iy(6BwsA+%bL5J)c>=MPGfx z#y#lTV4S+H{h!_8(O>uNCEI@D+Y9|}Hpc1h-p3B<)0dLD`kME=@`4L4dd@=6TLj~D zs-<`T$M*OB#l`0@e@*Gs&FMWv)F$cOV4S*l_xJuph}s1G8;sKxn-H~k{p>kAJbY!} z7Jc;%8%uO;M9p;_6t!PXf92+m@AwK3Y__Nsy^kHzr~hMLG;_hw#O%t=dE<~(tV~+Xb2X4A=i@y4X zjbn6eM9p;_6tzbl{>9YR zd%vUa%Xd87@$!ZDe(Y;%h^VckcOz=<-Tl2k5u!Fi|3=i7Z$i{I9{Abceed({-lDI* zVPlT2ji|Y|3=i7Z9>$p9Y5*QW6%H17Jc;% z8+W5?BWkYepr}3a$a7!(*Tqj?=y$V4ZMpZcL;Cc8>?_}P?hCqq*S*m577?{&Exr3c zw!im}-uvmvZ@sCoIlYI7+ERKqqUPS+-}@6GYQywzM9o!X3v*4ZzV52Gt^USIzucm) zzG34KT^mtzU5AL;-Jg2VDQ`Gzq2J9GwL$M=hxFKCZ6^Fvv1$B3XAgpFY8n4WD`5Y{~3QM{`L5c zo!4|;()p^+mvla}b6NZ?@z=&rjvp1@Gd>iLcm1NP-gS4^&0SY^ozu03tol+{x@(87 z#Q#M+f!Hr&_r-2W{4w^P*u}9^V~5A4V!On8I{(u7Q0Lb=Z|Y1%e;xfk@e7}i-WYvn z^mWm7(L5eNWlZj8RP$r}>6v+2+O{PBNn1Z)yh@GKC_ z*?ybE6l^PITm{l#6JUIOHi@a}oG;UD^K%*(r%%qLY^IQRaF&VLOrhniClketOIr)H z(Alvz1I;$AHwjajm)JBe?;2gb)Vtzkpk-$5doK?h(g1?Du3Z~ra=aar;C;o6OI!;! z!RB#xOkA7ebFCed#zh#Naa{)-s<3r#yEfQ5$FUW-ub4T@W@t6ybTWhXLgS<&{jg0Z z95(6gzjUpQbi!XdDQNvHWN`hyO%v%izq21Rc&w9lm4E{+Bys)LeoX)IO!^V~>AY(s zzx~R);(g5YpX|s4Pu$?~ukG4k@-H6$!E{1b3pn^l*nHFpxRo9IG1Gr=0`6Ue(LXvy z?MK1ko#}DR1U?g=cfgHU;MhBp?C1z@GbBNJ-SW*!()KIeciyeD*)VjAPj3A9&63_6x06AS7?noO4Tm)%TX81pmRO&f;dY&R_}^?JK}yvj{W?;_Lk)pj_RYkc$_ zUvA&P{M|epuMBTtI9_3gqxGI*#-(VsHo%_C{4_0&xefO1-6dE%&0~%65o;%T3^b2A zU&c^ zWJ<2pTWB&`iWDC#>Xn*WiEByW%Z0 znZ2znEeqQ<_G{M$llywC1QwdiGuzz;oBLStblo{V_p&43xCo=G9ivuaB?X7Or`jvc zB6?K2HW)q9F&en9n0ZmV+hFtv$Edw+y`4vgI!3*VFnX93)@9y2dY=1u!8PxN;VrQE z0xPWM8NL@QW)2Cz1@@lraneW@$sFvYud(7i*JBOo)d(KoJ*|08FpmxjZ-KSvc&s(w zQ_MU&{1#X{&|}R^8Z(cc<*{ZiF>3qU3yl!P%vN?DnJCB1)~>ZNkG8enFc6dp>pQe* zg7@t$i-Eg}nMG}Gg8S|4Jo3k3X11}y=v{;Vr+HTz^Jph4OTjQ(c-*yJ8%!?tSP9Of zo!i|8o4Z)?Y>KYUJl&3b<06di=oqyUD=8RtPqkNk;s&FIc5N`4cZ>$^D`v*p-3FuM zj!|#Q7Qf)jY%ZV#Q1*{1({DdYmlGqureJ zHRjO@k2R!MBRJ$et$9u`e#^sKU~QSlTJt@{%y9TEu(s4=%}g3IZcA+b|8*S$m4Tax z|37hH?}0`AKkxr^|6BV{?LVl0ao=zHzSws~PdfFN)P1SjQ&*&3p4vC{wC?}u{%rTv z-Dh+k(Eaq}!^zJiuS%Ytd|`68#9tHlCf<`cJ8@*9m`KHc5Wgk<#`v-EXT-Pf`gzx< zx-RZ|S@d_H{9i}@|FK}_MI-k|u8o`-IXp5JiFH&vu4``?X3Hk*VpSw)Iw-k{usR|w ziOHq-6hZFUvZ5}C00~kn9E~_ekg`cgB+85+vrJiG7sO};sUcQ@C#CWUQh;c;!Lq_H zh(>e7d_RCr1sp5DXyO$K(HJT#_=0FON8_T=K%OM_o_I^;vP>*1uZ4&RjRujv2+R?$ z137XqRmWC=jYbWPEV~V%}vjattEG8W|Y@ZocmOP z?5gsMU3S%SPwU#U*;ODjE31*9JG!1C=HtnnrcJCl$$Uih656Xk$V~^L5he^uKN%h* za466A-vy#kqmd*!(B#2WCp~3ck!w$(?5b>8Kp3n;%L1F6327fE!$(!A1jRl&l`9Jh zgV3@dHNo0IFN63%n5q&q34A3JN3a;74<{0BLK(TlWb&Gg)a`AxmTFvH`;oQS(lZ00~@}h+<}}q z*+|-fiYkpWyM$|?*%jafVnAq=l0kGm8y_+0gJl66phGxn1_=pM;)D5pV#Q1Z^}8 z|1UpM7OVjZL4e%Bx%jF1_efdL24VC@foRrG805ue;TsUo9(cYK2t;nM?9dG?0i(k{ zUm_O(c9lY)3ZIM0LN@^2#nL#nVT|+-;TaIW?p^ov1SU$;Z=@_V1JnlNX&E9JyD+;J zG#w&+C&y++r^%Wiy?<_eVs3hBc5IUP^>We0uQ!}ETU2dOl~ust86c{zOg-7v2I21` z(k7Rc{b1AODwG1HWK+bSx{>1wNB5uV`p!6Ak!MmC_|(e40gi|e>8G03AUF(`wWT3i z!vw|-xiPFK1#)%R+_Pl?VuVr)+Ken9Qk&V^DOSkpk}V4yBb3@CM5_uFTRX*JRqZcR z7EA_~QIHd|d9b4Zj3FV0Z^b$@R2EzYI)fu--mw`@9w>-cU|{Cy6^4& zc=yHN|LxwLN`9OC|MQc_B=<=6Cmu}PoOnH0{JST%k3Ss$Z2YqLY;l4?(KR{ z*Xdo)?phN2TdW$pF81o!L9v}9AB(&;a$Mw)NG8(L@r#Z-+S~uZmXV4+65Gy-R=e14 zQ)mhP-}vH+zSP+EL3*2ZRoJx)b2HQAP?5z{oSd5;U$aK4 z5l|u16JzW{m8EVUTJiXpuc$V{wxjr@AdgsjpTy>?kUQ8R1W8BD7p5@mhQ%t`eT7$I zK_Got-Xdza{=0pMl~5IQgdIrf61)~qt$iq05gG>e=x!nV5GWO_S!6$}&>en*iBh&A zKn%8)AUXC2nMartvfw~-z=@En2pl8y;l_GZxp(rnk$m(q>LyhLl!1aBe7GPmRA8k< zS}|Ryw9QaOh#71}j+)7eIe^I^d?-4nrpp9G!pUGMbwrx1U_eQ;Az2hd4a0n5Sw-j= z*sl#D&0Nqxcy+90a4ealST*U2U@_QUb_@8I$??N4rkYK12aywSA>oc@?g*sSoV1pA#Ml(Z+v`3MHm@uMy(IV{G$XQ;00{Md;`>iB^AMB zV8R+wjSq=oD}l@*$&h^*=$!GvijXld(+r75hiqRmqp2Z?8L6jC=7%dn!yp;W(P(f; z*+q>@*At{4yu@zuH?!568}R83T`lZaEMA_xpKIL)*?OwLi#SxFCO(v!qp z%2b4f5kiazO$s~}F3HfxDNGt{x*|vn60=*mkN}Zh$EQI+fE>liwWK1H3^P1%q2W=g zKB;pWK!%V1H(1#U5;HuI7~#Q11DX(mi+>CvY9ChwX<$Um&=}dFUJ(ak+mn`GiijWL6DFf8q^93UrK=6S)eo>c{l7xCB2)wX-~o1|F5r>z|HcL@4&cC2GgkP)(Vekt z^>T8Vm6lcnaDXe^(m3S-A63(DV*82^4$vh$GEbK%j8p_^fG)9{(IsZq&Vt)Bih@3a zJgl9bo1FtfYkF*ac5dzT?6eR|%jY>)_->DjE+Iz>-Roxd@8?DO)Ur^~{} zKtpIHmO23*8b}Zrg}ggUe7Y>0j1XEjEtRSSp;Be!0Tmes3{7wu?3b<2#mme4W2yt$ zJH}qX04ymBGlTuo&}xKmAOI4AoTF{A294v@6HEsCr6F1eDvF^N*f)`sUDAPafK4IYMwnl%KebvjpIDPXuT|;3^O{-PnHCM*TsP_A4qs7C4k_Bm0?B)T8$2M zyb*WQ07Rbsa$;&p`9w%C{mn}`ZGs7b{SVL(ofdKSo&bpvF`nW?hb2Q*HDSc;vJ zE3bn}Qz5Y7vs&eWOT%YFIar_%@G?64{{yoBKQwSY_<#9uy<+Czk2TPxwhx@p8b>GO@1VKdGgHUi;^o6k0!oC z2El2G=O)tezsK*5UlZRDKRBL_C%V4Vbz|4-yN>7@>*|aBBKC#YTVuz^_N3O{Z#uu; z`QM!5Vz+8n6D=cD`<|nbyiz&)Mg%08X19t$P z?Tub$y%cs}cXW6-`fv9slzjQu7zdP?Ybz?j1CR}??PF4anmJpdXSx*2;VODA?jad|~yG$YvnEw&nGp6vV7*}#*9#j7|P7Gd*H z28TUfdW2$u@F~kQAFL>LhAqmFm@SI68JclS!wDVJ=O>3N3YReh*l@t2gs?wg&T*^? z7#5pPx?+N4^ajnl1A7$PH~wRkN3hm;V_XLckuh)EOv@f6&^2^X4kp1kgNbxS(J~>l zEbBNKRQ?wIhW!aodAg#I8Fr{v9%NLqV+f;DN-Rg}gc?3|=4(#5J#96yY3t>_0^HUs+W5u~3hjiHfQ~)Mh z3LT1?KFMf4Q!zmfh**Feu@;`1K#s8BsoF7_t0=}n(%W!Y$(_PYu6DoMr`7ofH7ZCGz2+Z8mcJRK?7j>*C<4B)S!-eA5<8DXhVkOS6kI@H?L3BoJ(0c$t#d|A81uPiWw^bJ;?3$-SaVV<$#1Q%bb{$qO; zOzrrh%E8d!Dz`KmE1on~*uHWQ*D-Is>lz-lOpa8ZLks3@+L*WK-jjv3n6=~6v&GRF zzU|tzioqM7%daWS8R*i=fktbXiliSGt$`VdK&=F4P<3YbGEXg~AzOJil8F|uB1~xj>Ivs8@~Jp1 zMl)MEpdB?!KB&N0VMr8cgn-SmVD2yKv5;pQ+ZGE3BUF|nTl3^(wxYlpbcP@+Qvdlj z?8YdBIy4y@AF3#V2A#oCYvsq|h_S3AM;*%I8yu=AaE4{g5t+rGssliG;by3 zR)YeriujlnFB9@$R(>IBG2i4?8%Yh=Xr@0D~2U%dpm&hiPo&HCV}fz%9>-6GrLya77_9C=HHAL&Kp4>IZhJ zW+eyc1;)k%#%OGs6#^y>_IOITc;EZD|Q&EhJ8JlKWc*0dJ0}s1ac$;`0G8F~O zgb*90Q>Ox)sdMtr&RD`tt_T`4IL%MytKinhoIpvXj)m~%cC9Fg2DQO(tie$+3SNo; zGfn|;y9`!}P?*u-X-0AwJv1tIMM9JC_E2V`qId^0I)=sw4(?{DnCQ=JhZ4qI#l$%< zhJnr97`A*0G%zVE=t5)Y&Mwd)NN%FNWalZ0QOAeUs}$&v&xSl)ZgR{+h^5?74#XF!jIAX?#k|yXDc;1elLgcObymsLg}!gbUj(l8+wS_EX?Q9?pNQn^Y_+xP8y7S=9(Se5szB=&H zfp-us@bZBp2A(mn1mwWq^*`8uPyfgIuk1g&f4cwq{rmQh_Yd~>_x+*oJAGg1`(WRd zeHZq+VOpzu$dV_bt>RxVZb&?!&vM zx_9aBNj{qVaq`RfBQ7N$VNLS+$!8=7lZnJH6Za=R54ORziOUk_CT0=`CB_olClc{L z#eW?CYW$}7+u~=(PXf_kzxaxHU)OKDDqVMW-PHAtuJgKPh*-#V?bwx!{h@PF^l#Az zqhE^N68&KGZP5#&r$vv9t|tG#C-S$*FCw+bXQ*ayQRLLfvC-Gt%$AOh&Z{~)BLDlk z2JPG*|GECej)47qnO4P{6q-NS#H8RMG;Qy(iAhZd#hL%MIX8`qBqqJfX8(8xubHcC z!jAd7X}V_K8Qwzn&pT}PPwPF!jH?OU+5mg5)Uau>&cn>xY+{nT1Z!7%tg#NWQe`gl z7--%JNKA57iCd3SVeJZ!wdQ+@8CMgy^%huri#JG(M-M&@Pq8wPSzV112E$g`i&FqmEIldGgh={f-%XrAef++q7$&C}y{I zj0Wy2W(V5cHeSqb=gSgn3PcTcrfnnX17NV_%|{iS0xa9=U=i*~oc=);atd)s=OApTRw zsCN-Ye`bZ%b7N+HS9DWPz{g1~J=U7bRC06t3 zF85S>rFkBGrCl40e%Ub^xUZP`QoGw=^lrzfH)V`Ge9EeZ1g2 z`a*aMEPmb!Yrv0?`E2+tu=hESlZAQoDJOl6dGu+IHKbRpeZqTM^PJ#A-x1ydYoGL3 zYrdzLxh?z_Si9Y0%}g3IZnt=>nM;h?t@c7AUMO>(oku3*DDxWE+L%Yq6bi&h!TKBQ z=M6N$`-PUpKvOYuew&-%{sKFX{83Sv*IHrpuEGE7yeo})bdi;%V8|OhZfw^Elb3j` z1n1G4+T8}57hCacignAp(T;rMB8>i*W7JBlq~P7|se$`;!+Yk4^3#J1ur_Y_>%B(f^fJ@7;RHT-W($boMs#{Lb-f13X@ z0{DKYqdDvZEHS=oEV@U7#DDH( z>QW@en)vXy`}r8PR3Tu|eyWV+HiXJ>o3`A#=1^`&EVqut&yD3a*Tjdv-OoqXQib3R z`>B>$ZbPUHw@WRzt~r$36_#5^;^)S4yIT_<{&qhf%Pp0I>um#=n^-0srE zhriuFwmVy@p-pqUou$fKs&>yh$x@AP`dM@K%|ocno6p)ecg>-1zRte6Bk^-%-~9L{ zKK$+eH$To&jcuCSY0GU0mErbS%dKk;<#xt$>qz|ESZ>!g@!@axbGyb;jc%ITmsoB? zs0_D9TW(!*D7VL0ZXJoA8_Vs>n)vXy`?-CorCPOVZjZ3shEN%9Uu3y;&7s`B*mCPg z{M=Y>k80w>-|px3NK3VH)7-w$avMTrxP5`;)-{K6d${G+k@&f>+#c4%hriv=?V*-x zWYgR}*K!*|Ww<@qa_gEyxqZIn){*$RvD_Zg#D~A#&+YRpRc_PVKHG8|LS?u;z;f%F zL%BW3a_dO^+*od()5M3r-OufTmMXhxZuhm^hEN%9_p#i%=1^|;x7<1sKR1@!XEpKR zZ})S%pQQ>ZCg!Kw%W@k+Ww_nba_gEyxqYVP){*$RvE1(6#D~A#&&O&@6;hANPc>z^ z4WTmJPFikVb11jZu-rNlKR1@!J(~FNxBL0n-BN{=H1bmwEVm(4hTFX5)-{K6J7KwX zBz|rzx1}aN{Ox`|isz+B9@x77vi_%0|8KDO1HH?8uA~0n zCsKQKf2w;=>i->-xG(Yi__wJ4_h8p-?4j6k)c-pp`q${0Slj1DQXOyJLRP`6HXh?u zp4h~ewE8Vq-?QUK-?UlPWdcPvHf(&ES9zk{R=4_*AC=eqy!MhkpS9H%t~~LQmfqW_rmOG#_(#TXTfU|1=^Rb(rpSqVcYp7a&V`rVclz|% z<4!qk-P-As_FMPz(@$Hs=8V(VopSOJQHIl}+dpStPLBUs1Sy`fZms$E(L>WSGwV)Y z_ljAOtv}GH!UV6?suiE%x`Zq;RHla_fzUEcY7vJ!l-!1U+*h_wdh}uzf zZHk<<(^FPI^7-u#cL7BWmv5{k=aCqV|0HH=?!)O@8(J{_vyD8!qeI zoPiI#`i6~%(6te@b{4|wU+s3=M?U;9-^#w(qV_!RV~6zV|JYaEwEmvI-JIK;Hx60V zp4-y9|6}`mFJFA+#+mPoY)yN(lxP_h{`??Y$ zYR_)z-T$%uz2E<=(N~ri`QH1n_Z}i@2hh6_HTUlR-k%6j+n@f8sBOZAUVYU=@7(dx z{ocMg10Q(x4I7_D*GAOZ+2*T%wdW@;Jf-8bg?=|%)b{f}c1WN8k9}$Fs_Q=(`N=}h zkNsnZh}ym_z5745zxS`-Jh9WZ2mNVtdJl~EIUDz(cOz=<-Tl2k5u)}?`ZuDs2?xmP zx1Rl`D{k7UcZ7rDy_{{`1?M5y)1R#zRV4 zHW2oq1fG=w10zcqxMLD$CUR9J@{nW}q&6vOAght)3q83tfNIgd1UP~5Y*h(9$Ym$7t^oeGL2#cKu4bSygV+d0Bee@Oc%?AWA^G)W<5vwXruu3QB}0x#jwf%7 z^t%#hZ=_+Rs{+Y11KCV#($Ywm7J@pcH9!IsGF4$^nz3o7RYnsjY#_)19gB35Cj}GB zAto!Wl?f#^7QjmYYex7TQ*gX%RgjuyaCoo=rvxaya8Jn3CleFww(3$S%-}%bveJaY zH3ee=)d9U_xH=4t85~1nBnJd?vL=NmKu#KCUC31p=plTCqy@kl--Wa^po|T8Kq*@_ zsE3SYfZSxIk*qfXWDK}yWa3R`s{%dL91c(`D@_38pxfyS2%|nz73d*(X+di8(#WO* zBon|863-BV!K%Oy$xCy@j8Xw{BuSl&{{ny&fD;T>g?$LVzoXGO0YOf(pg~Av;V4Wk ztqS*$w9f{O#);g_JUR2@0(t`~ZY)1i-ATL^Aq!x)k=qTrtv`RfG&NEc>R}jtIC$GG zRUsdaEeby0rnBd&f;(Il(!WVxXMXvAr6twvAqVWhvdiEoGo2R#ctW)oNX=VR-3}7c z*DZ<0MoH?$<<&)82Y}qWuJKSyQ-(ZmJ5t>iLbBPjCYybFbaD+3-Bo$ zyr5pjrZQE*WSSvwrnP#576zbcK~pI*J}asM%S5MYWy0tUWK1hdn;ng9e@Rv7nE(VC zQVk7dKER71p&f-q)gXYxJr5EyHby6~l}iL2L_$13ZrEOD2!9}* z3QmTOgw`~XsTh1iK5t-aH`(lHh5#0bFLb3$#lRbe5ld?zL0qU*0Ox=o10vN~^smVq zc(RlR@MT!y`IaCdfJ&ID2;2~*AxJHy0X2{j7eoPH3#bEu9HKNhV#Y|x>>wSm3oz+4ZPGVp+RYA&{(BGxK7e%w6Y_LBb8T(w<2WWN<;IO zI1KqFhKC(NT{8w@w{QnEd zwl5^(iF)GtuGL)wu|LMX5&KZ=qS(6Fvtv7S{U?hJVD$IVd!rwUUKo9G zbR^mlDMxOIyeYCSvS(zQj)yvK@3?eXRnp74J7TvUH-GY|h*X9E_=$X`D!FA5 z7-?Bb&AQ9P1^)s?9l$PZ%1l*q8$xW>U6qxP)yVt-YXK`v0?fkO`eYVfa6K@HsCNM= zx<|SyIcDK)CBTXWn&m65@r@&Lu(dZtS8oF;Iyd%#_qGED)B|>G!%B> z1-S$;PCznP2|(%^u1a88TO5g`fRzGM02(T8(H8*B>8cS^J*atsGz%}#-2howY^!1^ zQ0SRVnblDNo397G(TA@FH0^f zmY_O?4?MA?Dye1ZH5}Wem)%oHCjjuv!og%a84@OwAu)S4MWa~8Se~#)B+obn)LX25%0ay%K+NHnKxF}a2yJ$0bq*rd-Ug9fd--f|$562^vnh^L zh1bX0I}%)bvDeIUzF;zq7Z+Cr*++Ga0KHv%Cl^=Owjr=^Z301hcuSP%MDJow8U0sEKn( zCf`#CKs#F%oFj`%F2pD+fEvc|sCW`eGJuZR>e20}S=pgx*2F&wvx++h_(m)XEV#kykx;X8Iclx$_{CV=sh23<70AUy z)gz!`<#IG;c}M*eUK)!Mx*$%&Wz`o!glf%QkRb4>V<8<|~a9U{w*sgLjFt9AMxiB6+9n$fg^Ex0pDPp z%^op8ccL0l^#G{wOyt7!0wMo`r6w#`W&(X@tNV+begouE4A6yC1q4SfuQSFB6D(gS zwX8Cb)N$^k<6>oE{$#3x!gTQkbK~rB#9Rp&K-atZu;eDhCGo11{asiIJ*s`Opn= zp}GOiL;r7-O;yl*Vf0ovKtTP!;z(8Sd|~ufRgg;R|K+NJ=))`v@FUFur-z@olpm}* zz&=aPa8a%X%|}&iUi-r{~KRk-5oN_GLOttB%0mXrOA=% z6olv%IqU45oumZEOesG-K1yA$@%-Ag)E5U$6hOu4i8V7r=g(Frjb1Sk$vrN51@jAM zD2oDcv*`CvZoL8*ub_$rl`rthO&0l5?E>W9ES+HTPDy3jq*{S7$)oY!FavP+KE>e9 zh5vV1XSxG>{o}D~LFGR`_VU=VvHfEsv8Q$Zg(&}e=a)J^+<7^<_Al#vUgsVI4-b5k ztpBS9&K@`c^uK)umJjsw|GIy^{|o&$_P?Y5HT`q_2lbEk@7ljjf28j>ecz*c;Pri% z_Pv4%0*6yWU`5{mRRq4%`*qO&-b*aONxjd<(=Y`3-(P#akGJ82J#XrHb*ZtS-2fM%A{n75X;DtD~`{?e~-AlWZ z$zM{7@XN`YlW$9&MLoiOlVizUlRb&wB&vx|C9X-lIq|y0hQzVdCdemtOmxJ560gR; z6u&usRs1}v6dn}c1N6VAb^W>PyIr5}dSBP&p#PoF^}Mcp*Y;E_{CQ^@{J+0Oh5vVb z^y=uv(X*l_M30E>8C@DpMSc@`F!IgFrz6)!{ws1y2cD~ z`?48}!_qkW&t^T=tQwVF<~^-hUxT%Dcnhqp@K|fUrYp9lMry~HA>tPE&x zjKO8?+8BjPZ70F|idlyi6KrB6-fUrCT$>w~L>oA0nfVE* zUFosbd`~g!kS|+rfwi}JgJdLIs$lkVk2Q0N3vaO(8qT8ZORcaQe^d5luGJIv?6m!c z0hbu8&$elT_Zj=XfxC*?HEnK!`?VH6$?p=&9%F^ky9WQqdRH3r=y)rFK_@0Wp46@l zCQtNO3BV_1*R{J1HcznP+2p;<&e@S~T!hi%9HUlZB?afWr`jvcBKq2PZ7}*8$7tZb zV)op2x54Onj!}EtdOMHKa*TQxVf1V(tlqIe_7(2qwKy3V%`?MWVDZ&fSj{thFILRH zGW-_UdzHt@!lrS$lRouqwzxAq){tI};3?kIn&$+py*#`H)=u+SYrdzLJvICmSli&S zW+si9N9#S-%q2$cWP71u9Azi%JTmrGcFMIj=Fv0kHw+kvu)cSjCU{?MSq$7&%PJRZ=l4JP;ZSP9Of{o36Io6oZ1*<|Tw zpJ_+FaS=xMag17tl@uK5o@%f7#0^GY(yk3gk9Ld(?ki@GYIhrqzSuG9O&KE(FLI1} z7h&`WE3BRqE&BrZ@q+W{@bDH`Jj@Dfz-O0zVfZbucc{n7!aO>}Nnc|gJ>O#u>D356 z$9r1yoM8N(7v2JE&-GYqzNeTyDEt;!JJ@5*Od2z8&-Pd|ml(AJ?S)1}S@vmm9+{xD z?6$78F^{&l-!LSKFS}ElCV1b`vKY9lnBAexO>qBoJCFQfblF8#7`G;m)rTWEJ1j20cE-jp%&;OhTf-ZAj)fm=cJKWZS;|F_;tdynm%=-m~Y{DGd^ zd*0AJ~oVnaSrRhZ28G+?)6ycJ^V3 z{Y-Oyg^9P-u>b#`$rJXCI|BBY5ACGQ~PDk_6u1Ga}aT-h9QQ)y5oFgS3g0%uLp{J64%&xRORF)nP*_&GD; zbb6>Z4l%B5N6au0oQ4aZ$R>#JJriIyR2zdx0ehd(sB61kqU3Fs^b&6+A49Ehb$0cguj<@^8dzjHHGtskrNX_FruHBQvs(f%$$tuf;{a>8rU?IC zy(c<9wkqHGf6Hr%@W+j9pS0fSs`RLcasQ7OQg}aZ>{ZT z6_m))M=3va{#gp=ufY>b-Nac&LKn9;~&c`{FAiRdtT1C+^jg>jV`FN08=i?+$@joI; zkp~KP4b_xE!kXu(wKYJ**(Rq!9LsT(G{HPp-U!RSBho}Bs8p-{6rHm!vM^6Bt0`ZE z6Y>U?*&aA;Ck~ARL)G4+Xf#mz$`oOfYxS>~;5in2N@kj13rYmD)h-sX-W?U!r|#>B zyu=2jIB?S)Kj zyYL4iLQ@PQ>cSKehJ-_)W~6J2AV#%leXu0Rl#nM$gG#il4TUAOZJ{;80}~n^V$C@G zCNjVT(<2#!wWmR1h6fTOJ;V)xb4lrH+1gejXMh6aCUlu7KMJi;=#!VvPh@KY?WoNuIkQXh zjwZiuosW z+2@a)B+_Aw&!}U6f)^&1))eoLUeTb@Frl0hVTfj-YO(}5jE~e5>Cet@4-9;>hMYDc z4E?*RirKELDcYaVG<24i0V`Fp0wPS17PK**zSBtuUx|NTM#=vU9EGNo^ zC4su@Pi~EYg@D;fP8O2`N&PoTPU!yx%#v-w2qT7*|4wBujtvoXP4BUQun8>O`Vq7C$&xY!`*jxU)y~~_W|8cPyQl#SMr+VIms6! zmnI%f+=KQ1dd}DjiDdjc@f+e7#*gJ(y|3&0)YE%i=MK@IML!q4DtdbKS-Hq{BV7D-v3pP6OQ8KCt&8Eg<&5ZG?NRZsbW)p(N;!dzK zyFdA{H4SloB!pU@Fthf$RiAlt>;K zsl8gv6(I{)ty+XzvS}wrYD#Gcqqn;YT1V4wq^7)vFnYJSG*OpIxtekt2*3*PWA+*q zE%p5v36toc;S&3H=TWFAah58_Nvc(GX-%091YlVj4VKw>e9z&Z6U%E#bzmRz$lN{@ z%(ks5&w+ht%Y`tlNi96nep+prCExd6WBdh+u$tMvBzZ}LWZCp3%0HkE*^Zjw5m_YES z&^DB3!ASXNWw42Eli$`~IwT#5e1w}WyxouM=_OfEfUWw z>=}HXjz+^n8F&1?_G> z>EvX(rgR$fzRk24t_AiReLei71VrX>;T|hmG1yFN6d7U6Ye%)CHoApL!e)H^K zta8z8aiWWvREfMJXS8ImDn$%m2w#>%4~o^-lq-RDVV|kt3fC@_ErE97k!iq0*gORJ zv5}f`CD1NLtzSGpw>CdLGdVWPu;POuJ7uOcIX8-eQJNW_DG}aXJJ^MHk3K%y1@jjW z7eonba7w=5Cvn;sDGInw0F(fChkV^l`^Cu?W4WHd5FphCWt~^sba*!g15w?i=&<;e zic(#kLdr$1rd%5qy;Wh#1$nptM&axgGRi3b%GQ)_!=e`?H~WGdhB7hPU`cq*)s%S? z`fyH5+2!!mkoTMk)&j?IQSaotL5vC_h(zP`()RSlKve7mixHgAQQPE=ZKX zVafVCHdNamB6C(eJF~Dqz$C|-{N$A{EvqT@2Iay%$r@FpPXWmxhaz}L!h}HuP|^)s zqB(eO@&<6MMm{&m8R#N(JwCOfrkoq{s9I^!E%2MIM4Q4s#Ir&=T1}ZZA&+I?C&pK@ zg=uY4iswXeMNJ7f_{3Wu3y+K^SqgX=(7$mXukSyU3V^%x z_xAm(?^k31e68;$&;`!vTibUi833#L7EulGN4;Mm1K|Bc8l2vHRPUa>gJb~wz2~Pr zU+=l8=Zc}$N;z{`R?TFlgB3yPL3uQCwuWrd@pfl;=05oiL(=@Bwj`a z!0w49iA4O7_oZUq>pDPenc)d3)pyk@b-w9$rr%>AC4Z& z2-rZH@qq3(Rm?53(OllV%YNQQH?>Y#qIm8KZy|=~P8-eDdQUOyO3k)5ur#|0wx-1{ zVcE~x@GN(UAfwNDtXXwB`$>-h{%%^(vaZ-|Yv2m3ecEHK`JQ6dm6~n61=c=g!<~E~ zDcRdR*4(O`z1?1DIQ6ryvw>#jTp;^;*XlWhvKQJQr@-k3qk2)BCV2lZ`@Vs@idk1| zHqZk1Z*2FiCyKeHwy&TZ6mu??EZ9We`>>6*a&7i&<#x5B)VMf(a&CzY3LCeZGmChx zgUtTU zwKin_kM$S(7+m>}cDKRiKdpE+dBd}RwIkoS2%~>-9KUm`6z`ed^iFqi&Biq*o)@={>D^PVk`<;VrNh_gHJbrn9A9E>^w5ocJ^M^+L%Z8*>4!|7ch^?ZJH3#dCOwp zu44B7Ha8)l-?H<_?;ps1!wRE!4e|V@ccn3pYF3tl{vUY!PP;ak{IK>l3oQQ33afdBe;#Fj5`GKp{nX>6F^{r8cGBm~ zqwN29tRcM`!S8!dYn~H~-;csuVC{zpzAGY5x5R3}zH@0bl_ZuvWfxC*?kF>c7?muehkw5-4`ynfg z-Zl8Y-n-J6M>ktp3dR=0<0sm+!Q`zTE5Uj6@piYt<}Fq{n_`NyH`$SIT!hh&IYzC- zN(#R0o*I}BF#7d&Z7}*Z$7tZbV)iTTZiCUUI!3)IW8~pWj#2L-jNWbQ|GlOI?Eh&0 z`Tbi_|8G(6mAy~zc|Z04u21E+e|Eg)vDj9A+OsyE=M|fnP;rO0<&jr^X`f5~ux;007AhY+_EHxi#U{@6icN&{ z{zMd;IL9kCQL=9zcC5Pk{<)hEKjqQ+E&A#kHlFPjn{ZwG-KeJ0Vao>r@?DwyQ z_kQex9wKU|)4LHh_wN4Qp9oQVIsF?^D{Mm4{_8L0XRf^C(JlJw8#bOs*GAM_*CC>| z_N-6Oo_GI3znd*;8@!Jl(x>lZuRis)?>+BNXZh+xJ@$_sB5J3$^zQ%I{@y<^_L0*r zKKbhl@BP?&4-vIf=-r5#dv|~DPlTwQO#epI@|zH~>#sWL{QWMuYKy-5hK=j#+K8I# zIw)$7th(u*Uw>gsu4*TFA3LN^|HnT2=3jiVZ$)8q-Z(_mPHgGj|FQkOzyAe?e(zJa zymoVX4-vH!=-r5#dv|~DPlTwgqkki6kv_U zbN%kuZGFf>zni_P9p`=QkUsq%`}}w=oq7Iw3q3#fbtOd9=3099e{6s6pZdXW&wAq* z_u8D^Lqu(s-lvkUJuu?l-QW8YA!;-9Z$xcu6QcH(6_@`tb!+z)ef13+*V45SHP>~B zsQrBQ!?S*@|6}`mzjKe*p7^D{bq?%n;pKmMX-IQx9lihFap6j0I-Y)smPA!=!}RSLQskRAu@?HcLLVoH_ZED!N(2uJBfe<+me7`s$=;V zM&B}F>4~c*Xqkv%{r@QtWuIDcXW6=tF$g3Jo;nkZOn|WfG>}WeuYd~A)`g7`N=?`q zV8-NN6BDNRYXX>Zb-`p1b{2fL2}mYzR#`Gc$dZCHIi9TxF@vzPAh`gi0SO@ki!e16 zry`=PF60ct&KxyU86ri;l4DJ37ZNj39Igv5gMed4q^UeUq0)dVR74OXaoeM%W%UA7 z#GN&$G?SHrMMf%l%g7OfFj`F4g^)pjSnC0}Mrw+Q&+C(GM4UIF*mVJ95Q^POOWYad zf{6d(!9ZiHKGj6JE})E%2P+#JPLXNHskGG#AGXCq{s^^O4B!eCuE8AP5L5)BVYAwZ&#SwnIXq49kC;kv*v%pf*S zQ;6sWoJ9FB%Eu*Qy_BvSNDT4Sd=^5n3gM`e($3P#SdveZsS6Op3{EpGLPTx=oGCF* z3C}C6sTRt2-EjU=)hUmjfPvVxL6G5>n6WWa|#bAV@Bp7d{?C4*WQuiD<%XT`&fk zm4PTI#+zbg2oB38*%ly?k7eqDF&GP@hM0wuh*2bj?0M4ShU$Y5YnItZGfW`fv#0TK zm_a4xQGR@=zC=UNc%lZ1zV0 zT}TFK6XQmk7$04$GB|V7({rPMlp~z8#M@5JlxC->CpEoh==?SH?Tj|TM|@ng2~{a0 zufzoWQoHAg)+VNBX4aj)?iI5`bnI8jTX%Xg$w@PzKpdHCuvwJa(_W2Wg&-k?Pe^Sl zP$wp34{TbGAUlwyg9R8w4z{4DSdMnKE*K2fps~OKD7)hrRrT1*gdGJI2Gw!u+lrdR z(g3wdjw84nly@=>SgHws&ejEr5&CeWNU&-G)1pKh^aGYd!DFCD1Rt*CI5t5g@v7z^ zdgb_FT`(DB?Ko;}1OQF|4S`jFMo8Z8#Bg2M7_9M*MspZY7sA$+N>0%ZPh*1#YJinmzFqKcwJAU;SanYz$0*eP3Sl^O?H z4x!=XHY>S`aZ1+(ixKi*t42@~LviV6X~93|29|{B5L028JY|?1f z1a=0qkFX<<3Po-W^%IMQ>;syAq13Dbtn~tk5YiyUV)B!@2Q(Mib%M_}ppkOSkiiUk zAG3V4n0Y|+5=A*ku3|}oS|S;VS*nu3Ll1O7jH2v_wHC0BVopf?rrtfKM{%fr9z?8x zj>s(sSkC--ChJPRxU4Sp3$~F4kuxb|ugNe%A;EYnW$FUHU~4D@V(D;_&^IO#D_<{wnm6&}5kJ?J|pYRBwxMI|#>%zYXp=G@X8w{;hTEC!Z3RCI2a4=XbTb~Ph z$prWotbjsUG4*(s)CGot!DVPQK#UEhCP|l6?go4-&qgBr3pNr%Vm1=$q>(&LJ{y`p z=%Pi;QDI)NTsj(!jvD9`Xz>p|^mhwWPiQ67~|)w?+rpQIb|sQqWV8vq=U=7zJi|;l1dUN_I8X_iOt>PRUV#(fybj!8%u&?SrXS{}01B{n1N7F}-E1WCA%szY zuRB04>lEBs|8H`rJ_GeG9yNo7uN!;@!FmZE1P9nSzV5XUVV&AXYP5J1=6%zzu)Mwo zGOSaNOyeapwgq^U5txP$>$G63)54lHlXG(^DpWQWD7k{DqlkQM+D64lLczurg{2B`l2BDQZKL9l z0o5SSTFdK*y-{?{Q`YzC65GkgyF(agjm=YA;i)zaI6C5z`n~t4ggAjKFnq#7aWc2b0rc@H2D z3E5+Vbs=D&UKk1u4>yutuEn11TX-hu7@KL4pfONcP~!C?We3eF1fcOuy1%mV{WKwowP_MP}juNGRL zBogFJc&%%if=sti#)CEnTNfw|su5Lae`!_Xn(UCc^$<&2S zfOZiimv(_3%d}7?zF?RJ>%u5NyKuw|6Q@qhTGV&WzJTMIC=J#HQ6TBC{cD`?$1?)x zU;yQCWRYK5-wzs;iw2Eki0<%%;C%$xL>ddPvafjaj-s1}iIGQ!e82H2oByBbi2YCO zzSym?cf?*3n~fb7J0MnyEsJf_`6$@^s{i+n&Wk!<34;HAotc533{(g19JpcN@_|Dg`*`0qeHZqvC;xw{ zFWt98UsvzLz274L|6RQsd(Y~f>wQk|s@|vd{JH0$o^SPh2Cu?}Jty=$ujd&(nV#)Z ze@p!^b$9B+skf&tNu8ZKF?D2WuhcT~|9{*4!|waKKhyo*?u*F(e^K}T-TCgt-BF?u zzMi}>`QOQll4m53O74{$O2!j^Nc<@Ajl{2nyb?i@_{n6h=AB=t@dPnr# z(F>^lcSv-v=vZ_~bRhEg$d4jljocV{Yvh8+>5=Kq_cfWOk*_xW`JX@jZ;pUXYiivu zNP0ZNCTq2}6mzc5Olt#4kFI=;Z!gHb&}Lt`OC&uWYV*kQ+6!1Sa?kY`XkL|3C|so* zL+P9Eu=ae9wdQ+@Iag<<^%ht=#3l)u7P}Vb4)Rzt%QLJUY%esO%;Oq<57q@AG_g(D!2JR~6T&0;n3*7H)^T_;%UAY}>GM0A@{-17pEgc%j z{>r(ev0xJqzs)99xi&XAAGhPxxX9ygu^pDII;d~=HJhsCuK2zYL-37uZH&Raj#2w0 z-+jfLOBxG45=QTFjN02AqhE21dKY2zt5(EH(!|8(op#90-@eXZ^2^~Zuz0r>vDSNv zIR}2x+5mel56!eV=DuKM#$AH7FM6yw>HoCHK(i#nnuFgcwdhQ+_BoHW=6i}c2Y%6d z3#@(C8zdv@+F)~cc&wRAT=%_>zGBW*&@2X; zVDy8IQQNlOqGP<*G3s4}(f3(lEqe3lUGC!rES%i6;VrQE9xJTo8NL@Q=3Mp6)&|&f zMLA82WA2?!`qZtRcM`!7Dumn&$)`+STtY2ItY+J=U7B$QK7r4x}mEoUv*VxWmP7fb%Ac~6GfFd9= z;2^jlxS``9<0#{x;tGnA3nK1{qNAuExP8C>z4v9m%=fYxPd6OS&~;`!&AXBJ#*25C zh`15|xZD?#Su|!HUE;H59>Lms?1QF%CV!Y+N5;jIpLMOxb+o~L!;p^(){p4Wgjf%^ z?;HA6DevlMhFai$(XOMQQz}1aC!_xi{^$KC&2@CNoq}PXBRn48sSPHN^Z5_2BUeE) z+$C%tYo}+6voU|9m3;Fdj2`6}wKG<;;B3c?eG-^%FnV66HW+=QV>I-;Qr=b23}0%% z=(&zj`?F*1I(ofh)PD%0Z?Kcqc;Ln6>F(o&*U{^uTVU}lJ6TO1ffp;~UG>cN2H0~& zIZcaW?o>DXn(OE^pEYK$SUb^Ypmj|kKUcrA-H{J#r}(V3{-%_7)ic|F0&6GxLNbfS ztfLcr*32WMw$VOl#`NY_*>z;Xg7d3gYjYi~v)?cj*9_~=?9c@7``Gsl{i>9A^)o{) zaKE=*N5Mem{2DtM{b%sM)_>AmN6)fTFl=4J<8wQ;!Q}ov|KWAyDrknggw5yJ>Dgje z=l8XeZ$5<4{T!oq#%dP4$}wY~1g0B|9@?o5MqlF?4gIc^cNH|l?mHMg#4&1rcC1}T zuXK$14`K9RJ6Vk_AvOGfa$JjfmY zHK|il&rUrx`G@4Uk~bvJNgkBkGx3+iU5QU5HYGMB%87LR-uP$Z7sro_uaEB-`*G~k z{V(j_z3-2G-|YKv-&^~R>?`-hd++PLrT4PlqkGr(?$C2z&*yqB?|E&{b9;90{(bjt z-B)*?)qQaHcy~|NU9i#dZ?r0x3ofj7eNs1p;PC?94_-3iFkn;8j8^4xi6F)oM!6!P zIpcXz917^HBUSlcaHO^O%rzQFj=DqS{&ISXi^9T4RX!MQ-r8x26yknM{&iSTC`YNZ zq$)=YenUgcXTZxxTp}Jp95&n$7K($_eW1W^Xef-|kmyU57$SrS*P#kT3|IGt2IrWg z(G~zqIzfXB$zXVuxu_ednrsD))w;J>&mk^BqEES<#OG8VsVY~&yl*S5aU2@IA^t_K z{y=aasVZe5g4V=GadAmhGK2(@6emZj%3Cn9Y3)}5F2>Ks1(*W0xC&odRq6tcL&L9R zL%kkl4#()>5}LtVOu(7#Yiz3&_u0ZYZ*beYZ^n?NPTX(!w69m`kk$3E~NK<2Y7T zJ_4~2VXKu5UlU$;CqT&SZeeT9;_~hnqAFNYv<>{1M;1?f3|dvox*T+ z88mF`j>c^LT)3Gqsxs*lz!pyxmQ{zLVq0rcneD&8>B)T{*HqjDk##p(9fAx^pxt~n zY6DRo^vYb~Eaj$eq&g^K^@;f$(B=>m7c7KM@)96abGbD=QdM$71TC+sA`o0&3iw(V zaHSPhWU9KSXF8QN`s-0 za5&@&ln>;4v+uJHP8Nr&%1$sM45Zd@Nk%OMj%+2uP?~R~YLXH(R_lSSPyqsJ3`R8d zjkrcEj#ibCVC2|JE7gJIeLRcb;6u?dS+#7voOo6rdoNKi+Vpn%%Y z&V|$l;+7SgONf!a>GYDSaukeo;6lr6jwn$_3=BE|fg%!7|s4=wKYis9*{vFR~0=D0!G% zY6IsA5pV=yFx|*+8LK`C4zwaeN(R%1S0WJyt%SS+&NsxVP;&H!Fg3(ncM@L6eKl$k zDL#W$#guD>*{%_iDku}+$1N}7X2+}yRTWV#0azNRH}Lt85egl<_5=$|;pAFiK9SWM z(6$jHnRVR%GGe}}NOG1mXFikkn<5rE(1viO>=8Pb}5UXTMYJ|2c0(psP zWxM30nwDk|(60^+DH6o2@!bi(AcT)-KU3T438YF``=9!McjrEtdq?ij+$1=F-%THx zuB3NJ{WA66sY_Ewq{^vS^4{dl$@e6WOs-015Oo^yH*>6z&1>Hco_ z2fNShKD2vH_fB0u>$tZ7+$UWiy}K5Y0*5)Lq;EoPR~w5~ai zOt(6Z2t*~u)1+|1YpJ-j)(-{YFNVUXGMol7bqNQDtT0s`s`Wv_ZtO^m9z(bf2P%`D zic;7$mC;%+L>QXo(1~G=BaSxAQiMY_rkSyt2}q~M5V2xk*aZpjQ^Fc?z?H&SP4Va) zMqz4m7?E&wWOegCz)W125+R2BiCQ9As z-X2Z7KW~UFPt+MshnbzL3R9;bukBMaN=H*^m#PBOhj(s1cV`hNuA%Opvj?^x6%$sO4Fn+)eyB2}GV~s|XAhOZ zaps}NlNQbCZ^C>#TCnI%M8GN`S^;$!3Xgd5$V9+R#Q&4@T~LPW6X@U>t15|sZD+HG!!37WCu+8PG&|LmW3Oc2!L-O%mC=9=8}8fKu!`E2C5cu} zUPocHs_X{#v@p4BSp11tR@i=+E7SO)l;l9jtRvR0Pt+r4hspyHGfip*UR$L$V1PLy zv+tQ1uj)Tml8^B>?^9uYM_i!d(Z6rXqdb+2hd1Wc??E4t;8~7DcUR<;RGW}zKC#? z%3y@!j964$JdfCk`ap2O#lT^ZV8xoToz_59G^&8Ii}-w%nW3tp&N(+7jhQ-pUc563 z#z#+Kish>=)_f+U37|GmGFsvKgl98%W%`X(O{_V6hR9{bN}*Bqjd#;OWBCnYCDZoJ{>Zo$97 zstZ83)K+uAL5h|-!ybyZTAo~1J&+!;X)TSUCB=c8sFuGys)|9!ruE639$`wp2J|5W zp!jq2iW#FPA#do9`v4w$0yeV$ONg)$h}n8Lx4Ix&@M3hWo2QuGBdbgD{XKv@V=8`Xlt z3MsPDV>WTfj#ZV=5ZO5=11AnQoT|!;!-7P(v8r+#aF2&OH%9|zB%cYzTebKKLsjKC zpj$X=syK=SGbSG*;yH`?hg^iq9ZcL17;OxFMesV`nBLo%d5|UijA*HWey1Z zmv+6qD|c=#n|)VyC*lB}lD;OrBK0Bg|38{66Jfsw{QtdU--sPJ za3}cx-|L_2`+48tWbPl`^XHzkh<$&3cNZOOgTIZNmiX9{Yb@+#&~sxU>F+=D4@W)Y zjW=(`VBA{l$xXZa=#LR&23FR(tMB>9?9kEA-8}NPz@FT+TifUzpk~&+^PU~AyXL3I zY|ZFl?8!~f@UbV|y9Y;q^sy&T+w^qCH!!EG?e~t_0@q!+(*rwx8o$t^fZPx zFsE+lh^bcD`N5yu9Qfc{J=J#gKX$~J!KwC+!kk+n1jCouf0G$KC3w_GJHKM~oT#*w@{fyJ_9=pV~a~KmW1A;LV$MY8yTHv4f+3 zZOxAgJKwV3){Gu8)tu-%Pc=wlviadHJ;$E!oz)+71kDrkWc% zJk{=h=8L~~!^Z+5-|DHB^FMaPn8A;I$(?^Z^p*z>+M16YG1andqX$2BaP+VB?w{|y z_TH@-Jz}b57~M=Y_wK>bAB(A$W_&Z%DqEOpH~sN%#~+j4xJ_SuP3OGx)KuJmlgfPrLk{%_INwA3I`K>uVc5_^|_{uivqL z)i0JWtk{~-L-Kyzrd~!jQ_a15aP-Gws`W6wnQE>mTclZV>ql>0{K9{%+@`O-aZ@)# zo2ll84o|iFU$*1vKl?#p^SE0*)w=wT9WiF$W3RjT{RjX3ng4a(=8?C-RI~a2#jd^| z^nJbW=DzFtF6i6X_p-iKeWQK5^`(3N())|vZ}xtg{Qq-$H})RZ`-0wL?&rC0APVpPKyttI}^uADwHzro*(vnx#xzSclErn=Y*bD^{nez z))Vjkb$6}%%iW*seoyzA-G`>urk-b9A>ECxL-mi|E4G1WWP2BnBMI1Kn)Yijq7Pi1 zT6d!*e_Q@%Hv6i1$(8@PP0cZvHn{il_xZiG-W!oW?4QuE2Y*Vta&lfb8`l)Sl4ZQKgYTB(G8SMpr0Sh$JHp~D=b zmI3?myjMF${f97mh@Dw`>5f=zzT8UM{C6vpuZnJg#e?n4YX42idqwn5V9%wWnV&f3 zUTUX`djxAQ^I5YOp56g|Z|#%bbD3&;wcWYG+Dm-aT7OgW9QsB3PhjmpUr1(#n~SU$ z`mC8pu=XPRpyFRidAr(4U(v0W_cYh)PkL`R`wc4*w}gWon&5q@ec#ZpN}j{N2(`fd z5I-;lDAit+z;uJrr*>+C(Wf{@L%%C|J9qjSjPBwX^_Ps94^MK8`VW~AJK4!v_SaFyeZ25G z+A+EX7I(0d)$|c~v67dK{t4{md`>p6qm-L{&2^OaS!4D}f&+eUt!o1LC8JwlE#b4) z`kRs$i~b3$#eLSyqA_yo^I0>GkQ&v|dUosSZiYzYzh&2viL%Il+qE{=(Rb`O3`L2s zj=tZaiFNcn%VOwPrTlk0{D^gQmt9A}xRCrEb~5_Un4Wj~PnzqfX6I5k><1oy(5Ve3 z@9|j)t)qOs)6ZbDVW($HyifjaEBWR_7_B-+?Tlp>%x>cG@c@}cCNSm9?U4@fQrd++wd zwTW{QFHP(je<*%?{Mz_A@k8T9koIb^8)I*YZHVn1+hySXfzJUnw3NcTfv=3Ul(Lih8#S9JZQ>l-i;{u`^gXbY#32Q~pkq>&(1 zB!-sk9YQZErLmf#Er`tsQ!A9cLai1cG*x0qv1X$+MOzS&7N&++!9>Ii5=8?jd8sg1 zQ`7|!X^xmLK}1?XP^IMEK|tofU`;U>pg1}jo!MoQl!?OvL!dyOa(QZb?b*-}m(irr zcPHGxBz#h0G^yml|CPpT&k}Pp&_(5AD_Ab@2ZvrwFa`vqg?_+hrPStNz!?AbYJxI| zqGzWfFsv;V8rcfYfQYnE|0bB7pu6DTP|ZLa_|!;Cv1Y0hMMXAp%*Z>PDlMxC+klWX z+oe%)3|X)zvbAdhHy|XnmxPi}K zncJ{XAX%Hd!lCmPYimtNTBUn0U;p2hX;w^1m0<(WR`9oFg>5}<`v$7+JdU>^&Un~*dBh=~_A_zeg@UlUSBWalQ@ok(tgmx1K^2H@1MypY5JNv$6KDn-pCi&rRz@uq z2281n2~x6`*94Wp#@D3LGFFf|TNAsdfNlkMJ6aP;265Nz#*@j|E~ri(c*#WW0u@jk ztqCO~f>^=sg6kk#i#H(;kh)7NYJ$rk*uA}H<|P}hN=bojO#I$-VMR@#8Dwm?lM4TV zY+j|IQGA1V<>{q00cQ}-ZAc}a@&p;ToC~nPx2zP)gEe7g5YBB#BphN?Da9=A%mo;kJf~nVdU7_uL*W%$qK=Qux}=3xj0hGLrk!Hd&inS1U({i zM6PV>>GG1=7_?-_8CppPfEH2;2z~^?LSPSrwNWUHaGVYdBmo&hDlACqo=H0!s*ONH zsJH3mSYx^au&u~R~uGSNsfAUa(&q-ugWm}I7f`j#3(<`cPeMKV?SY=bqy9iUh^ zT4XfE=_}w2j!1GzI68)E0z1(A+y1O#0eXwxe}?lE-C=53O;88q$Tf+qX2E1-HZX&P zDPKZN0y!WMJ>+vT3EP~Ofxkl8s|n`-H6cW9)e2-E{DWRt2T}A!t!S@y%vLAB1JsI8 z|57V}8V~k9Jy>(#2bLOHac*%2X6!9qO^6yw3Jx)%1UfcR*Z{GIv>a+q)P$^o zM&XEcC;%Zs5;nM2?2D@CNK&-$G}!SRk zLC4(`Fiws2s9XT{CPMsCml3D{H8?igxzO|-7tp`5npE$IniDmlYH)1&-ZRuAR5Q*4 z5>G6Z&6Y*Z^|6Lb54TSxPSa#q?1D^(0|J4K215fJzUH^agU*3Og|K9z( z_Wc2Dz^jQe*r)Hw-5>5gz59Ufk?uaw|85GK|Itr&uS=3t=Uv@y8(Y)0lCMjABwmLI zbf^I06Fdnj(?fM5%c3JUr;02#G6vbPFosC~omy6xG&xpmpZ>AZYW7Z-_NXTz<5=;@ z+_7S?0Rt!Nlvhtc$g#587^}>_*@>CC;)e1Z(~LR}(^NGo6=o+E3zgZ~4a%RY$6fx^ z>PN>|C3ln5P$k5&cpm4_VoI<^i6S?L z0Q_JMQG?_OcCOR~fWf)4Dzu%WKo)?bGMEGuI040?oUaQ6gL5TJt!!4@G^zr~v=W>q zDfD$AVnmWVV*>;WQy5Ry!OU1)=onb5;ofz$P;r-CO!=T>$8l`b1(U(q;;325;CnEk zrS=OQ3;M!vUGNx~T8_w^E%GH&1BU}mm9p3vm)8Z0!Qs-RGKUMP-r7Ed6QweQoRf6{ zVsHek3OQtXUuwT&${;A&2OJl|!-$~eY~hTc)F23y6Y>Pia9ju%BZ3wyb-I9=PR1^# zCOL$q@`{?^F)&x#dEk(mCjXc+xWI`D60WeMCWs797DFoefPY5%EsYZ#mFQ@LHKAf) zkQoXi91b4UpOp#?1{r7gaP16ej0iU$Ef8REW3gf07{JSsn!&%&Sglqivq)@l+yR(? zmkjFBn!qnOcH3#0L(qyy*b4N_tQf5c1S5i&1r8J%+JTbrD5}JUTNtSc8H01Ty=TF> z;64WP3CuJSm6>!)Y68nJ(t%@1N5wWZ!+_pE(i0f8Cqn@&sp(D9p;#hFEjU;NB}bC? za81AlMmENvHPeQom8#Cgj6iG0_le!(01Z}!OhnFi-WZ;Q!$qA+RHuB+0UCs<*#tqR zBbQGA70ezC;>uV}fCgH?q0UjRphnvOwhXmLa4n-XAsV2)g{ezaDpDmQ)JRay$SB9v za~#B&tBx2M;Sk}#08ap%Kc=J*ZH|=$nlzG9MILB*ZVc!yy2rBGF%V&{x{j<>kAB4@ zgg2+!)28H7mO~R5KU{J~g7kTE#cQLQ=t15D)np%W6V7K(DY}N>*~$x0Yx`uc!&; z0KLK|^Yx0>ivU1sYQi``uUKXDip4of&MwXaQ!q0#H$!PeaQ)`y%V-+q#f8!=kfle| z=8aylrhC<+qF1mu@RV`(vTuPM$5Hw?Hdi_AxyfLv%Z~;Yh1iXXKDOqk)OrLez$0>m zF@zpTv50%cO1VXm!Hxsgr9+C(M~Hw6Fj*FsGMV#jeluP5E?kb4XFf#BVCtt!kys? zj0>ZsHGyVev>FnL2Y($5E=hL1_?H25N<&m1yt+V_phb2(5`!{K49bpg`#|6lUVg z0QZe+9sp44GO9@TaP5WApjbE>qga6cgRN*FdW5qwgPZ3CP-z*2&VB>=!l}wBOs_)B zo+=ppzn;%@<-V1>DtB7$CApQt|I2bt0Kv2U-wZ10bHZ|;3}@A19+^zPL2Q`p%4w_O7N3kl@w zT6|3MH4zpn#tI=JY-TJj6k|-FvAWhD2T7QmT>zA7c?S$8GM4RhzOJZ4)A!Ith$i}B^t|bxUOgfBOG4EDIg%1 z^1)CR7*IvRXYzFuguqx)2MOM2v?E=w^P_285o2`|g}}HWa)FK#Sb{PIz8bU~&SP~2 zA!tR0sLg#U3I%oxM;liMMdYa<1TC=;HRddqIm)8&$F(%32I~q&z(RGzNNH-kNGpyV z)!PO9rZ`krFanyIqmh{K00E52jU)aI{Pt7j;kqIbmV29tw7~G_2$ocEObm#DP*(^7 z2I`tf1GUY9oXpo1gb+n;4Ag*!SpURJtUv?|)KKq{QCc|T6peuAJ4A1yv{=5uztT{B z67t=A<`ETPRm?NY6foUcB0$RG`JR9X3)S{1S;;~TcErE&e6NHI3)Lr+v_#lC=JbqL zABPYNb&au53H@M0Tfn<8KQl2qO?=km+~NXJVqBGqB5SBrM{h4iVP33_!IdcihJb_N#GD$cEBpn`!cpsRAW%zJfpW*nmqw}e zx`JNV`5lotJWUl0;XmU1z&@_bEUzor1I$+nROu!UJqQYD_5?6;b3v3b& zFRsuOB&C?Yk-EZMB4{~=F%RWs)$IT?uRJ|cSGY?AEt&<+YK7P+ij+Ifsp3doQ7@dH z?L6=z1W$46z*dGohv22DrFDhAaC#bA35cLroR@60h?3yD84eGHyP#Vb5{ZZH5SvoB z&Zq-~vrQpHg}4|YZq_XTX5)SqS?k^z;BnMK6WF4jTJ;4y9fWEj7Vb{C=)(e@ni{Pu zt_6jmotWu>HcPM&7gyY(NNFgI))n9qL2R@O!FuyC8pj8ZP536hlA5vF0Lv@8EpjM7Y13L|S7)g5`xP=pTw` z$D3Q%%KbF=)!Yra zD{^nmosv5^w?4N#mmD}d`?u_`v-Rv(vNvWg$)1^=&AvFhKI?%J_%MEf+cKZYT$6cc z=ETg)GpjO7GMV(l511Q_Dzf=vhlyge;2>EzpsDizAyIG`##wBj=l$}GI&Pc9)0VJ6y$7^{ zD|;7u_wW5||A+f;=|8Ohtp0ubSM*;x@PdIu2Vw(5{lD(NV_@~bN$H!@-%VegeslUa z>ACbt=_OP>=uh3BJ}`B6_grdI>iX14sh6j2!~b!4W=-am-KS;-Gbd+9v#T>d$^0Yp z)y$3AU9$&d4@oUe6_T~&ACv!?%5}dq^{lRev%4SsUs$o*N&XK>z-Ib{eE=kp-O;Iy zHTmsMZRq#kvWZ3EK1<#=ZT6CDVi)qhVKaxC&H!|8R|dZM$SCArvq?hjhB$2A9^C?y zUyW{o#jn`JqW0cO-j{9Gl5fO&x7p0KrpfNPBJl2kVa-*HZ?}VC%@w9^Z-KR2eb!n} zH(2|k&su9s$@_xOnmy#a|MXci#}#sOMc|zQZCLvc_nATm3e4TosSWl%*QpH#Z+4$I z)Mv^2clUX1lRocf-RHGWbfkFyW)sMoCahufGk&LS+dq7Mx0?ZCG@`4J{Vo$818QG5)+8Z67wXM}6#L1r}C$d4Z31YU2&A@6^UC ze8j$8xX+UJVau{>5(6Kyf^Mq52-=l_Z$2`DzRt>}UG0R;Yol9W@&nN=uy~D~tnIy( zynnTm)z?_P_gjHA)l<(Efp-rKYp!B^yDkZ9t}uOj3#?t~v(~y=VC{WAYppFM?+Twa zw~pTHv*xcOR|MXviiWkz+-C~Sd6>JjQyc8Pr&AjYUgAD)sLzu3ZpV`EHt^nJC!dMA z^WN%On-lo$eox`Wb76-jc-!Pe7hWOn=3j3`%}rE*x52eG-~4dPX(+6L&vJB!Cf@ug`{tovmAoT5 z{D?O{(!P019K(WrPyZQfZqa|zeDmYFy1Kvie@J0?BEO1V&Ea?>rrU{~+L&(}{aMv+ z1D3qwJN=9qcY<9rErCYfF?P)~A2R2Tb#u{ts?a*kuve+Z-J+MU-A;q%UN>oDYo@y?EJfyFo2ZQb+{Fe^*m>!N=G zd$0F7X}UeUGu%dEFY96LOrJG(D4gQ=)_QvIp-+!)fwj|o)>?m4@?IPL6IeUdXU&{F z=BPQzXU#lceQ&2x4Cze9ZAuH2h){n_)g3Gn}) zmVR&g8L58(|Nmpjm5EOzis1k6`$XQYw!iy!32c|Zb_r~kz;+32mq1tor)^s412(VU z0yg;fcY12?FaB`g*1#8su&Ot18utO4-O#~&VOuijR}aoUu<*H8Y#w*30h>J^usLGP zK#uad^Z(M-d(OHaZXS6X05+ewDc?4F5S=?X`WId`f93nn++k}*56Sy=o5mR3V1v7N z503s=V1th`zQG1xw}q*8(QSR_4xPPbo4)$SO(P6#u)*EX;i-22cTRoa){~CkJnmLc zwH5xyju_$RE8e?#E|n#1@rvwC;k~b3T2+`m46-s|){s-+^1Za`)supSvt~V(vgP0Cvd! zD*L7E2eRj6=d!D_yMW{Woy<+#^dFIVPG&jy{XgX1{JrT@)2~Pu(&^N%$prXF>b%rz z$OU+M@~_G7B|o0LFnMh9g~=7kp2Uw5|CzWtaYo{x#8hI(`0wLikI%;Uj_)47A%1@B zQ?YlEE%1+6HP+9~|E;kX$Hv0i#r7xLC9qur+a<7F0^21JC4r&7p1pgzw_te2KDMN< zXH}CVq)NqZT;A97?8x?j;t{){g(|2Z1gSo{dtXnb*;kNCYDDaM%k36ym)J)vw-Nfj zF=t~RwtPgi2l@C=3ssPhAk_ygw;lBB*maiMEvUb-Yc01CDx>B01D217_8=eEv`}^8 z_FpZx9aOZ~`)wx?rEG&kU1>XspfVrmefE{NpoYb+wy*3+!qe%h7CwUQK|cP)Qbkll z4N_fZxs9MQ++J$AbzX6EeUIhVkp#K1++NbcN3cD}$Ga_6L`}vZ)jKV>5mbiTcUW#+b0oJHS#BLkkQ>YG zg)Mvp+k<>;vQ!ae{eo0)wcJKf8E)TVxpmEv+`ip%>qvs!SZ*(9;Um}{YGIW2qy+k@PmZKM`S;xIM#i8$o5bJ>7Eanj^V=o#ob%1i7)? zp4Gxfusz7_nU<=wWo}Qg+(u9tZcnz{y5>l3PqW-Qk{~yh+f!Tk2(|~geXXUM+A_B% zSZ*Vz47bNyZe4REw<<>Pva(kS~ z{|9%+e`S0$_Se`q`{(S^+q|#_Z$r%yE$}u8|n2c~G@{kZj0@FxCSsEl6wf9Vtk)VQX((ZX^kqXz3=zm5WI`!*n}je%t_(JmqCtw0 zp-`9~N!pVPs9aw%x=6vA8E#~uA&17%D4=B$&IL?HykS6x=>iC$uF7)FAIT^)J1mK zpwc1A5V`V;low3uG}xcOnUp8T8Um#w!6;14>;WB}OmNClASPhD%cBi}(ve^k zriPddIpuFNi-AFzE)O;YPDg@~BSuQpnINf2$em;!0{}2R*bp=w7%7fMbBGjlfWSa8 zV5TWMbXlVd8uE*pG?J5`2FR!~3EP@RWv?zoI`WIwwMVa-{2~(Bf`24W)rCq&eo=^? zI3ul^*1w68R~Iy0)BprRk!;+CA5BK3@aaI<3JqWqnA>2nhUx~Z&ZkCLbcvJ%{KDh} z_l}g_Wp#nok-u!aG=a5{k-i@Mo7tl-v^w&aeKHe8#ycq|IQZw)1yx7>@;aNpJilSC zGFOdA<{*?NFQ z01$zXDrg~cqe*E!337J5Fe`#Z;q$N$lQjx9W|5T16Coyf*%8~bfkQ^16{K5}wmAW8 z#YTwO_#KfJG8=yd04$LDL4Z(3e0h2O1gJ<}Zc>>80(>pbUepAVl36V!5{Hk6jzey3 zNV5Q}3e+ypvQ#^QgQvKnew=8%5Uoypp??Shj-*zgDn{zUK8)y=)1U$>3TPed&*0XQ z)VrcC2t?G1b{4>?m>K6(VsMbDwX~Pk1%pUxt|3J{NDfd9ut9X%u{_G8E(`jQv(u0m zy#ld}lO#=r7Fgr!Ob*qBcSvfgqmgI;q5`7K9O)HdN%0B>$cL`#N`TE*P2AacpxKMNQbCr?fpvW0DJ>|i*H#3s|0+Vk-G2>(JR`C zh1v;3HX0mB=*0r3?97t7AP>;Db3Y z3SeOfoX*H5s8O!PLs|b->tpXU~;NRr*?sdV^fdC%*fz>LIyuj#C zBSHj5jQ~MD_%~EHxO6@>(m_9fNlkd6wSq}MU07BZG97A!?b25x+5ujkQa=c?VV^Y@ z#7}<(ul^ER&>PkoyxGbODYCwlBZ{SdG&K=sT+n ztPQ3;+4C#`fJ~@+@JK2HGZqX44h57aAQPZ}0s)@L{?8Ab(UrS9_o>{b+-$Cp>&@Pk zJ}SLeddJlLsoPSQrVdZdq~gi@lD8P^e@!x%xG(X!#AS(768k5f5&v!c*7*D4r^R1} z_5b(Sov~|UuaCVVR^&$idjlV$-zB zqEp=<+>CP23HdOR8Y4`_^f0YwaDBTS7o1c(UI zR+wCFOiUB-d@-4E(P82aH3W=^vFfO0Z~$V7;*a41vbSK<3d0S-A!4jLB4?~(9$;^v zbOS^PD%G-vU=UHKn^ewNMQaCp5@0&agVNM!L->bSPU}OqDwz91#6nbn!U@BwIMNXQ zAtqTnvAp0Igg6HQH$+XM6vjwHIEWFn7#u~_t^g2^UO|upNva_@L@cuQeo>z=Y(ZWG z5)e}q7xmPVhCmUq$PBFngsmvJXi94U6NQKd8&gnVkr@hOtzs$yw}cB3y&H$`ba}W@ zgvQ9QnQ^L8V&lMOVzdFag*}9O)j%Gqr&bfxc)M~xUTADJF_B^m-eG?Hv3HukCt z)S6x~hd^N)Z3y@wu(y| zLO{ftH!Mp$_^&Z&xu5`RR5f@?OB)^}yGeq^8pYKC%oS}^38fe#(2&!^4Pn(8@fZ>_ zb?~TzZwgy{2*9vPg|UW%s9PVh6RpLHmW+((R7llh4Fgffupw&s!G-Y!{u}NXAtjc^ z8bYYkq6|?Rpe_90KuLnV23i{>J{m%(!(t6nW3gh12*nd$4y&HBhz%jtVX-=5gd~d< zQyDNcRVspPs3Dv>ELKNjEmp9~RBmhnn^o5j%Nhcy(-QN|T5GWa?k@y6L4O0VTFEzr zPlv_2KGI?hl|^g_q7Juqh}>DM0sEGJmc52x>Z0h4!3wH*%imPKA*ecVJVX7O1)YRPK9J6y4N8B>!MW)e0g$baTBbKGT#vFA<9CS+Nc(I{}3W>=t(od@(n>CMv@!d zf+>ij3@5W-xQjDm4Z$IzTZDU;ADml7u0H{S#%+N!d9Wc^L|y+`&UH3WXM&QSd`_^z zSxV?1!a`)*b2LV^ki(jixp*DHvBjISydexk+~7?jr&+KiLZR~$hssn*@&CsUtmw-9 zHrL4An)@(5fK#Xfcu;Qd+@85?_Q7l|dwcfZvj3WWbN1-$i?YS+U^bh1D05Hd*35O8 zw`EStEM^YO%w%@U^rU~D{vPOmpG|*|8UbgdXVcG4d+FWC4|phbFMfoNrY=sMn>s#q zFj)e_saW#Yuw5fOPlYvzHGTHbx8kQoPaW1ZSyZ?sbz434OIj<~}~K4kWEJ4Tyo^!QU;uMsA}_|rSJ!RXT*qoLoG#-G~h zXE3^}W7PiaScBy@zO!T0e+Z+y*yZYni;nN$K3>SvH~!@47FgWL?ggfgAeP(sj?q7X zy(jscY~G);ZuV(p*%aeBpEb9WB>dj^@4zs8=uC7AtfhU{T7Od-Pe%U))>1xeoA;-f z&zgAzYjOLac`xqWY1fgtTKB%=TASw^sAEh{SH539o=o$ zksl@z;@ekDW{5XbyP1uTvXL{?KP7w2r(Vbov==-fO34OBjb& zw~}u@gwcj$)XrG8YVY^1SNo)89(aH1)CQw}bc}|6SMvVQ>1QzdpkvfuGDe`kbBy{A zVf26OWcA~ty!+k93#}vXx6v)I_<)_PrjNjjmAqd^{{;4a<8#tnN8T^p?DN-=_bZ<@ yX0Igp6Ti3CHNl7eMRW_S{oH4*^*1H&r_n!wwV(N{nMGsd_9LG)^9ZT^`2PdE%7XF$ literal 0 HcmV?d00001 From 9d3d105637ee44f4214816cfe9ae7cb3ee1f18e2 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Tue, 13 Jun 2023 22:19:23 +0300 Subject: [PATCH 5/8] fix: fix notebook according to the comments --- examples/automl.ipynb | 12265 ++++++---------------------------------- examples/etna-auto.db | Bin 1486848 -> 0 bytes 2 files changed, 1724 insertions(+), 10541 deletions(-) delete mode 100644 examples/etna-auto.db diff --git a/examples/automl.ipynb b/examples/automl.ipynb index 946d19920..2c129373d 100644 --- a/examples/automl.ipynb +++ b/examples/automl.ipynb @@ -47,7 +47,7 @@ "metadata": {}, "outputs": [], "source": [ - "HORIZON = 30" + "HORIZON = 14" ] }, { @@ -216,7 +216,7 @@ " 'kwargs': {},\n", " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", " 'transforms': [{'in_column': 'target',\n", - " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'lags': [14, 15, 16, 17, 18, 19, 20, 21, 22, 23],\n", " 'out_column': 'target_lag',\n", " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", " {'day_number_in_week': True,\n", @@ -232,7 +232,7 @@ " 'special_days_in_month': (),\n", " 'out_column': 'date_flags',\n", " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", - " 'horizon': 30,\n", + " 'horizon': 14,\n", " '_target_': 'etna.pipeline.pipeline.Pipeline'}" ] }, @@ -258,7 +258,7 @@ " 'kwargs': {},\n", " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", " 'transforms': [{'in_column': 'target',\n", - " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'lags': [14, 15, 16, 17, 18, 19, 20, 21, 22, 23],\n", " 'out_column': 'target_lag',\n", " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", " {'day_number_in_week': True,\n", @@ -274,7 +274,7 @@ " 'special_days_in_month': (),\n", " 'out_column': 'date_flags',\n", " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", - " 'horizon': 30,\n", + " 'horizon': 14,\n", " '_target_': 'etna.pipeline.pipeline.Pipeline'}" ] }, @@ -310,7 +310,7 @@ " 'kwargs': {},\n", " '_target_': 'etna.models.linear.LinearPerSegmentModel'},\n", " 'transforms': [{'in_column': 'target',\n", - " 'lags': [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],\n", + " 'lags': [14, 15, 16, 17, 18, 19, 20, 21, 22, 23],\n", " 'out_column': 'target_lag',\n", " '_target_': 'etna.transforms.math.lags.LagTransform'},\n", " {'day_number_in_week': True,\n", @@ -326,7 +326,7 @@ " 'special_days_in_month': (),\n", " 'out_column': 'date_flags',\n", " '_target_': 'etna.transforms.timestamp.date_flags.DateFlagsTransform'}],\n", - " 'horizon': 30,\n", + " 'horizon': 14,\n", " '_target_': 'etna.pipeline.pipeline.Pipeline'}" ] }, @@ -578,8 +578,26 @@ "from etna.datasets import TSDataset\n", "\n", "df = TSDataset.to_dataset(df)\n", - "ts = TSDataset(df, freq=\"D\")\n", - "ts.plot()" + "full_ts = TSDataset(df, freq=\"D\")\n", + "full_ts.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "b1f95a3e", + "metadata": {}, + "source": [ + "Let's divide current dataset into train and validation parts. We will use validation part later to check final results." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d72c9f19", + "metadata": {}, + "outputs": [], + "source": [ + "ts, _ = full_ts.train_test_split(test_size=HORIZON * 5)" ] }, { @@ -600,7 +618,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "5e4efd0c", "metadata": {}, "outputs": [], @@ -609,11 +627,7 @@ "from etna.auto import Tune\n", "\n", "\n", - "tune = Tune(\n", - " pipeline=pipeline,\n", - " target_metric=SMAPE(),\n", - " horizon=HORIZON,\n", - ")" + "tune = Tune(pipeline=pipeline, target_metric=SMAPE(), horizon=HORIZON, backtest_params=dict(n_folds=5))" ] }, { @@ -638,307 +652,43 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "49c86098", "metadata": { - "scrolled": true + "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m[I 2023-06-12 18:50:16,705]\u001b[0m A new study created in RDB with name: no-name-5046c5f2-2364-45af-b87b-8a8a6cbc768a\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:18,398]\u001b[0m Trial 0 finished with value: 9.424032551013603 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:19,916]\u001b[0m Trial 1 finished with value: 10.051840446830045 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:21,219]\u001b[0m Trial 2 finished with value: 10.732693622511146 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 18:50:22,518]\u001b[0m Trial 3 finished with value: 9.80505648667696 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:23,929]\u001b[0m Trial 4 finished with value: 9.706256897843042 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:25,326]\u001b[0m Trial 5 finished with value: 10.45535170144166 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:26,783]\u001b[0m Trial 6 finished with value: 10.135929201859586 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:28,289]\u001b[0m Trial 7 finished with value: 10.112234056351463 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.424032551013603.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:29,624]\u001b[0m Trial 8 finished with value: 9.24416821782034 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 8 with value: 9.24416821782034.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:30,979]\u001b[0m Trial 9 finished with value: 9.542153350717015 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 8 with value: 9.24416821782034.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:32,348]\u001b[0m Trial 10 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:32,574]\u001b[0m Trial 11 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:32,814]\u001b[0m Trial 12 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n" + "\u001b[32m[I 2023-06-13 21:30:20,414]\u001b[0m A new study created in RDB with name: no-name-7ebda9fb-faee-436b-bd92-440cda6b7c72\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:22,265]\u001b[0m Trial 0 finished with value: 9.957781486602626 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 9.957781486602626.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:23,939]\u001b[0m Trial 1 finished with value: 10.30690883805368 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.957781486602626.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:25,364]\u001b[0m Trial 2 finished with value: 9.21018287943126 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:26,689]\u001b[0m Trial 3 finished with value: 11.255320181809623 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:28,217]\u001b[0m Trial 4 finished with value: 9.946865870033573 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:29,753]\u001b[0m Trial 5 finished with value: 10.756703370092135 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:31,266]\u001b[0m Trial 6 finished with value: 10.917164483370643 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:32,802]\u001b[0m Trial 7 finished with value: 11.478760060537562 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:34,221]\u001b[0m Trial 8 finished with value: 9.943657842994194 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:35,697]\u001b[0m Trial 9 finished with value: 10.554443947120468 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:37,074]\u001b[0m Trial 10 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:37,353]\u001b[0m Trial 11 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:37,602]\u001b[0m Trial 12 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:37,859]\u001b[0m Trial 13 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:38,094]\u001b[0m Trial 14 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m[I 2023-06-12 18:50:33,052]\u001b[0m Trial 13 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:33,289]\u001b[0m Trial 14 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:33,519]\u001b[0m Trial 15 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:33,759]\u001b[0m Trial 16 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:33,992]\u001b[0m Trial 17 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:35,443]\u001b[0m Trial 18 finished with value: 9.473751558122908 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:50:35,675]\u001b[0m Trial 19 finished with value: 9.183607682132811 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 9.183607682132811.\u001b[0m\n" + "\u001b[32m[I 2023-06-13 21:30:38,340]\u001b[0m Trial 15 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:38,576]\u001b[0m Trial 16 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:38,820]\u001b[0m Trial 17 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:40,292]\u001b[0m Trial 18 finished with value: 10.061742464165459 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:40,539]\u001b[0m Trial 19 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n" ] } ], @@ -972,7 +722,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "14525b55", "metadata": {}, "outputs": [ @@ -1024,481 +774,481 @@ " \n", " 0\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 90017b9f59d1921afcea80ae03d04528\n", - " 0.140000\n", - " 0.113333\n", - " 0.224301\n", - " -0.124667\n", - " -0.036667\n", - " 0.290000\n", - " 0.314000\n", - " 6.409660\n", + " f4f02e1d5f60b8f322a4a8a622dd1c1e\n", + " -0.500000\n", + " -0.478571\n", + " 0.205204\n", + " -0.672857\n", + " -0.621429\n", + " -0.357143\n", + " -0.254286\n", + " 5.806429\n", " ...\n", - " 2932.337258\n", - " 4042.729987\n", - " 23.955975\n", - " 25.206359\n", - " 11.622637\n", - " 13.983771\n", - " 20.517148\n", - " 28.645187\n", - " 38.179483\n", + " 2220.282484\n", + " 2953.865443\n", + " 21.000232\n", + " 22.334611\n", + " 8.070926\n", + " 14.955846\n", + " 18.861388\n", + " 24.473455\n", + " 31.581505\n", " TrialState.COMPLETE\n", " \n", " \n", " 1\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " f12fdaaacd1f0f30797c8c2fa4ad3e51\n", - " 0.120000\n", - " 0.106667\n", - " 0.194441\n", - " -0.083333\n", - " -0.043333\n", - " 0.270000\n", - " 0.278000\n", - " 6.517718\n", + " 3d7b7af16d71a36f3b935f69e113e22d\n", + " -0.457143\n", + " -0.485714\n", + " 0.242437\n", + " -0.745714\n", + " -0.642857\n", + " -0.300000\n", + " -0.265714\n", + " 5.856039\n", " ...\n", - " 2892.064980\n", - " 4081.353542\n", - " 27.123157\n", - " 27.218174\n", - " 12.626771\n", - " 14.091358\n", - " 23.044267\n", - " 31.297064\n", - " 40.478015\n", + " 2644.982216\n", + " 3294.855806\n", + " 22.762122\n", + " 23.389796\n", + " 8.482028\n", + " 14.897792\n", + " 19.344439\n", + " 26.807479\n", + " 32.760543\n", " TrialState.COMPLETE\n", " \n", " \n", " 2\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 620e1369df4d813039cf8aba6c406346\n", - " 0.126667\n", - " 0.126667\n", - " 0.100074\n", - " 0.023333\n", - " 0.063333\n", - " 0.190000\n", - " 0.230000\n", - " 9.089307\n", + " 7c7932114268832a5458acfecfb453fc\n", + " -0.200000\n", + " -0.271429\n", + " 0.264447\n", + " -0.581429\n", + " -0.392857\n", + " -0.078571\n", + " -0.061429\n", + " 5.693983\n", " ...\n", - " 4380.162760\n", - " 9372.799823\n", - " 23.651138\n", - " 33.216979\n", - " 27.757430\n", - " 13.023336\n", - " 17.723981\n", - " 39.144136\n", - " 66.802801\n", + " 3457.757162\n", + " 4209.624737\n", + " 22.572681\n", + " 23.336111\n", + " 12.049564\n", + " 11.235277\n", + " 18.503043\n", + " 27.405750\n", + " 36.505748\n", " TrialState.COMPLETE\n", " \n", " \n", " 3\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 1b8349c202df4b87e85601fbb589b8be\n", - " -0.026667\n", - " 0.013333\n", - " 0.223905\n", - " -0.180667\n", - " -0.156667\n", - " 0.143333\n", - " 0.263333\n", - " 8.627456\n", + " b7ac5f7fcf9c8959626befe263a9d561\n", + " 0.000000\n", + " -0.085714\n", + " 0.211248\n", + " -0.340000\n", + " -0.100000\n", + " 0.014286\n", + " 0.048571\n", + " 7.881275\n", " ...\n", - " 4523.291119\n", - " 8706.679762\n", - " 21.340072\n", - " 29.744416\n", - " 24.853937\n", - " 11.444867\n", - " 15.402917\n", - " 35.681571\n", - " 59.810045\n", + " 5039.841145\n", + " 5665.228696\n", + " 35.976862\n", + " 33.937644\n", + " 17.252826\n", + " 14.444379\n", + " 27.282228\n", + " 42.632278\n", + " 50.576005\n", " TrialState.COMPLETE\n", " \n", " \n", " 4\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 2ba3f873c085dcb0e0c09d76c5b7f0d1\n", - " 0.146667\n", - " 0.136667\n", - " 0.268301\n", - " -0.138000\n", - " -0.050000\n", - " 0.333333\n", - " 0.397333\n", - " 7.713863\n", + " e928929f89156d88ef49e28abaf55847\n", + " -0.414286\n", + " -0.421429\n", + " 0.207840\n", + " -0.620000\n", + " -0.585714\n", + " -0.250000\n", + " -0.232857\n", + " 6.032319\n", " ...\n", - " 3043.004223\n", - " 5965.965973\n", - " 23.849080\n", - " 29.891810\n", - " 22.179099\n", - " 11.975667\n", - " 18.984462\n", - " 34.756429\n", - " 56.267775\n", + " 3091.962427\n", + " 3181.592755\n", + " 23.166650\n", + " 25.265089\n", + " 13.224461\n", + " 13.001779\n", + " 18.666844\n", + " 29.764896\n", + " 40.466215\n", " TrialState.COMPLETE\n", " \n", " \n", " 5\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 822f29d4dbc55b75925a7a09c9157b00\n", - " -0.026667\n", - " -0.040000\n", - " 0.196864\n", - " -0.239333\n", - " -0.183333\n", - " 0.116667\n", - " 0.140667\n", - " 8.792364\n", + " 3b4311d41fcaab7307235ea23b6d4599\n", + " -0.400000\n", + " -0.385714\n", + " 0.396927\n", + " -0.788571\n", + " -0.514286\n", + " -0.271429\n", + " 0.037143\n", + " 6.653462\n", " ...\n", - " 4348.312974\n", - " 8320.435293\n", - " 22.169181\n", - " 31.987105\n", - " 25.216224\n", - " 15.227327\n", - " 19.111376\n", - " 35.044910\n", - " 62.491976\n", + " 3800.976318\n", + " 4837.444681\n", + " 35.792514\n", + " 32.276030\n", + " 16.296588\n", + " 13.499409\n", + " 24.106508\n", + " 43.962035\n", + " 46.129572\n", " TrialState.COMPLETE\n", " \n", " \n", " 6\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " e1776a647e31f966fed96c574078b6d6\n", - " 0.166667\n", - " 0.116667\n", - " 0.224268\n", - " -0.139333\n", - " -0.003333\n", - " 0.286667\n", - " 0.302667\n", - " 7.261239\n", + " 74065ebc11c81bed6a9819d026c7cd84\n", + " -0.442857\n", + " -0.435714\n", + " 0.246196\n", + " -0.672857\n", + " -0.621429\n", + " -0.257143\n", + " -0.188571\n", + " 5.739626\n", " ...\n", - " 3388.914262\n", - " 4835.825193\n", - " 26.505894\n", - " 28.043231\n", - " 14.194960\n", - " 14.234012\n", - " 21.005186\n", - " 33.543939\n", - " 44.004721\n", + " 2933.246064\n", + " 4802.299660\n", + " 27.304852\n", + " 24.936077\n", + " 8.294963\n", + " 15.108636\n", + " 21.478207\n", + " 30.762723\n", + " 31.447233\n", " TrialState.COMPLETE\n", " \n", " \n", " 7\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " a5c13f380b0160ee60b3178023db469b\n", - " 0.126667\n", - " 0.080000\n", - " 0.243676\n", - " -0.200000\n", - " -0.040000\n", - " 0.246667\n", - " 0.294667\n", - " 6.787563\n", + " b0d0420255c6117045f8254bf8f377a0\n", + " -0.442857\n", + " -0.464286\n", + " 0.260167\n", + " -0.725714\n", + " -0.657143\n", + " -0.250000\n", + " -0.232857\n", + " 6.042134\n", " ...\n", - " 2881.801159\n", - " 4182.357105\n", - " 27.029336\n", - " 28.654451\n", - " 13.485104\n", - " 15.795294\n", - " 23.214706\n", - " 32.469080\n", - " 43.788769\n", + " 2682.735922\n", + " 3688.168155\n", + " 28.393903\n", + " 25.819143\n", + " 8.652993\n", + " 15.618131\n", + " 21.989342\n", + " 32.223704\n", + " 32.415490\n", " TrialState.COMPLETE\n", " \n", " \n", " 8\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " c50d7518c10036cd75bf03692eedd4c7\n", - " 0.160000\n", - " 0.113333\n", - " 0.283366\n", - " -0.194667\n", - " -0.066667\n", - " 0.340000\n", - " 0.356000\n", - " 7.388653\n", + " 25dcd8bb095f87a1ffc499fa6a83ef5d\n", + " -0.457143\n", + " -0.457143\n", + " 0.265986\n", + " -0.705714\n", + " -0.671429\n", + " -0.242857\n", + " -0.208571\n", + " 5.869280\n", " ...\n", - " 2650.520332\n", - " 5457.231014\n", - " 23.765457\n", - " 28.460441\n", - " 19.874549\n", - " 11.558503\n", - " 18.108626\n", - " 34.117273\n", - " 51.935358\n", + " 3098.567787\n", + " 3154.538337\n", + " 22.380642\n", + " 24.289797\n", + " 11.998603\n", + " 13.252341\n", + " 19.168974\n", + " 27.501465\n", + " 38.000072\n", " TrialState.COMPLETE\n", " \n", " \n", " 9\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 3d62bb297472c6397485fbf61c6b082a\n", - " 0.153333\n", - " 0.133333\n", - " 0.379786\n", - " -0.274000\n", - " -0.090000\n", - " 0.376667\n", - " 0.512667\n", - " 7.438553\n", + " 3f1ca1759261598081fa3bb2f32fe0ac\n", + " -0.414286\n", + " -0.435714\n", + " 0.292654\n", + " -0.725714\n", + " -0.657143\n", + " -0.192857\n", + " -0.175714\n", + " 6.608191\n", " ...\n", - " 3053.293510\n", - " 5700.527070\n", - " 23.216146\n", - " 28.600113\n", - " 20.576752\n", - " 11.720932\n", - " 18.433710\n", - " 33.382549\n", - " 53.016848\n", + " 3044.388978\n", + " 3611.477391\n", + " 23.750327\n", + " 26.488927\n", + " 13.825791\n", + " 14.242057\n", + " 20.027917\n", + " 30.211337\n", + " 42.569838\n", " TrialState.COMPLETE\n", " \n", " \n", " 10\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 11\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 12\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 13\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 14\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 15\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 16\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 17\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", " 18\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 2ef1f244e3ed0c608b072107f24bd8d4\n", - " 0.200000\n", - " 0.210000\n", - " 0.352998\n", - " -0.112000\n", - " -0.080000\n", - " 0.490000\n", - " 0.546000\n", - " 7.000799\n", + " 6f595f4f43b323804c04d4cea49c169b\n", + " -0.414286\n", + " -0.435714\n", + " 0.325242\n", + " -0.754286\n", + " -0.685714\n", + " -0.164286\n", + " -0.147143\n", + " 5.657316\n", " ...\n", - " 2955.898830\n", - " 4927.027051\n", - " 24.096784\n", - " 27.077711\n", - " 15.960342\n", - " 12.719298\n", - " 19.211924\n", - " 31.962571\n", - " 45.609421\n", + " 2247.347025\n", + " 2681.501259\n", + " 21.624614\n", + " 22.111993\n", + " 7.952462\n", + " 14.197890\n", + " 17.080865\n", + " 26.655742\n", + " 30.708428\n", " TrialState.COMPLETE\n", " \n", " \n", " 19\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 819656d1513b71b55f7a0f548490f8b2\n", - " 0.140000\n", - " 0.113333\n", - " 0.350153\n", - " -0.264667\n", - " -0.096667\n", - " 0.350000\n", - " 0.454000\n", - " 7.056414\n", + " 8363309e454e72993f86f10c7fc7c137\n", + " -0.157143\n", + " -0.185714\n", + " 0.226779\n", + " -0.431429\n", + " -0.328571\n", + " -0.014286\n", + " 0.020000\n", + " 5.974832\n", " ...\n", - " 2654.019283\n", - " 5215.292263\n", - " 22.710328\n", - " 27.935635\n", - " 19.928283\n", - " 11.645170\n", - " 18.455053\n", - " 32.190911\n", - " 51.541530\n", + " 2902.306123\n", + " 3526.513999\n", + " 17.027383\n", + " 21.682156\n", + " 15.988286\n", + " 9.110958\n", + " 11.100846\n", + " 27.608693\n", + " 40.770037\n", " TrialState.COMPLETE\n", " \n", " \n", @@ -1530,141 +1280,141 @@ "19 Pipeline(model = LinearPerSegmentModel(fit_int... \n", "\n", " hash Sign_median Sign_mean Sign_std \\\n", - "0 90017b9f59d1921afcea80ae03d04528 0.140000 0.113333 0.224301 \n", - "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 0.120000 0.106667 0.194441 \n", - "2 620e1369df4d813039cf8aba6c406346 0.126667 0.126667 0.100074 \n", - "3 1b8349c202df4b87e85601fbb589b8be -0.026667 0.013333 0.223905 \n", - "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 0.146667 0.136667 0.268301 \n", - "5 822f29d4dbc55b75925a7a09c9157b00 -0.026667 -0.040000 0.196864 \n", - "6 e1776a647e31f966fed96c574078b6d6 0.166667 0.116667 0.224268 \n", - "7 a5c13f380b0160ee60b3178023db469b 0.126667 0.080000 0.243676 \n", - "8 c50d7518c10036cd75bf03692eedd4c7 0.160000 0.113333 0.283366 \n", - "9 3d62bb297472c6397485fbf61c6b082a 0.153333 0.133333 0.379786 \n", - "10 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "11 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "12 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "13 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "14 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "15 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "16 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "17 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", - "18 2ef1f244e3ed0c608b072107f24bd8d4 0.200000 0.210000 0.352998 \n", - "19 819656d1513b71b55f7a0f548490f8b2 0.140000 0.113333 0.350153 \n", + "0 f4f02e1d5f60b8f322a4a8a622dd1c1e -0.500000 -0.478571 0.205204 \n", + "1 3d7b7af16d71a36f3b935f69e113e22d -0.457143 -0.485714 0.242437 \n", + "2 7c7932114268832a5458acfecfb453fc -0.200000 -0.271429 0.264447 \n", + "3 b7ac5f7fcf9c8959626befe263a9d561 0.000000 -0.085714 0.211248 \n", + "4 e928929f89156d88ef49e28abaf55847 -0.414286 -0.421429 0.207840 \n", + "5 3b4311d41fcaab7307235ea23b6d4599 -0.400000 -0.385714 0.396927 \n", + "6 74065ebc11c81bed6a9819d026c7cd84 -0.442857 -0.435714 0.246196 \n", + "7 b0d0420255c6117045f8254bf8f377a0 -0.442857 -0.464286 0.260167 \n", + "8 25dcd8bb095f87a1ffc499fa6a83ef5d -0.457143 -0.457143 0.265986 \n", + "9 3f1ca1759261598081fa3bb2f32fe0ac -0.414286 -0.435714 0.292654 \n", + "10 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "11 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "12 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "13 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "14 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "15 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "16 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "17 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", + "18 6f595f4f43b323804c04d4cea49c169b -0.414286 -0.435714 0.325242 \n", + "19 8363309e454e72993f86f10c7fc7c137 -0.157143 -0.185714 0.226779 \n", "\n", " Sign_percentile_5 Sign_percentile_25 Sign_percentile_75 \\\n", - "0 -0.124667 -0.036667 0.290000 \n", - "1 -0.083333 -0.043333 0.270000 \n", - "2 0.023333 0.063333 0.190000 \n", - "3 -0.180667 -0.156667 0.143333 \n", - "4 -0.138000 -0.050000 0.333333 \n", - "5 -0.239333 -0.183333 0.116667 \n", - "6 -0.139333 -0.003333 0.286667 \n", - "7 -0.200000 -0.040000 0.246667 \n", - "8 -0.194667 -0.066667 0.340000 \n", - "9 -0.274000 -0.090000 0.376667 \n", - "10 -0.264667 -0.096667 0.350000 \n", - "11 -0.264667 -0.096667 0.350000 \n", - "12 -0.264667 -0.096667 0.350000 \n", - "13 -0.264667 -0.096667 0.350000 \n", - "14 -0.264667 -0.096667 0.350000 \n", - "15 -0.264667 -0.096667 0.350000 \n", - "16 -0.264667 -0.096667 0.350000 \n", - "17 -0.264667 -0.096667 0.350000 \n", - "18 -0.112000 -0.080000 0.490000 \n", - "19 -0.264667 -0.096667 0.350000 \n", + "0 -0.672857 -0.621429 -0.357143 \n", + "1 -0.745714 -0.642857 -0.300000 \n", + "2 -0.581429 -0.392857 -0.078571 \n", + "3 -0.340000 -0.100000 0.014286 \n", + "4 -0.620000 -0.585714 -0.250000 \n", + "5 -0.788571 -0.514286 -0.271429 \n", + "6 -0.672857 -0.621429 -0.257143 \n", + "7 -0.725714 -0.657143 -0.250000 \n", + "8 -0.705714 -0.671429 -0.242857 \n", + "9 -0.725714 -0.657143 -0.192857 \n", + "10 -0.431429 -0.328571 -0.014286 \n", + "11 -0.431429 -0.328571 -0.014286 \n", + "12 -0.431429 -0.328571 -0.014286 \n", + "13 -0.431429 -0.328571 -0.014286 \n", + "14 -0.431429 -0.328571 -0.014286 \n", + "15 -0.431429 -0.328571 -0.014286 \n", + "16 -0.431429 -0.328571 -0.014286 \n", + "17 -0.431429 -0.328571 -0.014286 \n", + "18 -0.754286 -0.685714 -0.164286 \n", + "19 -0.431429 -0.328571 -0.014286 \n", "\n", " Sign_percentile_95 SMAPE_median ... MSE_percentile_75 \\\n", - "0 0.314000 6.409660 ... 2932.337258 \n", - "1 0.278000 6.517718 ... 2892.064980 \n", - "2 0.230000 9.089307 ... 4380.162760 \n", - "3 0.263333 8.627456 ... 4523.291119 \n", - "4 0.397333 7.713863 ... 3043.004223 \n", - "5 0.140667 8.792364 ... 4348.312974 \n", - "6 0.302667 7.261239 ... 3388.914262 \n", - "7 0.294667 6.787563 ... 2881.801159 \n", - "8 0.356000 7.388653 ... 2650.520332 \n", - "9 0.512667 7.438553 ... 3053.293510 \n", - "10 0.454000 7.056414 ... 2654.019283 \n", - "11 0.454000 7.056414 ... 2654.019283 \n", - "12 0.454000 7.056414 ... 2654.019283 \n", - "13 0.454000 7.056414 ... 2654.019283 \n", - "14 0.454000 7.056414 ... 2654.019283 \n", - "15 0.454000 7.056414 ... 2654.019283 \n", - "16 0.454000 7.056414 ... 2654.019283 \n", - "17 0.454000 7.056414 ... 2654.019283 \n", - "18 0.546000 7.000799 ... 2955.898830 \n", - "19 0.454000 7.056414 ... 2654.019283 \n", + "0 -0.254286 5.806429 ... 2220.282484 \n", + "1 -0.265714 5.856039 ... 2644.982216 \n", + "2 -0.061429 5.693983 ... 3457.757162 \n", + "3 0.048571 7.881275 ... 5039.841145 \n", + "4 -0.232857 6.032319 ... 3091.962427 \n", + "5 0.037143 6.653462 ... 3800.976318 \n", + "6 -0.188571 5.739626 ... 2933.246064 \n", + "7 -0.232857 6.042134 ... 2682.735922 \n", + "8 -0.208571 5.869280 ... 3098.567787 \n", + "9 -0.175714 6.608191 ... 3044.388978 \n", + "10 0.020000 5.974832 ... 2902.306123 \n", + "11 0.020000 5.974832 ... 2902.306123 \n", + "12 0.020000 5.974832 ... 2902.306123 \n", + "13 0.020000 5.974832 ... 2902.306123 \n", + "14 0.020000 5.974832 ... 2902.306123 \n", + "15 0.020000 5.974832 ... 2902.306123 \n", + "16 0.020000 5.974832 ... 2902.306123 \n", + "17 0.020000 5.974832 ... 2902.306123 \n", + "18 -0.147143 5.657316 ... 2247.347025 \n", + "19 0.020000 5.974832 ... 2902.306123 \n", "\n", " MSE_percentile_95 MedAE_median MedAE_mean MedAE_std \\\n", - "0 4042.729987 23.955975 25.206359 11.622637 \n", - "1 4081.353542 27.123157 27.218174 12.626771 \n", - "2 9372.799823 23.651138 33.216979 27.757430 \n", - "3 8706.679762 21.340072 29.744416 24.853937 \n", - "4 5965.965973 23.849080 29.891810 22.179099 \n", - "5 8320.435293 22.169181 31.987105 25.216224 \n", - "6 4835.825193 26.505894 28.043231 14.194960 \n", - "7 4182.357105 27.029336 28.654451 13.485104 \n", - "8 5457.231014 23.765457 28.460441 19.874549 \n", - "9 5700.527070 23.216146 28.600113 20.576752 \n", - "10 5215.292263 22.710328 27.935635 19.928283 \n", - "11 5215.292263 22.710328 27.935635 19.928283 \n", - "12 5215.292263 22.710328 27.935635 19.928283 \n", - "13 5215.292263 22.710328 27.935635 19.928283 \n", - "14 5215.292263 22.710328 27.935635 19.928283 \n", - "15 5215.292263 22.710328 27.935635 19.928283 \n", - "16 5215.292263 22.710328 27.935635 19.928283 \n", - "17 5215.292263 22.710328 27.935635 19.928283 \n", - "18 4927.027051 24.096784 27.077711 15.960342 \n", - "19 5215.292263 22.710328 27.935635 19.928283 \n", + "0 2953.865443 21.000232 22.334611 8.070926 \n", + "1 3294.855806 22.762122 23.389796 8.482028 \n", + "2 4209.624737 22.572681 23.336111 12.049564 \n", + "3 5665.228696 35.976862 33.937644 17.252826 \n", + "4 3181.592755 23.166650 25.265089 13.224461 \n", + "5 4837.444681 35.792514 32.276030 16.296588 \n", + "6 4802.299660 27.304852 24.936077 8.294963 \n", + "7 3688.168155 28.393903 25.819143 8.652993 \n", + "8 3154.538337 22.380642 24.289797 11.998603 \n", + "9 3611.477391 23.750327 26.488927 13.825791 \n", + "10 3526.513999 17.027383 21.682156 15.988286 \n", + "11 3526.513999 17.027383 21.682156 15.988286 \n", + "12 3526.513999 17.027383 21.682156 15.988286 \n", + "13 3526.513999 17.027383 21.682156 15.988286 \n", + "14 3526.513999 17.027383 21.682156 15.988286 \n", + "15 3526.513999 17.027383 21.682156 15.988286 \n", + "16 3526.513999 17.027383 21.682156 15.988286 \n", + "17 3526.513999 17.027383 21.682156 15.988286 \n", + "18 2681.501259 21.624614 22.111993 7.952462 \n", + "19 3526.513999 17.027383 21.682156 15.988286 \n", "\n", " MedAE_percentile_5 MedAE_percentile_25 MedAE_percentile_75 \\\n", - "0 13.983771 20.517148 28.645187 \n", - "1 14.091358 23.044267 31.297064 \n", - "2 13.023336 17.723981 39.144136 \n", - "3 11.444867 15.402917 35.681571 \n", - "4 11.975667 18.984462 34.756429 \n", - "5 15.227327 19.111376 35.044910 \n", - "6 14.234012 21.005186 33.543939 \n", - "7 15.795294 23.214706 32.469080 \n", - "8 11.558503 18.108626 34.117273 \n", - "9 11.720932 18.433710 33.382549 \n", - "10 11.645170 18.455053 32.190911 \n", - "11 11.645170 18.455053 32.190911 \n", - "12 11.645170 18.455053 32.190911 \n", - "13 11.645170 18.455053 32.190911 \n", - "14 11.645170 18.455053 32.190911 \n", - "15 11.645170 18.455053 32.190911 \n", - "16 11.645170 18.455053 32.190911 \n", - "17 11.645170 18.455053 32.190911 \n", - "18 12.719298 19.211924 31.962571 \n", - "19 11.645170 18.455053 32.190911 \n", + "0 14.955846 18.861388 24.473455 \n", + "1 14.897792 19.344439 26.807479 \n", + "2 11.235277 18.503043 27.405750 \n", + "3 14.444379 27.282228 42.632278 \n", + "4 13.001779 18.666844 29.764896 \n", + "5 13.499409 24.106508 43.962035 \n", + "6 15.108636 21.478207 30.762723 \n", + "7 15.618131 21.989342 32.223704 \n", + "8 13.252341 19.168974 27.501465 \n", + "9 14.242057 20.027917 30.211337 \n", + "10 9.110958 11.100846 27.608693 \n", + "11 9.110958 11.100846 27.608693 \n", + "12 9.110958 11.100846 27.608693 \n", + "13 9.110958 11.100846 27.608693 \n", + "14 9.110958 11.100846 27.608693 \n", + "15 9.110958 11.100846 27.608693 \n", + "16 9.110958 11.100846 27.608693 \n", + "17 9.110958 11.100846 27.608693 \n", + "18 14.197890 17.080865 26.655742 \n", + "19 9.110958 11.100846 27.608693 \n", "\n", " MedAE_percentile_95 state \n", - "0 38.179483 TrialState.COMPLETE \n", - "1 40.478015 TrialState.COMPLETE \n", - "2 66.802801 TrialState.COMPLETE \n", - "3 59.810045 TrialState.COMPLETE \n", - "4 56.267775 TrialState.COMPLETE \n", - "5 62.491976 TrialState.COMPLETE \n", - "6 44.004721 TrialState.COMPLETE \n", - "7 43.788769 TrialState.COMPLETE \n", - "8 51.935358 TrialState.COMPLETE \n", - "9 53.016848 TrialState.COMPLETE \n", - "10 51.541530 TrialState.COMPLETE \n", - "11 51.541530 TrialState.COMPLETE \n", - "12 51.541530 TrialState.COMPLETE \n", - "13 51.541530 TrialState.COMPLETE \n", - "14 51.541530 TrialState.COMPLETE \n", - "15 51.541530 TrialState.COMPLETE \n", - "16 51.541530 TrialState.COMPLETE \n", - "17 51.541530 TrialState.COMPLETE \n", - "18 45.609421 TrialState.COMPLETE \n", - "19 51.541530 TrialState.COMPLETE \n", + "0 31.581505 TrialState.COMPLETE \n", + "1 32.760543 TrialState.COMPLETE \n", + "2 36.505748 TrialState.COMPLETE \n", + "3 50.576005 TrialState.COMPLETE \n", + "4 40.466215 TrialState.COMPLETE \n", + "5 46.129572 TrialState.COMPLETE \n", + "6 31.447233 TrialState.COMPLETE \n", + "7 32.415490 TrialState.COMPLETE \n", + "8 38.000072 TrialState.COMPLETE \n", + "9 42.569838 TrialState.COMPLETE \n", + "10 40.770037 TrialState.COMPLETE \n", + "11 40.770037 TrialState.COMPLETE \n", + "12 40.770037 TrialState.COMPLETE \n", + "13 40.770037 TrialState.COMPLETE \n", + "14 40.770037 TrialState.COMPLETE \n", + "15 40.770037 TrialState.COMPLETE \n", + "16 40.770037 TrialState.COMPLETE \n", + "17 40.770037 TrialState.COMPLETE \n", + "18 30.708428 TrialState.COMPLETE \n", + "19 40.770037 TrialState.COMPLETE \n", "\n", "[20 rows x 38 columns]" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1683,7 +1433,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "b650bfc7", "metadata": {}, "outputs": [ @@ -1717,142 +1467,142 @@ " \n", " \n", " 19\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 17\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 16\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 15\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 14\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 13\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", " 12\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", - " 11\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 10\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", - " 10\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 11\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", - " 8\n", - " c50d7518c10036cd75bf03692eedd4c7\n", + " 2\n", + " 7c7932114268832a5458acfecfb453fc\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.244168\n", + " 9.210183\n", " TrialState.COMPLETE\n", " \n", " \n", - " 0\n", - " 90017b9f59d1921afcea80ae03d04528\n", + " 8\n", + " 25dcd8bb095f87a1ffc499fa6a83ef5d\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.424033\n", + " 9.943658\n", " TrialState.COMPLETE\n", " \n", " \n", - " 18\n", - " 2ef1f244e3ed0c608b072107f24bd8d4\n", + " 4\n", + " e928929f89156d88ef49e28abaf55847\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.473752\n", + " 9.946866\n", " TrialState.COMPLETE\n", " \n", " \n", - " 9\n", - " 3d62bb297472c6397485fbf61c6b082a\n", + " 0\n", + " f4f02e1d5f60b8f322a4a8a622dd1c1e\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.542153\n", + " 9.957781\n", " TrialState.COMPLETE\n", " \n", " \n", - " 4\n", - " 2ba3f873c085dcb0e0c09d76c5b7f0d1\n", + " 18\n", + " 6f595f4f43b323804c04d4cea49c169b\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.706257\n", + " 10.061742\n", " TrialState.COMPLETE\n", " \n", " \n", - " 3\n", - " 1b8349c202df4b87e85601fbb589b8be\n", + " 1\n", + " 3d7b7af16d71a36f3b935f69e113e22d\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.805056\n", + " 10.306909\n", " TrialState.COMPLETE\n", " \n", " \n", - " 1\n", - " f12fdaaacd1f0f30797c8c2fa4ad3e51\n", + " 9\n", + " 3f1ca1759261598081fa3bb2f32fe0ac\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.051840\n", + " 10.554444\n", " TrialState.COMPLETE\n", " \n", " \n", - " 7\n", - " a5c13f380b0160ee60b3178023db469b\n", + " 5\n", + " 3b4311d41fcaab7307235ea23b6d4599\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.112234\n", + " 10.756703\n", " TrialState.COMPLETE\n", " \n", " \n", " 6\n", - " e1776a647e31f966fed96c574078b6d6\n", + " 74065ebc11c81bed6a9819d026c7cd84\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.135929\n", + " 10.917164\n", " TrialState.COMPLETE\n", " \n", " \n", - " 5\n", - " 822f29d4dbc55b75925a7a09c9157b00\n", + " 3\n", + " b7ac5f7fcf9c8959626befe263a9d561\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.455352\n", + " 11.255320\n", " TrialState.COMPLETE\n", " \n", " \n", - " 2\n", - " 620e1369df4d813039cf8aba6c406346\n", + " 7\n", + " b0d0420255c6117045f8254bf8f377a0\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.732694\n", + " 11.478760\n", " TrialState.COMPLETE\n", " \n", " \n", @@ -1861,48 +1611,48 @@ ], "text/plain": [ " hash \\\n", - "19 819656d1513b71b55f7a0f548490f8b2 \n", - "17 819656d1513b71b55f7a0f548490f8b2 \n", - "16 819656d1513b71b55f7a0f548490f8b2 \n", - "15 819656d1513b71b55f7a0f548490f8b2 \n", - "14 819656d1513b71b55f7a0f548490f8b2 \n", - "13 819656d1513b71b55f7a0f548490f8b2 \n", - "12 819656d1513b71b55f7a0f548490f8b2 \n", - "11 819656d1513b71b55f7a0f548490f8b2 \n", - "10 819656d1513b71b55f7a0f548490f8b2 \n", - "8 c50d7518c10036cd75bf03692eedd4c7 \n", - "0 90017b9f59d1921afcea80ae03d04528 \n", - "18 2ef1f244e3ed0c608b072107f24bd8d4 \n", - "9 3d62bb297472c6397485fbf61c6b082a \n", - "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 \n", - "3 1b8349c202df4b87e85601fbb589b8be \n", - "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 \n", - "7 a5c13f380b0160ee60b3178023db469b \n", - "6 e1776a647e31f966fed96c574078b6d6 \n", - "5 822f29d4dbc55b75925a7a09c9157b00 \n", - "2 620e1369df4d813039cf8aba6c406346 \n", + "19 8363309e454e72993f86f10c7fc7c137 \n", + "17 8363309e454e72993f86f10c7fc7c137 \n", + "16 8363309e454e72993f86f10c7fc7c137 \n", + "15 8363309e454e72993f86f10c7fc7c137 \n", + "14 8363309e454e72993f86f10c7fc7c137 \n", + "13 8363309e454e72993f86f10c7fc7c137 \n", + "12 8363309e454e72993f86f10c7fc7c137 \n", + "10 8363309e454e72993f86f10c7fc7c137 \n", + "11 8363309e454e72993f86f10c7fc7c137 \n", + "2 7c7932114268832a5458acfecfb453fc \n", + "8 25dcd8bb095f87a1ffc499fa6a83ef5d \n", + "4 e928929f89156d88ef49e28abaf55847 \n", + "0 f4f02e1d5f60b8f322a4a8a622dd1c1e \n", + "18 6f595f4f43b323804c04d4cea49c169b \n", + "1 3d7b7af16d71a36f3b935f69e113e22d \n", + "9 3f1ca1759261598081fa3bb2f32fe0ac \n", + "5 3b4311d41fcaab7307235ea23b6d4599 \n", + "6 74065ebc11c81bed6a9819d026c7cd84 \n", + "3 b7ac5f7fcf9c8959626befe263a9d561 \n", + "7 b0d0420255c6117045f8254bf8f377a0 \n", "\n", " pipeline SMAPE_mean \\\n", - "19 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "17 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "16 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "15 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "14 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "13 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "12 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "11 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "10 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.244168 \n", - "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.424033 \n", - "18 Pipeline(model = LinearPerSegmentModel(fit_int... 9.473752 \n", - "9 Pipeline(model = LinearPerSegmentModel(fit_int... 9.542153 \n", - "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.706257 \n", - "3 Pipeline(model = LinearPerSegmentModel(fit_int... 9.805056 \n", - "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.051840 \n", - "7 Pipeline(model = LinearPerSegmentModel(fit_int... 10.112234 \n", - "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.135929 \n", - "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.455352 \n", - "2 Pipeline(model = LinearPerSegmentModel(fit_int... 10.732694 \n", + "19 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "17 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "16 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "15 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "14 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "13 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "12 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "10 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "11 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... 9.210183 \n", + "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.943658 \n", + "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.946866 \n", + "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.957781 \n", + "18 Pipeline(model = LinearPerSegmentModel(fit_int... 10.061742 \n", + "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.306909 \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... 10.554444 \n", + "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.756703 \n", + "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.917164 \n", + "3 Pipeline(model = LinearPerSegmentModel(fit_int... 11.255320 \n", + "7 Pipeline(model = LinearPerSegmentModel(fit_int... 11.478760 \n", "\n", " state \n", "19 TrialState.COMPLETE \n", @@ -1912,22 +1662,22 @@ "14 TrialState.COMPLETE \n", "13 TrialState.COMPLETE \n", "12 TrialState.COMPLETE \n", - "11 TrialState.COMPLETE \n", "10 TrialState.COMPLETE \n", + "11 TrialState.COMPLETE \n", + "2 TrialState.COMPLETE \n", "8 TrialState.COMPLETE \n", + "4 TrialState.COMPLETE \n", "0 TrialState.COMPLETE \n", "18 TrialState.COMPLETE \n", - "9 TrialState.COMPLETE \n", - "4 TrialState.COMPLETE \n", - "3 TrialState.COMPLETE \n", "1 TrialState.COMPLETE \n", - "7 TrialState.COMPLETE \n", - "6 TrialState.COMPLETE \n", + "9 TrialState.COMPLETE \n", "5 TrialState.COMPLETE \n", - "2 TrialState.COMPLETE " + "6 TrialState.COMPLETE \n", + "3 TrialState.COMPLETE \n", + "7 TrialState.COMPLETE " ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1946,7 +1696,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "7506fe96", "metadata": {}, "outputs": [ @@ -1980,86 +1730,86 @@ " \n", " \n", " 19\n", - " 819656d1513b71b55f7a0f548490f8b2\n", + " 8363309e454e72993f86f10c7fc7c137\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.183608\n", + " 8.556535\n", " TrialState.COMPLETE\n", " \n", " \n", - " 8\n", - " c50d7518c10036cd75bf03692eedd4c7\n", + " 2\n", + " 7c7932114268832a5458acfecfb453fc\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.244168\n", + " 9.210183\n", " TrialState.COMPLETE\n", " \n", " \n", - " 0\n", - " 90017b9f59d1921afcea80ae03d04528\n", + " 8\n", + " 25dcd8bb095f87a1ffc499fa6a83ef5d\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.424033\n", + " 9.943658\n", " TrialState.COMPLETE\n", " \n", " \n", - " 18\n", - " 2ef1f244e3ed0c608b072107f24bd8d4\n", + " 4\n", + " e928929f89156d88ef49e28abaf55847\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.473752\n", + " 9.946866\n", " TrialState.COMPLETE\n", " \n", " \n", - " 9\n", - " 3d62bb297472c6397485fbf61c6b082a\n", + " 0\n", + " f4f02e1d5f60b8f322a4a8a622dd1c1e\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.542153\n", + " 9.957781\n", " TrialState.COMPLETE\n", " \n", " \n", - " 4\n", - " 2ba3f873c085dcb0e0c09d76c5b7f0d1\n", + " 18\n", + " 6f595f4f43b323804c04d4cea49c169b\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.706257\n", + " 10.061742\n", " TrialState.COMPLETE\n", " \n", " \n", - " 3\n", - " 1b8349c202df4b87e85601fbb589b8be\n", + " 1\n", + " 3d7b7af16d71a36f3b935f69e113e22d\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 9.805056\n", + " 10.306909\n", " TrialState.COMPLETE\n", " \n", " \n", - " 1\n", - " f12fdaaacd1f0f30797c8c2fa4ad3e51\n", + " 9\n", + " 3f1ca1759261598081fa3bb2f32fe0ac\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.051840\n", + " 10.554444\n", " TrialState.COMPLETE\n", " \n", " \n", - " 7\n", - " a5c13f380b0160ee60b3178023db469b\n", + " 5\n", + " 3b4311d41fcaab7307235ea23b6d4599\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.112234\n", + " 10.756703\n", " TrialState.COMPLETE\n", " \n", " \n", " 6\n", - " e1776a647e31f966fed96c574078b6d6\n", + " 74065ebc11c81bed6a9819d026c7cd84\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.135929\n", + " 10.917164\n", " TrialState.COMPLETE\n", " \n", " \n", - " 5\n", - " 822f29d4dbc55b75925a7a09c9157b00\n", + " 3\n", + " b7ac5f7fcf9c8959626befe263a9d561\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.455352\n", + " 11.255320\n", " TrialState.COMPLETE\n", " \n", " \n", - " 2\n", - " 620e1369df4d813039cf8aba6c406346\n", + " 7\n", + " b0d0420255c6117045f8254bf8f377a0\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 10.732694\n", + " 11.478760\n", " TrialState.COMPLETE\n", " \n", " \n", @@ -2068,49 +1818,49 @@ ], "text/plain": [ " hash \\\n", - "19 819656d1513b71b55f7a0f548490f8b2 \n", - "8 c50d7518c10036cd75bf03692eedd4c7 \n", - "0 90017b9f59d1921afcea80ae03d04528 \n", - "18 2ef1f244e3ed0c608b072107f24bd8d4 \n", - "9 3d62bb297472c6397485fbf61c6b082a \n", - "4 2ba3f873c085dcb0e0c09d76c5b7f0d1 \n", - "3 1b8349c202df4b87e85601fbb589b8be \n", - "1 f12fdaaacd1f0f30797c8c2fa4ad3e51 \n", - "7 a5c13f380b0160ee60b3178023db469b \n", - "6 e1776a647e31f966fed96c574078b6d6 \n", - "5 822f29d4dbc55b75925a7a09c9157b00 \n", - "2 620e1369df4d813039cf8aba6c406346 \n", + "19 8363309e454e72993f86f10c7fc7c137 \n", + "2 7c7932114268832a5458acfecfb453fc \n", + "8 25dcd8bb095f87a1ffc499fa6a83ef5d \n", + "4 e928929f89156d88ef49e28abaf55847 \n", + "0 f4f02e1d5f60b8f322a4a8a622dd1c1e \n", + "18 6f595f4f43b323804c04d4cea49c169b \n", + "1 3d7b7af16d71a36f3b935f69e113e22d \n", + "9 3f1ca1759261598081fa3bb2f32fe0ac \n", + "5 3b4311d41fcaab7307235ea23b6d4599 \n", + "6 74065ebc11c81bed6a9819d026c7cd84 \n", + "3 b7ac5f7fcf9c8959626befe263a9d561 \n", + "7 b0d0420255c6117045f8254bf8f377a0 \n", "\n", " pipeline SMAPE_mean \\\n", - "19 Pipeline(model = LinearPerSegmentModel(fit_int... 9.183608 \n", - "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.244168 \n", - "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.424033 \n", - "18 Pipeline(model = LinearPerSegmentModel(fit_int... 9.473752 \n", - "9 Pipeline(model = LinearPerSegmentModel(fit_int... 9.542153 \n", - "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.706257 \n", - "3 Pipeline(model = LinearPerSegmentModel(fit_int... 9.805056 \n", - "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.051840 \n", - "7 Pipeline(model = LinearPerSegmentModel(fit_int... 10.112234 \n", - "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.135929 \n", - "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.455352 \n", - "2 Pipeline(model = LinearPerSegmentModel(fit_int... 10.732694 \n", + "19 Pipeline(model = LinearPerSegmentModel(fit_int... 8.556535 \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... 9.210183 \n", + "8 Pipeline(model = LinearPerSegmentModel(fit_int... 9.943658 \n", + "4 Pipeline(model = LinearPerSegmentModel(fit_int... 9.946866 \n", + "0 Pipeline(model = LinearPerSegmentModel(fit_int... 9.957781 \n", + "18 Pipeline(model = LinearPerSegmentModel(fit_int... 10.061742 \n", + "1 Pipeline(model = LinearPerSegmentModel(fit_int... 10.306909 \n", + "9 Pipeline(model = LinearPerSegmentModel(fit_int... 10.554444 \n", + "5 Pipeline(model = LinearPerSegmentModel(fit_int... 10.756703 \n", + "6 Pipeline(model = LinearPerSegmentModel(fit_int... 10.917164 \n", + "3 Pipeline(model = LinearPerSegmentModel(fit_int... 11.255320 \n", + "7 Pipeline(model = LinearPerSegmentModel(fit_int... 11.478760 \n", "\n", " state \n", "19 TrialState.COMPLETE \n", + "2 TrialState.COMPLETE \n", "8 TrialState.COMPLETE \n", + "4 TrialState.COMPLETE \n", "0 TrialState.COMPLETE \n", "18 TrialState.COMPLETE \n", - "9 TrialState.COMPLETE \n", - "4 TrialState.COMPLETE \n", - "3 TrialState.COMPLETE \n", "1 TrialState.COMPLETE \n", - "7 TrialState.COMPLETE \n", - "6 TrialState.COMPLETE \n", + "9 TrialState.COMPLETE \n", "5 TrialState.COMPLETE \n", - "2 TrialState.COMPLETE " + "6 TrialState.COMPLETE \n", + "3 TrialState.COMPLETE \n", + "7 TrialState.COMPLETE " ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2129,7 +1879,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "6f707553", "metadata": {}, "outputs": [], @@ -2139,19 +1889,19 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "7fd2b238", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, ),\n", - " Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = False, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, ),\n", - " Pipeline(model = LinearPerSegmentModel(fit_intercept = True, ), transforms = [LagTransform(in_column = 'target', lags = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = False, day_number_in_month = True, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = True, season_number = True, year_number = True, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 30, )]" + "[Pipeline(model = LinearPerSegmentModel(fit_intercept = True, ), transforms = [LagTransform(in_column = 'target', lags = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = False, day_number_in_month = True, day_number_in_year = False, week_number_in_month = True, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 14, ),\n", + " Pipeline(model = LinearPerSegmentModel(fit_intercept = True, ), transforms = [LagTransform(in_column = 'target', lags = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = False, day_number_in_month = True, day_number_in_year = False, week_number_in_month = True, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = False, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 14, ),\n", + " Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = False, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 14, )]" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -2221,7 +1971,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "ea97e2f7", "metadata": {}, "outputs": [], @@ -2229,10 +1979,7 @@ "from etna.auto import Auto\n", "\n", "\n", - "auto = Auto(\n", - " target_metric=SMAPE(),\n", - " horizon=HORIZON,\n", - ")" + "auto = Auto(target_metric=SMAPE(), horizon=HORIZON, backtest_params=dict(n_folds=5))" ] }, { @@ -2253,581 +2000,47 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "47ccd63b", "metadata": { - "scrolled": true + "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m[I 2023-06-12 18:50:36,034]\u001b[0m A new study created in RDB with name: pool\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 4.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 6.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:45,148]\u001b[0m Trial 0 finished with value: 9.65050394736334 and parameters: {}. Best is trial 0 with value: 9.65050394736334.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:46,408]\u001b[0m Trial 1 finished with value: 14.77670685984014 and parameters: {}. Best is trial 0 with value: 9.65050394736334.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:47,566]\u001b[0m Trial 2 finished with value: 9.361973662397073 and parameters: {}. Best is trial 2 with value: 9.361973662397073.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:50:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:50:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:50,325]\u001b[0m Trial 3 finished with value: 9.187799893440534 and parameters: {}. Best is trial 3 with value: 9.187799893440534.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:50:51,431]\u001b[0m Trial 4 finished with value: 35.29278619271458 and parameters: {}. Best is trial 3 with value: 9.187799893440534.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:13,767]\u001b[0m Trial 5 finished with value: 7.724463828489485 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:14,369]\u001b[0m Trial 6 finished with value: 9.379984399000357 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 18:51:16,954]\u001b[0m Trial 7 finished with value: 10.242086506868374 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:17,572]\u001b[0m Trial 8 finished with value: 15.365226824762487 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:18,881]\u001b[0m Trial 9 finished with value: 11.474284706070371 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:19,498]\u001b[0m Trial 10 finished with value: 12.675407152401187 and parameters: {}. Best is trial 5 with value: 7.724463828489485.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:20,130]\u001b[0m Trial 11 finished with value: 7.709733365606961 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:51:20,733]\u001b[0m Trial 12 finished with value: 13.508433941113003 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 37.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 56.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:52:46,480]\u001b[0m Trial 13 finished with value: 11.407574239537402 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 5.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 7.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 9.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 9.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:52:56,850]\u001b[0m Trial 14 finished with value: 9.65162598697025 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:52:57,477]\u001b[0m Trial 15 finished with value: 13.975939883597462 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:52:58,120]\u001b[0m Trial 16 finished with value: 16.02132139297351 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:00,541]\u001b[0m Trial 17 finished with value: 11.387025273188499 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:01,307]\u001b[0m Trial 18 finished with value: 14.622594913530289 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "18:53:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:03,997]\u001b[0m Trial 19 finished with value: 9.503320794643733 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n" + "\u001b[32m[I 2023-06-13 21:30:40,897]\u001b[0m A new study created in RDB with name: pool\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:42,151]\u001b[0m Trial 0 finished with value: 35.971206541988195 and parameters: {}. Best is trial 0 with value: 35.971206541988195.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:52,275]\u001b[0m Trial 1 finished with value: 7.814186552308879 and parameters: {}. Best is trial 1 with value: 7.814186552308879.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:54,987]\u001b[0m Trial 2 finished with value: 7.799983882136955 and parameters: {}. Best is trial 2 with value: 7.799983882136955.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:55,631]\u001b[0m Trial 3 finished with value: 6.197181678507941 and parameters: {}. Best is trial 3 with value: 6.197181678507941.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:58,129]\u001b[0m Trial 4 finished with value: 6.3477344215676155 and parameters: {}. Best is trial 3 with value: 6.197181678507941.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:59,065]\u001b[0m Trial 5 finished with value: 5.164436212457036 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:30:59,684]\u001b[0m Trial 6 finished with value: 19.361078199988185 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:00,317]\u001b[0m Trial 7 finished with value: 12.243010801042383 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:00,977]\u001b[0m Trial 8 finished with value: 11.317256495838777 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:03,805]\u001b[0m Trial 9 finished with value: 7.8934210308520125 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:05,286]\u001b[0m Trial 10 finished with value: 10.997462024031483 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:05,910]\u001b[0m Trial 11 finished with value: 6.529721205361869 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:07,073]\u001b[0m Trial 12 finished with value: 9.20542300350986 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:07,692]\u001b[0m Trial 13 finished with value: 12.028916127457146 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:08,511]\u001b[0m Trial 14 finished with value: 15.47311776505767 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:34,146]\u001b[0m Trial 15 finished with value: 5.057437747452116 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:31:46,742]\u001b[0m Trial 16 finished with value: 7.816527689059941 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:32:56,009]\u001b[0m Trial 17 finished with value: 8.297048217036235 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:32:58,486]\u001b[0m Trial 18 finished with value: 5.931951295183403 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:32:59,819]\u001b[0m Trial 19 finished with value: 12.213319590713951 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n" ] - }, - { - "data": { - "text/plain": [ - "Pipeline(model = SeasonalMovingAverageModel(window = 3, seasonality = 7, ), transforms = (), horizon = 30, )" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ - "auto.fit(ts=ts, tune_size=0)" + "best_pool_pipeline = auto.fit(ts=ts, tune_size=0)" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "d972dfb5", "metadata": {}, "outputs": [ @@ -2861,162 +2074,162 @@ " \n", " \n", " \n", - " 11\n", - " 7025a0f724bb3c9c9772da2d59e0e100\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.709733\n", + " 15\n", + " af8088ac0abfde46e93a8dbb407a2117\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 5.057438\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", " 5\n", - " a8ae0feeb31c5172559ca1c22ca8c56c\n", - " Pipeline(model = CatBoostPerSegmentModel(itera...\n", - " 7.724464\n", + " d8215d95e2c6c9a4b4fdacf3fa77dddc\n", + " Pipeline(model = NaiveModel(lag = 7, ), transf...\n", + " 5.164436\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 3\n", - " 5fa7c4d24dae67c5aaa54afa1424c228\n", - " Pipeline(model = ProphetModel(growth = 'linear...\n", - " 9.187800\n", + " 18\n", + " 8f640faabcac0552153ca19337179f3b\n", + " Pipeline(model = HoltWintersModel(trend = 'add...\n", + " 5.931951\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 2\n", - " 252bf21bebde7b7578a3608b2bfb9236\n", - " Pipeline(model = LinearMultiSegmentModel(fit_i...\n", - " 9.361974\n", + " 3\n", + " d6a44adb551f1aec09ef37c14aed260f\n", + " Pipeline(model = SeasonalMovingAverageModel(wi...\n", + " 6.197182\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 6\n", - " 692fda6074aa686bc8bb30b3c1ce096c\n", - " Pipeline(model = NaiveModel(lag = 7, ), transf...\n", - " 9.379984\n", + " 4\n", + " 16eb77200eb2fd5dc1f6f2a5067884cd\n", + " Pipeline(model = HoltWintersModel(trend = 'add...\n", + " 6.347734\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 19\n", - " d7ca2075b115c2ad928ddb3439b3ee09\n", - " Pipeline(model = ProphetModel(growth = 'linear...\n", - " 9.503321\n", + " 11\n", + " 4c07749e913403906cd033e4882fc4f9\n", + " Pipeline(model = SeasonalMovingAverageModel(wi...\n", + " 6.529721\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 0\n", - " 77267beb1e88bedc8173146a8465c340\n", - " Pipeline(model = CatBoostMultiSegmentModel(ite...\n", - " 9.650504\n", + " 2\n", + " 6e2eb71d033b6d0607f5b6d0a7596ce9\n", + " Pipeline(model = ProphetModel(growth = 'linear...\n", + " 7.799984\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 14\n", - " 63a4f1e07479b9148ba1c740eeaa6263\n", + " 1\n", + " 6bb58e7ce09eab00448d5732240ec2ec\n", " Pipeline(model = CatBoostMultiSegmentModel(ite...\n", - " 9.651626\n", + " 7.814187\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 7\n", - " 1356176b71cf5dce35c7b36ac3cb7200\n", - " Pipeline(model = HoltWintersModel(trend = 'add...\n", - " 10.242087\n", + " 16\n", + " a640ddfb767ea0cbf31751ddda6e36ee\n", + " Pipeline(model = CatBoostMultiSegmentModel(ite...\n", + " 7.816528\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 17\n", - " dcd71cda87a6be6da209f5c244add946\n", - " Pipeline(model = HoltWintersModel(trend = 'add...\n", - " 11.387025\n", + " 9\n", + " cfeb21bcf2e922a390ade8be9d845e0d\n", + " Pipeline(model = ProphetModel(growth = 'linear...\n", + " 7.893421\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 13\n", - " 849d846d248c8a0a4d060cd9e62e7eb8\n", + " 17\n", + " a5e036978ef9cc9f297c9eb2c280af05\n", " Pipeline(model = AutoARIMAModel(), transforms ...\n", - " 11.407574\n", + " 8.297048\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 9\n", - " 900b94e6a4fef29cb13eeeee918a830d\n", - " Pipeline(model = LinearPerSegmentModel(fit_int...\n", - " 11.474285\n", + " 12\n", + " 2e36e0b9cb67a43bb1bf96fa2ccf718f\n", + " Pipeline(model = LinearMultiSegmentModel(fit_i...\n", + " 9.205423\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", " 10\n", - " 496f9ee7f3492e7d545581802d1d2bb0\n", - " Pipeline(model = MovingAverageModel(window = 3...\n", - " 12.675407\n", + " 8b9f5fa09754a80f17380dec2b998f1d\n", + " Pipeline(model = LinearPerSegmentModel(fit_int...\n", + " 10.997462\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 12\n", - " ab223f59bd9971136009410fc1295b5c\n", - " Pipeline(model = MovingAverageModel(window = 6...\n", - " 13.508434\n", + " 8\n", + " d62c0579459d4a1b88aea8ed6effdf4e\n", + " Pipeline(model = MovingAverageModel(window = 1...\n", + " 11.317256\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 15\n", - " c1681831deae31686a6f5ab22d2939ce\n", - " Pipeline(model = MovingAverageModel(window = 9...\n", - " 13.975940\n", + " 13\n", + " 5916e5b653295271c79caae490618ee9\n", + " Pipeline(model = MovingAverageModel(window = 2...\n", + " 12.028916\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 18\n", - " b772169838bc9a692bcf960539c27143\n", - " Pipeline(model = HoltWintersModel(trend = None...\n", - " 14.622595\n", + " 19\n", + " 5a91b6c8acc2c461913df44fd1429375\n", + " Pipeline(model = ElasticPerSegmentModel(alpha ...\n", + " 12.213320\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 1\n", - " f12bdc8fb1cfb8f6a33d7e3f7719ef41\n", - " Pipeline(model = ElasticPerSegmentModel(alpha ...\n", - " 14.776707\n", + " 7\n", + " 403b3e18012af5ff9815b408f5c2e47d\n", + " Pipeline(model = MovingAverageModel(window = 4...\n", + " 12.243011\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 8\n", - " 31c1aae4092ec7388469f9fd82841a80\n", - " Pipeline(model = NaiveModel(lag = 1, ), transf...\n", - " 15.365227\n", + " 14\n", + " 6cf8605e6c513053ac4f5203e330c59d\n", + " Pipeline(model = HoltWintersModel(trend = None...\n", + " 15.473118\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 16\n", - " 497791b5c55502576aa1f5700fb750a1\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 16.021321\n", + " 6\n", + " 53e90ae4cf7f1f71e6396107549c25ef\n", + " Pipeline(model = NaiveModel(lag = 1, ), transf...\n", + " 19.361078\n", " TrialState.COMPLETE\n", " pool\n", " \n", " \n", - " 4\n", - " 5f38266ff0b895203c43e08193d68c77\n", + " 0\n", + " 90b31b54cb8c01867be05a3320852682\n", " Pipeline(model = ElasticMultiSegmentModel(alph...\n", - " 35.292786\n", + " 35.971207\n", " TrialState.COMPLETE\n", " pool\n", " \n", @@ -3026,73 +2239,73 @@ ], "text/plain": [ " hash \\\n", - "11 7025a0f724bb3c9c9772da2d59e0e100 \n", - "5 a8ae0feeb31c5172559ca1c22ca8c56c \n", - "3 5fa7c4d24dae67c5aaa54afa1424c228 \n", - "2 252bf21bebde7b7578a3608b2bfb9236 \n", - "6 692fda6074aa686bc8bb30b3c1ce096c \n", - "19 d7ca2075b115c2ad928ddb3439b3ee09 \n", - "0 77267beb1e88bedc8173146a8465c340 \n", - "14 63a4f1e07479b9148ba1c740eeaa6263 \n", - "7 1356176b71cf5dce35c7b36ac3cb7200 \n", - "17 dcd71cda87a6be6da209f5c244add946 \n", - "13 849d846d248c8a0a4d060cd9e62e7eb8 \n", - "9 900b94e6a4fef29cb13eeeee918a830d \n", - "10 496f9ee7f3492e7d545581802d1d2bb0 \n", - "12 ab223f59bd9971136009410fc1295b5c \n", - "15 c1681831deae31686a6f5ab22d2939ce \n", - "18 b772169838bc9a692bcf960539c27143 \n", - "1 f12bdc8fb1cfb8f6a33d7e3f7719ef41 \n", - "8 31c1aae4092ec7388469f9fd82841a80 \n", - "16 497791b5c55502576aa1f5700fb750a1 \n", - "4 5f38266ff0b895203c43e08193d68c77 \n", + "15 af8088ac0abfde46e93a8dbb407a2117 \n", + "5 d8215d95e2c6c9a4b4fdacf3fa77dddc \n", + "18 8f640faabcac0552153ca19337179f3b \n", + "3 d6a44adb551f1aec09ef37c14aed260f \n", + "4 16eb77200eb2fd5dc1f6f2a5067884cd \n", + "11 4c07749e913403906cd033e4882fc4f9 \n", + "2 6e2eb71d033b6d0607f5b6d0a7596ce9 \n", + "1 6bb58e7ce09eab00448d5732240ec2ec \n", + "16 a640ddfb767ea0cbf31751ddda6e36ee \n", + "9 cfeb21bcf2e922a390ade8be9d845e0d \n", + "17 a5e036978ef9cc9f297c9eb2c280af05 \n", + "12 2e36e0b9cb67a43bb1bf96fa2ccf718f \n", + "10 8b9f5fa09754a80f17380dec2b998f1d \n", + "8 d62c0579459d4a1b88aea8ed6effdf4e \n", + "13 5916e5b653295271c79caae490618ee9 \n", + "19 5a91b6c8acc2c461913df44fd1429375 \n", + "7 403b3e18012af5ff9815b408f5c2e47d \n", + "14 6cf8605e6c513053ac4f5203e330c59d \n", + "6 53e90ae4cf7f1f71e6396107549c25ef \n", + "0 90b31b54cb8c01867be05a3320852682 \n", "\n", " pipeline SMAPE_mean \\\n", - "11 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", - "5 Pipeline(model = CatBoostPerSegmentModel(itera... 7.724464 \n", - "3 Pipeline(model = ProphetModel(growth = 'linear... 9.187800 \n", - "2 Pipeline(model = LinearMultiSegmentModel(fit_i... 9.361974 \n", - "6 Pipeline(model = NaiveModel(lag = 7, ), transf... 9.379984 \n", - "19 Pipeline(model = ProphetModel(growth = 'linear... 9.503321 \n", - "0 Pipeline(model = CatBoostMultiSegmentModel(ite... 9.650504 \n", - "14 Pipeline(model = CatBoostMultiSegmentModel(ite... 9.651626 \n", - "7 Pipeline(model = HoltWintersModel(trend = 'add... 10.242087 \n", - "17 Pipeline(model = HoltWintersModel(trend = 'add... 11.387025 \n", - "13 Pipeline(model = AutoARIMAModel(), transforms ... 11.407574 \n", - "9 Pipeline(model = LinearPerSegmentModel(fit_int... 11.474285 \n", - "10 Pipeline(model = MovingAverageModel(window = 3... 12.675407 \n", - "12 Pipeline(model = MovingAverageModel(window = 6... 13.508434 \n", - "15 Pipeline(model = MovingAverageModel(window = 9... 13.975940 \n", - "18 Pipeline(model = HoltWintersModel(trend = None... 14.622595 \n", - "1 Pipeline(model = ElasticPerSegmentModel(alpha ... 14.776707 \n", - "8 Pipeline(model = NaiveModel(lag = 1, ), transf... 15.365227 \n", - "16 Pipeline(model = SeasonalMovingAverageModel(wi... 16.021321 \n", - "4 Pipeline(model = ElasticMultiSegmentModel(alph... 35.292786 \n", + "15 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", + "5 Pipeline(model = NaiveModel(lag = 7, ), transf... 5.164436 \n", + "18 Pipeline(model = HoltWintersModel(trend = 'add... 5.931951 \n", + "3 Pipeline(model = SeasonalMovingAverageModel(wi... 6.197182 \n", + "4 Pipeline(model = HoltWintersModel(trend = 'add... 6.347734 \n", + "11 Pipeline(model = SeasonalMovingAverageModel(wi... 6.529721 \n", + "2 Pipeline(model = ProphetModel(growth = 'linear... 7.799984 \n", + "1 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.814187 \n", + "16 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.816528 \n", + "9 Pipeline(model = ProphetModel(growth = 'linear... 7.893421 \n", + "17 Pipeline(model = AutoARIMAModel(), transforms ... 8.297048 \n", + "12 Pipeline(model = LinearMultiSegmentModel(fit_i... 9.205423 \n", + "10 Pipeline(model = LinearPerSegmentModel(fit_int... 10.997462 \n", + "8 Pipeline(model = MovingAverageModel(window = 1... 11.317256 \n", + "13 Pipeline(model = MovingAverageModel(window = 2... 12.028916 \n", + "19 Pipeline(model = ElasticPerSegmentModel(alpha ... 12.213320 \n", + "7 Pipeline(model = MovingAverageModel(window = 4... 12.243011 \n", + "14 Pipeline(model = HoltWintersModel(trend = None... 15.473118 \n", + "6 Pipeline(model = NaiveModel(lag = 1, ), transf... 19.361078 \n", + "0 Pipeline(model = ElasticMultiSegmentModel(alph... 35.971207 \n", "\n", " state study \n", - "11 TrialState.COMPLETE pool \n", + "15 TrialState.COMPLETE pool \n", "5 TrialState.COMPLETE pool \n", + "18 TrialState.COMPLETE pool \n", "3 TrialState.COMPLETE pool \n", + "4 TrialState.COMPLETE pool \n", + "11 TrialState.COMPLETE pool \n", "2 TrialState.COMPLETE pool \n", - "6 TrialState.COMPLETE pool \n", - "19 TrialState.COMPLETE pool \n", - "0 TrialState.COMPLETE pool \n", - "14 TrialState.COMPLETE pool \n", - "7 TrialState.COMPLETE pool \n", - "17 TrialState.COMPLETE pool \n", - "13 TrialState.COMPLETE pool \n", + "1 TrialState.COMPLETE pool \n", + "16 TrialState.COMPLETE pool \n", "9 TrialState.COMPLETE pool \n", - "10 TrialState.COMPLETE pool \n", + "17 TrialState.COMPLETE pool \n", "12 TrialState.COMPLETE pool \n", - "15 TrialState.COMPLETE pool \n", - "18 TrialState.COMPLETE pool \n", - "1 TrialState.COMPLETE pool \n", + "10 TrialState.COMPLETE pool \n", "8 TrialState.COMPLETE pool \n", - "16 TrialState.COMPLETE pool \n", - "4 TrialState.COMPLETE pool " + "13 TrialState.COMPLETE pool \n", + "19 TrialState.COMPLETE pool \n", + "7 TrialState.COMPLETE pool \n", + "14 TrialState.COMPLETE pool \n", + "6 TrialState.COMPLETE pool \n", + "0 TrialState.COMPLETE pool " ] }, - "execution_count": 23, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -3111,8817 +2324,743 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "13a1861a", "metadata": { - "scrolled": true + "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:05,250]\u001b[0m Trial 20 finished with value: 14.622594913530289 and parameters: {}. Best is trial 11 with value: 7.709733365606961.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:05,268]\u001b[0m Using an existing study with name 'tuning/7025a0f724bb3c9c9772da2d59e0e100' instead of creating a new one.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:05,913]\u001b[0m Trial 0 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:06,536]\u001b[0m Trial 1 finished with value: 8.211530457237174 and parameters: {'model.window': 8}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:07,186]\u001b[0m Trial 2 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:07,366]\u001b[0m Trial 3 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 0 with value: 7.714417648902391.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:07,984]\u001b[0m Trial 4 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:08,186]\u001b[0m Trial 5 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:08,356]\u001b[0m Trial 6 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:08,976]\u001b[0m Trial 7 finished with value: 8.44208740224071 and parameters: {'model.window': 9}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:53:09,584]\u001b[0m Trial 8 finished with value: 8.686495937983308 and parameters: {'model.window': 10}. Best is trial 4 with value: 7.446959831974462.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:10,167]\u001b[0m Trial 9 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:10,753]\u001b[0m Trial 10 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:11,340]\u001b[0m Trial 11 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:11,518]\u001b[0m Trial 12 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:11,695]\u001b[0m Trial 13 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 18:53:12,286]\u001b[0m Trial 14 finished with value: 9.379984399000357 and parameters: {'model.window': 1}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:12,465]\u001b[0m Trial 15 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:12,646]\u001b[0m Trial 16 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:12,821]\u001b[0m Trial 17 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:12,998]\u001b[0m Trial 18 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:13,171]\u001b[0m Trial 19 finished with value: 9.379984399000357 and parameters: {'model.window': 1}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:13,339]\u001b[0m Trial 20 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:13,524]\u001b[0m Trial 21 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:13,700]\u001b[0m Trial 22 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:13,875]\u001b[0m Trial 23 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,069]\u001b[0m Trial 24 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,257]\u001b[0m Trial 25 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,443]\u001b[0m Trial 26 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,616]\u001b[0m Trial 27 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,784]\u001b[0m Trial 28 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:14,961]\u001b[0m Trial 29 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:15,142]\u001b[0m Trial 30 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:15,345]\u001b[0m Trial 31 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:15,524]\u001b[0m Trial 32 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:15,711]\u001b[0m Trial 33 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:15,895]\u001b[0m Trial 34 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:16,085]\u001b[0m Trial 35 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:16,274]\u001b[0m Trial 36 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:16,468]\u001b[0m Trial 37 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:16,659]\u001b[0m Trial 38 finished with value: 8.012636166035886 and parameters: {'model.window': 7}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:16,840]\u001b[0m Trial 39 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" + "\u001b[32m[I 2023-06-13 21:33:00,983]\u001b[0m Trial 20 finished with value: 19.361078199988185 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:33:01,173]\u001b[0m Using an existing study with name 'tuning/af8088ac0abfde46e93a8dbb407a2117' instead of creating a new one.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:34:20,844]\u001b[0m Trial 0 finished with value: 5.505938630148969 and parameters: {'model.learning_rate': 0.010716295704927558, 'model.depth': 8, 'model.random_strength': 0.04135997393839887, 'model.l2_leaf_reg': 6.290363334088762, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 5.505938630148969.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:37:37,720]\u001b[0m Trial 1 finished with value: 7.551734636556564 and parameters: {'model.learning_rate': 0.005093288991452604, 'model.depth': 9, 'model.random_strength': 5.124441683726436e-05, 'model.l2_leaf_reg': 12.953838738811829, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 5.505938630148969.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:38:27,862]\u001b[0m Trial 2 finished with value: 5.081608678455632 and parameters: {'model.learning_rate': 0.029265104573384305, 'model.depth': 8, 'model.random_strength': 0.00018293439416272825, 'model.l2_leaf_reg': 0.2664339575790138, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:38:37,593]\u001b[0m Trial 3 finished with value: 5.685278776116567 and parameters: {'model.learning_rate': 0.10885022496978591, 'model.depth': 2, 'model.random_strength': 1.0657846106959452, 'model.l2_leaf_reg': 0.20759826854343155, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:43:45,785]\u001b[0m Trial 4 finished with value: 5.991215017200791 and parameters: {'model.learning_rate': 0.013502332895338663, 'model.depth': 11, 'model.random_strength': 0.000815480751951183, 'model.l2_leaf_reg': 15.963998697486609, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:46:32,501]\u001b[0m Trial 5 finished with value: 5.4032663446040345 and parameters: {'model.learning_rate': 0.0045071640297012746, 'model.depth': 10, 'model.random_strength': 0.15735322629462453, 'model.l2_leaf_reg': 0.9590655617999487, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:46:55,009]\u001b[0m Trial 6 finished with value: 11.328019110497664 and parameters: {'model.learning_rate': 0.0003170403216419516, 'model.depth': 4, 'model.random_strength': 0.02628993208598797, 'model.l2_leaf_reg': 8.922544209949926, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:49:02,344]\u001b[0m Trial 7 finished with value: 12.2846872917135 and parameters: {'model.learning_rate': 0.0002870822904231637, 'model.depth': 10, 'model.random_strength': 0.6980937540893076, 'model.l2_leaf_reg': 7.561685468176948, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:53:59,521]\u001b[0m Trial 8 finished with value: 6.565656562739738 and parameters: {'model.learning_rate': 0.0018942858180534868, 'model.depth': 11, 'model.random_strength': 0.16845597184634434, 'model.l2_leaf_reg': 0.1273800049459842, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:54:24,083]\u001b[0m Trial 9 finished with value: 12.619246777929266 and parameters: {'model.learning_rate': 0.00016392610634216844, 'model.depth': 5, 'model.random_strength': 0.0007426347922713565, 'model.l2_leaf_reg': 19.890730990098493, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:55:08,257]\u001b[0m Trial 10 finished with value: 5.178940352441506 and parameters: {'model.learning_rate': 0.30422255947832194, 'model.depth': 7, 'model.random_strength': 1.3323336863192491e-05, 'model.l2_leaf_reg': 117.15766222053712, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:55:52,681]\u001b[0m Trial 11 finished with value: 5.19167438900881 and parameters: {'model.learning_rate': 0.4157041143287088, 'model.depth': 7, 'model.random_strength': 1.0138604282141124e-05, 'model.l2_leaf_reg': 164.05791825135225, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-13 21:56:25,558]\u001b[0m Trial 12 finished with value: 5.495700632721738 and parameters: {'model.learning_rate': 0.0660039708777113, 'model.depth': 6, 'model.random_strength': 0.0007704398261687172, 'model.l2_leaf_reg': 198.20477894672413, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:57:10,701]\u001b[0m Trial 13 finished with value: 5.229042362938141 and parameters: {'model.learning_rate': 0.06266170664484294, 'model.depth': 7, 'model.random_strength': 7.712996963236343e-05, 'model.l2_leaf_reg': 0.7501093883467507, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:57:32,075]\u001b[0m Trial 14 finished with value: 5.935121245604505 and parameters: {'model.learning_rate': 0.4704193238613018, 'model.depth': 4, 'model.random_strength': 9.393288473774504, 'model.l2_leaf_reg': 52.30114682330751, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 21:58:35,895]\u001b[0m Trial 15 finished with value: 4.94124663793211 and parameters: {'model.learning_rate': 0.1368955392889537, 'model.depth': 8, 'model.random_strength': 1.0292981436693363e-05, 'model.l2_leaf_reg': 1.8121398100968207, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 15 with value: 4.94124663793211.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:00:18,032]\u001b[0m Trial 16 finished with value: 4.899715272141858 and parameters: {'model.learning_rate': 0.0435214895575014, 'model.depth': 9, 'model.random_strength': 0.0001602176189749599, 'model.l2_leaf_reg': 1.588756097852857, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:00:26,053]\u001b[0m Trial 17 finished with value: 5.947339352839522 and parameters: {'model.learning_rate': 0.024943980854647142, 'model.depth': 1, 'model.random_strength': 0.0040411393702502385, 'model.l2_leaf_reg': 2.2395306224446094, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:02:53,259]\u001b[0m Trial 18 finished with value: 5.1359560094148895 and parameters: {'model.learning_rate': 0.1423663349402859, 'model.depth': 9, 'model.random_strength': 0.0039510749596096545, 'model.l2_leaf_reg': 1.7144925380147218, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:04:54,230]\u001b[0m Trial 19 finished with value: 6.3779060914904395 and parameters: {'model.learning_rate': 0.0022006056509276326, 'model.depth': 9, 'model.random_strength': 7.072827112188774e-05, 'model.l2_leaf_reg': 2.500677802880344, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:05:29,829]\u001b[0m Trial 20 finished with value: 5.285361459953382 and parameters: {'model.learning_rate': 0.17399737734948464, 'model.depth': 6, 'model.random_strength': 0.0002830483944552283, 'model.l2_leaf_reg': 0.5327488884395163, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:06:26,101]\u001b[0m Trial 21 finished with value: 5.150115252147781 and parameters: {'model.learning_rate': 0.03166715776464517, 'model.depth': 8, 'model.random_strength': 0.00017637355650173983, 'model.l2_leaf_reg': 0.391572941095742, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:07:22,567]\u001b[0m Trial 22 finished with value: 5.1175828016673135 and parameters: {'model.learning_rate': 0.02777068494901502, 'model.depth': 8, 'model.random_strength': 3.453205836310773e-05, 'model.l2_leaf_reg': 0.28844832966045186, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:09:50,694]\u001b[0m Trial 23 finished with value: 4.977773259395207 and parameters: {'model.learning_rate': 0.04930475651736648, 'model.depth': 10, 'model.random_strength': 0.00020141074677370956, 'model.l2_leaf_reg': 1.2938317623739193, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:12:20,752]\u001b[0m Trial 24 finished with value: 4.927197044128451 and parameters: {'model.learning_rate': 0.066387199945575, 'model.depth': 10, 'model.random_strength': 2.6976801196146113e-05, 'model.l2_leaf_reg': 3.8476771557403033, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[I 2023-06-13 22:14:49,936]\u001b[0m Trial 25 finished with value: 5.0569926795250595 and parameters: {'model.learning_rate': 0.20222141680832337, 'model.depth': 10, 'model.random_strength': 2.7711575837394674e-05, 'model.l2_leaf_reg': 3.6110346067730794, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:50,142]\u001b[0m Using an existing study with name 'tuning/d8215d95e2c6c9a4b4fdacf3fa77dddc' instead of creating a new one.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:50,992]\u001b[0m Trial 0 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:51,345]\u001b[0m Trial 1 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:51,692]\u001b[0m Trial 2 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:52,031]\u001b[0m Trial 3 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:52,374]\u001b[0m Trial 4 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:52,731]\u001b[0m Trial 5 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:53,075]\u001b[0m Trial 6 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:53,406]\u001b[0m Trial 7 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:53,826]\u001b[0m Trial 8 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:54,154]\u001b[0m Trial 9 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:54,522]\u001b[0m Trial 10 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:54,872]\u001b[0m Trial 11 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:55,198]\u001b[0m Trial 12 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:55,531]\u001b[0m Trial 13 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:55,859]\u001b[0m Trial 14 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:56,193]\u001b[0m Trial 15 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:56,533]\u001b[0m Trial 16 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:56,879]\u001b[0m Trial 17 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:57,203]\u001b[0m Trial 18 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:57,533]\u001b[0m Trial 19 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:57,862]\u001b[0m Trial 20 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:58,181]\u001b[0m Trial 21 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:58,503]\u001b[0m Trial 22 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:58,852]\u001b[0m Trial 23 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:59,169]\u001b[0m Trial 24 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:59,494]\u001b[0m Trial 25 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:14:59,630]\u001b[0m Using an existing study with name 'tuning/8f640faabcac0552153ca19337179f3b' instead of creating a new one.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:05,568]\u001b[0m Trial 0 finished with value: 6.042537609009134 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:06,880]\u001b[0m Trial 1 finished with value: 20.851087747476168 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': None}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:09,503]\u001b[0m Trial 2 finished with value: 6.3477344215676155 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:09,861]\u001b[0m Trial 3 finished with value: 6.042537609009134 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", + "\u001b[33m[W 2023-06-13 22:15:10,078]\u001b[0m Trial 4 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[33m[W 2023-06-13 22:15:10,342]\u001b[0m Trial 5 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:10,568]\u001b[0m Trial 6 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:10,792]\u001b[0m Trial 7 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[33m[W 2023-06-13 22:15:12,034]\u001b[0m Trial 8 failed because of the following error: ValueError('y_true and y_pred have different timestamps')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 830, in _run_all_folds\n", + " fold_results_flat = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1088, in __call__\n", + " while self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 673, in _process_fold_forecast\n", + " fold[\"metrics\"] = deepcopy(pipeline._compute_metrics(metrics=metrics, y_true=test, y_pred=forecast))\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 626, in _compute_metrics\n", + " metrics_values[metric.name] = metric(y_true=y_true, y_pred=y_pred) # type: ignore\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 234, in __call__\n", + " self._validate_timestamp_columns(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 172, in _validate_timestamp_columns\n", + " raise ValueError(\"y_true and y_pred have different timestamps\")\n", + "ValueError: y_true and y_pred have different timestamps\n", + "\u001b[32m[I 2023-06-13 22:15:17,587]\u001b[0m Trial 9 finished with value: 4.769470882856761 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': True, 'model.seasonal': 'mul'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:18,673]\u001b[0m Trial 10 finished with value: 14.87656308243648 and parameters: {'model.trend': None, 'model.damped_trend': False, 'model.use_boxcox': True, 'model.seasonal': None}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[33m[W 2023-06-13 22:15:23,644]\u001b[0m Trial 11 failed because of the following error: ValueError('y_true and y_pred have different timestamps')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 830, in _run_all_folds\n", + " fold_results_flat = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 673, in _process_fold_forecast\n", + " fold[\"metrics\"] = deepcopy(pipeline._compute_metrics(metrics=metrics, y_true=test, y_pred=forecast))\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 626, in _compute_metrics\n", + " metrics_values[metric.name] = metric(y_true=y_true, y_pred=y_pred) # type: ignore\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 234, in __call__\n", + " self._validate_timestamp_columns(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 172, in _validate_timestamp_columns\n", + " raise ValueError(\"y_true and y_pred have different timestamps\")\n", + "ValueError: y_true and y_pred have different timestamps\n", + "\u001b[32m[I 2023-06-13 22:15:25,142]\u001b[0m Trial 12 finished with value: 5.542525072199917 and parameters: {'model.trend': None, 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:27,711]\u001b[0m Trial 13 finished with value: 5.931951295183403 and parameters: {'model.trend': 'add', 'model.damped_trend': True, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:28,073]\u001b[0m Trial 14 finished with value: 20.851087747476168 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': None}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[32m[I 2023-06-13 22:15:32,602]\u001b[0m Trial 15 finished with value: 6.035704509742201 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", + "\u001b[33m[W 2023-06-13 22:15:32,813]\u001b[0m Trial 16 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[33m[W 2023-06-13 22:15:33,019]\u001b[0m Trial 17 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:33,222]\u001b[0m Trial 18 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:33,430]\u001b[0m Trial 19 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[33m[W 2023-06-13 22:15:33,657]\u001b[0m Trial 20 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:33,887]\u001b[0m Trial 21 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:34,107]\u001b[0m Trial 22 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[33m[W 2023-06-13 22:15:34,316]\u001b[0m Trial 23 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:34,556]\u001b[0m Trial 24 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n", + "\u001b[33m[W 2023-06-13 22:15:34,766]\u001b[0m Trial 25 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", + "Traceback (most recent call last):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", + " value_or_values = func(trial)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", + " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", + " self._folds = self._run_all_folds(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", + " pipelines = parallel(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", + " if self.dispatch_one_batch(iterator):\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", + " self._dispatch(tasks)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", + " job = self._backend.apply_async(batch, callback=cb)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", + " result = ImmediateResult(func)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", + " self.results = batch()\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", + " return [func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", + " pipeline.fit(ts=ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", + " self.model.fit(self.ts)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", + " result = f(self, *args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", + " model.fit(df=segment_features, regressors=ts.regressors)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", + " self._model = ExponentialSmoothing(\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", + " return func(*args, **kwargs)\n", + " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", + " raise ValueError(\"Can only dampen the trend component\")\n", + "ValueError: Can only dampen the trend component\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 18:53:17,046]\u001b[0m Trial 40 finished with value: 8.211530457237174 and parameters: {'model.window': 8}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:17,241]\u001b[0m Trial 41 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:17,444]\u001b[0m Trial 42 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:17,644]\u001b[0m Trial 43 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:17,836]\u001b[0m Trial 44 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:18,050]\u001b[0m Trial 45 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:18,250]\u001b[0m Trial 46 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:18,456]\u001b[0m Trial 47 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:18,635]\u001b[0m Trial 48 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:18,851]\u001b[0m Trial 49 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,043]\u001b[0m Trial 50 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,259]\u001b[0m Trial 51 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,437]\u001b[0m Trial 52 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,621]\u001b[0m Trial 53 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,794]\u001b[0m Trial 54 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:19,974]\u001b[0m Trial 55 finished with value: 8.686495937983308 and parameters: {'model.window': 10}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:20,158]\u001b[0m Trial 56 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:20,333]\u001b[0m Trial 57 finished with value: 7.714417648902391 and parameters: {'model.window': 6}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:20,525]\u001b[0m Trial 58 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:20,722]\u001b[0m Trial 59 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:20,900]\u001b[0m Trial 60 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:21,095]\u001b[0m Trial 61 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:21,277]\u001b[0m Trial 62 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:21,472]\u001b[0m Trial 63 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:21,649]\u001b[0m Trial 64 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:21,837]\u001b[0m Trial 65 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:22,033]\u001b[0m Trial 66 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:22,274]\u001b[0m Trial 67 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:22,448]\u001b[0m Trial 68 finished with value: 8.291428728039872 and parameters: {'model.window': 2}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:22,632]\u001b[0m Trial 69 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:22,826]\u001b[0m Trial 70 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:23,034]\u001b[0m Trial 71 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:23,251]\u001b[0m Trial 72 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:23,445]\u001b[0m Trial 73 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:23,634]\u001b[0m Trial 74 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:23,823]\u001b[0m Trial 75 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,017]\u001b[0m Trial 76 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,199]\u001b[0m Trial 77 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,383]\u001b[0m Trial 78 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,564]\u001b[0m Trial 79 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,746]\u001b[0m Trial 80 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:24,942]\u001b[0m Trial 81 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:25,130]\u001b[0m Trial 82 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:25,319]\u001b[0m Trial 83 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:25,507]\u001b[0m Trial 84 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:25,712]\u001b[0m Trial 85 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:25,906]\u001b[0m Trial 86 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:26,094]\u001b[0m Trial 87 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 18:53:26,305]\u001b[0m Trial 88 finished with value: 7.709733365606961 and parameters: {'model.window': 3}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:26,514]\u001b[0m Trial 89 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:26,734]\u001b[0m Trial 90 finished with value: 7.446959831974462 and parameters: {'model.window': 5}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:26,920]\u001b[0m Trial 91 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:27,123]\u001b[0m Trial 92 finished with value: 7.36641411996232 and parameters: {'model.window': 4}. Best is trial 9 with value: 7.36641411996232.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 18:53:27,133]\u001b[0m Using an existing study with name 'tuning/a8ae0feeb31c5172559ca1c22ca8c56c' instead of creating a new one.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 38.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 53.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:54:38,440]\u001b[0m Trial 0 finished with value: 8.95599899417973 and parameters: {'model.learning_rate': 0.010716295704927558, 'model.depth': 8, 'model.random_strength': 0.04135997393839887, 'model.l2_leaf_reg': 6.290363334088762, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 29.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.0min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.9min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.9min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:57:31,220]\u001b[0m Trial 1 finished with value: 11.153710362248447 and parameters: {'model.learning_rate': 0.005093288991452604, 'model.depth': 9, 'model.random_strength': 5.124441683726436e-05, 'model.l2_leaf_reg': 12.953838738811829, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 18:58:13,738]\u001b[0m Trial 2 finished with value: 9.03957484021361 and parameters: {'model.learning_rate': 0.029265104573384305, 'model.depth': 8, 'model.random_strength': 0.00018293439416272825, 'model.l2_leaf_reg': 0.2664339575790138, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 2.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 4.0s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 5.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 7.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 7.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 18:58:22,134]\u001b[0m Trial 3 finished with value: 9.173060518951004 and parameters: {'model.learning_rate': 0.10885022496978591, 'model.depth': 2, 'model.random_strength': 1.0657846106959452, 'model.l2_leaf_reg': 0.20759826854343155, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 44.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:03:01,106]\u001b[0m Trial 4 finished with value: 9.89102553101261 and parameters: {'model.learning_rate': 0.013502332895338663, 'model.depth': 11, 'model.random_strength': 0.000815480751951183, 'model.l2_leaf_reg': 15.963998697486609, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 20.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 44.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.7min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:05:14,329]\u001b[0m Trial 5 finished with value: 9.246544230404654 and parameters: {'model.learning_rate': 0.0045071640297012746, 'model.depth': 10, 'model.random_strength': 0.15735322629462453, 'model.l2_leaf_reg': 0.9590655617999487, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 19:05:31,463]\u001b[0m Trial 6 finished with value: 13.674681756711074 and parameters: {'model.learning_rate': 0.0003170403216419516, 'model.depth': 4, 'model.random_strength': 0.02628993208598797, 'model.l2_leaf_reg': 8.922544209949926, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 17.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 39.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:07:23,035]\u001b[0m Trial 7 finished with value: 14.602269167516333 and parameters: {'model.learning_rate': 0.0002870822904231637, 'model.depth': 10, 'model.random_strength': 0.6980937540893076, 'model.l2_leaf_reg': 7.561685468176948, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 40.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.5min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.3min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:11:44,124]\u001b[0m Trial 8 finished with value: 10.072483975876313 and parameters: {'model.learning_rate': 0.0018942858180534868, 'model.depth': 11, 'model.random_strength': 0.16845597184634434, 'model.l2_leaf_reg': 0.1273800049459842, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 15.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:12:04,460]\u001b[0m Trial 9 finished with value: 14.747822214688878 and parameters: {'model.learning_rate': 0.00016392610634216844, 'model.depth': 5, 'model.random_strength': 0.0007426347922713565, 'model.l2_leaf_reg': 19.890730990098493, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 24.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 33.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 42.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 42.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:12:48,285]\u001b[0m Trial 10 finished with value: 9.046943050185742 and parameters: {'model.learning_rate': 0.3016601746587215, 'model.depth': 7, 'model.random_strength': 5.207983086710336, 'model.l2_leaf_reg': 117.15766222053712, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 8.95599899417973.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 13.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:13:24,704]\u001b[0m Trial 11 finished with value: 8.30630605027575 and parameters: {'model.learning_rate': 0.02888986687677301, 'model.depth': 7, 'model.random_strength': 1.2113827557482931e-05, 'model.l2_leaf_reg': 1.4193997083563195, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 11 with value: 8.30630605027575.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:13:51,413]\u001b[0m Trial 12 finished with value: 8.07929866168479 and parameters: {'model.learning_rate': 0.0660039708777113, 'model.depth': 6, 'model.random_strength': 1.2829395419699266e-05, 'model.l2_leaf_reg': 1.4382430803395603, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 12 with value: 8.07929866168479.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:14:18,439]\u001b[0m Trial 13 finished with value: 8.065391877418003 and parameters: {'model.learning_rate': 0.06274920389886264, 'model.depth': 6, 'model.random_strength': 1.1209119713398471e-05, 'model.l2_leaf_reg': 1.1620401948830998, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 9.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:14:31,850]\u001b[0m Trial 14 finished with value: 8.100311162084239 and parameters: {'model.learning_rate': 0.11380764409502402, 'model.depth': 3, 'model.random_strength': 1.1256827664245276e-05, 'model.l2_leaf_reg': 1.510882248859575, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:14:55,797]\u001b[0m Trial 15 finished with value: 8.447507579438982 and parameters: {'model.learning_rate': 0.3622285587348562, 'model.depth': 5, 'model.random_strength': 0.0008638998093220183, 'model.l2_leaf_reg': 0.5954304204448454, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 13 with value: 8.065391877418003.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:15:22,127]\u001b[0m Trial 16 finished with value: 8.031969833731182 and parameters: {'model.learning_rate': 0.0745615264143987, 'model.depth': 6, 'model.random_strength': 6.121718412146904e-05, 'model.l2_leaf_reg': 2.729228075346652, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 19:15:28,211]\u001b[0m Trial 17 finished with value: 11.410654422353488 and parameters: {'model.learning_rate': 0.0016295974588932814, 'model.depth': 1, 'model.random_strength': 0.0040411393702502385, 'model.l2_leaf_reg': 48.76365782238227, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:15:51,731]\u001b[0m Trial 18 finished with value: 8.05332491586108 and parameters: {'model.learning_rate': 0.04288847006411244, 'model.depth': 5, 'model.random_strength': 8.283192124435259e-05, 'model.l2_leaf_reg': 3.297556843535905, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:16:10,094]\u001b[0m Trial 19 finished with value: 8.353573783102325 and parameters: {'model.learning_rate': 0.03107836316562015, 'model.depth': 4, 'model.random_strength': 7.63942209212799e-05, 'model.l2_leaf_reg': 2.394528391220912, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 10.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:16:24,440]\u001b[0m Trial 20 finished with value: 8.448705138928396 and parameters: {'model.learning_rate': 0.17846994420285409, 'model.depth': 3, 'model.random_strength': 0.0052571944151463225, 'model.l2_leaf_reg': 4.542352879381539, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.9s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:16:55,024]\u001b[0m Trial 21 finished with value: 8.383220007257988 and parameters: {'model.learning_rate': 0.04666810007924232, 'model.depth': 6, 'model.random_strength': 0.00016248943338374142, 'model.l2_leaf_reg': 0.49107697176534837, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:17:25,062]\u001b[0m Trial 22 finished with value: 9.68449510360387 and parameters: {'model.learning_rate': 0.4964431362911476, 'model.depth': 6, 'model.random_strength': 4.2536874715092195e-05, 'model.l2_leaf_reg': 2.8362784506831273, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:17:48,241]\u001b[0m Trial 23 finished with value: 8.512075186962742 and parameters: {'model.learning_rate': 0.01623440999852582, 'model.depth': 5, 'model.random_strength': 0.0002623142669431294, 'model.l2_leaf_reg': 3.460049187329248, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 19.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 26.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 19:18:23,782]\u001b[0m Trial 24 finished with value: 8.555201995744863 and parameters: {'model.learning_rate': 0.10762713083238827, 'model.depth': 7, 'model.random_strength': 3.4597878271322315e-05, 'model.l2_leaf_reg': 0.6580143878958676, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 15.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:18:41,149]\u001b[0m Trial 25 finished with value: 8.293638904007004 and parameters: {'model.learning_rate': 0.19887845020590356, 'model.depth': 4, 'model.random_strength': 0.0023728768741118453, 'model.l2_leaf_reg': 2.2913049946422257, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:19:04,918]\u001b[0m Trial 26 finished with value: 8.617015148172051 and parameters: {'model.learning_rate': 0.06935054245755438, 'model.depth': 5, 'model.random_strength': 0.00028650392880312725, 'model.l2_leaf_reg': 26.00488651958732, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 19.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 26.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:19:40,614]\u001b[0m Trial 27 finished with value: 8.669639919349509 and parameters: {'model.learning_rate': 0.01963454047901899, 'model.depth': 7, 'model.random_strength': 3.175379919339519e-05, 'model.l2_leaf_reg': 4.503760283265215, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 23.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 38.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 53.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:20:50,773]\u001b[0m Trial 28 finished with value: 8.935133717868933 and parameters: {'model.learning_rate': 0.05376491742167553, 'model.depth': 8, 'model.random_strength': 6.857770792729176e-05, 'model.l2_leaf_reg': 0.9470349534044336, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:21:18,401]\u001b[0m Trial 29 finished with value: 8.200640592026204 and parameters: {'model.learning_rate': 0.008368680345484669, 'model.depth': 6, 'model.random_strength': 0.024175133661466272, 'model.l2_leaf_reg': 0.3764383338268366, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 6.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 8.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 11.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 11.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:21:30,853]\u001b[0m Trial 30 finished with value: 9.34014423345457 and parameters: {'model.learning_rate': 0.00297080539194199, 'model.depth': 3, 'model.random_strength': 0.0017903035991223503, 'model.l2_leaf_reg': 5.519407255474524, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 15.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 26.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:21:58,420]\u001b[0m Trial 31 finished with value: 8.284403629631974 and parameters: {'model.learning_rate': 0.06333396482943168, 'model.depth': 6, 'model.random_strength': 1.251948986526725e-05, 'model.l2_leaf_reg': 1.8574150320946214, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 20.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:22:25,096]\u001b[0m Trial 32 finished with value: 8.158978912445004 and parameters: {'model.learning_rate': 0.15217271285713863, 'model.depth': 6, 'model.random_strength': 1.6824767497531204e-05, 'model.l2_leaf_reg': 1.3075846212454072, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 18.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 30.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 42.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 55.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 55.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:23:21,628]\u001b[0m Trial 33 finished with value: 8.428901072976863 and parameters: {'model.learning_rate': 0.03278039806041292, 'model.depth': 8, 'model.random_strength': 0.00013532842560126068, 'model.l2_leaf_reg': 0.8294059286136878, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:23:46,300]\u001b[0m Trial 34 finished with value: 8.087586794142052 and parameters: {'model.learning_rate': 0.08629463954200245, 'model.depth': 5, 'model.random_strength': 2.5725182911410294e-05, 'model.l2_leaf_reg': 9.625088887711426, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 20.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 41.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:26:01,415]\u001b[0m Trial 35 finished with value: 8.765999639627843 and parameters: {'model.learning_rate': 0.009440961403021553, 'model.depth': 9, 'model.random_strength': 8.859252222040201e-05, 'model.l2_leaf_reg': 0.343335222555471, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 14.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 18.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 18.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:26:21,439]\u001b[0m Trial 36 finished with value: 8.510185102343609 and parameters: {'model.learning_rate': 0.01972860796294576, 'model.depth': 4, 'model.random_strength': 0.0004080733373118015, 'model.l2_leaf_reg': 3.171934442388506, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 25.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 31.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 31.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:26:54,655]\u001b[0m Trial 37 finished with value: 8.302866344246397 and parameters: {'model.learning_rate': 0.04688480231421711, 'model.depth': 7, 'model.random_strength': 2.6982336518821883e-05, 'model.l2_leaf_reg': 0.20317395796166243, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 29.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.1min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.7min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.4min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:30:02,334]\u001b[0m Trial 38 finished with value: 9.108799553574789 and parameters: {'model.learning_rate': 0.2741522799411053, 'model.depth': 9, 'model.random_strength': 8.730693997118244e-05, 'model.l2_leaf_reg': 1.1961936671781448, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.6s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:30:27,254]\u001b[0m Trial 39 finished with value: 9.373087331618166 and parameters: {'model.learning_rate': 0.12880681807063418, 'model.depth': 6, 'model.random_strength': 0.00047449506198969654, 'model.l2_leaf_reg': 12.656240115515295, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 27.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 49.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 49.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:31:18,707]\u001b[0m Trial 40 finished with value: 8.723794076386387 and parameters: {'model.learning_rate': 0.0365109815783068, 'model.depth': 8, 'model.random_strength': 2.1145393995945507e-05, 'model.l2_leaf_reg': 1.9849682730500886, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:31:44,398]\u001b[0m Trial 41 finished with value: 8.172100425111964 and parameters: {'model.learning_rate': 0.07670189854950808, 'model.depth': 5, 'model.random_strength': 1.0006328829080918e-05, 'model.l2_leaf_reg': 9.583190988154263, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:32:09,431]\u001b[0m Trial 42 finished with value: 8.140604573465236 and parameters: {'model.learning_rate': 0.0791324972664535, 'model.depth': 5, 'model.random_strength': 3.961867024425694e-05, 'model.l2_leaf_reg': 7.754870915151789, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:32:27,572]\u001b[0m Trial 43 finished with value: 9.58160627697514 and parameters: {'model.learning_rate': 0.005991196706481634, 'model.depth': 4, 'model.random_strength': 2.306711878540034e-05, 'model.l2_leaf_reg': 37.0462528351183, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 16 with value: 8.031969833731182.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:32:59,304]\u001b[0m Trial 44 finished with value: 7.988004028987885 and parameters: {'model.learning_rate': 0.09508918988441205, 'model.depth': 6, 'model.random_strength': 0.0001361234741724129, 'model.l2_leaf_reg': 5.777002289780539, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:33:41,893]\u001b[0m Trial 45 finished with value: 8.321489517066045 and parameters: {'model.learning_rate': 0.25189259418879417, 'model.depth': 7, 'model.random_strength': 0.00014992922786063914, 'model.l2_leaf_reg': 3.463221611903448, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:34:13,577]\u001b[0m Trial 46 finished with value: 8.765381177778075 and parameters: {'model.learning_rate': 0.012814218260659638, 'model.depth': 6, 'model.random_strength': 6.76493104996068e-05, 'model.l2_leaf_reg': 5.991362902854593, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 24.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 41.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:34:56,500]\u001b[0m Trial 47 finished with value: 8.382428906186961 and parameters: {'model.learning_rate': 0.0239813464143043, 'model.depth': 7, 'model.random_strength': 0.2552506350622169, 'model.l2_leaf_reg': 1.5730625870054369, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 21.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 27.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 27.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:35:25,542]\u001b[0m Trial 48 finished with value: 8.157579666239567 and parameters: {'model.learning_rate': 0.11038475612098292, 'model.depth': 6, 'model.random_strength': 0.0007056161055854033, 'model.l2_leaf_reg': 0.7803503272996681, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:35:48,718]\u001b[0m Trial 49 finished with value: 8.294126449817192 and parameters: {'model.learning_rate': 0.19340173000318936, 'model.depth': 5, 'model.random_strength': 0.00012068840021077627, 'model.l2_leaf_reg': 1.1623227906601101, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 14.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:36:07,826]\u001b[0m Trial 50 finished with value: 8.555954712918059 and parameters: {'model.learning_rate': 0.05210901832131936, 'model.depth': 4, 'model.random_strength': 6.250567182313939, 'model.l2_leaf_reg': 4.237577132357375, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:36:31,157]\u001b[0m Trial 51 finished with value: 8.496623226004772 and parameters: {'model.learning_rate': 0.0746239608466254, 'model.depth': 5, 'model.random_strength': 4.9319289442388765e-05, 'model.l2_leaf_reg': 18.570378777632094, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:36:55,140]\u001b[0m Trial 52 finished with value: 8.030651379845837 and parameters: {'model.learning_rate': 0.09617133089183234, 'model.depth': 5, 'model.random_strength': 2.2161572157322385e-05, 'model.l2_leaf_reg': 9.713904969128848, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 4.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 7.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 10.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 12.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:37:09,435]\u001b[0m Trial 53 finished with value: 8.679953436930496 and parameters: {'model.learning_rate': 0.03593827634304431, 'model.depth': 3, 'model.random_strength': 1.6339602216411735e-05, 'model.l2_leaf_reg': 12.794645778958987, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 28.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:37:39,752]\u001b[0m Trial 54 finished with value: 9.278664203907407 and parameters: {'model.learning_rate': 0.48179387847394756, 'model.depth': 6, 'model.random_strength': 5.9462368047388926e-05, 'model.l2_leaf_reg': 2.573442349112225, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 22.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:38:20,157]\u001b[0m Trial 55 finished with value: 8.926902194245685 and parameters: {'model.learning_rate': 0.15258532725109455, 'model.depth': 7, 'model.random_strength': 0.0002501319482067817, 'model.l2_leaf_reg': 133.50461194662432, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:38:45,556]\u001b[0m Trial 56 finished with value: 12.174585450015188 and parameters: {'model.learning_rate': 0.0008559658864143263, 'model.depth': 5, 'model.random_strength': 1.0776714229895865e-05, 'model.l2_leaf_reg': 6.2629483600232865, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.7s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 10.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:39:04,484]\u001b[0m Trial 57 finished with value: 8.299264871115207 and parameters: {'model.learning_rate': 0.10725555604321187, 'model.depth': 4, 'model.random_strength': 4.154427446797555e-05, 'model.l2_leaf_reg': 1.722629496347362, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 16.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 21.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:39:26,971]\u001b[0m Trial 58 finished with value: 9.607920557720625 and parameters: {'model.learning_rate': 0.043180578765391824, 'model.depth': 6, 'model.random_strength': 1.7067687638469634e-05, 'model.l2_leaf_reg': 4.5776871731515785, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 5.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 6.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 8.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:39:36,750]\u001b[0m Trial 59 finished with value: 8.79543873786448 and parameters: {'model.learning_rate': 0.025210118825780517, 'model.depth': 2, 'model.random_strength': 0.008982595950999173, 'model.l2_leaf_reg': 73.38080987485642, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 19:40:00,867]\u001b[0m Trial 60 finished with value: 11.82456421522146 and parameters: {'model.learning_rate': 0.228181713088253, 'model.depth': 5, 'model.random_strength': 2.637614095453136, 'model.l2_leaf_reg': 0.564027881260557, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 25.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:40:29,565]\u001b[0m Trial 61 finished with value: 8.151805392831466 and parameters: {'model.learning_rate': 0.08441385904292124, 'model.depth': 5, 'model.random_strength': 2.2339528388248968e-05, 'model.l2_leaf_reg': 9.739974245406467, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 13.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 34.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:41:05,317]\u001b[0m Trial 62 finished with value: 8.789276440893424 and parameters: {'model.learning_rate': 0.09245996859779411, 'model.depth': 6, 'model.random_strength': 2.7959070164567537e-05, 'model.l2_leaf_reg': 24.585748826466393, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 22.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 38.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:41:45,694]\u001b[0m Trial 63 finished with value: 8.032707563846397 and parameters: {'model.learning_rate': 0.060287950964472224, 'model.depth': 7, 'model.random_strength': 9.693599398650281e-05, 'model.l2_leaf_reg': 7.453518853765049, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:42:27,732]\u001b[0m Trial 64 finished with value: 8.014563087896757 and parameters: {'model.learning_rate': 0.12606253579945126, 'model.depth': 7, 'model.random_strength': 0.00011141244836882263, 'model.l2_leaf_reg': 7.601195647275086, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:43:08,601]\u001b[0m Trial 65 finished with value: 8.781276851776932 and parameters: {'model.learning_rate': 0.346208563601516, 'model.depth': 7, 'model.random_strength': 0.0013885951398404327, 'model.l2_leaf_reg': 7.15592707529692, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 11.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 25.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 39.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 54.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:44:20,158]\u001b[0m Trial 66 finished with value: 9.115936211381197 and parameters: {'model.learning_rate': 0.1470194310832875, 'model.depth': 8, 'model.random_strength': 0.00024248648595509516, 'model.l2_leaf_reg': 15.378459558159049, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 31.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:45:02,360]\u001b[0m Trial 67 finished with value: 8.700430085710416 and parameters: {'model.learning_rate': 0.05965414845236434, 'model.depth': 7, 'model.random_strength': 0.00010687707117691142, 'model.l2_leaf_reg': 4.013518534025303, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 13.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 28.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 45.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.3min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:46:24,684]\u001b[0m Trial 68 finished with value: 8.89435115997858 and parameters: {'model.learning_rate': 0.17721594627909795, 'model.depth': 8, 'model.random_strength': 0.0003767129772227504, 'model.l2_leaf_reg': 5.23895706604989, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 24.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 50.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.3min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.7min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.2min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:48:40,006]\u001b[0m Trial 69 finished with value: 15.115777227300816 and parameters: {'model.learning_rate': 0.00011587517506101465, 'model.depth': 10, 'model.random_strength': 0.07117642100820142, 'model.l2_leaf_reg': 11.871051395443082, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 37.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 37.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "\u001b[32m[I 2023-06-12 19:49:20,146]\u001b[0m Trial 70 finished with value: 8.228243379404098 and parameters: {'model.learning_rate': 0.04221308978025186, 'model.depth': 6, 'model.random_strength': 0.000181552553334559, 'model.l2_leaf_reg': 7.797976303567318, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 8.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 29.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 36.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 36.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:49:57,898]\u001b[0m Trial 71 finished with value: 8.10815826752702 and parameters: {'model.learning_rate': 0.06434478746625942, 'model.depth': 6, 'model.random_strength': 4.5171197656046666e-05, 'model.l2_leaf_reg': 2.754019730072721, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 14.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 21.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 30.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 39.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:50:38,521]\u001b[0m Trial 72 finished with value: 8.247053012520826 and parameters: {'model.learning_rate': 0.12221888713156634, 'model.depth': 7, 'model.random_strength': 6.82229061631643e-05, 'model.l2_leaf_reg': 3.281908341622854, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 30.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:51:10,334]\u001b[0m Trial 73 finished with value: 8.383063597268825 and parameters: {'model.learning_rate': 0.05687471631457792, 'model.depth': 6, 'model.random_strength': 1.4639582266736639e-05, 'model.l2_leaf_reg': 2.006475692817085, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 15.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 23.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 32.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 40.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:51:52,776]\u001b[0m Trial 74 finished with value: 8.516998241823348 and parameters: {'model.learning_rate': 0.02772238368736195, 'model.depth': 7, 'model.random_strength': 9.172846725955901e-05, 'model.l2_leaf_reg': 2.2707166310051026, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 9.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 19.9s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 28.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 46.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 46.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:52:40,683]\u001b[0m Trial 75 finished with value: 8.32495485026527 and parameters: {'model.learning_rate': 0.09855720056262432, 'model.depth': 7, 'model.random_strength': 3.168420763570188e-05, 'model.l2_leaf_reg': 5.599392974826747, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 16.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 26.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 37.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 48.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 48.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:53:31,123]\u001b[0m Trial 76 finished with value: 9.069203101650036 and parameters: {'model.learning_rate': 0.017887713959096208, 'model.depth': 8, 'model.random_strength': 5.36276649721485e-05, 'model.l2_leaf_reg': 1.0363979521211664, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:54:02,379]\u001b[0m Trial 77 finished with value: 8.209663071060533 and parameters: {'model.learning_rate': 0.14393348137905254, 'model.depth': 6, 'model.random_strength': 0.000656274814172542, 'model.l2_leaf_reg': 3.7800310397269308, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 7.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 11.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 15.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 19.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 19:54:24,111]\u001b[0m Trial 78 finished with value: 8.419210717470907 and parameters: {'model.learning_rate': 0.038655131026692637, 'model.depth': 5, 'model.random_strength': 0.00013369606216108364, 'model.l2_leaf_reg': 10.377052949596434, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 25.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 54.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.5min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.1min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.8min remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.8min finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:57:13,534]\u001b[0m Trial 79 finished with value: 10.00773274381814 and parameters: {'model.learning_rate': 0.21980242652812787, 'model.depth': 9, 'model.random_strength': 1.6133606841631537e-05, 'model.l2_leaf_reg': 1.4685558643907377, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 19.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 24.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:57:39,656]\u001b[0m Trial 80 finished with value: 8.411802182346586 and parameters: {'model.learning_rate': 0.0700573127922613, 'model.depth': 5, 'model.random_strength': 0.00021912101083016797, 'model.l2_leaf_reg': 15.070412754878896, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 9.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 14.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 23.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:58:04,423]\u001b[0m Trial 81 finished with value: 8.05433188778809 and parameters: {'model.learning_rate': 0.09094519148449282, 'model.depth': 5, 'model.random_strength': 3.105031525983668e-05, 'model.l2_leaf_reg': 7.12234957237678, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 17.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:58:22,987]\u001b[0m Trial 82 finished with value: 8.405184041361164 and parameters: {'model.learning_rate': 0.051543376019549676, 'model.depth': 4, 'model.random_strength': 3.4174276643244427e-05, 'model.l2_leaf_reg': 7.225736783757793, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 11.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 17.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 23.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:58:53,906]\u001b[0m Trial 83 finished with value: 8.099853542644295 and parameters: {'model.learning_rate': 0.09644665932401936, 'model.depth': 6, 'model.random_strength': 2.0415495193357084e-05, 'model.l2_leaf_reg': 2.968044687616411, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 18.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:59:18,014]\u001b[0m Trial 84 finished with value: 8.1513793705268 and parameters: {'model.learning_rate': 0.12044950027590987, 'model.depth': 5, 'model.random_strength': 7.184077286317475e-05, 'model.l2_leaf_reg': 4.96091108806923, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 10.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 16.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 22.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 29.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 19:59:48,572]\u001b[0m Trial 85 finished with value: 9.759262482212726 and parameters: {'model.learning_rate': 0.03155358124589334, 'model.depth': 6, 'model.random_strength': 1.1981664461341928e-05, 'model.l2_leaf_reg': 192.08249940999715, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 20.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 27.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 35.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:00:25,956]\u001b[0m Trial 86 finished with value: 8.649848295557511 and parameters: {'model.learning_rate': 0.18352290010138952, 'model.depth': 7, 'model.random_strength': 4.81650560351937e-05, 'model.l2_leaf_reg': 18.95773796598665, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 12.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 18.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 25.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 32.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 32.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:00:59,779]\u001b[0m Trial 87 finished with value: 8.218701885283497 and parameters: {'model.learning_rate': 0.0666661507442953, 'model.depth': 6, 'model.random_strength': 0.0001022682070148913, 'model.l2_leaf_reg': 8.799923865447301, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:01:17,646]\u001b[0m Trial 88 finished with value: 9.8308795579817 and parameters: {'model.learning_rate': 0.08725130794266926, 'model.depth': 5, 'model.random_strength': 3.4581813935010435e-05, 'model.l2_leaf_reg': 6.295840497124187, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 7.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 16.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 25.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 35.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 45.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 45.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 20:02:04,632]\u001b[0m Trial 89 finished with value: 8.315998894937811 and parameters: {'model.learning_rate': 0.04953694545865797, 'model.depth': 7, 'model.random_strength': 0.00018466398451449562, 'model.l2_leaf_reg': 11.200699047569337, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 13.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:02:22,676]\u001b[0m Trial 90 finished with value: 8.452759290374376 and parameters: {'model.learning_rate': 0.326341592921041, 'model.depth': 4, 'model.random_strength': 0.00032880392654984836, 'model.l2_leaf_reg': 2.023842147151694, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 4.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 8.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 13.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 17.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 22.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:02:46,459]\u001b[0m Trial 91 finished with value: 8.22255499766052 and parameters: {'model.learning_rate': 0.08027892283834585, 'model.depth': 5, 'model.random_strength': 2.2460453731029875e-05, 'model.l2_leaf_reg': 8.783162700814778, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 3.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 6.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 9.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 12.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 16.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.4s finished\n", - "\u001b[32m[I 2023-06-12 20:03:04,394]\u001b[0m Trial 92 finished with value: 9.855752632612187 and parameters: {'model.learning_rate': 0.004075377055081005, 'model.depth': 4, 'model.random_strength': 2.777565839223476e-05, 'model.l2_leaf_reg': 24.37905531110236, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 44 with value: 7.988004028987885.\u001b[0m\n", - "\u001b[32m[I 2023-06-12 20:03:04,470]\u001b[0m Using an existing study with name 'tuning/5fa7c4d24dae67c5aaa54afa1424c228' instead of creating a new one.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:08,158]\u001b[0m Trial 0 finished with value: 8.541965580837937 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6431172050131991, 'model.changepoint_prior_scale': 0.029554483012804774, 'model.changepoint_range': 0.8635482199008357, 'model.holidays_prior_scale': 0.8663279761354559}. Best is trial 0 with value: 8.541965580837937.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:11,343]\u001b[0m Trial 1 finished with value: 8.199149635759104 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 7.780155576901417, 'model.changepoint_prior_scale': 0.01083670267174957, 'model.changepoint_range': 0.9187587557123996, 'model.holidays_prior_scale': 0.3860866271460545}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:11 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:11 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:12 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.4s remaining: 0.0s\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:12 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:13 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:13 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.5s remaining: 0.0s\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:14 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.8s remaining: 0.0s\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:15 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:17,470]\u001b[0m Trial 2 finished with value: 13.726743418362693 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0163345876110695, 'model.changepoint_prior_scale': 0.001718538897359816, 'model.changepoint_range': 0.8030327596160489, 'model.holidays_prior_scale': 3.146730406166005}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:20,578]\u001b[0m Trial 3 finished with value: 11.56188525384476 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 8.626905220714901, 'model.changepoint_prior_scale': 0.14351754393372151, 'model.changepoint_range': 0.8692219043379398, 'model.holidays_prior_scale': 2.195773446539456}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.4s remaining: 0.0s\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6s remaining: 0.0s\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:03:24,026]\u001b[0m Trial 4 finished with value: 13.16115473143088 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0269190582492607, 'model.changepoint_prior_scale': 0.35451373935753394, 'model.changepoint_range': 0.8782772482625107, 'model.holidays_prior_scale': 0.17538232373118048}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:24 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:26,794]\u001b[0m Trial 5 finished with value: 8.731742420838094 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23358825194833557, 'model.changepoint_prior_scale': 0.034212607690527704, 'model.changepoint_range': 0.8028184700654533, 'model.holidays_prior_scale': 0.7126995609048579}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:29,654]\u001b[0m Trial 6 finished with value: 10.309542514593204 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 6.780227021579833, 'model.changepoint_prior_scale': 0.06921696229642238, 'model.changepoint_range': 0.8539261850860679, 'model.holidays_prior_scale': 0.20468963963126674}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:32,502]\u001b[0m Trial 7 finished with value: 9.718315974384845 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.0006913513545577, 'model.changepoint_prior_scale': 0.06457010518456686, 'model.changepoint_range': 0.8315573841610762, 'model.holidays_prior_scale': 0.024365700014642007}. Best is trial 1 with value: 8.199149635759104.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:03:35,214]\u001b[0m Trial 8 finished with value: 8.196662721111094 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.513558960650023, 'model.changepoint_prior_scale': 0.015267654682360772, 'model.changepoint_range': 0.9482560757088838, 'model.holidays_prior_scale': 0.020236454843648898}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:03:37,945]\u001b[0m Trial 9 finished with value: 9.39685881152561 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.9105944026265278, 'model.changepoint_prior_scale': 0.004826434732162202, 'model.changepoint_range': 0.8699466159284459, 'model.holidays_prior_scale': 0.054109905567678765}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:38 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.4s remaining: 0.0s\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:39 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:39 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.7s remaining: 0.0s\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:40 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3s remaining: 0.0s\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:41 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:41 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 4.3s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:43,563]\u001b[0m Trial 10 finished with value: 15.54082036020387 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.09438237643453995, 'model.changepoint_prior_scale': 0.0011377699572461288, 'model.changepoint_range': 0.9394460532541744, 'model.holidays_prior_scale': 0.012110667473884363}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:03:46,306]\u001b[0m Trial 11 finished with value: 8.496012495899542 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 3.135359172668107, 'model.changepoint_prior_scale': 0.008366883161270433, 'model.changepoint_range': 0.9495290414986228, 'model.holidays_prior_scale': 9.58865411541368}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:49,159]\u001b[0m Trial 12 finished with value: 8.570945798667942 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.485008514032731, 'model.changepoint_prior_scale': 0.009240014100090347, 'model.changepoint_range': 0.9174966943385707, 'model.holidays_prior_scale': 0.06008819428648827}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:03:51,989]\u001b[0m Trial 13 finished with value: 8.289554036327798 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1180857039871953, 'model.changepoint_prior_scale': 0.014581734837827305, 'model.changepoint_range': 0.9140124951835015, 'model.holidays_prior_scale': 0.08225973116107134}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.9s remaining: 0.0s\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:52 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:53 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:53 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.2s remaining: 0.0s\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:54 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.9s remaining: 0.0s\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.1s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:03:56,437]\u001b[0m Trial 14 finished with value: 10.959705083545185 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.577137518168727, 'model.changepoint_prior_scale': 0.002512626801870387, 'model.changepoint_range': 0.9141384441636171, 'model.holidays_prior_scale': 0.5091960092727943}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 20:03:59,216]\u001b[0m Trial 15 finished with value: 9.487854876515936 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.0444175248635975, 'model.changepoint_prior_scale': 0.004593596045396909, 'model.changepoint_range': 0.9299546211100173, 'model.holidays_prior_scale': 0.01228603623597264}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:03:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:02,194]\u001b[0m Trial 16 finished with value: 8.24483643492838 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.25718594296337877, 'model.changepoint_prior_scale': 0.019158682398626867, 'model.changepoint_range': 0.8960280479136292, 'model.holidays_prior_scale': 0.1179825079862232}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:02 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:04:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:05,325]\u001b[0m Trial 17 finished with value: 9.748589581222916 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4921630423066466, 'model.changepoint_prior_scale': 0.004283494659703109, 'model.changepoint_range': 0.8968120243830993, 'model.holidays_prior_scale': 0.3179690254943156}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:08,070]\u001b[0m Trial 18 finished with value: 9.015221004091009 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.3873533715080923, 'model.changepoint_prior_scale': 0.010122316277341534, 'model.changepoint_range': 0.948767424431394, 'model.holidays_prior_scale': 0.03562619467598291}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:10,934]\u001b[0m Trial 19 finished with value: 9.932293397937324 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.88696757102777, 'model.changepoint_prior_scale': 0.05754500424323504, 'model.changepoint_range': 0.9311693440482074, 'model.holidays_prior_scale': 1.597117189891481}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:13,875]\u001b[0m Trial 20 finished with value: 12.427877855710065 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.11242911044550274, 'model.changepoint_prior_scale': 0.16980448326016653, 'model.changepoint_range': 0.8977070241794431, 'model.holidays_prior_scale': 0.313387698719199}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:04:16,700]\u001b[0m Trial 21 finished with value: 8.276144360377296 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.289577509170919, 'model.changepoint_prior_scale': 0.019917997027858073, 'model.changepoint_range': 0.8945083981521544, 'model.holidays_prior_scale': 0.10250035750676761}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:19,479]\u001b[0m Trial 22 finished with value: 8.316974362726546 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.18101974930962766, 'model.changepoint_prior_scale': 0.015583534260546327, 'model.changepoint_range': 0.9246011433111482, 'model.holidays_prior_scale': 0.022503921642312495}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:22,355]\u001b[0m Trial 23 finished with value: 8.76901578316967 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4575609439345704, 'model.changepoint_prior_scale': 0.035909389329124075, 'model.changepoint_range': 0.9013317867257039, 'model.holidays_prior_scale': 0.13009487568004197}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:25,094]\u001b[0m Trial 24 finished with value: 8.317275731943258 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05011126801375731, 'model.changepoint_prior_scale': 0.007538556696131807, 'model.changepoint_range': 0.884079560022438, 'model.holidays_prior_scale': 0.037002356772718924}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:27,838]\u001b[0m Trial 25 finished with value: 9.79228018771984 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.010137573258203946, 'model.changepoint_prior_scale': 0.019919822299523944, 'model.changepoint_range': 0.9368034811702408, 'model.holidays_prior_scale': 0.31978362730063364}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:27 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:27 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:30,635]\u001b[0m Trial 26 finished with value: 8.739141962733079 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.4903492101460485, 'model.changepoint_prior_scale': 0.012620582036596368, 'model.changepoint_range': 0.9144369729127115, 'model.holidays_prior_scale': 1.1840082424882457}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.1s remaining: 0.0s\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.3s remaining: 0.0s\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:34,785]\u001b[0m Trial 27 finished with value: 11.325797181724608 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.06459233578099609, 'model.changepoint_prior_scale': 0.002849012024866838, 'model.changepoint_range': 0.9070352208571381, 'model.holidays_prior_scale': 0.18760645672602935}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:37,588]\u001b[0m Trial 28 finished with value: 8.993814110432519 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.32358475840941575, 'model.changepoint_prior_scale': 0.005849944932439751, 'model.changepoint_range': 0.8888629632026186, 'model.holidays_prior_scale': 0.020444671438310816}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:40,848]\u001b[0m Trial 29 finished with value: 8.351580873702844 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.680789798100525, 'model.changepoint_prior_scale': 0.027128673584239187, 'model.changepoint_range': 0.8484921165713792, 'model.holidays_prior_scale': 0.6817019436388033}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 20:04:43,679]\u001b[0m Trial 30 finished with value: 9.087162942515583 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.162458610896737, 'model.changepoint_prior_scale': 0.04325462323374721, 'model.changepoint_range': 0.9404978131616304, 'model.holidays_prior_scale': 0.06754173488394095}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:46,491]\u001b[0m Trial 31 finished with value: 8.277909668644142 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3443906480616571, 'model.changepoint_prior_scale': 0.021134301519640106, 'model.changepoint_range': 0.8896701980367472, 'model.holidays_prior_scale': 0.10846220402108306}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:49,293]\u001b[0m Trial 32 finished with value: 8.317537971566196 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23620133398468296, 'model.changepoint_prior_scale': 0.023864869392679268, 'model.changepoint_range': 0.9251420557101491, 'model.holidays_prior_scale': 0.12167613453212367}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:52,298]\u001b[0m Trial 33 finished with value: 11.135903444173165 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6181806902901104, 'model.changepoint_prior_scale': 0.10370507633531423, 'model.changepoint_range': 0.9057843569681814, 'model.holidays_prior_scale': 0.04445081370774012}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:04:55,049]\u001b[0m Trial 34 finished with value: 8.404685988387335 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.0312587334914819, 'model.changepoint_prior_scale': 0.013433586733952202, 'model.changepoint_range': 0.8852867962001704, 'model.holidays_prior_scale': 0.5152422440517757}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:04:57,845]\u001b[0m Trial 35 finished with value: 8.231006424882509 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.4245078768211772, 'model.changepoint_prior_scale': 0.019363495655721118, 'model.changepoint_range': 0.8635497890532895, 'model.holidays_prior_scale': 4.295211516780804}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:04:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:04:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:00,705]\u001b[0m Trial 36 finished with value: 9.182739997426626 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.158139732592527, 'model.changepoint_prior_scale': 0.044678748840564234, 'model.changepoint_range': 0.8619805757750548, 'model.holidays_prior_scale': 3.6922193112039334}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:03,547]\u001b[0m Trial 37 finished with value: 8.60517015185107 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 8.941497598917334, 'model.changepoint_prior_scale': 0.00714222399101993, 'model.changepoint_range': 0.8338448823315145, 'model.holidays_prior_scale': 5.21841466962622}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.5s remaining: 0.0s\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:06,788]\u001b[0m Trial 38 finished with value: 13.683200528065061 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.6639831204202418, 'model.changepoint_prior_scale': 0.3137530099627551, 'model.changepoint_range': 0.8772138569362108, 'model.holidays_prior_scale': 2.4499145838012084}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:07 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:05:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:05:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.1s remaining: 0.0s\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.4s remaining: 0.0s\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:10,857]\u001b[0m Trial 39 finished with value: 9.698939691587189 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.8957624548034007, 'model.changepoint_prior_scale': 0.0029427883704696346, 'model.changepoint_range': 0.8434319925808308, 'model.holidays_prior_scale': 9.343531823802445}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:10 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:13,802]\u001b[0m Trial 40 finished with value: 10.778217668335966 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 5.921332611100782, 'model.changepoint_prior_scale': 0.09601588664446753, 'model.changepoint_range': 0.8233471644799434, 'model.holidays_prior_scale': 1.0836852131471952}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:13 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:16,558]\u001b[0m Trial 41 finished with value: 8.205141145028133 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.24241268242501487, 'model.changepoint_prior_scale': 0.019555604962594272, 'model.changepoint_range': 0.8630894701929401, 'model.holidays_prior_scale': 0.23928566625157363}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:05:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:19,364]\u001b[0m Trial 42 finished with value: 8.502544073886245 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.4561041586862289, 'model.changepoint_prior_scale': 0.02910534601026217, 'model.changepoint_range': 0.8616819130087252, 'model.holidays_prior_scale': 0.18499262688993692}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.7s remaining: 0.0s\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.3s remaining: 0.0s\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.6s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:22,376]\u001b[0m Trial 43 finished with value: 8.285486548324613 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.17805765403120694, 'model.changepoint_prior_scale': 0.010959374795642386, 'model.changepoint_range': 0.8711355992764817, 'model.holidays_prior_scale': 0.48182681375233927}. Best is trial 8 with value: 8.196662721111094.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:25,194]\u001b[0m Trial 44 finished with value: 8.169561881754744 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.107661577800248, 'model.changepoint_prior_scale': 0.01637037740042306, 'model.changepoint_range': 0.8556450793506457, 'model.holidays_prior_scale': 0.26129725570229745}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:27,923]\u001b[0m Trial 45 finished with value: 8.276884417845043 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.2949215185093266, 'model.changepoint_prior_scale': 0.016165998211483065, 'model.changepoint_range': 0.856254522101916, 'model.holidays_prior_scale': 0.23387757046655638}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:30,697]\u001b[0m Trial 46 finished with value: 8.6441208692796 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.1714085950393693, 'model.changepoint_prior_scale': 0.038005894377207666, 'model.changepoint_range': 0.8385951008489191, 'model.holidays_prior_scale': 6.390528966170958}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 20:05:33,490]\u001b[0m Trial 47 finished with value: 8.588091914828551 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.7959087678726129, 'model.changepoint_prior_scale': 0.010328001893893811, 'model.changepoint_range': 0.8516658466101357, 'model.holidays_prior_scale': 1.921485415487998}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:36,284]\u001b[0m Trial 48 finished with value: 8.585323709870188 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 3.0083372283770564, 'model.changepoint_prior_scale': 0.006266908917193176, 'model.changepoint_range': 0.8201236897552114, 'model.holidays_prior_scale': 0.7252285525240232}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:39,130]\u001b[0m Trial 49 finished with value: 9.856726379979703 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 2.2005007496094287, 'model.changepoint_prior_scale': 0.05721293316717175, 'model.changepoint_range': 0.8657155992889197, 'model.holidays_prior_scale': 0.016664083606939183}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:41,853]\u001b[0m Trial 50 finished with value: 8.27211415448512 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 1.8199107423368297, 'model.changepoint_prior_scale': 0.026887774683604686, 'model.changepoint_range': 0.8579539262779903, 'model.holidays_prior_scale': 3.3735393701647682}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:44,667]\u001b[0m Trial 51 finished with value: 8.318783091542004 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.6240628773764376, 'model.changepoint_prior_scale': 0.016062934152807903, 'model.changepoint_range': 0.8731436150761462, 'model.holidays_prior_scale': 0.42558113044931717}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:47,460]\u001b[0m Trial 52 finished with value: 8.254043076809563 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 1.0694651288026338, 'model.changepoint_prior_scale': 0.018801533019922993, 'model.changepoint_range': 0.8805065487789467, 'model.holidays_prior_scale': 0.24641898125451217}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:50,247]\u001b[0m Trial 53 finished with value: 8.350400610138372 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.40028266724123723, 'model.changepoint_prior_scale': 0.008768419616497809, 'model.changepoint_range': 0.865691171367229, 'model.holidays_prior_scale': 0.1454299931206766}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:50 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:53,031]\u001b[0m Trial 54 finished with value: 8.214631834178213 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.23355326325602058, 'model.changepoint_prior_scale': 0.010867870854430308, 'model.changepoint_range': 0.8479823415605791, 'model.holidays_prior_scale': 0.010842392747643273}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:53 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:05:55,924]\u001b[0m Trial 55 finished with value: 8.213716079704382 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.084043771644095, 'model.changepoint_prior_scale': 0.011879346006551116, 'model.changepoint_range': 0.8461291339025108, 'model.holidays_prior_scale': 0.011224225036563793}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:56 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.2s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:05:59,113]\u001b[0m Trial 56 finished with value: 9.37972418273795 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.07077027198418605, 'model.changepoint_prior_scale': 0.005195202827657674, 'model.changepoint_range': 0.8439647076131337, 'model.holidays_prior_scale': 0.010515587477379943}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:05:59 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:05:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:00 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:00 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.8s remaining: 0.0s\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 2.1s remaining: 0.0s\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 2.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:06:02,845]\u001b[0m Trial 57 finished with value: 9.849158047034939 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.08305969326690772, 'model.changepoint_prior_scale': 0.0036440051218635293, 'model.changepoint_range': 0.8284582618998997, 'model.holidays_prior_scale': 0.014593586615960899}. Best is trial 44 with value: 8.169561881754744.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:04 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:05,697]\u001b[0m Trial 58 finished with value: 8.16196897822533 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12259309025792037, 'model.changepoint_prior_scale': 0.011609952755521385, 'model.changepoint_range': 0.8498871660623711, 'model.holidays_prior_scale': 0.02658287844224521}. Best is trial 58 with value: 8.16196897822533.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:07 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:08,461]\u001b[0m Trial 59 finished with value: 8.154336318074494 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12678355351947487, 'model.changepoint_prior_scale': 0.013000914266793815, 'model.changepoint_range': 0.9449549550822683, 'model.holidays_prior_scale': 0.026176067529070167}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:06:11,193]\u001b[0m Trial 60 finished with value: 8.970640480862114 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.12164668076469838, 'model.changepoint_prior_scale': 0.008238372064875503, 'model.changepoint_range': 0.9463185123177245, 'model.holidays_prior_scale': 0.07927367237417947}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:14,015]\u001b[0m Trial 61 finished with value: 8.393781726277426 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.13459263223201262, 'model.changepoint_prior_scale': 0.013271943156016777, 'model.changepoint_range': 0.9407407864165296, 'model.holidays_prior_scale': 0.026524099047770176}. Best is trial 59 with value: 8.154336318074494.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:17,055]\u001b[0m Trial 62 finished with value: 8.094489463313986 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05192608190806342, 'model.changepoint_prior_scale': 0.011727100251702751, 'model.changepoint_range': 0.9305664901294626, 'model.holidays_prior_scale': 0.032536271862643615}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:19,881]\u001b[0m Trial 63 finished with value: 8.720502850759816 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.021653743959094245, 'model.changepoint_prior_scale': 0.01564446661606347, 'model.changepoint_range': 0.9207777102135881, 'model.holidays_prior_scale': 0.02795149643258978}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:20 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:21 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:21 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 2.8s remaining: 0.0s\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:22 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 3.3s remaining: 0.0s\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:23 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 3.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:25,332]\u001b[0m Trial 64 finished with value: 12.871284302892954 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.04339044232470857, 'model.changepoint_prior_scale': 0.00165104133214865, 'model.changepoint_range': 0.9305092514225444, 'model.holidays_prior_scale': 0.04803914574514487}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:28,190]\u001b[0m Trial 65 finished with value: 8.239179921072695 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.05821026033051738, 'model.changepoint_prior_scale': 0.023035024353236042, 'model.changepoint_range': 0.9352175499815899, 'model.holidays_prior_scale': 0.03554096028588727}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:30,938]\u001b[0m Trial 66 finished with value: 8.773060108432237 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.033298000850094135, 'model.changepoint_prior_scale': 0.007028008988583828, 'model.changepoint_range': 0.9436740189732639, 'model.holidays_prior_scale': 0.01478909662884603}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.0s remaining: 0.0s\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:33,946]\u001b[0m Trial 67 finished with value: 8.458228269134171 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.10177276910235537, 'model.changepoint_prior_scale': 0.008800844963836721, 'model.changepoint_range': 0.9350482633784252, 'model.holidays_prior_scale': 0.017941951149325785}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:36,810]\u001b[0m Trial 68 finished with value: 8.405310132622015 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.19433602933870733, 'model.changepoint_prior_scale': 0.012887039286328585, 'model.changepoint_range': 0.9494365193012152, 'model.holidays_prior_scale': 0.03018298890210418}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:06:39,650]\u001b[0m Trial 69 finished with value: 8.574858942288069 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.14155628089831707, 'model.changepoint_prior_scale': 0.03248189453986024, 'model.changepoint_range': 0.9268618227558492, 'model.holidays_prior_scale': 0.06001572285310379}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:39 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 1.0s remaining: 0.0s\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.3s remaining: 0.0s\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.6s remaining: 0.0s\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:41 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:06:42,826]\u001b[0m Trial 70 finished with value: 8.14799921903954 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.28571241414905296, 'model.changepoint_prior_scale': 0.016987800673851312, 'model.changepoint_range': 0.9423178473406773, 'model.holidays_prior_scale': 0.02098291487711905}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:44 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:45,665]\u001b[0m Trial 71 finished with value: 8.22502181653449 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.21637619802694957, 'model.changepoint_prior_scale': 0.016447434821886285, 'model.changepoint_range': 0.9450333238273869, 'model.holidays_prior_scale': 0.02431339182482315}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:45 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:46 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:47 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:48,516]\u001b[0m Trial 72 finished with value: 8.281245310698745 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2698479814719883, 'model.changepoint_prior_scale': 0.01037985468742182, 'model.changepoint_range': 0.9374824788589637, 'model.holidays_prior_scale': 0.38144080317099094}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:48 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:49 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:50 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:06:51,266]\u001b[0m Trial 73 finished with value: 8.298215868860188 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3210810556951625, 'model.changepoint_prior_scale': 0.024110522876911997, 'model.changepoint_range': 0.9423483250116474, 'model.holidays_prior_scale': 0.040930808019114216}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:51 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:52 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:54,125]\u001b[0m Trial 74 finished with value: 8.32152492646297 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.5164413239934007, 'model.changepoint_prior_scale': 0.013313925016906553, 'model.changepoint_range': 0.9193056108578579, 'model.holidays_prior_scale': 0.021482940979175708}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:54 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:55 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-12 20:06:56,968]\u001b[0m Trial 75 finished with value: 9.425540534383101 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.3721109486438703, 'model.changepoint_prior_scale': 0.005769511468334412, 'model.changepoint_range': 0.9296986005897715, 'model.holidays_prior_scale': 0.03216559750503291}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:57 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:58 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:06:59,769]\u001b[0m Trial 76 finished with value: 8.198590317947604 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1539206740983893, 'model.changepoint_prior_scale': 0.01783182549053658, 'model.changepoint_range': 0.9339391643197992, 'model.holidays_prior_scale': 0.01914137757138301}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:06:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:06:59 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:06:59 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:00 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:01 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:02,495]\u001b[0m Trial 77 finished with value: 8.27982137213161 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.1502534652827288, 'model.changepoint_prior_scale': 0.017251465161007316, 'model.changepoint_range': 0.9347408626197787, 'model.holidays_prior_scale': 0.01870946551450906}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:02 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:03 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:05,300]\u001b[0m Trial 78 finished with value: 8.790402857625647 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.10887380073177952, 'model.changepoint_prior_scale': 0.009777398115410783, 'model.changepoint_range': 0.9238094212637779, 'model.holidays_prior_scale': 0.014969713112545281}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:05 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:06 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:08,096]\u001b[0m Trial 79 finished with value: 9.13369233640443 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.041636105362933946, 'model.changepoint_prior_scale': 0.007006566070069598, 'model.changepoint_range': 0.9120716097513982, 'model.holidays_prior_scale': 0.05194415201756469}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:08 - cmdstanpy - ERROR - Chain [1] error: error during processing Stale NFS file handle\n", - "Optimization terminated abnormally. Falling back to Newton.\n", - "20:07:08 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.4s remaining: 0.0s\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:09 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.7s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:11,123]\u001b[0m Trial 80 finished with value: 9.719306221792504 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.08669545933338012, 'model.changepoint_prior_scale': 0.004029883071239181, 'model.changepoint_range': 0.9496439628237515, 'model.holidays_prior_scale': 0.012683542479718465}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:11 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:12 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:13,839]\u001b[0m Trial 81 finished with value: 8.288200780394902 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 6.7793480660341165, 'model.changepoint_prior_scale': 0.022895249579286188, 'model.changepoint_range': 0.9395633660281012, 'model.holidays_prior_scale': 0.023205730229797467}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:13 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:14 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:15 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:16,686]\u001b[0m Trial 82 finished with value: 8.225241060846496 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2894975019654516, 'model.changepoint_prior_scale': 0.0142995157251417, 'model.changepoint_range': 0.9318673503085327, 'model.holidays_prior_scale': 0.2718931040143506}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:16 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:17 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:18 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.0s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:19,626]\u001b[0m Trial 83 finished with value: 8.321826384323362 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.16609393995172164, 'model.changepoint_prior_scale': 0.018193647164426632, 'model.changepoint_range': 0.8542563801665379, 'model.holidays_prior_scale': 0.14589719788771435}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:19 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:20 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:21 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:21 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:22,388]\u001b[0m Trial 84 finished with value: 8.536522217845778 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 4.464477183611315, 'model.changepoint_prior_scale': 0.02867725672572329, 'model.changepoint_range': 0.9459735586243626, 'model.holidays_prior_scale': 0.03930794638707253}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:22 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:23 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:25,126]\u001b[0m Trial 85 finished with value: 8.494151472788404 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.40133103691811794, 'model.changepoint_prior_scale': 0.01168385278170105, 'model.changepoint_range': 0.8082255279727544, 'model.holidays_prior_scale': 0.08187850923791175}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:25 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:26 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:27,927]\u001b[0m Trial 86 finished with value: 8.18984842211884 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.2110377755082444, 'model.changepoint_prior_scale': 0.02131255528295946, 'model.changepoint_range': 0.8519677346170985, 'model.holidays_prior_scale': 0.020863885383988173}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.9s remaining: 0.0s\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:28 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:29 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:30,767]\u001b[0m Trial 87 finished with value: 9.083841820476774 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.21282603688766435, 'model.changepoint_prior_scale': 0.044449320557503745, 'model.changepoint_range': 0.8371736925576855, 'model.holidays_prior_scale': 0.020859967474744178}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:30 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:30 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:31 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.2s remaining: 0.0s\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:32 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:33,568]\u001b[0m Trial 88 finished with value: 8.350067915714869 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.07254751378153056, 'model.changepoint_prior_scale': 0.014356887992021219, 'model.changepoint_range': 0.8507184775424517, 'model.holidays_prior_scale': 0.02839633925266624}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:33 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.6s remaining: 0.0s\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:34 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:35 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:35 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.9s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:36,540]\u001b[0m Trial 89 finished with value: 8.788245042708848 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.015070093057590404, 'model.changepoint_prior_scale': 0.03294117389415037, 'model.changepoint_range': 0.8588807175147999, 'model.holidays_prior_scale': 0.013197486915857147}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:36 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:37 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:38 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:38 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.5s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.7s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:39,418]\u001b[0m Trial 90 finished with value: 8.333916895137973 and parameters: {'model.seasonality_mode': 'additive', 'model.seasonality_prior_scale': 0.18393777928934762, 'model.changepoint_prior_scale': 0.02553180564688982, 'model.changepoint_range': 0.9275870285877013, 'model.holidays_prior_scale': 0.032347885131941166}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:39 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:40 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.2s finished\n", - "\u001b[32m[I 2023-06-12 20:07:42,176]\u001b[0m Trial 91 finished with value: 8.25103304340093 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.5459807393733146, 'model.changepoint_prior_scale': 0.020156632224963646, 'model.changepoint_range': 0.8695640242836883, 'model.holidays_prior_scale': 0.017356939738079048}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.3s remaining: 0.0s\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.5s remaining: 0.0s\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:42 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.8s remaining: 0.0s\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 1.1s remaining: 0.0s\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] start processing\n", - "20:07:43 - cmdstanpy - INFO - Chain [1] done processing\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.4s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.5s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.6s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.8s finished\n", - "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n", - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 0.0s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 0.1s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 0.2s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s remaining: 0.0s\n", - "[Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 0.3s finished\n", - "\u001b[32m[I 2023-06-12 20:07:44,932]\u001b[0m Trial 92 finished with value: 8.401748208957802 and parameters: {'model.seasonality_mode': 'multiplicative', 'model.seasonality_prior_scale': 0.12778897473159434, 'model.changepoint_prior_scale': 0.011709213358841397, 'model.changepoint_range': 0.8423318535040876, 'model.holidays_prior_scale': 0.36054039365608503}. Best is trial 62 with value: 8.094489463313986.\u001b[0m\n" - ] - }, - { - "data": { - "text/plain": [ - "Pipeline(model = SeasonalMovingAverageModel(window = 4, seasonality = 7, ), transforms = [], horizon = 30, )" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ - "auto.fit(ts=ts, tune_size=3, n_trials=300, gc_after_trial=True)" + "best_tuning_pipeline = auto.fit(\n", + " ts=ts, tune_size=3, n_trials=100, optuna_params=dict(gc_after_trial=True, catch=(Exception,))\n", + ")" ] }, { @@ -11934,7 +3073,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "95c854eb", "metadata": {}, "outputs": [ @@ -11968,128 +3107,128 @@ " \n", " \n", " \n", - " 299\n", - " 9c3494ea22747c980a29daf93945de23\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.366414\n", + " 82\n", + " 419fc80cf634ba0888c4f899f666ad45\n", + " Pipeline(model = HoltWintersModel(trend = 'mul...\n", + " 4.769471\n", " TrialState.COMPLETE\n", - " tuning/7025a0f724bb3c9c9772da2d59e0e100\n", + " tuning/8f640faabcac0552153ca19337179f3b\n", " \n", " \n", - " 292\n", - " 571b38e9ed78660ea2f2fa1460cb6aa2\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.446960\n", + " 63\n", + " 731ccb72a473bec81789b7f186001ddd\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 4.899715\n", " TrialState.COMPLETE\n", - " tuning/7025a0f724bb3c9c9772da2d59e0e100\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 252\n", - " 7025a0f724bb3c9c9772da2d59e0e100\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.709733\n", + " 71\n", + " 9c302769456b4adb9143f11c582f7264\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 4.927197\n", " TrialState.COMPLETE\n", - " tuning/7025a0f724bb3c9c9772da2d59e0e100\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 11\n", - " 7025a0f724bb3c9c9772da2d59e0e100\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.709733\n", + " 62\n", + " 182c748af70287ab3a12bf32c03320f5\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 4.941247\n", " TrialState.COMPLETE\n", - " pool\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 210\n", - " a7799f3fce2b5f064ce25b2193a11364\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 7.714418\n", + " 70\n", + " 4f426335c0eb00d847d9dd1e0a421415\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 4.977773\n", " TrialState.COMPLETE\n", - " tuning/7025a0f724bb3c9c9772da2d59e0e100\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 5\n", - " a8ae0feeb31c5172559ca1c22ca8c56c\n", + " 72\n", + " 2cafd0750f191e7ab2d4160da50a7c64\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", - " 7.724464\n", + " 5.056993\n", " TrialState.COMPLETE\n", - " pool\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 158\n", - " e47171e4d1a4fef153f527323ab3549c\n", + " 15\n", + " af8088ac0abfde46e93a8dbb407a2117\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", - " 7.988004\n", + " 5.057438\n", " TrialState.COMPLETE\n", - " tuning/a8ae0feeb31c5172559ca1c22ca8c56c\n", + " pool\n", " \n", " \n", - " 245\n", - " 383ebc5b794269a1bea596a0b98e7233\n", - " Pipeline(model = SeasonalMovingAverageModel(wi...\n", - " 8.012636\n", + " 49\n", + " 382825866425cac211691205a9537c95\n", + " Pipeline(model = CatBoostPerSegmentModel(itera...\n", + " 5.081609\n", " TrialState.COMPLETE\n", - " tuning/7025a0f724bb3c9c9772da2d59e0e100\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 178\n", - " de60fa241469d0de2ecc60196b4a35e1\n", + " 69\n", + " c2a8d498fe35873d060e173e1af042d5\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", - " 8.014563\n", + " 5.117583\n", " TrialState.COMPLETE\n", - " tuning/a8ae0feeb31c5172559ca1c22ca8c56c\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 166\n", - " bd51022557b9fd3c129d9ccfa30b02ed\n", + " 65\n", + " 035f8e28180bc7491a30b3d0d67060c9\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", - " 8.030651\n", + " 5.135956\n", " TrialState.COMPLETE\n", - " tuning/a8ae0feeb31c5172559ca1c22ca8c56c\n", + " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", "\n", "" ], "text/plain": [ - " hash \\\n", - "299 9c3494ea22747c980a29daf93945de23 \n", - "292 571b38e9ed78660ea2f2fa1460cb6aa2 \n", - "252 7025a0f724bb3c9c9772da2d59e0e100 \n", - "11 7025a0f724bb3c9c9772da2d59e0e100 \n", - "210 a7799f3fce2b5f064ce25b2193a11364 \n", - "5 a8ae0feeb31c5172559ca1c22ca8c56c \n", - "158 e47171e4d1a4fef153f527323ab3549c \n", - "245 383ebc5b794269a1bea596a0b98e7233 \n", - "178 de60fa241469d0de2ecc60196b4a35e1 \n", - "166 bd51022557b9fd3c129d9ccfa30b02ed \n", + " hash \\\n", + "82 419fc80cf634ba0888c4f899f666ad45 \n", + "63 731ccb72a473bec81789b7f186001ddd \n", + "71 9c302769456b4adb9143f11c582f7264 \n", + "62 182c748af70287ab3a12bf32c03320f5 \n", + "70 4f426335c0eb00d847d9dd1e0a421415 \n", + "72 2cafd0750f191e7ab2d4160da50a7c64 \n", + "15 af8088ac0abfde46e93a8dbb407a2117 \n", + "49 382825866425cac211691205a9537c95 \n", + "69 c2a8d498fe35873d060e173e1af042d5 \n", + "65 035f8e28180bc7491a30b3d0d67060c9 \n", "\n", - " pipeline SMAPE_mean \\\n", - "299 Pipeline(model = SeasonalMovingAverageModel(wi... 7.366414 \n", - "292 Pipeline(model = SeasonalMovingAverageModel(wi... 7.446960 \n", - "252 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", - "11 Pipeline(model = SeasonalMovingAverageModel(wi... 7.709733 \n", - "210 Pipeline(model = SeasonalMovingAverageModel(wi... 7.714418 \n", - "5 Pipeline(model = CatBoostPerSegmentModel(itera... 7.724464 \n", - "158 Pipeline(model = CatBoostPerSegmentModel(itera... 7.988004 \n", - "245 Pipeline(model = SeasonalMovingAverageModel(wi... 8.012636 \n", - "178 Pipeline(model = CatBoostPerSegmentModel(itera... 8.014563 \n", - "166 Pipeline(model = CatBoostPerSegmentModel(itera... 8.030651 \n", + " pipeline SMAPE_mean \\\n", + "82 Pipeline(model = HoltWintersModel(trend = 'mul... 4.769471 \n", + "63 Pipeline(model = CatBoostPerSegmentModel(itera... 4.899715 \n", + "71 Pipeline(model = CatBoostPerSegmentModel(itera... 4.927197 \n", + "62 Pipeline(model = CatBoostPerSegmentModel(itera... 4.941247 \n", + "70 Pipeline(model = CatBoostPerSegmentModel(itera... 4.977773 \n", + "72 Pipeline(model = CatBoostPerSegmentModel(itera... 5.056993 \n", + "15 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", + "49 Pipeline(model = CatBoostPerSegmentModel(itera... 5.081609 \n", + "69 Pipeline(model = CatBoostPerSegmentModel(itera... 5.117583 \n", + "65 Pipeline(model = CatBoostPerSegmentModel(itera... 5.135956 \n", "\n", - " state study \n", - "299 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", - "292 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", - "252 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", - "11 TrialState.COMPLETE pool \n", - "210 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", - "5 TrialState.COMPLETE pool \n", - "158 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c \n", - "245 TrialState.COMPLETE tuning/7025a0f724bb3c9c9772da2d59e0e100 \n", - "178 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c \n", - "166 TrialState.COMPLETE tuning/a8ae0feeb31c5172559ca1c22ca8c56c " + " state study \n", + "82 TrialState.COMPLETE tuning/8f640faabcac0552153ca19337179f3b \n", + "63 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "71 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "62 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "70 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "72 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "15 TrialState.COMPLETE pool \n", + "49 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "69 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "65 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 " ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -12102,21 +3241,21 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "640269ba", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[Pipeline(model = SeasonalMovingAverageModel(window = 4, seasonality = 7, ), transforms = [], horizon = 30, ),\n", - " Pipeline(model = SeasonalMovingAverageModel(window = 5, seasonality = 7, ), transforms = [], horizon = 30, ),\n", - " Pipeline(model = SeasonalMovingAverageModel(window = 3, seasonality = 7, ), transforms = (), horizon = 30, ),\n", - " Pipeline(model = SeasonalMovingAverageModel(window = 6, seasonality = 7, ), transforms = [], horizon = 30, ),\n", - " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = None, learning_rate = None, logging_level = 'Silent', l2_leaf_reg = None, thread_count = None, ), transforms = [LagTransform(in_column = 'target', lags = [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = True, day_number_in_year = False, week_number_in_month = False, week_number_in_year = True, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = (), special_days_in_month = (), out_column = None, )], horizon = 30, )]" + "[Pipeline(model = HoltWintersModel(trend = 'mul', damped_trend = False, seasonal = 'mul', seasonal_periods = None, initialization_method = 'estimated', initial_level = None, initial_trend = None, initial_seasonal = None, use_boxcox = True, bounds = None, dates = None, freq = None, missing = 'none', smoothing_level = None, smoothing_trend = None, smoothing_seasonal = None, damping_trend = None, ), transforms = [], horizon = 14, ),\n", + " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = 9, learning_rate = 0.0435214895575014, logging_level = 'Silent', l2_leaf_reg = 1.588756097852857, thread_count = None, random_strength = 0.0001602176189749599, ), transforms = [LagTransform(in_column = 'target', lags = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = False, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = [], special_days_in_month = [], out_column = None, )], horizon = 14, ),\n", + " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = 10, learning_rate = 0.066387199945575, logging_level = 'Silent', l2_leaf_reg = 3.8476771557403033, thread_count = None, random_strength = 2.6976801196146113e-05, ), transforms = [LagTransform(in_column = 'target', lags = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = False, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = [], special_days_in_month = [], out_column = None, )], horizon = 14, ),\n", + " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = 8, learning_rate = 0.1368955392889537, logging_level = 'Silent', l2_leaf_reg = 1.8121398100968207, thread_count = None, random_strength = 1.0292981436693363e-05, ), transforms = [LagTransform(in_column = 'target', lags = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = True, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = [], special_days_in_month = [], out_column = None, )], horizon = 14, ),\n", + " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = 10, learning_rate = 0.04930475651736648, logging_level = 'Silent', l2_leaf_reg = 1.2938317623739193, thread_count = None, random_strength = 0.00020141074677370956, ), transforms = [LagTransform(in_column = 'target', lags = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = False, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = [], special_days_in_month = [], out_column = None, )], horizon = 14, )]" ] }, - "execution_count": 26, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -12127,10 +3266,54 @@ }, { "cell_type": "markdown", - "id": "73c05cc9", + "id": "7451f135", + "metadata": {}, + "source": [ + "If we look at `study` column we will see that best trial from tuning stage is better then best trial from pool stage. It means, that tuning stage was successful and improved the final result. \n", + "\n", + "Let's compare best pipeline on pool and tuning stages on hold-out part of initial `ts`." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "ce8953ab", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "best_pool_metrics, _, _ = best_pool_pipeline.backtest(ts=full_ts, metrics=[SMAPE()], n_folds=5)\n", + "best_tuning_metrics, _, _ = best_tuning_pipeline.backtest(ts=full_ts, metrics=[SMAPE()], n_folds=5)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "7a42cc84", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best pool SMAPE: 8.262\n", + "Best tuning SMAPE: 8.188\n" + ] + } + ], + "source": [ + "best_pool_smape = best_pool_metrics[\"SMAPE\"].mean()\n", + "best_tuning_smape = best_tuning_metrics[\"SMAPE\"].mean()\n", + "print(f\"Best pool SMAPE: {best_pool_smape:.3f}\")\n", + "print(f\"Best tuning SMAPE: {best_tuning_smape:.3f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "3f41537f", "metadata": {}, "source": [ - "As we can see, tuning improved quality compared to the pool stage." + "As we can see, the results are slightly better after the tuning stage, but it can be statistically insignificant. For your datasets the results could be different." ] }, { @@ -12148,7 +3331,7 @@ "source": [ "In this notebook we discussed how AutoML works in ETNA library and how to use it. There are two supported scenarios:\n", "- Tuning your existing pipeline;\n", - "- Automatically find the pipeline for your forecasting task." + "- Automatic search of the pipeline for your forecasting task." ] } ], diff --git a/examples/etna-auto.db b/examples/etna-auto.db deleted file mode 100644 index 5f7eacd46d0ad1c69e1e7c1e1adcc0ec743d346e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486848 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 X&M^q-JUSBI)BPQlrBK+3)p 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¥BqJf1ka^V^-1 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%0AIHZm;p)#ro3 z_1D5kb0cViZ6c;3;oXak73c2Nz{I)hoLd;^B@~zDN!TIYL}nNa4-y$DK4T}AjSM?a z`Z{J09CWe+9j{*LS}h|M!z#;R1{uOPWmQ~QS-k>m#;8^jYY>USK`nAB2Y!P>s(Lxd zel0AD5pM$Hu+&LlDIMLC{Qs}=rF)W3B)^#aX!703S0`^su1_A5T%8<9#(MwI`|aM3 z!}71e@xQ3|3@id8z0t(46W>cbn)oDH{okCZkQ?yK#KDQF#9*Q~{(G|ee=>eI7K3X1 zs`xqaL*x6#W7rLTqT&eN5PM;4Q|!#xQL$od@0ch0MDz=A=-(fG6IuOljBbdY5VfNF zL=%y}Mt&Z7n5_P9irgN#CbBVdN~9cF5%Gn868>8Fzd2>_72)f`v*9DdR(K@5bLbDD z?}R=Hzu+~YM(75z`kzZSf=TiW{tp=mz8U;X@V#X9zah8~JUw`La4OhGZi4Rx{yXr& zz?%b&z~zCn0tW?#1G@w~{$KeY_21`zlmEs3tNj=I&+#AUpYad+!|)QmO3s3Nd~fsB zd{_9+@g3$X_|jM{e(U|Z_dmUF_TJ&W(R;D?ByY*v@9ptC>G=-%4Bij_{|3+c-k)un z74wBhvK9X8_gvI~;xSFM#)R1|!Gz*cO-PrfM+HNQW~Bb?u(Zus!I*2ov=xjhE>-s( zR#0;xyRYZ1pr%)vC=StEF zYC>4|4anrR_0nG81^#Bsq^`g@`@8ykyfq~UKBxFylWyN zUv@8nlJ=0&uW^qR(3CKv0HWNN6u(QCXiWw_ujpK@ONjlTeWAtg3OuU#UE?mx)WFx5 zDMGrh*>W2U+`w0sxe58cs+gAcqig{mR*G(4L&8V2gt|%cxdT7dHR=nFMi}_zGDS%E z3oW5>mleY4=kxR1LQAlr{s zb5s>{ypI*o0U+JikxTPYRe>$l_jD7JhsyFY@O@h*-9-Z5vLEei@W}LC*8*hvjxCe( z4lD3&*Bg-OFKSL>k?w$WnXA_k@u=rW|~+L?%$UwLb?yw za+_U5A17hfhkWl>4X|xdRRX?SDY|_P3E!h7)J;;l$S1WJ`a(yOLc-51Q-p+{))E?b zSpj{V#F$ZngrCw9>Y~lMi+o&5*t&*>?j?EkL#hRC6?38v%Wk zME7;%(x+3X0$Zy4bQ5cLk^60#Xr3a|hwVo@8$24*$5?bb5RmC!TPEinRzM#m(R~9l zeZJaK%e$bXlT|rMDQh&EMc7dBz7g3v;z>T`B-9>IypUc?&BJqpeOAz@s^^(Rt zRzM#nVH6s$+v?X{{o8b-i?K1!ndI-1j`Q>X%4s#oYH z*6t#&v}K}siq7t^AMI@Ld{cdlMYm-RnONUDoa*=c~_UP)m_`&bk?w0XJ2S{kp zROSVd?{fX6%r0`ZYXP!dCI0_YJbU&eA5Fd^c}wzq^8Y1!f6)7(-rIZ6O6;H5E&gQu z3-LE{M&IG_Jvg23^Rc^PFNhsa#{b{2cfUJYjjqH0AC5d0xi|94$kmZGku-7qpXKDe z8^Y&=vtdu@(a>GNuLs`|yp>4){elVh-X93OD6lTDe_${FFZ~brU+Q1*AL1YI{n_`B z@2$RTd?#?aUda1n?|t6w-u2!YPSkr6{{I_2mwS#x%zxN#vL*)eLeAd#IX*T%57Nv_ z;wnkaBzeCkYGN}lWKA^QdX;Mgih$fBnIk4@Vn25SD}F`+772_J*eGP7&5zf_l%8{` z*_y$Rj#*k@Dp_r5uqGz;R0~UsARUQHk}hs;vaOQ3x+Zq?bPFOYW0G=^*hKvCL{Q+o zni;N%`FwNj6?6DlP0Z$5P)^$xOa^F^kRGTFS`0J=YrG~#^DMe_ zLa}l~V!%{~$&9>o{BNc(Rukj7SuHeOm9zzmBD@RCSL83Ni3vSpNFc-({99Prv35cA z;3)Q*Ske2n0H{U0^Q21000!q>q8SQPjn%ZoapG#IRx_+qfH;_t&K zj{d}0F8XsqX)aKOfa0XU+K32bwXKQGJY!&m8UbUa%sWf27MkNss@4Nkv_iF_6*+I7 zlrOXdm`7L~3xkVdI~J{gP+Flq@tU+`+?>MSC=M-(y*S;1h*l)i9G{D?gtLRsP=t`6 z?8LbVmrXQs$tOU|yf3M0NeaHG4aFuJ7(7-Ira>`;!iKpR?~NFW=}bn|!tW3_8H7d{ zW6BRUz9^PrI+Fp0-vR%F+=qM}JXk0pwJ0XzRK~`lAHHA_8HJXGZ*3ZShZu}$5V|(e z52dcoX7R64SLqBd_9_S<;Ka?q! z;#|Q1iCw_)?G1s*~Wz{ z*72u4=GP`Aw2=RBn(oBnX5PM#HH|W^yn{=Y0lV@JE*5aktl6D+a1rR7iyUsegH2#l zEvy=M4c@_pK+>&;O9K&qVmI$#BcRb%J-UIo@D4VB%2Jhcl5yu9EVyFbc?auVu?zw( zyn}hL864DH>R186BOyn{0Yoi)*}yo1x1shY+jL84u}gVR9gTm*6D9h?d{)dH*0 z*5nGqXwlUJ&*pvym zjC9QspIBf)HMV#tFq8K#TMIT9>?~O?vG|g}>BU0?N{!BGNY=n4tAW?~lJSentG$_(be)c=F$Y zAAc@(Xl(cBFQXrizB0NkdR%m65Ji)`s^F?-BZA=o_K?Laz;78Cn}! z9r6ah5`25`1^D3$!JPw71nvuL4=e-@2@LrE?0?ArHvbF!Cz6BD=libjgTC8*XZa?* z=Xx{Vkmm=U|MJ}7S??)%B0WDu)XrbJCToLqHnTM5nQQQxtPDn%Frr{{4PKKqK`xhh zR%`H@EDCZ31MI#AugS8&rE1qTcuiIYS+i=_HF!-e6Kt@W70fkwO%@6%8?)RRye2D! zVf*bjD|?g68oVZpgubzfR6It7rBG`Po@usBDD=o60ON!4VH z)32duhFO3R7N8dD-oIp;gw0o8mh@^MwG|%bid&cOqQ<1 zwXwNZVI0V>7BOhWxngGQhB^yr6`K!hDq*aR)no}Huj+)-Xq43v>aiSHN_t_;Lb8_0 z@@OZNCc_xWW-PSd;lY)xt`nS(uf8-R@!@C_ z!pOtMC1F^@HJQstmoR!pBC!b8BiV#<;8CtPP?Kpqx5p~C8Hv?Rf9+r?-_5oub=bbMJ(D<(!I_y}Rht3Uw|149N@%DHbMw|5VNo17F`JuPn8hMEJ2f{`Uf}Z= zFz3|DdMa7Y0ep|P4o7J$w`-~gw-wwd(e#}BY3VfQ7Z{FYeLmL z!Y5%?z%WU~V7V|^vjm(o!D=4CvPq6m12s)QB(R3-A3E2#AZ(!>!(H;sw zQ>}_+TwpoOP|AZb;uEJl%{-C^lWt+`c|_7*3kw*Z1~J1lj~t-UC6GOjFiZ)hm}M-( zI1v-IDPURN+BuBNp(xBFYzAbJ&p15|H0ugQJ&YX^NG6H3C0$W&-`Z+{qIPGk_yNk2 zV?qwEWQm-^IG+KSK}si($O<0L+L`>{it=A5tf;L5+OH**0YPGP(tLwFwZSxQ;nQ&Nw6hf+GvX*jy@&)y4sdMx3KPbHNNfmQ8?U zcq%hWsyqh}B~@)f>1drP85 zbF4x8MKBcPV#Q%LcUagbYJ0nb^`6F=En~8_mw*dK&3a4YFz}a9{hpw+CR!#NT4U$0 zoUZKwc)$juAThl-BrVWmb_bKPF`^+BcU{?ttdUwDpy4)1R0PcV)`h~V+HS!5)=sLK zXnK0qnk&pn)-;Aa2|ywcu$`z0P;5ZGp;4g_1_;UPX@%P8y5Wg+Hh1>!M#53^$A_aaM`)2H8oHy|5*o$MA6De>|Y&aH< z{vrC~=$E4(j=nB>Gf@JkMGueWqI*RC7Wq-+b3_TeC-VA8BXV72K5|?nAK5DsCHvq{ z!e0vC6MlX8Md7Q$>%%7zDbOG83H=y0!pB4J3B5FQP3U~01oEMDs5kgj@LR!;1@9tC zU@>@Y@Z#WE!9#*$!DQfRY!qK3Qs7;Imj$j3%mq#f92&?3cJcqwH{y$U|LA?3vjpz( z{+ss}??&(G-Xl0mU{BBAJwJy1f1l^Qo;P@!p6jt%Tqx!W&ja%R|N1>QHK3?HtBs`^ zwE4FwdX@IXGExP8tEfJPXBGz2)9xiuaDK12ImSI!KqsFz3LpnPrRY_KBivt?DMGrx*m9fnDxH4XtPlDAtjJ3apLgI7ioDdmhJ=6A z5^BAoy`awgZE|P`T-ZfR==KeE))E>;R!}DyH|ryOVJCHy`Aw~$<~o`s-1JuUT6U4v zd+?3wwc6K+#dwqAWUZF9oV?U))#p`zIxI%PH@Ftis9vuqg57smLCtgQzK&d)I;je5 zsa~zxrF{jNUSrF|VoGFsnf++zq7OA|j^*mE)gUsx(w512hZWR3$L<@D=@qtK+RL}# zOKh3c6=Zs;`nzoz44$WGi^{YZJYSc!+&IBm^|=gdD-tibmmuEL%xet18m#6 zWkD0%pcLJ{#+8j)Lfs+cb6>B;&=;H%-n>i^65gaGH14v3n(LS`N|5kIEuk*jtjx&4 zYqf-}Ye;yVYL1y!7r9D*sjj^iANK{W1;}=dYL2Rcj`y*Gn&;Sk9l11hQWe-zU7?$p z-f|(+m9|VYPtn;{`_aw@k4&0lnK8S_WwuPtJFK8iaNd0bGF@uxMRf@EEjQaTsVm5| zMg85jcm&I;izt&xa7LH4yT}3Ra~akiBtFEw1T`M4UedV73hET+Mgc+}q`HVMu{F7$ zYHzJeh`qmkq1{EEr&^h5jYGJjmMKEIBW=0OE}{>rG3!IVBUA%y8{d>#4^@h8Uqiyf zw1m1z%IDTc7nufiBs^D3sIeWb4GGWD5*kHTP@j@y)`x^=YYFvDn{^jCT}#-yhJ&SJAEkoM|5j;^hv33_Z$(D)c zDKhE9i@L4P$aI1&ld~rv(;8bQXMq*e=OcC3giOcVGN}%szU9%jOzH}HI!687-iifx zRb52w<$}BEvUV5IN1_;8RwV9MAJQm6WXCJ|)Sl4+$+Tp}uLe?jkuYVe1+a=2df4Ml+F5A70dL zu|v8k{Rz!3l2y&I`wlCp&qwOMj$Es48J4=pgl=N(E;4D$MDrAx^x;L_)-_}rw`Fqn z1it8)Et9jr3hMKbx@$tFm9|W(L#Qq?Y|Esspr;Y_cbf(o_?7A+ibolEQvCnt^gJZ_ z|2~j>QS!{>L^1&X|AF3@_ipMvsCU=IlZgit?@Zj3I4v>GS$JQMe=vSWe1X#eW3k6# zz0vPRKTZ68ExI{+Fem%r~4}T~8F?QhBhtFd79SJ=a`bg;Iq02+Z zga$a_@6*9Ive!N%I2rhB;7gnU@UZ_aSROWT3g58b?|a<$Dc>7?*TDhE_V z-t)Z&a2CMh?5($ZF7_Pl*|+Df(OMX0u(N+s##27cWdE*9~=Z71qTS)32d? zSQl4eU7Rrk8lkMbrmL_n9+`9tBHzlzRajSk8RU1i05?}*U3@h1s!phztFSJvnkjb#dTijA~t6g>~`ah*qc-t+==f>tzt46%fkOYq|>S;tEOY$LYRqx(e&c2a?OW z8+yB4g>~fw$(m?4S7BXzAO#n&o2#%cUXYv%*u_;?7jH|AuEM&wGy2wMpRKE~zET@#v(IRt zeU7*aC+p&NDdbFx1bHqAo`K~d2Mw!Vt~6N}*NYpPQGo~$$-ZQRapz9f#S!C%W?&Hi z9&VdxV(lmyA7Jc5rQnU8Y$ zvATF*Oenk)IUR-&4+spB{T()7T|6;a9`39a?eGSW18`dA@Qq2{qLp>=$Ycx&pcuf$ zkdu@N_rUo-Wu@xkmFd^D%CL#!Q*@25fv6uLI}Fyv6*Hg_S})>t;sgRYz($g^6^82K zfDz@j7bB8^nC!kVCh`y#$W@#luPeU`Am^};R-i?TH@F>JQXH>~+eO~hiKX4ZMI_<| zN3Q)Vrt9K<$)>xp;(~#yiA!v{l&*{SB{STOk%onPo3zXM@`}2+Ui#6QovJKXE1t5yB=MOU5!G$7tspT}9-n+gFkhGS?ou5B;Z1F|4r1B%Yc=Kka}t3(|C7r?iI%Cy@2UD zh8#>Bgl>@xm4LPqEuS>P^#oYDj>f8q0~aQ*!zaZL1`&u45C@ZP)hA7aIe}E+r00_3 z!X+d0a6JZQbO|FphtM+KfXF0X8S+%FJW!8{WP7Z3n>q08?^BORd7n|Pyn@q{^{^Bd zjAAu)bc_hnRZIKSL!h(f!)T7MkA~_&iU%xRnVL!9%kZTMwnFX16u}SKwH^SJvIVlI z605K7=jw3#s=O<8mR8k$T<=@ETFo7JZ08E)g_(u*xSC5-3$ytR`3+!uLT3?w}r9ijqV`U7l6uw zat`nekY*6;H3CJKPAJocOAzbxU8`jiVg|8Z4K!m&fV1BSV!aAvzZO8I4VNI+D?tos zgq}9cAl55@i0YQ64Ks-KaxkJ4=S+Z7%plgwT%j}=Gl=z4fg+rTif3#<@C;9T^ zMDIs?Pfh$ZaYJI)_}k+L#vYDc82xMXB{2K%kDMHSf}DFhhwcpRAABgd5cpG|85r^3 z>p#KwL*Mhsh4*IfG*SAqJx^2B|LO0-n=cK~Wj!|+PFCTTtMy?j;cJJs%x+ehu#eet z#c5kMZP*=B||V(vos}_6q%{%2$2u&?Q^1CUi4L!G)VPUMT;ReAJg; zv9L}4ef{+p-n`9z)Y{HR`FF^pw%U(6sq;~x9rCCx_M=Yhd{l6UJZiK3s1rIL71$w< zy2O6en$AagcgUkIwjXtT=c9H^v$)89)N!4U+A#{;WIyWI&PVxnhypLPA9YOUqjrn} zH`L%Gca9XKkCrVN9~wqvCe+fA)SxfG0oz9`%wpXK5ECj)p_=# z4(fc=j%XGeZ$4KZ6}h=^VCSQD$Y^_x{Za>XK5573?`-=~`*%KS$F%jc>__d_`KTT9 zR%hCen%U8h+IaIB@+ewGx${vwq*a`5ztnW+lXgT?zwqYM>_?S4AGKpX)v5NQtj(D|qxqrkQHqw<}PitdmWc#{37T<4=AJLFL(+K-y*eAJGa ztxm8XmF;}gj#+T7u^+X%^HDqEt#thV13k&FB;T35mHdDEk^k@ey&vqojrjlDiT^)4 zVI_8t|0Mp|_&ega#@EI7k0)b4h5r>6?tuB zTjZF?NTetHX!uTY0UR5;HgtSwG~@|B7JOgumf)$ul|fJ7JAwZo|Nd;C5D5Bzk3Xi+R8A{SWWUy_dqS-_!F8&qsTn?0LXxURc!-w?*ID zyfX04m8NHBiFqx}mNu-Po12G_f~>&P-e5EOBI`TX>FL)V}FU4CRk!xuM`Ziq`Jm9vEqLni4x zhz*mJVPw0&nV%nOh$AN5!YETFXUpPs!+Sw3NRXQzX@~=6bP1%)b~x~G7s#O=c>74i zHodYTu9qw??X=qxtV_T!&KDegxJAq5;#fl*FInEgi9|WX*R3YJAK5rakz*mp8sdL3 zp~Qq?S0}cdXV2ir#aETtOaj2X~%DXo-d_!iio<)m67F|Bk%{4wbkLK(err>gHIZZi%?M0n+e0pqm9 z(oE!_5%KyGq^F!x;|=l1WD&^;MI{(fac_xxm?$Yy>{(+Cam=3?UJmCBpjqZ zyynXFku$+6kdV+y$qb6SijGv8nW&5JgN|fWts@B~R8)?+BCfws8n27(>)NSlTePP+XWL z&x5r9A7H+)P@2n$v++{xY|K65Tr~4saW;z6rjVO*nTp(qD&n_sL(6b$5>>>9z6Rm6LfMKrW|^uP1kBW0^`k-OGG^5>bvRRN)sF(2YRN3)Bbf@iQft+Z1e0!I)Cg&& z)~X)?Xmkmr7N}-wt@`1>OlCVPQX{oi{dulXm(*JN{J)`|bFVk?Th0LdbmF~Lz_Y;g{DJeq20+i_(bpv!4DAGe_Qa1;03`W zf|J3W0>2OZDDX(&fxw-Cx;p>wn81O=^$!GM{@?n)>Hip65MJ%Ca0cM{{v-Vv|8D*O zHi_^0KIwa>ugUp;^S-sd1ARlju=kh5|9{N;J~9B@>b*#v|F^GqZ*SD|C(lnjU-I1J zdA;XFo~t|?f<^2WJ)ZlWc8h=g^<2?_ifzgp^I_f!4XZFEyGYOIp_B^8X$Eev~a?QA^mmhJ=<1 zTFTpIhfr3qcanv}JPMVTE+$Rrd|ZG-2ySE#PDb4()5pq^|JyO7(Ypvlje~ z3ZzoIz2I+knOdCik%PZipUc<*6Z-W(?j^*2{ZYN7agP<$$s>#cqQCy2Vhvk+SCKmS zJJsG=m$>kheW4v|_!rg6OdA8AxM!Inr2D%qw;5}w(?^)~A>ZFr18kcglz@Lyif&&+ z!ar*Xb(54Xva=RLUvM_UzGaH|wEG5R3fMBK4xze;$CgQ5K_;*IyS*k2KB&5g zTGR%=pv&4_Gth$IU(cd@tMb+L~muP@r zvM;o|$k$XWGj~A<_pN1$knWqd+-4WiCxx2zA>TJt1GI~50l%UY-M)r|U)2)oCMg5V zFSHo?f}@KBf4xi*5HOFofh85JOgmzy?E`9K5hhZW3L*2w$T_pG;TPB*P$n+ii(ar|X zH`OPUc3S|D>HD@!&O5B2J|(pK24wo4tryiH)NuE0TPAe{Jw2xWZpWqt?^0bv1-Av? zuFKk8Bu=d^^zT~<(^6l!h_k?^xxLVeR_-9`ReOW3-Ggr8E)QNRy7#74?$FJyuYk6KWJ7^zEvP=n`9#FI4TVbqTRwWM61^k-BPSX3!VH-LXs& z(rvfpHoJ&EDb%bF`I@Q$+C{d2i%QY$Ye-nr66z)?pZm??|39PWTRq8dCO0UQw< zias6vO!T$UEs-}U-~VXDqkR9@gpUi4hP|QhhW z_5>bNrvR)ElmiL>PyL_rzmy_EE(4C;Q{BTc zeG&){HN=mQvN776ifhIB8)=9iVYm$vCGp}U-tPQOuWE=3p>J(b8C&xk3dPx3N$4&t ziTUZN()`TaTya6j6DZZfQP;RY8(WLdXl%_tM;vtxad^On(ZhhFmEfo&k{gnMWML+F zb*4Dp5Z6Z`W1=y(%ISx269}rqsX7hULA)S^aTBZDbW@z*BB_>hd26B}&JfyxA%o=N zCBr!ObR5|d(te^IBJtx83QH%`4;yQU_amDv7*n#eLh2(&HAq+ts70I~Szf^DaYHFngvk-E z%At`K2mHZ)8E=Ra#KekHiloEHx#|#{wb1WnKqSfh{GgffW$pFLnyd3k`)bcp7iTyO7p<&S|*7)v<=!P z0?Sn<)pvtpJi3L%3t zBl#NQc*wbc@zIf&T)M5CR78^M{9r>I5UCbcS_#A#W({~p9PI{|35d8K=sWtYq?y3A z;(1CsDk(7ei0fgrRg3OB%!);lV3YcQnSxU_N|O!oIxw`mPCnwAS^DLn+#Duol-ZS= zT1`G(2UAWq4t1|u%{|cDI)7;M5YSmu5Se>8Rig7Zoo*Zqc)$juAennOX$5B1G~JAt z|Cv&{aS)i4Evx(7GtxK^%&=XLRuPZud=~#MtZEzptZ!{WO+7R7Len7*T>_lv8Odhz zGwWwJkV2toL0yz{4;uUHsi*LaQ%~`^G4)I|_T%jfS<_g}P$C1YBtR!uhy2PDjhSV@ zv?Y2495e_uI#)<;vQZXr&a9a+K+fJ{F{Ne`!80OHgU-3gAuB^p7hvSj6;G808zr!* z7FN0t-Hd~~7+)A5IUOW7)Ubf0TMt(wEpNl>0Tz}0D~vRXfJT=5I%R=V626HpdtzlNe0)(uo9+&3mO1_t5gtp+im zUq-7%NG=c?8F*y+DGfC;AVhU-LnntGaQFacDl@N?IdNnfnN|T3ojB(dT%SdxXM|_c z)2(K#G3g4WM>9e*I1_`fHJux4Ot?a6Fnl~A@4N@Gnz3q)kuR)Wo#_^DROpDnN<=DR@jJB zjJ1Ox(yiJ=LCn>(0~V!FnT3~F9&V(-j4olME74};R6eFk8Xp8lD9kHFE)>)?!w6%9 z=3pyQ{ReFh2)JN?6=$()hG8YJk2_lCqxR5YcWI`&e$ZL7ZUG~7=P#db>;)!eV?;%yRqOgq4>$G%G;F_qYeJ#|$4}?~&-D1e=D**6xBoT% z7yCE+PxbHTAN21;CcdY9Kk_~7yVv(7-|fDwz6*RO`3_1xk^EBf!^wY3Hj>vRFN7&j zNbX7g|6lZev-eZIcVjoW3YNgJy)(W0_Qn&xQ~Cejn|KRn3ErBxG;wC)ki^PFZ~X7^ zCt(VFGXAdkOXDwyUmQOxegsT`onpTy|Nm!W_r%^3yFIogb_y(km9gDpzUWV*52^hB zwdhTpHh4kwgs2rAi25Txk9<4wAWVTbMJiYx&WIcxDMf~03j8wsF!}%Q48JUVQ+NR@ z#8kL1><|4e^u5rhLhn}j|2Kus3#|zq7@7?268ux}`@zoy?+v~Kroaus4Z$_RBG!pr z1Am7p@VUTy$^UFNa0pLmRSH1U>`QRnq+q_qKH+WC=?(ZGO z|Nk3KEPUAWfafkw0Jti4ujkJ_at46UnHa%y&$BUM{0s9>r2%C!E-K9*9~x(%5=YRlxj!wP9X zNB0fL^k24KR5y|ZN9aFnnbZ~jzEAyawKi&@7pabA$xbhHn=Wg2tcvdZLx^tPE zknk=op}uLe?jmo|61J`(;agR6v|3%{_4-S7ZJ`*L-t1a{Y;RJ{QB~0KK2}Jd64HGg zx%9y!s=$`&b-Ib^jTAEdn=KQ~Q*`!9`_aw@k4*Z663gr&ud!uv-eHCGDIwiAAk(XD zy{HbMy2#6InbZ|zdWHJCZAK4Wpt^{%!-r;dS-Xp@SD(wpl@Yqoy#zIGR4-}VV}w%Br;T|}Q0V%CRzn^gm} zi);ZmDMh!hA>l<@Lfs_gbKj)J&=)$I6cWC0nIa^-RZD2xWrg%fAw{DE32)I7>Y~lM zi`<|kY+Xab8&z{Gwz|kQ`b(Kz^Fc7usKS5oIq79iYqFUF2Z(xeOC35LdbnO)>e*8*faLp4WLLC5=8A$>|n_jTktUHt!N_WZCX`7qr7TJmDf^V_ZW zr@jBx`!&TQ57ecxvr)X!o z+f~;T_rYkZ7CqFMuDYgp4sf%Z`wvW#;y+mW;i_wj_kdveZnUebt||Tlm#W1yic8<| zvnHD2Ldcqe2-tAdHI+BP2BRQ1S6x&52`O7vZ5r*SiHtPGoiJ?IqgCYQs%wfXp>J*J z*}CeQ6WUc*YV8289a8CA$T@oLkWOaGKc6eEx~8~13Rz3fPaV^V${kG(blg2KW^f=C z%HvIOdK5Ayn6^a52E5`eaB-q3{tvf`8BEAjA?ZEHkBj31570zYJRz984JiaG=P={N zCXWY1fT`(pQ#>N67FdriC9;YjBcArMB+5uP#SfBhy_Onatkv*R$n1dIUPLGiH^uug zx`dITmf*g8k#k>gol9PXe15DcZjUS|r=yIKmYf)HHDI3LCBvPWA8(4+Ba2{8D9XVj zrHBLgC-G%k#nO0F{2wM3$w*5;4gcWQ=;DcL)WA91!HSham>xBh?gV zNWX^4*aG=MGSAC-0?@1S981s?56FOiA3gBmnL@kp1yEnHTpntQ*CVa#(A@?P8QEKA za7;;}8H)p|S2mTigQj3iK-9*ANOeC=BJX@|yeXazc~d7+v_jq!_z`%p$j*Z2tT@&b zkB2DRiA5{wpmLrKtspjqgL?_fGI+3qM9`dD^7;5%`5S=K5YAH;fB@U6ulZyjyDQ$GJxf`HD&NP9j z*$A!B?C|@cKN9LpG>a>JYro^g78lgWogVOah@Z>H0)LoOOYV zn%M(l&QytG28NrxVCYOOjHrlNt4MklFjORLpowO}mdwRhM~4<+#Hsb;=7zQty zkGcnY&@p$knvlAQixbT#=&V_{RGlk2KUY zem1|}npv1y;DbXRX$JI+)V4{w&Pavl2zjLG=k1~B8gl_dF2`t0!3cqQt93fk^a*&_ z1gqhNK~d2QN1EPcU^3p4r#-I-X2VSnu$)V6vbNkM5IxMUW{MCJT7TmP3P)4zLN%J?VTcIHZLD!UrCDlsP9l&X$}=3J zz(Zzu)HE~gSmQcZD5PX~5Ua&G4v&!Ogz2Vntw3|#wetGK68vJwf^bQMvsoi8leVOjv69+ zJs+_Q35CZM(v7Quz>1dl)w4|j>g8%^hA>naV_=(%HLe09I&qHmG6ypVce?n;8dthP zQ3ymr(wVgvrsPSxLZAretW{XsWJzO|;T{b~)t7_K7+4`4(K8v>ThP*q#$`bJwXo7S zXgTo7VLb6N3>xrhE(I{40ZJ)QKFK)-6Vhgeq#N5nh)$Mf8%`6D6;tamu)4Q`LFL9E zuTqJS8A~!Bv63lrUQj{y|EKmmEcyT5k4OKKb}1-Aqb3GNd3W#F?!-(M3rE->K#wg2n>5Bp!{-{e2gzcVNQea!a; z-wnP~ePiCgcprlQzukL@_c-r>=dbMlJqY^0{#I?5WkuiGnPbqY3s@YFY?p=3XzOM@Adn5NmDVUy=Nr%Mmw&-8s9D}91|1(YiVUr zTDe`8JQ==$Qw9=sNXoyZpoQX!?Xv9Y*GTliJcinH47#kqU?EPYw#!myKm$Y>C8ng+ zjN9$s&~{ngr1cAHt#DcwiwB#!hFr`Y+tsRuYMdh)n=M8($oB1Detf&EY2-znP+9~* zDKO}kekf4ZHYS#VlJQ=Xrfqm}Y`ZLRGDf{}{0nTdrCJNc)OK0s^lPZJ5*E}2Hk^#Q zY(<#mOR4Pv5TX_}4$f|Y+~-&=P4{h=#X@=y8zD1kfe|@3v0beTvSqi?k*St(ltmlN zHa1V?$?a-&kTb!WG)F>1(tGjIAc9U8C%4NYf!<3jm?#Sve3+|vYv%CDrYs)F(baA35!xK#6pkOOYgs?Ipp|XN zM9T`o1?_4anrzB4B5N6vAPC_L?Jgkym}W7qmK3(!sE8)f?&})M4p!C_DH|g?0@P)b zD)%*IQ8C=7AFGulZ@#K2D~P_eWi_!(=QfmP=W`p_P0lQ^(JAB?rpYrqvrs5cZ^+Hh z$m;tFJ+YLZabl5EYMujUiA^+Rp;O3Cujx*@_Hnr4Cwb!dSUGEvIlJdk=AwS ze&S{iS^$)#DLCg7)MD6!)(evAoJewP$ zwd&^5Z4bHtfarv}L?k|dJ*n`dlLuYDXL`Bo4J?IQuvS(!vI$gkp z>Fyb88GF!a?&xLgL8pSwnsvL|gH8cFV1v<+t3BvsFew`&Dq;#U?Llh+4Yxs}qplT> z%z3MtCjskQJFRD=XJHRIQO`)z&p0DJN9;k9%@cV00**kJ8Oe-eZLSeCe#LGy<4boO zYx8))j+yrt zc{GsG$u>mVMt2-*^C&Rl*mce?jJe%$tUCYSZax0r`M=?Rz<;N|=D*Ir&3}RaB>zGF zQGbF6fN%L8^xaSPyE}Z>_%84rmHbWeyUEWd-Yry8>_~yiEW4-A1lQ6ivB(NWb}v8N1~sIzCZdZA^Vm zh8_sLFZ9MxBXlJZ0Ec6n*e4WM5dfd%bb?m~Zx3D-oC_Wm%wVVZL*VhiqhtzvTVOG; zEpS@ka84^23Fm-goB~`Fl^M@W+WH9>*?4c(Vdq^!j7+ON#w;%0X^&peZ%+$RcLZ%=J z0TO?}y#$fpuU^u)#|r8ENJardzfY0bbcwA=of*mau6ZkbxB}}E4GtfoXk@KRvs=Q4 z+80{Px9~BFJhq>)sG70DYnCaRw!+8T&CX!Hg*9EytPlB)Q@k>}$QJM@^;O!}knm_N z;hI*6LHK+vhQ8o%?T6=0w%dJ&71mU_?(4{<*>|eImg+Rs9_=g0bh<4QZCPYG z$$qr6ckoR$O>e)h?FBNOV$0;b!wTzQpY9uw>110k{~vpA0wqUP{f|%YUDX>9hCn7m zr!yHcOFBK>)iphxl`I{W5FqRb0$CwI5(I<*0^)`U>hwC|F7EIZ7x;pTxS)t4Ziph_ z0Q!IB#uExX=qnna$8qG_dFg!_Sqw?170gnME zQp%RqDY97d3U&NO4Pkj%zoEP~am22#XNbIU~V9R-dr^w9n#K_-xyg5zSy`Ps2&J>CKn@5>? zJPdILI&|SB`z7D%6cMRiReBJrj|ZUZR5VfRky2K*xw7Roe#8%{ zTw_N>VppXDQ{;y{MMRH~WaRri-kc^3zz1bRdx|{Dqf9-$0&_p>&;{;(D*0BXNJOM| zRq27hpYQ;59a=?x%z|#Wfx|}xhhj+Lbw{2SY={Qe6p8$`Ll-!FMsTQHWk*D6SM~H8 z9R5XcC@$J5J`w&XICR>;;h%Uo@<#*l_axc>Cwgi5_q{fm@B|nrrBY9xrL3sSH zOY|U<|Hbjeu_t3U#ZHeMfEfI@m}`xfj5`r)KOFr<^j*;tq6tLQUmckU|0R5LcuRP0 z=!dB4htr4P=Ykgnv#{sCFK|j=U;q8ck-yCMobOiO*}i!_kKl$K|0)xxedz07wJMoh zbIgWgkE)zdK@uJ-J2sB|8}srLOKfWi4q=cbh6=JNJ(N!i)!fD^B}pdHl?*&)VCz%K z;0Exr8@DUtl1#iS8RWQtkmLy|zCNqZGb2#QI!neuG4cW{JaH6afB$;RzGAM_K>@rA+=p{op zfRCqTSMrifq$?Q<$;e419p#yI09cGNCSHgk#j0 zDjUvR19#&>Ww9g^>`I1QVKpy&3^#y9xtyzMaSvmcR!X&UkP|Q@J7MICzf~D}$2EK3&M5 z4igF~!r#{|8*u|TB4h9^kYrL_$WWmss&=T7!42S)Z%`AA zGO^BNa4L_KO>oxNk)b50cA=7%WXvvPkc|r249nhelV5@xAoV8fh?RpS8KVoC5{$Rw zWo1DJ8QfqT>AEH={gOO!`fy~h#@FtT zM>3%I&FZk8k1atc5v7BJ3!Ikm+u|mKq6)MSFg5USreI=EBx>11!3iU-t1uo85gx2mOsieA5DR8!49TjBJgMZiB zl%�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
}~5MI)d~z9cV6Q%gYe$sSc8D(4&MAL4dOB9inP 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.SdgCk)bPU|6=EuNo;H3 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 From 5b53db9054bfadf30e2da5ff9fc2d7baa8783c6d Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Wed, 14 Jun 2023 13:12:41 +0300 Subject: [PATCH 6/8] docs: add info about automl notebook into examples readme --- examples/README.md | 79 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/examples/README.md b/examples/README.md index 06666eb24..a969c59b6 100644 --- a/examples/README.md +++ b/examples/README.md @@ -27,20 +27,20 @@ We have prepared a set of tutorials for an easy introduction: - Change points plot - Interactive change points plot -#### 04. [Outliers](https://github.com/tinkoff-ai/etna/tree/master/examples/outliers.ipynb) -- Point outliers - - Median method - - Density method - - Prediction interval method - - Histogram method -- Sequence outliers -- Interactive visualization -- Outliers imputation +#### 04. [Regressors and exogenous data](https://github.com/tinkoff-ai/etna/tree/master/examples/exogenous_data.ipynb) +- What is regressor? + - What is exogenous data? +- Dataset + - Loading Dataset + - EDA +- Forecast with regressors -#### 05. [Clustering](https://github.com/tinkoff-ai/etna/tree/master/examples/clustering.ipynb) -- Clustering pipeline -- Custom Distance -- Visualisation +#### 05. [Custom model and transform](https://github.com/tinkoff-ai/etna/tree/master/examples/exogenous_data.ipynb) +- What is Transform and how it works +- Custom Transform + - Per-segment Custom Transform + - Multi-segment Custom Transform +- Custom Model #### 06. [Deep learning models](https://github.com/tinkoff-ai/etna/tree/master/examples/NN_examples.ipynb) - Creating TSDataset @@ -54,18 +54,63 @@ We have prepared a set of tutorials for an easy introduction: - VotingEnsemble - StackingEnsemble -#### 08. [Auto](https://github.com/tinkoff-ai/etna/tree/master/examples/auto.py) +#### 08. [Outliers](https://github.com/tinkoff-ai/etna/tree/master/examples/outliers.ipynb) +- Point outliers + - Median method + - Density method + - Prediction interval method + - Histogram method +- Sequence outliers +- Interactive visualization +- Outliers imputation + +#### 09. [Forecasting strategies](https://github.com/tinkoff-ai/etna/tree/master/examples/forecasting_strategies.ipynb) +- Imports and constants +- Load dataset +- Recursive strategy + - AutoRegressivePipeline +- Direct strategy + - Pipeline + - DirectEnsemble + - assemble_pipelines + DirectEnsemble +- Summary + +#### 10. [Forecast interpretation](https://github.com/tinkoff-ai/etna/tree/master/examples/forecast_interpretation.ipynb) +- Forecast decomposition + - CatBoost + - SARIMAX + - BATS + - In-sample and out-of-sample decomposition +- Accessing target components +- Regressors relevance + - Feature relevance + - Components relevance + +#### 11. [Clustering](https://github.com/tinkoff-ai/etna/tree/master/examples/clustering.ipynb) +- Clustering pipeline +- Custom Distance +- Visualisation + +#### 12. [AutoML script](https://github.com/tinkoff-ai/etna/tree/master/examples/auto.py) - Auto pipeline search -#### 09. Hyperparameter search +#### 13. [AutoML notebook](https://github.com/tinkoff-ai/etna/tree/master/examples/automl.ipynb) +- Hyperparameters tuning + - How `Tune` works + - Example +- General AutoML + - How `Auto` works + - Example + +#### 14. Hyperparameter search - [Optuna](https://github.com/tinkoff-ai/etna/tree/master/examples/optuna) - [WandB sweeps](https://github.com/tinkoff-ai/etna/tree/master/examples/wandb/sweeps) example based on [Hydra](https://hydra.cc/) -#### 10. [Inference: using saved pipeline on a new data](https://github.com/tinkoff-ai/etna/tree/master/examples/inference.ipynb) +#### 15. [Inference: using saved pipeline on a new data](https://github.com/tinkoff-ai/etna/tree/master/examples/inference.ipynb) - Fitting and saving pipeline - Using saved pipeline on a new data -#### 11. [Hierarchical time series](https://github.com/tinkoff-ai/etna/tree/master/examples/hierarchical_pipeline.ipynb) +#### 16. [Hierarchical time series](https://github.com/tinkoff-ai/etna/tree/master/examples/hierarchical_pipeline.ipynb) - Hierarchical time series - Hierarchical structure - Reconciliation methods From 9054981e538e3dbfcfd0bdf7114017c856db24f1 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Wed, 14 Jun 2023 13:14:03 +0300 Subject: [PATCH 7/8] docs: add summary columns info and info about duplicates for Auto and Tune --- etna/auto/auto.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/etna/auto/auto.py b/etna/auto/auto.py index baaaa6c66..65da9344c 100644 --- a/etna/auto/auto.py +++ b/etna/auto/auto.py @@ -104,6 +104,8 @@ def summary(self) -> pd.DataFrame: def top_k(self, k: int = 5) -> List[BasePipeline]: """Get top k pipelines with the best metric value. + Only complete and non-duplicate studies are taken into account. + Parameters ---------- k: @@ -561,6 +563,14 @@ def _make_tune_summary(self, trials: List[FrozenTrial], pipeline: BasePipeline) def summary(self) -> pd.DataFrame: """Get Auto trials summary. + There are columns: + + - hash: hash of the pipeline; + - pipeline: pipeline object; + - metrics: columns with metrics' values; + - state: state of the trial; + - study: name of the study in which trial was made. + Returns ------- study_dataframe: @@ -585,6 +595,8 @@ class Tune(AutoBase): """Automatic tuning of custom pipeline. This class takes given pipelines and tries to optimize its hyperparameters by using `params_to_tune`. + + Trials with duplicate parameters are skipped and previously computed results are returned. """ def __init__( @@ -850,6 +862,13 @@ def _summary(self, trials: List[FrozenTrial]) -> List[dict]: def summary(self) -> pd.DataFrame: """Get trials summary. + There are columns: + + - hash: hash of the pipeline; + - pipeline: pipeline object; + - metrics: columns with metrics' values; + - state: state of the trial. + Returns ------- study_dataframe: From 5d0c03f84a2be3a2c3940ab13fb0743c2c3a4178 Mon Sep 17 00:00:00 2001 From: "d.a.bunin" Date: Wed, 14 Jun 2023 14:46:10 +0300 Subject: [PATCH 8/8] fix: rerun automl notebook --- examples/automl.ipynb | 1106 +++++++---------------------------------- 1 file changed, 171 insertions(+), 935 deletions(-) diff --git a/examples/automl.ipynb b/examples/automl.ipynb index 2c129373d..e01db8f5f 100644 --- a/examples/automl.ipynb +++ b/examples/automl.ipynb @@ -644,58 +644,49 @@ }, { "cell_type": "markdown", - "id": "032a192b", + "id": "50779a99", "metadata": {}, "source": [ - "Now, let's run the tuning" + "Let's hide the logs of optuna, there are too many of them for a notebook." ] }, { "cell_type": "code", "execution_count": 16, + "id": "1d6650e3", + "metadata": {}, + "outputs": [], + "source": [ + "optuna.logging.set_verbosity(optuna.logging.CRITICAL)" + ] + }, + { + "cell_type": "markdown", + "id": "032a192b", + "metadata": {}, + "source": [ + "Let's run the tuning" + ] + }, + { + "cell_type": "code", + "execution_count": 17, "id": "49c86098", - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 21:30:20,414]\u001b[0m A new study created in RDB with name: no-name-7ebda9fb-faee-436b-bd92-440cda6b7c72\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:22,265]\u001b[0m Trial 0 finished with value: 9.957781486602626 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 0 with value: 9.957781486602626.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:23,939]\u001b[0m Trial 1 finished with value: 10.30690883805368 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 9.957781486602626.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:25,364]\u001b[0m Trial 2 finished with value: 9.21018287943126 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:26,689]\u001b[0m Trial 3 finished with value: 11.255320181809623 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:28,217]\u001b[0m Trial 4 finished with value: 9.946865870033573 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:29,753]\u001b[0m Trial 5 finished with value: 10.756703370092135 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:31,266]\u001b[0m Trial 6 finished with value: 10.917164483370643 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:32,802]\u001b[0m Trial 7 finished with value: 11.478760060537562 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:34,221]\u001b[0m Trial 8 finished with value: 9.943657842994194 and parameters: {'model.fit_intercept': False, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:35,697]\u001b[0m Trial 9 finished with value: 10.554443947120468 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 9.21018287943126.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:37,074]\u001b[0m Trial 10 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:37,353]\u001b[0m Trial 11 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:37,602]\u001b[0m Trial 12 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:37,859]\u001b[0m Trial 13 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:38,094]\u001b[0m Trial 14 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 21:30:38,340]\u001b[0m Trial 15 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:38,576]\u001b[0m Trial 16 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:38,820]\u001b[0m Trial 17 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:40,292]\u001b[0m Trial 18 finished with value: 10.061742464165459 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:40,539]\u001b[0m Trial 19 finished with value: 8.556535030718358 and parameters: {'model.fit_intercept': True, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 10 with value: 8.556535030718358.\u001b[0m\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ + "%%capture\n", "best_pipeline = tune.fit(ts=ts, n_trials=20)" ] }, + { + "cell_type": "markdown", + "id": "b644325b", + "metadata": {}, + "source": [ + "Command `%%capture` just hides the output." + ] + }, { "cell_type": "markdown", "id": "218a48f2", @@ -722,7 +713,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "14525b55", "metadata": {}, "outputs": [ @@ -1414,7 +1405,7 @@ "[20 rows x 38 columns]" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1433,7 +1424,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "b650bfc7", "metadata": {}, "outputs": [ @@ -1677,7 +1668,7 @@ "7 TrialState.COMPLETE " ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -1691,12 +1682,14 @@ "id": "95721277", "metadata": {}, "source": [ - "As we can see, we have duplicate lines, they can be eliminated using `hash` column." + "As we can see, we have duplicate lines according to the `hash` column. Some trials have the same sampled hyperparameters and they have the same results. We have a special handling for such duplicates: they are skipped during optimization and the previously computed metric values are returned.\n", + "\n", + "Duplicates on the summary can be eliminated using `hash` column." ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "7506fe96", "metadata": {}, "outputs": [ @@ -1860,7 +1853,7 @@ "7 TrialState.COMPLETE " ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1879,7 +1872,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "6f707553", "metadata": {}, "outputs": [], @@ -1889,7 +1882,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "7fd2b238", "metadata": {}, "outputs": [ @@ -1901,7 +1894,7 @@ " Pipeline(model = LinearPerSegmentModel(fit_intercept = False, ), transforms = [LagTransform(in_column = 'target', lags = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], out_column = 'target_lag', ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = True, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = True, is_weekend = False, special_days_in_week = (), special_days_in_month = (), out_column = 'date_flags', )], horizon = 14, )]" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1924,7 +1917,7 @@ "metadata": {}, "source": [ "Hyperparameters tuning is useful, but can be too narrow. In this section we move our attention to general AutoML pipeline.\n", - "In ETNA we have an `etna.auto.Auto` class for making automatic pipeline selection." + "In ETNA we have an `etna.auto.Auto` class for making automatic pipeline selection. It can be useful to quickly create a good baseline for your forecasting task." ] }, { @@ -1971,7 +1964,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "ea97e2f7", "metadata": {}, "outputs": [], @@ -2000,47 +1993,18 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "47ccd63b", - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 21:30:40,897]\u001b[0m A new study created in RDB with name: pool\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:42,151]\u001b[0m Trial 0 finished with value: 35.971206541988195 and parameters: {}. Best is trial 0 with value: 35.971206541988195.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:52,275]\u001b[0m Trial 1 finished with value: 7.814186552308879 and parameters: {}. Best is trial 1 with value: 7.814186552308879.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:54,987]\u001b[0m Trial 2 finished with value: 7.799983882136955 and parameters: {}. Best is trial 2 with value: 7.799983882136955.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:55,631]\u001b[0m Trial 3 finished with value: 6.197181678507941 and parameters: {}. Best is trial 3 with value: 6.197181678507941.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:58,129]\u001b[0m Trial 4 finished with value: 6.3477344215676155 and parameters: {}. Best is trial 3 with value: 6.197181678507941.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:59,065]\u001b[0m Trial 5 finished with value: 5.164436212457036 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:30:59,684]\u001b[0m Trial 6 finished with value: 19.361078199988185 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:00,317]\u001b[0m Trial 7 finished with value: 12.243010801042383 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:00,977]\u001b[0m Trial 8 finished with value: 11.317256495838777 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:03,805]\u001b[0m Trial 9 finished with value: 7.8934210308520125 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:05,286]\u001b[0m Trial 10 finished with value: 10.997462024031483 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:05,910]\u001b[0m Trial 11 finished with value: 6.529721205361869 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:07,073]\u001b[0m Trial 12 finished with value: 9.20542300350986 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:07,692]\u001b[0m Trial 13 finished with value: 12.028916127457146 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:08,511]\u001b[0m Trial 14 finished with value: 15.47311776505767 and parameters: {}. Best is trial 5 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:34,146]\u001b[0m Trial 15 finished with value: 5.057437747452116 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:31:46,742]\u001b[0m Trial 16 finished with value: 7.816527689059941 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:32:56,009]\u001b[0m Trial 17 finished with value: 8.297048217036235 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:32:58,486]\u001b[0m Trial 18 finished with value: 5.931951295183403 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:32:59,819]\u001b[0m Trial 19 finished with value: 12.213319590713951 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ + "%%capture\n", "best_pool_pipeline = auto.fit(ts=ts, tune_size=0)" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "d972dfb5", "metadata": {}, "outputs": [ @@ -2074,7 +2038,7 @@ " \n", " \n", " \n", - " 15\n", + " 19\n", " af8088ac0abfde46e93a8dbb407a2117\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.057438\n", @@ -2082,7 +2046,7 @@ " pool\n", " \n", " \n", - " 5\n", + " 9\n", " d8215d95e2c6c9a4b4fdacf3fa77dddc\n", " Pipeline(model = NaiveModel(lag = 7, ), transf...\n", " 5.164436\n", @@ -2090,7 +2054,7 @@ " pool\n", " \n", " \n", - " 18\n", + " 12\n", " 8f640faabcac0552153ca19337179f3b\n", " Pipeline(model = HoltWintersModel(trend = 'add...\n", " 5.931951\n", @@ -2106,7 +2070,7 @@ " pool\n", " \n", " \n", - " 4\n", + " 18\n", " 16eb77200eb2fd5dc1f6f2a5067884cd\n", " Pipeline(model = HoltWintersModel(trend = 'add...\n", " 6.347734\n", @@ -2114,7 +2078,7 @@ " pool\n", " \n", " \n", - " 11\n", + " 17\n", " 4c07749e913403906cd033e4882fc4f9\n", " Pipeline(model = SeasonalMovingAverageModel(wi...\n", " 6.529721\n", @@ -2122,7 +2086,7 @@ " pool\n", " \n", " \n", - " 2\n", + " 5\n", " 6e2eb71d033b6d0607f5b6d0a7596ce9\n", " Pipeline(model = ProphetModel(growth = 'linear...\n", " 7.799984\n", @@ -2130,7 +2094,7 @@ " pool\n", " \n", " \n", - " 1\n", + " 13\n", " 6bb58e7ce09eab00448d5732240ec2ec\n", " Pipeline(model = CatBoostMultiSegmentModel(ite...\n", " 7.814187\n", @@ -2138,7 +2102,7 @@ " pool\n", " \n", " \n", - " 16\n", + " 1\n", " a640ddfb767ea0cbf31751ddda6e36ee\n", " Pipeline(model = CatBoostMultiSegmentModel(ite...\n", " 7.816528\n", @@ -2146,7 +2110,7 @@ " pool\n", " \n", " \n", - " 9\n", + " 10\n", " cfeb21bcf2e922a390ade8be9d845e0d\n", " Pipeline(model = ProphetModel(growth = 'linear...\n", " 7.893421\n", @@ -2154,7 +2118,7 @@ " pool\n", " \n", " \n", - " 17\n", + " 7\n", " a5e036978ef9cc9f297c9eb2c280af05\n", " Pipeline(model = AutoARIMAModel(), transforms ...\n", " 8.297048\n", @@ -2162,7 +2126,7 @@ " pool\n", " \n", " \n", - " 12\n", + " 16\n", " 2e36e0b9cb67a43bb1bf96fa2ccf718f\n", " Pipeline(model = LinearMultiSegmentModel(fit_i...\n", " 9.205423\n", @@ -2170,7 +2134,7 @@ " pool\n", " \n", " \n", - " 10\n", + " 2\n", " 8b9f5fa09754a80f17380dec2b998f1d\n", " Pipeline(model = LinearPerSegmentModel(fit_int...\n", " 10.997462\n", @@ -2178,7 +2142,7 @@ " pool\n", " \n", " \n", - " 8\n", + " 11\n", " d62c0579459d4a1b88aea8ed6effdf4e\n", " Pipeline(model = MovingAverageModel(window = 1...\n", " 11.317256\n", @@ -2186,7 +2150,7 @@ " pool\n", " \n", " \n", - " 13\n", + " 14\n", " 5916e5b653295271c79caae490618ee9\n", " Pipeline(model = MovingAverageModel(window = 2...\n", " 12.028916\n", @@ -2194,7 +2158,7 @@ " pool\n", " \n", " \n", - " 19\n", + " 4\n", " 5a91b6c8acc2c461913df44fd1429375\n", " Pipeline(model = ElasticPerSegmentModel(alpha ...\n", " 12.213320\n", @@ -2202,7 +2166,7 @@ " pool\n", " \n", " \n", - " 7\n", + " 6\n", " 403b3e18012af5ff9815b408f5c2e47d\n", " Pipeline(model = MovingAverageModel(window = 4...\n", " 12.243011\n", @@ -2210,7 +2174,7 @@ " pool\n", " \n", " \n", - " 14\n", + " 15\n", " 6cf8605e6c513053ac4f5203e330c59d\n", " Pipeline(model = HoltWintersModel(trend = None...\n", " 15.473118\n", @@ -2218,7 +2182,7 @@ " pool\n", " \n", " \n", - " 6\n", + " 8\n", " 53e90ae4cf7f1f71e6396107549c25ef\n", " Pipeline(model = NaiveModel(lag = 1, ), transf...\n", " 19.361078\n", @@ -2229,7 +2193,7 @@ " 0\n", " 90b31b54cb8c01867be05a3320852682\n", " Pipeline(model = ElasticMultiSegmentModel(alph...\n", - " 35.971207\n", + " 35.971166\n", " TrialState.COMPLETE\n", " pool\n", " \n", @@ -2239,73 +2203,73 @@ ], "text/plain": [ " hash \\\n", - "15 af8088ac0abfde46e93a8dbb407a2117 \n", - "5 d8215d95e2c6c9a4b4fdacf3fa77dddc \n", - "18 8f640faabcac0552153ca19337179f3b \n", + "19 af8088ac0abfde46e93a8dbb407a2117 \n", + "9 d8215d95e2c6c9a4b4fdacf3fa77dddc \n", + "12 8f640faabcac0552153ca19337179f3b \n", "3 d6a44adb551f1aec09ef37c14aed260f \n", - "4 16eb77200eb2fd5dc1f6f2a5067884cd \n", - "11 4c07749e913403906cd033e4882fc4f9 \n", - "2 6e2eb71d033b6d0607f5b6d0a7596ce9 \n", - "1 6bb58e7ce09eab00448d5732240ec2ec \n", - "16 a640ddfb767ea0cbf31751ddda6e36ee \n", - "9 cfeb21bcf2e922a390ade8be9d845e0d \n", - "17 a5e036978ef9cc9f297c9eb2c280af05 \n", - "12 2e36e0b9cb67a43bb1bf96fa2ccf718f \n", - "10 8b9f5fa09754a80f17380dec2b998f1d \n", - "8 d62c0579459d4a1b88aea8ed6effdf4e \n", - "13 5916e5b653295271c79caae490618ee9 \n", - "19 5a91b6c8acc2c461913df44fd1429375 \n", - "7 403b3e18012af5ff9815b408f5c2e47d \n", - "14 6cf8605e6c513053ac4f5203e330c59d \n", - "6 53e90ae4cf7f1f71e6396107549c25ef \n", + "18 16eb77200eb2fd5dc1f6f2a5067884cd \n", + "17 4c07749e913403906cd033e4882fc4f9 \n", + "5 6e2eb71d033b6d0607f5b6d0a7596ce9 \n", + "13 6bb58e7ce09eab00448d5732240ec2ec \n", + "1 a640ddfb767ea0cbf31751ddda6e36ee \n", + "10 cfeb21bcf2e922a390ade8be9d845e0d \n", + "7 a5e036978ef9cc9f297c9eb2c280af05 \n", + "16 2e36e0b9cb67a43bb1bf96fa2ccf718f \n", + "2 8b9f5fa09754a80f17380dec2b998f1d \n", + "11 d62c0579459d4a1b88aea8ed6effdf4e \n", + "14 5916e5b653295271c79caae490618ee9 \n", + "4 5a91b6c8acc2c461913df44fd1429375 \n", + "6 403b3e18012af5ff9815b408f5c2e47d \n", + "15 6cf8605e6c513053ac4f5203e330c59d \n", + "8 53e90ae4cf7f1f71e6396107549c25ef \n", "0 90b31b54cb8c01867be05a3320852682 \n", "\n", " pipeline SMAPE_mean \\\n", - "15 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", - "5 Pipeline(model = NaiveModel(lag = 7, ), transf... 5.164436 \n", - "18 Pipeline(model = HoltWintersModel(trend = 'add... 5.931951 \n", + "19 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", + "9 Pipeline(model = NaiveModel(lag = 7, ), transf... 5.164436 \n", + "12 Pipeline(model = HoltWintersModel(trend = 'add... 5.931951 \n", "3 Pipeline(model = SeasonalMovingAverageModel(wi... 6.197182 \n", - "4 Pipeline(model = HoltWintersModel(trend = 'add... 6.347734 \n", - "11 Pipeline(model = SeasonalMovingAverageModel(wi... 6.529721 \n", - "2 Pipeline(model = ProphetModel(growth = 'linear... 7.799984 \n", - "1 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.814187 \n", - "16 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.816528 \n", - "9 Pipeline(model = ProphetModel(growth = 'linear... 7.893421 \n", - "17 Pipeline(model = AutoARIMAModel(), transforms ... 8.297048 \n", - "12 Pipeline(model = LinearMultiSegmentModel(fit_i... 9.205423 \n", - "10 Pipeline(model = LinearPerSegmentModel(fit_int... 10.997462 \n", - "8 Pipeline(model = MovingAverageModel(window = 1... 11.317256 \n", - "13 Pipeline(model = MovingAverageModel(window = 2... 12.028916 \n", - "19 Pipeline(model = ElasticPerSegmentModel(alpha ... 12.213320 \n", - "7 Pipeline(model = MovingAverageModel(window = 4... 12.243011 \n", - "14 Pipeline(model = HoltWintersModel(trend = None... 15.473118 \n", - "6 Pipeline(model = NaiveModel(lag = 1, ), transf... 19.361078 \n", - "0 Pipeline(model = ElasticMultiSegmentModel(alph... 35.971207 \n", + "18 Pipeline(model = HoltWintersModel(trend = 'add... 6.347734 \n", + "17 Pipeline(model = SeasonalMovingAverageModel(wi... 6.529721 \n", + "5 Pipeline(model = ProphetModel(growth = 'linear... 7.799984 \n", + "13 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.814187 \n", + "1 Pipeline(model = CatBoostMultiSegmentModel(ite... 7.816528 \n", + "10 Pipeline(model = ProphetModel(growth = 'linear... 7.893421 \n", + "7 Pipeline(model = AutoARIMAModel(), transforms ... 8.297048 \n", + "16 Pipeline(model = LinearMultiSegmentModel(fit_i... 9.205423 \n", + "2 Pipeline(model = LinearPerSegmentModel(fit_int... 10.997462 \n", + "11 Pipeline(model = MovingAverageModel(window = 1... 11.317256 \n", + "14 Pipeline(model = MovingAverageModel(window = 2... 12.028916 \n", + "4 Pipeline(model = ElasticPerSegmentModel(alpha ... 12.213320 \n", + "6 Pipeline(model = MovingAverageModel(window = 4... 12.243011 \n", + "15 Pipeline(model = HoltWintersModel(trend = None... 15.473118 \n", + "8 Pipeline(model = NaiveModel(lag = 1, ), transf... 19.361078 \n", + "0 Pipeline(model = ElasticMultiSegmentModel(alph... 35.971166 \n", "\n", " state study \n", - "15 TrialState.COMPLETE pool \n", - "5 TrialState.COMPLETE pool \n", - "18 TrialState.COMPLETE pool \n", - "3 TrialState.COMPLETE pool \n", - "4 TrialState.COMPLETE pool \n", - "11 TrialState.COMPLETE pool \n", - "2 TrialState.COMPLETE pool \n", - "1 TrialState.COMPLETE pool \n", - "16 TrialState.COMPLETE pool \n", + "19 TrialState.COMPLETE pool \n", "9 TrialState.COMPLETE pool \n", - "17 TrialState.COMPLETE pool \n", "12 TrialState.COMPLETE pool \n", - "10 TrialState.COMPLETE pool \n", - "8 TrialState.COMPLETE pool \n", + "3 TrialState.COMPLETE pool \n", + "18 TrialState.COMPLETE pool \n", + "17 TrialState.COMPLETE pool \n", + "5 TrialState.COMPLETE pool \n", "13 TrialState.COMPLETE pool \n", - "19 TrialState.COMPLETE pool \n", + "1 TrialState.COMPLETE pool \n", + "10 TrialState.COMPLETE pool \n", "7 TrialState.COMPLETE pool \n", + "16 TrialState.COMPLETE pool \n", + "2 TrialState.COMPLETE pool \n", + "11 TrialState.COMPLETE pool \n", "14 TrialState.COMPLETE pool \n", + "4 TrialState.COMPLETE pool \n", "6 TrialState.COMPLETE pool \n", + "15 TrialState.COMPLETE pool \n", + "8 TrialState.COMPLETE pool \n", "0 TrialState.COMPLETE pool " ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2319,745 +2283,17 @@ "id": "ff62ced9", "metadata": {}, "source": [ - "We can continue our training. The pool stage is over and there will be only the tuning stage. If we don't want to wait forever we should limit the tuning by fixing `n_trials` or `timeout`. We also set `gc_after_trial=True` to prevent `fit` from increasing memory consumption." + "We can continue our training. The pool stage is over and there will be only the tuning stage. If we don't want to wait forever we should limit the tuning by fixing `n_trials` or `timeout`. We also set `gc_after_trial=True` to prevent `fit` from increasing memory consumption. Parameter `catch` is responsible for not failing if some trials are erroneous." ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "13a1861a", - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 21:33:00,983]\u001b[0m Trial 20 finished with value: 19.361078199988185 and parameters: {}. Best is trial 15 with value: 5.057437747452116.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:33:01,173]\u001b[0m Using an existing study with name 'tuning/af8088ac0abfde46e93a8dbb407a2117' instead of creating a new one.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:34:20,844]\u001b[0m Trial 0 finished with value: 5.505938630148969 and parameters: {'model.learning_rate': 0.010716295704927558, 'model.depth': 8, 'model.random_strength': 0.04135997393839887, 'model.l2_leaf_reg': 6.290363334088762, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 5.505938630148969.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:37:37,720]\u001b[0m Trial 1 finished with value: 7.551734636556564 and parameters: {'model.learning_rate': 0.005093288991452604, 'model.depth': 9, 'model.random_strength': 5.124441683726436e-05, 'model.l2_leaf_reg': 12.953838738811829, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': False}. Best is trial 0 with value: 5.505938630148969.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:38:27,862]\u001b[0m Trial 2 finished with value: 5.081608678455632 and parameters: {'model.learning_rate': 0.029265104573384305, 'model.depth': 8, 'model.random_strength': 0.00018293439416272825, 'model.l2_leaf_reg': 0.2664339575790138, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:38:37,593]\u001b[0m Trial 3 finished with value: 5.685278776116567 and parameters: {'model.learning_rate': 0.10885022496978591, 'model.depth': 2, 'model.random_strength': 1.0657846106959452, 'model.l2_leaf_reg': 0.20759826854343155, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:43:45,785]\u001b[0m Trial 4 finished with value: 5.991215017200791 and parameters: {'model.learning_rate': 0.013502332895338663, 'model.depth': 11, 'model.random_strength': 0.000815480751951183, 'model.l2_leaf_reg': 15.963998697486609, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:46:32,501]\u001b[0m Trial 5 finished with value: 5.4032663446040345 and parameters: {'model.learning_rate': 0.0045071640297012746, 'model.depth': 10, 'model.random_strength': 0.15735322629462453, 'model.l2_leaf_reg': 0.9590655617999487, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:46:55,009]\u001b[0m Trial 6 finished with value: 11.328019110497664 and parameters: {'model.learning_rate': 0.0003170403216419516, 'model.depth': 4, 'model.random_strength': 0.02628993208598797, 'model.l2_leaf_reg': 8.922544209949926, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': True, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:49:02,344]\u001b[0m Trial 7 finished with value: 12.2846872917135 and parameters: {'model.learning_rate': 0.0002870822904231637, 'model.depth': 10, 'model.random_strength': 0.6980937540893076, 'model.l2_leaf_reg': 7.561685468176948, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': False}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:53:59,521]\u001b[0m Trial 8 finished with value: 6.565656562739738 and parameters: {'model.learning_rate': 0.0018942858180534868, 'model.depth': 11, 'model.random_strength': 0.16845597184634434, 'model.l2_leaf_reg': 0.1273800049459842, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:54:24,083]\u001b[0m Trial 9 finished with value: 12.619246777929266 and parameters: {'model.learning_rate': 0.00016392610634216844, 'model.depth': 5, 'model.random_strength': 0.0007426347922713565, 'model.l2_leaf_reg': 19.890730990098493, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': True, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:55:08,257]\u001b[0m Trial 10 finished with value: 5.178940352441506 and parameters: {'model.learning_rate': 0.30422255947832194, 'model.depth': 7, 'model.random_strength': 1.3323336863192491e-05, 'model.l2_leaf_reg': 117.15766222053712, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:55:52,681]\u001b[0m Trial 11 finished with value: 5.19167438900881 and parameters: {'model.learning_rate': 0.4157041143287088, 'model.depth': 7, 'model.random_strength': 1.0138604282141124e-05, 'model.l2_leaf_reg': 164.05791825135225, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 21:56:25,558]\u001b[0m Trial 12 finished with value: 5.495700632721738 and parameters: {'model.learning_rate': 0.0660039708777113, 'model.depth': 6, 'model.random_strength': 0.0007704398261687172, 'model.l2_leaf_reg': 198.20477894672413, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:57:10,701]\u001b[0m Trial 13 finished with value: 5.229042362938141 and parameters: {'model.learning_rate': 0.06266170664484294, 'model.depth': 7, 'model.random_strength': 7.712996963236343e-05, 'model.l2_leaf_reg': 0.7501093883467507, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:57:32,075]\u001b[0m Trial 14 finished with value: 5.935121245604505 and parameters: {'model.learning_rate': 0.4704193238613018, 'model.depth': 4, 'model.random_strength': 9.393288473774504, 'model.l2_leaf_reg': 52.30114682330751, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': True, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 2 with value: 5.081608678455632.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 21:58:35,895]\u001b[0m Trial 15 finished with value: 4.94124663793211 and parameters: {'model.learning_rate': 0.1368955392889537, 'model.depth': 8, 'model.random_strength': 1.0292981436693363e-05, 'model.l2_leaf_reg': 1.8121398100968207, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 15 with value: 4.94124663793211.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:00:18,032]\u001b[0m Trial 16 finished with value: 4.899715272141858 and parameters: {'model.learning_rate': 0.0435214895575014, 'model.depth': 9, 'model.random_strength': 0.0001602176189749599, 'model.l2_leaf_reg': 1.588756097852857, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:00:26,053]\u001b[0m Trial 17 finished with value: 5.947339352839522 and parameters: {'model.learning_rate': 0.024943980854647142, 'model.depth': 1, 'model.random_strength': 0.0040411393702502385, 'model.l2_leaf_reg': 2.2395306224446094, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:02:53,259]\u001b[0m Trial 18 finished with value: 5.1359560094148895 and parameters: {'model.learning_rate': 0.1423663349402859, 'model.depth': 9, 'model.random_strength': 0.0039510749596096545, 'model.l2_leaf_reg': 1.7144925380147218, 'transforms.1.day_number_in_week': False, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': True, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': True, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:04:54,230]\u001b[0m Trial 19 finished with value: 6.3779060914904395 and parameters: {'model.learning_rate': 0.0022006056509276326, 'model.depth': 9, 'model.random_strength': 7.072827112188774e-05, 'model.l2_leaf_reg': 2.500677802880344, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:05:29,829]\u001b[0m Trial 20 finished with value: 5.285361459953382 and parameters: {'model.learning_rate': 0.17399737734948464, 'model.depth': 6, 'model.random_strength': 0.0002830483944552283, 'model.l2_leaf_reg': 0.5327488884395163, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': True, 'transforms.1.day_number_in_year': True, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:06:26,101]\u001b[0m Trial 21 finished with value: 5.150115252147781 and parameters: {'model.learning_rate': 0.03166715776464517, 'model.depth': 8, 'model.random_strength': 0.00017637355650173983, 'model.l2_leaf_reg': 0.391572941095742, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:07:22,567]\u001b[0m Trial 22 finished with value: 5.1175828016673135 and parameters: {'model.learning_rate': 0.02777068494901502, 'model.depth': 8, 'model.random_strength': 3.453205836310773e-05, 'model.l2_leaf_reg': 0.28844832966045186, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:09:50,694]\u001b[0m Trial 23 finished with value: 4.977773259395207 and parameters: {'model.learning_rate': 0.04930475651736648, 'model.depth': 10, 'model.random_strength': 0.00020141074677370956, 'model.l2_leaf_reg': 1.2938317623739193, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:12:20,752]\u001b[0m Trial 24 finished with value: 4.927197044128451 and parameters: {'model.learning_rate': 0.066387199945575, 'model.depth': 10, 'model.random_strength': 2.6976801196146113e-05, 'model.l2_leaf_reg': 3.8476771557403033, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m[I 2023-06-13 22:14:49,936]\u001b[0m Trial 25 finished with value: 5.0569926795250595 and parameters: {'model.learning_rate': 0.20222141680832337, 'model.depth': 10, 'model.random_strength': 2.7711575837394674e-05, 'model.l2_leaf_reg': 3.6110346067730794, 'transforms.1.day_number_in_week': True, 'transforms.1.day_number_in_month': False, 'transforms.1.day_number_in_year': False, 'transforms.1.week_number_in_month': False, 'transforms.1.week_number_in_year': False, 'transforms.1.month_number_in_year': False, 'transforms.1.season_number': False, 'transforms.1.year_number': False, 'transforms.1.is_weekend': True}. Best is trial 16 with value: 4.899715272141858.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:50,142]\u001b[0m Using an existing study with name 'tuning/d8215d95e2c6c9a4b4fdacf3fa77dddc' instead of creating a new one.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:50,992]\u001b[0m Trial 0 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:51,345]\u001b[0m Trial 1 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:51,692]\u001b[0m Trial 2 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:52,031]\u001b[0m Trial 3 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:52,374]\u001b[0m Trial 4 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:52,731]\u001b[0m Trial 5 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:53,075]\u001b[0m Trial 6 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:53,406]\u001b[0m Trial 7 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:53,826]\u001b[0m Trial 8 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:54,154]\u001b[0m Trial 9 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:54,522]\u001b[0m Trial 10 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:54,872]\u001b[0m Trial 11 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:55,198]\u001b[0m Trial 12 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:55,531]\u001b[0m Trial 13 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:55,859]\u001b[0m Trial 14 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:56,193]\u001b[0m Trial 15 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:56,533]\u001b[0m Trial 16 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:56,879]\u001b[0m Trial 17 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:57,203]\u001b[0m Trial 18 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:57,533]\u001b[0m Trial 19 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:57,862]\u001b[0m Trial 20 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:58,181]\u001b[0m Trial 21 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:58,503]\u001b[0m Trial 22 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:58,852]\u001b[0m Trial 23 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:59,169]\u001b[0m Trial 24 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:59,494]\u001b[0m Trial 25 finished with value: 5.164436212457036 and parameters: {}. Best is trial 0 with value: 5.164436212457036.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:14:59,630]\u001b[0m Using an existing study with name 'tuning/8f640faabcac0552153ca19337179f3b' instead of creating a new one.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:05,568]\u001b[0m Trial 0 finished with value: 6.042537609009134 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:06,880]\u001b[0m Trial 1 finished with value: 20.851087747476168 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': None}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:09,503]\u001b[0m Trial 2 finished with value: 6.3477344215676155 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:09,861]\u001b[0m Trial 3 finished with value: 6.042537609009134 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 0 with value: 6.042537609009134.\u001b[0m\n", - "\u001b[33m[W 2023-06-13 22:15:10,078]\u001b[0m Trial 4 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[33m[W 2023-06-13 22:15:10,342]\u001b[0m Trial 5 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:10,568]\u001b[0m Trial 6 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:10,792]\u001b[0m Trial 7 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[33m[W 2023-06-13 22:15:12,034]\u001b[0m Trial 8 failed because of the following error: ValueError('y_true and y_pred have different timestamps')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 830, in _run_all_folds\n", - " fold_results_flat = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1088, in __call__\n", - " while self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 673, in _process_fold_forecast\n", - " fold[\"metrics\"] = deepcopy(pipeline._compute_metrics(metrics=metrics, y_true=test, y_pred=forecast))\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 626, in _compute_metrics\n", - " metrics_values[metric.name] = metric(y_true=y_true, y_pred=y_pred) # type: ignore\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 234, in __call__\n", - " self._validate_timestamp_columns(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 172, in _validate_timestamp_columns\n", - " raise ValueError(\"y_true and y_pred have different timestamps\")\n", - "ValueError: y_true and y_pred have different timestamps\n", - "\u001b[32m[I 2023-06-13 22:15:17,587]\u001b[0m Trial 9 finished with value: 4.769470882856761 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': True, 'model.seasonal': 'mul'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:18,673]\u001b[0m Trial 10 finished with value: 14.87656308243648 and parameters: {'model.trend': None, 'model.damped_trend': False, 'model.use_boxcox': True, 'model.seasonal': None}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[33m[W 2023-06-13 22:15:23,644]\u001b[0m Trial 11 failed because of the following error: ValueError('y_true and y_pred have different timestamps')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 830, in _run_all_folds\n", - " fold_results_flat = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 673, in _process_fold_forecast\n", - " fold[\"metrics\"] = deepcopy(pipeline._compute_metrics(metrics=metrics, y_true=test, y_pred=forecast))\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 626, in _compute_metrics\n", - " metrics_values[metric.name] = metric(y_true=y_true, y_pred=y_pred) # type: ignore\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 234, in __call__\n", - " self._validate_timestamp_columns(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/metrics/base.py\", line 172, in _validate_timestamp_columns\n", - " raise ValueError(\"y_true and y_pred have different timestamps\")\n", - "ValueError: y_true and y_pred have different timestamps\n", - "\u001b[32m[I 2023-06-13 22:15:25,142]\u001b[0m Trial 12 finished with value: 5.542525072199917 and parameters: {'model.trend': None, 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'mul'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:27,711]\u001b[0m Trial 13 finished with value: 5.931951295183403 and parameters: {'model.trend': 'add', 'model.damped_trend': True, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:28,073]\u001b[0m Trial 14 finished with value: 20.851087747476168 and parameters: {'model.trend': 'add', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': None}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[32m[I 2023-06-13 22:15:32,602]\u001b[0m Trial 15 finished with value: 6.035704509742201 and parameters: {'model.trend': 'mul', 'model.damped_trend': False, 'model.use_boxcox': False, 'model.seasonal': 'add'}. Best is trial 9 with value: 4.769470882856761.\u001b[0m\n", - "\u001b[33m[W 2023-06-13 22:15:32,813]\u001b[0m Trial 16 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[33m[W 2023-06-13 22:15:33,019]\u001b[0m Trial 17 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:33,222]\u001b[0m Trial 18 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:33,430]\u001b[0m Trial 19 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[33m[W 2023-06-13 22:15:33,657]\u001b[0m Trial 20 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:33,887]\u001b[0m Trial 21 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:34,107]\u001b[0m Trial 22 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[33m[W 2023-06-13 22:15:34,316]\u001b[0m Trial 23 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:34,556]\u001b[0m Trial 24 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n", - "\u001b[33m[W 2023-06-13 22:15:34,766]\u001b[0m Trial 25 failed because of the following error: ValueError('Can only dampen the trend component')\u001b[0m\n", - "Traceback (most recent call last):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/optuna/study/_optimize.py\", line 213, in _run_trial\n", - " value_or_values = func(trial)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/auto/auto.py\", line 801, in _objective\n", - " metrics_df, forecast_df, fold_info_df = pipeline_trial_params.backtest(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 925, in backtest\n", - " self._folds = self._run_all_folds(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 790, in _run_all_folds\n", - " pipelines = parallel(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 1085, in __call__\n", - " if self.dispatch_one_batch(iterator):\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 901, in dispatch_one_batch\n", - " self._dispatch(tasks)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 819, in _dispatch\n", - " job = self._backend.apply_async(batch, callback=cb)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 208, in apply_async\n", - " result = ImmediateResult(func)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/_parallel_backends.py\", line 597, in __init__\n", - " self.results = batch()\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in __call__\n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/joblib/parallel.py\", line 288, in \n", - " return [func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/base.py\", line 637, in _fit_backtest_pipeline\n", - " pipeline.fit(ts=ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/pipeline/pipeline.py\", line 57, in fit\n", - " self.model.fit(self.ts)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/decorators.py\", line 15, in wrapper\n", - " result = f(self, *args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/mixins.py\", line 351, in fit\n", - " model.fit(df=segment_features, regressors=ts.regressors)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/etna/models/holt_winters.py\", line 229, in fit\n", - " self._model = ExponentialSmoothing(\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py\", line 211, in wrapper\n", - " return func(*args, **kwargs)\n", - " File \"/Users/d.a.binin/Documents/tasks/etna-github/.venv/lib/python3.8/site-packages/statsmodels/tsa/holtwinters/model.py\", line 248, in __init__\n", - " raise ValueError(\"Can only dampen the trend component\")\n", - "ValueError: Can only dampen the trend component\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ + "%%capture\n", "best_tuning_pipeline = auto.fit(\n", " ts=ts, tune_size=3, n_trials=100, optuna_params=dict(gc_after_trial=True, catch=(Exception,))\n", ")" @@ -3073,7 +2309,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "95c854eb", "metadata": {}, "outputs": [ @@ -3107,7 +2343,7 @@ " \n", " \n", " \n", - " 82\n", + " 56\n", " 419fc80cf634ba0888c4f899f666ad45\n", " Pipeline(model = HoltWintersModel(trend = 'mul...\n", " 4.769471\n", @@ -3115,7 +2351,7 @@ " tuning/8f640faabcac0552153ca19337179f3b\n", " \n", " \n", - " 63\n", + " 89\n", " 731ccb72a473bec81789b7f186001ddd\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 4.899715\n", @@ -3123,7 +2359,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 71\n", + " 97\n", " 9c302769456b4adb9143f11c582f7264\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 4.927197\n", @@ -3131,7 +2367,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 62\n", + " 88\n", " 182c748af70287ab3a12bf32c03320f5\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 4.941247\n", @@ -3139,7 +2375,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 70\n", + " 96\n", " 4f426335c0eb00d847d9dd1e0a421415\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 4.977773\n", @@ -3147,7 +2383,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 72\n", + " 98\n", " 2cafd0750f191e7ab2d4160da50a7c64\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.056993\n", @@ -3155,7 +2391,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 15\n", + " 19\n", " af8088ac0abfde46e93a8dbb407a2117\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.057438\n", @@ -3163,7 +2399,7 @@ " pool\n", " \n", " \n", - " 49\n", + " 75\n", " 382825866425cac211691205a9537c95\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.081609\n", @@ -3171,7 +2407,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 69\n", + " 95\n", " c2a8d498fe35873d060e173e1af042d5\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.117583\n", @@ -3179,7 +2415,7 @@ " tuning/af8088ac0abfde46e93a8dbb407a2117\n", " \n", " \n", - " 65\n", + " 91\n", " 035f8e28180bc7491a30b3d0d67060c9\n", " Pipeline(model = CatBoostPerSegmentModel(itera...\n", " 5.135956\n", @@ -3192,43 +2428,43 @@ ], "text/plain": [ " hash \\\n", - "82 419fc80cf634ba0888c4f899f666ad45 \n", - "63 731ccb72a473bec81789b7f186001ddd \n", - "71 9c302769456b4adb9143f11c582f7264 \n", - "62 182c748af70287ab3a12bf32c03320f5 \n", - "70 4f426335c0eb00d847d9dd1e0a421415 \n", - "72 2cafd0750f191e7ab2d4160da50a7c64 \n", - "15 af8088ac0abfde46e93a8dbb407a2117 \n", - "49 382825866425cac211691205a9537c95 \n", - "69 c2a8d498fe35873d060e173e1af042d5 \n", - "65 035f8e28180bc7491a30b3d0d67060c9 \n", + "56 419fc80cf634ba0888c4f899f666ad45 \n", + "89 731ccb72a473bec81789b7f186001ddd \n", + "97 9c302769456b4adb9143f11c582f7264 \n", + "88 182c748af70287ab3a12bf32c03320f5 \n", + "96 4f426335c0eb00d847d9dd1e0a421415 \n", + "98 2cafd0750f191e7ab2d4160da50a7c64 \n", + "19 af8088ac0abfde46e93a8dbb407a2117 \n", + "75 382825866425cac211691205a9537c95 \n", + "95 c2a8d498fe35873d060e173e1af042d5 \n", + "91 035f8e28180bc7491a30b3d0d67060c9 \n", "\n", " pipeline SMAPE_mean \\\n", - "82 Pipeline(model = HoltWintersModel(trend = 'mul... 4.769471 \n", - "63 Pipeline(model = CatBoostPerSegmentModel(itera... 4.899715 \n", - "71 Pipeline(model = CatBoostPerSegmentModel(itera... 4.927197 \n", - "62 Pipeline(model = CatBoostPerSegmentModel(itera... 4.941247 \n", - "70 Pipeline(model = CatBoostPerSegmentModel(itera... 4.977773 \n", - "72 Pipeline(model = CatBoostPerSegmentModel(itera... 5.056993 \n", - "15 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", - "49 Pipeline(model = CatBoostPerSegmentModel(itera... 5.081609 \n", - "69 Pipeline(model = CatBoostPerSegmentModel(itera... 5.117583 \n", - "65 Pipeline(model = CatBoostPerSegmentModel(itera... 5.135956 \n", + "56 Pipeline(model = HoltWintersModel(trend = 'mul... 4.769471 \n", + "89 Pipeline(model = CatBoostPerSegmentModel(itera... 4.899715 \n", + "97 Pipeline(model = CatBoostPerSegmentModel(itera... 4.927197 \n", + "88 Pipeline(model = CatBoostPerSegmentModel(itera... 4.941247 \n", + "96 Pipeline(model = CatBoostPerSegmentModel(itera... 4.977773 \n", + "98 Pipeline(model = CatBoostPerSegmentModel(itera... 5.056993 \n", + "19 Pipeline(model = CatBoostPerSegmentModel(itera... 5.057438 \n", + "75 Pipeline(model = CatBoostPerSegmentModel(itera... 5.081609 \n", + "95 Pipeline(model = CatBoostPerSegmentModel(itera... 5.117583 \n", + "91 Pipeline(model = CatBoostPerSegmentModel(itera... 5.135956 \n", "\n", " state study \n", - "82 TrialState.COMPLETE tuning/8f640faabcac0552153ca19337179f3b \n", - "63 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "71 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "62 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "70 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "72 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "15 TrialState.COMPLETE pool \n", - "49 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "69 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", - "65 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 " + "56 TrialState.COMPLETE tuning/8f640faabcac0552153ca19337179f3b \n", + "89 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "97 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "88 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "96 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "98 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "19 TrialState.COMPLETE pool \n", + "75 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "95 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 \n", + "91 TrialState.COMPLETE tuning/af8088ac0abfde46e93a8dbb407a2117 " ] }, - "execution_count": 26, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -3241,7 +2477,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "640269ba", "metadata": {}, "outputs": [ @@ -3255,7 +2491,7 @@ " Pipeline(model = CatBoostPerSegmentModel(iterations = None, depth = 10, learning_rate = 0.04930475651736648, logging_level = 'Silent', l2_leaf_reg = 1.2938317623739193, thread_count = None, random_strength = 0.00020141074677370956, ), transforms = [LagTransform(in_column = 'target', lags = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], out_column = None, ), DateFlagsTransform(day_number_in_week = True, day_number_in_month = False, day_number_in_year = False, week_number_in_month = False, week_number_in_year = False, month_number_in_year = False, season_number = False, year_number = False, is_weekend = True, special_days_in_week = [], special_days_in_month = [], out_column = None, )], horizon = 14, )]" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -3276,7 +2512,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "ce8953ab", "metadata": {}, "outputs": [], @@ -3288,7 +2524,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "7a42cc84", "metadata": {}, "outputs": [