diff --git a/.gitignore b/.gitignore
index c558c4c..c8bf195 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,154 +1,155 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# DS_store
-.DS_Store
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-share/python-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-# Usually these files are written by a python script from a template
-# before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.nox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-*.py,cover
-.hypothesis/
-.pytest_cache/
-cover/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-db.sqlite3-journal
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-.pybuilder/
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# IPython
-profile_default/
-ipython_config.py
-
-# pyenv
-# For a library or package, you might want to ignore these files since the code is
-# intended to run in multiple environments; otherwise, check them in:
-# .python-version
-
-# pipenv
-# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
-# However, in case of collaboration, if having platform-specific dependencies or dependencies
-# having no cross-platform support, pipenv may install dependencies that don't work, or not
-# install all needed dependencies.
-# Pipfile.lock
-
-# PEP 582; used by e.g. github.com/David-OConnor/pyflow
-__pypackages__/
-
-# Celery stuff
-celerybeat-schedule
-celerybeat.pid
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
-venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-.dmypy.json
-dmypy.json
-
-# Pyre type checker
-.pyre/
-
-# pytype static type analyzer
-.pytype/
-
-# Cython debug symbols
-cython_debug/
-
-# VSCode
-.vscode/
-
-temp/
-additional_datasets/
-scripts/
-results/
-catboost_info/
-poetry.lock
-*check*.ipynb
-*temp*
-*demand*
\ No newline at end of file
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# DS_store
+.DS_Store
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+# Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# VSCode
+.vscode/
+
+temp/
+additional_datasets/
+scripts/
+results/
+catboost_info/
+poetry.lock
+*check*.ipynb
+*temp*
+*checkpoints*
+*logs*
diff --git a/LICENSE b/LICENSE
index 261eeb9..29f81d8 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,201 +1,201 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/README.md b/README.md
index 29e5874..5b64a04 100644
--- a/README.md
+++ b/README.md
@@ -1,50 +1,107 @@
-![tsururu_logo](tsururu_logo.png)
-
-# Tsururu – a time series forecasting strategies framework
-
-Much attention is now paid to what models to use for time series forecasting, but not to how exactly to perform training and inference.
-
-Tsururu is a Python-based library which aims at overcoming the aforementioned problems and provides a large number of multi-series and multi-point-ahead prediction strategies that can be used with any underlying model, including neural networks.
-
-Also tsururu provides various preprocessing techniques.
-
-## Multi-series prediction strategies:
-- _Local-modelling_:
- - Individual model for each time series.
-- _Global-modelling_:
- - One model for all time series;
- - features made up of individual series do not overlap.
-- _Multivariate-modelling_:
- - One model for all time series;
- - features made up of individual series corresponding to the same time point are concatenated for all time series.
-
-## Multi-point-ahead prediction strategies:
-- _Recursive:_
- - one model for all points of the forecast horizon;
- - *training*: the model is trained to predict one point ahead;
- - *prediction*: a prediction is iteratively made one point ahead, and then this prediction is used to further shape the features in the test data.
-- _Recursive-reduced:_
- - one model for all points in the prediction horizon;
- - *training*: the model is trained to predict one point ahead;
- - *prediction*: features are generated for all test observations at once, unavailable values are replaced by NaN.
-- _Direct:_
- - individual models for each point in the prediction horizon.
-- _MultiOutput (MIMO - Multi-input-multi-output):_
- - one model that learns to predict the entire prediction horizon.
- - __Also, this strategy supports the presence of exogenous features (only for local- or global-modelling).__
-- _FlatWideMIMO:_.
- - mixture of Direct and MIMO, fit one model, but uses deployed over horizon Direct's features.
-
-## Installation
-
-To install tsururu via pip you can use:
-
-`pip install -U tsururu`
-
-## Quick tour
-
-For usage example please see:
-
-* [Tutorial_1_Quick_Start](https://github.com/sb-ai-lab/tsururu/blob/main/Tutorial_1_Quick_start.ipynb) for simple usage examples
-
-More examples are coming soon.
+![tsururu_logo](imgs/tsururu_logo.png)
+
+# Tsururu (TSForesight) – a time series forecasting strategies framework
+
+Tsururu is a Python-based library that provides a wide range of multi-series and multi-point-ahead prediction strategies, compatible with any underlying model, including neural networks.
+
+While much attention is currently focused on selecting models for time series forecasting, the crucial aspect of how to perform training and inference often goes overlooked. Tsururu aims to address this gap.
+
+Also tsururu provides various preprocessing techniques.
+
+
+## Quick tour
+
+```python
+from tsururu.dataset import Pipeline, TSDataset
+from tsururu.model_training.trainer import MLTrainer
+from tsururu.model_training.validator import KFoldCrossValidator
+from tsururu.models.boost import CatBoost
+from tsururu.strategies import RecursiveStrategy
+
+dataset_params = {
+ "target": {"columns": ["value"]},
+ "date": {"columns": ["date"]},
+ "id": {"columns": ["id"]},
+}
+
+dataset = TSDataset(
+ data=pd.read_csv(df_path),
+ columns_params=dataset_params,
+)
+
+pipeline = Pipeline.easy_setup(
+ dataset_params, {"target_lags": 3, "date_lags": 1}, multivariate=False
+)
+trainer = MLTrainer(model=CatBoost, validator=KFoldCrossValidator)
+strategy = RecursiveStrategy(horizon=3, history=7, trainer=trainer, pipeline=pipeline)
+
+fit_time, _ = strategy.fit(dataset)
+forecast_time, current_pred = strategy.predict(dataset)
+```
+
+
+## Installation
+To install Tsururu on your machine from PyPI:
+```bash
+# Base functionality:
+pip install -U tsururu
+
+# For partial installation use corresponding option
+# Extra dependencies: [catboost, torch] or use 'all' to install all dependencies
+pip install -U tsururu[catboost]
+```
+
+
+## Other tutorials and examples
+
+* [Tutorial_1_Quick_Start](https://github.com/sb-ai-lab/tsururu/blob/main/examples/Tutorial_1_Quick_start.ipynb) for simple usage examples
+* [Tutorial_2_Strategies](https://github.com/sb-ai-lab/tsururu/blob/main/examples/Tutorial_2_Strategies.ipynb) covers forecasting strategies.
+* [Tutorial_3_Transformers_and_Pipeline](https://github.com/sb-ai-lab/tsururu/blob/main/examples/Tutorial_3_Transformers_and_Pipeline.ipynb) provides a description of available data preprocessing techniques.
+* [Tutorial_4_Neural_Networks](https://github.com/sb-ai-lab/tsururu/blob/main/examples/Tutorial_4_Neural_Networks.ipynb) demonstrates working with neural networks.
+* [Example_1_All_configurations](https://github.com/sb-ai-lab/tsururu/blob/main/examples/Example_1_All_configurations.py) script for benchmarking multiple configurations from available strategies, models and preprocessing methods on a dataset.
+
+
+## Multi-series prediction strategies:
+- _Local-modelling_:
+ - An individual model for each time series.
+ - Each time series is modeled independently of the others.
+- _Global-modelling_:
+ - A single model for all time series.
+ - Features created from each series do not overlap with other series. Series are related but modeled separately.
+- _Multivariate-modelling_:
+ - A single model for all time series.
+ - Features created from each series are concatenated at each time step. Try to capture dependencies between the series at the same time point.
+
+## Multi-point-ahead prediction strategies:
+- _Recursive:_
+ - One model is used for the entire forecast horizon.
+ - training: The model is trained to predict one point ahead.
+ - prediction: The model iteratively predicts each point, using previous predictions to update the features in the test data.
+ - Note 1: There is an option to use a “reduced” version, where features are generated for all test observations at once, and unavailable values are filled with NaN.
+ - Note 2: Recursive can also be combined with the MIMO strategy, allowing the model to predict model_horizon points ahead at each step.
+- _Direct:_
+ - Individual models are trained for each point in the forecast horizon.
+ - Note 1: There is an option to use "equal_train_size" option, where all models can be trained on the same X_train set, formed for the last model predicting h point. Only the target variable (y) is updated for each model, reducing the time spent generating new training sets.
+ - Note 2: Direct can also be combined with MIMO, where each individual model predicts model_horizon points ahead.
+- _MultiOutput (MIMO - Multi-input-multi-output):_
+ - One model is trained and used for the entire forecast horizon at once.
+ - Note 1: This strategy can also accommodate exogenous features (for local- or global-modelling strategies).
+- _FlatWideMIMO:_.
+ - A hybrid of Direct and MIMO. One model is trained, but Direct’s features are deployed across the forecast horizon.
+ - Note 1: To use FlatWideMIMO with date-related features, h lags of them must be included (with help of LagTransformer).
+
+
+## Preprocessing
+- _StandardScalerTransformer_: scales features to have zero mean and unit variance.
+- _DifferenceNormalizer_: transforms features by subtracting or dividing by their previous value.
+- _TimeToNumGenerator_ and _DateSeasonsGenerator_: generates seasonal features (e.g., month, quarter, day of the week) from date information.
+- _LabelEncodingTransformer_ and _OneHotEncodingTransformer_: encodes categorical features.
+- _MissingValuesImputer_: handles missing values by imputing them with a chosen strategy.
+- _LagTransformer_: generates lagged features.
+- _LastKnownNormalizer_: normalizes lagged features by the last known value in history, either by subtracting it or dividing by it.
+
+
+# License
+This project is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/sb-ai-lab/tsururu/blob/master/LICENSE) file for more details.
+
+[Back to top](#toc)
\ No newline at end of file
diff --git a/Tutorial_1_Quick_start.ipynb b/Tutorial_1_Quick_start.ipynb
deleted file mode 100644
index aa33804..0000000
--- a/Tutorial_1_Quick_start.ipynb
+++ /dev/null
@@ -1,1287 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 47,
- "metadata": {},
- "outputs": [],
- "source": [
- "import warnings\n",
- "\n",
- "warnings.filterwarnings(\"ignore\")\n",
- "\n",
- "from typing import List, Optional, Union\n",
- "\n",
- "import numpy as np\n",
- "import pandas as pd\n",
- "\n",
- "from tsururu.dataset import IndexSlicer, Pipeline, TSDataset\n",
- "from tsururu.models import CatBoostRegressor_CV\n",
- "from tsururu.strategies import (\n",
- " DirectStrategy,\n",
- " FlatWideMIMOStrategy,\n",
- " MIMOStrategy,\n",
- " RecursiveStrategy,\n",
- ")\n",
- "from tsururu.transformers import (\n",
- " DateSeasonsGenerator,\n",
- " DifferenceNormalizer,\n",
- " LagTransformer,\n",
- " LastKnownNormalizer,\n",
- " SequentialTransformer,\n",
- " StandardScalerTransformer,\n",
- " TargetGenerator,\n",
- " UnionTransformer,\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 48,
- "metadata": {},
- "outputs": [],
- "source": [
- "def get_results(\n",
- " cv: int,\n",
- " regime: str,\n",
- " y_true: Optional[List[np.ndarray]] = None,\n",
- " y_pred: Optional[List[np.ndarray]] = None,\n",
- " ids: Optional[List[Union[float, str]]] = None,\n",
- ") -> pd.DataFrame:\n",
- " def _get_fold_value(\n",
- " value: Optional[Union[float, np.ndarray]], idx: int\n",
- " ) -> List[Optional[Union[float, np.ndarray]]]:\n",
- " if value is None:\n",
- " return [None]\n",
- " if isinstance(value[idx], float):\n",
- " return value[idx]\n",
- " if isinstance(value[idx], np.ndarray):\n",
- " return value[idx].reshape(-1)\n",
- " raise TypeError(f\"Unexpected value type. Value: {value}\")\n",
- "\n",
- " df_res_dict = {}\n",
- "\n",
- " for idx_fold in range(cv):\n",
- " # Fill df_res_dict\n",
- " for name, value in [(\"y_true\", y_true), (\"y_pred\", y_pred)]:\n",
- " df_res_dict[f\"{name}_{idx_fold+1}\"] = _get_fold_value(\n",
- " value, idx_fold\n",
- " )\n",
- " if regime != \"local\":\n",
- " df_res_dict[f\"id_{idx_fold+1}\"] = _get_fold_value(ids, idx_fold)\n",
- "\n",
- " # Save datasets to specified directory\n",
- " df_res = pd.DataFrame(df_res_dict)\n",
- " return df_res"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "There are several main objects to look out for when working with the library:\n",
- "1) `TSDataset`.\n",
- "2) `Pipeline` and `Transformers`\n",
- "3) `Strategy`.\n",
- "4) `Model`."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### TSDataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This class is needed to store data and meta-information about it."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To initialise it is necessary to submit the data in `pd.DataFrame` format and define some meta-information about roles that necessary for solving the task of time series forecasting: `id`, `date`, `target`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 49,
- "metadata": {},
- "outputs": [],
- "source": [
- "df_path = \"datasets/global/simulated_data_to_check.csv\"\n",
- "\n",
- "dataset_params = {\n",
- " \"target\": {\n",
- " \"columns\": [\"value\"],\n",
- " \"type\": \"continious\",\n",
- " },\n",
- " \"date\": {\n",
- " \"columns\": [\"date\"],\n",
- " \"type\": \"datetime\",\n",
- " },\n",
- " \"id\": {\n",
- " \"columns\": [\"id\"],\n",
- " \"type\": \"categorical\",\n",
- " }\n",
- "}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 50,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "freq: Day; period: 1\n"
- ]
- }
- ],
- "source": [
- "dataset = TSDataset(\n",
- " data=pd.read_csv(df_path),\n",
- " columns_params=dataset_params,\n",
- " print_freq_period_info=True,\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Pipeline and Transformers"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### What kind of transformers are there?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Special attention should be paid to the `Transformer` class: the elements of the pipeline that are responsible for transforming the values of a series and generating features. `Pipeline` class is a wrapper over transformers which is needed to provide some additional methods and functions above them.\n",
- "\n",
- "There are two types of transformers that are used to collect pipelines:\n",
- "- `Union` transformers;\n",
- "- `Sequential` transformers.\n",
- "\n",
- "Below is a list of available Transformers: \n",
- "- `StandardScalerTransformer` *(Series4Series)*.\n",
- "- `DifferenceNormalizer` *(Series4Series)*: subtract the previous value or divide by it.\n",
- "- `LastKnownNormalizer` *(Features4Features)*: normalize all lags by the last known one: divide by it or subtract.\n",
- "\n",
- "This three transformers provide flags `transform_features` / `transform_target`, that allow you to manipulate traits and targets separately and get different results from them.\n",
- "\n",
- "Besides, __DifferenceNormalizer__ and __LastKnownNormalizer__ can be applied in two regimes: `delta` and `ratio`: in the first case, normalisation means subtracting the target value from the current value, and in the second, dividing by it.\n",
- "\n",
- "- `LabelEncodingTransformer` and `OneHotEncodingTransformer` *(Series4Series)* - encoders for categorical features.\n",
- "- `TimeToNumGenerator` and `DateSeasonsGenerator` *(Series4Series)* - generator for seasonal features by dates.\n",
- "- `LagTransformer` *(Series4Features) - generator for lags. \n",
- "\n",
- "__!!!The lag transformer must necessarily be present in the sequential transformer, otherwise the features will not be generated.!!!__\n",
- "\n",
- "Finally, to generate targets, you need to use `TargetGenerator`."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Transformers must be assembled in order!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The __SeriesToSeries__ transformers should come first, followed by the LagTransformer and TargetGenerator (__SeriesToFeatures__), and then the __FeaturesToFeatures__ transformers.\n",
- "\n",
- "!!!Thus, `StandardScalerNormalizer` and `DifferenceNormalizer` should be before `LagTransformer` and `LastKnownNormalizer` after it!!!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### How to build a Pipeline?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "So, there are two ways to build a pipline from transformers: initialise the transformers of interest by hand or use a config in the form of a dictionary. Let's look at both ways."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 51,
- "metadata": {},
- "outputs": [],
- "source": [
- "standard_scaler = StandardScalerTransformer(\n",
- " transform_features=True,\n",
- " transform_target=True\n",
- ")\n",
- "\n",
- "lag = LagTransformer(lags=3)\n",
- "date_lag = LagTransformer(lags=3)\n",
- "id_lag = LagTransformer(lags=1)\n",
- "\n",
- "target_generator = TargetGenerator()\n",
- "\n",
- "date_seasons = DateSeasonsGenerator(\n",
- " seasonalities=[\"doy\", \"m\", \"wd\"],\n",
- " from_target_date=True,\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 52,
- "metadata": {},
- "outputs": [],
- "source": [
- "union_1 = UnionTransformer(transformers_list=[lag, target_generator])\n",
- "\n",
- "seq_1 = SequentialTransformer(transformers_list=[standard_scaler, union_1], input_features=[\"value\"])\n",
- "seq_2 = SequentialTransformer(transformers_list=[date_seasons, date_lag], input_features=[\"date\"])\n",
- "seq_3 = SequentialTransformer(transformers_list=[id_lag], input_features=[\"id\"])\n",
- "\n",
- "union = UnionTransformer(transformers_list=[seq_1, seq_2, seq_3])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 53,
- "metadata": {},
- "outputs": [],
- "source": [
- "pipeline_1 = Pipeline(union, multivariate=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 54,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'transformers': ,\n",
- " 'multivariate': False,\n",
- " 'is_fitted': False,\n",
- " 'strategy_name': None,\n",
- " 'output_features': None,\n",
- " 'y_original_shape': None}"
- ]
- },
- "execution_count": 54,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline_1.__dict__"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Or:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 55,
- "metadata": {},
- "outputs": [],
- "source": [
- "pipeline_params = {\n",
- " \"target\": {\n",
- " \"columns\": [\"value\"],\n",
- " \"features\": {\n",
- " \"StandardScalerTransformer\":\n",
- " {\n",
- " \"transform_target\": True, \n",
- " \"transform_features\": True\n",
- " },\n",
- " \"LagTransformer\": {\"lags\": 7},\n",
- " },\n",
- " },\n",
- " \"date\": {\n",
- " \"columns\": [\"date\"],\n",
- " \"features\": {\n",
- " \"DateSeasonsGenerator\": {\n",
- " # Use seasonality features from the date column as \n",
- " # features with datetime lags\n",
- " # Possible values: [\n",
- " # \"y\": year, \"m\": month, \"d\": day, \n",
- " # \"wd\": weekday, \"doy\": dayofyear,\n",
- " # \"hour\": hour, \"min\": minute, \"sec\": second, \n",
- " # \"ms\": microsecond, \"ns\": nanosecond\n",
- " # ]\n",
- " \"seasonalities\": ['doy', 'm', 'wd'], \n",
- " # Use date from target point to make datetime features\n",
- " \"from_target_date\": True,\n",
- " },\n",
- " \"LagTransformer\": {\"lags\": 3}\n",
- " },\n",
- " },\n",
- " \"id\": {\n",
- " \"columns\": [\"id\"],\n",
- " \"features\": {\n",
- " \"LagTransformer\": {\"lags\": 1},\n",
- " },\n",
- " }\n",
- "}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 56,
- "metadata": {},
- "outputs": [],
- "source": [
- "pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Or:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 57,
- "metadata": {},
- "outputs": [],
- "source": [
- "pipeline_easy_params = {\n",
- " # One from [\"none\", \"standard_scaler\", \"difference_normalizer\", \"last_known_normalizer\"]\n",
- " \"target_normalizer\": \"standard_scaler\",\n",
- "\n",
- " # One from [\"none\", \"delta\", \"ratio\"] (MUST BE \"none\" for \"standard_scaler\" and NOT \"none\" for others)\n",
- " \"normalizer_regime\": \"none\",\n",
- "\n",
- " # One from [\"features\", \"target\", \"features_target\"]\n",
- " \"normalizer_transform_regime\": \"features_target\",\n",
- "\n",
- " \"target_lags\": 3,\n",
- " \"date_lags\": 1,\n",
- "# \"exog_lags\": 1,\n",
- "}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 58,
- "metadata": {},
- "outputs": [],
- "source": [
- "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Can I use exogenous variables in the pipeline?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Yes! Exogenous variables can also be specified here. Just include them in your pipeline.\n",
- "\n",
- "However, their operation is currently tested only for the `MIMOStrategy` in global-modelling. For other strategies support of additional variables is under development."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 59,
- "metadata": {},
- "outputs": [],
- "source": [
- "# pipeline_params[\"exog_group_1\"] = {\n",
- "# \"columns\": [\"value\"],\n",
- "# \"features\": {\n",
- "# \"StandardScalerTransformer\":\n",
- "# {\n",
- "# \"transform_target\": False, \n",
- "# \"transform_features\": True\n",
- "# },\n",
- "# \"LagTransformer\": {\"lags\": 7},\n",
- "# },\n",
- "# }"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "__Make sure you have the transform_target = False flag for exogenous features!__"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Model"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The model is separate from the strategy. Any model can be run in any strategy if it supports this input and output format"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "One of the easiest options – is to use GBM."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 60,
- "metadata": {},
- "outputs": [],
- "source": [
- "# Configure the model parameters\n",
- "model_params = {\n",
- " \"loss_function\": \"MultiRMSE\",\n",
- " \"early_stopping_rounds\": 100,\n",
- " \"verbose\": 500,\n",
- "}\n",
- "\n",
- "# Configure the validation parameters\n",
- "validation_params = {\n",
- " \"type\": 'KFold',\n",
- " \"n_splits\": 2,\n",
- "}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 61,
- "metadata": {},
- "outputs": [],
- "source": [
- "model = CatBoostRegressor_CV(validation_params, model_params)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Strategy"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "- _Recursive:_ \n",
- " - one model for all points of the forecast horizon;\n",
- " - *training*: the model is trained to predict one point ahead;\n",
- " - *prediction*: a prediction is iteratively made one point ahead, and then this prediction is used to further shape the features in the test data. \n",
- "- _Recursive-reduced:_\n",
- " - one model for all points in the prediction horizon;\n",
- " - *training*: the model is trained to predict one point ahead;\n",
- " - *prediction*: features are generated for all test observations at once, unavailable values are replaced by NaN.\n",
- "- _Direct:_ \n",
- " - individual models for each point in the prediction horizon. \n",
- "- _MultiOutput (MIMO - Multi-input-multi-output):_\n",
- " - one model that learns to predict the entire prediction horizon. \n",
- " - __Also, this strategy supports the presence of `exogenous features` (only for local- or global-modelling).__\n",
- "- _FlatWideMIMO:_.\n",
- " - mixture of Direct and MIMO, fit one model, but uses deployed over horizon Direct's features.\n",
- " - __Number of `lags for datetime features` should be equal to `horizon` while using this strategy.__"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 62,
- "metadata": {},
- "outputs": [],
- "source": [
- "horizon = 3\n",
- "history = 7\n",
- "step = 1\n",
- "\n",
- "strategy = RecursiveStrategy(horizon, history, step, model, pipeline)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 63,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0:\tlearn: 0.9603852\ttest: 0.9667066\tbest: 0.9667066 (0)\ttotal: 8.15ms\tremaining: 8.14s\n",
- "500:\tlearn: 0.0043385\ttest: 0.0045465\tbest: 0.0045465 (500)\ttotal: 1.19s\tremaining: 1.18s\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "999:\tlearn: 0.0027344\ttest: 0.0030471\tbest: 0.0030471 (999)\ttotal: 2.4s\tremaining: 0us\n",
- "\n",
- "bestTest = 0.003047062205\n",
- "bestIteration = 999\n",
- "\n",
- "Fold 0:\n",
- "MultiRMSE: 0.003047062205400275\n",
- "0:\tlearn: 0.9660362\ttest: 0.9613700\tbest: 0.9613700 (0)\ttotal: 4.77ms\tremaining: 4.77s\n",
- "500:\tlearn: 0.0043259\ttest: 0.0046427\tbest: 0.0046427 (500)\ttotal: 1.18s\tremaining: 1.18s\n",
- "999:\tlearn: 0.0026124\ttest: 0.0029169\tbest: 0.0029169 (999)\ttotal: 2.4s\tremaining: 0us\n",
- "\n",
- "bestTest = 0.002916854444\n",
- "bestIteration = 999\n",
- "\n",
- "Fold 1:\n",
- "MultiRMSE: 0.002916854443892958\n",
- "Mean MultiRMSE: 0.003\n",
- "Std: 0.0001\n"
- ]
- }
- ],
- "source": [
- "fit_time, _ = strategy.fit(dataset)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 64,
- "metadata": {},
- "outputs": [],
- "source": [
- "forecast_time, current_pred = strategy.predict(dataset)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 65,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " id \n",
- " date \n",
- " value \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 0 \n",
- " 2022-09-27 \n",
- " 1997.088714 \n",
- " \n",
- " \n",
- " 1 \n",
- " 0 \n",
- " 2022-09-28 \n",
- " 1997.191979 \n",
- " \n",
- " \n",
- " 2 \n",
- " 0 \n",
- " 2022-09-29 \n",
- " 1995.496356 \n",
- " \n",
- " \n",
- " 3 \n",
- " 1 \n",
- " 2022-09-27 \n",
- " 2997.475196 \n",
- " \n",
- " \n",
- " 4 \n",
- " 1 \n",
- " 2022-09-28 \n",
- " 2997.553282 \n",
- " \n",
- " \n",
- " 5 \n",
- " 1 \n",
- " 2022-09-29 \n",
- " 2995.826568 \n",
- " \n",
- " \n",
- " 6 \n",
- " 2 \n",
- " 2022-09-27 \n",
- " 3997.392796 \n",
- " \n",
- " \n",
- " 7 \n",
- " 2 \n",
- " 2022-09-28 \n",
- " 3997.46765 \n",
- " \n",
- " \n",
- " 8 \n",
- " 2 \n",
- " 2022-09-29 \n",
- " 3995.743526 \n",
- " \n",
- " \n",
- " 9 \n",
- " 3 \n",
- " 2022-09-27 \n",
- " 4997.548721 \n",
- " \n",
- " \n",
- " 10 \n",
- " 3 \n",
- " 2022-09-28 \n",
- " 4997.572455 \n",
- " \n",
- " \n",
- " 11 \n",
- " 3 \n",
- " 2022-09-29 \n",
- " 4995.842271 \n",
- " \n",
- " \n",
- " 12 \n",
- " 4 \n",
- " 2022-09-27 \n",
- " 5997.700033 \n",
- " \n",
- " \n",
- " 13 \n",
- " 4 \n",
- " 2022-09-28 \n",
- " 5997.725905 \n",
- " \n",
- " \n",
- " 14 \n",
- " 4 \n",
- " 2022-09-29 \n",
- " 5995.998695 \n",
- " \n",
- " \n",
- " 15 \n",
- " 5 \n",
- " 2022-09-27 \n",
- " 6997.694582 \n",
- " \n",
- " \n",
- " 16 \n",
- " 5 \n",
- " 2022-09-28 \n",
- " 6997.722867 \n",
- " \n",
- " \n",
- " 17 \n",
- " 5 \n",
- " 2022-09-29 \n",
- " 6995.997412 \n",
- " \n",
- " \n",
- " 18 \n",
- " 6 \n",
- " 2022-09-27 \n",
- " 7997.620737 \n",
- " \n",
- " \n",
- " 19 \n",
- " 6 \n",
- " 2022-09-28 \n",
- " 7997.648131 \n",
- " \n",
- " \n",
- " 20 \n",
- " 6 \n",
- " 2022-09-29 \n",
- " 7995.923171 \n",
- " \n",
- " \n",
- " 21 \n",
- " 7 \n",
- " 2022-09-27 \n",
- " 8997.53187 \n",
- " \n",
- " \n",
- " 22 \n",
- " 7 \n",
- " 2022-09-28 \n",
- " 8997.559264 \n",
- " \n",
- " \n",
- " 23 \n",
- " 7 \n",
- " 2022-09-29 \n",
- " 8995.845535 \n",
- " \n",
- " \n",
- " 24 \n",
- " 8 \n",
- " 2022-09-27 \n",
- " 9997.5219 \n",
- " \n",
- " \n",
- " 25 \n",
- " 8 \n",
- " 2022-09-28 \n",
- " 9997.546915 \n",
- " \n",
- " \n",
- " 26 \n",
- " 8 \n",
- " 2022-09-29 \n",
- " 9995.828639 \n",
- " \n",
- " \n",
- " 27 \n",
- " 9 \n",
- " 2022-09-27 \n",
- " 10997.380235 \n",
- " \n",
- " \n",
- " 28 \n",
- " 9 \n",
- " 2022-09-28 \n",
- " 10997.403622 \n",
- " \n",
- " \n",
- " 29 \n",
- " 9 \n",
- " 2022-09-29 \n",
- " 10995.683994 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " id date value\n",
- "0 0 2022-09-27 1997.088714\n",
- "1 0 2022-09-28 1997.191979\n",
- "2 0 2022-09-29 1995.496356\n",
- "3 1 2022-09-27 2997.475196\n",
- "4 1 2022-09-28 2997.553282\n",
- "5 1 2022-09-29 2995.826568\n",
- "6 2 2022-09-27 3997.392796\n",
- "7 2 2022-09-28 3997.46765\n",
- "8 2 2022-09-29 3995.743526\n",
- "9 3 2022-09-27 4997.548721\n",
- "10 3 2022-09-28 4997.572455\n",
- "11 3 2022-09-29 4995.842271\n",
- "12 4 2022-09-27 5997.700033\n",
- "13 4 2022-09-28 5997.725905\n",
- "14 4 2022-09-29 5995.998695\n",
- "15 5 2022-09-27 6997.694582\n",
- "16 5 2022-09-28 6997.722867\n",
- "17 5 2022-09-29 6995.997412\n",
- "18 6 2022-09-27 7997.620737\n",
- "19 6 2022-09-28 7997.648131\n",
- "20 6 2022-09-29 7995.923171\n",
- "21 7 2022-09-27 8997.53187\n",
- "22 7 2022-09-28 8997.559264\n",
- "23 7 2022-09-29 8995.845535\n",
- "24 8 2022-09-27 9997.5219\n",
- "25 8 2022-09-28 9997.546915\n",
- "26 8 2022-09-29 9995.828639\n",
- "27 9 2022-09-27 10997.380235\n",
- "28 9 2022-09-28 10997.403622\n",
- "29 9 2022-09-29 10995.683994"
- ]
- },
- "execution_count": 65,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "current_pred"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Backtest validation of pipeline"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 66,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0:\tlearn: 0.9616026\ttest: 0.9653712\tbest: 0.9653712 (0)\ttotal: 8.42ms\tremaining: 8.41s\n",
- "500:\tlearn: 0.0042762\ttest: 0.0045139\tbest: 0.0045139 (500)\ttotal: 1.2s\tremaining: 1.19s\n",
- "999:\tlearn: 0.0026729\ttest: 0.0029726\tbest: 0.0029726 (999)\ttotal: 2.44s\tremaining: 0us\n",
- "\n",
- "bestTest = 0.002972644218\n",
- "bestIteration = 999\n",
- "\n",
- "Fold 0:\n",
- "MultiRMSE: 0.0029726442175072565\n",
- "0:\tlearn: 0.9646266\ttest: 0.9624752\tbest: 0.9624752 (0)\ttotal: 5.31ms\tremaining: 5.31s\n",
- "500:\tlearn: 0.0043855\ttest: 0.0045979\tbest: 0.0045979 (500)\ttotal: 1.2s\tremaining: 1.19s\n",
- "999:\tlearn: 0.0026660\ttest: 0.0029718\tbest: 0.0029718 (999)\ttotal: 2.44s\tremaining: 0us\n",
- "\n",
- "bestTest = 0.002971764957\n",
- "bestIteration = 999\n",
- "\n",
- "Fold 1:\n",
- "MultiRMSE: 0.002971764957214351\n",
- "Mean MultiRMSE: 0.003\n",
- "Std: 0.0\n"
- ]
- }
- ],
- "source": [
- "ids, test, pred, fit_time, forecast_time = strategy.back_test(dataset, cv=1)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 67,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " y_true_1 \n",
- " y_pred_1 \n",
- " id_1 \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 1997.0 \n",
- " 1993.68704 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 1998.0 \n",
- " 1994.202883 \n",
- " 0 \n",
- " \n",
- " \n",
- " 2 \n",
- " 1999.0 \n",
- " 1994.669445 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2997.0 \n",
- " 2993.991901 \n",
- " 1 \n",
- " \n",
- " \n",
- " 4 \n",
- " 2998.0 \n",
- " 2994.586288 \n",
- " 1 \n",
- " \n",
- " \n",
- " 5 \n",
- " 2999.0 \n",
- " 2995.082926 \n",
- " 1 \n",
- " \n",
- " \n",
- " 6 \n",
- " 3997.0 \n",
- " 3993.914717 \n",
- " 2 \n",
- " \n",
- " \n",
- " 7 \n",
- " 3998.0 \n",
- " 3994.509697 \n",
- " 2 \n",
- " \n",
- " \n",
- " 8 \n",
- " 3999.0 \n",
- " 3995.015013 \n",
- " 2 \n",
- " \n",
- " \n",
- " 9 \n",
- " 4997.0 \n",
- " 4994.022114 \n",
- " 3 \n",
- " \n",
- " \n",
- " 10 \n",
- " 4998.0 \n",
- " 4994.615917 \n",
- " 3 \n",
- " \n",
- " \n",
- " 11 \n",
- " 4999.0 \n",
- " 4995.170471 \n",
- " 3 \n",
- " \n",
- " \n",
- " 12 \n",
- " 5997.0 \n",
- " 5994.175996 \n",
- " 4 \n",
- " \n",
- " \n",
- " 13 \n",
- " 5998.0 \n",
- " 5994.779734 \n",
- " 4 \n",
- " \n",
- " \n",
- " 14 \n",
- " 5999.0 \n",
- " 5995.319329 \n",
- " 4 \n",
- " \n",
- " \n",
- " 15 \n",
- " 6997.0 \n",
- " 6994.179421 \n",
- " 5 \n",
- " \n",
- " \n",
- " 16 \n",
- " 6998.0 \n",
- " 6994.784167 \n",
- " 5 \n",
- " \n",
- " \n",
- " 17 \n",
- " 6999.0 \n",
- " 6995.312331 \n",
- " 5 \n",
- " \n",
- " \n",
- " 18 \n",
- " 7997.0 \n",
- " 7994.113358 \n",
- " 6 \n",
- " \n",
- " \n",
- " 19 \n",
- " 7998.0 \n",
- " 7994.705541 \n",
- " 6 \n",
- " \n",
- " \n",
- " 20 \n",
- " 7999.0 \n",
- " 7995.236341 \n",
- " 6 \n",
- " \n",
- " \n",
- " 21 \n",
- " 8997.0 \n",
- " 8993.839156 \n",
- " 7 \n",
- " \n",
- " \n",
- " 22 \n",
- " 8998.0 \n",
- " 8994.431338 \n",
- " 7 \n",
- " \n",
- " \n",
- " 23 \n",
- " 8999.0 \n",
- " 8995.147741 \n",
- " 7 \n",
- " \n",
- " \n",
- " 24 \n",
- " 9997.0 \n",
- " 9993.838821 \n",
- " 8 \n",
- " \n",
- " \n",
- " 25 \n",
- " 9998.0 \n",
- " 9994.4268 \n",
- " 8 \n",
- " \n",
- " \n",
- " 26 \n",
- " 9999.0 \n",
- " 9995.1378 \n",
- " 8 \n",
- " \n",
- " \n",
- " 27 \n",
- " 10997.0 \n",
- " 10993.687397 \n",
- " 9 \n",
- " \n",
- " \n",
- " 28 \n",
- " 10998.0 \n",
- " 10994.270971 \n",
- " 9 \n",
- " \n",
- " \n",
- " 29 \n",
- " 10999.0 \n",
- " 10994.990313 \n",
- " 9 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " y_true_1 y_pred_1 id_1\n",
- "0 1997.0 1993.68704 0\n",
- "1 1998.0 1994.202883 0\n",
- "2 1999.0 1994.669445 0\n",
- "3 2997.0 2993.991901 1\n",
- "4 2998.0 2994.586288 1\n",
- "5 2999.0 2995.082926 1\n",
- "6 3997.0 3993.914717 2\n",
- "7 3998.0 3994.509697 2\n",
- "8 3999.0 3995.015013 2\n",
- "9 4997.0 4994.022114 3\n",
- "10 4998.0 4994.615917 3\n",
- "11 4999.0 4995.170471 3\n",
- "12 5997.0 5994.175996 4\n",
- "13 5998.0 5994.779734 4\n",
- "14 5999.0 5995.319329 4\n",
- "15 6997.0 6994.179421 5\n",
- "16 6998.0 6994.784167 5\n",
- "17 6999.0 6995.312331 5\n",
- "18 7997.0 7994.113358 6\n",
- "19 7998.0 7994.705541 6\n",
- "20 7999.0 7995.236341 6\n",
- "21 8997.0 8993.839156 7\n",
- "22 8998.0 8994.431338 7\n",
- "23 8999.0 8995.147741 7\n",
- "24 9997.0 9993.838821 8\n",
- "25 9998.0 9994.4268 8\n",
- "26 9999.0 9995.1378 8\n",
- "27 10997.0 10993.687397 9\n",
- "28 10998.0 10994.270971 9\n",
- "29 10999.0 10994.990313 9"
- ]
- },
- "execution_count": 67,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "get_results(cv=1, regime=\"global\", y_true=test, y_pred=pred, ids=ids)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Working with raw time series' granularity"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Time series come in different granularities, from hourly and daily time series to more complex ones such as the end of each quarter.\n",
- "\n",
- "If the rows do not contain segments that are too short (that are shorter than history + horizon), then `tsururu` will try to extract the row granularity on its own. We currently support the following types:\n",
- "\n",
- "- Yearly (and YearlyEnd)\n",
- "- Quarterly (and Quarterly)\n",
- "- Monthly (and MonthlyEnd)\n",
- "- Weekly\n",
- "- Daily\n",
- "- Hourly\n",
- "- Minlutely\n",
- "- Secondly\n",
- "- Microsecondly\n",
- "\n",
- "There is also support for compound granularities (10 days, 15 minutes, 32 seconds, etc.). The correctness of the selected granularity can be checked from the output after the `Dataset` class has been created.\n",
- "\n",
- "However, there are tricky situations (e.g. 28 days) where the monthly granularity may be guessed incorrectly. Therefore, it is possible to set your own granularity using the `pd.DateOffset` class or related classes from `pandas.tseries.offsets`, which must be fed as `delta` parameter into the `Dataset` class. Then the time column will be processed according to the user's settings."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Consider a time series where each point is exactly __28 daily points away__ from each other"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 68,
- "metadata": {},
- "outputs": [],
- "source": [
- "df_path_2 = \"datasets/global/simulated_data_to_check_28D.csv\"\n",
- "\n",
- "# Configure the features settings\n",
- "dataset_params_2 = {\n",
- " \"target\": {\n",
- " \"columns\": [\"value\"],\n",
- " \"type\": \"continious\",\n",
- " },\n",
- " \"date\": {\n",
- " \"columns\": [\"date\"],\n",
- " \"type\": \"datetime\",\n",
- " },\n",
- " \"id\": {\n",
- " \"columns\": [\"id\"],\n",
- " \"type\": \"categorical\",\n",
- " }\n",
- "}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 69,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "freq: Month; period: 1.0\n"
- ]
- }
- ],
- "source": [
- "dataset_2 = TSDataset(\n",
- " data=pd.read_csv(df_path_2),\n",
- " columns_params=dataset_params_2,\n",
- " print_freq_period_info=True,\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We see that the frequency of the series is incorrectly defined as monthly. Let's try to pass the `delta` parameter."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 70,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Custom OffSet: \n"
- ]
- }
- ],
- "source": [
- "dataset_2 = TSDataset(\n",
- " data=pd.read_csv(df_path_2),\n",
- " columns_params=dataset_params_2,\n",
- " delta=pd.DateOffset(days=28),\n",
- " print_freq_period_info=True,\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now it's all detected correctly."
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "tsururu",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.9.18"
- },
- "orig_nbformat": 4
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
diff --git a/datasets/global/demand_forecasting_kernels.csv b/datasets/global/demand_forecasting_kernels.csv
new file mode 100644
index 0000000..06c539c
--- /dev/null
+++ b/datasets/global/demand_forecasting_kernels.csv
@@ -0,0 +1,18261 @@
+date,value,id
+2013-01-01,48,0
+2013-01-02,44,0
+2013-01-03,60,0
+2013-01-04,56,0
+2013-01-05,50,0
+2013-01-06,63,0
+2013-01-07,27,0
+2013-01-08,54,0
+2013-01-09,55,0
+2013-01-10,45,0
+2013-01-11,53,0
+2013-01-12,60,0
+2013-01-13,7888,0
+2013-01-14,44,0
+2013-01-15,41,0
+2013-01-16,54,0
+2013-01-17,51,0
+2013-01-18,54,0
+2013-01-19,71,0
+2013-01-20,57,0
+2013-01-21,36,0
+2013-01-22,56,0
+2013-01-23,52,0
+2013-01-24,45,0
+2013-01-25,57,0
+2013-01-26,67,0
+2013-01-27,61,0
+2013-01-28,37,0
+2013-01-29,58,0
+2013-01-30,40,0
+2013-01-31,49,0
+2013-02-01,67,0
+2013-02-02,70,0
+2013-02-03,70,0
+2013-02-04,38,0
+2013-02-05,45,0
+2013-02-06,61,0
+2013-02-07,44,0
+2013-02-08,63,0
+2013-02-09,72,0
+2013-02-10,85,0
+2013-02-11,45,0
+2013-02-12,43,0
+2013-02-13,43,0
+2013-02-14,38,0
+2013-02-15,65,0
+2013-02-16,72,0
+2013-02-17,59,0
+2013-02-18,38,0
+2013-02-19,60,0
+2013-02-20,45,0
+2013-02-21,73,0
+2013-02-22,48,0
+2013-02-23,78,0
+2013-02-24,66,0
+2013-02-25,49,0
+2013-02-26,57,0
+2013-02-27,34,0
+2013-02-28,72,0
+2013-03-01,85,0
+2013-03-02,88,0
+2013-03-03,90,0
+2013-03-04,39,0
+2013-03-05,77,0
+2013-03-06,65,0
+2013-03-07,61,0
+2013-03-08,70,0
+2013-03-09,79,0
+2013-03-10,68,0
+2013-03-11,54,0
+2013-03-12,57,0
+2013-03-13,56,0
+2013-03-14,71,0
+2013-03-15,75,0
+2013-03-16,69,0
+2013-03-17,93,0
+2013-03-18,58,0
+2013-03-19,76,0
+2013-03-20,74,0
+2013-03-21,64,0
+2013-03-22,57,0
+2013-03-23,91,0
+2013-03-24,91,0
+2013-03-25,56,0
+2013-03-26,71,0
+2013-03-27,66,0
+2013-03-28,56,0
+2013-03-29,76,0
+2013-03-30,83,0
+2013-03-31,96,0
+2013-04-01,75,0
+2013-04-02,67,0
+2013-04-03,80,0
+2013-04-04,65,0
+2013-04-05,94,0
+2013-04-06,76,0
+2013-04-07,86,0
+2013-04-08,61,0
+2013-04-09,83,0
+2013-04-10,70,0
+2013-04-11,75,0
+2013-04-12,89,0
+2013-04-13,94,0
+2013-04-14,105,0
+2013-04-15,71,0
+2013-04-16,70,0
+2013-04-17,76,0
+2013-04-18,78,0
+2013-04-19,69,0
+2013-04-20,80,0
+2013-04-21,100,0
+2013-04-22,60,0
+2013-04-23,66,0
+2013-04-24,96,0
+2013-04-25,67,0
+2013-04-26,83,0
+2013-04-27,81,0
+2013-04-28,89,0
+2013-04-29,68,0
+2013-04-30,59,0
+2013-05-01,98,0
+2013-05-02,82,0
+2013-05-03,97,0
+2013-05-04,84,0
+2013-05-05,90,0
+2013-05-06,74,0
+2013-05-07,76,0
+2013-05-08,66,0
+2013-05-09,87,0
+2013-05-10,86,0
+2013-05-11,95,0
+2013-05-12,82,0
+2013-05-13,62,0
+2013-05-14,74,0
+2013-05-15,70,0
+2013-05-16,73,0
+2013-05-17,113,0
+2013-05-18,110,0
+2013-05-19,93,0
+2013-05-20,63,0
+2013-05-21,79,0
+2013-05-22,74,0
+2013-05-23,93,0
+2013-05-24,99,0
+2013-05-25,107,0
+2013-05-26,101,0
+2013-05-27,78,0
+2013-05-28,67,0
+2013-05-29,79,0
+2013-05-30,78,0
+2013-05-31,103,0
+2013-06-01,104,0
+2013-06-02,102,0
+2013-06-03,63,0
+2013-06-04,72,0
+2013-06-05,78,0
+2013-06-06,97,0
+2013-06-07,91,0
+2013-06-08,104,0
+2013-06-09,108,0
+2013-06-10,73,0
+2013-06-11,86,0
+2013-06-12,76,0
+2013-06-13,81,0
+2013-06-14,96,0
+2013-06-15,99,0
+2013-06-16,108,0
+2013-06-17,58,0
+2013-06-18,93,0
+2013-06-19,95,0
+2013-06-20,102,0
+2013-06-21,107,0
+2013-06-22,106,0
+2013-06-23,101,0
+2013-06-24,80,0
+2013-06-25,78,0
+2013-06-26,87,0
+2013-06-27,89,0
+2013-06-28,96,0
+2013-06-29,98,0
+2013-06-30,87,0
+2013-07-01,87,0
+2013-07-02,80,0
+2013-07-03,100,0
+2013-07-04,100,0
+2013-07-05,101,0
+2013-07-06,129,0
+2013-07-07,103,0
+2013-07-08,78,0
+2013-07-09,75,0
+2013-07-10,75,0
+2013-07-11,94,0
+2013-07-12,99,0
+2013-07-13,88,0
+2013-07-14,112,0
+2013-07-15,85,0
+2013-07-16,95,0
+2013-07-17,91,0
+2013-07-18,92,0
+2013-07-19,108,0
+2013-07-20,103,0
+2013-07-21,125,0
+2013-07-22,82,0
+2013-07-23,90,0
+2013-07-24,91,0
+2013-07-25,106,0
+2013-07-26,85,0
+2013-07-27,101,0
+2013-07-28,123,0
+2013-07-29,85,0
+2013-07-30,92,0
+2013-07-31,83,0
+2013-08-01,99,0
+2013-08-02,97,0
+2013-08-03,84,0
+2013-08-04,103,0
+2013-08-05,70,0
+2013-08-06,76,0
+2013-08-07,85,0
+2013-08-08,88,0
+2013-08-09,90,0
+2013-08-10,107,0
+2013-08-11,107,0
+2013-08-12,74,0
+2013-08-13,92,0
+2013-08-14,74,0
+2013-08-15,95,0
+2013-08-16,82,0
+2013-08-17,99,0
+2013-08-18,70,0
+2013-08-19,63,0
+2013-08-20,81,0
+2013-08-21,79,0
+2013-08-22,96,0
+2013-08-23,83,0
+2013-08-24,89,0
+2013-08-25,78,0
+2013-08-26,73,0
+2013-08-27,53,0
+2013-08-28,96,0
+2013-08-29,97,0
+2013-08-30,103,0
+2013-08-31,85,0
+2013-09-01,106,0
+2013-09-02,76,0
+2013-09-03,60,0
+2013-09-04,65,0
+2013-09-05,90,0
+2013-09-06,76,0
+2013-09-07,73,0
+2013-09-08,103,0
+2013-09-09,56,0
+2013-09-10,84,0
+2013-09-11,76,0
+2013-09-12,72,0
+2013-09-13,84,0
+2013-09-14,102,0
+2013-09-15,96,0
+2013-09-16,72,0
+2013-09-17,89,0
+2013-09-18,79,0
+2013-09-19,81,0
+2013-09-20,72,0
+2013-09-21,84,0
+2013-09-22,108,0
+2013-09-23,62,0
+2013-09-24,71,0
+2013-09-25,69,0
+2013-09-26,89,0
+2013-09-27,94,0
+2013-09-28,87,0
+2013-09-29,103,0
+2013-09-30,74,0
+2013-10-01,58,0
+2013-10-02,73,0
+2013-10-03,77,0
+2013-10-04,76,0
+2013-10-05,74,0
+2013-10-06,94,0
+2013-10-07,56,0
+2013-10-08,66,0
+2013-10-09,55,0
+2013-10-10,81,0
+2013-10-11,74,0
+2013-10-12,94,0
+2013-10-13,79,0
+2013-10-14,55,0
+2013-10-15,66,0
+2013-10-16,67,0
+2013-10-17,77,0
+2013-10-18,89,0
+2013-10-19,86,0
+2013-10-20,86,0
+2013-10-21,62,0
+2013-10-22,65,0
+2013-10-23,76,0
+2013-10-24,76,0
+2013-10-25,92,0
+2013-10-26,96,0
+2013-10-27,85,0
+2013-10-28,62,0
+2013-10-29,100,0
+2013-10-30,76,0
+2013-10-31,81,0
+2013-11-01,68,0
+2013-11-02,77,0
+2013-11-03,97,0
+2013-11-04,63,0
+2013-11-05,79,0
+2013-11-06,77,0
+2013-11-07,77,0
+2013-11-08,86,0
+2013-11-09,81,0
+2013-11-10,97,0
+2013-11-11,54,0
+2013-11-12,71,0
+2013-11-13,78,0
+2013-11-14,78,0
+2013-11-15,70,0
+2013-11-16,87,0
+2013-11-17,103,0
+2013-11-18,70,0
+2013-11-19,68,0
+2013-11-20,75,0
+2013-11-21,95,0
+2013-11-22,82,0
+2013-11-23,95,0
+2013-11-24,101,0
+2013-11-25,65,0
+2013-11-26,58,0
+2013-11-27,69,0
+2013-11-28,74,0
+2013-11-29,90,0
+2013-11-30,91,0
+2013-12-01,73,0
+2013-12-02,48,0
+2013-12-03,43,0
+2013-12-04,59,0
+2013-12-05,54,0
+2013-12-06,53,0
+2013-12-07,69,0
+2013-12-08,53,0
+2013-12-09,41,0
+2013-12-10,53,0
+2013-12-11,51,0
+2013-12-12,58,0
+2013-12-13,60,0
+2013-12-14,68,0
+2013-12-15,68,0
+2013-12-16,41,0
+2013-12-17,50,0
+2013-12-18,51,0
+2013-12-19,57,0
+2013-12-20,62,0
+2013-12-21,63,0
+2013-12-22,57,0
+2013-12-23,45,0
+2013-12-24,42,0
+2013-12-25,51,0
+2013-12-26,75,0
+2013-12-27,38,0
+2013-12-28,61,0
+2013-12-29,80,0
+2013-12-30,34,0
+2013-12-31,59,0
+2014-01-01,64,0
+2014-01-02,65,0
+2014-01-03,76,0
+2014-01-04,53,0
+2014-01-05,79,0
+2014-01-06,51,0
+2014-01-07,52,0
+2014-01-08,55,0
+2014-01-09,63,0
+2014-01-10,67,0
+2014-01-11,62,0
+2014-01-12,65,0
+2014-01-13,36,0
+2014-01-14,56,0
+2014-01-15,50,0
+2014-01-16,56,0
+2014-01-17,57,0
+2014-01-18,59,0
+2014-01-19,50,0
+2014-01-20,40,0
+2014-01-21,51,0
+2014-01-22,57,0
+2014-01-23,53,0
+2014-01-24,62,0
+2014-01-25,71,0
+2014-01-26,76,0
+2014-01-27,57,0
+2014-01-28,51,0
+2014-01-29,61,0
+2014-01-30,57,0
+2014-01-31,62,0
+2014-02-01,67,0
+2014-02-02,84,0
+2014-02-03,41,0
+2014-02-04,61,0
+2014-02-05,67,0
+2014-02-06,71,0
+2014-02-07,61,0
+2014-02-08,83,0
+2014-02-09,83,0
+2014-02-10,48,0
+2014-02-11,68,0
+2014-02-12,78,0
+2014-02-13,68,0
+2014-02-14,65,0
+2014-02-15,69,0
+2014-02-16,73,0
+2014-02-17,47,0
+2014-02-18,61,0
+2014-02-19,59,0
+2014-02-20,51,0
+2014-02-21,51,0
+2014-02-22,79,0
+2014-02-23,82,0
+2014-02-24,52,0
+2014-02-25,52,0
+2014-02-26,58,0
+2014-02-27,59,0
+2014-02-28,74,0
+2014-03-01,95,0
+2014-03-02,90,0
+2014-03-03,53,0
+2014-03-04,81,0
+2014-03-05,66,0
+2014-03-06,79,0
+2014-03-07,94,0
+2014-03-08,78,0
+2014-03-09,105,0
+2014-03-10,56,0
+2014-03-11,79,0
+2014-03-12,86,0
+2014-03-13,72,0
+2014-03-14,87,0
+2014-03-15,80,0
+2014-03-16,108,0
+2014-03-17,80,0
+2014-03-18,68,0
+2014-03-19,65,0
+2014-03-20,70,0
+2014-03-21,91,0
+2014-03-22,86,0
+2014-03-23,89,0
+2014-03-24,66,0
+2014-03-25,81,0
+2014-03-26,78,0
+2014-03-27,80,0
+2014-03-28,91,0
+2014-03-29,80,0
+2014-03-30,99,0
+2014-03-31,58,0
+2014-04-01,71,0
+2014-04-02,84,0
+2014-04-03,97,0
+2014-04-04,116,0
+2014-04-05,81,0
+2014-04-06,116,0
+2014-04-07,84,0
+2014-04-08,81,0
+2014-04-09,88,0
+2014-04-10,98,0
+2014-04-11,106,0
+2014-04-12,109,0
+2014-04-13,130,0
+2014-04-14,68,0
+2014-04-15,85,0
+2014-04-16,79,0
+2014-04-17,85,0
+2014-04-18,97,0
+2014-04-19,91,0
+2014-04-20,98,0
+2014-04-21,92,0
+2014-04-22,84,0
+2014-04-23,88,0
+2014-04-24,87,0
+2014-04-25,99,0
+2014-04-26,107,0
+2014-04-27,118,0
+2014-04-28,75,0
+2014-04-29,76,0
+2014-04-30,97,0
+2014-05-01,82,0
+2014-05-02,98,0
+2014-05-03,109,0
+2014-05-04,109,0
+2014-05-05,73,0
+2014-05-06,96,0
+2014-05-07,99,0
+2014-05-08,85,0
+2014-05-09,90,0
+2014-05-10,104,0
+2014-05-11,128,0
+2014-05-12,83,0
+2014-05-13,85,0
+2014-05-14,95,0
+2014-05-15,96,0
+2014-05-16,104,0
+2014-05-17,120,0
+2014-05-18,118,0
+2014-05-19,91,0
+2014-05-20,88,0
+2014-05-21,96,0
+2014-05-22,91,0
+2014-05-23,81,0
+2014-05-24,116,0
+2014-05-25,128,0
+2014-05-26,83,0
+2014-05-27,87,0
+2014-05-28,83,0
+2014-05-29,79,0
+2014-05-30,100,0
+2014-05-31,105,0
+2014-06-01,129,0
+2014-06-02,86,0
+2014-06-03,93,0
+2014-06-04,79,0
+2014-06-05,88,0
+2014-06-06,89,0
+2014-06-07,115,0
+2014-06-08,132,0
+2014-06-09,83,0
+2014-06-10,99,0
+2014-06-11,109,0
+2014-06-12,116,0
+2014-06-13,109,0
+2014-06-14,136,0
+2014-06-15,130,0
+2014-06-16,84,0
+2014-06-17,102,0
+2014-06-18,96,0
+2014-06-19,99,0
+2014-06-20,118,0
+2014-06-21,124,0
+2014-06-22,105,0
+2014-06-23,72,0
+2014-06-24,79,0
+2014-06-25,91,0
+2014-06-26,122,0
+2014-06-27,105,0
+2014-06-28,101,0
+2014-06-29,119,0
+2014-06-30,69,0
+2014-07-01,81,0
+2014-07-02,110,0
+2014-07-03,100,0
+2014-07-04,133,0
+2014-07-05,112,0
+2014-07-06,131,0
+2014-07-07,83,0
+2014-07-08,86,0
+2014-07-09,105,0
+2014-07-10,112,0
+2014-07-11,129,0
+2014-07-12,131,0
+2014-07-13,159,0
+2014-07-14,83,0
+2014-07-15,102,0
+2014-07-16,109,0
+2014-07-17,109,0
+2014-07-18,116,0
+2014-07-19,125,0
+2014-07-20,127,0
+2014-07-21,82,0
+2014-07-22,107,0
+2014-07-23,109,0
+2014-07-24,102,0
+2014-07-25,135,0
+2014-07-26,122,0
+2014-07-27,114,0
+2014-07-28,72,0
+2014-07-29,100,0
+2014-07-30,110,0
+2014-07-31,112,0
+2014-08-01,122,0
+2014-08-02,123,0
+2014-08-03,135,0
+2014-08-04,69,0
+2014-08-05,93,0
+2014-08-06,95,0
+2014-08-07,98,0
+2014-08-08,84,0
+2014-08-09,90,0
+2014-08-10,109,0
+2014-08-11,79,0
+2014-08-12,94,0
+2014-08-13,97,0
+2014-08-14,103,0
+2014-08-15,99,0
+2014-08-16,114,0
+2014-08-17,126,0
+2014-08-18,74,0
+2014-08-19,89,0
+2014-08-20,85,0
+2014-08-21,98,0
+2014-08-22,121,0
+2014-08-23,111,0
+2014-08-24,109,0
+2014-08-25,74,0
+2014-08-26,78,0
+2014-08-27,86,0
+2014-08-28,80,0
+2014-08-29,98,0
+2014-08-30,120,0
+2014-08-31,113,0
+2014-09-01,82,0
+2014-09-02,91,0
+2014-09-03,87,0
+2014-09-04,87,0
+2014-09-05,100,0
+2014-09-06,92,0
+2014-09-07,116,0
+2014-09-08,66,0
+2014-09-09,99,0
+2014-09-10,71,0
+2014-09-11,74,0
+2014-09-12,98,0
+2014-09-13,119,0
+2014-09-14,103,0
+2014-09-15,71,0
+2014-09-16,101,0
+2014-09-17,101,0
+2014-09-18,86,0
+2014-09-19,88,0
+2014-09-20,113,0
+2014-09-21,102,0
+2014-09-22,74,0
+2014-09-23,88,0
+2014-09-24,78,0
+2014-09-25,98,0
+2014-09-26,92,0
+2014-09-27,105,0
+2014-09-28,113,0
+2014-09-29,87,0
+2014-09-30,97,0
+2014-10-01,76,0
+2014-10-02,86,0
+2014-10-03,73,0
+2014-10-04,88,0
+2014-10-05,97,0
+2014-10-06,62,0
+2014-10-07,74,0
+2014-10-08,81,0
+2014-10-09,84,0
+2014-10-10,97,0
+2014-10-11,97,0
+2014-10-12,106,0
+2014-10-13,57,0
+2014-10-14,82,0
+2014-10-15,76,0
+2014-10-16,89,0
+2014-10-17,88,0
+2014-10-18,94,0
+2014-10-19,109,0
+2014-10-20,58,0
+2014-10-21,89,0
+2014-10-22,86,0
+2014-10-23,85,0
+2014-10-24,94,0
+2014-10-25,82,0
+2014-10-26,89,0
+2014-10-27,58,0
+2014-10-28,81,0
+2014-10-29,99,0
+2014-10-30,83,0
+2014-10-31,100,0
+2014-11-01,103,0
+2014-11-02,121,0
+2014-11-03,68,0
+2014-11-04,89,0
+2014-11-05,96,0
+2014-11-06,108,0
+2014-11-07,107,0
+2014-11-08,102,0
+2014-11-09,111,0
+2014-11-10,74,0
+2014-11-11,91,0
+2014-11-12,87,0
+2014-11-13,90,0
+2014-11-14,100,0
+2014-11-15,93,0
+2014-11-16,124,0
+2014-11-17,67,0
+2014-11-18,92,0
+2014-11-19,88,0
+2014-11-20,92,0
+2014-11-21,92,0
+2014-11-22,126,0
+2014-11-23,106,0
+2014-11-24,75,0
+2014-11-25,95,0
+2014-11-26,80,0
+2014-11-27,84,0
+2014-11-28,86,0
+2014-11-29,110,0
+2014-11-30,104,0
+2014-12-01,48,0
+2014-12-02,59,0
+2014-12-03,65,0
+2014-12-04,50,0
+2014-12-05,70,0
+2014-12-06,94,0
+2014-12-07,103,0
+2014-12-08,60,0
+2014-12-09,53,0
+2014-12-10,74,0
+2014-12-11,70,0
+2014-12-12,58,0
+2014-12-13,80,0
+2014-12-14,77,0
+2014-12-15,46,0
+2014-12-16,65,0
+2014-12-17,84,0
+2014-12-18,63,0
+2014-12-19,55,0
+2014-12-20,77,0
+2014-12-21,83,0
+2014-12-22,49,0
+2014-12-23,61,0
+2014-12-24,57,0
+2014-12-25,80,0
+2014-12-26,59,0
+2014-12-27,66,0
+2014-12-28,82,0
+2014-12-29,56,0
+2014-12-30,60,0
+2014-12-31,71,0
+2015-01-01,53,0
+2015-01-02,69,0
+2015-01-03,72,0
+2015-01-04,72,0
+2015-01-05,51,0
+2015-01-06,51,0
+2015-01-07,57,0
+2015-01-08,61,0
+2015-01-09,62,0
+2015-01-10,67,0
+2015-01-11,82,0
+2015-01-12,41,0
+2015-01-13,63,0
+2015-01-14,49,0
+2015-01-15,65,0
+2015-01-16,62,0
+2015-01-17,68,0
+2015-01-18,71,0
+2015-01-19,58,0
+2015-01-20,38,0
+2015-01-21,61,0
+2015-01-22,55,0
+2015-01-23,70,0
+2015-01-24,71,0
+2015-01-25,86,0
+2015-01-26,41,0
+2015-01-27,61,0
+2015-01-28,55,0
+2015-01-29,55,0
+2015-01-30,58,0
+2015-01-31,67,0
+2015-02-01,84,0
+2015-02-02,46,0
+2015-02-03,57,0
+2015-02-04,55,0
+2015-02-05,83,0
+2015-02-06,65,0
+2015-02-07,83,0
+2015-02-08,85,0
+2015-02-09,50,0
+2015-02-10,63,0
+2015-02-11,58,0
+2015-02-12,76,0
+2015-02-13,79,0
+2015-02-14,75,0
+2015-02-15,93,0
+2015-02-16,52,0
+2015-02-17,66,0
+2015-02-18,74,0
+2015-02-19,56,0
+2015-02-20,97,0
+2015-02-21,80,0
+2015-02-22,76,0
+2015-02-23,50,0
+2015-02-24,71,0
+2015-02-25,53,0
+2015-02-26,56,0
+2015-02-27,78,0
+2015-02-28,74,0
+2015-03-01,101,0
+2015-03-02,81,0
+2015-03-03,76,0
+2015-03-04,69,0
+2015-03-05,69,0
+2015-03-06,90,0
+2015-03-07,95,0
+2015-03-08,92,0
+2015-03-09,49,0
+2015-03-10,56,0
+2015-03-11,79,0
+2015-03-12,76,0
+2015-03-13,87,0
+2015-03-14,86,0
+2015-03-15,107,0
+2015-03-16,61,0
+2015-03-17,77,0
+2015-03-18,78,0
+2015-03-19,80,0
+2015-03-20,96,0
+2015-03-21,83,0
+2015-03-22,110,0
+2015-03-23,61,0
+2015-03-24,76,0
+2015-03-25,87,0
+2015-03-26,61,0
+2015-03-27,87,0
+2015-03-28,95,0
+2015-03-29,98,0
+2015-03-30,71,0
+2015-03-31,73,0
+2015-04-01,75,0
+2015-04-02,99,0
+2015-04-03,118,0
+2015-04-04,112,0
+2015-04-05,97,0
+2015-04-06,69,0
+2015-04-07,102,0
+2015-04-08,86,0
+2015-04-09,86,0
+2015-04-10,109,0
+2015-04-11,104,0
+2015-04-12,128,0
+2015-04-13,83,0
+2015-04-14,84,0
+2015-04-15,83,0
+2015-04-16,99,0
+2015-04-17,106,0
+2015-04-18,107,0
+2015-04-19,111,0
+2015-04-20,73,0
+2015-04-21,80,0
+2015-04-22,78,0
+2015-04-23,83,0
+2015-04-24,93,0
+2015-04-25,101,0
+2015-04-26,113,0
+2015-04-27,73,0
+2015-04-28,96,0
+2015-04-29,94,0
+2015-04-30,110,0
+2015-05-01,105,0
+2015-05-02,115,0
+2015-05-03,121,0
+2015-05-04,87,0
+2015-05-05,99,0
+2015-05-06,107,0
+2015-05-07,107,0
+2015-05-08,108,0
+2015-05-09,108,0
+2015-05-10,141,0
+2015-05-11,91,0
+2015-05-12,111,0
+2015-05-13,93,0
+2015-05-14,102,0
+2015-05-15,109,0
+2015-05-16,118,0
+2015-05-17,127,0
+2015-05-18,80,0
+2015-05-19,96,0
+2015-05-20,98,0
+2015-05-21,100,0
+2015-05-22,101,0
+2015-05-23,106,0
+2015-05-24,128,0
+2015-05-25,76,0
+2015-05-26,101,0
+2015-05-27,98,0
+2015-05-28,105,0
+2015-05-29,109,0
+2015-05-30,108,0
+2015-05-31,126,0
+2015-06-01,70,0
+2015-06-02,101,0
+2015-06-03,100,0
+2015-06-04,94,0
+2015-06-05,88,0
+2015-06-06,144,0
+2015-06-07,128,0
+2015-06-08,90,0
+2015-06-09,103,0
+2015-06-10,105,0
+2015-06-11,113,0
+2015-06-12,144,0
+2015-06-13,113,0
+2015-06-14,141,0
+2015-06-15,82,0
+2015-06-16,105,0
+2015-06-17,101,0
+2015-06-18,107,0
+2015-06-19,139,0
+2015-06-20,117,0
+2015-06-21,139,0
+2015-06-22,79,0
+2015-06-23,102,0
+2015-06-24,115,0
+2015-06-25,104,0
+2015-06-26,113,0
+2015-06-27,114,0
+2015-06-28,137,0
+2015-06-29,93,0
+2015-06-30,81,0
+2015-07-01,90,0
+2015-07-02,109,0
+2015-07-03,121,0
+2015-07-04,135,0
+2015-07-05,150,0
+2015-07-06,104,0
+2015-07-07,114,0
+2015-07-08,115,0
+2015-07-09,116,0
+2015-07-10,123,0
+2015-07-11,148,0
+2015-07-12,146,0
+2015-07-13,84,0
+2015-07-14,134,0
+2015-07-15,95,0
+2015-07-16,113,0
+2015-07-17,108,0
+2015-07-18,123,0
+2015-07-19,163,0
+2015-07-20,76,0
+2015-07-21,104,0
+2015-07-22,108,0
+2015-07-23,113,0
+2015-07-24,118,0
+2015-07-25,125,0
+2015-07-26,129,0
+2015-07-27,91,0
+2015-07-28,108,0
+2015-07-29,126,0
+2015-07-30,115,0
+2015-07-31,146,0
+2015-08-01,107,0
+2015-08-02,117,0
+2015-08-03,75,0
+2015-08-04,84,0
+2015-08-05,81,0
+2015-08-06,103,0
+2015-08-07,109,0
+2015-08-08,106,0
+2015-08-09,120,0
+2015-08-10,95,0
+2015-08-11,81,0
+2015-08-12,91,0
+2015-08-13,108,0
+2015-08-14,102,0
+2015-08-15,121,0
+2015-08-16,109,0
+2015-08-17,80,0
+2015-08-18,71,0
+2015-08-19,101,0
+2015-08-20,98,0
+2015-08-21,103,0
+2015-08-22,131,0
+2015-08-23,97,0
+2015-08-24,79,0
+2015-08-25,104,0
+2015-08-26,84,0
+2015-08-27,113,0
+2015-08-28,127,0
+2015-08-29,121,0
+2015-08-30,121,0
+2015-08-31,78,0
+2015-09-01,68,0
+2015-09-02,100,0
+2015-09-03,87,0
+2015-09-04,96,0
+2015-09-05,110,0
+2015-09-06,100,0
+2015-09-07,53,0
+2015-09-08,79,0
+2015-09-09,84,0
+2015-09-10,101,0
+2015-09-11,97,0
+2015-09-12,110,0
+2015-09-13,120,0
+2015-09-14,80,0
+2015-09-15,104,0
+2015-09-16,95,0
+2015-09-17,105,0
+2015-09-18,113,0
+2015-09-19,118,0
+2015-09-20,115,0
+2015-09-21,67,0
+2015-09-22,82,0
+2015-09-23,76,0
+2015-09-24,87,0
+2015-09-25,96,0
+2015-09-26,115,0
+2015-09-27,102,0
+2015-09-28,60,0
+2015-09-29,92,0
+2015-09-30,105,0
+2015-10-01,82,0
+2015-10-02,88,0
+2015-10-03,91,0
+2015-10-04,106,0
+2015-10-05,72,0
+2015-10-06,77,0
+2015-10-07,88,0
+2015-10-08,81,0
+2015-10-09,109,0
+2015-10-10,92,0
+2015-10-11,94,0
+2015-10-12,81,0
+2015-10-13,79,0
+2015-10-14,79,0
+2015-10-15,61,0
+2015-10-16,109,0
+2015-10-17,104,0
+2015-10-18,100,0
+2015-10-19,64,0
+2015-10-20,82,0
+2015-10-21,67,0
+2015-10-22,82,0
+2015-10-23,90,0
+2015-10-24,110,0
+2015-10-25,118,0
+2015-10-26,65,0
+2015-10-27,74,0
+2015-10-28,94,0
+2015-10-29,89,0
+2015-10-30,91,0
+2015-10-31,104,0
+2015-11-01,103,0
+2015-11-02,87,0
+2015-11-03,80,0
+2015-11-04,91,0
+2015-11-05,97,0
+2015-11-06,106,0
+2015-11-07,95,0
+2015-11-08,105,0
+2015-11-09,71,0
+2015-11-10,94,0
+2015-11-11,97,0
+2015-11-12,83,0
+2015-11-13,108,0
+2015-11-14,103,0
+2015-11-15,118,0
+2015-11-16,84,0
+2015-11-17,84,0
+2015-11-18,86,0
+2015-11-19,94,0
+2015-11-20,97,0
+2015-11-21,116,0
+2015-11-22,103,0
+2015-11-23,80,0
+2015-11-24,88,0
+2015-11-25,90,0
+2015-11-26,98,0
+2015-11-27,101,0
+2015-11-28,106,0
+2015-11-29,132,0
+2015-11-30,61,0
+2015-12-01,65,0
+2015-12-02,58,0
+2015-12-03,63,0
+2015-12-04,61,0
+2015-12-05,69,0
+2015-12-06,69,0
+2015-12-07,49,0
+2015-12-08,69,0
+2015-12-09,64,0
+2015-12-10,66,0
+2015-12-11,83,0
+2015-12-12,69,0
+2015-12-13,66,0
+2015-12-14,60,0
+2015-12-15,64,0
+2015-12-16,60,0
+2015-12-17,68,0
+2015-12-18,75,0
+2015-12-19,79,0
+2015-12-20,77,0
+2015-12-21,52,0
+2015-12-22,72,0
+2015-12-23,64,0
+2015-12-24,66,0
+2015-12-25,77,0
+2015-12-26,71,0
+2015-12-27,90,0
+2015-12-28,57,0
+2015-12-29,66,0
+2015-12-30,66,0
+2015-12-31,68,0
+2016-01-01,68,0
+2016-01-02,71,0
+2016-01-03,94,0
+2016-01-04,55,0
+2016-01-05,59,0
+2016-01-06,55,0
+2016-01-07,64,0
+2016-01-08,79,0
+2016-01-09,75,0
+2016-01-10,76,0
+2016-01-11,44,0
+2016-01-12,80,0
+2016-01-13,73,0
+2016-01-14,65,0
+2016-01-15,81,0
+2016-01-16,79,0
+2016-01-17,78,0
+2016-01-18,67,0
+2016-01-19,72,0
+2016-01-20,50,0
+2016-01-21,68,0
+2016-01-22,69,0
+2016-01-23,66,0
+2016-01-24,95,0
+2016-01-25,47,0
+2016-01-26,65,0
+2016-01-27,64,0
+2016-01-28,68,0
+2016-01-29,67,0
+2016-01-30,73,0
+2016-01-31,82,0
+2016-02-01,58,0
+2016-02-02,82,0
+2016-02-03,78,0
+2016-02-04,68,0
+2016-02-05,73,0
+2016-02-06,89,0
+2016-02-07,71,0
+2016-02-08,61,0
+2016-02-09,74,0
+2016-02-10,64,0
+2016-02-11,79,0
+2016-02-12,78,0
+2016-02-13,71,0
+2016-02-14,85,0
+2016-02-15,47,0
+2016-02-16,72,0
+2016-02-17,63,0
+2016-02-18,59,0
+2016-02-19,71,0
+2016-02-20,65,0
+2016-02-21,76,0
+2016-02-22,57,0
+2016-02-23,74,0
+2016-02-24,79,0
+2016-02-25,71,0
+2016-02-26,70,0
+2016-02-27,88,0
+2016-02-28,70,0
+2016-02-29,60,0
+2016-03-01,79,0
+2016-03-02,82,0
+2016-03-03,97,0
+2016-03-04,99,0
+2016-03-05,106,0
+2016-03-06,99,0
+2016-03-07,73,0
+2016-03-08,78,0
+2016-03-09,75,0
+2016-03-10,104,0
+2016-03-11,93,0
+2016-03-12,104,0
+2016-03-13,93,0
+2016-03-14,81,0
+2016-03-15,80,0
+2016-03-16,74,0
+2016-03-17,85,0
+2016-03-18,100,0
+2016-03-19,98,0
+2016-03-20,108,0
+2016-03-21,67,0
+2016-03-22,83,0
+2016-03-23,73,0
+2016-03-24,95,0
+2016-03-25,95,0
+2016-03-26,120,0
+2016-03-27,102,0
+2016-03-28,81,0
+2016-03-29,61,0
+2016-03-30,90,0
+2016-03-31,82,0
+2016-04-01,117,0
+2016-04-02,108,0
+2016-04-03,139,0
+2016-04-04,80,0
+2016-04-05,90,0
+2016-04-06,109,0
+2016-04-07,110,0
+2016-04-08,90,0
+2016-04-09,129,0
+2016-04-10,115,0
+2016-04-11,85,0
+2016-04-12,103,0
+2016-04-13,86,0
+2016-04-14,96,0
+2016-04-15,104,0
+2016-04-16,112,0
+2016-04-17,151,0
+2016-04-18,83,0
+2016-04-19,92,0
+2016-04-20,109,0
+2016-04-21,98,0
+2016-04-22,107,0
+2016-04-23,103,0
+2016-04-24,134,0
+2016-04-25,104,0
+2016-04-26,120,0
+2016-04-27,77,0
+2016-04-28,112,0
+2016-04-29,122,0
+2016-04-30,120,0
+2016-05-01,143,0
+2016-05-02,91,0
+2016-05-03,83,0
+2016-05-04,90,0
+2016-05-05,122,0
+2016-05-06,107,0
+2016-05-07,119,0
+2016-05-08,136,0
+2016-05-09,91,0
+2016-05-10,107,0
+2016-05-11,95,0
+2016-05-12,115,0
+2016-05-13,109,0
+2016-05-14,128,0
+2016-05-15,148,0
+2016-05-16,92,0
+2016-05-17,95,0
+2016-05-18,108,0
+2016-05-19,112,0
+2016-05-20,127,0
+2016-05-21,131,0
+2016-05-22,145,0
+2016-05-23,87,0
+2016-05-24,99,0
+2016-05-25,113,0
+2016-05-26,115,0
+2016-05-27,118,0
+2016-05-28,125,0
+2016-05-29,124,0
+2016-05-30,76,0
+2016-05-31,106,0
+2016-06-01,101,0
+2016-06-02,119,0
+2016-06-03,122,0
+2016-06-04,119,0
+2016-06-05,127,0
+2016-06-06,91,0
+2016-06-07,115,0
+2016-06-08,93,0
+2016-06-09,106,0
+2016-06-10,115,0
+2016-06-11,122,0
+2016-06-12,166,0
+2016-06-13,105,0
+2016-06-14,122,0
+2016-06-15,103,0
+2016-06-16,114,0
+2016-06-17,117,0
+2016-06-18,121,0
+2016-06-19,138,0
+2016-06-20,88,0
+2016-06-21,97,0
+2016-06-22,104,0
+2016-06-23,133,0
+2016-06-24,137,0
+2016-06-25,148,0
+2016-06-26,157,0
+2016-06-27,89,0
+2016-06-28,112,0
+2016-06-29,116,0
+2016-06-30,109,0
+2016-07-01,137,0
+2016-07-02,142,0
+2016-07-03,153,0
+2016-07-04,98,0
+2016-07-05,128,0
+2016-07-06,126,0
+2016-07-07,120,0
+2016-07-08,135,0
+2016-07-09,136,0
+2016-07-10,142,0
+2016-07-11,109,0
+2016-07-12,109,0
+2016-07-13,128,0
+2016-07-14,107,0
+2016-07-15,124,0
+2016-07-16,156,0
+2016-07-17,152,0
+2016-07-18,90,0
+2016-07-19,120,0
+2016-07-20,103,0
+2016-07-21,128,0
+2016-07-22,124,0
+2016-07-23,127,0
+2016-07-24,149,0
+2016-07-25,95,0
+2016-07-26,113,0
+2016-07-27,109,0
+2016-07-28,114,0
+2016-07-29,134,0
+2016-07-30,152,0
+2016-07-31,157,0
+2016-08-01,89,0
+2016-08-02,104,0
+2016-08-03,95,0
+2016-08-04,104,0
+2016-08-05,112,0
+2016-08-06,129,0
+2016-08-07,139,0
+2016-08-08,85,0
+2016-08-09,117,0
+2016-08-10,110,0
+2016-08-11,107,0
+2016-08-12,138,0
+2016-08-13,127,0
+2016-08-14,115,0
+2016-08-15,92,0
+2016-08-16,97,0
+2016-08-17,112,0
+2016-08-18,134,0
+2016-08-19,116,0
+2016-08-20,111,0
+2016-08-21,132,0
+2016-08-22,109,0
+2016-08-23,104,0
+2016-08-24,110,0
+2016-08-25,127,0
+2016-08-26,91,0
+2016-08-27,138,0
+2016-08-28,128,0
+2016-08-29,69,0
+2016-08-30,110,0
+2016-08-31,104,0
+2016-09-01,104,0
+2016-09-02,107,0
+2016-09-03,121,0
+2016-09-04,110,0
+2016-09-05,85,0
+2016-09-06,93,0
+2016-09-07,96,0
+2016-09-08,103,0
+2016-09-09,112,0
+2016-09-10,109,0
+2016-09-11,120,0
+2016-09-12,84,0
+2016-09-13,97,0
+2016-09-14,87,0
+2016-09-15,91,0
+2016-09-16,103,0
+2016-09-17,110,0
+2016-09-18,125,0
+2016-09-19,69,0
+2016-09-20,91,0
+2016-09-21,101,0
+2016-09-22,89,0
+2016-09-23,116,0
+2016-09-24,127,0
+2016-09-25,120,0
+2016-09-26,81,0
+2016-09-27,83,0
+2016-09-28,99,0
+2016-09-29,118,0
+2016-09-30,117,0
+2016-10-01,120,0
+2016-10-02,115,0
+2016-10-03,69,0
+2016-10-04,86,0
+2016-10-05,107,0
+2016-10-06,100,0
+2016-10-07,100,0
+2016-10-08,107,0
+2016-10-09,136,0
+2016-10-10,71,0
+2016-10-11,86,0
+2016-10-12,106,0
+2016-10-13,93,0
+2016-10-14,95,0
+2016-10-15,87,0
+2016-10-16,122,0
+2016-10-17,67,0
+2016-10-18,85,0
+2016-10-19,106,0
+2016-10-20,126,0
+2016-10-21,110,0
+2016-10-22,110,0
+2016-10-23,117,0
+2016-10-24,76,0
+2016-10-25,87,0
+2016-10-26,90,0
+2016-10-27,80,0
+2016-10-28,97,0
+2016-10-29,87,0
+2016-10-30,94,0
+2016-10-31,73,0
+2016-11-01,102,0
+2016-11-02,101,0
+2016-11-03,104,0
+2016-11-04,117,0
+2016-11-05,111,0
+2016-11-06,115,0
+2016-11-07,93,0
+2016-11-08,97,0
+2016-11-09,96,0
+2016-11-10,96,0
+2016-11-11,102,0
+2016-11-12,142,0
+2016-11-13,112,0
+2016-11-14,74,0
+2016-11-15,96,0
+2016-11-16,96,0
+2016-11-17,114,0
+2016-11-18,109,0
+2016-11-19,106,0
+2016-11-20,122,0
+2016-11-21,76,0
+2016-11-22,98,0
+2016-11-23,90,0
+2016-11-24,108,0
+2016-11-25,109,0
+2016-11-26,106,0
+2016-11-27,112,0
+2016-11-28,85,0
+2016-11-29,86,0
+2016-11-30,83,0
+2016-12-01,76,0
+2016-12-02,76,0
+2016-12-03,83,0
+2016-12-04,90,0
+2016-12-05,55,0
+2016-12-06,59,0
+2016-12-07,88,0
+2016-12-08,85,0
+2016-12-09,70,0
+2016-12-10,81,0
+2016-12-11,81,0
+2016-12-12,55,0
+2016-12-13,77,0
+2016-12-14,80,0
+2016-12-15,62,0
+2016-12-16,98,0
+2016-12-17,75,0
+2016-12-18,95,0
+2016-12-19,58,0
+2016-12-20,57,0
+2016-12-21,68,0
+2016-12-22,69,0
+2016-12-23,78,0
+2016-12-24,77,0
+2016-12-25,96,0
+2016-12-26,61,0
+2016-12-27,69,0
+2016-12-28,60,0
+2016-12-29,74,0
+2016-12-30,66,0
+2016-12-31,92,0
+2017-01-01,77,0
+2017-01-02,51,0
+2017-01-03,56,0
+2017-01-04,73,0
+2017-01-05,65,0
+2017-01-06,68,0
+2017-01-07,73,0
+2017-01-08,96,0
+2017-01-09,56,0
+2017-01-10,56,0
+2017-01-11,70,0
+2017-01-12,57,0
+2017-01-13,73,0
+2017-01-14,71,0
+2017-01-15,85,0
+2017-01-16,57,0
+2017-01-17,53,0
+2017-01-18,62,0
+2017-01-19,50,0
+2017-01-20,75,0
+2017-01-21,68,0
+2017-01-22,83,0
+2017-01-23,56,0
+2017-01-24,74,0
+2017-01-25,62,0
+2017-01-26,81,0
+2017-01-27,75,0
+2017-01-28,89,0
+2017-01-29,76,0
+2017-01-30,50,0
+2017-01-31,69,0
+2017-02-01,52,0
+2017-02-02,74,0
+2017-02-03,75,0
+2017-02-04,80,0
+2017-02-05,80,0
+2017-02-06,54,0
+2017-02-07,74,0
+2017-02-08,64,0
+2017-02-09,69,0
+2017-02-10,75,0
+2017-02-11,100,0
+2017-02-12,87,0
+2017-02-13,50,0
+2017-02-14,97,0
+2017-02-15,52,0
+2017-02-16,69,0
+2017-02-17,78,0
+2017-02-18,92,0
+2017-02-19,95,0
+2017-02-20,50,0
+2017-02-21,63,0
+2017-02-22,71,0
+2017-02-23,79,0
+2017-02-24,82,0
+2017-02-25,85,0
+2017-02-26,98,0
+2017-02-27,65,0
+2017-02-28,73,0
+2017-03-01,65,0
+2017-03-02,97,0
+2017-03-03,84,0
+2017-03-04,107,0
+2017-03-05,103,0
+2017-03-06,62,0
+2017-03-07,87,0
+2017-03-08,80,0
+2017-03-09,73,0
+2017-03-10,104,0
+2017-03-11,105,0
+2017-03-12,130,0
+2017-03-13,66,0
+2017-03-14,110,0
+2017-03-15,75,0
+2017-03-16,91,0
+2017-03-17,115,0
+2017-03-18,105,0
+2017-03-19,94,0
+2017-03-20,64,0
+2017-03-21,72,0
+2017-03-22,87,0
+2017-03-23,78,0
+2017-03-24,97,0
+2017-03-25,96,0
+2017-03-26,125,0
+2017-03-27,78,0
+2017-03-28,87,0
+2017-03-29,89,0
+2017-03-30,105,0
+2017-03-31,102,0
+2017-04-01,128,0
+2017-04-02,132,0
+2017-04-03,66,0
+2017-04-04,99,0
+2017-04-05,101,0
+2017-04-06,115,0
+2017-04-07,104,0
+2017-04-08,98,0
+2017-04-09,117,0
+2017-04-10,85,0
+2017-04-11,105,0
+2017-04-12,98,0
+2017-04-13,104,0
+2017-04-14,107,0
+2017-04-15,112,0
+2017-04-16,119,0
+2017-04-17,82,0
+2017-04-18,102,0
+2017-04-19,104,0
+2017-04-20,124,0
+2017-04-21,112,0
+2017-04-22,124,0
+2017-04-23,131,0
+2017-04-24,86,0
+2017-04-25,104,0
+2017-04-26,92,0
+2017-04-27,125,0
+2017-04-28,120,0
+2017-04-29,130,0
+2017-04-30,134,0
+2017-05-01,92,0
+2017-05-02,106,0
+2017-05-03,92,0
+2017-05-04,109,0
+2017-05-05,126,0
+2017-05-06,116,0
+2017-05-07,140,0
+2017-05-08,107,0
+2017-05-09,107,0
+2017-05-10,106,0
+2017-05-11,113,0
+2017-05-12,129,0
+2017-05-13,128,0
+2017-05-14,140,0
+2017-05-15,99,0
+2017-05-16,112,0
+2017-05-17,108,0
+2017-05-18,115,0
+2017-05-19,140,0
+2017-05-20,126,0
+2017-05-21,128,0
+2017-05-22,102,0
+2017-05-23,106,0
+2017-05-24,99,0
+2017-05-25,98,0
+2017-05-26,105,0
+2017-05-27,138,0
+2017-05-28,140,0
+2017-05-29,69,0
+2017-05-30,87,0
+2017-05-31,90,0
+2017-06-01,113,0
+2017-06-02,135,0
+2017-06-03,122,0
+2017-06-04,149,0
+2017-06-05,100,0
+2017-06-06,100,0
+2017-06-07,115,0
+2017-06-08,138,0
+2017-06-09,129,0
+2017-06-10,112,0
+2017-06-11,135,0
+2017-06-12,90,0
+2017-06-13,105,0
+2017-06-14,96,0
+2017-06-15,119,0
+2017-06-16,119,0
+2017-06-17,130,0
+2017-06-18,146,0
+2017-06-19,103,0
+2017-06-20,115,0
+2017-06-21,103,0
+2017-06-22,106,0
+2017-06-23,131,0
+2017-06-24,115,0
+2017-06-25,151,0
+2017-06-26,108,0
+2017-06-27,118,0
+2017-06-28,113,0
+2017-06-29,116,0
+2017-06-30,128,0
+2017-07-01,163,0
+2017-07-02,148,0
+2017-07-03,112,0
+2017-07-04,132,0
+2017-07-05,110,0
+2017-07-06,129,0
+2017-07-07,153,0
+2017-07-08,139,0
+2017-07-09,162,0
+2017-07-10,90,0
+2017-07-11,134,0
+2017-07-12,125,0
+2017-07-13,133,0
+2017-07-14,143,0
+2017-07-15,149,0
+2017-07-16,161,0
+2017-07-17,88,0
+2017-07-18,120,0
+2017-07-19,113,0
+2017-07-20,130,0
+2017-07-21,141,0
+2017-07-22,141,0
+2017-07-23,161,0
+2017-07-24,125,0
+2017-07-25,130,0
+2017-07-26,106,0
+2017-07-27,135,0
+2017-07-28,147,0
+2017-07-29,148,0
+2017-07-30,131,0
+2017-07-31,106,0
+2017-08-01,105,0
+2017-08-02,93,0
+2017-08-03,129,0
+2017-08-04,111,0
+2017-08-05,151,0
+2017-08-06,144,0
+2017-08-07,91,0
+2017-08-08,93,0
+2017-08-09,83,0
+2017-08-10,137,0
+2017-08-11,107,0
+2017-08-12,122,0
+2017-08-13,156,0
+2017-08-14,110,0
+2017-08-15,104,0
+2017-08-16,97,0
+2017-08-17,101,0
+2017-08-18,115,0
+2017-08-19,140,0
+2017-08-20,141,0
+2017-08-21,103,0
+2017-08-22,100,0
+2017-08-23,111,0
+2017-08-24,115,0
+2017-08-25,120,0
+2017-08-26,125,0
+2017-08-27,146,0
+2017-08-28,95,0
+2017-08-29,115,0
+2017-08-30,111,0
+2017-08-31,112,0
+2017-09-01,104,0
+2017-09-02,123,0
+2017-09-03,115,0
+2017-09-04,93,0
+2017-09-05,110,0
+2017-09-06,104,0
+2017-09-07,89,0
+2017-09-08,117,0
+2017-09-09,137,0
+2017-09-10,106,0
+2017-09-11,81,0
+2017-09-12,116,0
+2017-09-13,100,0
+2017-09-14,88,0
+2017-09-15,130,0
+2017-09-16,123,0
+2017-09-17,112,0
+2017-09-18,91,0
+2017-09-19,115,0
+2017-09-20,95,0
+2017-09-21,100,0
+2017-09-22,132,0
+2017-09-23,128,0
+2017-09-24,124,0
+2017-09-25,76,0
+2017-09-26,90,0
+2017-09-27,94,0
+2017-09-28,107,0
+2017-09-29,109,0
+2017-09-30,114,0
+2017-10-01,115,0
+2017-10-02,68,0
+2017-10-03,84,0
+2017-10-04,79,0
+2017-10-05,84,0
+2017-10-06,110,0
+2017-10-07,110,0
+2017-10-08,141,0
+2017-10-09,82,0
+2017-10-10,115,0
+2017-10-11,80,0
+2017-10-12,107,0
+2017-10-13,110,0
+2017-10-14,97,0
+2017-10-15,110,0
+2017-10-16,71,0
+2017-10-17,92,0
+2017-10-18,78,0
+2017-10-19,92,0
+2017-10-20,122,0
+2017-10-21,116,0
+2017-10-22,128,0
+2017-10-23,79,0
+2017-10-24,91,0
+2017-10-25,111,0
+2017-10-26,84,0
+2017-10-27,124,0
+2017-10-28,116,0
+2017-10-29,121,0
+2017-10-30,67,0
+2017-10-31,79,0
+2017-11-01,108,0
+2017-11-02,114,0
+2017-11-03,117,0
+2017-11-04,118,0
+2017-11-05,126,0
+2017-11-06,90,0
+2017-11-07,97,0
+2017-11-08,106,0
+2017-11-09,102,0
+2017-11-10,111,0
+2017-11-11,134,0
+2017-11-12,122,0
+2017-11-13,80,0
+2017-11-14,108,0
+2017-11-15,112,0
+2017-11-16,94,0
+2017-11-17,120,0
+2017-11-18,121,0
+2017-11-19,116,0
+2017-11-20,82,0
+2017-11-21,112,0
+2017-11-22,108,0
+2017-11-23,91,0
+2017-11-24,109,0
+2017-11-25,115,0
+2017-11-26,126,0
+2017-11-27,87,0
+2017-11-28,112,0
+2017-11-29,99,0
+2017-11-30,119,0
+2017-12-01,61,0
+2017-12-02,88,0
+2017-12-03,93,0
+2017-12-04,46,0
+2017-12-05,78,0
+2017-12-06,76,0
+2017-12-07,62,0
+2017-12-08,84,0
+2017-12-09,65,0
+2017-12-10,92,0
+2017-12-11,65,0
+2017-12-12,60,0
+2017-12-13,61,0
+2017-12-14,86,0
+2017-12-15,86,0
+2017-12-16,82,0
+2017-12-17,99,0
+2017-12-18,66,0
+2017-12-19,82,0
+2017-12-20,69,0
+2017-12-21,78,0
+2017-12-22,67,0
+2017-12-23,86,0
+2017-12-24,82,0
+2017-12-25,74,0
+2017-12-26,56,0
+2017-12-27,65,0
+2017-12-28,72,0
+2017-12-29,93,0
+2017-12-30,73,0
+2017-12-31,97,0
+2013-01-01,13,1
+2013-01-02,11,1
+2013-01-03,14,1
+2013-01-04,13,1
+2013-01-05,10,1
+2013-01-06,12,1
+2013-01-07,10,1
+2013-01-08,9,1
+2013-01-09,12,1
+2013-01-10,9,1
+2013-01-11,9,1
+2013-01-12,7,1
+2013-01-13,10,1
+2013-01-14,12,1
+2013-01-15,5,1
+2013-01-16,7,1
+2013-01-17,16,1
+2013-01-18,7,1
+2013-01-19,18,1
+2013-01-20,15,1
+2013-01-21,8,1
+2013-01-22,7,1
+2013-01-23,9,1
+2013-01-24,8,1
+2013-01-25,14,1
+2013-01-26,12,1
+2013-01-27,12,1
+2013-01-28,11,1
+2013-01-29,6,1
+2013-01-30,9,1
+2013-01-31,13,1
+2013-02-01,11,1
+2013-02-02,21,1
+2013-02-03,15,1
+2013-02-04,14,1
+2013-02-05,9,1
+2013-02-06,10,1
+2013-02-07,13,1
+2013-02-08,11,1
+2013-02-09,14,1
+2013-02-10,11,1
+2013-02-11,16,1
+2013-02-12,11,1
+2013-02-13,14,1
+2013-02-14,10,1
+2013-02-15,11,1
+2013-02-16,7,1
+2013-02-17,11,1
+2013-02-18,10,1
+2013-02-19,10,1
+2013-02-20,7,1
+2013-02-21,13,1
+2013-02-22,12,1
+2013-02-23,15,1
+2013-02-24,11,1
+2013-02-25,7,1
+2013-02-26,9,1
+2013-02-27,9,1
+2013-02-28,10,1
+2013-03-01,15,1
+2013-03-02,13,1
+2013-03-03,20,1
+2013-03-04,14,1
+2013-03-05,13,1
+2013-03-06,17,1
+2013-03-07,11,1
+2013-03-08,15,1
+2013-03-09,16,1
+2013-03-10,11,1
+2013-03-11,18,1
+2013-03-12,14,1
+2013-03-13,13,1
+2013-03-14,10,1
+2013-03-15,14,1
+2013-03-16,10,1
+2013-03-17,22,1
+2013-03-18,11,1
+2013-03-19,19,1
+2013-03-20,14,1
+2013-03-21,17,1
+2013-03-22,21,1
+2013-03-23,21,1
+2013-03-24,19,1
+2013-03-25,13,1
+2013-03-26,16,1
+2013-03-27,11,1
+2013-03-28,13,1
+2013-03-29,17,1
+2013-03-30,19,1
+2013-03-31,20,1
+2013-04-01,11,1
+2013-04-02,19,1
+2013-04-03,24,1
+2013-04-04,18,1
+2013-04-05,19,1
+2013-04-06,23,1
+2013-04-07,17,1
+2013-04-08,19,1
+2013-04-09,13,1
+2013-04-10,19,1
+2013-04-11,16,1
+2013-04-12,18,1
+2013-04-13,17,1
+2013-04-14,26,1
+2013-04-15,14,1
+2013-04-16,9,1
+2013-04-17,17,1
+2013-04-18,21,1
+2013-04-19,22,1
+2013-04-20,22,1
+2013-04-21,20,1
+2013-04-22,13,1
+2013-04-23,11,1
+2013-04-24,13,1
+2013-04-25,14,1
+2013-04-26,20,1
+2013-04-27,22,1
+2013-04-28,19,1
+2013-04-29,11,1
+2013-04-30,15,1
+2013-05-01,16,1
+2013-05-02,23,1
+2013-05-03,22,1
+2013-05-04,20,1
+2013-05-05,14,1
+2013-05-06,14,1
+2013-05-07,15,1
+2013-05-08,14,1
+2013-05-09,11,1
+2013-05-10,16,1
+2013-05-11,19,1
+2013-05-12,13,1
+2013-05-13,9,1
+2013-05-14,13,1
+2013-05-15,16,1
+2013-05-16,15,1
+2013-05-17,16,1
+2013-05-18,20,1
+2013-05-19,19,1
+2013-05-20,14,1
+2013-05-21,24,1
+2013-05-22,23,1
+2013-05-23,14,1
+2013-05-24,24,1
+2013-05-25,25,1
+2013-05-26,27,1
+2013-05-27,7,1
+2013-05-28,12,1
+2013-05-29,10,1
+2013-05-30,19,1
+2013-05-31,27,1
+2013-06-01,26,1
+2013-06-02,22,1
+2013-06-03,12,1
+2013-06-04,15,1
+2013-06-05,24,1
+2013-06-06,9,1
+2013-06-07,21,1
+2013-06-08,20,1
+2013-06-09,38,1
+2013-06-10,20,1
+2013-06-11,18,1
+2013-06-12,22,1
+2013-06-13,21,1
+2013-06-14,22,1
+2013-06-15,26,1
+2013-06-16,23,1
+2013-06-17,13,1
+2013-06-18,21,1
+2013-06-19,18,1
+2013-06-20,24,1
+2013-06-21,19,1
+2013-06-22,23,1
+2013-06-23,24,1
+2013-06-24,17,1
+2013-06-25,21,1
+2013-06-26,21,1
+2013-06-27,26,1
+2013-06-28,17,1
+2013-06-29,20,1
+2013-06-30,24,1
+2013-07-01,23,1
+2013-07-02,17,1
+2013-07-03,12,1
+2013-07-04,24,1
+2013-07-05,17,1
+2013-07-06,16,1
+2013-07-07,34,1
+2013-07-08,20,1
+2013-07-09,23,1
+2013-07-10,14,1
+2013-07-11,25,1
+2013-07-12,29,1
+2013-07-13,22,1
+2013-07-14,29,1
+2013-07-15,18,1
+2013-07-16,12,1
+2013-07-17,16,1
+2013-07-18,21,1
+2013-07-19,25,1
+2013-07-20,25,1
+2013-07-21,26,1
+2013-07-22,18,1
+2013-07-23,17,1
+2013-07-24,21,1
+2013-07-25,21,1
+2013-07-26,31,1
+2013-07-27,19,1
+2013-07-28,25,1
+2013-07-29,8,1
+2013-07-30,26,1
+2013-07-31,27,1
+2013-08-01,21,1
+2013-08-02,19,1
+2013-08-03,24,1
+2013-08-04,26,1
+2013-08-05,17,1
+2013-08-06,10,1
+2013-08-07,25,1
+2013-08-08,20,1
+2013-08-09,19,1
+2013-08-10,22,1
+2013-08-11,25,1
+2013-08-12,10,1
+2013-08-13,11,1
+2013-08-14,19,1
+2013-08-15,22,1
+2013-08-16,15,1
+2013-08-17,29,1
+2013-08-18,27,1
+2013-08-19,11,1
+2013-08-20,15,1
+2013-08-21,20,1
+2013-08-22,20,1
+2013-08-23,19,1
+2013-08-24,19,1
+2013-08-25,23,1
+2013-08-26,11,1
+2013-08-27,16,1
+2013-08-28,20,1
+2013-08-29,14,1
+2013-08-30,20,1
+2013-08-31,25,1
+2013-09-01,25,1
+2013-09-02,10,1
+2013-09-03,16,1
+2013-09-04,10,1
+2013-09-05,16,1
+2013-09-06,20,1
+2013-09-07,20,1
+2013-09-08,19,1
+2013-09-09,15,1
+2013-09-10,17,1
+2013-09-11,26,1
+2013-09-12,14,1
+2013-09-13,16,1
+2013-09-14,27,1
+2013-09-15,14,1
+2013-09-16,16,1
+2013-09-17,20,1
+2013-09-18,18,1
+2013-09-19,16,1
+2013-09-20,11,1
+2013-09-21,13,1
+2013-09-22,16,1
+2013-09-23,18,1
+2013-09-24,14,1
+2013-09-25,17,1
+2013-09-26,20,1
+2013-09-27,22,1
+2013-09-28,13,1
+2013-09-29,20,1
+2013-09-30,20,1
+2013-10-01,12,1
+2013-10-02,11,1
+2013-10-03,14,1
+2013-10-04,14,1
+2013-10-05,14,1
+2013-10-06,20,1
+2013-10-07,13,1
+2013-10-08,13,1
+2013-10-09,14,1
+2013-10-10,20,1
+2013-10-11,17,1
+2013-10-12,17,1
+2013-10-13,20,1
+2013-10-14,15,1
+2013-10-15,15,1
+2013-10-16,15,1
+2013-10-17,10,1
+2013-10-18,10,1
+2013-10-19,18,1
+2013-10-20,25,1
+2013-10-21,13,1
+2013-10-22,11,1
+2013-10-23,16,1
+2013-10-24,17,1
+2013-10-25,18,1
+2013-10-26,19,1
+2013-10-27,14,1
+2013-10-28,11,1
+2013-10-29,17,1
+2013-10-30,20,1
+2013-10-31,21,1
+2013-11-01,20,1
+2013-11-02,24,1
+2013-11-03,19,1
+2013-11-04,12,1
+2013-11-05,20,1
+2013-11-06,16,1
+2013-11-07,17,1
+2013-11-08,22,1
+2013-11-09,18,1
+2013-11-10,23,1
+2013-11-11,16,1
+2013-11-12,20,1
+2013-11-13,20,1
+2013-11-14,9,1
+2013-11-15,18,1
+2013-11-16,13,1
+2013-11-17,17,1
+2013-11-18,17,1
+2013-11-19,18,1
+2013-11-20,17,1
+2013-11-21,16,1
+2013-11-22,17,1
+2013-11-23,31,1
+2013-11-24,20,1
+2013-11-25,16,1
+2013-11-26,25,1
+2013-11-27,25,1
+2013-11-28,17,1
+2013-11-29,19,1
+2013-11-30,30,1
+2013-12-01,16,1
+2013-12-02,8,1
+2013-12-03,21,1
+2013-12-04,6,1
+2013-12-05,13,1
+2013-12-06,15,1
+2013-12-07,17,1
+2013-12-08,17,1
+2013-12-09,8,1
+2013-12-10,14,1
+2013-12-11,7,1
+2013-12-12,5,1
+2013-12-13,13,1
+2013-12-14,16,1
+2013-12-15,15,1
+2013-12-16,15,1
+2013-12-17,8,1
+2013-12-18,18,1
+2013-12-19,7,1
+2013-12-20,13,1
+2013-12-21,11,1
+2013-12-22,9,1
+2013-12-23,8,1
+2013-12-24,17,1
+2013-12-25,6,1
+2013-12-26,16,1
+2013-12-27,18,1
+2013-12-28,17,1
+2013-12-29,14,1
+2013-12-30,5,1
+2013-12-31,15,1
+2014-01-01,9,1
+2014-01-02,14,1
+2014-01-03,11,1
+2014-01-04,20,1
+2014-01-05,17,1
+2014-01-06,14,1
+2014-01-07,11,1
+2014-01-08,12,1
+2014-01-09,17,1
+2014-01-10,12,1
+2014-01-11,17,1
+2014-01-12,12,1
+2014-01-13,12,1
+2014-01-14,17,1
+2014-01-15,17,1
+2014-01-16,15,1
+2014-01-17,18,1
+2014-01-18,15,1
+2014-01-19,12,1
+2014-01-20,6,1
+2014-01-21,7,1
+2014-01-22,21,1
+2014-01-23,18,1
+2014-01-24,18,1
+2014-01-25,21,1
+2014-01-26,16,1
+2014-01-27,8,1
+2014-01-28,6,1
+2014-01-29,13,1
+2014-01-30,11,1
+2014-01-31,18,1
+2014-02-01,13,1
+2014-02-02,16,1
+2014-02-03,10,1
+2014-02-04,9,1
+2014-02-05,21,1
+2014-02-06,17,1
+2014-02-07,15,1
+2014-02-08,15,1
+2014-02-09,18,1
+2014-02-10,10,1
+2014-02-11,10,1
+2014-02-12,9,1
+2014-02-13,22,1
+2014-02-14,20,1
+2014-02-15,20,1
+2014-02-16,13,1
+2014-02-17,11,1
+2014-02-18,11,1
+2014-02-19,16,1
+2014-02-20,19,1
+2014-02-21,16,1
+2014-02-22,17,1
+2014-02-23,13,1
+2014-02-24,7,1
+2014-02-25,14,1
+2014-02-26,17,1
+2014-02-27,10,1
+2014-02-28,16,1
+2014-03-01,20,1
+2014-03-02,15,1
+2014-03-03,12,1
+2014-03-04,11,1
+2014-03-05,18,1
+2014-03-06,19,1
+2014-03-07,21,1
+2014-03-08,14,1
+2014-03-09,21,1
+2014-03-10,13,1
+2014-03-11,14,1
+2014-03-12,24,1
+2014-03-13,17,1
+2014-03-14,16,1
+2014-03-15,22,1
+2014-03-16,31,1
+2014-03-17,19,1
+2014-03-18,17,1
+2014-03-19,24,1
+2014-03-20,21,1
+2014-03-21,18,1
+2014-03-22,20,1
+2014-03-23,25,1
+2014-03-24,4,1
+2014-03-25,15,1
+2014-03-26,17,1
+2014-03-27,17,1
+2014-03-28,16,1
+2014-03-29,18,1
+2014-03-30,15,1
+2014-03-31,15,1
+2014-04-01,19,1
+2014-04-02,11,1
+2014-04-03,16,1
+2014-04-04,17,1
+2014-04-05,21,1
+2014-04-06,26,1
+2014-04-07,19,1
+2014-04-08,19,1
+2014-04-09,20,1
+2014-04-10,18,1
+2014-04-11,23,1
+2014-04-12,19,1
+2014-04-13,22,1
+2014-04-14,20,1
+2014-04-15,22,1
+2014-04-16,20,1
+2014-04-17,18,1
+2014-04-18,20,1
+2014-04-19,22,1
+2014-04-20,22,1
+2014-04-21,17,1
+2014-04-22,12,1
+2014-04-23,16,1
+2014-04-24,25,1
+2014-04-25,22,1
+2014-04-26,21,1
+2014-04-27,20,1
+2014-04-28,15,1
+2014-04-29,18,1
+2014-04-30,13,1
+2014-05-01,22,1
+2014-05-02,19,1
+2014-05-03,22,1
+2014-05-04,23,1
+2014-05-05,21,1
+2014-05-06,19,1
+2014-05-07,21,1
+2014-05-08,15,1
+2014-05-09,18,1
+2014-05-10,16,1
+2014-05-11,27,1
+2014-05-12,16,1
+2014-05-13,22,1
+2014-05-14,21,1
+2014-05-15,22,1
+2014-05-16,23,1
+2014-05-17,18,1
+2014-05-18,36,1
+2014-05-19,12,1
+2014-05-20,23,1
+2014-05-21,16,1
+2014-05-22,25,1
+2014-05-23,28,1
+2014-05-24,25,1
+2014-05-25,20,1
+2014-05-26,15,1
+2014-05-27,13,1
+2014-05-28,13,1
+2014-05-29,20,1
+2014-05-30,29,1
+2014-05-31,31,1
+2014-06-01,24,1
+2014-06-02,16,1
+2014-06-03,23,1
+2014-06-04,20,1
+2014-06-05,24,1
+2014-06-06,23,1
+2014-06-07,27,1
+2014-06-08,29,1
+2014-06-09,18,1
+2014-06-10,14,1
+2014-06-11,22,1
+2014-06-12,22,1
+2014-06-13,25,1
+2014-06-14,29,1
+2014-06-15,33,1
+2014-06-16,25,1
+2014-06-17,32,1
+2014-06-18,20,1
+2014-06-19,22,1
+2014-06-20,19,1
+2014-06-21,26,1
+2014-06-22,37,1
+2014-06-23,19,1
+2014-06-24,24,1
+2014-06-25,21,1
+2014-06-26,18,1
+2014-06-27,29,1
+2014-06-28,34,1
+2014-06-29,19,1
+2014-06-30,16,1
+2014-07-01,16,1
+2014-07-02,24,1
+2014-07-03,25,1
+2014-07-04,28,1
+2014-07-05,25,1
+2014-07-06,34,1
+2014-07-07,16,1
+2014-07-08,25,1
+2014-07-09,27,1
+2014-07-10,23,1
+2014-07-11,25,1
+2014-07-12,22,1
+2014-07-13,24,1
+2014-07-14,21,1
+2014-07-15,24,1
+2014-07-16,17,1
+2014-07-17,26,1
+2014-07-18,25,1
+2014-07-19,31,1
+2014-07-20,26,1
+2014-07-21,21,1
+2014-07-22,30,1
+2014-07-23,19,1
+2014-07-24,26,1
+2014-07-25,24,1
+2014-07-26,29,1
+2014-07-27,35,1
+2014-07-28,11,1
+2014-07-29,19,1
+2014-07-30,25,1
+2014-07-31,23,1
+2014-08-01,12,1
+2014-08-02,23,1
+2014-08-03,27,1
+2014-08-04,20,1
+2014-08-05,19,1
+2014-08-06,25,1
+2014-08-07,21,1
+2014-08-08,27,1
+2014-08-09,27,1
+2014-08-10,22,1
+2014-08-11,22,1
+2014-08-12,20,1
+2014-08-13,11,1
+2014-08-14,17,1
+2014-08-15,21,1
+2014-08-16,20,1
+2014-08-17,31,1
+2014-08-18,25,1
+2014-08-19,15,1
+2014-08-20,21,1
+2014-08-21,20,1
+2014-08-22,21,1
+2014-08-23,26,1
+2014-08-24,26,1
+2014-08-25,12,1
+2014-08-26,25,1
+2014-08-27,21,1
+2014-08-28,19,1
+2014-08-29,17,1
+2014-08-30,30,1
+2014-08-31,28,1
+2014-09-01,16,1
+2014-09-02,15,1
+2014-09-03,22,1
+2014-09-04,26,1
+2014-09-05,27,1
+2014-09-06,21,1
+2014-09-07,25,1
+2014-09-08,12,1
+2014-09-09,22,1
+2014-09-10,16,1
+2014-09-11,15,1
+2014-09-12,25,1
+2014-09-13,17,1
+2014-09-14,26,1
+2014-09-15,12,1
+2014-09-16,15,1
+2014-09-17,17,1
+2014-09-18,18,1
+2014-09-19,21,1
+2014-09-20,21,1
+2014-09-21,20,1
+2014-09-22,15,1
+2014-09-23,20,1
+2014-09-24,14,1
+2014-09-25,17,1
+2014-09-26,23,1
+2014-09-27,13,1
+2014-09-28,22,1
+2014-09-29,18,1
+2014-09-30,15,1
+2014-10-01,12,1
+2014-10-02,15,1
+2014-10-03,24,1
+2014-10-04,27,1
+2014-10-05,33,1
+2014-10-06,9,1
+2014-10-07,10,1
+2014-10-08,25,1
+2014-10-09,18,1
+2014-10-10,19,1
+2014-10-11,28,1
+2014-10-12,29,1
+2014-10-13,6,1
+2014-10-14,20,1
+2014-10-15,21,1
+2014-10-16,17,1
+2014-10-17,18,1
+2014-10-18,22,1
+2014-10-19,13,1
+2014-10-20,8,1
+2014-10-21,19,1
+2014-10-22,14,1
+2014-10-23,18,1
+2014-10-24,17,1
+2014-10-25,21,1
+2014-10-26,22,1
+2014-10-27,15,1
+2014-10-28,12,1
+2014-10-29,11,1
+2014-10-30,12,1
+2014-10-31,20,1
+2014-11-01,17,1
+2014-11-02,33,1
+2014-11-03,16,1
+2014-11-04,16,1
+2014-11-05,15,1
+2014-11-06,22,1
+2014-11-07,22,1
+2014-11-08,12,1
+2014-11-09,28,1
+2014-11-10,16,1
+2014-11-11,12,1
+2014-11-12,18,1
+2014-11-13,18,1
+2014-11-14,25,1
+2014-11-15,24,1
+2014-11-16,18,1
+2014-11-17,17,1
+2014-11-18,18,1
+2014-11-19,19,1
+2014-11-20,17,1
+2014-11-21,28,1
+2014-11-22,20,1
+2014-11-23,29,1
+2014-11-24,18,1
+2014-11-25,19,1
+2014-11-26,23,1
+2014-11-27,23,1
+2014-11-28,24,1
+2014-11-29,28,1
+2014-11-30,24,1
+2014-12-01,10,1
+2014-12-02,17,1
+2014-12-03,9,1
+2014-12-04,10,1
+2014-12-05,14,1
+2014-12-06,16,1
+2014-12-07,11,1
+2014-12-08,13,1
+2014-12-09,13,1
+2014-12-10,14,1
+2014-12-11,12,1
+2014-12-12,10,1
+2014-12-13,16,1
+2014-12-14,13,1
+2014-12-15,14,1
+2014-12-16,11,1
+2014-12-17,15,1
+2014-12-18,10,1
+2014-12-19,11,1
+2014-12-20,19,1
+2014-12-21,18,1
+2014-12-22,8,1
+2014-12-23,13,1
+2014-12-24,16,1
+2014-12-25,20,1
+2014-12-26,12,1
+2014-12-27,15,1
+2014-12-28,17,1
+2014-12-29,9,1
+2014-12-30,11,1
+2014-12-31,12,1
+2015-01-01,11,1
+2015-01-02,19,1
+2015-01-03,16,1
+2015-01-04,14,1
+2015-01-05,14,1
+2015-01-06,9,1
+2015-01-07,13,1
+2015-01-08,18,1
+2015-01-09,18,1
+2015-01-10,17,1
+2015-01-11,19,1
+2015-01-12,9,1
+2015-01-13,9,1
+2015-01-14,15,1
+2015-01-15,10,1
+2015-01-16,15,1
+2015-01-17,16,1
+2015-01-18,15,1
+2015-01-19,12,1
+2015-01-20,12,1
+2015-01-21,10,1
+2015-01-22,8,1
+2015-01-23,14,1
+2015-01-24,20,1
+2015-01-25,19,1
+2015-01-26,12,1
+2015-01-27,13,1
+2015-01-28,13,1
+2015-01-29,7,1
+2015-01-30,12,1
+2015-01-31,19,1
+2015-02-01,17,1
+2015-02-02,6,1
+2015-02-03,10,1
+2015-02-04,8,1
+2015-02-05,18,1
+2015-02-06,13,1
+2015-02-07,13,1
+2015-02-08,18,1
+2015-02-09,12,1
+2015-02-10,15,1
+2015-02-11,19,1
+2015-02-12,15,1
+2015-02-13,13,1
+2015-02-14,11,1
+2015-02-15,18,1
+2015-02-16,14,1
+2015-02-17,16,1
+2015-02-18,16,1
+2015-02-19,11,1
+2015-02-20,10,1
+2015-02-21,19,1
+2015-02-22,24,1
+2015-02-23,9,1
+2015-02-24,8,1
+2015-02-25,13,1
+2015-02-26,18,1
+2015-02-27,17,1
+2015-02-28,18,1
+2015-03-01,18,1
+2015-03-02,17,1
+2015-03-03,14,1
+2015-03-04,19,1
+2015-03-05,10,1
+2015-03-06,17,1
+2015-03-07,16,1
+2015-03-08,13,1
+2015-03-09,13,1
+2015-03-10,23,1
+2015-03-11,21,1
+2015-03-12,24,1
+2015-03-13,25,1
+2015-03-14,15,1
+2015-03-15,20,1
+2015-03-16,13,1
+2015-03-17,15,1
+2015-03-18,16,1
+2015-03-19,17,1
+2015-03-20,31,1
+2015-03-21,25,1
+2015-03-22,23,1
+2015-03-23,16,1
+2015-03-24,18,1
+2015-03-25,13,1
+2015-03-26,10,1
+2015-03-27,16,1
+2015-03-28,12,1
+2015-03-29,25,1
+2015-03-30,19,1
+2015-03-31,18,1
+2015-04-01,24,1
+2015-04-02,20,1
+2015-04-03,27,1
+2015-04-04,26,1
+2015-04-05,20,1
+2015-04-06,20,1
+2015-04-07,19,1
+2015-04-08,17,1
+2015-04-09,20,1
+2015-04-10,24,1
+2015-04-11,17,1
+2015-04-12,21,1
+2015-04-13,14,1
+2015-04-14,26,1
+2015-04-15,26,1
+2015-04-16,20,1
+2015-04-17,22,1
+2015-04-18,23,1
+2015-04-19,24,1
+2015-04-20,17,1
+2015-04-21,25,1
+2015-04-22,19,1
+2015-04-23,17,1
+2015-04-24,11,1
+2015-04-25,29,1
+2015-04-26,30,1
+2015-04-27,22,1
+2015-04-28,27,1
+2015-04-29,18,1
+2015-04-30,27,1
+2015-05-01,20,1
+2015-05-02,22,1
+2015-05-03,33,1
+2015-05-04,14,1
+2015-05-05,25,1
+2015-05-06,13,1
+2015-05-07,23,1
+2015-05-08,22,1
+2015-05-09,29,1
+2015-05-10,29,1
+2015-05-11,24,1
+2015-05-12,21,1
+2015-05-13,14,1
+2015-05-14,17,1
+2015-05-15,27,1
+2015-05-16,31,1
+2015-05-17,27,1
+2015-05-18,11,1
+2015-05-19,28,1
+2015-05-20,17,1
+2015-05-21,27,1
+2015-05-22,22,1
+2015-05-23,24,1
+2015-05-24,27,1
+2015-05-25,19,1
+2015-05-26,19,1
+2015-05-27,22,1
+2015-05-28,23,1
+2015-05-29,18,1
+2015-05-30,36,1
+2015-05-31,27,1
+2015-06-01,23,1
+2015-06-02,15,1
+2015-06-03,23,1
+2015-06-04,25,1
+2015-06-05,18,1
+2015-06-06,43,1
+2015-06-07,22,1
+2015-06-08,18,1
+2015-06-09,19,1
+2015-06-10,22,1
+2015-06-11,29,1
+2015-06-12,23,1
+2015-06-13,28,1
+2015-06-14,30,1
+2015-06-15,19,1
+2015-06-16,17,1
+2015-06-17,28,1
+2015-06-18,29,1
+2015-06-19,20,1
+2015-06-20,30,1
+2015-06-21,34,1
+2015-06-22,14,1
+2015-06-23,27,1
+2015-06-24,26,1
+2015-06-25,21,1
+2015-06-26,30,1
+2015-06-27,31,1
+2015-06-28,35,1
+2015-06-29,26,1
+2015-06-30,23,1
+2015-07-01,21,1
+2015-07-02,26,1
+2015-07-03,30,1
+2015-07-04,40,1
+2015-07-05,30,1
+2015-07-06,20,1
+2015-07-07,24,1
+2015-07-08,21,1
+2015-07-09,33,1
+2015-07-10,26,1
+2015-07-11,30,1
+2015-07-12,19,1
+2015-07-13,22,1
+2015-07-14,19,1
+2015-07-15,20,1
+2015-07-16,41,1
+2015-07-17,31,1
+2015-07-18,38,1
+2015-07-19,38,1
+2015-07-20,22,1
+2015-07-21,29,1
+2015-07-22,27,1
+2015-07-23,17,1
+2015-07-24,29,1
+2015-07-25,34,1
+2015-07-26,38,1
+2015-07-27,13,1
+2015-07-28,27,1
+2015-07-29,26,1
+2015-07-30,22,1
+2015-07-31,29,1
+2015-08-01,28,1
+2015-08-02,19,1
+2015-08-03,20,1
+2015-08-04,26,1
+2015-08-05,20,1
+2015-08-06,25,1
+2015-08-07,22,1
+2015-08-08,19,1
+2015-08-09,33,1
+2015-08-10,14,1
+2015-08-11,16,1
+2015-08-12,24,1
+2015-08-13,25,1
+2015-08-14,23,1
+2015-08-15,26,1
+2015-08-16,27,1
+2015-08-17,14,1
+2015-08-18,18,1
+2015-08-19,24,1
+2015-08-20,17,1
+2015-08-21,29,1
+2015-08-22,22,1
+2015-08-23,19,1
+2015-08-24,19,1
+2015-08-25,22,1
+2015-08-26,26,1
+2015-08-27,23,1
+2015-08-28,25,1
+2015-08-29,36,1
+2015-08-30,25,1
+2015-08-31,20,1
+2015-09-01,27,1
+2015-09-02,22,1
+2015-09-03,16,1
+2015-09-04,16,1
+2015-09-05,34,1
+2015-09-06,25,1
+2015-09-07,17,1
+2015-09-08,25,1
+2015-09-09,13,1
+2015-09-10,25,1
+2015-09-11,28,1
+2015-09-12,24,1
+2015-09-13,28,1
+2015-09-14,22,1
+2015-09-15,21,1
+2015-09-16,23,1
+2015-09-17,19,1
+2015-09-18,16,1
+2015-09-19,40,1
+2015-09-20,28,1
+2015-09-21,18,1
+2015-09-22,20,1
+2015-09-23,22,1
+2015-09-24,28,1
+2015-09-25,20,1
+2015-09-26,20,1
+2015-09-27,32,1
+2015-09-28,15,1
+2015-09-29,19,1
+2015-09-30,15,1
+2015-10-01,25,1
+2015-10-02,12,1
+2015-10-03,20,1
+2015-10-04,22,1
+2015-10-05,13,1
+2015-10-06,14,1
+2015-10-07,19,1
+2015-10-08,21,1
+2015-10-09,27,1
+2015-10-10,22,1
+2015-10-11,25,1
+2015-10-12,12,1
+2015-10-13,24,1
+2015-10-14,26,1
+2015-10-15,19,1
+2015-10-16,23,1
+2015-10-17,22,1
+2015-10-18,25,1
+2015-10-19,19,1
+2015-10-20,21,1
+2015-10-21,24,1
+2015-10-22,17,1
+2015-10-23,28,1
+2015-10-24,24,1
+2015-10-25,33,1
+2015-10-26,18,1
+2015-10-27,18,1
+2015-10-28,8,1
+2015-10-29,17,1
+2015-10-30,19,1
+2015-10-31,30,1
+2015-11-01,26,1
+2015-11-02,16,1
+2015-11-03,25,1
+2015-11-04,26,1
+2015-11-05,21,1
+2015-11-06,24,1
+2015-11-07,25,1
+2015-11-08,25,1
+2015-11-09,16,1
+2015-11-10,15,1
+2015-11-11,24,1
+2015-11-12,19,1
+2015-11-13,21,1
+2015-11-14,37,1
+2015-11-15,31,1
+2015-11-16,14,1
+2015-11-17,19,1
+2015-11-18,30,1
+2015-11-19,26,1
+2015-11-20,27,1
+2015-11-21,22,1
+2015-11-22,30,1
+2015-11-23,21,1
+2015-11-24,20,1
+2015-11-25,16,1
+2015-11-26,19,1
+2015-11-27,33,1
+2015-11-28,24,1
+2015-11-29,27,1
+2015-11-30,5,1
+2015-12-01,13,1
+2015-12-02,12,1
+2015-12-03,14,1
+2015-12-04,29,1
+2015-12-05,12,1
+2015-12-06,14,1
+2015-12-07,14,1
+2015-12-08,13,1
+2015-12-09,18,1
+2015-12-10,14,1
+2015-12-11,21,1
+2015-12-12,23,1
+2015-12-13,14,1
+2015-12-14,10,1
+2015-12-15,12,1
+2015-12-16,19,1
+2015-12-17,9,1
+2015-12-18,19,1
+2015-12-19,21,1
+2015-12-20,17,1
+2015-12-21,10,1
+2015-12-22,13,1
+2015-12-23,14,1
+2015-12-24,7,1
+2015-12-25,19,1
+2015-12-26,13,1
+2015-12-27,17,1
+2015-12-28,4,1
+2015-12-29,12,1
+2015-12-30,15,1
+2015-12-31,18,1
+2016-01-01,21,1
+2016-01-02,13,1
+2016-01-03,12,1
+2016-01-04,12,1
+2016-01-05,12,1
+2016-01-06,16,1
+2016-01-07,12,1
+2016-01-08,12,1
+2016-01-09,16,1
+2016-01-10,26,1
+2016-01-11,7,1
+2016-01-12,13,1
+2016-01-13,9,1
+2016-01-14,18,1
+2016-01-15,13,1
+2016-01-16,8,1
+2016-01-17,13,1
+2016-01-18,7,1
+2016-01-19,17,1
+2016-01-20,13,1
+2016-01-21,12,1
+2016-01-22,15,1
+2016-01-23,23,1
+2016-01-24,21,1
+2016-01-25,15,1
+2016-01-26,18,1
+2016-01-27,14,1
+2016-01-28,17,1
+2016-01-29,16,1
+2016-01-30,14,1
+2016-01-31,14,1
+2016-02-01,16,1
+2016-02-02,16,1
+2016-02-03,19,1
+2016-02-04,9,1
+2016-02-05,14,1
+2016-02-06,14,1
+2016-02-07,18,1
+2016-02-08,12,1
+2016-02-09,14,1
+2016-02-10,16,1
+2016-02-11,14,1
+2016-02-12,15,1
+2016-02-13,10,1
+2016-02-14,23,1
+2016-02-15,8,1
+2016-02-16,19,1
+2016-02-17,29,1
+2016-02-18,17,1
+2016-02-19,18,1
+2016-02-20,18,1
+2016-02-21,21,1
+2016-02-22,16,1
+2016-02-23,16,1
+2016-02-24,10,1
+2016-02-25,12,1
+2016-02-26,9,1
+2016-02-27,21,1
+2016-02-28,12,1
+2016-02-29,14,1
+2016-03-01,16,1
+2016-03-02,17,1
+2016-03-03,20,1
+2016-03-04,17,1
+2016-03-05,17,1
+2016-03-06,22,1
+2016-03-07,17,1
+2016-03-08,9,1
+2016-03-09,18,1
+2016-03-10,15,1
+2016-03-11,22,1
+2016-03-12,17,1
+2016-03-13,23,1
+2016-03-14,13,1
+2016-03-15,11,1
+2016-03-16,23,1
+2016-03-17,19,1
+2016-03-18,21,1
+2016-03-19,25,1
+2016-03-20,25,1
+2016-03-21,22,1
+2016-03-22,17,1
+2016-03-23,19,1
+2016-03-24,18,1
+2016-03-25,27,1
+2016-03-26,22,1
+2016-03-27,28,1
+2016-03-28,16,1
+2016-03-29,22,1
+2016-03-30,14,1
+2016-03-31,17,1
+2016-04-01,32,1
+2016-04-02,24,1
+2016-04-03,29,1
+2016-04-04,18,1
+2016-04-05,20,1
+2016-04-06,25,1
+2016-04-07,18,1
+2016-04-08,23,1
+2016-04-09,22,1
+2016-04-10,36,1
+2016-04-11,18,1
+2016-04-12,30,1
+2016-04-13,24,1
+2016-04-14,22,1
+2016-04-15,23,1
+2016-04-16,22,1
+2016-04-17,18,1
+2016-04-18,23,1
+2016-04-19,23,1
+2016-04-20,18,1
+2016-04-21,20,1
+2016-04-22,22,1
+2016-04-23,23,1
+2016-04-24,26,1
+2016-04-25,15,1
+2016-04-26,20,1
+2016-04-27,19,1
+2016-04-28,21,1
+2016-04-29,30,1
+2016-04-30,30,1
+2016-05-01,30,1
+2016-05-02,18,1
+2016-05-03,29,1
+2016-05-04,24,1
+2016-05-05,17,1
+2016-05-06,23,1
+2016-05-07,23,1
+2016-05-08,26,1
+2016-05-09,18,1
+2016-05-10,29,1
+2016-05-11,21,1
+2016-05-12,19,1
+2016-05-13,26,1
+2016-05-14,30,1
+2016-05-15,39,1
+2016-05-16,13,1
+2016-05-17,25,1
+2016-05-18,33,1
+2016-05-19,26,1
+2016-05-20,28,1
+2016-05-21,35,1
+2016-05-22,32,1
+2016-05-23,22,1
+2016-05-24,26,1
+2016-05-25,29,1
+2016-05-26,17,1
+2016-05-27,26,1
+2016-05-28,33,1
+2016-05-29,29,1
+2016-05-30,18,1
+2016-05-31,18,1
+2016-06-01,24,1
+2016-06-02,25,1
+2016-06-03,38,1
+2016-06-04,28,1
+2016-06-05,35,1
+2016-06-06,23,1
+2016-06-07,22,1
+2016-06-08,22,1
+2016-06-09,24,1
+2016-06-10,34,1
+2016-06-11,31,1
+2016-06-12,22,1
+2016-06-13,22,1
+2016-06-14,25,1
+2016-06-15,22,1
+2016-06-16,30,1
+2016-06-17,22,1
+2016-06-18,27,1
+2016-06-19,28,1
+2016-06-20,15,1
+2016-06-21,25,1
+2016-06-22,25,1
+2016-06-23,23,1
+2016-06-24,31,1
+2016-06-25,31,1
+2016-06-26,32,1
+2016-06-27,26,1
+2016-06-28,28,1
+2016-06-29,25,1
+2016-06-30,25,1
+2016-07-01,42,1
+2016-07-02,32,1
+2016-07-03,35,1
+2016-07-04,18,1
+2016-07-05,31,1
+2016-07-06,22,1
+2016-07-07,33,1
+2016-07-08,34,1
+2016-07-09,35,1
+2016-07-10,28,1
+2016-07-11,18,1
+2016-07-12,27,1
+2016-07-13,30,1
+2016-07-14,22,1
+2016-07-15,33,1
+2016-07-16,34,1
+2016-07-17,37,1
+2016-07-18,24,1
+2016-07-19,25,1
+2016-07-20,22,1
+2016-07-21,34,1
+2016-07-22,26,1
+2016-07-23,34,1
+2016-07-24,25,1
+2016-07-25,21,1
+2016-07-26,24,1
+2016-07-27,28,1
+2016-07-28,30,1
+2016-07-29,30,1
+2016-07-30,38,1
+2016-07-31,31,1
+2016-08-01,21,1
+2016-08-02,22,1
+2016-08-03,28,1
+2016-08-04,34,1
+2016-08-05,24,1
+2016-08-06,20,1
+2016-08-07,31,1
+2016-08-08,11,1
+2016-08-09,26,1
+2016-08-10,21,1
+2016-08-11,23,1
+2016-08-12,16,1
+2016-08-13,27,1
+2016-08-14,36,1
+2016-08-15,24,1
+2016-08-16,15,1
+2016-08-17,25,1
+2016-08-18,26,1
+2016-08-19,29,1
+2016-08-20,30,1
+2016-08-21,22,1
+2016-08-22,15,1
+2016-08-23,24,1
+2016-08-24,32,1
+2016-08-25,17,1
+2016-08-26,25,1
+2016-08-27,24,1
+2016-08-28,34,1
+2016-08-29,14,1
+2016-08-30,14,1
+2016-08-31,17,1
+2016-09-01,18,1
+2016-09-02,20,1
+2016-09-03,31,1
+2016-09-04,25,1
+2016-09-05,32,1
+2016-09-06,28,1
+2016-09-07,18,1
+2016-09-08,28,1
+2016-09-09,26,1
+2016-09-10,25,1
+2016-09-11,24,1
+2016-09-12,24,1
+2016-09-13,24,1
+2016-09-14,19,1
+2016-09-15,20,1
+2016-09-16,19,1
+2016-09-17,19,1
+2016-09-18,27,1
+2016-09-19,19,1
+2016-09-20,23,1
+2016-09-21,25,1
+2016-09-22,25,1
+2016-09-23,24,1
+2016-09-24,26,1
+2016-09-25,27,1
+2016-09-26,17,1
+2016-09-27,18,1
+2016-09-28,27,1
+2016-09-29,28,1
+2016-09-30,23,1
+2016-10-01,25,1
+2016-10-02,26,1
+2016-10-03,20,1
+2016-10-04,28,1
+2016-10-05,17,1
+2016-10-06,22,1
+2016-10-07,19,1
+2016-10-08,24,1
+2016-10-09,29,1
+2016-10-10,18,1
+2016-10-11,18,1
+2016-10-12,16,1
+2016-10-13,16,1
+2016-10-14,32,1
+2016-10-15,32,1
+2016-10-16,26,1
+2016-10-17,20,1
+2016-10-18,21,1
+2016-10-19,20,1
+2016-10-20,30,1
+2016-10-21,25,1
+2016-10-22,26,1
+2016-10-23,21,1
+2016-10-24,16,1
+2016-10-25,13,1
+2016-10-26,16,1
+2016-10-27,25,1
+2016-10-28,18,1
+2016-10-29,23,1
+2016-10-30,33,1
+2016-10-31,24,1
+2016-11-01,22,1
+2016-11-02,23,1
+2016-11-03,23,1
+2016-11-04,22,1
+2016-11-05,29,1
+2016-11-06,18,1
+2016-11-07,17,1
+2016-11-08,19,1
+2016-11-09,22,1
+2016-11-10,18,1
+2016-11-11,26,1
+2016-11-12,26,1
+2016-11-13,36,1
+2016-11-14,17,1
+2016-11-15,22,1
+2016-11-16,20,1
+2016-11-17,19,1
+2016-11-18,21,1
+2016-11-19,36,1
+2016-11-20,22,1
+2016-11-21,14,1
+2016-11-22,18,1
+2016-11-23,20,1
+2016-11-24,18,1
+2016-11-25,26,1
+2016-11-26,20,1
+2016-11-27,20,1
+2016-11-28,22,1
+2016-11-29,27,1
+2016-11-30,19,1
+2016-12-01,13,1
+2016-12-02,11,1
+2016-12-03,19,1
+2016-12-04,24,1
+2016-12-05,13,1
+2016-12-06,10,1
+2016-12-07,17,1
+2016-12-08,15,1
+2016-12-09,7,1
+2016-12-10,12,1
+2016-12-11,20,1
+2016-12-12,12,1
+2016-12-13,23,1
+2016-12-14,12,1
+2016-12-15,10,1
+2016-12-16,15,1
+2016-12-17,19,1
+2016-12-18,22,1
+2016-12-19,17,1
+2016-12-20,18,1
+2016-12-21,12,1
+2016-12-22,20,1
+2016-12-23,21,1
+2016-12-24,13,1
+2016-12-25,20,1
+2016-12-26,16,1
+2016-12-27,10,1
+2016-12-28,16,1
+2016-12-29,21,1
+2016-12-30,24,1
+2016-12-31,14,1
+2017-01-01,19,1
+2017-01-02,15,1
+2017-01-03,10,1
+2017-01-04,16,1
+2017-01-05,14,1
+2017-01-06,24,1
+2017-01-07,14,1
+2017-01-08,20,1
+2017-01-09,18,1
+2017-01-10,11,1
+2017-01-11,14,1
+2017-01-12,17,1
+2017-01-13,7,1
+2017-01-14,16,1
+2017-01-15,29,1
+2017-01-16,15,1
+2017-01-17,14,1
+2017-01-18,10,1
+2017-01-19,16,1
+2017-01-20,22,1
+2017-01-21,13,1
+2017-01-22,21,1
+2017-01-23,9,1
+2017-01-24,18,1
+2017-01-25,14,1
+2017-01-26,13,1
+2017-01-27,10,1
+2017-01-28,16,1
+2017-01-29,24,1
+2017-01-30,9,1
+2017-01-31,17,1
+2017-02-01,15,1
+2017-02-02,17,1
+2017-02-03,24,1
+2017-02-04,25,1
+2017-02-05,25,1
+2017-02-06,16,1
+2017-02-07,12,1
+2017-02-08,20,1
+2017-02-09,16,1
+2017-02-10,16,1
+2017-02-11,18,1
+2017-02-12,19,1
+2017-02-13,11,1
+2017-02-14,15,1
+2017-02-15,22,1
+2017-02-16,11,1
+2017-02-17,17,1
+2017-02-18,22,1
+2017-02-19,18,1
+2017-02-20,5,1
+2017-02-21,14,1
+2017-02-22,12,1
+2017-02-23,26,1
+2017-02-24,15,1
+2017-02-25,16,1
+2017-02-26,28,1
+2017-02-27,12,1
+2017-02-28,20,1
+2017-03-01,16,1
+2017-03-02,23,1
+2017-03-03,22,1
+2017-03-04,13,1
+2017-03-05,25,1
+2017-03-06,11,1
+2017-03-07,14,1
+2017-03-08,17,1
+2017-03-09,16,1
+2017-03-10,18,1
+2017-03-11,15,1
+2017-03-12,21,1
+2017-03-13,14,1
+2017-03-14,24,1
+2017-03-15,22,1
+2017-03-16,23,1
+2017-03-17,17,1
+2017-03-18,20,1
+2017-03-19,25,1
+2017-03-20,14,1
+2017-03-21,13,1
+2017-03-22,23,1
+2017-03-23,18,1
+2017-03-24,19,1
+2017-03-25,20,1
+2017-03-26,17,1
+2017-03-27,21,1
+2017-03-28,13,1
+2017-03-29,12,1
+2017-03-30,22,1
+2017-03-31,13,1
+2017-04-01,26,1
+2017-04-02,21,1
+2017-04-03,17,1
+2017-04-04,22,1
+2017-04-05,21,1
+2017-04-06,25,1
+2017-04-07,25,1
+2017-04-08,23,1
+2017-04-09,20,1
+2017-04-10,19,1
+2017-04-11,21,1
+2017-04-12,17,1
+2017-04-13,25,1
+2017-04-14,15,1
+2017-04-15,20,1
+2017-04-16,32,1
+2017-04-17,13,1
+2017-04-18,21,1
+2017-04-19,19,1
+2017-04-20,26,1
+2017-04-21,27,1
+2017-04-22,19,1
+2017-04-23,22,1
+2017-04-24,17,1
+2017-04-25,26,1
+2017-04-26,22,1
+2017-04-27,26,1
+2017-04-28,25,1
+2017-04-29,32,1
+2017-04-30,33,1
+2017-05-01,15,1
+2017-05-02,21,1
+2017-05-03,29,1
+2017-05-04,19,1
+2017-05-05,28,1
+2017-05-06,34,1
+2017-05-07,31,1
+2017-05-08,24,1
+2017-05-09,32,1
+2017-05-10,17,1
+2017-05-11,18,1
+2017-05-12,26,1
+2017-05-13,25,1
+2017-05-14,32,1
+2017-05-15,17,1
+2017-05-16,24,1
+2017-05-17,16,1
+2017-05-18,32,1
+2017-05-19,35,1
+2017-05-20,34,1
+2017-05-21,25,1
+2017-05-22,20,1
+2017-05-23,15,1
+2017-05-24,30,1
+2017-05-25,22,1
+2017-05-26,24,1
+2017-05-27,35,1
+2017-05-28,33,1
+2017-05-29,23,1
+2017-05-30,17,1
+2017-05-31,20,1
+2017-06-01,29,1
+2017-06-02,25,1
+2017-06-03,36,1
+2017-06-04,27,1
+2017-06-05,22,1
+2017-06-06,22,1
+2017-06-07,29,1
+2017-06-08,26,1
+2017-06-09,16,1
+2017-06-10,41,1
+2017-06-11,28,1
+2017-06-12,23,1
+2017-06-13,26,1
+2017-06-14,32,1
+2017-06-15,30,1
+2017-06-16,26,1
+2017-06-17,31,1
+2017-06-18,38,1
+2017-06-19,30,1
+2017-06-20,22,1
+2017-06-21,26,1
+2017-06-22,24,1
+2017-06-23,26,1
+2017-06-24,30,1
+2017-06-25,26,1
+2017-06-26,21,1
+2017-06-27,32,1
+2017-06-28,50,1
+2017-06-29,28,1
+2017-06-30,28,1
+2017-07-01,31,1
+2017-07-02,38,1
+2017-07-03,18,1
+2017-07-04,23,1
+2017-07-05,23,1
+2017-07-06,31,1
+2017-07-07,32,1
+2017-07-08,27,1
+2017-07-09,32,1
+2017-07-10,16,1
+2017-07-11,23,1
+2017-07-12,29,1
+2017-07-13,22,1
+2017-07-14,38,1
+2017-07-15,40,1
+2017-07-16,36,1
+2017-07-17,20,1
+2017-07-18,26,1
+2017-07-19,24,1
+2017-07-20,37,1
+2017-07-21,27,1
+2017-07-22,35,1
+2017-07-23,32,1
+2017-07-24,27,1
+2017-07-25,20,1
+2017-07-26,28,1
+2017-07-27,35,1
+2017-07-28,25,1
+2017-07-29,30,1
+2017-07-30,26,1
+2017-07-31,22,1
+2017-08-01,18,1
+2017-08-02,19,1
+2017-08-03,25,1
+2017-08-04,26,1
+2017-08-05,35,1
+2017-08-06,29,1
+2017-08-07,20,1
+2017-08-08,28,1
+2017-08-09,28,1
+2017-08-10,31,1
+2017-08-11,25,1
+2017-08-12,32,1
+2017-08-13,32,1
+2017-08-14,26,1
+2017-08-15,18,1
+2017-08-16,24,1
+2017-08-17,21,1
+2017-08-18,35,1
+2017-08-19,29,1
+2017-08-20,27,1
+2017-08-21,19,1
+2017-08-22,28,1
+2017-08-23,26,1
+2017-08-24,15,1
+2017-08-25,30,1
+2017-08-26,38,1
+2017-08-27,26,1
+2017-08-28,15,1
+2017-08-29,21,1
+2017-08-30,22,1
+2017-08-31,26,1
+2017-09-01,38,1
+2017-09-02,26,1
+2017-09-03,23,1
+2017-09-04,12,1
+2017-09-05,26,1
+2017-09-06,24,1
+2017-09-07,29,1
+2017-09-08,28,1
+2017-09-09,28,1
+2017-09-10,30,1
+2017-09-11,16,1
+2017-09-12,20,1
+2017-09-13,13,1
+2017-09-14,26,1
+2017-09-15,28,1
+2017-09-16,27,1
+2017-09-17,30,1
+2017-09-18,22,1
+2017-09-19,21,1
+2017-09-20,20,1
+2017-09-21,20,1
+2017-09-22,28,1
+2017-09-23,37,1
+2017-09-24,24,1
+2017-09-25,14,1
+2017-09-26,18,1
+2017-09-27,27,1
+2017-09-28,23,1
+2017-09-29,28,1
+2017-09-30,30,1
+2017-10-01,21,1
+2017-10-02,12,1
+2017-10-03,18,1
+2017-10-04,15,1
+2017-10-05,20,1
+2017-10-06,19,1
+2017-10-07,22,1
+2017-10-08,19,1
+2017-10-09,9,1
+2017-10-10,23,1
+2017-10-11,14,1
+2017-10-12,24,1
+2017-10-13,23,1
+2017-10-14,26,1
+2017-10-15,28,1
+2017-10-16,19,1
+2017-10-17,17,1
+2017-10-18,15,1
+2017-10-19,26,1
+2017-10-20,22,1
+2017-10-21,26,1
+2017-10-22,32,1
+2017-10-23,20,1
+2017-10-24,23,1
+2017-10-25,22,1
+2017-10-26,28,1
+2017-10-27,20,1
+2017-10-28,22,1
+2017-10-29,29,1
+2017-10-30,22,1
+2017-10-31,24,1
+2017-11-01,16,1
+2017-11-02,21,1
+2017-11-03,18,1
+2017-11-04,34,1
+2017-11-05,23,1
+2017-11-06,17,1
+2017-11-07,23,1
+2017-11-08,14,1
+2017-11-09,21,1
+2017-11-10,19,1
+2017-11-11,24,1
+2017-11-12,27,1
+2017-11-13,22,1
+2017-11-14,16,1
+2017-11-15,19,1
+2017-11-16,22,1
+2017-11-17,25,1
+2017-11-18,31,1
+2017-11-19,32,1
+2017-11-20,21,1
+2017-11-21,29,1
+2017-11-22,27,1
+2017-11-23,25,1
+2017-11-24,22,1
+2017-11-25,29,1
+2017-11-26,24,1
+2017-11-27,10,1
+2017-11-28,14,1
+2017-11-29,28,1
+2017-11-30,15,1
+2017-12-01,19,1
+2017-12-02,16,1
+2017-12-03,31,1
+2017-12-04,7,1
+2017-12-05,20,1
+2017-12-06,17,1
+2017-12-07,18,1
+2017-12-08,17,1
+2017-12-09,27,1
+2017-12-10,20,1
+2017-12-11,20,1
+2017-12-12,13,1
+2017-12-13,17,1
+2017-12-14,14,1
+2017-12-15,16,1
+2017-12-16,15,1
+2017-12-17,22,1
+2017-12-18,19,1
+2017-12-19,7,1
+2017-12-20,16,1
+2017-12-21,12,1
+2017-12-22,6,1
+2017-12-23,18,1
+2017-12-24,19,1
+2017-12-25,13,1
+2017-12-26,16,1
+2017-12-27,14,1
+2017-12-28,19,1
+2017-12-29,15,1
+2017-12-30,27,1
+2017-12-31,23,1
+2013-01-01,51,2
+2013-01-02,58,2
+2013-01-03,49,2
+2013-01-04,53,2
+2013-01-05,67,2
+2013-01-06,63,2
+2013-01-07,38,2
+2013-01-08,58,2
+2013-01-09,63,2
+2013-01-10,68,2
+2013-01-11,64,2
+2013-01-12,66,2
+2013-01-13,62,2
+2013-01-14,38,2
+2013-01-15,53,2
+2013-01-16,48,2
+2013-01-17,67,2
+2013-01-18,70,2
+2013-01-19,77,2
+2013-01-20,73,2
+2013-01-21,58,2
+2013-01-22,60,2
+2013-01-23,54,2
+2013-01-24,53,2
+2013-01-25,65,2
+2013-01-26,76,2
+2013-01-27,68,2
+2013-01-28,47,2
+2013-01-29,51,2
+2013-01-30,70,2
+2013-01-31,55,2
+2013-02-01,77,2
+2013-02-02,75,2
+2013-02-03,98,2
+2013-02-04,51,2
+2013-02-05,55,2
+2013-02-06,59,2
+2013-02-07,76,2
+2013-02-08,76,2
+2013-02-09,76,2
+2013-02-10,78,2
+2013-02-11,44,2
+2013-02-12,63,2
+2013-02-13,61,2
+2013-02-14,67,2
+2013-02-15,71,2
+2013-02-16,77,2
+2013-02-17,89,2
+2013-02-18,45,2
+2013-02-19,70,2
+2013-02-20,75,2
+2013-02-21,62,2
+2013-02-22,66,2
+2013-02-23,73,2
+2013-02-24,83,2
+2013-02-25,45,2
+2013-02-26,60,2
+2013-02-27,63,2
+2013-02-28,77,2
+2013-03-01,101,2
+2013-03-02,86,2
+2013-03-03,92,2
+2013-03-04,55,2
+2013-03-05,97,2
+2013-03-06,79,2
+2013-03-07,90,2
+2013-03-08,90,2
+2013-03-09,103,2
+2013-03-10,111,2
+2013-03-11,66,2
+2013-03-12,72,2
+2013-03-13,84,2
+2013-03-14,75,2
+2013-03-15,88,2
+2013-03-16,87,2
+2013-03-17,109,2
+2013-03-18,71,2
+2013-03-19,78,2
+2013-03-20,79,2
+2013-03-21,79,2
+2013-03-22,82,2
+2013-03-23,86,2
+2013-03-24,106,2
+2013-03-25,67,2
+2013-03-26,80,2
+2013-03-27,79,2
+2013-03-28,89,2
+2013-03-29,76,2
+2013-03-30,97,2
+2013-03-31,99,2
+2013-04-01,78,2
+2013-04-02,94,2
+2013-04-03,75,2
+2013-04-04,115,2
+2013-04-05,97,2
+2013-04-06,108,2
+2013-04-07,121,2
+2013-04-08,61,2
+2013-04-09,90,2
+2013-04-10,83,2
+2013-04-11,118,2
+2013-04-12,112,2
+2013-04-13,117,2
+2013-04-14,133,2
+2013-04-15,58,2
+2013-04-16,97,2
+2013-04-17,83,2
+2013-04-18,81,2
+2013-04-19,98,2
+2013-04-20,98,2
+2013-04-21,120,2
+2013-04-22,98,2
+2013-04-23,79,2
+2013-04-24,83,2
+2013-04-25,97,2
+2013-04-26,100,2
+2013-04-27,105,2
+2013-04-28,123,2
+2013-04-29,69,2
+2013-04-30,83,2
+2013-05-01,94,2
+2013-05-02,106,2
+2013-05-03,110,2
+2013-05-04,109,2
+2013-05-05,119,2
+2013-05-06,86,2
+2013-05-07,97,2
+2013-05-08,106,2
+2013-05-09,123,2
+2013-05-10,102,2
+2013-05-11,139,2
+2013-05-12,117,2
+2013-05-13,81,2
+2013-05-14,99,2
+2013-05-15,99,2
+2013-05-16,108,2
+2013-05-17,93,2
+2013-05-18,115,2
+2013-05-19,112,2
+2013-05-20,87,2
+2013-05-21,81,2
+2013-05-22,81,2
+2013-05-23,99,2
+2013-05-24,110,2
+2013-05-25,114,2
+2013-05-26,113,2
+2013-05-27,83,2
+2013-05-28,82,2
+2013-05-29,112,2
+2013-05-30,87,2
+2013-05-31,106,2
+2013-06-01,119,2
+2013-06-02,139,2
+2013-06-03,85,2
+2013-06-04,109,2
+2013-06-05,104,2
+2013-06-06,99,2
+2013-06-07,120,2
+2013-06-08,126,2
+2013-06-09,130,2
+2013-06-10,90,2
+2013-06-11,99,2
+2013-06-12,102,2
+2013-06-13,97,2
+2013-06-14,110,2
+2013-06-15,119,2
+2013-06-16,136,2
+2013-06-17,63,2
+2013-06-18,108,2
+2013-06-19,108,2
+2013-06-20,99,2
+2013-06-21,110,2
+2013-06-22,137,2
+2013-06-23,116,2
+2013-06-24,83,2
+2013-06-25,103,2
+2013-06-26,110,2
+2013-06-27,117,2
+2013-06-28,125,2
+2013-06-29,108,2
+2013-06-30,139,2
+2013-07-01,67,2
+2013-07-02,114,2
+2013-07-03,128,2
+2013-07-04,96,2
+2013-07-05,108,2
+2013-07-06,142,2
+2013-07-07,151,2
+2013-07-08,93,2
+2013-07-09,102,2
+2013-07-10,118,2
+2013-07-11,112,2
+2013-07-12,123,2
+2013-07-13,116,2
+2013-07-14,131,2
+2013-07-15,83,2
+2013-07-16,100,2
+2013-07-17,89,2
+2013-07-18,108,2
+2013-07-19,125,2
+2013-07-20,135,2
+2013-07-21,141,2
+2013-07-22,93,2
+2013-07-23,91,2
+2013-07-24,97,2
+2013-07-25,108,2
+2013-07-26,130,2
+2013-07-27,126,2
+2013-07-28,127,2
+2013-07-29,93,2
+2013-07-30,95,2
+2013-07-31,101,2
+2013-08-01,114,2
+2013-08-02,104,2
+2013-08-03,120,2
+2013-08-04,132,2
+2013-08-05,75,2
+2013-08-06,90,2
+2013-08-07,94,2
+2013-08-08,91,2
+2013-08-09,104,2
+2013-08-10,95,2
+2013-08-11,121,2
+2013-08-12,96,2
+2013-08-13,110,2
+2013-08-14,91,2
+2013-08-15,110,2
+2013-08-16,112,2
+2013-08-17,123,2
+2013-08-18,123,2
+2013-08-19,90,2
+2013-08-20,99,2
+2013-08-21,82,2
+2013-08-22,106,2
+2013-08-23,115,2
+2013-08-24,96,2
+2013-08-25,120,2
+2013-08-26,69,2
+2013-08-27,111,2
+2013-08-28,99,2
+2013-08-29,124,2
+2013-08-30,102,2
+2013-08-31,107,2
+2013-09-01,114,2
+2013-09-02,67,2
+2013-09-03,103,2
+2013-09-04,96,2
+2013-09-05,96,2
+2013-09-06,114,2
+2013-09-07,106,2
+2013-09-08,116,2
+2013-09-09,81,2
+2013-09-10,108,2
+2013-09-11,87,2
+2013-09-12,85,2
+2013-09-13,86,2
+2013-09-14,111,2
+2013-09-15,109,2
+2013-09-16,82,2
+2013-09-17,93,2
+2013-09-18,79,2
+2013-09-19,108,2
+2013-09-20,101,2
+2013-09-21,120,2
+2013-09-22,127,2
+2013-09-23,65,2
+2013-09-24,85,2
+2013-09-25,84,2
+2013-09-26,106,2
+2013-09-27,102,2
+2013-09-28,103,2
+2013-09-29,120,2
+2013-09-30,84,2
+2013-10-01,71,2
+2013-10-02,77,2
+2013-10-03,90,2
+2013-10-04,84,2
+2013-10-05,99,2
+2013-10-06,100,2
+2013-10-07,61,2
+2013-10-08,69,2
+2013-10-09,82,2
+2013-10-10,99,2
+2013-10-11,79,2
+2013-10-12,105,2
+2013-10-13,103,2
+2013-10-14,78,2
+2013-10-15,98,2
+2013-10-16,80,2
+2013-10-17,88,2
+2013-10-18,80,2
+2013-10-19,90,2
+2013-10-20,109,2
+2013-10-21,88,2
+2013-10-22,67,2
+2013-10-23,69,2
+2013-10-24,92,2
+2013-10-25,103,2
+2013-10-26,102,2
+2013-10-27,113,2
+2013-10-28,67,2
+2013-10-29,77,2
+2013-10-30,94,2
+2013-10-31,92,2
+2013-11-01,91,2
+2013-11-02,104,2
+2013-11-03,112,2
+2013-11-04,67,2
+2013-11-05,90,2
+2013-11-06,93,2
+2013-11-07,115,2
+2013-11-08,110,2
+2013-11-09,100,2
+2013-11-10,100,2
+2013-11-11,70,2
+2013-11-12,81,2
+2013-11-13,92,2
+2013-11-14,86,2
+2013-11-15,105,2
+2013-11-16,91,2
+2013-11-17,111,2
+2013-11-18,67,2
+2013-11-19,85,2
+2013-11-20,78,2
+2013-11-21,106,2
+2013-11-22,98,2
+2013-11-23,101,2
+2013-11-24,111,2
+2013-11-25,76,2
+2013-11-26,94,2
+2013-11-27,83,2
+2013-11-28,98,2
+2013-11-29,108,2
+2013-11-30,107,2
+2013-12-01,78,2
+2013-12-02,64,2
+2013-12-03,70,2
+2013-12-04,71,2
+2013-12-05,68,2
+2013-12-06,79,2
+2013-12-07,80,2
+2013-12-08,68,2
+2013-12-09,55,2
+2013-12-10,83,2
+2013-12-11,61,2
+2013-12-12,60,2
+2013-12-13,69,2
+2013-12-14,71,2
+2013-12-15,78,2
+2013-12-16,55,2
+2013-12-17,67,2
+2013-12-18,59,2
+2013-12-19,57,2
+2013-12-20,54,2
+2013-12-21,56,2
+2013-12-22,91,2
+2013-12-23,66,2
+2013-12-24,60,2
+2013-12-25,52,2
+2013-12-26,68,2
+2013-12-27,96,2
+2013-12-28,76,2
+2013-12-29,71,2
+2013-12-30,53,2
+2013-12-31,60,2
+2014-01-01,61,2
+2014-01-02,85,2
+2014-01-03,75,2
+2014-01-04,79,2
+2014-01-05,78,2
+2014-01-06,51,2
+2014-01-07,54,2
+2014-01-08,74,2
+2014-01-09,72,2
+2014-01-10,66,2
+2014-01-11,78,2
+2014-01-12,76,2
+2014-01-13,49,2
+2014-01-14,67,2
+2014-01-15,65,2
+2014-01-16,67,2
+2014-01-17,73,2
+2014-01-18,94,2
+2014-01-19,78,2
+2014-01-20,59,2
+2014-01-21,73,2
+2014-01-22,70,2
+2014-01-23,70,2
+2014-01-24,85,2
+2014-01-25,99,2
+2014-01-26,67,2
+2014-01-27,43,2
+2014-01-28,56,2
+2014-01-29,64,2
+2014-01-30,64,2
+2014-01-31,95,2
+2014-02-01,94,2
+2014-02-02,90,2
+2014-02-03,67,2
+2014-02-04,73,2
+2014-02-05,69,2
+2014-02-06,72,2
+2014-02-07,81,2
+2014-02-08,87,2
+2014-02-09,89,2
+2014-02-10,61,2
+2014-02-11,62,2
+2014-02-12,86,2
+2014-02-13,77,2
+2014-02-14,78,2
+2014-02-15,85,2
+2014-02-16,90,2
+2014-02-17,49,2
+2014-02-18,83,2
+2014-02-19,61,2
+2014-02-20,80,2
+2014-02-21,79,2
+2014-02-22,82,2
+2014-02-23,81,2
+2014-02-24,66,2
+2014-02-25,64,2
+2014-02-26,65,2
+2014-02-27,74,2
+2014-02-28,93,2
+2014-03-01,104,2
+2014-03-02,118,2
+2014-03-03,76,2
+2014-03-04,92,2
+2014-03-05,89,2
+2014-03-06,89,2
+2014-03-07,92,2
+2014-03-08,111,2
+2014-03-09,109,2
+2014-03-10,92,2
+2014-03-11,81,2
+2014-03-12,96,2
+2014-03-13,87,2
+2014-03-14,103,2
+2014-03-15,102,2
+2014-03-16,103,2
+2014-03-17,80,2
+2014-03-18,83,2
+2014-03-19,98,2
+2014-03-20,100,2
+2014-03-21,98,2
+2014-03-22,98,2
+2014-03-23,123,2
+2014-03-24,62,2
+2014-03-25,88,2
+2014-03-26,75,2
+2014-03-27,84,2
+2014-03-28,96,2
+2014-03-29,108,2
+2014-03-30,110,2
+2014-03-31,76,2
+2014-04-01,94,2
+2014-04-02,98,2
+2014-04-03,97,2
+2014-04-04,108,2
+2014-04-05,129,2
+2014-04-06,135,2
+2014-04-07,84,2
+2014-04-08,101,2
+2014-04-09,93,2
+2014-04-10,103,2
+2014-04-11,122,2
+2014-04-12,122,2
+2014-04-13,129,2
+2014-04-14,87,2
+2014-04-15,114,2
+2014-04-16,96,2
+2014-04-17,114,2
+2014-04-18,114,2
+2014-04-19,129,2
+2014-04-20,130,2
+2014-04-21,89,2
+2014-04-22,93,2
+2014-04-23,102,2
+2014-04-24,102,2
+2014-04-25,91,2
+2014-04-26,116,2
+2014-04-27,131,2
+2014-04-28,86,2
+2014-04-29,94,2
+2014-04-30,102,2
+2014-05-01,107,2
+2014-05-02,106,2
+2014-05-03,114,2
+2014-05-04,121,2
+2014-05-05,110,2
+2014-05-06,105,2
+2014-05-07,108,2
+2014-05-08,130,2
+2014-05-09,131,2
+2014-05-10,121,2
+2014-05-11,137,2
+2014-05-12,94,2
+2014-05-13,113,2
+2014-05-14,110,2
+2014-05-15,121,2
+2014-05-16,120,2
+2014-05-17,133,2
+2014-05-18,127,2
+2014-05-19,98,2
+2014-05-20,99,2
+2014-05-21,116,2
+2014-05-22,107,2
+2014-05-23,117,2
+2014-05-24,131,2
+2014-05-25,155,2
+2014-05-26,102,2
+2014-05-27,103,2
+2014-05-28,123,2
+2014-05-29,118,2
+2014-05-30,111,2
+2014-05-31,126,2
+2014-06-01,156,2
+2014-06-02,111,2
+2014-06-03,96,2
+2014-06-04,120,2
+2014-06-05,143,2
+2014-06-06,124,2
+2014-06-07,138,2
+2014-06-08,138,2
+2014-06-09,96,2
+2014-06-10,117,2
+2014-06-11,125,2
+2014-06-12,128,2
+2014-06-13,129,2
+2014-06-14,127,2
+2014-06-15,143,2
+2014-06-16,106,2
+2014-06-17,115,2
+2014-06-18,123,2
+2014-06-19,133,2
+2014-06-20,130,2
+2014-06-21,152,2
+2014-06-22,143,2
+2014-06-23,108,2
+2014-06-24,124,2
+2014-06-25,128,2
+2014-06-26,111,2
+2014-06-27,143,2
+2014-06-28,143,2
+2014-06-29,147,2
+2014-06-30,91,2
+2014-07-01,108,2
+2014-07-02,124,2
+2014-07-03,139,2
+2014-07-04,147,2
+2014-07-05,129,2
+2014-07-06,145,2
+2014-07-07,95,2
+2014-07-08,118,2
+2014-07-09,108,2
+2014-07-10,145,2
+2014-07-11,164,2
+2014-07-12,161,2
+2014-07-13,158,2
+2014-07-14,107,2
+2014-07-15,128,2
+2014-07-16,126,2
+2014-07-17,117,2
+2014-07-18,154,2
+2014-07-19,151,2
+2014-07-20,154,2
+2014-07-21,119,2
+2014-07-22,126,2
+2014-07-23,131,2
+2014-07-24,116,2
+2014-07-25,137,2
+2014-07-26,141,2
+2014-07-27,155,2
+2014-07-28,96,2
+2014-07-29,128,2
+2014-07-30,141,2
+2014-07-31,149,2
+2014-08-01,120,2
+2014-08-02,121,2
+2014-08-03,157,2
+2014-08-04,89,2
+2014-08-05,110,2
+2014-08-06,87,2
+2014-08-07,125,2
+2014-08-08,122,2
+2014-08-09,106,2
+2014-08-10,115,2
+2014-08-11,91,2
+2014-08-12,95,2
+2014-08-13,112,2
+2014-08-14,131,2
+2014-08-15,113,2
+2014-08-16,129,2
+2014-08-17,162,2
+2014-08-18,105,2
+2014-08-19,115,2
+2014-08-20,99,2
+2014-08-21,143,2
+2014-08-22,116,2
+2014-08-23,130,2
+2014-08-24,131,2
+2014-08-25,90,2
+2014-08-26,93,2
+2014-08-27,113,2
+2014-08-28,97,2
+2014-08-29,114,2
+2014-08-30,132,2
+2014-08-31,156,2
+2014-09-01,91,2
+2014-09-02,109,2
+2014-09-03,114,2
+2014-09-04,106,2
+2014-09-05,90,2
+2014-09-06,122,2
+2014-09-07,137,2
+2014-09-08,79,2
+2014-09-09,83,2
+2014-09-10,117,2
+2014-09-11,104,2
+2014-09-12,130,2
+2014-09-13,119,2
+2014-09-14,136,2
+2014-09-15,97,2
+2014-09-16,103,2
+2014-09-17,96,2
+2014-09-18,99,2
+2014-09-19,108,2
+2014-09-20,129,2
+2014-09-21,119,2
+2014-09-22,65,2
+2014-09-23,103,2
+2014-09-24,100,2
+2014-09-25,104,2
+2014-09-26,111,2
+2014-09-27,133,2
+2014-09-28,152,2
+2014-09-29,88,2
+2014-09-30,101,2
+2014-10-01,81,2
+2014-10-02,113,2
+2014-10-03,103,2
+2014-10-04,97,2
+2014-10-05,105,2
+2014-10-06,79,2
+2014-10-07,115,2
+2014-10-08,81,2
+2014-10-09,112,2
+2014-10-10,117,2
+2014-10-11,109,2
+2014-10-12,127,2
+2014-10-13,90,2
+2014-10-14,99,2
+2014-10-15,104,2
+2014-10-16,90,2
+2014-10-17,107,2
+2014-10-18,111,2
+2014-10-19,130,2
+2014-10-20,75,2
+2014-10-21,102,2
+2014-10-22,102,2
+2014-10-23,101,2
+2014-10-24,113,2
+2014-10-25,116,2
+2014-10-26,116,2
+2014-10-27,81,2
+2014-10-28,87,2
+2014-10-29,71,2
+2014-10-30,88,2
+2014-10-31,105,2
+2014-11-01,123,2
+2014-11-02,128,2
+2014-11-03,81,2
+2014-11-04,103,2
+2014-11-05,103,2
+2014-11-06,97,2
+2014-11-07,114,2
+2014-11-08,120,2
+2014-11-09,132,2
+2014-11-10,81,2
+2014-11-11,118,2
+2014-11-12,117,2
+2014-11-13,91,2
+2014-11-14,120,2
+2014-11-15,129,2
+2014-11-16,128,2
+2014-11-17,71,2
+2014-11-18,105,2
+2014-11-19,85,2
+2014-11-20,110,2
+2014-11-21,111,2
+2014-11-22,126,2
+2014-11-23,128,2
+2014-11-24,85,2
+2014-11-25,104,2
+2014-11-26,110,2
+2014-11-27,95,2
+2014-11-28,131,2
+2014-11-29,120,2
+2014-11-30,138,2
+2014-12-01,48,2
+2014-12-02,85,2
+2014-12-03,65,2
+2014-12-04,69,2
+2014-12-05,92,2
+2014-12-06,85,2
+2014-12-07,100,2
+2014-12-08,62,2
+2014-12-09,89,2
+2014-12-10,80,2
+2014-12-11,85,2
+2014-12-12,72,2
+2014-12-13,98,2
+2014-12-14,112,2
+2014-12-15,57,2
+2014-12-16,64,2
+2014-12-17,72,2
+2014-12-18,72,2
+2014-12-19,80,2
+2014-12-20,77,2
+2014-12-21,89,2
+2014-12-22,57,2
+2014-12-23,54,2
+2014-12-24,71,2
+2014-12-25,66,2
+2014-12-26,87,2
+2014-12-27,83,2
+2014-12-28,107,2
+2014-12-29,55,2
+2014-12-30,64,2
+2014-12-31,57,2
+2015-01-01,70,2
+2015-01-02,63,2
+2015-01-03,84,2
+2015-01-04,82,2
+2015-01-05,68,2
+2015-01-06,71,2
+2015-01-07,77,2
+2015-01-08,66,2
+2015-01-09,92,2
+2015-01-10,87,2
+2015-01-11,79,2
+2015-01-12,57,2
+2015-01-13,65,2
+2015-01-14,65,2
+2015-01-15,71,2
+2015-01-16,84,2
+2015-01-17,92,2
+2015-01-18,84,2
+2015-01-19,49,2
+2015-01-20,81,2
+2015-01-21,58,2
+2015-01-22,77,2
+2015-01-23,82,2
+2015-01-24,106,2
+2015-01-25,84,2
+2015-01-26,52,2
+2015-01-27,72,2
+2015-01-28,64,2
+2015-01-29,74,2
+2015-01-30,89,2
+2015-01-31,65,2
+2015-02-01,94,2
+2015-02-02,73,2
+2015-02-03,69,2
+2015-02-04,64,2
+2015-02-05,79,2
+2015-02-06,71,2
+2015-02-07,90,2
+2015-02-08,108,2
+2015-02-09,62,2
+2015-02-10,53,2
+2015-02-11,78,2
+2015-02-12,89,2
+2015-02-13,73,2
+2015-02-14,89,2
+2015-02-15,100,2
+2015-02-16,56,2
+2015-02-17,87,2
+2015-02-18,74,2
+2015-02-19,93,2
+2015-02-20,90,2
+2015-02-21,102,2
+2015-02-22,103,2
+2015-02-23,61,2
+2015-02-24,90,2
+2015-02-25,72,2
+2015-02-26,93,2
+2015-02-27,80,2
+2015-02-28,94,2
+2015-03-01,109,2
+2015-03-02,70,2
+2015-03-03,96,2
+2015-03-04,86,2
+2015-03-05,86,2
+2015-03-06,103,2
+2015-03-07,111,2
+2015-03-08,106,2
+2015-03-09,74,2
+2015-03-10,85,2
+2015-03-11,79,2
+2015-03-12,96,2
+2015-03-13,109,2
+2015-03-14,134,2
+2015-03-15,127,2
+2015-03-16,75,2
+2015-03-17,76,2
+2015-03-18,97,2
+2015-03-19,91,2
+2015-03-20,107,2
+2015-03-21,120,2
+2015-03-22,131,2
+2015-03-23,81,2
+2015-03-24,83,2
+2015-03-25,67,2
+2015-03-26,100,2
+2015-03-27,98,2
+2015-03-28,112,2
+2015-03-29,106,2
+2015-03-30,72,2
+2015-03-31,83,2
+2015-04-01,108,2
+2015-04-02,97,2
+2015-04-03,120,2
+2015-04-04,117,2
+2015-04-05,129,2
+2015-04-06,98,2
+2015-04-07,95,2
+2015-04-08,110,2
+2015-04-09,116,2
+2015-04-10,124,2
+2015-04-11,113,2
+2015-04-12,126,2
+2015-04-13,90,2
+2015-04-14,104,2
+2015-04-15,101,2
+2015-04-16,127,2
+2015-04-17,117,2
+2015-04-18,158,2
+2015-04-19,155,2
+2015-04-20,102,2
+2015-04-21,110,2
+2015-04-22,113,2
+2015-04-23,128,2
+2015-04-24,112,2
+2015-04-25,137,2
+2015-04-26,154,2
+2015-04-27,97,2
+2015-04-28,106,2
+2015-04-29,93,2
+2015-04-30,112,2
+2015-05-01,137,2
+2015-05-02,154,2
+2015-05-03,173,2
+2015-05-04,84,2
+2015-05-05,117,2
+2015-05-06,122,2
+2015-05-07,127,2
+2015-05-08,129,2
+2015-05-09,133,2
+2015-05-10,158,2
+2015-05-11,93,2
+2015-05-12,117,2
+2015-05-13,101,2
+2015-05-14,124,2
+2015-05-15,125,2
+2015-05-16,131,2
+2015-05-17,134,2
+2015-05-18,100,2
+2015-05-19,107,2
+2015-05-20,108,2
+2015-05-21,132,2
+2015-05-22,107,2
+2015-05-23,148,2
+2015-05-24,163,2
+2015-05-25,98,2
+2015-05-26,128,2
+2015-05-27,117,2
+2015-05-28,114,2
+2015-05-29,112,2
+2015-05-30,136,2
+2015-05-31,151,2
+2015-06-01,89,2
+2015-06-02,105,2
+2015-06-03,108,2
+2015-06-04,138,2
+2015-06-05,135,2
+2015-06-06,147,2
+2015-06-07,136,2
+2015-06-08,93,2
+2015-06-09,118,2
+2015-06-10,124,2
+2015-06-11,131,2
+2015-06-12,123,2
+2015-06-13,147,2
+2015-06-14,168,2
+2015-06-15,103,2
+2015-06-16,114,2
+2015-06-17,109,2
+2015-06-18,106,2
+2015-06-19,143,2
+2015-06-20,148,2
+2015-06-21,162,2
+2015-06-22,107,2
+2015-06-23,117,2
+2015-06-24,105,2
+2015-06-25,132,2
+2015-06-26,159,2
+2015-06-27,140,2
+2015-06-28,152,2
+2015-06-29,84,2
+2015-06-30,125,2
+2015-07-01,158,2
+2015-07-02,130,2
+2015-07-03,141,2
+2015-07-04,146,2
+2015-07-05,156,2
+2015-07-06,98,2
+2015-07-07,144,2
+2015-07-08,130,2
+2015-07-09,146,2
+2015-07-10,134,2
+2015-07-11,161,2
+2015-07-12,156,2
+2015-07-13,123,2
+2015-07-14,106,2
+2015-07-15,145,2
+2015-07-16,140,2
+2015-07-17,155,2
+2015-07-18,174,2
+2015-07-19,166,2
+2015-07-20,105,2
+2015-07-21,116,2
+2015-07-22,112,2
+2015-07-23,136,2
+2015-07-24,163,2
+2015-07-25,160,2
+2015-07-26,136,2
+2015-07-27,117,2
+2015-07-28,133,2
+2015-07-29,129,2
+2015-07-30,126,2
+2015-07-31,146,2
+2015-08-01,152,2
+2015-08-02,155,2
+2015-08-03,84,2
+2015-08-04,108,2
+2015-08-05,112,2
+2015-08-06,114,2
+2015-08-07,125,2
+2015-08-08,116,2
+2015-08-09,142,2
+2015-08-10,99,2
+2015-08-11,124,2
+2015-08-12,103,2
+2015-08-13,120,2
+2015-08-14,129,2
+2015-08-15,122,2
+2015-08-16,134,2
+2015-08-17,101,2
+2015-08-18,109,2
+2015-08-19,96,2
+2015-08-20,109,2
+2015-08-21,126,2
+2015-08-22,125,2
+2015-08-23,129,2
+2015-08-24,105,2
+2015-08-25,110,2
+2015-08-26,127,2
+2015-08-27,121,2
+2015-08-28,132,2
+2015-08-29,129,2
+2015-08-30,141,2
+2015-08-31,84,2
+2015-09-01,106,2
+2015-09-02,90,2
+2015-09-03,113,2
+2015-09-04,104,2
+2015-09-05,131,2
+2015-09-06,150,2
+2015-09-07,85,2
+2015-09-08,91,2
+2015-09-09,98,2
+2015-09-10,117,2
+2015-09-11,120,2
+2015-09-12,125,2
+2015-09-13,130,2
+2015-09-14,85,2
+2015-09-15,108,2
+2015-09-16,119,2
+2015-09-17,121,2
+2015-09-18,99,2
+2015-09-19,106,2
+2015-09-20,136,2
+2015-09-21,85,2
+2015-09-22,114,2
+2015-09-23,113,2
+2015-09-24,122,2
+2015-09-25,125,2
+2015-09-26,131,2
+2015-09-27,135,2
+2015-09-28,86,2
+2015-09-29,95,2
+2015-09-30,112,2
+2015-10-01,129,2
+2015-10-02,110,2
+2015-10-03,105,2
+2015-10-04,112,2
+2015-10-05,92,2
+2015-10-06,101,2
+2015-10-07,105,2
+2015-10-08,99,2
+2015-10-09,116,2
+2015-10-10,133,2
+2015-10-11,151,2
+2015-10-12,94,2
+2015-10-13,95,2
+2015-10-14,105,2
+2015-10-15,108,2
+2015-10-16,94,2
+2015-10-17,134,2
+2015-10-18,129,2
+2015-10-19,84,2
+2015-10-20,94,2
+2015-10-21,96,2
+2015-10-22,101,2
+2015-10-23,119,2
+2015-10-24,124,2
+2015-10-25,134,2
+2015-10-26,106,2
+2015-10-27,116,2
+2015-10-28,107,2
+2015-10-29,108,2
+2015-10-30,111,2
+2015-10-31,106,2
+2015-11-01,146,2
+2015-11-02,109,2
+2015-11-03,97,2
+2015-11-04,100,2
+2015-11-05,96,2
+2015-11-06,122,2
+2015-11-07,128,2
+2015-11-08,130,2
+2015-11-09,92,2
+2015-11-10,110,2
+2015-11-11,95,2
+2015-11-12,94,2
+2015-11-13,125,2
+2015-11-14,146,2
+2015-11-15,133,2
+2015-11-16,91,2
+2015-11-17,103,2
+2015-11-18,102,2
+2015-11-19,112,2
+2015-11-20,116,2
+2015-11-21,128,2
+2015-11-22,148,2
+2015-11-23,84,2
+2015-11-24,101,2
+2015-11-25,98,2
+2015-11-26,128,2
+2015-11-27,133,2
+2015-11-28,136,2
+2015-11-29,132,2
+2015-11-30,96,2
+2015-12-01,80,2
+2015-12-02,84,2
+2015-12-03,80,2
+2015-12-04,74,2
+2015-12-05,103,2
+2015-12-06,91,2
+2015-12-07,75,2
+2015-12-08,77,2
+2015-12-09,73,2
+2015-12-10,90,2
+2015-12-11,91,2
+2015-12-12,103,2
+2015-12-13,85,2
+2015-12-14,70,2
+2015-12-15,68,2
+2015-12-16,78,2
+2015-12-17,64,2
+2015-12-18,94,2
+2015-12-19,80,2
+2015-12-20,92,2
+2015-12-21,82,2
+2015-12-22,90,2
+2015-12-23,76,2
+2015-12-24,72,2
+2015-12-25,80,2
+2015-12-26,91,2
+2015-12-27,96,2
+2015-12-28,60,2
+2015-12-29,78,2
+2015-12-30,84,2
+2015-12-31,67,2
+2016-01-01,85,2
+2016-01-02,83,2
+2016-01-03,97,2
+2016-01-04,53,2
+2016-01-05,71,2
+2016-01-06,69,2
+2016-01-07,80,2
+2016-01-08,92,2
+2016-01-09,91,2
+2016-01-10,92,2
+2016-01-11,65,2
+2016-01-12,66,2
+2016-01-13,76,2
+2016-01-14,83,2
+2016-01-15,91,2
+2016-01-16,100,2
+2016-01-17,107,2
+2016-01-18,63,2
+2016-01-19,68,2
+2016-01-20,68,2
+2016-01-21,90,2
+2016-01-22,82,2
+2016-01-23,95,2
+2016-01-24,95,2
+2016-01-25,71,2
+2016-01-26,69,2
+2016-01-27,70,2
+2016-01-28,77,2
+2016-01-29,74,2
+2016-01-30,87,2
+2016-01-31,91,2
+2016-02-01,75,2
+2016-02-02,80,2
+2016-02-03,87,2
+2016-02-04,97,2
+2016-02-05,90,2
+2016-02-06,112,2
+2016-02-07,102,2
+2016-02-08,70,2
+2016-02-09,84,2
+2016-02-10,73,2
+2016-02-11,76,2
+2016-02-12,104,2
+2016-02-13,112,2
+2016-02-14,105,2
+2016-02-15,67,2
+2016-02-16,75,2
+2016-02-17,92,2
+2016-02-18,104,2
+2016-02-19,90,2
+2016-02-20,89,2
+2016-02-21,124,2
+2016-02-22,70,2
+2016-02-23,70,2
+2016-02-24,95,2
+2016-02-25,88,2
+2016-02-26,74,2
+2016-02-27,96,2
+2016-02-28,107,2
+2016-02-29,70,2
+2016-03-01,110,2
+2016-03-02,94,2
+2016-03-03,113,2
+2016-03-04,97,2
+2016-03-05,133,2
+2016-03-06,124,2
+2016-03-07,86,2
+2016-03-08,90,2
+2016-03-09,91,2
+2016-03-10,116,2
+2016-03-11,98,2
+2016-03-12,124,2
+2016-03-13,126,2
+2016-03-14,70,2
+2016-03-15,100,2
+2016-03-16,94,2
+2016-03-17,118,2
+2016-03-18,109,2
+2016-03-19,139,2
+2016-03-20,131,2
+2016-03-21,84,2
+2016-03-22,90,2
+2016-03-23,103,2
+2016-03-24,113,2
+2016-03-25,109,2
+2016-03-26,117,2
+2016-03-27,129,2
+2016-03-28,87,2
+2016-03-29,83,2
+2016-03-30,83,2
+2016-03-31,103,2
+2016-04-01,139,2
+2016-04-02,121,2
+2016-04-03,147,2
+2016-04-04,81,2
+2016-04-05,124,2
+2016-04-06,125,2
+2016-04-07,108,2
+2016-04-08,116,2
+2016-04-09,134,2
+2016-04-10,132,2
+2016-04-11,99,2
+2016-04-12,116,2
+2016-04-13,108,2
+2016-04-14,137,2
+2016-04-15,118,2
+2016-04-16,141,2
+2016-04-17,154,2
+2016-04-18,113,2
+2016-04-19,102,2
+2016-04-20,112,2
+2016-04-21,130,2
+2016-04-22,139,2
+2016-04-23,132,2
+2016-04-24,142,2
+2016-04-25,120,2
+2016-04-26,113,2
+2016-04-27,120,2
+2016-04-28,121,2
+2016-04-29,120,2
+2016-04-30,139,2
+2016-05-01,138,2
+2016-05-02,88,2
+2016-05-03,114,2
+2016-05-04,145,2
+2016-05-05,123,2
+2016-05-06,168,2
+2016-05-07,153,2
+2016-05-08,155,2
+2016-05-09,107,2
+2016-05-10,120,2
+2016-05-11,130,2
+2016-05-12,142,2
+2016-05-13,132,2
+2016-05-14,159,2
+2016-05-15,151,2
+2016-05-16,107,2
+2016-05-17,107,2
+2016-05-18,111,2
+2016-05-19,112,2
+2016-05-20,151,2
+2016-05-21,155,2
+2016-05-22,139,2
+2016-05-23,112,2
+2016-05-24,101,2
+2016-05-25,108,2
+2016-05-26,141,2
+2016-05-27,132,2
+2016-05-28,156,2
+2016-05-29,177,2
+2016-05-30,106,2
+2016-05-31,124,2
+2016-06-01,150,2
+2016-06-02,121,2
+2016-06-03,144,2
+2016-06-04,145,2
+2016-06-05,174,2
+2016-06-06,108,2
+2016-06-07,144,2
+2016-06-08,119,2
+2016-06-09,152,2
+2016-06-10,146,2
+2016-06-11,187,2
+2016-06-12,126,2
+2016-06-13,106,2
+2016-06-14,130,2
+2016-06-15,115,2
+2016-06-16,140,2
+2016-06-17,147,2
+2016-06-18,135,2
+2016-06-19,170,2
+2016-06-20,102,2
+2016-06-21,145,2
+2016-06-22,154,2
+2016-06-23,129,2
+2016-06-24,165,2
+2016-06-25,157,2
+2016-06-26,174,2
+2016-06-27,117,2
+2016-06-28,128,2
+2016-06-29,139,2
+2016-06-30,133,2
+2016-07-01,150,2
+2016-07-02,182,2
+2016-07-03,189,2
+2016-07-04,115,2
+2016-07-05,115,2
+2016-07-06,158,2
+2016-07-07,150,2
+2016-07-08,157,2
+2016-07-09,161,2
+2016-07-10,179,2
+2016-07-11,96,2
+2016-07-12,127,2
+2016-07-13,132,2
+2016-07-14,145,2
+2016-07-15,140,2
+2016-07-16,172,2
+2016-07-17,169,2
+2016-07-18,140,2
+2016-07-19,131,2
+2016-07-20,154,2
+2016-07-21,144,2
+2016-07-22,162,2
+2016-07-23,165,2
+2016-07-24,204,2
+2016-07-25,108,2
+2016-07-26,135,2
+2016-07-27,153,2
+2016-07-28,172,2
+2016-07-29,179,2
+2016-07-30,169,2
+2016-07-31,180,2
+2016-08-01,110,2
+2016-08-02,136,2
+2016-08-03,142,2
+2016-08-04,124,2
+2016-08-05,137,2
+2016-08-06,178,2
+2016-08-07,148,2
+2016-08-08,111,2
+2016-08-09,132,2
+2016-08-10,116,2
+2016-08-11,144,2
+2016-08-12,154,2
+2016-08-13,149,2
+2016-08-14,168,2
+2016-08-15,121,2
+2016-08-16,121,2
+2016-08-17,135,2
+2016-08-18,125,2
+2016-08-19,146,2
+2016-08-20,139,2
+2016-08-21,154,2
+2016-08-22,99,2
+2016-08-23,127,2
+2016-08-24,141,2
+2016-08-25,136,2
+2016-08-26,149,2
+2016-08-27,135,2
+2016-08-28,171,2
+2016-08-29,95,2
+2016-08-30,136,2
+2016-08-31,132,2
+2016-09-01,105,2
+2016-09-02,131,2
+2016-09-03,116,2
+2016-09-04,159,2
+2016-09-05,93,2
+2016-09-06,104,2
+2016-09-07,105,2
+2016-09-08,120,2
+2016-09-09,119,2
+2016-09-10,133,2
+2016-09-11,145,2
+2016-09-12,97,2
+2016-09-13,130,2
+2016-09-14,97,2
+2016-09-15,129,2
+2016-09-16,115,2
+2016-09-17,140,2
+2016-09-18,142,2
+2016-09-19,103,2
+2016-09-20,104,2
+2016-09-21,103,2
+2016-09-22,106,2
+2016-09-23,122,2
+2016-09-24,165,2
+2016-09-25,167,2
+2016-09-26,76,2
+2016-09-27,113,2
+2016-09-28,136,2
+2016-09-29,133,2
+2016-09-30,118,2
+2016-10-01,138,2
+2016-10-02,131,2
+2016-10-03,100,2
+2016-10-04,92,2
+2016-10-05,103,2
+2016-10-06,123,2
+2016-10-07,112,2
+2016-10-08,124,2
+2016-10-09,133,2
+2016-10-10,83,2
+2016-10-11,97,2
+2016-10-12,99,2
+2016-10-13,91,2
+2016-10-14,110,2
+2016-10-15,146,2
+2016-10-16,115,2
+2016-10-17,92,2
+2016-10-18,89,2
+2016-10-19,79,2
+2016-10-20,108,2
+2016-10-21,133,2
+2016-10-22,121,2
+2016-10-23,138,2
+2016-10-24,83,2
+2016-10-25,103,2
+2016-10-26,103,2
+2016-10-27,118,2
+2016-10-28,144,2
+2016-10-29,136,2
+2016-10-30,120,2
+2016-10-31,102,2
+2016-11-01,124,2
+2016-11-02,120,2
+2016-11-03,123,2
+2016-11-04,132,2
+2016-11-05,131,2
+2016-11-06,127,2
+2016-11-07,89,2
+2016-11-08,110,2
+2016-11-09,129,2
+2016-11-10,125,2
+2016-11-11,144,2
+2016-11-12,142,2
+2016-11-13,127,2
+2016-11-14,102,2
+2016-11-15,90,2
+2016-11-16,126,2
+2016-11-17,122,2
+2016-11-18,136,2
+2016-11-19,123,2
+2016-11-20,153,2
+2016-11-21,96,2
+2016-11-22,118,2
+2016-11-23,108,2
+2016-11-24,104,2
+2016-11-25,120,2
+2016-11-26,130,2
+2016-11-27,133,2
+2016-11-28,122,2
+2016-11-29,121,2
+2016-11-30,124,2
+2016-12-01,85,2
+2016-12-02,96,2
+2016-12-03,81,2
+2016-12-04,104,2
+2016-12-05,66,2
+2016-12-06,84,2
+2016-12-07,76,2
+2016-12-08,95,2
+2016-12-09,97,2
+2016-12-10,87,2
+2016-12-11,104,2
+2016-12-12,66,2
+2016-12-13,75,2
+2016-12-14,99,2
+2016-12-15,91,2
+2016-12-16,104,2
+2016-12-17,82,2
+2016-12-18,89,2
+2016-12-19,81,2
+2016-12-20,91,2
+2016-12-21,83,2
+2016-12-22,87,2
+2016-12-23,92,2
+2016-12-24,88,2
+2016-12-25,98,2
+2016-12-26,62,2
+2016-12-27,68,2
+2016-12-28,94,2
+2016-12-29,97,2
+2016-12-30,91,2
+2016-12-31,109,2
+2017-01-01,107,2
+2017-01-02,73,2
+2017-01-03,75,2
+2017-01-04,71,2
+2017-01-05,89,2
+2017-01-06,81,2
+2017-01-07,82,2
+2017-01-08,85,2
+2017-01-09,66,2
+2017-01-10,85,2
+2017-01-11,86,2
+2017-01-12,66,2
+2017-01-13,109,2
+2017-01-14,92,2
+2017-01-15,73,2
+2017-01-16,63,2
+2017-01-17,74,2
+2017-01-18,65,2
+2017-01-19,85,2
+2017-01-20,87,2
+2017-01-21,82,2
+2017-01-22,99,2
+2017-01-23,72,2
+2017-01-24,75,2
+2017-01-25,73,2
+2017-01-26,75,2
+2017-01-27,83,2
+2017-01-28,83,2
+2017-01-29,86,2
+2017-01-30,62,2
+2017-01-31,77,2
+2017-02-01,94,2
+2017-02-02,90,2
+2017-02-03,88,2
+2017-02-04,116,2
+2017-02-05,118,2
+2017-02-06,80,2
+2017-02-07,78,2
+2017-02-08,80,2
+2017-02-09,77,2
+2017-02-10,85,2
+2017-02-11,112,2
+2017-02-12,105,2
+2017-02-13,68,2
+2017-02-14,80,2
+2017-02-15,103,2
+2017-02-16,87,2
+2017-02-17,92,2
+2017-02-18,86,2
+2017-02-19,102,2
+2017-02-20,63,2
+2017-02-21,105,2
+2017-02-22,76,2
+2017-02-23,88,2
+2017-02-24,108,2
+2017-02-25,97,2
+2017-02-26,86,2
+2017-02-27,73,2
+2017-02-28,93,2
+2017-03-01,102,2
+2017-03-02,112,2
+2017-03-03,114,2
+2017-03-04,137,2
+2017-03-05,107,2
+2017-03-06,86,2
+2017-03-07,112,2
+2017-03-08,99,2
+2017-03-09,119,2
+2017-03-10,129,2
+2017-03-11,125,2
+2017-03-12,132,2
+2017-03-13,83,2
+2017-03-14,111,2
+2017-03-15,100,2
+2017-03-16,110,2
+2017-03-17,124,2
+2017-03-18,125,2
+2017-03-19,136,2
+2017-03-20,89,2
+2017-03-21,98,2
+2017-03-22,120,2
+2017-03-23,109,2
+2017-03-24,116,2
+2017-03-25,151,2
+2017-03-26,134,2
+2017-03-27,89,2
+2017-03-28,96,2
+2017-03-29,116,2
+2017-03-30,108,2
+2017-03-31,99,2
+2017-04-01,137,2
+2017-04-02,174,2
+2017-04-03,88,2
+2017-04-04,107,2
+2017-04-05,114,2
+2017-04-06,128,2
+2017-04-07,150,2
+2017-04-08,130,2
+2017-04-09,141,2
+2017-04-10,96,2
+2017-04-11,105,2
+2017-04-12,136,2
+2017-04-13,120,2
+2017-04-14,148,2
+2017-04-15,136,2
+2017-04-16,178,2
+2017-04-17,79,2
+2017-04-18,137,2
+2017-04-19,115,2
+2017-04-20,124,2
+2017-04-21,141,2
+2017-04-22,135,2
+2017-04-23,152,2
+2017-04-24,104,2
+2017-04-25,119,2
+2017-04-26,111,2
+2017-04-27,121,2
+2017-04-28,147,2
+2017-04-29,154,2
+2017-04-30,156,2
+2017-05-01,124,2
+2017-05-02,121,2
+2017-05-03,148,2
+2017-05-04,138,2
+2017-05-05,136,2
+2017-05-06,149,2
+2017-05-07,160,2
+2017-05-08,125,2
+2017-05-09,130,2
+2017-05-10,132,2
+2017-05-11,127,2
+2017-05-12,158,2
+2017-05-13,162,2
+2017-05-14,166,2
+2017-05-15,98,2
+2017-05-16,124,2
+2017-05-17,115,2
+2017-05-18,145,2
+2017-05-19,157,2
+2017-05-20,161,2
+2017-05-21,179,2
+2017-05-22,102,2
+2017-05-23,135,2
+2017-05-24,126,2
+2017-05-25,122,2
+2017-05-26,128,2
+2017-05-27,151,2
+2017-05-28,169,2
+2017-05-29,91,2
+2017-05-30,122,2
+2017-05-31,125,2
+2017-06-01,147,2
+2017-06-02,158,2
+2017-06-03,167,2
+2017-06-04,190,2
+2017-06-05,123,2
+2017-06-06,124,2
+2017-06-07,129,2
+2017-06-08,155,2
+2017-06-09,167,2
+2017-06-10,168,2
+2017-06-11,180,2
+2017-06-12,115,2
+2017-06-13,132,2
+2017-06-14,137,2
+2017-06-15,146,2
+2017-06-16,173,2
+2017-06-17,171,2
+2017-06-18,138,2
+2017-06-19,122,2
+2017-06-20,133,2
+2017-06-21,118,2
+2017-06-22,138,2
+2017-06-23,167,2
+2017-06-24,166,2
+2017-06-25,158,2
+2017-06-26,107,2
+2017-06-27,115,2
+2017-06-28,116,2
+2017-06-29,156,2
+2017-06-30,176,2
+2017-07-01,168,2
+2017-07-02,172,2
+2017-07-03,129,2
+2017-07-04,157,2
+2017-07-05,152,2
+2017-07-06,142,2
+2017-07-07,182,2
+2017-07-08,191,2
+2017-07-09,210,2
+2017-07-10,127,2
+2017-07-11,145,2
+2017-07-12,153,2
+2017-07-13,162,2
+2017-07-14,177,2
+2017-07-15,178,2
+2017-07-16,164,2
+2017-07-17,110,2
+2017-07-18,155,2
+2017-07-19,145,2
+2017-07-20,146,2
+2017-07-21,158,2
+2017-07-22,174,2
+2017-07-23,184,2
+2017-07-24,123,2
+2017-07-25,169,2
+2017-07-26,142,2
+2017-07-27,161,2
+2017-07-28,155,2
+2017-07-29,166,2
+2017-07-30,191,2
+2017-07-31,115,2
+2017-08-01,138,2
+2017-08-02,147,2
+2017-08-03,134,2
+2017-08-04,152,2
+2017-08-05,170,2
+2017-08-06,155,2
+2017-08-07,99,2
+2017-08-08,127,2
+2017-08-09,115,2
+2017-08-10,155,2
+2017-08-11,143,2
+2017-08-12,140,2
+2017-08-13,174,2
+2017-08-14,103,2
+2017-08-15,99,2
+2017-08-16,118,2
+2017-08-17,122,2
+2017-08-18,152,2
+2017-08-19,152,2
+2017-08-20,174,2
+2017-08-21,98,2
+2017-08-22,138,2
+2017-08-23,131,2
+2017-08-24,128,2
+2017-08-25,133,2
+2017-08-26,169,2
+2017-08-27,174,2
+2017-08-28,113,2
+2017-08-29,121,2
+2017-08-30,123,2
+2017-08-31,141,2
+2017-09-01,132,2
+2017-09-02,132,2
+2017-09-03,168,2
+2017-09-04,113,2
+2017-09-05,115,2
+2017-09-06,125,2
+2017-09-07,123,2
+2017-09-08,149,2
+2017-09-09,134,2
+2017-09-10,183,2
+2017-09-11,109,2
+2017-09-12,109,2
+2017-09-13,116,2
+2017-09-14,140,2
+2017-09-15,142,2
+2017-09-16,153,2
+2017-09-17,163,2
+2017-09-18,99,2
+2017-09-19,114,2
+2017-09-20,105,2
+2017-09-21,124,2
+2017-09-22,123,2
+2017-09-23,147,2
+2017-09-24,148,2
+2017-09-25,110,2
+2017-09-26,127,2
+2017-09-27,123,2
+2017-09-28,128,2
+2017-09-29,141,2
+2017-09-30,127,2
+2017-10-01,157,2
+2017-10-02,99,2
+2017-10-03,84,2
+2017-10-04,101,2
+2017-10-05,123,2
+2017-10-06,103,2
+2017-10-07,117,2
+2017-10-08,142,2
+2017-10-09,86,2
+2017-10-10,110,2
+2017-10-11,113,2
+2017-10-12,124,2
+2017-10-13,129,2
+2017-10-14,120,2
+2017-10-15,134,2
+2017-10-16,102,2
+2017-10-17,98,2
+2017-10-18,114,2
+2017-10-19,113,2
+2017-10-20,131,2
+2017-10-21,131,2
+2017-10-22,152,2
+2017-10-23,95,2
+2017-10-24,95,2
+2017-10-25,126,2
+2017-10-26,110,2
+2017-10-27,122,2
+2017-10-28,129,2
+2017-10-29,163,2
+2017-10-30,100,2
+2017-10-31,123,2
+2017-11-01,125,2
+2017-11-02,122,2
+2017-11-03,105,2
+2017-11-04,148,2
+2017-11-05,168,2
+2017-11-06,104,2
+2017-11-07,123,2
+2017-11-08,119,2
+2017-11-09,123,2
+2017-11-10,130,2
+2017-11-11,141,2
+2017-11-12,142,2
+2017-11-13,76,2
+2017-11-14,126,2
+2017-11-15,119,2
+2017-11-16,115,2
+2017-11-17,122,2
+2017-11-18,130,2
+2017-11-19,143,2
+2017-11-20,101,2
+2017-11-21,112,2
+2017-11-22,111,2
+2017-11-23,146,2
+2017-11-24,130,2
+2017-11-25,147,2
+2017-11-26,147,2
+2017-11-27,95,2
+2017-11-28,130,2
+2017-11-29,118,2
+2017-11-30,119,2
+2017-12-01,95,2
+2017-12-02,96,2
+2017-12-03,121,2
+2017-12-04,66,2
+2017-12-05,100,2
+2017-12-06,88,2
+2017-12-07,96,2
+2017-12-08,94,2
+2017-12-09,93,2
+2017-12-10,109,2
+2017-12-11,72,2
+2017-12-12,83,2
+2017-12-13,77,2
+2017-12-14,67,2
+2017-12-15,107,2
+2017-12-16,119,2
+2017-12-17,97,2
+2017-12-18,65,2
+2017-12-19,91,2
+2017-12-20,87,2
+2017-12-21,77,2
+2017-12-22,93,2
+2017-12-23,103,2
+2017-12-24,111,2
+2017-12-25,79,2
+2017-12-26,90,2
+2017-12-27,69,2
+2017-12-28,94,2
+2017-12-29,107,2
+2017-12-30,103,2
+2017-12-31,110,2
+2013-01-01,9,3
+2013-01-02,22,3
+2013-01-03,14,3
+2013-01-04,17,3
+2013-01-05,32,3
+2013-01-06,19,3
+2013-01-07,15,3
+2013-01-08,14,3
+2013-01-09,15,3
+2013-01-10,23,3
+2013-01-11,17,3
+2013-01-12,14,3
+2013-01-13,17,3
+2013-01-14,21,3
+2013-01-15,14,3
+2013-01-16,12,3
+2013-01-17,12,3
+2013-01-18,22,3
+2013-01-19,13,3
+2013-01-20,24,3
+2013-01-21,15,3
+2013-01-22,22,3
+2013-01-23,15,3
+2013-01-24,22,3
+2013-01-25,16,3
+2013-01-26,24,3
+2013-01-27,21,3
+2013-01-28,12,3
+2013-01-29,20,3
+2013-01-30,18,3
+2013-01-31,20,3
+2013-02-01,19,3
+2013-02-02,25,3
+2013-02-03,22,3
+2013-02-04,19,3
+2013-02-05,21,3
+2013-02-06,16,3
+2013-02-07,20,3
+2013-02-08,21,3
+2013-02-09,20,3
+2013-02-10,22,3
+2013-02-11,21,3
+2013-02-12,17,3
+2013-02-13,15,3
+2013-02-14,13,3
+2013-02-15,30,3
+2013-02-16,17,3
+2013-02-17,27,3
+2013-02-18,20,3
+2013-02-19,10,3
+2013-02-20,20,3
+2013-02-21,21,3
+2013-02-22,22,3
+2013-02-23,28,3
+2013-02-24,20,3
+2013-02-25,14,3
+2013-02-26,22,3
+2013-02-27,17,3
+2013-02-28,28,3
+2013-03-01,28,3
+2013-03-02,20,3
+2013-03-03,34,3
+2013-03-04,19,3
+2013-03-05,28,3
+2013-03-06,24,3
+2013-03-07,25,3
+2013-03-08,21,3
+2013-03-09,25,3
+2013-03-10,36,3
+2013-03-11,21,3
+2013-03-12,21,3
+2013-03-13,24,3
+2013-03-14,25,3
+2013-03-15,31,3
+2013-03-16,37,3
+2013-03-17,25,3
+2013-03-18,17,3
+2013-03-19,32,3
+2013-03-20,25,3
+2013-03-21,26,3
+2013-03-22,30,3
+2013-03-23,28,3
+2013-03-24,24,3
+2013-03-25,17,3
+2013-03-26,12,3
+2013-03-27,22,3
+2013-03-28,22,3
+2013-03-29,21,3
+2013-03-30,33,3
+2013-03-31,33,3
+2013-04-01,33,3
+2013-04-02,24,3
+2013-04-03,27,3
+2013-04-04,30,3
+2013-04-05,18,3
+2013-04-06,27,3
+2013-04-07,37,3
+2013-04-08,27,3
+2013-04-09,25,3
+2013-04-10,32,3
+2013-04-11,25,3
+2013-04-12,25,3
+2013-04-13,23,3
+2013-04-14,36,3
+2013-04-15,27,3
+2013-04-16,23,3
+2013-04-17,28,3
+2013-04-18,29,3
+2013-04-19,31,3
+2013-04-20,34,3
+2013-04-21,25,3
+2013-04-22,20,3
+2013-04-23,31,3
+2013-04-24,32,3
+2013-04-25,34,3
+2013-04-26,22,3
+2013-04-27,35,3
+2013-04-28,34,3
+2013-04-29,22,3
+2013-04-30,32,3
+2013-05-01,22,3
+2013-05-02,30,3
+2013-05-03,33,3
+2013-05-04,35,3
+2013-05-05,34,3
+2013-05-06,26,3
+2013-05-07,17,3
+2013-05-08,29,3
+2013-05-09,40,3
+2013-05-10,26,3
+2013-05-11,29,3
+2013-05-12,32,3
+2013-05-13,20,3
+2013-05-14,44,3
+2013-05-15,34,3
+2013-05-16,28,3
+2013-05-17,33,3
+2013-05-18,26,3
+2013-05-19,34,3
+2013-05-20,15,3
+2013-05-21,32,3
+2013-05-22,29,3
+2013-05-23,28,3
+2013-05-24,45,3
+2013-05-25,27,3
+2013-05-26,47,3
+2013-05-27,31,3
+2013-05-28,19,3
+2013-05-29,26,3
+2013-05-30,30,3
+2013-05-31,29,3
+2013-06-01,38,3
+2013-06-02,37,3
+2013-06-03,26,3
+2013-06-04,26,3
+2013-06-05,29,3
+2013-06-06,31,3
+2013-06-07,34,3
+2013-06-08,26,3
+2013-06-09,41,3
+2013-06-10,39,3
+2013-06-11,41,3
+2013-06-12,31,3
+2013-06-13,43,3
+2013-06-14,25,3
+2013-06-15,38,3
+2013-06-16,32,3
+2013-06-17,28,3
+2013-06-18,35,3
+2013-06-19,33,3
+2013-06-20,39,3
+2013-06-21,37,3
+2013-06-22,44,3
+2013-06-23,40,3
+2013-06-24,21,3
+2013-06-25,25,3
+2013-06-26,34,3
+2013-06-27,28,3
+2013-06-28,34,3
+2013-06-29,31,3
+2013-06-30,43,3
+2013-07-01,18,3
+2013-07-02,38,3
+2013-07-03,41,3
+2013-07-04,42,3
+2013-07-05,36,3
+2013-07-06,37,3
+2013-07-07,49,3
+2013-07-08,35,3
+2013-07-09,29,3
+2013-07-10,32,3
+2013-07-11,39,3
+2013-07-12,34,3
+2013-07-13,32,3
+2013-07-14,49,3
+2013-07-15,29,3
+2013-07-16,29,3
+2013-07-17,29,3
+2013-07-18,31,3
+2013-07-19,26,3
+2013-07-20,35,3
+2013-07-21,53,3
+2013-07-22,18,3
+2013-07-23,40,3
+2013-07-24,33,3
+2013-07-25,35,3
+2013-07-26,27,3
+2013-07-27,30,3
+2013-07-28,53,3
+2013-07-29,23,3
+2013-07-30,35,3
+2013-07-31,40,3
+2013-08-01,31,3
+2013-08-02,26,3
+2013-08-03,37,3
+2013-08-04,35,3
+2013-08-05,23,3
+2013-08-06,19,3
+2013-08-07,26,3
+2013-08-08,26,3
+2013-08-09,39,3
+2013-08-10,26,3
+2013-08-11,38,3
+2013-08-12,33,3
+2013-08-13,27,3
+2013-08-14,19,3
+2013-08-15,30,3
+2013-08-16,38,3
+2013-08-17,43,3
+2013-08-18,29,3
+2013-08-19,24,3
+2013-08-20,27,3
+2013-08-21,30,3
+2013-08-22,35,3
+2013-08-23,26,3
+2013-08-24,36,3
+2013-08-25,38,3
+2013-08-26,25,3
+2013-08-27,32,3
+2013-08-28,30,3
+2013-08-29,29,3
+2013-08-30,27,3
+2013-08-31,37,3
+2013-09-01,43,3
+2013-09-02,36,3
+2013-09-03,29,3
+2013-09-04,34,3
+2013-09-05,20,3
+2013-09-06,26,3
+2013-09-07,29,3
+2013-09-08,36,3
+2013-09-09,22,3
+2013-09-10,25,3
+2013-09-11,23,3
+2013-09-12,25,3
+2013-09-13,31,3
+2013-09-14,35,3
+2013-09-15,35,3
+2013-09-16,25,3
+2013-09-17,24,3
+2013-09-18,33,3
+2013-09-19,33,3
+2013-09-20,22,3
+2013-09-21,24,3
+2013-09-22,42,3
+2013-09-23,28,3
+2013-09-24,21,3
+2013-09-25,32,3
+2013-09-26,32,3
+2013-09-27,35,3
+2013-09-28,36,3
+2013-09-29,27,3
+2013-09-30,26,3
+2013-10-01,26,3
+2013-10-02,29,3
+2013-10-03,26,3
+2013-10-04,20,3
+2013-10-05,22,3
+2013-10-06,36,3
+2013-10-07,21,3
+2013-10-08,20,3
+2013-10-09,25,3
+2013-10-10,28,3
+2013-10-11,25,3
+2013-10-12,28,3
+2013-10-13,29,3
+2013-10-14,23,3
+2013-10-15,25,3
+2013-10-16,25,3
+2013-10-17,30,3
+2013-10-18,38,3
+2013-10-19,22,3
+2013-10-20,29,3
+2013-10-21,24,3
+2013-10-22,28,3
+2013-10-23,33,3
+2013-10-24,21,3
+2013-10-25,23,3
+2013-10-26,28,3
+2013-10-27,26,3
+2013-10-28,26,3
+2013-10-29,14,3
+2013-10-30,31,3
+2013-10-31,28,3
+2013-11-01,32,3
+2013-11-02,39,3
+2013-11-03,28,3
+2013-11-04,21,3
+2013-11-05,30,3
+2013-11-06,22,3
+2013-11-07,31,3
+2013-11-08,34,3
+2013-11-09,33,3
+2013-11-10,48,3
+2013-11-11,21,3
+2013-11-12,42,3
+2013-11-13,24,3
+2013-11-14,27,3
+2013-11-15,29,3
+2013-11-16,29,3
+2013-11-17,28,3
+2013-11-18,34,3
+2013-11-19,24,3
+2013-11-20,32,3
+2013-11-21,25,3
+2013-11-22,31,3
+2013-11-23,26,3
+2013-11-24,41,3
+2013-11-25,23,3
+2013-11-26,24,3
+2013-11-27,37,3
+2013-11-28,32,3
+2013-11-29,31,3
+2013-11-30,40,3
+2013-12-01,20,3
+2013-12-02,12,3
+2013-12-03,22,3
+2013-12-04,22,3
+2013-12-05,10,3
+2013-12-06,25,3
+2013-12-07,26,3
+2013-12-08,25,3
+2013-12-09,14,3
+2013-12-10,17,3
+2013-12-11,17,3
+2013-12-12,21,3
+2013-12-13,23,3
+2013-12-14,28,3
+2013-12-15,26,3
+2013-12-16,19,3
+2013-12-17,24,3
+2013-12-18,18,3
+2013-12-19,24,3
+2013-12-20,20,3
+2013-12-21,25,3
+2013-12-22,27,3
+2013-12-23,15,3
+2013-12-24,23,3
+2013-12-25,21,3
+2013-12-26,20,3
+2013-12-27,29,3
+2013-12-28,23,3
+2013-12-29,18,3
+2013-12-30,23,3
+2013-12-31,13,3
+2014-01-01,17,3
+2014-01-02,27,3
+2014-01-03,24,3
+2014-01-04,20,3
+2014-01-05,25,3
+2014-01-06,18,3
+2014-01-07,30,3
+2014-01-08,21,3
+2014-01-09,27,3
+2014-01-10,24,3
+2014-01-11,31,3
+2014-01-12,31,3
+2014-01-13,24,3
+2014-01-14,21,3
+2014-01-15,15,3
+2014-01-16,31,3
+2014-01-17,22,3
+2014-01-18,30,3
+2014-01-19,32,3
+2014-01-20,16,3
+2014-01-21,20,3
+2014-01-22,23,3
+2014-01-23,21,3
+2014-01-24,17,3
+2014-01-25,27,3
+2014-01-26,21,3
+2014-01-27,13,3
+2014-01-28,19,3
+2014-01-29,21,3
+2014-01-30,24,3
+2014-01-31,29,3
+2014-02-01,27,3
+2014-02-02,27,3
+2014-02-03,20,3
+2014-02-04,26,3
+2014-02-05,19,3
+2014-02-06,22,3
+2014-02-07,26,3
+2014-02-08,30,3
+2014-02-09,27,3
+2014-02-10,18,3
+2014-02-11,28,3
+2014-02-12,19,3
+2014-02-13,22,3
+2014-02-14,25,3
+2014-02-15,23,3
+2014-02-16,30,3
+2014-02-17,23,3
+2014-02-18,28,3
+2014-02-19,24,3
+2014-02-20,25,3
+2014-02-21,29,3
+2014-02-22,32,3
+2014-02-23,28,3
+2014-02-24,18,3
+2014-02-25,22,3
+2014-02-26,18,3
+2014-02-27,22,3
+2014-02-28,22,3
+2014-03-01,30,3
+2014-03-02,32,3
+2014-03-03,25,3
+2014-03-04,30,3
+2014-03-05,29,3
+2014-03-06,27,3
+2014-03-07,38,3
+2014-03-08,33,3
+2014-03-09,33,3
+2014-03-10,27,3
+2014-03-11,31,3
+2014-03-12,28,3
+2014-03-13,28,3
+2014-03-14,28,3
+2014-03-15,29,3
+2014-03-16,29,3
+2014-03-17,22,3
+2014-03-18,31,3
+2014-03-19,22,3
+2014-03-20,31,3
+2014-03-21,32,3
+2014-03-22,37,3
+2014-03-23,40,3
+2014-03-24,17,3
+2014-03-25,28,3
+2014-03-26,25,3
+2014-03-27,14,3
+2014-03-28,34,3
+2014-03-29,41,3
+2014-03-30,25,3
+2014-03-31,29,3
+2014-04-01,36,3
+2014-04-02,30,3
+2014-04-03,28,3
+2014-04-04,37,3
+2014-04-05,27,3
+2014-04-06,33,3
+2014-04-07,28,3
+2014-04-08,35,3
+2014-04-09,37,3
+2014-04-10,30,3
+2014-04-11,33,3
+2014-04-12,30,3
+2014-04-13,36,3
+2014-04-14,28,3
+2014-04-15,29,3
+2014-04-16,33,3
+2014-04-17,34,3
+2014-04-18,38,3
+2014-04-19,39,3
+2014-04-20,42,3
+2014-04-21,40,3
+2014-04-22,27,3
+2014-04-23,29,3
+2014-04-24,33,3
+2014-04-25,34,3
+2014-04-26,43,3
+2014-04-27,43,3
+2014-04-28,23,3
+2014-04-29,39,3
+2014-04-30,37,3
+2014-05-01,34,3
+2014-05-02,36,3
+2014-05-03,39,3
+2014-05-04,49,3
+2014-05-05,23,3
+2014-05-06,38,3
+2014-05-07,28,3
+2014-05-08,48,3
+2014-05-09,27,3
+2014-05-10,35,3
+2014-05-11,33,3
+2014-05-12,27,3
+2014-05-13,37,3
+2014-05-14,24,3
+2014-05-15,38,3
+2014-05-16,40,3
+2014-05-17,39,3
+2014-05-18,38,3
+2014-05-19,27,3
+2014-05-20,30,3
+2014-05-21,19,3
+2014-05-22,33,3
+2014-05-23,32,3
+2014-05-24,49,3
+2014-05-25,41,3
+2014-05-26,27,3
+2014-05-27,40,3
+2014-05-28,32,3
+2014-05-29,36,3
+2014-05-30,47,3
+2014-05-31,43,3
+2014-06-01,50,3
+2014-06-02,25,3
+2014-06-03,29,3
+2014-06-04,44,3
+2014-06-05,35,3
+2014-06-06,46,3
+2014-06-07,42,3
+2014-06-08,42,3
+2014-06-09,37,3
+2014-06-10,39,3
+2014-06-11,32,3
+2014-06-12,24,3
+2014-06-13,45,3
+2014-06-14,42,3
+2014-06-15,49,3
+2014-06-16,32,3
+2014-06-17,37,3
+2014-06-18,26,3
+2014-06-19,36,3
+2014-06-20,43,3
+2014-06-21,48,3
+2014-06-22,54,3
+2014-06-23,34,3
+2014-06-24,32,3
+2014-06-25,46,3
+2014-06-26,41,3
+2014-06-27,36,3
+2014-06-28,58,3
+2014-06-29,28,3
+2014-06-30,39,3
+2014-07-01,37,3
+2014-07-02,45,3
+2014-07-03,34,3
+2014-07-04,44,3
+2014-07-05,44,3
+2014-07-06,40,3
+2014-07-07,33,3
+2014-07-08,42,3
+2014-07-09,42,3
+2014-07-10,45,3
+2014-07-11,45,3
+2014-07-12,68,3
+2014-07-13,43,3
+2014-07-14,25,3
+2014-07-15,48,3
+2014-07-16,31,3
+2014-07-17,41,3
+2014-07-18,41,3
+2014-07-19,58,3
+2014-07-20,49,3
+2014-07-21,40,3
+2014-07-22,38,3
+2014-07-23,35,3
+2014-07-24,37,3
+2014-07-25,50,3
+2014-07-26,45,3
+2014-07-27,45,3
+2014-07-28,29,3
+2014-07-29,35,3
+2014-07-30,39,3
+2014-07-31,52,3
+2014-08-01,37,3
+2014-08-02,47,3
+2014-08-03,31,3
+2014-08-04,28,3
+2014-08-05,36,3
+2014-08-06,37,3
+2014-08-07,38,3
+2014-08-08,45,3
+2014-08-09,37,3
+2014-08-10,43,3
+2014-08-11,32,3
+2014-08-12,38,3
+2014-08-13,43,3
+2014-08-14,26,3
+2014-08-15,36,3
+2014-08-16,31,3
+2014-08-17,54,3
+2014-08-18,22,3
+2014-08-19,33,3
+2014-08-20,34,3
+2014-08-21,32,3
+2014-08-22,51,3
+2014-08-23,53,3
+2014-08-24,47,3
+2014-08-25,27,3
+2014-08-26,38,3
+2014-08-27,26,3
+2014-08-28,37,3
+2014-08-29,58,3
+2014-08-30,37,3
+2014-08-31,44,3
+2014-09-01,25,3
+2014-09-02,28,3
+2014-09-03,28,3
+2014-09-04,26,3
+2014-09-05,38,3
+2014-09-06,45,3
+2014-09-07,43,3
+2014-09-08,23,3
+2014-09-09,20,3
+2014-09-10,38,3
+2014-09-11,42,3
+2014-09-12,36,3
+2014-09-13,32,3
+2014-09-14,45,3
+2014-09-15,21,3
+2014-09-16,29,3
+2014-09-17,35,3
+2014-09-18,43,3
+2014-09-19,35,3
+2014-09-20,36,3
+2014-09-21,46,3
+2014-09-22,25,3
+2014-09-23,36,3
+2014-09-24,32,3
+2014-09-25,36,3
+2014-09-26,41,3
+2014-09-27,32,3
+2014-09-28,46,3
+2014-09-29,35,3
+2014-09-30,36,3
+2014-10-01,33,3
+2014-10-02,43,3
+2014-10-03,28,3
+2014-10-04,28,3
+2014-10-05,41,3
+2014-10-06,29,3
+2014-10-07,18,3
+2014-10-08,27,3
+2014-10-09,32,3
+2014-10-10,37,3
+2014-10-11,42,3
+2014-10-12,43,3
+2014-10-13,25,3
+2014-10-14,20,3
+2014-10-15,33,3
+2014-10-16,28,3
+2014-10-17,30,3
+2014-10-18,35,3
+2014-10-19,45,3
+2014-10-20,25,3
+2014-10-21,30,3
+2014-10-22,27,3
+2014-10-23,28,3
+2014-10-24,31,3
+2014-10-25,23,3
+2014-10-26,31,3
+2014-10-27,20,3
+2014-10-28,32,3
+2014-10-29,20,3
+2014-10-30,26,3
+2014-10-31,35,3
+2014-11-01,36,3
+2014-11-02,35,3
+2014-11-03,21,3
+2014-11-04,23,3
+2014-11-05,27,3
+2014-11-06,35,3
+2014-11-07,32,3
+2014-11-08,39,3
+2014-11-09,36,3
+2014-11-10,26,3
+2014-11-11,44,3
+2014-11-12,34,3
+2014-11-13,33,3
+2014-11-14,26,3
+2014-11-15,30,3
+2014-11-16,41,3
+2014-11-17,26,3
+2014-11-18,36,3
+2014-11-19,25,3
+2014-11-20,28,3
+2014-11-21,30,3
+2014-11-22,45,3
+2014-11-23,37,3
+2014-11-24,29,3
+2014-11-25,26,3
+2014-11-26,38,3
+2014-11-27,30,3
+2014-11-28,40,3
+2014-11-29,33,3
+2014-11-30,45,3
+2014-12-01,14,3
+2014-12-02,32,3
+2014-12-03,19,3
+2014-12-04,23,3
+2014-12-05,32,3
+2014-12-06,25,3
+2014-12-07,32,3
+2014-12-08,17,3
+2014-12-09,20,3
+2014-12-10,25,3
+2014-12-11,34,3
+2014-12-12,29,3
+2014-12-13,29,3
+2014-12-14,32,3
+2014-12-15,21,3
+2014-12-16,27,3
+2014-12-17,22,3
+2014-12-18,26,3
+2014-12-19,24,3
+2014-12-20,23,3
+2014-12-21,25,3
+2014-12-22,14,3
+2014-12-23,21,3
+2014-12-24,22,3
+2014-12-25,20,3
+2014-12-26,25,3
+2014-12-27,27,3
+2014-12-28,30,3
+2014-12-29,16,3
+2014-12-30,22,3
+2014-12-31,23,3
+2015-01-01,23,3
+2015-01-02,18,3
+2015-01-03,17,3
+2015-01-04,26,3
+2015-01-05,16,3
+2015-01-06,8,3
+2015-01-07,21,3
+2015-01-08,17,3
+2015-01-09,34,3
+2015-01-10,28,3
+2015-01-11,22,3
+2015-01-12,16,3
+2015-01-13,22,3
+2015-01-14,23,3
+2015-01-15,28,3
+2015-01-16,21,3
+2015-01-17,23,3
+2015-01-18,28,3
+2015-01-19,19,3
+2015-01-20,26,3
+2015-01-21,25,3
+2015-01-22,19,3
+2015-01-23,24,3
+2015-01-24,18,3
+2015-01-25,28,3
+2015-01-26,10,3
+2015-01-27,21,3
+2015-01-28,28,3
+2015-01-29,24,3
+2015-01-30,24,3
+2015-01-31,29,3
+2015-02-01,26,3
+2015-02-02,14,3
+2015-02-03,23,3
+2015-02-04,25,3
+2015-02-05,21,3
+2015-02-06,35,3
+2015-02-07,31,3
+2015-02-08,30,3
+2015-02-09,12,3
+2015-02-10,17,3
+2015-02-11,24,3
+2015-02-12,26,3
+2015-02-13,31,3
+2015-02-14,30,3
+2015-02-15,29,3
+2015-02-16,24,3
+2015-02-17,19,3
+2015-02-18,28,3
+2015-02-19,25,3
+2015-02-20,30,3
+2015-02-21,36,3
+2015-02-22,25,3
+2015-02-23,21,3
+2015-02-24,17,3
+2015-02-25,24,3
+2015-02-26,25,3
+2015-02-27,26,3
+2015-02-28,22,3
+2015-03-01,44,3
+2015-03-02,14,3
+2015-03-03,30,3
+2015-03-04,24,3
+2015-03-05,28,3
+2015-03-06,38,3
+2015-03-07,32,3
+2015-03-08,38,3
+2015-03-09,27,3
+2015-03-10,22,3
+2015-03-11,25,3
+2015-03-12,30,3
+2015-03-13,28,3
+2015-03-14,46,3
+2015-03-15,36,3
+2015-03-16,25,3
+2015-03-17,41,3
+2015-03-18,26,3
+2015-03-19,36,3
+2015-03-20,28,3
+2015-03-21,32,3
+2015-03-22,46,3
+2015-03-23,24,3
+2015-03-24,22,3
+2015-03-25,28,3
+2015-03-26,30,3
+2015-03-27,30,3
+2015-03-28,37,3
+2015-03-29,26,3
+2015-03-30,23,3
+2015-03-31,23,3
+2015-04-01,43,3
+2015-04-02,30,3
+2015-04-03,45,3
+2015-04-04,39,3
+2015-04-05,40,3
+2015-04-06,22,3
+2015-04-07,22,3
+2015-04-08,31,3
+2015-04-09,35,3
+2015-04-10,19,3
+2015-04-11,39,3
+2015-04-12,48,3
+2015-04-13,39,3
+2015-04-14,32,3
+2015-04-15,38,3
+2015-04-16,32,3
+2015-04-17,40,3
+2015-04-18,41,3
+2015-04-19,40,3
+2015-04-20,25,3
+2015-04-21,34,3
+2015-04-22,36,3
+2015-04-23,36,3
+2015-04-24,42,3
+2015-04-25,37,3
+2015-04-26,44,3
+2015-04-27,33,3
+2015-04-28,40,3
+2015-04-29,22,3
+2015-04-30,28,3
+2015-05-01,33,3
+2015-05-02,54,3
+2015-05-03,49,3
+2015-05-04,28,3
+2015-05-05,36,3
+2015-05-06,29,3
+2015-05-07,44,3
+2015-05-08,43,3
+2015-05-09,58,3
+2015-05-10,38,3
+2015-05-11,25,3
+2015-05-12,45,3
+2015-05-13,46,3
+2015-05-14,36,3
+2015-05-15,33,3
+2015-05-16,38,3
+2015-05-17,50,3
+2015-05-18,23,3
+2015-05-19,29,3
+2015-05-20,30,3
+2015-05-21,32,3
+2015-05-22,32,3
+2015-05-23,33,3
+2015-05-24,34,3
+2015-05-25,33,3
+2015-05-26,47,3
+2015-05-27,40,3
+2015-05-28,37,3
+2015-05-29,41,3
+2015-05-30,52,3
+2015-05-31,48,3
+2015-06-01,38,3
+2015-06-02,59,3
+2015-06-03,40,3
+2015-06-04,31,3
+2015-06-05,43,3
+2015-06-06,45,3
+2015-06-07,45,3
+2015-06-08,32,3
+2015-06-09,29,3
+2015-06-10,41,3
+2015-06-11,56,3
+2015-06-12,51,3
+2015-06-13,47,3
+2015-06-14,45,3
+2015-06-15,32,3
+2015-06-16,35,3
+2015-06-17,40,3
+2015-06-18,41,3
+2015-06-19,35,3
+2015-06-20,53,3
+2015-06-21,46,3
+2015-06-22,30,3
+2015-06-23,28,3
+2015-06-24,33,3
+2015-06-25,49,3
+2015-06-26,35,3
+2015-06-27,34,3
+2015-06-28,45,3
+2015-06-29,24,3
+2015-06-30,51,3
+2015-07-01,46,3
+2015-07-02,47,3
+2015-07-03,39,3
+2015-07-04,52,3
+2015-07-05,46,3
+2015-07-06,26,3
+2015-07-07,46,3
+2015-07-08,36,3
+2015-07-09,29,3
+2015-07-10,41,3
+2015-07-11,49,3
+2015-07-12,49,3
+2015-07-13,36,3
+2015-07-14,43,3
+2015-07-15,37,3
+2015-07-16,39,3
+2015-07-17,45,3
+2015-07-18,56,3
+2015-07-19,57,3
+2015-07-20,28,3
+2015-07-21,38,3
+2015-07-22,38,3
+2015-07-23,33,3
+2015-07-24,43,3
+2015-07-25,51,3
+2015-07-26,48,3
+2015-07-27,33,3
+2015-07-28,45,3
+2015-07-29,31,3
+2015-07-30,54,3
+2015-07-31,48,3
+2015-08-01,49,3
+2015-08-02,46,3
+2015-08-03,23,3
+2015-08-04,29,3
+2015-08-05,39,3
+2015-08-06,33,3
+2015-08-07,34,3
+2015-08-08,41,3
+2015-08-09,51,3
+2015-08-10,25,3
+2015-08-11,44,3
+2015-08-12,27,3
+2015-08-13,42,3
+2015-08-14,38,3
+2015-08-15,32,3
+2015-08-16,53,3
+2015-08-17,26,3
+2015-08-18,31,3
+2015-08-19,37,3
+2015-08-20,29,3
+2015-08-21,41,3
+2015-08-22,36,3
+2015-08-23,49,3
+2015-08-24,31,3
+2015-08-25,26,3
+2015-08-26,31,3
+2015-08-27,35,3
+2015-08-28,28,3
+2015-08-29,32,3
+2015-08-30,45,3
+2015-08-31,24,3
+2015-09-01,22,3
+2015-09-02,45,3
+2015-09-03,35,3
+2015-09-04,34,3
+2015-09-05,54,3
+2015-09-06,51,3
+2015-09-07,38,3
+2015-09-08,31,3
+2015-09-09,30,3
+2015-09-10,44,3
+2015-09-11,37,3
+2015-09-12,43,3
+2015-09-13,41,3
+2015-09-14,31,3
+2015-09-15,36,3
+2015-09-16,38,3
+2015-09-17,37,3
+2015-09-18,42,3
+2015-09-19,47,3
+2015-09-20,34,3
+2015-09-21,41,3
+2015-09-22,30,3
+2015-09-23,29,3
+2015-09-24,43,3
+2015-09-25,41,3
+2015-09-26,44,3
+2015-09-27,40,3
+2015-09-28,24,3
+2015-09-29,40,3
+2015-09-30,28,3
+2015-10-01,37,3
+2015-10-02,39,3
+2015-10-03,41,3
+2015-10-04,38,3
+2015-10-05,36,3
+2015-10-06,25,3
+2015-10-07,36,3
+2015-10-08,29,3
+2015-10-09,31,3
+2015-10-10,33,3
+2015-10-11,47,3
+2015-10-12,33,3
+2015-10-13,41,3
+2015-10-14,34,3
+2015-10-15,30,3
+2015-10-16,30,3
+2015-10-17,30,3
+2015-10-18,37,3
+2015-10-19,32,3
+2015-10-20,39,3
+2015-10-21,38,3
+2015-10-22,23,3
+2015-10-23,38,3
+2015-10-24,40,3
+2015-10-25,35,3
+2015-10-26,28,3
+2015-10-27,29,3
+2015-10-28,25,3
+2015-10-29,25,3
+2015-10-30,22,3
+2015-10-31,41,3
+2015-11-01,38,3
+2015-11-02,30,3
+2015-11-03,40,3
+2015-11-04,29,3
+2015-11-05,41,3
+2015-11-06,34,3
+2015-11-07,49,3
+2015-11-08,44,3
+2015-11-09,38,3
+2015-11-10,25,3
+2015-11-11,30,3
+2015-11-12,37,3
+2015-11-13,34,3
+2015-11-14,36,3
+2015-11-15,41,3
+2015-11-16,20,3
+2015-11-17,34,3
+2015-11-18,28,3
+2015-11-19,32,3
+2015-11-20,32,3
+2015-11-21,34,3
+2015-11-22,37,3
+2015-11-23,28,3
+2015-11-24,26,3
+2015-11-25,25,3
+2015-11-26,41,3
+2015-11-27,42,3
+2015-11-28,40,3
+2015-11-29,54,3
+2015-11-30,25,3
+2015-12-01,19,3
+2015-12-02,21,3
+2015-12-03,25,3
+2015-12-04,35,3
+2015-12-05,33,3
+2015-12-06,36,3
+2015-12-07,25,3
+2015-12-08,25,3
+2015-12-09,18,3
+2015-12-10,36,3
+2015-12-11,22,3
+2015-12-12,25,3
+2015-12-13,27,3
+2015-12-14,19,3
+2015-12-15,22,3
+2015-12-16,26,3
+2015-12-17,23,3
+2015-12-18,23,3
+2015-12-19,38,3
+2015-12-20,27,3
+2015-12-21,17,3
+2015-12-22,31,3
+2015-12-23,18,3
+2015-12-24,39,3
+2015-12-25,30,3
+2015-12-26,36,3
+2015-12-27,31,3
+2015-12-28,24,3
+2015-12-29,23,3
+2015-12-30,16,3
+2015-12-31,28,3
+2016-01-01,27,3
+2016-01-02,32,3
+2016-01-03,24,3
+2016-01-04,25,3
+2016-01-05,25,3
+2016-01-06,27,3
+2016-01-07,14,3
+2016-01-08,29,3
+2016-01-09,36,3
+2016-01-10,28,3
+2016-01-11,21,3
+2016-01-12,34,3
+2016-01-13,24,3
+2016-01-14,30,3
+2016-01-15,23,3
+2016-01-16,26,3
+2016-01-17,19,3
+2016-01-18,20,3
+2016-01-19,21,3
+2016-01-20,19,3
+2016-01-21,19,3
+2016-01-22,31,3
+2016-01-23,22,3
+2016-01-24,34,3
+2016-01-25,24,3
+2016-01-26,25,3
+2016-01-27,20,3
+2016-01-28,23,3
+2016-01-29,26,3
+2016-01-30,24,3
+2016-01-31,30,3
+2016-02-01,12,3
+2016-02-02,25,3
+2016-02-03,27,3
+2016-02-04,30,3
+2016-02-05,23,3
+2016-02-06,30,3
+2016-02-07,41,3
+2016-02-08,18,3
+2016-02-09,27,3
+2016-02-10,19,3
+2016-02-11,24,3
+2016-02-12,27,3
+2016-02-13,31,3
+2016-02-14,26,3
+2016-02-15,18,3
+2016-02-16,20,3
+2016-02-17,22,3
+2016-02-18,39,3
+2016-02-19,30,3
+2016-02-20,28,3
+2016-02-21,46,3
+2016-02-22,16,3
+2016-02-23,33,3
+2016-02-24,27,3
+2016-02-25,30,3
+2016-02-26,33,3
+2016-02-27,33,3
+2016-02-28,33,3
+2016-02-29,22,3
+2016-03-01,32,3
+2016-03-02,30,3
+2016-03-03,27,3
+2016-03-04,49,3
+2016-03-05,37,3
+2016-03-06,31,3
+2016-03-07,24,3
+2016-03-08,31,3
+2016-03-09,37,3
+2016-03-10,31,3
+2016-03-11,31,3
+2016-03-12,48,3
+2016-03-13,43,3
+2016-03-14,24,3
+2016-03-15,32,3
+2016-03-16,41,3
+2016-03-17,23,3
+2016-03-18,46,3
+2016-03-19,30,3
+2016-03-20,46,3
+2016-03-21,26,3
+2016-03-22,27,3
+2016-03-23,30,3
+2016-03-24,37,3
+2016-03-25,29,3
+2016-03-26,39,3
+2016-03-27,37,3
+2016-03-28,27,3
+2016-03-29,25,3
+2016-03-30,38,3
+2016-03-31,34,3
+2016-04-01,34,3
+2016-04-02,51,3
+2016-04-03,48,3
+2016-04-04,31,3
+2016-04-05,28,3
+2016-04-06,35,3
+2016-04-07,40,3
+2016-04-08,36,3
+2016-04-09,43,3
+2016-04-10,50,3
+2016-04-11,27,3
+2016-04-12,26,3
+2016-04-13,32,3
+2016-04-14,44,3
+2016-04-15,52,3
+2016-04-16,45,3
+2016-04-17,46,3
+2016-04-18,29,3
+2016-04-19,36,3
+2016-04-20,42,3
+2016-04-21,37,3
+2016-04-22,41,3
+2016-04-23,52,3
+2016-04-24,43,3
+2016-04-25,40,3
+2016-04-26,36,3
+2016-04-27,32,3
+2016-04-28,37,3
+2016-04-29,36,3
+2016-04-30,41,3
+2016-05-01,42,3
+2016-05-02,23,3
+2016-05-03,29,3
+2016-05-04,31,3
+2016-05-05,52,3
+2016-05-06,33,3
+2016-05-07,50,3
+2016-05-08,57,3
+2016-05-09,35,3
+2016-05-10,30,3
+2016-05-11,37,3
+2016-05-12,47,3
+2016-05-13,47,3
+2016-05-14,43,3
+2016-05-15,40,3
+2016-05-16,29,3
+2016-05-17,45,3
+2016-05-18,41,3
+2016-05-19,37,3
+2016-05-20,42,3
+2016-05-21,49,3
+2016-05-22,42,3
+2016-05-23,30,3
+2016-05-24,45,3
+2016-05-25,38,3
+2016-05-26,50,3
+2016-05-27,53,3
+2016-05-28,52,3
+2016-05-29,52,3
+2016-05-30,32,3
+2016-05-31,38,3
+2016-06-01,38,3
+2016-06-02,40,3
+2016-06-03,55,3
+2016-06-04,39,3
+2016-06-05,49,3
+2016-06-06,35,3
+2016-06-07,32,3
+2016-06-08,50,3
+2016-06-09,39,3
+2016-06-10,58,3
+2016-06-11,52,3
+2016-06-12,47,3
+2016-06-13,25,3
+2016-06-14,34,3
+2016-06-15,46,3
+2016-06-16,61,3
+2016-06-17,46,3
+2016-06-18,41,3
+2016-06-19,50,3
+2016-06-20,39,3
+2016-06-21,48,3
+2016-06-22,56,3
+2016-06-23,43,3
+2016-06-24,57,3
+2016-06-25,54,3
+2016-06-26,60,3
+2016-06-27,39,3
+2016-06-28,33,3
+2016-06-29,47,3
+2016-06-30,40,3
+2016-07-01,46,3
+2016-07-02,50,3
+2016-07-03,54,3
+2016-07-04,36,3
+2016-07-05,38,3
+2016-07-06,43,3
+2016-07-07,42,3
+2016-07-08,55,3
+2016-07-09,59,3
+2016-07-10,56,3
+2016-07-11,33,3
+2016-07-12,34,3
+2016-07-13,36,3
+2016-07-14,42,3
+2016-07-15,48,3
+2016-07-16,41,3
+2016-07-17,38,3
+2016-07-18,48,3
+2016-07-19,58,3
+2016-07-20,44,3
+2016-07-21,36,3
+2016-07-22,38,3
+2016-07-23,56,3
+2016-07-24,64,3
+2016-07-25,35,3
+2016-07-26,43,3
+2016-07-27,31,3
+2016-07-28,39,3
+2016-07-29,50,3
+2016-07-30,63,3
+2016-07-31,47,3
+2016-08-01,44,3
+2016-08-02,37,3
+2016-08-03,26,3
+2016-08-04,35,3
+2016-08-05,46,3
+2016-08-06,37,3
+2016-08-07,57,3
+2016-08-08,39,3
+2016-08-09,45,3
+2016-08-10,34,3
+2016-08-11,43,3
+2016-08-12,51,3
+2016-08-13,51,3
+2016-08-14,57,3
+2016-08-15,35,3
+2016-08-16,30,3
+2016-08-17,39,3
+2016-08-18,45,3
+2016-08-19,50,3
+2016-08-20,44,3
+2016-08-21,55,3
+2016-08-22,32,3
+2016-08-23,39,3
+2016-08-24,42,3
+2016-08-25,41,3
+2016-08-26,48,3
+2016-08-27,49,3
+2016-08-28,58,3
+2016-08-29,37,3
+2016-08-30,43,3
+2016-08-31,36,3
+2016-09-01,38,3
+2016-09-02,42,3
+2016-09-03,37,3
+2016-09-04,29,3
+2016-09-05,36,3
+2016-09-06,33,3
+2016-09-07,32,3
+2016-09-08,40,3
+2016-09-09,42,3
+2016-09-10,46,3
+2016-09-11,49,3
+2016-09-12,25,3
+2016-09-13,35,3
+2016-09-14,28,3
+2016-09-15,28,3
+2016-09-16,42,3
+2016-09-17,47,3
+2016-09-18,34,3
+2016-09-19,25,3
+2016-09-20,30,3
+2016-09-21,37,3
+2016-09-22,40,3
+2016-09-23,39,3
+2016-09-24,34,3
+2016-09-25,49,3
+2016-09-26,36,3
+2016-09-27,42,3
+2016-09-28,23,3
+2016-09-29,29,3
+2016-09-30,54,3
+2016-10-01,44,3
+2016-10-02,31,3
+2016-10-03,30,3
+2016-10-04,33,3
+2016-10-05,30,3
+2016-10-06,39,3
+2016-10-07,41,3
+2016-10-08,44,3
+2016-10-09,44,3
+2016-10-10,30,3
+2016-10-11,39,3
+2016-10-12,34,3
+2016-10-13,47,3
+2016-10-14,42,3
+2016-10-15,42,3
+2016-10-16,52,3
+2016-10-17,30,3
+2016-10-18,33,3
+2016-10-19,31,3
+2016-10-20,38,3
+2016-10-21,38,3
+2016-10-22,50,3
+2016-10-23,44,3
+2016-10-24,32,3
+2016-10-25,35,3
+2016-10-26,19,3
+2016-10-27,36,3
+2016-10-28,39,3
+2016-10-29,34,3
+2016-10-30,44,3
+2016-10-31,28,3
+2016-11-01,39,3
+2016-11-02,44,3
+2016-11-03,35,3
+2016-11-04,28,3
+2016-11-05,45,3
+2016-11-06,41,3
+2016-11-07,31,3
+2016-11-08,27,3
+2016-11-09,41,3
+2016-11-10,34,3
+2016-11-11,39,3
+2016-11-12,40,3
+2016-11-13,51,3
+2016-11-14,28,3
+2016-11-15,37,3
+2016-11-16,35,3
+2016-11-17,26,3
+2016-11-18,41,3
+2016-11-19,44,3
+2016-11-20,43,3
+2016-11-21,32,3
+2016-11-22,34,3
+2016-11-23,43,3
+2016-11-24,45,3
+2016-11-25,34,3
+2016-11-26,43,3
+2016-11-27,52,3
+2016-11-28,32,3
+2016-11-29,36,3
+2016-11-30,43,3
+2016-12-01,22,3
+2016-12-02,32,3
+2016-12-03,32,3
+2016-12-04,23,3
+2016-12-05,27,3
+2016-12-06,23,3
+2016-12-07,35,3
+2016-12-08,28,3
+2016-12-09,34,3
+2016-12-10,40,3
+2016-12-11,26,3
+2016-12-12,13,3
+2016-12-13,26,3
+2016-12-14,14,3
+2016-12-15,24,3
+2016-12-16,24,3
+2016-12-17,21,3
+2016-12-18,31,3
+2016-12-19,31,3
+2016-12-20,23,3
+2016-12-21,17,3
+2016-12-22,30,3
+2016-12-23,30,3
+2016-12-24,24,3
+2016-12-25,27,3
+2016-12-26,21,3
+2016-12-27,17,3
+2016-12-28,27,3
+2016-12-29,32,3
+2016-12-30,26,3
+2016-12-31,24,3
+2017-01-01,39,3
+2017-01-02,19,3
+2017-01-03,29,3
+2017-01-04,29,3
+2017-01-05,27,3
+2017-01-06,34,3
+2017-01-07,27,3
+2017-01-08,31,3
+2017-01-09,19,3
+2017-01-10,29,3
+2017-01-11,15,3
+2017-01-12,23,3
+2017-01-13,29,3
+2017-01-14,33,3
+2017-01-15,24,3
+2017-01-16,24,3
+2017-01-17,25,3
+2017-01-18,28,3
+2017-01-19,29,3
+2017-01-20,29,3
+2017-01-21,36,3
+2017-01-22,31,3
+2017-01-23,17,3
+2017-01-24,32,3
+2017-01-25,27,3
+2017-01-26,26,3
+2017-01-27,28,3
+2017-01-28,37,3
+2017-01-29,25,3
+2017-01-30,17,3
+2017-01-31,21,3
+2017-02-01,30,3
+2017-02-02,26,3
+2017-02-03,27,3
+2017-02-04,38,3
+2017-02-05,33,3
+2017-02-06,28,3
+2017-02-07,26,3
+2017-02-08,25,3
+2017-02-09,35,3
+2017-02-10,33,3
+2017-02-11,30,3
+2017-02-12,35,3
+2017-02-13,21,3
+2017-02-14,26,3
+2017-02-15,26,3
+2017-02-16,26,3
+2017-02-17,21,3
+2017-02-18,40,3
+2017-02-19,44,3
+2017-02-20,28,3
+2017-02-21,24,3
+2017-02-22,19,3
+2017-02-23,24,3
+2017-02-24,32,3
+2017-02-25,31,3
+2017-02-26,41,3
+2017-02-27,18,3
+2017-02-28,30,3
+2017-03-01,33,3
+2017-03-02,31,3
+2017-03-03,36,3
+2017-03-04,43,3
+2017-03-05,58,3
+2017-03-06,29,3
+2017-03-07,44,3
+2017-03-08,31,3
+2017-03-09,41,3
+2017-03-10,36,3
+2017-03-11,38,3
+2017-03-12,46,3
+2017-03-13,25,3
+2017-03-14,28,3
+2017-03-15,21,3
+2017-03-16,33,3
+2017-03-17,28,3
+2017-03-18,41,3
+2017-03-19,31,3
+2017-03-20,22,3
+2017-03-21,28,3
+2017-03-22,37,3
+2017-03-23,37,3
+2017-03-24,36,3
+2017-03-25,21,3
+2017-03-26,41,3
+2017-03-27,22,3
+2017-03-28,33,3
+2017-03-29,33,3
+2017-03-30,28,3
+2017-03-31,40,3
+2017-04-01,50,3
+2017-04-02,38,3
+2017-04-03,26,3
+2017-04-04,47,3
+2017-04-05,38,3
+2017-04-06,28,3
+2017-04-07,42,3
+2017-04-08,34,3
+2017-04-09,42,3
+2017-04-10,46,3
+2017-04-11,34,3
+2017-04-12,40,3
+2017-04-13,43,3
+2017-04-14,37,3
+2017-04-15,28,3
+2017-04-16,42,3
+2017-04-17,39,3
+2017-04-18,34,3
+2017-04-19,45,3
+2017-04-20,45,3
+2017-04-21,35,3
+2017-04-22,39,3
+2017-04-23,54,3
+2017-04-24,37,3
+2017-04-25,31,3
+2017-04-26,35,3
+2017-04-27,36,3
+2017-04-28,39,3
+2017-04-29,56,3
+2017-04-30,49,3
+2017-05-01,25,3
+2017-05-02,49,3
+2017-05-03,43,3
+2017-05-04,45,3
+2017-05-05,51,3
+2017-05-06,45,3
+2017-05-07,50,3
+2017-05-08,28,3
+2017-05-09,47,3
+2017-05-10,31,3
+2017-05-11,41,3
+2017-05-12,48,3
+2017-05-13,47,3
+2017-05-14,59,3
+2017-05-15,24,3
+2017-05-16,49,3
+2017-05-17,41,3
+2017-05-18,38,3
+2017-05-19,46,3
+2017-05-20,54,3
+2017-05-21,42,3
+2017-05-22,39,3
+2017-05-23,43,3
+2017-05-24,47,3
+2017-05-25,47,3
+2017-05-26,38,3
+2017-05-27,54,3
+2017-05-28,46,3
+2017-05-29,43,3
+2017-05-30,35,3
+2017-05-31,36,3
+2017-06-01,63,3
+2017-06-02,56,3
+2017-06-03,52,3
+2017-06-04,51,3
+2017-06-05,43,3
+2017-06-06,51,3
+2017-06-07,40,3
+2017-06-08,43,3
+2017-06-09,47,3
+2017-06-10,53,3
+2017-06-11,54,3
+2017-06-12,44,3
+2017-06-13,43,3
+2017-06-14,40,3
+2017-06-15,36,3
+2017-06-16,52,3
+2017-06-17,53,3
+2017-06-18,54,3
+2017-06-19,35,3
+2017-06-20,51,3
+2017-06-21,40,3
+2017-06-22,58,3
+2017-06-23,43,3
+2017-06-24,65,3
+2017-06-25,62,3
+2017-06-26,23,3
+2017-06-27,40,3
+2017-06-28,51,3
+2017-06-29,47,3
+2017-06-30,55,3
+2017-07-01,48,3
+2017-07-02,66,3
+2017-07-03,37,3
+2017-07-04,45,3
+2017-07-05,43,3
+2017-07-06,44,3
+2017-07-07,43,3
+2017-07-08,58,3
+2017-07-09,58,3
+2017-07-10,35,3
+2017-07-11,55,3
+2017-07-12,46,3
+2017-07-13,54,3
+2017-07-14,63,3
+2017-07-15,45,3
+2017-07-16,50,3
+2017-07-17,37,3
+2017-07-18,36,3
+2017-07-19,35,3
+2017-07-20,49,3
+2017-07-21,42,3
+2017-07-22,52,3
+2017-07-23,45,3
+2017-07-24,40,3
+2017-07-25,48,3
+2017-07-26,43,3
+2017-07-27,43,3
+2017-07-28,53,3
+2017-07-29,50,3
+2017-07-30,58,3
+2017-07-31,44,3
+2017-08-01,50,3
+2017-08-02,29,3
+2017-08-03,38,3
+2017-08-04,49,3
+2017-08-05,57,3
+2017-08-06,53,3
+2017-08-07,36,3
+2017-08-08,30,3
+2017-08-09,36,3
+2017-08-10,43,3
+2017-08-11,52,3
+2017-08-12,55,3
+2017-08-13,43,3
+2017-08-14,21,3
+2017-08-15,31,3
+2017-08-16,36,3
+2017-08-17,36,3
+2017-08-18,49,3
+2017-08-19,46,3
+2017-08-20,38,3
+2017-08-21,34,3
+2017-08-22,29,3
+2017-08-23,35,3
+2017-08-24,35,3
+2017-08-25,47,3
+2017-08-26,44,3
+2017-08-27,48,3
+2017-08-28,34,3
+2017-08-29,50,3
+2017-08-30,27,3
+2017-08-31,43,3
+2017-09-01,50,3
+2017-09-02,38,3
+2017-09-03,40,3
+2017-09-04,30,3
+2017-09-05,43,3
+2017-09-06,34,3
+2017-09-07,42,3
+2017-09-08,36,3
+2017-09-09,30,3
+2017-09-10,45,3
+2017-09-11,28,3
+2017-09-12,30,3
+2017-09-13,42,3
+2017-09-14,43,3
+2017-09-15,45,3
+2017-09-16,42,3
+2017-09-17,41,3
+2017-09-18,33,3
+2017-09-19,33,3
+2017-09-20,50,3
+2017-09-21,46,3
+2017-09-22,41,3
+2017-09-23,33,3
+2017-09-24,42,3
+2017-09-25,26,3
+2017-09-26,40,3
+2017-09-27,34,3
+2017-09-28,34,3
+2017-09-29,34,3
+2017-09-30,47,3
+2017-10-01,44,3
+2017-10-02,29,3
+2017-10-03,40,3
+2017-10-04,41,3
+2017-10-05,42,3
+2017-10-06,39,3
+2017-10-07,46,3
+2017-10-08,46,3
+2017-10-09,36,3
+2017-10-10,31,3
+2017-10-11,29,3
+2017-10-12,29,3
+2017-10-13,33,3
+2017-10-14,48,3
+2017-10-15,34,3
+2017-10-16,28,3
+2017-10-17,27,3
+2017-10-18,26,3
+2017-10-19,38,3
+2017-10-20,38,3
+2017-10-21,49,3
+2017-10-22,46,3
+2017-10-23,20,3
+2017-10-24,31,3
+2017-10-25,31,3
+2017-10-26,32,3
+2017-10-27,38,3
+2017-10-28,39,3
+2017-10-29,35,3
+2017-10-30,32,3
+2017-10-31,33,3
+2017-11-01,46,3
+2017-11-02,38,3
+2017-11-03,40,3
+2017-11-04,50,3
+2017-11-05,49,3
+2017-11-06,40,3
+2017-11-07,35,3
+2017-11-08,33,3
+2017-11-09,35,3
+2017-11-10,26,3
+2017-11-11,62,3
+2017-11-12,48,3
+2017-11-13,28,3
+2017-11-14,42,3
+2017-11-15,36,3
+2017-11-16,45,3
+2017-11-17,37,3
+2017-11-18,44,3
+2017-11-19,44,3
+2017-11-20,43,3
+2017-11-21,40,3
+2017-11-22,40,3
+2017-11-23,44,3
+2017-11-24,49,3
+2017-11-25,51,3
+2017-11-26,45,3
+2017-11-27,28,3
+2017-11-28,33,3
+2017-11-29,35,3
+2017-11-30,36,3
+2017-12-01,28,3
+2017-12-02,31,3
+2017-12-03,23,3
+2017-12-04,18,3
+2017-12-05,21,3
+2017-12-06,23,3
+2017-12-07,33,3
+2017-12-08,33,3
+2017-12-09,32,3
+2017-12-10,32,3
+2017-12-11,19,3
+2017-12-12,15,3
+2017-12-13,34,3
+2017-12-14,30,3
+2017-12-15,38,3
+2017-12-16,38,3
+2017-12-17,43,3
+2017-12-18,23,3
+2017-12-19,15,3
+2017-12-20,34,3
+2017-12-21,30,3
+2017-12-22,34,3
+2017-12-23,34,3
+2017-12-24,28,3
+2017-12-25,16,3
+2017-12-26,29,3
+2017-12-27,28,3
+2017-12-28,21,3
+2017-12-29,26,3
+2017-12-30,29,3
+2017-12-31,36,3
+2013-01-01,4,4
+2013-01-02,5,4
+2013-01-03,8,4
+2013-01-04,7,4
+2013-01-05,7,4
+2013-01-06,12,4
+2013-01-07,8,4
+2013-01-08,3,4
+2013-01-09,10,4
+2013-01-10,9,4
+2013-01-11,8,4
+2013-01-12,9,4
+2013-01-13,11,4
+2013-01-14,6,4
+2013-01-15,12,4
+2013-01-16,9,4
+2013-01-17,15,4
+2013-01-18,7,4
+2013-01-19,10,4
+2013-01-20,14,4
+2013-01-21,7,4
+2013-01-22,4,4
+2013-01-23,7,4
+2013-01-24,8,4
+2013-01-25,12,4
+2013-01-26,12,4
+2013-01-27,9,4
+2013-01-28,8,4
+2013-01-29,14,4
+2013-01-30,12,4
+2013-01-31,8,4
+2013-02-01,12,4
+2013-02-02,7,4
+2013-02-03,15,4
+2013-02-04,6,4
+2013-02-05,16,4
+2013-02-06,12,4
+2013-02-07,8,4
+2013-02-08,11,4
+2013-02-09,10,4
+2013-02-10,11,4
+2013-02-11,11,4
+2013-02-12,4,4
+2013-02-13,10,4
+2013-02-14,10,4
+2013-02-15,20,4
+2013-02-16,11,4
+2013-02-17,20,4
+2013-02-18,8,4
+2013-02-19,8,4
+2013-02-20,14,4
+2013-02-21,9,4
+2013-02-22,9,4
+2013-02-23,14,4
+2013-02-24,9,4
+2013-02-25,9,4
+2013-02-26,9,4
+2013-02-27,11,4
+2013-02-28,9,4
+2013-03-01,9,4
+2013-03-02,10,4
+2013-03-03,13,4
+2013-03-04,6,4
+2013-03-05,9,4
+2013-03-06,15,4
+2013-03-07,7,4
+2013-03-08,10,4
+2013-03-09,12,4
+2013-03-10,10,4
+2013-03-11,11,4
+2013-03-12,15,4
+2013-03-13,9,4
+2013-03-14,8,4
+2013-03-15,12,4
+2013-03-16,19,4
+2013-03-17,11,4
+2013-03-18,14,4
+2013-03-19,9,4
+2013-03-20,6,4
+2013-03-21,20,4
+2013-03-22,11,4
+2013-03-23,14,4
+2013-03-24,15,4
+2013-03-25,11,4
+2013-03-26,9,4
+2013-03-27,8,4
+2013-03-28,12,4
+2013-03-29,16,4
+2013-03-30,16,4
+2013-03-31,10,4
+2013-04-01,15,4
+2013-04-02,19,4
+2013-04-03,14,4
+2013-04-04,7,4
+2013-04-05,14,4
+2013-04-06,9,4
+2013-04-07,18,4
+2013-04-08,7,4
+2013-04-09,10,4
+2013-04-10,20,4
+2013-04-11,13,4
+2013-04-12,9,4
+2013-04-13,18,4
+2013-04-14,27,4
+2013-04-15,5,4
+2013-04-16,20,4
+2013-04-17,15,4
+2013-04-18,14,4
+2013-04-19,12,4
+2013-04-20,23,4
+2013-04-21,21,4
+2013-04-22,15,4
+2013-04-23,15,4
+2013-04-24,11,4
+2013-04-25,16,4
+2013-04-26,15,4
+2013-04-27,19,4
+2013-04-28,37,4
+2013-04-29,8,4
+2013-04-30,19,4
+2013-05-01,23,4
+2013-05-02,20,4
+2013-05-03,22,4
+2013-05-04,16,4
+2013-05-05,19,4
+2013-05-06,10,4
+2013-05-07,17,4
+2013-05-08,28,4
+2013-05-09,17,4
+2013-05-10,18,4
+2013-05-11,10,4
+2013-05-12,27,4
+2013-05-13,11,4
+2013-05-14,16,4
+2013-05-15,12,4
+2013-05-16,21,4
+2013-05-17,13,4
+2013-05-18,20,4
+2013-05-19,16,4
+2013-05-20,12,4
+2013-05-21,11,4
+2013-05-22,19,4
+2013-05-23,15,4
+2013-05-24,18,4
+2013-05-25,18,4
+2013-05-26,20,4
+2013-05-27,17,4
+2013-05-28,5,4
+2013-05-29,20,4
+2013-05-30,12,4
+2013-05-31,23,4
+2013-06-01,28,4
+2013-06-02,21,4
+2013-06-03,12,4
+2013-06-04,20,4
+2013-06-05,20,4
+2013-06-06,17,4
+2013-06-07,17,4
+2013-06-08,24,4
+2013-06-09,22,4
+2013-06-10,13,4
+2013-06-11,14,4
+2013-06-12,17,4
+2013-06-13,16,4
+2013-06-14,15,4
+2013-06-15,15,4
+2013-06-16,29,4
+2013-06-17,16,4
+2013-06-18,11,4
+2013-06-19,14,4
+2013-06-20,11,4
+2013-06-21,19,4
+2013-06-22,21,4
+2013-06-23,13,4
+2013-06-24,11,4
+2013-06-25,17,4
+2013-06-26,16,4
+2013-06-27,12,4
+2013-06-28,13,4
+2013-06-29,10,4
+2013-06-30,17,4
+2013-07-01,11,4
+2013-07-02,10,4
+2013-07-03,16,4
+2013-07-04,12,4
+2013-07-05,18,4
+2013-07-06,15,4
+2013-07-07,21,4
+2013-07-08,9,4
+2013-07-09,11,4
+2013-07-10,26,4
+2013-07-11,14,4
+2013-07-12,14,4
+2013-07-13,14,4
+2013-07-14,18,4
+2013-07-15,13,4
+2013-07-16,22,4
+2013-07-17,12,4
+2013-07-18,17,4
+2013-07-19,20,4
+2013-07-20,20,4
+2013-07-21,17,4
+2013-07-22,17,4
+2013-07-23,10,4
+2013-07-24,13,4
+2013-07-25,12,4
+2013-07-26,19,4
+2013-07-27,12,4
+2013-07-28,25,4
+2013-07-29,13,4
+2013-07-30,16,4
+2013-07-31,18,4
+2013-08-01,17,4
+2013-08-02,14,4
+2013-08-03,19,4
+2013-08-04,20,4
+2013-08-05,12,4
+2013-08-06,16,4
+2013-08-07,12,4
+2013-08-08,13,4
+2013-08-09,19,4
+2013-08-10,15,4
+2013-08-11,18,4
+2013-08-12,16,4
+2013-08-13,16,4
+2013-08-14,14,4
+2013-08-15,16,4
+2013-08-16,18,4
+2013-08-17,16,4
+2013-08-18,16,4
+2013-08-19,10,4
+2013-08-20,16,4
+2013-08-21,18,4
+2013-08-22,17,4
+2013-08-23,21,4
+2013-08-24,15,4
+2013-08-25,16,4
+2013-08-26,10,4
+2013-08-27,10,4
+2013-08-28,15,4
+2013-08-29,20,4
+2013-08-30,17,4
+2013-08-31,14,4
+2013-09-01,21,4
+2013-09-02,13,4
+2013-09-03,11,4
+2013-09-04,16,4
+2013-09-05,13,4
+2013-09-06,6,4
+2013-09-07,14,4
+2013-09-08,18,4
+2013-09-09,13,4
+2013-09-10,15,4
+2013-09-11,11,4
+2013-09-12,17,4
+2013-09-13,6,4
+2013-09-14,14,4
+2013-09-15,13,4
+2013-09-16,10,4
+2013-09-17,8,4
+2013-09-18,11,4
+2013-09-19,17,4
+2013-09-20,14,4
+2013-09-21,12,4
+2013-09-22,25,4
+2013-09-23,12,4
+2013-09-24,13,4
+2013-09-25,17,4
+2013-09-26,13,4
+2013-09-27,12,4
+2013-09-28,19,4
+2013-09-29,18,4
+2013-09-30,17,4
+2013-10-01,11,4
+2013-10-02,13,4
+2013-10-03,9,4
+2013-10-04,16,4
+2013-10-05,14,4
+2013-10-06,20,4
+2013-10-07,10,4
+2013-10-08,14,4
+2013-10-09,14,4
+2013-10-10,22,4
+2013-10-11,14,4
+2013-10-12,16,4
+2013-10-13,15,4
+2013-10-14,12,4
+2013-10-15,8,4
+2013-10-16,8,4
+2013-10-17,2,4
+2013-10-18,17,4
+2013-10-19,17,4
+2013-10-20,21,4
+2013-10-21,18,4
+2013-10-22,6,4
+2013-10-23,22,4
+2013-10-24,11,4
+2013-10-25,13,4
+2013-10-26,12,4
+2013-10-27,14,4
+2013-10-28,13,4
+2013-10-29,9,4
+2013-10-30,9,4
+2013-10-31,17,4
+2013-11-01,15,4
+2013-11-02,17,4
+2013-11-03,22,4
+2013-11-04,13,4
+2013-11-05,13,4
+2013-11-06,8,4
+2013-11-07,15,4
+2013-11-08,18,4
+2013-11-09,9,4
+2013-11-10,18,4
+2013-11-11,10,4
+2013-11-12,10,4
+2013-11-13,16,4
+2013-11-14,14,4
+2013-11-15,15,4
+2013-11-16,13,4
+2013-11-17,16,4
+2013-11-18,16,4
+2013-11-19,7,4
+2013-11-20,7,4
+2013-11-21,18,4
+2013-11-22,17,4
+2013-11-23,17,4
+2013-11-24,12,4
+2013-11-25,10,4
+2013-11-26,22,4
+2013-11-27,15,4
+2013-11-28,12,4
+2013-11-29,15,4
+2013-11-30,14,4
+2013-12-01,9,4
+2013-12-02,8,4
+2013-12-03,15,4
+2013-12-04,9,4
+2013-12-05,10,4
+2013-12-06,10,4
+2013-12-07,16,4
+2013-12-08,9,4
+2013-12-09,11,4
+2013-12-10,15,4
+2013-12-11,13,4
+2013-12-12,12,4
+2013-12-13,6,4
+2013-12-14,8,4
+2013-12-15,5,4
+2013-12-16,12,4
+2013-12-17,12,4
+2013-12-18,14,4
+2013-12-19,14,4
+2013-12-20,12,4
+2013-12-21,9,4
+2013-12-22,16,4
+2013-12-23,9,4
+2013-12-24,12,4
+2013-12-25,15,4
+2013-12-26,6,4
+2013-12-27,15,4
+2013-12-28,12,4
+2013-12-29,18,4
+2013-12-30,7,4
+2013-12-31,14,4
+2014-01-01,7,4
+2014-01-02,9,4
+2014-01-03,13,4
+2014-01-04,13,4
+2014-01-05,15,4
+2014-01-06,11,4
+2014-01-07,5,4
+2014-01-08,11,4
+2014-01-09,5,4
+2014-01-10,6,4
+2014-01-11,7,4
+2014-01-12,11,4
+2014-01-13,5,4
+2014-01-14,10,4
+2014-01-15,12,4
+2014-01-16,9,4
+2014-01-17,3,4
+2014-01-18,10,4
+2014-01-19,17,4
+2014-01-20,10,4
+2014-01-21,7,4
+2014-01-22,6,4
+2014-01-23,8,4
+2014-01-24,14,4
+2014-01-25,8,4
+2014-01-26,16,4
+2014-01-27,9,4
+2014-01-28,11,4
+2014-01-29,8,4
+2014-01-30,17,4
+2014-01-31,11,4
+2014-02-01,12,4
+2014-02-02,10,4
+2014-02-03,7,4
+2014-02-04,9,4
+2014-02-05,13,4
+2014-02-06,18,4
+2014-02-07,10,4
+2014-02-08,8,4
+2014-02-09,12,4
+2014-02-10,9,4
+2014-02-11,13,4
+2014-02-12,13,4
+2014-02-13,13,4
+2014-02-14,17,4
+2014-02-15,9,4
+2014-02-16,15,4
+2014-02-17,3,4
+2014-02-18,12,4
+2014-02-19,9,4
+2014-02-20,16,4
+2014-02-21,11,4
+2014-02-22,8,4
+2014-02-23,10,4
+2014-02-24,10,4
+2014-02-25,6,4
+2014-02-26,11,4
+2014-02-27,15,4
+2014-02-28,16,4
+2014-03-01,15,4
+2014-03-02,20,4
+2014-03-03,9,4
+2014-03-04,17,4
+2014-03-05,20,4
+2014-03-06,16,4
+2014-03-07,15,4
+2014-03-08,14,4
+2014-03-09,19,4
+2014-03-10,7,4
+2014-03-11,11,4
+2014-03-12,11,4
+2014-03-13,17,4
+2014-03-14,18,4
+2014-03-15,19,4
+2014-03-16,13,4
+2014-03-17,11,4
+2014-03-18,15,4
+2014-03-19,12,4
+2014-03-20,18,4
+2014-03-21,14,4
+2014-03-22,25,4
+2014-03-23,17,4
+2014-03-24,8,4
+2014-03-25,19,4
+2014-03-26,14,4
+2014-03-27,11,4
+2014-03-28,13,4
+2014-03-29,16,4
+2014-03-30,17,4
+2014-03-31,20,4
+2014-04-01,21,4
+2014-04-02,13,4
+2014-04-03,16,4
+2014-04-04,22,4
+2014-04-05,12,4
+2014-04-06,16,4
+2014-04-07,17,4
+2014-04-08,14,4
+2014-04-09,20,4
+2014-04-10,18,4
+2014-04-11,21,4
+2014-04-12,17,4
+2014-04-13,25,4
+2014-04-14,14,4
+2014-04-15,17,4
+2014-04-16,15,4
+2014-04-17,13,4
+2014-04-18,15,4
+2014-04-19,28,4
+2014-04-20,23,4
+2014-04-21,16,4
+2014-04-22,14,4
+2014-04-23,13,4
+2014-04-24,12,4
+2014-04-25,27,4
+2014-04-26,22,4
+2014-04-27,25,4
+2014-04-28,10,4
+2014-04-29,12,4
+2014-04-30,19,4
+2014-05-01,27,4
+2014-05-02,24,4
+2014-05-03,18,4
+2014-05-04,11,4
+2014-05-05,25,4
+2014-05-06,14,4
+2014-05-07,11,4
+2014-05-08,12,4
+2014-05-09,18,4
+2014-05-10,23,4
+2014-05-11,18,4
+2014-05-12,20,4
+2014-05-13,22,4
+2014-05-14,21,4
+2014-05-15,16,4
+2014-05-16,11,4
+2014-05-17,19,4
+2014-05-18,11,4
+2014-05-19,19,4
+2014-05-20,14,4
+2014-05-21,20,4
+2014-05-22,21,4
+2014-05-23,17,4
+2014-05-24,20,4
+2014-05-25,13,4
+2014-05-26,14,4
+2014-05-27,24,4
+2014-05-28,14,4
+2014-05-29,23,4
+2014-05-30,9,4
+2014-05-31,19,4
+2014-06-01,24,4
+2014-06-02,12,4
+2014-06-03,21,4
+2014-06-04,20,4
+2014-06-05,16,4
+2014-06-06,26,4
+2014-06-07,17,4
+2014-06-08,18,4
+2014-06-09,14,4
+2014-06-10,18,4
+2014-06-11,22,4
+2014-06-12,17,4
+2014-06-13,20,4
+2014-06-14,18,4
+2014-06-15,16,4
+2014-06-16,13,4
+2014-06-17,26,4
+2014-06-18,20,4
+2014-06-19,22,4
+2014-06-20,24,4
+2014-06-21,19,4
+2014-06-22,25,4
+2014-06-23,7,4
+2014-06-24,15,4
+2014-06-25,20,4
+2014-06-26,21,4
+2014-06-27,16,4
+2014-06-28,18,4
+2014-06-29,16,4
+2014-06-30,11,4
+2014-07-01,22,4
+2014-07-02,24,4
+2014-07-03,16,4
+2014-07-04,16,4
+2014-07-05,26,4
+2014-07-06,16,4
+2014-07-07,15,4
+2014-07-08,16,4
+2014-07-09,17,4
+2014-07-10,28,4
+2014-07-11,17,4
+2014-07-12,24,4
+2014-07-13,23,4
+2014-07-14,18,4
+2014-07-15,18,4
+2014-07-16,13,4
+2014-07-17,16,4
+2014-07-18,24,4
+2014-07-19,18,4
+2014-07-20,18,4
+2014-07-21,16,4
+2014-07-22,19,4
+2014-07-23,14,4
+2014-07-24,17,4
+2014-07-25,14,4
+2014-07-26,28,4
+2014-07-27,26,4
+2014-07-28,21,4
+2014-07-29,16,4
+2014-07-30,21,4
+2014-07-31,32,4
+2014-08-01,13,4
+2014-08-02,19,4
+2014-08-03,19,4
+2014-08-04,15,4
+2014-08-05,16,4
+2014-08-06,20,4
+2014-08-07,15,4
+2014-08-08,22,4
+2014-08-09,13,4
+2014-08-10,26,4
+2014-08-11,15,4
+2014-08-12,16,4
+2014-08-13,23,4
+2014-08-14,25,4
+2014-08-15,21,4
+2014-08-16,25,4
+2014-08-17,24,4
+2014-08-18,21,4
+2014-08-19,14,4
+2014-08-20,16,4
+2014-08-21,17,4
+2014-08-22,28,4
+2014-08-23,20,4
+2014-08-24,15,4
+2014-08-25,11,4
+2014-08-26,17,4
+2014-08-27,20,4
+2014-08-28,17,4
+2014-08-29,19,4
+2014-08-30,25,4
+2014-08-31,18,4
+2014-09-01,12,4
+2014-09-02,21,4
+2014-09-03,15,4
+2014-09-04,14,4
+2014-09-05,16,4
+2014-09-06,17,4
+2014-09-07,22,4
+2014-09-08,17,4
+2014-09-09,10,4
+2014-09-10,14,4
+2014-09-11,20,4
+2014-09-12,18,4
+2014-09-13,19,4
+2014-09-14,16,4
+2014-09-15,9,4
+2014-09-16,26,4
+2014-09-17,14,4
+2014-09-18,22,4
+2014-09-19,16,4
+2014-09-20,22,4
+2014-09-21,13,4
+2014-09-22,12,4
+2014-09-23,21,4
+2014-09-24,13,4
+2014-09-25,20,4
+2014-09-26,17,4
+2014-09-27,8,4
+2014-09-28,15,4
+2014-09-29,12,4
+2014-09-30,15,4
+2014-10-01,14,4
+2014-10-02,16,4
+2014-10-03,17,4
+2014-10-04,18,4
+2014-10-05,23,4
+2014-10-06,20,4
+2014-10-07,23,4
+2014-10-08,15,4
+2014-10-09,15,4
+2014-10-10,18,4
+2014-10-11,14,4
+2014-10-12,17,4
+2014-10-13,7,4
+2014-10-14,14,4
+2014-10-15,17,4
+2014-10-16,16,4
+2014-10-17,14,4
+2014-10-18,17,4
+2014-10-19,11,4
+2014-10-20,15,4
+2014-10-21,18,4
+2014-10-22,9,4
+2014-10-23,11,4
+2014-10-24,15,4
+2014-10-25,15,4
+2014-10-26,17,4
+2014-10-27,11,4
+2014-10-28,26,4
+2014-10-29,9,4
+2014-10-30,23,4
+2014-10-31,15,4
+2014-11-01,23,4
+2014-11-02,20,4
+2014-11-03,13,4
+2014-11-04,16,4
+2014-11-05,14,4
+2014-11-06,23,4
+2014-11-07,16,4
+2014-11-08,27,4
+2014-11-09,22,4
+2014-11-10,25,4
+2014-11-11,20,4
+2014-11-12,16,4
+2014-11-13,16,4
+2014-11-14,20,4
+2014-11-15,14,4
+2014-11-16,16,4
+2014-11-17,14,4
+2014-11-18,20,4
+2014-11-19,21,4
+2014-11-20,13,4
+2014-11-21,16,4
+2014-11-22,13,4
+2014-11-23,19,4
+2014-11-24,9,4
+2014-11-25,19,4
+2014-11-26,22,4
+2014-11-27,17,4
+2014-11-28,15,4
+2014-11-29,20,4
+2014-11-30,12,4
+2014-12-01,8,4
+2014-12-02,10,4
+2014-12-03,10,4
+2014-12-04,15,4
+2014-12-05,16,4
+2014-12-06,17,4
+2014-12-07,7,4
+2014-12-08,8,4
+2014-12-09,2,4
+2014-12-10,16,4
+2014-12-11,16,4
+2014-12-12,16,4
+2014-12-13,18,4
+2014-12-14,17,4
+2014-12-15,15,4
+2014-12-16,9,4
+2014-12-17,12,4
+2014-12-18,17,4
+2014-12-19,19,4
+2014-12-20,6,4
+2014-12-21,23,4
+2014-12-22,10,4
+2014-12-23,10,4
+2014-12-24,10,4
+2014-12-25,15,4
+2014-12-26,15,4
+2014-12-27,10,4
+2014-12-28,21,4
+2014-12-29,8,4
+2014-12-30,9,4
+2014-12-31,10,4
+2015-01-01,8,4
+2015-01-02,10,4
+2015-01-03,8,4
+2015-01-04,20,4
+2015-01-05,5,4
+2015-01-06,19,4
+2015-01-07,8,4
+2015-01-08,12,4
+2015-01-09,7,4
+2015-01-10,11,4
+2015-01-11,12,4
+2015-01-12,7,4
+2015-01-13,9,4
+2015-01-14,11,4
+2015-01-15,12,4
+2015-01-16,9,4
+2015-01-17,12,4
+2015-01-18,13,4
+2015-01-19,8,4
+2015-01-20,16,4
+2015-01-21,8,4
+2015-01-22,15,4
+2015-01-23,13,4
+2015-01-24,9,4
+2015-01-25,15,4
+2015-01-26,6,4
+2015-01-27,9,4
+2015-01-28,15,4
+2015-01-29,13,4
+2015-01-30,13,4
+2015-01-31,14,4
+2015-02-01,14,4
+2015-02-02,14,4
+2015-02-03,19,4
+2015-02-04,12,4
+2015-02-05,4,4
+2015-02-06,11,4
+2015-02-07,13,4
+2015-02-08,18,4
+2015-02-09,7,4
+2015-02-10,12,4
+2015-02-11,9,4
+2015-02-12,12,4
+2015-02-13,13,4
+2015-02-14,22,4
+2015-02-15,15,4
+2015-02-16,9,4
+2015-02-17,17,4
+2015-02-18,12,4
+2015-02-19,17,4
+2015-02-20,12,4
+2015-02-21,13,4
+2015-02-22,16,4
+2015-02-23,10,4
+2015-02-24,11,4
+2015-02-25,10,4
+2015-02-26,13,4
+2015-02-27,13,4
+2015-02-28,16,4
+2015-03-01,16,4
+2015-03-02,12,4
+2015-03-03,20,4
+2015-03-04,24,4
+2015-03-05,9,4
+2015-03-06,21,4
+2015-03-07,17,4
+2015-03-08,15,4
+2015-03-09,6,4
+2015-03-10,19,4
+2015-03-11,19,4
+2015-03-12,15,4
+2015-03-13,18,4
+2015-03-14,12,4
+2015-03-15,19,4
+2015-03-16,12,4
+2015-03-17,18,4
+2015-03-18,12,4
+2015-03-19,12,4
+2015-03-20,15,4
+2015-03-21,19,4
+2015-03-22,17,4
+2015-03-23,14,4
+2015-03-24,12,4
+2015-03-25,13,4
+2015-03-26,13,4
+2015-03-27,16,4
+2015-03-28,15,4
+2015-03-29,20,4
+2015-03-30,8,4
+2015-03-31,12,4
+2015-04-01,15,4
+2015-04-02,20,4
+2015-04-03,22,4
+2015-04-04,22,4
+2015-04-05,19,4
+2015-04-06,15,4
+2015-04-07,24,4
+2015-04-08,18,4
+2015-04-09,17,4
+2015-04-10,21,4
+2015-04-11,21,4
+2015-04-12,17,4
+2015-04-13,8,4
+2015-04-14,25,4
+2015-04-15,20,4
+2015-04-16,13,4
+2015-04-17,24,4
+2015-04-18,19,4
+2015-04-19,21,4
+2015-04-20,12,4
+2015-04-21,20,4
+2015-04-22,21,4
+2015-04-23,26,4
+2015-04-24,19,4
+2015-04-25,20,4
+2015-04-26,15,4
+2015-04-27,12,4
+2015-04-28,18,4
+2015-04-29,8,4
+2015-04-30,18,4
+2015-05-01,19,4
+2015-05-02,17,4
+2015-05-03,23,4
+2015-05-04,8,4
+2015-05-05,18,4
+2015-05-06,19,4
+2015-05-07,16,4
+2015-05-08,21,4
+2015-05-09,26,4
+2015-05-10,26,4
+2015-05-11,13,4
+2015-05-12,15,4
+2015-05-13,26,4
+2015-05-14,27,4
+2015-05-15,18,4
+2015-05-16,19,4
+2015-05-17,26,4
+2015-05-18,10,4
+2015-05-19,12,4
+2015-05-20,17,4
+2015-05-21,14,4
+2015-05-22,19,4
+2015-05-23,17,4
+2015-05-24,16,4
+2015-05-25,19,4
+2015-05-26,20,4
+2015-05-27,22,4
+2015-05-28,21,4
+2015-05-29,21,4
+2015-05-30,18,4
+2015-05-31,17,4
+2015-06-01,22,4
+2015-06-02,22,4
+2015-06-03,15,4
+2015-06-04,24,4
+2015-06-05,22,4
+2015-06-06,26,4
+2015-06-07,30,4
+2015-06-08,20,4
+2015-06-09,15,4
+2015-06-10,21,4
+2015-06-11,18,4
+2015-06-12,24,4
+2015-06-13,29,4
+2015-06-14,27,4
+2015-06-15,20,4
+2015-06-16,18,4
+2015-06-17,17,4
+2015-06-18,20,4
+2015-06-19,26,4
+2015-06-20,19,4
+2015-06-21,19,4
+2015-06-22,15,4
+2015-06-23,20,4
+2015-06-24,22,4
+2015-06-25,21,4
+2015-06-26,25,4
+2015-06-27,31,4
+2015-06-28,29,4
+2015-06-29,14,4
+2015-06-30,20,4
+2015-07-01,21,4
+2015-07-02,22,4
+2015-07-03,24,4
+2015-07-04,24,4
+2015-07-05,19,4
+2015-07-06,18,4
+2015-07-07,22,4
+2015-07-08,19,4
+2015-07-09,24,4
+2015-07-10,19,4
+2015-07-11,22,4
+2015-07-12,25,4
+2015-07-13,18,4
+2015-07-14,17,4
+2015-07-15,20,4
+2015-07-16,27,4
+2015-07-17,23,4
+2015-07-18,25,4
+2015-07-19,34,4
+2015-07-20,8,4
+2015-07-21,19,4
+2015-07-22,22,4
+2015-07-23,21,4
+2015-07-24,19,4
+2015-07-25,20,4
+2015-07-26,33,4
+2015-07-27,22,4
+2015-07-28,16,4
+2015-07-29,20,4
+2015-07-30,24,4
+2015-07-31,19,4
+2015-08-01,40,4
+2015-08-02,20,4
+2015-08-03,19,4
+2015-08-04,14,4
+2015-08-05,19,4
+2015-08-06,22,4
+2015-08-07,19,4
+2015-08-08,17,4
+2015-08-09,20,4
+2015-08-10,14,4
+2015-08-11,14,4
+2015-08-12,15,4
+2015-08-13,16,4
+2015-08-14,17,4
+2015-08-15,24,4
+2015-08-16,25,4
+2015-08-17,22,4
+2015-08-18,22,4
+2015-08-19,23,4
+2015-08-20,25,4
+2015-08-21,16,4
+2015-08-22,14,4
+2015-08-23,22,4
+2015-08-24,15,4
+2015-08-25,16,4
+2015-08-26,23,4
+2015-08-27,20,4
+2015-08-28,15,4
+2015-08-29,31,4
+2015-08-30,24,4
+2015-08-31,18,4
+2015-09-01,17,4
+2015-09-02,13,4
+2015-09-03,26,4
+2015-09-04,17,4
+2015-09-05,23,4
+2015-09-06,25,4
+2015-09-07,15,4
+2015-09-08,14,4
+2015-09-09,16,4
+2015-09-10,19,4
+2015-09-11,15,4
+2015-09-12,15,4
+2015-09-13,21,4
+2015-09-14,13,4
+2015-09-15,10,4
+2015-09-16,18,4
+2015-09-17,17,4
+2015-09-18,24,4
+2015-09-19,18,4
+2015-09-20,22,4
+2015-09-21,7,4
+2015-09-22,10,4
+2015-09-23,16,4
+2015-09-24,13,4
+2015-09-25,11,4
+2015-09-26,18,4
+2015-09-27,21,4
+2015-09-28,14,4
+2015-09-29,16,4
+2015-09-30,17,4
+2015-10-01,15,4
+2015-10-02,20,4
+2015-10-03,23,4
+2015-10-04,13,4
+2015-10-05,15,4
+2015-10-06,19,4
+2015-10-07,18,4
+2015-10-08,18,4
+2015-10-09,20,4
+2015-10-10,20,4
+2015-10-11,18,4
+2015-10-12,11,4
+2015-10-13,13,4
+2015-10-14,15,4
+2015-10-15,15,4
+2015-10-16,17,4
+2015-10-17,19,4
+2015-10-18,16,4
+2015-10-19,12,4
+2015-10-20,14,4
+2015-10-21,18,4
+2015-10-22,23,4
+2015-10-23,17,4
+2015-10-24,24,4
+2015-10-25,14,4
+2015-10-26,13,4
+2015-10-27,19,4
+2015-10-28,9,4
+2015-10-29,22,4
+2015-10-30,16,4
+2015-10-31,12,4
+2015-11-01,28,4
+2015-11-02,9,4
+2015-11-03,20,4
+2015-11-04,16,4
+2015-11-05,11,4
+2015-11-06,15,4
+2015-11-07,17,4
+2015-11-08,25,4
+2015-11-09,18,4
+2015-11-10,16,4
+2015-11-11,18,4
+2015-11-12,14,4
+2015-11-13,16,4
+2015-11-14,16,4
+2015-11-15,25,4
+2015-11-16,20,4
+2015-11-17,26,4
+2015-11-18,11,4
+2015-11-19,18,4
+2015-11-20,16,4
+2015-11-21,18,4
+2015-11-22,20,4
+2015-11-23,17,4
+2015-11-24,17,4
+2015-11-25,22,4
+2015-11-26,22,4
+2015-11-27,20,4
+2015-11-28,18,4
+2015-11-29,28,4
+2015-11-30,18,4
+2015-12-01,10,4
+2015-12-02,17,4
+2015-12-03,17,4
+2015-12-04,16,4
+2015-12-05,19,4
+2015-12-06,16,4
+2015-12-07,9,4
+2015-12-08,10,4
+2015-12-09,12,4
+2015-12-10,11,4
+2015-12-11,13,4
+2015-12-12,14,4
+2015-12-13,12,4
+2015-12-14,8,4
+2015-12-15,8,4
+2015-12-16,11,4
+2015-12-17,19,4
+2015-12-18,12,4
+2015-12-19,20,4
+2015-12-20,10,4
+2015-12-21,14,4
+2015-12-22,14,4
+2015-12-23,11,4
+2015-12-24,13,4
+2015-12-25,14,4
+2015-12-26,11,4
+2015-12-27,12,4
+2015-12-28,12,4
+2015-12-29,15,4
+2015-12-30,9,4
+2015-12-31,15,4
+2016-01-01,12,4
+2016-01-02,6,4
+2016-01-03,15,4
+2016-01-04,14,4
+2016-01-05,2,4
+2016-01-06,14,4
+2016-01-07,15,4
+2016-01-08,19,4
+2016-01-09,8,4
+2016-01-10,14,4
+2016-01-11,7,4
+2016-01-12,5,4
+2016-01-13,9,4
+2016-01-14,15,4
+2016-01-15,10,4
+2016-01-16,16,4
+2016-01-17,15,4
+2016-01-18,11,4
+2016-01-19,18,4
+2016-01-20,15,4
+2016-01-21,14,4
+2016-01-22,18,4
+2016-01-23,21,4
+2016-01-24,14,4
+2016-01-25,10,4
+2016-01-26,9,4
+2016-01-27,15,4
+2016-01-28,12,4
+2016-01-29,11,4
+2016-01-30,16,4
+2016-01-31,17,4
+2016-02-01,10,4
+2016-02-02,16,4
+2016-02-03,13,4
+2016-02-04,21,4
+2016-02-05,15,4
+2016-02-06,7,4
+2016-02-07,11,4
+2016-02-08,14,4
+2016-02-09,17,4
+2016-02-10,15,4
+2016-02-11,15,4
+2016-02-12,7,4
+2016-02-13,17,4
+2016-02-14,19,4
+2016-02-15,8,4
+2016-02-16,12,4
+2016-02-17,9,4
+2016-02-18,13,4
+2016-02-19,21,4
+2016-02-20,16,4
+2016-02-21,23,4
+2016-02-22,15,4
+2016-02-23,16,4
+2016-02-24,13,4
+2016-02-25,22,4
+2016-02-26,13,4
+2016-02-27,22,4
+2016-02-28,16,4
+2016-02-29,8,4
+2016-03-01,12,4
+2016-03-02,12,4
+2016-03-03,17,4
+2016-03-04,13,4
+2016-03-05,22,4
+2016-03-06,14,4
+2016-03-07,17,4
+2016-03-08,17,4
+2016-03-09,11,4
+2016-03-10,17,4
+2016-03-11,23,4
+2016-03-12,24,4
+2016-03-13,18,4
+2016-03-14,13,4
+2016-03-15,14,4
+2016-03-16,21,4
+2016-03-17,15,4
+2016-03-18,26,4
+2016-03-19,23,4
+2016-03-20,17,4
+2016-03-21,15,4
+2016-03-22,13,4
+2016-03-23,17,4
+2016-03-24,17,4
+2016-03-25,18,4
+2016-03-26,18,4
+2016-03-27,18,4
+2016-03-28,12,4
+2016-03-29,15,4
+2016-03-30,16,4
+2016-03-31,13,4
+2016-04-01,21,4
+2016-04-02,22,4
+2016-04-03,25,4
+2016-04-04,15,4
+2016-04-05,26,4
+2016-04-06,22,4
+2016-04-07,12,4
+2016-04-08,21,4
+2016-04-09,20,4
+2016-04-10,24,4
+2016-04-11,16,4
+2016-04-12,14,4
+2016-04-13,12,4
+2016-04-14,12,4
+2016-04-15,22,4
+2016-04-16,25,4
+2016-04-17,31,4
+2016-04-18,12,4
+2016-04-19,16,4
+2016-04-20,22,4
+2016-04-21,15,4
+2016-04-22,21,4
+2016-04-23,18,4
+2016-04-24,20,4
+2016-04-25,14,4
+2016-04-26,19,4
+2016-04-27,13,4
+2016-04-28,21,4
+2016-04-29,19,4
+2016-04-30,16,4
+2016-05-01,20,4
+2016-05-02,18,4
+2016-05-03,25,4
+2016-05-04,20,4
+2016-05-05,18,4
+2016-05-06,13,4
+2016-05-07,31,4
+2016-05-08,21,4
+2016-05-09,20,4
+2016-05-10,32,4
+2016-05-11,23,4
+2016-05-12,23,4
+2016-05-13,21,4
+2016-05-14,25,4
+2016-05-15,28,4
+2016-05-16,16,4
+2016-05-17,25,4
+2016-05-18,22,4
+2016-05-19,22,4
+2016-05-20,24,4
+2016-05-21,21,4
+2016-05-22,30,4
+2016-05-23,23,4
+2016-05-24,16,4
+2016-05-25,19,4
+2016-05-26,15,4
+2016-05-27,21,4
+2016-05-28,20,4
+2016-05-29,22,4
+2016-05-30,16,4
+2016-05-31,20,4
+2016-06-01,24,4
+2016-06-02,29,4
+2016-06-03,24,4
+2016-06-04,16,4
+2016-06-05,28,4
+2016-06-06,23,4
+2016-06-07,21,4
+2016-06-08,17,4
+2016-06-09,19,4
+2016-06-10,27,4
+2016-06-11,21,4
+2016-06-12,19,4
+2016-06-13,18,4
+2016-06-14,16,4
+2016-06-15,18,4
+2016-06-16,21,4
+2016-06-17,24,4
+2016-06-18,15,4
+2016-06-19,27,4
+2016-06-20,9,4
+2016-06-21,26,4
+2016-06-22,33,4
+2016-06-23,27,4
+2016-06-24,28,4
+2016-06-25,20,4
+2016-06-26,30,4
+2016-06-27,17,4
+2016-06-28,17,4
+2016-06-29,17,4
+2016-06-30,27,4
+2016-07-01,17,4
+2016-07-02,19,4
+2016-07-03,25,4
+2016-07-04,18,4
+2016-07-05,21,4
+2016-07-06,23,4
+2016-07-07,28,4
+2016-07-08,21,4
+2016-07-09,20,4
+2016-07-10,38,4
+2016-07-11,22,4
+2016-07-12,16,4
+2016-07-13,17,4
+2016-07-14,27,4
+2016-07-15,27,4
+2016-07-16,27,4
+2016-07-17,34,4
+2016-07-18,22,4
+2016-07-19,17,4
+2016-07-20,11,4
+2016-07-21,29,4
+2016-07-22,28,4
+2016-07-23,26,4
+2016-07-24,20,4
+2016-07-25,20,4
+2016-07-26,21,4
+2016-07-27,15,4
+2016-07-28,11,4
+2016-07-29,24,4
+2016-07-30,17,4
+2016-07-31,32,4
+2016-08-01,21,4
+2016-08-02,27,4
+2016-08-03,19,4
+2016-08-04,24,4
+2016-08-05,16,4
+2016-08-06,22,4
+2016-08-07,18,4
+2016-08-08,23,4
+2016-08-09,23,4
+2016-08-10,33,4
+2016-08-11,19,4
+2016-08-12,21,4
+2016-08-13,24,4
+2016-08-14,18,4
+2016-08-15,17,4
+2016-08-16,30,4
+2016-08-17,14,4
+2016-08-18,24,4
+2016-08-19,19,4
+2016-08-20,20,4
+2016-08-21,24,4
+2016-08-22,15,4
+2016-08-23,13,4
+2016-08-24,19,4
+2016-08-25,24,4
+2016-08-26,17,4
+2016-08-27,14,4
+2016-08-28,31,4
+2016-08-29,14,4
+2016-08-30,21,4
+2016-08-31,17,4
+2016-09-01,28,4
+2016-09-02,19,4
+2016-09-03,22,4
+2016-09-04,17,4
+2016-09-05,22,4
+2016-09-06,17,4
+2016-09-07,21,4
+2016-09-08,21,4
+2016-09-09,25,4
+2016-09-10,26,4
+2016-09-11,18,4
+2016-09-12,12,4
+2016-09-13,16,4
+2016-09-14,9,4
+2016-09-15,17,4
+2016-09-16,17,4
+2016-09-17,27,4
+2016-09-18,32,4
+2016-09-19,9,4
+2016-09-20,22,4
+2016-09-21,15,4
+2016-09-22,19,4
+2016-09-23,24,4
+2016-09-24,22,4
+2016-09-25,23,4
+2016-09-26,17,4
+2016-09-27,14,4
+2016-09-28,22,4
+2016-09-29,16,4
+2016-09-30,23,4
+2016-10-01,22,4
+2016-10-02,20,4
+2016-10-03,12,4
+2016-10-04,15,4
+2016-10-05,20,4
+2016-10-06,20,4
+2016-10-07,20,4
+2016-10-08,21,4
+2016-10-09,27,4
+2016-10-10,14,4
+2016-10-11,22,4
+2016-10-12,18,4
+2016-10-13,10,4
+2016-10-14,23,4
+2016-10-15,20,4
+2016-10-16,19,4
+2016-10-17,19,4
+2016-10-18,16,4
+2016-10-19,20,4
+2016-10-20,16,4
+2016-10-21,16,4
+2016-10-22,25,4
+2016-10-23,22,4
+2016-10-24,11,4
+2016-10-25,18,4
+2016-10-26,16,4
+2016-10-27,21,4
+2016-10-28,18,4
+2016-10-29,25,4
+2016-10-30,34,4
+2016-10-31,19,4
+2016-11-01,19,4
+2016-11-02,22,4
+2016-11-03,18,4
+2016-11-04,25,4
+2016-11-05,22,4
+2016-11-06,28,4
+2016-11-07,13,4
+2016-11-08,18,4
+2016-11-09,15,4
+2016-11-10,25,4
+2016-11-11,22,4
+2016-11-12,20,4
+2016-11-13,33,4
+2016-11-14,6,4
+2016-11-15,19,4
+2016-11-16,12,4
+2016-11-17,19,4
+2016-11-18,24,4
+2016-11-19,25,4
+2016-11-20,20,4
+2016-11-21,18,4
+2016-11-22,20,4
+2016-11-23,18,4
+2016-11-24,15,4
+2016-11-25,26,4
+2016-11-26,25,4
+2016-11-27,21,4
+2016-11-28,19,4
+2016-11-29,12,4
+2016-11-30,14,4
+2016-12-01,11,4
+2016-12-02,15,4
+2016-12-03,14,4
+2016-12-04,17,4
+2016-12-05,16,4
+2016-12-06,17,4
+2016-12-07,16,4
+2016-12-08,12,4
+2016-12-09,11,4
+2016-12-10,18,4
+2016-12-11,18,4
+2016-12-12,13,4
+2016-12-13,10,4
+2016-12-14,14,4
+2016-12-15,10,4
+2016-12-16,14,4
+2016-12-17,16,4
+2016-12-18,12,4
+2016-12-19,7,4
+2016-12-20,20,4
+2016-12-21,17,4
+2016-12-22,12,4
+2016-12-23,12,4
+2016-12-24,21,4
+2016-12-25,22,4
+2016-12-26,7,4
+2016-12-27,13,4
+2016-12-28,19,4
+2016-12-29,21,4
+2016-12-30,12,4
+2016-12-31,17,4
+2017-01-01,15,4
+2017-01-02,14,4
+2017-01-03,13,4
+2017-01-04,14,4
+2017-01-05,9,4
+2017-01-06,12,4
+2017-01-07,11,4
+2017-01-08,14,4
+2017-01-09,8,4
+2017-01-10,6,4
+2017-01-11,13,4
+2017-01-12,8,4
+2017-01-13,17,4
+2017-01-14,15,4
+2017-01-15,14,4
+2017-01-16,14,4
+2017-01-17,11,4
+2017-01-18,13,4
+2017-01-19,10,4
+2017-01-20,12,4
+2017-01-21,10,4
+2017-01-22,8,4
+2017-01-23,8,4
+2017-01-24,22,4
+2017-01-25,9,4
+2017-01-26,6,4
+2017-01-27,10,4
+2017-01-28,13,4
+2017-01-29,21,4
+2017-01-30,4,4
+2017-01-31,15,4
+2017-02-01,13,4
+2017-02-02,16,4
+2017-02-03,19,4
+2017-02-04,19,4
+2017-02-05,16,4
+2017-02-06,9,4
+2017-02-07,12,4
+2017-02-08,14,4
+2017-02-09,14,4
+2017-02-10,15,4
+2017-02-11,13,4
+2017-02-12,21,4
+2017-02-13,8,4
+2017-02-14,8,4
+2017-02-15,17,4
+2017-02-16,18,4
+2017-02-17,19,4
+2017-02-18,10,4
+2017-02-19,19,4
+2017-02-20,10,4
+2017-02-21,13,4
+2017-02-22,10,4
+2017-02-23,19,4
+2017-02-24,11,4
+2017-02-25,17,4
+2017-02-26,23,4
+2017-02-27,12,4
+2017-02-28,13,4
+2017-03-01,22,4
+2017-03-02,21,4
+2017-03-03,15,4
+2017-03-04,24,4
+2017-03-05,15,4
+2017-03-06,8,4
+2017-03-07,15,4
+2017-03-08,12,4
+2017-03-09,21,4
+2017-03-10,14,4
+2017-03-11,16,4
+2017-03-12,23,4
+2017-03-13,21,4
+2017-03-14,24,4
+2017-03-15,11,4
+2017-03-16,14,4
+2017-03-17,21,4
+2017-03-18,13,4
+2017-03-19,17,4
+2017-03-20,11,4
+2017-03-21,12,4
+2017-03-22,14,4
+2017-03-23,28,4
+2017-03-24,29,4
+2017-03-25,17,4
+2017-03-26,21,4
+2017-03-27,19,4
+2017-03-28,11,4
+2017-03-29,17,4
+2017-03-30,24,4
+2017-03-31,13,4
+2017-04-01,23,4
+2017-04-02,28,4
+2017-04-03,14,4
+2017-04-04,16,4
+2017-04-05,24,4
+2017-04-06,21,4
+2017-04-07,16,4
+2017-04-08,19,4
+2017-04-09,24,4
+2017-04-10,13,4
+2017-04-11,25,4
+2017-04-12,16,4
+2017-04-13,16,4
+2017-04-14,24,4
+2017-04-15,21,4
+2017-04-16,25,4
+2017-04-17,15,4
+2017-04-18,10,4
+2017-04-19,16,4
+2017-04-20,28,4
+2017-04-21,24,4
+2017-04-22,28,4
+2017-04-23,27,4
+2017-04-24,18,4
+2017-04-25,15,4
+2017-04-26,26,4
+2017-04-27,16,4
+2017-04-28,18,4
+2017-04-29,25,4
+2017-04-30,18,4
+2017-05-01,14,4
+2017-05-02,14,4
+2017-05-03,18,4
+2017-05-04,16,4
+2017-05-05,21,4
+2017-05-06,34,4
+2017-05-07,22,4
+2017-05-08,19,4
+2017-05-09,19,4
+2017-05-10,22,4
+2017-05-11,24,4
+2017-05-12,13,4
+2017-05-13,30,4
+2017-05-14,20,4
+2017-05-15,10,4
+2017-05-16,13,4
+2017-05-17,16,4
+2017-05-18,28,4
+2017-05-19,26,4
+2017-05-20,18,4
+2017-05-21,20,4
+2017-05-22,17,4
+2017-05-23,19,4
+2017-05-24,20,4
+2017-05-25,23,4
+2017-05-26,27,4
+2017-05-27,15,4
+2017-05-28,23,4
+2017-05-29,16,4
+2017-05-30,16,4
+2017-05-31,19,4
+2017-06-01,25,4
+2017-06-02,23,4
+2017-06-03,24,4
+2017-06-04,24,4
+2017-06-05,16,4
+2017-06-06,21,4
+2017-06-07,23,4
+2017-06-08,20,4
+2017-06-09,22,4
+2017-06-10,32,4
+2017-06-11,28,4
+2017-06-12,19,4
+2017-06-13,24,4
+2017-06-14,18,4
+2017-06-15,30,4
+2017-06-16,21,4
+2017-06-17,30,4
+2017-06-18,24,4
+2017-06-19,22,4
+2017-06-20,19,4
+2017-06-21,26,4
+2017-06-22,17,4
+2017-06-23,19,4
+2017-06-24,28,4
+2017-06-25,18,4
+2017-06-26,11,4
+2017-06-27,21,4
+2017-06-28,24,4
+2017-06-29,23,4
+2017-06-30,27,4
+2017-07-01,30,4
+2017-07-02,27,4
+2017-07-03,21,4
+2017-07-04,19,4
+2017-07-05,22,4
+2017-07-06,25,4
+2017-07-07,16,4
+2017-07-08,33,4
+2017-07-09,27,4
+2017-07-10,17,4
+2017-07-11,22,4
+2017-07-12,16,4
+2017-07-13,31,4
+2017-07-14,28,4
+2017-07-15,19,4
+2017-07-16,37,4
+2017-07-17,16,4
+2017-07-18,20,4
+2017-07-19,23,4
+2017-07-20,19,4
+2017-07-21,31,4
+2017-07-22,27,4
+2017-07-23,24,4
+2017-07-24,25,4
+2017-07-25,15,4
+2017-07-26,30,4
+2017-07-27,29,4
+2017-07-28,21,4
+2017-07-29,25,4
+2017-07-30,19,4
+2017-07-31,13,4
+2017-08-01,18,4
+2017-08-02,19,4
+2017-08-03,12,4
+2017-08-04,15,4
+2017-08-05,26,4
+2017-08-06,22,4
+2017-08-07,15,4
+2017-08-08,11,4
+2017-08-09,19,4
+2017-08-10,22,4
+2017-08-11,21,4
+2017-08-12,34,4
+2017-08-13,23,4
+2017-08-14,17,4
+2017-08-15,17,4
+2017-08-16,11,4
+2017-08-17,21,4
+2017-08-18,25,4
+2017-08-19,26,4
+2017-08-20,23,4
+2017-08-21,10,4
+2017-08-22,17,4
+2017-08-23,15,4
+2017-08-24,22,4
+2017-08-25,20,4
+2017-08-26,23,4
+2017-08-27,17,4
+2017-08-28,23,4
+2017-08-29,22,4
+2017-08-30,11,4
+2017-08-31,21,4
+2017-09-01,26,4
+2017-09-02,18,4
+2017-09-03,24,4
+2017-09-04,21,4
+2017-09-05,22,4
+2017-09-06,19,4
+2017-09-07,20,4
+2017-09-08,22,4
+2017-09-09,16,4
+2017-09-10,23,4
+2017-09-11,21,4
+2017-09-12,10,4
+2017-09-13,16,4
+2017-09-14,20,4
+2017-09-15,23,4
+2017-09-16,20,4
+2017-09-17,26,4
+2017-09-18,12,4
+2017-09-19,15,4
+2017-09-20,20,4
+2017-09-21,21,4
+2017-09-22,17,4
+2017-09-23,28,4
+2017-09-24,27,4
+2017-09-25,22,4
+2017-09-26,15,4
+2017-09-27,22,4
+2017-09-28,19,4
+2017-09-29,19,4
+2017-09-30,28,4
+2017-10-01,21,4
+2017-10-02,14,4
+2017-10-03,18,4
+2017-10-04,18,4
+2017-10-05,20,4
+2017-10-06,15,4
+2017-10-07,23,4
+2017-10-08,23,4
+2017-10-09,12,4
+2017-10-10,17,4
+2017-10-11,15,4
+2017-10-12,18,4
+2017-10-13,26,4
+2017-10-14,20,4
+2017-10-15,19,4
+2017-10-16,16,4
+2017-10-17,13,4
+2017-10-18,19,4
+2017-10-19,18,4
+2017-10-20,13,4
+2017-10-21,23,4
+2017-10-22,24,4
+2017-10-23,14,4
+2017-10-24,13,4
+2017-10-25,19,4
+2017-10-26,22,4
+2017-10-27,15,4
+2017-10-28,21,4
+2017-10-29,19,4
+2017-10-30,16,4
+2017-10-31,21,4
+2017-11-01,12,4
+2017-11-02,32,4
+2017-11-03,18,4
+2017-11-04,26,4
+2017-11-05,19,4
+2017-11-06,12,4
+2017-11-07,20,4
+2017-11-08,22,4
+2017-11-09,18,4
+2017-11-10,18,4
+2017-11-11,29,4
+2017-11-12,20,4
+2017-11-13,17,4
+2017-11-14,18,4
+2017-11-15,17,4
+2017-11-16,22,4
+2017-11-17,20,4
+2017-11-18,22,4
+2017-11-19,21,4
+2017-11-20,19,4
+2017-11-21,21,4
+2017-11-22,20,4
+2017-11-23,17,4
+2017-11-24,18,4
+2017-11-25,26,4
+2017-11-26,18,4
+2017-11-27,18,4
+2017-11-28,23,4
+2017-11-29,19,4
+2017-11-30,22,4
+2017-12-01,11,4
+2017-12-02,19,4
+2017-12-03,14,4
+2017-12-04,7,4
+2017-12-05,17,4
+2017-12-06,9,4
+2017-12-07,13,4
+2017-12-08,21,4
+2017-12-09,13,4
+2017-12-10,13,4
+2017-12-11,19,4
+2017-12-12,11,4
+2017-12-13,16,4
+2017-12-14,19,4
+2017-12-15,19,4
+2017-12-16,14,4
+2017-12-17,19,4
+2017-12-18,10,4
+2017-12-19,8,4
+2017-12-20,20,4
+2017-12-21,19,4
+2017-12-22,19,4
+2017-12-23,26,4
+2017-12-24,12,4
+2017-12-25,9,4
+2017-12-26,7,4
+2017-12-27,12,4
+2017-12-28,15,4
+2017-12-29,12,4
+2017-12-30,14,4
+2017-12-31,15,4
+2013-01-01,17,5
+2013-01-02,18,5
+2013-01-03,21,5
+2013-01-04,24,5
+2013-01-05,17,5
+2013-01-06,20,5
+2013-01-07,8,5
+2013-01-08,14,5
+2013-01-09,10,5
+2013-01-10,17,5
+2013-01-11,15,5
+2013-01-12,15,5
+2013-01-13,30,5
+2013-01-14,14,5
+2013-01-15,20,5
+2013-01-16,14,5
+2013-01-17,25,5
+2013-01-18,17,5
+2013-01-19,15,5
+2013-01-20,19,5
+2013-01-21,9,5
+2013-01-22,15,5
+2013-01-23,19,5
+2013-01-24,16,5
+2013-01-25,13,5
+2013-01-26,11,5
+2013-01-27,15,5
+2013-01-28,11,5
+2013-01-29,17,5
+2013-01-30,21,5
+2013-01-31,14,5
+2013-02-01,21,5
+2013-02-02,14,5
+2013-02-03,26,5
+2013-02-04,10,5
+2013-02-05,18,5
+2013-02-06,15,5
+2013-02-07,20,5
+2013-02-08,15,5
+2013-02-09,11,5
+2013-02-10,20,5
+2013-02-11,15,5
+2013-02-12,16,5
+2013-02-13,16,5
+2013-02-14,13,5
+2013-02-15,17,5
+2013-02-16,22,5
+2013-02-17,22,5
+2013-02-18,14,5
+2013-02-19,12,5
+2013-02-20,20,5
+2013-02-21,15,5
+2013-02-22,18,5
+2013-02-23,25,5
+2013-02-24,23,5
+2013-02-25,11,5
+2013-02-26,15,5
+2013-02-27,18,5
+2013-02-28,14,5
+2013-03-01,25,5
+2013-03-02,27,5
+2013-03-03,27,5
+2013-03-04,18,5
+2013-03-05,20,5
+2013-03-06,21,5
+2013-03-07,19,5
+2013-03-08,24,5
+2013-03-09,23,5
+2013-03-10,21,5
+2013-03-11,11,5
+2013-03-12,19,5
+2013-03-13,18,5
+2013-03-14,23,5
+2013-03-15,25,5
+2013-03-16,23,5
+2013-03-17,16,5
+2013-03-18,22,5
+2013-03-19,26,5
+2013-03-20,27,5
+2013-03-21,16,5
+2013-03-22,12,5
+2013-03-23,20,5
+2013-03-24,21,5
+2013-03-25,15,5
+2013-03-26,19,5
+2013-03-27,23,5
+2013-03-28,29,5
+2013-03-29,16,5
+2013-03-30,26,5
+2013-03-31,23,5
+2013-04-01,16,5
+2013-04-02,34,5
+2013-04-03,27,5
+2013-04-04,25,5
+2013-04-05,33,5
+2013-04-06,31,5
+2013-04-07,31,5
+2013-04-08,21,5
+2013-04-09,25,5
+2013-04-10,17,5
+2013-04-11,19,5
+2013-04-12,22,5
+2013-04-13,36,5
+2013-04-14,19,5
+2013-04-15,16,5
+2013-04-16,20,5
+2013-04-17,16,5
+2013-04-18,24,5
+2013-04-19,18,5
+2013-04-20,28,5
+2013-04-21,29,5
+2013-04-22,21,5
+2013-04-23,26,5
+2013-04-24,27,5
+2013-04-25,28,5
+2013-04-26,29,5
+2013-04-27,25,5
+2013-04-28,31,5
+2013-04-29,15,5
+2013-04-30,33,5
+2013-05-01,31,5
+2013-05-02,23,5
+2013-05-03,32,5
+2013-05-04,33,5
+2013-05-05,32,5
+2013-05-06,25,5
+2013-05-07,22,5
+2013-05-08,26,5
+2013-05-09,27,5
+2013-05-10,34,5
+2013-05-11,29,5
+2013-05-12,26,5
+2013-05-13,11,5
+2013-05-14,32,5
+2013-05-15,19,5
+2013-05-16,30,5
+2013-05-17,25,5
+2013-05-18,29,5
+2013-05-19,33,5
+2013-05-20,28,5
+2013-05-21,14,5
+2013-05-22,27,5
+2013-05-23,24,5
+2013-05-24,22,5
+2013-05-25,31,5
+2013-05-26,40,5
+2013-05-27,20,5
+2013-05-28,21,5
+2013-05-29,25,5
+2013-05-30,27,5
+2013-05-31,23,5
+2013-06-01,35,5
+2013-06-02,44,5
+2013-06-03,24,5
+2013-06-04,29,5
+2013-06-05,27,5
+2013-06-06,34,5
+2013-06-07,24,5
+2013-06-08,28,5
+2013-06-09,26,5
+2013-06-10,7,5
+2013-06-11,25,5
+2013-06-12,24,5
+2013-06-13,24,5
+2013-06-14,24,5
+2013-06-15,34,5
+2013-06-16,42,5
+2013-06-17,25,5
+2013-06-18,30,5
+2013-06-19,29,5
+2013-06-20,30,5
+2013-06-21,28,5
+2013-06-22,23,5
+2013-06-23,29,5
+2013-06-24,27,5
+2013-06-25,18,5
+2013-06-26,30,5
+2013-06-27,38,5
+2013-06-28,23,5
+2013-06-29,23,5
+2013-06-30,37,5
+2013-07-01,21,5
+2013-07-02,21,5
+2013-07-03,23,5
+2013-07-04,34,5
+2013-07-05,43,5
+2013-07-06,32,5
+2013-07-07,26,5
+2013-07-08,24,5
+2013-07-09,36,5
+2013-07-10,25,5
+2013-07-11,25,5
+2013-07-12,35,5
+2013-07-13,27,5
+2013-07-14,39,5
+2013-07-15,19,5
+2013-07-16,35,5
+2013-07-17,22,5
+2013-07-18,33,5
+2013-07-19,29,5
+2013-07-20,34,5
+2013-07-21,41,5
+2013-07-22,18,5
+2013-07-23,35,5
+2013-07-24,25,5
+2013-07-25,29,5
+2013-07-26,25,5
+2013-07-27,35,5
+2013-07-28,40,5
+2013-07-29,25,5
+2013-07-30,27,5
+2013-07-31,33,5
+2013-08-01,19,5
+2013-08-02,30,5
+2013-08-03,35,5
+2013-08-04,32,5
+2013-08-05,19,5
+2013-08-06,21,5
+2013-08-07,24,5
+2013-08-08,25,5
+2013-08-09,38,5
+2013-08-10,30,5
+2013-08-11,38,5
+2013-08-12,18,5
+2013-08-13,30,5
+2013-08-14,28,5
+2013-08-15,25,5
+2013-08-16,26,5
+2013-08-17,26,5
+2013-08-18,23,5
+2013-08-19,25,5
+2013-08-20,22,5
+2013-08-21,25,5
+2013-08-22,18,5
+2013-08-23,28,5
+2013-08-24,33,5
+2013-08-25,36,5
+2013-08-26,20,5
+2013-08-27,28,5
+2013-08-28,34,5
+2013-08-29,28,5
+2013-08-30,28,5
+2013-08-31,26,5
+2013-09-01,26,5
+2013-09-02,25,5
+2013-09-03,20,5
+2013-09-04,20,5
+2013-09-05,24,5
+2013-09-06,32,5
+2013-09-07,31,5
+2013-09-08,31,5
+2013-09-09,14,5
+2013-09-10,22,5
+2013-09-11,18,5
+2013-09-12,22,5
+2013-09-13,23,5
+2013-09-14,29,5
+2013-09-15,22,5
+2013-09-16,21,5
+2013-09-17,27,5
+2013-09-18,24,5
+2013-09-19,21,5
+2013-09-20,35,5
+2013-09-21,22,5
+2013-09-22,37,5
+2013-09-23,27,5
+2013-09-24,20,5
+2013-09-25,25,5
+2013-09-26,24,5
+2013-09-27,26,5
+2013-09-28,27,5
+2013-09-29,34,5
+2013-09-30,14,5
+2013-10-01,19,5
+2013-10-02,24,5
+2013-10-03,22,5
+2013-10-04,13,5
+2013-10-05,31,5
+2013-10-06,31,5
+2013-10-07,12,5
+2013-10-08,15,5
+2013-10-09,22,5
+2013-10-10,19,5
+2013-10-11,19,5
+2013-10-12,26,5
+2013-10-13,38,5
+2013-10-14,24,5
+2013-10-15,21,5
+2013-10-16,19,5
+2013-10-17,24,5
+2013-10-18,29,5
+2013-10-19,26,5
+2013-10-20,24,5
+2013-10-21,18,5
+2013-10-22,19,5
+2013-10-23,21,5
+2013-10-24,20,5
+2013-10-25,22,5
+2013-10-26,23,5
+2013-10-27,29,5
+2013-10-28,17,5
+2013-10-29,22,5
+2013-10-30,11,5
+2013-10-31,15,5
+2013-11-01,32,5
+2013-11-02,12,5
+2013-11-03,28,5
+2013-11-04,19,5
+2013-11-05,23,5
+2013-11-06,21,5
+2013-11-07,17,5
+2013-11-08,28,5
+2013-11-09,24,5
+2013-11-10,24,5
+2013-11-11,19,5
+2013-11-12,11,5
+2013-11-13,29,5
+2013-11-14,25,5
+2013-11-15,26,5
+2013-11-16,27,5
+2013-11-17,36,5
+2013-11-18,19,5
+2013-11-19,22,5
+2013-11-20,26,5
+2013-11-21,25,5
+2013-11-22,21,5
+2013-11-23,27,5
+2013-11-24,26,5
+2013-11-25,19,5
+2013-11-26,25,5
+2013-11-27,19,5
+2013-11-28,19,5
+2013-11-29,16,5
+2013-11-30,22,5
+2013-12-01,22,5
+2013-12-02,11,5
+2013-12-03,19,5
+2013-12-04,13,5
+2013-12-05,11,5
+2013-12-06,17,5
+2013-12-07,19,5
+2013-12-08,21,5
+2013-12-09,13,5
+2013-12-10,17,5
+2013-12-11,21,5
+2013-12-12,17,5
+2013-12-13,13,5
+2013-12-14,17,5
+2013-12-15,24,5
+2013-12-16,12,5
+2013-12-17,14,5
+2013-12-18,21,5
+2013-12-19,20,5
+2013-12-20,24,5
+2013-12-21,22,5
+2013-12-22,34,5
+2013-12-23,14,5
+2013-12-24,21,5
+2013-12-25,13,5
+2013-12-26,16,5
+2013-12-27,18,5
+2013-12-28,18,5
+2013-12-29,17,5
+2013-12-30,17,5
+2013-12-31,15,5
+2014-01-01,19,5
+2014-01-02,17,5
+2014-01-03,19,5
+2014-01-04,20,5
+2014-01-05,24,5
+2014-01-06,14,5
+2014-01-07,18,5
+2014-01-08,19,5
+2014-01-09,11,5
+2014-01-10,19,5
+2014-01-11,19,5
+2014-01-12,21,5
+2014-01-13,12,5
+2014-01-14,14,5
+2014-01-15,21,5
+2014-01-16,14,5
+2014-01-17,22,5
+2014-01-18,22,5
+2014-01-19,28,5
+2014-01-20,16,5
+2014-01-21,17,5
+2014-01-22,15,5
+2014-01-23,17,5
+2014-01-24,21,5
+2014-01-25,23,5
+2014-01-26,21,5
+2014-01-27,5,5
+2014-01-28,18,5
+2014-01-29,24,5
+2014-01-30,20,5
+2014-01-31,18,5
+2014-02-01,28,5
+2014-02-02,18,5
+2014-02-03,15,5
+2014-02-04,19,5
+2014-02-05,15,5
+2014-02-06,15,5
+2014-02-07,23,5
+2014-02-08,24,5
+2014-02-09,23,5
+2014-02-10,12,5
+2014-02-11,20,5
+2014-02-12,20,5
+2014-02-13,13,5
+2014-02-14,17,5
+2014-02-15,26,5
+2014-02-16,21,5
+2014-02-17,15,5
+2014-02-18,18,5
+2014-02-19,20,5
+2014-02-20,18,5
+2014-02-21,23,5
+2014-02-22,16,5
+2014-02-23,17,5
+2014-02-24,17,5
+2014-02-25,14,5
+2014-02-26,16,5
+2014-02-27,24,5
+2014-02-28,20,5
+2014-03-01,32,5
+2014-03-02,28,5
+2014-03-03,22,5
+2014-03-04,31,5
+2014-03-05,27,5
+2014-03-06,22,5
+2014-03-07,23,5
+2014-03-08,19,5
+2014-03-09,26,5
+2014-03-10,16,5
+2014-03-11,21,5
+2014-03-12,21,5
+2014-03-13,29,5
+2014-03-14,27,5
+2014-03-15,23,5
+2014-03-16,44,5
+2014-03-17,21,5
+2014-03-18,21,5
+2014-03-19,14,5
+2014-03-20,25,5
+2014-03-21,27,5
+2014-03-22,24,5
+2014-03-23,26,5
+2014-03-24,21,5
+2014-03-25,26,5
+2014-03-26,15,5
+2014-03-27,23,5
+2014-03-28,23,5
+2014-03-29,22,5
+2014-03-30,16,5
+2014-03-31,18,5
+2014-04-01,29,5
+2014-04-02,28,5
+2014-04-03,26,5
+2014-04-04,27,5
+2014-04-05,33,5
+2014-04-06,36,5
+2014-04-07,21,5
+2014-04-08,34,5
+2014-04-09,25,5
+2014-04-10,18,5
+2014-04-11,45,5
+2014-04-12,31,5
+2014-04-13,28,5
+2014-04-14,30,5
+2014-04-15,38,5
+2014-04-16,41,5
+2014-04-17,18,5
+2014-04-18,31,5
+2014-04-19,20,5
+2014-04-20,35,5
+2014-04-21,17,5
+2014-04-22,26,5
+2014-04-23,43,5
+2014-04-24,27,5
+2014-04-25,26,5
+2014-04-26,28,5
+2014-04-27,33,5
+2014-04-28,20,5
+2014-04-29,39,5
+2014-04-30,21,5
+2014-05-01,38,5
+2014-05-02,28,5
+2014-05-03,34,5
+2014-05-04,37,5
+2014-05-05,27,5
+2014-05-06,34,5
+2014-05-07,28,5
+2014-05-08,30,5
+2014-05-09,36,5
+2014-05-10,47,5
+2014-05-11,37,5
+2014-05-12,23,5
+2014-05-13,19,5
+2014-05-14,34,5
+2014-05-15,28,5
+2014-05-16,35,5
+2014-05-17,39,5
+2014-05-18,43,5
+2014-05-19,20,5
+2014-05-20,35,5
+2014-05-21,26,5
+2014-05-22,21,5
+2014-05-23,32,5
+2014-05-24,30,5
+2014-05-25,36,5
+2014-05-26,23,5
+2014-05-27,28,5
+2014-05-28,18,5
+2014-05-29,34,5
+2014-05-30,28,5
+2014-05-31,34,5
+2014-06-01,33,5
+2014-06-02,21,5
+2014-06-03,31,5
+2014-06-04,30,5
+2014-06-05,35,5
+2014-06-06,29,5
+2014-06-07,49,5
+2014-06-08,55,5
+2014-06-09,31,5
+2014-06-10,28,5
+2014-06-11,22,5
+2014-06-12,39,5
+2014-06-13,27,5
+2014-06-14,38,5
+2014-06-15,50,5
+2014-06-16,23,5
+2014-06-17,33,5
+2014-06-18,29,5
+2014-06-19,26,5
+2014-06-20,34,5
+2014-06-21,36,5
+2014-06-22,40,5
+2014-06-23,26,5
+2014-06-24,29,5
+2014-06-25,27,5
+2014-06-26,32,5
+2014-06-27,29,5
+2014-06-28,34,5
+2014-06-29,37,5
+2014-06-30,21,5
+2014-07-01,30,5
+2014-07-02,31,5
+2014-07-03,24,5
+2014-07-04,36,5
+2014-07-05,24,5
+2014-07-06,43,5
+2014-07-07,25,5
+2014-07-08,41,5
+2014-07-09,29,5
+2014-07-10,33,5
+2014-07-11,30,5
+2014-07-12,42,5
+2014-07-13,40,5
+2014-07-14,27,5
+2014-07-15,35,5
+2014-07-16,37,5
+2014-07-17,28,5
+2014-07-18,29,5
+2014-07-19,37,5
+2014-07-20,43,5
+2014-07-21,18,5
+2014-07-22,30,5
+2014-07-23,38,5
+2014-07-24,31,5
+2014-07-25,36,5
+2014-07-26,42,5
+2014-07-27,44,5
+2014-07-28,23,5
+2014-07-29,33,5
+2014-07-30,30,5
+2014-07-31,35,5
+2014-08-01,28,5
+2014-08-02,24,5
+2014-08-03,31,5
+2014-08-04,30,5
+2014-08-05,26,5
+2014-08-06,21,5
+2014-08-07,29,5
+2014-08-08,42,5
+2014-08-09,28,5
+2014-08-10,32,5
+2014-08-11,24,5
+2014-08-12,26,5
+2014-08-13,21,5
+2014-08-14,36,5
+2014-08-15,28,5
+2014-08-16,34,5
+2014-08-17,29,5
+2014-08-18,17,5
+2014-08-19,43,5
+2014-08-20,32,5
+2014-08-21,31,5
+2014-08-22,35,5
+2014-08-23,36,5
+2014-08-24,35,5
+2014-08-25,25,5
+2014-08-26,22,5
+2014-08-27,38,5
+2014-08-28,33,5
+2014-08-29,42,5
+2014-08-30,29,5
+2014-08-31,26,5
+2014-09-01,30,5
+2014-09-02,24,5
+2014-09-03,25,5
+2014-09-04,28,5
+2014-09-05,27,5
+2014-09-06,32,5
+2014-09-07,32,5
+2014-09-08,19,5
+2014-09-09,27,5
+2014-09-10,22,5
+2014-09-11,28,5
+2014-09-12,35,5
+2014-09-13,28,5
+2014-09-14,25,5
+2014-09-15,15,5
+2014-09-16,24,5
+2014-09-17,31,5
+2014-09-18,30,5
+2014-09-19,30,5
+2014-09-20,26,5
+2014-09-21,29,5
+2014-09-22,20,5
+2014-09-23,25,5
+2014-09-24,32,5
+2014-09-25,34,5
+2014-09-26,39,5
+2014-09-27,29,5
+2014-09-28,31,5
+2014-09-29,19,5
+2014-09-30,28,5
+2014-10-01,19,5
+2014-10-02,29,5
+2014-10-03,27,5
+2014-10-04,39,5
+2014-10-05,24,5
+2014-10-06,22,5
+2014-10-07,32,5
+2014-10-08,21,5
+2014-10-09,29,5
+2014-10-10,20,5
+2014-10-11,20,5
+2014-10-12,25,5
+2014-10-13,23,5
+2014-10-14,21,5
+2014-10-15,18,5
+2014-10-16,25,5
+2014-10-17,27,5
+2014-10-18,26,5
+2014-10-19,25,5
+2014-10-20,15,5
+2014-10-21,20,5
+2014-10-22,27,5
+2014-10-23,29,5
+2014-10-24,22,5
+2014-10-25,31,5
+2014-10-26,30,5
+2014-10-27,21,5
+2014-10-28,27,5
+2014-10-29,21,5
+2014-10-30,24,5
+2014-10-31,26,5
+2014-11-01,27,5
+2014-11-02,40,5
+2014-11-03,18,5
+2014-11-04,28,5
+2014-11-05,25,5
+2014-11-06,26,5
+2014-11-07,26,5
+2014-11-08,30,5
+2014-11-09,35,5
+2014-11-10,25,5
+2014-11-11,14,5
+2014-11-12,29,5
+2014-11-13,25,5
+2014-11-14,36,5
+2014-11-15,31,5
+2014-11-16,33,5
+2014-11-17,27,5
+2014-11-18,27,5
+2014-11-19,23,5
+2014-11-20,26,5
+2014-11-21,33,5
+2014-11-22,37,5
+2014-11-23,29,5
+2014-11-24,27,5
+2014-11-25,28,5
+2014-11-26,23,5
+2014-11-27,29,5
+2014-11-28,25,5
+2014-11-29,33,5
+2014-11-30,23,5
+2014-12-01,12,5
+2014-12-02,24,5
+2014-12-03,17,5
+2014-12-04,21,5
+2014-12-05,11,5
+2014-12-06,14,5
+2014-12-07,15,5
+2014-12-08,17,5
+2014-12-09,23,5
+2014-12-10,15,5
+2014-12-11,19,5
+2014-12-12,22,5
+2014-12-13,32,5
+2014-12-14,21,5
+2014-12-15,15,5
+2014-12-16,19,5
+2014-12-17,18,5
+2014-12-18,20,5
+2014-12-19,21,5
+2014-12-20,17,5
+2014-12-21,17,5
+2014-12-22,21,5
+2014-12-23,19,5
+2014-12-24,18,5
+2014-12-25,22,5
+2014-12-26,22,5
+2014-12-27,17,5
+2014-12-28,30,5
+2014-12-29,14,5
+2014-12-30,13,5
+2014-12-31,20,5
+2015-01-01,17,5
+2015-01-02,22,5
+2015-01-03,25,5
+2015-01-04,26,5
+2015-01-05,13,5
+2015-01-06,22,5
+2015-01-07,18,5
+2015-01-08,14,5
+2015-01-09,22,5
+2015-01-10,18,5
+2015-01-11,23,5
+2015-01-12,19,5
+2015-01-13,15,5
+2015-01-14,18,5
+2015-01-15,15,5
+2015-01-16,26,5
+2015-01-17,16,5
+2015-01-18,23,5
+2015-01-19,11,5
+2015-01-20,17,5
+2015-01-21,20,5
+2015-01-22,19,5
+2015-01-23,19,5
+2015-01-24,25,5
+2015-01-25,27,5
+2015-01-26,22,5
+2015-01-27,14,5
+2015-01-28,19,5
+2015-01-29,14,5
+2015-01-30,21,5
+2015-01-31,20,5
+2015-02-01,14,5
+2015-02-02,12,5
+2015-02-03,17,5
+2015-02-04,14,5
+2015-02-05,18,5
+2015-02-06,20,5
+2015-02-07,28,5
+2015-02-08,25,5
+2015-02-09,19,5
+2015-02-10,20,5
+2015-02-11,21,5
+2015-02-12,20,5
+2015-02-13,26,5
+2015-02-14,21,5
+2015-02-15,20,5
+2015-02-16,17,5
+2015-02-17,13,5
+2015-02-18,16,5
+2015-02-19,25,5
+2015-02-20,15,5
+2015-02-21,25,5
+2015-02-22,26,5
+2015-02-23,20,5
+2015-02-24,17,5
+2015-02-25,20,5
+2015-02-26,20,5
+2015-02-27,19,5
+2015-02-28,21,5
+2015-03-01,31,5
+2015-03-02,18,5
+2015-03-03,20,5
+2015-03-04,26,5
+2015-03-05,22,5
+2015-03-06,26,5
+2015-03-07,33,5
+2015-03-08,27,5
+2015-03-09,23,5
+2015-03-10,19,5
+2015-03-11,18,5
+2015-03-12,19,5
+2015-03-13,20,5
+2015-03-14,28,5
+2015-03-15,38,5
+2015-03-16,29,5
+2015-03-17,17,5
+2015-03-18,27,5
+2015-03-19,22,5
+2015-03-20,28,5
+2015-03-21,24,5
+2015-03-22,38,5
+2015-03-23,11,5
+2015-03-24,21,5
+2015-03-25,21,5
+2015-03-26,27,5
+2015-03-27,23,5
+2015-03-28,27,5
+2015-03-29,27,5
+2015-03-30,16,5
+2015-03-31,30,5
+2015-04-01,20,5
+2015-04-02,23,5
+2015-04-03,40,5
+2015-04-04,30,5
+2015-04-05,40,5
+2015-04-06,18,5
+2015-04-07,27,5
+2015-04-08,34,5
+2015-04-09,36,5
+2015-04-10,31,5
+2015-04-11,32,5
+2015-04-12,39,5
+2015-04-13,20,5
+2015-04-14,35,5
+2015-04-15,22,5
+2015-04-16,32,5
+2015-04-17,30,5
+2015-04-18,29,5
+2015-04-19,43,5
+2015-04-20,21,5
+2015-04-21,24,5
+2015-04-22,24,5
+2015-04-23,30,5
+2015-04-24,33,5
+2015-04-25,26,5
+2015-04-26,45,5
+2015-04-27,38,5
+2015-04-28,30,5
+2015-04-29,25,5
+2015-04-30,29,5
+2015-05-01,36,5
+2015-05-02,42,5
+2015-05-03,40,5
+2015-05-04,19,5
+2015-05-05,34,5
+2015-05-06,39,5
+2015-05-07,33,5
+2015-05-08,37,5
+2015-05-09,34,5
+2015-05-10,29,5
+2015-05-11,26,5
+2015-05-12,23,5
+2015-05-13,36,5
+2015-05-14,21,5
+2015-05-15,30,5
+2015-05-16,28,5
+2015-05-17,34,5
+2015-05-18,17,5
+2015-05-19,35,5
+2015-05-20,29,5
+2015-05-21,33,5
+2015-05-22,27,5
+2015-05-23,25,5
+2015-05-24,42,5
+2015-05-25,18,5
+2015-05-26,27,5
+2015-05-27,30,5
+2015-05-28,37,5
+2015-05-29,38,5
+2015-05-30,30,5
+2015-05-31,50,5
+2015-06-01,36,5
+2015-06-02,28,5
+2015-06-03,24,5
+2015-06-04,33,5
+2015-06-05,36,5
+2015-06-06,33,5
+2015-06-07,42,5
+2015-06-08,26,5
+2015-06-09,31,5
+2015-06-10,31,5
+2015-06-11,29,5
+2015-06-12,29,5
+2015-06-13,47,5
+2015-06-14,40,5
+2015-06-15,29,5
+2015-06-16,32,5
+2015-06-17,27,5
+2015-06-18,36,5
+2015-06-19,28,5
+2015-06-20,40,5
+2015-06-21,44,5
+2015-06-22,12,5
+2015-06-23,41,5
+2015-06-24,28,5
+2015-06-25,37,5
+2015-06-26,33,5
+2015-06-27,43,5
+2015-06-28,40,5
+2015-06-29,26,5
+2015-06-30,31,5
+2015-07-01,52,5
+2015-07-02,34,5
+2015-07-03,35,5
+2015-07-04,46,5
+2015-07-05,42,5
+2015-07-06,25,5
+2015-07-07,19,5
+2015-07-08,50,5
+2015-07-09,27,5
+2015-07-10,41,5
+2015-07-11,44,5
+2015-07-12,44,5
+2015-07-13,38,5
+2015-07-14,38,5
+2015-07-15,26,5
+2015-07-16,34,5
+2015-07-17,40,5
+2015-07-18,38,5
+2015-07-19,46,5
+2015-07-20,30,5
+2015-07-21,30,5
+2015-07-22,42,5
+2015-07-23,46,5
+2015-07-24,24,5
+2015-07-25,36,5
+2015-07-26,43,5
+2015-07-27,42,5
+2015-07-28,24,5
+2015-07-29,25,5
+2015-07-30,34,5
+2015-07-31,35,5
+2015-08-01,45,5
+2015-08-02,41,5
+2015-08-03,16,5
+2015-08-04,29,5
+2015-08-05,22,5
+2015-08-06,28,5
+2015-08-07,35,5
+2015-08-08,35,5
+2015-08-09,35,5
+2015-08-10,33,5
+2015-08-11,29,5
+2015-08-12,33,5
+2015-08-13,35,5
+2015-08-14,38,5
+2015-08-15,42,5
+2015-08-16,38,5
+2015-08-17,24,5
+2015-08-18,29,5
+2015-08-19,38,5
+2015-08-20,26,5
+2015-08-21,30,5
+2015-08-22,33,5
+2015-08-23,31,5
+2015-08-24,24,5
+2015-08-25,26,5
+2015-08-26,32,5
+2015-08-27,31,5
+2015-08-28,23,5
+2015-08-29,40,5
+2015-08-30,34,5
+2015-08-31,27,5
+2015-09-01,30,5
+2015-09-02,25,5
+2015-09-03,38,5
+2015-09-04,22,5
+2015-09-05,27,5
+2015-09-06,30,5
+2015-09-07,23,5
+2015-09-08,26,5
+2015-09-09,30,5
+2015-09-10,33,5
+2015-09-11,32,5
+2015-09-12,48,5
+2015-09-13,31,5
+2015-09-14,30,5
+2015-09-15,24,5
+2015-09-16,36,5
+2015-09-17,23,5
+2015-09-18,38,5
+2015-09-19,24,5
+2015-09-20,33,5
+2015-09-21,22,5
+2015-09-22,29,5
+2015-09-23,31,5
+2015-09-24,28,5
+2015-09-25,28,5
+2015-09-26,32,5
+2015-09-27,41,5
+2015-09-28,26,5
+2015-09-29,25,5
+2015-09-30,37,5
+2015-10-01,33,5
+2015-10-02,33,5
+2015-10-03,41,5
+2015-10-04,42,5
+2015-10-05,18,5
+2015-10-06,29,5
+2015-10-07,30,5
+2015-10-08,37,5
+2015-10-09,36,5
+2015-10-10,38,5
+2015-10-11,35,5
+2015-10-12,14,5
+2015-10-13,21,5
+2015-10-14,36,5
+2015-10-15,22,5
+2015-10-16,31,5
+2015-10-17,27,5
+2015-10-18,27,5
+2015-10-19,18,5
+2015-10-20,22,5
+2015-10-21,17,5
+2015-10-22,21,5
+2015-10-23,25,5
+2015-10-24,35,5
+2015-10-25,39,5
+2015-10-26,20,5
+2015-10-27,26,5
+2015-10-28,39,5
+2015-10-29,35,5
+2015-10-30,26,5
+2015-10-31,28,5
+2015-11-01,30,5
+2015-11-02,18,5
+2015-11-03,33,5
+2015-11-04,25,5
+2015-11-05,23,5
+2015-11-06,35,5
+2015-11-07,22,5
+2015-11-08,40,5
+2015-11-09,23,5
+2015-11-10,20,5
+2015-11-11,23,5
+2015-11-12,40,5
+2015-11-13,28,5
+2015-11-14,35,5
+2015-11-15,43,5
+2015-11-16,28,5
+2015-11-17,32,5
+2015-11-18,26,5
+2015-11-19,18,5
+2015-11-20,28,5
+2015-11-21,28,5
+2015-11-22,33,5
+2015-11-23,17,5
+2015-11-24,24,5
+2015-11-25,20,5
+2015-11-26,30,5
+2015-11-27,29,5
+2015-11-28,29,5
+2015-11-29,41,5
+2015-11-30,32,5
+2015-12-01,22,5
+2015-12-02,16,5
+2015-12-03,14,5
+2015-12-04,13,5
+2015-12-05,29,5
+2015-12-06,27,5
+2015-12-07,16,5
+2015-12-08,25,5
+2015-12-09,24,5
+2015-12-10,16,5
+2015-12-11,20,5
+2015-12-12,25,5
+2015-12-13,13,5
+2015-12-14,17,5
+2015-12-15,14,5
+2015-12-16,15,5
+2015-12-17,22,5
+2015-12-18,23,5
+2015-12-19,24,5
+2015-12-20,29,5
+2015-12-21,20,5
+2015-12-22,22,5
+2015-12-23,25,5
+2015-12-24,19,5
+2015-12-25,21,5
+2015-12-26,26,5
+2015-12-27,27,5
+2015-12-28,12,5
+2015-12-29,21,5
+2015-12-30,23,5
+2015-12-31,27,5
+2016-01-01,26,5
+2016-01-02,23,5
+2016-01-03,18,5
+2016-01-04,20,5
+2016-01-05,20,5
+2016-01-06,23,5
+2016-01-07,21,5
+2016-01-08,22,5
+2016-01-09,24,5
+2016-01-10,16,5
+2016-01-11,12,5
+2016-01-12,18,5
+2016-01-13,16,5
+2016-01-14,19,5
+2016-01-15,20,5
+2016-01-16,22,5
+2016-01-17,39,5
+2016-01-18,17,5
+2016-01-19,25,5
+2016-01-20,25,5
+2016-01-21,26,5
+2016-01-22,23,5
+2016-01-23,14,5
+2016-01-24,20,5
+2016-01-25,18,5
+2016-01-26,23,5
+2016-01-27,23,5
+2016-01-28,17,5
+2016-01-29,20,5
+2016-01-30,26,5
+2016-01-31,25,5
+2016-02-01,22,5
+2016-02-02,22,5
+2016-02-03,25,5
+2016-02-04,19,5
+2016-02-05,29,5
+2016-02-06,26,5
+2016-02-07,36,5
+2016-02-08,17,5
+2016-02-09,25,5
+2016-02-10,15,5
+2016-02-11,15,5
+2016-02-12,20,5
+2016-02-13,27,5
+2016-02-14,21,5
+2016-02-15,23,5
+2016-02-16,26,5
+2016-02-17,26,5
+2016-02-18,25,5
+2016-02-19,24,5
+2016-02-20,25,5
+2016-02-21,32,5
+2016-02-22,15,5
+2016-02-23,20,5
+2016-02-24,22,5
+2016-02-25,28,5
+2016-02-26,32,5
+2016-02-27,23,5
+2016-02-28,26,5
+2016-02-29,20,5
+2016-03-01,24,5
+2016-03-02,23,5
+2016-03-03,33,5
+2016-03-04,35,5
+2016-03-05,29,5
+2016-03-06,35,5
+2016-03-07,29,5
+2016-03-08,33,5
+2016-03-09,31,5
+2016-03-10,32,5
+2016-03-11,32,5
+2016-03-12,22,5
+2016-03-13,33,5
+2016-03-14,25,5
+2016-03-15,24,5
+2016-03-16,17,5
+2016-03-17,29,5
+2016-03-18,27,5
+2016-03-19,34,5
+2016-03-20,33,5
+2016-03-21,31,5
+2016-03-22,30,5
+2016-03-23,26,5
+2016-03-24,28,5
+2016-03-25,36,5
+2016-03-26,30,5
+2016-03-27,34,5
+2016-03-28,16,5
+2016-03-29,16,5
+2016-03-30,22,5
+2016-03-31,33,5
+2016-04-01,40,5
+2016-04-02,29,5
+2016-04-03,34,5
+2016-04-04,18,5
+2016-04-05,36,5
+2016-04-06,32,5
+2016-04-07,27,5
+2016-04-08,34,5
+2016-04-09,37,5
+2016-04-10,28,5
+2016-04-11,24,5
+2016-04-12,33,5
+2016-04-13,27,5
+2016-04-14,25,5
+2016-04-15,29,5
+2016-04-16,31,5
+2016-04-17,39,5
+2016-04-18,21,5
+2016-04-19,34,5
+2016-04-20,22,5
+2016-04-21,30,5
+2016-04-22,29,5
+2016-04-23,47,5
+2016-04-24,32,5
+2016-04-25,23,5
+2016-04-26,35,5
+2016-04-27,27,5
+2016-04-28,25,5
+2016-04-29,37,5
+2016-04-30,39,5
+2016-05-01,37,5
+2016-05-02,24,5
+2016-05-03,25,5
+2016-05-04,29,5
+2016-05-05,26,5
+2016-05-06,35,5
+2016-05-07,34,5
+2016-05-08,46,5
+2016-05-09,20,5
+2016-05-10,34,5
+2016-05-11,23,5
+2016-05-12,33,5
+2016-05-13,29,5
+2016-05-14,35,5
+2016-05-15,34,5
+2016-05-16,28,5
+2016-05-17,28,5
+2016-05-18,27,5
+2016-05-19,35,5
+2016-05-20,36,5
+2016-05-21,42,5
+2016-05-22,35,5
+2016-05-23,29,5
+2016-05-24,35,5
+2016-05-25,33,5
+2016-05-26,31,5
+2016-05-27,49,5
+2016-05-28,41,5
+2016-05-29,45,5
+2016-05-30,20,5
+2016-05-31,40,5
+2016-06-01,50,5
+2016-06-02,44,5
+2016-06-03,31,5
+2016-06-04,51,5
+2016-06-05,46,5
+2016-06-06,26,5
+2016-06-07,34,5
+2016-06-08,36,5
+2016-06-09,47,5
+2016-06-10,41,5
+2016-06-11,38,5
+2016-06-12,49,5
+2016-06-13,28,5
+2016-06-14,35,5
+2016-06-15,35,5
+2016-06-16,45,5
+2016-06-17,39,5
+2016-06-18,51,5
+2016-06-19,44,5
+2016-06-20,31,5
+2016-06-21,27,5
+2016-06-22,40,5
+2016-06-23,35,5
+2016-06-24,41,5
+2016-06-25,41,5
+2016-06-26,35,5
+2016-06-27,32,5
+2016-06-28,40,5
+2016-06-29,20,5
+2016-06-30,33,5
+2016-07-01,36,5
+2016-07-02,43,5
+2016-07-03,49,5
+2016-07-04,29,5
+2016-07-05,33,5
+2016-07-06,40,5
+2016-07-07,34,5
+2016-07-08,39,5
+2016-07-09,41,5
+2016-07-10,42,5
+2016-07-11,33,5
+2016-07-12,41,5
+2016-07-13,24,5
+2016-07-14,33,5
+2016-07-15,44,5
+2016-07-16,44,5
+2016-07-17,45,5
+2016-07-18,34,5
+2016-07-19,34,5
+2016-07-20,40,5
+2016-07-21,30,5
+2016-07-22,37,5
+2016-07-23,45,5
+2016-07-24,45,5
+2016-07-25,30,5
+2016-07-26,35,5
+2016-07-27,24,5
+2016-07-28,32,5
+2016-07-29,26,5
+2016-07-30,34,5
+2016-07-31,45,5
+2016-08-01,33,5
+2016-08-02,33,5
+2016-08-03,33,5
+2016-08-04,27,5
+2016-08-05,40,5
+2016-08-06,54,5
+2016-08-07,40,5
+2016-08-08,26,5
+2016-08-09,32,5
+2016-08-10,24,5
+2016-08-11,44,5
+2016-08-12,38,5
+2016-08-13,34,5
+2016-08-14,50,5
+2016-08-15,19,5
+2016-08-16,30,5
+2016-08-17,38,5
+2016-08-18,28,5
+2016-08-19,40,5
+2016-08-20,30,5
+2016-08-21,46,5
+2016-08-22,35,5
+2016-08-23,29,5
+2016-08-24,33,5
+2016-08-25,34,5
+2016-08-26,37,5
+2016-08-27,31,5
+2016-08-28,34,5
+2016-08-29,28,5
+2016-08-30,30,5
+2016-08-31,29,5
+2016-09-01,30,5
+2016-09-02,30,5
+2016-09-03,35,5
+2016-09-04,32,5
+2016-09-05,35,5
+2016-09-06,32,5
+2016-09-07,29,5
+2016-09-08,38,5
+2016-09-09,31,5
+2016-09-10,27,5
+2016-09-11,30,5
+2016-09-12,32,5
+2016-09-13,34,5
+2016-09-14,21,5
+2016-09-15,31,5
+2016-09-16,29,5
+2016-09-17,37,5
+2016-09-18,53,5
+2016-09-19,33,5
+2016-09-20,32,5
+2016-09-21,27,5
+2016-09-22,37,5
+2016-09-23,33,5
+2016-09-24,32,5
+2016-09-25,39,5
+2016-09-26,15,5
+2016-09-27,24,5
+2016-09-28,25,5
+2016-09-29,36,5
+2016-09-30,36,5
+2016-10-01,36,5
+2016-10-02,31,5
+2016-10-03,19,5
+2016-10-04,24,5
+2016-10-05,25,5
+2016-10-06,37,5
+2016-10-07,31,5
+2016-10-08,39,5
+2016-10-09,31,5
+2016-10-10,26,5
+2016-10-11,28,5
+2016-10-12,19,5
+2016-10-13,29,5
+2016-10-14,29,5
+2016-10-15,46,5
+2016-10-16,46,5
+2016-10-17,20,5
+2016-10-18,24,5
+2016-10-19,31,5
+2016-10-20,27,5
+2016-10-21,25,5
+2016-10-22,45,5
+2016-10-23,34,5
+2016-10-24,21,5
+2016-10-25,24,5
+2016-10-26,29,5
+2016-10-27,29,5
+2016-10-28,33,5
+2016-10-29,33,5
+2016-10-30,34,5
+2016-10-31,29,5
+2016-11-01,36,5
+2016-11-02,25,5
+2016-11-03,30,5
+2016-11-04,42,5
+2016-11-05,27,5
+2016-11-06,33,5
+2016-11-07,35,5
+2016-11-08,20,5
+2016-11-09,28,5
+2016-11-10,38,5
+2016-11-11,27,5
+2016-11-12,37,5
+2016-11-13,37,5
+2016-11-14,23,5
+2016-11-15,26,5
+2016-11-16,36,5
+2016-11-17,36,5
+2016-11-18,39,5
+2016-11-19,36,5
+2016-11-20,38,5
+2016-11-21,25,5
+2016-11-22,28,5
+2016-11-23,33,5
+2016-11-24,26,5
+2016-11-25,35,5
+2016-11-26,38,5
+2016-11-27,46,5
+2016-11-28,22,5
+2016-11-29,28,5
+2016-11-30,30,5
+2016-12-01,17,5
+2016-12-02,22,5
+2016-12-03,20,5
+2016-12-04,16,5
+2016-12-05,14,5
+2016-12-06,18,5
+2016-12-07,21,5
+2016-12-08,18,5
+2016-12-09,23,5
+2016-12-10,26,5
+2016-12-11,27,5
+2016-12-12,18,5
+2016-12-13,19,5
+2016-12-14,25,5
+2016-12-15,21,5
+2016-12-16,15,5
+2016-12-17,20,5
+2016-12-18,22,5
+2016-12-19,16,5
+2016-12-20,21,5
+2016-12-21,24,5
+2016-12-22,16,5
+2016-12-23,36,5
+2016-12-24,17,5
+2016-12-25,22,5
+2016-12-26,16,5
+2016-12-27,13,5
+2016-12-28,15,5
+2016-12-29,35,5
+2016-12-30,22,5
+2016-12-31,33,5
+2017-01-01,18,5
+2017-01-02,23,5
+2017-01-03,20,5
+2017-01-04,19,5
+2017-01-05,24,5
+2017-01-06,24,5
+2017-01-07,23,5
+2017-01-08,26,5
+2017-01-09,23,5
+2017-01-10,20,5
+2017-01-11,9,5
+2017-01-12,18,5
+2017-01-13,21,5
+2017-01-14,24,5
+2017-01-15,22,5
+2017-01-16,21,5
+2017-01-17,16,5
+2017-01-18,23,5
+2017-01-19,27,5
+2017-01-20,22,5
+2017-01-21,21,5
+2017-01-22,32,5
+2017-01-23,12,5
+2017-01-24,23,5
+2017-01-25,31,5
+2017-01-26,20,5
+2017-01-27,12,5
+2017-01-28,20,5
+2017-01-29,24,5
+2017-01-30,20,5
+2017-01-31,21,5
+2017-02-01,23,5
+2017-02-02,23,5
+2017-02-03,24,5
+2017-02-04,32,5
+2017-02-05,23,5
+2017-02-06,23,5
+2017-02-07,13,5
+2017-02-08,25,5
+2017-02-09,27,5
+2017-02-10,30,5
+2017-02-11,31,5
+2017-02-12,24,5
+2017-02-13,8,5
+2017-02-14,19,5
+2017-02-15,23,5
+2017-02-16,30,5
+2017-02-17,23,5
+2017-02-18,25,5
+2017-02-19,28,5
+2017-02-20,25,5
+2017-02-21,15,5
+2017-02-22,24,5
+2017-02-23,28,5
+2017-02-24,28,5
+2017-02-25,27,5
+2017-02-26,19,5
+2017-02-27,19,5
+2017-02-28,20,5
+2017-03-01,22,5
+2017-03-02,30,5
+2017-03-03,28,5
+2017-03-04,36,5
+2017-03-05,38,5
+2017-03-06,25,5
+2017-03-07,21,5
+2017-03-08,23,5
+2017-03-09,25,5
+2017-03-10,18,5
+2017-03-11,25,5
+2017-03-12,47,5
+2017-03-13,27,5
+2017-03-14,21,5
+2017-03-15,19,5
+2017-03-16,33,5
+2017-03-17,22,5
+2017-03-18,19,5
+2017-03-19,27,5
+2017-03-20,22,5
+2017-03-21,16,5
+2017-03-22,24,5
+2017-03-23,28,5
+2017-03-24,30,5
+2017-03-25,44,5
+2017-03-26,34,5
+2017-03-27,25,5
+2017-03-28,28,5
+2017-03-29,28,5
+2017-03-30,22,5
+2017-03-31,36,5
+2017-04-01,35,5
+2017-04-02,37,5
+2017-04-03,37,5
+2017-04-04,25,5
+2017-04-05,33,5
+2017-04-06,41,5
+2017-04-07,37,5
+2017-04-08,37,5
+2017-04-09,37,5
+2017-04-10,31,5
+2017-04-11,34,5
+2017-04-12,34,5
+2017-04-13,35,5
+2017-04-14,34,5
+2017-04-15,40,5
+2017-04-16,39,5
+2017-04-17,20,5
+2017-04-18,26,5
+2017-04-19,32,5
+2017-04-20,35,5
+2017-04-21,28,5
+2017-04-22,37,5
+2017-04-23,43,5
+2017-04-24,24,5
+2017-04-25,30,5
+2017-04-26,33,5
+2017-04-27,36,5
+2017-04-28,38,5
+2017-04-29,47,5
+2017-04-30,37,5
+2017-05-01,36,5
+2017-05-02,44,5
+2017-05-03,30,5
+2017-05-04,35,5
+2017-05-05,32,5
+2017-05-06,45,5
+2017-05-07,41,5
+2017-05-08,26,5
+2017-05-09,33,5
+2017-05-10,26,5
+2017-05-11,37,5
+2017-05-12,32,5
+2017-05-13,46,5
+2017-05-14,30,5
+2017-05-15,21,5
+2017-05-16,39,5
+2017-05-17,32,5
+2017-05-18,31,5
+2017-05-19,40,5
+2017-05-20,43,5
+2017-05-21,41,5
+2017-05-22,24,5
+2017-05-23,39,5
+2017-05-24,18,5
+2017-05-25,31,5
+2017-05-26,29,5
+2017-05-27,39,5
+2017-05-28,36,5
+2017-05-29,25,5
+2017-05-30,30,5
+2017-05-31,38,5
+2017-06-01,50,5
+2017-06-02,42,5
+2017-06-03,35,5
+2017-06-04,49,5
+2017-06-05,34,5
+2017-06-06,33,5
+2017-06-07,31,5
+2017-06-08,35,5
+2017-06-09,48,5
+2017-06-10,36,5
+2017-06-11,41,5
+2017-06-12,34,5
+2017-06-13,38,5
+2017-06-14,42,5
+2017-06-15,42,5
+2017-06-16,28,5
+2017-06-17,40,5
+2017-06-18,31,5
+2017-06-19,29,5
+2017-06-20,32,5
+2017-06-21,28,5
+2017-06-22,37,5
+2017-06-23,43,5
+2017-06-24,33,5
+2017-06-25,34,5
+2017-06-26,32,5
+2017-06-27,26,5
+2017-06-28,36,5
+2017-06-29,34,5
+2017-06-30,37,5
+2017-07-01,54,5
+2017-07-02,38,5
+2017-07-03,26,5
+2017-07-04,41,5
+2017-07-05,24,5
+2017-07-06,31,5
+2017-07-07,28,5
+2017-07-08,31,5
+2017-07-09,41,5
+2017-07-10,40,5
+2017-07-11,35,5
+2017-07-12,35,5
+2017-07-13,41,5
+2017-07-14,46,5
+2017-07-15,54,5
+2017-07-16,41,5
+2017-07-17,33,5
+2017-07-18,26,5
+2017-07-19,41,5
+2017-07-20,43,5
+2017-07-21,35,5
+2017-07-22,47,5
+2017-07-23,55,5
+2017-07-24,31,5
+2017-07-25,47,5
+2017-07-26,41,5
+2017-07-27,39,5
+2017-07-28,44,5
+2017-07-29,40,5
+2017-07-30,48,5
+2017-07-31,32,5
+2017-08-01,40,5
+2017-08-02,27,5
+2017-08-03,34,5
+2017-08-04,26,5
+2017-08-05,40,5
+2017-08-06,46,5
+2017-08-07,29,5
+2017-08-08,36,5
+2017-08-09,35,5
+2017-08-10,36,5
+2017-08-11,37,5
+2017-08-12,40,5
+2017-08-13,46,5
+2017-08-14,38,5
+2017-08-15,35,5
+2017-08-16,35,5
+2017-08-17,33,5
+2017-08-18,26,5
+2017-08-19,46,5
+2017-08-20,49,5
+2017-08-21,32,5
+2017-08-22,25,5
+2017-08-23,30,5
+2017-08-24,42,5
+2017-08-25,39,5
+2017-08-26,41,5
+2017-08-27,39,5
+2017-08-28,28,5
+2017-08-29,32,5
+2017-08-30,26,5
+2017-08-31,31,5
+2017-09-01,43,5
+2017-09-02,33,5
+2017-09-03,38,5
+2017-09-04,25,5
+2017-09-05,32,5
+2017-09-06,26,5
+2017-09-07,29,5
+2017-09-08,40,5
+2017-09-09,39,5
+2017-09-10,36,5
+2017-09-11,27,5
+2017-09-12,34,5
+2017-09-13,29,5
+2017-09-14,41,5
+2017-09-15,38,5
+2017-09-16,33,5
+2017-09-17,45,5
+2017-09-18,27,5
+2017-09-19,21,5
+2017-09-20,30,5
+2017-09-21,24,5
+2017-09-22,35,5
+2017-09-23,47,5
+2017-09-24,39,5
+2017-09-25,39,5
+2017-09-26,33,5
+2017-09-27,41,5
+2017-09-28,37,5
+2017-09-29,40,5
+2017-09-30,39,5
+2017-10-01,36,5
+2017-10-02,31,5
+2017-10-03,29,5
+2017-10-04,27,5
+2017-10-05,25,5
+2017-10-06,34,5
+2017-10-07,37,5
+2017-10-08,42,5
+2017-10-09,26,5
+2017-10-10,29,5
+2017-10-11,32,5
+2017-10-12,23,5
+2017-10-13,34,5
+2017-10-14,27,5
+2017-10-15,33,5
+2017-10-16,16,5
+2017-10-17,29,5
+2017-10-18,18,5
+2017-10-19,32,5
+2017-10-20,38,5
+2017-10-21,34,5
+2017-10-22,34,5
+2017-10-23,25,5
+2017-10-24,27,5
+2017-10-25,21,5
+2017-10-26,40,5
+2017-10-27,36,5
+2017-10-28,39,5
+2017-10-29,34,5
+2017-10-30,28,5
+2017-10-31,22,5
+2017-11-01,36,5
+2017-11-02,46,5
+2017-11-03,38,5
+2017-11-04,37,5
+2017-11-05,26,5
+2017-11-06,30,5
+2017-11-07,34,5
+2017-11-08,25,5
+2017-11-09,34,5
+2017-11-10,40,5
+2017-11-11,37,5
+2017-11-12,32,5
+2017-11-13,20,5
+2017-11-14,37,5
+2017-11-15,23,5
+2017-11-16,26,5
+2017-11-17,37,5
+2017-11-18,34,5
+2017-11-19,41,5
+2017-11-20,28,5
+2017-11-21,21,5
+2017-11-22,29,5
+2017-11-23,38,5
+2017-11-24,34,5
+2017-11-25,33,5
+2017-11-26,37,5
+2017-11-27,35,5
+2017-11-28,31,5
+2017-11-29,28,5
+2017-11-30,24,5
+2017-12-01,21,5
+2017-12-02,37,5
+2017-12-03,28,5
+2017-12-04,13,5
+2017-12-05,25,5
+2017-12-06,16,5
+2017-12-07,22,5
+2017-12-08,35,5
+2017-12-09,24,5
+2017-12-10,33,5
+2017-12-11,22,5
+2017-12-12,16,5
+2017-12-13,20,5
+2017-12-14,30,5
+2017-12-15,29,5
+2017-12-16,27,5
+2017-12-17,40,5
+2017-12-18,20,5
+2017-12-19,21,5
+2017-12-20,22,5
+2017-12-21,21,5
+2017-12-22,27,5
+2017-12-23,31,5
+2017-12-24,29,5
+2017-12-25,18,5
+2017-12-26,20,5
+2017-12-27,20,5
+2017-12-28,32,5
+2017-12-29,26,5
+2017-12-30,26,5
+2017-12-31,23,5
+2013-01-01,21,6
+2013-01-02,20,6
+2013-01-03,15,6
+2013-01-04,20,6
+2013-01-05,23,6
+2013-01-06,29,6
+2013-01-07,11,6
+2013-01-08,25,6
+2013-01-09,20,6
+2013-01-10,23,6
+2013-01-11,19,6
+2013-01-12,23,6
+2013-01-13,27,6
+2013-01-14,18,6
+2013-01-15,23,6
+2013-01-16,20,6
+2013-01-17,22,6
+2013-01-18,27,6
+2013-01-19,21,6
+2013-01-20,25,6
+2013-01-21,14,6
+2013-01-22,27,6
+2013-01-23,16,6
+2013-01-24,28,6
+2013-01-25,27,6
+2013-01-26,27,6
+2013-01-27,29,6
+2013-01-28,13,6
+2013-01-29,20,6
+2013-01-30,17,6
+2013-01-31,23,6
+2013-02-01,32,6
+2013-02-02,38,6
+2013-02-03,30,6
+2013-02-04,21,6
+2013-02-05,20,6
+2013-02-06,21,6
+2013-02-07,29,6
+2013-02-08,31,6
+2013-02-09,36,6
+2013-02-10,22,6
+2013-02-11,15,6
+2013-02-12,21,6
+2013-02-13,22,6
+2013-02-14,23,6
+2013-02-15,29,6
+2013-02-16,21,6
+2013-02-17,26,6
+2013-02-18,15,6
+2013-02-19,24,6
+2013-02-20,20,6
+2013-02-21,28,6
+2013-02-22,21,6
+2013-02-23,39,6
+2013-02-24,20,6
+2013-02-25,18,6
+2013-02-26,25,6
+2013-02-27,17,6
+2013-02-28,17,6
+2013-03-01,40,6
+2013-03-02,38,6
+2013-03-03,38,6
+2013-03-04,23,6
+2013-03-05,23,6
+2013-03-06,28,6
+2013-03-07,27,6
+2013-03-08,41,6
+2013-03-09,30,6
+2013-03-10,48,6
+2013-03-11,21,6
+2013-03-12,29,6
+2013-03-13,18,6
+2013-03-14,34,6
+2013-03-15,24,6
+2013-03-16,31,6
+2013-03-17,42,6
+2013-03-18,26,6
+2013-03-19,24,6
+2013-03-20,26,6
+2013-03-21,25,6
+2013-03-22,34,6
+2013-03-23,32,6
+2013-03-24,33,6
+2013-03-25,25,6
+2013-03-26,21,6
+2013-03-27,25,6
+2013-03-28,30,6
+2013-03-29,22,6
+2013-03-30,37,6
+2013-03-31,39,6
+2013-04-01,29,6
+2013-04-02,27,6
+2013-04-03,33,6
+2013-04-04,24,6
+2013-04-05,33,6
+2013-04-06,28,6
+2013-04-07,38,6
+2013-04-08,23,6
+2013-04-09,30,6
+2013-04-10,27,6
+2013-04-11,43,6
+2013-04-12,32,6
+2013-04-13,34,6
+2013-04-14,38,6
+2013-04-15,22,6
+2013-04-16,27,6
+2013-04-17,30,6
+2013-04-18,35,6
+2013-04-19,25,6
+2013-04-20,38,6
+2013-04-21,44,6
+2013-04-22,34,6
+2013-04-23,23,6
+2013-04-24,20,6
+2013-04-25,29,6
+2013-04-26,30,6
+2013-04-27,41,6
+2013-04-28,48,6
+2013-04-29,30,6
+2013-04-30,32,6
+2013-05-01,36,6
+2013-05-02,45,6
+2013-05-03,33,6
+2013-05-04,33,6
+2013-05-05,46,6
+2013-05-06,22,6
+2013-05-07,28,6
+2013-05-08,42,6
+2013-05-09,32,6
+2013-05-10,36,6
+2013-05-11,39,6
+2013-05-12,45,6
+2013-05-13,32,6
+2013-05-14,30,6
+2013-05-15,37,6
+2013-05-16,28,6
+2013-05-17,38,6
+2013-05-18,41,6
+2013-05-19,42,6
+2013-05-20,23,6
+2013-05-21,29,6
+2013-05-22,39,6
+2013-05-23,33,6
+2013-05-24,34,6
+2013-05-25,46,6
+2013-05-26,47,6
+2013-05-27,22,6
+2013-05-28,26,6
+2013-05-29,42,6
+2013-05-30,43,6
+2013-05-31,47,6
+2013-06-01,59,6
+2013-06-02,35,6
+2013-06-03,36,6
+2013-06-04,39,6
+2013-06-05,36,6
+2013-06-06,46,6
+2013-06-07,48,6
+2013-06-08,31,6
+2013-06-09,58,6
+2013-06-10,32,6
+2013-06-11,40,6
+2013-06-12,44,6
+2013-06-13,45,6
+2013-06-14,40,6
+2013-06-15,39,6
+2013-06-16,47,6
+2013-06-17,29,6
+2013-06-18,49,6
+2013-06-19,28,6
+2013-06-20,38,6
+2013-06-21,39,6
+2013-06-22,50,6
+2013-06-23,57,6
+2013-06-24,31,6
+2013-06-25,46,6
+2013-06-26,37,6
+2013-06-27,51,6
+2013-06-28,42,6
+2013-06-29,43,6
+2013-06-30,64,6
+2013-07-01,30,6
+2013-07-02,35,6
+2013-07-03,36,6
+2013-07-04,40,6
+2013-07-05,47,6
+2013-07-06,46,6
+2013-07-07,62,6
+2013-07-08,33,6
+2013-07-09,40,6
+2013-07-10,31,6
+2013-07-11,51,6
+2013-07-12,41,6
+2013-07-13,47,6
+2013-07-14,48,6
+2013-07-15,32,6
+2013-07-16,48,6
+2013-07-17,38,6
+2013-07-18,49,6
+2013-07-19,46,6
+2013-07-20,41,6
+2013-07-21,51,6
+2013-07-22,34,6
+2013-07-23,47,6
+2013-07-24,36,6
+2013-07-25,35,6
+2013-07-26,50,6
+2013-07-27,45,6
+2013-07-28,33,6
+2013-07-29,29,6
+2013-07-30,43,6
+2013-07-31,33,6
+2013-08-01,36,6
+2013-08-02,41,6
+2013-08-03,37,6
+2013-08-04,38,6
+2013-08-05,38,6
+2013-08-06,33,6
+2013-08-07,29,6
+2013-08-08,41,6
+2013-08-09,40,6
+2013-08-10,36,6
+2013-08-11,42,6
+2013-08-12,24,6
+2013-08-13,32,6
+2013-08-14,35,6
+2013-08-15,29,6
+2013-08-16,34,6
+2013-08-17,38,6
+2013-08-18,37,6
+2013-08-19,25,6
+2013-08-20,26,6
+2013-08-21,38,6
+2013-08-22,28,6
+2013-08-23,27,6
+2013-08-24,28,6
+2013-08-25,40,6
+2013-08-26,35,6
+2013-08-27,29,6
+2013-08-28,37,6
+2013-08-29,40,6
+2013-08-30,43,6
+2013-08-31,33,6
+2013-09-01,49,6
+2013-09-02,14,6
+2013-09-03,27,6
+2013-09-04,38,6
+2013-09-05,34,6
+2013-09-06,44,6
+2013-09-07,39,6
+2013-09-08,49,6
+2013-09-09,22,6
+2013-09-10,21,6
+2013-09-11,39,6
+2013-09-12,19,6
+2013-09-13,41,6
+2013-09-14,30,6
+2013-09-15,42,6
+2013-09-16,25,6
+2013-09-17,29,6
+2013-09-18,36,6
+2013-09-19,45,6
+2013-09-20,38,6
+2013-09-21,33,6
+2013-09-22,40,6
+2013-09-23,30,6
+2013-09-24,33,6
+2013-09-25,36,6
+2013-09-26,28,6
+2013-09-27,40,6
+2013-09-28,42,6
+2013-09-29,38,6
+2013-09-30,26,6
+2013-10-01,26,6
+2013-10-02,32,6
+2013-10-03,32,6
+2013-10-04,41,6
+2013-10-05,39,6
+2013-10-06,36,6
+2013-10-07,35,6
+2013-10-08,31,6
+2013-10-09,28,6
+2013-10-10,27,6
+2013-10-11,30,6
+2013-10-12,41,6
+2013-10-13,32,6
+2013-10-14,31,6
+2013-10-15,35,6
+2013-10-16,22,6
+2013-10-17,30,6
+2013-10-18,35,6
+2013-10-19,30,6
+2013-10-20,28,6
+2013-10-21,24,6
+2013-10-22,34,6
+2013-10-23,32,6
+2013-10-24,35,6
+2013-10-25,41,6
+2013-10-26,38,6
+2013-10-27,29,6
+2013-10-28,26,6
+2013-10-29,28,6
+2013-10-30,26,6
+2013-10-31,45,6
+2013-11-01,41,6
+2013-11-02,38,6
+2013-11-03,46,6
+2013-11-04,32,6
+2013-11-05,32,6
+2013-11-06,34,6
+2013-11-07,19,6
+2013-11-08,37,6
+2013-11-09,39,6
+2013-11-10,30,6
+2013-11-11,28,6
+2013-11-12,32,6
+2013-11-13,32,6
+2013-11-14,32,6
+2013-11-15,41,6
+2013-11-16,47,6
+2013-11-17,35,6
+2013-11-18,31,6
+2013-11-19,35,6
+2013-11-20,33,6
+2013-11-21,32,6
+2013-11-22,30,6
+2013-11-23,39,6
+2013-11-24,43,6
+2013-11-25,31,6
+2013-11-26,33,6
+2013-11-27,27,6
+2013-11-28,41,6
+2013-11-29,43,6
+2013-11-30,35,6
+2013-12-01,22,6
+2013-12-02,23,6
+2013-12-03,26,6
+2013-12-04,28,6
+2013-12-05,22,6
+2013-12-06,16,6
+2013-12-07,35,6
+2013-12-08,32,6
+2013-12-09,18,6
+2013-12-10,26,6
+2013-12-11,23,6
+2013-12-12,25,6
+2013-12-13,23,6
+2013-12-14,25,6
+2013-12-15,23,6
+2013-12-16,23,6
+2013-12-17,14,6
+2013-12-18,14,6
+2013-12-19,20,6
+2013-12-20,28,6
+2013-12-21,27,6
+2013-12-22,34,6
+2013-12-23,18,6
+2013-12-24,23,6
+2013-12-25,28,6
+2013-12-26,24,6
+2013-12-27,32,6
+2013-12-28,22,6
+2013-12-29,30,6
+2013-12-30,14,6
+2013-12-31,20,6
+2014-01-01,12,6
+2014-01-02,29,6
+2014-01-03,30,6
+2014-01-04,22,6
+2014-01-05,27,6
+2014-01-06,12,6
+2014-01-07,27,6
+2014-01-08,17,6
+2014-01-09,25,6
+2014-01-10,23,6
+2014-01-11,38,6
+2014-01-12,25,6
+2014-01-13,21,6
+2014-01-14,30,6
+2014-01-15,21,6
+2014-01-16,29,6
+2014-01-17,32,6
+2014-01-18,23,6
+2014-01-19,30,6
+2014-01-20,15,6
+2014-01-21,18,6
+2014-01-22,28,6
+2014-01-23,31,6
+2014-01-24,28,6
+2014-01-25,34,6
+2014-01-26,30,6
+2014-01-27,20,6
+2014-01-28,25,6
+2014-01-29,22,6
+2014-01-30,20,6
+2014-01-31,38,6
+2014-02-01,27,6
+2014-02-02,29,6
+2014-02-03,19,6
+2014-02-04,34,6
+2014-02-05,34,6
+2014-02-06,25,6
+2014-02-07,21,6
+2014-02-08,43,6
+2014-02-09,35,6
+2014-02-10,17,6
+2014-02-11,30,6
+2014-02-12,23,6
+2014-02-13,37,6
+2014-02-14,29,6
+2014-02-15,25,6
+2014-02-16,33,6
+2014-02-17,19,6
+2014-02-18,26,6
+2014-02-19,31,6
+2014-02-20,33,6
+2014-02-21,25,6
+2014-02-22,27,6
+2014-02-23,37,6
+2014-02-24,28,6
+2014-02-25,24,6
+2014-02-26,20,6
+2014-02-27,30,6
+2014-02-28,30,6
+2014-03-01,44,6
+2014-03-02,34,6
+2014-03-03,32,6
+2014-03-04,25,6
+2014-03-05,28,6
+2014-03-06,33,6
+2014-03-07,30,6
+2014-03-08,33,6
+2014-03-09,38,6
+2014-03-10,22,6
+2014-03-11,37,6
+2014-03-12,25,6
+2014-03-13,28,6
+2014-03-14,34,6
+2014-03-15,43,6
+2014-03-16,43,6
+2014-03-17,28,6
+2014-03-18,45,6
+2014-03-19,32,6
+2014-03-20,26,6
+2014-03-21,33,6
+2014-03-22,35,6
+2014-03-23,50,6
+2014-03-24,25,6
+2014-03-25,29,6
+2014-03-26,23,6
+2014-03-27,37,6
+2014-03-28,46,6
+2014-03-29,47,6
+2014-03-30,43,6
+2014-03-31,25,6
+2014-04-01,30,6
+2014-04-02,34,6
+2014-04-03,46,6
+2014-04-04,35,6
+2014-04-05,41,6
+2014-04-06,43,6
+2014-04-07,26,6
+2014-04-08,38,6
+2014-04-09,28,6
+2014-04-10,40,6
+2014-04-11,41,6
+2014-04-12,45,6
+2014-04-13,51,6
+2014-04-14,23,6
+2014-04-15,38,6
+2014-04-16,45,6
+2014-04-17,28,6
+2014-04-18,44,6
+2014-04-19,39,6
+2014-04-20,50,6
+2014-04-21,20,6
+2014-04-22,51,6
+2014-04-23,41,6
+2014-04-24,47,6
+2014-04-25,37,6
+2014-04-26,45,6
+2014-04-27,50,6
+2014-04-28,36,6
+2014-04-29,46,6
+2014-04-30,36,6
+2014-05-01,37,6
+2014-05-02,41,6
+2014-05-03,34,6
+2014-05-04,57,6
+2014-05-05,34,6
+2014-05-06,38,6
+2014-05-07,35,6
+2014-05-08,26,6
+2014-05-09,57,6
+2014-05-10,48,6
+2014-05-11,50,6
+2014-05-12,43,6
+2014-05-13,40,6
+2014-05-14,39,6
+2014-05-15,52,6
+2014-05-16,46,6
+2014-05-17,40,6
+2014-05-18,55,6
+2014-05-19,41,6
+2014-05-20,31,6
+2014-05-21,36,6
+2014-05-22,40,6
+2014-05-23,44,6
+2014-05-24,39,6
+2014-05-25,50,6
+2014-05-26,36,6
+2014-05-27,33,6
+2014-05-28,32,6
+2014-05-29,45,6
+2014-05-30,40,6
+2014-05-31,51,6
+2014-06-01,48,6
+2014-06-02,31,6
+2014-06-03,45,6
+2014-06-04,46,6
+2014-06-05,46,6
+2014-06-06,35,6
+2014-06-07,53,6
+2014-06-08,46,6
+2014-06-09,31,6
+2014-06-10,51,6
+2014-06-11,44,6
+2014-06-12,38,6
+2014-06-13,48,6
+2014-06-14,45,6
+2014-06-15,51,6
+2014-06-16,37,6
+2014-06-17,46,6
+2014-06-18,39,6
+2014-06-19,36,6
+2014-06-20,43,6
+2014-06-21,62,6
+2014-06-22,48,6
+2014-06-23,38,6
+2014-06-24,40,6
+2014-06-25,34,6
+2014-06-26,46,6
+2014-06-27,61,6
+2014-06-28,47,6
+2014-06-29,40,6
+2014-06-30,40,6
+2014-07-01,43,6
+2014-07-02,39,6
+2014-07-03,50,6
+2014-07-04,52,6
+2014-07-05,46,6
+2014-07-06,67,6
+2014-07-07,37,6
+2014-07-08,35,6
+2014-07-09,39,6
+2014-07-10,49,6
+2014-07-11,58,6
+2014-07-12,48,6
+2014-07-13,59,6
+2014-07-14,49,6
+2014-07-15,40,6
+2014-07-16,42,6
+2014-07-17,50,6
+2014-07-18,48,6
+2014-07-19,71,6
+2014-07-20,55,6
+2014-07-21,45,6
+2014-07-22,39,6
+2014-07-23,44,6
+2014-07-24,41,6
+2014-07-25,49,6
+2014-07-26,57,6
+2014-07-27,59,6
+2014-07-28,31,6
+2014-07-29,46,6
+2014-07-30,47,6
+2014-07-31,43,6
+2014-08-01,65,6
+2014-08-02,51,6
+2014-08-03,59,6
+2014-08-04,24,6
+2014-08-05,41,6
+2014-08-06,41,6
+2014-08-07,53,6
+2014-08-08,49,6
+2014-08-09,50,6
+2014-08-10,54,6
+2014-08-11,27,6
+2014-08-12,33,6
+2014-08-13,39,6
+2014-08-14,39,6
+2014-08-15,50,6
+2014-08-16,37,6
+2014-08-17,44,6
+2014-08-18,29,6
+2014-08-19,32,6
+2014-08-20,42,6
+2014-08-21,43,6
+2014-08-22,34,6
+2014-08-23,51,6
+2014-08-24,58,6
+2014-08-25,39,6
+2014-08-26,38,6
+2014-08-27,40,6
+2014-08-28,48,6
+2014-08-29,51,6
+2014-08-30,42,6
+2014-08-31,40,6
+2014-09-01,26,6
+2014-09-02,47,6
+2014-09-03,38,6
+2014-09-04,43,6
+2014-09-05,36,6
+2014-09-06,51,6
+2014-09-07,39,6
+2014-09-08,26,6
+2014-09-09,36,6
+2014-09-10,44,6
+2014-09-11,39,6
+2014-09-12,32,6
+2014-09-13,48,6
+2014-09-14,60,6
+2014-09-15,39,6
+2014-09-16,32,6
+2014-09-17,34,6
+2014-09-18,46,6
+2014-09-19,41,6
+2014-09-20,49,6
+2014-09-21,38,6
+2014-09-22,36,6
+2014-09-23,33,6
+2014-09-24,24,6
+2014-09-25,46,6
+2014-09-26,43,6
+2014-09-27,42,6
+2014-09-28,48,6
+2014-09-29,15,6
+2014-09-30,48,6
+2014-10-01,26,6
+2014-10-02,38,6
+2014-10-03,42,6
+2014-10-04,53,6
+2014-10-05,42,6
+2014-10-06,23,6
+2014-10-07,37,6
+2014-10-08,25,6
+2014-10-09,43,6
+2014-10-10,50,6
+2014-10-11,34,6
+2014-10-12,50,6
+2014-10-13,25,6
+2014-10-14,41,6
+2014-10-15,33,6
+2014-10-16,30,6
+2014-10-17,44,6
+2014-10-18,47,6
+2014-10-19,43,6
+2014-10-20,21,6
+2014-10-21,39,6
+2014-10-22,30,6
+2014-10-23,41,6
+2014-10-24,42,6
+2014-10-25,43,6
+2014-10-26,37,6
+2014-10-27,28,6
+2014-10-28,33,6
+2014-10-29,41,6
+2014-10-30,45,6
+2014-10-31,41,6
+2014-11-01,53,6
+2014-11-02,38,6
+2014-11-03,36,6
+2014-11-04,40,6
+2014-11-05,37,6
+2014-11-06,58,6
+2014-11-07,41,6
+2014-11-08,39,6
+2014-11-09,59,6
+2014-11-10,29,6
+2014-11-11,25,6
+2014-11-12,32,6
+2014-11-13,37,6
+2014-11-14,40,6
+2014-11-15,45,6
+2014-11-16,55,6
+2014-11-17,34,6
+2014-11-18,40,6
+2014-11-19,41,6
+2014-11-20,33,6
+2014-11-21,41,6
+2014-11-22,42,6
+2014-11-23,56,6
+2014-11-24,30,6
+2014-11-25,47,6
+2014-11-26,32,6
+2014-11-27,35,6
+2014-11-28,39,6
+2014-11-29,49,6
+2014-11-30,36,6
+2014-12-01,24,6
+2014-12-02,35,6
+2014-12-03,27,6
+2014-12-04,26,6
+2014-12-05,30,6
+2014-12-06,40,6
+2014-12-07,23,6
+2014-12-08,32,6
+2014-12-09,26,6
+2014-12-10,29,6
+2014-12-11,32,6
+2014-12-12,31,6
+2014-12-13,36,6
+2014-12-14,42,6
+2014-12-15,19,6
+2014-12-16,27,6
+2014-12-17,34,6
+2014-12-18,24,6
+2014-12-19,36,6
+2014-12-20,29,6
+2014-12-21,33,6
+2014-12-22,20,6
+2014-12-23,24,6
+2014-12-24,38,6
+2014-12-25,25,6
+2014-12-26,23,6
+2014-12-27,33,6
+2014-12-28,39,6
+2014-12-29,26,6
+2014-12-30,27,6
+2014-12-31,24,6
+2015-01-01,24,6
+2015-01-02,27,6
+2015-01-03,21,6
+2015-01-04,27,6
+2015-01-05,32,6
+2015-01-06,24,6
+2015-01-07,21,6
+2015-01-08,25,6
+2015-01-09,27,6
+2015-01-10,36,6
+2015-01-11,31,6
+2015-01-12,18,6
+2015-01-13,20,6
+2015-01-14,25,6
+2015-01-15,20,6
+2015-01-16,26,6
+2015-01-17,26,6
+2015-01-18,31,6
+2015-01-19,15,6
+2015-01-20,16,6
+2015-01-21,18,6
+2015-01-22,23,6
+2015-01-23,32,6
+2015-01-24,32,6
+2015-01-25,36,6
+2015-01-26,25,6
+2015-01-27,26,6
+2015-01-28,25,6
+2015-01-29,34,6
+2015-01-30,19,6
+2015-01-31,25,6
+2015-02-01,38,6
+2015-02-02,21,6
+2015-02-03,35,6
+2015-02-04,30,6
+2015-02-05,20,6
+2015-02-06,39,6
+2015-02-07,37,6
+2015-02-08,22,6
+2015-02-09,24,6
+2015-02-10,26,6
+2015-02-11,25,6
+2015-02-12,30,6
+2015-02-13,26,6
+2015-02-14,41,6
+2015-02-15,31,6
+2015-02-16,16,6
+2015-02-17,31,6
+2015-02-18,14,6
+2015-02-19,21,6
+2015-02-20,35,6
+2015-02-21,34,6
+2015-02-22,35,6
+2015-02-23,24,6
+2015-02-24,32,6
+2015-02-25,25,6
+2015-02-26,35,6
+2015-02-27,24,6
+2015-02-28,27,6
+2015-03-01,38,6
+2015-03-02,28,6
+2015-03-03,37,6
+2015-03-04,35,6
+2015-03-05,24,6
+2015-03-06,32,6
+2015-03-07,49,6
+2015-03-08,38,6
+2015-03-09,29,6
+2015-03-10,19,6
+2015-03-11,22,6
+2015-03-12,30,6
+2015-03-13,40,6
+2015-03-14,37,6
+2015-03-15,48,6
+2015-03-16,21,6
+2015-03-17,39,6
+2015-03-18,30,6
+2015-03-19,34,6
+2015-03-20,36,6
+2015-03-21,52,6
+2015-03-22,44,6
+2015-03-23,36,6
+2015-03-24,29,6
+2015-03-25,24,6
+2015-03-26,34,6
+2015-03-27,36,6
+2015-03-28,39,6
+2015-03-29,39,6
+2015-03-30,31,6
+2015-03-31,31,6
+2015-04-01,43,6
+2015-04-02,44,6
+2015-04-03,52,6
+2015-04-04,42,6
+2015-04-05,50,6
+2015-04-06,26,6
+2015-04-07,40,6
+2015-04-08,41,6
+2015-04-09,34,6
+2015-04-10,41,6
+2015-04-11,55,6
+2015-04-12,46,6
+2015-04-13,33,6
+2015-04-14,39,6
+2015-04-15,27,6
+2015-04-16,49,6
+2015-04-17,50,6
+2015-04-18,49,6
+2015-04-19,42,6
+2015-04-20,33,6
+2015-04-21,40,6
+2015-04-22,39,6
+2015-04-23,47,6
+2015-04-24,39,6
+2015-04-25,51,6
+2015-04-26,45,6
+2015-04-27,27,6
+2015-04-28,40,6
+2015-04-29,43,6
+2015-04-30,43,6
+2015-05-01,50,6
+2015-05-02,44,6
+2015-05-03,53,6
+2015-05-04,37,6
+2015-05-05,43,6
+2015-05-06,32,6
+2015-05-07,42,6
+2015-05-08,36,6
+2015-05-09,55,6
+2015-05-10,54,6
+2015-05-11,37,6
+2015-05-12,36,6
+2015-05-13,42,6
+2015-05-14,48,6
+2015-05-15,48,6
+2015-05-16,39,6
+2015-05-17,55,6
+2015-05-18,39,6
+2015-05-19,49,6
+2015-05-20,34,6
+2015-05-21,43,6
+2015-05-22,39,6
+2015-05-23,51,6
+2015-05-24,53,6
+2015-05-25,28,6
+2015-05-26,40,6
+2015-05-27,36,6
+2015-05-28,47,6
+2015-05-29,56,6
+2015-05-30,44,6
+2015-05-31,68,6
+2015-06-01,36,6
+2015-06-02,51,6
+2015-06-03,42,6
+2015-06-04,53,6
+2015-06-05,49,6
+2015-06-06,46,6
+2015-06-07,50,6
+2015-06-08,44,6
+2015-06-09,46,6
+2015-06-10,39,6
+2015-06-11,47,6
+2015-06-12,34,6
+2015-06-13,45,6
+2015-06-14,63,6
+2015-06-15,50,6
+2015-06-16,31,6
+2015-06-17,43,6
+2015-06-18,52,6
+2015-06-19,73,6
+2015-06-20,63,6
+2015-06-21,54,6
+2015-06-22,40,6
+2015-06-23,52,6
+2015-06-24,39,6
+2015-06-25,41,6
+2015-06-26,58,6
+2015-06-27,60,6
+2015-06-28,64,6
+2015-06-29,39,6
+2015-06-30,36,6
+2015-07-01,49,6
+2015-07-02,44,6
+2015-07-03,45,6
+2015-07-04,60,6
+2015-07-05,63,6
+2015-07-06,40,6
+2015-07-07,48,6
+2015-07-08,50,6
+2015-07-09,46,6
+2015-07-10,54,6
+2015-07-11,53,6
+2015-07-12,65,6
+2015-07-13,39,6
+2015-07-14,51,6
+2015-07-15,50,6
+2015-07-16,51,6
+2015-07-17,41,6
+2015-07-18,80,6
+2015-07-19,62,6
+2015-07-20,48,6
+2015-07-21,38,6
+2015-07-22,44,6
+2015-07-23,56,6
+2015-07-24,47,6
+2015-07-25,48,6
+2015-07-26,68,6
+2015-07-27,44,6
+2015-07-28,38,6
+2015-07-29,44,6
+2015-07-30,47,6
+2015-07-31,48,6
+2015-08-01,40,6
+2015-08-02,54,6
+2015-08-03,42,6
+2015-08-04,37,6
+2015-08-05,45,6
+2015-08-06,37,6
+2015-08-07,44,6
+2015-08-08,44,6
+2015-08-09,43,6
+2015-08-10,34,6
+2015-08-11,30,6
+2015-08-12,47,6
+2015-08-13,36,6
+2015-08-14,45,6
+2015-08-15,62,6
+2015-08-16,54,6
+2015-08-17,43,6
+2015-08-18,42,6
+2015-08-19,48,6
+2015-08-20,46,6
+2015-08-21,47,6
+2015-08-22,45,6
+2015-08-23,53,6
+2015-08-24,30,6
+2015-08-25,45,6
+2015-08-26,51,6
+2015-08-27,52,6
+2015-08-28,51,6
+2015-08-29,43,6
+2015-08-30,45,6
+2015-08-31,30,6
+2015-09-01,38,6
+2015-09-02,37,6
+2015-09-03,45,6
+2015-09-04,37,6
+2015-09-05,45,6
+2015-09-06,50,6
+2015-09-07,26,6
+2015-09-08,44,6
+2015-09-09,37,6
+2015-09-10,42,6
+2015-09-11,41,6
+2015-09-12,54,6
+2015-09-13,50,6
+2015-09-14,28,6
+2015-09-15,29,6
+2015-09-16,50,6
+2015-09-17,35,6
+2015-09-18,46,6
+2015-09-19,41,6
+2015-09-20,41,6
+2015-09-21,34,6
+2015-09-22,38,6
+2015-09-23,53,6
+2015-09-24,36,6
+2015-09-25,46,6
+2015-09-26,50,6
+2015-09-27,44,6
+2015-09-28,36,6
+2015-09-29,44,6
+2015-09-30,39,6
+2015-10-01,33,6
+2015-10-02,39,6
+2015-10-03,56,6
+2015-10-04,51,6
+2015-10-05,27,6
+2015-10-06,41,6
+2015-10-07,35,6
+2015-10-08,36,6
+2015-10-09,40,6
+2015-10-10,43,6
+2015-10-11,39,6
+2015-10-12,27,6
+2015-10-13,27,6
+2015-10-14,35,6
+2015-10-15,36,6
+2015-10-16,40,6
+2015-10-17,41,6
+2015-10-18,36,6
+2015-10-19,40,6
+2015-10-20,39,6
+2015-10-21,31,6
+2015-10-22,47,6
+2015-10-23,41,6
+2015-10-24,34,6
+2015-10-25,38,6
+2015-10-26,36,6
+2015-10-27,48,6
+2015-10-28,40,6
+2015-10-29,36,6
+2015-10-30,45,6
+2015-10-31,39,6
+2015-11-01,38,6
+2015-11-02,33,6
+2015-11-03,40,6
+2015-11-04,45,6
+2015-11-05,49,6
+2015-11-06,45,6
+2015-11-07,43,6
+2015-11-08,42,6
+2015-11-09,34,6
+2015-11-10,39,6
+2015-11-11,39,6
+2015-11-12,40,6
+2015-11-13,48,6
+2015-11-14,55,6
+2015-11-15,45,6
+2015-11-16,34,6
+2015-11-17,31,6
+2015-11-18,39,6
+2015-11-19,41,6
+2015-11-20,44,6
+2015-11-21,41,6
+2015-11-22,52,6
+2015-11-23,39,6
+2015-11-24,39,6
+2015-11-25,36,6
+2015-11-26,42,6
+2015-11-27,34,6
+2015-11-28,49,6
+2015-11-29,57,6
+2015-11-30,38,6
+2015-12-01,30,6
+2015-12-02,36,6
+2015-12-03,33,6
+2015-12-04,27,6
+2015-12-05,32,6
+2015-12-06,30,6
+2015-12-07,18,6
+2015-12-08,24,6
+2015-12-09,32,6
+2015-12-10,21,6
+2015-12-11,30,6
+2015-12-12,31,6
+2015-12-13,32,6
+2015-12-14,30,6
+2015-12-15,31,6
+2015-12-16,28,6
+2015-12-17,26,6
+2015-12-18,37,6
+2015-12-19,23,6
+2015-12-20,36,6
+2015-12-21,21,6
+2015-12-22,22,6
+2015-12-23,23,6
+2015-12-24,30,6
+2015-12-25,24,6
+2015-12-26,47,6
+2015-12-27,36,6
+2015-12-28,26,6
+2015-12-29,30,6
+2015-12-30,29,6
+2015-12-31,29,6
+2016-01-01,30,6
+2016-01-02,32,6
+2016-01-03,35,6
+2016-01-04,19,6
+2016-01-05,25,6
+2016-01-06,27,6
+2016-01-07,34,6
+2016-01-08,32,6
+2016-01-09,27,6
+2016-01-10,38,6
+2016-01-11,29,6
+2016-01-12,31,6
+2016-01-13,22,6
+2016-01-14,25,6
+2016-01-15,25,6
+2016-01-16,38,6
+2016-01-17,28,6
+2016-01-18,19,6
+2016-01-19,29,6
+2016-01-20,32,6
+2016-01-21,25,6
+2016-01-22,15,6
+2016-01-23,38,6
+2016-01-24,38,6
+2016-01-25,10,6
+2016-01-26,23,6
+2016-01-27,10,6
+2016-01-28,37,6
+2016-01-29,23,6
+2016-01-30,36,6
+2016-01-31,44,6
+2016-02-01,30,6
+2016-02-02,31,6
+2016-02-03,34,6
+2016-02-04,34,6
+2016-02-05,32,6
+2016-02-06,47,6
+2016-02-07,50,6
+2016-02-08,26,6
+2016-02-09,35,6
+2016-02-10,33,6
+2016-02-11,28,6
+2016-02-12,35,6
+2016-02-13,43,6
+2016-02-14,33,6
+2016-02-15,14,6
+2016-02-16,41,6
+2016-02-17,28,6
+2016-02-18,34,6
+2016-02-19,35,6
+2016-02-20,40,6
+2016-02-21,34,6
+2016-02-22,15,6
+2016-02-23,32,6
+2016-02-24,28,6
+2016-02-25,29,6
+2016-02-26,29,6
+2016-02-27,34,6
+2016-02-28,26,6
+2016-02-29,28,6
+2016-03-01,33,6
+2016-03-02,37,6
+2016-03-03,34,6
+2016-03-04,36,6
+2016-03-05,38,6
+2016-03-06,52,6
+2016-03-07,35,6
+2016-03-08,45,6
+2016-03-09,29,6
+2016-03-10,38,6
+2016-03-11,41,6
+2016-03-12,41,6
+2016-03-13,38,6
+2016-03-14,34,6
+2016-03-15,35,6
+2016-03-16,33,6
+2016-03-17,31,6
+2016-03-18,42,6
+2016-03-19,39,6
+2016-03-20,29,6
+2016-03-21,31,6
+2016-03-22,27,6
+2016-03-23,49,6
+2016-03-24,36,6
+2016-03-25,41,6
+2016-03-26,36,6
+2016-03-27,39,6
+2016-03-28,25,6
+2016-03-29,31,6
+2016-03-30,24,6
+2016-03-31,38,6
+2016-04-01,48,6
+2016-04-02,53,6
+2016-04-03,54,6
+2016-04-04,39,6
+2016-04-05,48,6
+2016-04-06,33,6
+2016-04-07,53,6
+2016-04-08,41,6
+2016-04-09,39,6
+2016-04-10,49,6
+2016-04-11,40,6
+2016-04-12,41,6
+2016-04-13,51,6
+2016-04-14,33,6
+2016-04-15,45,6
+2016-04-16,47,6
+2016-04-17,41,6
+2016-04-18,35,6
+2016-04-19,42,6
+2016-04-20,37,6
+2016-04-21,45,6
+2016-04-22,41,6
+2016-04-23,50,6
+2016-04-24,56,6
+2016-04-25,38,6
+2016-04-26,34,6
+2016-04-27,46,6
+2016-04-28,37,6
+2016-04-29,54,6
+2016-04-30,36,6
+2016-05-01,70,6
+2016-05-02,38,6
+2016-05-03,53,6
+2016-05-04,47,6
+2016-05-05,67,6
+2016-05-06,46,6
+2016-05-07,57,6
+2016-05-08,45,6
+2016-05-09,44,6
+2016-05-10,53,6
+2016-05-11,41,6
+2016-05-12,44,6
+2016-05-13,38,6
+2016-05-14,53,6
+2016-05-15,48,6
+2016-05-16,33,6
+2016-05-17,35,6
+2016-05-18,49,6
+2016-05-19,46,6
+2016-05-20,43,6
+2016-05-21,45,6
+2016-05-22,58,6
+2016-05-23,38,6
+2016-05-24,49,6
+2016-05-25,42,6
+2016-05-26,47,6
+2016-05-27,50,6
+2016-05-28,62,6
+2016-05-29,45,6
+2016-05-30,29,6
+2016-05-31,40,6
+2016-06-01,49,6
+2016-06-02,45,6
+2016-06-03,61,6
+2016-06-04,54,6
+2016-06-05,50,6
+2016-06-06,38,6
+2016-06-07,55,6
+2016-06-08,47,6
+2016-06-09,70,6
+2016-06-10,57,6
+2016-06-11,47,6
+2016-06-12,60,6
+2016-06-13,38,6
+2016-06-14,38,6
+2016-06-15,60,6
+2016-06-16,43,6
+2016-06-17,42,6
+2016-06-18,61,6
+2016-06-19,67,6
+2016-06-20,39,6
+2016-06-21,48,6
+2016-06-22,47,6
+2016-06-23,40,6
+2016-06-24,58,6
+2016-06-25,50,6
+2016-06-26,53,6
+2016-06-27,40,6
+2016-06-28,36,6
+2016-06-29,51,6
+2016-06-30,52,6
+2016-07-01,51,6
+2016-07-02,57,6
+2016-07-03,55,6
+2016-07-04,35,6
+2016-07-05,47,6
+2016-07-06,58,6
+2016-07-07,51,6
+2016-07-08,50,6
+2016-07-09,49,6
+2016-07-10,74,6
+2016-07-11,42,6
+2016-07-12,43,6
+2016-07-13,46,6
+2016-07-14,51,6
+2016-07-15,58,6
+2016-07-16,51,6
+2016-07-17,73,6
+2016-07-18,42,6
+2016-07-19,58,6
+2016-07-20,50,6
+2016-07-21,61,6
+2016-07-22,65,6
+2016-07-23,59,6
+2016-07-24,68,6
+2016-07-25,33,6
+2016-07-26,45,6
+2016-07-27,51,6
+2016-07-28,38,6
+2016-07-29,47,6
+2016-07-30,74,6
+2016-07-31,75,6
+2016-08-01,38,6
+2016-08-02,34,6
+2016-08-03,35,6
+2016-08-04,58,6
+2016-08-05,46,6
+2016-08-06,55,6
+2016-08-07,62,6
+2016-08-08,37,6
+2016-08-09,48,6
+2016-08-10,38,6
+2016-08-11,39,6
+2016-08-12,57,6
+2016-08-13,59,6
+2016-08-14,53,6
+2016-08-15,34,6
+2016-08-16,46,6
+2016-08-17,39,6
+2016-08-18,51,6
+2016-08-19,56,6
+2016-08-20,46,6
+2016-08-21,53,6
+2016-08-22,47,6
+2016-08-23,46,6
+2016-08-24,50,6
+2016-08-25,48,6
+2016-08-26,55,6
+2016-08-27,57,6
+2016-08-28,51,6
+2016-08-29,44,6
+2016-08-30,48,6
+2016-08-31,30,6
+2016-09-01,47,6
+2016-09-02,40,6
+2016-09-03,44,6
+2016-09-04,59,6
+2016-09-05,29,6
+2016-09-06,47,6
+2016-09-07,45,6
+2016-09-08,28,6
+2016-09-09,45,6
+2016-09-10,55,6
+2016-09-11,48,6
+2016-09-12,40,6
+2016-09-13,43,6
+2016-09-14,46,6
+2016-09-15,40,6
+2016-09-16,49,6
+2016-09-17,53,6
+2016-09-18,57,6
+2016-09-19,33,6
+2016-09-20,39,6
+2016-09-21,42,6
+2016-09-22,40,6
+2016-09-23,44,6
+2016-09-24,57,6
+2016-09-25,61,6
+2016-09-26,41,6
+2016-09-27,36,6
+2016-09-28,42,6
+2016-09-29,58,6
+2016-09-30,33,6
+2016-10-01,40,6
+2016-10-02,54,6
+2016-10-03,25,6
+2016-10-04,34,6
+2016-10-05,42,6
+2016-10-06,54,6
+2016-10-07,47,6
+2016-10-08,53,6
+2016-10-09,62,6
+2016-10-10,32,6
+2016-10-11,47,6
+2016-10-12,34,6
+2016-10-13,33,6
+2016-10-14,50,6
+2016-10-15,53,6
+2016-10-16,54,6
+2016-10-17,26,6
+2016-10-18,40,6
+2016-10-19,39,6
+2016-10-20,50,6
+2016-10-21,56,6
+2016-10-22,46,6
+2016-10-23,50,6
+2016-10-24,38,6
+2016-10-25,28,6
+2016-10-26,40,6
+2016-10-27,44,6
+2016-10-28,51,6
+2016-10-29,45,6
+2016-10-30,57,6
+2016-10-31,37,6
+2016-11-01,43,6
+2016-11-02,40,6
+2016-11-03,46,6
+2016-11-04,45,6
+2016-11-05,42,6
+2016-11-06,60,6
+2016-11-07,31,6
+2016-11-08,38,6
+2016-11-09,37,6
+2016-11-10,57,6
+2016-11-11,38,6
+2016-11-12,46,6
+2016-11-13,52,6
+2016-11-14,22,6
+2016-11-15,38,6
+2016-11-16,42,6
+2016-11-17,46,6
+2016-11-18,30,6
+2016-11-19,49,6
+2016-11-20,55,6
+2016-11-21,37,6
+2016-11-22,34,6
+2016-11-23,38,6
+2016-11-24,38,6
+2016-11-25,63,6
+2016-11-26,35,6
+2016-11-27,56,6
+2016-11-28,41,6
+2016-11-29,43,6
+2016-11-30,44,6
+2016-12-01,28,6
+2016-12-02,34,6
+2016-12-03,41,6
+2016-12-04,27,6
+2016-12-05,21,6
+2016-12-06,24,6
+2016-12-07,30,6
+2016-12-08,31,6
+2016-12-09,34,6
+2016-12-10,35,6
+2016-12-11,43,6
+2016-12-12,16,6
+2016-12-13,26,6
+2016-12-14,31,6
+2016-12-15,31,6
+2016-12-16,38,6
+2016-12-17,44,6
+2016-12-18,33,6
+2016-12-19,25,6
+2016-12-20,38,6
+2016-12-21,35,6
+2016-12-22,24,6
+2016-12-23,39,6
+2016-12-24,34,6
+2016-12-25,47,6
+2016-12-26,33,6
+2016-12-27,36,6
+2016-12-28,34,6
+2016-12-29,23,6
+2016-12-30,36,6
+2016-12-31,32,6
+2017-01-01,29,6
+2017-01-02,13,6
+2017-01-03,33,6
+2017-01-04,25,6
+2017-01-05,24,6
+2017-01-06,32,6
+2017-01-07,34,6
+2017-01-08,36,6
+2017-01-09,24,6
+2017-01-10,25,6
+2017-01-11,22,6
+2017-01-12,40,6
+2017-01-13,32,6
+2017-01-14,33,6
+2017-01-15,31,6
+2017-01-16,22,6
+2017-01-17,29,6
+2017-01-18,34,6
+2017-01-19,38,6
+2017-01-20,38,6
+2017-01-21,29,6
+2017-01-22,41,6
+2017-01-23,28,6
+2017-01-24,24,6
+2017-01-25,36,6
+2017-01-26,28,6
+2017-01-27,29,6
+2017-01-28,40,6
+2017-01-29,24,6
+2017-01-30,19,6
+2017-01-31,28,6
+2017-02-01,31,6
+2017-02-02,35,6
+2017-02-03,42,6
+2017-02-04,46,6
+2017-02-05,44,6
+2017-02-06,24,6
+2017-02-07,27,6
+2017-02-08,23,6
+2017-02-09,28,6
+2017-02-10,31,6
+2017-02-11,37,6
+2017-02-12,41,6
+2017-02-13,33,6
+2017-02-14,32,6
+2017-02-15,27,6
+2017-02-16,31,6
+2017-02-17,33,6
+2017-02-18,34,6
+2017-02-19,43,6
+2017-02-20,23,6
+2017-02-21,31,6
+2017-02-22,36,6
+2017-02-23,44,6
+2017-02-24,34,6
+2017-02-25,37,6
+2017-02-26,49,6
+2017-02-27,26,6
+2017-02-28,37,6
+2017-03-01,35,6
+2017-03-02,54,6
+2017-03-03,34,6
+2017-03-04,51,6
+2017-03-05,45,6
+2017-03-06,34,6
+2017-03-07,36,6
+2017-03-08,45,6
+2017-03-09,42,6
+2017-03-10,35,6
+2017-03-11,51,6
+2017-03-12,48,6
+2017-03-13,25,6
+2017-03-14,28,6
+2017-03-15,27,6
+2017-03-16,44,6
+2017-03-17,37,6
+2017-03-18,40,6
+2017-03-19,44,6
+2017-03-20,35,6
+2017-03-21,43,6
+2017-03-22,50,6
+2017-03-23,36,6
+2017-03-24,45,6
+2017-03-25,51,6
+2017-03-26,63,6
+2017-03-27,26,6
+2017-03-28,42,6
+2017-03-29,44,6
+2017-03-30,49,6
+2017-03-31,38,6
+2017-04-01,56,6
+2017-04-02,59,6
+2017-04-03,30,6
+2017-04-04,35,6
+2017-04-05,44,6
+2017-04-06,52,6
+2017-04-07,55,6
+2017-04-08,45,6
+2017-04-09,52,6
+2017-04-10,30,6
+2017-04-11,45,6
+2017-04-12,30,6
+2017-04-13,44,6
+2017-04-14,44,6
+2017-04-15,54,6
+2017-04-16,54,6
+2017-04-17,42,6
+2017-04-18,39,6
+2017-04-19,34,6
+2017-04-20,37,6
+2017-04-21,52,6
+2017-04-22,35,6
+2017-04-23,55,6
+2017-04-24,30,6
+2017-04-25,51,6
+2017-04-26,31,6
+2017-04-27,35,6
+2017-04-28,49,6
+2017-04-29,44,6
+2017-04-30,64,6
+2017-05-01,34,6
+2017-05-02,53,6
+2017-05-03,39,6
+2017-05-04,53,6
+2017-05-05,59,6
+2017-05-06,63,6
+2017-05-07,73,6
+2017-05-08,48,6
+2017-05-09,38,6
+2017-05-10,47,6
+2017-05-11,52,6
+2017-05-12,59,6
+2017-05-13,54,6
+2017-05-14,56,6
+2017-05-15,35,6
+2017-05-16,36,6
+2017-05-17,43,6
+2017-05-18,49,6
+2017-05-19,46,6
+2017-05-20,46,6
+2017-05-21,58,6
+2017-05-22,35,6
+2017-05-23,39,6
+2017-05-24,36,6
+2017-05-25,40,6
+2017-05-26,42,6
+2017-05-27,57,6
+2017-05-28,49,6
+2017-05-29,33,6
+2017-05-30,60,6
+2017-05-31,54,6
+2017-06-01,48,6
+2017-06-02,52,6
+2017-06-03,67,6
+2017-06-04,68,6
+2017-06-05,31,6
+2017-06-06,54,6
+2017-06-07,54,6
+2017-06-08,58,6
+2017-06-09,62,6
+2017-06-10,63,6
+2017-06-11,72,6
+2017-06-12,44,6
+2017-06-13,42,6
+2017-06-14,53,6
+2017-06-15,55,6
+2017-06-16,51,6
+2017-06-17,61,6
+2017-06-18,59,6
+2017-06-19,29,6
+2017-06-20,50,6
+2017-06-21,36,6
+2017-06-22,37,6
+2017-06-23,55,6
+2017-06-24,50,6
+2017-06-25,84,6
+2017-06-26,49,6
+2017-06-27,52,6
+2017-06-28,46,6
+2017-06-29,49,6
+2017-06-30,59,6
+2017-07-01,49,6
+2017-07-02,71,6
+2017-07-03,39,6
+2017-07-04,62,6
+2017-07-05,55,6
+2017-07-06,55,6
+2017-07-07,54,6
+2017-07-08,49,6
+2017-07-09,81,6
+2017-07-10,38,6
+2017-07-11,36,6
+2017-07-12,47,6
+2017-07-13,48,6
+2017-07-14,80,6
+2017-07-15,74,6
+2017-07-16,68,6
+2017-07-17,33,6
+2017-07-18,51,6
+2017-07-19,52,6
+2017-07-20,48,6
+2017-07-21,71,6
+2017-07-22,64,6
+2017-07-23,50,6
+2017-07-24,41,6
+2017-07-25,51,6
+2017-07-26,54,6
+2017-07-27,56,6
+2017-07-28,62,6
+2017-07-29,57,6
+2017-07-30,77,6
+2017-07-31,38,6
+2017-08-01,33,6
+2017-08-02,50,6
+2017-08-03,52,6
+2017-08-04,40,6
+2017-08-05,67,6
+2017-08-06,52,6
+2017-08-07,35,6
+2017-08-08,44,6
+2017-08-09,50,6
+2017-08-10,43,6
+2017-08-11,63,6
+2017-08-12,56,6
+2017-08-13,49,6
+2017-08-14,46,6
+2017-08-15,48,6
+2017-08-16,38,6
+2017-08-17,53,6
+2017-08-18,56,6
+2017-08-19,54,6
+2017-08-20,66,6
+2017-08-21,49,6
+2017-08-22,46,6
+2017-08-23,46,6
+2017-08-24,53,6
+2017-08-25,45,6
+2017-08-26,47,6
+2017-08-27,59,6
+2017-08-28,54,6
+2017-08-29,54,6
+2017-08-30,38,6
+2017-08-31,42,6
+2017-09-01,48,6
+2017-09-02,55,6
+2017-09-03,49,6
+2017-09-04,42,6
+2017-09-05,45,6
+2017-09-06,45,6
+2017-09-07,44,6
+2017-09-08,41,6
+2017-09-09,57,6
+2017-09-10,55,6
+2017-09-11,40,6
+2017-09-12,36,6
+2017-09-13,48,6
+2017-09-14,46,6
+2017-09-15,35,6
+2017-09-16,38,6
+2017-09-17,51,6
+2017-09-18,41,6
+2017-09-19,47,6
+2017-09-20,41,6
+2017-09-21,48,6
+2017-09-22,48,6
+2017-09-23,57,6
+2017-09-24,54,6
+2017-09-25,39,6
+2017-09-26,46,6
+2017-09-27,32,6
+2017-09-28,45,6
+2017-09-29,41,6
+2017-09-30,49,6
+2017-10-01,42,6
+2017-10-02,39,6
+2017-10-03,34,6
+2017-10-04,41,6
+2017-10-05,34,6
+2017-10-06,44,6
+2017-10-07,60,6
+2017-10-08,51,6
+2017-10-09,33,6
+2017-10-10,25,6
+2017-10-11,50,6
+2017-10-12,44,6
+2017-10-13,43,6
+2017-10-14,60,6
+2017-10-15,63,6
+2017-10-16,39,6
+2017-10-17,45,6
+2017-10-18,35,6
+2017-10-19,35,6
+2017-10-20,50,6
+2017-10-21,47,6
+2017-10-22,51,6
+2017-10-23,46,6
+2017-10-24,55,6
+2017-10-25,45,6
+2017-10-26,58,6
+2017-10-27,49,6
+2017-10-28,43,6
+2017-10-29,50,6
+2017-10-30,25,6
+2017-10-31,44,6
+2017-11-01,48,6
+2017-11-02,36,6
+2017-11-03,41,6
+2017-11-04,46,6
+2017-11-05,52,6
+2017-11-06,28,6
+2017-11-07,32,6
+2017-11-08,47,6
+2017-11-09,44,6
+2017-11-10,53,6
+2017-11-11,53,6
+2017-11-12,60,6
+2017-11-13,35,6
+2017-11-14,51,6
+2017-11-15,34,6
+2017-11-16,57,6
+2017-11-17,41,6
+2017-11-18,54,6
+2017-11-19,61,6
+2017-11-20,22,6
+2017-11-21,42,6
+2017-11-22,44,6
+2017-11-23,45,6
+2017-11-24,38,6
+2017-11-25,62,6
+2017-11-26,64,6
+2017-11-27,36,6
+2017-11-28,34,6
+2017-11-29,41,6
+2017-11-30,52,6
+2017-12-01,30,6
+2017-12-02,24,6
+2017-12-03,41,6
+2017-12-04,35,6
+2017-12-05,19,6
+2017-12-06,28,6
+2017-12-07,37,6
+2017-12-08,29,6
+2017-12-09,22,6
+2017-12-10,38,6
+2017-12-11,25,6
+2017-12-12,31,6
+2017-12-13,29,6
+2017-12-14,35,6
+2017-12-15,37,6
+2017-12-16,41,6
+2017-12-17,51,6
+2017-12-18,24,6
+2017-12-19,28,6
+2017-12-20,29,6
+2017-12-21,28,6
+2017-12-22,49,6
+2017-12-23,24,6
+2017-12-24,42,6
+2017-12-25,20,6
+2017-12-26,29,6
+2017-12-27,30,6
+2017-12-28,24,6
+2017-12-29,33,6
+2017-12-30,50,6
+2017-12-31,45,6
+2013-01-01,33,7
+2013-01-02,28,7
+2013-01-03,28,7
+2013-01-04,24,7
+2013-01-05,37,7
+2013-01-06,37,7
+2013-01-07,24,7
+2013-01-08,27,7
+2013-01-09,29,7
+2013-01-10,26,7
+2013-01-11,33,7
+2013-01-12,30,7
+2013-01-13,40,7
+2013-01-14,28,7
+2013-01-15,24,7
+2013-01-16,33,7
+2013-01-17,30,7
+2013-01-18,21,7
+2013-01-19,38,7
+2013-01-20,33,7
+2013-01-21,15,7
+2013-01-22,36,7
+2013-01-23,30,7
+2013-01-24,19,7
+2013-01-25,36,7
+2013-01-26,34,7
+2013-01-27,44,7
+2013-01-28,29,7
+2013-01-29,37,7
+2013-01-30,19,7
+2013-01-31,30,7
+2013-02-01,43,7
+2013-02-02,38,7
+2013-02-03,44,7
+2013-02-04,25,7
+2013-02-05,31,7
+2013-02-06,22,7
+2013-02-07,34,7
+2013-02-08,41,7
+2013-02-09,41,7
+2013-02-10,45,7
+2013-02-11,33,7
+2013-02-12,32,7
+2013-02-13,34,7
+2013-02-14,40,7
+2013-02-15,35,7
+2013-02-16,31,7
+2013-02-17,36,7
+2013-02-18,36,7
+2013-02-19,31,7
+2013-02-20,41,7
+2013-02-21,36,7
+2013-02-22,43,7
+2013-02-23,43,7
+2013-02-24,37,7
+2013-02-25,27,7
+2013-02-26,32,7
+2013-02-27,28,7
+2013-02-28,41,7
+2013-03-01,35,7
+2013-03-02,57,7
+2013-03-03,48,7
+2013-03-04,33,7
+2013-03-05,39,7
+2013-03-06,53,7
+2013-03-07,43,7
+2013-03-08,47,7
+2013-03-09,38,7
+2013-03-10,50,7
+2013-03-11,39,7
+2013-03-12,43,7
+2013-03-13,48,7
+2013-03-14,30,7
+2013-03-15,56,7
+2013-03-16,57,7
+2013-03-17,55,7
+2013-03-18,41,7
+2013-03-19,30,7
+2013-03-20,34,7
+2013-03-21,39,7
+2013-03-22,50,7
+2013-03-23,46,7
+2013-03-24,55,7
+2013-03-25,34,7
+2013-03-26,39,7
+2013-03-27,37,7
+2013-03-28,53,7
+2013-03-29,49,7
+2013-03-30,51,7
+2013-03-31,49,7
+2013-04-01,39,7
+2013-04-02,58,7
+2013-04-03,42,7
+2013-04-04,45,7
+2013-04-05,57,7
+2013-04-06,50,7
+2013-04-07,39,7
+2013-04-08,39,7
+2013-04-09,50,7
+2013-04-10,45,7
+2013-04-11,54,7
+2013-04-12,57,7
+2013-04-13,60,7
+2013-04-14,50,7
+2013-04-15,33,7
+2013-04-16,42,7
+2013-04-17,51,7
+2013-04-18,49,7
+2013-04-19,62,7
+2013-04-20,52,7
+2013-04-21,46,7
+2013-04-22,46,7
+2013-04-23,51,7
+2013-04-24,45,7
+2013-04-25,43,7
+2013-04-26,54,7
+2013-04-27,48,7
+2013-04-28,53,7
+2013-04-29,42,7
+2013-04-30,61,7
+2013-05-01,56,7
+2013-05-02,40,7
+2013-05-03,55,7
+2013-05-04,52,7
+2013-05-05,61,7
+2013-05-06,39,7
+2013-05-07,53,7
+2013-05-08,40,7
+2013-05-09,46,7
+2013-05-10,57,7
+2013-05-11,64,7
+2013-05-12,65,7
+2013-05-13,46,7
+2013-05-14,48,7
+2013-05-15,49,7
+2013-05-16,57,7
+2013-05-17,62,7
+2013-05-18,60,7
+2013-05-19,62,7
+2013-05-20,52,7
+2013-05-21,64,7
+2013-05-22,59,7
+2013-05-23,58,7
+2013-05-24,63,7
+2013-05-25,58,7
+2013-05-26,63,7
+2013-05-27,39,7
+2013-05-28,41,7
+2013-05-29,42,7
+2013-05-30,47,7
+2013-05-31,51,7
+2013-06-01,57,7
+2013-06-02,70,7
+2013-06-03,47,7
+2013-06-04,55,7
+2013-06-05,55,7
+2013-06-06,70,7
+2013-06-07,52,7
+2013-06-08,62,7
+2013-06-09,58,7
+2013-06-10,44,7
+2013-06-11,43,7
+2013-06-12,49,7
+2013-06-13,51,7
+2013-06-14,47,7
+2013-06-15,70,7
+2013-06-16,63,7
+2013-06-17,39,7
+2013-06-18,48,7
+2013-06-19,60,7
+2013-06-20,52,7
+2013-06-21,49,7
+2013-06-22,79,7
+2013-06-23,62,7
+2013-06-24,38,7
+2013-06-25,59,7
+2013-06-26,41,7
+2013-06-27,61,7
+2013-06-28,70,7
+2013-06-29,67,7
+2013-06-30,63,7
+2013-07-01,43,7
+2013-07-02,58,7
+2013-07-03,66,7
+2013-07-04,67,7
+2013-07-05,62,7
+2013-07-06,76,7
+2013-07-07,75,7
+2013-07-08,46,7
+2013-07-09,66,7
+2013-07-10,52,7
+2013-07-11,47,7
+2013-07-12,75,7
+2013-07-13,56,7
+2013-07-14,74,7
+2013-07-15,60,7
+2013-07-16,47,7
+2013-07-17,62,7
+2013-07-18,65,7
+2013-07-19,70,7
+2013-07-20,61,7
+2013-07-21,81,7
+2013-07-22,55,7
+2013-07-23,50,7
+2013-07-24,42,7
+2013-07-25,59,7
+2013-07-26,69,7
+2013-07-27,73,7
+2013-07-28,69,7
+2013-07-29,46,7
+2013-07-30,71,7
+2013-07-31,44,7
+2013-08-01,46,7
+2013-08-02,57,7
+2013-08-03,58,7
+2013-08-04,61,7
+2013-08-05,46,7
+2013-08-06,49,7
+2013-08-07,45,7
+2013-08-08,47,7
+2013-08-09,58,7
+2013-08-10,56,7
+2013-08-11,59,7
+2013-08-12,42,7
+2013-08-13,51,7
+2013-08-14,50,7
+2013-08-15,65,7
+2013-08-16,68,7
+2013-08-17,55,7
+2013-08-18,62,7
+2013-08-19,53,7
+2013-08-20,52,7
+2013-08-21,54,7
+2013-08-22,44,7
+2013-08-23,42,7
+2013-08-24,69,7
+2013-08-25,64,7
+2013-08-26,41,7
+2013-08-27,37,7
+2013-08-28,50,7
+2013-08-29,45,7
+2013-08-30,45,7
+2013-08-31,60,7
+2013-09-01,66,7
+2013-09-02,36,7
+2013-09-03,43,7
+2013-09-04,59,7
+2013-09-05,39,7
+2013-09-06,68,7
+2013-09-07,37,7
+2013-09-08,47,7
+2013-09-09,39,7
+2013-09-10,49,7
+2013-09-11,54,7
+2013-09-12,47,7
+2013-09-13,53,7
+2013-09-14,46,7
+2013-09-15,67,7
+2013-09-16,34,7
+2013-09-17,39,7
+2013-09-18,50,7
+2013-09-19,43,7
+2013-09-20,42,7
+2013-09-21,42,7
+2013-09-22,62,7
+2013-09-23,38,7
+2013-09-24,47,7
+2013-09-25,54,7
+2013-09-26,51,7
+2013-09-27,48,7
+2013-09-28,50,7
+2013-09-29,44,7
+2013-09-30,38,7
+2013-10-01,39,7
+2013-10-02,53,7
+2013-10-03,50,7
+2013-10-04,41,7
+2013-10-05,46,7
+2013-10-06,65,7
+2013-10-07,37,7
+2013-10-08,45,7
+2013-10-09,45,7
+2013-10-10,45,7
+2013-10-11,44,7
+2013-10-12,48,7
+2013-10-13,62,7
+2013-10-14,37,7
+2013-10-15,45,7
+2013-10-16,40,7
+2013-10-17,49,7
+2013-10-18,45,7
+2013-10-19,54,7
+2013-10-20,44,7
+2013-10-21,31,7
+2013-10-22,43,7
+2013-10-23,52,7
+2013-10-24,42,7
+2013-10-25,55,7
+2013-10-26,52,7
+2013-10-27,46,7
+2013-10-28,33,7
+2013-10-29,51,7
+2013-10-30,33,7
+2013-10-31,44,7
+2013-11-01,52,7
+2013-11-02,63,7
+2013-11-03,57,7
+2013-11-04,43,7
+2013-11-05,36,7
+2013-11-06,40,7
+2013-11-07,44,7
+2013-11-08,38,7
+2013-11-09,57,7
+2013-11-10,65,7
+2013-11-11,43,7
+2013-11-12,56,7
+2013-11-13,44,7
+2013-11-14,48,7
+2013-11-15,50,7
+2013-11-16,57,7
+2013-11-17,66,7
+2013-11-18,46,7
+2013-11-19,46,7
+2013-11-20,48,7
+2013-11-21,49,7
+2013-11-22,51,7
+2013-11-23,53,7
+2013-11-24,57,7
+2013-11-25,33,7
+2013-11-26,56,7
+2013-11-27,52,7
+2013-11-28,52,7
+2013-11-29,62,7
+2013-11-30,55,7
+2013-12-01,29,7
+2013-12-02,33,7
+2013-12-03,26,7
+2013-12-04,39,7
+2013-12-05,22,7
+2013-12-06,42,7
+2013-12-07,35,7
+2013-12-08,38,7
+2013-12-09,38,7
+2013-12-10,40,7
+2013-12-11,31,7
+2013-12-12,32,7
+2013-12-13,40,7
+2013-12-14,47,7
+2013-12-15,45,7
+2013-12-16,32,7
+2013-12-17,28,7
+2013-12-18,27,7
+2013-12-19,51,7
+2013-12-20,48,7
+2013-12-21,31,7
+2013-12-22,25,7
+2013-12-23,23,7
+2013-12-24,31,7
+2013-12-25,37,7
+2013-12-26,31,7
+2013-12-27,37,7
+2013-12-28,45,7
+2013-12-29,45,7
+2013-12-30,30,7
+2013-12-31,32,7
+2014-01-01,48,7
+2014-01-02,52,7
+2014-01-03,41,7
+2014-01-04,41,7
+2014-01-05,47,7
+2014-01-06,39,7
+2014-01-07,29,7
+2014-01-08,35,7
+2014-01-09,35,7
+2014-01-10,45,7
+2014-01-11,52,7
+2014-01-12,49,7
+2014-01-13,29,7
+2014-01-14,33,7
+2014-01-15,35,7
+2014-01-16,45,7
+2014-01-17,44,7
+2014-01-18,41,7
+2014-01-19,35,7
+2014-01-20,36,7
+2014-01-21,31,7
+2014-01-22,48,7
+2014-01-23,35,7
+2014-01-24,39,7
+2014-01-25,32,7
+2014-01-26,46,7
+2014-01-27,35,7
+2014-01-28,37,7
+2014-01-29,35,7
+2014-01-30,33,7
+2014-01-31,55,7
+2014-02-01,31,7
+2014-02-02,53,7
+2014-02-03,26,7
+2014-02-04,34,7
+2014-02-05,37,7
+2014-02-06,43,7
+2014-02-07,35,7
+2014-02-08,59,7
+2014-02-09,55,7
+2014-02-10,29,7
+2014-02-11,24,7
+2014-02-12,45,7
+2014-02-13,29,7
+2014-02-14,51,7
+2014-02-15,40,7
+2014-02-16,46,7
+2014-02-17,24,7
+2014-02-18,32,7
+2014-02-19,31,7
+2014-02-20,39,7
+2014-02-21,44,7
+2014-02-22,39,7
+2014-02-23,51,7
+2014-02-24,33,7
+2014-02-25,40,7
+2014-02-26,50,7
+2014-02-27,31,7
+2014-02-28,46,7
+2014-03-01,53,7
+2014-03-02,72,7
+2014-03-03,32,7
+2014-03-04,42,7
+2014-03-05,47,7
+2014-03-06,44,7
+2014-03-07,54,7
+2014-03-08,47,7
+2014-03-09,52,7
+2014-03-10,49,7
+2014-03-11,39,7
+2014-03-12,51,7
+2014-03-13,49,7
+2014-03-14,46,7
+2014-03-15,58,7
+2014-03-16,42,7
+2014-03-17,37,7
+2014-03-18,41,7
+2014-03-19,38,7
+2014-03-20,58,7
+2014-03-21,54,7
+2014-03-22,62,7
+2014-03-23,53,7
+2014-03-24,54,7
+2014-03-25,48,7
+2014-03-26,49,7
+2014-03-27,42,7
+2014-03-28,51,7
+2014-03-29,58,7
+2014-03-30,53,7
+2014-03-31,46,7
+2014-04-01,39,7
+2014-04-02,52,7
+2014-04-03,64,7
+2014-04-04,65,7
+2014-04-05,38,7
+2014-04-06,73,7
+2014-04-07,37,7
+2014-04-08,56,7
+2014-04-09,37,7
+2014-04-10,54,7
+2014-04-11,59,7
+2014-04-12,52,7
+2014-04-13,66,7
+2014-04-14,48,7
+2014-04-15,48,7
+2014-04-16,43,7
+2014-04-17,57,7
+2014-04-18,72,7
+2014-04-19,74,7
+2014-04-20,66,7
+2014-04-21,30,7
+2014-04-22,49,7
+2014-04-23,50,7
+2014-04-24,51,7
+2014-04-25,56,7
+2014-04-26,66,7
+2014-04-27,57,7
+2014-04-28,51,7
+2014-04-29,74,7
+2014-04-30,52,7
+2014-05-01,51,7
+2014-05-02,62,7
+2014-05-03,68,7
+2014-05-04,68,7
+2014-05-05,35,7
+2014-05-06,66,7
+2014-05-07,63,7
+2014-05-08,53,7
+2014-05-09,65,7
+2014-05-10,86,7
+2014-05-11,70,7
+2014-05-12,51,7
+2014-05-13,59,7
+2014-05-14,53,7
+2014-05-15,56,7
+2014-05-16,69,7
+2014-05-17,51,7
+2014-05-18,79,7
+2014-05-19,49,7
+2014-05-20,51,7
+2014-05-21,66,7
+2014-05-22,54,7
+2014-05-23,63,7
+2014-05-24,62,7
+2014-05-25,61,7
+2014-05-26,54,7
+2014-05-27,59,7
+2014-05-28,54,7
+2014-05-29,68,7
+2014-05-30,66,7
+2014-05-31,71,7
+2014-06-01,87,7
+2014-06-02,49,7
+2014-06-03,39,7
+2014-06-04,58,7
+2014-06-05,75,7
+2014-06-06,71,7
+2014-06-07,58,7
+2014-06-08,69,7
+2014-06-09,48,7
+2014-06-10,55,7
+2014-06-11,59,7
+2014-06-12,50,7
+2014-06-13,69,7
+2014-06-14,67,7
+2014-06-15,80,7
+2014-06-16,57,7
+2014-06-17,60,7
+2014-06-18,73,7
+2014-06-19,60,7
+2014-06-20,69,7
+2014-06-21,65,7
+2014-06-22,80,7
+2014-06-23,56,7
+2014-06-24,59,7
+2014-06-25,64,7
+2014-06-26,60,7
+2014-06-27,77,7
+2014-06-28,60,7
+2014-06-29,70,7
+2014-06-30,48,7
+2014-07-01,50,7
+2014-07-02,59,7
+2014-07-03,69,7
+2014-07-04,83,7
+2014-07-05,81,7
+2014-07-06,78,7
+2014-07-07,44,7
+2014-07-08,63,7
+2014-07-09,61,7
+2014-07-10,62,7
+2014-07-11,71,7
+2014-07-12,76,7
+2014-07-13,89,7
+2014-07-14,69,7
+2014-07-15,58,7
+2014-07-16,68,7
+2014-07-17,68,7
+2014-07-18,76,7
+2014-07-19,79,7
+2014-07-20,87,7
+2014-07-21,46,7
+2014-07-22,46,7
+2014-07-23,52,7
+2014-07-24,71,7
+2014-07-25,66,7
+2014-07-26,92,7
+2014-07-27,71,7
+2014-07-28,55,7
+2014-07-29,48,7
+2014-07-30,56,7
+2014-07-31,56,7
+2014-08-01,61,7
+2014-08-02,58,7
+2014-08-03,76,7
+2014-08-04,51,7
+2014-08-05,64,7
+2014-08-06,45,7
+2014-08-07,53,7
+2014-08-08,76,7
+2014-08-09,55,7
+2014-08-10,71,7
+2014-08-11,45,7
+2014-08-12,52,7
+2014-08-13,58,7
+2014-08-14,77,7
+2014-08-15,69,7
+2014-08-16,77,7
+2014-08-17,63,7
+2014-08-18,53,7
+2014-08-19,60,7
+2014-08-20,50,7
+2014-08-21,58,7
+2014-08-22,60,7
+2014-08-23,68,7
+2014-08-24,58,7
+2014-08-25,59,7
+2014-08-26,52,7
+2014-08-27,49,7
+2014-08-28,54,7
+2014-08-29,58,7
+2014-08-30,68,7
+2014-08-31,74,7
+2014-09-01,38,7
+2014-09-02,57,7
+2014-09-03,50,7
+2014-09-04,63,7
+2014-09-05,54,7
+2014-09-06,58,7
+2014-09-07,74,7
+2014-09-08,39,7
+2014-09-09,68,7
+2014-09-10,49,7
+2014-09-11,50,7
+2014-09-12,68,7
+2014-09-13,64,7
+2014-09-14,61,7
+2014-09-15,44,7
+2014-09-16,62,7
+2014-09-17,49,7
+2014-09-18,50,7
+2014-09-19,60,7
+2014-09-20,73,7
+2014-09-21,60,7
+2014-09-22,56,7
+2014-09-23,48,7
+2014-09-24,53,7
+2014-09-25,48,7
+2014-09-26,52,7
+2014-09-27,62,7
+2014-09-28,56,7
+2014-09-29,48,7
+2014-09-30,41,7
+2014-10-01,53,7
+2014-10-02,69,7
+2014-10-03,60,7
+2014-10-04,60,7
+2014-10-05,64,7
+2014-10-06,38,7
+2014-10-07,54,7
+2014-10-08,52,7
+2014-10-09,41,7
+2014-10-10,62,7
+2014-10-11,54,7
+2014-10-12,56,7
+2014-10-13,43,7
+2014-10-14,53,7
+2014-10-15,37,7
+2014-10-16,48,7
+2014-10-17,62,7
+2014-10-18,67,7
+2014-10-19,61,7
+2014-10-20,43,7
+2014-10-21,53,7
+2014-10-22,56,7
+2014-10-23,55,7
+2014-10-24,53,7
+2014-10-25,63,7
+2014-10-26,49,7
+2014-10-27,48,7
+2014-10-28,44,7
+2014-10-29,49,7
+2014-10-30,55,7
+2014-10-31,56,7
+2014-11-01,71,7
+2014-11-02,68,7
+2014-11-03,43,7
+2014-11-04,55,7
+2014-11-05,50,7
+2014-11-06,50,7
+2014-11-07,64,7
+2014-11-08,61,7
+2014-11-09,76,7
+2014-11-10,51,7
+2014-11-11,53,7
+2014-11-12,53,7
+2014-11-13,44,7
+2014-11-14,53,7
+2014-11-15,52,7
+2014-11-16,68,7
+2014-11-17,36,7
+2014-11-18,50,7
+2014-11-19,68,7
+2014-11-20,67,7
+2014-11-21,64,7
+2014-11-22,73,7
+2014-11-23,56,7
+2014-11-24,43,7
+2014-11-25,53,7
+2014-11-26,52,7
+2014-11-27,50,7
+2014-11-28,57,7
+2014-11-29,52,7
+2014-11-30,61,7
+2014-12-01,35,7
+2014-12-02,38,7
+2014-12-03,43,7
+2014-12-04,32,7
+2014-12-05,47,7
+2014-12-06,49,7
+2014-12-07,41,7
+2014-12-08,30,7
+2014-12-09,40,7
+2014-12-10,53,7
+2014-12-11,46,7
+2014-12-12,44,7
+2014-12-13,39,7
+2014-12-14,43,7
+2014-12-15,26,7
+2014-12-16,35,7
+2014-12-17,24,7
+2014-12-18,44,7
+2014-12-19,42,7
+2014-12-20,33,7
+2014-12-21,52,7
+2014-12-22,32,7
+2014-12-23,37,7
+2014-12-24,35,7
+2014-12-25,30,7
+2014-12-26,36,7
+2014-12-27,44,7
+2014-12-28,62,7
+2014-12-29,32,7
+2014-12-30,42,7
+2014-12-31,33,7
+2015-01-01,41,7
+2015-01-02,42,7
+2015-01-03,43,7
+2015-01-04,61,7
+2015-01-05,31,7
+2015-01-06,47,7
+2015-01-07,22,7
+2015-01-08,47,7
+2015-01-09,34,7
+2015-01-10,40,7
+2015-01-11,43,7
+2015-01-12,30,7
+2015-01-13,38,7
+2015-01-14,37,7
+2015-01-15,54,7
+2015-01-16,39,7
+2015-01-17,43,7
+2015-01-18,32,7
+2015-01-19,26,7
+2015-01-20,40,7
+2015-01-21,44,7
+2015-01-22,42,7
+2015-01-23,35,7
+2015-01-24,46,7
+2015-01-25,47,7
+2015-01-26,44,7
+2015-01-27,22,7
+2015-01-28,42,7
+2015-01-29,30,7
+2015-01-30,38,7
+2015-01-31,42,7
+2015-02-01,50,7
+2015-02-02,29,7
+2015-02-03,39,7
+2015-02-04,41,7
+2015-02-05,46,7
+2015-02-06,57,7
+2015-02-07,44,7
+2015-02-08,67,7
+2015-02-09,32,7
+2015-02-10,51,7
+2015-02-11,38,7
+2015-02-12,58,7
+2015-02-13,40,7
+2015-02-14,47,7
+2015-02-15,50,7
+2015-02-16,40,7
+2015-02-17,40,7
+2015-02-18,39,7
+2015-02-19,44,7
+2015-02-20,40,7
+2015-02-21,50,7
+2015-02-22,46,7
+2015-02-23,41,7
+2015-02-24,35,7
+2015-02-25,44,7
+2015-02-26,39,7
+2015-02-27,47,7
+2015-02-28,36,7
+2015-03-01,53,7
+2015-03-02,42,7
+2015-03-03,41,7
+2015-03-04,48,7
+2015-03-05,56,7
+2015-03-06,46,7
+2015-03-07,54,7
+2015-03-08,46,7
+2015-03-09,46,7
+2015-03-10,46,7
+2015-03-11,57,7
+2015-03-12,50,7
+2015-03-13,49,7
+2015-03-14,44,7
+2015-03-15,56,7
+2015-03-16,42,7
+2015-03-17,49,7
+2015-03-18,38,7
+2015-03-19,56,7
+2015-03-20,60,7
+2015-03-21,61,7
+2015-03-22,73,7
+2015-03-23,40,7
+2015-03-24,51,7
+2015-03-25,53,7
+2015-03-26,56,7
+2015-03-27,56,7
+2015-03-28,49,7
+2015-03-29,52,7
+2015-03-30,39,7
+2015-03-31,38,7
+2015-04-01,54,7
+2015-04-02,63,7
+2015-04-03,64,7
+2015-04-04,63,7
+2015-04-05,71,7
+2015-04-06,45,7
+2015-04-07,33,7
+2015-04-08,47,7
+2015-04-09,62,7
+2015-04-10,66,7
+2015-04-11,90,7
+2015-04-12,77,7
+2015-04-13,49,7
+2015-04-14,50,7
+2015-04-15,44,7
+2015-04-16,53,7
+2015-04-17,65,7
+2015-04-18,66,7
+2015-04-19,72,7
+2015-04-20,50,7
+2015-04-21,51,7
+2015-04-22,51,7
+2015-04-23,62,7
+2015-04-24,73,7
+2015-04-25,61,7
+2015-04-26,70,7
+2015-04-27,41,7
+2015-04-28,49,7
+2015-04-29,45,7
+2015-04-30,51,7
+2015-05-01,62,7
+2015-05-02,84,7
+2015-05-03,74,7
+2015-05-04,54,7
+2015-05-05,60,7
+2015-05-06,68,7
+2015-05-07,57,7
+2015-05-08,78,7
+2015-05-09,71,7
+2015-05-10,77,7
+2015-05-11,49,7
+2015-05-12,58,7
+2015-05-13,60,7
+2015-05-14,50,7
+2015-05-15,61,7
+2015-05-16,78,7
+2015-05-17,76,7
+2015-05-18,54,7
+2015-05-19,53,7
+2015-05-20,58,7
+2015-05-21,72,7
+2015-05-22,65,7
+2015-05-23,77,7
+2015-05-24,71,7
+2015-05-25,62,7
+2015-05-26,70,7
+2015-05-27,57,7
+2015-05-28,77,7
+2015-05-29,67,7
+2015-05-30,69,7
+2015-05-31,74,7
+2015-06-01,55,7
+2015-06-02,64,7
+2015-06-03,62,7
+2015-06-04,55,7
+2015-06-05,63,7
+2015-06-06,76,7
+2015-06-07,75,7
+2015-06-08,54,7
+2015-06-09,56,7
+2015-06-10,64,7
+2015-06-11,73,7
+2015-06-12,81,7
+2015-06-13,72,7
+2015-06-14,78,7
+2015-06-15,52,7
+2015-06-16,76,7
+2015-06-17,73,7
+2015-06-18,58,7
+2015-06-19,71,7
+2015-06-20,66,7
+2015-06-21,79,7
+2015-06-22,45,7
+2015-06-23,69,7
+2015-06-24,57,7
+2015-06-25,58,7
+2015-06-26,69,7
+2015-06-27,87,7
+2015-06-28,83,7
+2015-06-29,58,7
+2015-06-30,68,7
+2015-07-01,60,7
+2015-07-02,72,7
+2015-07-03,67,7
+2015-07-04,77,7
+2015-07-05,93,7
+2015-07-06,50,7
+2015-07-07,58,7
+2015-07-08,45,7
+2015-07-09,70,7
+2015-07-10,80,7
+2015-07-11,74,7
+2015-07-12,87,7
+2015-07-13,57,7
+2015-07-14,66,7
+2015-07-15,78,7
+2015-07-16,85,7
+2015-07-17,89,7
+2015-07-18,82,7
+2015-07-19,88,7
+2015-07-20,44,7
+2015-07-21,72,7
+2015-07-22,70,7
+2015-07-23,74,7
+2015-07-24,80,7
+2015-07-25,72,7
+2015-07-26,102,7
+2015-07-27,49,7
+2015-07-28,73,7
+2015-07-29,58,7
+2015-07-30,78,7
+2015-07-31,79,7
+2015-08-01,75,7
+2015-08-02,60,7
+2015-08-03,43,7
+2015-08-04,70,7
+2015-08-05,56,7
+2015-08-06,66,7
+2015-08-07,73,7
+2015-08-08,82,7
+2015-08-09,62,7
+2015-08-10,62,7
+2015-08-11,65,7
+2015-08-12,57,7
+2015-08-13,73,7
+2015-08-14,56,7
+2015-08-15,74,7
+2015-08-16,60,7
+2015-08-17,53,7
+2015-08-18,50,7
+2015-08-19,67,7
+2015-08-20,61,7
+2015-08-21,76,7
+2015-08-22,74,7
+2015-08-23,78,7
+2015-08-24,43,7
+2015-08-25,65,7
+2015-08-26,58,7
+2015-08-27,78,7
+2015-08-28,61,7
+2015-08-29,76,7
+2015-08-30,75,7
+2015-08-31,53,7
+2015-09-01,47,7
+2015-09-02,61,7
+2015-09-03,68,7
+2015-09-04,61,7
+2015-09-05,67,7
+2015-09-06,73,7
+2015-09-07,46,7
+2015-09-08,58,7
+2015-09-09,56,7
+2015-09-10,64,7
+2015-09-11,67,7
+2015-09-12,65,7
+2015-09-13,63,7
+2015-09-14,59,7
+2015-09-15,67,7
+2015-09-16,58,7
+2015-09-17,50,7
+2015-09-18,58,7
+2015-09-19,81,7
+2015-09-20,73,7
+2015-09-21,55,7
+2015-09-22,43,7
+2015-09-23,57,7
+2015-09-24,38,7
+2015-09-25,55,7
+2015-09-26,68,7
+2015-09-27,57,7
+2015-09-28,54,7
+2015-09-29,55,7
+2015-09-30,55,7
+2015-10-01,67,7
+2015-10-02,52,7
+2015-10-03,54,7
+2015-10-04,71,7
+2015-10-05,44,7
+2015-10-06,51,7
+2015-10-07,72,7
+2015-10-08,58,7
+2015-10-09,58,7
+2015-10-10,54,7
+2015-10-11,46,7
+2015-10-12,34,7
+2015-10-13,58,7
+2015-10-14,58,7
+2015-10-15,59,7
+2015-10-16,68,7
+2015-10-17,74,7
+2015-10-18,74,7
+2015-10-19,41,7
+2015-10-20,48,7
+2015-10-21,47,7
+2015-10-22,39,7
+2015-10-23,57,7
+2015-10-24,73,7
+2015-10-25,60,7
+2015-10-26,35,7
+2015-10-27,67,7
+2015-10-28,40,7
+2015-10-29,45,7
+2015-10-30,47,7
+2015-10-31,49,7
+2015-11-01,68,7
+2015-11-02,38,7
+2015-11-03,52,7
+2015-11-04,56,7
+2015-11-05,61,7
+2015-11-06,65,7
+2015-11-07,71,7
+2015-11-08,75,7
+2015-11-09,65,7
+2015-11-10,38,7
+2015-11-11,53,7
+2015-11-12,62,7
+2015-11-13,46,7
+2015-11-14,61,7
+2015-11-15,64,7
+2015-11-16,43,7
+2015-11-17,52,7
+2015-11-18,52,7
+2015-11-19,60,7
+2015-11-20,55,7
+2015-11-21,55,7
+2015-11-22,70,7
+2015-11-23,41,7
+2015-11-24,72,7
+2015-11-25,52,7
+2015-11-26,66,7
+2015-11-27,66,7
+2015-11-28,77,7
+2015-11-29,55,7
+2015-11-30,48,7
+2015-12-01,35,7
+2015-12-02,38,7
+2015-12-03,33,7
+2015-12-04,42,7
+2015-12-05,46,7
+2015-12-06,55,7
+2015-12-07,36,7
+2015-12-08,39,7
+2015-12-09,43,7
+2015-12-10,41,7
+2015-12-11,33,7
+2015-12-12,59,7
+2015-12-13,44,7
+2015-12-14,40,7
+2015-12-15,51,7
+2015-12-16,43,7
+2015-12-17,46,7
+2015-12-18,57,7
+2015-12-19,51,7
+2015-12-20,49,7
+2015-12-21,35,7
+2015-12-22,34,7
+2015-12-23,37,7
+2015-12-24,38,7
+2015-12-25,56,7
+2015-12-26,51,7
+2015-12-27,52,7
+2015-12-28,27,7
+2015-12-29,47,7
+2015-12-30,45,7
+2015-12-31,29,7
+2016-01-01,54,7
+2016-01-02,53,7
+2016-01-03,48,7
+2016-01-04,41,7
+2016-01-05,31,7
+2016-01-06,41,7
+2016-01-07,45,7
+2016-01-08,51,7
+2016-01-09,35,7
+2016-01-10,55,7
+2016-01-11,41,7
+2016-01-12,40,7
+2016-01-13,39,7
+2016-01-14,45,7
+2016-01-15,38,7
+2016-01-16,38,7
+2016-01-17,57,7
+2016-01-18,29,7
+2016-01-19,46,7
+2016-01-20,38,7
+2016-01-21,43,7
+2016-01-22,38,7
+2016-01-23,48,7
+2016-01-24,47,7
+2016-01-25,38,7
+2016-01-26,32,7
+2016-01-27,34,7
+2016-01-28,44,7
+2016-01-29,39,7
+2016-01-30,37,7
+2016-01-31,58,7
+2016-02-01,43,7
+2016-02-02,35,7
+2016-02-03,51,7
+2016-02-04,43,7
+2016-02-05,44,7
+2016-02-06,53,7
+2016-02-07,60,7
+2016-02-08,46,7
+2016-02-09,38,7
+2016-02-10,34,7
+2016-02-11,51,7
+2016-02-12,43,7
+2016-02-13,64,7
+2016-02-14,53,7
+2016-02-15,29,7
+2016-02-16,41,7
+2016-02-17,45,7
+2016-02-18,43,7
+2016-02-19,57,7
+2016-02-20,58,7
+2016-02-21,51,7
+2016-02-22,38,7
+2016-02-23,31,7
+2016-02-24,41,7
+2016-02-25,52,7
+2016-02-26,44,7
+2016-02-27,52,7
+2016-02-28,56,7
+2016-02-29,39,7
+2016-03-01,53,7
+2016-03-02,56,7
+2016-03-03,57,7
+2016-03-04,60,7
+2016-03-05,70,7
+2016-03-06,62,7
+2016-03-07,44,7
+2016-03-08,64,7
+2016-03-09,56,7
+2016-03-10,52,7
+2016-03-11,61,7
+2016-03-12,51,7
+2016-03-13,57,7
+2016-03-14,33,7
+2016-03-15,56,7
+2016-03-16,56,7
+2016-03-17,57,7
+2016-03-18,60,7
+2016-03-19,60,7
+2016-03-20,50,7
+2016-03-21,48,7
+2016-03-22,49,7
+2016-03-23,60,7
+2016-03-24,59,7
+2016-03-25,52,7
+2016-03-26,50,7
+2016-03-27,61,7
+2016-03-28,57,7
+2016-03-29,53,7
+2016-03-30,53,7
+2016-03-31,53,7
+2016-04-01,60,7
+2016-04-02,73,7
+2016-04-03,76,7
+2016-04-04,46,7
+2016-04-05,51,7
+2016-04-06,76,7
+2016-04-07,68,7
+2016-04-08,68,7
+2016-04-09,77,7
+2016-04-10,77,7
+2016-04-11,47,7
+2016-04-12,50,7
+2016-04-13,59,7
+2016-04-14,59,7
+2016-04-15,68,7
+2016-04-16,77,7
+2016-04-17,68,7
+2016-04-18,62,7
+2016-04-19,53,7
+2016-04-20,54,7
+2016-04-21,60,7
+2016-04-22,86,7
+2016-04-23,76,7
+2016-04-24,80,7
+2016-04-25,58,7
+2016-04-26,71,7
+2016-04-27,68,7
+2016-04-28,66,7
+2016-04-29,67,7
+2016-04-30,75,7
+2016-05-01,79,7
+2016-05-02,43,7
+2016-05-03,58,7
+2016-05-04,56,7
+2016-05-05,65,7
+2016-05-06,82,7
+2016-05-07,73,7
+2016-05-08,70,7
+2016-05-09,76,7
+2016-05-10,76,7
+2016-05-11,60,7
+2016-05-12,86,7
+2016-05-13,66,7
+2016-05-14,82,7
+2016-05-15,66,7
+2016-05-16,42,7
+2016-05-17,67,7
+2016-05-18,52,7
+2016-05-19,53,7
+2016-05-20,73,7
+2016-05-21,79,7
+2016-05-22,74,7
+2016-05-23,65,7
+2016-05-24,48,7
+2016-05-25,61,7
+2016-05-26,68,7
+2016-05-27,72,7
+2016-05-28,88,7
+2016-05-29,82,7
+2016-05-30,56,7
+2016-05-31,63,7
+2016-06-01,58,7
+2016-06-02,83,7
+2016-06-03,72,7
+2016-06-04,85,7
+2016-06-05,95,7
+2016-06-06,55,7
+2016-06-07,71,7
+2016-06-08,65,7
+2016-06-09,67,7
+2016-06-10,84,7
+2016-06-11,86,7
+2016-06-12,104,7
+2016-06-13,59,7
+2016-06-14,65,7
+2016-06-15,51,7
+2016-06-16,72,7
+2016-06-17,72,7
+2016-06-18,71,7
+2016-06-19,87,7
+2016-06-20,62,7
+2016-06-21,55,7
+2016-06-22,65,7
+2016-06-23,81,7
+2016-06-24,74,7
+2016-06-25,81,7
+2016-06-26,95,7
+2016-06-27,62,7
+2016-06-28,70,7
+2016-06-29,83,7
+2016-06-30,80,7
+2016-07-01,74,7
+2016-07-02,91,7
+2016-07-03,92,7
+2016-07-04,59,7
+2016-07-05,66,7
+2016-07-06,53,7
+2016-07-07,87,7
+2016-07-08,82,7
+2016-07-09,106,7
+2016-07-10,90,7
+2016-07-11,77,7
+2016-07-12,71,7
+2016-07-13,74,7
+2016-07-14,86,7
+2016-07-15,67,7
+2016-07-16,76,7
+2016-07-17,78,7
+2016-07-18,49,7
+2016-07-19,86,7
+2016-07-20,73,7
+2016-07-21,81,7
+2016-07-22,73,7
+2016-07-23,88,7
+2016-07-24,105,7
+2016-07-25,60,7
+2016-07-26,65,7
+2016-07-27,64,7
+2016-07-28,83,7
+2016-07-29,70,7
+2016-07-30,80,7
+2016-07-31,95,7
+2016-08-01,55,7
+2016-08-02,53,7
+2016-08-03,59,7
+2016-08-04,62,7
+2016-08-05,79,7
+2016-08-06,74,7
+2016-08-07,78,7
+2016-08-08,56,7
+2016-08-09,61,7
+2016-08-10,66,7
+2016-08-11,65,7
+2016-08-12,89,7
+2016-08-13,81,7
+2016-08-14,75,7
+2016-08-15,50,7
+2016-08-16,80,7
+2016-08-17,63,7
+2016-08-18,61,7
+2016-08-19,85,7
+2016-08-20,71,7
+2016-08-21,83,7
+2016-08-22,62,7
+2016-08-23,62,7
+2016-08-24,63,7
+2016-08-25,62,7
+2016-08-26,64,7
+2016-08-27,75,7
+2016-08-28,74,7
+2016-08-29,57,7
+2016-08-30,61,7
+2016-08-31,57,7
+2016-09-01,71,7
+2016-09-02,81,7
+2016-09-03,73,7
+2016-09-04,81,7
+2016-09-05,46,7
+2016-09-06,78,7
+2016-09-07,62,7
+2016-09-08,71,7
+2016-09-09,71,7
+2016-09-10,75,7
+2016-09-11,66,7
+2016-09-12,44,7
+2016-09-13,60,7
+2016-09-14,53,7
+2016-09-15,49,7
+2016-09-16,54,7
+2016-09-17,62,7
+2016-09-18,79,7
+2016-09-19,45,7
+2016-09-20,53,7
+2016-09-21,55,7
+2016-09-22,61,7
+2016-09-23,68,7
+2016-09-24,73,7
+2016-09-25,86,7
+2016-09-26,46,7
+2016-09-27,64,7
+2016-09-28,61,7
+2016-09-29,69,7
+2016-09-30,64,7
+2016-10-01,55,7
+2016-10-02,88,7
+2016-10-03,45,7
+2016-10-04,47,7
+2016-10-05,51,7
+2016-10-06,67,7
+2016-10-07,55,7
+2016-10-08,71,7
+2016-10-09,90,7
+2016-10-10,50,7
+2016-10-11,61,7
+2016-10-12,64,7
+2016-10-13,55,7
+2016-10-14,43,7
+2016-10-15,52,7
+2016-10-16,88,7
+2016-10-17,70,7
+2016-10-18,52,7
+2016-10-19,53,7
+2016-10-20,64,7
+2016-10-21,61,7
+2016-10-22,71,7
+2016-10-23,77,7
+2016-10-24,42,7
+2016-10-25,62,7
+2016-10-26,51,7
+2016-10-27,55,7
+2016-10-28,54,7
+2016-10-29,67,7
+2016-10-30,72,7
+2016-10-31,35,7
+2016-11-01,67,7
+2016-11-02,52,7
+2016-11-03,48,7
+2016-11-04,65,7
+2016-11-05,75,7
+2016-11-06,76,7
+2016-11-07,59,7
+2016-11-08,51,7
+2016-11-09,55,7
+2016-11-10,57,7
+2016-11-11,65,7
+2016-11-12,66,7
+2016-11-13,67,7
+2016-11-14,54,7
+2016-11-15,56,7
+2016-11-16,60,7
+2016-11-17,51,7
+2016-11-18,80,7
+2016-11-19,57,7
+2016-11-20,67,7
+2016-11-21,51,7
+2016-11-22,57,7
+2016-11-23,64,7
+2016-11-24,65,7
+2016-11-25,64,7
+2016-11-26,89,7
+2016-11-27,63,7
+2016-11-28,59,7
+2016-11-29,49,7
+2016-11-30,59,7
+2016-12-01,51,7
+2016-12-02,56,7
+2016-12-03,49,7
+2016-12-04,60,7
+2016-12-05,29,7
+2016-12-06,38,7
+2016-12-07,41,7
+2016-12-08,44,7
+2016-12-09,40,7
+2016-12-10,56,7
+2016-12-11,58,7
+2016-12-12,28,7
+2016-12-13,53,7
+2016-12-14,36,7
+2016-12-15,44,7
+2016-12-16,64,7
+2016-12-17,54,7
+2016-12-18,59,7
+2016-12-19,42,7
+2016-12-20,39,7
+2016-12-21,34,7
+2016-12-22,27,7
+2016-12-23,40,7
+2016-12-24,54,7
+2016-12-25,58,7
+2016-12-26,40,7
+2016-12-27,41,7
+2016-12-28,45,7
+2016-12-29,43,7
+2016-12-30,54,7
+2016-12-31,51,7
+2017-01-01,41,7
+2017-01-02,39,7
+2017-01-03,33,7
+2017-01-04,36,7
+2017-01-05,34,7
+2017-01-06,44,7
+2017-01-07,45,7
+2017-01-08,39,7
+2017-01-09,33,7
+2017-01-10,34,7
+2017-01-11,46,7
+2017-01-12,45,7
+2017-01-13,41,7
+2017-01-14,46,7
+2017-01-15,54,7
+2017-01-16,40,7
+2017-01-17,42,7
+2017-01-18,42,7
+2017-01-19,23,7
+2017-01-20,47,7
+2017-01-21,39,7
+2017-01-22,55,7
+2017-01-23,37,7
+2017-01-24,28,7
+2017-01-25,35,7
+2017-01-26,31,7
+2017-01-27,37,7
+2017-01-28,44,7
+2017-01-29,53,7
+2017-01-30,40,7
+2017-01-31,38,7
+2017-02-01,51,7
+2017-02-02,44,7
+2017-02-03,52,7
+2017-02-04,43,7
+2017-02-05,57,7
+2017-02-06,34,7
+2017-02-07,46,7
+2017-02-08,38,7
+2017-02-09,46,7
+2017-02-10,45,7
+2017-02-11,48,7
+2017-02-12,39,7
+2017-02-13,39,7
+2017-02-14,45,7
+2017-02-15,37,7
+2017-02-16,45,7
+2017-02-17,47,7
+2017-02-18,53,7
+2017-02-19,69,7
+2017-02-20,32,7
+2017-02-21,37,7
+2017-02-22,44,7
+2017-02-23,65,7
+2017-02-24,58,7
+2017-02-25,55,7
+2017-02-26,65,7
+2017-02-27,45,7
+2017-02-28,32,7
+2017-03-01,51,7
+2017-03-02,50,7
+2017-03-03,49,7
+2017-03-04,56,7
+2017-03-05,66,7
+2017-03-06,52,7
+2017-03-07,42,7
+2017-03-08,58,7
+2017-03-09,58,7
+2017-03-10,63,7
+2017-03-11,69,7
+2017-03-12,60,7
+2017-03-13,40,7
+2017-03-14,49,7
+2017-03-15,51,7
+2017-03-16,62,7
+2017-03-17,56,7
+2017-03-18,64,7
+2017-03-19,64,7
+2017-03-20,40,7
+2017-03-21,56,7
+2017-03-22,34,7
+2017-03-23,71,7
+2017-03-24,50,7
+2017-03-25,62,7
+2017-03-26,66,7
+2017-03-27,43,7
+2017-03-28,67,7
+2017-03-29,49,7
+2017-03-30,52,7
+2017-03-31,51,7
+2017-04-01,74,7
+2017-04-02,78,7
+2017-04-03,42,7
+2017-04-04,46,7
+2017-04-05,69,7
+2017-04-06,64,7
+2017-04-07,64,7
+2017-04-08,68,7
+2017-04-09,81,7
+2017-04-10,59,7
+2017-04-11,76,7
+2017-04-12,52,7
+2017-04-13,68,7
+2017-04-14,79,7
+2017-04-15,68,7
+2017-04-16,76,7
+2017-04-17,45,7
+2017-04-18,68,7
+2017-04-19,60,7
+2017-04-20,66,7
+2017-04-21,69,7
+2017-04-22,82,7
+2017-04-23,74,7
+2017-04-24,41,7
+2017-04-25,64,7
+2017-04-26,54,7
+2017-04-27,61,7
+2017-04-28,69,7
+2017-04-29,78,7
+2017-04-30,80,7
+2017-05-01,55,7
+2017-05-02,63,7
+2017-05-03,60,7
+2017-05-04,67,7
+2017-05-05,66,7
+2017-05-06,77,7
+2017-05-07,89,7
+2017-05-08,45,7
+2017-05-09,62,7
+2017-05-10,65,7
+2017-05-11,71,7
+2017-05-12,68,7
+2017-05-13,82,7
+2017-05-14,60,7
+2017-05-15,60,7
+2017-05-16,55,7
+2017-05-17,69,7
+2017-05-18,77,7
+2017-05-19,71,7
+2017-05-20,76,7
+2017-05-21,79,7
+2017-05-22,69,7
+2017-05-23,60,7
+2017-05-24,63,7
+2017-05-25,94,7
+2017-05-26,85,7
+2017-05-27,84,7
+2017-05-28,95,7
+2017-05-29,62,7
+2017-05-30,63,7
+2017-05-31,72,7
+2017-06-01,77,7
+2017-06-02,85,7
+2017-06-03,82,7
+2017-06-04,81,7
+2017-06-05,68,7
+2017-06-06,65,7
+2017-06-07,60,7
+2017-06-08,67,7
+2017-06-09,84,7
+2017-06-10,75,7
+2017-06-11,86,7
+2017-06-12,66,7
+2017-06-13,75,7
+2017-06-14,81,7
+2017-06-15,68,7
+2017-06-16,75,7
+2017-06-17,79,7
+2017-06-18,95,7
+2017-06-19,63,7
+2017-06-20,72,7
+2017-06-21,58,7
+2017-06-22,74,7
+2017-06-23,77,7
+2017-06-24,64,7
+2017-06-25,87,7
+2017-06-26,63,7
+2017-06-27,67,7
+2017-06-28,80,7
+2017-06-29,70,7
+2017-06-30,79,7
+2017-07-01,100,7
+2017-07-02,99,7
+2017-07-03,68,7
+2017-07-04,68,7
+2017-07-05,77,7
+2017-07-06,95,7
+2017-07-07,86,7
+2017-07-08,88,7
+2017-07-09,85,7
+2017-07-10,62,7
+2017-07-11,79,7
+2017-07-12,62,7
+2017-07-13,80,7
+2017-07-14,86,7
+2017-07-15,80,7
+2017-07-16,105,7
+2017-07-17,55,7
+2017-07-18,65,7
+2017-07-19,66,7
+2017-07-20,80,7
+2017-07-21,87,7
+2017-07-22,92,7
+2017-07-23,90,7
+2017-07-24,65,7
+2017-07-25,68,7
+2017-07-26,81,7
+2017-07-27,88,7
+2017-07-28,78,7
+2017-07-29,87,7
+2017-07-30,114,7
+2017-07-31,53,7
+2017-08-01,62,7
+2017-08-02,71,7
+2017-08-03,67,7
+2017-08-04,82,7
+2017-08-05,73,7
+2017-08-06,93,7
+2017-08-07,43,7
+2017-08-08,68,7
+2017-08-09,63,7
+2017-08-10,55,7
+2017-08-11,76,7
+2017-08-12,68,7
+2017-08-13,87,7
+2017-08-14,58,7
+2017-08-15,65,7
+2017-08-16,70,7
+2017-08-17,71,7
+2017-08-18,68,7
+2017-08-19,83,7
+2017-08-20,85,7
+2017-08-21,56,7
+2017-08-22,63,7
+2017-08-23,65,7
+2017-08-24,76,7
+2017-08-25,73,7
+2017-08-26,91,7
+2017-08-27,87,7
+2017-08-28,53,7
+2017-08-29,57,7
+2017-08-30,70,7
+2017-08-31,73,7
+2017-09-01,83,7
+2017-09-02,64,7
+2017-09-03,82,7
+2017-09-04,49,7
+2017-09-05,72,7
+2017-09-06,52,7
+2017-09-07,60,7
+2017-09-08,65,7
+2017-09-09,62,7
+2017-09-10,90,7
+2017-09-11,57,7
+2017-09-12,77,7
+2017-09-13,60,7
+2017-09-14,64,7
+2017-09-15,62,7
+2017-09-16,62,7
+2017-09-17,74,7
+2017-09-18,65,7
+2017-09-19,66,7
+2017-09-20,81,7
+2017-09-21,54,7
+2017-09-22,59,7
+2017-09-23,84,7
+2017-09-24,91,7
+2017-09-25,52,7
+2017-09-26,59,7
+2017-09-27,64,7
+2017-09-28,70,7
+2017-09-29,81,7
+2017-09-30,68,7
+2017-10-01,71,7
+2017-10-02,58,7
+2017-10-03,61,7
+2017-10-04,68,7
+2017-10-05,70,7
+2017-10-06,53,7
+2017-10-07,60,7
+2017-10-08,58,7
+2017-10-09,53,7
+2017-10-10,58,7
+2017-10-11,55,7
+2017-10-12,64,7
+2017-10-13,75,7
+2017-10-14,64,7
+2017-10-15,77,7
+2017-10-16,44,7
+2017-10-17,59,7
+2017-10-18,44,7
+2017-10-19,70,7
+2017-10-20,82,7
+2017-10-21,73,7
+2017-10-22,81,7
+2017-10-23,65,7
+2017-10-24,64,7
+2017-10-25,49,7
+2017-10-26,50,7
+2017-10-27,60,7
+2017-10-28,64,7
+2017-10-29,66,7
+2017-10-30,53,7
+2017-10-31,64,7
+2017-11-01,63,7
+2017-11-02,70,7
+2017-11-03,82,7
+2017-11-04,74,7
+2017-11-05,72,7
+2017-11-06,40,7
+2017-11-07,86,7
+2017-11-08,64,7
+2017-11-09,63,7
+2017-11-10,77,7
+2017-11-11,61,7
+2017-11-12,89,7
+2017-11-13,44,7
+2017-11-14,66,7
+2017-11-15,54,7
+2017-11-16,58,7
+2017-11-17,73,7
+2017-11-18,73,7
+2017-11-19,67,7
+2017-11-20,67,7
+2017-11-21,65,7
+2017-11-22,58,7
+2017-11-23,50,7
+2017-11-24,64,7
+2017-11-25,79,7
+2017-11-26,94,7
+2017-11-27,55,7
+2017-11-28,49,7
+2017-11-29,72,7
+2017-11-30,64,7
+2017-12-01,44,7
+2017-12-02,51,7
+2017-12-03,62,7
+2017-12-04,36,7
+2017-12-05,37,7
+2017-12-06,34,7
+2017-12-07,33,7
+2017-12-08,58,7
+2017-12-09,50,7
+2017-12-10,46,7
+2017-12-11,32,7
+2017-12-12,48,7
+2017-12-13,45,7
+2017-12-14,58,7
+2017-12-15,63,7
+2017-12-16,60,7
+2017-12-17,64,7
+2017-12-18,41,7
+2017-12-19,55,7
+2017-12-20,40,7
+2017-12-21,51,7
+2017-12-22,60,7
+2017-12-23,43,7
+2017-12-24,56,7
+2017-12-25,30,7
+2017-12-26,28,7
+2017-12-27,39,7
+2017-12-28,50,7
+2017-12-29,58,7
+2017-12-30,44,7
+2017-12-31,46,7
+2013-01-01,19,8
+2013-01-02,16,8
+2013-01-03,8,8
+2013-01-04,17,8
+2013-01-05,18,8
+2013-01-06,18,8
+2013-01-07,14,8
+2013-01-08,12,8
+2013-01-09,16,8
+2013-01-10,19,8
+2013-01-11,18,8
+2013-01-12,17,8
+2013-01-13,16,8
+2013-01-14,14,8
+2013-01-15,13,8
+2013-01-16,20,8
+2013-01-17,15,8
+2013-01-18,14,8
+2013-01-19,18,8
+2013-01-20,10,8
+2013-01-21,12,8
+2013-01-22,19,8
+2013-01-23,16,8
+2013-01-24,18,8
+2013-01-25,19,8
+2013-01-26,17,8
+2013-01-27,11,8
+2013-01-28,15,8
+2013-01-29,16,8
+2013-01-30,16,8
+2013-01-31,12,8
+2013-02-01,22,8
+2013-02-02,29,8
+2013-02-03,16,8
+2013-02-04,21,8
+2013-02-05,12,8
+2013-02-06,24,8
+2013-02-07,20,8
+2013-02-08,19,8
+2013-02-09,21,8
+2013-02-10,16,8
+2013-02-11,14,8
+2013-02-12,15,8
+2013-02-13,11,8
+2013-02-14,14,8
+2013-02-15,16,8
+2013-02-16,17,8
+2013-02-17,30,8
+2013-02-18,15,8
+2013-02-19,17,8
+2013-02-20,7,8
+2013-02-21,13,8
+2013-02-22,17,8
+2013-02-23,14,8
+2013-02-24,16,8
+2013-02-25,25,8
+2013-02-26,17,8
+2013-02-27,17,8
+2013-02-28,12,8
+2013-03-01,18,8
+2013-03-02,18,8
+2013-03-03,16,8
+2013-03-04,16,8
+2013-03-05,22,8
+2013-03-06,18,8
+2013-03-07,19,8
+2013-03-08,27,8
+2013-03-09,26,8
+2013-03-10,19,8
+2013-03-11,9,8
+2013-03-12,21,8
+2013-03-13,18,8
+2013-03-14,19,8
+2013-03-15,15,8
+2013-03-16,24,8
+2013-03-17,26,8
+2013-03-18,10,8
+2013-03-19,24,8
+2013-03-20,25,8
+2013-03-21,24,8
+2013-03-22,23,8
+2013-03-23,19,8
+2013-03-24,23,8
+2013-03-25,20,8
+2013-03-26,18,8
+2013-03-27,15,8
+2013-03-28,17,8
+2013-03-29,25,8
+2013-03-30,24,8
+2013-03-31,32,8
+2013-04-01,18,8
+2013-04-02,17,8
+2013-04-03,17,8
+2013-04-04,22,8
+2013-04-05,24,8
+2013-04-06,30,8
+2013-04-07,26,8
+2013-04-08,22,8
+2013-04-09,33,8
+2013-04-10,27,8
+2013-04-11,26,8
+2013-04-12,38,8
+2013-04-13,26,8
+2013-04-14,18,8
+2013-04-15,20,8
+2013-04-16,18,8
+2013-04-17,18,8
+2013-04-18,24,8
+2013-04-19,30,8
+2013-04-20,24,8
+2013-04-21,23,8
+2013-04-22,21,8
+2013-04-23,20,8
+2013-04-24,27,8
+2013-04-25,18,8
+2013-04-26,18,8
+2013-04-27,31,8
+2013-04-28,32,8
+2013-04-29,15,8
+2013-04-30,23,8
+2013-05-01,27,8
+2013-05-02,26,8
+2013-05-03,27,8
+2013-05-04,30,8
+2013-05-05,33,8
+2013-05-06,12,8
+2013-05-07,32,8
+2013-05-08,18,8
+2013-05-09,31,8
+2013-05-10,27,8
+2013-05-11,33,8
+2013-05-12,33,8
+2013-05-13,26,8
+2013-05-14,29,8
+2013-05-15,23,8
+2013-05-16,23,8
+2013-05-17,36,8
+2013-05-18,26,8
+2013-05-19,27,8
+2013-05-20,20,8
+2013-05-21,25,8
+2013-05-22,23,8
+2013-05-23,27,8
+2013-05-24,24,8
+2013-05-25,34,8
+2013-05-26,43,8
+2013-05-27,21,8
+2013-05-28,25,8
+2013-05-29,24,8
+2013-05-30,21,8
+2013-05-31,27,8
+2013-06-01,31,8
+2013-06-02,54,8
+2013-06-03,17,8
+2013-06-04,26,8
+2013-06-05,24,8
+2013-06-06,28,8
+2013-06-07,33,8
+2013-06-08,27,8
+2013-06-09,27,8
+2013-06-10,25,8
+2013-06-11,34,8
+2013-06-12,19,8
+2013-06-13,28,8
+2013-06-14,36,8
+2013-06-15,39,8
+2013-06-16,25,8
+2013-06-17,17,8
+2013-06-18,20,8
+2013-06-19,21,8
+2013-06-20,31,8
+2013-06-21,23,8
+2013-06-22,34,8
+2013-06-23,34,8
+2013-06-24,25,8
+2013-06-25,27,8
+2013-06-26,32,8
+2013-06-27,34,8
+2013-06-28,26,8
+2013-06-29,31,8
+2013-06-30,31,8
+2013-07-01,26,8
+2013-07-02,27,8
+2013-07-03,28,8
+2013-07-04,26,8
+2013-07-05,25,8
+2013-07-06,28,8
+2013-07-07,46,8
+2013-07-08,22,8
+2013-07-09,28,8
+2013-07-10,36,8
+2013-07-11,35,8
+2013-07-12,28,8
+2013-07-13,24,8
+2013-07-14,43,8
+2013-07-15,24,8
+2013-07-16,25,8
+2013-07-17,20,8
+2013-07-18,23,8
+2013-07-19,23,8
+2013-07-20,44,8
+2013-07-21,39,8
+2013-07-22,25,8
+2013-07-23,34,8
+2013-07-24,26,8
+2013-07-25,39,8
+2013-07-26,33,8
+2013-07-27,36,8
+2013-07-28,36,8
+2013-07-29,18,8
+2013-07-30,24,8
+2013-07-31,21,8
+2013-08-01,29,8
+2013-08-02,20,8
+2013-08-03,26,8
+2013-08-04,32,8
+2013-08-05,17,8
+2013-08-06,32,8
+2013-08-07,19,8
+2013-08-08,31,8
+2013-08-09,27,8
+2013-08-10,37,8
+2013-08-11,38,8
+2013-08-12,17,8
+2013-08-13,21,8
+2013-08-14,30,8
+2013-08-15,23,8
+2013-08-16,35,8
+2013-08-17,29,8
+2013-08-18,29,8
+2013-08-19,26,8
+2013-08-20,27,8
+2013-08-21,16,8
+2013-08-22,27,8
+2013-08-23,31,8
+2013-08-24,23,8
+2013-08-25,39,8
+2013-08-26,20,8
+2013-08-27,26,8
+2013-08-28,23,8
+2013-08-29,32,8
+2013-08-30,29,8
+2013-08-31,26,8
+2013-09-01,30,8
+2013-09-02,18,8
+2013-09-03,19,8
+2013-09-04,23,8
+2013-09-05,25,8
+2013-09-06,28,8
+2013-09-07,41,8
+2013-09-08,28,8
+2013-09-09,18,8
+2013-09-10,22,8
+2013-09-11,21,8
+2013-09-12,34,8
+2013-09-13,30,8
+2013-09-14,27,8
+2013-09-15,26,8
+2013-09-16,23,8
+2013-09-17,13,8
+2013-09-18,22,8
+2013-09-19,19,8
+2013-09-20,15,8
+2013-09-21,23,8
+2013-09-22,24,8
+2013-09-23,18,8
+2013-09-24,20,8
+2013-09-25,24,8
+2013-09-26,19,8
+2013-09-27,22,8
+2013-09-28,23,8
+2013-09-29,26,8
+2013-09-30,14,8
+2013-10-01,19,8
+2013-10-02,22,8
+2013-10-03,17,8
+2013-10-04,26,8
+2013-10-05,26,8
+2013-10-06,29,8
+2013-10-07,22,8
+2013-10-08,22,8
+2013-10-09,20,8
+2013-10-10,22,8
+2013-10-11,30,8
+2013-10-12,21,8
+2013-10-13,31,8
+2013-10-14,18,8
+2013-10-15,19,8
+2013-10-16,14,8
+2013-10-17,18,8
+2013-10-18,27,8
+2013-10-19,28,8
+2013-10-20,24,8
+2013-10-21,20,8
+2013-10-22,17,8
+2013-10-23,28,8
+2013-10-24,25,8
+2013-10-25,22,8
+2013-10-26,28,8
+2013-10-27,29,8
+2013-10-28,25,8
+2013-10-29,23,8
+2013-10-30,15,8
+2013-10-31,17,8
+2013-11-01,22,8
+2013-11-02,27,8
+2013-11-03,32,8
+2013-11-04,27,8
+2013-11-05,25,8
+2013-11-06,24,8
+2013-11-07,20,8
+2013-11-08,21,8
+2013-11-09,24,8
+2013-11-10,26,8
+2013-11-11,19,8
+2013-11-12,14,8
+2013-11-13,17,8
+2013-11-14,22,8
+2013-11-15,24,8
+2013-11-16,25,8
+2013-11-17,29,8
+2013-11-18,14,8
+2013-11-19,26,8
+2013-11-20,26,8
+2013-11-21,20,8
+2013-11-22,20,8
+2013-11-23,22,8
+2013-11-24,28,8
+2013-11-25,20,8
+2013-11-26,32,8
+2013-11-27,21,8
+2013-11-28,31,8
+2013-11-29,21,8
+2013-11-30,22,8
+2013-12-01,27,8
+2013-12-02,16,8
+2013-12-03,13,8
+2013-12-04,11,8
+2013-12-05,19,8
+2013-12-06,14,8
+2013-12-07,22,8
+2013-12-08,22,8
+2013-12-09,12,8
+2013-12-10,11,8
+2013-12-11,16,8
+2013-12-12,21,8
+2013-12-13,24,8
+2013-12-14,16,8
+2013-12-15,12,8
+2013-12-16,11,8
+2013-12-17,18,8
+2013-12-18,13,8
+2013-12-19,23,8
+2013-12-20,18,8
+2013-12-21,23,8
+2013-12-22,18,8
+2013-12-23,16,8
+2013-12-24,22,8
+2013-12-25,18,8
+2013-12-26,21,8
+2013-12-27,8,8
+2013-12-28,18,8
+2013-12-29,22,8
+2013-12-30,14,8
+2013-12-31,17,8
+2014-01-01,8,8
+2014-01-02,13,8
+2014-01-03,22,8
+2014-01-04,23,8
+2014-01-05,20,8
+2014-01-06,14,8
+2014-01-07,9,8
+2014-01-08,12,8
+2014-01-09,15,8
+2014-01-10,17,8
+2014-01-11,14,8
+2014-01-12,24,8
+2014-01-13,13,8
+2014-01-14,15,8
+2014-01-15,14,8
+2014-01-16,18,8
+2014-01-17,18,8
+2014-01-18,25,8
+2014-01-19,19,8
+2014-01-20,9,8
+2014-01-21,15,8
+2014-01-22,17,8
+2014-01-23,17,8
+2014-01-24,29,8
+2014-01-25,15,8
+2014-01-26,19,8
+2014-01-27,18,8
+2014-01-28,10,8
+2014-01-29,15,8
+2014-01-30,16,8
+2014-01-31,17,8
+2014-02-01,32,8
+2014-02-02,22,8
+2014-02-03,14,8
+2014-02-04,17,8
+2014-02-05,21,8
+2014-02-06,19,8
+2014-02-07,18,8
+2014-02-08,25,8
+2014-02-09,25,8
+2014-02-10,19,8
+2014-02-11,21,8
+2014-02-12,11,8
+2014-02-13,25,8
+2014-02-14,22,8
+2014-02-15,27,8
+2014-02-16,26,8
+2014-02-17,18,8
+2014-02-18,13,8
+2014-02-19,16,8
+2014-02-20,27,8
+2014-02-21,20,8
+2014-02-22,25,8
+2014-02-23,32,8
+2014-02-24,16,8
+2014-02-25,25,8
+2014-02-26,22,8
+2014-02-27,21,8
+2014-02-28,16,8
+2014-03-01,17,8
+2014-03-02,23,8
+2014-03-03,22,8
+2014-03-04,19,8
+2014-03-05,26,8
+2014-03-06,27,8
+2014-03-07,30,8
+2014-03-08,22,8
+2014-03-09,30,8
+2014-03-10,19,8
+2014-03-11,19,8
+2014-03-12,25,8
+2014-03-13,22,8
+2014-03-14,21,8
+2014-03-15,33,8
+2014-03-16,29,8
+2014-03-17,15,8
+2014-03-18,21,8
+2014-03-19,18,8
+2014-03-20,22,8
+2014-03-21,31,8
+2014-03-22,28,8
+2014-03-23,32,8
+2014-03-24,28,8
+2014-03-25,22,8
+2014-03-26,20,8
+2014-03-27,21,8
+2014-03-28,34,8
+2014-03-29,31,8
+2014-03-30,23,8
+2014-03-31,16,8
+2014-04-01,17,8
+2014-04-02,32,8
+2014-04-03,19,8
+2014-04-04,33,8
+2014-04-05,29,8
+2014-04-06,28,8
+2014-04-07,22,8
+2014-04-08,28,8
+2014-04-09,25,8
+2014-04-10,18,8
+2014-04-11,19,8
+2014-04-12,29,8
+2014-04-13,38,8
+2014-04-14,24,8
+2014-04-15,29,8
+2014-04-16,22,8
+2014-04-17,25,8
+2014-04-18,21,8
+2014-04-19,22,8
+2014-04-20,21,8
+2014-04-21,33,8
+2014-04-22,40,8
+2014-04-23,26,8
+2014-04-24,26,8
+2014-04-25,25,8
+2014-04-26,35,8
+2014-04-27,39,8
+2014-04-28,15,8
+2014-04-29,23,8
+2014-04-30,20,8
+2014-05-01,24,8
+2014-05-02,40,8
+2014-05-03,31,8
+2014-05-04,35,8
+2014-05-05,23,8
+2014-05-06,30,8
+2014-05-07,30,8
+2014-05-08,29,8
+2014-05-09,34,8
+2014-05-10,30,8
+2014-05-11,40,8
+2014-05-12,24,8
+2014-05-13,24,8
+2014-05-14,22,8
+2014-05-15,37,8
+2014-05-16,37,8
+2014-05-17,31,8
+2014-05-18,35,8
+2014-05-19,22,8
+2014-05-20,24,8
+2014-05-21,33,8
+2014-05-22,34,8
+2014-05-23,34,8
+2014-05-24,29,8
+2014-05-25,33,8
+2014-05-26,18,8
+2014-05-27,25,8
+2014-05-28,23,8
+2014-05-29,26,8
+2014-05-30,21,8
+2014-05-31,35,8
+2014-06-01,32,8
+2014-06-02,21,8
+2014-06-03,25,8
+2014-06-04,29,8
+2014-06-05,23,8
+2014-06-06,35,8
+2014-06-07,33,8
+2014-06-08,33,8
+2014-06-09,26,8
+2014-06-10,22,8
+2014-06-11,30,8
+2014-06-12,43,8
+2014-06-13,20,8
+2014-06-14,28,8
+2014-06-15,33,8
+2014-06-16,34,8
+2014-06-17,28,8
+2014-06-18,29,8
+2014-06-19,20,8
+2014-06-20,36,8
+2014-06-21,38,8
+2014-06-22,43,8
+2014-06-23,26,8
+2014-06-24,30,8
+2014-06-25,24,8
+2014-06-26,43,8
+2014-06-27,32,8
+2014-06-28,34,8
+2014-06-29,36,8
+2014-06-30,24,8
+2014-07-01,34,8
+2014-07-02,35,8
+2014-07-03,35,8
+2014-07-04,41,8
+2014-07-05,48,8
+2014-07-06,54,8
+2014-07-07,32,8
+2014-07-08,31,8
+2014-07-09,28,8
+2014-07-10,34,8
+2014-07-11,40,8
+2014-07-12,42,8
+2014-07-13,45,8
+2014-07-14,24,8
+2014-07-15,26,8
+2014-07-16,19,8
+2014-07-17,33,8
+2014-07-18,36,8
+2014-07-19,49,8
+2014-07-20,42,8
+2014-07-21,25,8
+2014-07-22,28,8
+2014-07-23,27,8
+2014-07-24,28,8
+2014-07-25,33,8
+2014-07-26,32,8
+2014-07-27,38,8
+2014-07-28,20,8
+2014-07-29,32,8
+2014-07-30,29,8
+2014-07-31,38,8
+2014-08-01,30,8
+2014-08-02,38,8
+2014-08-03,34,8
+2014-08-04,25,8
+2014-08-05,21,8
+2014-08-06,23,8
+2014-08-07,31,8
+2014-08-08,26,8
+2014-08-09,32,8
+2014-08-10,36,8
+2014-08-11,18,8
+2014-08-12,24,8
+2014-08-13,23,8
+2014-08-14,31,8
+2014-08-15,24,8
+2014-08-16,40,8
+2014-08-17,40,8
+2014-08-18,21,8
+2014-08-19,26,8
+2014-08-20,33,8
+2014-08-21,38,8
+2014-08-22,35,8
+2014-08-23,28,8
+2014-08-24,37,8
+2014-08-25,25,8
+2014-08-26,26,8
+2014-08-27,25,8
+2014-08-28,29,8
+2014-08-29,28,8
+2014-08-30,34,8
+2014-08-31,40,8
+2014-09-01,28,8
+2014-09-02,26,8
+2014-09-03,29,8
+2014-09-04,29,8
+2014-09-05,37,8
+2014-09-06,24,8
+2014-09-07,24,8
+2014-09-08,19,8
+2014-09-09,36,8
+2014-09-10,21,8
+2014-09-11,28,8
+2014-09-12,32,8
+2014-09-13,25,8
+2014-09-14,28,8
+2014-09-15,15,8
+2014-09-16,25,8
+2014-09-17,29,8
+2014-09-18,26,8
+2014-09-19,30,8
+2014-09-20,32,8
+2014-09-21,36,8
+2014-09-22,16,8
+2014-09-23,25,8
+2014-09-24,24,8
+2014-09-25,38,8
+2014-09-26,26,8
+2014-09-27,37,8
+2014-09-28,29,8
+2014-09-29,23,8
+2014-09-30,26,8
+2014-10-01,22,8
+2014-10-02,22,8
+2014-10-03,27,8
+2014-10-04,28,8
+2014-10-05,38,8
+2014-10-06,16,8
+2014-10-07,24,8
+2014-10-08,22,8
+2014-10-09,26,8
+2014-10-10,14,8
+2014-10-11,28,8
+2014-10-12,29,8
+2014-10-13,18,8
+2014-10-14,17,8
+2014-10-15,12,8
+2014-10-16,28,8
+2014-10-17,19,8
+2014-10-18,32,8
+2014-10-19,31,8
+2014-10-20,22,8
+2014-10-21,26,8
+2014-10-22,24,8
+2014-10-23,25,8
+2014-10-24,24,8
+2014-10-25,31,8
+2014-10-26,26,8
+2014-10-27,17,8
+2014-10-28,25,8
+2014-10-29,34,8
+2014-10-30,31,8
+2014-10-31,30,8
+2014-11-01,27,8
+2014-11-02,31,8
+2014-11-03,32,8
+2014-11-04,25,8
+2014-11-05,28,8
+2014-11-06,19,8
+2014-11-07,27,8
+2014-11-08,34,8
+2014-11-09,30,8
+2014-11-10,19,8
+2014-11-11,25,8
+2014-11-12,33,8
+2014-11-13,26,8
+2014-11-14,33,8
+2014-11-15,32,8
+2014-11-16,29,8
+2014-11-17,22,8
+2014-11-18,20,8
+2014-11-19,28,8
+2014-11-20,33,8
+2014-11-21,18,8
+2014-11-22,37,8
+2014-11-23,28,8
+2014-11-24,26,8
+2014-11-25,25,8
+2014-11-26,23,8
+2014-11-27,20,8
+2014-11-28,28,8
+2014-11-29,40,8
+2014-11-30,34,8
+2014-12-01,16,8
+2014-12-02,16,8
+2014-12-03,11,8
+2014-12-04,15,8
+2014-12-05,27,8
+2014-12-06,19,8
+2014-12-07,25,8
+2014-12-08,17,8
+2014-12-09,18,8
+2014-12-10,18,8
+2014-12-11,23,8
+2014-12-12,16,8
+2014-12-13,17,8
+2014-12-14,21,8
+2014-12-15,15,8
+2014-12-16,16,8
+2014-12-17,14,8
+2014-12-18,29,8
+2014-12-19,23,8
+2014-12-20,21,8
+2014-12-21,23,8
+2014-12-22,17,8
+2014-12-23,14,8
+2014-12-24,15,8
+2014-12-25,24,8
+2014-12-26,20,8
+2014-12-27,33,8
+2014-12-28,27,8
+2014-12-29,20,8
+2014-12-30,18,8
+2014-12-31,23,8
+2015-01-01,14,8
+2015-01-02,16,8
+2015-01-03,28,8
+2015-01-04,23,8
+2015-01-05,12,8
+2015-01-06,13,8
+2015-01-07,14,8
+2015-01-08,18,8
+2015-01-09,32,8
+2015-01-10,21,8
+2015-01-11,20,8
+2015-01-12,18,8
+2015-01-13,13,8
+2015-01-14,19,8
+2015-01-15,24,8
+2015-01-16,17,8
+2015-01-17,25,8
+2015-01-18,22,8
+2015-01-19,16,8
+2015-01-20,20,8
+2015-01-21,23,8
+2015-01-22,24,8
+2015-01-23,20,8
+2015-01-24,23,8
+2015-01-25,17,8
+2015-01-26,13,8
+2015-01-27,23,8
+2015-01-28,18,8
+2015-01-29,16,8
+2015-01-30,17,8
+2015-01-31,26,8
+2015-02-01,24,8
+2015-02-02,16,8
+2015-02-03,17,8
+2015-02-04,17,8
+2015-02-05,13,8
+2015-02-06,25,8
+2015-02-07,30,8
+2015-02-08,28,8
+2015-02-09,17,8
+2015-02-10,11,8
+2015-02-11,23,8
+2015-02-12,28,8
+2015-02-13,23,8
+2015-02-14,17,8
+2015-02-15,26,8
+2015-02-16,15,8
+2015-02-17,18,8
+2015-02-18,18,8
+2015-02-19,17,8
+2015-02-20,21,8
+2015-02-21,27,8
+2015-02-22,20,8
+2015-02-23,24,8
+2015-02-24,24,8
+2015-02-25,22,8
+2015-02-26,15,8
+2015-02-27,20,8
+2015-02-28,19,8
+2015-03-01,34,8
+2015-03-02,12,8
+2015-03-03,34,8
+2015-03-04,28,8
+2015-03-05,20,8
+2015-03-06,24,8
+2015-03-07,35,8
+2015-03-08,29,8
+2015-03-09,15,8
+2015-03-10,18,8
+2015-03-11,26,8
+2015-03-12,20,8
+2015-03-13,23,8
+2015-03-14,29,8
+2015-03-15,34,8
+2015-03-16,17,8
+2015-03-17,17,8
+2015-03-18,27,8
+2015-03-19,19,8
+2015-03-20,29,8
+2015-03-21,27,8
+2015-03-22,32,8
+2015-03-23,16,8
+2015-03-24,27,8
+2015-03-25,26,8
+2015-03-26,23,8
+2015-03-27,22,8
+2015-03-28,28,8
+2015-03-29,30,8
+2015-03-30,20,8
+2015-03-31,20,8
+2015-04-01,21,8
+2015-04-02,28,8
+2015-04-03,30,8
+2015-04-04,38,8
+2015-04-05,33,8
+2015-04-06,16,8
+2015-04-07,27,8
+2015-04-08,24,8
+2015-04-09,31,8
+2015-04-10,31,8
+2015-04-11,28,8
+2015-04-12,27,8
+2015-04-13,29,8
+2015-04-14,31,8
+2015-04-15,30,8
+2015-04-16,35,8
+2015-04-17,34,8
+2015-04-18,30,8
+2015-04-19,23,8
+2015-04-20,20,8
+2015-04-21,25,8
+2015-04-22,29,8
+2015-04-23,30,8
+2015-04-24,26,8
+2015-04-25,30,8
+2015-04-26,31,8
+2015-04-27,22,8
+2015-04-28,27,8
+2015-04-29,26,8
+2015-04-30,21,8
+2015-05-01,29,8
+2015-05-02,31,8
+2015-05-03,38,8
+2015-05-04,22,8
+2015-05-05,19,8
+2015-05-06,31,8
+2015-05-07,35,8
+2015-05-08,37,8
+2015-05-09,38,8
+2015-05-10,32,8
+2015-05-11,22,8
+2015-05-12,18,8
+2015-05-13,27,8
+2015-05-14,34,8
+2015-05-15,29,8
+2015-05-16,38,8
+2015-05-17,41,8
+2015-05-18,26,8
+2015-05-19,26,8
+2015-05-20,38,8
+2015-05-21,32,8
+2015-05-22,33,8
+2015-05-23,24,8
+2015-05-24,31,8
+2015-05-25,13,8
+2015-05-26,23,8
+2015-05-27,41,8
+2015-05-28,45,8
+2015-05-29,28,8
+2015-05-30,45,8
+2015-05-31,34,8
+2015-06-01,34,8
+2015-06-02,21,8
+2015-06-03,25,8
+2015-06-04,34,8
+2015-06-05,33,8
+2015-06-06,43,8
+2015-06-07,37,8
+2015-06-08,30,8
+2015-06-09,41,8
+2015-06-10,34,8
+2015-06-11,32,8
+2015-06-12,35,8
+2015-06-13,24,8
+2015-06-14,39,8
+2015-06-15,21,8
+2015-06-16,38,8
+2015-06-17,17,8
+2015-06-18,34,8
+2015-06-19,37,8
+2015-06-20,33,8
+2015-06-21,32,8
+2015-06-22,28,8
+2015-06-23,39,8
+2015-06-24,35,8
+2015-06-25,33,8
+2015-06-26,43,8
+2015-06-27,42,8
+2015-06-28,38,8
+2015-06-29,21,8
+2015-06-30,33,8
+2015-07-01,19,8
+2015-07-02,26,8
+2015-07-03,25,8
+2015-07-04,49,8
+2015-07-05,40,8
+2015-07-06,23,8
+2015-07-07,31,8
+2015-07-08,28,8
+2015-07-09,32,8
+2015-07-10,42,8
+2015-07-11,39,8
+2015-07-12,33,8
+2015-07-13,29,8
+2015-07-14,31,8
+2015-07-15,26,8
+2015-07-16,22,8
+2015-07-17,34,8
+2015-07-18,42,8
+2015-07-19,36,8
+2015-07-20,28,8
+2015-07-21,32,8
+2015-07-22,40,8
+2015-07-23,33,8
+2015-07-24,27,8
+2015-07-25,34,8
+2015-07-26,61,8
+2015-07-27,24,8
+2015-07-28,33,8
+2015-07-29,35,8
+2015-07-30,33,8
+2015-07-31,33,8
+2015-08-01,43,8
+2015-08-02,34,8
+2015-08-03,26,8
+2015-08-04,28,8
+2015-08-05,24,8
+2015-08-06,38,8
+2015-08-07,29,8
+2015-08-08,50,8
+2015-08-09,39,8
+2015-08-10,38,8
+2015-08-11,38,8
+2015-08-12,30,8
+2015-08-13,20,8
+2015-08-14,36,8
+2015-08-15,30,8
+2015-08-16,25,8
+2015-08-17,15,8
+2015-08-18,26,8
+2015-08-19,29,8
+2015-08-20,26,8
+2015-08-21,33,8
+2015-08-22,25,8
+2015-08-23,29,8
+2015-08-24,31,8
+2015-08-25,25,8
+2015-08-26,30,8
+2015-08-27,22,8
+2015-08-28,42,8
+2015-08-29,31,8
+2015-08-30,40,8
+2015-08-31,23,8
+2015-09-01,19,8
+2015-09-02,26,8
+2015-09-03,24,8
+2015-09-04,36,8
+2015-09-05,34,8
+2015-09-06,38,8
+2015-09-07,13,8
+2015-09-08,26,8
+2015-09-09,29,8
+2015-09-10,23,8
+2015-09-11,37,8
+2015-09-12,30,8
+2015-09-13,34,8
+2015-09-14,31,8
+2015-09-15,25,8
+2015-09-16,25,8
+2015-09-17,34,8
+2015-09-18,25,8
+2015-09-19,38,8
+2015-09-20,28,8
+2015-09-21,23,8
+2015-09-22,26,8
+2015-09-23,39,8
+2015-09-24,23,8
+2015-09-25,28,8
+2015-09-26,27,8
+2015-09-27,38,8
+2015-09-28,27,8
+2015-09-29,30,8
+2015-09-30,19,8
+2015-10-01,32,8
+2015-10-02,27,8
+2015-10-03,20,8
+2015-10-04,27,8
+2015-10-05,25,8
+2015-10-06,24,8
+2015-10-07,22,8
+2015-10-08,31,8
+2015-10-09,26,8
+2015-10-10,37,8
+2015-10-11,37,8
+2015-10-12,15,8
+2015-10-13,17,8
+2015-10-14,28,8
+2015-10-15,18,8
+2015-10-16,31,8
+2015-10-17,26,8
+2015-10-18,30,8
+2015-10-19,23,8
+2015-10-20,28,8
+2015-10-21,24,8
+2015-10-22,22,8
+2015-10-23,33,8
+2015-10-24,28,8
+2015-10-25,26,8
+2015-10-26,20,8
+2015-10-27,24,8
+2015-10-28,18,8
+2015-10-29,22,8
+2015-10-30,25,8
+2015-10-31,29,8
+2015-11-01,26,8
+2015-11-02,19,8
+2015-11-03,28,8
+2015-11-04,27,8
+2015-11-05,31,8
+2015-11-06,25,8
+2015-11-07,37,8
+2015-11-08,34,8
+2015-11-09,21,8
+2015-11-10,30,8
+2015-11-11,26,8
+2015-11-12,20,8
+2015-11-13,30,8
+2015-11-14,24,8
+2015-11-15,41,8
+2015-11-16,23,8
+2015-11-17,19,8
+2015-11-18,36,8
+2015-11-19,31,8
+2015-11-20,25,8
+2015-11-21,37,8
+2015-11-22,36,8
+2015-11-23,22,8
+2015-11-24,23,8
+2015-11-25,26,8
+2015-11-26,25,8
+2015-11-27,27,8
+2015-11-28,26,8
+2015-11-29,27,8
+2015-11-30,19,8
+2015-12-01,26,8
+2015-12-02,26,8
+2015-12-03,26,8
+2015-12-04,25,8
+2015-12-05,25,8
+2015-12-06,25,8
+2015-12-07,8,8
+2015-12-08,27,8
+2015-12-09,22,8
+2015-12-10,21,8
+2015-12-11,28,8
+2015-12-12,17,8
+2015-12-13,19,8
+2015-12-14,22,8
+2015-12-15,21,8
+2015-12-16,17,8
+2015-12-17,23,8
+2015-12-18,12,8
+2015-12-19,16,8
+2015-12-20,28,8
+2015-12-21,30,8
+2015-12-22,12,8
+2015-12-23,12,8
+2015-12-24,21,8
+2015-12-25,24,8
+2015-12-26,19,8
+2015-12-27,20,8
+2015-12-28,18,8
+2015-12-29,22,8
+2015-12-30,19,8
+2015-12-31,23,8
+2016-01-01,20,8
+2016-01-02,18,8
+2016-01-03,21,8
+2016-01-04,20,8
+2016-01-05,22,8
+2016-01-06,25,8
+2016-01-07,15,8
+2016-01-08,14,8
+2016-01-09,28,8
+2016-01-10,23,8
+2016-01-11,15,8
+2016-01-12,20,8
+2016-01-13,20,8
+2016-01-14,28,8
+2016-01-15,19,8
+2016-01-16,15,8
+2016-01-17,22,8
+2016-01-18,14,8
+2016-01-19,11,8
+2016-01-20,20,8
+2016-01-21,15,8
+2016-01-22,25,8
+2016-01-23,20,8
+2016-01-24,27,8
+2016-01-25,12,8
+2016-01-26,18,8
+2016-01-27,19,8
+2016-01-28,28,8
+2016-01-29,24,8
+2016-01-30,21,8
+2016-01-31,21,8
+2016-02-01,24,8
+2016-02-02,11,8
+2016-02-03,16,8
+2016-02-04,21,8
+2016-02-05,20,8
+2016-02-06,27,8
+2016-02-07,26,8
+2016-02-08,14,8
+2016-02-09,21,8
+2016-02-10,21,8
+2016-02-11,30,8
+2016-02-12,21,8
+2016-02-13,22,8
+2016-02-14,30,8
+2016-02-15,20,8
+2016-02-16,33,8
+2016-02-17,25,8
+2016-02-18,19,8
+2016-02-19,41,8
+2016-02-20,22,8
+2016-02-21,21,8
+2016-02-22,17,8
+2016-02-23,17,8
+2016-02-24,21,8
+2016-02-25,21,8
+2016-02-26,15,8
+2016-02-27,27,8
+2016-02-28,22,8
+2016-02-29,19,8
+2016-03-01,25,8
+2016-03-02,29,8
+2016-03-03,32,8
+2016-03-04,24,8
+2016-03-05,32,8
+2016-03-06,32,8
+2016-03-07,27,8
+2016-03-08,27,8
+2016-03-09,19,8
+2016-03-10,31,8
+2016-03-11,18,8
+2016-03-12,32,8
+2016-03-13,31,8
+2016-03-14,27,8
+2016-03-15,21,8
+2016-03-16,27,8
+2016-03-17,29,8
+2016-03-18,28,8
+2016-03-19,28,8
+2016-03-20,19,8
+2016-03-21,25,8
+2016-03-22,26,8
+2016-03-23,21,8
+2016-03-24,16,8
+2016-03-25,25,8
+2016-03-26,39,8
+2016-03-27,29,8
+2016-03-28,17,8
+2016-03-29,34,8
+2016-03-30,21,8
+2016-03-31,24,8
+2016-04-01,24,8
+2016-04-02,27,8
+2016-04-03,27,8
+2016-04-04,31,8
+2016-04-05,37,8
+2016-04-06,25,8
+2016-04-07,33,8
+2016-04-08,47,8
+2016-04-09,33,8
+2016-04-10,29,8
+2016-04-11,24,8
+2016-04-12,28,8
+2016-04-13,29,8
+2016-04-14,33,8
+2016-04-15,33,8
+2016-04-16,23,8
+2016-04-17,27,8
+2016-04-18,29,8
+2016-04-19,27,8
+2016-04-20,28,8
+2016-04-21,30,8
+2016-04-22,35,8
+2016-04-23,43,8
+2016-04-24,30,8
+2016-04-25,21,8
+2016-04-26,30,8
+2016-04-27,33,8
+2016-04-28,27,8
+2016-04-29,35,8
+2016-04-30,26,8
+2016-05-01,29,8
+2016-05-02,18,8
+2016-05-03,30,8
+2016-05-04,25,8
+2016-05-05,35,8
+2016-05-06,39,8
+2016-05-07,35,8
+2016-05-08,44,8
+2016-05-09,25,8
+2016-05-10,28,8
+2016-05-11,39,8
+2016-05-12,31,8
+2016-05-13,35,8
+2016-05-14,38,8
+2016-05-15,38,8
+2016-05-16,24,8
+2016-05-17,32,8
+2016-05-18,30,8
+2016-05-19,31,8
+2016-05-20,33,8
+2016-05-21,40,8
+2016-05-22,32,8
+2016-05-23,27,8
+2016-05-24,32,8
+2016-05-25,39,8
+2016-05-26,47,8
+2016-05-27,30,8
+2016-05-28,41,8
+2016-05-29,30,8
+2016-05-30,33,8
+2016-05-31,29,8
+2016-06-01,32,8
+2016-06-02,34,8
+2016-06-03,27,8
+2016-06-04,45,8
+2016-06-05,31,8
+2016-06-06,33,8
+2016-06-07,37,8
+2016-06-08,35,8
+2016-06-09,40,8
+2016-06-10,35,8
+2016-06-11,45,8
+2016-06-12,49,8
+2016-06-13,30,8
+2016-06-14,42,8
+2016-06-15,39,8
+2016-06-16,33,8
+2016-06-17,32,8
+2016-06-18,51,8
+2016-06-19,53,8
+2016-06-20,21,8
+2016-06-21,32,8
+2016-06-22,21,8
+2016-06-23,32,8
+2016-06-24,36,8
+2016-06-25,33,8
+2016-06-26,42,8
+2016-06-27,23,8
+2016-06-28,26,8
+2016-06-29,20,8
+2016-06-30,45,8
+2016-07-01,45,8
+2016-07-02,42,8
+2016-07-03,33,8
+2016-07-04,37,8
+2016-07-05,31,8
+2016-07-06,40,8
+2016-07-07,30,8
+2016-07-08,45,8
+2016-07-09,43,8
+2016-07-10,43,8
+2016-07-11,24,8
+2016-07-12,43,8
+2016-07-13,42,8
+2016-07-14,38,8
+2016-07-15,39,8
+2016-07-16,43,8
+2016-07-17,47,8
+2016-07-18,25,8
+2016-07-19,39,8
+2016-07-20,31,8
+2016-07-21,38,8
+2016-07-22,44,8
+2016-07-23,41,8
+2016-07-24,36,8
+2016-07-25,26,8
+2016-07-26,36,8
+2016-07-27,38,8
+2016-07-28,39,8
+2016-07-29,34,8
+2016-07-30,42,8
+2016-07-31,44,8
+2016-08-01,37,8
+2016-08-02,35,8
+2016-08-03,37,8
+2016-08-04,25,8
+2016-08-05,43,8
+2016-08-06,40,8
+2016-08-07,40,8
+2016-08-08,25,8
+2016-08-09,35,8
+2016-08-10,34,8
+2016-08-11,29,8
+2016-08-12,44,8
+2016-08-13,26,8
+2016-08-14,37,8
+2016-08-15,30,8
+2016-08-16,41,8
+2016-08-17,36,8
+2016-08-18,31,8
+2016-08-19,39,8
+2016-08-20,39,8
+2016-08-21,50,8
+2016-08-22,23,8
+2016-08-23,34,8
+2016-08-24,38,8
+2016-08-25,29,8
+2016-08-26,36,8
+2016-08-27,36,8
+2016-08-28,43,8
+2016-08-29,38,8
+2016-08-30,25,8
+2016-08-31,40,8
+2016-09-01,37,8
+2016-09-02,34,8
+2016-09-03,34,8
+2016-09-04,39,8
+2016-09-05,22,8
+2016-09-06,20,8
+2016-09-07,30,8
+2016-09-08,24,8
+2016-09-09,41,8
+2016-09-10,40,8
+2016-09-11,29,8
+2016-09-12,24,8
+2016-09-13,20,8
+2016-09-14,26,8
+2016-09-15,33,8
+2016-09-16,32,8
+2016-09-17,35,8
+2016-09-18,37,8
+2016-09-19,29,8
+2016-09-20,17,8
+2016-09-21,28,8
+2016-09-22,27,8
+2016-09-23,41,8
+2016-09-24,27,8
+2016-09-25,41,8
+2016-09-26,35,8
+2016-09-27,31,8
+2016-09-28,26,8
+2016-09-29,35,8
+2016-09-30,44,8
+2016-10-01,27,8
+2016-10-02,31,8
+2016-10-03,25,8
+2016-10-04,20,8
+2016-10-05,20,8
+2016-10-06,35,8
+2016-10-07,31,8
+2016-10-08,30,8
+2016-10-09,28,8
+2016-10-10,14,8
+2016-10-11,26,8
+2016-10-12,20,8
+2016-10-13,25,8
+2016-10-14,17,8
+2016-10-15,27,8
+2016-10-16,40,8
+2016-10-17,20,8
+2016-10-18,23,8
+2016-10-19,24,8
+2016-10-20,29,8
+2016-10-21,39,8
+2016-10-22,35,8
+2016-10-23,41,8
+2016-10-24,21,8
+2016-10-25,29,8
+2016-10-26,25,8
+2016-10-27,24,8
+2016-10-28,32,8
+2016-10-29,33,8
+2016-10-30,40,8
+2016-10-31,19,8
+2016-11-01,25,8
+2016-11-02,31,8
+2016-11-03,37,8
+2016-11-04,32,8
+2016-11-05,29,8
+2016-11-06,30,8
+2016-11-07,18,8
+2016-11-08,29,8
+2016-11-09,35,8
+2016-11-10,33,8
+2016-11-11,29,8
+2016-11-12,35,8
+2016-11-13,44,8
+2016-11-14,28,8
+2016-11-15,30,8
+2016-11-16,25,8
+2016-11-17,28,8
+2016-11-18,27,8
+2016-11-19,26,8
+2016-11-20,31,8
+2016-11-21,20,8
+2016-11-22,24,8
+2016-11-23,18,8
+2016-11-24,37,8
+2016-11-25,43,8
+2016-11-26,45,8
+2016-11-27,34,8
+2016-11-28,28,8
+2016-11-29,30,8
+2016-11-30,30,8
+2016-12-01,21,8
+2016-12-02,23,8
+2016-12-03,24,8
+2016-12-04,32,8
+2016-12-05,20,8
+2016-12-06,25,8
+2016-12-07,25,8
+2016-12-08,28,8
+2016-12-09,22,8
+2016-12-10,19,8
+2016-12-11,27,8
+2016-12-12,18,8
+2016-12-13,21,8
+2016-12-14,21,8
+2016-12-15,19,8
+2016-12-16,21,8
+2016-12-17,22,8
+2016-12-18,31,8
+2016-12-19,16,8
+2016-12-20,15,8
+2016-12-21,17,8
+2016-12-22,18,8
+2016-12-23,25,8
+2016-12-24,27,8
+2016-12-25,27,8
+2016-12-26,20,8
+2016-12-27,24,8
+2016-12-28,17,8
+2016-12-29,25,8
+2016-12-30,27,8
+2016-12-31,21,8
+2017-01-01,27,8
+2017-01-02,20,8
+2017-01-03,21,8
+2017-01-04,17,8
+2017-01-05,14,8
+2017-01-06,33,8
+2017-01-07,21,8
+2017-01-08,21,8
+2017-01-09,19,8
+2017-01-10,27,8
+2017-01-11,20,8
+2017-01-12,22,8
+2017-01-13,22,8
+2017-01-14,26,8
+2017-01-15,19,8
+2017-01-16,14,8
+2017-01-17,16,8
+2017-01-18,18,8
+2017-01-19,21,8
+2017-01-20,27,8
+2017-01-21,21,8
+2017-01-22,29,8
+2017-01-23,16,8
+2017-01-24,10,8
+2017-01-25,17,8
+2017-01-26,16,8
+2017-01-27,18,8
+2017-01-28,28,8
+2017-01-29,27,8
+2017-01-30,15,8
+2017-01-31,16,8
+2017-02-01,19,8
+2017-02-02,21,8
+2017-02-03,28,8
+2017-02-04,19,8
+2017-02-05,19,8
+2017-02-06,27,8
+2017-02-07,32,8
+2017-02-08,18,8
+2017-02-09,26,8
+2017-02-10,21,8
+2017-02-11,36,8
+2017-02-12,21,8
+2017-02-13,12,8
+2017-02-14,18,8
+2017-02-15,24,8
+2017-02-16,23,8
+2017-02-17,17,8
+2017-02-18,26,8
+2017-02-19,28,8
+2017-02-20,23,8
+2017-02-21,17,8
+2017-02-22,18,8
+2017-02-23,24,8
+2017-02-24,26,8
+2017-02-25,35,8
+2017-02-26,31,8
+2017-02-27,18,8
+2017-02-28,19,8
+2017-03-01,31,8
+2017-03-02,33,8
+2017-03-03,23,8
+2017-03-04,33,8
+2017-03-05,33,8
+2017-03-06,19,8
+2017-03-07,30,8
+2017-03-08,26,8
+2017-03-09,38,8
+2017-03-10,32,8
+2017-03-11,31,8
+2017-03-12,34,8
+2017-03-13,16,8
+2017-03-14,35,8
+2017-03-15,23,8
+2017-03-16,31,8
+2017-03-17,34,8
+2017-03-18,25,8
+2017-03-19,33,8
+2017-03-20,21,8
+2017-03-21,29,8
+2017-03-22,25,8
+2017-03-23,32,8
+2017-03-24,34,8
+2017-03-25,33,8
+2017-03-26,21,8
+2017-03-27,21,8
+2017-03-28,31,8
+2017-03-29,26,8
+2017-03-30,23,8
+2017-03-31,23,8
+2017-04-01,40,8
+2017-04-02,42,8
+2017-04-03,33,8
+2017-04-04,28,8
+2017-04-05,37,8
+2017-04-06,40,8
+2017-04-07,38,8
+2017-04-08,36,8
+2017-04-09,46,8
+2017-04-10,25,8
+2017-04-11,30,8
+2017-04-12,29,8
+2017-04-13,36,8
+2017-04-14,29,8
+2017-04-15,37,8
+2017-04-16,29,8
+2017-04-17,33,8
+2017-04-18,20,8
+2017-04-19,35,8
+2017-04-20,24,8
+2017-04-21,29,8
+2017-04-22,31,8
+2017-04-23,37,8
+2017-04-24,31,8
+2017-04-25,27,8
+2017-04-26,32,8
+2017-04-27,30,8
+2017-04-28,46,8
+2017-04-29,28,8
+2017-04-30,38,8
+2017-05-01,29,8
+2017-05-02,25,8
+2017-05-03,30,8
+2017-05-04,38,8
+2017-05-05,33,8
+2017-05-06,36,8
+2017-05-07,36,8
+2017-05-08,25,8
+2017-05-09,29,8
+2017-05-10,24,8
+2017-05-11,35,8
+2017-05-12,48,8
+2017-05-13,41,8
+2017-05-14,49,8
+2017-05-15,33,8
+2017-05-16,29,8
+2017-05-17,38,8
+2017-05-18,38,8
+2017-05-19,40,8
+2017-05-20,33,8
+2017-05-21,33,8
+2017-05-22,29,8
+2017-05-23,27,8
+2017-05-24,24,8
+2017-05-25,37,8
+2017-05-26,30,8
+2017-05-27,39,8
+2017-05-28,53,8
+2017-05-29,36,8
+2017-05-30,29,8
+2017-05-31,29,8
+2017-06-01,36,8
+2017-06-02,39,8
+2017-06-03,43,8
+2017-06-04,47,8
+2017-06-05,35,8
+2017-06-06,26,8
+2017-06-07,27,8
+2017-06-08,29,8
+2017-06-09,41,8
+2017-06-10,40,8
+2017-06-11,37,8
+2017-06-12,29,8
+2017-06-13,29,8
+2017-06-14,43,8
+2017-06-15,39,8
+2017-06-16,54,8
+2017-06-17,41,8
+2017-06-18,37,8
+2017-06-19,28,8
+2017-06-20,32,8
+2017-06-21,24,8
+2017-06-22,35,8
+2017-06-23,37,8
+2017-06-24,44,8
+2017-06-25,44,8
+2017-06-26,33,8
+2017-06-27,35,8
+2017-06-28,26,8
+2017-06-29,32,8
+2017-06-30,37,8
+2017-07-01,49,8
+2017-07-02,33,8
+2017-07-03,44,8
+2017-07-04,33,8
+2017-07-05,35,8
+2017-07-06,37,8
+2017-07-07,45,8
+2017-07-08,44,8
+2017-07-09,52,8
+2017-07-10,28,8
+2017-07-11,35,8
+2017-07-12,29,8
+2017-07-13,49,8
+2017-07-14,48,8
+2017-07-15,53,8
+2017-07-16,56,8
+2017-07-17,33,8
+2017-07-18,45,8
+2017-07-19,44,8
+2017-07-20,38,8
+2017-07-21,49,8
+2017-07-22,45,8
+2017-07-23,45,8
+2017-07-24,36,8
+2017-07-25,21,8
+2017-07-26,34,8
+2017-07-27,45,8
+2017-07-28,33,8
+2017-07-29,43,8
+2017-07-30,54,8
+2017-07-31,26,8
+2017-08-01,23,8
+2017-08-02,40,8
+2017-08-03,37,8
+2017-08-04,33,8
+2017-08-05,42,8
+2017-08-06,36,8
+2017-08-07,30,8
+2017-08-08,31,8
+2017-08-09,28,8
+2017-08-10,37,8
+2017-08-11,42,8
+2017-08-12,31,8
+2017-08-13,45,8
+2017-08-14,27,8
+2017-08-15,27,8
+2017-08-16,33,8
+2017-08-17,41,8
+2017-08-18,27,8
+2017-08-19,44,8
+2017-08-20,37,8
+2017-08-21,30,8
+2017-08-22,32,8
+2017-08-23,29,8
+2017-08-24,34,8
+2017-08-25,35,8
+2017-08-26,41,8
+2017-08-27,46,8
+2017-08-28,28,8
+2017-08-29,43,8
+2017-08-30,25,8
+2017-08-31,32,8
+2017-09-01,38,8
+2017-09-02,31,8
+2017-09-03,37,8
+2017-09-04,29,8
+2017-09-05,38,8
+2017-09-06,33,8
+2017-09-07,29,8
+2017-09-08,36,8
+2017-09-09,42,8
+2017-09-10,33,8
+2017-09-11,18,8
+2017-09-12,25,8
+2017-09-13,31,8
+2017-09-14,32,8
+2017-09-15,34,8
+2017-09-16,28,8
+2017-09-17,20,8
+2017-09-18,30,8
+2017-09-19,30,8
+2017-09-20,29,8
+2017-09-21,38,8
+2017-09-22,31,8
+2017-09-23,34,8
+2017-09-24,49,8
+2017-09-25,27,8
+2017-09-26,21,8
+2017-09-27,34,8
+2017-09-28,36,8
+2017-09-29,32,8
+2017-09-30,31,8
+2017-10-01,21,8
+2017-10-02,19,8
+2017-10-03,22,8
+2017-10-04,34,8
+2017-10-05,43,8
+2017-10-06,30,8
+2017-10-07,53,8
+2017-10-08,30,8
+2017-10-09,19,8
+2017-10-10,27,8
+2017-10-11,28,8
+2017-10-12,36,8
+2017-10-13,31,8
+2017-10-14,27,8
+2017-10-15,38,8
+2017-10-16,17,8
+2017-10-17,33,8
+2017-10-18,25,8
+2017-10-19,23,8
+2017-10-20,30,8
+2017-10-21,30,8
+2017-10-22,42,8
+2017-10-23,24,8
+2017-10-24,23,8
+2017-10-25,22,8
+2017-10-26,33,8
+2017-10-27,33,8
+2017-10-28,23,8
+2017-10-29,45,8
+2017-10-30,26,8
+2017-10-31,37,8
+2017-11-01,22,8
+2017-11-02,36,8
+2017-11-03,36,8
+2017-11-04,29,8
+2017-11-05,40,8
+2017-11-06,33,8
+2017-11-07,25,8
+2017-11-08,23,8
+2017-11-09,34,8
+2017-11-10,34,8
+2017-11-11,37,8
+2017-11-12,46,8
+2017-11-13,26,8
+2017-11-14,34,8
+2017-11-15,26,8
+2017-11-16,32,8
+2017-11-17,36,8
+2017-11-18,33,8
+2017-11-19,36,8
+2017-11-20,23,8
+2017-11-21,30,8
+2017-11-22,27,8
+2017-11-23,31,8
+2017-11-24,30,8
+2017-11-25,43,8
+2017-11-26,45,8
+2017-11-27,26,8
+2017-11-28,25,8
+2017-11-29,25,8
+2017-11-30,31,8
+2017-12-01,24,8
+2017-12-02,17,8
+2017-12-03,35,8
+2017-12-04,16,8
+2017-12-05,25,8
+2017-12-06,17,8
+2017-12-07,17,8
+2017-12-08,27,8
+2017-12-09,32,8
+2017-12-10,33,8
+2017-12-11,21,8
+2017-12-12,16,8
+2017-12-13,19,8
+2017-12-14,16,8
+2017-12-15,26,8
+2017-12-16,24,8
+2017-12-17,42,8
+2017-12-18,20,8
+2017-12-19,18,8
+2017-12-20,14,8
+2017-12-21,24,8
+2017-12-22,21,8
+2017-12-23,25,8
+2017-12-24,29,8
+2017-12-25,19,8
+2017-12-26,29,8
+2017-12-27,26,8
+2017-12-28,20,8
+2017-12-29,23,8
+2017-12-30,25,8
+2017-12-31,23,8
+2013-01-01,25,9
+2013-01-02,28,9
+2013-01-03,34,9
+2013-01-04,21,9
+2013-01-05,20,9
+2013-01-06,29,9
+2013-01-07,24,9
+2013-01-08,22,9
+2013-01-09,31,9
+2013-01-10,27,9
+2013-01-11,36,9
+2013-01-12,18,9
+2013-01-13,35,9
+2013-01-14,19,9
+2013-01-15,21,9
+2013-01-16,22,9
+2013-01-17,22,9
+2013-01-18,21,9
+2013-01-19,27,9
+2013-01-20,24,9
+2013-01-21,23,9
+2013-01-22,25,9
+2013-01-23,28,9
+2013-01-24,25,9
+2013-01-25,22,9
+2013-01-26,34,9
+2013-01-27,30,9
+2013-01-28,25,9
+2013-01-29,26,9
+2013-01-30,23,9
+2013-01-31,19,9
+2013-02-01,32,9
+2013-02-02,25,9
+2013-02-03,26,9
+2013-02-04,17,9
+2013-02-05,27,9
+2013-02-06,24,9
+2013-02-07,32,9
+2013-02-08,29,9
+2013-02-09,22,9
+2013-02-10,24,9
+2013-02-11,22,9
+2013-02-12,22,9
+2013-02-13,26,9
+2013-02-14,17,9
+2013-02-15,20,9
+2013-02-16,27,9
+2013-02-17,32,9
+2013-02-18,20,9
+2013-02-19,23,9
+2013-02-20,25,9
+2013-02-21,25,9
+2013-02-22,25,9
+2013-02-23,26,9
+2013-02-24,25,9
+2013-02-25,23,9
+2013-02-26,27,9
+2013-02-27,17,9
+2013-02-28,24,9
+2013-03-01,46,9
+2013-03-02,32,9
+2013-03-03,37,9
+2013-03-04,21,9
+2013-03-05,35,9
+2013-03-06,33,9
+2013-03-07,37,9
+2013-03-08,40,9
+2013-03-09,37,9
+2013-03-10,37,9
+2013-03-11,24,9
+2013-03-12,34,9
+2013-03-13,32,9
+2013-03-14,32,9
+2013-03-15,42,9
+2013-03-16,38,9
+2013-03-17,33,9
+2013-03-18,22,9
+2013-03-19,38,9
+2013-03-20,25,9
+2013-03-21,29,9
+2013-03-22,37,9
+2013-03-23,48,9
+2013-03-24,42,9
+2013-03-25,30,9
+2013-03-26,28,9
+2013-03-27,22,9
+2013-03-28,33,9
+2013-03-29,29,9
+2013-03-30,46,9
+2013-03-31,32,9
+2013-04-01,36,9
+2013-04-02,35,9
+2013-04-03,31,9
+2013-04-04,40,9
+2013-04-05,35,9
+2013-04-06,38,9
+2013-04-07,47,9
+2013-04-08,18,9
+2013-04-09,35,9
+2013-04-10,35,9
+2013-04-11,35,9
+2013-04-12,43,9
+2013-04-13,54,9
+2013-04-14,46,9
+2013-04-15,30,9
+2013-04-16,37,9
+2013-04-17,30,9
+2013-04-18,35,9
+2013-04-19,34,9
+2013-04-20,42,9
+2013-04-21,46,9
+2013-04-22,30,9
+2013-04-23,33,9
+2013-04-24,45,9
+2013-04-25,41,9
+2013-04-26,26,9
+2013-04-27,49,9
+2013-04-28,44,9
+2013-04-29,33,9
+2013-04-30,39,9
+2013-05-01,35,9
+2013-05-02,52,9
+2013-05-03,42,9
+2013-05-04,38,9
+2013-05-05,51,9
+2013-05-06,35,9
+2013-05-07,35,9
+2013-05-08,33,9
+2013-05-09,44,9
+2013-05-10,37,9
+2013-05-11,50,9
+2013-05-12,44,9
+2013-05-13,31,9
+2013-05-14,26,9
+2013-05-15,31,9
+2013-05-16,46,9
+2013-05-17,44,9
+2013-05-18,31,9
+2013-05-19,48,9
+2013-05-20,32,9
+2013-05-21,44,9
+2013-05-22,34,9
+2013-05-23,39,9
+2013-05-24,36,9
+2013-05-25,45,9
+2013-05-26,57,9
+2013-05-27,37,9
+2013-05-28,33,9
+2013-05-29,43,9
+2013-05-30,37,9
+2013-05-31,59,9
+2013-06-01,45,9
+2013-06-02,52,9
+2013-06-03,25,9
+2013-06-04,40,9
+2013-06-05,50,9
+2013-06-06,42,9
+2013-06-07,46,9
+2013-06-08,47,9
+2013-06-09,46,9
+2013-06-10,36,9
+2013-06-11,39,9
+2013-06-12,47,9
+2013-06-13,36,9
+2013-06-14,40,9
+2013-06-15,48,9
+2013-06-16,49,9
+2013-06-17,35,9
+2013-06-18,39,9
+2013-06-19,36,9
+2013-06-20,50,9
+2013-06-21,45,9
+2013-06-22,34,9
+2013-06-23,52,9
+2013-06-24,26,9
+2013-06-25,39,9
+2013-06-26,32,9
+2013-06-27,42,9
+2013-06-28,51,9
+2013-06-29,44,9
+2013-06-30,55,9
+2013-07-01,35,9
+2013-07-02,33,9
+2013-07-03,45,9
+2013-07-04,50,9
+2013-07-05,52,9
+2013-07-06,51,9
+2013-07-07,49,9
+2013-07-08,37,9
+2013-07-09,40,9
+2013-07-10,43,9
+2013-07-11,37,9
+2013-07-12,39,9
+2013-07-13,56,9
+2013-07-14,53,9
+2013-07-15,35,9
+2013-07-16,52,9
+2013-07-17,55,9
+2013-07-18,43,9
+2013-07-19,46,9
+2013-07-20,56,9
+2013-07-21,59,9
+2013-07-22,26,9
+2013-07-23,49,9
+2013-07-24,44,9
+2013-07-25,41,9
+2013-07-26,41,9
+2013-07-27,52,9
+2013-07-28,65,9
+2013-07-29,32,9
+2013-07-30,34,9
+2013-07-31,50,9
+2013-08-01,46,9
+2013-08-02,47,9
+2013-08-03,50,9
+2013-08-04,49,9
+2013-08-05,26,9
+2013-08-06,49,9
+2013-08-07,38,9
+2013-08-08,43,9
+2013-08-09,40,9
+2013-08-10,56,9
+2013-08-11,60,9
+2013-08-12,29,9
+2013-08-13,35,9
+2013-08-14,42,9
+2013-08-15,35,9
+2013-08-16,51,9
+2013-08-17,38,9
+2013-08-18,56,9
+2013-08-19,39,9
+2013-08-20,31,9
+2013-08-21,31,9
+2013-08-22,39,9
+2013-08-23,44,9
+2013-08-24,50,9
+2013-08-25,63,9
+2013-08-26,31,9
+2013-08-27,35,9
+2013-08-28,30,9
+2013-08-29,42,9
+2013-08-30,49,9
+2013-08-31,44,9
+2013-09-01,52,9
+2013-09-02,36,9
+2013-09-03,29,9
+2013-09-04,35,9
+2013-09-05,46,9
+2013-09-06,31,9
+2013-09-07,39,9
+2013-09-08,43,9
+2013-09-09,21,9
+2013-09-10,32,9
+2013-09-11,35,9
+2013-09-12,27,9
+2013-09-13,46,9
+2013-09-14,50,9
+2013-09-15,43,9
+2013-09-16,29,9
+2013-09-17,26,9
+2013-09-18,32,9
+2013-09-19,38,9
+2013-09-20,40,9
+2013-09-21,45,9
+2013-09-22,43,9
+2013-09-23,29,9
+2013-09-24,45,9
+2013-09-25,35,9
+2013-09-26,32,9
+2013-09-27,46,9
+2013-09-28,45,9
+2013-09-29,46,9
+2013-09-30,26,9
+2013-10-01,27,9
+2013-10-02,38,9
+2013-10-03,36,9
+2013-10-04,43,9
+2013-10-05,30,9
+2013-10-06,46,9
+2013-10-07,28,9
+2013-10-08,35,9
+2013-10-09,28,9
+2013-10-10,30,9
+2013-10-11,41,9
+2013-10-12,27,9
+2013-10-13,44,9
+2013-10-14,30,9
+2013-10-15,39,9
+2013-10-16,32,9
+2013-10-17,39,9
+2013-10-18,25,9
+2013-10-19,31,9
+2013-10-20,45,9
+2013-10-21,29,9
+2013-10-22,39,9
+2013-10-23,27,9
+2013-10-24,46,9
+2013-10-25,33,9
+2013-10-26,45,9
+2013-10-27,36,9
+2013-10-28,23,9
+2013-10-29,38,9
+2013-10-30,37,9
+2013-10-31,36,9
+2013-11-01,32,9
+2013-11-02,52,9
+2013-11-03,32,9
+2013-11-04,27,9
+2013-11-05,35,9
+2013-11-06,33,9
+2013-11-07,30,9
+2013-11-08,41,9
+2013-11-09,44,9
+2013-11-10,46,9
+2013-11-11,28,9
+2013-11-12,40,9
+2013-11-13,41,9
+2013-11-14,36,9
+2013-11-15,38,9
+2013-11-16,46,9
+2013-11-17,39,9
+2013-11-18,34,9
+2013-11-19,28,9
+2013-11-20,36,9
+2013-11-21,40,9
+2013-11-22,48,9
+2013-11-23,38,9
+2013-11-24,59,9
+2013-11-25,28,9
+2013-11-26,36,9
+2013-11-27,35,9
+2013-11-28,34,9
+2013-11-29,38,9
+2013-11-30,41,9
+2013-12-01,23,9
+2013-12-02,23,9
+2013-12-03,27,9
+2013-12-04,19,9
+2013-12-05,27,9
+2013-12-06,33,9
+2013-12-07,30,9
+2013-12-08,33,9
+2013-12-09,21,9
+2013-12-10,28,9
+2013-12-11,27,9
+2013-12-12,27,9
+2013-12-13,25,9
+2013-12-14,31,9
+2013-12-15,30,9
+2013-12-16,16,9
+2013-12-17,22,9
+2013-12-18,22,9
+2013-12-19,22,9
+2013-12-20,32,9
+2013-12-21,26,9
+2013-12-22,32,9
+2013-12-23,18,9
+2013-12-24,32,9
+2013-12-25,27,9
+2013-12-26,28,9
+2013-12-27,28,9
+2013-12-28,33,9
+2013-12-29,29,9
+2013-12-30,20,9
+2013-12-31,22,9
+2014-01-01,26,9
+2014-01-02,31,9
+2014-01-03,31,9
+2014-01-04,28,9
+2014-01-05,32,9
+2014-01-06,28,9
+2014-01-07,19,9
+2014-01-08,28,9
+2014-01-09,26,9
+2014-01-10,42,9
+2014-01-11,22,9
+2014-01-12,42,9
+2014-01-13,29,9
+2014-01-14,25,9
+2014-01-15,30,9
+2014-01-16,25,9
+2014-01-17,24,9
+2014-01-18,33,9
+2014-01-19,21,9
+2014-01-20,23,9
+2014-01-21,25,9
+2014-01-22,25,9
+2014-01-23,26,9
+2014-01-24,41,9
+2014-01-25,29,9
+2014-01-26,32,9
+2014-01-27,25,9
+2014-01-28,30,9
+2014-01-29,24,9
+2014-01-30,30,9
+2014-01-31,36,9
+2014-02-01,35,9
+2014-02-02,33,9
+2014-02-03,28,9
+2014-02-04,29,9
+2014-02-05,26,9
+2014-02-06,25,9
+2014-02-07,31,9
+2014-02-08,23,9
+2014-02-09,45,9
+2014-02-10,20,9
+2014-02-11,24,9
+2014-02-12,21,9
+2014-02-13,38,9
+2014-02-14,29,9
+2014-02-15,32,9
+2014-02-16,39,9
+2014-02-17,24,9
+2014-02-18,25,9
+2014-02-19,30,9
+2014-02-20,37,9
+2014-02-21,36,9
+2014-02-22,37,9
+2014-02-23,33,9
+2014-02-24,22,9
+2014-02-25,37,9
+2014-02-26,34,9
+2014-02-27,40,9
+2014-02-28,38,9
+2014-03-01,58,9
+2014-03-02,37,9
+2014-03-03,30,9
+2014-03-04,30,9
+2014-03-05,38,9
+2014-03-06,31,9
+2014-03-07,44,9
+2014-03-08,47,9
+2014-03-09,36,9
+2014-03-10,35,9
+2014-03-11,49,9
+2014-03-12,40,9
+2014-03-13,43,9
+2014-03-14,46,9
+2014-03-15,33,9
+2014-03-16,59,9
+2014-03-17,31,9
+2014-03-18,28,9
+2014-03-19,30,9
+2014-03-20,36,9
+2014-03-21,36,9
+2014-03-22,43,9
+2014-03-23,40,9
+2014-03-24,26,9
+2014-03-25,37,9
+2014-03-26,31,9
+2014-03-27,31,9
+2014-03-28,30,9
+2014-03-29,37,9
+2014-03-30,33,9
+2014-03-31,25,9
+2014-04-01,32,9
+2014-04-02,41,9
+2014-04-03,34,9
+2014-04-04,45,9
+2014-04-05,44,9
+2014-04-06,50,9
+2014-04-07,38,9
+2014-04-08,51,9
+2014-04-09,48,9
+2014-04-10,46,9
+2014-04-11,43,9
+2014-04-12,57,9
+2014-04-13,50,9
+2014-04-14,33,9
+2014-04-15,44,9
+2014-04-16,42,9
+2014-04-17,37,9
+2014-04-18,48,9
+2014-04-19,40,9
+2014-04-20,48,9
+2014-04-21,32,9
+2014-04-22,35,9
+2014-04-23,41,9
+2014-04-24,39,9
+2014-04-25,48,9
+2014-04-26,47,9
+2014-04-27,42,9
+2014-04-28,30,9
+2014-04-29,38,9
+2014-04-30,36,9
+2014-05-01,43,9
+2014-05-02,52,9
+2014-05-03,55,9
+2014-05-04,42,9
+2014-05-05,36,9
+2014-05-06,51,9
+2014-05-07,36,9
+2014-05-08,36,9
+2014-05-09,48,9
+2014-05-10,44,9
+2014-05-11,56,9
+2014-05-12,35,9
+2014-05-13,41,9
+2014-05-14,43,9
+2014-05-15,34,9
+2014-05-16,50,9
+2014-05-17,60,9
+2014-05-18,54,9
+2014-05-19,30,9
+2014-05-20,49,9
+2014-05-21,31,9
+2014-05-22,38,9
+2014-05-23,42,9
+2014-05-24,53,9
+2014-05-25,61,9
+2014-05-26,39,9
+2014-05-27,51,9
+2014-05-28,45,9
+2014-05-29,52,9
+2014-05-30,55,9
+2014-05-31,52,9
+2014-06-01,61,9
+2014-06-02,41,9
+2014-06-03,47,9
+2014-06-04,33,9
+2014-06-05,45,9
+2014-06-06,54,9
+2014-06-07,67,9
+2014-06-08,60,9
+2014-06-09,43,9
+2014-06-10,38,9
+2014-06-11,42,9
+2014-06-12,37,9
+2014-06-13,53,9
+2014-06-14,51,9
+2014-06-15,57,9
+2014-06-16,38,9
+2014-06-17,36,9
+2014-06-18,46,9
+2014-06-19,39,9
+2014-06-20,58,9
+2014-06-21,58,9
+2014-06-22,56,9
+2014-06-23,44,9
+2014-06-24,50,9
+2014-06-25,35,9
+2014-06-26,48,9
+2014-06-27,52,9
+2014-06-28,52,9
+2014-06-29,57,9
+2014-06-30,29,9
+2014-07-01,48,9
+2014-07-02,54,9
+2014-07-03,57,9
+2014-07-04,62,9
+2014-07-05,55,9
+2014-07-06,57,9
+2014-07-07,41,9
+2014-07-08,43,9
+2014-07-09,48,9
+2014-07-10,48,9
+2014-07-11,65,9
+2014-07-12,55,9
+2014-07-13,64,9
+2014-07-14,50,9
+2014-07-15,44,9
+2014-07-16,53,9
+2014-07-17,56,9
+2014-07-18,58,9
+2014-07-19,58,9
+2014-07-20,56,9
+2014-07-21,44,9
+2014-07-22,51,9
+2014-07-23,47,9
+2014-07-24,52,9
+2014-07-25,54,9
+2014-07-26,43,9
+2014-07-27,63,9
+2014-07-28,35,9
+2014-07-29,52,9
+2014-07-30,36,9
+2014-07-31,51,9
+2014-08-01,40,9
+2014-08-02,48,9
+2014-08-03,59,9
+2014-08-04,32,9
+2014-08-05,42,9
+2014-08-06,45,9
+2014-08-07,43,9
+2014-08-08,48,9
+2014-08-09,62,9
+2014-08-10,52,9
+2014-08-11,31,9
+2014-08-12,40,9
+2014-08-13,39,9
+2014-08-14,45,9
+2014-08-15,35,9
+2014-08-16,60,9
+2014-08-17,58,9
+2014-08-18,36,9
+2014-08-19,38,9
+2014-08-20,48,9
+2014-08-21,54,9
+2014-08-22,39,9
+2014-08-23,55,9
+2014-08-24,61,9
+2014-08-25,38,9
+2014-08-26,45,9
+2014-08-27,32,9
+2014-08-28,47,9
+2014-08-29,55,9
+2014-08-30,43,9
+2014-08-31,47,9
+2014-09-01,38,9
+2014-09-02,40,9
+2014-09-03,40,9
+2014-09-04,34,9
+2014-09-05,44,9
+2014-09-06,48,9
+2014-09-07,66,9
+2014-09-08,34,9
+2014-09-09,43,9
+2014-09-10,44,9
+2014-09-11,42,9
+2014-09-12,35,9
+2014-09-13,56,9
+2014-09-14,49,9
+2014-09-15,37,9
+2014-09-16,33,9
+2014-09-17,45,9
+2014-09-18,52,9
+2014-09-19,49,9
+2014-09-20,49,9
+2014-09-21,54,9
+2014-09-22,32,9
+2014-09-23,48,9
+2014-09-24,40,9
+2014-09-25,35,9
+2014-09-26,51,9
+2014-09-27,52,9
+2014-09-28,58,9
+2014-09-29,33,9
+2014-09-30,39,9
+2014-10-01,32,9
+2014-10-02,32,9
+2014-10-03,37,9
+2014-10-04,41,9
+2014-10-05,35,9
+2014-10-06,30,9
+2014-10-07,38,9
+2014-10-08,40,9
+2014-10-09,37,9
+2014-10-10,41,9
+2014-10-11,41,9
+2014-10-12,46,9
+2014-10-13,37,9
+2014-10-14,36,9
+2014-10-15,39,9
+2014-10-16,38,9
+2014-10-17,38,9
+2014-10-18,44,9
+2014-10-19,43,9
+2014-10-20,29,9
+2014-10-21,42,9
+2014-10-22,31,9
+2014-10-23,43,9
+2014-10-24,39,9
+2014-10-25,37,9
+2014-10-26,50,9
+2014-10-27,27,9
+2014-10-28,39,9
+2014-10-29,53,9
+2014-10-30,38,9
+2014-10-31,39,9
+2014-11-01,61,9
+2014-11-02,52,9
+2014-11-03,38,9
+2014-11-04,38,9
+2014-11-05,39,9
+2014-11-06,48,9
+2014-11-07,56,9
+2014-11-08,47,9
+2014-11-09,52,9
+2014-11-10,41,9
+2014-11-11,37,9
+2014-11-12,48,9
+2014-11-13,39,9
+2014-11-14,49,9
+2014-11-15,45,9
+2014-11-16,52,9
+2014-11-17,33,9
+2014-11-18,45,9
+2014-11-19,38,9
+2014-11-20,53,9
+2014-11-21,38,9
+2014-11-22,56,9
+2014-11-23,71,9
+2014-11-24,35,9
+2014-11-25,37,9
+2014-11-26,42,9
+2014-11-27,39,9
+2014-11-28,37,9
+2014-11-29,52,9
+2014-11-30,46,9
+2014-12-01,27,9
+2014-12-02,23,9
+2014-12-03,35,9
+2014-12-04,31,9
+2014-12-05,35,9
+2014-12-06,35,9
+2014-12-07,46,9
+2014-12-08,26,9
+2014-12-09,31,9
+2014-12-10,28,9
+2014-12-11,35,9
+2014-12-12,28,9
+2014-12-13,35,9
+2014-12-14,42,9
+2014-12-15,13,9
+2014-12-16,39,9
+2014-12-17,34,9
+2014-12-18,35,9
+2014-12-19,33,9
+2014-12-20,40,9
+2014-12-21,32,9
+2014-12-22,18,9
+2014-12-23,35,9
+2014-12-24,23,9
+2014-12-25,29,9
+2014-12-26,32,9
+2014-12-27,39,9
+2014-12-28,44,9
+2014-12-29,13,9
+2014-12-30,19,9
+2014-12-31,33,9
+2015-01-01,32,9
+2015-01-02,27,9
+2015-01-03,29,9
+2015-01-04,28,9
+2015-01-05,17,9
+2015-01-06,29,9
+2015-01-07,21,9
+2015-01-08,35,9
+2015-01-09,26,9
+2015-01-10,28,9
+2015-01-11,38,9
+2015-01-12,23,9
+2015-01-13,39,9
+2015-01-14,26,9
+2015-01-15,27,9
+2015-01-16,25,9
+2015-01-17,35,9
+2015-01-18,23,9
+2015-01-19,18,9
+2015-01-20,19,9
+2015-01-21,22,9
+2015-01-22,31,9
+2015-01-23,30,9
+2015-01-24,37,9
+2015-01-25,31,9
+2015-01-26,23,9
+2015-01-27,23,9
+2015-01-28,26,9
+2015-01-29,26,9
+2015-01-30,24,9
+2015-01-31,39,9
+2015-02-01,29,9
+2015-02-02,25,9
+2015-02-03,27,9
+2015-02-04,30,9
+2015-02-05,30,9
+2015-02-06,37,9
+2015-02-07,44,9
+2015-02-08,42,9
+2015-02-09,20,9
+2015-02-10,25,9
+2015-02-11,32,9
+2015-02-12,40,9
+2015-02-13,31,9
+2015-02-14,35,9
+2015-02-15,38,9
+2015-02-16,22,9
+2015-02-17,19,9
+2015-02-18,31,9
+2015-02-19,31,9
+2015-02-20,38,9
+2015-02-21,29,9
+2015-02-22,34,9
+2015-02-23,19,9
+2015-02-24,35,9
+2015-02-25,35,9
+2015-02-26,34,9
+2015-02-27,26,9
+2015-02-28,35,9
+2015-03-01,35,9
+2015-03-02,27,9
+2015-03-03,35,9
+2015-03-04,38,9
+2015-03-05,36,9
+2015-03-06,40,9
+2015-03-07,33,9
+2015-03-08,42,9
+2015-03-09,24,9
+2015-03-10,30,9
+2015-03-11,29,9
+2015-03-12,56,9
+2015-03-13,32,9
+2015-03-14,32,9
+2015-03-15,39,9
+2015-03-16,30,9
+2015-03-17,52,9
+2015-03-18,43,9
+2015-03-19,36,9
+2015-03-20,37,9
+2015-03-21,38,9
+2015-03-22,36,9
+2015-03-23,23,9
+2015-03-24,39,9
+2015-03-25,29,9
+2015-03-26,28,9
+2015-03-27,40,9
+2015-03-28,38,9
+2015-03-29,49,9
+2015-03-30,22,9
+2015-03-31,29,9
+2015-04-01,36,9
+2015-04-02,41,9
+2015-04-03,47,9
+2015-04-04,42,9
+2015-04-05,52,9
+2015-04-06,41,9
+2015-04-07,45,9
+2015-04-08,35,9
+2015-04-09,49,9
+2015-04-10,44,9
+2015-04-11,51,9
+2015-04-12,55,9
+2015-04-13,42,9
+2015-04-14,44,9
+2015-04-15,33,9
+2015-04-16,44,9
+2015-04-17,46,9
+2015-04-18,49,9
+2015-04-19,55,9
+2015-04-20,45,9
+2015-04-21,40,9
+2015-04-22,33,9
+2015-04-23,50,9
+2015-04-24,54,9
+2015-04-25,54,9
+2015-04-26,60,9
+2015-04-27,36,9
+2015-04-28,40,9
+2015-04-29,35,9
+2015-04-30,38,9
+2015-05-01,58,9
+2015-05-02,42,9
+2015-05-03,53,9
+2015-05-04,28,9
+2015-05-05,48,9
+2015-05-06,46,9
+2015-05-07,43,9
+2015-05-08,54,9
+2015-05-09,60,9
+2015-05-10,60,9
+2015-05-11,35,9
+2015-05-12,28,9
+2015-05-13,40,9
+2015-05-14,63,9
+2015-05-15,52,9
+2015-05-16,67,9
+2015-05-17,45,9
+2015-05-18,44,9
+2015-05-19,38,9
+2015-05-20,43,9
+2015-05-21,49,9
+2015-05-22,42,9
+2015-05-23,56,9
+2015-05-24,68,9
+2015-05-25,41,9
+2015-05-26,41,9
+2015-05-27,42,9
+2015-05-28,52,9
+2015-05-29,66,9
+2015-05-30,47,9
+2015-05-31,67,9
+2015-06-01,39,9
+2015-06-02,44,9
+2015-06-03,43,9
+2015-06-04,47,9
+2015-06-05,62,9
+2015-06-06,55,9
+2015-06-07,55,9
+2015-06-08,35,9
+2015-06-09,56,9
+2015-06-10,51,9
+2015-06-11,48,9
+2015-06-12,53,9
+2015-06-13,63,9
+2015-06-14,73,9
+2015-06-15,45,9
+2015-06-16,42,9
+2015-06-17,45,9
+2015-06-18,69,9
+2015-06-19,52,9
+2015-06-20,60,9
+2015-06-21,56,9
+2015-06-22,27,9
+2015-06-23,47,9
+2015-06-24,39,9
+2015-06-25,42,9
+2015-06-26,54,9
+2015-06-27,52,9
+2015-06-28,65,9
+2015-06-29,35,9
+2015-06-30,42,9
+2015-07-01,37,9
+2015-07-02,50,9
+2015-07-03,45,9
+2015-07-04,57,9
+2015-07-05,64,9
+2015-07-06,34,9
+2015-07-07,54,9
+2015-07-08,56,9
+2015-07-09,49,9
+2015-07-10,50,9
+2015-07-11,50,9
+2015-07-12,63,9
+2015-07-13,49,9
+2015-07-14,48,9
+2015-07-15,53,9
+2015-07-16,52,9
+2015-07-17,58,9
+2015-07-18,58,9
+2015-07-19,56,9
+2015-07-20,41,9
+2015-07-21,57,9
+2015-07-22,54,9
+2015-07-23,56,9
+2015-07-24,63,9
+2015-07-25,64,9
+2015-07-26,72,9
+2015-07-27,40,9
+2015-07-28,60,9
+2015-07-29,54,9
+2015-07-30,63,9
+2015-07-31,54,9
+2015-08-01,58,9
+2015-08-02,51,9
+2015-08-03,52,9
+2015-08-04,42,9
+2015-08-05,35,9
+2015-08-06,39,9
+2015-08-07,63,9
+2015-08-08,56,9
+2015-08-09,53,9
+2015-08-10,41,9
+2015-08-11,52,9
+2015-08-12,50,9
+2015-08-13,36,9
+2015-08-14,62,9
+2015-08-15,64,9
+2015-08-16,77,9
+2015-08-17,42,9
+2015-08-18,41,9
+2015-08-19,35,9
+2015-08-20,43,9
+2015-08-21,52,9
+2015-08-22,71,9
+2015-08-23,61,9
+2015-08-24,33,9
+2015-08-25,37,9
+2015-08-26,44,9
+2015-08-27,58,9
+2015-08-28,71,9
+2015-08-29,61,9
+2015-08-30,53,9
+2015-08-31,29,9
+2015-09-01,39,9
+2015-09-02,43,9
+2015-09-03,55,9
+2015-09-04,61,9
+2015-09-05,54,9
+2015-09-06,58,9
+2015-09-07,44,9
+2015-09-08,42,9
+2015-09-09,39,9
+2015-09-10,39,9
+2015-09-11,45,9
+2015-09-12,36,9
+2015-09-13,52,9
+2015-09-14,52,9
+2015-09-15,45,9
+2015-09-16,32,9
+2015-09-17,42,9
+2015-09-18,51,9
+2015-09-19,61,9
+2015-09-20,48,9
+2015-09-21,38,9
+2015-09-22,44,9
+2015-09-23,38,9
+2015-09-24,49,9
+2015-09-25,44,9
+2015-09-26,57,9
+2015-09-27,59,9
+2015-09-28,26,9
+2015-09-29,36,9
+2015-09-30,41,9
+2015-10-01,51,9
+2015-10-02,44,9
+2015-10-03,44,9
+2015-10-04,54,9
+2015-10-05,27,9
+2015-10-06,51,9
+2015-10-07,36,9
+2015-10-08,42,9
+2015-10-09,33,9
+2015-10-10,49,9
+2015-10-11,42,9
+2015-10-12,23,9
+2015-10-13,34,9
+2015-10-14,40,9
+2015-10-15,32,9
+2015-10-16,46,9
+2015-10-17,51,9
+2015-10-18,50,9
+2015-10-19,38,9
+2015-10-20,33,9
+2015-10-21,50,9
+2015-10-22,44,9
+2015-10-23,52,9
+2015-10-24,46,9
+2015-10-25,59,9
+2015-10-26,35,9
+2015-10-27,40,9
+2015-10-28,33,9
+2015-10-29,48,9
+2015-10-30,41,9
+2015-10-31,50,9
+2015-11-01,54,9
+2015-11-02,37,9
+2015-11-03,52,9
+2015-11-04,42,9
+2015-11-05,55,9
+2015-11-06,44,9
+2015-11-07,46,9
+2015-11-08,56,9
+2015-11-09,31,9
+2015-11-10,41,9
+2015-11-11,38,9
+2015-11-12,46,9
+2015-11-13,38,9
+2015-11-14,52,9
+2015-11-15,63,9
+2015-11-16,31,9
+2015-11-17,39,9
+2015-11-18,43,9
+2015-11-19,41,9
+2015-11-20,48,9
+2015-11-21,44,9
+2015-11-22,54,9
+2015-11-23,38,9
+2015-11-24,51,9
+2015-11-25,45,9
+2015-11-26,54,9
+2015-11-27,51,9
+2015-11-28,55,9
+2015-11-29,45,9
+2015-11-30,31,9
+2015-12-01,31,9
+2015-12-02,24,9
+2015-12-03,31,9
+2015-12-04,34,9
+2015-12-05,44,9
+2015-12-06,39,9
+2015-12-07,24,9
+2015-12-08,30,9
+2015-12-09,30,9
+2015-12-10,29,9
+2015-12-11,27,9
+2015-12-12,25,9
+2015-12-13,35,9
+2015-12-14,30,9
+2015-12-15,28,9
+2015-12-16,28,9
+2015-12-17,35,9
+2015-12-18,47,9
+2015-12-19,43,9
+2015-12-20,34,9
+2015-12-21,29,9
+2015-12-22,28,9
+2015-12-23,29,9
+2015-12-24,36,9
+2015-12-25,45,9
+2015-12-26,37,9
+2015-12-27,36,9
+2015-12-28,26,9
+2015-12-29,30,9
+2015-12-30,19,9
+2015-12-31,29,9
+2016-01-01,31,9
+2016-01-02,34,9
+2016-01-03,35,9
+2016-01-04,16,9
+2016-01-05,21,9
+2016-01-06,18,9
+2016-01-07,36,9
+2016-01-08,33,9
+2016-01-09,45,9
+2016-01-10,36,9
+2016-01-11,22,9
+2016-01-12,27,9
+2016-01-13,28,9
+2016-01-14,23,9
+2016-01-15,46,9
+2016-01-16,41,9
+2016-01-17,41,9
+2016-01-18,26,9
+2016-01-19,17,9
+2016-01-20,29,9
+2016-01-21,32,9
+2016-01-22,30,9
+2016-01-23,32,9
+2016-01-24,37,9
+2016-01-25,21,9
+2016-01-26,30,9
+2016-01-27,32,9
+2016-01-28,32,9
+2016-01-29,35,9
+2016-01-30,29,9
+2016-01-31,39,9
+2016-02-01,25,9
+2016-02-02,32,9
+2016-02-03,33,9
+2016-02-04,33,9
+2016-02-05,32,9
+2016-02-06,37,9
+2016-02-07,41,9
+2016-02-08,23,9
+2016-02-09,33,9
+2016-02-10,30,9
+2016-02-11,28,9
+2016-02-12,42,9
+2016-02-13,47,9
+2016-02-14,44,9
+2016-02-15,31,9
+2016-02-16,33,9
+2016-02-17,41,9
+2016-02-18,33,9
+2016-02-19,36,9
+2016-02-20,46,9
+2016-02-21,45,9
+2016-02-22,24,9
+2016-02-23,25,9
+2016-02-24,34,9
+2016-02-25,42,9
+2016-02-26,34,9
+2016-02-27,40,9
+2016-02-28,58,9
+2016-02-29,29,9
+2016-03-01,46,9
+2016-03-02,37,9
+2016-03-03,40,9
+2016-03-04,36,9
+2016-03-05,51,9
+2016-03-06,40,9
+2016-03-07,37,9
+2016-03-08,37,9
+2016-03-09,34,9
+2016-03-10,46,9
+2016-03-11,59,9
+2016-03-12,45,9
+2016-03-13,53,9
+2016-03-14,41,9
+2016-03-15,36,9
+2016-03-16,37,9
+2016-03-17,30,9
+2016-03-18,40,9
+2016-03-19,48,9
+2016-03-20,56,9
+2016-03-21,45,9
+2016-03-22,32,9
+2016-03-23,52,9
+2016-03-24,48,9
+2016-03-25,41,9
+2016-03-26,47,9
+2016-03-27,49,9
+2016-03-28,33,9
+2016-03-29,38,9
+2016-03-30,31,9
+2016-03-31,47,9
+2016-04-01,57,9
+2016-04-02,67,9
+2016-04-03,61,9
+2016-04-04,47,9
+2016-04-05,58,9
+2016-04-06,48,9
+2016-04-07,42,9
+2016-04-08,50,9
+2016-04-09,62,9
+2016-04-10,57,9
+2016-04-11,37,9
+2016-04-12,58,9
+2016-04-13,25,9
+2016-04-14,55,9
+2016-04-15,55,9
+2016-04-16,75,9
+2016-04-17,52,9
+2016-04-18,35,9
+2016-04-19,46,9
+2016-04-20,54,9
+2016-04-21,53,9
+2016-04-22,46,9
+2016-04-23,56,9
+2016-04-24,64,9
+2016-04-25,36,9
+2016-04-26,58,9
+2016-04-27,42,9
+2016-04-28,50,9
+2016-04-29,52,9
+2016-04-30,48,9
+2016-05-01,59,9
+2016-05-02,40,9
+2016-05-03,37,9
+2016-05-04,46,9
+2016-05-05,44,9
+2016-05-06,56,9
+2016-05-07,62,9
+2016-05-08,71,9
+2016-05-09,34,9
+2016-05-10,46,9
+2016-05-11,54,9
+2016-05-12,63,9
+2016-05-13,65,9
+2016-05-14,62,9
+2016-05-15,61,9
+2016-05-16,46,9
+2016-05-17,43,9
+2016-05-18,51,9
+2016-05-19,49,9
+2016-05-20,55,9
+2016-05-21,56,9
+2016-05-22,72,9
+2016-05-23,36,9
+2016-05-24,40,9
+2016-05-25,49,9
+2016-05-26,51,9
+2016-05-27,60,9
+2016-05-28,55,9
+2016-05-29,55,9
+2016-05-30,42,9
+2016-05-31,42,9
+2016-06-01,52,9
+2016-06-02,47,9
+2016-06-03,63,9
+2016-06-04,56,9
+2016-06-05,69,9
+2016-06-06,47,9
+2016-06-07,56,9
+2016-06-08,56,9
+2016-06-09,55,9
+2016-06-10,52,9
+2016-06-11,52,9
+2016-06-12,80,9
+2016-06-13,44,9
+2016-06-14,52,9
+2016-06-15,52,9
+2016-06-16,56,9
+2016-06-17,58,9
+2016-06-18,62,9
+2016-06-19,65,9
+2016-06-20,43,9
+2016-06-21,51,9
+2016-06-22,63,9
+2016-06-23,53,9
+2016-06-24,44,9
+2016-06-25,74,9
+2016-06-26,71,9
+2016-06-27,48,9
+2016-06-28,61,9
+2016-06-29,62,9
+2016-06-30,51,9
+2016-07-01,66,9
+2016-07-02,69,9
+2016-07-03,82,9
+2016-07-04,39,9
+2016-07-05,49,9
+2016-07-06,50,9
+2016-07-07,49,9
+2016-07-08,59,9
+2016-07-09,66,9
+2016-07-10,72,9
+2016-07-11,41,9
+2016-07-12,53,9
+2016-07-13,54,9
+2016-07-14,46,9
+2016-07-15,58,9
+2016-07-16,52,9
+2016-07-17,79,9
+2016-07-18,37,9
+2016-07-19,45,9
+2016-07-20,57,9
+2016-07-21,66,9
+2016-07-22,69,9
+2016-07-23,78,9
+2016-07-24,67,9
+2016-07-25,36,9
+2016-07-26,59,9
+2016-07-27,46,9
+2016-07-28,60,9
+2016-07-29,72,9
+2016-07-30,62,9
+2016-07-31,69,9
+2016-08-01,44,9
+2016-08-02,42,9
+2016-08-03,51,9
+2016-08-04,39,9
+2016-08-05,56,9
+2016-08-06,59,9
+2016-08-07,57,9
+2016-08-08,33,9
+2016-08-09,47,9
+2016-08-10,55,9
+2016-08-11,50,9
+2016-08-12,52,9
+2016-08-13,57,9
+2016-08-14,64,9
+2016-08-15,34,9
+2016-08-16,44,9
+2016-08-17,46,9
+2016-08-18,46,9
+2016-08-19,50,9
+2016-08-20,62,9
+2016-08-21,53,9
+2016-08-22,45,9
+2016-08-23,37,9
+2016-08-24,50,9
+2016-08-25,61,9
+2016-08-26,61,9
+2016-08-27,49,9
+2016-08-28,57,9
+2016-08-29,31,9
+2016-08-30,47,9
+2016-08-31,48,9
+2016-09-01,51,9
+2016-09-02,66,9
+2016-09-03,49,9
+2016-09-04,58,9
+2016-09-05,42,9
+2016-09-06,46,9
+2016-09-07,53,9
+2016-09-08,46,9
+2016-09-09,50,9
+2016-09-10,48,9
+2016-09-11,57,9
+2016-09-12,41,9
+2016-09-13,43,9
+2016-09-14,37,9
+2016-09-15,46,9
+2016-09-16,51,9
+2016-09-17,52,9
+2016-09-18,57,9
+2016-09-19,39,9
+2016-09-20,44,9
+2016-09-21,41,9
+2016-09-22,45,9
+2016-09-23,50,9
+2016-09-24,59,9
+2016-09-25,49,9
+2016-09-26,40,9
+2016-09-27,47,9
+2016-09-28,40,9
+2016-09-29,49,9
+2016-09-30,43,9
+2016-10-01,55,9
+2016-10-02,54,9
+2016-10-03,44,9
+2016-10-04,37,9
+2016-10-05,35,9
+2016-10-06,48,9
+2016-10-07,44,9
+2016-10-08,46,9
+2016-10-09,52,9
+2016-10-10,32,9
+2016-10-11,35,9
+2016-10-12,35,9
+2016-10-13,30,9
+2016-10-14,52,9
+2016-10-15,49,9
+2016-10-16,49,9
+2016-10-17,41,9
+2016-10-18,42,9
+2016-10-19,35,9
+2016-10-20,49,9
+2016-10-21,50,9
+2016-10-22,54,9
+2016-10-23,54,9
+2016-10-24,45,9
+2016-10-25,48,9
+2016-10-26,36,9
+2016-10-27,30,9
+2016-10-28,48,9
+2016-10-29,39,9
+2016-10-30,65,9
+2016-10-31,28,9
+2016-11-01,42,9
+2016-11-02,60,9
+2016-11-03,46,9
+2016-11-04,45,9
+2016-11-05,67,9
+2016-11-06,59,9
+2016-11-07,44,9
+2016-11-08,44,9
+2016-11-09,44,9
+2016-11-10,47,9
+2016-11-11,62,9
+2016-11-12,70,9
+2016-11-13,63,9
+2016-11-14,44,9
+2016-11-15,45,9
+2016-11-16,41,9
+2016-11-17,56,9
+2016-11-18,46,9
+2016-11-19,53,9
+2016-11-20,54,9
+2016-11-21,39,9
+2016-11-22,38,9
+2016-11-23,49,9
+2016-11-24,58,9
+2016-11-25,52,9
+2016-11-26,54,9
+2016-11-27,55,9
+2016-11-28,39,9
+2016-11-29,48,9
+2016-11-30,45,9
+2016-12-01,34,9
+2016-12-02,30,9
+2016-12-03,44,9
+2016-12-04,36,9
+2016-12-05,22,9
+2016-12-06,33,9
+2016-12-07,31,9
+2016-12-08,27,9
+2016-12-09,35,9
+2016-12-10,50,9
+2016-12-11,48,9
+2016-12-12,33,9
+2016-12-13,36,9
+2016-12-14,35,9
+2016-12-15,23,9
+2016-12-16,34,9
+2016-12-17,51,9
+2016-12-18,36,9
+2016-12-19,29,9
+2016-12-20,34,9
+2016-12-21,31,9
+2016-12-22,52,9
+2016-12-23,33,9
+2016-12-24,30,9
+2016-12-25,43,9
+2016-12-26,22,9
+2016-12-27,33,9
+2016-12-28,26,9
+2016-12-29,40,9
+2016-12-30,28,9
+2016-12-31,50,9
+2017-01-01,41,9
+2017-01-02,33,9
+2017-01-03,31,9
+2017-01-04,33,9
+2017-01-05,29,9
+2017-01-06,30,9
+2017-01-07,36,9
+2017-01-08,39,9
+2017-01-09,22,9
+2017-01-10,34,9
+2017-01-11,24,9
+2017-01-12,32,9
+2017-01-13,28,9
+2017-01-14,46,9
+2017-01-15,55,9
+2017-01-16,24,9
+2017-01-17,25,9
+2017-01-18,31,9
+2017-01-19,38,9
+2017-01-20,41,9
+2017-01-21,32,9
+2017-01-22,41,9
+2017-01-23,29,9
+2017-01-24,26,9
+2017-01-25,32,9
+2017-01-26,37,9
+2017-01-27,43,9
+2017-01-28,43,9
+2017-01-29,28,9
+2017-01-30,17,9
+2017-01-31,32,9
+2017-02-01,43,9
+2017-02-02,34,9
+2017-02-03,35,9
+2017-02-04,39,9
+2017-02-05,44,9
+2017-02-06,27,9
+2017-02-07,30,9
+2017-02-08,39,9
+2017-02-09,35,9
+2017-02-10,35,9
+2017-02-11,43,9
+2017-02-12,33,9
+2017-02-13,26,9
+2017-02-14,37,9
+2017-02-15,29,9
+2017-02-16,40,9
+2017-02-17,35,9
+2017-02-18,40,9
+2017-02-19,44,9
+2017-02-20,29,9
+2017-02-21,34,9
+2017-02-22,23,9
+2017-02-23,45,9
+2017-02-24,39,9
+2017-02-25,51,9
+2017-02-26,48,9
+2017-02-27,29,9
+2017-02-28,35,9
+2017-03-01,37,9
+2017-03-02,50,9
+2017-03-03,57,9
+2017-03-04,47,9
+2017-03-05,59,9
+2017-03-06,32,9
+2017-03-07,34,9
+2017-03-08,22,9
+2017-03-09,37,9
+2017-03-10,50,9
+2017-03-11,54,9
+2017-03-12,58,9
+2017-03-13,34,9
+2017-03-14,48,9
+2017-03-15,45,9
+2017-03-16,29,9
+2017-03-17,46,9
+2017-03-18,39,9
+2017-03-19,46,9
+2017-03-20,37,9
+2017-03-21,53,9
+2017-03-22,46,9
+2017-03-23,48,9
+2017-03-24,56,9
+2017-03-25,46,9
+2017-03-26,62,9
+2017-03-27,26,9
+2017-03-28,43,9
+2017-03-29,43,9
+2017-03-30,50,9
+2017-03-31,50,9
+2017-04-01,61,9
+2017-04-02,48,9
+2017-04-03,34,9
+2017-04-04,60,9
+2017-04-05,54,9
+2017-04-06,52,9
+2017-04-07,55,9
+2017-04-08,59,9
+2017-04-09,55,9
+2017-04-10,46,9
+2017-04-11,33,9
+2017-04-12,39,9
+2017-04-13,44,9
+2017-04-14,50,9
+2017-04-15,42,9
+2017-04-16,72,9
+2017-04-17,47,9
+2017-04-18,36,9
+2017-04-19,48,9
+2017-04-20,38,9
+2017-04-21,46,9
+2017-04-22,50,9
+2017-04-23,70,9
+2017-04-24,42,9
+2017-04-25,47,9
+2017-04-26,39,9
+2017-04-27,59,9
+2017-04-28,52,9
+2017-04-29,53,9
+2017-04-30,65,9
+2017-05-01,38,9
+2017-05-02,58,9
+2017-05-03,52,9
+2017-05-04,72,9
+2017-05-05,56,9
+2017-05-06,67,9
+2017-05-07,70,9
+2017-05-08,47,9
+2017-05-09,39,9
+2017-05-10,44,9
+2017-05-11,69,9
+2017-05-12,50,9
+2017-05-13,61,9
+2017-05-14,57,9
+2017-05-15,43,9
+2017-05-16,49,9
+2017-05-17,57,9
+2017-05-18,62,9
+2017-05-19,50,9
+2017-05-20,73,9
+2017-05-21,71,9
+2017-05-22,47,9
+2017-05-23,50,9
+2017-05-24,41,9
+2017-05-25,54,9
+2017-05-26,63,9
+2017-05-27,69,9
+2017-05-28,69,9
+2017-05-29,38,9
+2017-05-30,53,9
+2017-05-31,48,9
+2017-06-01,51,9
+2017-06-02,66,9
+2017-06-03,46,9
+2017-06-04,67,9
+2017-06-05,43,9
+2017-06-06,45,9
+2017-06-07,51,9
+2017-06-08,56,9
+2017-06-09,74,9
+2017-06-10,73,9
+2017-06-11,68,9
+2017-06-12,42,9
+2017-06-13,54,9
+2017-06-14,76,9
+2017-06-15,63,9
+2017-06-16,58,9
+2017-06-17,67,9
+2017-06-18,77,9
+2017-06-19,56,9
+2017-06-20,47,9
+2017-06-21,49,9
+2017-06-22,59,9
+2017-06-23,67,9
+2017-06-24,68,9
+2017-06-25,72,9
+2017-06-26,40,9
+2017-06-27,62,9
+2017-06-28,62,9
+2017-06-29,48,9
+2017-06-30,50,9
+2017-07-01,80,9
+2017-07-02,72,9
+2017-07-03,43,9
+2017-07-04,57,9
+2017-07-05,48,9
+2017-07-06,63,9
+2017-07-07,67,9
+2017-07-08,69,9
+2017-07-09,68,9
+2017-07-10,54,9
+2017-07-11,60,9
+2017-07-12,44,9
+2017-07-13,68,9
+2017-07-14,66,9
+2017-07-15,58,9
+2017-07-16,75,9
+2017-07-17,51,9
+2017-07-18,48,9
+2017-07-19,53,9
+2017-07-20,66,9
+2017-07-21,57,9
+2017-07-22,73,9
+2017-07-23,68,9
+2017-07-24,44,9
+2017-07-25,48,9
+2017-07-26,51,9
+2017-07-27,45,9
+2017-07-28,72,9
+2017-07-29,61,9
+2017-07-30,75,9
+2017-07-31,47,9
+2017-08-01,53,9
+2017-08-02,58,9
+2017-08-03,52,9
+2017-08-04,68,9
+2017-08-05,62,9
+2017-08-06,61,9
+2017-08-07,43,9
+2017-08-08,42,9
+2017-08-09,53,9
+2017-08-10,52,9
+2017-08-11,56,9
+2017-08-12,74,9
+2017-08-13,59,9
+2017-08-14,39,9
+2017-08-15,59,9
+2017-08-16,44,9
+2017-08-17,58,9
+2017-08-18,52,9
+2017-08-19,71,9
+2017-08-20,95,9
+2017-08-21,25,9
+2017-08-22,49,9
+2017-08-23,45,9
+2017-08-24,46,9
+2017-08-25,55,9
+2017-08-26,58,9
+2017-08-27,66,9
+2017-08-28,34,9
+2017-08-29,54,9
+2017-08-30,60,9
+2017-08-31,61,9
+2017-09-01,63,9
+2017-09-02,65,9
+2017-09-03,61,9
+2017-09-04,37,9
+2017-09-05,41,9
+2017-09-06,51,9
+2017-09-07,45,9
+2017-09-08,48,9
+2017-09-09,54,9
+2017-09-10,52,9
+2017-09-11,46,9
+2017-09-12,53,9
+2017-09-13,39,9
+2017-09-14,48,9
+2017-09-15,53,9
+2017-09-16,58,9
+2017-09-17,62,9
+2017-09-18,38,9
+2017-09-19,45,9
+2017-09-20,42,9
+2017-09-21,50,9
+2017-09-22,54,9
+2017-09-23,57,9
+2017-09-24,61,9
+2017-09-25,43,9
+2017-09-26,56,9
+2017-09-27,52,9
+2017-09-28,58,9
+2017-09-29,48,9
+2017-09-30,40,9
+2017-10-01,46,9
+2017-10-02,40,9
+2017-10-03,43,9
+2017-10-04,36,9
+2017-10-05,41,9
+2017-10-06,49,9
+2017-10-07,50,9
+2017-10-08,58,9
+2017-10-09,38,9
+2017-10-10,46,9
+2017-10-11,51,9
+2017-10-12,44,9
+2017-10-13,57,9
+2017-10-14,47,9
+2017-10-15,43,9
+2017-10-16,45,9
+2017-10-17,32,9
+2017-10-18,51,9
+2017-10-19,47,9
+2017-10-20,42,9
+2017-10-21,42,9
+2017-10-22,55,9
+2017-10-23,38,9
+2017-10-24,38,9
+2017-10-25,44,9
+2017-10-26,57,9
+2017-10-27,46,9
+2017-10-28,52,9
+2017-10-29,60,9
+2017-10-30,35,9
+2017-10-31,45,9
+2017-11-01,43,9
+2017-11-02,44,9
+2017-11-03,62,9
+2017-11-04,73,9
+2017-11-05,45,9
+2017-11-06,38,9
+2017-11-07,35,9
+2017-11-08,58,9
+2017-11-09,54,9
+2017-11-10,51,9
+2017-11-11,60,9
+2017-11-12,56,9
+2017-11-13,47,9
+2017-11-14,52,9
+2017-11-15,57,9
+2017-11-16,63,9
+2017-11-17,53,9
+2017-11-18,50,9
+2017-11-19,68,9
+2017-11-20,46,9
+2017-11-21,54,9
+2017-11-22,42,9
+2017-11-23,61,9
+2017-11-24,50,9
+2017-11-25,54,9
+2017-11-26,40,9
+2017-11-27,37,9
+2017-11-28,40,9
+2017-11-29,33,9
+2017-11-30,51,9
+2017-12-01,40,9
+2017-12-02,40,9
+2017-12-03,44,9
+2017-12-04,24,9
+2017-12-05,35,9
+2017-12-06,32,9
+2017-12-07,40,9
+2017-12-08,26,9
+2017-12-09,38,9
+2017-12-10,51,9
+2017-12-11,25,9
+2017-12-12,38,9
+2017-12-13,39,9
+2017-12-14,44,9
+2017-12-15,29,9
+2017-12-16,45,9
+2017-12-17,46,9
+2017-12-18,26,9
+2017-12-19,29,9
+2017-12-20,31,9
+2017-12-21,29,9
+2017-12-22,34,9
+2017-12-23,33,9
+2017-12-24,47,9
+2017-12-25,26,9
+2017-12-26,38,9
+2017-12-27,31,9
+2017-12-28,34,9
+2017-12-29,28,9
+2017-12-30,41,9
+2017-12-31,44,9
diff --git a/datasets/global/simulated_data_to_check.csv b/datasets/global/simulated_data_to_check.csv
index 4d06495..a2a8a79 100644
--- a/datasets/global/simulated_data_to_check.csv
+++ b/datasets/global/simulated_data_to_check.csv
@@ -1,10001 +1,10001 @@
-value,date,id
-1000,2020-01-01,0
-1001,2020-01-02,0
-1002,2020-01-03,0
-1003,2020-01-04,0
-1004,2020-01-05,0
-1005,2020-01-06,0
-1006,2020-01-07,0
-1007,2020-01-08,0
-1008,2020-01-09,0
-1009,2020-01-10,0
-1010,2020-01-11,0
-1011,2020-01-12,0
-1012,2020-01-13,0
-1013,2020-01-14,0
-1014,2020-01-15,0
-1015,2020-01-16,0
-1016,2020-01-17,0
-1017,2020-01-18,0
-1018,2020-01-19,0
-1019,2020-01-20,0
-1020,2020-01-21,0
-1021,2020-01-22,0
-1022,2020-01-23,0
-1023,2020-01-24,0
-1024,2020-01-25,0
-1025,2020-01-26,0
-1026,2020-01-27,0
-1027,2020-01-28,0
-1028,2020-01-29,0
-1029,2020-01-30,0
-1030,2020-01-31,0
-1031,2020-02-01,0
-1032,2020-02-02,0
-1033,2020-02-03,0
-1034,2020-02-04,0
-1035,2020-02-05,0
-1036,2020-02-06,0
-1037,2020-02-07,0
-1038,2020-02-08,0
-1039,2020-02-09,0
-1040,2020-02-10,0
-1041,2020-02-11,0
-1042,2020-02-12,0
-1043,2020-02-13,0
-1044,2020-02-14,0
-1045,2020-02-15,0
-1046,2020-02-16,0
-1047,2020-02-17,0
-1048,2020-02-18,0
-1049,2020-02-19,0
-1050,2020-02-20,0
-1051,2020-02-21,0
-1052,2020-02-22,0
-1053,2020-02-23,0
-1054,2020-02-24,0
-1055,2020-02-25,0
-1056,2020-02-26,0
-1057,2020-02-27,0
-1058,2020-02-28,0
-1059,2020-02-29,0
-1060,2020-03-01,0
-1061,2020-03-02,0
-1062,2020-03-03,0
-1063,2020-03-04,0
-1064,2020-03-05,0
-1065,2020-03-06,0
-1066,2020-03-07,0
-1067,2020-03-08,0
-1068,2020-03-09,0
-1069,2020-03-10,0
-1070,2020-03-11,0
-1071,2020-03-12,0
-1072,2020-03-13,0
-1073,2020-03-14,0
-1074,2020-03-15,0
-1075,2020-03-16,0
-1076,2020-03-17,0
-1077,2020-03-18,0
-1078,2020-03-19,0
-1079,2020-03-20,0
-1080,2020-03-21,0
-1081,2020-03-22,0
-1082,2020-03-23,0
-1083,2020-03-24,0
-1084,2020-03-25,0
-1085,2020-03-26,0
-1086,2020-03-27,0
-1087,2020-03-28,0
-1088,2020-03-29,0
-1089,2020-03-30,0
-1090,2020-03-31,0
-1091,2020-04-01,0
-1092,2020-04-02,0
-1093,2020-04-03,0
-1094,2020-04-04,0
-1095,2020-04-05,0
-1096,2020-04-06,0
-1097,2020-04-07,0
-1098,2020-04-08,0
-1099,2020-04-09,0
-1100,2020-04-10,0
-1101,2020-04-11,0
-1102,2020-04-12,0
-1103,2020-04-13,0
-1104,2020-04-14,0
-1105,2020-04-15,0
-1106,2020-04-16,0
-1107,2020-04-17,0
-1108,2020-04-18,0
-1109,2020-04-19,0
-1110,2020-04-20,0
-1111,2020-04-21,0
-1112,2020-04-22,0
-1113,2020-04-23,0
-1114,2020-04-24,0
-1115,2020-04-25,0
-1116,2020-04-26,0
-1117,2020-04-27,0
-1118,2020-04-28,0
-1119,2020-04-29,0
-1120,2020-04-30,0
-1121,2020-05-01,0
-1122,2020-05-02,0
-1123,2020-05-03,0
-1124,2020-05-04,0
-1125,2020-05-05,0
-1126,2020-05-06,0
-1127,2020-05-07,0
-1128,2020-05-08,0
-1129,2020-05-09,0
-1130,2020-05-10,0
-1131,2020-05-11,0
-1132,2020-05-12,0
-1133,2020-05-13,0
-1134,2020-05-14,0
-1135,2020-05-15,0
-1136,2020-05-16,0
-1137,2020-05-17,0
-1138,2020-05-18,0
-1139,2020-05-19,0
-1140,2020-05-20,0
-1141,2020-05-21,0
-1142,2020-05-22,0
-1143,2020-05-23,0
-1144,2020-05-24,0
-1145,2020-05-25,0
-1146,2020-05-26,0
-1147,2020-05-27,0
-1148,2020-05-28,0
-1149,2020-05-29,0
-1150,2020-05-30,0
-1151,2020-05-31,0
-1152,2020-06-01,0
-1153,2020-06-02,0
-1154,2020-06-03,0
-1155,2020-06-04,0
-1156,2020-06-05,0
-1157,2020-06-06,0
-1158,2020-06-07,0
-1159,2020-06-08,0
-1160,2020-06-09,0
-1161,2020-06-10,0
-1162,2020-06-11,0
-1163,2020-06-12,0
-1164,2020-06-13,0
-1165,2020-06-14,0
-1166,2020-06-15,0
-1167,2020-06-16,0
-1168,2020-06-17,0
-1169,2020-06-18,0
-1170,2020-06-19,0
-1171,2020-06-20,0
-1172,2020-06-21,0
-1173,2020-06-22,0
-1174,2020-06-23,0
-1175,2020-06-24,0
-1176,2020-06-25,0
-1177,2020-06-26,0
-1178,2020-06-27,0
-1179,2020-06-28,0
-1180,2020-06-29,0
-1181,2020-06-30,0
-1182,2020-07-01,0
-1183,2020-07-02,0
-1184,2020-07-03,0
-1185,2020-07-04,0
-1186,2020-07-05,0
-1187,2020-07-06,0
-1188,2020-07-07,0
-1189,2020-07-08,0
-1190,2020-07-09,0
-1191,2020-07-10,0
-1192,2020-07-11,0
-1193,2020-07-12,0
-1194,2020-07-13,0
-1195,2020-07-14,0
-1196,2020-07-15,0
-1197,2020-07-16,0
-1198,2020-07-17,0
-1199,2020-07-18,0
-1200,2020-07-19,0
-1201,2020-07-20,0
-1202,2020-07-21,0
-1203,2020-07-22,0
-1204,2020-07-23,0
-1205,2020-07-24,0
-1206,2020-07-25,0
-1207,2020-07-26,0
-1208,2020-07-27,0
-1209,2020-07-28,0
-1210,2020-07-29,0
-1211,2020-07-30,0
-1212,2020-07-31,0
-1213,2020-08-01,0
-1214,2020-08-02,0
-1215,2020-08-03,0
-1216,2020-08-04,0
-1217,2020-08-05,0
-1218,2020-08-06,0
-1219,2020-08-07,0
-1220,2020-08-08,0
-1221,2020-08-09,0
-1222,2020-08-10,0
-1223,2020-08-11,0
-1224,2020-08-12,0
-1225,2020-08-13,0
-1226,2020-08-14,0
-1227,2020-08-15,0
-1228,2020-08-16,0
-1229,2020-08-17,0
-1230,2020-08-18,0
-1231,2020-08-19,0
-1232,2020-08-20,0
-1233,2020-08-21,0
-1234,2020-08-22,0
-1235,2020-08-23,0
-1236,2020-08-24,0
-1237,2020-08-25,0
-1238,2020-08-26,0
-1239,2020-08-27,0
-1240,2020-08-28,0
-1241,2020-08-29,0
-1242,2020-08-30,0
-1243,2020-08-31,0
-1244,2020-09-01,0
-1245,2020-09-02,0
-1246,2020-09-03,0
-1247,2020-09-04,0
-1248,2020-09-05,0
-1249,2020-09-06,0
-1250,2020-09-07,0
-1251,2020-09-08,0
-1252,2020-09-09,0
-1253,2020-09-10,0
-1254,2020-09-11,0
-1255,2020-09-12,0
-1256,2020-09-13,0
-1257,2020-09-14,0
-1258,2020-09-15,0
-1259,2020-09-16,0
-1260,2020-09-17,0
-1261,2020-09-18,0
-1262,2020-09-19,0
-1263,2020-09-20,0
-1264,2020-09-21,0
-1265,2020-09-22,0
-1266,2020-09-23,0
-1267,2020-09-24,0
-1268,2020-09-25,0
-1269,2020-09-26,0
-1270,2020-09-27,0
-1271,2020-09-28,0
-1272,2020-09-29,0
-1273,2020-09-30,0
-1274,2020-10-01,0
-1275,2020-10-02,0
-1276,2020-10-03,0
-1277,2020-10-04,0
-1278,2020-10-05,0
-1279,2020-10-06,0
-1280,2020-10-07,0
-1281,2020-10-08,0
-1282,2020-10-09,0
-1283,2020-10-10,0
-1284,2020-10-11,0
-1285,2020-10-12,0
-1286,2020-10-13,0
-1287,2020-10-14,0
-1288,2020-10-15,0
-1289,2020-10-16,0
-1290,2020-10-17,0
-1291,2020-10-18,0
-1292,2020-10-19,0
-1293,2020-10-20,0
-1294,2020-10-21,0
-1295,2020-10-22,0
-1296,2020-10-23,0
-1297,2020-10-24,0
-1298,2020-10-25,0
-1299,2020-10-26,0
-1300,2020-10-27,0
-1301,2020-10-28,0
-1302,2020-10-29,0
-1303,2020-10-30,0
-1304,2020-10-31,0
-1305,2020-11-01,0
-1306,2020-11-02,0
-1307,2020-11-03,0
-1308,2020-11-04,0
-1309,2020-11-05,0
-1310,2020-11-06,0
-1311,2020-11-07,0
-1312,2020-11-08,0
-1313,2020-11-09,0
-1314,2020-11-10,0
-1315,2020-11-11,0
-1316,2020-11-12,0
-1317,2020-11-13,0
-1318,2020-11-14,0
-1319,2020-11-15,0
-1320,2020-11-16,0
-1321,2020-11-17,0
-1322,2020-11-18,0
-1323,2020-11-19,0
-1324,2020-11-20,0
-1325,2020-11-21,0
-1326,2020-11-22,0
-1327,2020-11-23,0
-1328,2020-11-24,0
-1329,2020-11-25,0
-1330,2020-11-26,0
-1331,2020-11-27,0
-1332,2020-11-28,0
-1333,2020-11-29,0
-1334,2020-11-30,0
-1335,2020-12-01,0
-1336,2020-12-02,0
-1337,2020-12-03,0
-1338,2020-12-04,0
-1339,2020-12-05,0
-1340,2020-12-06,0
-1341,2020-12-07,0
-1342,2020-12-08,0
-1343,2020-12-09,0
-1344,2020-12-10,0
-1345,2020-12-11,0
-1346,2020-12-12,0
-1347,2020-12-13,0
-1348,2020-12-14,0
-1349,2020-12-15,0
-1350,2020-12-16,0
-1351,2020-12-17,0
-1352,2020-12-18,0
-1353,2020-12-19,0
-1354,2020-12-20,0
-1355,2020-12-21,0
-1356,2020-12-22,0
-1357,2020-12-23,0
-1358,2020-12-24,0
-1359,2020-12-25,0
-1360,2020-12-26,0
-1361,2020-12-27,0
-1362,2020-12-28,0
-1363,2020-12-29,0
-1364,2020-12-30,0
-1365,2020-12-31,0
-1366,2021-01-01,0
-1367,2021-01-02,0
-1368,2021-01-03,0
-1369,2021-01-04,0
-1370,2021-01-05,0
-1371,2021-01-06,0
-1372,2021-01-07,0
-1373,2021-01-08,0
-1374,2021-01-09,0
-1375,2021-01-10,0
-1376,2021-01-11,0
-1377,2021-01-12,0
-1378,2021-01-13,0
-1379,2021-01-14,0
-1380,2021-01-15,0
-1381,2021-01-16,0
-1382,2021-01-17,0
-1383,2021-01-18,0
-1384,2021-01-19,0
-1385,2021-01-20,0
-1386,2021-01-21,0
-1387,2021-01-22,0
-1388,2021-01-23,0
-1389,2021-01-24,0
-1390,2021-01-25,0
-1391,2021-01-26,0
-1392,2021-01-27,0
-1393,2021-01-28,0
-1394,2021-01-29,0
-1395,2021-01-30,0
-1396,2021-01-31,0
-1397,2021-02-01,0
-1398,2021-02-02,0
-1399,2021-02-03,0
-1400,2021-02-04,0
-1401,2021-02-05,0
-1402,2021-02-06,0
-1403,2021-02-07,0
-1404,2021-02-08,0
-1405,2021-02-09,0
-1406,2021-02-10,0
-1407,2021-02-11,0
-1408,2021-02-12,0
-1409,2021-02-13,0
-1410,2021-02-14,0
-1411,2021-02-15,0
-1412,2021-02-16,0
-1413,2021-02-17,0
-1414,2021-02-18,0
-1415,2021-02-19,0
-1416,2021-02-20,0
-1417,2021-02-21,0
-1418,2021-02-22,0
-1419,2021-02-23,0
-1420,2021-02-24,0
-1421,2021-02-25,0
-1422,2021-02-26,0
-1423,2021-02-27,0
-1424,2021-02-28,0
-1425,2021-03-01,0
-1426,2021-03-02,0
-1427,2021-03-03,0
-1428,2021-03-04,0
-1429,2021-03-05,0
-1430,2021-03-06,0
-1431,2021-03-07,0
-1432,2021-03-08,0
-1433,2021-03-09,0
-1434,2021-03-10,0
-1435,2021-03-11,0
-1436,2021-03-12,0
-1437,2021-03-13,0
-1438,2021-03-14,0
-1439,2021-03-15,0
-1440,2021-03-16,0
-1441,2021-03-17,0
-1442,2021-03-18,0
-1443,2021-03-19,0
-1444,2021-03-20,0
-1445,2021-03-21,0
-1446,2021-03-22,0
-1447,2021-03-23,0
-1448,2021-03-24,0
-1449,2021-03-25,0
-1450,2021-03-26,0
-1451,2021-03-27,0
-1452,2021-03-28,0
-1453,2021-03-29,0
-1454,2021-03-30,0
-1455,2021-03-31,0
-1456,2021-04-01,0
-1457,2021-04-02,0
-1458,2021-04-03,0
-1459,2021-04-04,0
-1460,2021-04-05,0
-1461,2021-04-06,0
-1462,2021-04-07,0
-1463,2021-04-08,0
-1464,2021-04-09,0
-1465,2021-04-10,0
-1466,2021-04-11,0
-1467,2021-04-12,0
-1468,2021-04-13,0
-1469,2021-04-14,0
-1470,2021-04-15,0
-1471,2021-04-16,0
-1472,2021-04-17,0
-1473,2021-04-18,0
-1474,2021-04-19,0
-1475,2021-04-20,0
-1476,2021-04-21,0
-1477,2021-04-22,0
-1478,2021-04-23,0
-1479,2021-04-24,0
-1480,2021-04-25,0
-1481,2021-04-26,0
-1482,2021-04-27,0
-1483,2021-04-28,0
-1484,2021-04-29,0
-1485,2021-04-30,0
-1486,2021-05-01,0
-1487,2021-05-02,0
-1488,2021-05-03,0
-1489,2021-05-04,0
-1490,2021-05-05,0
-1491,2021-05-06,0
-1492,2021-05-07,0
-1493,2021-05-08,0
-1494,2021-05-09,0
-1495,2021-05-10,0
-1496,2021-05-11,0
-1497,2021-05-12,0
-1498,2021-05-13,0
-1499,2021-05-14,0
-1500,2021-05-15,0
-1501,2021-05-16,0
-1502,2021-05-17,0
-1503,2021-05-18,0
-1504,2021-05-19,0
-1505,2021-05-20,0
-1506,2021-05-21,0
-1507,2021-05-22,0
-1508,2021-05-23,0
-1509,2021-05-24,0
-1510,2021-05-25,0
-1511,2021-05-26,0
-1512,2021-05-27,0
-1513,2021-05-28,0
-1514,2021-05-29,0
-1515,2021-05-30,0
-1516,2021-05-31,0
-1517,2021-06-01,0
-1518,2021-06-02,0
-1519,2021-06-03,0
-1520,2021-06-04,0
-1521,2021-06-05,0
-1522,2021-06-06,0
-1523,2021-06-07,0
-1524,2021-06-08,0
-1525,2021-06-09,0
-1526,2021-06-10,0
-1527,2021-06-11,0
-1528,2021-06-12,0
-1529,2021-06-13,0
-1530,2021-06-14,0
-1531,2021-06-15,0
-1532,2021-06-16,0
-1533,2021-06-17,0
-1534,2021-06-18,0
-1535,2021-06-19,0
-1536,2021-06-20,0
-1537,2021-06-21,0
-1538,2021-06-22,0
-1539,2021-06-23,0
-1540,2021-06-24,0
-1541,2021-06-25,0
-1542,2021-06-26,0
-1543,2021-06-27,0
-1544,2021-06-28,0
-1545,2021-06-29,0
-1546,2021-06-30,0
-1547,2021-07-01,0
-1548,2021-07-02,0
-1549,2021-07-03,0
-1550,2021-07-04,0
-1551,2021-07-05,0
-1552,2021-07-06,0
-1553,2021-07-07,0
-1554,2021-07-08,0
-1555,2021-07-09,0
-1556,2021-07-10,0
-1557,2021-07-11,0
-1558,2021-07-12,0
-1559,2021-07-13,0
-1560,2021-07-14,0
-1561,2021-07-15,0
-1562,2021-07-16,0
-1563,2021-07-17,0
-1564,2021-07-18,0
-1565,2021-07-19,0
-1566,2021-07-20,0
-1567,2021-07-21,0
-1568,2021-07-22,0
-1569,2021-07-23,0
-1570,2021-07-24,0
-1571,2021-07-25,0
-1572,2021-07-26,0
-1573,2021-07-27,0
-1574,2021-07-28,0
-1575,2021-07-29,0
-1576,2021-07-30,0
-1577,2021-07-31,0
-1578,2021-08-01,0
-1579,2021-08-02,0
-1580,2021-08-03,0
-1581,2021-08-04,0
-1582,2021-08-05,0
-1583,2021-08-06,0
-1584,2021-08-07,0
-1585,2021-08-08,0
-1586,2021-08-09,0
-1587,2021-08-10,0
-1588,2021-08-11,0
-1589,2021-08-12,0
-1590,2021-08-13,0
-1591,2021-08-14,0
-1592,2021-08-15,0
-1593,2021-08-16,0
-1594,2021-08-17,0
-1595,2021-08-18,0
-1596,2021-08-19,0
-1597,2021-08-20,0
-1598,2021-08-21,0
-1599,2021-08-22,0
-1600,2021-08-23,0
-1601,2021-08-24,0
-1602,2021-08-25,0
-1603,2021-08-26,0
-1604,2021-08-27,0
-1605,2021-08-28,0
-1606,2021-08-29,0
-1607,2021-08-30,0
-1608,2021-08-31,0
-1609,2021-09-01,0
-1610,2021-09-02,0
-1611,2021-09-03,0
-1612,2021-09-04,0
-1613,2021-09-05,0
-1614,2021-09-06,0
-1615,2021-09-07,0
-1616,2021-09-08,0
-1617,2021-09-09,0
-1618,2021-09-10,0
-1619,2021-09-11,0
-1620,2021-09-12,0
-1621,2021-09-13,0
-1622,2021-09-14,0
-1623,2021-09-15,0
-1624,2021-09-16,0
-1625,2021-09-17,0
-1626,2021-09-18,0
-1627,2021-09-19,0
-1628,2021-09-20,0
-1629,2021-09-21,0
-1630,2021-09-22,0
-1631,2021-09-23,0
-1632,2021-09-24,0
-1633,2021-09-25,0
-1634,2021-09-26,0
-1635,2021-09-27,0
-1636,2021-09-28,0
-1637,2021-09-29,0
-1638,2021-09-30,0
-1639,2021-10-01,0
-1640,2021-10-02,0
-1641,2021-10-03,0
-1642,2021-10-04,0
-1643,2021-10-05,0
-1644,2021-10-06,0
-1645,2021-10-07,0
-1646,2021-10-08,0
-1647,2021-10-09,0
-1648,2021-10-10,0
-1649,2021-10-11,0
-1650,2021-10-12,0
-1651,2021-10-13,0
-1652,2021-10-14,0
-1653,2021-10-15,0
-1654,2021-10-16,0
-1655,2021-10-17,0
-1656,2021-10-18,0
-1657,2021-10-19,0
-1658,2021-10-20,0
-1659,2021-10-21,0
-1660,2021-10-22,0
-1661,2021-10-23,0
-1662,2021-10-24,0
-1663,2021-10-25,0
-1664,2021-10-26,0
-1665,2021-10-27,0
-1666,2021-10-28,0
-1667,2021-10-29,0
-1668,2021-10-30,0
-1669,2021-10-31,0
-1670,2021-11-01,0
-1671,2021-11-02,0
-1672,2021-11-03,0
-1673,2021-11-04,0
-1674,2021-11-05,0
-1675,2021-11-06,0
-1676,2021-11-07,0
-1677,2021-11-08,0
-1678,2021-11-09,0
-1679,2021-11-10,0
-1680,2021-11-11,0
-1681,2021-11-12,0
-1682,2021-11-13,0
-1683,2021-11-14,0
-1684,2021-11-15,0
-1685,2021-11-16,0
-1686,2021-11-17,0
-1687,2021-11-18,0
-1688,2021-11-19,0
-1689,2021-11-20,0
-1690,2021-11-21,0
-1691,2021-11-22,0
-1692,2021-11-23,0
-1693,2021-11-24,0
-1694,2021-11-25,0
-1695,2021-11-26,0
-1696,2021-11-27,0
-1697,2021-11-28,0
-1698,2021-11-29,0
-1699,2021-11-30,0
-1700,2021-12-01,0
-1701,2021-12-02,0
-1702,2021-12-03,0
-1703,2021-12-04,0
-1704,2021-12-05,0
-1705,2021-12-06,0
-1706,2021-12-07,0
-1707,2021-12-08,0
-1708,2021-12-09,0
-1709,2021-12-10,0
-1710,2021-12-11,0
-1711,2021-12-12,0
-1712,2021-12-13,0
-1713,2021-12-14,0
-1714,2021-12-15,0
-1715,2021-12-16,0
-1716,2021-12-17,0
-1717,2021-12-18,0
-1718,2021-12-19,0
-1719,2021-12-20,0
-1720,2021-12-21,0
-1721,2021-12-22,0
-1722,2021-12-23,0
-1723,2021-12-24,0
-1724,2021-12-25,0
-1725,2021-12-26,0
-1726,2021-12-27,0
-1727,2021-12-28,0
-1728,2021-12-29,0
-1729,2021-12-30,0
-1730,2021-12-31,0
-1731,2022-01-01,0
-1732,2022-01-02,0
-1733,2022-01-03,0
-1734,2022-01-04,0
-1735,2022-01-05,0
-1736,2022-01-06,0
-1737,2022-01-07,0
-1738,2022-01-08,0
-1739,2022-01-09,0
-1740,2022-01-10,0
-1741,2022-01-11,0
-1742,2022-01-12,0
-1743,2022-01-13,0
-1744,2022-01-14,0
-1745,2022-01-15,0
-1746,2022-01-16,0
-1747,2022-01-17,0
-1748,2022-01-18,0
-1749,2022-01-19,0
-1750,2022-01-20,0
-1751,2022-01-21,0
-1752,2022-01-22,0
-1753,2022-01-23,0
-1754,2022-01-24,0
-1755,2022-01-25,0
-1756,2022-01-26,0
-1757,2022-01-27,0
-1758,2022-01-28,0
-1759,2022-01-29,0
-1760,2022-01-30,0
-1761,2022-01-31,0
-1762,2022-02-01,0
-1763,2022-02-02,0
-1764,2022-02-03,0
-1765,2022-02-04,0
-1766,2022-02-05,0
-1767,2022-02-06,0
-1768,2022-02-07,0
-1769,2022-02-08,0
-1770,2022-02-09,0
-1771,2022-02-10,0
-1772,2022-02-11,0
-1773,2022-02-12,0
-1774,2022-02-13,0
-1775,2022-02-14,0
-1776,2022-02-15,0
-1777,2022-02-16,0
-1778,2022-02-17,0
-1779,2022-02-18,0
-1780,2022-02-19,0
-1781,2022-02-20,0
-1782,2022-02-21,0
-1783,2022-02-22,0
-1784,2022-02-23,0
-1785,2022-02-24,0
-1786,2022-02-25,0
-1787,2022-02-26,0
-1788,2022-02-27,0
-1789,2022-02-28,0
-1790,2022-03-01,0
-1791,2022-03-02,0
-1792,2022-03-03,0
-1793,2022-03-04,0
-1794,2022-03-05,0
-1795,2022-03-06,0
-1796,2022-03-07,0
-1797,2022-03-08,0
-1798,2022-03-09,0
-1799,2022-03-10,0
-1800,2022-03-11,0
-1801,2022-03-12,0
-1802,2022-03-13,0
-1803,2022-03-14,0
-1804,2022-03-15,0
-1805,2022-03-16,0
-1806,2022-03-17,0
-1807,2022-03-18,0
-1808,2022-03-19,0
-1809,2022-03-20,0
-1810,2022-03-21,0
-1811,2022-03-22,0
-1812,2022-03-23,0
-1813,2022-03-24,0
-1814,2022-03-25,0
-1815,2022-03-26,0
-1816,2022-03-27,0
-1817,2022-03-28,0
-1818,2022-03-29,0
-1819,2022-03-30,0
-1820,2022-03-31,0
-1821,2022-04-01,0
-1822,2022-04-02,0
-1823,2022-04-03,0
-1824,2022-04-04,0
-1825,2022-04-05,0
-1826,2022-04-06,0
-1827,2022-04-07,0
-1828,2022-04-08,0
-1829,2022-04-09,0
-1830,2022-04-10,0
-1831,2022-04-11,0
-1832,2022-04-12,0
-1833,2022-04-13,0
-1834,2022-04-14,0
-1835,2022-04-15,0
-1836,2022-04-16,0
-1837,2022-04-17,0
-1838,2022-04-18,0
-1839,2022-04-19,0
-1840,2022-04-20,0
-1841,2022-04-21,0
-1842,2022-04-22,0
-1843,2022-04-23,0
-1844,2022-04-24,0
-1845,2022-04-25,0
-1846,2022-04-26,0
-1847,2022-04-27,0
-1848,2022-04-28,0
-1849,2022-04-29,0
-1850,2022-04-30,0
-1851,2022-05-01,0
-1852,2022-05-02,0
-1853,2022-05-03,0
-1854,2022-05-04,0
-1855,2022-05-05,0
-1856,2022-05-06,0
-1857,2022-05-07,0
-1858,2022-05-08,0
-1859,2022-05-09,0
-1860,2022-05-10,0
-1861,2022-05-11,0
-1862,2022-05-12,0
-1863,2022-05-13,0
-1864,2022-05-14,0
-1865,2022-05-15,0
-1866,2022-05-16,0
-1867,2022-05-17,0
-1868,2022-05-18,0
-1869,2022-05-19,0
-1870,2022-05-20,0
-1871,2022-05-21,0
-1872,2022-05-22,0
-1873,2022-05-23,0
-1874,2022-05-24,0
-1875,2022-05-25,0
-1876,2022-05-26,0
-1877,2022-05-27,0
-1878,2022-05-28,0
-1879,2022-05-29,0
-1880,2022-05-30,0
-1881,2022-05-31,0
-1882,2022-06-01,0
-1883,2022-06-02,0
-1884,2022-06-03,0
-1885,2022-06-04,0
-1886,2022-06-05,0
-1887,2022-06-06,0
-1888,2022-06-07,0
-1889,2022-06-08,0
-1890,2022-06-09,0
-1891,2022-06-10,0
-1892,2022-06-11,0
-1893,2022-06-12,0
-1894,2022-06-13,0
-1895,2022-06-14,0
-1896,2022-06-15,0
-1897,2022-06-16,0
-1898,2022-06-17,0
-1899,2022-06-18,0
-1900,2022-06-19,0
-1901,2022-06-20,0
-1902,2022-06-21,0
-1903,2022-06-22,0
-1904,2022-06-23,0
-1905,2022-06-24,0
-1906,2022-06-25,0
-1907,2022-06-26,0
-1908,2022-06-27,0
-1909,2022-06-28,0
-1910,2022-06-29,0
-1911,2022-06-30,0
-1912,2022-07-01,0
-1913,2022-07-02,0
-1914,2022-07-03,0
-1915,2022-07-04,0
-1916,2022-07-05,0
-1917,2022-07-06,0
-1918,2022-07-07,0
-1919,2022-07-08,0
-1920,2022-07-09,0
-1921,2022-07-10,0
-1922,2022-07-11,0
-1923,2022-07-12,0
-1924,2022-07-13,0
-1925,2022-07-14,0
-1926,2022-07-15,0
-1927,2022-07-16,0
-1928,2022-07-17,0
-1929,2022-07-18,0
-1930,2022-07-19,0
-1931,2022-07-20,0
-1932,2022-07-21,0
-1933,2022-07-22,0
-1934,2022-07-23,0
-1935,2022-07-24,0
-1936,2022-07-25,0
-1937,2022-07-26,0
-1938,2022-07-27,0
-1939,2022-07-28,0
-1940,2022-07-29,0
-1941,2022-07-30,0
-1942,2022-07-31,0
-1943,2022-08-01,0
-1944,2022-08-02,0
-1945,2022-08-03,0
-1946,2022-08-04,0
-1947,2022-08-05,0
-1948,2022-08-06,0
-1949,2022-08-07,0
-1950,2022-08-08,0
-1951,2022-08-09,0
-1952,2022-08-10,0
-1953,2022-08-11,0
-1954,2022-08-12,0
-1955,2022-08-13,0
-1956,2022-08-14,0
-1957,2022-08-15,0
-1958,2022-08-16,0
-1959,2022-08-17,0
-1960,2022-08-18,0
-1961,2022-08-19,0
-1962,2022-08-20,0
-1963,2022-08-21,0
-1964,2022-08-22,0
-1965,2022-08-23,0
-1966,2022-08-24,0
-1967,2022-08-25,0
-1968,2022-08-26,0
-1969,2022-08-27,0
-1970,2022-08-28,0
-1971,2022-08-29,0
-1972,2022-08-30,0
-1973,2022-08-31,0
-1974,2022-09-01,0
-1975,2022-09-02,0
-1976,2022-09-03,0
-1977,2022-09-04,0
-1978,2022-09-05,0
-1979,2022-09-06,0
-1980,2022-09-07,0
-1981,2022-09-08,0
-1982,2022-09-09,0
-1983,2022-09-10,0
-1984,2022-09-11,0
-1985,2022-09-12,0
-1986,2022-09-13,0
-1987,2022-09-14,0
-1988,2022-09-15,0
-1989,2022-09-16,0
-1990,2022-09-17,0
-1991,2022-09-18,0
-1992,2022-09-19,0
-1993,2022-09-20,0
-1994,2022-09-21,0
-1995,2022-09-22,0
-1996,2022-09-23,0
-1997,2022-09-24,0
-1998,2022-09-25,0
-1999,2022-09-26,0
-2000,2020-01-01,1
-2001,2020-01-02,1
-2002,2020-01-03,1
-2003,2020-01-04,1
-2004,2020-01-05,1
-2005,2020-01-06,1
-2006,2020-01-07,1
-2007,2020-01-08,1
-2008,2020-01-09,1
-2009,2020-01-10,1
-2010,2020-01-11,1
-2011,2020-01-12,1
-2012,2020-01-13,1
-2013,2020-01-14,1
-2014,2020-01-15,1
-2015,2020-01-16,1
-2016,2020-01-17,1
-2017,2020-01-18,1
-2018,2020-01-19,1
-2019,2020-01-20,1
-2020,2020-01-21,1
-2021,2020-01-22,1
-2022,2020-01-23,1
-2023,2020-01-24,1
-2024,2020-01-25,1
-2025,2020-01-26,1
-2026,2020-01-27,1
-2027,2020-01-28,1
-2028,2020-01-29,1
-2029,2020-01-30,1
-2030,2020-01-31,1
-2031,2020-02-01,1
-2032,2020-02-02,1
-2033,2020-02-03,1
-2034,2020-02-04,1
-2035,2020-02-05,1
-2036,2020-02-06,1
-2037,2020-02-07,1
-2038,2020-02-08,1
-2039,2020-02-09,1
-2040,2020-02-10,1
-2041,2020-02-11,1
-2042,2020-02-12,1
-2043,2020-02-13,1
-2044,2020-02-14,1
-2045,2020-02-15,1
-2046,2020-02-16,1
-2047,2020-02-17,1
-2048,2020-02-18,1
-2049,2020-02-19,1
-2050,2020-02-20,1
-2051,2020-02-21,1
-2052,2020-02-22,1
-2053,2020-02-23,1
-2054,2020-02-24,1
-2055,2020-02-25,1
-2056,2020-02-26,1
-2057,2020-02-27,1
-2058,2020-02-28,1
-2059,2020-02-29,1
-2060,2020-03-01,1
-2061,2020-03-02,1
-2062,2020-03-03,1
-2063,2020-03-04,1
-2064,2020-03-05,1
-2065,2020-03-06,1
-2066,2020-03-07,1
-2067,2020-03-08,1
-2068,2020-03-09,1
-2069,2020-03-10,1
-2070,2020-03-11,1
-2071,2020-03-12,1
-2072,2020-03-13,1
-2073,2020-03-14,1
-2074,2020-03-15,1
-2075,2020-03-16,1
-2076,2020-03-17,1
-2077,2020-03-18,1
-2078,2020-03-19,1
-2079,2020-03-20,1
-2080,2020-03-21,1
-2081,2020-03-22,1
-2082,2020-03-23,1
-2083,2020-03-24,1
-2084,2020-03-25,1
-2085,2020-03-26,1
-2086,2020-03-27,1
-2087,2020-03-28,1
-2088,2020-03-29,1
-2089,2020-03-30,1
-2090,2020-03-31,1
-2091,2020-04-01,1
-2092,2020-04-02,1
-2093,2020-04-03,1
-2094,2020-04-04,1
-2095,2020-04-05,1
-2096,2020-04-06,1
-2097,2020-04-07,1
-2098,2020-04-08,1
-2099,2020-04-09,1
-2100,2020-04-10,1
-2101,2020-04-11,1
-2102,2020-04-12,1
-2103,2020-04-13,1
-2104,2020-04-14,1
-2105,2020-04-15,1
-2106,2020-04-16,1
-2107,2020-04-17,1
-2108,2020-04-18,1
-2109,2020-04-19,1
-2110,2020-04-20,1
-2111,2020-04-21,1
-2112,2020-04-22,1
-2113,2020-04-23,1
-2114,2020-04-24,1
-2115,2020-04-25,1
-2116,2020-04-26,1
-2117,2020-04-27,1
-2118,2020-04-28,1
-2119,2020-04-29,1
-2120,2020-04-30,1
-2121,2020-05-01,1
-2122,2020-05-02,1
-2123,2020-05-03,1
-2124,2020-05-04,1
-2125,2020-05-05,1
-2126,2020-05-06,1
-2127,2020-05-07,1
-2128,2020-05-08,1
-2129,2020-05-09,1
-2130,2020-05-10,1
-2131,2020-05-11,1
-2132,2020-05-12,1
-2133,2020-05-13,1
-2134,2020-05-14,1
-2135,2020-05-15,1
-2136,2020-05-16,1
-2137,2020-05-17,1
-2138,2020-05-18,1
-2139,2020-05-19,1
-2140,2020-05-20,1
-2141,2020-05-21,1
-2142,2020-05-22,1
-2143,2020-05-23,1
-2144,2020-05-24,1
-2145,2020-05-25,1
-2146,2020-05-26,1
-2147,2020-05-27,1
-2148,2020-05-28,1
-2149,2020-05-29,1
-2150,2020-05-30,1
-2151,2020-05-31,1
-2152,2020-06-01,1
-2153,2020-06-02,1
-2154,2020-06-03,1
-2155,2020-06-04,1
-2156,2020-06-05,1
-2157,2020-06-06,1
-2158,2020-06-07,1
-2159,2020-06-08,1
-2160,2020-06-09,1
-2161,2020-06-10,1
-2162,2020-06-11,1
-2163,2020-06-12,1
-2164,2020-06-13,1
-2165,2020-06-14,1
-2166,2020-06-15,1
-2167,2020-06-16,1
-2168,2020-06-17,1
-2169,2020-06-18,1
-2170,2020-06-19,1
-2171,2020-06-20,1
-2172,2020-06-21,1
-2173,2020-06-22,1
-2174,2020-06-23,1
-2175,2020-06-24,1
-2176,2020-06-25,1
-2177,2020-06-26,1
-2178,2020-06-27,1
-2179,2020-06-28,1
-2180,2020-06-29,1
-2181,2020-06-30,1
-2182,2020-07-01,1
-2183,2020-07-02,1
-2184,2020-07-03,1
-2185,2020-07-04,1
-2186,2020-07-05,1
-2187,2020-07-06,1
-2188,2020-07-07,1
-2189,2020-07-08,1
-2190,2020-07-09,1
-2191,2020-07-10,1
-2192,2020-07-11,1
-2193,2020-07-12,1
-2194,2020-07-13,1
-2195,2020-07-14,1
-2196,2020-07-15,1
-2197,2020-07-16,1
-2198,2020-07-17,1
-2199,2020-07-18,1
-2200,2020-07-19,1
-2201,2020-07-20,1
-2202,2020-07-21,1
-2203,2020-07-22,1
-2204,2020-07-23,1
-2205,2020-07-24,1
-2206,2020-07-25,1
-2207,2020-07-26,1
-2208,2020-07-27,1
-2209,2020-07-28,1
-2210,2020-07-29,1
-2211,2020-07-30,1
-2212,2020-07-31,1
-2213,2020-08-01,1
-2214,2020-08-02,1
-2215,2020-08-03,1
-2216,2020-08-04,1
-2217,2020-08-05,1
-2218,2020-08-06,1
-2219,2020-08-07,1
-2220,2020-08-08,1
-2221,2020-08-09,1
-2222,2020-08-10,1
-2223,2020-08-11,1
-2224,2020-08-12,1
-2225,2020-08-13,1
-2226,2020-08-14,1
-2227,2020-08-15,1
-2228,2020-08-16,1
-2229,2020-08-17,1
-2230,2020-08-18,1
-2231,2020-08-19,1
-2232,2020-08-20,1
-2233,2020-08-21,1
-2234,2020-08-22,1
-2235,2020-08-23,1
-2236,2020-08-24,1
-2237,2020-08-25,1
-2238,2020-08-26,1
-2239,2020-08-27,1
-2240,2020-08-28,1
-2241,2020-08-29,1
-2242,2020-08-30,1
-2243,2020-08-31,1
-2244,2020-09-01,1
-2245,2020-09-02,1
-2246,2020-09-03,1
-2247,2020-09-04,1
-2248,2020-09-05,1
-2249,2020-09-06,1
-2250,2020-09-07,1
-2251,2020-09-08,1
-2252,2020-09-09,1
-2253,2020-09-10,1
-2254,2020-09-11,1
-2255,2020-09-12,1
-2256,2020-09-13,1
-2257,2020-09-14,1
-2258,2020-09-15,1
-2259,2020-09-16,1
-2260,2020-09-17,1
-2261,2020-09-18,1
-2262,2020-09-19,1
-2263,2020-09-20,1
-2264,2020-09-21,1
-2265,2020-09-22,1
-2266,2020-09-23,1
-2267,2020-09-24,1
-2268,2020-09-25,1
-2269,2020-09-26,1
-2270,2020-09-27,1
-2271,2020-09-28,1
-2272,2020-09-29,1
-2273,2020-09-30,1
-2274,2020-10-01,1
-2275,2020-10-02,1
-2276,2020-10-03,1
-2277,2020-10-04,1
-2278,2020-10-05,1
-2279,2020-10-06,1
-2280,2020-10-07,1
-2281,2020-10-08,1
-2282,2020-10-09,1
-2283,2020-10-10,1
-2284,2020-10-11,1
-2285,2020-10-12,1
-2286,2020-10-13,1
-2287,2020-10-14,1
-2288,2020-10-15,1
-2289,2020-10-16,1
-2290,2020-10-17,1
-2291,2020-10-18,1
-2292,2020-10-19,1
-2293,2020-10-20,1
-2294,2020-10-21,1
-2295,2020-10-22,1
-2296,2020-10-23,1
-2297,2020-10-24,1
-2298,2020-10-25,1
-2299,2020-10-26,1
-2300,2020-10-27,1
-2301,2020-10-28,1
-2302,2020-10-29,1
-2303,2020-10-30,1
-2304,2020-10-31,1
-2305,2020-11-01,1
-2306,2020-11-02,1
-2307,2020-11-03,1
-2308,2020-11-04,1
-2309,2020-11-05,1
-2310,2020-11-06,1
-2311,2020-11-07,1
-2312,2020-11-08,1
-2313,2020-11-09,1
-2314,2020-11-10,1
-2315,2020-11-11,1
-2316,2020-11-12,1
-2317,2020-11-13,1
-2318,2020-11-14,1
-2319,2020-11-15,1
-2320,2020-11-16,1
-2321,2020-11-17,1
-2322,2020-11-18,1
-2323,2020-11-19,1
-2324,2020-11-20,1
-2325,2020-11-21,1
-2326,2020-11-22,1
-2327,2020-11-23,1
-2328,2020-11-24,1
-2329,2020-11-25,1
-2330,2020-11-26,1
-2331,2020-11-27,1
-2332,2020-11-28,1
-2333,2020-11-29,1
-2334,2020-11-30,1
-2335,2020-12-01,1
-2336,2020-12-02,1
-2337,2020-12-03,1
-2338,2020-12-04,1
-2339,2020-12-05,1
-2340,2020-12-06,1
-2341,2020-12-07,1
-2342,2020-12-08,1
-2343,2020-12-09,1
-2344,2020-12-10,1
-2345,2020-12-11,1
-2346,2020-12-12,1
-2347,2020-12-13,1
-2348,2020-12-14,1
-2349,2020-12-15,1
-2350,2020-12-16,1
-2351,2020-12-17,1
-2352,2020-12-18,1
-2353,2020-12-19,1
-2354,2020-12-20,1
-2355,2020-12-21,1
-2356,2020-12-22,1
-2357,2020-12-23,1
-2358,2020-12-24,1
-2359,2020-12-25,1
-2360,2020-12-26,1
-2361,2020-12-27,1
-2362,2020-12-28,1
-2363,2020-12-29,1
-2364,2020-12-30,1
-2365,2020-12-31,1
-2366,2021-01-01,1
-2367,2021-01-02,1
-2368,2021-01-03,1
-2369,2021-01-04,1
-2370,2021-01-05,1
-2371,2021-01-06,1
-2372,2021-01-07,1
-2373,2021-01-08,1
-2374,2021-01-09,1
-2375,2021-01-10,1
-2376,2021-01-11,1
-2377,2021-01-12,1
-2378,2021-01-13,1
-2379,2021-01-14,1
-2380,2021-01-15,1
-2381,2021-01-16,1
-2382,2021-01-17,1
-2383,2021-01-18,1
-2384,2021-01-19,1
-2385,2021-01-20,1
-2386,2021-01-21,1
-2387,2021-01-22,1
-2388,2021-01-23,1
-2389,2021-01-24,1
-2390,2021-01-25,1
-2391,2021-01-26,1
-2392,2021-01-27,1
-2393,2021-01-28,1
-2394,2021-01-29,1
-2395,2021-01-30,1
-2396,2021-01-31,1
-2397,2021-02-01,1
-2398,2021-02-02,1
-2399,2021-02-03,1
-2400,2021-02-04,1
-2401,2021-02-05,1
-2402,2021-02-06,1
-2403,2021-02-07,1
-2404,2021-02-08,1
-2405,2021-02-09,1
-2406,2021-02-10,1
-2407,2021-02-11,1
-2408,2021-02-12,1
-2409,2021-02-13,1
-2410,2021-02-14,1
-2411,2021-02-15,1
-2412,2021-02-16,1
-2413,2021-02-17,1
-2414,2021-02-18,1
-2415,2021-02-19,1
-2416,2021-02-20,1
-2417,2021-02-21,1
-2418,2021-02-22,1
-2419,2021-02-23,1
-2420,2021-02-24,1
-2421,2021-02-25,1
-2422,2021-02-26,1
-2423,2021-02-27,1
-2424,2021-02-28,1
-2425,2021-03-01,1
-2426,2021-03-02,1
-2427,2021-03-03,1
-2428,2021-03-04,1
-2429,2021-03-05,1
-2430,2021-03-06,1
-2431,2021-03-07,1
-2432,2021-03-08,1
-2433,2021-03-09,1
-2434,2021-03-10,1
-2435,2021-03-11,1
-2436,2021-03-12,1
-2437,2021-03-13,1
-2438,2021-03-14,1
-2439,2021-03-15,1
-2440,2021-03-16,1
-2441,2021-03-17,1
-2442,2021-03-18,1
-2443,2021-03-19,1
-2444,2021-03-20,1
-2445,2021-03-21,1
-2446,2021-03-22,1
-2447,2021-03-23,1
-2448,2021-03-24,1
-2449,2021-03-25,1
-2450,2021-03-26,1
-2451,2021-03-27,1
-2452,2021-03-28,1
-2453,2021-03-29,1
-2454,2021-03-30,1
-2455,2021-03-31,1
-2456,2021-04-01,1
-2457,2021-04-02,1
-2458,2021-04-03,1
-2459,2021-04-04,1
-2460,2021-04-05,1
-2461,2021-04-06,1
-2462,2021-04-07,1
-2463,2021-04-08,1
-2464,2021-04-09,1
-2465,2021-04-10,1
-2466,2021-04-11,1
-2467,2021-04-12,1
-2468,2021-04-13,1
-2469,2021-04-14,1
-2470,2021-04-15,1
-2471,2021-04-16,1
-2472,2021-04-17,1
-2473,2021-04-18,1
-2474,2021-04-19,1
-2475,2021-04-20,1
-2476,2021-04-21,1
-2477,2021-04-22,1
-2478,2021-04-23,1
-2479,2021-04-24,1
-2480,2021-04-25,1
-2481,2021-04-26,1
-2482,2021-04-27,1
-2483,2021-04-28,1
-2484,2021-04-29,1
-2485,2021-04-30,1
-2486,2021-05-01,1
-2487,2021-05-02,1
-2488,2021-05-03,1
-2489,2021-05-04,1
-2490,2021-05-05,1
-2491,2021-05-06,1
-2492,2021-05-07,1
-2493,2021-05-08,1
-2494,2021-05-09,1
-2495,2021-05-10,1
-2496,2021-05-11,1
-2497,2021-05-12,1
-2498,2021-05-13,1
-2499,2021-05-14,1
-2500,2021-05-15,1
-2501,2021-05-16,1
-2502,2021-05-17,1
-2503,2021-05-18,1
-2504,2021-05-19,1
-2505,2021-05-20,1
-2506,2021-05-21,1
-2507,2021-05-22,1
-2508,2021-05-23,1
-2509,2021-05-24,1
-2510,2021-05-25,1
-2511,2021-05-26,1
-2512,2021-05-27,1
-2513,2021-05-28,1
-2514,2021-05-29,1
-2515,2021-05-30,1
-2516,2021-05-31,1
-2517,2021-06-01,1
-2518,2021-06-02,1
-2519,2021-06-03,1
-2520,2021-06-04,1
-2521,2021-06-05,1
-2522,2021-06-06,1
-2523,2021-06-07,1
-2524,2021-06-08,1
-2525,2021-06-09,1
-2526,2021-06-10,1
-2527,2021-06-11,1
-2528,2021-06-12,1
-2529,2021-06-13,1
-2530,2021-06-14,1
-2531,2021-06-15,1
-2532,2021-06-16,1
-2533,2021-06-17,1
-2534,2021-06-18,1
-2535,2021-06-19,1
-2536,2021-06-20,1
-2537,2021-06-21,1
-2538,2021-06-22,1
-2539,2021-06-23,1
-2540,2021-06-24,1
-2541,2021-06-25,1
-2542,2021-06-26,1
-2543,2021-06-27,1
-2544,2021-06-28,1
-2545,2021-06-29,1
-2546,2021-06-30,1
-2547,2021-07-01,1
-2548,2021-07-02,1
-2549,2021-07-03,1
-2550,2021-07-04,1
-2551,2021-07-05,1
-2552,2021-07-06,1
-2553,2021-07-07,1
-2554,2021-07-08,1
-2555,2021-07-09,1
-2556,2021-07-10,1
-2557,2021-07-11,1
-2558,2021-07-12,1
-2559,2021-07-13,1
-2560,2021-07-14,1
-2561,2021-07-15,1
-2562,2021-07-16,1
-2563,2021-07-17,1
-2564,2021-07-18,1
-2565,2021-07-19,1
-2566,2021-07-20,1
-2567,2021-07-21,1
-2568,2021-07-22,1
-2569,2021-07-23,1
-2570,2021-07-24,1
-2571,2021-07-25,1
-2572,2021-07-26,1
-2573,2021-07-27,1
-2574,2021-07-28,1
-2575,2021-07-29,1
-2576,2021-07-30,1
-2577,2021-07-31,1
-2578,2021-08-01,1
-2579,2021-08-02,1
-2580,2021-08-03,1
-2581,2021-08-04,1
-2582,2021-08-05,1
-2583,2021-08-06,1
-2584,2021-08-07,1
-2585,2021-08-08,1
-2586,2021-08-09,1
-2587,2021-08-10,1
-2588,2021-08-11,1
-2589,2021-08-12,1
-2590,2021-08-13,1
-2591,2021-08-14,1
-2592,2021-08-15,1
-2593,2021-08-16,1
-2594,2021-08-17,1
-2595,2021-08-18,1
-2596,2021-08-19,1
-2597,2021-08-20,1
-2598,2021-08-21,1
-2599,2021-08-22,1
-2600,2021-08-23,1
-2601,2021-08-24,1
-2602,2021-08-25,1
-2603,2021-08-26,1
-2604,2021-08-27,1
-2605,2021-08-28,1
-2606,2021-08-29,1
-2607,2021-08-30,1
-2608,2021-08-31,1
-2609,2021-09-01,1
-2610,2021-09-02,1
-2611,2021-09-03,1
-2612,2021-09-04,1
-2613,2021-09-05,1
-2614,2021-09-06,1
-2615,2021-09-07,1
-2616,2021-09-08,1
-2617,2021-09-09,1
-2618,2021-09-10,1
-2619,2021-09-11,1
-2620,2021-09-12,1
-2621,2021-09-13,1
-2622,2021-09-14,1
-2623,2021-09-15,1
-2624,2021-09-16,1
-2625,2021-09-17,1
-2626,2021-09-18,1
-2627,2021-09-19,1
-2628,2021-09-20,1
-2629,2021-09-21,1
-2630,2021-09-22,1
-2631,2021-09-23,1
-2632,2021-09-24,1
-2633,2021-09-25,1
-2634,2021-09-26,1
-2635,2021-09-27,1
-2636,2021-09-28,1
-2637,2021-09-29,1
-2638,2021-09-30,1
-2639,2021-10-01,1
-2640,2021-10-02,1
-2641,2021-10-03,1
-2642,2021-10-04,1
-2643,2021-10-05,1
-2644,2021-10-06,1
-2645,2021-10-07,1
-2646,2021-10-08,1
-2647,2021-10-09,1
-2648,2021-10-10,1
-2649,2021-10-11,1
-2650,2021-10-12,1
-2651,2021-10-13,1
-2652,2021-10-14,1
-2653,2021-10-15,1
-2654,2021-10-16,1
-2655,2021-10-17,1
-2656,2021-10-18,1
-2657,2021-10-19,1
-2658,2021-10-20,1
-2659,2021-10-21,1
-2660,2021-10-22,1
-2661,2021-10-23,1
-2662,2021-10-24,1
-2663,2021-10-25,1
-2664,2021-10-26,1
-2665,2021-10-27,1
-2666,2021-10-28,1
-2667,2021-10-29,1
-2668,2021-10-30,1
-2669,2021-10-31,1
-2670,2021-11-01,1
-2671,2021-11-02,1
-2672,2021-11-03,1
-2673,2021-11-04,1
-2674,2021-11-05,1
-2675,2021-11-06,1
-2676,2021-11-07,1
-2677,2021-11-08,1
-2678,2021-11-09,1
-2679,2021-11-10,1
-2680,2021-11-11,1
-2681,2021-11-12,1
-2682,2021-11-13,1
-2683,2021-11-14,1
-2684,2021-11-15,1
-2685,2021-11-16,1
-2686,2021-11-17,1
-2687,2021-11-18,1
-2688,2021-11-19,1
-2689,2021-11-20,1
-2690,2021-11-21,1
-2691,2021-11-22,1
-2692,2021-11-23,1
-2693,2021-11-24,1
-2694,2021-11-25,1
-2695,2021-11-26,1
-2696,2021-11-27,1
-2697,2021-11-28,1
-2698,2021-11-29,1
-2699,2021-11-30,1
-2700,2021-12-01,1
-2701,2021-12-02,1
-2702,2021-12-03,1
-2703,2021-12-04,1
-2704,2021-12-05,1
-2705,2021-12-06,1
-2706,2021-12-07,1
-2707,2021-12-08,1
-2708,2021-12-09,1
-2709,2021-12-10,1
-2710,2021-12-11,1
-2711,2021-12-12,1
-2712,2021-12-13,1
-2713,2021-12-14,1
-2714,2021-12-15,1
-2715,2021-12-16,1
-2716,2021-12-17,1
-2717,2021-12-18,1
-2718,2021-12-19,1
-2719,2021-12-20,1
-2720,2021-12-21,1
-2721,2021-12-22,1
-2722,2021-12-23,1
-2723,2021-12-24,1
-2724,2021-12-25,1
-2725,2021-12-26,1
-2726,2021-12-27,1
-2727,2021-12-28,1
-2728,2021-12-29,1
-2729,2021-12-30,1
-2730,2021-12-31,1
-2731,2022-01-01,1
-2732,2022-01-02,1
-2733,2022-01-03,1
-2734,2022-01-04,1
-2735,2022-01-05,1
-2736,2022-01-06,1
-2737,2022-01-07,1
-2738,2022-01-08,1
-2739,2022-01-09,1
-2740,2022-01-10,1
-2741,2022-01-11,1
-2742,2022-01-12,1
-2743,2022-01-13,1
-2744,2022-01-14,1
-2745,2022-01-15,1
-2746,2022-01-16,1
-2747,2022-01-17,1
-2748,2022-01-18,1
-2749,2022-01-19,1
-2750,2022-01-20,1
-2751,2022-01-21,1
-2752,2022-01-22,1
-2753,2022-01-23,1
-2754,2022-01-24,1
-2755,2022-01-25,1
-2756,2022-01-26,1
-2757,2022-01-27,1
-2758,2022-01-28,1
-2759,2022-01-29,1
-2760,2022-01-30,1
-2761,2022-01-31,1
-2762,2022-02-01,1
-2763,2022-02-02,1
-2764,2022-02-03,1
-2765,2022-02-04,1
-2766,2022-02-05,1
-2767,2022-02-06,1
-2768,2022-02-07,1
-2769,2022-02-08,1
-2770,2022-02-09,1
-2771,2022-02-10,1
-2772,2022-02-11,1
-2773,2022-02-12,1
-2774,2022-02-13,1
-2775,2022-02-14,1
-2776,2022-02-15,1
-2777,2022-02-16,1
-2778,2022-02-17,1
-2779,2022-02-18,1
-2780,2022-02-19,1
-2781,2022-02-20,1
-2782,2022-02-21,1
-2783,2022-02-22,1
-2784,2022-02-23,1
-2785,2022-02-24,1
-2786,2022-02-25,1
-2787,2022-02-26,1
-2788,2022-02-27,1
-2789,2022-02-28,1
-2790,2022-03-01,1
-2791,2022-03-02,1
-2792,2022-03-03,1
-2793,2022-03-04,1
-2794,2022-03-05,1
-2795,2022-03-06,1
-2796,2022-03-07,1
-2797,2022-03-08,1
-2798,2022-03-09,1
-2799,2022-03-10,1
-2800,2022-03-11,1
-2801,2022-03-12,1
-2802,2022-03-13,1
-2803,2022-03-14,1
-2804,2022-03-15,1
-2805,2022-03-16,1
-2806,2022-03-17,1
-2807,2022-03-18,1
-2808,2022-03-19,1
-2809,2022-03-20,1
-2810,2022-03-21,1
-2811,2022-03-22,1
-2812,2022-03-23,1
-2813,2022-03-24,1
-2814,2022-03-25,1
-2815,2022-03-26,1
-2816,2022-03-27,1
-2817,2022-03-28,1
-2818,2022-03-29,1
-2819,2022-03-30,1
-2820,2022-03-31,1
-2821,2022-04-01,1
-2822,2022-04-02,1
-2823,2022-04-03,1
-2824,2022-04-04,1
-2825,2022-04-05,1
-2826,2022-04-06,1
-2827,2022-04-07,1
-2828,2022-04-08,1
-2829,2022-04-09,1
-2830,2022-04-10,1
-2831,2022-04-11,1
-2832,2022-04-12,1
-2833,2022-04-13,1
-2834,2022-04-14,1
-2835,2022-04-15,1
-2836,2022-04-16,1
-2837,2022-04-17,1
-2838,2022-04-18,1
-2839,2022-04-19,1
-2840,2022-04-20,1
-2841,2022-04-21,1
-2842,2022-04-22,1
-2843,2022-04-23,1
-2844,2022-04-24,1
-2845,2022-04-25,1
-2846,2022-04-26,1
-2847,2022-04-27,1
-2848,2022-04-28,1
-2849,2022-04-29,1
-2850,2022-04-30,1
-2851,2022-05-01,1
-2852,2022-05-02,1
-2853,2022-05-03,1
-2854,2022-05-04,1
-2855,2022-05-05,1
-2856,2022-05-06,1
-2857,2022-05-07,1
-2858,2022-05-08,1
-2859,2022-05-09,1
-2860,2022-05-10,1
-2861,2022-05-11,1
-2862,2022-05-12,1
-2863,2022-05-13,1
-2864,2022-05-14,1
-2865,2022-05-15,1
-2866,2022-05-16,1
-2867,2022-05-17,1
-2868,2022-05-18,1
-2869,2022-05-19,1
-2870,2022-05-20,1
-2871,2022-05-21,1
-2872,2022-05-22,1
-2873,2022-05-23,1
-2874,2022-05-24,1
-2875,2022-05-25,1
-2876,2022-05-26,1
-2877,2022-05-27,1
-2878,2022-05-28,1
-2879,2022-05-29,1
-2880,2022-05-30,1
-2881,2022-05-31,1
-2882,2022-06-01,1
-2883,2022-06-02,1
-2884,2022-06-03,1
-2885,2022-06-04,1
-2886,2022-06-05,1
-2887,2022-06-06,1
-2888,2022-06-07,1
-2889,2022-06-08,1
-2890,2022-06-09,1
-2891,2022-06-10,1
-2892,2022-06-11,1
-2893,2022-06-12,1
-2894,2022-06-13,1
-2895,2022-06-14,1
-2896,2022-06-15,1
-2897,2022-06-16,1
-2898,2022-06-17,1
-2899,2022-06-18,1
-2900,2022-06-19,1
-2901,2022-06-20,1
-2902,2022-06-21,1
-2903,2022-06-22,1
-2904,2022-06-23,1
-2905,2022-06-24,1
-2906,2022-06-25,1
-2907,2022-06-26,1
-2908,2022-06-27,1
-2909,2022-06-28,1
-2910,2022-06-29,1
-2911,2022-06-30,1
-2912,2022-07-01,1
-2913,2022-07-02,1
-2914,2022-07-03,1
-2915,2022-07-04,1
-2916,2022-07-05,1
-2917,2022-07-06,1
-2918,2022-07-07,1
-2919,2022-07-08,1
-2920,2022-07-09,1
-2921,2022-07-10,1
-2922,2022-07-11,1
-2923,2022-07-12,1
-2924,2022-07-13,1
-2925,2022-07-14,1
-2926,2022-07-15,1
-2927,2022-07-16,1
-2928,2022-07-17,1
-2929,2022-07-18,1
-2930,2022-07-19,1
-2931,2022-07-20,1
-2932,2022-07-21,1
-2933,2022-07-22,1
-2934,2022-07-23,1
-2935,2022-07-24,1
-2936,2022-07-25,1
-2937,2022-07-26,1
-2938,2022-07-27,1
-2939,2022-07-28,1
-2940,2022-07-29,1
-2941,2022-07-30,1
-2942,2022-07-31,1
-2943,2022-08-01,1
-2944,2022-08-02,1
-2945,2022-08-03,1
-2946,2022-08-04,1
-2947,2022-08-05,1
-2948,2022-08-06,1
-2949,2022-08-07,1
-2950,2022-08-08,1
-2951,2022-08-09,1
-2952,2022-08-10,1
-2953,2022-08-11,1
-2954,2022-08-12,1
-2955,2022-08-13,1
-2956,2022-08-14,1
-2957,2022-08-15,1
-2958,2022-08-16,1
-2959,2022-08-17,1
-2960,2022-08-18,1
-2961,2022-08-19,1
-2962,2022-08-20,1
-2963,2022-08-21,1
-2964,2022-08-22,1
-2965,2022-08-23,1
-2966,2022-08-24,1
-2967,2022-08-25,1
-2968,2022-08-26,1
-2969,2022-08-27,1
-2970,2022-08-28,1
-2971,2022-08-29,1
-2972,2022-08-30,1
-2973,2022-08-31,1
-2974,2022-09-01,1
-2975,2022-09-02,1
-2976,2022-09-03,1
-2977,2022-09-04,1
-2978,2022-09-05,1
-2979,2022-09-06,1
-2980,2022-09-07,1
-2981,2022-09-08,1
-2982,2022-09-09,1
-2983,2022-09-10,1
-2984,2022-09-11,1
-2985,2022-09-12,1
-2986,2022-09-13,1
-2987,2022-09-14,1
-2988,2022-09-15,1
-2989,2022-09-16,1
-2990,2022-09-17,1
-2991,2022-09-18,1
-2992,2022-09-19,1
-2993,2022-09-20,1
-2994,2022-09-21,1
-2995,2022-09-22,1
-2996,2022-09-23,1
-2997,2022-09-24,1
-2998,2022-09-25,1
-2999,2022-09-26,1
-3000,2020-01-01,2
-3001,2020-01-02,2
-3002,2020-01-03,2
-3003,2020-01-04,2
-3004,2020-01-05,2
-3005,2020-01-06,2
-3006,2020-01-07,2
-3007,2020-01-08,2
-3008,2020-01-09,2
-3009,2020-01-10,2
-3010,2020-01-11,2
-3011,2020-01-12,2
-3012,2020-01-13,2
-3013,2020-01-14,2
-3014,2020-01-15,2
-3015,2020-01-16,2
-3016,2020-01-17,2
-3017,2020-01-18,2
-3018,2020-01-19,2
-3019,2020-01-20,2
-3020,2020-01-21,2
-3021,2020-01-22,2
-3022,2020-01-23,2
-3023,2020-01-24,2
-3024,2020-01-25,2
-3025,2020-01-26,2
-3026,2020-01-27,2
-3027,2020-01-28,2
-3028,2020-01-29,2
-3029,2020-01-30,2
-3030,2020-01-31,2
-3031,2020-02-01,2
-3032,2020-02-02,2
-3033,2020-02-03,2
-3034,2020-02-04,2
-3035,2020-02-05,2
-3036,2020-02-06,2
-3037,2020-02-07,2
-3038,2020-02-08,2
-3039,2020-02-09,2
-3040,2020-02-10,2
-3041,2020-02-11,2
-3042,2020-02-12,2
-3043,2020-02-13,2
-3044,2020-02-14,2
-3045,2020-02-15,2
-3046,2020-02-16,2
-3047,2020-02-17,2
-3048,2020-02-18,2
-3049,2020-02-19,2
-3050,2020-02-20,2
-3051,2020-02-21,2
-3052,2020-02-22,2
-3053,2020-02-23,2
-3054,2020-02-24,2
-3055,2020-02-25,2
-3056,2020-02-26,2
-3057,2020-02-27,2
-3058,2020-02-28,2
-3059,2020-02-29,2
-3060,2020-03-01,2
-3061,2020-03-02,2
-3062,2020-03-03,2
-3063,2020-03-04,2
-3064,2020-03-05,2
-3065,2020-03-06,2
-3066,2020-03-07,2
-3067,2020-03-08,2
-3068,2020-03-09,2
-3069,2020-03-10,2
-3070,2020-03-11,2
-3071,2020-03-12,2
-3072,2020-03-13,2
-3073,2020-03-14,2
-3074,2020-03-15,2
-3075,2020-03-16,2
-3076,2020-03-17,2
-3077,2020-03-18,2
-3078,2020-03-19,2
-3079,2020-03-20,2
-3080,2020-03-21,2
-3081,2020-03-22,2
-3082,2020-03-23,2
-3083,2020-03-24,2
-3084,2020-03-25,2
-3085,2020-03-26,2
-3086,2020-03-27,2
-3087,2020-03-28,2
-3088,2020-03-29,2
-3089,2020-03-30,2
-3090,2020-03-31,2
-3091,2020-04-01,2
-3092,2020-04-02,2
-3093,2020-04-03,2
-3094,2020-04-04,2
-3095,2020-04-05,2
-3096,2020-04-06,2
-3097,2020-04-07,2
-3098,2020-04-08,2
-3099,2020-04-09,2
-3100,2020-04-10,2
-3101,2020-04-11,2
-3102,2020-04-12,2
-3103,2020-04-13,2
-3104,2020-04-14,2
-3105,2020-04-15,2
-3106,2020-04-16,2
-3107,2020-04-17,2
-3108,2020-04-18,2
-3109,2020-04-19,2
-3110,2020-04-20,2
-3111,2020-04-21,2
-3112,2020-04-22,2
-3113,2020-04-23,2
-3114,2020-04-24,2
-3115,2020-04-25,2
-3116,2020-04-26,2
-3117,2020-04-27,2
-3118,2020-04-28,2
-3119,2020-04-29,2
-3120,2020-04-30,2
-3121,2020-05-01,2
-3122,2020-05-02,2
-3123,2020-05-03,2
-3124,2020-05-04,2
-3125,2020-05-05,2
-3126,2020-05-06,2
-3127,2020-05-07,2
-3128,2020-05-08,2
-3129,2020-05-09,2
-3130,2020-05-10,2
-3131,2020-05-11,2
-3132,2020-05-12,2
-3133,2020-05-13,2
-3134,2020-05-14,2
-3135,2020-05-15,2
-3136,2020-05-16,2
-3137,2020-05-17,2
-3138,2020-05-18,2
-3139,2020-05-19,2
-3140,2020-05-20,2
-3141,2020-05-21,2
-3142,2020-05-22,2
-3143,2020-05-23,2
-3144,2020-05-24,2
-3145,2020-05-25,2
-3146,2020-05-26,2
-3147,2020-05-27,2
-3148,2020-05-28,2
-3149,2020-05-29,2
-3150,2020-05-30,2
-3151,2020-05-31,2
-3152,2020-06-01,2
-3153,2020-06-02,2
-3154,2020-06-03,2
-3155,2020-06-04,2
-3156,2020-06-05,2
-3157,2020-06-06,2
-3158,2020-06-07,2
-3159,2020-06-08,2
-3160,2020-06-09,2
-3161,2020-06-10,2
-3162,2020-06-11,2
-3163,2020-06-12,2
-3164,2020-06-13,2
-3165,2020-06-14,2
-3166,2020-06-15,2
-3167,2020-06-16,2
-3168,2020-06-17,2
-3169,2020-06-18,2
-3170,2020-06-19,2
-3171,2020-06-20,2
-3172,2020-06-21,2
-3173,2020-06-22,2
-3174,2020-06-23,2
-3175,2020-06-24,2
-3176,2020-06-25,2
-3177,2020-06-26,2
-3178,2020-06-27,2
-3179,2020-06-28,2
-3180,2020-06-29,2
-3181,2020-06-30,2
-3182,2020-07-01,2
-3183,2020-07-02,2
-3184,2020-07-03,2
-3185,2020-07-04,2
-3186,2020-07-05,2
-3187,2020-07-06,2
-3188,2020-07-07,2
-3189,2020-07-08,2
-3190,2020-07-09,2
-3191,2020-07-10,2
-3192,2020-07-11,2
-3193,2020-07-12,2
-3194,2020-07-13,2
-3195,2020-07-14,2
-3196,2020-07-15,2
-3197,2020-07-16,2
-3198,2020-07-17,2
-3199,2020-07-18,2
-3200,2020-07-19,2
-3201,2020-07-20,2
-3202,2020-07-21,2
-3203,2020-07-22,2
-3204,2020-07-23,2
-3205,2020-07-24,2
-3206,2020-07-25,2
-3207,2020-07-26,2
-3208,2020-07-27,2
-3209,2020-07-28,2
-3210,2020-07-29,2
-3211,2020-07-30,2
-3212,2020-07-31,2
-3213,2020-08-01,2
-3214,2020-08-02,2
-3215,2020-08-03,2
-3216,2020-08-04,2
-3217,2020-08-05,2
-3218,2020-08-06,2
-3219,2020-08-07,2
-3220,2020-08-08,2
-3221,2020-08-09,2
-3222,2020-08-10,2
-3223,2020-08-11,2
-3224,2020-08-12,2
-3225,2020-08-13,2
-3226,2020-08-14,2
-3227,2020-08-15,2
-3228,2020-08-16,2
-3229,2020-08-17,2
-3230,2020-08-18,2
-3231,2020-08-19,2
-3232,2020-08-20,2
-3233,2020-08-21,2
-3234,2020-08-22,2
-3235,2020-08-23,2
-3236,2020-08-24,2
-3237,2020-08-25,2
-3238,2020-08-26,2
-3239,2020-08-27,2
-3240,2020-08-28,2
-3241,2020-08-29,2
-3242,2020-08-30,2
-3243,2020-08-31,2
-3244,2020-09-01,2
-3245,2020-09-02,2
-3246,2020-09-03,2
-3247,2020-09-04,2
-3248,2020-09-05,2
-3249,2020-09-06,2
-3250,2020-09-07,2
-3251,2020-09-08,2
-3252,2020-09-09,2
-3253,2020-09-10,2
-3254,2020-09-11,2
-3255,2020-09-12,2
-3256,2020-09-13,2
-3257,2020-09-14,2
-3258,2020-09-15,2
-3259,2020-09-16,2
-3260,2020-09-17,2
-3261,2020-09-18,2
-3262,2020-09-19,2
-3263,2020-09-20,2
-3264,2020-09-21,2
-3265,2020-09-22,2
-3266,2020-09-23,2
-3267,2020-09-24,2
-3268,2020-09-25,2
-3269,2020-09-26,2
-3270,2020-09-27,2
-3271,2020-09-28,2
-3272,2020-09-29,2
-3273,2020-09-30,2
-3274,2020-10-01,2
-3275,2020-10-02,2
-3276,2020-10-03,2
-3277,2020-10-04,2
-3278,2020-10-05,2
-3279,2020-10-06,2
-3280,2020-10-07,2
-3281,2020-10-08,2
-3282,2020-10-09,2
-3283,2020-10-10,2
-3284,2020-10-11,2
-3285,2020-10-12,2
-3286,2020-10-13,2
-3287,2020-10-14,2
-3288,2020-10-15,2
-3289,2020-10-16,2
-3290,2020-10-17,2
-3291,2020-10-18,2
-3292,2020-10-19,2
-3293,2020-10-20,2
-3294,2020-10-21,2
-3295,2020-10-22,2
-3296,2020-10-23,2
-3297,2020-10-24,2
-3298,2020-10-25,2
-3299,2020-10-26,2
-3300,2020-10-27,2
-3301,2020-10-28,2
-3302,2020-10-29,2
-3303,2020-10-30,2
-3304,2020-10-31,2
-3305,2020-11-01,2
-3306,2020-11-02,2
-3307,2020-11-03,2
-3308,2020-11-04,2
-3309,2020-11-05,2
-3310,2020-11-06,2
-3311,2020-11-07,2
-3312,2020-11-08,2
-3313,2020-11-09,2
-3314,2020-11-10,2
-3315,2020-11-11,2
-3316,2020-11-12,2
-3317,2020-11-13,2
-3318,2020-11-14,2
-3319,2020-11-15,2
-3320,2020-11-16,2
-3321,2020-11-17,2
-3322,2020-11-18,2
-3323,2020-11-19,2
-3324,2020-11-20,2
-3325,2020-11-21,2
-3326,2020-11-22,2
-3327,2020-11-23,2
-3328,2020-11-24,2
-3329,2020-11-25,2
-3330,2020-11-26,2
-3331,2020-11-27,2
-3332,2020-11-28,2
-3333,2020-11-29,2
-3334,2020-11-30,2
-3335,2020-12-01,2
-3336,2020-12-02,2
-3337,2020-12-03,2
-3338,2020-12-04,2
-3339,2020-12-05,2
-3340,2020-12-06,2
-3341,2020-12-07,2
-3342,2020-12-08,2
-3343,2020-12-09,2
-3344,2020-12-10,2
-3345,2020-12-11,2
-3346,2020-12-12,2
-3347,2020-12-13,2
-3348,2020-12-14,2
-3349,2020-12-15,2
-3350,2020-12-16,2
-3351,2020-12-17,2
-3352,2020-12-18,2
-3353,2020-12-19,2
-3354,2020-12-20,2
-3355,2020-12-21,2
-3356,2020-12-22,2
-3357,2020-12-23,2
-3358,2020-12-24,2
-3359,2020-12-25,2
-3360,2020-12-26,2
-3361,2020-12-27,2
-3362,2020-12-28,2
-3363,2020-12-29,2
-3364,2020-12-30,2
-3365,2020-12-31,2
-3366,2021-01-01,2
-3367,2021-01-02,2
-3368,2021-01-03,2
-3369,2021-01-04,2
-3370,2021-01-05,2
-3371,2021-01-06,2
-3372,2021-01-07,2
-3373,2021-01-08,2
-3374,2021-01-09,2
-3375,2021-01-10,2
-3376,2021-01-11,2
-3377,2021-01-12,2
-3378,2021-01-13,2
-3379,2021-01-14,2
-3380,2021-01-15,2
-3381,2021-01-16,2
-3382,2021-01-17,2
-3383,2021-01-18,2
-3384,2021-01-19,2
-3385,2021-01-20,2
-3386,2021-01-21,2
-3387,2021-01-22,2
-3388,2021-01-23,2
-3389,2021-01-24,2
-3390,2021-01-25,2
-3391,2021-01-26,2
-3392,2021-01-27,2
-3393,2021-01-28,2
-3394,2021-01-29,2
-3395,2021-01-30,2
-3396,2021-01-31,2
-3397,2021-02-01,2
-3398,2021-02-02,2
-3399,2021-02-03,2
-3400,2021-02-04,2
-3401,2021-02-05,2
-3402,2021-02-06,2
-3403,2021-02-07,2
-3404,2021-02-08,2
-3405,2021-02-09,2
-3406,2021-02-10,2
-3407,2021-02-11,2
-3408,2021-02-12,2
-3409,2021-02-13,2
-3410,2021-02-14,2
-3411,2021-02-15,2
-3412,2021-02-16,2
-3413,2021-02-17,2
-3414,2021-02-18,2
-3415,2021-02-19,2
-3416,2021-02-20,2
-3417,2021-02-21,2
-3418,2021-02-22,2
-3419,2021-02-23,2
-3420,2021-02-24,2
-3421,2021-02-25,2
-3422,2021-02-26,2
-3423,2021-02-27,2
-3424,2021-02-28,2
-3425,2021-03-01,2
-3426,2021-03-02,2
-3427,2021-03-03,2
-3428,2021-03-04,2
-3429,2021-03-05,2
-3430,2021-03-06,2
-3431,2021-03-07,2
-3432,2021-03-08,2
-3433,2021-03-09,2
-3434,2021-03-10,2
-3435,2021-03-11,2
-3436,2021-03-12,2
-3437,2021-03-13,2
-3438,2021-03-14,2
-3439,2021-03-15,2
-3440,2021-03-16,2
-3441,2021-03-17,2
-3442,2021-03-18,2
-3443,2021-03-19,2
-3444,2021-03-20,2
-3445,2021-03-21,2
-3446,2021-03-22,2
-3447,2021-03-23,2
-3448,2021-03-24,2
-3449,2021-03-25,2
-3450,2021-03-26,2
-3451,2021-03-27,2
-3452,2021-03-28,2
-3453,2021-03-29,2
-3454,2021-03-30,2
-3455,2021-03-31,2
-3456,2021-04-01,2
-3457,2021-04-02,2
-3458,2021-04-03,2
-3459,2021-04-04,2
-3460,2021-04-05,2
-3461,2021-04-06,2
-3462,2021-04-07,2
-3463,2021-04-08,2
-3464,2021-04-09,2
-3465,2021-04-10,2
-3466,2021-04-11,2
-3467,2021-04-12,2
-3468,2021-04-13,2
-3469,2021-04-14,2
-3470,2021-04-15,2
-3471,2021-04-16,2
-3472,2021-04-17,2
-3473,2021-04-18,2
-3474,2021-04-19,2
-3475,2021-04-20,2
-3476,2021-04-21,2
-3477,2021-04-22,2
-3478,2021-04-23,2
-3479,2021-04-24,2
-3480,2021-04-25,2
-3481,2021-04-26,2
-3482,2021-04-27,2
-3483,2021-04-28,2
-3484,2021-04-29,2
-3485,2021-04-30,2
-3486,2021-05-01,2
-3487,2021-05-02,2
-3488,2021-05-03,2
-3489,2021-05-04,2
-3490,2021-05-05,2
-3491,2021-05-06,2
-3492,2021-05-07,2
-3493,2021-05-08,2
-3494,2021-05-09,2
-3495,2021-05-10,2
-3496,2021-05-11,2
-3497,2021-05-12,2
-3498,2021-05-13,2
-3499,2021-05-14,2
-3500,2021-05-15,2
-3501,2021-05-16,2
-3502,2021-05-17,2
-3503,2021-05-18,2
-3504,2021-05-19,2
-3505,2021-05-20,2
-3506,2021-05-21,2
-3507,2021-05-22,2
-3508,2021-05-23,2
-3509,2021-05-24,2
-3510,2021-05-25,2
-3511,2021-05-26,2
-3512,2021-05-27,2
-3513,2021-05-28,2
-3514,2021-05-29,2
-3515,2021-05-30,2
-3516,2021-05-31,2
-3517,2021-06-01,2
-3518,2021-06-02,2
-3519,2021-06-03,2
-3520,2021-06-04,2
-3521,2021-06-05,2
-3522,2021-06-06,2
-3523,2021-06-07,2
-3524,2021-06-08,2
-3525,2021-06-09,2
-3526,2021-06-10,2
-3527,2021-06-11,2
-3528,2021-06-12,2
-3529,2021-06-13,2
-3530,2021-06-14,2
-3531,2021-06-15,2
-3532,2021-06-16,2
-3533,2021-06-17,2
-3534,2021-06-18,2
-3535,2021-06-19,2
-3536,2021-06-20,2
-3537,2021-06-21,2
-3538,2021-06-22,2
-3539,2021-06-23,2
-3540,2021-06-24,2
-3541,2021-06-25,2
-3542,2021-06-26,2
-3543,2021-06-27,2
-3544,2021-06-28,2
-3545,2021-06-29,2
-3546,2021-06-30,2
-3547,2021-07-01,2
-3548,2021-07-02,2
-3549,2021-07-03,2
-3550,2021-07-04,2
-3551,2021-07-05,2
-3552,2021-07-06,2
-3553,2021-07-07,2
-3554,2021-07-08,2
-3555,2021-07-09,2
-3556,2021-07-10,2
-3557,2021-07-11,2
-3558,2021-07-12,2
-3559,2021-07-13,2
-3560,2021-07-14,2
-3561,2021-07-15,2
-3562,2021-07-16,2
-3563,2021-07-17,2
-3564,2021-07-18,2
-3565,2021-07-19,2
-3566,2021-07-20,2
-3567,2021-07-21,2
-3568,2021-07-22,2
-3569,2021-07-23,2
-3570,2021-07-24,2
-3571,2021-07-25,2
-3572,2021-07-26,2
-3573,2021-07-27,2
-3574,2021-07-28,2
-3575,2021-07-29,2
-3576,2021-07-30,2
-3577,2021-07-31,2
-3578,2021-08-01,2
-3579,2021-08-02,2
-3580,2021-08-03,2
-3581,2021-08-04,2
-3582,2021-08-05,2
-3583,2021-08-06,2
-3584,2021-08-07,2
-3585,2021-08-08,2
-3586,2021-08-09,2
-3587,2021-08-10,2
-3588,2021-08-11,2
-3589,2021-08-12,2
-3590,2021-08-13,2
-3591,2021-08-14,2
-3592,2021-08-15,2
-3593,2021-08-16,2
-3594,2021-08-17,2
-3595,2021-08-18,2
-3596,2021-08-19,2
-3597,2021-08-20,2
-3598,2021-08-21,2
-3599,2021-08-22,2
-3600,2021-08-23,2
-3601,2021-08-24,2
-3602,2021-08-25,2
-3603,2021-08-26,2
-3604,2021-08-27,2
-3605,2021-08-28,2
-3606,2021-08-29,2
-3607,2021-08-30,2
-3608,2021-08-31,2
-3609,2021-09-01,2
-3610,2021-09-02,2
-3611,2021-09-03,2
-3612,2021-09-04,2
-3613,2021-09-05,2
-3614,2021-09-06,2
-3615,2021-09-07,2
-3616,2021-09-08,2
-3617,2021-09-09,2
-3618,2021-09-10,2
-3619,2021-09-11,2
-3620,2021-09-12,2
-3621,2021-09-13,2
-3622,2021-09-14,2
-3623,2021-09-15,2
-3624,2021-09-16,2
-3625,2021-09-17,2
-3626,2021-09-18,2
-3627,2021-09-19,2
-3628,2021-09-20,2
-3629,2021-09-21,2
-3630,2021-09-22,2
-3631,2021-09-23,2
-3632,2021-09-24,2
-3633,2021-09-25,2
-3634,2021-09-26,2
-3635,2021-09-27,2
-3636,2021-09-28,2
-3637,2021-09-29,2
-3638,2021-09-30,2
-3639,2021-10-01,2
-3640,2021-10-02,2
-3641,2021-10-03,2
-3642,2021-10-04,2
-3643,2021-10-05,2
-3644,2021-10-06,2
-3645,2021-10-07,2
-3646,2021-10-08,2
-3647,2021-10-09,2
-3648,2021-10-10,2
-3649,2021-10-11,2
-3650,2021-10-12,2
-3651,2021-10-13,2
-3652,2021-10-14,2
-3653,2021-10-15,2
-3654,2021-10-16,2
-3655,2021-10-17,2
-3656,2021-10-18,2
-3657,2021-10-19,2
-3658,2021-10-20,2
-3659,2021-10-21,2
-3660,2021-10-22,2
-3661,2021-10-23,2
-3662,2021-10-24,2
-3663,2021-10-25,2
-3664,2021-10-26,2
-3665,2021-10-27,2
-3666,2021-10-28,2
-3667,2021-10-29,2
-3668,2021-10-30,2
-3669,2021-10-31,2
-3670,2021-11-01,2
-3671,2021-11-02,2
-3672,2021-11-03,2
-3673,2021-11-04,2
-3674,2021-11-05,2
-3675,2021-11-06,2
-3676,2021-11-07,2
-3677,2021-11-08,2
-3678,2021-11-09,2
-3679,2021-11-10,2
-3680,2021-11-11,2
-3681,2021-11-12,2
-3682,2021-11-13,2
-3683,2021-11-14,2
-3684,2021-11-15,2
-3685,2021-11-16,2
-3686,2021-11-17,2
-3687,2021-11-18,2
-3688,2021-11-19,2
-3689,2021-11-20,2
-3690,2021-11-21,2
-3691,2021-11-22,2
-3692,2021-11-23,2
-3693,2021-11-24,2
-3694,2021-11-25,2
-3695,2021-11-26,2
-3696,2021-11-27,2
-3697,2021-11-28,2
-3698,2021-11-29,2
-3699,2021-11-30,2
-3700,2021-12-01,2
-3701,2021-12-02,2
-3702,2021-12-03,2
-3703,2021-12-04,2
-3704,2021-12-05,2
-3705,2021-12-06,2
-3706,2021-12-07,2
-3707,2021-12-08,2
-3708,2021-12-09,2
-3709,2021-12-10,2
-3710,2021-12-11,2
-3711,2021-12-12,2
-3712,2021-12-13,2
-3713,2021-12-14,2
-3714,2021-12-15,2
-3715,2021-12-16,2
-3716,2021-12-17,2
-3717,2021-12-18,2
-3718,2021-12-19,2
-3719,2021-12-20,2
-3720,2021-12-21,2
-3721,2021-12-22,2
-3722,2021-12-23,2
-3723,2021-12-24,2
-3724,2021-12-25,2
-3725,2021-12-26,2
-3726,2021-12-27,2
-3727,2021-12-28,2
-3728,2021-12-29,2
-3729,2021-12-30,2
-3730,2021-12-31,2
-3731,2022-01-01,2
-3732,2022-01-02,2
-3733,2022-01-03,2
-3734,2022-01-04,2
-3735,2022-01-05,2
-3736,2022-01-06,2
-3737,2022-01-07,2
-3738,2022-01-08,2
-3739,2022-01-09,2
-3740,2022-01-10,2
-3741,2022-01-11,2
-3742,2022-01-12,2
-3743,2022-01-13,2
-3744,2022-01-14,2
-3745,2022-01-15,2
-3746,2022-01-16,2
-3747,2022-01-17,2
-3748,2022-01-18,2
-3749,2022-01-19,2
-3750,2022-01-20,2
-3751,2022-01-21,2
-3752,2022-01-22,2
-3753,2022-01-23,2
-3754,2022-01-24,2
-3755,2022-01-25,2
-3756,2022-01-26,2
-3757,2022-01-27,2
-3758,2022-01-28,2
-3759,2022-01-29,2
-3760,2022-01-30,2
-3761,2022-01-31,2
-3762,2022-02-01,2
-3763,2022-02-02,2
-3764,2022-02-03,2
-3765,2022-02-04,2
-3766,2022-02-05,2
-3767,2022-02-06,2
-3768,2022-02-07,2
-3769,2022-02-08,2
-3770,2022-02-09,2
-3771,2022-02-10,2
-3772,2022-02-11,2
-3773,2022-02-12,2
-3774,2022-02-13,2
-3775,2022-02-14,2
-3776,2022-02-15,2
-3777,2022-02-16,2
-3778,2022-02-17,2
-3779,2022-02-18,2
-3780,2022-02-19,2
-3781,2022-02-20,2
-3782,2022-02-21,2
-3783,2022-02-22,2
-3784,2022-02-23,2
-3785,2022-02-24,2
-3786,2022-02-25,2
-3787,2022-02-26,2
-3788,2022-02-27,2
-3789,2022-02-28,2
-3790,2022-03-01,2
-3791,2022-03-02,2
-3792,2022-03-03,2
-3793,2022-03-04,2
-3794,2022-03-05,2
-3795,2022-03-06,2
-3796,2022-03-07,2
-3797,2022-03-08,2
-3798,2022-03-09,2
-3799,2022-03-10,2
-3800,2022-03-11,2
-3801,2022-03-12,2
-3802,2022-03-13,2
-3803,2022-03-14,2
-3804,2022-03-15,2
-3805,2022-03-16,2
-3806,2022-03-17,2
-3807,2022-03-18,2
-3808,2022-03-19,2
-3809,2022-03-20,2
-3810,2022-03-21,2
-3811,2022-03-22,2
-3812,2022-03-23,2
-3813,2022-03-24,2
-3814,2022-03-25,2
-3815,2022-03-26,2
-3816,2022-03-27,2
-3817,2022-03-28,2
-3818,2022-03-29,2
-3819,2022-03-30,2
-3820,2022-03-31,2
-3821,2022-04-01,2
-3822,2022-04-02,2
-3823,2022-04-03,2
-3824,2022-04-04,2
-3825,2022-04-05,2
-3826,2022-04-06,2
-3827,2022-04-07,2
-3828,2022-04-08,2
-3829,2022-04-09,2
-3830,2022-04-10,2
-3831,2022-04-11,2
-3832,2022-04-12,2
-3833,2022-04-13,2
-3834,2022-04-14,2
-3835,2022-04-15,2
-3836,2022-04-16,2
-3837,2022-04-17,2
-3838,2022-04-18,2
-3839,2022-04-19,2
-3840,2022-04-20,2
-3841,2022-04-21,2
-3842,2022-04-22,2
-3843,2022-04-23,2
-3844,2022-04-24,2
-3845,2022-04-25,2
-3846,2022-04-26,2
-3847,2022-04-27,2
-3848,2022-04-28,2
-3849,2022-04-29,2
-3850,2022-04-30,2
-3851,2022-05-01,2
-3852,2022-05-02,2
-3853,2022-05-03,2
-3854,2022-05-04,2
-3855,2022-05-05,2
-3856,2022-05-06,2
-3857,2022-05-07,2
-3858,2022-05-08,2
-3859,2022-05-09,2
-3860,2022-05-10,2
-3861,2022-05-11,2
-3862,2022-05-12,2
-3863,2022-05-13,2
-3864,2022-05-14,2
-3865,2022-05-15,2
-3866,2022-05-16,2
-3867,2022-05-17,2
-3868,2022-05-18,2
-3869,2022-05-19,2
-3870,2022-05-20,2
-3871,2022-05-21,2
-3872,2022-05-22,2
-3873,2022-05-23,2
-3874,2022-05-24,2
-3875,2022-05-25,2
-3876,2022-05-26,2
-3877,2022-05-27,2
-3878,2022-05-28,2
-3879,2022-05-29,2
-3880,2022-05-30,2
-3881,2022-05-31,2
-3882,2022-06-01,2
-3883,2022-06-02,2
-3884,2022-06-03,2
-3885,2022-06-04,2
-3886,2022-06-05,2
-3887,2022-06-06,2
-3888,2022-06-07,2
-3889,2022-06-08,2
-3890,2022-06-09,2
-3891,2022-06-10,2
-3892,2022-06-11,2
-3893,2022-06-12,2
-3894,2022-06-13,2
-3895,2022-06-14,2
-3896,2022-06-15,2
-3897,2022-06-16,2
-3898,2022-06-17,2
-3899,2022-06-18,2
-3900,2022-06-19,2
-3901,2022-06-20,2
-3902,2022-06-21,2
-3903,2022-06-22,2
-3904,2022-06-23,2
-3905,2022-06-24,2
-3906,2022-06-25,2
-3907,2022-06-26,2
-3908,2022-06-27,2
-3909,2022-06-28,2
-3910,2022-06-29,2
-3911,2022-06-30,2
-3912,2022-07-01,2
-3913,2022-07-02,2
-3914,2022-07-03,2
-3915,2022-07-04,2
-3916,2022-07-05,2
-3917,2022-07-06,2
-3918,2022-07-07,2
-3919,2022-07-08,2
-3920,2022-07-09,2
-3921,2022-07-10,2
-3922,2022-07-11,2
-3923,2022-07-12,2
-3924,2022-07-13,2
-3925,2022-07-14,2
-3926,2022-07-15,2
-3927,2022-07-16,2
-3928,2022-07-17,2
-3929,2022-07-18,2
-3930,2022-07-19,2
-3931,2022-07-20,2
-3932,2022-07-21,2
-3933,2022-07-22,2
-3934,2022-07-23,2
-3935,2022-07-24,2
-3936,2022-07-25,2
-3937,2022-07-26,2
-3938,2022-07-27,2
-3939,2022-07-28,2
-3940,2022-07-29,2
-3941,2022-07-30,2
-3942,2022-07-31,2
-3943,2022-08-01,2
-3944,2022-08-02,2
-3945,2022-08-03,2
-3946,2022-08-04,2
-3947,2022-08-05,2
-3948,2022-08-06,2
-3949,2022-08-07,2
-3950,2022-08-08,2
-3951,2022-08-09,2
-3952,2022-08-10,2
-3953,2022-08-11,2
-3954,2022-08-12,2
-3955,2022-08-13,2
-3956,2022-08-14,2
-3957,2022-08-15,2
-3958,2022-08-16,2
-3959,2022-08-17,2
-3960,2022-08-18,2
-3961,2022-08-19,2
-3962,2022-08-20,2
-3963,2022-08-21,2
-3964,2022-08-22,2
-3965,2022-08-23,2
-3966,2022-08-24,2
-3967,2022-08-25,2
-3968,2022-08-26,2
-3969,2022-08-27,2
-3970,2022-08-28,2
-3971,2022-08-29,2
-3972,2022-08-30,2
-3973,2022-08-31,2
-3974,2022-09-01,2
-3975,2022-09-02,2
-3976,2022-09-03,2
-3977,2022-09-04,2
-3978,2022-09-05,2
-3979,2022-09-06,2
-3980,2022-09-07,2
-3981,2022-09-08,2
-3982,2022-09-09,2
-3983,2022-09-10,2
-3984,2022-09-11,2
-3985,2022-09-12,2
-3986,2022-09-13,2
-3987,2022-09-14,2
-3988,2022-09-15,2
-3989,2022-09-16,2
-3990,2022-09-17,2
-3991,2022-09-18,2
-3992,2022-09-19,2
-3993,2022-09-20,2
-3994,2022-09-21,2
-3995,2022-09-22,2
-3996,2022-09-23,2
-3997,2022-09-24,2
-3998,2022-09-25,2
-3999,2022-09-26,2
-4000,2020-01-01,3
-4001,2020-01-02,3
-4002,2020-01-03,3
-4003,2020-01-04,3
-4004,2020-01-05,3
-4005,2020-01-06,3
-4006,2020-01-07,3
-4007,2020-01-08,3
-4008,2020-01-09,3
-4009,2020-01-10,3
-4010,2020-01-11,3
-4011,2020-01-12,3
-4012,2020-01-13,3
-4013,2020-01-14,3
-4014,2020-01-15,3
-4015,2020-01-16,3
-4016,2020-01-17,3
-4017,2020-01-18,3
-4018,2020-01-19,3
-4019,2020-01-20,3
-4020,2020-01-21,3
-4021,2020-01-22,3
-4022,2020-01-23,3
-4023,2020-01-24,3
-4024,2020-01-25,3
-4025,2020-01-26,3
-4026,2020-01-27,3
-4027,2020-01-28,3
-4028,2020-01-29,3
-4029,2020-01-30,3
-4030,2020-01-31,3
-4031,2020-02-01,3
-4032,2020-02-02,3
-4033,2020-02-03,3
-4034,2020-02-04,3
-4035,2020-02-05,3
-4036,2020-02-06,3
-4037,2020-02-07,3
-4038,2020-02-08,3
-4039,2020-02-09,3
-4040,2020-02-10,3
-4041,2020-02-11,3
-4042,2020-02-12,3
-4043,2020-02-13,3
-4044,2020-02-14,3
-4045,2020-02-15,3
-4046,2020-02-16,3
-4047,2020-02-17,3
-4048,2020-02-18,3
-4049,2020-02-19,3
-4050,2020-02-20,3
-4051,2020-02-21,3
-4052,2020-02-22,3
-4053,2020-02-23,3
-4054,2020-02-24,3
-4055,2020-02-25,3
-4056,2020-02-26,3
-4057,2020-02-27,3
-4058,2020-02-28,3
-4059,2020-02-29,3
-4060,2020-03-01,3
-4061,2020-03-02,3
-4062,2020-03-03,3
-4063,2020-03-04,3
-4064,2020-03-05,3
-4065,2020-03-06,3
-4066,2020-03-07,3
-4067,2020-03-08,3
-4068,2020-03-09,3
-4069,2020-03-10,3
-4070,2020-03-11,3
-4071,2020-03-12,3
-4072,2020-03-13,3
-4073,2020-03-14,3
-4074,2020-03-15,3
-4075,2020-03-16,3
-4076,2020-03-17,3
-4077,2020-03-18,3
-4078,2020-03-19,3
-4079,2020-03-20,3
-4080,2020-03-21,3
-4081,2020-03-22,3
-4082,2020-03-23,3
-4083,2020-03-24,3
-4084,2020-03-25,3
-4085,2020-03-26,3
-4086,2020-03-27,3
-4087,2020-03-28,3
-4088,2020-03-29,3
-4089,2020-03-30,3
-4090,2020-03-31,3
-4091,2020-04-01,3
-4092,2020-04-02,3
-4093,2020-04-03,3
-4094,2020-04-04,3
-4095,2020-04-05,3
-4096,2020-04-06,3
-4097,2020-04-07,3
-4098,2020-04-08,3
-4099,2020-04-09,3
-4100,2020-04-10,3
-4101,2020-04-11,3
-4102,2020-04-12,3
-4103,2020-04-13,3
-4104,2020-04-14,3
-4105,2020-04-15,3
-4106,2020-04-16,3
-4107,2020-04-17,3
-4108,2020-04-18,3
-4109,2020-04-19,3
-4110,2020-04-20,3
-4111,2020-04-21,3
-4112,2020-04-22,3
-4113,2020-04-23,3
-4114,2020-04-24,3
-4115,2020-04-25,3
-4116,2020-04-26,3
-4117,2020-04-27,3
-4118,2020-04-28,3
-4119,2020-04-29,3
-4120,2020-04-30,3
-4121,2020-05-01,3
-4122,2020-05-02,3
-4123,2020-05-03,3
-4124,2020-05-04,3
-4125,2020-05-05,3
-4126,2020-05-06,3
-4127,2020-05-07,3
-4128,2020-05-08,3
-4129,2020-05-09,3
-4130,2020-05-10,3
-4131,2020-05-11,3
-4132,2020-05-12,3
-4133,2020-05-13,3
-4134,2020-05-14,3
-4135,2020-05-15,3
-4136,2020-05-16,3
-4137,2020-05-17,3
-4138,2020-05-18,3
-4139,2020-05-19,3
-4140,2020-05-20,3
-4141,2020-05-21,3
-4142,2020-05-22,3
-4143,2020-05-23,3
-4144,2020-05-24,3
-4145,2020-05-25,3
-4146,2020-05-26,3
-4147,2020-05-27,3
-4148,2020-05-28,3
-4149,2020-05-29,3
-4150,2020-05-30,3
-4151,2020-05-31,3
-4152,2020-06-01,3
-4153,2020-06-02,3
-4154,2020-06-03,3
-4155,2020-06-04,3
-4156,2020-06-05,3
-4157,2020-06-06,3
-4158,2020-06-07,3
-4159,2020-06-08,3
-4160,2020-06-09,3
-4161,2020-06-10,3
-4162,2020-06-11,3
-4163,2020-06-12,3
-4164,2020-06-13,3
-4165,2020-06-14,3
-4166,2020-06-15,3
-4167,2020-06-16,3
-4168,2020-06-17,3
-4169,2020-06-18,3
-4170,2020-06-19,3
-4171,2020-06-20,3
-4172,2020-06-21,3
-4173,2020-06-22,3
-4174,2020-06-23,3
-4175,2020-06-24,3
-4176,2020-06-25,3
-4177,2020-06-26,3
-4178,2020-06-27,3
-4179,2020-06-28,3
-4180,2020-06-29,3
-4181,2020-06-30,3
-4182,2020-07-01,3
-4183,2020-07-02,3
-4184,2020-07-03,3
-4185,2020-07-04,3
-4186,2020-07-05,3
-4187,2020-07-06,3
-4188,2020-07-07,3
-4189,2020-07-08,3
-4190,2020-07-09,3
-4191,2020-07-10,3
-4192,2020-07-11,3
-4193,2020-07-12,3
-4194,2020-07-13,3
-4195,2020-07-14,3
-4196,2020-07-15,3
-4197,2020-07-16,3
-4198,2020-07-17,3
-4199,2020-07-18,3
-4200,2020-07-19,3
-4201,2020-07-20,3
-4202,2020-07-21,3
-4203,2020-07-22,3
-4204,2020-07-23,3
-4205,2020-07-24,3
-4206,2020-07-25,3
-4207,2020-07-26,3
-4208,2020-07-27,3
-4209,2020-07-28,3
-4210,2020-07-29,3
-4211,2020-07-30,3
-4212,2020-07-31,3
-4213,2020-08-01,3
-4214,2020-08-02,3
-4215,2020-08-03,3
-4216,2020-08-04,3
-4217,2020-08-05,3
-4218,2020-08-06,3
-4219,2020-08-07,3
-4220,2020-08-08,3
-4221,2020-08-09,3
-4222,2020-08-10,3
-4223,2020-08-11,3
-4224,2020-08-12,3
-4225,2020-08-13,3
-4226,2020-08-14,3
-4227,2020-08-15,3
-4228,2020-08-16,3
-4229,2020-08-17,3
-4230,2020-08-18,3
-4231,2020-08-19,3
-4232,2020-08-20,3
-4233,2020-08-21,3
-4234,2020-08-22,3
-4235,2020-08-23,3
-4236,2020-08-24,3
-4237,2020-08-25,3
-4238,2020-08-26,3
-4239,2020-08-27,3
-4240,2020-08-28,3
-4241,2020-08-29,3
-4242,2020-08-30,3
-4243,2020-08-31,3
-4244,2020-09-01,3
-4245,2020-09-02,3
-4246,2020-09-03,3
-4247,2020-09-04,3
-4248,2020-09-05,3
-4249,2020-09-06,3
-4250,2020-09-07,3
-4251,2020-09-08,3
-4252,2020-09-09,3
-4253,2020-09-10,3
-4254,2020-09-11,3
-4255,2020-09-12,3
-4256,2020-09-13,3
-4257,2020-09-14,3
-4258,2020-09-15,3
-4259,2020-09-16,3
-4260,2020-09-17,3
-4261,2020-09-18,3
-4262,2020-09-19,3
-4263,2020-09-20,3
-4264,2020-09-21,3
-4265,2020-09-22,3
-4266,2020-09-23,3
-4267,2020-09-24,3
-4268,2020-09-25,3
-4269,2020-09-26,3
-4270,2020-09-27,3
-4271,2020-09-28,3
-4272,2020-09-29,3
-4273,2020-09-30,3
-4274,2020-10-01,3
-4275,2020-10-02,3
-4276,2020-10-03,3
-4277,2020-10-04,3
-4278,2020-10-05,3
-4279,2020-10-06,3
-4280,2020-10-07,3
-4281,2020-10-08,3
-4282,2020-10-09,3
-4283,2020-10-10,3
-4284,2020-10-11,3
-4285,2020-10-12,3
-4286,2020-10-13,3
-4287,2020-10-14,3
-4288,2020-10-15,3
-4289,2020-10-16,3
-4290,2020-10-17,3
-4291,2020-10-18,3
-4292,2020-10-19,3
-4293,2020-10-20,3
-4294,2020-10-21,3
-4295,2020-10-22,3
-4296,2020-10-23,3
-4297,2020-10-24,3
-4298,2020-10-25,3
-4299,2020-10-26,3
-4300,2020-10-27,3
-4301,2020-10-28,3
-4302,2020-10-29,3
-4303,2020-10-30,3
-4304,2020-10-31,3
-4305,2020-11-01,3
-4306,2020-11-02,3
-4307,2020-11-03,3
-4308,2020-11-04,3
-4309,2020-11-05,3
-4310,2020-11-06,3
-4311,2020-11-07,3
-4312,2020-11-08,3
-4313,2020-11-09,3
-4314,2020-11-10,3
-4315,2020-11-11,3
-4316,2020-11-12,3
-4317,2020-11-13,3
-4318,2020-11-14,3
-4319,2020-11-15,3
-4320,2020-11-16,3
-4321,2020-11-17,3
-4322,2020-11-18,3
-4323,2020-11-19,3
-4324,2020-11-20,3
-4325,2020-11-21,3
-4326,2020-11-22,3
-4327,2020-11-23,3
-4328,2020-11-24,3
-4329,2020-11-25,3
-4330,2020-11-26,3
-4331,2020-11-27,3
-4332,2020-11-28,3
-4333,2020-11-29,3
-4334,2020-11-30,3
-4335,2020-12-01,3
-4336,2020-12-02,3
-4337,2020-12-03,3
-4338,2020-12-04,3
-4339,2020-12-05,3
-4340,2020-12-06,3
-4341,2020-12-07,3
-4342,2020-12-08,3
-4343,2020-12-09,3
-4344,2020-12-10,3
-4345,2020-12-11,3
-4346,2020-12-12,3
-4347,2020-12-13,3
-4348,2020-12-14,3
-4349,2020-12-15,3
-4350,2020-12-16,3
-4351,2020-12-17,3
-4352,2020-12-18,3
-4353,2020-12-19,3
-4354,2020-12-20,3
-4355,2020-12-21,3
-4356,2020-12-22,3
-4357,2020-12-23,3
-4358,2020-12-24,3
-4359,2020-12-25,3
-4360,2020-12-26,3
-4361,2020-12-27,3
-4362,2020-12-28,3
-4363,2020-12-29,3
-4364,2020-12-30,3
-4365,2020-12-31,3
-4366,2021-01-01,3
-4367,2021-01-02,3
-4368,2021-01-03,3
-4369,2021-01-04,3
-4370,2021-01-05,3
-4371,2021-01-06,3
-4372,2021-01-07,3
-4373,2021-01-08,3
-4374,2021-01-09,3
-4375,2021-01-10,3
-4376,2021-01-11,3
-4377,2021-01-12,3
-4378,2021-01-13,3
-4379,2021-01-14,3
-4380,2021-01-15,3
-4381,2021-01-16,3
-4382,2021-01-17,3
-4383,2021-01-18,3
-4384,2021-01-19,3
-4385,2021-01-20,3
-4386,2021-01-21,3
-4387,2021-01-22,3
-4388,2021-01-23,3
-4389,2021-01-24,3
-4390,2021-01-25,3
-4391,2021-01-26,3
-4392,2021-01-27,3
-4393,2021-01-28,3
-4394,2021-01-29,3
-4395,2021-01-30,3
-4396,2021-01-31,3
-4397,2021-02-01,3
-4398,2021-02-02,3
-4399,2021-02-03,3
-4400,2021-02-04,3
-4401,2021-02-05,3
-4402,2021-02-06,3
-4403,2021-02-07,3
-4404,2021-02-08,3
-4405,2021-02-09,3
-4406,2021-02-10,3
-4407,2021-02-11,3
-4408,2021-02-12,3
-4409,2021-02-13,3
-4410,2021-02-14,3
-4411,2021-02-15,3
-4412,2021-02-16,3
-4413,2021-02-17,3
-4414,2021-02-18,3
-4415,2021-02-19,3
-4416,2021-02-20,3
-4417,2021-02-21,3
-4418,2021-02-22,3
-4419,2021-02-23,3
-4420,2021-02-24,3
-4421,2021-02-25,3
-4422,2021-02-26,3
-4423,2021-02-27,3
-4424,2021-02-28,3
-4425,2021-03-01,3
-4426,2021-03-02,3
-4427,2021-03-03,3
-4428,2021-03-04,3
-4429,2021-03-05,3
-4430,2021-03-06,3
-4431,2021-03-07,3
-4432,2021-03-08,3
-4433,2021-03-09,3
-4434,2021-03-10,3
-4435,2021-03-11,3
-4436,2021-03-12,3
-4437,2021-03-13,3
-4438,2021-03-14,3
-4439,2021-03-15,3
-4440,2021-03-16,3
-4441,2021-03-17,3
-4442,2021-03-18,3
-4443,2021-03-19,3
-4444,2021-03-20,3
-4445,2021-03-21,3
-4446,2021-03-22,3
-4447,2021-03-23,3
-4448,2021-03-24,3
-4449,2021-03-25,3
-4450,2021-03-26,3
-4451,2021-03-27,3
-4452,2021-03-28,3
-4453,2021-03-29,3
-4454,2021-03-30,3
-4455,2021-03-31,3
-4456,2021-04-01,3
-4457,2021-04-02,3
-4458,2021-04-03,3
-4459,2021-04-04,3
-4460,2021-04-05,3
-4461,2021-04-06,3
-4462,2021-04-07,3
-4463,2021-04-08,3
-4464,2021-04-09,3
-4465,2021-04-10,3
-4466,2021-04-11,3
-4467,2021-04-12,3
-4468,2021-04-13,3
-4469,2021-04-14,3
-4470,2021-04-15,3
-4471,2021-04-16,3
-4472,2021-04-17,3
-4473,2021-04-18,3
-4474,2021-04-19,3
-4475,2021-04-20,3
-4476,2021-04-21,3
-4477,2021-04-22,3
-4478,2021-04-23,3
-4479,2021-04-24,3
-4480,2021-04-25,3
-4481,2021-04-26,3
-4482,2021-04-27,3
-4483,2021-04-28,3
-4484,2021-04-29,3
-4485,2021-04-30,3
-4486,2021-05-01,3
-4487,2021-05-02,3
-4488,2021-05-03,3
-4489,2021-05-04,3
-4490,2021-05-05,3
-4491,2021-05-06,3
-4492,2021-05-07,3
-4493,2021-05-08,3
-4494,2021-05-09,3
-4495,2021-05-10,3
-4496,2021-05-11,3
-4497,2021-05-12,3
-4498,2021-05-13,3
-4499,2021-05-14,3
-4500,2021-05-15,3
-4501,2021-05-16,3
-4502,2021-05-17,3
-4503,2021-05-18,3
-4504,2021-05-19,3
-4505,2021-05-20,3
-4506,2021-05-21,3
-4507,2021-05-22,3
-4508,2021-05-23,3
-4509,2021-05-24,3
-4510,2021-05-25,3
-4511,2021-05-26,3
-4512,2021-05-27,3
-4513,2021-05-28,3
-4514,2021-05-29,3
-4515,2021-05-30,3
-4516,2021-05-31,3
-4517,2021-06-01,3
-4518,2021-06-02,3
-4519,2021-06-03,3
-4520,2021-06-04,3
-4521,2021-06-05,3
-4522,2021-06-06,3
-4523,2021-06-07,3
-4524,2021-06-08,3
-4525,2021-06-09,3
-4526,2021-06-10,3
-4527,2021-06-11,3
-4528,2021-06-12,3
-4529,2021-06-13,3
-4530,2021-06-14,3
-4531,2021-06-15,3
-4532,2021-06-16,3
-4533,2021-06-17,3
-4534,2021-06-18,3
-4535,2021-06-19,3
-4536,2021-06-20,3
-4537,2021-06-21,3
-4538,2021-06-22,3
-4539,2021-06-23,3
-4540,2021-06-24,3
-4541,2021-06-25,3
-4542,2021-06-26,3
-4543,2021-06-27,3
-4544,2021-06-28,3
-4545,2021-06-29,3
-4546,2021-06-30,3
-4547,2021-07-01,3
-4548,2021-07-02,3
-4549,2021-07-03,3
-4550,2021-07-04,3
-4551,2021-07-05,3
-4552,2021-07-06,3
-4553,2021-07-07,3
-4554,2021-07-08,3
-4555,2021-07-09,3
-4556,2021-07-10,3
-4557,2021-07-11,3
-4558,2021-07-12,3
-4559,2021-07-13,3
-4560,2021-07-14,3
-4561,2021-07-15,3
-4562,2021-07-16,3
-4563,2021-07-17,3
-4564,2021-07-18,3
-4565,2021-07-19,3
-4566,2021-07-20,3
-4567,2021-07-21,3
-4568,2021-07-22,3
-4569,2021-07-23,3
-4570,2021-07-24,3
-4571,2021-07-25,3
-4572,2021-07-26,3
-4573,2021-07-27,3
-4574,2021-07-28,3
-4575,2021-07-29,3
-4576,2021-07-30,3
-4577,2021-07-31,3
-4578,2021-08-01,3
-4579,2021-08-02,3
-4580,2021-08-03,3
-4581,2021-08-04,3
-4582,2021-08-05,3
-4583,2021-08-06,3
-4584,2021-08-07,3
-4585,2021-08-08,3
-4586,2021-08-09,3
-4587,2021-08-10,3
-4588,2021-08-11,3
-4589,2021-08-12,3
-4590,2021-08-13,3
-4591,2021-08-14,3
-4592,2021-08-15,3
-4593,2021-08-16,3
-4594,2021-08-17,3
-4595,2021-08-18,3
-4596,2021-08-19,3
-4597,2021-08-20,3
-4598,2021-08-21,3
-4599,2021-08-22,3
-4600,2021-08-23,3
-4601,2021-08-24,3
-4602,2021-08-25,3
-4603,2021-08-26,3
-4604,2021-08-27,3
-4605,2021-08-28,3
-4606,2021-08-29,3
-4607,2021-08-30,3
-4608,2021-08-31,3
-4609,2021-09-01,3
-4610,2021-09-02,3
-4611,2021-09-03,3
-4612,2021-09-04,3
-4613,2021-09-05,3
-4614,2021-09-06,3
-4615,2021-09-07,3
-4616,2021-09-08,3
-4617,2021-09-09,3
-4618,2021-09-10,3
-4619,2021-09-11,3
-4620,2021-09-12,3
-4621,2021-09-13,3
-4622,2021-09-14,3
-4623,2021-09-15,3
-4624,2021-09-16,3
-4625,2021-09-17,3
-4626,2021-09-18,3
-4627,2021-09-19,3
-4628,2021-09-20,3
-4629,2021-09-21,3
-4630,2021-09-22,3
-4631,2021-09-23,3
-4632,2021-09-24,3
-4633,2021-09-25,3
-4634,2021-09-26,3
-4635,2021-09-27,3
-4636,2021-09-28,3
-4637,2021-09-29,3
-4638,2021-09-30,3
-4639,2021-10-01,3
-4640,2021-10-02,3
-4641,2021-10-03,3
-4642,2021-10-04,3
-4643,2021-10-05,3
-4644,2021-10-06,3
-4645,2021-10-07,3
-4646,2021-10-08,3
-4647,2021-10-09,3
-4648,2021-10-10,3
-4649,2021-10-11,3
-4650,2021-10-12,3
-4651,2021-10-13,3
-4652,2021-10-14,3
-4653,2021-10-15,3
-4654,2021-10-16,3
-4655,2021-10-17,3
-4656,2021-10-18,3
-4657,2021-10-19,3
-4658,2021-10-20,3
-4659,2021-10-21,3
-4660,2021-10-22,3
-4661,2021-10-23,3
-4662,2021-10-24,3
-4663,2021-10-25,3
-4664,2021-10-26,3
-4665,2021-10-27,3
-4666,2021-10-28,3
-4667,2021-10-29,3
-4668,2021-10-30,3
-4669,2021-10-31,3
-4670,2021-11-01,3
-4671,2021-11-02,3
-4672,2021-11-03,3
-4673,2021-11-04,3
-4674,2021-11-05,3
-4675,2021-11-06,3
-4676,2021-11-07,3
-4677,2021-11-08,3
-4678,2021-11-09,3
-4679,2021-11-10,3
-4680,2021-11-11,3
-4681,2021-11-12,3
-4682,2021-11-13,3
-4683,2021-11-14,3
-4684,2021-11-15,3
-4685,2021-11-16,3
-4686,2021-11-17,3
-4687,2021-11-18,3
-4688,2021-11-19,3
-4689,2021-11-20,3
-4690,2021-11-21,3
-4691,2021-11-22,3
-4692,2021-11-23,3
-4693,2021-11-24,3
-4694,2021-11-25,3
-4695,2021-11-26,3
-4696,2021-11-27,3
-4697,2021-11-28,3
-4698,2021-11-29,3
-4699,2021-11-30,3
-4700,2021-12-01,3
-4701,2021-12-02,3
-4702,2021-12-03,3
-4703,2021-12-04,3
-4704,2021-12-05,3
-4705,2021-12-06,3
-4706,2021-12-07,3
-4707,2021-12-08,3
-4708,2021-12-09,3
-4709,2021-12-10,3
-4710,2021-12-11,3
-4711,2021-12-12,3
-4712,2021-12-13,3
-4713,2021-12-14,3
-4714,2021-12-15,3
-4715,2021-12-16,3
-4716,2021-12-17,3
-4717,2021-12-18,3
-4718,2021-12-19,3
-4719,2021-12-20,3
-4720,2021-12-21,3
-4721,2021-12-22,3
-4722,2021-12-23,3
-4723,2021-12-24,3
-4724,2021-12-25,3
-4725,2021-12-26,3
-4726,2021-12-27,3
-4727,2021-12-28,3
-4728,2021-12-29,3
-4729,2021-12-30,3
-4730,2021-12-31,3
-4731,2022-01-01,3
-4732,2022-01-02,3
-4733,2022-01-03,3
-4734,2022-01-04,3
-4735,2022-01-05,3
-4736,2022-01-06,3
-4737,2022-01-07,3
-4738,2022-01-08,3
-4739,2022-01-09,3
-4740,2022-01-10,3
-4741,2022-01-11,3
-4742,2022-01-12,3
-4743,2022-01-13,3
-4744,2022-01-14,3
-4745,2022-01-15,3
-4746,2022-01-16,3
-4747,2022-01-17,3
-4748,2022-01-18,3
-4749,2022-01-19,3
-4750,2022-01-20,3
-4751,2022-01-21,3
-4752,2022-01-22,3
-4753,2022-01-23,3
-4754,2022-01-24,3
-4755,2022-01-25,3
-4756,2022-01-26,3
-4757,2022-01-27,3
-4758,2022-01-28,3
-4759,2022-01-29,3
-4760,2022-01-30,3
-4761,2022-01-31,3
-4762,2022-02-01,3
-4763,2022-02-02,3
-4764,2022-02-03,3
-4765,2022-02-04,3
-4766,2022-02-05,3
-4767,2022-02-06,3
-4768,2022-02-07,3
-4769,2022-02-08,3
-4770,2022-02-09,3
-4771,2022-02-10,3
-4772,2022-02-11,3
-4773,2022-02-12,3
-4774,2022-02-13,3
-4775,2022-02-14,3
-4776,2022-02-15,3
-4777,2022-02-16,3
-4778,2022-02-17,3
-4779,2022-02-18,3
-4780,2022-02-19,3
-4781,2022-02-20,3
-4782,2022-02-21,3
-4783,2022-02-22,3
-4784,2022-02-23,3
-4785,2022-02-24,3
-4786,2022-02-25,3
-4787,2022-02-26,3
-4788,2022-02-27,3
-4789,2022-02-28,3
-4790,2022-03-01,3
-4791,2022-03-02,3
-4792,2022-03-03,3
-4793,2022-03-04,3
-4794,2022-03-05,3
-4795,2022-03-06,3
-4796,2022-03-07,3
-4797,2022-03-08,3
-4798,2022-03-09,3
-4799,2022-03-10,3
-4800,2022-03-11,3
-4801,2022-03-12,3
-4802,2022-03-13,3
-4803,2022-03-14,3
-4804,2022-03-15,3
-4805,2022-03-16,3
-4806,2022-03-17,3
-4807,2022-03-18,3
-4808,2022-03-19,3
-4809,2022-03-20,3
-4810,2022-03-21,3
-4811,2022-03-22,3
-4812,2022-03-23,3
-4813,2022-03-24,3
-4814,2022-03-25,3
-4815,2022-03-26,3
-4816,2022-03-27,3
-4817,2022-03-28,3
-4818,2022-03-29,3
-4819,2022-03-30,3
-4820,2022-03-31,3
-4821,2022-04-01,3
-4822,2022-04-02,3
-4823,2022-04-03,3
-4824,2022-04-04,3
-4825,2022-04-05,3
-4826,2022-04-06,3
-4827,2022-04-07,3
-4828,2022-04-08,3
-4829,2022-04-09,3
-4830,2022-04-10,3
-4831,2022-04-11,3
-4832,2022-04-12,3
-4833,2022-04-13,3
-4834,2022-04-14,3
-4835,2022-04-15,3
-4836,2022-04-16,3
-4837,2022-04-17,3
-4838,2022-04-18,3
-4839,2022-04-19,3
-4840,2022-04-20,3
-4841,2022-04-21,3
-4842,2022-04-22,3
-4843,2022-04-23,3
-4844,2022-04-24,3
-4845,2022-04-25,3
-4846,2022-04-26,3
-4847,2022-04-27,3
-4848,2022-04-28,3
-4849,2022-04-29,3
-4850,2022-04-30,3
-4851,2022-05-01,3
-4852,2022-05-02,3
-4853,2022-05-03,3
-4854,2022-05-04,3
-4855,2022-05-05,3
-4856,2022-05-06,3
-4857,2022-05-07,3
-4858,2022-05-08,3
-4859,2022-05-09,3
-4860,2022-05-10,3
-4861,2022-05-11,3
-4862,2022-05-12,3
-4863,2022-05-13,3
-4864,2022-05-14,3
-4865,2022-05-15,3
-4866,2022-05-16,3
-4867,2022-05-17,3
-4868,2022-05-18,3
-4869,2022-05-19,3
-4870,2022-05-20,3
-4871,2022-05-21,3
-4872,2022-05-22,3
-4873,2022-05-23,3
-4874,2022-05-24,3
-4875,2022-05-25,3
-4876,2022-05-26,3
-4877,2022-05-27,3
-4878,2022-05-28,3
-4879,2022-05-29,3
-4880,2022-05-30,3
-4881,2022-05-31,3
-4882,2022-06-01,3
-4883,2022-06-02,3
-4884,2022-06-03,3
-4885,2022-06-04,3
-4886,2022-06-05,3
-4887,2022-06-06,3
-4888,2022-06-07,3
-4889,2022-06-08,3
-4890,2022-06-09,3
-4891,2022-06-10,3
-4892,2022-06-11,3
-4893,2022-06-12,3
-4894,2022-06-13,3
-4895,2022-06-14,3
-4896,2022-06-15,3
-4897,2022-06-16,3
-4898,2022-06-17,3
-4899,2022-06-18,3
-4900,2022-06-19,3
-4901,2022-06-20,3
-4902,2022-06-21,3
-4903,2022-06-22,3
-4904,2022-06-23,3
-4905,2022-06-24,3
-4906,2022-06-25,3
-4907,2022-06-26,3
-4908,2022-06-27,3
-4909,2022-06-28,3
-4910,2022-06-29,3
-4911,2022-06-30,3
-4912,2022-07-01,3
-4913,2022-07-02,3
-4914,2022-07-03,3
-4915,2022-07-04,3
-4916,2022-07-05,3
-4917,2022-07-06,3
-4918,2022-07-07,3
-4919,2022-07-08,3
-4920,2022-07-09,3
-4921,2022-07-10,3
-4922,2022-07-11,3
-4923,2022-07-12,3
-4924,2022-07-13,3
-4925,2022-07-14,3
-4926,2022-07-15,3
-4927,2022-07-16,3
-4928,2022-07-17,3
-4929,2022-07-18,3
-4930,2022-07-19,3
-4931,2022-07-20,3
-4932,2022-07-21,3
-4933,2022-07-22,3
-4934,2022-07-23,3
-4935,2022-07-24,3
-4936,2022-07-25,3
-4937,2022-07-26,3
-4938,2022-07-27,3
-4939,2022-07-28,3
-4940,2022-07-29,3
-4941,2022-07-30,3
-4942,2022-07-31,3
-4943,2022-08-01,3
-4944,2022-08-02,3
-4945,2022-08-03,3
-4946,2022-08-04,3
-4947,2022-08-05,3
-4948,2022-08-06,3
-4949,2022-08-07,3
-4950,2022-08-08,3
-4951,2022-08-09,3
-4952,2022-08-10,3
-4953,2022-08-11,3
-4954,2022-08-12,3
-4955,2022-08-13,3
-4956,2022-08-14,3
-4957,2022-08-15,3
-4958,2022-08-16,3
-4959,2022-08-17,3
-4960,2022-08-18,3
-4961,2022-08-19,3
-4962,2022-08-20,3
-4963,2022-08-21,3
-4964,2022-08-22,3
-4965,2022-08-23,3
-4966,2022-08-24,3
-4967,2022-08-25,3
-4968,2022-08-26,3
-4969,2022-08-27,3
-4970,2022-08-28,3
-4971,2022-08-29,3
-4972,2022-08-30,3
-4973,2022-08-31,3
-4974,2022-09-01,3
-4975,2022-09-02,3
-4976,2022-09-03,3
-4977,2022-09-04,3
-4978,2022-09-05,3
-4979,2022-09-06,3
-4980,2022-09-07,3
-4981,2022-09-08,3
-4982,2022-09-09,3
-4983,2022-09-10,3
-4984,2022-09-11,3
-4985,2022-09-12,3
-4986,2022-09-13,3
-4987,2022-09-14,3
-4988,2022-09-15,3
-4989,2022-09-16,3
-4990,2022-09-17,3
-4991,2022-09-18,3
-4992,2022-09-19,3
-4993,2022-09-20,3
-4994,2022-09-21,3
-4995,2022-09-22,3
-4996,2022-09-23,3
-4997,2022-09-24,3
-4998,2022-09-25,3
-4999,2022-09-26,3
-5000,2020-01-01,4
-5001,2020-01-02,4
-5002,2020-01-03,4
-5003,2020-01-04,4
-5004,2020-01-05,4
-5005,2020-01-06,4
-5006,2020-01-07,4
-5007,2020-01-08,4
-5008,2020-01-09,4
-5009,2020-01-10,4
-5010,2020-01-11,4
-5011,2020-01-12,4
-5012,2020-01-13,4
-5013,2020-01-14,4
-5014,2020-01-15,4
-5015,2020-01-16,4
-5016,2020-01-17,4
-5017,2020-01-18,4
-5018,2020-01-19,4
-5019,2020-01-20,4
-5020,2020-01-21,4
-5021,2020-01-22,4
-5022,2020-01-23,4
-5023,2020-01-24,4
-5024,2020-01-25,4
-5025,2020-01-26,4
-5026,2020-01-27,4
-5027,2020-01-28,4
-5028,2020-01-29,4
-5029,2020-01-30,4
-5030,2020-01-31,4
-5031,2020-02-01,4
-5032,2020-02-02,4
-5033,2020-02-03,4
-5034,2020-02-04,4
-5035,2020-02-05,4
-5036,2020-02-06,4
-5037,2020-02-07,4
-5038,2020-02-08,4
-5039,2020-02-09,4
-5040,2020-02-10,4
-5041,2020-02-11,4
-5042,2020-02-12,4
-5043,2020-02-13,4
-5044,2020-02-14,4
-5045,2020-02-15,4
-5046,2020-02-16,4
-5047,2020-02-17,4
-5048,2020-02-18,4
-5049,2020-02-19,4
-5050,2020-02-20,4
-5051,2020-02-21,4
-5052,2020-02-22,4
-5053,2020-02-23,4
-5054,2020-02-24,4
-5055,2020-02-25,4
-5056,2020-02-26,4
-5057,2020-02-27,4
-5058,2020-02-28,4
-5059,2020-02-29,4
-5060,2020-03-01,4
-5061,2020-03-02,4
-5062,2020-03-03,4
-5063,2020-03-04,4
-5064,2020-03-05,4
-5065,2020-03-06,4
-5066,2020-03-07,4
-5067,2020-03-08,4
-5068,2020-03-09,4
-5069,2020-03-10,4
-5070,2020-03-11,4
-5071,2020-03-12,4
-5072,2020-03-13,4
-5073,2020-03-14,4
-5074,2020-03-15,4
-5075,2020-03-16,4
-5076,2020-03-17,4
-5077,2020-03-18,4
-5078,2020-03-19,4
-5079,2020-03-20,4
-5080,2020-03-21,4
-5081,2020-03-22,4
-5082,2020-03-23,4
-5083,2020-03-24,4
-5084,2020-03-25,4
-5085,2020-03-26,4
-5086,2020-03-27,4
-5087,2020-03-28,4
-5088,2020-03-29,4
-5089,2020-03-30,4
-5090,2020-03-31,4
-5091,2020-04-01,4
-5092,2020-04-02,4
-5093,2020-04-03,4
-5094,2020-04-04,4
-5095,2020-04-05,4
-5096,2020-04-06,4
-5097,2020-04-07,4
-5098,2020-04-08,4
-5099,2020-04-09,4
-5100,2020-04-10,4
-5101,2020-04-11,4
-5102,2020-04-12,4
-5103,2020-04-13,4
-5104,2020-04-14,4
-5105,2020-04-15,4
-5106,2020-04-16,4
-5107,2020-04-17,4
-5108,2020-04-18,4
-5109,2020-04-19,4
-5110,2020-04-20,4
-5111,2020-04-21,4
-5112,2020-04-22,4
-5113,2020-04-23,4
-5114,2020-04-24,4
-5115,2020-04-25,4
-5116,2020-04-26,4
-5117,2020-04-27,4
-5118,2020-04-28,4
-5119,2020-04-29,4
-5120,2020-04-30,4
-5121,2020-05-01,4
-5122,2020-05-02,4
-5123,2020-05-03,4
-5124,2020-05-04,4
-5125,2020-05-05,4
-5126,2020-05-06,4
-5127,2020-05-07,4
-5128,2020-05-08,4
-5129,2020-05-09,4
-5130,2020-05-10,4
-5131,2020-05-11,4
-5132,2020-05-12,4
-5133,2020-05-13,4
-5134,2020-05-14,4
-5135,2020-05-15,4
-5136,2020-05-16,4
-5137,2020-05-17,4
-5138,2020-05-18,4
-5139,2020-05-19,4
-5140,2020-05-20,4
-5141,2020-05-21,4
-5142,2020-05-22,4
-5143,2020-05-23,4
-5144,2020-05-24,4
-5145,2020-05-25,4
-5146,2020-05-26,4
-5147,2020-05-27,4
-5148,2020-05-28,4
-5149,2020-05-29,4
-5150,2020-05-30,4
-5151,2020-05-31,4
-5152,2020-06-01,4
-5153,2020-06-02,4
-5154,2020-06-03,4
-5155,2020-06-04,4
-5156,2020-06-05,4
-5157,2020-06-06,4
-5158,2020-06-07,4
-5159,2020-06-08,4
-5160,2020-06-09,4
-5161,2020-06-10,4
-5162,2020-06-11,4
-5163,2020-06-12,4
-5164,2020-06-13,4
-5165,2020-06-14,4
-5166,2020-06-15,4
-5167,2020-06-16,4
-5168,2020-06-17,4
-5169,2020-06-18,4
-5170,2020-06-19,4
-5171,2020-06-20,4
-5172,2020-06-21,4
-5173,2020-06-22,4
-5174,2020-06-23,4
-5175,2020-06-24,4
-5176,2020-06-25,4
-5177,2020-06-26,4
-5178,2020-06-27,4
-5179,2020-06-28,4
-5180,2020-06-29,4
-5181,2020-06-30,4
-5182,2020-07-01,4
-5183,2020-07-02,4
-5184,2020-07-03,4
-5185,2020-07-04,4
-5186,2020-07-05,4
-5187,2020-07-06,4
-5188,2020-07-07,4
-5189,2020-07-08,4
-5190,2020-07-09,4
-5191,2020-07-10,4
-5192,2020-07-11,4
-5193,2020-07-12,4
-5194,2020-07-13,4
-5195,2020-07-14,4
-5196,2020-07-15,4
-5197,2020-07-16,4
-5198,2020-07-17,4
-5199,2020-07-18,4
-5200,2020-07-19,4
-5201,2020-07-20,4
-5202,2020-07-21,4
-5203,2020-07-22,4
-5204,2020-07-23,4
-5205,2020-07-24,4
-5206,2020-07-25,4
-5207,2020-07-26,4
-5208,2020-07-27,4
-5209,2020-07-28,4
-5210,2020-07-29,4
-5211,2020-07-30,4
-5212,2020-07-31,4
-5213,2020-08-01,4
-5214,2020-08-02,4
-5215,2020-08-03,4
-5216,2020-08-04,4
-5217,2020-08-05,4
-5218,2020-08-06,4
-5219,2020-08-07,4
-5220,2020-08-08,4
-5221,2020-08-09,4
-5222,2020-08-10,4
-5223,2020-08-11,4
-5224,2020-08-12,4
-5225,2020-08-13,4
-5226,2020-08-14,4
-5227,2020-08-15,4
-5228,2020-08-16,4
-5229,2020-08-17,4
-5230,2020-08-18,4
-5231,2020-08-19,4
-5232,2020-08-20,4
-5233,2020-08-21,4
-5234,2020-08-22,4
-5235,2020-08-23,4
-5236,2020-08-24,4
-5237,2020-08-25,4
-5238,2020-08-26,4
-5239,2020-08-27,4
-5240,2020-08-28,4
-5241,2020-08-29,4
-5242,2020-08-30,4
-5243,2020-08-31,4
-5244,2020-09-01,4
-5245,2020-09-02,4
-5246,2020-09-03,4
-5247,2020-09-04,4
-5248,2020-09-05,4
-5249,2020-09-06,4
-5250,2020-09-07,4
-5251,2020-09-08,4
-5252,2020-09-09,4
-5253,2020-09-10,4
-5254,2020-09-11,4
-5255,2020-09-12,4
-5256,2020-09-13,4
-5257,2020-09-14,4
-5258,2020-09-15,4
-5259,2020-09-16,4
-5260,2020-09-17,4
-5261,2020-09-18,4
-5262,2020-09-19,4
-5263,2020-09-20,4
-5264,2020-09-21,4
-5265,2020-09-22,4
-5266,2020-09-23,4
-5267,2020-09-24,4
-5268,2020-09-25,4
-5269,2020-09-26,4
-5270,2020-09-27,4
-5271,2020-09-28,4
-5272,2020-09-29,4
-5273,2020-09-30,4
-5274,2020-10-01,4
-5275,2020-10-02,4
-5276,2020-10-03,4
-5277,2020-10-04,4
-5278,2020-10-05,4
-5279,2020-10-06,4
-5280,2020-10-07,4
-5281,2020-10-08,4
-5282,2020-10-09,4
-5283,2020-10-10,4
-5284,2020-10-11,4
-5285,2020-10-12,4
-5286,2020-10-13,4
-5287,2020-10-14,4
-5288,2020-10-15,4
-5289,2020-10-16,4
-5290,2020-10-17,4
-5291,2020-10-18,4
-5292,2020-10-19,4
-5293,2020-10-20,4
-5294,2020-10-21,4
-5295,2020-10-22,4
-5296,2020-10-23,4
-5297,2020-10-24,4
-5298,2020-10-25,4
-5299,2020-10-26,4
-5300,2020-10-27,4
-5301,2020-10-28,4
-5302,2020-10-29,4
-5303,2020-10-30,4
-5304,2020-10-31,4
-5305,2020-11-01,4
-5306,2020-11-02,4
-5307,2020-11-03,4
-5308,2020-11-04,4
-5309,2020-11-05,4
-5310,2020-11-06,4
-5311,2020-11-07,4
-5312,2020-11-08,4
-5313,2020-11-09,4
-5314,2020-11-10,4
-5315,2020-11-11,4
-5316,2020-11-12,4
-5317,2020-11-13,4
-5318,2020-11-14,4
-5319,2020-11-15,4
-5320,2020-11-16,4
-5321,2020-11-17,4
-5322,2020-11-18,4
-5323,2020-11-19,4
-5324,2020-11-20,4
-5325,2020-11-21,4
-5326,2020-11-22,4
-5327,2020-11-23,4
-5328,2020-11-24,4
-5329,2020-11-25,4
-5330,2020-11-26,4
-5331,2020-11-27,4
-5332,2020-11-28,4
-5333,2020-11-29,4
-5334,2020-11-30,4
-5335,2020-12-01,4
-5336,2020-12-02,4
-5337,2020-12-03,4
-5338,2020-12-04,4
-5339,2020-12-05,4
-5340,2020-12-06,4
-5341,2020-12-07,4
-5342,2020-12-08,4
-5343,2020-12-09,4
-5344,2020-12-10,4
-5345,2020-12-11,4
-5346,2020-12-12,4
-5347,2020-12-13,4
-5348,2020-12-14,4
-5349,2020-12-15,4
-5350,2020-12-16,4
-5351,2020-12-17,4
-5352,2020-12-18,4
-5353,2020-12-19,4
-5354,2020-12-20,4
-5355,2020-12-21,4
-5356,2020-12-22,4
-5357,2020-12-23,4
-5358,2020-12-24,4
-5359,2020-12-25,4
-5360,2020-12-26,4
-5361,2020-12-27,4
-5362,2020-12-28,4
-5363,2020-12-29,4
-5364,2020-12-30,4
-5365,2020-12-31,4
-5366,2021-01-01,4
-5367,2021-01-02,4
-5368,2021-01-03,4
-5369,2021-01-04,4
-5370,2021-01-05,4
-5371,2021-01-06,4
-5372,2021-01-07,4
-5373,2021-01-08,4
-5374,2021-01-09,4
-5375,2021-01-10,4
-5376,2021-01-11,4
-5377,2021-01-12,4
-5378,2021-01-13,4
-5379,2021-01-14,4
-5380,2021-01-15,4
-5381,2021-01-16,4
-5382,2021-01-17,4
-5383,2021-01-18,4
-5384,2021-01-19,4
-5385,2021-01-20,4
-5386,2021-01-21,4
-5387,2021-01-22,4
-5388,2021-01-23,4
-5389,2021-01-24,4
-5390,2021-01-25,4
-5391,2021-01-26,4
-5392,2021-01-27,4
-5393,2021-01-28,4
-5394,2021-01-29,4
-5395,2021-01-30,4
-5396,2021-01-31,4
-5397,2021-02-01,4
-5398,2021-02-02,4
-5399,2021-02-03,4
-5400,2021-02-04,4
-5401,2021-02-05,4
-5402,2021-02-06,4
-5403,2021-02-07,4
-5404,2021-02-08,4
-5405,2021-02-09,4
-5406,2021-02-10,4
-5407,2021-02-11,4
-5408,2021-02-12,4
-5409,2021-02-13,4
-5410,2021-02-14,4
-5411,2021-02-15,4
-5412,2021-02-16,4
-5413,2021-02-17,4
-5414,2021-02-18,4
-5415,2021-02-19,4
-5416,2021-02-20,4
-5417,2021-02-21,4
-5418,2021-02-22,4
-5419,2021-02-23,4
-5420,2021-02-24,4
-5421,2021-02-25,4
-5422,2021-02-26,4
-5423,2021-02-27,4
-5424,2021-02-28,4
-5425,2021-03-01,4
-5426,2021-03-02,4
-5427,2021-03-03,4
-5428,2021-03-04,4
-5429,2021-03-05,4
-5430,2021-03-06,4
-5431,2021-03-07,4
-5432,2021-03-08,4
-5433,2021-03-09,4
-5434,2021-03-10,4
-5435,2021-03-11,4
-5436,2021-03-12,4
-5437,2021-03-13,4
-5438,2021-03-14,4
-5439,2021-03-15,4
-5440,2021-03-16,4
-5441,2021-03-17,4
-5442,2021-03-18,4
-5443,2021-03-19,4
-5444,2021-03-20,4
-5445,2021-03-21,4
-5446,2021-03-22,4
-5447,2021-03-23,4
-5448,2021-03-24,4
-5449,2021-03-25,4
-5450,2021-03-26,4
-5451,2021-03-27,4
-5452,2021-03-28,4
-5453,2021-03-29,4
-5454,2021-03-30,4
-5455,2021-03-31,4
-5456,2021-04-01,4
-5457,2021-04-02,4
-5458,2021-04-03,4
-5459,2021-04-04,4
-5460,2021-04-05,4
-5461,2021-04-06,4
-5462,2021-04-07,4
-5463,2021-04-08,4
-5464,2021-04-09,4
-5465,2021-04-10,4
-5466,2021-04-11,4
-5467,2021-04-12,4
-5468,2021-04-13,4
-5469,2021-04-14,4
-5470,2021-04-15,4
-5471,2021-04-16,4
-5472,2021-04-17,4
-5473,2021-04-18,4
-5474,2021-04-19,4
-5475,2021-04-20,4
-5476,2021-04-21,4
-5477,2021-04-22,4
-5478,2021-04-23,4
-5479,2021-04-24,4
-5480,2021-04-25,4
-5481,2021-04-26,4
-5482,2021-04-27,4
-5483,2021-04-28,4
-5484,2021-04-29,4
-5485,2021-04-30,4
-5486,2021-05-01,4
-5487,2021-05-02,4
-5488,2021-05-03,4
-5489,2021-05-04,4
-5490,2021-05-05,4
-5491,2021-05-06,4
-5492,2021-05-07,4
-5493,2021-05-08,4
-5494,2021-05-09,4
-5495,2021-05-10,4
-5496,2021-05-11,4
-5497,2021-05-12,4
-5498,2021-05-13,4
-5499,2021-05-14,4
-5500,2021-05-15,4
-5501,2021-05-16,4
-5502,2021-05-17,4
-5503,2021-05-18,4
-5504,2021-05-19,4
-5505,2021-05-20,4
-5506,2021-05-21,4
-5507,2021-05-22,4
-5508,2021-05-23,4
-5509,2021-05-24,4
-5510,2021-05-25,4
-5511,2021-05-26,4
-5512,2021-05-27,4
-5513,2021-05-28,4
-5514,2021-05-29,4
-5515,2021-05-30,4
-5516,2021-05-31,4
-5517,2021-06-01,4
-5518,2021-06-02,4
-5519,2021-06-03,4
-5520,2021-06-04,4
-5521,2021-06-05,4
-5522,2021-06-06,4
-5523,2021-06-07,4
-5524,2021-06-08,4
-5525,2021-06-09,4
-5526,2021-06-10,4
-5527,2021-06-11,4
-5528,2021-06-12,4
-5529,2021-06-13,4
-5530,2021-06-14,4
-5531,2021-06-15,4
-5532,2021-06-16,4
-5533,2021-06-17,4
-5534,2021-06-18,4
-5535,2021-06-19,4
-5536,2021-06-20,4
-5537,2021-06-21,4
-5538,2021-06-22,4
-5539,2021-06-23,4
-5540,2021-06-24,4
-5541,2021-06-25,4
-5542,2021-06-26,4
-5543,2021-06-27,4
-5544,2021-06-28,4
-5545,2021-06-29,4
-5546,2021-06-30,4
-5547,2021-07-01,4
-5548,2021-07-02,4
-5549,2021-07-03,4
-5550,2021-07-04,4
-5551,2021-07-05,4
-5552,2021-07-06,4
-5553,2021-07-07,4
-5554,2021-07-08,4
-5555,2021-07-09,4
-5556,2021-07-10,4
-5557,2021-07-11,4
-5558,2021-07-12,4
-5559,2021-07-13,4
-5560,2021-07-14,4
-5561,2021-07-15,4
-5562,2021-07-16,4
-5563,2021-07-17,4
-5564,2021-07-18,4
-5565,2021-07-19,4
-5566,2021-07-20,4
-5567,2021-07-21,4
-5568,2021-07-22,4
-5569,2021-07-23,4
-5570,2021-07-24,4
-5571,2021-07-25,4
-5572,2021-07-26,4
-5573,2021-07-27,4
-5574,2021-07-28,4
-5575,2021-07-29,4
-5576,2021-07-30,4
-5577,2021-07-31,4
-5578,2021-08-01,4
-5579,2021-08-02,4
-5580,2021-08-03,4
-5581,2021-08-04,4
-5582,2021-08-05,4
-5583,2021-08-06,4
-5584,2021-08-07,4
-5585,2021-08-08,4
-5586,2021-08-09,4
-5587,2021-08-10,4
-5588,2021-08-11,4
-5589,2021-08-12,4
-5590,2021-08-13,4
-5591,2021-08-14,4
-5592,2021-08-15,4
-5593,2021-08-16,4
-5594,2021-08-17,4
-5595,2021-08-18,4
-5596,2021-08-19,4
-5597,2021-08-20,4
-5598,2021-08-21,4
-5599,2021-08-22,4
-5600,2021-08-23,4
-5601,2021-08-24,4
-5602,2021-08-25,4
-5603,2021-08-26,4
-5604,2021-08-27,4
-5605,2021-08-28,4
-5606,2021-08-29,4
-5607,2021-08-30,4
-5608,2021-08-31,4
-5609,2021-09-01,4
-5610,2021-09-02,4
-5611,2021-09-03,4
-5612,2021-09-04,4
-5613,2021-09-05,4
-5614,2021-09-06,4
-5615,2021-09-07,4
-5616,2021-09-08,4
-5617,2021-09-09,4
-5618,2021-09-10,4
-5619,2021-09-11,4
-5620,2021-09-12,4
-5621,2021-09-13,4
-5622,2021-09-14,4
-5623,2021-09-15,4
-5624,2021-09-16,4
-5625,2021-09-17,4
-5626,2021-09-18,4
-5627,2021-09-19,4
-5628,2021-09-20,4
-5629,2021-09-21,4
-5630,2021-09-22,4
-5631,2021-09-23,4
-5632,2021-09-24,4
-5633,2021-09-25,4
-5634,2021-09-26,4
-5635,2021-09-27,4
-5636,2021-09-28,4
-5637,2021-09-29,4
-5638,2021-09-30,4
-5639,2021-10-01,4
-5640,2021-10-02,4
-5641,2021-10-03,4
-5642,2021-10-04,4
-5643,2021-10-05,4
-5644,2021-10-06,4
-5645,2021-10-07,4
-5646,2021-10-08,4
-5647,2021-10-09,4
-5648,2021-10-10,4
-5649,2021-10-11,4
-5650,2021-10-12,4
-5651,2021-10-13,4
-5652,2021-10-14,4
-5653,2021-10-15,4
-5654,2021-10-16,4
-5655,2021-10-17,4
-5656,2021-10-18,4
-5657,2021-10-19,4
-5658,2021-10-20,4
-5659,2021-10-21,4
-5660,2021-10-22,4
-5661,2021-10-23,4
-5662,2021-10-24,4
-5663,2021-10-25,4
-5664,2021-10-26,4
-5665,2021-10-27,4
-5666,2021-10-28,4
-5667,2021-10-29,4
-5668,2021-10-30,4
-5669,2021-10-31,4
-5670,2021-11-01,4
-5671,2021-11-02,4
-5672,2021-11-03,4
-5673,2021-11-04,4
-5674,2021-11-05,4
-5675,2021-11-06,4
-5676,2021-11-07,4
-5677,2021-11-08,4
-5678,2021-11-09,4
-5679,2021-11-10,4
-5680,2021-11-11,4
-5681,2021-11-12,4
-5682,2021-11-13,4
-5683,2021-11-14,4
-5684,2021-11-15,4
-5685,2021-11-16,4
-5686,2021-11-17,4
-5687,2021-11-18,4
-5688,2021-11-19,4
-5689,2021-11-20,4
-5690,2021-11-21,4
-5691,2021-11-22,4
-5692,2021-11-23,4
-5693,2021-11-24,4
-5694,2021-11-25,4
-5695,2021-11-26,4
-5696,2021-11-27,4
-5697,2021-11-28,4
-5698,2021-11-29,4
-5699,2021-11-30,4
-5700,2021-12-01,4
-5701,2021-12-02,4
-5702,2021-12-03,4
-5703,2021-12-04,4
-5704,2021-12-05,4
-5705,2021-12-06,4
-5706,2021-12-07,4
-5707,2021-12-08,4
-5708,2021-12-09,4
-5709,2021-12-10,4
-5710,2021-12-11,4
-5711,2021-12-12,4
-5712,2021-12-13,4
-5713,2021-12-14,4
-5714,2021-12-15,4
-5715,2021-12-16,4
-5716,2021-12-17,4
-5717,2021-12-18,4
-5718,2021-12-19,4
-5719,2021-12-20,4
-5720,2021-12-21,4
-5721,2021-12-22,4
-5722,2021-12-23,4
-5723,2021-12-24,4
-5724,2021-12-25,4
-5725,2021-12-26,4
-5726,2021-12-27,4
-5727,2021-12-28,4
-5728,2021-12-29,4
-5729,2021-12-30,4
-5730,2021-12-31,4
-5731,2022-01-01,4
-5732,2022-01-02,4
-5733,2022-01-03,4
-5734,2022-01-04,4
-5735,2022-01-05,4
-5736,2022-01-06,4
-5737,2022-01-07,4
-5738,2022-01-08,4
-5739,2022-01-09,4
-5740,2022-01-10,4
-5741,2022-01-11,4
-5742,2022-01-12,4
-5743,2022-01-13,4
-5744,2022-01-14,4
-5745,2022-01-15,4
-5746,2022-01-16,4
-5747,2022-01-17,4
-5748,2022-01-18,4
-5749,2022-01-19,4
-5750,2022-01-20,4
-5751,2022-01-21,4
-5752,2022-01-22,4
-5753,2022-01-23,4
-5754,2022-01-24,4
-5755,2022-01-25,4
-5756,2022-01-26,4
-5757,2022-01-27,4
-5758,2022-01-28,4
-5759,2022-01-29,4
-5760,2022-01-30,4
-5761,2022-01-31,4
-5762,2022-02-01,4
-5763,2022-02-02,4
-5764,2022-02-03,4
-5765,2022-02-04,4
-5766,2022-02-05,4
-5767,2022-02-06,4
-5768,2022-02-07,4
-5769,2022-02-08,4
-5770,2022-02-09,4
-5771,2022-02-10,4
-5772,2022-02-11,4
-5773,2022-02-12,4
-5774,2022-02-13,4
-5775,2022-02-14,4
-5776,2022-02-15,4
-5777,2022-02-16,4
-5778,2022-02-17,4
-5779,2022-02-18,4
-5780,2022-02-19,4
-5781,2022-02-20,4
-5782,2022-02-21,4
-5783,2022-02-22,4
-5784,2022-02-23,4
-5785,2022-02-24,4
-5786,2022-02-25,4
-5787,2022-02-26,4
-5788,2022-02-27,4
-5789,2022-02-28,4
-5790,2022-03-01,4
-5791,2022-03-02,4
-5792,2022-03-03,4
-5793,2022-03-04,4
-5794,2022-03-05,4
-5795,2022-03-06,4
-5796,2022-03-07,4
-5797,2022-03-08,4
-5798,2022-03-09,4
-5799,2022-03-10,4
-5800,2022-03-11,4
-5801,2022-03-12,4
-5802,2022-03-13,4
-5803,2022-03-14,4
-5804,2022-03-15,4
-5805,2022-03-16,4
-5806,2022-03-17,4
-5807,2022-03-18,4
-5808,2022-03-19,4
-5809,2022-03-20,4
-5810,2022-03-21,4
-5811,2022-03-22,4
-5812,2022-03-23,4
-5813,2022-03-24,4
-5814,2022-03-25,4
-5815,2022-03-26,4
-5816,2022-03-27,4
-5817,2022-03-28,4
-5818,2022-03-29,4
-5819,2022-03-30,4
-5820,2022-03-31,4
-5821,2022-04-01,4
-5822,2022-04-02,4
-5823,2022-04-03,4
-5824,2022-04-04,4
-5825,2022-04-05,4
-5826,2022-04-06,4
-5827,2022-04-07,4
-5828,2022-04-08,4
-5829,2022-04-09,4
-5830,2022-04-10,4
-5831,2022-04-11,4
-5832,2022-04-12,4
-5833,2022-04-13,4
-5834,2022-04-14,4
-5835,2022-04-15,4
-5836,2022-04-16,4
-5837,2022-04-17,4
-5838,2022-04-18,4
-5839,2022-04-19,4
-5840,2022-04-20,4
-5841,2022-04-21,4
-5842,2022-04-22,4
-5843,2022-04-23,4
-5844,2022-04-24,4
-5845,2022-04-25,4
-5846,2022-04-26,4
-5847,2022-04-27,4
-5848,2022-04-28,4
-5849,2022-04-29,4
-5850,2022-04-30,4
-5851,2022-05-01,4
-5852,2022-05-02,4
-5853,2022-05-03,4
-5854,2022-05-04,4
-5855,2022-05-05,4
-5856,2022-05-06,4
-5857,2022-05-07,4
-5858,2022-05-08,4
-5859,2022-05-09,4
-5860,2022-05-10,4
-5861,2022-05-11,4
-5862,2022-05-12,4
-5863,2022-05-13,4
-5864,2022-05-14,4
-5865,2022-05-15,4
-5866,2022-05-16,4
-5867,2022-05-17,4
-5868,2022-05-18,4
-5869,2022-05-19,4
-5870,2022-05-20,4
-5871,2022-05-21,4
-5872,2022-05-22,4
-5873,2022-05-23,4
-5874,2022-05-24,4
-5875,2022-05-25,4
-5876,2022-05-26,4
-5877,2022-05-27,4
-5878,2022-05-28,4
-5879,2022-05-29,4
-5880,2022-05-30,4
-5881,2022-05-31,4
-5882,2022-06-01,4
-5883,2022-06-02,4
-5884,2022-06-03,4
-5885,2022-06-04,4
-5886,2022-06-05,4
-5887,2022-06-06,4
-5888,2022-06-07,4
-5889,2022-06-08,4
-5890,2022-06-09,4
-5891,2022-06-10,4
-5892,2022-06-11,4
-5893,2022-06-12,4
-5894,2022-06-13,4
-5895,2022-06-14,4
-5896,2022-06-15,4
-5897,2022-06-16,4
-5898,2022-06-17,4
-5899,2022-06-18,4
-5900,2022-06-19,4
-5901,2022-06-20,4
-5902,2022-06-21,4
-5903,2022-06-22,4
-5904,2022-06-23,4
-5905,2022-06-24,4
-5906,2022-06-25,4
-5907,2022-06-26,4
-5908,2022-06-27,4
-5909,2022-06-28,4
-5910,2022-06-29,4
-5911,2022-06-30,4
-5912,2022-07-01,4
-5913,2022-07-02,4
-5914,2022-07-03,4
-5915,2022-07-04,4
-5916,2022-07-05,4
-5917,2022-07-06,4
-5918,2022-07-07,4
-5919,2022-07-08,4
-5920,2022-07-09,4
-5921,2022-07-10,4
-5922,2022-07-11,4
-5923,2022-07-12,4
-5924,2022-07-13,4
-5925,2022-07-14,4
-5926,2022-07-15,4
-5927,2022-07-16,4
-5928,2022-07-17,4
-5929,2022-07-18,4
-5930,2022-07-19,4
-5931,2022-07-20,4
-5932,2022-07-21,4
-5933,2022-07-22,4
-5934,2022-07-23,4
-5935,2022-07-24,4
-5936,2022-07-25,4
-5937,2022-07-26,4
-5938,2022-07-27,4
-5939,2022-07-28,4
-5940,2022-07-29,4
-5941,2022-07-30,4
-5942,2022-07-31,4
-5943,2022-08-01,4
-5944,2022-08-02,4
-5945,2022-08-03,4
-5946,2022-08-04,4
-5947,2022-08-05,4
-5948,2022-08-06,4
-5949,2022-08-07,4
-5950,2022-08-08,4
-5951,2022-08-09,4
-5952,2022-08-10,4
-5953,2022-08-11,4
-5954,2022-08-12,4
-5955,2022-08-13,4
-5956,2022-08-14,4
-5957,2022-08-15,4
-5958,2022-08-16,4
-5959,2022-08-17,4
-5960,2022-08-18,4
-5961,2022-08-19,4
-5962,2022-08-20,4
-5963,2022-08-21,4
-5964,2022-08-22,4
-5965,2022-08-23,4
-5966,2022-08-24,4
-5967,2022-08-25,4
-5968,2022-08-26,4
-5969,2022-08-27,4
-5970,2022-08-28,4
-5971,2022-08-29,4
-5972,2022-08-30,4
-5973,2022-08-31,4
-5974,2022-09-01,4
-5975,2022-09-02,4
-5976,2022-09-03,4
-5977,2022-09-04,4
-5978,2022-09-05,4
-5979,2022-09-06,4
-5980,2022-09-07,4
-5981,2022-09-08,4
-5982,2022-09-09,4
-5983,2022-09-10,4
-5984,2022-09-11,4
-5985,2022-09-12,4
-5986,2022-09-13,4
-5987,2022-09-14,4
-5988,2022-09-15,4
-5989,2022-09-16,4
-5990,2022-09-17,4
-5991,2022-09-18,4
-5992,2022-09-19,4
-5993,2022-09-20,4
-5994,2022-09-21,4
-5995,2022-09-22,4
-5996,2022-09-23,4
-5997,2022-09-24,4
-5998,2022-09-25,4
-5999,2022-09-26,4
-6000,2020-01-01,5
-6001,2020-01-02,5
-6002,2020-01-03,5
-6003,2020-01-04,5
-6004,2020-01-05,5
-6005,2020-01-06,5
-6006,2020-01-07,5
-6007,2020-01-08,5
-6008,2020-01-09,5
-6009,2020-01-10,5
-6010,2020-01-11,5
-6011,2020-01-12,5
-6012,2020-01-13,5
-6013,2020-01-14,5
-6014,2020-01-15,5
-6015,2020-01-16,5
-6016,2020-01-17,5
-6017,2020-01-18,5
-6018,2020-01-19,5
-6019,2020-01-20,5
-6020,2020-01-21,5
-6021,2020-01-22,5
-6022,2020-01-23,5
-6023,2020-01-24,5
-6024,2020-01-25,5
-6025,2020-01-26,5
-6026,2020-01-27,5
-6027,2020-01-28,5
-6028,2020-01-29,5
-6029,2020-01-30,5
-6030,2020-01-31,5
-6031,2020-02-01,5
-6032,2020-02-02,5
-6033,2020-02-03,5
-6034,2020-02-04,5
-6035,2020-02-05,5
-6036,2020-02-06,5
-6037,2020-02-07,5
-6038,2020-02-08,5
-6039,2020-02-09,5
-6040,2020-02-10,5
-6041,2020-02-11,5
-6042,2020-02-12,5
-6043,2020-02-13,5
-6044,2020-02-14,5
-6045,2020-02-15,5
-6046,2020-02-16,5
-6047,2020-02-17,5
-6048,2020-02-18,5
-6049,2020-02-19,5
-6050,2020-02-20,5
-6051,2020-02-21,5
-6052,2020-02-22,5
-6053,2020-02-23,5
-6054,2020-02-24,5
-6055,2020-02-25,5
-6056,2020-02-26,5
-6057,2020-02-27,5
-6058,2020-02-28,5
-6059,2020-02-29,5
-6060,2020-03-01,5
-6061,2020-03-02,5
-6062,2020-03-03,5
-6063,2020-03-04,5
-6064,2020-03-05,5
-6065,2020-03-06,5
-6066,2020-03-07,5
-6067,2020-03-08,5
-6068,2020-03-09,5
-6069,2020-03-10,5
-6070,2020-03-11,5
-6071,2020-03-12,5
-6072,2020-03-13,5
-6073,2020-03-14,5
-6074,2020-03-15,5
-6075,2020-03-16,5
-6076,2020-03-17,5
-6077,2020-03-18,5
-6078,2020-03-19,5
-6079,2020-03-20,5
-6080,2020-03-21,5
-6081,2020-03-22,5
-6082,2020-03-23,5
-6083,2020-03-24,5
-6084,2020-03-25,5
-6085,2020-03-26,5
-6086,2020-03-27,5
-6087,2020-03-28,5
-6088,2020-03-29,5
-6089,2020-03-30,5
-6090,2020-03-31,5
-6091,2020-04-01,5
-6092,2020-04-02,5
-6093,2020-04-03,5
-6094,2020-04-04,5
-6095,2020-04-05,5
-6096,2020-04-06,5
-6097,2020-04-07,5
-6098,2020-04-08,5
-6099,2020-04-09,5
-6100,2020-04-10,5
-6101,2020-04-11,5
-6102,2020-04-12,5
-6103,2020-04-13,5
-6104,2020-04-14,5
-6105,2020-04-15,5
-6106,2020-04-16,5
-6107,2020-04-17,5
-6108,2020-04-18,5
-6109,2020-04-19,5
-6110,2020-04-20,5
-6111,2020-04-21,5
-6112,2020-04-22,5
-6113,2020-04-23,5
-6114,2020-04-24,5
-6115,2020-04-25,5
-6116,2020-04-26,5
-6117,2020-04-27,5
-6118,2020-04-28,5
-6119,2020-04-29,5
-6120,2020-04-30,5
-6121,2020-05-01,5
-6122,2020-05-02,5
-6123,2020-05-03,5
-6124,2020-05-04,5
-6125,2020-05-05,5
-6126,2020-05-06,5
-6127,2020-05-07,5
-6128,2020-05-08,5
-6129,2020-05-09,5
-6130,2020-05-10,5
-6131,2020-05-11,5
-6132,2020-05-12,5
-6133,2020-05-13,5
-6134,2020-05-14,5
-6135,2020-05-15,5
-6136,2020-05-16,5
-6137,2020-05-17,5
-6138,2020-05-18,5
-6139,2020-05-19,5
-6140,2020-05-20,5
-6141,2020-05-21,5
-6142,2020-05-22,5
-6143,2020-05-23,5
-6144,2020-05-24,5
-6145,2020-05-25,5
-6146,2020-05-26,5
-6147,2020-05-27,5
-6148,2020-05-28,5
-6149,2020-05-29,5
-6150,2020-05-30,5
-6151,2020-05-31,5
-6152,2020-06-01,5
-6153,2020-06-02,5
-6154,2020-06-03,5
-6155,2020-06-04,5
-6156,2020-06-05,5
-6157,2020-06-06,5
-6158,2020-06-07,5
-6159,2020-06-08,5
-6160,2020-06-09,5
-6161,2020-06-10,5
-6162,2020-06-11,5
-6163,2020-06-12,5
-6164,2020-06-13,5
-6165,2020-06-14,5
-6166,2020-06-15,5
-6167,2020-06-16,5
-6168,2020-06-17,5
-6169,2020-06-18,5
-6170,2020-06-19,5
-6171,2020-06-20,5
-6172,2020-06-21,5
-6173,2020-06-22,5
-6174,2020-06-23,5
-6175,2020-06-24,5
-6176,2020-06-25,5
-6177,2020-06-26,5
-6178,2020-06-27,5
-6179,2020-06-28,5
-6180,2020-06-29,5
-6181,2020-06-30,5
-6182,2020-07-01,5
-6183,2020-07-02,5
-6184,2020-07-03,5
-6185,2020-07-04,5
-6186,2020-07-05,5
-6187,2020-07-06,5
-6188,2020-07-07,5
-6189,2020-07-08,5
-6190,2020-07-09,5
-6191,2020-07-10,5
-6192,2020-07-11,5
-6193,2020-07-12,5
-6194,2020-07-13,5
-6195,2020-07-14,5
-6196,2020-07-15,5
-6197,2020-07-16,5
-6198,2020-07-17,5
-6199,2020-07-18,5
-6200,2020-07-19,5
-6201,2020-07-20,5
-6202,2020-07-21,5
-6203,2020-07-22,5
-6204,2020-07-23,5
-6205,2020-07-24,5
-6206,2020-07-25,5
-6207,2020-07-26,5
-6208,2020-07-27,5
-6209,2020-07-28,5
-6210,2020-07-29,5
-6211,2020-07-30,5
-6212,2020-07-31,5
-6213,2020-08-01,5
-6214,2020-08-02,5
-6215,2020-08-03,5
-6216,2020-08-04,5
-6217,2020-08-05,5
-6218,2020-08-06,5
-6219,2020-08-07,5
-6220,2020-08-08,5
-6221,2020-08-09,5
-6222,2020-08-10,5
-6223,2020-08-11,5
-6224,2020-08-12,5
-6225,2020-08-13,5
-6226,2020-08-14,5
-6227,2020-08-15,5
-6228,2020-08-16,5
-6229,2020-08-17,5
-6230,2020-08-18,5
-6231,2020-08-19,5
-6232,2020-08-20,5
-6233,2020-08-21,5
-6234,2020-08-22,5
-6235,2020-08-23,5
-6236,2020-08-24,5
-6237,2020-08-25,5
-6238,2020-08-26,5
-6239,2020-08-27,5
-6240,2020-08-28,5
-6241,2020-08-29,5
-6242,2020-08-30,5
-6243,2020-08-31,5
-6244,2020-09-01,5
-6245,2020-09-02,5
-6246,2020-09-03,5
-6247,2020-09-04,5
-6248,2020-09-05,5
-6249,2020-09-06,5
-6250,2020-09-07,5
-6251,2020-09-08,5
-6252,2020-09-09,5
-6253,2020-09-10,5
-6254,2020-09-11,5
-6255,2020-09-12,5
-6256,2020-09-13,5
-6257,2020-09-14,5
-6258,2020-09-15,5
-6259,2020-09-16,5
-6260,2020-09-17,5
-6261,2020-09-18,5
-6262,2020-09-19,5
-6263,2020-09-20,5
-6264,2020-09-21,5
-6265,2020-09-22,5
-6266,2020-09-23,5
-6267,2020-09-24,5
-6268,2020-09-25,5
-6269,2020-09-26,5
-6270,2020-09-27,5
-6271,2020-09-28,5
-6272,2020-09-29,5
-6273,2020-09-30,5
-6274,2020-10-01,5
-6275,2020-10-02,5
-6276,2020-10-03,5
-6277,2020-10-04,5
-6278,2020-10-05,5
-6279,2020-10-06,5
-6280,2020-10-07,5
-6281,2020-10-08,5
-6282,2020-10-09,5
-6283,2020-10-10,5
-6284,2020-10-11,5
-6285,2020-10-12,5
-6286,2020-10-13,5
-6287,2020-10-14,5
-6288,2020-10-15,5
-6289,2020-10-16,5
-6290,2020-10-17,5
-6291,2020-10-18,5
-6292,2020-10-19,5
-6293,2020-10-20,5
-6294,2020-10-21,5
-6295,2020-10-22,5
-6296,2020-10-23,5
-6297,2020-10-24,5
-6298,2020-10-25,5
-6299,2020-10-26,5
-6300,2020-10-27,5
-6301,2020-10-28,5
-6302,2020-10-29,5
-6303,2020-10-30,5
-6304,2020-10-31,5
-6305,2020-11-01,5
-6306,2020-11-02,5
-6307,2020-11-03,5
-6308,2020-11-04,5
-6309,2020-11-05,5
-6310,2020-11-06,5
-6311,2020-11-07,5
-6312,2020-11-08,5
-6313,2020-11-09,5
-6314,2020-11-10,5
-6315,2020-11-11,5
-6316,2020-11-12,5
-6317,2020-11-13,5
-6318,2020-11-14,5
-6319,2020-11-15,5
-6320,2020-11-16,5
-6321,2020-11-17,5
-6322,2020-11-18,5
-6323,2020-11-19,5
-6324,2020-11-20,5
-6325,2020-11-21,5
-6326,2020-11-22,5
-6327,2020-11-23,5
-6328,2020-11-24,5
-6329,2020-11-25,5
-6330,2020-11-26,5
-6331,2020-11-27,5
-6332,2020-11-28,5
-6333,2020-11-29,5
-6334,2020-11-30,5
-6335,2020-12-01,5
-6336,2020-12-02,5
-6337,2020-12-03,5
-6338,2020-12-04,5
-6339,2020-12-05,5
-6340,2020-12-06,5
-6341,2020-12-07,5
-6342,2020-12-08,5
-6343,2020-12-09,5
-6344,2020-12-10,5
-6345,2020-12-11,5
-6346,2020-12-12,5
-6347,2020-12-13,5
-6348,2020-12-14,5
-6349,2020-12-15,5
-6350,2020-12-16,5
-6351,2020-12-17,5
-6352,2020-12-18,5
-6353,2020-12-19,5
-6354,2020-12-20,5
-6355,2020-12-21,5
-6356,2020-12-22,5
-6357,2020-12-23,5
-6358,2020-12-24,5
-6359,2020-12-25,5
-6360,2020-12-26,5
-6361,2020-12-27,5
-6362,2020-12-28,5
-6363,2020-12-29,5
-6364,2020-12-30,5
-6365,2020-12-31,5
-6366,2021-01-01,5
-6367,2021-01-02,5
-6368,2021-01-03,5
-6369,2021-01-04,5
-6370,2021-01-05,5
-6371,2021-01-06,5
-6372,2021-01-07,5
-6373,2021-01-08,5
-6374,2021-01-09,5
-6375,2021-01-10,5
-6376,2021-01-11,5
-6377,2021-01-12,5
-6378,2021-01-13,5
-6379,2021-01-14,5
-6380,2021-01-15,5
-6381,2021-01-16,5
-6382,2021-01-17,5
-6383,2021-01-18,5
-6384,2021-01-19,5
-6385,2021-01-20,5
-6386,2021-01-21,5
-6387,2021-01-22,5
-6388,2021-01-23,5
-6389,2021-01-24,5
-6390,2021-01-25,5
-6391,2021-01-26,5
-6392,2021-01-27,5
-6393,2021-01-28,5
-6394,2021-01-29,5
-6395,2021-01-30,5
-6396,2021-01-31,5
-6397,2021-02-01,5
-6398,2021-02-02,5
-6399,2021-02-03,5
-6400,2021-02-04,5
-6401,2021-02-05,5
-6402,2021-02-06,5
-6403,2021-02-07,5
-6404,2021-02-08,5
-6405,2021-02-09,5
-6406,2021-02-10,5
-6407,2021-02-11,5
-6408,2021-02-12,5
-6409,2021-02-13,5
-6410,2021-02-14,5
-6411,2021-02-15,5
-6412,2021-02-16,5
-6413,2021-02-17,5
-6414,2021-02-18,5
-6415,2021-02-19,5
-6416,2021-02-20,5
-6417,2021-02-21,5
-6418,2021-02-22,5
-6419,2021-02-23,5
-6420,2021-02-24,5
-6421,2021-02-25,5
-6422,2021-02-26,5
-6423,2021-02-27,5
-6424,2021-02-28,5
-6425,2021-03-01,5
-6426,2021-03-02,5
-6427,2021-03-03,5
-6428,2021-03-04,5
-6429,2021-03-05,5
-6430,2021-03-06,5
-6431,2021-03-07,5
-6432,2021-03-08,5
-6433,2021-03-09,5
-6434,2021-03-10,5
-6435,2021-03-11,5
-6436,2021-03-12,5
-6437,2021-03-13,5
-6438,2021-03-14,5
-6439,2021-03-15,5
-6440,2021-03-16,5
-6441,2021-03-17,5
-6442,2021-03-18,5
-6443,2021-03-19,5
-6444,2021-03-20,5
-6445,2021-03-21,5
-6446,2021-03-22,5
-6447,2021-03-23,5
-6448,2021-03-24,5
-6449,2021-03-25,5
-6450,2021-03-26,5
-6451,2021-03-27,5
-6452,2021-03-28,5
-6453,2021-03-29,5
-6454,2021-03-30,5
-6455,2021-03-31,5
-6456,2021-04-01,5
-6457,2021-04-02,5
-6458,2021-04-03,5
-6459,2021-04-04,5
-6460,2021-04-05,5
-6461,2021-04-06,5
-6462,2021-04-07,5
-6463,2021-04-08,5
-6464,2021-04-09,5
-6465,2021-04-10,5
-6466,2021-04-11,5
-6467,2021-04-12,5
-6468,2021-04-13,5
-6469,2021-04-14,5
-6470,2021-04-15,5
-6471,2021-04-16,5
-6472,2021-04-17,5
-6473,2021-04-18,5
-6474,2021-04-19,5
-6475,2021-04-20,5
-6476,2021-04-21,5
-6477,2021-04-22,5
-6478,2021-04-23,5
-6479,2021-04-24,5
-6480,2021-04-25,5
-6481,2021-04-26,5
-6482,2021-04-27,5
-6483,2021-04-28,5
-6484,2021-04-29,5
-6485,2021-04-30,5
-6486,2021-05-01,5
-6487,2021-05-02,5
-6488,2021-05-03,5
-6489,2021-05-04,5
-6490,2021-05-05,5
-6491,2021-05-06,5
-6492,2021-05-07,5
-6493,2021-05-08,5
-6494,2021-05-09,5
-6495,2021-05-10,5
-6496,2021-05-11,5
-6497,2021-05-12,5
-6498,2021-05-13,5
-6499,2021-05-14,5
-6500,2021-05-15,5
-6501,2021-05-16,5
-6502,2021-05-17,5
-6503,2021-05-18,5
-6504,2021-05-19,5
-6505,2021-05-20,5
-6506,2021-05-21,5
-6507,2021-05-22,5
-6508,2021-05-23,5
-6509,2021-05-24,5
-6510,2021-05-25,5
-6511,2021-05-26,5
-6512,2021-05-27,5
-6513,2021-05-28,5
-6514,2021-05-29,5
-6515,2021-05-30,5
-6516,2021-05-31,5
-6517,2021-06-01,5
-6518,2021-06-02,5
-6519,2021-06-03,5
-6520,2021-06-04,5
-6521,2021-06-05,5
-6522,2021-06-06,5
-6523,2021-06-07,5
-6524,2021-06-08,5
-6525,2021-06-09,5
-6526,2021-06-10,5
-6527,2021-06-11,5
-6528,2021-06-12,5
-6529,2021-06-13,5
-6530,2021-06-14,5
-6531,2021-06-15,5
-6532,2021-06-16,5
-6533,2021-06-17,5
-6534,2021-06-18,5
-6535,2021-06-19,5
-6536,2021-06-20,5
-6537,2021-06-21,5
-6538,2021-06-22,5
-6539,2021-06-23,5
-6540,2021-06-24,5
-6541,2021-06-25,5
-6542,2021-06-26,5
-6543,2021-06-27,5
-6544,2021-06-28,5
-6545,2021-06-29,5
-6546,2021-06-30,5
-6547,2021-07-01,5
-6548,2021-07-02,5
-6549,2021-07-03,5
-6550,2021-07-04,5
-6551,2021-07-05,5
-6552,2021-07-06,5
-6553,2021-07-07,5
-6554,2021-07-08,5
-6555,2021-07-09,5
-6556,2021-07-10,5
-6557,2021-07-11,5
-6558,2021-07-12,5
-6559,2021-07-13,5
-6560,2021-07-14,5
-6561,2021-07-15,5
-6562,2021-07-16,5
-6563,2021-07-17,5
-6564,2021-07-18,5
-6565,2021-07-19,5
-6566,2021-07-20,5
-6567,2021-07-21,5
-6568,2021-07-22,5
-6569,2021-07-23,5
-6570,2021-07-24,5
-6571,2021-07-25,5
-6572,2021-07-26,5
-6573,2021-07-27,5
-6574,2021-07-28,5
-6575,2021-07-29,5
-6576,2021-07-30,5
-6577,2021-07-31,5
-6578,2021-08-01,5
-6579,2021-08-02,5
-6580,2021-08-03,5
-6581,2021-08-04,5
-6582,2021-08-05,5
-6583,2021-08-06,5
-6584,2021-08-07,5
-6585,2021-08-08,5
-6586,2021-08-09,5
-6587,2021-08-10,5
-6588,2021-08-11,5
-6589,2021-08-12,5
-6590,2021-08-13,5
-6591,2021-08-14,5
-6592,2021-08-15,5
-6593,2021-08-16,5
-6594,2021-08-17,5
-6595,2021-08-18,5
-6596,2021-08-19,5
-6597,2021-08-20,5
-6598,2021-08-21,5
-6599,2021-08-22,5
-6600,2021-08-23,5
-6601,2021-08-24,5
-6602,2021-08-25,5
-6603,2021-08-26,5
-6604,2021-08-27,5
-6605,2021-08-28,5
-6606,2021-08-29,5
-6607,2021-08-30,5
-6608,2021-08-31,5
-6609,2021-09-01,5
-6610,2021-09-02,5
-6611,2021-09-03,5
-6612,2021-09-04,5
-6613,2021-09-05,5
-6614,2021-09-06,5
-6615,2021-09-07,5
-6616,2021-09-08,5
-6617,2021-09-09,5
-6618,2021-09-10,5
-6619,2021-09-11,5
-6620,2021-09-12,5
-6621,2021-09-13,5
-6622,2021-09-14,5
-6623,2021-09-15,5
-6624,2021-09-16,5
-6625,2021-09-17,5
-6626,2021-09-18,5
-6627,2021-09-19,5
-6628,2021-09-20,5
-6629,2021-09-21,5
-6630,2021-09-22,5
-6631,2021-09-23,5
-6632,2021-09-24,5
-6633,2021-09-25,5
-6634,2021-09-26,5
-6635,2021-09-27,5
-6636,2021-09-28,5
-6637,2021-09-29,5
-6638,2021-09-30,5
-6639,2021-10-01,5
-6640,2021-10-02,5
-6641,2021-10-03,5
-6642,2021-10-04,5
-6643,2021-10-05,5
-6644,2021-10-06,5
-6645,2021-10-07,5
-6646,2021-10-08,5
-6647,2021-10-09,5
-6648,2021-10-10,5
-6649,2021-10-11,5
-6650,2021-10-12,5
-6651,2021-10-13,5
-6652,2021-10-14,5
-6653,2021-10-15,5
-6654,2021-10-16,5
-6655,2021-10-17,5
-6656,2021-10-18,5
-6657,2021-10-19,5
-6658,2021-10-20,5
-6659,2021-10-21,5
-6660,2021-10-22,5
-6661,2021-10-23,5
-6662,2021-10-24,5
-6663,2021-10-25,5
-6664,2021-10-26,5
-6665,2021-10-27,5
-6666,2021-10-28,5
-6667,2021-10-29,5
-6668,2021-10-30,5
-6669,2021-10-31,5
-6670,2021-11-01,5
-6671,2021-11-02,5
-6672,2021-11-03,5
-6673,2021-11-04,5
-6674,2021-11-05,5
-6675,2021-11-06,5
-6676,2021-11-07,5
-6677,2021-11-08,5
-6678,2021-11-09,5
-6679,2021-11-10,5
-6680,2021-11-11,5
-6681,2021-11-12,5
-6682,2021-11-13,5
-6683,2021-11-14,5
-6684,2021-11-15,5
-6685,2021-11-16,5
-6686,2021-11-17,5
-6687,2021-11-18,5
-6688,2021-11-19,5
-6689,2021-11-20,5
-6690,2021-11-21,5
-6691,2021-11-22,5
-6692,2021-11-23,5
-6693,2021-11-24,5
-6694,2021-11-25,5
-6695,2021-11-26,5
-6696,2021-11-27,5
-6697,2021-11-28,5
-6698,2021-11-29,5
-6699,2021-11-30,5
-6700,2021-12-01,5
-6701,2021-12-02,5
-6702,2021-12-03,5
-6703,2021-12-04,5
-6704,2021-12-05,5
-6705,2021-12-06,5
-6706,2021-12-07,5
-6707,2021-12-08,5
-6708,2021-12-09,5
-6709,2021-12-10,5
-6710,2021-12-11,5
-6711,2021-12-12,5
-6712,2021-12-13,5
-6713,2021-12-14,5
-6714,2021-12-15,5
-6715,2021-12-16,5
-6716,2021-12-17,5
-6717,2021-12-18,5
-6718,2021-12-19,5
-6719,2021-12-20,5
-6720,2021-12-21,5
-6721,2021-12-22,5
-6722,2021-12-23,5
-6723,2021-12-24,5
-6724,2021-12-25,5
-6725,2021-12-26,5
-6726,2021-12-27,5
-6727,2021-12-28,5
-6728,2021-12-29,5
-6729,2021-12-30,5
-6730,2021-12-31,5
-6731,2022-01-01,5
-6732,2022-01-02,5
-6733,2022-01-03,5
-6734,2022-01-04,5
-6735,2022-01-05,5
-6736,2022-01-06,5
-6737,2022-01-07,5
-6738,2022-01-08,5
-6739,2022-01-09,5
-6740,2022-01-10,5
-6741,2022-01-11,5
-6742,2022-01-12,5
-6743,2022-01-13,5
-6744,2022-01-14,5
-6745,2022-01-15,5
-6746,2022-01-16,5
-6747,2022-01-17,5
-6748,2022-01-18,5
-6749,2022-01-19,5
-6750,2022-01-20,5
-6751,2022-01-21,5
-6752,2022-01-22,5
-6753,2022-01-23,5
-6754,2022-01-24,5
-6755,2022-01-25,5
-6756,2022-01-26,5
-6757,2022-01-27,5
-6758,2022-01-28,5
-6759,2022-01-29,5
-6760,2022-01-30,5
-6761,2022-01-31,5
-6762,2022-02-01,5
-6763,2022-02-02,5
-6764,2022-02-03,5
-6765,2022-02-04,5
-6766,2022-02-05,5
-6767,2022-02-06,5
-6768,2022-02-07,5
-6769,2022-02-08,5
-6770,2022-02-09,5
-6771,2022-02-10,5
-6772,2022-02-11,5
-6773,2022-02-12,5
-6774,2022-02-13,5
-6775,2022-02-14,5
-6776,2022-02-15,5
-6777,2022-02-16,5
-6778,2022-02-17,5
-6779,2022-02-18,5
-6780,2022-02-19,5
-6781,2022-02-20,5
-6782,2022-02-21,5
-6783,2022-02-22,5
-6784,2022-02-23,5
-6785,2022-02-24,5
-6786,2022-02-25,5
-6787,2022-02-26,5
-6788,2022-02-27,5
-6789,2022-02-28,5
-6790,2022-03-01,5
-6791,2022-03-02,5
-6792,2022-03-03,5
-6793,2022-03-04,5
-6794,2022-03-05,5
-6795,2022-03-06,5
-6796,2022-03-07,5
-6797,2022-03-08,5
-6798,2022-03-09,5
-6799,2022-03-10,5
-6800,2022-03-11,5
-6801,2022-03-12,5
-6802,2022-03-13,5
-6803,2022-03-14,5
-6804,2022-03-15,5
-6805,2022-03-16,5
-6806,2022-03-17,5
-6807,2022-03-18,5
-6808,2022-03-19,5
-6809,2022-03-20,5
-6810,2022-03-21,5
-6811,2022-03-22,5
-6812,2022-03-23,5
-6813,2022-03-24,5
-6814,2022-03-25,5
-6815,2022-03-26,5
-6816,2022-03-27,5
-6817,2022-03-28,5
-6818,2022-03-29,5
-6819,2022-03-30,5
-6820,2022-03-31,5
-6821,2022-04-01,5
-6822,2022-04-02,5
-6823,2022-04-03,5
-6824,2022-04-04,5
-6825,2022-04-05,5
-6826,2022-04-06,5
-6827,2022-04-07,5
-6828,2022-04-08,5
-6829,2022-04-09,5
-6830,2022-04-10,5
-6831,2022-04-11,5
-6832,2022-04-12,5
-6833,2022-04-13,5
-6834,2022-04-14,5
-6835,2022-04-15,5
-6836,2022-04-16,5
-6837,2022-04-17,5
-6838,2022-04-18,5
-6839,2022-04-19,5
-6840,2022-04-20,5
-6841,2022-04-21,5
-6842,2022-04-22,5
-6843,2022-04-23,5
-6844,2022-04-24,5
-6845,2022-04-25,5
-6846,2022-04-26,5
-6847,2022-04-27,5
-6848,2022-04-28,5
-6849,2022-04-29,5
-6850,2022-04-30,5
-6851,2022-05-01,5
-6852,2022-05-02,5
-6853,2022-05-03,5
-6854,2022-05-04,5
-6855,2022-05-05,5
-6856,2022-05-06,5
-6857,2022-05-07,5
-6858,2022-05-08,5
-6859,2022-05-09,5
-6860,2022-05-10,5
-6861,2022-05-11,5
-6862,2022-05-12,5
-6863,2022-05-13,5
-6864,2022-05-14,5
-6865,2022-05-15,5
-6866,2022-05-16,5
-6867,2022-05-17,5
-6868,2022-05-18,5
-6869,2022-05-19,5
-6870,2022-05-20,5
-6871,2022-05-21,5
-6872,2022-05-22,5
-6873,2022-05-23,5
-6874,2022-05-24,5
-6875,2022-05-25,5
-6876,2022-05-26,5
-6877,2022-05-27,5
-6878,2022-05-28,5
-6879,2022-05-29,5
-6880,2022-05-30,5
-6881,2022-05-31,5
-6882,2022-06-01,5
-6883,2022-06-02,5
-6884,2022-06-03,5
-6885,2022-06-04,5
-6886,2022-06-05,5
-6887,2022-06-06,5
-6888,2022-06-07,5
-6889,2022-06-08,5
-6890,2022-06-09,5
-6891,2022-06-10,5
-6892,2022-06-11,5
-6893,2022-06-12,5
-6894,2022-06-13,5
-6895,2022-06-14,5
-6896,2022-06-15,5
-6897,2022-06-16,5
-6898,2022-06-17,5
-6899,2022-06-18,5
-6900,2022-06-19,5
-6901,2022-06-20,5
-6902,2022-06-21,5
-6903,2022-06-22,5
-6904,2022-06-23,5
-6905,2022-06-24,5
-6906,2022-06-25,5
-6907,2022-06-26,5
-6908,2022-06-27,5
-6909,2022-06-28,5
-6910,2022-06-29,5
-6911,2022-06-30,5
-6912,2022-07-01,5
-6913,2022-07-02,5
-6914,2022-07-03,5
-6915,2022-07-04,5
-6916,2022-07-05,5
-6917,2022-07-06,5
-6918,2022-07-07,5
-6919,2022-07-08,5
-6920,2022-07-09,5
-6921,2022-07-10,5
-6922,2022-07-11,5
-6923,2022-07-12,5
-6924,2022-07-13,5
-6925,2022-07-14,5
-6926,2022-07-15,5
-6927,2022-07-16,5
-6928,2022-07-17,5
-6929,2022-07-18,5
-6930,2022-07-19,5
-6931,2022-07-20,5
-6932,2022-07-21,5
-6933,2022-07-22,5
-6934,2022-07-23,5
-6935,2022-07-24,5
-6936,2022-07-25,5
-6937,2022-07-26,5
-6938,2022-07-27,5
-6939,2022-07-28,5
-6940,2022-07-29,5
-6941,2022-07-30,5
-6942,2022-07-31,5
-6943,2022-08-01,5
-6944,2022-08-02,5
-6945,2022-08-03,5
-6946,2022-08-04,5
-6947,2022-08-05,5
-6948,2022-08-06,5
-6949,2022-08-07,5
-6950,2022-08-08,5
-6951,2022-08-09,5
-6952,2022-08-10,5
-6953,2022-08-11,5
-6954,2022-08-12,5
-6955,2022-08-13,5
-6956,2022-08-14,5
-6957,2022-08-15,5
-6958,2022-08-16,5
-6959,2022-08-17,5
-6960,2022-08-18,5
-6961,2022-08-19,5
-6962,2022-08-20,5
-6963,2022-08-21,5
-6964,2022-08-22,5
-6965,2022-08-23,5
-6966,2022-08-24,5
-6967,2022-08-25,5
-6968,2022-08-26,5
-6969,2022-08-27,5
-6970,2022-08-28,5
-6971,2022-08-29,5
-6972,2022-08-30,5
-6973,2022-08-31,5
-6974,2022-09-01,5
-6975,2022-09-02,5
-6976,2022-09-03,5
-6977,2022-09-04,5
-6978,2022-09-05,5
-6979,2022-09-06,5
-6980,2022-09-07,5
-6981,2022-09-08,5
-6982,2022-09-09,5
-6983,2022-09-10,5
-6984,2022-09-11,5
-6985,2022-09-12,5
-6986,2022-09-13,5
-6987,2022-09-14,5
-6988,2022-09-15,5
-6989,2022-09-16,5
-6990,2022-09-17,5
-6991,2022-09-18,5
-6992,2022-09-19,5
-6993,2022-09-20,5
-6994,2022-09-21,5
-6995,2022-09-22,5
-6996,2022-09-23,5
-6997,2022-09-24,5
-6998,2022-09-25,5
-6999,2022-09-26,5
-7000,2020-01-01,6
-7001,2020-01-02,6
-7002,2020-01-03,6
-7003,2020-01-04,6
-7004,2020-01-05,6
-7005,2020-01-06,6
-7006,2020-01-07,6
-7007,2020-01-08,6
-7008,2020-01-09,6
-7009,2020-01-10,6
-7010,2020-01-11,6
-7011,2020-01-12,6
-7012,2020-01-13,6
-7013,2020-01-14,6
-7014,2020-01-15,6
-7015,2020-01-16,6
-7016,2020-01-17,6
-7017,2020-01-18,6
-7018,2020-01-19,6
-7019,2020-01-20,6
-7020,2020-01-21,6
-7021,2020-01-22,6
-7022,2020-01-23,6
-7023,2020-01-24,6
-7024,2020-01-25,6
-7025,2020-01-26,6
-7026,2020-01-27,6
-7027,2020-01-28,6
-7028,2020-01-29,6
-7029,2020-01-30,6
-7030,2020-01-31,6
-7031,2020-02-01,6
-7032,2020-02-02,6
-7033,2020-02-03,6
-7034,2020-02-04,6
-7035,2020-02-05,6
-7036,2020-02-06,6
-7037,2020-02-07,6
-7038,2020-02-08,6
-7039,2020-02-09,6
-7040,2020-02-10,6
-7041,2020-02-11,6
-7042,2020-02-12,6
-7043,2020-02-13,6
-7044,2020-02-14,6
-7045,2020-02-15,6
-7046,2020-02-16,6
-7047,2020-02-17,6
-7048,2020-02-18,6
-7049,2020-02-19,6
-7050,2020-02-20,6
-7051,2020-02-21,6
-7052,2020-02-22,6
-7053,2020-02-23,6
-7054,2020-02-24,6
-7055,2020-02-25,6
-7056,2020-02-26,6
-7057,2020-02-27,6
-7058,2020-02-28,6
-7059,2020-02-29,6
-7060,2020-03-01,6
-7061,2020-03-02,6
-7062,2020-03-03,6
-7063,2020-03-04,6
-7064,2020-03-05,6
-7065,2020-03-06,6
-7066,2020-03-07,6
-7067,2020-03-08,6
-7068,2020-03-09,6
-7069,2020-03-10,6
-7070,2020-03-11,6
-7071,2020-03-12,6
-7072,2020-03-13,6
-7073,2020-03-14,6
-7074,2020-03-15,6
-7075,2020-03-16,6
-7076,2020-03-17,6
-7077,2020-03-18,6
-7078,2020-03-19,6
-7079,2020-03-20,6
-7080,2020-03-21,6
-7081,2020-03-22,6
-7082,2020-03-23,6
-7083,2020-03-24,6
-7084,2020-03-25,6
-7085,2020-03-26,6
-7086,2020-03-27,6
-7087,2020-03-28,6
-7088,2020-03-29,6
-7089,2020-03-30,6
-7090,2020-03-31,6
-7091,2020-04-01,6
-7092,2020-04-02,6
-7093,2020-04-03,6
-7094,2020-04-04,6
-7095,2020-04-05,6
-7096,2020-04-06,6
-7097,2020-04-07,6
-7098,2020-04-08,6
-7099,2020-04-09,6
-7100,2020-04-10,6
-7101,2020-04-11,6
-7102,2020-04-12,6
-7103,2020-04-13,6
-7104,2020-04-14,6
-7105,2020-04-15,6
-7106,2020-04-16,6
-7107,2020-04-17,6
-7108,2020-04-18,6
-7109,2020-04-19,6
-7110,2020-04-20,6
-7111,2020-04-21,6
-7112,2020-04-22,6
-7113,2020-04-23,6
-7114,2020-04-24,6
-7115,2020-04-25,6
-7116,2020-04-26,6
-7117,2020-04-27,6
-7118,2020-04-28,6
-7119,2020-04-29,6
-7120,2020-04-30,6
-7121,2020-05-01,6
-7122,2020-05-02,6
-7123,2020-05-03,6
-7124,2020-05-04,6
-7125,2020-05-05,6
-7126,2020-05-06,6
-7127,2020-05-07,6
-7128,2020-05-08,6
-7129,2020-05-09,6
-7130,2020-05-10,6
-7131,2020-05-11,6
-7132,2020-05-12,6
-7133,2020-05-13,6
-7134,2020-05-14,6
-7135,2020-05-15,6
-7136,2020-05-16,6
-7137,2020-05-17,6
-7138,2020-05-18,6
-7139,2020-05-19,6
-7140,2020-05-20,6
-7141,2020-05-21,6
-7142,2020-05-22,6
-7143,2020-05-23,6
-7144,2020-05-24,6
-7145,2020-05-25,6
-7146,2020-05-26,6
-7147,2020-05-27,6
-7148,2020-05-28,6
-7149,2020-05-29,6
-7150,2020-05-30,6
-7151,2020-05-31,6
-7152,2020-06-01,6
-7153,2020-06-02,6
-7154,2020-06-03,6
-7155,2020-06-04,6
-7156,2020-06-05,6
-7157,2020-06-06,6
-7158,2020-06-07,6
-7159,2020-06-08,6
-7160,2020-06-09,6
-7161,2020-06-10,6
-7162,2020-06-11,6
-7163,2020-06-12,6
-7164,2020-06-13,6
-7165,2020-06-14,6
-7166,2020-06-15,6
-7167,2020-06-16,6
-7168,2020-06-17,6
-7169,2020-06-18,6
-7170,2020-06-19,6
-7171,2020-06-20,6
-7172,2020-06-21,6
-7173,2020-06-22,6
-7174,2020-06-23,6
-7175,2020-06-24,6
-7176,2020-06-25,6
-7177,2020-06-26,6
-7178,2020-06-27,6
-7179,2020-06-28,6
-7180,2020-06-29,6
-7181,2020-06-30,6
-7182,2020-07-01,6
-7183,2020-07-02,6
-7184,2020-07-03,6
-7185,2020-07-04,6
-7186,2020-07-05,6
-7187,2020-07-06,6
-7188,2020-07-07,6
-7189,2020-07-08,6
-7190,2020-07-09,6
-7191,2020-07-10,6
-7192,2020-07-11,6
-7193,2020-07-12,6
-7194,2020-07-13,6
-7195,2020-07-14,6
-7196,2020-07-15,6
-7197,2020-07-16,6
-7198,2020-07-17,6
-7199,2020-07-18,6
-7200,2020-07-19,6
-7201,2020-07-20,6
-7202,2020-07-21,6
-7203,2020-07-22,6
-7204,2020-07-23,6
-7205,2020-07-24,6
-7206,2020-07-25,6
-7207,2020-07-26,6
-7208,2020-07-27,6
-7209,2020-07-28,6
-7210,2020-07-29,6
-7211,2020-07-30,6
-7212,2020-07-31,6
-7213,2020-08-01,6
-7214,2020-08-02,6
-7215,2020-08-03,6
-7216,2020-08-04,6
-7217,2020-08-05,6
-7218,2020-08-06,6
-7219,2020-08-07,6
-7220,2020-08-08,6
-7221,2020-08-09,6
-7222,2020-08-10,6
-7223,2020-08-11,6
-7224,2020-08-12,6
-7225,2020-08-13,6
-7226,2020-08-14,6
-7227,2020-08-15,6
-7228,2020-08-16,6
-7229,2020-08-17,6
-7230,2020-08-18,6
-7231,2020-08-19,6
-7232,2020-08-20,6
-7233,2020-08-21,6
-7234,2020-08-22,6
-7235,2020-08-23,6
-7236,2020-08-24,6
-7237,2020-08-25,6
-7238,2020-08-26,6
-7239,2020-08-27,6
-7240,2020-08-28,6
-7241,2020-08-29,6
-7242,2020-08-30,6
-7243,2020-08-31,6
-7244,2020-09-01,6
-7245,2020-09-02,6
-7246,2020-09-03,6
-7247,2020-09-04,6
-7248,2020-09-05,6
-7249,2020-09-06,6
-7250,2020-09-07,6
-7251,2020-09-08,6
-7252,2020-09-09,6
-7253,2020-09-10,6
-7254,2020-09-11,6
-7255,2020-09-12,6
-7256,2020-09-13,6
-7257,2020-09-14,6
-7258,2020-09-15,6
-7259,2020-09-16,6
-7260,2020-09-17,6
-7261,2020-09-18,6
-7262,2020-09-19,6
-7263,2020-09-20,6
-7264,2020-09-21,6
-7265,2020-09-22,6
-7266,2020-09-23,6
-7267,2020-09-24,6
-7268,2020-09-25,6
-7269,2020-09-26,6
-7270,2020-09-27,6
-7271,2020-09-28,6
-7272,2020-09-29,6
-7273,2020-09-30,6
-7274,2020-10-01,6
-7275,2020-10-02,6
-7276,2020-10-03,6
-7277,2020-10-04,6
-7278,2020-10-05,6
-7279,2020-10-06,6
-7280,2020-10-07,6
-7281,2020-10-08,6
-7282,2020-10-09,6
-7283,2020-10-10,6
-7284,2020-10-11,6
-7285,2020-10-12,6
-7286,2020-10-13,6
-7287,2020-10-14,6
-7288,2020-10-15,6
-7289,2020-10-16,6
-7290,2020-10-17,6
-7291,2020-10-18,6
-7292,2020-10-19,6
-7293,2020-10-20,6
-7294,2020-10-21,6
-7295,2020-10-22,6
-7296,2020-10-23,6
-7297,2020-10-24,6
-7298,2020-10-25,6
-7299,2020-10-26,6
-7300,2020-10-27,6
-7301,2020-10-28,6
-7302,2020-10-29,6
-7303,2020-10-30,6
-7304,2020-10-31,6
-7305,2020-11-01,6
-7306,2020-11-02,6
-7307,2020-11-03,6
-7308,2020-11-04,6
-7309,2020-11-05,6
-7310,2020-11-06,6
-7311,2020-11-07,6
-7312,2020-11-08,6
-7313,2020-11-09,6
-7314,2020-11-10,6
-7315,2020-11-11,6
-7316,2020-11-12,6
-7317,2020-11-13,6
-7318,2020-11-14,6
-7319,2020-11-15,6
-7320,2020-11-16,6
-7321,2020-11-17,6
-7322,2020-11-18,6
-7323,2020-11-19,6
-7324,2020-11-20,6
-7325,2020-11-21,6
-7326,2020-11-22,6
-7327,2020-11-23,6
-7328,2020-11-24,6
-7329,2020-11-25,6
-7330,2020-11-26,6
-7331,2020-11-27,6
-7332,2020-11-28,6
-7333,2020-11-29,6
-7334,2020-11-30,6
-7335,2020-12-01,6
-7336,2020-12-02,6
-7337,2020-12-03,6
-7338,2020-12-04,6
-7339,2020-12-05,6
-7340,2020-12-06,6
-7341,2020-12-07,6
-7342,2020-12-08,6
-7343,2020-12-09,6
-7344,2020-12-10,6
-7345,2020-12-11,6
-7346,2020-12-12,6
-7347,2020-12-13,6
-7348,2020-12-14,6
-7349,2020-12-15,6
-7350,2020-12-16,6
-7351,2020-12-17,6
-7352,2020-12-18,6
-7353,2020-12-19,6
-7354,2020-12-20,6
-7355,2020-12-21,6
-7356,2020-12-22,6
-7357,2020-12-23,6
-7358,2020-12-24,6
-7359,2020-12-25,6
-7360,2020-12-26,6
-7361,2020-12-27,6
-7362,2020-12-28,6
-7363,2020-12-29,6
-7364,2020-12-30,6
-7365,2020-12-31,6
-7366,2021-01-01,6
-7367,2021-01-02,6
-7368,2021-01-03,6
-7369,2021-01-04,6
-7370,2021-01-05,6
-7371,2021-01-06,6
-7372,2021-01-07,6
-7373,2021-01-08,6
-7374,2021-01-09,6
-7375,2021-01-10,6
-7376,2021-01-11,6
-7377,2021-01-12,6
-7378,2021-01-13,6
-7379,2021-01-14,6
-7380,2021-01-15,6
-7381,2021-01-16,6
-7382,2021-01-17,6
-7383,2021-01-18,6
-7384,2021-01-19,6
-7385,2021-01-20,6
-7386,2021-01-21,6
-7387,2021-01-22,6
-7388,2021-01-23,6
-7389,2021-01-24,6
-7390,2021-01-25,6
-7391,2021-01-26,6
-7392,2021-01-27,6
-7393,2021-01-28,6
-7394,2021-01-29,6
-7395,2021-01-30,6
-7396,2021-01-31,6
-7397,2021-02-01,6
-7398,2021-02-02,6
-7399,2021-02-03,6
-7400,2021-02-04,6
-7401,2021-02-05,6
-7402,2021-02-06,6
-7403,2021-02-07,6
-7404,2021-02-08,6
-7405,2021-02-09,6
-7406,2021-02-10,6
-7407,2021-02-11,6
-7408,2021-02-12,6
-7409,2021-02-13,6
-7410,2021-02-14,6
-7411,2021-02-15,6
-7412,2021-02-16,6
-7413,2021-02-17,6
-7414,2021-02-18,6
-7415,2021-02-19,6
-7416,2021-02-20,6
-7417,2021-02-21,6
-7418,2021-02-22,6
-7419,2021-02-23,6
-7420,2021-02-24,6
-7421,2021-02-25,6
-7422,2021-02-26,6
-7423,2021-02-27,6
-7424,2021-02-28,6
-7425,2021-03-01,6
-7426,2021-03-02,6
-7427,2021-03-03,6
-7428,2021-03-04,6
-7429,2021-03-05,6
-7430,2021-03-06,6
-7431,2021-03-07,6
-7432,2021-03-08,6
-7433,2021-03-09,6
-7434,2021-03-10,6
-7435,2021-03-11,6
-7436,2021-03-12,6
-7437,2021-03-13,6
-7438,2021-03-14,6
-7439,2021-03-15,6
-7440,2021-03-16,6
-7441,2021-03-17,6
-7442,2021-03-18,6
-7443,2021-03-19,6
-7444,2021-03-20,6
-7445,2021-03-21,6
-7446,2021-03-22,6
-7447,2021-03-23,6
-7448,2021-03-24,6
-7449,2021-03-25,6
-7450,2021-03-26,6
-7451,2021-03-27,6
-7452,2021-03-28,6
-7453,2021-03-29,6
-7454,2021-03-30,6
-7455,2021-03-31,6
-7456,2021-04-01,6
-7457,2021-04-02,6
-7458,2021-04-03,6
-7459,2021-04-04,6
-7460,2021-04-05,6
-7461,2021-04-06,6
-7462,2021-04-07,6
-7463,2021-04-08,6
-7464,2021-04-09,6
-7465,2021-04-10,6
-7466,2021-04-11,6
-7467,2021-04-12,6
-7468,2021-04-13,6
-7469,2021-04-14,6
-7470,2021-04-15,6
-7471,2021-04-16,6
-7472,2021-04-17,6
-7473,2021-04-18,6
-7474,2021-04-19,6
-7475,2021-04-20,6
-7476,2021-04-21,6
-7477,2021-04-22,6
-7478,2021-04-23,6
-7479,2021-04-24,6
-7480,2021-04-25,6
-7481,2021-04-26,6
-7482,2021-04-27,6
-7483,2021-04-28,6
-7484,2021-04-29,6
-7485,2021-04-30,6
-7486,2021-05-01,6
-7487,2021-05-02,6
-7488,2021-05-03,6
-7489,2021-05-04,6
-7490,2021-05-05,6
-7491,2021-05-06,6
-7492,2021-05-07,6
-7493,2021-05-08,6
-7494,2021-05-09,6
-7495,2021-05-10,6
-7496,2021-05-11,6
-7497,2021-05-12,6
-7498,2021-05-13,6
-7499,2021-05-14,6
-7500,2021-05-15,6
-7501,2021-05-16,6
-7502,2021-05-17,6
-7503,2021-05-18,6
-7504,2021-05-19,6
-7505,2021-05-20,6
-7506,2021-05-21,6
-7507,2021-05-22,6
-7508,2021-05-23,6
-7509,2021-05-24,6
-7510,2021-05-25,6
-7511,2021-05-26,6
-7512,2021-05-27,6
-7513,2021-05-28,6
-7514,2021-05-29,6
-7515,2021-05-30,6
-7516,2021-05-31,6
-7517,2021-06-01,6
-7518,2021-06-02,6
-7519,2021-06-03,6
-7520,2021-06-04,6
-7521,2021-06-05,6
-7522,2021-06-06,6
-7523,2021-06-07,6
-7524,2021-06-08,6
-7525,2021-06-09,6
-7526,2021-06-10,6
-7527,2021-06-11,6
-7528,2021-06-12,6
-7529,2021-06-13,6
-7530,2021-06-14,6
-7531,2021-06-15,6
-7532,2021-06-16,6
-7533,2021-06-17,6
-7534,2021-06-18,6
-7535,2021-06-19,6
-7536,2021-06-20,6
-7537,2021-06-21,6
-7538,2021-06-22,6
-7539,2021-06-23,6
-7540,2021-06-24,6
-7541,2021-06-25,6
-7542,2021-06-26,6
-7543,2021-06-27,6
-7544,2021-06-28,6
-7545,2021-06-29,6
-7546,2021-06-30,6
-7547,2021-07-01,6
-7548,2021-07-02,6
-7549,2021-07-03,6
-7550,2021-07-04,6
-7551,2021-07-05,6
-7552,2021-07-06,6
-7553,2021-07-07,6
-7554,2021-07-08,6
-7555,2021-07-09,6
-7556,2021-07-10,6
-7557,2021-07-11,6
-7558,2021-07-12,6
-7559,2021-07-13,6
-7560,2021-07-14,6
-7561,2021-07-15,6
-7562,2021-07-16,6
-7563,2021-07-17,6
-7564,2021-07-18,6
-7565,2021-07-19,6
-7566,2021-07-20,6
-7567,2021-07-21,6
-7568,2021-07-22,6
-7569,2021-07-23,6
-7570,2021-07-24,6
-7571,2021-07-25,6
-7572,2021-07-26,6
-7573,2021-07-27,6
-7574,2021-07-28,6
-7575,2021-07-29,6
-7576,2021-07-30,6
-7577,2021-07-31,6
-7578,2021-08-01,6
-7579,2021-08-02,6
-7580,2021-08-03,6
-7581,2021-08-04,6
-7582,2021-08-05,6
-7583,2021-08-06,6
-7584,2021-08-07,6
-7585,2021-08-08,6
-7586,2021-08-09,6
-7587,2021-08-10,6
-7588,2021-08-11,6
-7589,2021-08-12,6
-7590,2021-08-13,6
-7591,2021-08-14,6
-7592,2021-08-15,6
-7593,2021-08-16,6
-7594,2021-08-17,6
-7595,2021-08-18,6
-7596,2021-08-19,6
-7597,2021-08-20,6
-7598,2021-08-21,6
-7599,2021-08-22,6
-7600,2021-08-23,6
-7601,2021-08-24,6
-7602,2021-08-25,6
-7603,2021-08-26,6
-7604,2021-08-27,6
-7605,2021-08-28,6
-7606,2021-08-29,6
-7607,2021-08-30,6
-7608,2021-08-31,6
-7609,2021-09-01,6
-7610,2021-09-02,6
-7611,2021-09-03,6
-7612,2021-09-04,6
-7613,2021-09-05,6
-7614,2021-09-06,6
-7615,2021-09-07,6
-7616,2021-09-08,6
-7617,2021-09-09,6
-7618,2021-09-10,6
-7619,2021-09-11,6
-7620,2021-09-12,6
-7621,2021-09-13,6
-7622,2021-09-14,6
-7623,2021-09-15,6
-7624,2021-09-16,6
-7625,2021-09-17,6
-7626,2021-09-18,6
-7627,2021-09-19,6
-7628,2021-09-20,6
-7629,2021-09-21,6
-7630,2021-09-22,6
-7631,2021-09-23,6
-7632,2021-09-24,6
-7633,2021-09-25,6
-7634,2021-09-26,6
-7635,2021-09-27,6
-7636,2021-09-28,6
-7637,2021-09-29,6
-7638,2021-09-30,6
-7639,2021-10-01,6
-7640,2021-10-02,6
-7641,2021-10-03,6
-7642,2021-10-04,6
-7643,2021-10-05,6
-7644,2021-10-06,6
-7645,2021-10-07,6
-7646,2021-10-08,6
-7647,2021-10-09,6
-7648,2021-10-10,6
-7649,2021-10-11,6
-7650,2021-10-12,6
-7651,2021-10-13,6
-7652,2021-10-14,6
-7653,2021-10-15,6
-7654,2021-10-16,6
-7655,2021-10-17,6
-7656,2021-10-18,6
-7657,2021-10-19,6
-7658,2021-10-20,6
-7659,2021-10-21,6
-7660,2021-10-22,6
-7661,2021-10-23,6
-7662,2021-10-24,6
-7663,2021-10-25,6
-7664,2021-10-26,6
-7665,2021-10-27,6
-7666,2021-10-28,6
-7667,2021-10-29,6
-7668,2021-10-30,6
-7669,2021-10-31,6
-7670,2021-11-01,6
-7671,2021-11-02,6
-7672,2021-11-03,6
-7673,2021-11-04,6
-7674,2021-11-05,6
-7675,2021-11-06,6
-7676,2021-11-07,6
-7677,2021-11-08,6
-7678,2021-11-09,6
-7679,2021-11-10,6
-7680,2021-11-11,6
-7681,2021-11-12,6
-7682,2021-11-13,6
-7683,2021-11-14,6
-7684,2021-11-15,6
-7685,2021-11-16,6
-7686,2021-11-17,6
-7687,2021-11-18,6
-7688,2021-11-19,6
-7689,2021-11-20,6
-7690,2021-11-21,6
-7691,2021-11-22,6
-7692,2021-11-23,6
-7693,2021-11-24,6
-7694,2021-11-25,6
-7695,2021-11-26,6
-7696,2021-11-27,6
-7697,2021-11-28,6
-7698,2021-11-29,6
-7699,2021-11-30,6
-7700,2021-12-01,6
-7701,2021-12-02,6
-7702,2021-12-03,6
-7703,2021-12-04,6
-7704,2021-12-05,6
-7705,2021-12-06,6
-7706,2021-12-07,6
-7707,2021-12-08,6
-7708,2021-12-09,6
-7709,2021-12-10,6
-7710,2021-12-11,6
-7711,2021-12-12,6
-7712,2021-12-13,6
-7713,2021-12-14,6
-7714,2021-12-15,6
-7715,2021-12-16,6
-7716,2021-12-17,6
-7717,2021-12-18,6
-7718,2021-12-19,6
-7719,2021-12-20,6
-7720,2021-12-21,6
-7721,2021-12-22,6
-7722,2021-12-23,6
-7723,2021-12-24,6
-7724,2021-12-25,6
-7725,2021-12-26,6
-7726,2021-12-27,6
-7727,2021-12-28,6
-7728,2021-12-29,6
-7729,2021-12-30,6
-7730,2021-12-31,6
-7731,2022-01-01,6
-7732,2022-01-02,6
-7733,2022-01-03,6
-7734,2022-01-04,6
-7735,2022-01-05,6
-7736,2022-01-06,6
-7737,2022-01-07,6
-7738,2022-01-08,6
-7739,2022-01-09,6
-7740,2022-01-10,6
-7741,2022-01-11,6
-7742,2022-01-12,6
-7743,2022-01-13,6
-7744,2022-01-14,6
-7745,2022-01-15,6
-7746,2022-01-16,6
-7747,2022-01-17,6
-7748,2022-01-18,6
-7749,2022-01-19,6
-7750,2022-01-20,6
-7751,2022-01-21,6
-7752,2022-01-22,6
-7753,2022-01-23,6
-7754,2022-01-24,6
-7755,2022-01-25,6
-7756,2022-01-26,6
-7757,2022-01-27,6
-7758,2022-01-28,6
-7759,2022-01-29,6
-7760,2022-01-30,6
-7761,2022-01-31,6
-7762,2022-02-01,6
-7763,2022-02-02,6
-7764,2022-02-03,6
-7765,2022-02-04,6
-7766,2022-02-05,6
-7767,2022-02-06,6
-7768,2022-02-07,6
-7769,2022-02-08,6
-7770,2022-02-09,6
-7771,2022-02-10,6
-7772,2022-02-11,6
-7773,2022-02-12,6
-7774,2022-02-13,6
-7775,2022-02-14,6
-7776,2022-02-15,6
-7777,2022-02-16,6
-7778,2022-02-17,6
-7779,2022-02-18,6
-7780,2022-02-19,6
-7781,2022-02-20,6
-7782,2022-02-21,6
-7783,2022-02-22,6
-7784,2022-02-23,6
-7785,2022-02-24,6
-7786,2022-02-25,6
-7787,2022-02-26,6
-7788,2022-02-27,6
-7789,2022-02-28,6
-7790,2022-03-01,6
-7791,2022-03-02,6
-7792,2022-03-03,6
-7793,2022-03-04,6
-7794,2022-03-05,6
-7795,2022-03-06,6
-7796,2022-03-07,6
-7797,2022-03-08,6
-7798,2022-03-09,6
-7799,2022-03-10,6
-7800,2022-03-11,6
-7801,2022-03-12,6
-7802,2022-03-13,6
-7803,2022-03-14,6
-7804,2022-03-15,6
-7805,2022-03-16,6
-7806,2022-03-17,6
-7807,2022-03-18,6
-7808,2022-03-19,6
-7809,2022-03-20,6
-7810,2022-03-21,6
-7811,2022-03-22,6
-7812,2022-03-23,6
-7813,2022-03-24,6
-7814,2022-03-25,6
-7815,2022-03-26,6
-7816,2022-03-27,6
-7817,2022-03-28,6
-7818,2022-03-29,6
-7819,2022-03-30,6
-7820,2022-03-31,6
-7821,2022-04-01,6
-7822,2022-04-02,6
-7823,2022-04-03,6
-7824,2022-04-04,6
-7825,2022-04-05,6
-7826,2022-04-06,6
-7827,2022-04-07,6
-7828,2022-04-08,6
-7829,2022-04-09,6
-7830,2022-04-10,6
-7831,2022-04-11,6
-7832,2022-04-12,6
-7833,2022-04-13,6
-7834,2022-04-14,6
-7835,2022-04-15,6
-7836,2022-04-16,6
-7837,2022-04-17,6
-7838,2022-04-18,6
-7839,2022-04-19,6
-7840,2022-04-20,6
-7841,2022-04-21,6
-7842,2022-04-22,6
-7843,2022-04-23,6
-7844,2022-04-24,6
-7845,2022-04-25,6
-7846,2022-04-26,6
-7847,2022-04-27,6
-7848,2022-04-28,6
-7849,2022-04-29,6
-7850,2022-04-30,6
-7851,2022-05-01,6
-7852,2022-05-02,6
-7853,2022-05-03,6
-7854,2022-05-04,6
-7855,2022-05-05,6
-7856,2022-05-06,6
-7857,2022-05-07,6
-7858,2022-05-08,6
-7859,2022-05-09,6
-7860,2022-05-10,6
-7861,2022-05-11,6
-7862,2022-05-12,6
-7863,2022-05-13,6
-7864,2022-05-14,6
-7865,2022-05-15,6
-7866,2022-05-16,6
-7867,2022-05-17,6
-7868,2022-05-18,6
-7869,2022-05-19,6
-7870,2022-05-20,6
-7871,2022-05-21,6
-7872,2022-05-22,6
-7873,2022-05-23,6
-7874,2022-05-24,6
-7875,2022-05-25,6
-7876,2022-05-26,6
-7877,2022-05-27,6
-7878,2022-05-28,6
-7879,2022-05-29,6
-7880,2022-05-30,6
-7881,2022-05-31,6
-7882,2022-06-01,6
-7883,2022-06-02,6
-7884,2022-06-03,6
-7885,2022-06-04,6
-7886,2022-06-05,6
-7887,2022-06-06,6
-7888,2022-06-07,6
-7889,2022-06-08,6
-7890,2022-06-09,6
-7891,2022-06-10,6
-7892,2022-06-11,6
-7893,2022-06-12,6
-7894,2022-06-13,6
-7895,2022-06-14,6
-7896,2022-06-15,6
-7897,2022-06-16,6
-7898,2022-06-17,6
-7899,2022-06-18,6
-7900,2022-06-19,6
-7901,2022-06-20,6
-7902,2022-06-21,6
-7903,2022-06-22,6
-7904,2022-06-23,6
-7905,2022-06-24,6
-7906,2022-06-25,6
-7907,2022-06-26,6
-7908,2022-06-27,6
-7909,2022-06-28,6
-7910,2022-06-29,6
-7911,2022-06-30,6
-7912,2022-07-01,6
-7913,2022-07-02,6
-7914,2022-07-03,6
-7915,2022-07-04,6
-7916,2022-07-05,6
-7917,2022-07-06,6
-7918,2022-07-07,6
-7919,2022-07-08,6
-7920,2022-07-09,6
-7921,2022-07-10,6
-7922,2022-07-11,6
-7923,2022-07-12,6
-7924,2022-07-13,6
-7925,2022-07-14,6
-7926,2022-07-15,6
-7927,2022-07-16,6
-7928,2022-07-17,6
-7929,2022-07-18,6
-7930,2022-07-19,6
-7931,2022-07-20,6
-7932,2022-07-21,6
-7933,2022-07-22,6
-7934,2022-07-23,6
-7935,2022-07-24,6
-7936,2022-07-25,6
-7937,2022-07-26,6
-7938,2022-07-27,6
-7939,2022-07-28,6
-7940,2022-07-29,6
-7941,2022-07-30,6
-7942,2022-07-31,6
-7943,2022-08-01,6
-7944,2022-08-02,6
-7945,2022-08-03,6
-7946,2022-08-04,6
-7947,2022-08-05,6
-7948,2022-08-06,6
-7949,2022-08-07,6
-7950,2022-08-08,6
-7951,2022-08-09,6
-7952,2022-08-10,6
-7953,2022-08-11,6
-7954,2022-08-12,6
-7955,2022-08-13,6
-7956,2022-08-14,6
-7957,2022-08-15,6
-7958,2022-08-16,6
-7959,2022-08-17,6
-7960,2022-08-18,6
-7961,2022-08-19,6
-7962,2022-08-20,6
-7963,2022-08-21,6
-7964,2022-08-22,6
-7965,2022-08-23,6
-7966,2022-08-24,6
-7967,2022-08-25,6
-7968,2022-08-26,6
-7969,2022-08-27,6
-7970,2022-08-28,6
-7971,2022-08-29,6
-7972,2022-08-30,6
-7973,2022-08-31,6
-7974,2022-09-01,6
-7975,2022-09-02,6
-7976,2022-09-03,6
-7977,2022-09-04,6
-7978,2022-09-05,6
-7979,2022-09-06,6
-7980,2022-09-07,6
-7981,2022-09-08,6
-7982,2022-09-09,6
-7983,2022-09-10,6
-7984,2022-09-11,6
-7985,2022-09-12,6
-7986,2022-09-13,6
-7987,2022-09-14,6
-7988,2022-09-15,6
-7989,2022-09-16,6
-7990,2022-09-17,6
-7991,2022-09-18,6
-7992,2022-09-19,6
-7993,2022-09-20,6
-7994,2022-09-21,6
-7995,2022-09-22,6
-7996,2022-09-23,6
-7997,2022-09-24,6
-7998,2022-09-25,6
-7999,2022-09-26,6
-8000,2020-01-01,7
-8001,2020-01-02,7
-8002,2020-01-03,7
-8003,2020-01-04,7
-8004,2020-01-05,7
-8005,2020-01-06,7
-8006,2020-01-07,7
-8007,2020-01-08,7
-8008,2020-01-09,7
-8009,2020-01-10,7
-8010,2020-01-11,7
-8011,2020-01-12,7
-8012,2020-01-13,7
-8013,2020-01-14,7
-8014,2020-01-15,7
-8015,2020-01-16,7
-8016,2020-01-17,7
-8017,2020-01-18,7
-8018,2020-01-19,7
-8019,2020-01-20,7
-8020,2020-01-21,7
-8021,2020-01-22,7
-8022,2020-01-23,7
-8023,2020-01-24,7
-8024,2020-01-25,7
-8025,2020-01-26,7
-8026,2020-01-27,7
-8027,2020-01-28,7
-8028,2020-01-29,7
-8029,2020-01-30,7
-8030,2020-01-31,7
-8031,2020-02-01,7
-8032,2020-02-02,7
-8033,2020-02-03,7
-8034,2020-02-04,7
-8035,2020-02-05,7
-8036,2020-02-06,7
-8037,2020-02-07,7
-8038,2020-02-08,7
-8039,2020-02-09,7
-8040,2020-02-10,7
-8041,2020-02-11,7
-8042,2020-02-12,7
-8043,2020-02-13,7
-8044,2020-02-14,7
-8045,2020-02-15,7
-8046,2020-02-16,7
-8047,2020-02-17,7
-8048,2020-02-18,7
-8049,2020-02-19,7
-8050,2020-02-20,7
-8051,2020-02-21,7
-8052,2020-02-22,7
-8053,2020-02-23,7
-8054,2020-02-24,7
-8055,2020-02-25,7
-8056,2020-02-26,7
-8057,2020-02-27,7
-8058,2020-02-28,7
-8059,2020-02-29,7
-8060,2020-03-01,7
-8061,2020-03-02,7
-8062,2020-03-03,7
-8063,2020-03-04,7
-8064,2020-03-05,7
-8065,2020-03-06,7
-8066,2020-03-07,7
-8067,2020-03-08,7
-8068,2020-03-09,7
-8069,2020-03-10,7
-8070,2020-03-11,7
-8071,2020-03-12,7
-8072,2020-03-13,7
-8073,2020-03-14,7
-8074,2020-03-15,7
-8075,2020-03-16,7
-8076,2020-03-17,7
-8077,2020-03-18,7
-8078,2020-03-19,7
-8079,2020-03-20,7
-8080,2020-03-21,7
-8081,2020-03-22,7
-8082,2020-03-23,7
-8083,2020-03-24,7
-8084,2020-03-25,7
-8085,2020-03-26,7
-8086,2020-03-27,7
-8087,2020-03-28,7
-8088,2020-03-29,7
-8089,2020-03-30,7
-8090,2020-03-31,7
-8091,2020-04-01,7
-8092,2020-04-02,7
-8093,2020-04-03,7
-8094,2020-04-04,7
-8095,2020-04-05,7
-8096,2020-04-06,7
-8097,2020-04-07,7
-8098,2020-04-08,7
-8099,2020-04-09,7
-8100,2020-04-10,7
-8101,2020-04-11,7
-8102,2020-04-12,7
-8103,2020-04-13,7
-8104,2020-04-14,7
-8105,2020-04-15,7
-8106,2020-04-16,7
-8107,2020-04-17,7
-8108,2020-04-18,7
-8109,2020-04-19,7
-8110,2020-04-20,7
-8111,2020-04-21,7
-8112,2020-04-22,7
-8113,2020-04-23,7
-8114,2020-04-24,7
-8115,2020-04-25,7
-8116,2020-04-26,7
-8117,2020-04-27,7
-8118,2020-04-28,7
-8119,2020-04-29,7
-8120,2020-04-30,7
-8121,2020-05-01,7
-8122,2020-05-02,7
-8123,2020-05-03,7
-8124,2020-05-04,7
-8125,2020-05-05,7
-8126,2020-05-06,7
-8127,2020-05-07,7
-8128,2020-05-08,7
-8129,2020-05-09,7
-8130,2020-05-10,7
-8131,2020-05-11,7
-8132,2020-05-12,7
-8133,2020-05-13,7
-8134,2020-05-14,7
-8135,2020-05-15,7
-8136,2020-05-16,7
-8137,2020-05-17,7
-8138,2020-05-18,7
-8139,2020-05-19,7
-8140,2020-05-20,7
-8141,2020-05-21,7
-8142,2020-05-22,7
-8143,2020-05-23,7
-8144,2020-05-24,7
-8145,2020-05-25,7
-8146,2020-05-26,7
-8147,2020-05-27,7
-8148,2020-05-28,7
-8149,2020-05-29,7
-8150,2020-05-30,7
-8151,2020-05-31,7
-8152,2020-06-01,7
-8153,2020-06-02,7
-8154,2020-06-03,7
-8155,2020-06-04,7
-8156,2020-06-05,7
-8157,2020-06-06,7
-8158,2020-06-07,7
-8159,2020-06-08,7
-8160,2020-06-09,7
-8161,2020-06-10,7
-8162,2020-06-11,7
-8163,2020-06-12,7
-8164,2020-06-13,7
-8165,2020-06-14,7
-8166,2020-06-15,7
-8167,2020-06-16,7
-8168,2020-06-17,7
-8169,2020-06-18,7
-8170,2020-06-19,7
-8171,2020-06-20,7
-8172,2020-06-21,7
-8173,2020-06-22,7
-8174,2020-06-23,7
-8175,2020-06-24,7
-8176,2020-06-25,7
-8177,2020-06-26,7
-8178,2020-06-27,7
-8179,2020-06-28,7
-8180,2020-06-29,7
-8181,2020-06-30,7
-8182,2020-07-01,7
-8183,2020-07-02,7
-8184,2020-07-03,7
-8185,2020-07-04,7
-8186,2020-07-05,7
-8187,2020-07-06,7
-8188,2020-07-07,7
-8189,2020-07-08,7
-8190,2020-07-09,7
-8191,2020-07-10,7
-8192,2020-07-11,7
-8193,2020-07-12,7
-8194,2020-07-13,7
-8195,2020-07-14,7
-8196,2020-07-15,7
-8197,2020-07-16,7
-8198,2020-07-17,7
-8199,2020-07-18,7
-8200,2020-07-19,7
-8201,2020-07-20,7
-8202,2020-07-21,7
-8203,2020-07-22,7
-8204,2020-07-23,7
-8205,2020-07-24,7
-8206,2020-07-25,7
-8207,2020-07-26,7
-8208,2020-07-27,7
-8209,2020-07-28,7
-8210,2020-07-29,7
-8211,2020-07-30,7
-8212,2020-07-31,7
-8213,2020-08-01,7
-8214,2020-08-02,7
-8215,2020-08-03,7
-8216,2020-08-04,7
-8217,2020-08-05,7
-8218,2020-08-06,7
-8219,2020-08-07,7
-8220,2020-08-08,7
-8221,2020-08-09,7
-8222,2020-08-10,7
-8223,2020-08-11,7
-8224,2020-08-12,7
-8225,2020-08-13,7
-8226,2020-08-14,7
-8227,2020-08-15,7
-8228,2020-08-16,7
-8229,2020-08-17,7
-8230,2020-08-18,7
-8231,2020-08-19,7
-8232,2020-08-20,7
-8233,2020-08-21,7
-8234,2020-08-22,7
-8235,2020-08-23,7
-8236,2020-08-24,7
-8237,2020-08-25,7
-8238,2020-08-26,7
-8239,2020-08-27,7
-8240,2020-08-28,7
-8241,2020-08-29,7
-8242,2020-08-30,7
-8243,2020-08-31,7
-8244,2020-09-01,7
-8245,2020-09-02,7
-8246,2020-09-03,7
-8247,2020-09-04,7
-8248,2020-09-05,7
-8249,2020-09-06,7
-8250,2020-09-07,7
-8251,2020-09-08,7
-8252,2020-09-09,7
-8253,2020-09-10,7
-8254,2020-09-11,7
-8255,2020-09-12,7
-8256,2020-09-13,7
-8257,2020-09-14,7
-8258,2020-09-15,7
-8259,2020-09-16,7
-8260,2020-09-17,7
-8261,2020-09-18,7
-8262,2020-09-19,7
-8263,2020-09-20,7
-8264,2020-09-21,7
-8265,2020-09-22,7
-8266,2020-09-23,7
-8267,2020-09-24,7
-8268,2020-09-25,7
-8269,2020-09-26,7
-8270,2020-09-27,7
-8271,2020-09-28,7
-8272,2020-09-29,7
-8273,2020-09-30,7
-8274,2020-10-01,7
-8275,2020-10-02,7
-8276,2020-10-03,7
-8277,2020-10-04,7
-8278,2020-10-05,7
-8279,2020-10-06,7
-8280,2020-10-07,7
-8281,2020-10-08,7
-8282,2020-10-09,7
-8283,2020-10-10,7
-8284,2020-10-11,7
-8285,2020-10-12,7
-8286,2020-10-13,7
-8287,2020-10-14,7
-8288,2020-10-15,7
-8289,2020-10-16,7
-8290,2020-10-17,7
-8291,2020-10-18,7
-8292,2020-10-19,7
-8293,2020-10-20,7
-8294,2020-10-21,7
-8295,2020-10-22,7
-8296,2020-10-23,7
-8297,2020-10-24,7
-8298,2020-10-25,7
-8299,2020-10-26,7
-8300,2020-10-27,7
-8301,2020-10-28,7
-8302,2020-10-29,7
-8303,2020-10-30,7
-8304,2020-10-31,7
-8305,2020-11-01,7
-8306,2020-11-02,7
-8307,2020-11-03,7
-8308,2020-11-04,7
-8309,2020-11-05,7
-8310,2020-11-06,7
-8311,2020-11-07,7
-8312,2020-11-08,7
-8313,2020-11-09,7
-8314,2020-11-10,7
-8315,2020-11-11,7
-8316,2020-11-12,7
-8317,2020-11-13,7
-8318,2020-11-14,7
-8319,2020-11-15,7
-8320,2020-11-16,7
-8321,2020-11-17,7
-8322,2020-11-18,7
-8323,2020-11-19,7
-8324,2020-11-20,7
-8325,2020-11-21,7
-8326,2020-11-22,7
-8327,2020-11-23,7
-8328,2020-11-24,7
-8329,2020-11-25,7
-8330,2020-11-26,7
-8331,2020-11-27,7
-8332,2020-11-28,7
-8333,2020-11-29,7
-8334,2020-11-30,7
-8335,2020-12-01,7
-8336,2020-12-02,7
-8337,2020-12-03,7
-8338,2020-12-04,7
-8339,2020-12-05,7
-8340,2020-12-06,7
-8341,2020-12-07,7
-8342,2020-12-08,7
-8343,2020-12-09,7
-8344,2020-12-10,7
-8345,2020-12-11,7
-8346,2020-12-12,7
-8347,2020-12-13,7
-8348,2020-12-14,7
-8349,2020-12-15,7
-8350,2020-12-16,7
-8351,2020-12-17,7
-8352,2020-12-18,7
-8353,2020-12-19,7
-8354,2020-12-20,7
-8355,2020-12-21,7
-8356,2020-12-22,7
-8357,2020-12-23,7
-8358,2020-12-24,7
-8359,2020-12-25,7
-8360,2020-12-26,7
-8361,2020-12-27,7
-8362,2020-12-28,7
-8363,2020-12-29,7
-8364,2020-12-30,7
-8365,2020-12-31,7
-8366,2021-01-01,7
-8367,2021-01-02,7
-8368,2021-01-03,7
-8369,2021-01-04,7
-8370,2021-01-05,7
-8371,2021-01-06,7
-8372,2021-01-07,7
-8373,2021-01-08,7
-8374,2021-01-09,7
-8375,2021-01-10,7
-8376,2021-01-11,7
-8377,2021-01-12,7
-8378,2021-01-13,7
-8379,2021-01-14,7
-8380,2021-01-15,7
-8381,2021-01-16,7
-8382,2021-01-17,7
-8383,2021-01-18,7
-8384,2021-01-19,7
-8385,2021-01-20,7
-8386,2021-01-21,7
-8387,2021-01-22,7
-8388,2021-01-23,7
-8389,2021-01-24,7
-8390,2021-01-25,7
-8391,2021-01-26,7
-8392,2021-01-27,7
-8393,2021-01-28,7
-8394,2021-01-29,7
-8395,2021-01-30,7
-8396,2021-01-31,7
-8397,2021-02-01,7
-8398,2021-02-02,7
-8399,2021-02-03,7
-8400,2021-02-04,7
-8401,2021-02-05,7
-8402,2021-02-06,7
-8403,2021-02-07,7
-8404,2021-02-08,7
-8405,2021-02-09,7
-8406,2021-02-10,7
-8407,2021-02-11,7
-8408,2021-02-12,7
-8409,2021-02-13,7
-8410,2021-02-14,7
-8411,2021-02-15,7
-8412,2021-02-16,7
-8413,2021-02-17,7
-8414,2021-02-18,7
-8415,2021-02-19,7
-8416,2021-02-20,7
-8417,2021-02-21,7
-8418,2021-02-22,7
-8419,2021-02-23,7
-8420,2021-02-24,7
-8421,2021-02-25,7
-8422,2021-02-26,7
-8423,2021-02-27,7
-8424,2021-02-28,7
-8425,2021-03-01,7
-8426,2021-03-02,7
-8427,2021-03-03,7
-8428,2021-03-04,7
-8429,2021-03-05,7
-8430,2021-03-06,7
-8431,2021-03-07,7
-8432,2021-03-08,7
-8433,2021-03-09,7
-8434,2021-03-10,7
-8435,2021-03-11,7
-8436,2021-03-12,7
-8437,2021-03-13,7
-8438,2021-03-14,7
-8439,2021-03-15,7
-8440,2021-03-16,7
-8441,2021-03-17,7
-8442,2021-03-18,7
-8443,2021-03-19,7
-8444,2021-03-20,7
-8445,2021-03-21,7
-8446,2021-03-22,7
-8447,2021-03-23,7
-8448,2021-03-24,7
-8449,2021-03-25,7
-8450,2021-03-26,7
-8451,2021-03-27,7
-8452,2021-03-28,7
-8453,2021-03-29,7
-8454,2021-03-30,7
-8455,2021-03-31,7
-8456,2021-04-01,7
-8457,2021-04-02,7
-8458,2021-04-03,7
-8459,2021-04-04,7
-8460,2021-04-05,7
-8461,2021-04-06,7
-8462,2021-04-07,7
-8463,2021-04-08,7
-8464,2021-04-09,7
-8465,2021-04-10,7
-8466,2021-04-11,7
-8467,2021-04-12,7
-8468,2021-04-13,7
-8469,2021-04-14,7
-8470,2021-04-15,7
-8471,2021-04-16,7
-8472,2021-04-17,7
-8473,2021-04-18,7
-8474,2021-04-19,7
-8475,2021-04-20,7
-8476,2021-04-21,7
-8477,2021-04-22,7
-8478,2021-04-23,7
-8479,2021-04-24,7
-8480,2021-04-25,7
-8481,2021-04-26,7
-8482,2021-04-27,7
-8483,2021-04-28,7
-8484,2021-04-29,7
-8485,2021-04-30,7
-8486,2021-05-01,7
-8487,2021-05-02,7
-8488,2021-05-03,7
-8489,2021-05-04,7
-8490,2021-05-05,7
-8491,2021-05-06,7
-8492,2021-05-07,7
-8493,2021-05-08,7
-8494,2021-05-09,7
-8495,2021-05-10,7
-8496,2021-05-11,7
-8497,2021-05-12,7
-8498,2021-05-13,7
-8499,2021-05-14,7
-8500,2021-05-15,7
-8501,2021-05-16,7
-8502,2021-05-17,7
-8503,2021-05-18,7
-8504,2021-05-19,7
-8505,2021-05-20,7
-8506,2021-05-21,7
-8507,2021-05-22,7
-8508,2021-05-23,7
-8509,2021-05-24,7
-8510,2021-05-25,7
-8511,2021-05-26,7
-8512,2021-05-27,7
-8513,2021-05-28,7
-8514,2021-05-29,7
-8515,2021-05-30,7
-8516,2021-05-31,7
-8517,2021-06-01,7
-8518,2021-06-02,7
-8519,2021-06-03,7
-8520,2021-06-04,7
-8521,2021-06-05,7
-8522,2021-06-06,7
-8523,2021-06-07,7
-8524,2021-06-08,7
-8525,2021-06-09,7
-8526,2021-06-10,7
-8527,2021-06-11,7
-8528,2021-06-12,7
-8529,2021-06-13,7
-8530,2021-06-14,7
-8531,2021-06-15,7
-8532,2021-06-16,7
-8533,2021-06-17,7
-8534,2021-06-18,7
-8535,2021-06-19,7
-8536,2021-06-20,7
-8537,2021-06-21,7
-8538,2021-06-22,7
-8539,2021-06-23,7
-8540,2021-06-24,7
-8541,2021-06-25,7
-8542,2021-06-26,7
-8543,2021-06-27,7
-8544,2021-06-28,7
-8545,2021-06-29,7
-8546,2021-06-30,7
-8547,2021-07-01,7
-8548,2021-07-02,7
-8549,2021-07-03,7
-8550,2021-07-04,7
-8551,2021-07-05,7
-8552,2021-07-06,7
-8553,2021-07-07,7
-8554,2021-07-08,7
-8555,2021-07-09,7
-8556,2021-07-10,7
-8557,2021-07-11,7
-8558,2021-07-12,7
-8559,2021-07-13,7
-8560,2021-07-14,7
-8561,2021-07-15,7
-8562,2021-07-16,7
-8563,2021-07-17,7
-8564,2021-07-18,7
-8565,2021-07-19,7
-8566,2021-07-20,7
-8567,2021-07-21,7
-8568,2021-07-22,7
-8569,2021-07-23,7
-8570,2021-07-24,7
-8571,2021-07-25,7
-8572,2021-07-26,7
-8573,2021-07-27,7
-8574,2021-07-28,7
-8575,2021-07-29,7
-8576,2021-07-30,7
-8577,2021-07-31,7
-8578,2021-08-01,7
-8579,2021-08-02,7
-8580,2021-08-03,7
-8581,2021-08-04,7
-8582,2021-08-05,7
-8583,2021-08-06,7
-8584,2021-08-07,7
-8585,2021-08-08,7
-8586,2021-08-09,7
-8587,2021-08-10,7
-8588,2021-08-11,7
-8589,2021-08-12,7
-8590,2021-08-13,7
-8591,2021-08-14,7
-8592,2021-08-15,7
-8593,2021-08-16,7
-8594,2021-08-17,7
-8595,2021-08-18,7
-8596,2021-08-19,7
-8597,2021-08-20,7
-8598,2021-08-21,7
-8599,2021-08-22,7
-8600,2021-08-23,7
-8601,2021-08-24,7
-8602,2021-08-25,7
-8603,2021-08-26,7
-8604,2021-08-27,7
-8605,2021-08-28,7
-8606,2021-08-29,7
-8607,2021-08-30,7
-8608,2021-08-31,7
-8609,2021-09-01,7
-8610,2021-09-02,7
-8611,2021-09-03,7
-8612,2021-09-04,7
-8613,2021-09-05,7
-8614,2021-09-06,7
-8615,2021-09-07,7
-8616,2021-09-08,7
-8617,2021-09-09,7
-8618,2021-09-10,7
-8619,2021-09-11,7
-8620,2021-09-12,7
-8621,2021-09-13,7
-8622,2021-09-14,7
-8623,2021-09-15,7
-8624,2021-09-16,7
-8625,2021-09-17,7
-8626,2021-09-18,7
-8627,2021-09-19,7
-8628,2021-09-20,7
-8629,2021-09-21,7
-8630,2021-09-22,7
-8631,2021-09-23,7
-8632,2021-09-24,7
-8633,2021-09-25,7
-8634,2021-09-26,7
-8635,2021-09-27,7
-8636,2021-09-28,7
-8637,2021-09-29,7
-8638,2021-09-30,7
-8639,2021-10-01,7
-8640,2021-10-02,7
-8641,2021-10-03,7
-8642,2021-10-04,7
-8643,2021-10-05,7
-8644,2021-10-06,7
-8645,2021-10-07,7
-8646,2021-10-08,7
-8647,2021-10-09,7
-8648,2021-10-10,7
-8649,2021-10-11,7
-8650,2021-10-12,7
-8651,2021-10-13,7
-8652,2021-10-14,7
-8653,2021-10-15,7
-8654,2021-10-16,7
-8655,2021-10-17,7
-8656,2021-10-18,7
-8657,2021-10-19,7
-8658,2021-10-20,7
-8659,2021-10-21,7
-8660,2021-10-22,7
-8661,2021-10-23,7
-8662,2021-10-24,7
-8663,2021-10-25,7
-8664,2021-10-26,7
-8665,2021-10-27,7
-8666,2021-10-28,7
-8667,2021-10-29,7
-8668,2021-10-30,7
-8669,2021-10-31,7
-8670,2021-11-01,7
-8671,2021-11-02,7
-8672,2021-11-03,7
-8673,2021-11-04,7
-8674,2021-11-05,7
-8675,2021-11-06,7
-8676,2021-11-07,7
-8677,2021-11-08,7
-8678,2021-11-09,7
-8679,2021-11-10,7
-8680,2021-11-11,7
-8681,2021-11-12,7
-8682,2021-11-13,7
-8683,2021-11-14,7
-8684,2021-11-15,7
-8685,2021-11-16,7
-8686,2021-11-17,7
-8687,2021-11-18,7
-8688,2021-11-19,7
-8689,2021-11-20,7
-8690,2021-11-21,7
-8691,2021-11-22,7
-8692,2021-11-23,7
-8693,2021-11-24,7
-8694,2021-11-25,7
-8695,2021-11-26,7
-8696,2021-11-27,7
-8697,2021-11-28,7
-8698,2021-11-29,7
-8699,2021-11-30,7
-8700,2021-12-01,7
-8701,2021-12-02,7
-8702,2021-12-03,7
-8703,2021-12-04,7
-8704,2021-12-05,7
-8705,2021-12-06,7
-8706,2021-12-07,7
-8707,2021-12-08,7
-8708,2021-12-09,7
-8709,2021-12-10,7
-8710,2021-12-11,7
-8711,2021-12-12,7
-8712,2021-12-13,7
-8713,2021-12-14,7
-8714,2021-12-15,7
-8715,2021-12-16,7
-8716,2021-12-17,7
-8717,2021-12-18,7
-8718,2021-12-19,7
-8719,2021-12-20,7
-8720,2021-12-21,7
-8721,2021-12-22,7
-8722,2021-12-23,7
-8723,2021-12-24,7
-8724,2021-12-25,7
-8725,2021-12-26,7
-8726,2021-12-27,7
-8727,2021-12-28,7
-8728,2021-12-29,7
-8729,2021-12-30,7
-8730,2021-12-31,7
-8731,2022-01-01,7
-8732,2022-01-02,7
-8733,2022-01-03,7
-8734,2022-01-04,7
-8735,2022-01-05,7
-8736,2022-01-06,7
-8737,2022-01-07,7
-8738,2022-01-08,7
-8739,2022-01-09,7
-8740,2022-01-10,7
-8741,2022-01-11,7
-8742,2022-01-12,7
-8743,2022-01-13,7
-8744,2022-01-14,7
-8745,2022-01-15,7
-8746,2022-01-16,7
-8747,2022-01-17,7
-8748,2022-01-18,7
-8749,2022-01-19,7
-8750,2022-01-20,7
-8751,2022-01-21,7
-8752,2022-01-22,7
-8753,2022-01-23,7
-8754,2022-01-24,7
-8755,2022-01-25,7
-8756,2022-01-26,7
-8757,2022-01-27,7
-8758,2022-01-28,7
-8759,2022-01-29,7
-8760,2022-01-30,7
-8761,2022-01-31,7
-8762,2022-02-01,7
-8763,2022-02-02,7
-8764,2022-02-03,7
-8765,2022-02-04,7
-8766,2022-02-05,7
-8767,2022-02-06,7
-8768,2022-02-07,7
-8769,2022-02-08,7
-8770,2022-02-09,7
-8771,2022-02-10,7
-8772,2022-02-11,7
-8773,2022-02-12,7
-8774,2022-02-13,7
-8775,2022-02-14,7
-8776,2022-02-15,7
-8777,2022-02-16,7
-8778,2022-02-17,7
-8779,2022-02-18,7
-8780,2022-02-19,7
-8781,2022-02-20,7
-8782,2022-02-21,7
-8783,2022-02-22,7
-8784,2022-02-23,7
-8785,2022-02-24,7
-8786,2022-02-25,7
-8787,2022-02-26,7
-8788,2022-02-27,7
-8789,2022-02-28,7
-8790,2022-03-01,7
-8791,2022-03-02,7
-8792,2022-03-03,7
-8793,2022-03-04,7
-8794,2022-03-05,7
-8795,2022-03-06,7
-8796,2022-03-07,7
-8797,2022-03-08,7
-8798,2022-03-09,7
-8799,2022-03-10,7
-8800,2022-03-11,7
-8801,2022-03-12,7
-8802,2022-03-13,7
-8803,2022-03-14,7
-8804,2022-03-15,7
-8805,2022-03-16,7
-8806,2022-03-17,7
-8807,2022-03-18,7
-8808,2022-03-19,7
-8809,2022-03-20,7
-8810,2022-03-21,7
-8811,2022-03-22,7
-8812,2022-03-23,7
-8813,2022-03-24,7
-8814,2022-03-25,7
-8815,2022-03-26,7
-8816,2022-03-27,7
-8817,2022-03-28,7
-8818,2022-03-29,7
-8819,2022-03-30,7
-8820,2022-03-31,7
-8821,2022-04-01,7
-8822,2022-04-02,7
-8823,2022-04-03,7
-8824,2022-04-04,7
-8825,2022-04-05,7
-8826,2022-04-06,7
-8827,2022-04-07,7
-8828,2022-04-08,7
-8829,2022-04-09,7
-8830,2022-04-10,7
-8831,2022-04-11,7
-8832,2022-04-12,7
-8833,2022-04-13,7
-8834,2022-04-14,7
-8835,2022-04-15,7
-8836,2022-04-16,7
-8837,2022-04-17,7
-8838,2022-04-18,7
-8839,2022-04-19,7
-8840,2022-04-20,7
-8841,2022-04-21,7
-8842,2022-04-22,7
-8843,2022-04-23,7
-8844,2022-04-24,7
-8845,2022-04-25,7
-8846,2022-04-26,7
-8847,2022-04-27,7
-8848,2022-04-28,7
-8849,2022-04-29,7
-8850,2022-04-30,7
-8851,2022-05-01,7
-8852,2022-05-02,7
-8853,2022-05-03,7
-8854,2022-05-04,7
-8855,2022-05-05,7
-8856,2022-05-06,7
-8857,2022-05-07,7
-8858,2022-05-08,7
-8859,2022-05-09,7
-8860,2022-05-10,7
-8861,2022-05-11,7
-8862,2022-05-12,7
-8863,2022-05-13,7
-8864,2022-05-14,7
-8865,2022-05-15,7
-8866,2022-05-16,7
-8867,2022-05-17,7
-8868,2022-05-18,7
-8869,2022-05-19,7
-8870,2022-05-20,7
-8871,2022-05-21,7
-8872,2022-05-22,7
-8873,2022-05-23,7
-8874,2022-05-24,7
-8875,2022-05-25,7
-8876,2022-05-26,7
-8877,2022-05-27,7
-8878,2022-05-28,7
-8879,2022-05-29,7
-8880,2022-05-30,7
-8881,2022-05-31,7
-8882,2022-06-01,7
-8883,2022-06-02,7
-8884,2022-06-03,7
-8885,2022-06-04,7
-8886,2022-06-05,7
-8887,2022-06-06,7
-8888,2022-06-07,7
-8889,2022-06-08,7
-8890,2022-06-09,7
-8891,2022-06-10,7
-8892,2022-06-11,7
-8893,2022-06-12,7
-8894,2022-06-13,7
-8895,2022-06-14,7
-8896,2022-06-15,7
-8897,2022-06-16,7
-8898,2022-06-17,7
-8899,2022-06-18,7
-8900,2022-06-19,7
-8901,2022-06-20,7
-8902,2022-06-21,7
-8903,2022-06-22,7
-8904,2022-06-23,7
-8905,2022-06-24,7
-8906,2022-06-25,7
-8907,2022-06-26,7
-8908,2022-06-27,7
-8909,2022-06-28,7
-8910,2022-06-29,7
-8911,2022-06-30,7
-8912,2022-07-01,7
-8913,2022-07-02,7
-8914,2022-07-03,7
-8915,2022-07-04,7
-8916,2022-07-05,7
-8917,2022-07-06,7
-8918,2022-07-07,7
-8919,2022-07-08,7
-8920,2022-07-09,7
-8921,2022-07-10,7
-8922,2022-07-11,7
-8923,2022-07-12,7
-8924,2022-07-13,7
-8925,2022-07-14,7
-8926,2022-07-15,7
-8927,2022-07-16,7
-8928,2022-07-17,7
-8929,2022-07-18,7
-8930,2022-07-19,7
-8931,2022-07-20,7
-8932,2022-07-21,7
-8933,2022-07-22,7
-8934,2022-07-23,7
-8935,2022-07-24,7
-8936,2022-07-25,7
-8937,2022-07-26,7
-8938,2022-07-27,7
-8939,2022-07-28,7
-8940,2022-07-29,7
-8941,2022-07-30,7
-8942,2022-07-31,7
-8943,2022-08-01,7
-8944,2022-08-02,7
-8945,2022-08-03,7
-8946,2022-08-04,7
-8947,2022-08-05,7
-8948,2022-08-06,7
-8949,2022-08-07,7
-8950,2022-08-08,7
-8951,2022-08-09,7
-8952,2022-08-10,7
-8953,2022-08-11,7
-8954,2022-08-12,7
-8955,2022-08-13,7
-8956,2022-08-14,7
-8957,2022-08-15,7
-8958,2022-08-16,7
-8959,2022-08-17,7
-8960,2022-08-18,7
-8961,2022-08-19,7
-8962,2022-08-20,7
-8963,2022-08-21,7
-8964,2022-08-22,7
-8965,2022-08-23,7
-8966,2022-08-24,7
-8967,2022-08-25,7
-8968,2022-08-26,7
-8969,2022-08-27,7
-8970,2022-08-28,7
-8971,2022-08-29,7
-8972,2022-08-30,7
-8973,2022-08-31,7
-8974,2022-09-01,7
-8975,2022-09-02,7
-8976,2022-09-03,7
-8977,2022-09-04,7
-8978,2022-09-05,7
-8979,2022-09-06,7
-8980,2022-09-07,7
-8981,2022-09-08,7
-8982,2022-09-09,7
-8983,2022-09-10,7
-8984,2022-09-11,7
-8985,2022-09-12,7
-8986,2022-09-13,7
-8987,2022-09-14,7
-8988,2022-09-15,7
-8989,2022-09-16,7
-8990,2022-09-17,7
-8991,2022-09-18,7
-8992,2022-09-19,7
-8993,2022-09-20,7
-8994,2022-09-21,7
-8995,2022-09-22,7
-8996,2022-09-23,7
-8997,2022-09-24,7
-8998,2022-09-25,7
-8999,2022-09-26,7
-9000,2020-01-01,8
-9001,2020-01-02,8
-9002,2020-01-03,8
-9003,2020-01-04,8
-9004,2020-01-05,8
-9005,2020-01-06,8
-9006,2020-01-07,8
-9007,2020-01-08,8
-9008,2020-01-09,8
-9009,2020-01-10,8
-9010,2020-01-11,8
-9011,2020-01-12,8
-9012,2020-01-13,8
-9013,2020-01-14,8
-9014,2020-01-15,8
-9015,2020-01-16,8
-9016,2020-01-17,8
-9017,2020-01-18,8
-9018,2020-01-19,8
-9019,2020-01-20,8
-9020,2020-01-21,8
-9021,2020-01-22,8
-9022,2020-01-23,8
-9023,2020-01-24,8
-9024,2020-01-25,8
-9025,2020-01-26,8
-9026,2020-01-27,8
-9027,2020-01-28,8
-9028,2020-01-29,8
-9029,2020-01-30,8
-9030,2020-01-31,8
-9031,2020-02-01,8
-9032,2020-02-02,8
-9033,2020-02-03,8
-9034,2020-02-04,8
-9035,2020-02-05,8
-9036,2020-02-06,8
-9037,2020-02-07,8
-9038,2020-02-08,8
-9039,2020-02-09,8
-9040,2020-02-10,8
-9041,2020-02-11,8
-9042,2020-02-12,8
-9043,2020-02-13,8
-9044,2020-02-14,8
-9045,2020-02-15,8
-9046,2020-02-16,8
-9047,2020-02-17,8
-9048,2020-02-18,8
-9049,2020-02-19,8
-9050,2020-02-20,8
-9051,2020-02-21,8
-9052,2020-02-22,8
-9053,2020-02-23,8
-9054,2020-02-24,8
-9055,2020-02-25,8
-9056,2020-02-26,8
-9057,2020-02-27,8
-9058,2020-02-28,8
-9059,2020-02-29,8
-9060,2020-03-01,8
-9061,2020-03-02,8
-9062,2020-03-03,8
-9063,2020-03-04,8
-9064,2020-03-05,8
-9065,2020-03-06,8
-9066,2020-03-07,8
-9067,2020-03-08,8
-9068,2020-03-09,8
-9069,2020-03-10,8
-9070,2020-03-11,8
-9071,2020-03-12,8
-9072,2020-03-13,8
-9073,2020-03-14,8
-9074,2020-03-15,8
-9075,2020-03-16,8
-9076,2020-03-17,8
-9077,2020-03-18,8
-9078,2020-03-19,8
-9079,2020-03-20,8
-9080,2020-03-21,8
-9081,2020-03-22,8
-9082,2020-03-23,8
-9083,2020-03-24,8
-9084,2020-03-25,8
-9085,2020-03-26,8
-9086,2020-03-27,8
-9087,2020-03-28,8
-9088,2020-03-29,8
-9089,2020-03-30,8
-9090,2020-03-31,8
-9091,2020-04-01,8
-9092,2020-04-02,8
-9093,2020-04-03,8
-9094,2020-04-04,8
-9095,2020-04-05,8
-9096,2020-04-06,8
-9097,2020-04-07,8
-9098,2020-04-08,8
-9099,2020-04-09,8
-9100,2020-04-10,8
-9101,2020-04-11,8
-9102,2020-04-12,8
-9103,2020-04-13,8
-9104,2020-04-14,8
-9105,2020-04-15,8
-9106,2020-04-16,8
-9107,2020-04-17,8
-9108,2020-04-18,8
-9109,2020-04-19,8
-9110,2020-04-20,8
-9111,2020-04-21,8
-9112,2020-04-22,8
-9113,2020-04-23,8
-9114,2020-04-24,8
-9115,2020-04-25,8
-9116,2020-04-26,8
-9117,2020-04-27,8
-9118,2020-04-28,8
-9119,2020-04-29,8
-9120,2020-04-30,8
-9121,2020-05-01,8
-9122,2020-05-02,8
-9123,2020-05-03,8
-9124,2020-05-04,8
-9125,2020-05-05,8
-9126,2020-05-06,8
-9127,2020-05-07,8
-9128,2020-05-08,8
-9129,2020-05-09,8
-9130,2020-05-10,8
-9131,2020-05-11,8
-9132,2020-05-12,8
-9133,2020-05-13,8
-9134,2020-05-14,8
-9135,2020-05-15,8
-9136,2020-05-16,8
-9137,2020-05-17,8
-9138,2020-05-18,8
-9139,2020-05-19,8
-9140,2020-05-20,8
-9141,2020-05-21,8
-9142,2020-05-22,8
-9143,2020-05-23,8
-9144,2020-05-24,8
-9145,2020-05-25,8
-9146,2020-05-26,8
-9147,2020-05-27,8
-9148,2020-05-28,8
-9149,2020-05-29,8
-9150,2020-05-30,8
-9151,2020-05-31,8
-9152,2020-06-01,8
-9153,2020-06-02,8
-9154,2020-06-03,8
-9155,2020-06-04,8
-9156,2020-06-05,8
-9157,2020-06-06,8
-9158,2020-06-07,8
-9159,2020-06-08,8
-9160,2020-06-09,8
-9161,2020-06-10,8
-9162,2020-06-11,8
-9163,2020-06-12,8
-9164,2020-06-13,8
-9165,2020-06-14,8
-9166,2020-06-15,8
-9167,2020-06-16,8
-9168,2020-06-17,8
-9169,2020-06-18,8
-9170,2020-06-19,8
-9171,2020-06-20,8
-9172,2020-06-21,8
-9173,2020-06-22,8
-9174,2020-06-23,8
-9175,2020-06-24,8
-9176,2020-06-25,8
-9177,2020-06-26,8
-9178,2020-06-27,8
-9179,2020-06-28,8
-9180,2020-06-29,8
-9181,2020-06-30,8
-9182,2020-07-01,8
-9183,2020-07-02,8
-9184,2020-07-03,8
-9185,2020-07-04,8
-9186,2020-07-05,8
-9187,2020-07-06,8
-9188,2020-07-07,8
-9189,2020-07-08,8
-9190,2020-07-09,8
-9191,2020-07-10,8
-9192,2020-07-11,8
-9193,2020-07-12,8
-9194,2020-07-13,8
-9195,2020-07-14,8
-9196,2020-07-15,8
-9197,2020-07-16,8
-9198,2020-07-17,8
-9199,2020-07-18,8
-9200,2020-07-19,8
-9201,2020-07-20,8
-9202,2020-07-21,8
-9203,2020-07-22,8
-9204,2020-07-23,8
-9205,2020-07-24,8
-9206,2020-07-25,8
-9207,2020-07-26,8
-9208,2020-07-27,8
-9209,2020-07-28,8
-9210,2020-07-29,8
-9211,2020-07-30,8
-9212,2020-07-31,8
-9213,2020-08-01,8
-9214,2020-08-02,8
-9215,2020-08-03,8
-9216,2020-08-04,8
-9217,2020-08-05,8
-9218,2020-08-06,8
-9219,2020-08-07,8
-9220,2020-08-08,8
-9221,2020-08-09,8
-9222,2020-08-10,8
-9223,2020-08-11,8
-9224,2020-08-12,8
-9225,2020-08-13,8
-9226,2020-08-14,8
-9227,2020-08-15,8
-9228,2020-08-16,8
-9229,2020-08-17,8
-9230,2020-08-18,8
-9231,2020-08-19,8
-9232,2020-08-20,8
-9233,2020-08-21,8
-9234,2020-08-22,8
-9235,2020-08-23,8
-9236,2020-08-24,8
-9237,2020-08-25,8
-9238,2020-08-26,8
-9239,2020-08-27,8
-9240,2020-08-28,8
-9241,2020-08-29,8
-9242,2020-08-30,8
-9243,2020-08-31,8
-9244,2020-09-01,8
-9245,2020-09-02,8
-9246,2020-09-03,8
-9247,2020-09-04,8
-9248,2020-09-05,8
-9249,2020-09-06,8
-9250,2020-09-07,8
-9251,2020-09-08,8
-9252,2020-09-09,8
-9253,2020-09-10,8
-9254,2020-09-11,8
-9255,2020-09-12,8
-9256,2020-09-13,8
-9257,2020-09-14,8
-9258,2020-09-15,8
-9259,2020-09-16,8
-9260,2020-09-17,8
-9261,2020-09-18,8
-9262,2020-09-19,8
-9263,2020-09-20,8
-9264,2020-09-21,8
-9265,2020-09-22,8
-9266,2020-09-23,8
-9267,2020-09-24,8
-9268,2020-09-25,8
-9269,2020-09-26,8
-9270,2020-09-27,8
-9271,2020-09-28,8
-9272,2020-09-29,8
-9273,2020-09-30,8
-9274,2020-10-01,8
-9275,2020-10-02,8
-9276,2020-10-03,8
-9277,2020-10-04,8
-9278,2020-10-05,8
-9279,2020-10-06,8
-9280,2020-10-07,8
-9281,2020-10-08,8
-9282,2020-10-09,8
-9283,2020-10-10,8
-9284,2020-10-11,8
-9285,2020-10-12,8
-9286,2020-10-13,8
-9287,2020-10-14,8
-9288,2020-10-15,8
-9289,2020-10-16,8
-9290,2020-10-17,8
-9291,2020-10-18,8
-9292,2020-10-19,8
-9293,2020-10-20,8
-9294,2020-10-21,8
-9295,2020-10-22,8
-9296,2020-10-23,8
-9297,2020-10-24,8
-9298,2020-10-25,8
-9299,2020-10-26,8
-9300,2020-10-27,8
-9301,2020-10-28,8
-9302,2020-10-29,8
-9303,2020-10-30,8
-9304,2020-10-31,8
-9305,2020-11-01,8
-9306,2020-11-02,8
-9307,2020-11-03,8
-9308,2020-11-04,8
-9309,2020-11-05,8
-9310,2020-11-06,8
-9311,2020-11-07,8
-9312,2020-11-08,8
-9313,2020-11-09,8
-9314,2020-11-10,8
-9315,2020-11-11,8
-9316,2020-11-12,8
-9317,2020-11-13,8
-9318,2020-11-14,8
-9319,2020-11-15,8
-9320,2020-11-16,8
-9321,2020-11-17,8
-9322,2020-11-18,8
-9323,2020-11-19,8
-9324,2020-11-20,8
-9325,2020-11-21,8
-9326,2020-11-22,8
-9327,2020-11-23,8
-9328,2020-11-24,8
-9329,2020-11-25,8
-9330,2020-11-26,8
-9331,2020-11-27,8
-9332,2020-11-28,8
-9333,2020-11-29,8
-9334,2020-11-30,8
-9335,2020-12-01,8
-9336,2020-12-02,8
-9337,2020-12-03,8
-9338,2020-12-04,8
-9339,2020-12-05,8
-9340,2020-12-06,8
-9341,2020-12-07,8
-9342,2020-12-08,8
-9343,2020-12-09,8
-9344,2020-12-10,8
-9345,2020-12-11,8
-9346,2020-12-12,8
-9347,2020-12-13,8
-9348,2020-12-14,8
-9349,2020-12-15,8
-9350,2020-12-16,8
-9351,2020-12-17,8
-9352,2020-12-18,8
-9353,2020-12-19,8
-9354,2020-12-20,8
-9355,2020-12-21,8
-9356,2020-12-22,8
-9357,2020-12-23,8
-9358,2020-12-24,8
-9359,2020-12-25,8
-9360,2020-12-26,8
-9361,2020-12-27,8
-9362,2020-12-28,8
-9363,2020-12-29,8
-9364,2020-12-30,8
-9365,2020-12-31,8
-9366,2021-01-01,8
-9367,2021-01-02,8
-9368,2021-01-03,8
-9369,2021-01-04,8
-9370,2021-01-05,8
-9371,2021-01-06,8
-9372,2021-01-07,8
-9373,2021-01-08,8
-9374,2021-01-09,8
-9375,2021-01-10,8
-9376,2021-01-11,8
-9377,2021-01-12,8
-9378,2021-01-13,8
-9379,2021-01-14,8
-9380,2021-01-15,8
-9381,2021-01-16,8
-9382,2021-01-17,8
-9383,2021-01-18,8
-9384,2021-01-19,8
-9385,2021-01-20,8
-9386,2021-01-21,8
-9387,2021-01-22,8
-9388,2021-01-23,8
-9389,2021-01-24,8
-9390,2021-01-25,8
-9391,2021-01-26,8
-9392,2021-01-27,8
-9393,2021-01-28,8
-9394,2021-01-29,8
-9395,2021-01-30,8
-9396,2021-01-31,8
-9397,2021-02-01,8
-9398,2021-02-02,8
-9399,2021-02-03,8
-9400,2021-02-04,8
-9401,2021-02-05,8
-9402,2021-02-06,8
-9403,2021-02-07,8
-9404,2021-02-08,8
-9405,2021-02-09,8
-9406,2021-02-10,8
-9407,2021-02-11,8
-9408,2021-02-12,8
-9409,2021-02-13,8
-9410,2021-02-14,8
-9411,2021-02-15,8
-9412,2021-02-16,8
-9413,2021-02-17,8
-9414,2021-02-18,8
-9415,2021-02-19,8
-9416,2021-02-20,8
-9417,2021-02-21,8
-9418,2021-02-22,8
-9419,2021-02-23,8
-9420,2021-02-24,8
-9421,2021-02-25,8
-9422,2021-02-26,8
-9423,2021-02-27,8
-9424,2021-02-28,8
-9425,2021-03-01,8
-9426,2021-03-02,8
-9427,2021-03-03,8
-9428,2021-03-04,8
-9429,2021-03-05,8
-9430,2021-03-06,8
-9431,2021-03-07,8
-9432,2021-03-08,8
-9433,2021-03-09,8
-9434,2021-03-10,8
-9435,2021-03-11,8
-9436,2021-03-12,8
-9437,2021-03-13,8
-9438,2021-03-14,8
-9439,2021-03-15,8
-9440,2021-03-16,8
-9441,2021-03-17,8
-9442,2021-03-18,8
-9443,2021-03-19,8
-9444,2021-03-20,8
-9445,2021-03-21,8
-9446,2021-03-22,8
-9447,2021-03-23,8
-9448,2021-03-24,8
-9449,2021-03-25,8
-9450,2021-03-26,8
-9451,2021-03-27,8
-9452,2021-03-28,8
-9453,2021-03-29,8
-9454,2021-03-30,8
-9455,2021-03-31,8
-9456,2021-04-01,8
-9457,2021-04-02,8
-9458,2021-04-03,8
-9459,2021-04-04,8
-9460,2021-04-05,8
-9461,2021-04-06,8
-9462,2021-04-07,8
-9463,2021-04-08,8
-9464,2021-04-09,8
-9465,2021-04-10,8
-9466,2021-04-11,8
-9467,2021-04-12,8
-9468,2021-04-13,8
-9469,2021-04-14,8
-9470,2021-04-15,8
-9471,2021-04-16,8
-9472,2021-04-17,8
-9473,2021-04-18,8
-9474,2021-04-19,8
-9475,2021-04-20,8
-9476,2021-04-21,8
-9477,2021-04-22,8
-9478,2021-04-23,8
-9479,2021-04-24,8
-9480,2021-04-25,8
-9481,2021-04-26,8
-9482,2021-04-27,8
-9483,2021-04-28,8
-9484,2021-04-29,8
-9485,2021-04-30,8
-9486,2021-05-01,8
-9487,2021-05-02,8
-9488,2021-05-03,8
-9489,2021-05-04,8
-9490,2021-05-05,8
-9491,2021-05-06,8
-9492,2021-05-07,8
-9493,2021-05-08,8
-9494,2021-05-09,8
-9495,2021-05-10,8
-9496,2021-05-11,8
-9497,2021-05-12,8
-9498,2021-05-13,8
-9499,2021-05-14,8
-9500,2021-05-15,8
-9501,2021-05-16,8
-9502,2021-05-17,8
-9503,2021-05-18,8
-9504,2021-05-19,8
-9505,2021-05-20,8
-9506,2021-05-21,8
-9507,2021-05-22,8
-9508,2021-05-23,8
-9509,2021-05-24,8
-9510,2021-05-25,8
-9511,2021-05-26,8
-9512,2021-05-27,8
-9513,2021-05-28,8
-9514,2021-05-29,8
-9515,2021-05-30,8
-9516,2021-05-31,8
-9517,2021-06-01,8
-9518,2021-06-02,8
-9519,2021-06-03,8
-9520,2021-06-04,8
-9521,2021-06-05,8
-9522,2021-06-06,8
-9523,2021-06-07,8
-9524,2021-06-08,8
-9525,2021-06-09,8
-9526,2021-06-10,8
-9527,2021-06-11,8
-9528,2021-06-12,8
-9529,2021-06-13,8
-9530,2021-06-14,8
-9531,2021-06-15,8
-9532,2021-06-16,8
-9533,2021-06-17,8
-9534,2021-06-18,8
-9535,2021-06-19,8
-9536,2021-06-20,8
-9537,2021-06-21,8
-9538,2021-06-22,8
-9539,2021-06-23,8
-9540,2021-06-24,8
-9541,2021-06-25,8
-9542,2021-06-26,8
-9543,2021-06-27,8
-9544,2021-06-28,8
-9545,2021-06-29,8
-9546,2021-06-30,8
-9547,2021-07-01,8
-9548,2021-07-02,8
-9549,2021-07-03,8
-9550,2021-07-04,8
-9551,2021-07-05,8
-9552,2021-07-06,8
-9553,2021-07-07,8
-9554,2021-07-08,8
-9555,2021-07-09,8
-9556,2021-07-10,8
-9557,2021-07-11,8
-9558,2021-07-12,8
-9559,2021-07-13,8
-9560,2021-07-14,8
-9561,2021-07-15,8
-9562,2021-07-16,8
-9563,2021-07-17,8
-9564,2021-07-18,8
-9565,2021-07-19,8
-9566,2021-07-20,8
-9567,2021-07-21,8
-9568,2021-07-22,8
-9569,2021-07-23,8
-9570,2021-07-24,8
-9571,2021-07-25,8
-9572,2021-07-26,8
-9573,2021-07-27,8
-9574,2021-07-28,8
-9575,2021-07-29,8
-9576,2021-07-30,8
-9577,2021-07-31,8
-9578,2021-08-01,8
-9579,2021-08-02,8
-9580,2021-08-03,8
-9581,2021-08-04,8
-9582,2021-08-05,8
-9583,2021-08-06,8
-9584,2021-08-07,8
-9585,2021-08-08,8
-9586,2021-08-09,8
-9587,2021-08-10,8
-9588,2021-08-11,8
-9589,2021-08-12,8
-9590,2021-08-13,8
-9591,2021-08-14,8
-9592,2021-08-15,8
-9593,2021-08-16,8
-9594,2021-08-17,8
-9595,2021-08-18,8
-9596,2021-08-19,8
-9597,2021-08-20,8
-9598,2021-08-21,8
-9599,2021-08-22,8
-9600,2021-08-23,8
-9601,2021-08-24,8
-9602,2021-08-25,8
-9603,2021-08-26,8
-9604,2021-08-27,8
-9605,2021-08-28,8
-9606,2021-08-29,8
-9607,2021-08-30,8
-9608,2021-08-31,8
-9609,2021-09-01,8
-9610,2021-09-02,8
-9611,2021-09-03,8
-9612,2021-09-04,8
-9613,2021-09-05,8
-9614,2021-09-06,8
-9615,2021-09-07,8
-9616,2021-09-08,8
-9617,2021-09-09,8
-9618,2021-09-10,8
-9619,2021-09-11,8
-9620,2021-09-12,8
-9621,2021-09-13,8
-9622,2021-09-14,8
-9623,2021-09-15,8
-9624,2021-09-16,8
-9625,2021-09-17,8
-9626,2021-09-18,8
-9627,2021-09-19,8
-9628,2021-09-20,8
-9629,2021-09-21,8
-9630,2021-09-22,8
-9631,2021-09-23,8
-9632,2021-09-24,8
-9633,2021-09-25,8
-9634,2021-09-26,8
-9635,2021-09-27,8
-9636,2021-09-28,8
-9637,2021-09-29,8
-9638,2021-09-30,8
-9639,2021-10-01,8
-9640,2021-10-02,8
-9641,2021-10-03,8
-9642,2021-10-04,8
-9643,2021-10-05,8
-9644,2021-10-06,8
-9645,2021-10-07,8
-9646,2021-10-08,8
-9647,2021-10-09,8
-9648,2021-10-10,8
-9649,2021-10-11,8
-9650,2021-10-12,8
-9651,2021-10-13,8
-9652,2021-10-14,8
-9653,2021-10-15,8
-9654,2021-10-16,8
-9655,2021-10-17,8
-9656,2021-10-18,8
-9657,2021-10-19,8
-9658,2021-10-20,8
-9659,2021-10-21,8
-9660,2021-10-22,8
-9661,2021-10-23,8
-9662,2021-10-24,8
-9663,2021-10-25,8
-9664,2021-10-26,8
-9665,2021-10-27,8
-9666,2021-10-28,8
-9667,2021-10-29,8
-9668,2021-10-30,8
-9669,2021-10-31,8
-9670,2021-11-01,8
-9671,2021-11-02,8
-9672,2021-11-03,8
-9673,2021-11-04,8
-9674,2021-11-05,8
-9675,2021-11-06,8
-9676,2021-11-07,8
-9677,2021-11-08,8
-9678,2021-11-09,8
-9679,2021-11-10,8
-9680,2021-11-11,8
-9681,2021-11-12,8
-9682,2021-11-13,8
-9683,2021-11-14,8
-9684,2021-11-15,8
-9685,2021-11-16,8
-9686,2021-11-17,8
-9687,2021-11-18,8
-9688,2021-11-19,8
-9689,2021-11-20,8
-9690,2021-11-21,8
-9691,2021-11-22,8
-9692,2021-11-23,8
-9693,2021-11-24,8
-9694,2021-11-25,8
-9695,2021-11-26,8
-9696,2021-11-27,8
-9697,2021-11-28,8
-9698,2021-11-29,8
-9699,2021-11-30,8
-9700,2021-12-01,8
-9701,2021-12-02,8
-9702,2021-12-03,8
-9703,2021-12-04,8
-9704,2021-12-05,8
-9705,2021-12-06,8
-9706,2021-12-07,8
-9707,2021-12-08,8
-9708,2021-12-09,8
-9709,2021-12-10,8
-9710,2021-12-11,8
-9711,2021-12-12,8
-9712,2021-12-13,8
-9713,2021-12-14,8
-9714,2021-12-15,8
-9715,2021-12-16,8
-9716,2021-12-17,8
-9717,2021-12-18,8
-9718,2021-12-19,8
-9719,2021-12-20,8
-9720,2021-12-21,8
-9721,2021-12-22,8
-9722,2021-12-23,8
-9723,2021-12-24,8
-9724,2021-12-25,8
-9725,2021-12-26,8
-9726,2021-12-27,8
-9727,2021-12-28,8
-9728,2021-12-29,8
-9729,2021-12-30,8
-9730,2021-12-31,8
-9731,2022-01-01,8
-9732,2022-01-02,8
-9733,2022-01-03,8
-9734,2022-01-04,8
-9735,2022-01-05,8
-9736,2022-01-06,8
-9737,2022-01-07,8
-9738,2022-01-08,8
-9739,2022-01-09,8
-9740,2022-01-10,8
-9741,2022-01-11,8
-9742,2022-01-12,8
-9743,2022-01-13,8
-9744,2022-01-14,8
-9745,2022-01-15,8
-9746,2022-01-16,8
-9747,2022-01-17,8
-9748,2022-01-18,8
-9749,2022-01-19,8
-9750,2022-01-20,8
-9751,2022-01-21,8
-9752,2022-01-22,8
-9753,2022-01-23,8
-9754,2022-01-24,8
-9755,2022-01-25,8
-9756,2022-01-26,8
-9757,2022-01-27,8
-9758,2022-01-28,8
-9759,2022-01-29,8
-9760,2022-01-30,8
-9761,2022-01-31,8
-9762,2022-02-01,8
-9763,2022-02-02,8
-9764,2022-02-03,8
-9765,2022-02-04,8
-9766,2022-02-05,8
-9767,2022-02-06,8
-9768,2022-02-07,8
-9769,2022-02-08,8
-9770,2022-02-09,8
-9771,2022-02-10,8
-9772,2022-02-11,8
-9773,2022-02-12,8
-9774,2022-02-13,8
-9775,2022-02-14,8
-9776,2022-02-15,8
-9777,2022-02-16,8
-9778,2022-02-17,8
-9779,2022-02-18,8
-9780,2022-02-19,8
-9781,2022-02-20,8
-9782,2022-02-21,8
-9783,2022-02-22,8
-9784,2022-02-23,8
-9785,2022-02-24,8
-9786,2022-02-25,8
-9787,2022-02-26,8
-9788,2022-02-27,8
-9789,2022-02-28,8
-9790,2022-03-01,8
-9791,2022-03-02,8
-9792,2022-03-03,8
-9793,2022-03-04,8
-9794,2022-03-05,8
-9795,2022-03-06,8
-9796,2022-03-07,8
-9797,2022-03-08,8
-9798,2022-03-09,8
-9799,2022-03-10,8
-9800,2022-03-11,8
-9801,2022-03-12,8
-9802,2022-03-13,8
-9803,2022-03-14,8
-9804,2022-03-15,8
-9805,2022-03-16,8
-9806,2022-03-17,8
-9807,2022-03-18,8
-9808,2022-03-19,8
-9809,2022-03-20,8
-9810,2022-03-21,8
-9811,2022-03-22,8
-9812,2022-03-23,8
-9813,2022-03-24,8
-9814,2022-03-25,8
-9815,2022-03-26,8
-9816,2022-03-27,8
-9817,2022-03-28,8
-9818,2022-03-29,8
-9819,2022-03-30,8
-9820,2022-03-31,8
-9821,2022-04-01,8
-9822,2022-04-02,8
-9823,2022-04-03,8
-9824,2022-04-04,8
-9825,2022-04-05,8
-9826,2022-04-06,8
-9827,2022-04-07,8
-9828,2022-04-08,8
-9829,2022-04-09,8
-9830,2022-04-10,8
-9831,2022-04-11,8
-9832,2022-04-12,8
-9833,2022-04-13,8
-9834,2022-04-14,8
-9835,2022-04-15,8
-9836,2022-04-16,8
-9837,2022-04-17,8
-9838,2022-04-18,8
-9839,2022-04-19,8
-9840,2022-04-20,8
-9841,2022-04-21,8
-9842,2022-04-22,8
-9843,2022-04-23,8
-9844,2022-04-24,8
-9845,2022-04-25,8
-9846,2022-04-26,8
-9847,2022-04-27,8
-9848,2022-04-28,8
-9849,2022-04-29,8
-9850,2022-04-30,8
-9851,2022-05-01,8
-9852,2022-05-02,8
-9853,2022-05-03,8
-9854,2022-05-04,8
-9855,2022-05-05,8
-9856,2022-05-06,8
-9857,2022-05-07,8
-9858,2022-05-08,8
-9859,2022-05-09,8
-9860,2022-05-10,8
-9861,2022-05-11,8
-9862,2022-05-12,8
-9863,2022-05-13,8
-9864,2022-05-14,8
-9865,2022-05-15,8
-9866,2022-05-16,8
-9867,2022-05-17,8
-9868,2022-05-18,8
-9869,2022-05-19,8
-9870,2022-05-20,8
-9871,2022-05-21,8
-9872,2022-05-22,8
-9873,2022-05-23,8
-9874,2022-05-24,8
-9875,2022-05-25,8
-9876,2022-05-26,8
-9877,2022-05-27,8
-9878,2022-05-28,8
-9879,2022-05-29,8
-9880,2022-05-30,8
-9881,2022-05-31,8
-9882,2022-06-01,8
-9883,2022-06-02,8
-9884,2022-06-03,8
-9885,2022-06-04,8
-9886,2022-06-05,8
-9887,2022-06-06,8
-9888,2022-06-07,8
-9889,2022-06-08,8
-9890,2022-06-09,8
-9891,2022-06-10,8
-9892,2022-06-11,8
-9893,2022-06-12,8
-9894,2022-06-13,8
-9895,2022-06-14,8
-9896,2022-06-15,8
-9897,2022-06-16,8
-9898,2022-06-17,8
-9899,2022-06-18,8
-9900,2022-06-19,8
-9901,2022-06-20,8
-9902,2022-06-21,8
-9903,2022-06-22,8
-9904,2022-06-23,8
-9905,2022-06-24,8
-9906,2022-06-25,8
-9907,2022-06-26,8
-9908,2022-06-27,8
-9909,2022-06-28,8
-9910,2022-06-29,8
-9911,2022-06-30,8
-9912,2022-07-01,8
-9913,2022-07-02,8
-9914,2022-07-03,8
-9915,2022-07-04,8
-9916,2022-07-05,8
-9917,2022-07-06,8
-9918,2022-07-07,8
-9919,2022-07-08,8
-9920,2022-07-09,8
-9921,2022-07-10,8
-9922,2022-07-11,8
-9923,2022-07-12,8
-9924,2022-07-13,8
-9925,2022-07-14,8
-9926,2022-07-15,8
-9927,2022-07-16,8
-9928,2022-07-17,8
-9929,2022-07-18,8
-9930,2022-07-19,8
-9931,2022-07-20,8
-9932,2022-07-21,8
-9933,2022-07-22,8
-9934,2022-07-23,8
-9935,2022-07-24,8
-9936,2022-07-25,8
-9937,2022-07-26,8
-9938,2022-07-27,8
-9939,2022-07-28,8
-9940,2022-07-29,8
-9941,2022-07-30,8
-9942,2022-07-31,8
-9943,2022-08-01,8
-9944,2022-08-02,8
-9945,2022-08-03,8
-9946,2022-08-04,8
-9947,2022-08-05,8
-9948,2022-08-06,8
-9949,2022-08-07,8
-9950,2022-08-08,8
-9951,2022-08-09,8
-9952,2022-08-10,8
-9953,2022-08-11,8
-9954,2022-08-12,8
-9955,2022-08-13,8
-9956,2022-08-14,8
-9957,2022-08-15,8
-9958,2022-08-16,8
-9959,2022-08-17,8
-9960,2022-08-18,8
-9961,2022-08-19,8
-9962,2022-08-20,8
-9963,2022-08-21,8
-9964,2022-08-22,8
-9965,2022-08-23,8
-9966,2022-08-24,8
-9967,2022-08-25,8
-9968,2022-08-26,8
-9969,2022-08-27,8
-9970,2022-08-28,8
-9971,2022-08-29,8
-9972,2022-08-30,8
-9973,2022-08-31,8
-9974,2022-09-01,8
-9975,2022-09-02,8
-9976,2022-09-03,8
-9977,2022-09-04,8
-9978,2022-09-05,8
-9979,2022-09-06,8
-9980,2022-09-07,8
-9981,2022-09-08,8
-9982,2022-09-09,8
-9983,2022-09-10,8
-9984,2022-09-11,8
-9985,2022-09-12,8
-9986,2022-09-13,8
-9987,2022-09-14,8
-9988,2022-09-15,8
-9989,2022-09-16,8
-9990,2022-09-17,8
-9991,2022-09-18,8
-9992,2022-09-19,8
-9993,2022-09-20,8
-9994,2022-09-21,8
-9995,2022-09-22,8
-9996,2022-09-23,8
-9997,2022-09-24,8
-9998,2022-09-25,8
-9999,2022-09-26,8
-10000,2020-01-01,9
-10001,2020-01-02,9
-10002,2020-01-03,9
-10003,2020-01-04,9
-10004,2020-01-05,9
-10005,2020-01-06,9
-10006,2020-01-07,9
-10007,2020-01-08,9
-10008,2020-01-09,9
-10009,2020-01-10,9
-10010,2020-01-11,9
-10011,2020-01-12,9
-10012,2020-01-13,9
-10013,2020-01-14,9
-10014,2020-01-15,9
-10015,2020-01-16,9
-10016,2020-01-17,9
-10017,2020-01-18,9
-10018,2020-01-19,9
-10019,2020-01-20,9
-10020,2020-01-21,9
-10021,2020-01-22,9
-10022,2020-01-23,9
-10023,2020-01-24,9
-10024,2020-01-25,9
-10025,2020-01-26,9
-10026,2020-01-27,9
-10027,2020-01-28,9
-10028,2020-01-29,9
-10029,2020-01-30,9
-10030,2020-01-31,9
-10031,2020-02-01,9
-10032,2020-02-02,9
-10033,2020-02-03,9
-10034,2020-02-04,9
-10035,2020-02-05,9
-10036,2020-02-06,9
-10037,2020-02-07,9
-10038,2020-02-08,9
-10039,2020-02-09,9
-10040,2020-02-10,9
-10041,2020-02-11,9
-10042,2020-02-12,9
-10043,2020-02-13,9
-10044,2020-02-14,9
-10045,2020-02-15,9
-10046,2020-02-16,9
-10047,2020-02-17,9
-10048,2020-02-18,9
-10049,2020-02-19,9
-10050,2020-02-20,9
-10051,2020-02-21,9
-10052,2020-02-22,9
-10053,2020-02-23,9
-10054,2020-02-24,9
-10055,2020-02-25,9
-10056,2020-02-26,9
-10057,2020-02-27,9
-10058,2020-02-28,9
-10059,2020-02-29,9
-10060,2020-03-01,9
-10061,2020-03-02,9
-10062,2020-03-03,9
-10063,2020-03-04,9
-10064,2020-03-05,9
-10065,2020-03-06,9
-10066,2020-03-07,9
-10067,2020-03-08,9
-10068,2020-03-09,9
-10069,2020-03-10,9
-10070,2020-03-11,9
-10071,2020-03-12,9
-10072,2020-03-13,9
-10073,2020-03-14,9
-10074,2020-03-15,9
-10075,2020-03-16,9
-10076,2020-03-17,9
-10077,2020-03-18,9
-10078,2020-03-19,9
-10079,2020-03-20,9
-10080,2020-03-21,9
-10081,2020-03-22,9
-10082,2020-03-23,9
-10083,2020-03-24,9
-10084,2020-03-25,9
-10085,2020-03-26,9
-10086,2020-03-27,9
-10087,2020-03-28,9
-10088,2020-03-29,9
-10089,2020-03-30,9
-10090,2020-03-31,9
-10091,2020-04-01,9
-10092,2020-04-02,9
-10093,2020-04-03,9
-10094,2020-04-04,9
-10095,2020-04-05,9
-10096,2020-04-06,9
-10097,2020-04-07,9
-10098,2020-04-08,9
-10099,2020-04-09,9
-10100,2020-04-10,9
-10101,2020-04-11,9
-10102,2020-04-12,9
-10103,2020-04-13,9
-10104,2020-04-14,9
-10105,2020-04-15,9
-10106,2020-04-16,9
-10107,2020-04-17,9
-10108,2020-04-18,9
-10109,2020-04-19,9
-10110,2020-04-20,9
-10111,2020-04-21,9
-10112,2020-04-22,9
-10113,2020-04-23,9
-10114,2020-04-24,9
-10115,2020-04-25,9
-10116,2020-04-26,9
-10117,2020-04-27,9
-10118,2020-04-28,9
-10119,2020-04-29,9
-10120,2020-04-30,9
-10121,2020-05-01,9
-10122,2020-05-02,9
-10123,2020-05-03,9
-10124,2020-05-04,9
-10125,2020-05-05,9
-10126,2020-05-06,9
-10127,2020-05-07,9
-10128,2020-05-08,9
-10129,2020-05-09,9
-10130,2020-05-10,9
-10131,2020-05-11,9
-10132,2020-05-12,9
-10133,2020-05-13,9
-10134,2020-05-14,9
-10135,2020-05-15,9
-10136,2020-05-16,9
-10137,2020-05-17,9
-10138,2020-05-18,9
-10139,2020-05-19,9
-10140,2020-05-20,9
-10141,2020-05-21,9
-10142,2020-05-22,9
-10143,2020-05-23,9
-10144,2020-05-24,9
-10145,2020-05-25,9
-10146,2020-05-26,9
-10147,2020-05-27,9
-10148,2020-05-28,9
-10149,2020-05-29,9
-10150,2020-05-30,9
-10151,2020-05-31,9
-10152,2020-06-01,9
-10153,2020-06-02,9
-10154,2020-06-03,9
-10155,2020-06-04,9
-10156,2020-06-05,9
-10157,2020-06-06,9
-10158,2020-06-07,9
-10159,2020-06-08,9
-10160,2020-06-09,9
-10161,2020-06-10,9
-10162,2020-06-11,9
-10163,2020-06-12,9
-10164,2020-06-13,9
-10165,2020-06-14,9
-10166,2020-06-15,9
-10167,2020-06-16,9
-10168,2020-06-17,9
-10169,2020-06-18,9
-10170,2020-06-19,9
-10171,2020-06-20,9
-10172,2020-06-21,9
-10173,2020-06-22,9
-10174,2020-06-23,9
-10175,2020-06-24,9
-10176,2020-06-25,9
-10177,2020-06-26,9
-10178,2020-06-27,9
-10179,2020-06-28,9
-10180,2020-06-29,9
-10181,2020-06-30,9
-10182,2020-07-01,9
-10183,2020-07-02,9
-10184,2020-07-03,9
-10185,2020-07-04,9
-10186,2020-07-05,9
-10187,2020-07-06,9
-10188,2020-07-07,9
-10189,2020-07-08,9
-10190,2020-07-09,9
-10191,2020-07-10,9
-10192,2020-07-11,9
-10193,2020-07-12,9
-10194,2020-07-13,9
-10195,2020-07-14,9
-10196,2020-07-15,9
-10197,2020-07-16,9
-10198,2020-07-17,9
-10199,2020-07-18,9
-10200,2020-07-19,9
-10201,2020-07-20,9
-10202,2020-07-21,9
-10203,2020-07-22,9
-10204,2020-07-23,9
-10205,2020-07-24,9
-10206,2020-07-25,9
-10207,2020-07-26,9
-10208,2020-07-27,9
-10209,2020-07-28,9
-10210,2020-07-29,9
-10211,2020-07-30,9
-10212,2020-07-31,9
-10213,2020-08-01,9
-10214,2020-08-02,9
-10215,2020-08-03,9
-10216,2020-08-04,9
-10217,2020-08-05,9
-10218,2020-08-06,9
-10219,2020-08-07,9
-10220,2020-08-08,9
-10221,2020-08-09,9
-10222,2020-08-10,9
-10223,2020-08-11,9
-10224,2020-08-12,9
-10225,2020-08-13,9
-10226,2020-08-14,9
-10227,2020-08-15,9
-10228,2020-08-16,9
-10229,2020-08-17,9
-10230,2020-08-18,9
-10231,2020-08-19,9
-10232,2020-08-20,9
-10233,2020-08-21,9
-10234,2020-08-22,9
-10235,2020-08-23,9
-10236,2020-08-24,9
-10237,2020-08-25,9
-10238,2020-08-26,9
-10239,2020-08-27,9
-10240,2020-08-28,9
-10241,2020-08-29,9
-10242,2020-08-30,9
-10243,2020-08-31,9
-10244,2020-09-01,9
-10245,2020-09-02,9
-10246,2020-09-03,9
-10247,2020-09-04,9
-10248,2020-09-05,9
-10249,2020-09-06,9
-10250,2020-09-07,9
-10251,2020-09-08,9
-10252,2020-09-09,9
-10253,2020-09-10,9
-10254,2020-09-11,9
-10255,2020-09-12,9
-10256,2020-09-13,9
-10257,2020-09-14,9
-10258,2020-09-15,9
-10259,2020-09-16,9
-10260,2020-09-17,9
-10261,2020-09-18,9
-10262,2020-09-19,9
-10263,2020-09-20,9
-10264,2020-09-21,9
-10265,2020-09-22,9
-10266,2020-09-23,9
-10267,2020-09-24,9
-10268,2020-09-25,9
-10269,2020-09-26,9
-10270,2020-09-27,9
-10271,2020-09-28,9
-10272,2020-09-29,9
-10273,2020-09-30,9
-10274,2020-10-01,9
-10275,2020-10-02,9
-10276,2020-10-03,9
-10277,2020-10-04,9
-10278,2020-10-05,9
-10279,2020-10-06,9
-10280,2020-10-07,9
-10281,2020-10-08,9
-10282,2020-10-09,9
-10283,2020-10-10,9
-10284,2020-10-11,9
-10285,2020-10-12,9
-10286,2020-10-13,9
-10287,2020-10-14,9
-10288,2020-10-15,9
-10289,2020-10-16,9
-10290,2020-10-17,9
-10291,2020-10-18,9
-10292,2020-10-19,9
-10293,2020-10-20,9
-10294,2020-10-21,9
-10295,2020-10-22,9
-10296,2020-10-23,9
-10297,2020-10-24,9
-10298,2020-10-25,9
-10299,2020-10-26,9
-10300,2020-10-27,9
-10301,2020-10-28,9
-10302,2020-10-29,9
-10303,2020-10-30,9
-10304,2020-10-31,9
-10305,2020-11-01,9
-10306,2020-11-02,9
-10307,2020-11-03,9
-10308,2020-11-04,9
-10309,2020-11-05,9
-10310,2020-11-06,9
-10311,2020-11-07,9
-10312,2020-11-08,9
-10313,2020-11-09,9
-10314,2020-11-10,9
-10315,2020-11-11,9
-10316,2020-11-12,9
-10317,2020-11-13,9
-10318,2020-11-14,9
-10319,2020-11-15,9
-10320,2020-11-16,9
-10321,2020-11-17,9
-10322,2020-11-18,9
-10323,2020-11-19,9
-10324,2020-11-20,9
-10325,2020-11-21,9
-10326,2020-11-22,9
-10327,2020-11-23,9
-10328,2020-11-24,9
-10329,2020-11-25,9
-10330,2020-11-26,9
-10331,2020-11-27,9
-10332,2020-11-28,9
-10333,2020-11-29,9
-10334,2020-11-30,9
-10335,2020-12-01,9
-10336,2020-12-02,9
-10337,2020-12-03,9
-10338,2020-12-04,9
-10339,2020-12-05,9
-10340,2020-12-06,9
-10341,2020-12-07,9
-10342,2020-12-08,9
-10343,2020-12-09,9
-10344,2020-12-10,9
-10345,2020-12-11,9
-10346,2020-12-12,9
-10347,2020-12-13,9
-10348,2020-12-14,9
-10349,2020-12-15,9
-10350,2020-12-16,9
-10351,2020-12-17,9
-10352,2020-12-18,9
-10353,2020-12-19,9
-10354,2020-12-20,9
-10355,2020-12-21,9
-10356,2020-12-22,9
-10357,2020-12-23,9
-10358,2020-12-24,9
-10359,2020-12-25,9
-10360,2020-12-26,9
-10361,2020-12-27,9
-10362,2020-12-28,9
-10363,2020-12-29,9
-10364,2020-12-30,9
-10365,2020-12-31,9
-10366,2021-01-01,9
-10367,2021-01-02,9
-10368,2021-01-03,9
-10369,2021-01-04,9
-10370,2021-01-05,9
-10371,2021-01-06,9
-10372,2021-01-07,9
-10373,2021-01-08,9
-10374,2021-01-09,9
-10375,2021-01-10,9
-10376,2021-01-11,9
-10377,2021-01-12,9
-10378,2021-01-13,9
-10379,2021-01-14,9
-10380,2021-01-15,9
-10381,2021-01-16,9
-10382,2021-01-17,9
-10383,2021-01-18,9
-10384,2021-01-19,9
-10385,2021-01-20,9
-10386,2021-01-21,9
-10387,2021-01-22,9
-10388,2021-01-23,9
-10389,2021-01-24,9
-10390,2021-01-25,9
-10391,2021-01-26,9
-10392,2021-01-27,9
-10393,2021-01-28,9
-10394,2021-01-29,9
-10395,2021-01-30,9
-10396,2021-01-31,9
-10397,2021-02-01,9
-10398,2021-02-02,9
-10399,2021-02-03,9
-10400,2021-02-04,9
-10401,2021-02-05,9
-10402,2021-02-06,9
-10403,2021-02-07,9
-10404,2021-02-08,9
-10405,2021-02-09,9
-10406,2021-02-10,9
-10407,2021-02-11,9
-10408,2021-02-12,9
-10409,2021-02-13,9
-10410,2021-02-14,9
-10411,2021-02-15,9
-10412,2021-02-16,9
-10413,2021-02-17,9
-10414,2021-02-18,9
-10415,2021-02-19,9
-10416,2021-02-20,9
-10417,2021-02-21,9
-10418,2021-02-22,9
-10419,2021-02-23,9
-10420,2021-02-24,9
-10421,2021-02-25,9
-10422,2021-02-26,9
-10423,2021-02-27,9
-10424,2021-02-28,9
-10425,2021-03-01,9
-10426,2021-03-02,9
-10427,2021-03-03,9
-10428,2021-03-04,9
-10429,2021-03-05,9
-10430,2021-03-06,9
-10431,2021-03-07,9
-10432,2021-03-08,9
-10433,2021-03-09,9
-10434,2021-03-10,9
-10435,2021-03-11,9
-10436,2021-03-12,9
-10437,2021-03-13,9
-10438,2021-03-14,9
-10439,2021-03-15,9
-10440,2021-03-16,9
-10441,2021-03-17,9
-10442,2021-03-18,9
-10443,2021-03-19,9
-10444,2021-03-20,9
-10445,2021-03-21,9
-10446,2021-03-22,9
-10447,2021-03-23,9
-10448,2021-03-24,9
-10449,2021-03-25,9
-10450,2021-03-26,9
-10451,2021-03-27,9
-10452,2021-03-28,9
-10453,2021-03-29,9
-10454,2021-03-30,9
-10455,2021-03-31,9
-10456,2021-04-01,9
-10457,2021-04-02,9
-10458,2021-04-03,9
-10459,2021-04-04,9
-10460,2021-04-05,9
-10461,2021-04-06,9
-10462,2021-04-07,9
-10463,2021-04-08,9
-10464,2021-04-09,9
-10465,2021-04-10,9
-10466,2021-04-11,9
-10467,2021-04-12,9
-10468,2021-04-13,9
-10469,2021-04-14,9
-10470,2021-04-15,9
-10471,2021-04-16,9
-10472,2021-04-17,9
-10473,2021-04-18,9
-10474,2021-04-19,9
-10475,2021-04-20,9
-10476,2021-04-21,9
-10477,2021-04-22,9
-10478,2021-04-23,9
-10479,2021-04-24,9
-10480,2021-04-25,9
-10481,2021-04-26,9
-10482,2021-04-27,9
-10483,2021-04-28,9
-10484,2021-04-29,9
-10485,2021-04-30,9
-10486,2021-05-01,9
-10487,2021-05-02,9
-10488,2021-05-03,9
-10489,2021-05-04,9
-10490,2021-05-05,9
-10491,2021-05-06,9
-10492,2021-05-07,9
-10493,2021-05-08,9
-10494,2021-05-09,9
-10495,2021-05-10,9
-10496,2021-05-11,9
-10497,2021-05-12,9
-10498,2021-05-13,9
-10499,2021-05-14,9
-10500,2021-05-15,9
-10501,2021-05-16,9
-10502,2021-05-17,9
-10503,2021-05-18,9
-10504,2021-05-19,9
-10505,2021-05-20,9
-10506,2021-05-21,9
-10507,2021-05-22,9
-10508,2021-05-23,9
-10509,2021-05-24,9
-10510,2021-05-25,9
-10511,2021-05-26,9
-10512,2021-05-27,9
-10513,2021-05-28,9
-10514,2021-05-29,9
-10515,2021-05-30,9
-10516,2021-05-31,9
-10517,2021-06-01,9
-10518,2021-06-02,9
-10519,2021-06-03,9
-10520,2021-06-04,9
-10521,2021-06-05,9
-10522,2021-06-06,9
-10523,2021-06-07,9
-10524,2021-06-08,9
-10525,2021-06-09,9
-10526,2021-06-10,9
-10527,2021-06-11,9
-10528,2021-06-12,9
-10529,2021-06-13,9
-10530,2021-06-14,9
-10531,2021-06-15,9
-10532,2021-06-16,9
-10533,2021-06-17,9
-10534,2021-06-18,9
-10535,2021-06-19,9
-10536,2021-06-20,9
-10537,2021-06-21,9
-10538,2021-06-22,9
-10539,2021-06-23,9
-10540,2021-06-24,9
-10541,2021-06-25,9
-10542,2021-06-26,9
-10543,2021-06-27,9
-10544,2021-06-28,9
-10545,2021-06-29,9
-10546,2021-06-30,9
-10547,2021-07-01,9
-10548,2021-07-02,9
-10549,2021-07-03,9
-10550,2021-07-04,9
-10551,2021-07-05,9
-10552,2021-07-06,9
-10553,2021-07-07,9
-10554,2021-07-08,9
-10555,2021-07-09,9
-10556,2021-07-10,9
-10557,2021-07-11,9
-10558,2021-07-12,9
-10559,2021-07-13,9
-10560,2021-07-14,9
-10561,2021-07-15,9
-10562,2021-07-16,9
-10563,2021-07-17,9
-10564,2021-07-18,9
-10565,2021-07-19,9
-10566,2021-07-20,9
-10567,2021-07-21,9
-10568,2021-07-22,9
-10569,2021-07-23,9
-10570,2021-07-24,9
-10571,2021-07-25,9
-10572,2021-07-26,9
-10573,2021-07-27,9
-10574,2021-07-28,9
-10575,2021-07-29,9
-10576,2021-07-30,9
-10577,2021-07-31,9
-10578,2021-08-01,9
-10579,2021-08-02,9
-10580,2021-08-03,9
-10581,2021-08-04,9
-10582,2021-08-05,9
-10583,2021-08-06,9
-10584,2021-08-07,9
-10585,2021-08-08,9
-10586,2021-08-09,9
-10587,2021-08-10,9
-10588,2021-08-11,9
-10589,2021-08-12,9
-10590,2021-08-13,9
-10591,2021-08-14,9
-10592,2021-08-15,9
-10593,2021-08-16,9
-10594,2021-08-17,9
-10595,2021-08-18,9
-10596,2021-08-19,9
-10597,2021-08-20,9
-10598,2021-08-21,9
-10599,2021-08-22,9
-10600,2021-08-23,9
-10601,2021-08-24,9
-10602,2021-08-25,9
-10603,2021-08-26,9
-10604,2021-08-27,9
-10605,2021-08-28,9
-10606,2021-08-29,9
-10607,2021-08-30,9
-10608,2021-08-31,9
-10609,2021-09-01,9
-10610,2021-09-02,9
-10611,2021-09-03,9
-10612,2021-09-04,9
-10613,2021-09-05,9
-10614,2021-09-06,9
-10615,2021-09-07,9
-10616,2021-09-08,9
-10617,2021-09-09,9
-10618,2021-09-10,9
-10619,2021-09-11,9
-10620,2021-09-12,9
-10621,2021-09-13,9
-10622,2021-09-14,9
-10623,2021-09-15,9
-10624,2021-09-16,9
-10625,2021-09-17,9
-10626,2021-09-18,9
-10627,2021-09-19,9
-10628,2021-09-20,9
-10629,2021-09-21,9
-10630,2021-09-22,9
-10631,2021-09-23,9
-10632,2021-09-24,9
-10633,2021-09-25,9
-10634,2021-09-26,9
-10635,2021-09-27,9
-10636,2021-09-28,9
-10637,2021-09-29,9
-10638,2021-09-30,9
-10639,2021-10-01,9
-10640,2021-10-02,9
-10641,2021-10-03,9
-10642,2021-10-04,9
-10643,2021-10-05,9
-10644,2021-10-06,9
-10645,2021-10-07,9
-10646,2021-10-08,9
-10647,2021-10-09,9
-10648,2021-10-10,9
-10649,2021-10-11,9
-10650,2021-10-12,9
-10651,2021-10-13,9
-10652,2021-10-14,9
-10653,2021-10-15,9
-10654,2021-10-16,9
-10655,2021-10-17,9
-10656,2021-10-18,9
-10657,2021-10-19,9
-10658,2021-10-20,9
-10659,2021-10-21,9
-10660,2021-10-22,9
-10661,2021-10-23,9
-10662,2021-10-24,9
-10663,2021-10-25,9
-10664,2021-10-26,9
-10665,2021-10-27,9
-10666,2021-10-28,9
-10667,2021-10-29,9
-10668,2021-10-30,9
-10669,2021-10-31,9
-10670,2021-11-01,9
-10671,2021-11-02,9
-10672,2021-11-03,9
-10673,2021-11-04,9
-10674,2021-11-05,9
-10675,2021-11-06,9
-10676,2021-11-07,9
-10677,2021-11-08,9
-10678,2021-11-09,9
-10679,2021-11-10,9
-10680,2021-11-11,9
-10681,2021-11-12,9
-10682,2021-11-13,9
-10683,2021-11-14,9
-10684,2021-11-15,9
-10685,2021-11-16,9
-10686,2021-11-17,9
-10687,2021-11-18,9
-10688,2021-11-19,9
-10689,2021-11-20,9
-10690,2021-11-21,9
-10691,2021-11-22,9
-10692,2021-11-23,9
-10693,2021-11-24,9
-10694,2021-11-25,9
-10695,2021-11-26,9
-10696,2021-11-27,9
-10697,2021-11-28,9
-10698,2021-11-29,9
-10699,2021-11-30,9
-10700,2021-12-01,9
-10701,2021-12-02,9
-10702,2021-12-03,9
-10703,2021-12-04,9
-10704,2021-12-05,9
-10705,2021-12-06,9
-10706,2021-12-07,9
-10707,2021-12-08,9
-10708,2021-12-09,9
-10709,2021-12-10,9
-10710,2021-12-11,9
-10711,2021-12-12,9
-10712,2021-12-13,9
-10713,2021-12-14,9
-10714,2021-12-15,9
-10715,2021-12-16,9
-10716,2021-12-17,9
-10717,2021-12-18,9
-10718,2021-12-19,9
-10719,2021-12-20,9
-10720,2021-12-21,9
-10721,2021-12-22,9
-10722,2021-12-23,9
-10723,2021-12-24,9
-10724,2021-12-25,9
-10725,2021-12-26,9
-10726,2021-12-27,9
-10727,2021-12-28,9
-10728,2021-12-29,9
-10729,2021-12-30,9
-10730,2021-12-31,9
-10731,2022-01-01,9
-10732,2022-01-02,9
-10733,2022-01-03,9
-10734,2022-01-04,9
-10735,2022-01-05,9
-10736,2022-01-06,9
-10737,2022-01-07,9
-10738,2022-01-08,9
-10739,2022-01-09,9
-10740,2022-01-10,9
-10741,2022-01-11,9
-10742,2022-01-12,9
-10743,2022-01-13,9
-10744,2022-01-14,9
-10745,2022-01-15,9
-10746,2022-01-16,9
-10747,2022-01-17,9
-10748,2022-01-18,9
-10749,2022-01-19,9
-10750,2022-01-20,9
-10751,2022-01-21,9
-10752,2022-01-22,9
-10753,2022-01-23,9
-10754,2022-01-24,9
-10755,2022-01-25,9
-10756,2022-01-26,9
-10757,2022-01-27,9
-10758,2022-01-28,9
-10759,2022-01-29,9
-10760,2022-01-30,9
-10761,2022-01-31,9
-10762,2022-02-01,9
-10763,2022-02-02,9
-10764,2022-02-03,9
-10765,2022-02-04,9
-10766,2022-02-05,9
-10767,2022-02-06,9
-10768,2022-02-07,9
-10769,2022-02-08,9
-10770,2022-02-09,9
-10771,2022-02-10,9
-10772,2022-02-11,9
-10773,2022-02-12,9
-10774,2022-02-13,9
-10775,2022-02-14,9
-10776,2022-02-15,9
-10777,2022-02-16,9
-10778,2022-02-17,9
-10779,2022-02-18,9
-10780,2022-02-19,9
-10781,2022-02-20,9
-10782,2022-02-21,9
-10783,2022-02-22,9
-10784,2022-02-23,9
-10785,2022-02-24,9
-10786,2022-02-25,9
-10787,2022-02-26,9
-10788,2022-02-27,9
-10789,2022-02-28,9
-10790,2022-03-01,9
-10791,2022-03-02,9
-10792,2022-03-03,9
-10793,2022-03-04,9
-10794,2022-03-05,9
-10795,2022-03-06,9
-10796,2022-03-07,9
-10797,2022-03-08,9
-10798,2022-03-09,9
-10799,2022-03-10,9
-10800,2022-03-11,9
-10801,2022-03-12,9
-10802,2022-03-13,9
-10803,2022-03-14,9
-10804,2022-03-15,9
-10805,2022-03-16,9
-10806,2022-03-17,9
-10807,2022-03-18,9
-10808,2022-03-19,9
-10809,2022-03-20,9
-10810,2022-03-21,9
-10811,2022-03-22,9
-10812,2022-03-23,9
-10813,2022-03-24,9
-10814,2022-03-25,9
-10815,2022-03-26,9
-10816,2022-03-27,9
-10817,2022-03-28,9
-10818,2022-03-29,9
-10819,2022-03-30,9
-10820,2022-03-31,9
-10821,2022-04-01,9
-10822,2022-04-02,9
-10823,2022-04-03,9
-10824,2022-04-04,9
-10825,2022-04-05,9
-10826,2022-04-06,9
-10827,2022-04-07,9
-10828,2022-04-08,9
-10829,2022-04-09,9
-10830,2022-04-10,9
-10831,2022-04-11,9
-10832,2022-04-12,9
-10833,2022-04-13,9
-10834,2022-04-14,9
-10835,2022-04-15,9
-10836,2022-04-16,9
-10837,2022-04-17,9
-10838,2022-04-18,9
-10839,2022-04-19,9
-10840,2022-04-20,9
-10841,2022-04-21,9
-10842,2022-04-22,9
-10843,2022-04-23,9
-10844,2022-04-24,9
-10845,2022-04-25,9
-10846,2022-04-26,9
-10847,2022-04-27,9
-10848,2022-04-28,9
-10849,2022-04-29,9
-10850,2022-04-30,9
-10851,2022-05-01,9
-10852,2022-05-02,9
-10853,2022-05-03,9
-10854,2022-05-04,9
-10855,2022-05-05,9
-10856,2022-05-06,9
-10857,2022-05-07,9
-10858,2022-05-08,9
-10859,2022-05-09,9
-10860,2022-05-10,9
-10861,2022-05-11,9
-10862,2022-05-12,9
-10863,2022-05-13,9
-10864,2022-05-14,9
-10865,2022-05-15,9
-10866,2022-05-16,9
-10867,2022-05-17,9
-10868,2022-05-18,9
-10869,2022-05-19,9
-10870,2022-05-20,9
-10871,2022-05-21,9
-10872,2022-05-22,9
-10873,2022-05-23,9
-10874,2022-05-24,9
-10875,2022-05-25,9
-10876,2022-05-26,9
-10877,2022-05-27,9
-10878,2022-05-28,9
-10879,2022-05-29,9
-10880,2022-05-30,9
-10881,2022-05-31,9
-10882,2022-06-01,9
-10883,2022-06-02,9
-10884,2022-06-03,9
-10885,2022-06-04,9
-10886,2022-06-05,9
-10887,2022-06-06,9
-10888,2022-06-07,9
-10889,2022-06-08,9
-10890,2022-06-09,9
-10891,2022-06-10,9
-10892,2022-06-11,9
-10893,2022-06-12,9
-10894,2022-06-13,9
-10895,2022-06-14,9
-10896,2022-06-15,9
-10897,2022-06-16,9
-10898,2022-06-17,9
-10899,2022-06-18,9
-10900,2022-06-19,9
-10901,2022-06-20,9
-10902,2022-06-21,9
-10903,2022-06-22,9
-10904,2022-06-23,9
-10905,2022-06-24,9
-10906,2022-06-25,9
-10907,2022-06-26,9
-10908,2022-06-27,9
-10909,2022-06-28,9
-10910,2022-06-29,9
-10911,2022-06-30,9
-10912,2022-07-01,9
-10913,2022-07-02,9
-10914,2022-07-03,9
-10915,2022-07-04,9
-10916,2022-07-05,9
-10917,2022-07-06,9
-10918,2022-07-07,9
-10919,2022-07-08,9
-10920,2022-07-09,9
-10921,2022-07-10,9
-10922,2022-07-11,9
-10923,2022-07-12,9
-10924,2022-07-13,9
-10925,2022-07-14,9
-10926,2022-07-15,9
-10927,2022-07-16,9
-10928,2022-07-17,9
-10929,2022-07-18,9
-10930,2022-07-19,9
-10931,2022-07-20,9
-10932,2022-07-21,9
-10933,2022-07-22,9
-10934,2022-07-23,9
-10935,2022-07-24,9
-10936,2022-07-25,9
-10937,2022-07-26,9
-10938,2022-07-27,9
-10939,2022-07-28,9
-10940,2022-07-29,9
-10941,2022-07-30,9
-10942,2022-07-31,9
-10943,2022-08-01,9
-10944,2022-08-02,9
-10945,2022-08-03,9
-10946,2022-08-04,9
-10947,2022-08-05,9
-10948,2022-08-06,9
-10949,2022-08-07,9
-10950,2022-08-08,9
-10951,2022-08-09,9
-10952,2022-08-10,9
-10953,2022-08-11,9
-10954,2022-08-12,9
-10955,2022-08-13,9
-10956,2022-08-14,9
-10957,2022-08-15,9
-10958,2022-08-16,9
-10959,2022-08-17,9
-10960,2022-08-18,9
-10961,2022-08-19,9
-10962,2022-08-20,9
-10963,2022-08-21,9
-10964,2022-08-22,9
-10965,2022-08-23,9
-10966,2022-08-24,9
-10967,2022-08-25,9
-10968,2022-08-26,9
-10969,2022-08-27,9
-10970,2022-08-28,9
-10971,2022-08-29,9
-10972,2022-08-30,9
-10973,2022-08-31,9
-10974,2022-09-01,9
-10975,2022-09-02,9
-10976,2022-09-03,9
-10977,2022-09-04,9
-10978,2022-09-05,9
-10979,2022-09-06,9
-10980,2022-09-07,9
-10981,2022-09-08,9
-10982,2022-09-09,9
-10983,2022-09-10,9
-10984,2022-09-11,9
-10985,2022-09-12,9
-10986,2022-09-13,9
-10987,2022-09-14,9
-10988,2022-09-15,9
-10989,2022-09-16,9
-10990,2022-09-17,9
-10991,2022-09-18,9
-10992,2022-09-19,9
-10993,2022-09-20,9
-10994,2022-09-21,9
-10995,2022-09-22,9
-10996,2022-09-23,9
-10997,2022-09-24,9
-10998,2022-09-25,9
-10999,2022-09-26,9
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-02,0
+1002,2020-01-03,0
+1003,2020-01-04,0
+1004,2020-01-05,0
+1005,2020-01-06,0
+1006,2020-01-07,0
+1007,2020-01-08,0
+1008,2020-01-09,0
+1009,2020-01-10,0
+1010,2020-01-11,0
+1011,2020-01-12,0
+1012,2020-01-13,0
+1013,2020-01-14,0
+1014,2020-01-15,0
+1015,2020-01-16,0
+1016,2020-01-17,0
+1017,2020-01-18,0
+1018,2020-01-19,0
+1019,2020-01-20,0
+1020,2020-01-21,0
+1021,2020-01-22,0
+1022,2020-01-23,0
+1023,2020-01-24,0
+1024,2020-01-25,0
+1025,2020-01-26,0
+1026,2020-01-27,0
+1027,2020-01-28,0
+1028,2020-01-29,0
+1029,2020-01-30,0
+1030,2020-01-31,0
+1031,2020-02-01,0
+1032,2020-02-02,0
+1033,2020-02-03,0
+1034,2020-02-04,0
+1035,2020-02-05,0
+1036,2020-02-06,0
+1037,2020-02-07,0
+1038,2020-02-08,0
+1039,2020-02-09,0
+1040,2020-02-10,0
+1041,2020-02-11,0
+1042,2020-02-12,0
+1043,2020-02-13,0
+1044,2020-02-14,0
+1045,2020-02-15,0
+1046,2020-02-16,0
+1047,2020-02-17,0
+1048,2020-02-18,0
+1049,2020-02-19,0
+1050,2020-02-20,0
+1051,2020-02-21,0
+1052,2020-02-22,0
+1053,2020-02-23,0
+1054,2020-02-24,0
+1055,2020-02-25,0
+1056,2020-02-26,0
+1057,2020-02-27,0
+1058,2020-02-28,0
+1059,2020-02-29,0
+1060,2020-03-01,0
+1061,2020-03-02,0
+1062,2020-03-03,0
+1063,2020-03-04,0
+1064,2020-03-05,0
+1065,2020-03-06,0
+1066,2020-03-07,0
+1067,2020-03-08,0
+1068,2020-03-09,0
+1069,2020-03-10,0
+1070,2020-03-11,0
+1071,2020-03-12,0
+1072,2020-03-13,0
+1073,2020-03-14,0
+1074,2020-03-15,0
+1075,2020-03-16,0
+1076,2020-03-17,0
+1077,2020-03-18,0
+1078,2020-03-19,0
+1079,2020-03-20,0
+1080,2020-03-21,0
+1081,2020-03-22,0
+1082,2020-03-23,0
+1083,2020-03-24,0
+1084,2020-03-25,0
+1085,2020-03-26,0
+1086,2020-03-27,0
+1087,2020-03-28,0
+1088,2020-03-29,0
+1089,2020-03-30,0
+1090,2020-03-31,0
+1091,2020-04-01,0
+1092,2020-04-02,0
+1093,2020-04-03,0
+1094,2020-04-04,0
+1095,2020-04-05,0
+1096,2020-04-06,0
+1097,2020-04-07,0
+1098,2020-04-08,0
+1099,2020-04-09,0
+1100,2020-04-10,0
+1101,2020-04-11,0
+1102,2020-04-12,0
+1103,2020-04-13,0
+1104,2020-04-14,0
+1105,2020-04-15,0
+1106,2020-04-16,0
+1107,2020-04-17,0
+1108,2020-04-18,0
+1109,2020-04-19,0
+1110,2020-04-20,0
+1111,2020-04-21,0
+1112,2020-04-22,0
+1113,2020-04-23,0
+1114,2020-04-24,0
+1115,2020-04-25,0
+1116,2020-04-26,0
+1117,2020-04-27,0
+1118,2020-04-28,0
+1119,2020-04-29,0
+1120,2020-04-30,0
+1121,2020-05-01,0
+1122,2020-05-02,0
+1123,2020-05-03,0
+1124,2020-05-04,0
+1125,2020-05-05,0
+1126,2020-05-06,0
+1127,2020-05-07,0
+1128,2020-05-08,0
+1129,2020-05-09,0
+1130,2020-05-10,0
+1131,2020-05-11,0
+1132,2020-05-12,0
+1133,2020-05-13,0
+1134,2020-05-14,0
+1135,2020-05-15,0
+1136,2020-05-16,0
+1137,2020-05-17,0
+1138,2020-05-18,0
+1139,2020-05-19,0
+1140,2020-05-20,0
+1141,2020-05-21,0
+1142,2020-05-22,0
+1143,2020-05-23,0
+1144,2020-05-24,0
+1145,2020-05-25,0
+1146,2020-05-26,0
+1147,2020-05-27,0
+1148,2020-05-28,0
+1149,2020-05-29,0
+1150,2020-05-30,0
+1151,2020-05-31,0
+1152,2020-06-01,0
+1153,2020-06-02,0
+1154,2020-06-03,0
+1155,2020-06-04,0
+1156,2020-06-05,0
+1157,2020-06-06,0
+1158,2020-06-07,0
+1159,2020-06-08,0
+1160,2020-06-09,0
+1161,2020-06-10,0
+1162,2020-06-11,0
+1163,2020-06-12,0
+1164,2020-06-13,0
+1165,2020-06-14,0
+1166,2020-06-15,0
+1167,2020-06-16,0
+1168,2020-06-17,0
+1169,2020-06-18,0
+1170,2020-06-19,0
+1171,2020-06-20,0
+1172,2020-06-21,0
+1173,2020-06-22,0
+1174,2020-06-23,0
+1175,2020-06-24,0
+1176,2020-06-25,0
+1177,2020-06-26,0
+1178,2020-06-27,0
+1179,2020-06-28,0
+1180,2020-06-29,0
+1181,2020-06-30,0
+1182,2020-07-01,0
+1183,2020-07-02,0
+1184,2020-07-03,0
+1185,2020-07-04,0
+1186,2020-07-05,0
+1187,2020-07-06,0
+1188,2020-07-07,0
+1189,2020-07-08,0
+1190,2020-07-09,0
+1191,2020-07-10,0
+1192,2020-07-11,0
+1193,2020-07-12,0
+1194,2020-07-13,0
+1195,2020-07-14,0
+1196,2020-07-15,0
+1197,2020-07-16,0
+1198,2020-07-17,0
+1199,2020-07-18,0
+1200,2020-07-19,0
+1201,2020-07-20,0
+1202,2020-07-21,0
+1203,2020-07-22,0
+1204,2020-07-23,0
+1205,2020-07-24,0
+1206,2020-07-25,0
+1207,2020-07-26,0
+1208,2020-07-27,0
+1209,2020-07-28,0
+1210,2020-07-29,0
+1211,2020-07-30,0
+1212,2020-07-31,0
+1213,2020-08-01,0
+1214,2020-08-02,0
+1215,2020-08-03,0
+1216,2020-08-04,0
+1217,2020-08-05,0
+1218,2020-08-06,0
+1219,2020-08-07,0
+1220,2020-08-08,0
+1221,2020-08-09,0
+1222,2020-08-10,0
+1223,2020-08-11,0
+1224,2020-08-12,0
+1225,2020-08-13,0
+1226,2020-08-14,0
+1227,2020-08-15,0
+1228,2020-08-16,0
+1229,2020-08-17,0
+1230,2020-08-18,0
+1231,2020-08-19,0
+1232,2020-08-20,0
+1233,2020-08-21,0
+1234,2020-08-22,0
+1235,2020-08-23,0
+1236,2020-08-24,0
+1237,2020-08-25,0
+1238,2020-08-26,0
+1239,2020-08-27,0
+1240,2020-08-28,0
+1241,2020-08-29,0
+1242,2020-08-30,0
+1243,2020-08-31,0
+1244,2020-09-01,0
+1245,2020-09-02,0
+1246,2020-09-03,0
+1247,2020-09-04,0
+1248,2020-09-05,0
+1249,2020-09-06,0
+1250,2020-09-07,0
+1251,2020-09-08,0
+1252,2020-09-09,0
+1253,2020-09-10,0
+1254,2020-09-11,0
+1255,2020-09-12,0
+1256,2020-09-13,0
+1257,2020-09-14,0
+1258,2020-09-15,0
+1259,2020-09-16,0
+1260,2020-09-17,0
+1261,2020-09-18,0
+1262,2020-09-19,0
+1263,2020-09-20,0
+1264,2020-09-21,0
+1265,2020-09-22,0
+1266,2020-09-23,0
+1267,2020-09-24,0
+1268,2020-09-25,0
+1269,2020-09-26,0
+1270,2020-09-27,0
+1271,2020-09-28,0
+1272,2020-09-29,0
+1273,2020-09-30,0
+1274,2020-10-01,0
+1275,2020-10-02,0
+1276,2020-10-03,0
+1277,2020-10-04,0
+1278,2020-10-05,0
+1279,2020-10-06,0
+1280,2020-10-07,0
+1281,2020-10-08,0
+1282,2020-10-09,0
+1283,2020-10-10,0
+1284,2020-10-11,0
+1285,2020-10-12,0
+1286,2020-10-13,0
+1287,2020-10-14,0
+1288,2020-10-15,0
+1289,2020-10-16,0
+1290,2020-10-17,0
+1291,2020-10-18,0
+1292,2020-10-19,0
+1293,2020-10-20,0
+1294,2020-10-21,0
+1295,2020-10-22,0
+1296,2020-10-23,0
+1297,2020-10-24,0
+1298,2020-10-25,0
+1299,2020-10-26,0
+1300,2020-10-27,0
+1301,2020-10-28,0
+1302,2020-10-29,0
+1303,2020-10-30,0
+1304,2020-10-31,0
+1305,2020-11-01,0
+1306,2020-11-02,0
+1307,2020-11-03,0
+1308,2020-11-04,0
+1309,2020-11-05,0
+1310,2020-11-06,0
+1311,2020-11-07,0
+1312,2020-11-08,0
+1313,2020-11-09,0
+1314,2020-11-10,0
+1315,2020-11-11,0
+1316,2020-11-12,0
+1317,2020-11-13,0
+1318,2020-11-14,0
+1319,2020-11-15,0
+1320,2020-11-16,0
+1321,2020-11-17,0
+1322,2020-11-18,0
+1323,2020-11-19,0
+1324,2020-11-20,0
+1325,2020-11-21,0
+1326,2020-11-22,0
+1327,2020-11-23,0
+1328,2020-11-24,0
+1329,2020-11-25,0
+1330,2020-11-26,0
+1331,2020-11-27,0
+1332,2020-11-28,0
+1333,2020-11-29,0
+1334,2020-11-30,0
+1335,2020-12-01,0
+1336,2020-12-02,0
+1337,2020-12-03,0
+1338,2020-12-04,0
+1339,2020-12-05,0
+1340,2020-12-06,0
+1341,2020-12-07,0
+1342,2020-12-08,0
+1343,2020-12-09,0
+1344,2020-12-10,0
+1345,2020-12-11,0
+1346,2020-12-12,0
+1347,2020-12-13,0
+1348,2020-12-14,0
+1349,2020-12-15,0
+1350,2020-12-16,0
+1351,2020-12-17,0
+1352,2020-12-18,0
+1353,2020-12-19,0
+1354,2020-12-20,0
+1355,2020-12-21,0
+1356,2020-12-22,0
+1357,2020-12-23,0
+1358,2020-12-24,0
+1359,2020-12-25,0
+1360,2020-12-26,0
+1361,2020-12-27,0
+1362,2020-12-28,0
+1363,2020-12-29,0
+1364,2020-12-30,0
+1365,2020-12-31,0
+1366,2021-01-01,0
+1367,2021-01-02,0
+1368,2021-01-03,0
+1369,2021-01-04,0
+1370,2021-01-05,0
+1371,2021-01-06,0
+1372,2021-01-07,0
+1373,2021-01-08,0
+1374,2021-01-09,0
+1375,2021-01-10,0
+1376,2021-01-11,0
+1377,2021-01-12,0
+1378,2021-01-13,0
+1379,2021-01-14,0
+1380,2021-01-15,0
+1381,2021-01-16,0
+1382,2021-01-17,0
+1383,2021-01-18,0
+1384,2021-01-19,0
+1385,2021-01-20,0
+1386,2021-01-21,0
+1387,2021-01-22,0
+1388,2021-01-23,0
+1389,2021-01-24,0
+1390,2021-01-25,0
+1391,2021-01-26,0
+1392,2021-01-27,0
+1393,2021-01-28,0
+1394,2021-01-29,0
+1395,2021-01-30,0
+1396,2021-01-31,0
+1397,2021-02-01,0
+1398,2021-02-02,0
+1399,2021-02-03,0
+1400,2021-02-04,0
+1401,2021-02-05,0
+1402,2021-02-06,0
+1403,2021-02-07,0
+1404,2021-02-08,0
+1405,2021-02-09,0
+1406,2021-02-10,0
+1407,2021-02-11,0
+1408,2021-02-12,0
+1409,2021-02-13,0
+1410,2021-02-14,0
+1411,2021-02-15,0
+1412,2021-02-16,0
+1413,2021-02-17,0
+1414,2021-02-18,0
+1415,2021-02-19,0
+1416,2021-02-20,0
+1417,2021-02-21,0
+1418,2021-02-22,0
+1419,2021-02-23,0
+1420,2021-02-24,0
+1421,2021-02-25,0
+1422,2021-02-26,0
+1423,2021-02-27,0
+1424,2021-02-28,0
+1425,2021-03-01,0
+1426,2021-03-02,0
+1427,2021-03-03,0
+1428,2021-03-04,0
+1429,2021-03-05,0
+1430,2021-03-06,0
+1431,2021-03-07,0
+1432,2021-03-08,0
+1433,2021-03-09,0
+1434,2021-03-10,0
+1435,2021-03-11,0
+1436,2021-03-12,0
+1437,2021-03-13,0
+1438,2021-03-14,0
+1439,2021-03-15,0
+1440,2021-03-16,0
+1441,2021-03-17,0
+1442,2021-03-18,0
+1443,2021-03-19,0
+1444,2021-03-20,0
+1445,2021-03-21,0
+1446,2021-03-22,0
+1447,2021-03-23,0
+1448,2021-03-24,0
+1449,2021-03-25,0
+1450,2021-03-26,0
+1451,2021-03-27,0
+1452,2021-03-28,0
+1453,2021-03-29,0
+1454,2021-03-30,0
+1455,2021-03-31,0
+1456,2021-04-01,0
+1457,2021-04-02,0
+1458,2021-04-03,0
+1459,2021-04-04,0
+1460,2021-04-05,0
+1461,2021-04-06,0
+1462,2021-04-07,0
+1463,2021-04-08,0
+1464,2021-04-09,0
+1465,2021-04-10,0
+1466,2021-04-11,0
+1467,2021-04-12,0
+1468,2021-04-13,0
+1469,2021-04-14,0
+1470,2021-04-15,0
+1471,2021-04-16,0
+1472,2021-04-17,0
+1473,2021-04-18,0
+1474,2021-04-19,0
+1475,2021-04-20,0
+1476,2021-04-21,0
+1477,2021-04-22,0
+1478,2021-04-23,0
+1479,2021-04-24,0
+1480,2021-04-25,0
+1481,2021-04-26,0
+1482,2021-04-27,0
+1483,2021-04-28,0
+1484,2021-04-29,0
+1485,2021-04-30,0
+1486,2021-05-01,0
+1487,2021-05-02,0
+1488,2021-05-03,0
+1489,2021-05-04,0
+1490,2021-05-05,0
+1491,2021-05-06,0
+1492,2021-05-07,0
+1493,2021-05-08,0
+1494,2021-05-09,0
+1495,2021-05-10,0
+1496,2021-05-11,0
+1497,2021-05-12,0
+1498,2021-05-13,0
+1499,2021-05-14,0
+1500,2021-05-15,0
+1501,2021-05-16,0
+1502,2021-05-17,0
+1503,2021-05-18,0
+1504,2021-05-19,0
+1505,2021-05-20,0
+1506,2021-05-21,0
+1507,2021-05-22,0
+1508,2021-05-23,0
+1509,2021-05-24,0
+1510,2021-05-25,0
+1511,2021-05-26,0
+1512,2021-05-27,0
+1513,2021-05-28,0
+1514,2021-05-29,0
+1515,2021-05-30,0
+1516,2021-05-31,0
+1517,2021-06-01,0
+1518,2021-06-02,0
+1519,2021-06-03,0
+1520,2021-06-04,0
+1521,2021-06-05,0
+1522,2021-06-06,0
+1523,2021-06-07,0
+1524,2021-06-08,0
+1525,2021-06-09,0
+1526,2021-06-10,0
+1527,2021-06-11,0
+1528,2021-06-12,0
+1529,2021-06-13,0
+1530,2021-06-14,0
+1531,2021-06-15,0
+1532,2021-06-16,0
+1533,2021-06-17,0
+1534,2021-06-18,0
+1535,2021-06-19,0
+1536,2021-06-20,0
+1537,2021-06-21,0
+1538,2021-06-22,0
+1539,2021-06-23,0
+1540,2021-06-24,0
+1541,2021-06-25,0
+1542,2021-06-26,0
+1543,2021-06-27,0
+1544,2021-06-28,0
+1545,2021-06-29,0
+1546,2021-06-30,0
+1547,2021-07-01,0
+1548,2021-07-02,0
+1549,2021-07-03,0
+1550,2021-07-04,0
+1551,2021-07-05,0
+1552,2021-07-06,0
+1553,2021-07-07,0
+1554,2021-07-08,0
+1555,2021-07-09,0
+1556,2021-07-10,0
+1557,2021-07-11,0
+1558,2021-07-12,0
+1559,2021-07-13,0
+1560,2021-07-14,0
+1561,2021-07-15,0
+1562,2021-07-16,0
+1563,2021-07-17,0
+1564,2021-07-18,0
+1565,2021-07-19,0
+1566,2021-07-20,0
+1567,2021-07-21,0
+1568,2021-07-22,0
+1569,2021-07-23,0
+1570,2021-07-24,0
+1571,2021-07-25,0
+1572,2021-07-26,0
+1573,2021-07-27,0
+1574,2021-07-28,0
+1575,2021-07-29,0
+1576,2021-07-30,0
+1577,2021-07-31,0
+1578,2021-08-01,0
+1579,2021-08-02,0
+1580,2021-08-03,0
+1581,2021-08-04,0
+1582,2021-08-05,0
+1583,2021-08-06,0
+1584,2021-08-07,0
+1585,2021-08-08,0
+1586,2021-08-09,0
+1587,2021-08-10,0
+1588,2021-08-11,0
+1589,2021-08-12,0
+1590,2021-08-13,0
+1591,2021-08-14,0
+1592,2021-08-15,0
+1593,2021-08-16,0
+1594,2021-08-17,0
+1595,2021-08-18,0
+1596,2021-08-19,0
+1597,2021-08-20,0
+1598,2021-08-21,0
+1599,2021-08-22,0
+1600,2021-08-23,0
+1601,2021-08-24,0
+1602,2021-08-25,0
+1603,2021-08-26,0
+1604,2021-08-27,0
+1605,2021-08-28,0
+1606,2021-08-29,0
+1607,2021-08-30,0
+1608,2021-08-31,0
+1609,2021-09-01,0
+1610,2021-09-02,0
+1611,2021-09-03,0
+1612,2021-09-04,0
+1613,2021-09-05,0
+1614,2021-09-06,0
+1615,2021-09-07,0
+1616,2021-09-08,0
+1617,2021-09-09,0
+1618,2021-09-10,0
+1619,2021-09-11,0
+1620,2021-09-12,0
+1621,2021-09-13,0
+1622,2021-09-14,0
+1623,2021-09-15,0
+1624,2021-09-16,0
+1625,2021-09-17,0
+1626,2021-09-18,0
+1627,2021-09-19,0
+1628,2021-09-20,0
+1629,2021-09-21,0
+1630,2021-09-22,0
+1631,2021-09-23,0
+1632,2021-09-24,0
+1633,2021-09-25,0
+1634,2021-09-26,0
+1635,2021-09-27,0
+1636,2021-09-28,0
+1637,2021-09-29,0
+1638,2021-09-30,0
+1639,2021-10-01,0
+1640,2021-10-02,0
+1641,2021-10-03,0
+1642,2021-10-04,0
+1643,2021-10-05,0
+1644,2021-10-06,0
+1645,2021-10-07,0
+1646,2021-10-08,0
+1647,2021-10-09,0
+1648,2021-10-10,0
+1649,2021-10-11,0
+1650,2021-10-12,0
+1651,2021-10-13,0
+1652,2021-10-14,0
+1653,2021-10-15,0
+1654,2021-10-16,0
+1655,2021-10-17,0
+1656,2021-10-18,0
+1657,2021-10-19,0
+1658,2021-10-20,0
+1659,2021-10-21,0
+1660,2021-10-22,0
+1661,2021-10-23,0
+1662,2021-10-24,0
+1663,2021-10-25,0
+1664,2021-10-26,0
+1665,2021-10-27,0
+1666,2021-10-28,0
+1667,2021-10-29,0
+1668,2021-10-30,0
+1669,2021-10-31,0
+1670,2021-11-01,0
+1671,2021-11-02,0
+1672,2021-11-03,0
+1673,2021-11-04,0
+1674,2021-11-05,0
+1675,2021-11-06,0
+1676,2021-11-07,0
+1677,2021-11-08,0
+1678,2021-11-09,0
+1679,2021-11-10,0
+1680,2021-11-11,0
+1681,2021-11-12,0
+1682,2021-11-13,0
+1683,2021-11-14,0
+1684,2021-11-15,0
+1685,2021-11-16,0
+1686,2021-11-17,0
+1687,2021-11-18,0
+1688,2021-11-19,0
+1689,2021-11-20,0
+1690,2021-11-21,0
+1691,2021-11-22,0
+1692,2021-11-23,0
+1693,2021-11-24,0
+1694,2021-11-25,0
+1695,2021-11-26,0
+1696,2021-11-27,0
+1697,2021-11-28,0
+1698,2021-11-29,0
+1699,2021-11-30,0
+1700,2021-12-01,0
+1701,2021-12-02,0
+1702,2021-12-03,0
+1703,2021-12-04,0
+1704,2021-12-05,0
+1705,2021-12-06,0
+1706,2021-12-07,0
+1707,2021-12-08,0
+1708,2021-12-09,0
+1709,2021-12-10,0
+1710,2021-12-11,0
+1711,2021-12-12,0
+1712,2021-12-13,0
+1713,2021-12-14,0
+1714,2021-12-15,0
+1715,2021-12-16,0
+1716,2021-12-17,0
+1717,2021-12-18,0
+1718,2021-12-19,0
+1719,2021-12-20,0
+1720,2021-12-21,0
+1721,2021-12-22,0
+1722,2021-12-23,0
+1723,2021-12-24,0
+1724,2021-12-25,0
+1725,2021-12-26,0
+1726,2021-12-27,0
+1727,2021-12-28,0
+1728,2021-12-29,0
+1729,2021-12-30,0
+1730,2021-12-31,0
+1731,2022-01-01,0
+1732,2022-01-02,0
+1733,2022-01-03,0
+1734,2022-01-04,0
+1735,2022-01-05,0
+1736,2022-01-06,0
+1737,2022-01-07,0
+1738,2022-01-08,0
+1739,2022-01-09,0
+1740,2022-01-10,0
+1741,2022-01-11,0
+1742,2022-01-12,0
+1743,2022-01-13,0
+1744,2022-01-14,0
+1745,2022-01-15,0
+1746,2022-01-16,0
+1747,2022-01-17,0
+1748,2022-01-18,0
+1749,2022-01-19,0
+1750,2022-01-20,0
+1751,2022-01-21,0
+1752,2022-01-22,0
+1753,2022-01-23,0
+1754,2022-01-24,0
+1755,2022-01-25,0
+1756,2022-01-26,0
+1757,2022-01-27,0
+1758,2022-01-28,0
+1759,2022-01-29,0
+1760,2022-01-30,0
+1761,2022-01-31,0
+1762,2022-02-01,0
+1763,2022-02-02,0
+1764,2022-02-03,0
+1765,2022-02-04,0
+1766,2022-02-05,0
+1767,2022-02-06,0
+1768,2022-02-07,0
+1769,2022-02-08,0
+1770,2022-02-09,0
+1771,2022-02-10,0
+1772,2022-02-11,0
+1773,2022-02-12,0
+1774,2022-02-13,0
+1775,2022-02-14,0
+1776,2022-02-15,0
+1777,2022-02-16,0
+1778,2022-02-17,0
+1779,2022-02-18,0
+1780,2022-02-19,0
+1781,2022-02-20,0
+1782,2022-02-21,0
+1783,2022-02-22,0
+1784,2022-02-23,0
+1785,2022-02-24,0
+1786,2022-02-25,0
+1787,2022-02-26,0
+1788,2022-02-27,0
+1789,2022-02-28,0
+1790,2022-03-01,0
+1791,2022-03-02,0
+1792,2022-03-03,0
+1793,2022-03-04,0
+1794,2022-03-05,0
+1795,2022-03-06,0
+1796,2022-03-07,0
+1797,2022-03-08,0
+1798,2022-03-09,0
+1799,2022-03-10,0
+1800,2022-03-11,0
+1801,2022-03-12,0
+1802,2022-03-13,0
+1803,2022-03-14,0
+1804,2022-03-15,0
+1805,2022-03-16,0
+1806,2022-03-17,0
+1807,2022-03-18,0
+1808,2022-03-19,0
+1809,2022-03-20,0
+1810,2022-03-21,0
+1811,2022-03-22,0
+1812,2022-03-23,0
+1813,2022-03-24,0
+1814,2022-03-25,0
+1815,2022-03-26,0
+1816,2022-03-27,0
+1817,2022-03-28,0
+1818,2022-03-29,0
+1819,2022-03-30,0
+1820,2022-03-31,0
+1821,2022-04-01,0
+1822,2022-04-02,0
+1823,2022-04-03,0
+1824,2022-04-04,0
+1825,2022-04-05,0
+1826,2022-04-06,0
+1827,2022-04-07,0
+1828,2022-04-08,0
+1829,2022-04-09,0
+1830,2022-04-10,0
+1831,2022-04-11,0
+1832,2022-04-12,0
+1833,2022-04-13,0
+1834,2022-04-14,0
+1835,2022-04-15,0
+1836,2022-04-16,0
+1837,2022-04-17,0
+1838,2022-04-18,0
+1839,2022-04-19,0
+1840,2022-04-20,0
+1841,2022-04-21,0
+1842,2022-04-22,0
+1843,2022-04-23,0
+1844,2022-04-24,0
+1845,2022-04-25,0
+1846,2022-04-26,0
+1847,2022-04-27,0
+1848,2022-04-28,0
+1849,2022-04-29,0
+1850,2022-04-30,0
+1851,2022-05-01,0
+1852,2022-05-02,0
+1853,2022-05-03,0
+1854,2022-05-04,0
+1855,2022-05-05,0
+1856,2022-05-06,0
+1857,2022-05-07,0
+1858,2022-05-08,0
+1859,2022-05-09,0
+1860,2022-05-10,0
+1861,2022-05-11,0
+1862,2022-05-12,0
+1863,2022-05-13,0
+1864,2022-05-14,0
+1865,2022-05-15,0
+1866,2022-05-16,0
+1867,2022-05-17,0
+1868,2022-05-18,0
+1869,2022-05-19,0
+1870,2022-05-20,0
+1871,2022-05-21,0
+1872,2022-05-22,0
+1873,2022-05-23,0
+1874,2022-05-24,0
+1875,2022-05-25,0
+1876,2022-05-26,0
+1877,2022-05-27,0
+1878,2022-05-28,0
+1879,2022-05-29,0
+1880,2022-05-30,0
+1881,2022-05-31,0
+1882,2022-06-01,0
+1883,2022-06-02,0
+1884,2022-06-03,0
+1885,2022-06-04,0
+1886,2022-06-05,0
+1887,2022-06-06,0
+1888,2022-06-07,0
+1889,2022-06-08,0
+1890,2022-06-09,0
+1891,2022-06-10,0
+1892,2022-06-11,0
+1893,2022-06-12,0
+1894,2022-06-13,0
+1895,2022-06-14,0
+1896,2022-06-15,0
+1897,2022-06-16,0
+1898,2022-06-17,0
+1899,2022-06-18,0
+1900,2022-06-19,0
+1901,2022-06-20,0
+1902,2022-06-21,0
+1903,2022-06-22,0
+1904,2022-06-23,0
+1905,2022-06-24,0
+1906,2022-06-25,0
+1907,2022-06-26,0
+1908,2022-06-27,0
+1909,2022-06-28,0
+1910,2022-06-29,0
+1911,2022-06-30,0
+1912,2022-07-01,0
+1913,2022-07-02,0
+1914,2022-07-03,0
+1915,2022-07-04,0
+1916,2022-07-05,0
+1917,2022-07-06,0
+1918,2022-07-07,0
+1919,2022-07-08,0
+1920,2022-07-09,0
+1921,2022-07-10,0
+1922,2022-07-11,0
+1923,2022-07-12,0
+1924,2022-07-13,0
+1925,2022-07-14,0
+1926,2022-07-15,0
+1927,2022-07-16,0
+1928,2022-07-17,0
+1929,2022-07-18,0
+1930,2022-07-19,0
+1931,2022-07-20,0
+1932,2022-07-21,0
+1933,2022-07-22,0
+1934,2022-07-23,0
+1935,2022-07-24,0
+1936,2022-07-25,0
+1937,2022-07-26,0
+1938,2022-07-27,0
+1939,2022-07-28,0
+1940,2022-07-29,0
+1941,2022-07-30,0
+1942,2022-07-31,0
+1943,2022-08-01,0
+1944,2022-08-02,0
+1945,2022-08-03,0
+1946,2022-08-04,0
+1947,2022-08-05,0
+1948,2022-08-06,0
+1949,2022-08-07,0
+1950,2022-08-08,0
+1951,2022-08-09,0
+1952,2022-08-10,0
+1953,2022-08-11,0
+1954,2022-08-12,0
+1955,2022-08-13,0
+1956,2022-08-14,0
+1957,2022-08-15,0
+1958,2022-08-16,0
+1959,2022-08-17,0
+1960,2022-08-18,0
+1961,2022-08-19,0
+1962,2022-08-20,0
+1963,2022-08-21,0
+1964,2022-08-22,0
+1965,2022-08-23,0
+1966,2022-08-24,0
+1967,2022-08-25,0
+1968,2022-08-26,0
+1969,2022-08-27,0
+1970,2022-08-28,0
+1971,2022-08-29,0
+1972,2022-08-30,0
+1973,2022-08-31,0
+1974,2022-09-01,0
+1975,2022-09-02,0
+1976,2022-09-03,0
+1977,2022-09-04,0
+1978,2022-09-05,0
+1979,2022-09-06,0
+1980,2022-09-07,0
+1981,2022-09-08,0
+1982,2022-09-09,0
+1983,2022-09-10,0
+1984,2022-09-11,0
+1985,2022-09-12,0
+1986,2022-09-13,0
+1987,2022-09-14,0
+1988,2022-09-15,0
+1989,2022-09-16,0
+1990,2022-09-17,0
+1991,2022-09-18,0
+1992,2022-09-19,0
+1993,2022-09-20,0
+1994,2022-09-21,0
+1995,2022-09-22,0
+1996,2022-09-23,0
+1997,2022-09-24,0
+1998,2022-09-25,0
+1999,2022-09-26,0
+2000,2020-01-01,1
+2001,2020-01-02,1
+2002,2020-01-03,1
+2003,2020-01-04,1
+2004,2020-01-05,1
+2005,2020-01-06,1
+2006,2020-01-07,1
+2007,2020-01-08,1
+2008,2020-01-09,1
+2009,2020-01-10,1
+2010,2020-01-11,1
+2011,2020-01-12,1
+2012,2020-01-13,1
+2013,2020-01-14,1
+2014,2020-01-15,1
+2015,2020-01-16,1
+2016,2020-01-17,1
+2017,2020-01-18,1
+2018,2020-01-19,1
+2019,2020-01-20,1
+2020,2020-01-21,1
+2021,2020-01-22,1
+2022,2020-01-23,1
+2023,2020-01-24,1
+2024,2020-01-25,1
+2025,2020-01-26,1
+2026,2020-01-27,1
+2027,2020-01-28,1
+2028,2020-01-29,1
+2029,2020-01-30,1
+2030,2020-01-31,1
+2031,2020-02-01,1
+2032,2020-02-02,1
+2033,2020-02-03,1
+2034,2020-02-04,1
+2035,2020-02-05,1
+2036,2020-02-06,1
+2037,2020-02-07,1
+2038,2020-02-08,1
+2039,2020-02-09,1
+2040,2020-02-10,1
+2041,2020-02-11,1
+2042,2020-02-12,1
+2043,2020-02-13,1
+2044,2020-02-14,1
+2045,2020-02-15,1
+2046,2020-02-16,1
+2047,2020-02-17,1
+2048,2020-02-18,1
+2049,2020-02-19,1
+2050,2020-02-20,1
+2051,2020-02-21,1
+2052,2020-02-22,1
+2053,2020-02-23,1
+2054,2020-02-24,1
+2055,2020-02-25,1
+2056,2020-02-26,1
+2057,2020-02-27,1
+2058,2020-02-28,1
+2059,2020-02-29,1
+2060,2020-03-01,1
+2061,2020-03-02,1
+2062,2020-03-03,1
+2063,2020-03-04,1
+2064,2020-03-05,1
+2065,2020-03-06,1
+2066,2020-03-07,1
+2067,2020-03-08,1
+2068,2020-03-09,1
+2069,2020-03-10,1
+2070,2020-03-11,1
+2071,2020-03-12,1
+2072,2020-03-13,1
+2073,2020-03-14,1
+2074,2020-03-15,1
+2075,2020-03-16,1
+2076,2020-03-17,1
+2077,2020-03-18,1
+2078,2020-03-19,1
+2079,2020-03-20,1
+2080,2020-03-21,1
+2081,2020-03-22,1
+2082,2020-03-23,1
+2083,2020-03-24,1
+2084,2020-03-25,1
+2085,2020-03-26,1
+2086,2020-03-27,1
+2087,2020-03-28,1
+2088,2020-03-29,1
+2089,2020-03-30,1
+2090,2020-03-31,1
+2091,2020-04-01,1
+2092,2020-04-02,1
+2093,2020-04-03,1
+2094,2020-04-04,1
+2095,2020-04-05,1
+2096,2020-04-06,1
+2097,2020-04-07,1
+2098,2020-04-08,1
+2099,2020-04-09,1
+2100,2020-04-10,1
+2101,2020-04-11,1
+2102,2020-04-12,1
+2103,2020-04-13,1
+2104,2020-04-14,1
+2105,2020-04-15,1
+2106,2020-04-16,1
+2107,2020-04-17,1
+2108,2020-04-18,1
+2109,2020-04-19,1
+2110,2020-04-20,1
+2111,2020-04-21,1
+2112,2020-04-22,1
+2113,2020-04-23,1
+2114,2020-04-24,1
+2115,2020-04-25,1
+2116,2020-04-26,1
+2117,2020-04-27,1
+2118,2020-04-28,1
+2119,2020-04-29,1
+2120,2020-04-30,1
+2121,2020-05-01,1
+2122,2020-05-02,1
+2123,2020-05-03,1
+2124,2020-05-04,1
+2125,2020-05-05,1
+2126,2020-05-06,1
+2127,2020-05-07,1
+2128,2020-05-08,1
+2129,2020-05-09,1
+2130,2020-05-10,1
+2131,2020-05-11,1
+2132,2020-05-12,1
+2133,2020-05-13,1
+2134,2020-05-14,1
+2135,2020-05-15,1
+2136,2020-05-16,1
+2137,2020-05-17,1
+2138,2020-05-18,1
+2139,2020-05-19,1
+2140,2020-05-20,1
+2141,2020-05-21,1
+2142,2020-05-22,1
+2143,2020-05-23,1
+2144,2020-05-24,1
+2145,2020-05-25,1
+2146,2020-05-26,1
+2147,2020-05-27,1
+2148,2020-05-28,1
+2149,2020-05-29,1
+2150,2020-05-30,1
+2151,2020-05-31,1
+2152,2020-06-01,1
+2153,2020-06-02,1
+2154,2020-06-03,1
+2155,2020-06-04,1
+2156,2020-06-05,1
+2157,2020-06-06,1
+2158,2020-06-07,1
+2159,2020-06-08,1
+2160,2020-06-09,1
+2161,2020-06-10,1
+2162,2020-06-11,1
+2163,2020-06-12,1
+2164,2020-06-13,1
+2165,2020-06-14,1
+2166,2020-06-15,1
+2167,2020-06-16,1
+2168,2020-06-17,1
+2169,2020-06-18,1
+2170,2020-06-19,1
+2171,2020-06-20,1
+2172,2020-06-21,1
+2173,2020-06-22,1
+2174,2020-06-23,1
+2175,2020-06-24,1
+2176,2020-06-25,1
+2177,2020-06-26,1
+2178,2020-06-27,1
+2179,2020-06-28,1
+2180,2020-06-29,1
+2181,2020-06-30,1
+2182,2020-07-01,1
+2183,2020-07-02,1
+2184,2020-07-03,1
+2185,2020-07-04,1
+2186,2020-07-05,1
+2187,2020-07-06,1
+2188,2020-07-07,1
+2189,2020-07-08,1
+2190,2020-07-09,1
+2191,2020-07-10,1
+2192,2020-07-11,1
+2193,2020-07-12,1
+2194,2020-07-13,1
+2195,2020-07-14,1
+2196,2020-07-15,1
+2197,2020-07-16,1
+2198,2020-07-17,1
+2199,2020-07-18,1
+2200,2020-07-19,1
+2201,2020-07-20,1
+2202,2020-07-21,1
+2203,2020-07-22,1
+2204,2020-07-23,1
+2205,2020-07-24,1
+2206,2020-07-25,1
+2207,2020-07-26,1
+2208,2020-07-27,1
+2209,2020-07-28,1
+2210,2020-07-29,1
+2211,2020-07-30,1
+2212,2020-07-31,1
+2213,2020-08-01,1
+2214,2020-08-02,1
+2215,2020-08-03,1
+2216,2020-08-04,1
+2217,2020-08-05,1
+2218,2020-08-06,1
+2219,2020-08-07,1
+2220,2020-08-08,1
+2221,2020-08-09,1
+2222,2020-08-10,1
+2223,2020-08-11,1
+2224,2020-08-12,1
+2225,2020-08-13,1
+2226,2020-08-14,1
+2227,2020-08-15,1
+2228,2020-08-16,1
+2229,2020-08-17,1
+2230,2020-08-18,1
+2231,2020-08-19,1
+2232,2020-08-20,1
+2233,2020-08-21,1
+2234,2020-08-22,1
+2235,2020-08-23,1
+2236,2020-08-24,1
+2237,2020-08-25,1
+2238,2020-08-26,1
+2239,2020-08-27,1
+2240,2020-08-28,1
+2241,2020-08-29,1
+2242,2020-08-30,1
+2243,2020-08-31,1
+2244,2020-09-01,1
+2245,2020-09-02,1
+2246,2020-09-03,1
+2247,2020-09-04,1
+2248,2020-09-05,1
+2249,2020-09-06,1
+2250,2020-09-07,1
+2251,2020-09-08,1
+2252,2020-09-09,1
+2253,2020-09-10,1
+2254,2020-09-11,1
+2255,2020-09-12,1
+2256,2020-09-13,1
+2257,2020-09-14,1
+2258,2020-09-15,1
+2259,2020-09-16,1
+2260,2020-09-17,1
+2261,2020-09-18,1
+2262,2020-09-19,1
+2263,2020-09-20,1
+2264,2020-09-21,1
+2265,2020-09-22,1
+2266,2020-09-23,1
+2267,2020-09-24,1
+2268,2020-09-25,1
+2269,2020-09-26,1
+2270,2020-09-27,1
+2271,2020-09-28,1
+2272,2020-09-29,1
+2273,2020-09-30,1
+2274,2020-10-01,1
+2275,2020-10-02,1
+2276,2020-10-03,1
+2277,2020-10-04,1
+2278,2020-10-05,1
+2279,2020-10-06,1
+2280,2020-10-07,1
+2281,2020-10-08,1
+2282,2020-10-09,1
+2283,2020-10-10,1
+2284,2020-10-11,1
+2285,2020-10-12,1
+2286,2020-10-13,1
+2287,2020-10-14,1
+2288,2020-10-15,1
+2289,2020-10-16,1
+2290,2020-10-17,1
+2291,2020-10-18,1
+2292,2020-10-19,1
+2293,2020-10-20,1
+2294,2020-10-21,1
+2295,2020-10-22,1
+2296,2020-10-23,1
+2297,2020-10-24,1
+2298,2020-10-25,1
+2299,2020-10-26,1
+2300,2020-10-27,1
+2301,2020-10-28,1
+2302,2020-10-29,1
+2303,2020-10-30,1
+2304,2020-10-31,1
+2305,2020-11-01,1
+2306,2020-11-02,1
+2307,2020-11-03,1
+2308,2020-11-04,1
+2309,2020-11-05,1
+2310,2020-11-06,1
+2311,2020-11-07,1
+2312,2020-11-08,1
+2313,2020-11-09,1
+2314,2020-11-10,1
+2315,2020-11-11,1
+2316,2020-11-12,1
+2317,2020-11-13,1
+2318,2020-11-14,1
+2319,2020-11-15,1
+2320,2020-11-16,1
+2321,2020-11-17,1
+2322,2020-11-18,1
+2323,2020-11-19,1
+2324,2020-11-20,1
+2325,2020-11-21,1
+2326,2020-11-22,1
+2327,2020-11-23,1
+2328,2020-11-24,1
+2329,2020-11-25,1
+2330,2020-11-26,1
+2331,2020-11-27,1
+2332,2020-11-28,1
+2333,2020-11-29,1
+2334,2020-11-30,1
+2335,2020-12-01,1
+2336,2020-12-02,1
+2337,2020-12-03,1
+2338,2020-12-04,1
+2339,2020-12-05,1
+2340,2020-12-06,1
+2341,2020-12-07,1
+2342,2020-12-08,1
+2343,2020-12-09,1
+2344,2020-12-10,1
+2345,2020-12-11,1
+2346,2020-12-12,1
+2347,2020-12-13,1
+2348,2020-12-14,1
+2349,2020-12-15,1
+2350,2020-12-16,1
+2351,2020-12-17,1
+2352,2020-12-18,1
+2353,2020-12-19,1
+2354,2020-12-20,1
+2355,2020-12-21,1
+2356,2020-12-22,1
+2357,2020-12-23,1
+2358,2020-12-24,1
+2359,2020-12-25,1
+2360,2020-12-26,1
+2361,2020-12-27,1
+2362,2020-12-28,1
+2363,2020-12-29,1
+2364,2020-12-30,1
+2365,2020-12-31,1
+2366,2021-01-01,1
+2367,2021-01-02,1
+2368,2021-01-03,1
+2369,2021-01-04,1
+2370,2021-01-05,1
+2371,2021-01-06,1
+2372,2021-01-07,1
+2373,2021-01-08,1
+2374,2021-01-09,1
+2375,2021-01-10,1
+2376,2021-01-11,1
+2377,2021-01-12,1
+2378,2021-01-13,1
+2379,2021-01-14,1
+2380,2021-01-15,1
+2381,2021-01-16,1
+2382,2021-01-17,1
+2383,2021-01-18,1
+2384,2021-01-19,1
+2385,2021-01-20,1
+2386,2021-01-21,1
+2387,2021-01-22,1
+2388,2021-01-23,1
+2389,2021-01-24,1
+2390,2021-01-25,1
+2391,2021-01-26,1
+2392,2021-01-27,1
+2393,2021-01-28,1
+2394,2021-01-29,1
+2395,2021-01-30,1
+2396,2021-01-31,1
+2397,2021-02-01,1
+2398,2021-02-02,1
+2399,2021-02-03,1
+2400,2021-02-04,1
+2401,2021-02-05,1
+2402,2021-02-06,1
+2403,2021-02-07,1
+2404,2021-02-08,1
+2405,2021-02-09,1
+2406,2021-02-10,1
+2407,2021-02-11,1
+2408,2021-02-12,1
+2409,2021-02-13,1
+2410,2021-02-14,1
+2411,2021-02-15,1
+2412,2021-02-16,1
+2413,2021-02-17,1
+2414,2021-02-18,1
+2415,2021-02-19,1
+2416,2021-02-20,1
+2417,2021-02-21,1
+2418,2021-02-22,1
+2419,2021-02-23,1
+2420,2021-02-24,1
+2421,2021-02-25,1
+2422,2021-02-26,1
+2423,2021-02-27,1
+2424,2021-02-28,1
+2425,2021-03-01,1
+2426,2021-03-02,1
+2427,2021-03-03,1
+2428,2021-03-04,1
+2429,2021-03-05,1
+2430,2021-03-06,1
+2431,2021-03-07,1
+2432,2021-03-08,1
+2433,2021-03-09,1
+2434,2021-03-10,1
+2435,2021-03-11,1
+2436,2021-03-12,1
+2437,2021-03-13,1
+2438,2021-03-14,1
+2439,2021-03-15,1
+2440,2021-03-16,1
+2441,2021-03-17,1
+2442,2021-03-18,1
+2443,2021-03-19,1
+2444,2021-03-20,1
+2445,2021-03-21,1
+2446,2021-03-22,1
+2447,2021-03-23,1
+2448,2021-03-24,1
+2449,2021-03-25,1
+2450,2021-03-26,1
+2451,2021-03-27,1
+2452,2021-03-28,1
+2453,2021-03-29,1
+2454,2021-03-30,1
+2455,2021-03-31,1
+2456,2021-04-01,1
+2457,2021-04-02,1
+2458,2021-04-03,1
+2459,2021-04-04,1
+2460,2021-04-05,1
+2461,2021-04-06,1
+2462,2021-04-07,1
+2463,2021-04-08,1
+2464,2021-04-09,1
+2465,2021-04-10,1
+2466,2021-04-11,1
+2467,2021-04-12,1
+2468,2021-04-13,1
+2469,2021-04-14,1
+2470,2021-04-15,1
+2471,2021-04-16,1
+2472,2021-04-17,1
+2473,2021-04-18,1
+2474,2021-04-19,1
+2475,2021-04-20,1
+2476,2021-04-21,1
+2477,2021-04-22,1
+2478,2021-04-23,1
+2479,2021-04-24,1
+2480,2021-04-25,1
+2481,2021-04-26,1
+2482,2021-04-27,1
+2483,2021-04-28,1
+2484,2021-04-29,1
+2485,2021-04-30,1
+2486,2021-05-01,1
+2487,2021-05-02,1
+2488,2021-05-03,1
+2489,2021-05-04,1
+2490,2021-05-05,1
+2491,2021-05-06,1
+2492,2021-05-07,1
+2493,2021-05-08,1
+2494,2021-05-09,1
+2495,2021-05-10,1
+2496,2021-05-11,1
+2497,2021-05-12,1
+2498,2021-05-13,1
+2499,2021-05-14,1
+2500,2021-05-15,1
+2501,2021-05-16,1
+2502,2021-05-17,1
+2503,2021-05-18,1
+2504,2021-05-19,1
+2505,2021-05-20,1
+2506,2021-05-21,1
+2507,2021-05-22,1
+2508,2021-05-23,1
+2509,2021-05-24,1
+2510,2021-05-25,1
+2511,2021-05-26,1
+2512,2021-05-27,1
+2513,2021-05-28,1
+2514,2021-05-29,1
+2515,2021-05-30,1
+2516,2021-05-31,1
+2517,2021-06-01,1
+2518,2021-06-02,1
+2519,2021-06-03,1
+2520,2021-06-04,1
+2521,2021-06-05,1
+2522,2021-06-06,1
+2523,2021-06-07,1
+2524,2021-06-08,1
+2525,2021-06-09,1
+2526,2021-06-10,1
+2527,2021-06-11,1
+2528,2021-06-12,1
+2529,2021-06-13,1
+2530,2021-06-14,1
+2531,2021-06-15,1
+2532,2021-06-16,1
+2533,2021-06-17,1
+2534,2021-06-18,1
+2535,2021-06-19,1
+2536,2021-06-20,1
+2537,2021-06-21,1
+2538,2021-06-22,1
+2539,2021-06-23,1
+2540,2021-06-24,1
+2541,2021-06-25,1
+2542,2021-06-26,1
+2543,2021-06-27,1
+2544,2021-06-28,1
+2545,2021-06-29,1
+2546,2021-06-30,1
+2547,2021-07-01,1
+2548,2021-07-02,1
+2549,2021-07-03,1
+2550,2021-07-04,1
+2551,2021-07-05,1
+2552,2021-07-06,1
+2553,2021-07-07,1
+2554,2021-07-08,1
+2555,2021-07-09,1
+2556,2021-07-10,1
+2557,2021-07-11,1
+2558,2021-07-12,1
+2559,2021-07-13,1
+2560,2021-07-14,1
+2561,2021-07-15,1
+2562,2021-07-16,1
+2563,2021-07-17,1
+2564,2021-07-18,1
+2565,2021-07-19,1
+2566,2021-07-20,1
+2567,2021-07-21,1
+2568,2021-07-22,1
+2569,2021-07-23,1
+2570,2021-07-24,1
+2571,2021-07-25,1
+2572,2021-07-26,1
+2573,2021-07-27,1
+2574,2021-07-28,1
+2575,2021-07-29,1
+2576,2021-07-30,1
+2577,2021-07-31,1
+2578,2021-08-01,1
+2579,2021-08-02,1
+2580,2021-08-03,1
+2581,2021-08-04,1
+2582,2021-08-05,1
+2583,2021-08-06,1
+2584,2021-08-07,1
+2585,2021-08-08,1
+2586,2021-08-09,1
+2587,2021-08-10,1
+2588,2021-08-11,1
+2589,2021-08-12,1
+2590,2021-08-13,1
+2591,2021-08-14,1
+2592,2021-08-15,1
+2593,2021-08-16,1
+2594,2021-08-17,1
+2595,2021-08-18,1
+2596,2021-08-19,1
+2597,2021-08-20,1
+2598,2021-08-21,1
+2599,2021-08-22,1
+2600,2021-08-23,1
+2601,2021-08-24,1
+2602,2021-08-25,1
+2603,2021-08-26,1
+2604,2021-08-27,1
+2605,2021-08-28,1
+2606,2021-08-29,1
+2607,2021-08-30,1
+2608,2021-08-31,1
+2609,2021-09-01,1
+2610,2021-09-02,1
+2611,2021-09-03,1
+2612,2021-09-04,1
+2613,2021-09-05,1
+2614,2021-09-06,1
+2615,2021-09-07,1
+2616,2021-09-08,1
+2617,2021-09-09,1
+2618,2021-09-10,1
+2619,2021-09-11,1
+2620,2021-09-12,1
+2621,2021-09-13,1
+2622,2021-09-14,1
+2623,2021-09-15,1
+2624,2021-09-16,1
+2625,2021-09-17,1
+2626,2021-09-18,1
+2627,2021-09-19,1
+2628,2021-09-20,1
+2629,2021-09-21,1
+2630,2021-09-22,1
+2631,2021-09-23,1
+2632,2021-09-24,1
+2633,2021-09-25,1
+2634,2021-09-26,1
+2635,2021-09-27,1
+2636,2021-09-28,1
+2637,2021-09-29,1
+2638,2021-09-30,1
+2639,2021-10-01,1
+2640,2021-10-02,1
+2641,2021-10-03,1
+2642,2021-10-04,1
+2643,2021-10-05,1
+2644,2021-10-06,1
+2645,2021-10-07,1
+2646,2021-10-08,1
+2647,2021-10-09,1
+2648,2021-10-10,1
+2649,2021-10-11,1
+2650,2021-10-12,1
+2651,2021-10-13,1
+2652,2021-10-14,1
+2653,2021-10-15,1
+2654,2021-10-16,1
+2655,2021-10-17,1
+2656,2021-10-18,1
+2657,2021-10-19,1
+2658,2021-10-20,1
+2659,2021-10-21,1
+2660,2021-10-22,1
+2661,2021-10-23,1
+2662,2021-10-24,1
+2663,2021-10-25,1
+2664,2021-10-26,1
+2665,2021-10-27,1
+2666,2021-10-28,1
+2667,2021-10-29,1
+2668,2021-10-30,1
+2669,2021-10-31,1
+2670,2021-11-01,1
+2671,2021-11-02,1
+2672,2021-11-03,1
+2673,2021-11-04,1
+2674,2021-11-05,1
+2675,2021-11-06,1
+2676,2021-11-07,1
+2677,2021-11-08,1
+2678,2021-11-09,1
+2679,2021-11-10,1
+2680,2021-11-11,1
+2681,2021-11-12,1
+2682,2021-11-13,1
+2683,2021-11-14,1
+2684,2021-11-15,1
+2685,2021-11-16,1
+2686,2021-11-17,1
+2687,2021-11-18,1
+2688,2021-11-19,1
+2689,2021-11-20,1
+2690,2021-11-21,1
+2691,2021-11-22,1
+2692,2021-11-23,1
+2693,2021-11-24,1
+2694,2021-11-25,1
+2695,2021-11-26,1
+2696,2021-11-27,1
+2697,2021-11-28,1
+2698,2021-11-29,1
+2699,2021-11-30,1
+2700,2021-12-01,1
+2701,2021-12-02,1
+2702,2021-12-03,1
+2703,2021-12-04,1
+2704,2021-12-05,1
+2705,2021-12-06,1
+2706,2021-12-07,1
+2707,2021-12-08,1
+2708,2021-12-09,1
+2709,2021-12-10,1
+2710,2021-12-11,1
+2711,2021-12-12,1
+2712,2021-12-13,1
+2713,2021-12-14,1
+2714,2021-12-15,1
+2715,2021-12-16,1
+2716,2021-12-17,1
+2717,2021-12-18,1
+2718,2021-12-19,1
+2719,2021-12-20,1
+2720,2021-12-21,1
+2721,2021-12-22,1
+2722,2021-12-23,1
+2723,2021-12-24,1
+2724,2021-12-25,1
+2725,2021-12-26,1
+2726,2021-12-27,1
+2727,2021-12-28,1
+2728,2021-12-29,1
+2729,2021-12-30,1
+2730,2021-12-31,1
+2731,2022-01-01,1
+2732,2022-01-02,1
+2733,2022-01-03,1
+2734,2022-01-04,1
+2735,2022-01-05,1
+2736,2022-01-06,1
+2737,2022-01-07,1
+2738,2022-01-08,1
+2739,2022-01-09,1
+2740,2022-01-10,1
+2741,2022-01-11,1
+2742,2022-01-12,1
+2743,2022-01-13,1
+2744,2022-01-14,1
+2745,2022-01-15,1
+2746,2022-01-16,1
+2747,2022-01-17,1
+2748,2022-01-18,1
+2749,2022-01-19,1
+2750,2022-01-20,1
+2751,2022-01-21,1
+2752,2022-01-22,1
+2753,2022-01-23,1
+2754,2022-01-24,1
+2755,2022-01-25,1
+2756,2022-01-26,1
+2757,2022-01-27,1
+2758,2022-01-28,1
+2759,2022-01-29,1
+2760,2022-01-30,1
+2761,2022-01-31,1
+2762,2022-02-01,1
+2763,2022-02-02,1
+2764,2022-02-03,1
+2765,2022-02-04,1
+2766,2022-02-05,1
+2767,2022-02-06,1
+2768,2022-02-07,1
+2769,2022-02-08,1
+2770,2022-02-09,1
+2771,2022-02-10,1
+2772,2022-02-11,1
+2773,2022-02-12,1
+2774,2022-02-13,1
+2775,2022-02-14,1
+2776,2022-02-15,1
+2777,2022-02-16,1
+2778,2022-02-17,1
+2779,2022-02-18,1
+2780,2022-02-19,1
+2781,2022-02-20,1
+2782,2022-02-21,1
+2783,2022-02-22,1
+2784,2022-02-23,1
+2785,2022-02-24,1
+2786,2022-02-25,1
+2787,2022-02-26,1
+2788,2022-02-27,1
+2789,2022-02-28,1
+2790,2022-03-01,1
+2791,2022-03-02,1
+2792,2022-03-03,1
+2793,2022-03-04,1
+2794,2022-03-05,1
+2795,2022-03-06,1
+2796,2022-03-07,1
+2797,2022-03-08,1
+2798,2022-03-09,1
+2799,2022-03-10,1
+2800,2022-03-11,1
+2801,2022-03-12,1
+2802,2022-03-13,1
+2803,2022-03-14,1
+2804,2022-03-15,1
+2805,2022-03-16,1
+2806,2022-03-17,1
+2807,2022-03-18,1
+2808,2022-03-19,1
+2809,2022-03-20,1
+2810,2022-03-21,1
+2811,2022-03-22,1
+2812,2022-03-23,1
+2813,2022-03-24,1
+2814,2022-03-25,1
+2815,2022-03-26,1
+2816,2022-03-27,1
+2817,2022-03-28,1
+2818,2022-03-29,1
+2819,2022-03-30,1
+2820,2022-03-31,1
+2821,2022-04-01,1
+2822,2022-04-02,1
+2823,2022-04-03,1
+2824,2022-04-04,1
+2825,2022-04-05,1
+2826,2022-04-06,1
+2827,2022-04-07,1
+2828,2022-04-08,1
+2829,2022-04-09,1
+2830,2022-04-10,1
+2831,2022-04-11,1
+2832,2022-04-12,1
+2833,2022-04-13,1
+2834,2022-04-14,1
+2835,2022-04-15,1
+2836,2022-04-16,1
+2837,2022-04-17,1
+2838,2022-04-18,1
+2839,2022-04-19,1
+2840,2022-04-20,1
+2841,2022-04-21,1
+2842,2022-04-22,1
+2843,2022-04-23,1
+2844,2022-04-24,1
+2845,2022-04-25,1
+2846,2022-04-26,1
+2847,2022-04-27,1
+2848,2022-04-28,1
+2849,2022-04-29,1
+2850,2022-04-30,1
+2851,2022-05-01,1
+2852,2022-05-02,1
+2853,2022-05-03,1
+2854,2022-05-04,1
+2855,2022-05-05,1
+2856,2022-05-06,1
+2857,2022-05-07,1
+2858,2022-05-08,1
+2859,2022-05-09,1
+2860,2022-05-10,1
+2861,2022-05-11,1
+2862,2022-05-12,1
+2863,2022-05-13,1
+2864,2022-05-14,1
+2865,2022-05-15,1
+2866,2022-05-16,1
+2867,2022-05-17,1
+2868,2022-05-18,1
+2869,2022-05-19,1
+2870,2022-05-20,1
+2871,2022-05-21,1
+2872,2022-05-22,1
+2873,2022-05-23,1
+2874,2022-05-24,1
+2875,2022-05-25,1
+2876,2022-05-26,1
+2877,2022-05-27,1
+2878,2022-05-28,1
+2879,2022-05-29,1
+2880,2022-05-30,1
+2881,2022-05-31,1
+2882,2022-06-01,1
+2883,2022-06-02,1
+2884,2022-06-03,1
+2885,2022-06-04,1
+2886,2022-06-05,1
+2887,2022-06-06,1
+2888,2022-06-07,1
+2889,2022-06-08,1
+2890,2022-06-09,1
+2891,2022-06-10,1
+2892,2022-06-11,1
+2893,2022-06-12,1
+2894,2022-06-13,1
+2895,2022-06-14,1
+2896,2022-06-15,1
+2897,2022-06-16,1
+2898,2022-06-17,1
+2899,2022-06-18,1
+2900,2022-06-19,1
+2901,2022-06-20,1
+2902,2022-06-21,1
+2903,2022-06-22,1
+2904,2022-06-23,1
+2905,2022-06-24,1
+2906,2022-06-25,1
+2907,2022-06-26,1
+2908,2022-06-27,1
+2909,2022-06-28,1
+2910,2022-06-29,1
+2911,2022-06-30,1
+2912,2022-07-01,1
+2913,2022-07-02,1
+2914,2022-07-03,1
+2915,2022-07-04,1
+2916,2022-07-05,1
+2917,2022-07-06,1
+2918,2022-07-07,1
+2919,2022-07-08,1
+2920,2022-07-09,1
+2921,2022-07-10,1
+2922,2022-07-11,1
+2923,2022-07-12,1
+2924,2022-07-13,1
+2925,2022-07-14,1
+2926,2022-07-15,1
+2927,2022-07-16,1
+2928,2022-07-17,1
+2929,2022-07-18,1
+2930,2022-07-19,1
+2931,2022-07-20,1
+2932,2022-07-21,1
+2933,2022-07-22,1
+2934,2022-07-23,1
+2935,2022-07-24,1
+2936,2022-07-25,1
+2937,2022-07-26,1
+2938,2022-07-27,1
+2939,2022-07-28,1
+2940,2022-07-29,1
+2941,2022-07-30,1
+2942,2022-07-31,1
+2943,2022-08-01,1
+2944,2022-08-02,1
+2945,2022-08-03,1
+2946,2022-08-04,1
+2947,2022-08-05,1
+2948,2022-08-06,1
+2949,2022-08-07,1
+2950,2022-08-08,1
+2951,2022-08-09,1
+2952,2022-08-10,1
+2953,2022-08-11,1
+2954,2022-08-12,1
+2955,2022-08-13,1
+2956,2022-08-14,1
+2957,2022-08-15,1
+2958,2022-08-16,1
+2959,2022-08-17,1
+2960,2022-08-18,1
+2961,2022-08-19,1
+2962,2022-08-20,1
+2963,2022-08-21,1
+2964,2022-08-22,1
+2965,2022-08-23,1
+2966,2022-08-24,1
+2967,2022-08-25,1
+2968,2022-08-26,1
+2969,2022-08-27,1
+2970,2022-08-28,1
+2971,2022-08-29,1
+2972,2022-08-30,1
+2973,2022-08-31,1
+2974,2022-09-01,1
+2975,2022-09-02,1
+2976,2022-09-03,1
+2977,2022-09-04,1
+2978,2022-09-05,1
+2979,2022-09-06,1
+2980,2022-09-07,1
+2981,2022-09-08,1
+2982,2022-09-09,1
+2983,2022-09-10,1
+2984,2022-09-11,1
+2985,2022-09-12,1
+2986,2022-09-13,1
+2987,2022-09-14,1
+2988,2022-09-15,1
+2989,2022-09-16,1
+2990,2022-09-17,1
+2991,2022-09-18,1
+2992,2022-09-19,1
+2993,2022-09-20,1
+2994,2022-09-21,1
+2995,2022-09-22,1
+2996,2022-09-23,1
+2997,2022-09-24,1
+2998,2022-09-25,1
+2999,2022-09-26,1
+3000,2020-01-01,2
+3001,2020-01-02,2
+3002,2020-01-03,2
+3003,2020-01-04,2
+3004,2020-01-05,2
+3005,2020-01-06,2
+3006,2020-01-07,2
+3007,2020-01-08,2
+3008,2020-01-09,2
+3009,2020-01-10,2
+3010,2020-01-11,2
+3011,2020-01-12,2
+3012,2020-01-13,2
+3013,2020-01-14,2
+3014,2020-01-15,2
+3015,2020-01-16,2
+3016,2020-01-17,2
+3017,2020-01-18,2
+3018,2020-01-19,2
+3019,2020-01-20,2
+3020,2020-01-21,2
+3021,2020-01-22,2
+3022,2020-01-23,2
+3023,2020-01-24,2
+3024,2020-01-25,2
+3025,2020-01-26,2
+3026,2020-01-27,2
+3027,2020-01-28,2
+3028,2020-01-29,2
+3029,2020-01-30,2
+3030,2020-01-31,2
+3031,2020-02-01,2
+3032,2020-02-02,2
+3033,2020-02-03,2
+3034,2020-02-04,2
+3035,2020-02-05,2
+3036,2020-02-06,2
+3037,2020-02-07,2
+3038,2020-02-08,2
+3039,2020-02-09,2
+3040,2020-02-10,2
+3041,2020-02-11,2
+3042,2020-02-12,2
+3043,2020-02-13,2
+3044,2020-02-14,2
+3045,2020-02-15,2
+3046,2020-02-16,2
+3047,2020-02-17,2
+3048,2020-02-18,2
+3049,2020-02-19,2
+3050,2020-02-20,2
+3051,2020-02-21,2
+3052,2020-02-22,2
+3053,2020-02-23,2
+3054,2020-02-24,2
+3055,2020-02-25,2
+3056,2020-02-26,2
+3057,2020-02-27,2
+3058,2020-02-28,2
+3059,2020-02-29,2
+3060,2020-03-01,2
+3061,2020-03-02,2
+3062,2020-03-03,2
+3063,2020-03-04,2
+3064,2020-03-05,2
+3065,2020-03-06,2
+3066,2020-03-07,2
+3067,2020-03-08,2
+3068,2020-03-09,2
+3069,2020-03-10,2
+3070,2020-03-11,2
+3071,2020-03-12,2
+3072,2020-03-13,2
+3073,2020-03-14,2
+3074,2020-03-15,2
+3075,2020-03-16,2
+3076,2020-03-17,2
+3077,2020-03-18,2
+3078,2020-03-19,2
+3079,2020-03-20,2
+3080,2020-03-21,2
+3081,2020-03-22,2
+3082,2020-03-23,2
+3083,2020-03-24,2
+3084,2020-03-25,2
+3085,2020-03-26,2
+3086,2020-03-27,2
+3087,2020-03-28,2
+3088,2020-03-29,2
+3089,2020-03-30,2
+3090,2020-03-31,2
+3091,2020-04-01,2
+3092,2020-04-02,2
+3093,2020-04-03,2
+3094,2020-04-04,2
+3095,2020-04-05,2
+3096,2020-04-06,2
+3097,2020-04-07,2
+3098,2020-04-08,2
+3099,2020-04-09,2
+3100,2020-04-10,2
+3101,2020-04-11,2
+3102,2020-04-12,2
+3103,2020-04-13,2
+3104,2020-04-14,2
+3105,2020-04-15,2
+3106,2020-04-16,2
+3107,2020-04-17,2
+3108,2020-04-18,2
+3109,2020-04-19,2
+3110,2020-04-20,2
+3111,2020-04-21,2
+3112,2020-04-22,2
+3113,2020-04-23,2
+3114,2020-04-24,2
+3115,2020-04-25,2
+3116,2020-04-26,2
+3117,2020-04-27,2
+3118,2020-04-28,2
+3119,2020-04-29,2
+3120,2020-04-30,2
+3121,2020-05-01,2
+3122,2020-05-02,2
+3123,2020-05-03,2
+3124,2020-05-04,2
+3125,2020-05-05,2
+3126,2020-05-06,2
+3127,2020-05-07,2
+3128,2020-05-08,2
+3129,2020-05-09,2
+3130,2020-05-10,2
+3131,2020-05-11,2
+3132,2020-05-12,2
+3133,2020-05-13,2
+3134,2020-05-14,2
+3135,2020-05-15,2
+3136,2020-05-16,2
+3137,2020-05-17,2
+3138,2020-05-18,2
+3139,2020-05-19,2
+3140,2020-05-20,2
+3141,2020-05-21,2
+3142,2020-05-22,2
+3143,2020-05-23,2
+3144,2020-05-24,2
+3145,2020-05-25,2
+3146,2020-05-26,2
+3147,2020-05-27,2
+3148,2020-05-28,2
+3149,2020-05-29,2
+3150,2020-05-30,2
+3151,2020-05-31,2
+3152,2020-06-01,2
+3153,2020-06-02,2
+3154,2020-06-03,2
+3155,2020-06-04,2
+3156,2020-06-05,2
+3157,2020-06-06,2
+3158,2020-06-07,2
+3159,2020-06-08,2
+3160,2020-06-09,2
+3161,2020-06-10,2
+3162,2020-06-11,2
+3163,2020-06-12,2
+3164,2020-06-13,2
+3165,2020-06-14,2
+3166,2020-06-15,2
+3167,2020-06-16,2
+3168,2020-06-17,2
+3169,2020-06-18,2
+3170,2020-06-19,2
+3171,2020-06-20,2
+3172,2020-06-21,2
+3173,2020-06-22,2
+3174,2020-06-23,2
+3175,2020-06-24,2
+3176,2020-06-25,2
+3177,2020-06-26,2
+3178,2020-06-27,2
+3179,2020-06-28,2
+3180,2020-06-29,2
+3181,2020-06-30,2
+3182,2020-07-01,2
+3183,2020-07-02,2
+3184,2020-07-03,2
+3185,2020-07-04,2
+3186,2020-07-05,2
+3187,2020-07-06,2
+3188,2020-07-07,2
+3189,2020-07-08,2
+3190,2020-07-09,2
+3191,2020-07-10,2
+3192,2020-07-11,2
+3193,2020-07-12,2
+3194,2020-07-13,2
+3195,2020-07-14,2
+3196,2020-07-15,2
+3197,2020-07-16,2
+3198,2020-07-17,2
+3199,2020-07-18,2
+3200,2020-07-19,2
+3201,2020-07-20,2
+3202,2020-07-21,2
+3203,2020-07-22,2
+3204,2020-07-23,2
+3205,2020-07-24,2
+3206,2020-07-25,2
+3207,2020-07-26,2
+3208,2020-07-27,2
+3209,2020-07-28,2
+3210,2020-07-29,2
+3211,2020-07-30,2
+3212,2020-07-31,2
+3213,2020-08-01,2
+3214,2020-08-02,2
+3215,2020-08-03,2
+3216,2020-08-04,2
+3217,2020-08-05,2
+3218,2020-08-06,2
+3219,2020-08-07,2
+3220,2020-08-08,2
+3221,2020-08-09,2
+3222,2020-08-10,2
+3223,2020-08-11,2
+3224,2020-08-12,2
+3225,2020-08-13,2
+3226,2020-08-14,2
+3227,2020-08-15,2
+3228,2020-08-16,2
+3229,2020-08-17,2
+3230,2020-08-18,2
+3231,2020-08-19,2
+3232,2020-08-20,2
+3233,2020-08-21,2
+3234,2020-08-22,2
+3235,2020-08-23,2
+3236,2020-08-24,2
+3237,2020-08-25,2
+3238,2020-08-26,2
+3239,2020-08-27,2
+3240,2020-08-28,2
+3241,2020-08-29,2
+3242,2020-08-30,2
+3243,2020-08-31,2
+3244,2020-09-01,2
+3245,2020-09-02,2
+3246,2020-09-03,2
+3247,2020-09-04,2
+3248,2020-09-05,2
+3249,2020-09-06,2
+3250,2020-09-07,2
+3251,2020-09-08,2
+3252,2020-09-09,2
+3253,2020-09-10,2
+3254,2020-09-11,2
+3255,2020-09-12,2
+3256,2020-09-13,2
+3257,2020-09-14,2
+3258,2020-09-15,2
+3259,2020-09-16,2
+3260,2020-09-17,2
+3261,2020-09-18,2
+3262,2020-09-19,2
+3263,2020-09-20,2
+3264,2020-09-21,2
+3265,2020-09-22,2
+3266,2020-09-23,2
+3267,2020-09-24,2
+3268,2020-09-25,2
+3269,2020-09-26,2
+3270,2020-09-27,2
+3271,2020-09-28,2
+3272,2020-09-29,2
+3273,2020-09-30,2
+3274,2020-10-01,2
+3275,2020-10-02,2
+3276,2020-10-03,2
+3277,2020-10-04,2
+3278,2020-10-05,2
+3279,2020-10-06,2
+3280,2020-10-07,2
+3281,2020-10-08,2
+3282,2020-10-09,2
+3283,2020-10-10,2
+3284,2020-10-11,2
+3285,2020-10-12,2
+3286,2020-10-13,2
+3287,2020-10-14,2
+3288,2020-10-15,2
+3289,2020-10-16,2
+3290,2020-10-17,2
+3291,2020-10-18,2
+3292,2020-10-19,2
+3293,2020-10-20,2
+3294,2020-10-21,2
+3295,2020-10-22,2
+3296,2020-10-23,2
+3297,2020-10-24,2
+3298,2020-10-25,2
+3299,2020-10-26,2
+3300,2020-10-27,2
+3301,2020-10-28,2
+3302,2020-10-29,2
+3303,2020-10-30,2
+3304,2020-10-31,2
+3305,2020-11-01,2
+3306,2020-11-02,2
+3307,2020-11-03,2
+3308,2020-11-04,2
+3309,2020-11-05,2
+3310,2020-11-06,2
+3311,2020-11-07,2
+3312,2020-11-08,2
+3313,2020-11-09,2
+3314,2020-11-10,2
+3315,2020-11-11,2
+3316,2020-11-12,2
+3317,2020-11-13,2
+3318,2020-11-14,2
+3319,2020-11-15,2
+3320,2020-11-16,2
+3321,2020-11-17,2
+3322,2020-11-18,2
+3323,2020-11-19,2
+3324,2020-11-20,2
+3325,2020-11-21,2
+3326,2020-11-22,2
+3327,2020-11-23,2
+3328,2020-11-24,2
+3329,2020-11-25,2
+3330,2020-11-26,2
+3331,2020-11-27,2
+3332,2020-11-28,2
+3333,2020-11-29,2
+3334,2020-11-30,2
+3335,2020-12-01,2
+3336,2020-12-02,2
+3337,2020-12-03,2
+3338,2020-12-04,2
+3339,2020-12-05,2
+3340,2020-12-06,2
+3341,2020-12-07,2
+3342,2020-12-08,2
+3343,2020-12-09,2
+3344,2020-12-10,2
+3345,2020-12-11,2
+3346,2020-12-12,2
+3347,2020-12-13,2
+3348,2020-12-14,2
+3349,2020-12-15,2
+3350,2020-12-16,2
+3351,2020-12-17,2
+3352,2020-12-18,2
+3353,2020-12-19,2
+3354,2020-12-20,2
+3355,2020-12-21,2
+3356,2020-12-22,2
+3357,2020-12-23,2
+3358,2020-12-24,2
+3359,2020-12-25,2
+3360,2020-12-26,2
+3361,2020-12-27,2
+3362,2020-12-28,2
+3363,2020-12-29,2
+3364,2020-12-30,2
+3365,2020-12-31,2
+3366,2021-01-01,2
+3367,2021-01-02,2
+3368,2021-01-03,2
+3369,2021-01-04,2
+3370,2021-01-05,2
+3371,2021-01-06,2
+3372,2021-01-07,2
+3373,2021-01-08,2
+3374,2021-01-09,2
+3375,2021-01-10,2
+3376,2021-01-11,2
+3377,2021-01-12,2
+3378,2021-01-13,2
+3379,2021-01-14,2
+3380,2021-01-15,2
+3381,2021-01-16,2
+3382,2021-01-17,2
+3383,2021-01-18,2
+3384,2021-01-19,2
+3385,2021-01-20,2
+3386,2021-01-21,2
+3387,2021-01-22,2
+3388,2021-01-23,2
+3389,2021-01-24,2
+3390,2021-01-25,2
+3391,2021-01-26,2
+3392,2021-01-27,2
+3393,2021-01-28,2
+3394,2021-01-29,2
+3395,2021-01-30,2
+3396,2021-01-31,2
+3397,2021-02-01,2
+3398,2021-02-02,2
+3399,2021-02-03,2
+3400,2021-02-04,2
+3401,2021-02-05,2
+3402,2021-02-06,2
+3403,2021-02-07,2
+3404,2021-02-08,2
+3405,2021-02-09,2
+3406,2021-02-10,2
+3407,2021-02-11,2
+3408,2021-02-12,2
+3409,2021-02-13,2
+3410,2021-02-14,2
+3411,2021-02-15,2
+3412,2021-02-16,2
+3413,2021-02-17,2
+3414,2021-02-18,2
+3415,2021-02-19,2
+3416,2021-02-20,2
+3417,2021-02-21,2
+3418,2021-02-22,2
+3419,2021-02-23,2
+3420,2021-02-24,2
+3421,2021-02-25,2
+3422,2021-02-26,2
+3423,2021-02-27,2
+3424,2021-02-28,2
+3425,2021-03-01,2
+3426,2021-03-02,2
+3427,2021-03-03,2
+3428,2021-03-04,2
+3429,2021-03-05,2
+3430,2021-03-06,2
+3431,2021-03-07,2
+3432,2021-03-08,2
+3433,2021-03-09,2
+3434,2021-03-10,2
+3435,2021-03-11,2
+3436,2021-03-12,2
+3437,2021-03-13,2
+3438,2021-03-14,2
+3439,2021-03-15,2
+3440,2021-03-16,2
+3441,2021-03-17,2
+3442,2021-03-18,2
+3443,2021-03-19,2
+3444,2021-03-20,2
+3445,2021-03-21,2
+3446,2021-03-22,2
+3447,2021-03-23,2
+3448,2021-03-24,2
+3449,2021-03-25,2
+3450,2021-03-26,2
+3451,2021-03-27,2
+3452,2021-03-28,2
+3453,2021-03-29,2
+3454,2021-03-30,2
+3455,2021-03-31,2
+3456,2021-04-01,2
+3457,2021-04-02,2
+3458,2021-04-03,2
+3459,2021-04-04,2
+3460,2021-04-05,2
+3461,2021-04-06,2
+3462,2021-04-07,2
+3463,2021-04-08,2
+3464,2021-04-09,2
+3465,2021-04-10,2
+3466,2021-04-11,2
+3467,2021-04-12,2
+3468,2021-04-13,2
+3469,2021-04-14,2
+3470,2021-04-15,2
+3471,2021-04-16,2
+3472,2021-04-17,2
+3473,2021-04-18,2
+3474,2021-04-19,2
+3475,2021-04-20,2
+3476,2021-04-21,2
+3477,2021-04-22,2
+3478,2021-04-23,2
+3479,2021-04-24,2
+3480,2021-04-25,2
+3481,2021-04-26,2
+3482,2021-04-27,2
+3483,2021-04-28,2
+3484,2021-04-29,2
+3485,2021-04-30,2
+3486,2021-05-01,2
+3487,2021-05-02,2
+3488,2021-05-03,2
+3489,2021-05-04,2
+3490,2021-05-05,2
+3491,2021-05-06,2
+3492,2021-05-07,2
+3493,2021-05-08,2
+3494,2021-05-09,2
+3495,2021-05-10,2
+3496,2021-05-11,2
+3497,2021-05-12,2
+3498,2021-05-13,2
+3499,2021-05-14,2
+3500,2021-05-15,2
+3501,2021-05-16,2
+3502,2021-05-17,2
+3503,2021-05-18,2
+3504,2021-05-19,2
+3505,2021-05-20,2
+3506,2021-05-21,2
+3507,2021-05-22,2
+3508,2021-05-23,2
+3509,2021-05-24,2
+3510,2021-05-25,2
+3511,2021-05-26,2
+3512,2021-05-27,2
+3513,2021-05-28,2
+3514,2021-05-29,2
+3515,2021-05-30,2
+3516,2021-05-31,2
+3517,2021-06-01,2
+3518,2021-06-02,2
+3519,2021-06-03,2
+3520,2021-06-04,2
+3521,2021-06-05,2
+3522,2021-06-06,2
+3523,2021-06-07,2
+3524,2021-06-08,2
+3525,2021-06-09,2
+3526,2021-06-10,2
+3527,2021-06-11,2
+3528,2021-06-12,2
+3529,2021-06-13,2
+3530,2021-06-14,2
+3531,2021-06-15,2
+3532,2021-06-16,2
+3533,2021-06-17,2
+3534,2021-06-18,2
+3535,2021-06-19,2
+3536,2021-06-20,2
+3537,2021-06-21,2
+3538,2021-06-22,2
+3539,2021-06-23,2
+3540,2021-06-24,2
+3541,2021-06-25,2
+3542,2021-06-26,2
+3543,2021-06-27,2
+3544,2021-06-28,2
+3545,2021-06-29,2
+3546,2021-06-30,2
+3547,2021-07-01,2
+3548,2021-07-02,2
+3549,2021-07-03,2
+3550,2021-07-04,2
+3551,2021-07-05,2
+3552,2021-07-06,2
+3553,2021-07-07,2
+3554,2021-07-08,2
+3555,2021-07-09,2
+3556,2021-07-10,2
+3557,2021-07-11,2
+3558,2021-07-12,2
+3559,2021-07-13,2
+3560,2021-07-14,2
+3561,2021-07-15,2
+3562,2021-07-16,2
+3563,2021-07-17,2
+3564,2021-07-18,2
+3565,2021-07-19,2
+3566,2021-07-20,2
+3567,2021-07-21,2
+3568,2021-07-22,2
+3569,2021-07-23,2
+3570,2021-07-24,2
+3571,2021-07-25,2
+3572,2021-07-26,2
+3573,2021-07-27,2
+3574,2021-07-28,2
+3575,2021-07-29,2
+3576,2021-07-30,2
+3577,2021-07-31,2
+3578,2021-08-01,2
+3579,2021-08-02,2
+3580,2021-08-03,2
+3581,2021-08-04,2
+3582,2021-08-05,2
+3583,2021-08-06,2
+3584,2021-08-07,2
+3585,2021-08-08,2
+3586,2021-08-09,2
+3587,2021-08-10,2
+3588,2021-08-11,2
+3589,2021-08-12,2
+3590,2021-08-13,2
+3591,2021-08-14,2
+3592,2021-08-15,2
+3593,2021-08-16,2
+3594,2021-08-17,2
+3595,2021-08-18,2
+3596,2021-08-19,2
+3597,2021-08-20,2
+3598,2021-08-21,2
+3599,2021-08-22,2
+3600,2021-08-23,2
+3601,2021-08-24,2
+3602,2021-08-25,2
+3603,2021-08-26,2
+3604,2021-08-27,2
+3605,2021-08-28,2
+3606,2021-08-29,2
+3607,2021-08-30,2
+3608,2021-08-31,2
+3609,2021-09-01,2
+3610,2021-09-02,2
+3611,2021-09-03,2
+3612,2021-09-04,2
+3613,2021-09-05,2
+3614,2021-09-06,2
+3615,2021-09-07,2
+3616,2021-09-08,2
+3617,2021-09-09,2
+3618,2021-09-10,2
+3619,2021-09-11,2
+3620,2021-09-12,2
+3621,2021-09-13,2
+3622,2021-09-14,2
+3623,2021-09-15,2
+3624,2021-09-16,2
+3625,2021-09-17,2
+3626,2021-09-18,2
+3627,2021-09-19,2
+3628,2021-09-20,2
+3629,2021-09-21,2
+3630,2021-09-22,2
+3631,2021-09-23,2
+3632,2021-09-24,2
+3633,2021-09-25,2
+3634,2021-09-26,2
+3635,2021-09-27,2
+3636,2021-09-28,2
+3637,2021-09-29,2
+3638,2021-09-30,2
+3639,2021-10-01,2
+3640,2021-10-02,2
+3641,2021-10-03,2
+3642,2021-10-04,2
+3643,2021-10-05,2
+3644,2021-10-06,2
+3645,2021-10-07,2
+3646,2021-10-08,2
+3647,2021-10-09,2
+3648,2021-10-10,2
+3649,2021-10-11,2
+3650,2021-10-12,2
+3651,2021-10-13,2
+3652,2021-10-14,2
+3653,2021-10-15,2
+3654,2021-10-16,2
+3655,2021-10-17,2
+3656,2021-10-18,2
+3657,2021-10-19,2
+3658,2021-10-20,2
+3659,2021-10-21,2
+3660,2021-10-22,2
+3661,2021-10-23,2
+3662,2021-10-24,2
+3663,2021-10-25,2
+3664,2021-10-26,2
+3665,2021-10-27,2
+3666,2021-10-28,2
+3667,2021-10-29,2
+3668,2021-10-30,2
+3669,2021-10-31,2
+3670,2021-11-01,2
+3671,2021-11-02,2
+3672,2021-11-03,2
+3673,2021-11-04,2
+3674,2021-11-05,2
+3675,2021-11-06,2
+3676,2021-11-07,2
+3677,2021-11-08,2
+3678,2021-11-09,2
+3679,2021-11-10,2
+3680,2021-11-11,2
+3681,2021-11-12,2
+3682,2021-11-13,2
+3683,2021-11-14,2
+3684,2021-11-15,2
+3685,2021-11-16,2
+3686,2021-11-17,2
+3687,2021-11-18,2
+3688,2021-11-19,2
+3689,2021-11-20,2
+3690,2021-11-21,2
+3691,2021-11-22,2
+3692,2021-11-23,2
+3693,2021-11-24,2
+3694,2021-11-25,2
+3695,2021-11-26,2
+3696,2021-11-27,2
+3697,2021-11-28,2
+3698,2021-11-29,2
+3699,2021-11-30,2
+3700,2021-12-01,2
+3701,2021-12-02,2
+3702,2021-12-03,2
+3703,2021-12-04,2
+3704,2021-12-05,2
+3705,2021-12-06,2
+3706,2021-12-07,2
+3707,2021-12-08,2
+3708,2021-12-09,2
+3709,2021-12-10,2
+3710,2021-12-11,2
+3711,2021-12-12,2
+3712,2021-12-13,2
+3713,2021-12-14,2
+3714,2021-12-15,2
+3715,2021-12-16,2
+3716,2021-12-17,2
+3717,2021-12-18,2
+3718,2021-12-19,2
+3719,2021-12-20,2
+3720,2021-12-21,2
+3721,2021-12-22,2
+3722,2021-12-23,2
+3723,2021-12-24,2
+3724,2021-12-25,2
+3725,2021-12-26,2
+3726,2021-12-27,2
+3727,2021-12-28,2
+3728,2021-12-29,2
+3729,2021-12-30,2
+3730,2021-12-31,2
+3731,2022-01-01,2
+3732,2022-01-02,2
+3733,2022-01-03,2
+3734,2022-01-04,2
+3735,2022-01-05,2
+3736,2022-01-06,2
+3737,2022-01-07,2
+3738,2022-01-08,2
+3739,2022-01-09,2
+3740,2022-01-10,2
+3741,2022-01-11,2
+3742,2022-01-12,2
+3743,2022-01-13,2
+3744,2022-01-14,2
+3745,2022-01-15,2
+3746,2022-01-16,2
+3747,2022-01-17,2
+3748,2022-01-18,2
+3749,2022-01-19,2
+3750,2022-01-20,2
+3751,2022-01-21,2
+3752,2022-01-22,2
+3753,2022-01-23,2
+3754,2022-01-24,2
+3755,2022-01-25,2
+3756,2022-01-26,2
+3757,2022-01-27,2
+3758,2022-01-28,2
+3759,2022-01-29,2
+3760,2022-01-30,2
+3761,2022-01-31,2
+3762,2022-02-01,2
+3763,2022-02-02,2
+3764,2022-02-03,2
+3765,2022-02-04,2
+3766,2022-02-05,2
+3767,2022-02-06,2
+3768,2022-02-07,2
+3769,2022-02-08,2
+3770,2022-02-09,2
+3771,2022-02-10,2
+3772,2022-02-11,2
+3773,2022-02-12,2
+3774,2022-02-13,2
+3775,2022-02-14,2
+3776,2022-02-15,2
+3777,2022-02-16,2
+3778,2022-02-17,2
+3779,2022-02-18,2
+3780,2022-02-19,2
+3781,2022-02-20,2
+3782,2022-02-21,2
+3783,2022-02-22,2
+3784,2022-02-23,2
+3785,2022-02-24,2
+3786,2022-02-25,2
+3787,2022-02-26,2
+3788,2022-02-27,2
+3789,2022-02-28,2
+3790,2022-03-01,2
+3791,2022-03-02,2
+3792,2022-03-03,2
+3793,2022-03-04,2
+3794,2022-03-05,2
+3795,2022-03-06,2
+3796,2022-03-07,2
+3797,2022-03-08,2
+3798,2022-03-09,2
+3799,2022-03-10,2
+3800,2022-03-11,2
+3801,2022-03-12,2
+3802,2022-03-13,2
+3803,2022-03-14,2
+3804,2022-03-15,2
+3805,2022-03-16,2
+3806,2022-03-17,2
+3807,2022-03-18,2
+3808,2022-03-19,2
+3809,2022-03-20,2
+3810,2022-03-21,2
+3811,2022-03-22,2
+3812,2022-03-23,2
+3813,2022-03-24,2
+3814,2022-03-25,2
+3815,2022-03-26,2
+3816,2022-03-27,2
+3817,2022-03-28,2
+3818,2022-03-29,2
+3819,2022-03-30,2
+3820,2022-03-31,2
+3821,2022-04-01,2
+3822,2022-04-02,2
+3823,2022-04-03,2
+3824,2022-04-04,2
+3825,2022-04-05,2
+3826,2022-04-06,2
+3827,2022-04-07,2
+3828,2022-04-08,2
+3829,2022-04-09,2
+3830,2022-04-10,2
+3831,2022-04-11,2
+3832,2022-04-12,2
+3833,2022-04-13,2
+3834,2022-04-14,2
+3835,2022-04-15,2
+3836,2022-04-16,2
+3837,2022-04-17,2
+3838,2022-04-18,2
+3839,2022-04-19,2
+3840,2022-04-20,2
+3841,2022-04-21,2
+3842,2022-04-22,2
+3843,2022-04-23,2
+3844,2022-04-24,2
+3845,2022-04-25,2
+3846,2022-04-26,2
+3847,2022-04-27,2
+3848,2022-04-28,2
+3849,2022-04-29,2
+3850,2022-04-30,2
+3851,2022-05-01,2
+3852,2022-05-02,2
+3853,2022-05-03,2
+3854,2022-05-04,2
+3855,2022-05-05,2
+3856,2022-05-06,2
+3857,2022-05-07,2
+3858,2022-05-08,2
+3859,2022-05-09,2
+3860,2022-05-10,2
+3861,2022-05-11,2
+3862,2022-05-12,2
+3863,2022-05-13,2
+3864,2022-05-14,2
+3865,2022-05-15,2
+3866,2022-05-16,2
+3867,2022-05-17,2
+3868,2022-05-18,2
+3869,2022-05-19,2
+3870,2022-05-20,2
+3871,2022-05-21,2
+3872,2022-05-22,2
+3873,2022-05-23,2
+3874,2022-05-24,2
+3875,2022-05-25,2
+3876,2022-05-26,2
+3877,2022-05-27,2
+3878,2022-05-28,2
+3879,2022-05-29,2
+3880,2022-05-30,2
+3881,2022-05-31,2
+3882,2022-06-01,2
+3883,2022-06-02,2
+3884,2022-06-03,2
+3885,2022-06-04,2
+3886,2022-06-05,2
+3887,2022-06-06,2
+3888,2022-06-07,2
+3889,2022-06-08,2
+3890,2022-06-09,2
+3891,2022-06-10,2
+3892,2022-06-11,2
+3893,2022-06-12,2
+3894,2022-06-13,2
+3895,2022-06-14,2
+3896,2022-06-15,2
+3897,2022-06-16,2
+3898,2022-06-17,2
+3899,2022-06-18,2
+3900,2022-06-19,2
+3901,2022-06-20,2
+3902,2022-06-21,2
+3903,2022-06-22,2
+3904,2022-06-23,2
+3905,2022-06-24,2
+3906,2022-06-25,2
+3907,2022-06-26,2
+3908,2022-06-27,2
+3909,2022-06-28,2
+3910,2022-06-29,2
+3911,2022-06-30,2
+3912,2022-07-01,2
+3913,2022-07-02,2
+3914,2022-07-03,2
+3915,2022-07-04,2
+3916,2022-07-05,2
+3917,2022-07-06,2
+3918,2022-07-07,2
+3919,2022-07-08,2
+3920,2022-07-09,2
+3921,2022-07-10,2
+3922,2022-07-11,2
+3923,2022-07-12,2
+3924,2022-07-13,2
+3925,2022-07-14,2
+3926,2022-07-15,2
+3927,2022-07-16,2
+3928,2022-07-17,2
+3929,2022-07-18,2
+3930,2022-07-19,2
+3931,2022-07-20,2
+3932,2022-07-21,2
+3933,2022-07-22,2
+3934,2022-07-23,2
+3935,2022-07-24,2
+3936,2022-07-25,2
+3937,2022-07-26,2
+3938,2022-07-27,2
+3939,2022-07-28,2
+3940,2022-07-29,2
+3941,2022-07-30,2
+3942,2022-07-31,2
+3943,2022-08-01,2
+3944,2022-08-02,2
+3945,2022-08-03,2
+3946,2022-08-04,2
+3947,2022-08-05,2
+3948,2022-08-06,2
+3949,2022-08-07,2
+3950,2022-08-08,2
+3951,2022-08-09,2
+3952,2022-08-10,2
+3953,2022-08-11,2
+3954,2022-08-12,2
+3955,2022-08-13,2
+3956,2022-08-14,2
+3957,2022-08-15,2
+3958,2022-08-16,2
+3959,2022-08-17,2
+3960,2022-08-18,2
+3961,2022-08-19,2
+3962,2022-08-20,2
+3963,2022-08-21,2
+3964,2022-08-22,2
+3965,2022-08-23,2
+3966,2022-08-24,2
+3967,2022-08-25,2
+3968,2022-08-26,2
+3969,2022-08-27,2
+3970,2022-08-28,2
+3971,2022-08-29,2
+3972,2022-08-30,2
+3973,2022-08-31,2
+3974,2022-09-01,2
+3975,2022-09-02,2
+3976,2022-09-03,2
+3977,2022-09-04,2
+3978,2022-09-05,2
+3979,2022-09-06,2
+3980,2022-09-07,2
+3981,2022-09-08,2
+3982,2022-09-09,2
+3983,2022-09-10,2
+3984,2022-09-11,2
+3985,2022-09-12,2
+3986,2022-09-13,2
+3987,2022-09-14,2
+3988,2022-09-15,2
+3989,2022-09-16,2
+3990,2022-09-17,2
+3991,2022-09-18,2
+3992,2022-09-19,2
+3993,2022-09-20,2
+3994,2022-09-21,2
+3995,2022-09-22,2
+3996,2022-09-23,2
+3997,2022-09-24,2
+3998,2022-09-25,2
+3999,2022-09-26,2
+4000,2020-01-01,3
+4001,2020-01-02,3
+4002,2020-01-03,3
+4003,2020-01-04,3
+4004,2020-01-05,3
+4005,2020-01-06,3
+4006,2020-01-07,3
+4007,2020-01-08,3
+4008,2020-01-09,3
+4009,2020-01-10,3
+4010,2020-01-11,3
+4011,2020-01-12,3
+4012,2020-01-13,3
+4013,2020-01-14,3
+4014,2020-01-15,3
+4015,2020-01-16,3
+4016,2020-01-17,3
+4017,2020-01-18,3
+4018,2020-01-19,3
+4019,2020-01-20,3
+4020,2020-01-21,3
+4021,2020-01-22,3
+4022,2020-01-23,3
+4023,2020-01-24,3
+4024,2020-01-25,3
+4025,2020-01-26,3
+4026,2020-01-27,3
+4027,2020-01-28,3
+4028,2020-01-29,3
+4029,2020-01-30,3
+4030,2020-01-31,3
+4031,2020-02-01,3
+4032,2020-02-02,3
+4033,2020-02-03,3
+4034,2020-02-04,3
+4035,2020-02-05,3
+4036,2020-02-06,3
+4037,2020-02-07,3
+4038,2020-02-08,3
+4039,2020-02-09,3
+4040,2020-02-10,3
+4041,2020-02-11,3
+4042,2020-02-12,3
+4043,2020-02-13,3
+4044,2020-02-14,3
+4045,2020-02-15,3
+4046,2020-02-16,3
+4047,2020-02-17,3
+4048,2020-02-18,3
+4049,2020-02-19,3
+4050,2020-02-20,3
+4051,2020-02-21,3
+4052,2020-02-22,3
+4053,2020-02-23,3
+4054,2020-02-24,3
+4055,2020-02-25,3
+4056,2020-02-26,3
+4057,2020-02-27,3
+4058,2020-02-28,3
+4059,2020-02-29,3
+4060,2020-03-01,3
+4061,2020-03-02,3
+4062,2020-03-03,3
+4063,2020-03-04,3
+4064,2020-03-05,3
+4065,2020-03-06,3
+4066,2020-03-07,3
+4067,2020-03-08,3
+4068,2020-03-09,3
+4069,2020-03-10,3
+4070,2020-03-11,3
+4071,2020-03-12,3
+4072,2020-03-13,3
+4073,2020-03-14,3
+4074,2020-03-15,3
+4075,2020-03-16,3
+4076,2020-03-17,3
+4077,2020-03-18,3
+4078,2020-03-19,3
+4079,2020-03-20,3
+4080,2020-03-21,3
+4081,2020-03-22,3
+4082,2020-03-23,3
+4083,2020-03-24,3
+4084,2020-03-25,3
+4085,2020-03-26,3
+4086,2020-03-27,3
+4087,2020-03-28,3
+4088,2020-03-29,3
+4089,2020-03-30,3
+4090,2020-03-31,3
+4091,2020-04-01,3
+4092,2020-04-02,3
+4093,2020-04-03,3
+4094,2020-04-04,3
+4095,2020-04-05,3
+4096,2020-04-06,3
+4097,2020-04-07,3
+4098,2020-04-08,3
+4099,2020-04-09,3
+4100,2020-04-10,3
+4101,2020-04-11,3
+4102,2020-04-12,3
+4103,2020-04-13,3
+4104,2020-04-14,3
+4105,2020-04-15,3
+4106,2020-04-16,3
+4107,2020-04-17,3
+4108,2020-04-18,3
+4109,2020-04-19,3
+4110,2020-04-20,3
+4111,2020-04-21,3
+4112,2020-04-22,3
+4113,2020-04-23,3
+4114,2020-04-24,3
+4115,2020-04-25,3
+4116,2020-04-26,3
+4117,2020-04-27,3
+4118,2020-04-28,3
+4119,2020-04-29,3
+4120,2020-04-30,3
+4121,2020-05-01,3
+4122,2020-05-02,3
+4123,2020-05-03,3
+4124,2020-05-04,3
+4125,2020-05-05,3
+4126,2020-05-06,3
+4127,2020-05-07,3
+4128,2020-05-08,3
+4129,2020-05-09,3
+4130,2020-05-10,3
+4131,2020-05-11,3
+4132,2020-05-12,3
+4133,2020-05-13,3
+4134,2020-05-14,3
+4135,2020-05-15,3
+4136,2020-05-16,3
+4137,2020-05-17,3
+4138,2020-05-18,3
+4139,2020-05-19,3
+4140,2020-05-20,3
+4141,2020-05-21,3
+4142,2020-05-22,3
+4143,2020-05-23,3
+4144,2020-05-24,3
+4145,2020-05-25,3
+4146,2020-05-26,3
+4147,2020-05-27,3
+4148,2020-05-28,3
+4149,2020-05-29,3
+4150,2020-05-30,3
+4151,2020-05-31,3
+4152,2020-06-01,3
+4153,2020-06-02,3
+4154,2020-06-03,3
+4155,2020-06-04,3
+4156,2020-06-05,3
+4157,2020-06-06,3
+4158,2020-06-07,3
+4159,2020-06-08,3
+4160,2020-06-09,3
+4161,2020-06-10,3
+4162,2020-06-11,3
+4163,2020-06-12,3
+4164,2020-06-13,3
+4165,2020-06-14,3
+4166,2020-06-15,3
+4167,2020-06-16,3
+4168,2020-06-17,3
+4169,2020-06-18,3
+4170,2020-06-19,3
+4171,2020-06-20,3
+4172,2020-06-21,3
+4173,2020-06-22,3
+4174,2020-06-23,3
+4175,2020-06-24,3
+4176,2020-06-25,3
+4177,2020-06-26,3
+4178,2020-06-27,3
+4179,2020-06-28,3
+4180,2020-06-29,3
+4181,2020-06-30,3
+4182,2020-07-01,3
+4183,2020-07-02,3
+4184,2020-07-03,3
+4185,2020-07-04,3
+4186,2020-07-05,3
+4187,2020-07-06,3
+4188,2020-07-07,3
+4189,2020-07-08,3
+4190,2020-07-09,3
+4191,2020-07-10,3
+4192,2020-07-11,3
+4193,2020-07-12,3
+4194,2020-07-13,3
+4195,2020-07-14,3
+4196,2020-07-15,3
+4197,2020-07-16,3
+4198,2020-07-17,3
+4199,2020-07-18,3
+4200,2020-07-19,3
+4201,2020-07-20,3
+4202,2020-07-21,3
+4203,2020-07-22,3
+4204,2020-07-23,3
+4205,2020-07-24,3
+4206,2020-07-25,3
+4207,2020-07-26,3
+4208,2020-07-27,3
+4209,2020-07-28,3
+4210,2020-07-29,3
+4211,2020-07-30,3
+4212,2020-07-31,3
+4213,2020-08-01,3
+4214,2020-08-02,3
+4215,2020-08-03,3
+4216,2020-08-04,3
+4217,2020-08-05,3
+4218,2020-08-06,3
+4219,2020-08-07,3
+4220,2020-08-08,3
+4221,2020-08-09,3
+4222,2020-08-10,3
+4223,2020-08-11,3
+4224,2020-08-12,3
+4225,2020-08-13,3
+4226,2020-08-14,3
+4227,2020-08-15,3
+4228,2020-08-16,3
+4229,2020-08-17,3
+4230,2020-08-18,3
+4231,2020-08-19,3
+4232,2020-08-20,3
+4233,2020-08-21,3
+4234,2020-08-22,3
+4235,2020-08-23,3
+4236,2020-08-24,3
+4237,2020-08-25,3
+4238,2020-08-26,3
+4239,2020-08-27,3
+4240,2020-08-28,3
+4241,2020-08-29,3
+4242,2020-08-30,3
+4243,2020-08-31,3
+4244,2020-09-01,3
+4245,2020-09-02,3
+4246,2020-09-03,3
+4247,2020-09-04,3
+4248,2020-09-05,3
+4249,2020-09-06,3
+4250,2020-09-07,3
+4251,2020-09-08,3
+4252,2020-09-09,3
+4253,2020-09-10,3
+4254,2020-09-11,3
+4255,2020-09-12,3
+4256,2020-09-13,3
+4257,2020-09-14,3
+4258,2020-09-15,3
+4259,2020-09-16,3
+4260,2020-09-17,3
+4261,2020-09-18,3
+4262,2020-09-19,3
+4263,2020-09-20,3
+4264,2020-09-21,3
+4265,2020-09-22,3
+4266,2020-09-23,3
+4267,2020-09-24,3
+4268,2020-09-25,3
+4269,2020-09-26,3
+4270,2020-09-27,3
+4271,2020-09-28,3
+4272,2020-09-29,3
+4273,2020-09-30,3
+4274,2020-10-01,3
+4275,2020-10-02,3
+4276,2020-10-03,3
+4277,2020-10-04,3
+4278,2020-10-05,3
+4279,2020-10-06,3
+4280,2020-10-07,3
+4281,2020-10-08,3
+4282,2020-10-09,3
+4283,2020-10-10,3
+4284,2020-10-11,3
+4285,2020-10-12,3
+4286,2020-10-13,3
+4287,2020-10-14,3
+4288,2020-10-15,3
+4289,2020-10-16,3
+4290,2020-10-17,3
+4291,2020-10-18,3
+4292,2020-10-19,3
+4293,2020-10-20,3
+4294,2020-10-21,3
+4295,2020-10-22,3
+4296,2020-10-23,3
+4297,2020-10-24,3
+4298,2020-10-25,3
+4299,2020-10-26,3
+4300,2020-10-27,3
+4301,2020-10-28,3
+4302,2020-10-29,3
+4303,2020-10-30,3
+4304,2020-10-31,3
+4305,2020-11-01,3
+4306,2020-11-02,3
+4307,2020-11-03,3
+4308,2020-11-04,3
+4309,2020-11-05,3
+4310,2020-11-06,3
+4311,2020-11-07,3
+4312,2020-11-08,3
+4313,2020-11-09,3
+4314,2020-11-10,3
+4315,2020-11-11,3
+4316,2020-11-12,3
+4317,2020-11-13,3
+4318,2020-11-14,3
+4319,2020-11-15,3
+4320,2020-11-16,3
+4321,2020-11-17,3
+4322,2020-11-18,3
+4323,2020-11-19,3
+4324,2020-11-20,3
+4325,2020-11-21,3
+4326,2020-11-22,3
+4327,2020-11-23,3
+4328,2020-11-24,3
+4329,2020-11-25,3
+4330,2020-11-26,3
+4331,2020-11-27,3
+4332,2020-11-28,3
+4333,2020-11-29,3
+4334,2020-11-30,3
+4335,2020-12-01,3
+4336,2020-12-02,3
+4337,2020-12-03,3
+4338,2020-12-04,3
+4339,2020-12-05,3
+4340,2020-12-06,3
+4341,2020-12-07,3
+4342,2020-12-08,3
+4343,2020-12-09,3
+4344,2020-12-10,3
+4345,2020-12-11,3
+4346,2020-12-12,3
+4347,2020-12-13,3
+4348,2020-12-14,3
+4349,2020-12-15,3
+4350,2020-12-16,3
+4351,2020-12-17,3
+4352,2020-12-18,3
+4353,2020-12-19,3
+4354,2020-12-20,3
+4355,2020-12-21,3
+4356,2020-12-22,3
+4357,2020-12-23,3
+4358,2020-12-24,3
+4359,2020-12-25,3
+4360,2020-12-26,3
+4361,2020-12-27,3
+4362,2020-12-28,3
+4363,2020-12-29,3
+4364,2020-12-30,3
+4365,2020-12-31,3
+4366,2021-01-01,3
+4367,2021-01-02,3
+4368,2021-01-03,3
+4369,2021-01-04,3
+4370,2021-01-05,3
+4371,2021-01-06,3
+4372,2021-01-07,3
+4373,2021-01-08,3
+4374,2021-01-09,3
+4375,2021-01-10,3
+4376,2021-01-11,3
+4377,2021-01-12,3
+4378,2021-01-13,3
+4379,2021-01-14,3
+4380,2021-01-15,3
+4381,2021-01-16,3
+4382,2021-01-17,3
+4383,2021-01-18,3
+4384,2021-01-19,3
+4385,2021-01-20,3
+4386,2021-01-21,3
+4387,2021-01-22,3
+4388,2021-01-23,3
+4389,2021-01-24,3
+4390,2021-01-25,3
+4391,2021-01-26,3
+4392,2021-01-27,3
+4393,2021-01-28,3
+4394,2021-01-29,3
+4395,2021-01-30,3
+4396,2021-01-31,3
+4397,2021-02-01,3
+4398,2021-02-02,3
+4399,2021-02-03,3
+4400,2021-02-04,3
+4401,2021-02-05,3
+4402,2021-02-06,3
+4403,2021-02-07,3
+4404,2021-02-08,3
+4405,2021-02-09,3
+4406,2021-02-10,3
+4407,2021-02-11,3
+4408,2021-02-12,3
+4409,2021-02-13,3
+4410,2021-02-14,3
+4411,2021-02-15,3
+4412,2021-02-16,3
+4413,2021-02-17,3
+4414,2021-02-18,3
+4415,2021-02-19,3
+4416,2021-02-20,3
+4417,2021-02-21,3
+4418,2021-02-22,3
+4419,2021-02-23,3
+4420,2021-02-24,3
+4421,2021-02-25,3
+4422,2021-02-26,3
+4423,2021-02-27,3
+4424,2021-02-28,3
+4425,2021-03-01,3
+4426,2021-03-02,3
+4427,2021-03-03,3
+4428,2021-03-04,3
+4429,2021-03-05,3
+4430,2021-03-06,3
+4431,2021-03-07,3
+4432,2021-03-08,3
+4433,2021-03-09,3
+4434,2021-03-10,3
+4435,2021-03-11,3
+4436,2021-03-12,3
+4437,2021-03-13,3
+4438,2021-03-14,3
+4439,2021-03-15,3
+4440,2021-03-16,3
+4441,2021-03-17,3
+4442,2021-03-18,3
+4443,2021-03-19,3
+4444,2021-03-20,3
+4445,2021-03-21,3
+4446,2021-03-22,3
+4447,2021-03-23,3
+4448,2021-03-24,3
+4449,2021-03-25,3
+4450,2021-03-26,3
+4451,2021-03-27,3
+4452,2021-03-28,3
+4453,2021-03-29,3
+4454,2021-03-30,3
+4455,2021-03-31,3
+4456,2021-04-01,3
+4457,2021-04-02,3
+4458,2021-04-03,3
+4459,2021-04-04,3
+4460,2021-04-05,3
+4461,2021-04-06,3
+4462,2021-04-07,3
+4463,2021-04-08,3
+4464,2021-04-09,3
+4465,2021-04-10,3
+4466,2021-04-11,3
+4467,2021-04-12,3
+4468,2021-04-13,3
+4469,2021-04-14,3
+4470,2021-04-15,3
+4471,2021-04-16,3
+4472,2021-04-17,3
+4473,2021-04-18,3
+4474,2021-04-19,3
+4475,2021-04-20,3
+4476,2021-04-21,3
+4477,2021-04-22,3
+4478,2021-04-23,3
+4479,2021-04-24,3
+4480,2021-04-25,3
+4481,2021-04-26,3
+4482,2021-04-27,3
+4483,2021-04-28,3
+4484,2021-04-29,3
+4485,2021-04-30,3
+4486,2021-05-01,3
+4487,2021-05-02,3
+4488,2021-05-03,3
+4489,2021-05-04,3
+4490,2021-05-05,3
+4491,2021-05-06,3
+4492,2021-05-07,3
+4493,2021-05-08,3
+4494,2021-05-09,3
+4495,2021-05-10,3
+4496,2021-05-11,3
+4497,2021-05-12,3
+4498,2021-05-13,3
+4499,2021-05-14,3
+4500,2021-05-15,3
+4501,2021-05-16,3
+4502,2021-05-17,3
+4503,2021-05-18,3
+4504,2021-05-19,3
+4505,2021-05-20,3
+4506,2021-05-21,3
+4507,2021-05-22,3
+4508,2021-05-23,3
+4509,2021-05-24,3
+4510,2021-05-25,3
+4511,2021-05-26,3
+4512,2021-05-27,3
+4513,2021-05-28,3
+4514,2021-05-29,3
+4515,2021-05-30,3
+4516,2021-05-31,3
+4517,2021-06-01,3
+4518,2021-06-02,3
+4519,2021-06-03,3
+4520,2021-06-04,3
+4521,2021-06-05,3
+4522,2021-06-06,3
+4523,2021-06-07,3
+4524,2021-06-08,3
+4525,2021-06-09,3
+4526,2021-06-10,3
+4527,2021-06-11,3
+4528,2021-06-12,3
+4529,2021-06-13,3
+4530,2021-06-14,3
+4531,2021-06-15,3
+4532,2021-06-16,3
+4533,2021-06-17,3
+4534,2021-06-18,3
+4535,2021-06-19,3
+4536,2021-06-20,3
+4537,2021-06-21,3
+4538,2021-06-22,3
+4539,2021-06-23,3
+4540,2021-06-24,3
+4541,2021-06-25,3
+4542,2021-06-26,3
+4543,2021-06-27,3
+4544,2021-06-28,3
+4545,2021-06-29,3
+4546,2021-06-30,3
+4547,2021-07-01,3
+4548,2021-07-02,3
+4549,2021-07-03,3
+4550,2021-07-04,3
+4551,2021-07-05,3
+4552,2021-07-06,3
+4553,2021-07-07,3
+4554,2021-07-08,3
+4555,2021-07-09,3
+4556,2021-07-10,3
+4557,2021-07-11,3
+4558,2021-07-12,3
+4559,2021-07-13,3
+4560,2021-07-14,3
+4561,2021-07-15,3
+4562,2021-07-16,3
+4563,2021-07-17,3
+4564,2021-07-18,3
+4565,2021-07-19,3
+4566,2021-07-20,3
+4567,2021-07-21,3
+4568,2021-07-22,3
+4569,2021-07-23,3
+4570,2021-07-24,3
+4571,2021-07-25,3
+4572,2021-07-26,3
+4573,2021-07-27,3
+4574,2021-07-28,3
+4575,2021-07-29,3
+4576,2021-07-30,3
+4577,2021-07-31,3
+4578,2021-08-01,3
+4579,2021-08-02,3
+4580,2021-08-03,3
+4581,2021-08-04,3
+4582,2021-08-05,3
+4583,2021-08-06,3
+4584,2021-08-07,3
+4585,2021-08-08,3
+4586,2021-08-09,3
+4587,2021-08-10,3
+4588,2021-08-11,3
+4589,2021-08-12,3
+4590,2021-08-13,3
+4591,2021-08-14,3
+4592,2021-08-15,3
+4593,2021-08-16,3
+4594,2021-08-17,3
+4595,2021-08-18,3
+4596,2021-08-19,3
+4597,2021-08-20,3
+4598,2021-08-21,3
+4599,2021-08-22,3
+4600,2021-08-23,3
+4601,2021-08-24,3
+4602,2021-08-25,3
+4603,2021-08-26,3
+4604,2021-08-27,3
+4605,2021-08-28,3
+4606,2021-08-29,3
+4607,2021-08-30,3
+4608,2021-08-31,3
+4609,2021-09-01,3
+4610,2021-09-02,3
+4611,2021-09-03,3
+4612,2021-09-04,3
+4613,2021-09-05,3
+4614,2021-09-06,3
+4615,2021-09-07,3
+4616,2021-09-08,3
+4617,2021-09-09,3
+4618,2021-09-10,3
+4619,2021-09-11,3
+4620,2021-09-12,3
+4621,2021-09-13,3
+4622,2021-09-14,3
+4623,2021-09-15,3
+4624,2021-09-16,3
+4625,2021-09-17,3
+4626,2021-09-18,3
+4627,2021-09-19,3
+4628,2021-09-20,3
+4629,2021-09-21,3
+4630,2021-09-22,3
+4631,2021-09-23,3
+4632,2021-09-24,3
+4633,2021-09-25,3
+4634,2021-09-26,3
+4635,2021-09-27,3
+4636,2021-09-28,3
+4637,2021-09-29,3
+4638,2021-09-30,3
+4639,2021-10-01,3
+4640,2021-10-02,3
+4641,2021-10-03,3
+4642,2021-10-04,3
+4643,2021-10-05,3
+4644,2021-10-06,3
+4645,2021-10-07,3
+4646,2021-10-08,3
+4647,2021-10-09,3
+4648,2021-10-10,3
+4649,2021-10-11,3
+4650,2021-10-12,3
+4651,2021-10-13,3
+4652,2021-10-14,3
+4653,2021-10-15,3
+4654,2021-10-16,3
+4655,2021-10-17,3
+4656,2021-10-18,3
+4657,2021-10-19,3
+4658,2021-10-20,3
+4659,2021-10-21,3
+4660,2021-10-22,3
+4661,2021-10-23,3
+4662,2021-10-24,3
+4663,2021-10-25,3
+4664,2021-10-26,3
+4665,2021-10-27,3
+4666,2021-10-28,3
+4667,2021-10-29,3
+4668,2021-10-30,3
+4669,2021-10-31,3
+4670,2021-11-01,3
+4671,2021-11-02,3
+4672,2021-11-03,3
+4673,2021-11-04,3
+4674,2021-11-05,3
+4675,2021-11-06,3
+4676,2021-11-07,3
+4677,2021-11-08,3
+4678,2021-11-09,3
+4679,2021-11-10,3
+4680,2021-11-11,3
+4681,2021-11-12,3
+4682,2021-11-13,3
+4683,2021-11-14,3
+4684,2021-11-15,3
+4685,2021-11-16,3
+4686,2021-11-17,3
+4687,2021-11-18,3
+4688,2021-11-19,3
+4689,2021-11-20,3
+4690,2021-11-21,3
+4691,2021-11-22,3
+4692,2021-11-23,3
+4693,2021-11-24,3
+4694,2021-11-25,3
+4695,2021-11-26,3
+4696,2021-11-27,3
+4697,2021-11-28,3
+4698,2021-11-29,3
+4699,2021-11-30,3
+4700,2021-12-01,3
+4701,2021-12-02,3
+4702,2021-12-03,3
+4703,2021-12-04,3
+4704,2021-12-05,3
+4705,2021-12-06,3
+4706,2021-12-07,3
+4707,2021-12-08,3
+4708,2021-12-09,3
+4709,2021-12-10,3
+4710,2021-12-11,3
+4711,2021-12-12,3
+4712,2021-12-13,3
+4713,2021-12-14,3
+4714,2021-12-15,3
+4715,2021-12-16,3
+4716,2021-12-17,3
+4717,2021-12-18,3
+4718,2021-12-19,3
+4719,2021-12-20,3
+4720,2021-12-21,3
+4721,2021-12-22,3
+4722,2021-12-23,3
+4723,2021-12-24,3
+4724,2021-12-25,3
+4725,2021-12-26,3
+4726,2021-12-27,3
+4727,2021-12-28,3
+4728,2021-12-29,3
+4729,2021-12-30,3
+4730,2021-12-31,3
+4731,2022-01-01,3
+4732,2022-01-02,3
+4733,2022-01-03,3
+4734,2022-01-04,3
+4735,2022-01-05,3
+4736,2022-01-06,3
+4737,2022-01-07,3
+4738,2022-01-08,3
+4739,2022-01-09,3
+4740,2022-01-10,3
+4741,2022-01-11,3
+4742,2022-01-12,3
+4743,2022-01-13,3
+4744,2022-01-14,3
+4745,2022-01-15,3
+4746,2022-01-16,3
+4747,2022-01-17,3
+4748,2022-01-18,3
+4749,2022-01-19,3
+4750,2022-01-20,3
+4751,2022-01-21,3
+4752,2022-01-22,3
+4753,2022-01-23,3
+4754,2022-01-24,3
+4755,2022-01-25,3
+4756,2022-01-26,3
+4757,2022-01-27,3
+4758,2022-01-28,3
+4759,2022-01-29,3
+4760,2022-01-30,3
+4761,2022-01-31,3
+4762,2022-02-01,3
+4763,2022-02-02,3
+4764,2022-02-03,3
+4765,2022-02-04,3
+4766,2022-02-05,3
+4767,2022-02-06,3
+4768,2022-02-07,3
+4769,2022-02-08,3
+4770,2022-02-09,3
+4771,2022-02-10,3
+4772,2022-02-11,3
+4773,2022-02-12,3
+4774,2022-02-13,3
+4775,2022-02-14,3
+4776,2022-02-15,3
+4777,2022-02-16,3
+4778,2022-02-17,3
+4779,2022-02-18,3
+4780,2022-02-19,3
+4781,2022-02-20,3
+4782,2022-02-21,3
+4783,2022-02-22,3
+4784,2022-02-23,3
+4785,2022-02-24,3
+4786,2022-02-25,3
+4787,2022-02-26,3
+4788,2022-02-27,3
+4789,2022-02-28,3
+4790,2022-03-01,3
+4791,2022-03-02,3
+4792,2022-03-03,3
+4793,2022-03-04,3
+4794,2022-03-05,3
+4795,2022-03-06,3
+4796,2022-03-07,3
+4797,2022-03-08,3
+4798,2022-03-09,3
+4799,2022-03-10,3
+4800,2022-03-11,3
+4801,2022-03-12,3
+4802,2022-03-13,3
+4803,2022-03-14,3
+4804,2022-03-15,3
+4805,2022-03-16,3
+4806,2022-03-17,3
+4807,2022-03-18,3
+4808,2022-03-19,3
+4809,2022-03-20,3
+4810,2022-03-21,3
+4811,2022-03-22,3
+4812,2022-03-23,3
+4813,2022-03-24,3
+4814,2022-03-25,3
+4815,2022-03-26,3
+4816,2022-03-27,3
+4817,2022-03-28,3
+4818,2022-03-29,3
+4819,2022-03-30,3
+4820,2022-03-31,3
+4821,2022-04-01,3
+4822,2022-04-02,3
+4823,2022-04-03,3
+4824,2022-04-04,3
+4825,2022-04-05,3
+4826,2022-04-06,3
+4827,2022-04-07,3
+4828,2022-04-08,3
+4829,2022-04-09,3
+4830,2022-04-10,3
+4831,2022-04-11,3
+4832,2022-04-12,3
+4833,2022-04-13,3
+4834,2022-04-14,3
+4835,2022-04-15,3
+4836,2022-04-16,3
+4837,2022-04-17,3
+4838,2022-04-18,3
+4839,2022-04-19,3
+4840,2022-04-20,3
+4841,2022-04-21,3
+4842,2022-04-22,3
+4843,2022-04-23,3
+4844,2022-04-24,3
+4845,2022-04-25,3
+4846,2022-04-26,3
+4847,2022-04-27,3
+4848,2022-04-28,3
+4849,2022-04-29,3
+4850,2022-04-30,3
+4851,2022-05-01,3
+4852,2022-05-02,3
+4853,2022-05-03,3
+4854,2022-05-04,3
+4855,2022-05-05,3
+4856,2022-05-06,3
+4857,2022-05-07,3
+4858,2022-05-08,3
+4859,2022-05-09,3
+4860,2022-05-10,3
+4861,2022-05-11,3
+4862,2022-05-12,3
+4863,2022-05-13,3
+4864,2022-05-14,3
+4865,2022-05-15,3
+4866,2022-05-16,3
+4867,2022-05-17,3
+4868,2022-05-18,3
+4869,2022-05-19,3
+4870,2022-05-20,3
+4871,2022-05-21,3
+4872,2022-05-22,3
+4873,2022-05-23,3
+4874,2022-05-24,3
+4875,2022-05-25,3
+4876,2022-05-26,3
+4877,2022-05-27,3
+4878,2022-05-28,3
+4879,2022-05-29,3
+4880,2022-05-30,3
+4881,2022-05-31,3
+4882,2022-06-01,3
+4883,2022-06-02,3
+4884,2022-06-03,3
+4885,2022-06-04,3
+4886,2022-06-05,3
+4887,2022-06-06,3
+4888,2022-06-07,3
+4889,2022-06-08,3
+4890,2022-06-09,3
+4891,2022-06-10,3
+4892,2022-06-11,3
+4893,2022-06-12,3
+4894,2022-06-13,3
+4895,2022-06-14,3
+4896,2022-06-15,3
+4897,2022-06-16,3
+4898,2022-06-17,3
+4899,2022-06-18,3
+4900,2022-06-19,3
+4901,2022-06-20,3
+4902,2022-06-21,3
+4903,2022-06-22,3
+4904,2022-06-23,3
+4905,2022-06-24,3
+4906,2022-06-25,3
+4907,2022-06-26,3
+4908,2022-06-27,3
+4909,2022-06-28,3
+4910,2022-06-29,3
+4911,2022-06-30,3
+4912,2022-07-01,3
+4913,2022-07-02,3
+4914,2022-07-03,3
+4915,2022-07-04,3
+4916,2022-07-05,3
+4917,2022-07-06,3
+4918,2022-07-07,3
+4919,2022-07-08,3
+4920,2022-07-09,3
+4921,2022-07-10,3
+4922,2022-07-11,3
+4923,2022-07-12,3
+4924,2022-07-13,3
+4925,2022-07-14,3
+4926,2022-07-15,3
+4927,2022-07-16,3
+4928,2022-07-17,3
+4929,2022-07-18,3
+4930,2022-07-19,3
+4931,2022-07-20,3
+4932,2022-07-21,3
+4933,2022-07-22,3
+4934,2022-07-23,3
+4935,2022-07-24,3
+4936,2022-07-25,3
+4937,2022-07-26,3
+4938,2022-07-27,3
+4939,2022-07-28,3
+4940,2022-07-29,3
+4941,2022-07-30,3
+4942,2022-07-31,3
+4943,2022-08-01,3
+4944,2022-08-02,3
+4945,2022-08-03,3
+4946,2022-08-04,3
+4947,2022-08-05,3
+4948,2022-08-06,3
+4949,2022-08-07,3
+4950,2022-08-08,3
+4951,2022-08-09,3
+4952,2022-08-10,3
+4953,2022-08-11,3
+4954,2022-08-12,3
+4955,2022-08-13,3
+4956,2022-08-14,3
+4957,2022-08-15,3
+4958,2022-08-16,3
+4959,2022-08-17,3
+4960,2022-08-18,3
+4961,2022-08-19,3
+4962,2022-08-20,3
+4963,2022-08-21,3
+4964,2022-08-22,3
+4965,2022-08-23,3
+4966,2022-08-24,3
+4967,2022-08-25,3
+4968,2022-08-26,3
+4969,2022-08-27,3
+4970,2022-08-28,3
+4971,2022-08-29,3
+4972,2022-08-30,3
+4973,2022-08-31,3
+4974,2022-09-01,3
+4975,2022-09-02,3
+4976,2022-09-03,3
+4977,2022-09-04,3
+4978,2022-09-05,3
+4979,2022-09-06,3
+4980,2022-09-07,3
+4981,2022-09-08,3
+4982,2022-09-09,3
+4983,2022-09-10,3
+4984,2022-09-11,3
+4985,2022-09-12,3
+4986,2022-09-13,3
+4987,2022-09-14,3
+4988,2022-09-15,3
+4989,2022-09-16,3
+4990,2022-09-17,3
+4991,2022-09-18,3
+4992,2022-09-19,3
+4993,2022-09-20,3
+4994,2022-09-21,3
+4995,2022-09-22,3
+4996,2022-09-23,3
+4997,2022-09-24,3
+4998,2022-09-25,3
+4999,2022-09-26,3
+5000,2020-01-01,4
+5001,2020-01-02,4
+5002,2020-01-03,4
+5003,2020-01-04,4
+5004,2020-01-05,4
+5005,2020-01-06,4
+5006,2020-01-07,4
+5007,2020-01-08,4
+5008,2020-01-09,4
+5009,2020-01-10,4
+5010,2020-01-11,4
+5011,2020-01-12,4
+5012,2020-01-13,4
+5013,2020-01-14,4
+5014,2020-01-15,4
+5015,2020-01-16,4
+5016,2020-01-17,4
+5017,2020-01-18,4
+5018,2020-01-19,4
+5019,2020-01-20,4
+5020,2020-01-21,4
+5021,2020-01-22,4
+5022,2020-01-23,4
+5023,2020-01-24,4
+5024,2020-01-25,4
+5025,2020-01-26,4
+5026,2020-01-27,4
+5027,2020-01-28,4
+5028,2020-01-29,4
+5029,2020-01-30,4
+5030,2020-01-31,4
+5031,2020-02-01,4
+5032,2020-02-02,4
+5033,2020-02-03,4
+5034,2020-02-04,4
+5035,2020-02-05,4
+5036,2020-02-06,4
+5037,2020-02-07,4
+5038,2020-02-08,4
+5039,2020-02-09,4
+5040,2020-02-10,4
+5041,2020-02-11,4
+5042,2020-02-12,4
+5043,2020-02-13,4
+5044,2020-02-14,4
+5045,2020-02-15,4
+5046,2020-02-16,4
+5047,2020-02-17,4
+5048,2020-02-18,4
+5049,2020-02-19,4
+5050,2020-02-20,4
+5051,2020-02-21,4
+5052,2020-02-22,4
+5053,2020-02-23,4
+5054,2020-02-24,4
+5055,2020-02-25,4
+5056,2020-02-26,4
+5057,2020-02-27,4
+5058,2020-02-28,4
+5059,2020-02-29,4
+5060,2020-03-01,4
+5061,2020-03-02,4
+5062,2020-03-03,4
+5063,2020-03-04,4
+5064,2020-03-05,4
+5065,2020-03-06,4
+5066,2020-03-07,4
+5067,2020-03-08,4
+5068,2020-03-09,4
+5069,2020-03-10,4
+5070,2020-03-11,4
+5071,2020-03-12,4
+5072,2020-03-13,4
+5073,2020-03-14,4
+5074,2020-03-15,4
+5075,2020-03-16,4
+5076,2020-03-17,4
+5077,2020-03-18,4
+5078,2020-03-19,4
+5079,2020-03-20,4
+5080,2020-03-21,4
+5081,2020-03-22,4
+5082,2020-03-23,4
+5083,2020-03-24,4
+5084,2020-03-25,4
+5085,2020-03-26,4
+5086,2020-03-27,4
+5087,2020-03-28,4
+5088,2020-03-29,4
+5089,2020-03-30,4
+5090,2020-03-31,4
+5091,2020-04-01,4
+5092,2020-04-02,4
+5093,2020-04-03,4
+5094,2020-04-04,4
+5095,2020-04-05,4
+5096,2020-04-06,4
+5097,2020-04-07,4
+5098,2020-04-08,4
+5099,2020-04-09,4
+5100,2020-04-10,4
+5101,2020-04-11,4
+5102,2020-04-12,4
+5103,2020-04-13,4
+5104,2020-04-14,4
+5105,2020-04-15,4
+5106,2020-04-16,4
+5107,2020-04-17,4
+5108,2020-04-18,4
+5109,2020-04-19,4
+5110,2020-04-20,4
+5111,2020-04-21,4
+5112,2020-04-22,4
+5113,2020-04-23,4
+5114,2020-04-24,4
+5115,2020-04-25,4
+5116,2020-04-26,4
+5117,2020-04-27,4
+5118,2020-04-28,4
+5119,2020-04-29,4
+5120,2020-04-30,4
+5121,2020-05-01,4
+5122,2020-05-02,4
+5123,2020-05-03,4
+5124,2020-05-04,4
+5125,2020-05-05,4
+5126,2020-05-06,4
+5127,2020-05-07,4
+5128,2020-05-08,4
+5129,2020-05-09,4
+5130,2020-05-10,4
+5131,2020-05-11,4
+5132,2020-05-12,4
+5133,2020-05-13,4
+5134,2020-05-14,4
+5135,2020-05-15,4
+5136,2020-05-16,4
+5137,2020-05-17,4
+5138,2020-05-18,4
+5139,2020-05-19,4
+5140,2020-05-20,4
+5141,2020-05-21,4
+5142,2020-05-22,4
+5143,2020-05-23,4
+5144,2020-05-24,4
+5145,2020-05-25,4
+5146,2020-05-26,4
+5147,2020-05-27,4
+5148,2020-05-28,4
+5149,2020-05-29,4
+5150,2020-05-30,4
+5151,2020-05-31,4
+5152,2020-06-01,4
+5153,2020-06-02,4
+5154,2020-06-03,4
+5155,2020-06-04,4
+5156,2020-06-05,4
+5157,2020-06-06,4
+5158,2020-06-07,4
+5159,2020-06-08,4
+5160,2020-06-09,4
+5161,2020-06-10,4
+5162,2020-06-11,4
+5163,2020-06-12,4
+5164,2020-06-13,4
+5165,2020-06-14,4
+5166,2020-06-15,4
+5167,2020-06-16,4
+5168,2020-06-17,4
+5169,2020-06-18,4
+5170,2020-06-19,4
+5171,2020-06-20,4
+5172,2020-06-21,4
+5173,2020-06-22,4
+5174,2020-06-23,4
+5175,2020-06-24,4
+5176,2020-06-25,4
+5177,2020-06-26,4
+5178,2020-06-27,4
+5179,2020-06-28,4
+5180,2020-06-29,4
+5181,2020-06-30,4
+5182,2020-07-01,4
+5183,2020-07-02,4
+5184,2020-07-03,4
+5185,2020-07-04,4
+5186,2020-07-05,4
+5187,2020-07-06,4
+5188,2020-07-07,4
+5189,2020-07-08,4
+5190,2020-07-09,4
+5191,2020-07-10,4
+5192,2020-07-11,4
+5193,2020-07-12,4
+5194,2020-07-13,4
+5195,2020-07-14,4
+5196,2020-07-15,4
+5197,2020-07-16,4
+5198,2020-07-17,4
+5199,2020-07-18,4
+5200,2020-07-19,4
+5201,2020-07-20,4
+5202,2020-07-21,4
+5203,2020-07-22,4
+5204,2020-07-23,4
+5205,2020-07-24,4
+5206,2020-07-25,4
+5207,2020-07-26,4
+5208,2020-07-27,4
+5209,2020-07-28,4
+5210,2020-07-29,4
+5211,2020-07-30,4
+5212,2020-07-31,4
+5213,2020-08-01,4
+5214,2020-08-02,4
+5215,2020-08-03,4
+5216,2020-08-04,4
+5217,2020-08-05,4
+5218,2020-08-06,4
+5219,2020-08-07,4
+5220,2020-08-08,4
+5221,2020-08-09,4
+5222,2020-08-10,4
+5223,2020-08-11,4
+5224,2020-08-12,4
+5225,2020-08-13,4
+5226,2020-08-14,4
+5227,2020-08-15,4
+5228,2020-08-16,4
+5229,2020-08-17,4
+5230,2020-08-18,4
+5231,2020-08-19,4
+5232,2020-08-20,4
+5233,2020-08-21,4
+5234,2020-08-22,4
+5235,2020-08-23,4
+5236,2020-08-24,4
+5237,2020-08-25,4
+5238,2020-08-26,4
+5239,2020-08-27,4
+5240,2020-08-28,4
+5241,2020-08-29,4
+5242,2020-08-30,4
+5243,2020-08-31,4
+5244,2020-09-01,4
+5245,2020-09-02,4
+5246,2020-09-03,4
+5247,2020-09-04,4
+5248,2020-09-05,4
+5249,2020-09-06,4
+5250,2020-09-07,4
+5251,2020-09-08,4
+5252,2020-09-09,4
+5253,2020-09-10,4
+5254,2020-09-11,4
+5255,2020-09-12,4
+5256,2020-09-13,4
+5257,2020-09-14,4
+5258,2020-09-15,4
+5259,2020-09-16,4
+5260,2020-09-17,4
+5261,2020-09-18,4
+5262,2020-09-19,4
+5263,2020-09-20,4
+5264,2020-09-21,4
+5265,2020-09-22,4
+5266,2020-09-23,4
+5267,2020-09-24,4
+5268,2020-09-25,4
+5269,2020-09-26,4
+5270,2020-09-27,4
+5271,2020-09-28,4
+5272,2020-09-29,4
+5273,2020-09-30,4
+5274,2020-10-01,4
+5275,2020-10-02,4
+5276,2020-10-03,4
+5277,2020-10-04,4
+5278,2020-10-05,4
+5279,2020-10-06,4
+5280,2020-10-07,4
+5281,2020-10-08,4
+5282,2020-10-09,4
+5283,2020-10-10,4
+5284,2020-10-11,4
+5285,2020-10-12,4
+5286,2020-10-13,4
+5287,2020-10-14,4
+5288,2020-10-15,4
+5289,2020-10-16,4
+5290,2020-10-17,4
+5291,2020-10-18,4
+5292,2020-10-19,4
+5293,2020-10-20,4
+5294,2020-10-21,4
+5295,2020-10-22,4
+5296,2020-10-23,4
+5297,2020-10-24,4
+5298,2020-10-25,4
+5299,2020-10-26,4
+5300,2020-10-27,4
+5301,2020-10-28,4
+5302,2020-10-29,4
+5303,2020-10-30,4
+5304,2020-10-31,4
+5305,2020-11-01,4
+5306,2020-11-02,4
+5307,2020-11-03,4
+5308,2020-11-04,4
+5309,2020-11-05,4
+5310,2020-11-06,4
+5311,2020-11-07,4
+5312,2020-11-08,4
+5313,2020-11-09,4
+5314,2020-11-10,4
+5315,2020-11-11,4
+5316,2020-11-12,4
+5317,2020-11-13,4
+5318,2020-11-14,4
+5319,2020-11-15,4
+5320,2020-11-16,4
+5321,2020-11-17,4
+5322,2020-11-18,4
+5323,2020-11-19,4
+5324,2020-11-20,4
+5325,2020-11-21,4
+5326,2020-11-22,4
+5327,2020-11-23,4
+5328,2020-11-24,4
+5329,2020-11-25,4
+5330,2020-11-26,4
+5331,2020-11-27,4
+5332,2020-11-28,4
+5333,2020-11-29,4
+5334,2020-11-30,4
+5335,2020-12-01,4
+5336,2020-12-02,4
+5337,2020-12-03,4
+5338,2020-12-04,4
+5339,2020-12-05,4
+5340,2020-12-06,4
+5341,2020-12-07,4
+5342,2020-12-08,4
+5343,2020-12-09,4
+5344,2020-12-10,4
+5345,2020-12-11,4
+5346,2020-12-12,4
+5347,2020-12-13,4
+5348,2020-12-14,4
+5349,2020-12-15,4
+5350,2020-12-16,4
+5351,2020-12-17,4
+5352,2020-12-18,4
+5353,2020-12-19,4
+5354,2020-12-20,4
+5355,2020-12-21,4
+5356,2020-12-22,4
+5357,2020-12-23,4
+5358,2020-12-24,4
+5359,2020-12-25,4
+5360,2020-12-26,4
+5361,2020-12-27,4
+5362,2020-12-28,4
+5363,2020-12-29,4
+5364,2020-12-30,4
+5365,2020-12-31,4
+5366,2021-01-01,4
+5367,2021-01-02,4
+5368,2021-01-03,4
+5369,2021-01-04,4
+5370,2021-01-05,4
+5371,2021-01-06,4
+5372,2021-01-07,4
+5373,2021-01-08,4
+5374,2021-01-09,4
+5375,2021-01-10,4
+5376,2021-01-11,4
+5377,2021-01-12,4
+5378,2021-01-13,4
+5379,2021-01-14,4
+5380,2021-01-15,4
+5381,2021-01-16,4
+5382,2021-01-17,4
+5383,2021-01-18,4
+5384,2021-01-19,4
+5385,2021-01-20,4
+5386,2021-01-21,4
+5387,2021-01-22,4
+5388,2021-01-23,4
+5389,2021-01-24,4
+5390,2021-01-25,4
+5391,2021-01-26,4
+5392,2021-01-27,4
+5393,2021-01-28,4
+5394,2021-01-29,4
+5395,2021-01-30,4
+5396,2021-01-31,4
+5397,2021-02-01,4
+5398,2021-02-02,4
+5399,2021-02-03,4
+5400,2021-02-04,4
+5401,2021-02-05,4
+5402,2021-02-06,4
+5403,2021-02-07,4
+5404,2021-02-08,4
+5405,2021-02-09,4
+5406,2021-02-10,4
+5407,2021-02-11,4
+5408,2021-02-12,4
+5409,2021-02-13,4
+5410,2021-02-14,4
+5411,2021-02-15,4
+5412,2021-02-16,4
+5413,2021-02-17,4
+5414,2021-02-18,4
+5415,2021-02-19,4
+5416,2021-02-20,4
+5417,2021-02-21,4
+5418,2021-02-22,4
+5419,2021-02-23,4
+5420,2021-02-24,4
+5421,2021-02-25,4
+5422,2021-02-26,4
+5423,2021-02-27,4
+5424,2021-02-28,4
+5425,2021-03-01,4
+5426,2021-03-02,4
+5427,2021-03-03,4
+5428,2021-03-04,4
+5429,2021-03-05,4
+5430,2021-03-06,4
+5431,2021-03-07,4
+5432,2021-03-08,4
+5433,2021-03-09,4
+5434,2021-03-10,4
+5435,2021-03-11,4
+5436,2021-03-12,4
+5437,2021-03-13,4
+5438,2021-03-14,4
+5439,2021-03-15,4
+5440,2021-03-16,4
+5441,2021-03-17,4
+5442,2021-03-18,4
+5443,2021-03-19,4
+5444,2021-03-20,4
+5445,2021-03-21,4
+5446,2021-03-22,4
+5447,2021-03-23,4
+5448,2021-03-24,4
+5449,2021-03-25,4
+5450,2021-03-26,4
+5451,2021-03-27,4
+5452,2021-03-28,4
+5453,2021-03-29,4
+5454,2021-03-30,4
+5455,2021-03-31,4
+5456,2021-04-01,4
+5457,2021-04-02,4
+5458,2021-04-03,4
+5459,2021-04-04,4
+5460,2021-04-05,4
+5461,2021-04-06,4
+5462,2021-04-07,4
+5463,2021-04-08,4
+5464,2021-04-09,4
+5465,2021-04-10,4
+5466,2021-04-11,4
+5467,2021-04-12,4
+5468,2021-04-13,4
+5469,2021-04-14,4
+5470,2021-04-15,4
+5471,2021-04-16,4
+5472,2021-04-17,4
+5473,2021-04-18,4
+5474,2021-04-19,4
+5475,2021-04-20,4
+5476,2021-04-21,4
+5477,2021-04-22,4
+5478,2021-04-23,4
+5479,2021-04-24,4
+5480,2021-04-25,4
+5481,2021-04-26,4
+5482,2021-04-27,4
+5483,2021-04-28,4
+5484,2021-04-29,4
+5485,2021-04-30,4
+5486,2021-05-01,4
+5487,2021-05-02,4
+5488,2021-05-03,4
+5489,2021-05-04,4
+5490,2021-05-05,4
+5491,2021-05-06,4
+5492,2021-05-07,4
+5493,2021-05-08,4
+5494,2021-05-09,4
+5495,2021-05-10,4
+5496,2021-05-11,4
+5497,2021-05-12,4
+5498,2021-05-13,4
+5499,2021-05-14,4
+5500,2021-05-15,4
+5501,2021-05-16,4
+5502,2021-05-17,4
+5503,2021-05-18,4
+5504,2021-05-19,4
+5505,2021-05-20,4
+5506,2021-05-21,4
+5507,2021-05-22,4
+5508,2021-05-23,4
+5509,2021-05-24,4
+5510,2021-05-25,4
+5511,2021-05-26,4
+5512,2021-05-27,4
+5513,2021-05-28,4
+5514,2021-05-29,4
+5515,2021-05-30,4
+5516,2021-05-31,4
+5517,2021-06-01,4
+5518,2021-06-02,4
+5519,2021-06-03,4
+5520,2021-06-04,4
+5521,2021-06-05,4
+5522,2021-06-06,4
+5523,2021-06-07,4
+5524,2021-06-08,4
+5525,2021-06-09,4
+5526,2021-06-10,4
+5527,2021-06-11,4
+5528,2021-06-12,4
+5529,2021-06-13,4
+5530,2021-06-14,4
+5531,2021-06-15,4
+5532,2021-06-16,4
+5533,2021-06-17,4
+5534,2021-06-18,4
+5535,2021-06-19,4
+5536,2021-06-20,4
+5537,2021-06-21,4
+5538,2021-06-22,4
+5539,2021-06-23,4
+5540,2021-06-24,4
+5541,2021-06-25,4
+5542,2021-06-26,4
+5543,2021-06-27,4
+5544,2021-06-28,4
+5545,2021-06-29,4
+5546,2021-06-30,4
+5547,2021-07-01,4
+5548,2021-07-02,4
+5549,2021-07-03,4
+5550,2021-07-04,4
+5551,2021-07-05,4
+5552,2021-07-06,4
+5553,2021-07-07,4
+5554,2021-07-08,4
+5555,2021-07-09,4
+5556,2021-07-10,4
+5557,2021-07-11,4
+5558,2021-07-12,4
+5559,2021-07-13,4
+5560,2021-07-14,4
+5561,2021-07-15,4
+5562,2021-07-16,4
+5563,2021-07-17,4
+5564,2021-07-18,4
+5565,2021-07-19,4
+5566,2021-07-20,4
+5567,2021-07-21,4
+5568,2021-07-22,4
+5569,2021-07-23,4
+5570,2021-07-24,4
+5571,2021-07-25,4
+5572,2021-07-26,4
+5573,2021-07-27,4
+5574,2021-07-28,4
+5575,2021-07-29,4
+5576,2021-07-30,4
+5577,2021-07-31,4
+5578,2021-08-01,4
+5579,2021-08-02,4
+5580,2021-08-03,4
+5581,2021-08-04,4
+5582,2021-08-05,4
+5583,2021-08-06,4
+5584,2021-08-07,4
+5585,2021-08-08,4
+5586,2021-08-09,4
+5587,2021-08-10,4
+5588,2021-08-11,4
+5589,2021-08-12,4
+5590,2021-08-13,4
+5591,2021-08-14,4
+5592,2021-08-15,4
+5593,2021-08-16,4
+5594,2021-08-17,4
+5595,2021-08-18,4
+5596,2021-08-19,4
+5597,2021-08-20,4
+5598,2021-08-21,4
+5599,2021-08-22,4
+5600,2021-08-23,4
+5601,2021-08-24,4
+5602,2021-08-25,4
+5603,2021-08-26,4
+5604,2021-08-27,4
+5605,2021-08-28,4
+5606,2021-08-29,4
+5607,2021-08-30,4
+5608,2021-08-31,4
+5609,2021-09-01,4
+5610,2021-09-02,4
+5611,2021-09-03,4
+5612,2021-09-04,4
+5613,2021-09-05,4
+5614,2021-09-06,4
+5615,2021-09-07,4
+5616,2021-09-08,4
+5617,2021-09-09,4
+5618,2021-09-10,4
+5619,2021-09-11,4
+5620,2021-09-12,4
+5621,2021-09-13,4
+5622,2021-09-14,4
+5623,2021-09-15,4
+5624,2021-09-16,4
+5625,2021-09-17,4
+5626,2021-09-18,4
+5627,2021-09-19,4
+5628,2021-09-20,4
+5629,2021-09-21,4
+5630,2021-09-22,4
+5631,2021-09-23,4
+5632,2021-09-24,4
+5633,2021-09-25,4
+5634,2021-09-26,4
+5635,2021-09-27,4
+5636,2021-09-28,4
+5637,2021-09-29,4
+5638,2021-09-30,4
+5639,2021-10-01,4
+5640,2021-10-02,4
+5641,2021-10-03,4
+5642,2021-10-04,4
+5643,2021-10-05,4
+5644,2021-10-06,4
+5645,2021-10-07,4
+5646,2021-10-08,4
+5647,2021-10-09,4
+5648,2021-10-10,4
+5649,2021-10-11,4
+5650,2021-10-12,4
+5651,2021-10-13,4
+5652,2021-10-14,4
+5653,2021-10-15,4
+5654,2021-10-16,4
+5655,2021-10-17,4
+5656,2021-10-18,4
+5657,2021-10-19,4
+5658,2021-10-20,4
+5659,2021-10-21,4
+5660,2021-10-22,4
+5661,2021-10-23,4
+5662,2021-10-24,4
+5663,2021-10-25,4
+5664,2021-10-26,4
+5665,2021-10-27,4
+5666,2021-10-28,4
+5667,2021-10-29,4
+5668,2021-10-30,4
+5669,2021-10-31,4
+5670,2021-11-01,4
+5671,2021-11-02,4
+5672,2021-11-03,4
+5673,2021-11-04,4
+5674,2021-11-05,4
+5675,2021-11-06,4
+5676,2021-11-07,4
+5677,2021-11-08,4
+5678,2021-11-09,4
+5679,2021-11-10,4
+5680,2021-11-11,4
+5681,2021-11-12,4
+5682,2021-11-13,4
+5683,2021-11-14,4
+5684,2021-11-15,4
+5685,2021-11-16,4
+5686,2021-11-17,4
+5687,2021-11-18,4
+5688,2021-11-19,4
+5689,2021-11-20,4
+5690,2021-11-21,4
+5691,2021-11-22,4
+5692,2021-11-23,4
+5693,2021-11-24,4
+5694,2021-11-25,4
+5695,2021-11-26,4
+5696,2021-11-27,4
+5697,2021-11-28,4
+5698,2021-11-29,4
+5699,2021-11-30,4
+5700,2021-12-01,4
+5701,2021-12-02,4
+5702,2021-12-03,4
+5703,2021-12-04,4
+5704,2021-12-05,4
+5705,2021-12-06,4
+5706,2021-12-07,4
+5707,2021-12-08,4
+5708,2021-12-09,4
+5709,2021-12-10,4
+5710,2021-12-11,4
+5711,2021-12-12,4
+5712,2021-12-13,4
+5713,2021-12-14,4
+5714,2021-12-15,4
+5715,2021-12-16,4
+5716,2021-12-17,4
+5717,2021-12-18,4
+5718,2021-12-19,4
+5719,2021-12-20,4
+5720,2021-12-21,4
+5721,2021-12-22,4
+5722,2021-12-23,4
+5723,2021-12-24,4
+5724,2021-12-25,4
+5725,2021-12-26,4
+5726,2021-12-27,4
+5727,2021-12-28,4
+5728,2021-12-29,4
+5729,2021-12-30,4
+5730,2021-12-31,4
+5731,2022-01-01,4
+5732,2022-01-02,4
+5733,2022-01-03,4
+5734,2022-01-04,4
+5735,2022-01-05,4
+5736,2022-01-06,4
+5737,2022-01-07,4
+5738,2022-01-08,4
+5739,2022-01-09,4
+5740,2022-01-10,4
+5741,2022-01-11,4
+5742,2022-01-12,4
+5743,2022-01-13,4
+5744,2022-01-14,4
+5745,2022-01-15,4
+5746,2022-01-16,4
+5747,2022-01-17,4
+5748,2022-01-18,4
+5749,2022-01-19,4
+5750,2022-01-20,4
+5751,2022-01-21,4
+5752,2022-01-22,4
+5753,2022-01-23,4
+5754,2022-01-24,4
+5755,2022-01-25,4
+5756,2022-01-26,4
+5757,2022-01-27,4
+5758,2022-01-28,4
+5759,2022-01-29,4
+5760,2022-01-30,4
+5761,2022-01-31,4
+5762,2022-02-01,4
+5763,2022-02-02,4
+5764,2022-02-03,4
+5765,2022-02-04,4
+5766,2022-02-05,4
+5767,2022-02-06,4
+5768,2022-02-07,4
+5769,2022-02-08,4
+5770,2022-02-09,4
+5771,2022-02-10,4
+5772,2022-02-11,4
+5773,2022-02-12,4
+5774,2022-02-13,4
+5775,2022-02-14,4
+5776,2022-02-15,4
+5777,2022-02-16,4
+5778,2022-02-17,4
+5779,2022-02-18,4
+5780,2022-02-19,4
+5781,2022-02-20,4
+5782,2022-02-21,4
+5783,2022-02-22,4
+5784,2022-02-23,4
+5785,2022-02-24,4
+5786,2022-02-25,4
+5787,2022-02-26,4
+5788,2022-02-27,4
+5789,2022-02-28,4
+5790,2022-03-01,4
+5791,2022-03-02,4
+5792,2022-03-03,4
+5793,2022-03-04,4
+5794,2022-03-05,4
+5795,2022-03-06,4
+5796,2022-03-07,4
+5797,2022-03-08,4
+5798,2022-03-09,4
+5799,2022-03-10,4
+5800,2022-03-11,4
+5801,2022-03-12,4
+5802,2022-03-13,4
+5803,2022-03-14,4
+5804,2022-03-15,4
+5805,2022-03-16,4
+5806,2022-03-17,4
+5807,2022-03-18,4
+5808,2022-03-19,4
+5809,2022-03-20,4
+5810,2022-03-21,4
+5811,2022-03-22,4
+5812,2022-03-23,4
+5813,2022-03-24,4
+5814,2022-03-25,4
+5815,2022-03-26,4
+5816,2022-03-27,4
+5817,2022-03-28,4
+5818,2022-03-29,4
+5819,2022-03-30,4
+5820,2022-03-31,4
+5821,2022-04-01,4
+5822,2022-04-02,4
+5823,2022-04-03,4
+5824,2022-04-04,4
+5825,2022-04-05,4
+5826,2022-04-06,4
+5827,2022-04-07,4
+5828,2022-04-08,4
+5829,2022-04-09,4
+5830,2022-04-10,4
+5831,2022-04-11,4
+5832,2022-04-12,4
+5833,2022-04-13,4
+5834,2022-04-14,4
+5835,2022-04-15,4
+5836,2022-04-16,4
+5837,2022-04-17,4
+5838,2022-04-18,4
+5839,2022-04-19,4
+5840,2022-04-20,4
+5841,2022-04-21,4
+5842,2022-04-22,4
+5843,2022-04-23,4
+5844,2022-04-24,4
+5845,2022-04-25,4
+5846,2022-04-26,4
+5847,2022-04-27,4
+5848,2022-04-28,4
+5849,2022-04-29,4
+5850,2022-04-30,4
+5851,2022-05-01,4
+5852,2022-05-02,4
+5853,2022-05-03,4
+5854,2022-05-04,4
+5855,2022-05-05,4
+5856,2022-05-06,4
+5857,2022-05-07,4
+5858,2022-05-08,4
+5859,2022-05-09,4
+5860,2022-05-10,4
+5861,2022-05-11,4
+5862,2022-05-12,4
+5863,2022-05-13,4
+5864,2022-05-14,4
+5865,2022-05-15,4
+5866,2022-05-16,4
+5867,2022-05-17,4
+5868,2022-05-18,4
+5869,2022-05-19,4
+5870,2022-05-20,4
+5871,2022-05-21,4
+5872,2022-05-22,4
+5873,2022-05-23,4
+5874,2022-05-24,4
+5875,2022-05-25,4
+5876,2022-05-26,4
+5877,2022-05-27,4
+5878,2022-05-28,4
+5879,2022-05-29,4
+5880,2022-05-30,4
+5881,2022-05-31,4
+5882,2022-06-01,4
+5883,2022-06-02,4
+5884,2022-06-03,4
+5885,2022-06-04,4
+5886,2022-06-05,4
+5887,2022-06-06,4
+5888,2022-06-07,4
+5889,2022-06-08,4
+5890,2022-06-09,4
+5891,2022-06-10,4
+5892,2022-06-11,4
+5893,2022-06-12,4
+5894,2022-06-13,4
+5895,2022-06-14,4
+5896,2022-06-15,4
+5897,2022-06-16,4
+5898,2022-06-17,4
+5899,2022-06-18,4
+5900,2022-06-19,4
+5901,2022-06-20,4
+5902,2022-06-21,4
+5903,2022-06-22,4
+5904,2022-06-23,4
+5905,2022-06-24,4
+5906,2022-06-25,4
+5907,2022-06-26,4
+5908,2022-06-27,4
+5909,2022-06-28,4
+5910,2022-06-29,4
+5911,2022-06-30,4
+5912,2022-07-01,4
+5913,2022-07-02,4
+5914,2022-07-03,4
+5915,2022-07-04,4
+5916,2022-07-05,4
+5917,2022-07-06,4
+5918,2022-07-07,4
+5919,2022-07-08,4
+5920,2022-07-09,4
+5921,2022-07-10,4
+5922,2022-07-11,4
+5923,2022-07-12,4
+5924,2022-07-13,4
+5925,2022-07-14,4
+5926,2022-07-15,4
+5927,2022-07-16,4
+5928,2022-07-17,4
+5929,2022-07-18,4
+5930,2022-07-19,4
+5931,2022-07-20,4
+5932,2022-07-21,4
+5933,2022-07-22,4
+5934,2022-07-23,4
+5935,2022-07-24,4
+5936,2022-07-25,4
+5937,2022-07-26,4
+5938,2022-07-27,4
+5939,2022-07-28,4
+5940,2022-07-29,4
+5941,2022-07-30,4
+5942,2022-07-31,4
+5943,2022-08-01,4
+5944,2022-08-02,4
+5945,2022-08-03,4
+5946,2022-08-04,4
+5947,2022-08-05,4
+5948,2022-08-06,4
+5949,2022-08-07,4
+5950,2022-08-08,4
+5951,2022-08-09,4
+5952,2022-08-10,4
+5953,2022-08-11,4
+5954,2022-08-12,4
+5955,2022-08-13,4
+5956,2022-08-14,4
+5957,2022-08-15,4
+5958,2022-08-16,4
+5959,2022-08-17,4
+5960,2022-08-18,4
+5961,2022-08-19,4
+5962,2022-08-20,4
+5963,2022-08-21,4
+5964,2022-08-22,4
+5965,2022-08-23,4
+5966,2022-08-24,4
+5967,2022-08-25,4
+5968,2022-08-26,4
+5969,2022-08-27,4
+5970,2022-08-28,4
+5971,2022-08-29,4
+5972,2022-08-30,4
+5973,2022-08-31,4
+5974,2022-09-01,4
+5975,2022-09-02,4
+5976,2022-09-03,4
+5977,2022-09-04,4
+5978,2022-09-05,4
+5979,2022-09-06,4
+5980,2022-09-07,4
+5981,2022-09-08,4
+5982,2022-09-09,4
+5983,2022-09-10,4
+5984,2022-09-11,4
+5985,2022-09-12,4
+5986,2022-09-13,4
+5987,2022-09-14,4
+5988,2022-09-15,4
+5989,2022-09-16,4
+5990,2022-09-17,4
+5991,2022-09-18,4
+5992,2022-09-19,4
+5993,2022-09-20,4
+5994,2022-09-21,4
+5995,2022-09-22,4
+5996,2022-09-23,4
+5997,2022-09-24,4
+5998,2022-09-25,4
+5999,2022-09-26,4
+6000,2020-01-01,5
+6001,2020-01-02,5
+6002,2020-01-03,5
+6003,2020-01-04,5
+6004,2020-01-05,5
+6005,2020-01-06,5
+6006,2020-01-07,5
+6007,2020-01-08,5
+6008,2020-01-09,5
+6009,2020-01-10,5
+6010,2020-01-11,5
+6011,2020-01-12,5
+6012,2020-01-13,5
+6013,2020-01-14,5
+6014,2020-01-15,5
+6015,2020-01-16,5
+6016,2020-01-17,5
+6017,2020-01-18,5
+6018,2020-01-19,5
+6019,2020-01-20,5
+6020,2020-01-21,5
+6021,2020-01-22,5
+6022,2020-01-23,5
+6023,2020-01-24,5
+6024,2020-01-25,5
+6025,2020-01-26,5
+6026,2020-01-27,5
+6027,2020-01-28,5
+6028,2020-01-29,5
+6029,2020-01-30,5
+6030,2020-01-31,5
+6031,2020-02-01,5
+6032,2020-02-02,5
+6033,2020-02-03,5
+6034,2020-02-04,5
+6035,2020-02-05,5
+6036,2020-02-06,5
+6037,2020-02-07,5
+6038,2020-02-08,5
+6039,2020-02-09,5
+6040,2020-02-10,5
+6041,2020-02-11,5
+6042,2020-02-12,5
+6043,2020-02-13,5
+6044,2020-02-14,5
+6045,2020-02-15,5
+6046,2020-02-16,5
+6047,2020-02-17,5
+6048,2020-02-18,5
+6049,2020-02-19,5
+6050,2020-02-20,5
+6051,2020-02-21,5
+6052,2020-02-22,5
+6053,2020-02-23,5
+6054,2020-02-24,5
+6055,2020-02-25,5
+6056,2020-02-26,5
+6057,2020-02-27,5
+6058,2020-02-28,5
+6059,2020-02-29,5
+6060,2020-03-01,5
+6061,2020-03-02,5
+6062,2020-03-03,5
+6063,2020-03-04,5
+6064,2020-03-05,5
+6065,2020-03-06,5
+6066,2020-03-07,5
+6067,2020-03-08,5
+6068,2020-03-09,5
+6069,2020-03-10,5
+6070,2020-03-11,5
+6071,2020-03-12,5
+6072,2020-03-13,5
+6073,2020-03-14,5
+6074,2020-03-15,5
+6075,2020-03-16,5
+6076,2020-03-17,5
+6077,2020-03-18,5
+6078,2020-03-19,5
+6079,2020-03-20,5
+6080,2020-03-21,5
+6081,2020-03-22,5
+6082,2020-03-23,5
+6083,2020-03-24,5
+6084,2020-03-25,5
+6085,2020-03-26,5
+6086,2020-03-27,5
+6087,2020-03-28,5
+6088,2020-03-29,5
+6089,2020-03-30,5
+6090,2020-03-31,5
+6091,2020-04-01,5
+6092,2020-04-02,5
+6093,2020-04-03,5
+6094,2020-04-04,5
+6095,2020-04-05,5
+6096,2020-04-06,5
+6097,2020-04-07,5
+6098,2020-04-08,5
+6099,2020-04-09,5
+6100,2020-04-10,5
+6101,2020-04-11,5
+6102,2020-04-12,5
+6103,2020-04-13,5
+6104,2020-04-14,5
+6105,2020-04-15,5
+6106,2020-04-16,5
+6107,2020-04-17,5
+6108,2020-04-18,5
+6109,2020-04-19,5
+6110,2020-04-20,5
+6111,2020-04-21,5
+6112,2020-04-22,5
+6113,2020-04-23,5
+6114,2020-04-24,5
+6115,2020-04-25,5
+6116,2020-04-26,5
+6117,2020-04-27,5
+6118,2020-04-28,5
+6119,2020-04-29,5
+6120,2020-04-30,5
+6121,2020-05-01,5
+6122,2020-05-02,5
+6123,2020-05-03,5
+6124,2020-05-04,5
+6125,2020-05-05,5
+6126,2020-05-06,5
+6127,2020-05-07,5
+6128,2020-05-08,5
+6129,2020-05-09,5
+6130,2020-05-10,5
+6131,2020-05-11,5
+6132,2020-05-12,5
+6133,2020-05-13,5
+6134,2020-05-14,5
+6135,2020-05-15,5
+6136,2020-05-16,5
+6137,2020-05-17,5
+6138,2020-05-18,5
+6139,2020-05-19,5
+6140,2020-05-20,5
+6141,2020-05-21,5
+6142,2020-05-22,5
+6143,2020-05-23,5
+6144,2020-05-24,5
+6145,2020-05-25,5
+6146,2020-05-26,5
+6147,2020-05-27,5
+6148,2020-05-28,5
+6149,2020-05-29,5
+6150,2020-05-30,5
+6151,2020-05-31,5
+6152,2020-06-01,5
+6153,2020-06-02,5
+6154,2020-06-03,5
+6155,2020-06-04,5
+6156,2020-06-05,5
+6157,2020-06-06,5
+6158,2020-06-07,5
+6159,2020-06-08,5
+6160,2020-06-09,5
+6161,2020-06-10,5
+6162,2020-06-11,5
+6163,2020-06-12,5
+6164,2020-06-13,5
+6165,2020-06-14,5
+6166,2020-06-15,5
+6167,2020-06-16,5
+6168,2020-06-17,5
+6169,2020-06-18,5
+6170,2020-06-19,5
+6171,2020-06-20,5
+6172,2020-06-21,5
+6173,2020-06-22,5
+6174,2020-06-23,5
+6175,2020-06-24,5
+6176,2020-06-25,5
+6177,2020-06-26,5
+6178,2020-06-27,5
+6179,2020-06-28,5
+6180,2020-06-29,5
+6181,2020-06-30,5
+6182,2020-07-01,5
+6183,2020-07-02,5
+6184,2020-07-03,5
+6185,2020-07-04,5
+6186,2020-07-05,5
+6187,2020-07-06,5
+6188,2020-07-07,5
+6189,2020-07-08,5
+6190,2020-07-09,5
+6191,2020-07-10,5
+6192,2020-07-11,5
+6193,2020-07-12,5
+6194,2020-07-13,5
+6195,2020-07-14,5
+6196,2020-07-15,5
+6197,2020-07-16,5
+6198,2020-07-17,5
+6199,2020-07-18,5
+6200,2020-07-19,5
+6201,2020-07-20,5
+6202,2020-07-21,5
+6203,2020-07-22,5
+6204,2020-07-23,5
+6205,2020-07-24,5
+6206,2020-07-25,5
+6207,2020-07-26,5
+6208,2020-07-27,5
+6209,2020-07-28,5
+6210,2020-07-29,5
+6211,2020-07-30,5
+6212,2020-07-31,5
+6213,2020-08-01,5
+6214,2020-08-02,5
+6215,2020-08-03,5
+6216,2020-08-04,5
+6217,2020-08-05,5
+6218,2020-08-06,5
+6219,2020-08-07,5
+6220,2020-08-08,5
+6221,2020-08-09,5
+6222,2020-08-10,5
+6223,2020-08-11,5
+6224,2020-08-12,5
+6225,2020-08-13,5
+6226,2020-08-14,5
+6227,2020-08-15,5
+6228,2020-08-16,5
+6229,2020-08-17,5
+6230,2020-08-18,5
+6231,2020-08-19,5
+6232,2020-08-20,5
+6233,2020-08-21,5
+6234,2020-08-22,5
+6235,2020-08-23,5
+6236,2020-08-24,5
+6237,2020-08-25,5
+6238,2020-08-26,5
+6239,2020-08-27,5
+6240,2020-08-28,5
+6241,2020-08-29,5
+6242,2020-08-30,5
+6243,2020-08-31,5
+6244,2020-09-01,5
+6245,2020-09-02,5
+6246,2020-09-03,5
+6247,2020-09-04,5
+6248,2020-09-05,5
+6249,2020-09-06,5
+6250,2020-09-07,5
+6251,2020-09-08,5
+6252,2020-09-09,5
+6253,2020-09-10,5
+6254,2020-09-11,5
+6255,2020-09-12,5
+6256,2020-09-13,5
+6257,2020-09-14,5
+6258,2020-09-15,5
+6259,2020-09-16,5
+6260,2020-09-17,5
+6261,2020-09-18,5
+6262,2020-09-19,5
+6263,2020-09-20,5
+6264,2020-09-21,5
+6265,2020-09-22,5
+6266,2020-09-23,5
+6267,2020-09-24,5
+6268,2020-09-25,5
+6269,2020-09-26,5
+6270,2020-09-27,5
+6271,2020-09-28,5
+6272,2020-09-29,5
+6273,2020-09-30,5
+6274,2020-10-01,5
+6275,2020-10-02,5
+6276,2020-10-03,5
+6277,2020-10-04,5
+6278,2020-10-05,5
+6279,2020-10-06,5
+6280,2020-10-07,5
+6281,2020-10-08,5
+6282,2020-10-09,5
+6283,2020-10-10,5
+6284,2020-10-11,5
+6285,2020-10-12,5
+6286,2020-10-13,5
+6287,2020-10-14,5
+6288,2020-10-15,5
+6289,2020-10-16,5
+6290,2020-10-17,5
+6291,2020-10-18,5
+6292,2020-10-19,5
+6293,2020-10-20,5
+6294,2020-10-21,5
+6295,2020-10-22,5
+6296,2020-10-23,5
+6297,2020-10-24,5
+6298,2020-10-25,5
+6299,2020-10-26,5
+6300,2020-10-27,5
+6301,2020-10-28,5
+6302,2020-10-29,5
+6303,2020-10-30,5
+6304,2020-10-31,5
+6305,2020-11-01,5
+6306,2020-11-02,5
+6307,2020-11-03,5
+6308,2020-11-04,5
+6309,2020-11-05,5
+6310,2020-11-06,5
+6311,2020-11-07,5
+6312,2020-11-08,5
+6313,2020-11-09,5
+6314,2020-11-10,5
+6315,2020-11-11,5
+6316,2020-11-12,5
+6317,2020-11-13,5
+6318,2020-11-14,5
+6319,2020-11-15,5
+6320,2020-11-16,5
+6321,2020-11-17,5
+6322,2020-11-18,5
+6323,2020-11-19,5
+6324,2020-11-20,5
+6325,2020-11-21,5
+6326,2020-11-22,5
+6327,2020-11-23,5
+6328,2020-11-24,5
+6329,2020-11-25,5
+6330,2020-11-26,5
+6331,2020-11-27,5
+6332,2020-11-28,5
+6333,2020-11-29,5
+6334,2020-11-30,5
+6335,2020-12-01,5
+6336,2020-12-02,5
+6337,2020-12-03,5
+6338,2020-12-04,5
+6339,2020-12-05,5
+6340,2020-12-06,5
+6341,2020-12-07,5
+6342,2020-12-08,5
+6343,2020-12-09,5
+6344,2020-12-10,5
+6345,2020-12-11,5
+6346,2020-12-12,5
+6347,2020-12-13,5
+6348,2020-12-14,5
+6349,2020-12-15,5
+6350,2020-12-16,5
+6351,2020-12-17,5
+6352,2020-12-18,5
+6353,2020-12-19,5
+6354,2020-12-20,5
+6355,2020-12-21,5
+6356,2020-12-22,5
+6357,2020-12-23,5
+6358,2020-12-24,5
+6359,2020-12-25,5
+6360,2020-12-26,5
+6361,2020-12-27,5
+6362,2020-12-28,5
+6363,2020-12-29,5
+6364,2020-12-30,5
+6365,2020-12-31,5
+6366,2021-01-01,5
+6367,2021-01-02,5
+6368,2021-01-03,5
+6369,2021-01-04,5
+6370,2021-01-05,5
+6371,2021-01-06,5
+6372,2021-01-07,5
+6373,2021-01-08,5
+6374,2021-01-09,5
+6375,2021-01-10,5
+6376,2021-01-11,5
+6377,2021-01-12,5
+6378,2021-01-13,5
+6379,2021-01-14,5
+6380,2021-01-15,5
+6381,2021-01-16,5
+6382,2021-01-17,5
+6383,2021-01-18,5
+6384,2021-01-19,5
+6385,2021-01-20,5
+6386,2021-01-21,5
+6387,2021-01-22,5
+6388,2021-01-23,5
+6389,2021-01-24,5
+6390,2021-01-25,5
+6391,2021-01-26,5
+6392,2021-01-27,5
+6393,2021-01-28,5
+6394,2021-01-29,5
+6395,2021-01-30,5
+6396,2021-01-31,5
+6397,2021-02-01,5
+6398,2021-02-02,5
+6399,2021-02-03,5
+6400,2021-02-04,5
+6401,2021-02-05,5
+6402,2021-02-06,5
+6403,2021-02-07,5
+6404,2021-02-08,5
+6405,2021-02-09,5
+6406,2021-02-10,5
+6407,2021-02-11,5
+6408,2021-02-12,5
+6409,2021-02-13,5
+6410,2021-02-14,5
+6411,2021-02-15,5
+6412,2021-02-16,5
+6413,2021-02-17,5
+6414,2021-02-18,5
+6415,2021-02-19,5
+6416,2021-02-20,5
+6417,2021-02-21,5
+6418,2021-02-22,5
+6419,2021-02-23,5
+6420,2021-02-24,5
+6421,2021-02-25,5
+6422,2021-02-26,5
+6423,2021-02-27,5
+6424,2021-02-28,5
+6425,2021-03-01,5
+6426,2021-03-02,5
+6427,2021-03-03,5
+6428,2021-03-04,5
+6429,2021-03-05,5
+6430,2021-03-06,5
+6431,2021-03-07,5
+6432,2021-03-08,5
+6433,2021-03-09,5
+6434,2021-03-10,5
+6435,2021-03-11,5
+6436,2021-03-12,5
+6437,2021-03-13,5
+6438,2021-03-14,5
+6439,2021-03-15,5
+6440,2021-03-16,5
+6441,2021-03-17,5
+6442,2021-03-18,5
+6443,2021-03-19,5
+6444,2021-03-20,5
+6445,2021-03-21,5
+6446,2021-03-22,5
+6447,2021-03-23,5
+6448,2021-03-24,5
+6449,2021-03-25,5
+6450,2021-03-26,5
+6451,2021-03-27,5
+6452,2021-03-28,5
+6453,2021-03-29,5
+6454,2021-03-30,5
+6455,2021-03-31,5
+6456,2021-04-01,5
+6457,2021-04-02,5
+6458,2021-04-03,5
+6459,2021-04-04,5
+6460,2021-04-05,5
+6461,2021-04-06,5
+6462,2021-04-07,5
+6463,2021-04-08,5
+6464,2021-04-09,5
+6465,2021-04-10,5
+6466,2021-04-11,5
+6467,2021-04-12,5
+6468,2021-04-13,5
+6469,2021-04-14,5
+6470,2021-04-15,5
+6471,2021-04-16,5
+6472,2021-04-17,5
+6473,2021-04-18,5
+6474,2021-04-19,5
+6475,2021-04-20,5
+6476,2021-04-21,5
+6477,2021-04-22,5
+6478,2021-04-23,5
+6479,2021-04-24,5
+6480,2021-04-25,5
+6481,2021-04-26,5
+6482,2021-04-27,5
+6483,2021-04-28,5
+6484,2021-04-29,5
+6485,2021-04-30,5
+6486,2021-05-01,5
+6487,2021-05-02,5
+6488,2021-05-03,5
+6489,2021-05-04,5
+6490,2021-05-05,5
+6491,2021-05-06,5
+6492,2021-05-07,5
+6493,2021-05-08,5
+6494,2021-05-09,5
+6495,2021-05-10,5
+6496,2021-05-11,5
+6497,2021-05-12,5
+6498,2021-05-13,5
+6499,2021-05-14,5
+6500,2021-05-15,5
+6501,2021-05-16,5
+6502,2021-05-17,5
+6503,2021-05-18,5
+6504,2021-05-19,5
+6505,2021-05-20,5
+6506,2021-05-21,5
+6507,2021-05-22,5
+6508,2021-05-23,5
+6509,2021-05-24,5
+6510,2021-05-25,5
+6511,2021-05-26,5
+6512,2021-05-27,5
+6513,2021-05-28,5
+6514,2021-05-29,5
+6515,2021-05-30,5
+6516,2021-05-31,5
+6517,2021-06-01,5
+6518,2021-06-02,5
+6519,2021-06-03,5
+6520,2021-06-04,5
+6521,2021-06-05,5
+6522,2021-06-06,5
+6523,2021-06-07,5
+6524,2021-06-08,5
+6525,2021-06-09,5
+6526,2021-06-10,5
+6527,2021-06-11,5
+6528,2021-06-12,5
+6529,2021-06-13,5
+6530,2021-06-14,5
+6531,2021-06-15,5
+6532,2021-06-16,5
+6533,2021-06-17,5
+6534,2021-06-18,5
+6535,2021-06-19,5
+6536,2021-06-20,5
+6537,2021-06-21,5
+6538,2021-06-22,5
+6539,2021-06-23,5
+6540,2021-06-24,5
+6541,2021-06-25,5
+6542,2021-06-26,5
+6543,2021-06-27,5
+6544,2021-06-28,5
+6545,2021-06-29,5
+6546,2021-06-30,5
+6547,2021-07-01,5
+6548,2021-07-02,5
+6549,2021-07-03,5
+6550,2021-07-04,5
+6551,2021-07-05,5
+6552,2021-07-06,5
+6553,2021-07-07,5
+6554,2021-07-08,5
+6555,2021-07-09,5
+6556,2021-07-10,5
+6557,2021-07-11,5
+6558,2021-07-12,5
+6559,2021-07-13,5
+6560,2021-07-14,5
+6561,2021-07-15,5
+6562,2021-07-16,5
+6563,2021-07-17,5
+6564,2021-07-18,5
+6565,2021-07-19,5
+6566,2021-07-20,5
+6567,2021-07-21,5
+6568,2021-07-22,5
+6569,2021-07-23,5
+6570,2021-07-24,5
+6571,2021-07-25,5
+6572,2021-07-26,5
+6573,2021-07-27,5
+6574,2021-07-28,5
+6575,2021-07-29,5
+6576,2021-07-30,5
+6577,2021-07-31,5
+6578,2021-08-01,5
+6579,2021-08-02,5
+6580,2021-08-03,5
+6581,2021-08-04,5
+6582,2021-08-05,5
+6583,2021-08-06,5
+6584,2021-08-07,5
+6585,2021-08-08,5
+6586,2021-08-09,5
+6587,2021-08-10,5
+6588,2021-08-11,5
+6589,2021-08-12,5
+6590,2021-08-13,5
+6591,2021-08-14,5
+6592,2021-08-15,5
+6593,2021-08-16,5
+6594,2021-08-17,5
+6595,2021-08-18,5
+6596,2021-08-19,5
+6597,2021-08-20,5
+6598,2021-08-21,5
+6599,2021-08-22,5
+6600,2021-08-23,5
+6601,2021-08-24,5
+6602,2021-08-25,5
+6603,2021-08-26,5
+6604,2021-08-27,5
+6605,2021-08-28,5
+6606,2021-08-29,5
+6607,2021-08-30,5
+6608,2021-08-31,5
+6609,2021-09-01,5
+6610,2021-09-02,5
+6611,2021-09-03,5
+6612,2021-09-04,5
+6613,2021-09-05,5
+6614,2021-09-06,5
+6615,2021-09-07,5
+6616,2021-09-08,5
+6617,2021-09-09,5
+6618,2021-09-10,5
+6619,2021-09-11,5
+6620,2021-09-12,5
+6621,2021-09-13,5
+6622,2021-09-14,5
+6623,2021-09-15,5
+6624,2021-09-16,5
+6625,2021-09-17,5
+6626,2021-09-18,5
+6627,2021-09-19,5
+6628,2021-09-20,5
+6629,2021-09-21,5
+6630,2021-09-22,5
+6631,2021-09-23,5
+6632,2021-09-24,5
+6633,2021-09-25,5
+6634,2021-09-26,5
+6635,2021-09-27,5
+6636,2021-09-28,5
+6637,2021-09-29,5
+6638,2021-09-30,5
+6639,2021-10-01,5
+6640,2021-10-02,5
+6641,2021-10-03,5
+6642,2021-10-04,5
+6643,2021-10-05,5
+6644,2021-10-06,5
+6645,2021-10-07,5
+6646,2021-10-08,5
+6647,2021-10-09,5
+6648,2021-10-10,5
+6649,2021-10-11,5
+6650,2021-10-12,5
+6651,2021-10-13,5
+6652,2021-10-14,5
+6653,2021-10-15,5
+6654,2021-10-16,5
+6655,2021-10-17,5
+6656,2021-10-18,5
+6657,2021-10-19,5
+6658,2021-10-20,5
+6659,2021-10-21,5
+6660,2021-10-22,5
+6661,2021-10-23,5
+6662,2021-10-24,5
+6663,2021-10-25,5
+6664,2021-10-26,5
+6665,2021-10-27,5
+6666,2021-10-28,5
+6667,2021-10-29,5
+6668,2021-10-30,5
+6669,2021-10-31,5
+6670,2021-11-01,5
+6671,2021-11-02,5
+6672,2021-11-03,5
+6673,2021-11-04,5
+6674,2021-11-05,5
+6675,2021-11-06,5
+6676,2021-11-07,5
+6677,2021-11-08,5
+6678,2021-11-09,5
+6679,2021-11-10,5
+6680,2021-11-11,5
+6681,2021-11-12,5
+6682,2021-11-13,5
+6683,2021-11-14,5
+6684,2021-11-15,5
+6685,2021-11-16,5
+6686,2021-11-17,5
+6687,2021-11-18,5
+6688,2021-11-19,5
+6689,2021-11-20,5
+6690,2021-11-21,5
+6691,2021-11-22,5
+6692,2021-11-23,5
+6693,2021-11-24,5
+6694,2021-11-25,5
+6695,2021-11-26,5
+6696,2021-11-27,5
+6697,2021-11-28,5
+6698,2021-11-29,5
+6699,2021-11-30,5
+6700,2021-12-01,5
+6701,2021-12-02,5
+6702,2021-12-03,5
+6703,2021-12-04,5
+6704,2021-12-05,5
+6705,2021-12-06,5
+6706,2021-12-07,5
+6707,2021-12-08,5
+6708,2021-12-09,5
+6709,2021-12-10,5
+6710,2021-12-11,5
+6711,2021-12-12,5
+6712,2021-12-13,5
+6713,2021-12-14,5
+6714,2021-12-15,5
+6715,2021-12-16,5
+6716,2021-12-17,5
+6717,2021-12-18,5
+6718,2021-12-19,5
+6719,2021-12-20,5
+6720,2021-12-21,5
+6721,2021-12-22,5
+6722,2021-12-23,5
+6723,2021-12-24,5
+6724,2021-12-25,5
+6725,2021-12-26,5
+6726,2021-12-27,5
+6727,2021-12-28,5
+6728,2021-12-29,5
+6729,2021-12-30,5
+6730,2021-12-31,5
+6731,2022-01-01,5
+6732,2022-01-02,5
+6733,2022-01-03,5
+6734,2022-01-04,5
+6735,2022-01-05,5
+6736,2022-01-06,5
+6737,2022-01-07,5
+6738,2022-01-08,5
+6739,2022-01-09,5
+6740,2022-01-10,5
+6741,2022-01-11,5
+6742,2022-01-12,5
+6743,2022-01-13,5
+6744,2022-01-14,5
+6745,2022-01-15,5
+6746,2022-01-16,5
+6747,2022-01-17,5
+6748,2022-01-18,5
+6749,2022-01-19,5
+6750,2022-01-20,5
+6751,2022-01-21,5
+6752,2022-01-22,5
+6753,2022-01-23,5
+6754,2022-01-24,5
+6755,2022-01-25,5
+6756,2022-01-26,5
+6757,2022-01-27,5
+6758,2022-01-28,5
+6759,2022-01-29,5
+6760,2022-01-30,5
+6761,2022-01-31,5
+6762,2022-02-01,5
+6763,2022-02-02,5
+6764,2022-02-03,5
+6765,2022-02-04,5
+6766,2022-02-05,5
+6767,2022-02-06,5
+6768,2022-02-07,5
+6769,2022-02-08,5
+6770,2022-02-09,5
+6771,2022-02-10,5
+6772,2022-02-11,5
+6773,2022-02-12,5
+6774,2022-02-13,5
+6775,2022-02-14,5
+6776,2022-02-15,5
+6777,2022-02-16,5
+6778,2022-02-17,5
+6779,2022-02-18,5
+6780,2022-02-19,5
+6781,2022-02-20,5
+6782,2022-02-21,5
+6783,2022-02-22,5
+6784,2022-02-23,5
+6785,2022-02-24,5
+6786,2022-02-25,5
+6787,2022-02-26,5
+6788,2022-02-27,5
+6789,2022-02-28,5
+6790,2022-03-01,5
+6791,2022-03-02,5
+6792,2022-03-03,5
+6793,2022-03-04,5
+6794,2022-03-05,5
+6795,2022-03-06,5
+6796,2022-03-07,5
+6797,2022-03-08,5
+6798,2022-03-09,5
+6799,2022-03-10,5
+6800,2022-03-11,5
+6801,2022-03-12,5
+6802,2022-03-13,5
+6803,2022-03-14,5
+6804,2022-03-15,5
+6805,2022-03-16,5
+6806,2022-03-17,5
+6807,2022-03-18,5
+6808,2022-03-19,5
+6809,2022-03-20,5
+6810,2022-03-21,5
+6811,2022-03-22,5
+6812,2022-03-23,5
+6813,2022-03-24,5
+6814,2022-03-25,5
+6815,2022-03-26,5
+6816,2022-03-27,5
+6817,2022-03-28,5
+6818,2022-03-29,5
+6819,2022-03-30,5
+6820,2022-03-31,5
+6821,2022-04-01,5
+6822,2022-04-02,5
+6823,2022-04-03,5
+6824,2022-04-04,5
+6825,2022-04-05,5
+6826,2022-04-06,5
+6827,2022-04-07,5
+6828,2022-04-08,5
+6829,2022-04-09,5
+6830,2022-04-10,5
+6831,2022-04-11,5
+6832,2022-04-12,5
+6833,2022-04-13,5
+6834,2022-04-14,5
+6835,2022-04-15,5
+6836,2022-04-16,5
+6837,2022-04-17,5
+6838,2022-04-18,5
+6839,2022-04-19,5
+6840,2022-04-20,5
+6841,2022-04-21,5
+6842,2022-04-22,5
+6843,2022-04-23,5
+6844,2022-04-24,5
+6845,2022-04-25,5
+6846,2022-04-26,5
+6847,2022-04-27,5
+6848,2022-04-28,5
+6849,2022-04-29,5
+6850,2022-04-30,5
+6851,2022-05-01,5
+6852,2022-05-02,5
+6853,2022-05-03,5
+6854,2022-05-04,5
+6855,2022-05-05,5
+6856,2022-05-06,5
+6857,2022-05-07,5
+6858,2022-05-08,5
+6859,2022-05-09,5
+6860,2022-05-10,5
+6861,2022-05-11,5
+6862,2022-05-12,5
+6863,2022-05-13,5
+6864,2022-05-14,5
+6865,2022-05-15,5
+6866,2022-05-16,5
+6867,2022-05-17,5
+6868,2022-05-18,5
+6869,2022-05-19,5
+6870,2022-05-20,5
+6871,2022-05-21,5
+6872,2022-05-22,5
+6873,2022-05-23,5
+6874,2022-05-24,5
+6875,2022-05-25,5
+6876,2022-05-26,5
+6877,2022-05-27,5
+6878,2022-05-28,5
+6879,2022-05-29,5
+6880,2022-05-30,5
+6881,2022-05-31,5
+6882,2022-06-01,5
+6883,2022-06-02,5
+6884,2022-06-03,5
+6885,2022-06-04,5
+6886,2022-06-05,5
+6887,2022-06-06,5
+6888,2022-06-07,5
+6889,2022-06-08,5
+6890,2022-06-09,5
+6891,2022-06-10,5
+6892,2022-06-11,5
+6893,2022-06-12,5
+6894,2022-06-13,5
+6895,2022-06-14,5
+6896,2022-06-15,5
+6897,2022-06-16,5
+6898,2022-06-17,5
+6899,2022-06-18,5
+6900,2022-06-19,5
+6901,2022-06-20,5
+6902,2022-06-21,5
+6903,2022-06-22,5
+6904,2022-06-23,5
+6905,2022-06-24,5
+6906,2022-06-25,5
+6907,2022-06-26,5
+6908,2022-06-27,5
+6909,2022-06-28,5
+6910,2022-06-29,5
+6911,2022-06-30,5
+6912,2022-07-01,5
+6913,2022-07-02,5
+6914,2022-07-03,5
+6915,2022-07-04,5
+6916,2022-07-05,5
+6917,2022-07-06,5
+6918,2022-07-07,5
+6919,2022-07-08,5
+6920,2022-07-09,5
+6921,2022-07-10,5
+6922,2022-07-11,5
+6923,2022-07-12,5
+6924,2022-07-13,5
+6925,2022-07-14,5
+6926,2022-07-15,5
+6927,2022-07-16,5
+6928,2022-07-17,5
+6929,2022-07-18,5
+6930,2022-07-19,5
+6931,2022-07-20,5
+6932,2022-07-21,5
+6933,2022-07-22,5
+6934,2022-07-23,5
+6935,2022-07-24,5
+6936,2022-07-25,5
+6937,2022-07-26,5
+6938,2022-07-27,5
+6939,2022-07-28,5
+6940,2022-07-29,5
+6941,2022-07-30,5
+6942,2022-07-31,5
+6943,2022-08-01,5
+6944,2022-08-02,5
+6945,2022-08-03,5
+6946,2022-08-04,5
+6947,2022-08-05,5
+6948,2022-08-06,5
+6949,2022-08-07,5
+6950,2022-08-08,5
+6951,2022-08-09,5
+6952,2022-08-10,5
+6953,2022-08-11,5
+6954,2022-08-12,5
+6955,2022-08-13,5
+6956,2022-08-14,5
+6957,2022-08-15,5
+6958,2022-08-16,5
+6959,2022-08-17,5
+6960,2022-08-18,5
+6961,2022-08-19,5
+6962,2022-08-20,5
+6963,2022-08-21,5
+6964,2022-08-22,5
+6965,2022-08-23,5
+6966,2022-08-24,5
+6967,2022-08-25,5
+6968,2022-08-26,5
+6969,2022-08-27,5
+6970,2022-08-28,5
+6971,2022-08-29,5
+6972,2022-08-30,5
+6973,2022-08-31,5
+6974,2022-09-01,5
+6975,2022-09-02,5
+6976,2022-09-03,5
+6977,2022-09-04,5
+6978,2022-09-05,5
+6979,2022-09-06,5
+6980,2022-09-07,5
+6981,2022-09-08,5
+6982,2022-09-09,5
+6983,2022-09-10,5
+6984,2022-09-11,5
+6985,2022-09-12,5
+6986,2022-09-13,5
+6987,2022-09-14,5
+6988,2022-09-15,5
+6989,2022-09-16,5
+6990,2022-09-17,5
+6991,2022-09-18,5
+6992,2022-09-19,5
+6993,2022-09-20,5
+6994,2022-09-21,5
+6995,2022-09-22,5
+6996,2022-09-23,5
+6997,2022-09-24,5
+6998,2022-09-25,5
+6999,2022-09-26,5
+7000,2020-01-01,6
+7001,2020-01-02,6
+7002,2020-01-03,6
+7003,2020-01-04,6
+7004,2020-01-05,6
+7005,2020-01-06,6
+7006,2020-01-07,6
+7007,2020-01-08,6
+7008,2020-01-09,6
+7009,2020-01-10,6
+7010,2020-01-11,6
+7011,2020-01-12,6
+7012,2020-01-13,6
+7013,2020-01-14,6
+7014,2020-01-15,6
+7015,2020-01-16,6
+7016,2020-01-17,6
+7017,2020-01-18,6
+7018,2020-01-19,6
+7019,2020-01-20,6
+7020,2020-01-21,6
+7021,2020-01-22,6
+7022,2020-01-23,6
+7023,2020-01-24,6
+7024,2020-01-25,6
+7025,2020-01-26,6
+7026,2020-01-27,6
+7027,2020-01-28,6
+7028,2020-01-29,6
+7029,2020-01-30,6
+7030,2020-01-31,6
+7031,2020-02-01,6
+7032,2020-02-02,6
+7033,2020-02-03,6
+7034,2020-02-04,6
+7035,2020-02-05,6
+7036,2020-02-06,6
+7037,2020-02-07,6
+7038,2020-02-08,6
+7039,2020-02-09,6
+7040,2020-02-10,6
+7041,2020-02-11,6
+7042,2020-02-12,6
+7043,2020-02-13,6
+7044,2020-02-14,6
+7045,2020-02-15,6
+7046,2020-02-16,6
+7047,2020-02-17,6
+7048,2020-02-18,6
+7049,2020-02-19,6
+7050,2020-02-20,6
+7051,2020-02-21,6
+7052,2020-02-22,6
+7053,2020-02-23,6
+7054,2020-02-24,6
+7055,2020-02-25,6
+7056,2020-02-26,6
+7057,2020-02-27,6
+7058,2020-02-28,6
+7059,2020-02-29,6
+7060,2020-03-01,6
+7061,2020-03-02,6
+7062,2020-03-03,6
+7063,2020-03-04,6
+7064,2020-03-05,6
+7065,2020-03-06,6
+7066,2020-03-07,6
+7067,2020-03-08,6
+7068,2020-03-09,6
+7069,2020-03-10,6
+7070,2020-03-11,6
+7071,2020-03-12,6
+7072,2020-03-13,6
+7073,2020-03-14,6
+7074,2020-03-15,6
+7075,2020-03-16,6
+7076,2020-03-17,6
+7077,2020-03-18,6
+7078,2020-03-19,6
+7079,2020-03-20,6
+7080,2020-03-21,6
+7081,2020-03-22,6
+7082,2020-03-23,6
+7083,2020-03-24,6
+7084,2020-03-25,6
+7085,2020-03-26,6
+7086,2020-03-27,6
+7087,2020-03-28,6
+7088,2020-03-29,6
+7089,2020-03-30,6
+7090,2020-03-31,6
+7091,2020-04-01,6
+7092,2020-04-02,6
+7093,2020-04-03,6
+7094,2020-04-04,6
+7095,2020-04-05,6
+7096,2020-04-06,6
+7097,2020-04-07,6
+7098,2020-04-08,6
+7099,2020-04-09,6
+7100,2020-04-10,6
+7101,2020-04-11,6
+7102,2020-04-12,6
+7103,2020-04-13,6
+7104,2020-04-14,6
+7105,2020-04-15,6
+7106,2020-04-16,6
+7107,2020-04-17,6
+7108,2020-04-18,6
+7109,2020-04-19,6
+7110,2020-04-20,6
+7111,2020-04-21,6
+7112,2020-04-22,6
+7113,2020-04-23,6
+7114,2020-04-24,6
+7115,2020-04-25,6
+7116,2020-04-26,6
+7117,2020-04-27,6
+7118,2020-04-28,6
+7119,2020-04-29,6
+7120,2020-04-30,6
+7121,2020-05-01,6
+7122,2020-05-02,6
+7123,2020-05-03,6
+7124,2020-05-04,6
+7125,2020-05-05,6
+7126,2020-05-06,6
+7127,2020-05-07,6
+7128,2020-05-08,6
+7129,2020-05-09,6
+7130,2020-05-10,6
+7131,2020-05-11,6
+7132,2020-05-12,6
+7133,2020-05-13,6
+7134,2020-05-14,6
+7135,2020-05-15,6
+7136,2020-05-16,6
+7137,2020-05-17,6
+7138,2020-05-18,6
+7139,2020-05-19,6
+7140,2020-05-20,6
+7141,2020-05-21,6
+7142,2020-05-22,6
+7143,2020-05-23,6
+7144,2020-05-24,6
+7145,2020-05-25,6
+7146,2020-05-26,6
+7147,2020-05-27,6
+7148,2020-05-28,6
+7149,2020-05-29,6
+7150,2020-05-30,6
+7151,2020-05-31,6
+7152,2020-06-01,6
+7153,2020-06-02,6
+7154,2020-06-03,6
+7155,2020-06-04,6
+7156,2020-06-05,6
+7157,2020-06-06,6
+7158,2020-06-07,6
+7159,2020-06-08,6
+7160,2020-06-09,6
+7161,2020-06-10,6
+7162,2020-06-11,6
+7163,2020-06-12,6
+7164,2020-06-13,6
+7165,2020-06-14,6
+7166,2020-06-15,6
+7167,2020-06-16,6
+7168,2020-06-17,6
+7169,2020-06-18,6
+7170,2020-06-19,6
+7171,2020-06-20,6
+7172,2020-06-21,6
+7173,2020-06-22,6
+7174,2020-06-23,6
+7175,2020-06-24,6
+7176,2020-06-25,6
+7177,2020-06-26,6
+7178,2020-06-27,6
+7179,2020-06-28,6
+7180,2020-06-29,6
+7181,2020-06-30,6
+7182,2020-07-01,6
+7183,2020-07-02,6
+7184,2020-07-03,6
+7185,2020-07-04,6
+7186,2020-07-05,6
+7187,2020-07-06,6
+7188,2020-07-07,6
+7189,2020-07-08,6
+7190,2020-07-09,6
+7191,2020-07-10,6
+7192,2020-07-11,6
+7193,2020-07-12,6
+7194,2020-07-13,6
+7195,2020-07-14,6
+7196,2020-07-15,6
+7197,2020-07-16,6
+7198,2020-07-17,6
+7199,2020-07-18,6
+7200,2020-07-19,6
+7201,2020-07-20,6
+7202,2020-07-21,6
+7203,2020-07-22,6
+7204,2020-07-23,6
+7205,2020-07-24,6
+7206,2020-07-25,6
+7207,2020-07-26,6
+7208,2020-07-27,6
+7209,2020-07-28,6
+7210,2020-07-29,6
+7211,2020-07-30,6
+7212,2020-07-31,6
+7213,2020-08-01,6
+7214,2020-08-02,6
+7215,2020-08-03,6
+7216,2020-08-04,6
+7217,2020-08-05,6
+7218,2020-08-06,6
+7219,2020-08-07,6
+7220,2020-08-08,6
+7221,2020-08-09,6
+7222,2020-08-10,6
+7223,2020-08-11,6
+7224,2020-08-12,6
+7225,2020-08-13,6
+7226,2020-08-14,6
+7227,2020-08-15,6
+7228,2020-08-16,6
+7229,2020-08-17,6
+7230,2020-08-18,6
+7231,2020-08-19,6
+7232,2020-08-20,6
+7233,2020-08-21,6
+7234,2020-08-22,6
+7235,2020-08-23,6
+7236,2020-08-24,6
+7237,2020-08-25,6
+7238,2020-08-26,6
+7239,2020-08-27,6
+7240,2020-08-28,6
+7241,2020-08-29,6
+7242,2020-08-30,6
+7243,2020-08-31,6
+7244,2020-09-01,6
+7245,2020-09-02,6
+7246,2020-09-03,6
+7247,2020-09-04,6
+7248,2020-09-05,6
+7249,2020-09-06,6
+7250,2020-09-07,6
+7251,2020-09-08,6
+7252,2020-09-09,6
+7253,2020-09-10,6
+7254,2020-09-11,6
+7255,2020-09-12,6
+7256,2020-09-13,6
+7257,2020-09-14,6
+7258,2020-09-15,6
+7259,2020-09-16,6
+7260,2020-09-17,6
+7261,2020-09-18,6
+7262,2020-09-19,6
+7263,2020-09-20,6
+7264,2020-09-21,6
+7265,2020-09-22,6
+7266,2020-09-23,6
+7267,2020-09-24,6
+7268,2020-09-25,6
+7269,2020-09-26,6
+7270,2020-09-27,6
+7271,2020-09-28,6
+7272,2020-09-29,6
+7273,2020-09-30,6
+7274,2020-10-01,6
+7275,2020-10-02,6
+7276,2020-10-03,6
+7277,2020-10-04,6
+7278,2020-10-05,6
+7279,2020-10-06,6
+7280,2020-10-07,6
+7281,2020-10-08,6
+7282,2020-10-09,6
+7283,2020-10-10,6
+7284,2020-10-11,6
+7285,2020-10-12,6
+7286,2020-10-13,6
+7287,2020-10-14,6
+7288,2020-10-15,6
+7289,2020-10-16,6
+7290,2020-10-17,6
+7291,2020-10-18,6
+7292,2020-10-19,6
+7293,2020-10-20,6
+7294,2020-10-21,6
+7295,2020-10-22,6
+7296,2020-10-23,6
+7297,2020-10-24,6
+7298,2020-10-25,6
+7299,2020-10-26,6
+7300,2020-10-27,6
+7301,2020-10-28,6
+7302,2020-10-29,6
+7303,2020-10-30,6
+7304,2020-10-31,6
+7305,2020-11-01,6
+7306,2020-11-02,6
+7307,2020-11-03,6
+7308,2020-11-04,6
+7309,2020-11-05,6
+7310,2020-11-06,6
+7311,2020-11-07,6
+7312,2020-11-08,6
+7313,2020-11-09,6
+7314,2020-11-10,6
+7315,2020-11-11,6
+7316,2020-11-12,6
+7317,2020-11-13,6
+7318,2020-11-14,6
+7319,2020-11-15,6
+7320,2020-11-16,6
+7321,2020-11-17,6
+7322,2020-11-18,6
+7323,2020-11-19,6
+7324,2020-11-20,6
+7325,2020-11-21,6
+7326,2020-11-22,6
+7327,2020-11-23,6
+7328,2020-11-24,6
+7329,2020-11-25,6
+7330,2020-11-26,6
+7331,2020-11-27,6
+7332,2020-11-28,6
+7333,2020-11-29,6
+7334,2020-11-30,6
+7335,2020-12-01,6
+7336,2020-12-02,6
+7337,2020-12-03,6
+7338,2020-12-04,6
+7339,2020-12-05,6
+7340,2020-12-06,6
+7341,2020-12-07,6
+7342,2020-12-08,6
+7343,2020-12-09,6
+7344,2020-12-10,6
+7345,2020-12-11,6
+7346,2020-12-12,6
+7347,2020-12-13,6
+7348,2020-12-14,6
+7349,2020-12-15,6
+7350,2020-12-16,6
+7351,2020-12-17,6
+7352,2020-12-18,6
+7353,2020-12-19,6
+7354,2020-12-20,6
+7355,2020-12-21,6
+7356,2020-12-22,6
+7357,2020-12-23,6
+7358,2020-12-24,6
+7359,2020-12-25,6
+7360,2020-12-26,6
+7361,2020-12-27,6
+7362,2020-12-28,6
+7363,2020-12-29,6
+7364,2020-12-30,6
+7365,2020-12-31,6
+7366,2021-01-01,6
+7367,2021-01-02,6
+7368,2021-01-03,6
+7369,2021-01-04,6
+7370,2021-01-05,6
+7371,2021-01-06,6
+7372,2021-01-07,6
+7373,2021-01-08,6
+7374,2021-01-09,6
+7375,2021-01-10,6
+7376,2021-01-11,6
+7377,2021-01-12,6
+7378,2021-01-13,6
+7379,2021-01-14,6
+7380,2021-01-15,6
+7381,2021-01-16,6
+7382,2021-01-17,6
+7383,2021-01-18,6
+7384,2021-01-19,6
+7385,2021-01-20,6
+7386,2021-01-21,6
+7387,2021-01-22,6
+7388,2021-01-23,6
+7389,2021-01-24,6
+7390,2021-01-25,6
+7391,2021-01-26,6
+7392,2021-01-27,6
+7393,2021-01-28,6
+7394,2021-01-29,6
+7395,2021-01-30,6
+7396,2021-01-31,6
+7397,2021-02-01,6
+7398,2021-02-02,6
+7399,2021-02-03,6
+7400,2021-02-04,6
+7401,2021-02-05,6
+7402,2021-02-06,6
+7403,2021-02-07,6
+7404,2021-02-08,6
+7405,2021-02-09,6
+7406,2021-02-10,6
+7407,2021-02-11,6
+7408,2021-02-12,6
+7409,2021-02-13,6
+7410,2021-02-14,6
+7411,2021-02-15,6
+7412,2021-02-16,6
+7413,2021-02-17,6
+7414,2021-02-18,6
+7415,2021-02-19,6
+7416,2021-02-20,6
+7417,2021-02-21,6
+7418,2021-02-22,6
+7419,2021-02-23,6
+7420,2021-02-24,6
+7421,2021-02-25,6
+7422,2021-02-26,6
+7423,2021-02-27,6
+7424,2021-02-28,6
+7425,2021-03-01,6
+7426,2021-03-02,6
+7427,2021-03-03,6
+7428,2021-03-04,6
+7429,2021-03-05,6
+7430,2021-03-06,6
+7431,2021-03-07,6
+7432,2021-03-08,6
+7433,2021-03-09,6
+7434,2021-03-10,6
+7435,2021-03-11,6
+7436,2021-03-12,6
+7437,2021-03-13,6
+7438,2021-03-14,6
+7439,2021-03-15,6
+7440,2021-03-16,6
+7441,2021-03-17,6
+7442,2021-03-18,6
+7443,2021-03-19,6
+7444,2021-03-20,6
+7445,2021-03-21,6
+7446,2021-03-22,6
+7447,2021-03-23,6
+7448,2021-03-24,6
+7449,2021-03-25,6
+7450,2021-03-26,6
+7451,2021-03-27,6
+7452,2021-03-28,6
+7453,2021-03-29,6
+7454,2021-03-30,6
+7455,2021-03-31,6
+7456,2021-04-01,6
+7457,2021-04-02,6
+7458,2021-04-03,6
+7459,2021-04-04,6
+7460,2021-04-05,6
+7461,2021-04-06,6
+7462,2021-04-07,6
+7463,2021-04-08,6
+7464,2021-04-09,6
+7465,2021-04-10,6
+7466,2021-04-11,6
+7467,2021-04-12,6
+7468,2021-04-13,6
+7469,2021-04-14,6
+7470,2021-04-15,6
+7471,2021-04-16,6
+7472,2021-04-17,6
+7473,2021-04-18,6
+7474,2021-04-19,6
+7475,2021-04-20,6
+7476,2021-04-21,6
+7477,2021-04-22,6
+7478,2021-04-23,6
+7479,2021-04-24,6
+7480,2021-04-25,6
+7481,2021-04-26,6
+7482,2021-04-27,6
+7483,2021-04-28,6
+7484,2021-04-29,6
+7485,2021-04-30,6
+7486,2021-05-01,6
+7487,2021-05-02,6
+7488,2021-05-03,6
+7489,2021-05-04,6
+7490,2021-05-05,6
+7491,2021-05-06,6
+7492,2021-05-07,6
+7493,2021-05-08,6
+7494,2021-05-09,6
+7495,2021-05-10,6
+7496,2021-05-11,6
+7497,2021-05-12,6
+7498,2021-05-13,6
+7499,2021-05-14,6
+7500,2021-05-15,6
+7501,2021-05-16,6
+7502,2021-05-17,6
+7503,2021-05-18,6
+7504,2021-05-19,6
+7505,2021-05-20,6
+7506,2021-05-21,6
+7507,2021-05-22,6
+7508,2021-05-23,6
+7509,2021-05-24,6
+7510,2021-05-25,6
+7511,2021-05-26,6
+7512,2021-05-27,6
+7513,2021-05-28,6
+7514,2021-05-29,6
+7515,2021-05-30,6
+7516,2021-05-31,6
+7517,2021-06-01,6
+7518,2021-06-02,6
+7519,2021-06-03,6
+7520,2021-06-04,6
+7521,2021-06-05,6
+7522,2021-06-06,6
+7523,2021-06-07,6
+7524,2021-06-08,6
+7525,2021-06-09,6
+7526,2021-06-10,6
+7527,2021-06-11,6
+7528,2021-06-12,6
+7529,2021-06-13,6
+7530,2021-06-14,6
+7531,2021-06-15,6
+7532,2021-06-16,6
+7533,2021-06-17,6
+7534,2021-06-18,6
+7535,2021-06-19,6
+7536,2021-06-20,6
+7537,2021-06-21,6
+7538,2021-06-22,6
+7539,2021-06-23,6
+7540,2021-06-24,6
+7541,2021-06-25,6
+7542,2021-06-26,6
+7543,2021-06-27,6
+7544,2021-06-28,6
+7545,2021-06-29,6
+7546,2021-06-30,6
+7547,2021-07-01,6
+7548,2021-07-02,6
+7549,2021-07-03,6
+7550,2021-07-04,6
+7551,2021-07-05,6
+7552,2021-07-06,6
+7553,2021-07-07,6
+7554,2021-07-08,6
+7555,2021-07-09,6
+7556,2021-07-10,6
+7557,2021-07-11,6
+7558,2021-07-12,6
+7559,2021-07-13,6
+7560,2021-07-14,6
+7561,2021-07-15,6
+7562,2021-07-16,6
+7563,2021-07-17,6
+7564,2021-07-18,6
+7565,2021-07-19,6
+7566,2021-07-20,6
+7567,2021-07-21,6
+7568,2021-07-22,6
+7569,2021-07-23,6
+7570,2021-07-24,6
+7571,2021-07-25,6
+7572,2021-07-26,6
+7573,2021-07-27,6
+7574,2021-07-28,6
+7575,2021-07-29,6
+7576,2021-07-30,6
+7577,2021-07-31,6
+7578,2021-08-01,6
+7579,2021-08-02,6
+7580,2021-08-03,6
+7581,2021-08-04,6
+7582,2021-08-05,6
+7583,2021-08-06,6
+7584,2021-08-07,6
+7585,2021-08-08,6
+7586,2021-08-09,6
+7587,2021-08-10,6
+7588,2021-08-11,6
+7589,2021-08-12,6
+7590,2021-08-13,6
+7591,2021-08-14,6
+7592,2021-08-15,6
+7593,2021-08-16,6
+7594,2021-08-17,6
+7595,2021-08-18,6
+7596,2021-08-19,6
+7597,2021-08-20,6
+7598,2021-08-21,6
+7599,2021-08-22,6
+7600,2021-08-23,6
+7601,2021-08-24,6
+7602,2021-08-25,6
+7603,2021-08-26,6
+7604,2021-08-27,6
+7605,2021-08-28,6
+7606,2021-08-29,6
+7607,2021-08-30,6
+7608,2021-08-31,6
+7609,2021-09-01,6
+7610,2021-09-02,6
+7611,2021-09-03,6
+7612,2021-09-04,6
+7613,2021-09-05,6
+7614,2021-09-06,6
+7615,2021-09-07,6
+7616,2021-09-08,6
+7617,2021-09-09,6
+7618,2021-09-10,6
+7619,2021-09-11,6
+7620,2021-09-12,6
+7621,2021-09-13,6
+7622,2021-09-14,6
+7623,2021-09-15,6
+7624,2021-09-16,6
+7625,2021-09-17,6
+7626,2021-09-18,6
+7627,2021-09-19,6
+7628,2021-09-20,6
+7629,2021-09-21,6
+7630,2021-09-22,6
+7631,2021-09-23,6
+7632,2021-09-24,6
+7633,2021-09-25,6
+7634,2021-09-26,6
+7635,2021-09-27,6
+7636,2021-09-28,6
+7637,2021-09-29,6
+7638,2021-09-30,6
+7639,2021-10-01,6
+7640,2021-10-02,6
+7641,2021-10-03,6
+7642,2021-10-04,6
+7643,2021-10-05,6
+7644,2021-10-06,6
+7645,2021-10-07,6
+7646,2021-10-08,6
+7647,2021-10-09,6
+7648,2021-10-10,6
+7649,2021-10-11,6
+7650,2021-10-12,6
+7651,2021-10-13,6
+7652,2021-10-14,6
+7653,2021-10-15,6
+7654,2021-10-16,6
+7655,2021-10-17,6
+7656,2021-10-18,6
+7657,2021-10-19,6
+7658,2021-10-20,6
+7659,2021-10-21,6
+7660,2021-10-22,6
+7661,2021-10-23,6
+7662,2021-10-24,6
+7663,2021-10-25,6
+7664,2021-10-26,6
+7665,2021-10-27,6
+7666,2021-10-28,6
+7667,2021-10-29,6
+7668,2021-10-30,6
+7669,2021-10-31,6
+7670,2021-11-01,6
+7671,2021-11-02,6
+7672,2021-11-03,6
+7673,2021-11-04,6
+7674,2021-11-05,6
+7675,2021-11-06,6
+7676,2021-11-07,6
+7677,2021-11-08,6
+7678,2021-11-09,6
+7679,2021-11-10,6
+7680,2021-11-11,6
+7681,2021-11-12,6
+7682,2021-11-13,6
+7683,2021-11-14,6
+7684,2021-11-15,6
+7685,2021-11-16,6
+7686,2021-11-17,6
+7687,2021-11-18,6
+7688,2021-11-19,6
+7689,2021-11-20,6
+7690,2021-11-21,6
+7691,2021-11-22,6
+7692,2021-11-23,6
+7693,2021-11-24,6
+7694,2021-11-25,6
+7695,2021-11-26,6
+7696,2021-11-27,6
+7697,2021-11-28,6
+7698,2021-11-29,6
+7699,2021-11-30,6
+7700,2021-12-01,6
+7701,2021-12-02,6
+7702,2021-12-03,6
+7703,2021-12-04,6
+7704,2021-12-05,6
+7705,2021-12-06,6
+7706,2021-12-07,6
+7707,2021-12-08,6
+7708,2021-12-09,6
+7709,2021-12-10,6
+7710,2021-12-11,6
+7711,2021-12-12,6
+7712,2021-12-13,6
+7713,2021-12-14,6
+7714,2021-12-15,6
+7715,2021-12-16,6
+7716,2021-12-17,6
+7717,2021-12-18,6
+7718,2021-12-19,6
+7719,2021-12-20,6
+7720,2021-12-21,6
+7721,2021-12-22,6
+7722,2021-12-23,6
+7723,2021-12-24,6
+7724,2021-12-25,6
+7725,2021-12-26,6
+7726,2021-12-27,6
+7727,2021-12-28,6
+7728,2021-12-29,6
+7729,2021-12-30,6
+7730,2021-12-31,6
+7731,2022-01-01,6
+7732,2022-01-02,6
+7733,2022-01-03,6
+7734,2022-01-04,6
+7735,2022-01-05,6
+7736,2022-01-06,6
+7737,2022-01-07,6
+7738,2022-01-08,6
+7739,2022-01-09,6
+7740,2022-01-10,6
+7741,2022-01-11,6
+7742,2022-01-12,6
+7743,2022-01-13,6
+7744,2022-01-14,6
+7745,2022-01-15,6
+7746,2022-01-16,6
+7747,2022-01-17,6
+7748,2022-01-18,6
+7749,2022-01-19,6
+7750,2022-01-20,6
+7751,2022-01-21,6
+7752,2022-01-22,6
+7753,2022-01-23,6
+7754,2022-01-24,6
+7755,2022-01-25,6
+7756,2022-01-26,6
+7757,2022-01-27,6
+7758,2022-01-28,6
+7759,2022-01-29,6
+7760,2022-01-30,6
+7761,2022-01-31,6
+7762,2022-02-01,6
+7763,2022-02-02,6
+7764,2022-02-03,6
+7765,2022-02-04,6
+7766,2022-02-05,6
+7767,2022-02-06,6
+7768,2022-02-07,6
+7769,2022-02-08,6
+7770,2022-02-09,6
+7771,2022-02-10,6
+7772,2022-02-11,6
+7773,2022-02-12,6
+7774,2022-02-13,6
+7775,2022-02-14,6
+7776,2022-02-15,6
+7777,2022-02-16,6
+7778,2022-02-17,6
+7779,2022-02-18,6
+7780,2022-02-19,6
+7781,2022-02-20,6
+7782,2022-02-21,6
+7783,2022-02-22,6
+7784,2022-02-23,6
+7785,2022-02-24,6
+7786,2022-02-25,6
+7787,2022-02-26,6
+7788,2022-02-27,6
+7789,2022-02-28,6
+7790,2022-03-01,6
+7791,2022-03-02,6
+7792,2022-03-03,6
+7793,2022-03-04,6
+7794,2022-03-05,6
+7795,2022-03-06,6
+7796,2022-03-07,6
+7797,2022-03-08,6
+7798,2022-03-09,6
+7799,2022-03-10,6
+7800,2022-03-11,6
+7801,2022-03-12,6
+7802,2022-03-13,6
+7803,2022-03-14,6
+7804,2022-03-15,6
+7805,2022-03-16,6
+7806,2022-03-17,6
+7807,2022-03-18,6
+7808,2022-03-19,6
+7809,2022-03-20,6
+7810,2022-03-21,6
+7811,2022-03-22,6
+7812,2022-03-23,6
+7813,2022-03-24,6
+7814,2022-03-25,6
+7815,2022-03-26,6
+7816,2022-03-27,6
+7817,2022-03-28,6
+7818,2022-03-29,6
+7819,2022-03-30,6
+7820,2022-03-31,6
+7821,2022-04-01,6
+7822,2022-04-02,6
+7823,2022-04-03,6
+7824,2022-04-04,6
+7825,2022-04-05,6
+7826,2022-04-06,6
+7827,2022-04-07,6
+7828,2022-04-08,6
+7829,2022-04-09,6
+7830,2022-04-10,6
+7831,2022-04-11,6
+7832,2022-04-12,6
+7833,2022-04-13,6
+7834,2022-04-14,6
+7835,2022-04-15,6
+7836,2022-04-16,6
+7837,2022-04-17,6
+7838,2022-04-18,6
+7839,2022-04-19,6
+7840,2022-04-20,6
+7841,2022-04-21,6
+7842,2022-04-22,6
+7843,2022-04-23,6
+7844,2022-04-24,6
+7845,2022-04-25,6
+7846,2022-04-26,6
+7847,2022-04-27,6
+7848,2022-04-28,6
+7849,2022-04-29,6
+7850,2022-04-30,6
+7851,2022-05-01,6
+7852,2022-05-02,6
+7853,2022-05-03,6
+7854,2022-05-04,6
+7855,2022-05-05,6
+7856,2022-05-06,6
+7857,2022-05-07,6
+7858,2022-05-08,6
+7859,2022-05-09,6
+7860,2022-05-10,6
+7861,2022-05-11,6
+7862,2022-05-12,6
+7863,2022-05-13,6
+7864,2022-05-14,6
+7865,2022-05-15,6
+7866,2022-05-16,6
+7867,2022-05-17,6
+7868,2022-05-18,6
+7869,2022-05-19,6
+7870,2022-05-20,6
+7871,2022-05-21,6
+7872,2022-05-22,6
+7873,2022-05-23,6
+7874,2022-05-24,6
+7875,2022-05-25,6
+7876,2022-05-26,6
+7877,2022-05-27,6
+7878,2022-05-28,6
+7879,2022-05-29,6
+7880,2022-05-30,6
+7881,2022-05-31,6
+7882,2022-06-01,6
+7883,2022-06-02,6
+7884,2022-06-03,6
+7885,2022-06-04,6
+7886,2022-06-05,6
+7887,2022-06-06,6
+7888,2022-06-07,6
+7889,2022-06-08,6
+7890,2022-06-09,6
+7891,2022-06-10,6
+7892,2022-06-11,6
+7893,2022-06-12,6
+7894,2022-06-13,6
+7895,2022-06-14,6
+7896,2022-06-15,6
+7897,2022-06-16,6
+7898,2022-06-17,6
+7899,2022-06-18,6
+7900,2022-06-19,6
+7901,2022-06-20,6
+7902,2022-06-21,6
+7903,2022-06-22,6
+7904,2022-06-23,6
+7905,2022-06-24,6
+7906,2022-06-25,6
+7907,2022-06-26,6
+7908,2022-06-27,6
+7909,2022-06-28,6
+7910,2022-06-29,6
+7911,2022-06-30,6
+7912,2022-07-01,6
+7913,2022-07-02,6
+7914,2022-07-03,6
+7915,2022-07-04,6
+7916,2022-07-05,6
+7917,2022-07-06,6
+7918,2022-07-07,6
+7919,2022-07-08,6
+7920,2022-07-09,6
+7921,2022-07-10,6
+7922,2022-07-11,6
+7923,2022-07-12,6
+7924,2022-07-13,6
+7925,2022-07-14,6
+7926,2022-07-15,6
+7927,2022-07-16,6
+7928,2022-07-17,6
+7929,2022-07-18,6
+7930,2022-07-19,6
+7931,2022-07-20,6
+7932,2022-07-21,6
+7933,2022-07-22,6
+7934,2022-07-23,6
+7935,2022-07-24,6
+7936,2022-07-25,6
+7937,2022-07-26,6
+7938,2022-07-27,6
+7939,2022-07-28,6
+7940,2022-07-29,6
+7941,2022-07-30,6
+7942,2022-07-31,6
+7943,2022-08-01,6
+7944,2022-08-02,6
+7945,2022-08-03,6
+7946,2022-08-04,6
+7947,2022-08-05,6
+7948,2022-08-06,6
+7949,2022-08-07,6
+7950,2022-08-08,6
+7951,2022-08-09,6
+7952,2022-08-10,6
+7953,2022-08-11,6
+7954,2022-08-12,6
+7955,2022-08-13,6
+7956,2022-08-14,6
+7957,2022-08-15,6
+7958,2022-08-16,6
+7959,2022-08-17,6
+7960,2022-08-18,6
+7961,2022-08-19,6
+7962,2022-08-20,6
+7963,2022-08-21,6
+7964,2022-08-22,6
+7965,2022-08-23,6
+7966,2022-08-24,6
+7967,2022-08-25,6
+7968,2022-08-26,6
+7969,2022-08-27,6
+7970,2022-08-28,6
+7971,2022-08-29,6
+7972,2022-08-30,6
+7973,2022-08-31,6
+7974,2022-09-01,6
+7975,2022-09-02,6
+7976,2022-09-03,6
+7977,2022-09-04,6
+7978,2022-09-05,6
+7979,2022-09-06,6
+7980,2022-09-07,6
+7981,2022-09-08,6
+7982,2022-09-09,6
+7983,2022-09-10,6
+7984,2022-09-11,6
+7985,2022-09-12,6
+7986,2022-09-13,6
+7987,2022-09-14,6
+7988,2022-09-15,6
+7989,2022-09-16,6
+7990,2022-09-17,6
+7991,2022-09-18,6
+7992,2022-09-19,6
+7993,2022-09-20,6
+7994,2022-09-21,6
+7995,2022-09-22,6
+7996,2022-09-23,6
+7997,2022-09-24,6
+7998,2022-09-25,6
+7999,2022-09-26,6
+8000,2020-01-01,7
+8001,2020-01-02,7
+8002,2020-01-03,7
+8003,2020-01-04,7
+8004,2020-01-05,7
+8005,2020-01-06,7
+8006,2020-01-07,7
+8007,2020-01-08,7
+8008,2020-01-09,7
+8009,2020-01-10,7
+8010,2020-01-11,7
+8011,2020-01-12,7
+8012,2020-01-13,7
+8013,2020-01-14,7
+8014,2020-01-15,7
+8015,2020-01-16,7
+8016,2020-01-17,7
+8017,2020-01-18,7
+8018,2020-01-19,7
+8019,2020-01-20,7
+8020,2020-01-21,7
+8021,2020-01-22,7
+8022,2020-01-23,7
+8023,2020-01-24,7
+8024,2020-01-25,7
+8025,2020-01-26,7
+8026,2020-01-27,7
+8027,2020-01-28,7
+8028,2020-01-29,7
+8029,2020-01-30,7
+8030,2020-01-31,7
+8031,2020-02-01,7
+8032,2020-02-02,7
+8033,2020-02-03,7
+8034,2020-02-04,7
+8035,2020-02-05,7
+8036,2020-02-06,7
+8037,2020-02-07,7
+8038,2020-02-08,7
+8039,2020-02-09,7
+8040,2020-02-10,7
+8041,2020-02-11,7
+8042,2020-02-12,7
+8043,2020-02-13,7
+8044,2020-02-14,7
+8045,2020-02-15,7
+8046,2020-02-16,7
+8047,2020-02-17,7
+8048,2020-02-18,7
+8049,2020-02-19,7
+8050,2020-02-20,7
+8051,2020-02-21,7
+8052,2020-02-22,7
+8053,2020-02-23,7
+8054,2020-02-24,7
+8055,2020-02-25,7
+8056,2020-02-26,7
+8057,2020-02-27,7
+8058,2020-02-28,7
+8059,2020-02-29,7
+8060,2020-03-01,7
+8061,2020-03-02,7
+8062,2020-03-03,7
+8063,2020-03-04,7
+8064,2020-03-05,7
+8065,2020-03-06,7
+8066,2020-03-07,7
+8067,2020-03-08,7
+8068,2020-03-09,7
+8069,2020-03-10,7
+8070,2020-03-11,7
+8071,2020-03-12,7
+8072,2020-03-13,7
+8073,2020-03-14,7
+8074,2020-03-15,7
+8075,2020-03-16,7
+8076,2020-03-17,7
+8077,2020-03-18,7
+8078,2020-03-19,7
+8079,2020-03-20,7
+8080,2020-03-21,7
+8081,2020-03-22,7
+8082,2020-03-23,7
+8083,2020-03-24,7
+8084,2020-03-25,7
+8085,2020-03-26,7
+8086,2020-03-27,7
+8087,2020-03-28,7
+8088,2020-03-29,7
+8089,2020-03-30,7
+8090,2020-03-31,7
+8091,2020-04-01,7
+8092,2020-04-02,7
+8093,2020-04-03,7
+8094,2020-04-04,7
+8095,2020-04-05,7
+8096,2020-04-06,7
+8097,2020-04-07,7
+8098,2020-04-08,7
+8099,2020-04-09,7
+8100,2020-04-10,7
+8101,2020-04-11,7
+8102,2020-04-12,7
+8103,2020-04-13,7
+8104,2020-04-14,7
+8105,2020-04-15,7
+8106,2020-04-16,7
+8107,2020-04-17,7
+8108,2020-04-18,7
+8109,2020-04-19,7
+8110,2020-04-20,7
+8111,2020-04-21,7
+8112,2020-04-22,7
+8113,2020-04-23,7
+8114,2020-04-24,7
+8115,2020-04-25,7
+8116,2020-04-26,7
+8117,2020-04-27,7
+8118,2020-04-28,7
+8119,2020-04-29,7
+8120,2020-04-30,7
+8121,2020-05-01,7
+8122,2020-05-02,7
+8123,2020-05-03,7
+8124,2020-05-04,7
+8125,2020-05-05,7
+8126,2020-05-06,7
+8127,2020-05-07,7
+8128,2020-05-08,7
+8129,2020-05-09,7
+8130,2020-05-10,7
+8131,2020-05-11,7
+8132,2020-05-12,7
+8133,2020-05-13,7
+8134,2020-05-14,7
+8135,2020-05-15,7
+8136,2020-05-16,7
+8137,2020-05-17,7
+8138,2020-05-18,7
+8139,2020-05-19,7
+8140,2020-05-20,7
+8141,2020-05-21,7
+8142,2020-05-22,7
+8143,2020-05-23,7
+8144,2020-05-24,7
+8145,2020-05-25,7
+8146,2020-05-26,7
+8147,2020-05-27,7
+8148,2020-05-28,7
+8149,2020-05-29,7
+8150,2020-05-30,7
+8151,2020-05-31,7
+8152,2020-06-01,7
+8153,2020-06-02,7
+8154,2020-06-03,7
+8155,2020-06-04,7
+8156,2020-06-05,7
+8157,2020-06-06,7
+8158,2020-06-07,7
+8159,2020-06-08,7
+8160,2020-06-09,7
+8161,2020-06-10,7
+8162,2020-06-11,7
+8163,2020-06-12,7
+8164,2020-06-13,7
+8165,2020-06-14,7
+8166,2020-06-15,7
+8167,2020-06-16,7
+8168,2020-06-17,7
+8169,2020-06-18,7
+8170,2020-06-19,7
+8171,2020-06-20,7
+8172,2020-06-21,7
+8173,2020-06-22,7
+8174,2020-06-23,7
+8175,2020-06-24,7
+8176,2020-06-25,7
+8177,2020-06-26,7
+8178,2020-06-27,7
+8179,2020-06-28,7
+8180,2020-06-29,7
+8181,2020-06-30,7
+8182,2020-07-01,7
+8183,2020-07-02,7
+8184,2020-07-03,7
+8185,2020-07-04,7
+8186,2020-07-05,7
+8187,2020-07-06,7
+8188,2020-07-07,7
+8189,2020-07-08,7
+8190,2020-07-09,7
+8191,2020-07-10,7
+8192,2020-07-11,7
+8193,2020-07-12,7
+8194,2020-07-13,7
+8195,2020-07-14,7
+8196,2020-07-15,7
+8197,2020-07-16,7
+8198,2020-07-17,7
+8199,2020-07-18,7
+8200,2020-07-19,7
+8201,2020-07-20,7
+8202,2020-07-21,7
+8203,2020-07-22,7
+8204,2020-07-23,7
+8205,2020-07-24,7
+8206,2020-07-25,7
+8207,2020-07-26,7
+8208,2020-07-27,7
+8209,2020-07-28,7
+8210,2020-07-29,7
+8211,2020-07-30,7
+8212,2020-07-31,7
+8213,2020-08-01,7
+8214,2020-08-02,7
+8215,2020-08-03,7
+8216,2020-08-04,7
+8217,2020-08-05,7
+8218,2020-08-06,7
+8219,2020-08-07,7
+8220,2020-08-08,7
+8221,2020-08-09,7
+8222,2020-08-10,7
+8223,2020-08-11,7
+8224,2020-08-12,7
+8225,2020-08-13,7
+8226,2020-08-14,7
+8227,2020-08-15,7
+8228,2020-08-16,7
+8229,2020-08-17,7
+8230,2020-08-18,7
+8231,2020-08-19,7
+8232,2020-08-20,7
+8233,2020-08-21,7
+8234,2020-08-22,7
+8235,2020-08-23,7
+8236,2020-08-24,7
+8237,2020-08-25,7
+8238,2020-08-26,7
+8239,2020-08-27,7
+8240,2020-08-28,7
+8241,2020-08-29,7
+8242,2020-08-30,7
+8243,2020-08-31,7
+8244,2020-09-01,7
+8245,2020-09-02,7
+8246,2020-09-03,7
+8247,2020-09-04,7
+8248,2020-09-05,7
+8249,2020-09-06,7
+8250,2020-09-07,7
+8251,2020-09-08,7
+8252,2020-09-09,7
+8253,2020-09-10,7
+8254,2020-09-11,7
+8255,2020-09-12,7
+8256,2020-09-13,7
+8257,2020-09-14,7
+8258,2020-09-15,7
+8259,2020-09-16,7
+8260,2020-09-17,7
+8261,2020-09-18,7
+8262,2020-09-19,7
+8263,2020-09-20,7
+8264,2020-09-21,7
+8265,2020-09-22,7
+8266,2020-09-23,7
+8267,2020-09-24,7
+8268,2020-09-25,7
+8269,2020-09-26,7
+8270,2020-09-27,7
+8271,2020-09-28,7
+8272,2020-09-29,7
+8273,2020-09-30,7
+8274,2020-10-01,7
+8275,2020-10-02,7
+8276,2020-10-03,7
+8277,2020-10-04,7
+8278,2020-10-05,7
+8279,2020-10-06,7
+8280,2020-10-07,7
+8281,2020-10-08,7
+8282,2020-10-09,7
+8283,2020-10-10,7
+8284,2020-10-11,7
+8285,2020-10-12,7
+8286,2020-10-13,7
+8287,2020-10-14,7
+8288,2020-10-15,7
+8289,2020-10-16,7
+8290,2020-10-17,7
+8291,2020-10-18,7
+8292,2020-10-19,7
+8293,2020-10-20,7
+8294,2020-10-21,7
+8295,2020-10-22,7
+8296,2020-10-23,7
+8297,2020-10-24,7
+8298,2020-10-25,7
+8299,2020-10-26,7
+8300,2020-10-27,7
+8301,2020-10-28,7
+8302,2020-10-29,7
+8303,2020-10-30,7
+8304,2020-10-31,7
+8305,2020-11-01,7
+8306,2020-11-02,7
+8307,2020-11-03,7
+8308,2020-11-04,7
+8309,2020-11-05,7
+8310,2020-11-06,7
+8311,2020-11-07,7
+8312,2020-11-08,7
+8313,2020-11-09,7
+8314,2020-11-10,7
+8315,2020-11-11,7
+8316,2020-11-12,7
+8317,2020-11-13,7
+8318,2020-11-14,7
+8319,2020-11-15,7
+8320,2020-11-16,7
+8321,2020-11-17,7
+8322,2020-11-18,7
+8323,2020-11-19,7
+8324,2020-11-20,7
+8325,2020-11-21,7
+8326,2020-11-22,7
+8327,2020-11-23,7
+8328,2020-11-24,7
+8329,2020-11-25,7
+8330,2020-11-26,7
+8331,2020-11-27,7
+8332,2020-11-28,7
+8333,2020-11-29,7
+8334,2020-11-30,7
+8335,2020-12-01,7
+8336,2020-12-02,7
+8337,2020-12-03,7
+8338,2020-12-04,7
+8339,2020-12-05,7
+8340,2020-12-06,7
+8341,2020-12-07,7
+8342,2020-12-08,7
+8343,2020-12-09,7
+8344,2020-12-10,7
+8345,2020-12-11,7
+8346,2020-12-12,7
+8347,2020-12-13,7
+8348,2020-12-14,7
+8349,2020-12-15,7
+8350,2020-12-16,7
+8351,2020-12-17,7
+8352,2020-12-18,7
+8353,2020-12-19,7
+8354,2020-12-20,7
+8355,2020-12-21,7
+8356,2020-12-22,7
+8357,2020-12-23,7
+8358,2020-12-24,7
+8359,2020-12-25,7
+8360,2020-12-26,7
+8361,2020-12-27,7
+8362,2020-12-28,7
+8363,2020-12-29,7
+8364,2020-12-30,7
+8365,2020-12-31,7
+8366,2021-01-01,7
+8367,2021-01-02,7
+8368,2021-01-03,7
+8369,2021-01-04,7
+8370,2021-01-05,7
+8371,2021-01-06,7
+8372,2021-01-07,7
+8373,2021-01-08,7
+8374,2021-01-09,7
+8375,2021-01-10,7
+8376,2021-01-11,7
+8377,2021-01-12,7
+8378,2021-01-13,7
+8379,2021-01-14,7
+8380,2021-01-15,7
+8381,2021-01-16,7
+8382,2021-01-17,7
+8383,2021-01-18,7
+8384,2021-01-19,7
+8385,2021-01-20,7
+8386,2021-01-21,7
+8387,2021-01-22,7
+8388,2021-01-23,7
+8389,2021-01-24,7
+8390,2021-01-25,7
+8391,2021-01-26,7
+8392,2021-01-27,7
+8393,2021-01-28,7
+8394,2021-01-29,7
+8395,2021-01-30,7
+8396,2021-01-31,7
+8397,2021-02-01,7
+8398,2021-02-02,7
+8399,2021-02-03,7
+8400,2021-02-04,7
+8401,2021-02-05,7
+8402,2021-02-06,7
+8403,2021-02-07,7
+8404,2021-02-08,7
+8405,2021-02-09,7
+8406,2021-02-10,7
+8407,2021-02-11,7
+8408,2021-02-12,7
+8409,2021-02-13,7
+8410,2021-02-14,7
+8411,2021-02-15,7
+8412,2021-02-16,7
+8413,2021-02-17,7
+8414,2021-02-18,7
+8415,2021-02-19,7
+8416,2021-02-20,7
+8417,2021-02-21,7
+8418,2021-02-22,7
+8419,2021-02-23,7
+8420,2021-02-24,7
+8421,2021-02-25,7
+8422,2021-02-26,7
+8423,2021-02-27,7
+8424,2021-02-28,7
+8425,2021-03-01,7
+8426,2021-03-02,7
+8427,2021-03-03,7
+8428,2021-03-04,7
+8429,2021-03-05,7
+8430,2021-03-06,7
+8431,2021-03-07,7
+8432,2021-03-08,7
+8433,2021-03-09,7
+8434,2021-03-10,7
+8435,2021-03-11,7
+8436,2021-03-12,7
+8437,2021-03-13,7
+8438,2021-03-14,7
+8439,2021-03-15,7
+8440,2021-03-16,7
+8441,2021-03-17,7
+8442,2021-03-18,7
+8443,2021-03-19,7
+8444,2021-03-20,7
+8445,2021-03-21,7
+8446,2021-03-22,7
+8447,2021-03-23,7
+8448,2021-03-24,7
+8449,2021-03-25,7
+8450,2021-03-26,7
+8451,2021-03-27,7
+8452,2021-03-28,7
+8453,2021-03-29,7
+8454,2021-03-30,7
+8455,2021-03-31,7
+8456,2021-04-01,7
+8457,2021-04-02,7
+8458,2021-04-03,7
+8459,2021-04-04,7
+8460,2021-04-05,7
+8461,2021-04-06,7
+8462,2021-04-07,7
+8463,2021-04-08,7
+8464,2021-04-09,7
+8465,2021-04-10,7
+8466,2021-04-11,7
+8467,2021-04-12,7
+8468,2021-04-13,7
+8469,2021-04-14,7
+8470,2021-04-15,7
+8471,2021-04-16,7
+8472,2021-04-17,7
+8473,2021-04-18,7
+8474,2021-04-19,7
+8475,2021-04-20,7
+8476,2021-04-21,7
+8477,2021-04-22,7
+8478,2021-04-23,7
+8479,2021-04-24,7
+8480,2021-04-25,7
+8481,2021-04-26,7
+8482,2021-04-27,7
+8483,2021-04-28,7
+8484,2021-04-29,7
+8485,2021-04-30,7
+8486,2021-05-01,7
+8487,2021-05-02,7
+8488,2021-05-03,7
+8489,2021-05-04,7
+8490,2021-05-05,7
+8491,2021-05-06,7
+8492,2021-05-07,7
+8493,2021-05-08,7
+8494,2021-05-09,7
+8495,2021-05-10,7
+8496,2021-05-11,7
+8497,2021-05-12,7
+8498,2021-05-13,7
+8499,2021-05-14,7
+8500,2021-05-15,7
+8501,2021-05-16,7
+8502,2021-05-17,7
+8503,2021-05-18,7
+8504,2021-05-19,7
+8505,2021-05-20,7
+8506,2021-05-21,7
+8507,2021-05-22,7
+8508,2021-05-23,7
+8509,2021-05-24,7
+8510,2021-05-25,7
+8511,2021-05-26,7
+8512,2021-05-27,7
+8513,2021-05-28,7
+8514,2021-05-29,7
+8515,2021-05-30,7
+8516,2021-05-31,7
+8517,2021-06-01,7
+8518,2021-06-02,7
+8519,2021-06-03,7
+8520,2021-06-04,7
+8521,2021-06-05,7
+8522,2021-06-06,7
+8523,2021-06-07,7
+8524,2021-06-08,7
+8525,2021-06-09,7
+8526,2021-06-10,7
+8527,2021-06-11,7
+8528,2021-06-12,7
+8529,2021-06-13,7
+8530,2021-06-14,7
+8531,2021-06-15,7
+8532,2021-06-16,7
+8533,2021-06-17,7
+8534,2021-06-18,7
+8535,2021-06-19,7
+8536,2021-06-20,7
+8537,2021-06-21,7
+8538,2021-06-22,7
+8539,2021-06-23,7
+8540,2021-06-24,7
+8541,2021-06-25,7
+8542,2021-06-26,7
+8543,2021-06-27,7
+8544,2021-06-28,7
+8545,2021-06-29,7
+8546,2021-06-30,7
+8547,2021-07-01,7
+8548,2021-07-02,7
+8549,2021-07-03,7
+8550,2021-07-04,7
+8551,2021-07-05,7
+8552,2021-07-06,7
+8553,2021-07-07,7
+8554,2021-07-08,7
+8555,2021-07-09,7
+8556,2021-07-10,7
+8557,2021-07-11,7
+8558,2021-07-12,7
+8559,2021-07-13,7
+8560,2021-07-14,7
+8561,2021-07-15,7
+8562,2021-07-16,7
+8563,2021-07-17,7
+8564,2021-07-18,7
+8565,2021-07-19,7
+8566,2021-07-20,7
+8567,2021-07-21,7
+8568,2021-07-22,7
+8569,2021-07-23,7
+8570,2021-07-24,7
+8571,2021-07-25,7
+8572,2021-07-26,7
+8573,2021-07-27,7
+8574,2021-07-28,7
+8575,2021-07-29,7
+8576,2021-07-30,7
+8577,2021-07-31,7
+8578,2021-08-01,7
+8579,2021-08-02,7
+8580,2021-08-03,7
+8581,2021-08-04,7
+8582,2021-08-05,7
+8583,2021-08-06,7
+8584,2021-08-07,7
+8585,2021-08-08,7
+8586,2021-08-09,7
+8587,2021-08-10,7
+8588,2021-08-11,7
+8589,2021-08-12,7
+8590,2021-08-13,7
+8591,2021-08-14,7
+8592,2021-08-15,7
+8593,2021-08-16,7
+8594,2021-08-17,7
+8595,2021-08-18,7
+8596,2021-08-19,7
+8597,2021-08-20,7
+8598,2021-08-21,7
+8599,2021-08-22,7
+8600,2021-08-23,7
+8601,2021-08-24,7
+8602,2021-08-25,7
+8603,2021-08-26,7
+8604,2021-08-27,7
+8605,2021-08-28,7
+8606,2021-08-29,7
+8607,2021-08-30,7
+8608,2021-08-31,7
+8609,2021-09-01,7
+8610,2021-09-02,7
+8611,2021-09-03,7
+8612,2021-09-04,7
+8613,2021-09-05,7
+8614,2021-09-06,7
+8615,2021-09-07,7
+8616,2021-09-08,7
+8617,2021-09-09,7
+8618,2021-09-10,7
+8619,2021-09-11,7
+8620,2021-09-12,7
+8621,2021-09-13,7
+8622,2021-09-14,7
+8623,2021-09-15,7
+8624,2021-09-16,7
+8625,2021-09-17,7
+8626,2021-09-18,7
+8627,2021-09-19,7
+8628,2021-09-20,7
+8629,2021-09-21,7
+8630,2021-09-22,7
+8631,2021-09-23,7
+8632,2021-09-24,7
+8633,2021-09-25,7
+8634,2021-09-26,7
+8635,2021-09-27,7
+8636,2021-09-28,7
+8637,2021-09-29,7
+8638,2021-09-30,7
+8639,2021-10-01,7
+8640,2021-10-02,7
+8641,2021-10-03,7
+8642,2021-10-04,7
+8643,2021-10-05,7
+8644,2021-10-06,7
+8645,2021-10-07,7
+8646,2021-10-08,7
+8647,2021-10-09,7
+8648,2021-10-10,7
+8649,2021-10-11,7
+8650,2021-10-12,7
+8651,2021-10-13,7
+8652,2021-10-14,7
+8653,2021-10-15,7
+8654,2021-10-16,7
+8655,2021-10-17,7
+8656,2021-10-18,7
+8657,2021-10-19,7
+8658,2021-10-20,7
+8659,2021-10-21,7
+8660,2021-10-22,7
+8661,2021-10-23,7
+8662,2021-10-24,7
+8663,2021-10-25,7
+8664,2021-10-26,7
+8665,2021-10-27,7
+8666,2021-10-28,7
+8667,2021-10-29,7
+8668,2021-10-30,7
+8669,2021-10-31,7
+8670,2021-11-01,7
+8671,2021-11-02,7
+8672,2021-11-03,7
+8673,2021-11-04,7
+8674,2021-11-05,7
+8675,2021-11-06,7
+8676,2021-11-07,7
+8677,2021-11-08,7
+8678,2021-11-09,7
+8679,2021-11-10,7
+8680,2021-11-11,7
+8681,2021-11-12,7
+8682,2021-11-13,7
+8683,2021-11-14,7
+8684,2021-11-15,7
+8685,2021-11-16,7
+8686,2021-11-17,7
+8687,2021-11-18,7
+8688,2021-11-19,7
+8689,2021-11-20,7
+8690,2021-11-21,7
+8691,2021-11-22,7
+8692,2021-11-23,7
+8693,2021-11-24,7
+8694,2021-11-25,7
+8695,2021-11-26,7
+8696,2021-11-27,7
+8697,2021-11-28,7
+8698,2021-11-29,7
+8699,2021-11-30,7
+8700,2021-12-01,7
+8701,2021-12-02,7
+8702,2021-12-03,7
+8703,2021-12-04,7
+8704,2021-12-05,7
+8705,2021-12-06,7
+8706,2021-12-07,7
+8707,2021-12-08,7
+8708,2021-12-09,7
+8709,2021-12-10,7
+8710,2021-12-11,7
+8711,2021-12-12,7
+8712,2021-12-13,7
+8713,2021-12-14,7
+8714,2021-12-15,7
+8715,2021-12-16,7
+8716,2021-12-17,7
+8717,2021-12-18,7
+8718,2021-12-19,7
+8719,2021-12-20,7
+8720,2021-12-21,7
+8721,2021-12-22,7
+8722,2021-12-23,7
+8723,2021-12-24,7
+8724,2021-12-25,7
+8725,2021-12-26,7
+8726,2021-12-27,7
+8727,2021-12-28,7
+8728,2021-12-29,7
+8729,2021-12-30,7
+8730,2021-12-31,7
+8731,2022-01-01,7
+8732,2022-01-02,7
+8733,2022-01-03,7
+8734,2022-01-04,7
+8735,2022-01-05,7
+8736,2022-01-06,7
+8737,2022-01-07,7
+8738,2022-01-08,7
+8739,2022-01-09,7
+8740,2022-01-10,7
+8741,2022-01-11,7
+8742,2022-01-12,7
+8743,2022-01-13,7
+8744,2022-01-14,7
+8745,2022-01-15,7
+8746,2022-01-16,7
+8747,2022-01-17,7
+8748,2022-01-18,7
+8749,2022-01-19,7
+8750,2022-01-20,7
+8751,2022-01-21,7
+8752,2022-01-22,7
+8753,2022-01-23,7
+8754,2022-01-24,7
+8755,2022-01-25,7
+8756,2022-01-26,7
+8757,2022-01-27,7
+8758,2022-01-28,7
+8759,2022-01-29,7
+8760,2022-01-30,7
+8761,2022-01-31,7
+8762,2022-02-01,7
+8763,2022-02-02,7
+8764,2022-02-03,7
+8765,2022-02-04,7
+8766,2022-02-05,7
+8767,2022-02-06,7
+8768,2022-02-07,7
+8769,2022-02-08,7
+8770,2022-02-09,7
+8771,2022-02-10,7
+8772,2022-02-11,7
+8773,2022-02-12,7
+8774,2022-02-13,7
+8775,2022-02-14,7
+8776,2022-02-15,7
+8777,2022-02-16,7
+8778,2022-02-17,7
+8779,2022-02-18,7
+8780,2022-02-19,7
+8781,2022-02-20,7
+8782,2022-02-21,7
+8783,2022-02-22,7
+8784,2022-02-23,7
+8785,2022-02-24,7
+8786,2022-02-25,7
+8787,2022-02-26,7
+8788,2022-02-27,7
+8789,2022-02-28,7
+8790,2022-03-01,7
+8791,2022-03-02,7
+8792,2022-03-03,7
+8793,2022-03-04,7
+8794,2022-03-05,7
+8795,2022-03-06,7
+8796,2022-03-07,7
+8797,2022-03-08,7
+8798,2022-03-09,7
+8799,2022-03-10,7
+8800,2022-03-11,7
+8801,2022-03-12,7
+8802,2022-03-13,7
+8803,2022-03-14,7
+8804,2022-03-15,7
+8805,2022-03-16,7
+8806,2022-03-17,7
+8807,2022-03-18,7
+8808,2022-03-19,7
+8809,2022-03-20,7
+8810,2022-03-21,7
+8811,2022-03-22,7
+8812,2022-03-23,7
+8813,2022-03-24,7
+8814,2022-03-25,7
+8815,2022-03-26,7
+8816,2022-03-27,7
+8817,2022-03-28,7
+8818,2022-03-29,7
+8819,2022-03-30,7
+8820,2022-03-31,7
+8821,2022-04-01,7
+8822,2022-04-02,7
+8823,2022-04-03,7
+8824,2022-04-04,7
+8825,2022-04-05,7
+8826,2022-04-06,7
+8827,2022-04-07,7
+8828,2022-04-08,7
+8829,2022-04-09,7
+8830,2022-04-10,7
+8831,2022-04-11,7
+8832,2022-04-12,7
+8833,2022-04-13,7
+8834,2022-04-14,7
+8835,2022-04-15,7
+8836,2022-04-16,7
+8837,2022-04-17,7
+8838,2022-04-18,7
+8839,2022-04-19,7
+8840,2022-04-20,7
+8841,2022-04-21,7
+8842,2022-04-22,7
+8843,2022-04-23,7
+8844,2022-04-24,7
+8845,2022-04-25,7
+8846,2022-04-26,7
+8847,2022-04-27,7
+8848,2022-04-28,7
+8849,2022-04-29,7
+8850,2022-04-30,7
+8851,2022-05-01,7
+8852,2022-05-02,7
+8853,2022-05-03,7
+8854,2022-05-04,7
+8855,2022-05-05,7
+8856,2022-05-06,7
+8857,2022-05-07,7
+8858,2022-05-08,7
+8859,2022-05-09,7
+8860,2022-05-10,7
+8861,2022-05-11,7
+8862,2022-05-12,7
+8863,2022-05-13,7
+8864,2022-05-14,7
+8865,2022-05-15,7
+8866,2022-05-16,7
+8867,2022-05-17,7
+8868,2022-05-18,7
+8869,2022-05-19,7
+8870,2022-05-20,7
+8871,2022-05-21,7
+8872,2022-05-22,7
+8873,2022-05-23,7
+8874,2022-05-24,7
+8875,2022-05-25,7
+8876,2022-05-26,7
+8877,2022-05-27,7
+8878,2022-05-28,7
+8879,2022-05-29,7
+8880,2022-05-30,7
+8881,2022-05-31,7
+8882,2022-06-01,7
+8883,2022-06-02,7
+8884,2022-06-03,7
+8885,2022-06-04,7
+8886,2022-06-05,7
+8887,2022-06-06,7
+8888,2022-06-07,7
+8889,2022-06-08,7
+8890,2022-06-09,7
+8891,2022-06-10,7
+8892,2022-06-11,7
+8893,2022-06-12,7
+8894,2022-06-13,7
+8895,2022-06-14,7
+8896,2022-06-15,7
+8897,2022-06-16,7
+8898,2022-06-17,7
+8899,2022-06-18,7
+8900,2022-06-19,7
+8901,2022-06-20,7
+8902,2022-06-21,7
+8903,2022-06-22,7
+8904,2022-06-23,7
+8905,2022-06-24,7
+8906,2022-06-25,7
+8907,2022-06-26,7
+8908,2022-06-27,7
+8909,2022-06-28,7
+8910,2022-06-29,7
+8911,2022-06-30,7
+8912,2022-07-01,7
+8913,2022-07-02,7
+8914,2022-07-03,7
+8915,2022-07-04,7
+8916,2022-07-05,7
+8917,2022-07-06,7
+8918,2022-07-07,7
+8919,2022-07-08,7
+8920,2022-07-09,7
+8921,2022-07-10,7
+8922,2022-07-11,7
+8923,2022-07-12,7
+8924,2022-07-13,7
+8925,2022-07-14,7
+8926,2022-07-15,7
+8927,2022-07-16,7
+8928,2022-07-17,7
+8929,2022-07-18,7
+8930,2022-07-19,7
+8931,2022-07-20,7
+8932,2022-07-21,7
+8933,2022-07-22,7
+8934,2022-07-23,7
+8935,2022-07-24,7
+8936,2022-07-25,7
+8937,2022-07-26,7
+8938,2022-07-27,7
+8939,2022-07-28,7
+8940,2022-07-29,7
+8941,2022-07-30,7
+8942,2022-07-31,7
+8943,2022-08-01,7
+8944,2022-08-02,7
+8945,2022-08-03,7
+8946,2022-08-04,7
+8947,2022-08-05,7
+8948,2022-08-06,7
+8949,2022-08-07,7
+8950,2022-08-08,7
+8951,2022-08-09,7
+8952,2022-08-10,7
+8953,2022-08-11,7
+8954,2022-08-12,7
+8955,2022-08-13,7
+8956,2022-08-14,7
+8957,2022-08-15,7
+8958,2022-08-16,7
+8959,2022-08-17,7
+8960,2022-08-18,7
+8961,2022-08-19,7
+8962,2022-08-20,7
+8963,2022-08-21,7
+8964,2022-08-22,7
+8965,2022-08-23,7
+8966,2022-08-24,7
+8967,2022-08-25,7
+8968,2022-08-26,7
+8969,2022-08-27,7
+8970,2022-08-28,7
+8971,2022-08-29,7
+8972,2022-08-30,7
+8973,2022-08-31,7
+8974,2022-09-01,7
+8975,2022-09-02,7
+8976,2022-09-03,7
+8977,2022-09-04,7
+8978,2022-09-05,7
+8979,2022-09-06,7
+8980,2022-09-07,7
+8981,2022-09-08,7
+8982,2022-09-09,7
+8983,2022-09-10,7
+8984,2022-09-11,7
+8985,2022-09-12,7
+8986,2022-09-13,7
+8987,2022-09-14,7
+8988,2022-09-15,7
+8989,2022-09-16,7
+8990,2022-09-17,7
+8991,2022-09-18,7
+8992,2022-09-19,7
+8993,2022-09-20,7
+8994,2022-09-21,7
+8995,2022-09-22,7
+8996,2022-09-23,7
+8997,2022-09-24,7
+8998,2022-09-25,7
+8999,2022-09-26,7
+9000,2020-01-01,8
+9001,2020-01-02,8
+9002,2020-01-03,8
+9003,2020-01-04,8
+9004,2020-01-05,8
+9005,2020-01-06,8
+9006,2020-01-07,8
+9007,2020-01-08,8
+9008,2020-01-09,8
+9009,2020-01-10,8
+9010,2020-01-11,8
+9011,2020-01-12,8
+9012,2020-01-13,8
+9013,2020-01-14,8
+9014,2020-01-15,8
+9015,2020-01-16,8
+9016,2020-01-17,8
+9017,2020-01-18,8
+9018,2020-01-19,8
+9019,2020-01-20,8
+9020,2020-01-21,8
+9021,2020-01-22,8
+9022,2020-01-23,8
+9023,2020-01-24,8
+9024,2020-01-25,8
+9025,2020-01-26,8
+9026,2020-01-27,8
+9027,2020-01-28,8
+9028,2020-01-29,8
+9029,2020-01-30,8
+9030,2020-01-31,8
+9031,2020-02-01,8
+9032,2020-02-02,8
+9033,2020-02-03,8
+9034,2020-02-04,8
+9035,2020-02-05,8
+9036,2020-02-06,8
+9037,2020-02-07,8
+9038,2020-02-08,8
+9039,2020-02-09,8
+9040,2020-02-10,8
+9041,2020-02-11,8
+9042,2020-02-12,8
+9043,2020-02-13,8
+9044,2020-02-14,8
+9045,2020-02-15,8
+9046,2020-02-16,8
+9047,2020-02-17,8
+9048,2020-02-18,8
+9049,2020-02-19,8
+9050,2020-02-20,8
+9051,2020-02-21,8
+9052,2020-02-22,8
+9053,2020-02-23,8
+9054,2020-02-24,8
+9055,2020-02-25,8
+9056,2020-02-26,8
+9057,2020-02-27,8
+9058,2020-02-28,8
+9059,2020-02-29,8
+9060,2020-03-01,8
+9061,2020-03-02,8
+9062,2020-03-03,8
+9063,2020-03-04,8
+9064,2020-03-05,8
+9065,2020-03-06,8
+9066,2020-03-07,8
+9067,2020-03-08,8
+9068,2020-03-09,8
+9069,2020-03-10,8
+9070,2020-03-11,8
+9071,2020-03-12,8
+9072,2020-03-13,8
+9073,2020-03-14,8
+9074,2020-03-15,8
+9075,2020-03-16,8
+9076,2020-03-17,8
+9077,2020-03-18,8
+9078,2020-03-19,8
+9079,2020-03-20,8
+9080,2020-03-21,8
+9081,2020-03-22,8
+9082,2020-03-23,8
+9083,2020-03-24,8
+9084,2020-03-25,8
+9085,2020-03-26,8
+9086,2020-03-27,8
+9087,2020-03-28,8
+9088,2020-03-29,8
+9089,2020-03-30,8
+9090,2020-03-31,8
+9091,2020-04-01,8
+9092,2020-04-02,8
+9093,2020-04-03,8
+9094,2020-04-04,8
+9095,2020-04-05,8
+9096,2020-04-06,8
+9097,2020-04-07,8
+9098,2020-04-08,8
+9099,2020-04-09,8
+9100,2020-04-10,8
+9101,2020-04-11,8
+9102,2020-04-12,8
+9103,2020-04-13,8
+9104,2020-04-14,8
+9105,2020-04-15,8
+9106,2020-04-16,8
+9107,2020-04-17,8
+9108,2020-04-18,8
+9109,2020-04-19,8
+9110,2020-04-20,8
+9111,2020-04-21,8
+9112,2020-04-22,8
+9113,2020-04-23,8
+9114,2020-04-24,8
+9115,2020-04-25,8
+9116,2020-04-26,8
+9117,2020-04-27,8
+9118,2020-04-28,8
+9119,2020-04-29,8
+9120,2020-04-30,8
+9121,2020-05-01,8
+9122,2020-05-02,8
+9123,2020-05-03,8
+9124,2020-05-04,8
+9125,2020-05-05,8
+9126,2020-05-06,8
+9127,2020-05-07,8
+9128,2020-05-08,8
+9129,2020-05-09,8
+9130,2020-05-10,8
+9131,2020-05-11,8
+9132,2020-05-12,8
+9133,2020-05-13,8
+9134,2020-05-14,8
+9135,2020-05-15,8
+9136,2020-05-16,8
+9137,2020-05-17,8
+9138,2020-05-18,8
+9139,2020-05-19,8
+9140,2020-05-20,8
+9141,2020-05-21,8
+9142,2020-05-22,8
+9143,2020-05-23,8
+9144,2020-05-24,8
+9145,2020-05-25,8
+9146,2020-05-26,8
+9147,2020-05-27,8
+9148,2020-05-28,8
+9149,2020-05-29,8
+9150,2020-05-30,8
+9151,2020-05-31,8
+9152,2020-06-01,8
+9153,2020-06-02,8
+9154,2020-06-03,8
+9155,2020-06-04,8
+9156,2020-06-05,8
+9157,2020-06-06,8
+9158,2020-06-07,8
+9159,2020-06-08,8
+9160,2020-06-09,8
+9161,2020-06-10,8
+9162,2020-06-11,8
+9163,2020-06-12,8
+9164,2020-06-13,8
+9165,2020-06-14,8
+9166,2020-06-15,8
+9167,2020-06-16,8
+9168,2020-06-17,8
+9169,2020-06-18,8
+9170,2020-06-19,8
+9171,2020-06-20,8
+9172,2020-06-21,8
+9173,2020-06-22,8
+9174,2020-06-23,8
+9175,2020-06-24,8
+9176,2020-06-25,8
+9177,2020-06-26,8
+9178,2020-06-27,8
+9179,2020-06-28,8
+9180,2020-06-29,8
+9181,2020-06-30,8
+9182,2020-07-01,8
+9183,2020-07-02,8
+9184,2020-07-03,8
+9185,2020-07-04,8
+9186,2020-07-05,8
+9187,2020-07-06,8
+9188,2020-07-07,8
+9189,2020-07-08,8
+9190,2020-07-09,8
+9191,2020-07-10,8
+9192,2020-07-11,8
+9193,2020-07-12,8
+9194,2020-07-13,8
+9195,2020-07-14,8
+9196,2020-07-15,8
+9197,2020-07-16,8
+9198,2020-07-17,8
+9199,2020-07-18,8
+9200,2020-07-19,8
+9201,2020-07-20,8
+9202,2020-07-21,8
+9203,2020-07-22,8
+9204,2020-07-23,8
+9205,2020-07-24,8
+9206,2020-07-25,8
+9207,2020-07-26,8
+9208,2020-07-27,8
+9209,2020-07-28,8
+9210,2020-07-29,8
+9211,2020-07-30,8
+9212,2020-07-31,8
+9213,2020-08-01,8
+9214,2020-08-02,8
+9215,2020-08-03,8
+9216,2020-08-04,8
+9217,2020-08-05,8
+9218,2020-08-06,8
+9219,2020-08-07,8
+9220,2020-08-08,8
+9221,2020-08-09,8
+9222,2020-08-10,8
+9223,2020-08-11,8
+9224,2020-08-12,8
+9225,2020-08-13,8
+9226,2020-08-14,8
+9227,2020-08-15,8
+9228,2020-08-16,8
+9229,2020-08-17,8
+9230,2020-08-18,8
+9231,2020-08-19,8
+9232,2020-08-20,8
+9233,2020-08-21,8
+9234,2020-08-22,8
+9235,2020-08-23,8
+9236,2020-08-24,8
+9237,2020-08-25,8
+9238,2020-08-26,8
+9239,2020-08-27,8
+9240,2020-08-28,8
+9241,2020-08-29,8
+9242,2020-08-30,8
+9243,2020-08-31,8
+9244,2020-09-01,8
+9245,2020-09-02,8
+9246,2020-09-03,8
+9247,2020-09-04,8
+9248,2020-09-05,8
+9249,2020-09-06,8
+9250,2020-09-07,8
+9251,2020-09-08,8
+9252,2020-09-09,8
+9253,2020-09-10,8
+9254,2020-09-11,8
+9255,2020-09-12,8
+9256,2020-09-13,8
+9257,2020-09-14,8
+9258,2020-09-15,8
+9259,2020-09-16,8
+9260,2020-09-17,8
+9261,2020-09-18,8
+9262,2020-09-19,8
+9263,2020-09-20,8
+9264,2020-09-21,8
+9265,2020-09-22,8
+9266,2020-09-23,8
+9267,2020-09-24,8
+9268,2020-09-25,8
+9269,2020-09-26,8
+9270,2020-09-27,8
+9271,2020-09-28,8
+9272,2020-09-29,8
+9273,2020-09-30,8
+9274,2020-10-01,8
+9275,2020-10-02,8
+9276,2020-10-03,8
+9277,2020-10-04,8
+9278,2020-10-05,8
+9279,2020-10-06,8
+9280,2020-10-07,8
+9281,2020-10-08,8
+9282,2020-10-09,8
+9283,2020-10-10,8
+9284,2020-10-11,8
+9285,2020-10-12,8
+9286,2020-10-13,8
+9287,2020-10-14,8
+9288,2020-10-15,8
+9289,2020-10-16,8
+9290,2020-10-17,8
+9291,2020-10-18,8
+9292,2020-10-19,8
+9293,2020-10-20,8
+9294,2020-10-21,8
+9295,2020-10-22,8
+9296,2020-10-23,8
+9297,2020-10-24,8
+9298,2020-10-25,8
+9299,2020-10-26,8
+9300,2020-10-27,8
+9301,2020-10-28,8
+9302,2020-10-29,8
+9303,2020-10-30,8
+9304,2020-10-31,8
+9305,2020-11-01,8
+9306,2020-11-02,8
+9307,2020-11-03,8
+9308,2020-11-04,8
+9309,2020-11-05,8
+9310,2020-11-06,8
+9311,2020-11-07,8
+9312,2020-11-08,8
+9313,2020-11-09,8
+9314,2020-11-10,8
+9315,2020-11-11,8
+9316,2020-11-12,8
+9317,2020-11-13,8
+9318,2020-11-14,8
+9319,2020-11-15,8
+9320,2020-11-16,8
+9321,2020-11-17,8
+9322,2020-11-18,8
+9323,2020-11-19,8
+9324,2020-11-20,8
+9325,2020-11-21,8
+9326,2020-11-22,8
+9327,2020-11-23,8
+9328,2020-11-24,8
+9329,2020-11-25,8
+9330,2020-11-26,8
+9331,2020-11-27,8
+9332,2020-11-28,8
+9333,2020-11-29,8
+9334,2020-11-30,8
+9335,2020-12-01,8
+9336,2020-12-02,8
+9337,2020-12-03,8
+9338,2020-12-04,8
+9339,2020-12-05,8
+9340,2020-12-06,8
+9341,2020-12-07,8
+9342,2020-12-08,8
+9343,2020-12-09,8
+9344,2020-12-10,8
+9345,2020-12-11,8
+9346,2020-12-12,8
+9347,2020-12-13,8
+9348,2020-12-14,8
+9349,2020-12-15,8
+9350,2020-12-16,8
+9351,2020-12-17,8
+9352,2020-12-18,8
+9353,2020-12-19,8
+9354,2020-12-20,8
+9355,2020-12-21,8
+9356,2020-12-22,8
+9357,2020-12-23,8
+9358,2020-12-24,8
+9359,2020-12-25,8
+9360,2020-12-26,8
+9361,2020-12-27,8
+9362,2020-12-28,8
+9363,2020-12-29,8
+9364,2020-12-30,8
+9365,2020-12-31,8
+9366,2021-01-01,8
+9367,2021-01-02,8
+9368,2021-01-03,8
+9369,2021-01-04,8
+9370,2021-01-05,8
+9371,2021-01-06,8
+9372,2021-01-07,8
+9373,2021-01-08,8
+9374,2021-01-09,8
+9375,2021-01-10,8
+9376,2021-01-11,8
+9377,2021-01-12,8
+9378,2021-01-13,8
+9379,2021-01-14,8
+9380,2021-01-15,8
+9381,2021-01-16,8
+9382,2021-01-17,8
+9383,2021-01-18,8
+9384,2021-01-19,8
+9385,2021-01-20,8
+9386,2021-01-21,8
+9387,2021-01-22,8
+9388,2021-01-23,8
+9389,2021-01-24,8
+9390,2021-01-25,8
+9391,2021-01-26,8
+9392,2021-01-27,8
+9393,2021-01-28,8
+9394,2021-01-29,8
+9395,2021-01-30,8
+9396,2021-01-31,8
+9397,2021-02-01,8
+9398,2021-02-02,8
+9399,2021-02-03,8
+9400,2021-02-04,8
+9401,2021-02-05,8
+9402,2021-02-06,8
+9403,2021-02-07,8
+9404,2021-02-08,8
+9405,2021-02-09,8
+9406,2021-02-10,8
+9407,2021-02-11,8
+9408,2021-02-12,8
+9409,2021-02-13,8
+9410,2021-02-14,8
+9411,2021-02-15,8
+9412,2021-02-16,8
+9413,2021-02-17,8
+9414,2021-02-18,8
+9415,2021-02-19,8
+9416,2021-02-20,8
+9417,2021-02-21,8
+9418,2021-02-22,8
+9419,2021-02-23,8
+9420,2021-02-24,8
+9421,2021-02-25,8
+9422,2021-02-26,8
+9423,2021-02-27,8
+9424,2021-02-28,8
+9425,2021-03-01,8
+9426,2021-03-02,8
+9427,2021-03-03,8
+9428,2021-03-04,8
+9429,2021-03-05,8
+9430,2021-03-06,8
+9431,2021-03-07,8
+9432,2021-03-08,8
+9433,2021-03-09,8
+9434,2021-03-10,8
+9435,2021-03-11,8
+9436,2021-03-12,8
+9437,2021-03-13,8
+9438,2021-03-14,8
+9439,2021-03-15,8
+9440,2021-03-16,8
+9441,2021-03-17,8
+9442,2021-03-18,8
+9443,2021-03-19,8
+9444,2021-03-20,8
+9445,2021-03-21,8
+9446,2021-03-22,8
+9447,2021-03-23,8
+9448,2021-03-24,8
+9449,2021-03-25,8
+9450,2021-03-26,8
+9451,2021-03-27,8
+9452,2021-03-28,8
+9453,2021-03-29,8
+9454,2021-03-30,8
+9455,2021-03-31,8
+9456,2021-04-01,8
+9457,2021-04-02,8
+9458,2021-04-03,8
+9459,2021-04-04,8
+9460,2021-04-05,8
+9461,2021-04-06,8
+9462,2021-04-07,8
+9463,2021-04-08,8
+9464,2021-04-09,8
+9465,2021-04-10,8
+9466,2021-04-11,8
+9467,2021-04-12,8
+9468,2021-04-13,8
+9469,2021-04-14,8
+9470,2021-04-15,8
+9471,2021-04-16,8
+9472,2021-04-17,8
+9473,2021-04-18,8
+9474,2021-04-19,8
+9475,2021-04-20,8
+9476,2021-04-21,8
+9477,2021-04-22,8
+9478,2021-04-23,8
+9479,2021-04-24,8
+9480,2021-04-25,8
+9481,2021-04-26,8
+9482,2021-04-27,8
+9483,2021-04-28,8
+9484,2021-04-29,8
+9485,2021-04-30,8
+9486,2021-05-01,8
+9487,2021-05-02,8
+9488,2021-05-03,8
+9489,2021-05-04,8
+9490,2021-05-05,8
+9491,2021-05-06,8
+9492,2021-05-07,8
+9493,2021-05-08,8
+9494,2021-05-09,8
+9495,2021-05-10,8
+9496,2021-05-11,8
+9497,2021-05-12,8
+9498,2021-05-13,8
+9499,2021-05-14,8
+9500,2021-05-15,8
+9501,2021-05-16,8
+9502,2021-05-17,8
+9503,2021-05-18,8
+9504,2021-05-19,8
+9505,2021-05-20,8
+9506,2021-05-21,8
+9507,2021-05-22,8
+9508,2021-05-23,8
+9509,2021-05-24,8
+9510,2021-05-25,8
+9511,2021-05-26,8
+9512,2021-05-27,8
+9513,2021-05-28,8
+9514,2021-05-29,8
+9515,2021-05-30,8
+9516,2021-05-31,8
+9517,2021-06-01,8
+9518,2021-06-02,8
+9519,2021-06-03,8
+9520,2021-06-04,8
+9521,2021-06-05,8
+9522,2021-06-06,8
+9523,2021-06-07,8
+9524,2021-06-08,8
+9525,2021-06-09,8
+9526,2021-06-10,8
+9527,2021-06-11,8
+9528,2021-06-12,8
+9529,2021-06-13,8
+9530,2021-06-14,8
+9531,2021-06-15,8
+9532,2021-06-16,8
+9533,2021-06-17,8
+9534,2021-06-18,8
+9535,2021-06-19,8
+9536,2021-06-20,8
+9537,2021-06-21,8
+9538,2021-06-22,8
+9539,2021-06-23,8
+9540,2021-06-24,8
+9541,2021-06-25,8
+9542,2021-06-26,8
+9543,2021-06-27,8
+9544,2021-06-28,8
+9545,2021-06-29,8
+9546,2021-06-30,8
+9547,2021-07-01,8
+9548,2021-07-02,8
+9549,2021-07-03,8
+9550,2021-07-04,8
+9551,2021-07-05,8
+9552,2021-07-06,8
+9553,2021-07-07,8
+9554,2021-07-08,8
+9555,2021-07-09,8
+9556,2021-07-10,8
+9557,2021-07-11,8
+9558,2021-07-12,8
+9559,2021-07-13,8
+9560,2021-07-14,8
+9561,2021-07-15,8
+9562,2021-07-16,8
+9563,2021-07-17,8
+9564,2021-07-18,8
+9565,2021-07-19,8
+9566,2021-07-20,8
+9567,2021-07-21,8
+9568,2021-07-22,8
+9569,2021-07-23,8
+9570,2021-07-24,8
+9571,2021-07-25,8
+9572,2021-07-26,8
+9573,2021-07-27,8
+9574,2021-07-28,8
+9575,2021-07-29,8
+9576,2021-07-30,8
+9577,2021-07-31,8
+9578,2021-08-01,8
+9579,2021-08-02,8
+9580,2021-08-03,8
+9581,2021-08-04,8
+9582,2021-08-05,8
+9583,2021-08-06,8
+9584,2021-08-07,8
+9585,2021-08-08,8
+9586,2021-08-09,8
+9587,2021-08-10,8
+9588,2021-08-11,8
+9589,2021-08-12,8
+9590,2021-08-13,8
+9591,2021-08-14,8
+9592,2021-08-15,8
+9593,2021-08-16,8
+9594,2021-08-17,8
+9595,2021-08-18,8
+9596,2021-08-19,8
+9597,2021-08-20,8
+9598,2021-08-21,8
+9599,2021-08-22,8
+9600,2021-08-23,8
+9601,2021-08-24,8
+9602,2021-08-25,8
+9603,2021-08-26,8
+9604,2021-08-27,8
+9605,2021-08-28,8
+9606,2021-08-29,8
+9607,2021-08-30,8
+9608,2021-08-31,8
+9609,2021-09-01,8
+9610,2021-09-02,8
+9611,2021-09-03,8
+9612,2021-09-04,8
+9613,2021-09-05,8
+9614,2021-09-06,8
+9615,2021-09-07,8
+9616,2021-09-08,8
+9617,2021-09-09,8
+9618,2021-09-10,8
+9619,2021-09-11,8
+9620,2021-09-12,8
+9621,2021-09-13,8
+9622,2021-09-14,8
+9623,2021-09-15,8
+9624,2021-09-16,8
+9625,2021-09-17,8
+9626,2021-09-18,8
+9627,2021-09-19,8
+9628,2021-09-20,8
+9629,2021-09-21,8
+9630,2021-09-22,8
+9631,2021-09-23,8
+9632,2021-09-24,8
+9633,2021-09-25,8
+9634,2021-09-26,8
+9635,2021-09-27,8
+9636,2021-09-28,8
+9637,2021-09-29,8
+9638,2021-09-30,8
+9639,2021-10-01,8
+9640,2021-10-02,8
+9641,2021-10-03,8
+9642,2021-10-04,8
+9643,2021-10-05,8
+9644,2021-10-06,8
+9645,2021-10-07,8
+9646,2021-10-08,8
+9647,2021-10-09,8
+9648,2021-10-10,8
+9649,2021-10-11,8
+9650,2021-10-12,8
+9651,2021-10-13,8
+9652,2021-10-14,8
+9653,2021-10-15,8
+9654,2021-10-16,8
+9655,2021-10-17,8
+9656,2021-10-18,8
+9657,2021-10-19,8
+9658,2021-10-20,8
+9659,2021-10-21,8
+9660,2021-10-22,8
+9661,2021-10-23,8
+9662,2021-10-24,8
+9663,2021-10-25,8
+9664,2021-10-26,8
+9665,2021-10-27,8
+9666,2021-10-28,8
+9667,2021-10-29,8
+9668,2021-10-30,8
+9669,2021-10-31,8
+9670,2021-11-01,8
+9671,2021-11-02,8
+9672,2021-11-03,8
+9673,2021-11-04,8
+9674,2021-11-05,8
+9675,2021-11-06,8
+9676,2021-11-07,8
+9677,2021-11-08,8
+9678,2021-11-09,8
+9679,2021-11-10,8
+9680,2021-11-11,8
+9681,2021-11-12,8
+9682,2021-11-13,8
+9683,2021-11-14,8
+9684,2021-11-15,8
+9685,2021-11-16,8
+9686,2021-11-17,8
+9687,2021-11-18,8
+9688,2021-11-19,8
+9689,2021-11-20,8
+9690,2021-11-21,8
+9691,2021-11-22,8
+9692,2021-11-23,8
+9693,2021-11-24,8
+9694,2021-11-25,8
+9695,2021-11-26,8
+9696,2021-11-27,8
+9697,2021-11-28,8
+9698,2021-11-29,8
+9699,2021-11-30,8
+9700,2021-12-01,8
+9701,2021-12-02,8
+9702,2021-12-03,8
+9703,2021-12-04,8
+9704,2021-12-05,8
+9705,2021-12-06,8
+9706,2021-12-07,8
+9707,2021-12-08,8
+9708,2021-12-09,8
+9709,2021-12-10,8
+9710,2021-12-11,8
+9711,2021-12-12,8
+9712,2021-12-13,8
+9713,2021-12-14,8
+9714,2021-12-15,8
+9715,2021-12-16,8
+9716,2021-12-17,8
+9717,2021-12-18,8
+9718,2021-12-19,8
+9719,2021-12-20,8
+9720,2021-12-21,8
+9721,2021-12-22,8
+9722,2021-12-23,8
+9723,2021-12-24,8
+9724,2021-12-25,8
+9725,2021-12-26,8
+9726,2021-12-27,8
+9727,2021-12-28,8
+9728,2021-12-29,8
+9729,2021-12-30,8
+9730,2021-12-31,8
+9731,2022-01-01,8
+9732,2022-01-02,8
+9733,2022-01-03,8
+9734,2022-01-04,8
+9735,2022-01-05,8
+9736,2022-01-06,8
+9737,2022-01-07,8
+9738,2022-01-08,8
+9739,2022-01-09,8
+9740,2022-01-10,8
+9741,2022-01-11,8
+9742,2022-01-12,8
+9743,2022-01-13,8
+9744,2022-01-14,8
+9745,2022-01-15,8
+9746,2022-01-16,8
+9747,2022-01-17,8
+9748,2022-01-18,8
+9749,2022-01-19,8
+9750,2022-01-20,8
+9751,2022-01-21,8
+9752,2022-01-22,8
+9753,2022-01-23,8
+9754,2022-01-24,8
+9755,2022-01-25,8
+9756,2022-01-26,8
+9757,2022-01-27,8
+9758,2022-01-28,8
+9759,2022-01-29,8
+9760,2022-01-30,8
+9761,2022-01-31,8
+9762,2022-02-01,8
+9763,2022-02-02,8
+9764,2022-02-03,8
+9765,2022-02-04,8
+9766,2022-02-05,8
+9767,2022-02-06,8
+9768,2022-02-07,8
+9769,2022-02-08,8
+9770,2022-02-09,8
+9771,2022-02-10,8
+9772,2022-02-11,8
+9773,2022-02-12,8
+9774,2022-02-13,8
+9775,2022-02-14,8
+9776,2022-02-15,8
+9777,2022-02-16,8
+9778,2022-02-17,8
+9779,2022-02-18,8
+9780,2022-02-19,8
+9781,2022-02-20,8
+9782,2022-02-21,8
+9783,2022-02-22,8
+9784,2022-02-23,8
+9785,2022-02-24,8
+9786,2022-02-25,8
+9787,2022-02-26,8
+9788,2022-02-27,8
+9789,2022-02-28,8
+9790,2022-03-01,8
+9791,2022-03-02,8
+9792,2022-03-03,8
+9793,2022-03-04,8
+9794,2022-03-05,8
+9795,2022-03-06,8
+9796,2022-03-07,8
+9797,2022-03-08,8
+9798,2022-03-09,8
+9799,2022-03-10,8
+9800,2022-03-11,8
+9801,2022-03-12,8
+9802,2022-03-13,8
+9803,2022-03-14,8
+9804,2022-03-15,8
+9805,2022-03-16,8
+9806,2022-03-17,8
+9807,2022-03-18,8
+9808,2022-03-19,8
+9809,2022-03-20,8
+9810,2022-03-21,8
+9811,2022-03-22,8
+9812,2022-03-23,8
+9813,2022-03-24,8
+9814,2022-03-25,8
+9815,2022-03-26,8
+9816,2022-03-27,8
+9817,2022-03-28,8
+9818,2022-03-29,8
+9819,2022-03-30,8
+9820,2022-03-31,8
+9821,2022-04-01,8
+9822,2022-04-02,8
+9823,2022-04-03,8
+9824,2022-04-04,8
+9825,2022-04-05,8
+9826,2022-04-06,8
+9827,2022-04-07,8
+9828,2022-04-08,8
+9829,2022-04-09,8
+9830,2022-04-10,8
+9831,2022-04-11,8
+9832,2022-04-12,8
+9833,2022-04-13,8
+9834,2022-04-14,8
+9835,2022-04-15,8
+9836,2022-04-16,8
+9837,2022-04-17,8
+9838,2022-04-18,8
+9839,2022-04-19,8
+9840,2022-04-20,8
+9841,2022-04-21,8
+9842,2022-04-22,8
+9843,2022-04-23,8
+9844,2022-04-24,8
+9845,2022-04-25,8
+9846,2022-04-26,8
+9847,2022-04-27,8
+9848,2022-04-28,8
+9849,2022-04-29,8
+9850,2022-04-30,8
+9851,2022-05-01,8
+9852,2022-05-02,8
+9853,2022-05-03,8
+9854,2022-05-04,8
+9855,2022-05-05,8
+9856,2022-05-06,8
+9857,2022-05-07,8
+9858,2022-05-08,8
+9859,2022-05-09,8
+9860,2022-05-10,8
+9861,2022-05-11,8
+9862,2022-05-12,8
+9863,2022-05-13,8
+9864,2022-05-14,8
+9865,2022-05-15,8
+9866,2022-05-16,8
+9867,2022-05-17,8
+9868,2022-05-18,8
+9869,2022-05-19,8
+9870,2022-05-20,8
+9871,2022-05-21,8
+9872,2022-05-22,8
+9873,2022-05-23,8
+9874,2022-05-24,8
+9875,2022-05-25,8
+9876,2022-05-26,8
+9877,2022-05-27,8
+9878,2022-05-28,8
+9879,2022-05-29,8
+9880,2022-05-30,8
+9881,2022-05-31,8
+9882,2022-06-01,8
+9883,2022-06-02,8
+9884,2022-06-03,8
+9885,2022-06-04,8
+9886,2022-06-05,8
+9887,2022-06-06,8
+9888,2022-06-07,8
+9889,2022-06-08,8
+9890,2022-06-09,8
+9891,2022-06-10,8
+9892,2022-06-11,8
+9893,2022-06-12,8
+9894,2022-06-13,8
+9895,2022-06-14,8
+9896,2022-06-15,8
+9897,2022-06-16,8
+9898,2022-06-17,8
+9899,2022-06-18,8
+9900,2022-06-19,8
+9901,2022-06-20,8
+9902,2022-06-21,8
+9903,2022-06-22,8
+9904,2022-06-23,8
+9905,2022-06-24,8
+9906,2022-06-25,8
+9907,2022-06-26,8
+9908,2022-06-27,8
+9909,2022-06-28,8
+9910,2022-06-29,8
+9911,2022-06-30,8
+9912,2022-07-01,8
+9913,2022-07-02,8
+9914,2022-07-03,8
+9915,2022-07-04,8
+9916,2022-07-05,8
+9917,2022-07-06,8
+9918,2022-07-07,8
+9919,2022-07-08,8
+9920,2022-07-09,8
+9921,2022-07-10,8
+9922,2022-07-11,8
+9923,2022-07-12,8
+9924,2022-07-13,8
+9925,2022-07-14,8
+9926,2022-07-15,8
+9927,2022-07-16,8
+9928,2022-07-17,8
+9929,2022-07-18,8
+9930,2022-07-19,8
+9931,2022-07-20,8
+9932,2022-07-21,8
+9933,2022-07-22,8
+9934,2022-07-23,8
+9935,2022-07-24,8
+9936,2022-07-25,8
+9937,2022-07-26,8
+9938,2022-07-27,8
+9939,2022-07-28,8
+9940,2022-07-29,8
+9941,2022-07-30,8
+9942,2022-07-31,8
+9943,2022-08-01,8
+9944,2022-08-02,8
+9945,2022-08-03,8
+9946,2022-08-04,8
+9947,2022-08-05,8
+9948,2022-08-06,8
+9949,2022-08-07,8
+9950,2022-08-08,8
+9951,2022-08-09,8
+9952,2022-08-10,8
+9953,2022-08-11,8
+9954,2022-08-12,8
+9955,2022-08-13,8
+9956,2022-08-14,8
+9957,2022-08-15,8
+9958,2022-08-16,8
+9959,2022-08-17,8
+9960,2022-08-18,8
+9961,2022-08-19,8
+9962,2022-08-20,8
+9963,2022-08-21,8
+9964,2022-08-22,8
+9965,2022-08-23,8
+9966,2022-08-24,8
+9967,2022-08-25,8
+9968,2022-08-26,8
+9969,2022-08-27,8
+9970,2022-08-28,8
+9971,2022-08-29,8
+9972,2022-08-30,8
+9973,2022-08-31,8
+9974,2022-09-01,8
+9975,2022-09-02,8
+9976,2022-09-03,8
+9977,2022-09-04,8
+9978,2022-09-05,8
+9979,2022-09-06,8
+9980,2022-09-07,8
+9981,2022-09-08,8
+9982,2022-09-09,8
+9983,2022-09-10,8
+9984,2022-09-11,8
+9985,2022-09-12,8
+9986,2022-09-13,8
+9987,2022-09-14,8
+9988,2022-09-15,8
+9989,2022-09-16,8
+9990,2022-09-17,8
+9991,2022-09-18,8
+9992,2022-09-19,8
+9993,2022-09-20,8
+9994,2022-09-21,8
+9995,2022-09-22,8
+9996,2022-09-23,8
+9997,2022-09-24,8
+9998,2022-09-25,8
+9999,2022-09-26,8
+10000,2020-01-01,9
+10001,2020-01-02,9
+10002,2020-01-03,9
+10003,2020-01-04,9
+10004,2020-01-05,9
+10005,2020-01-06,9
+10006,2020-01-07,9
+10007,2020-01-08,9
+10008,2020-01-09,9
+10009,2020-01-10,9
+10010,2020-01-11,9
+10011,2020-01-12,9
+10012,2020-01-13,9
+10013,2020-01-14,9
+10014,2020-01-15,9
+10015,2020-01-16,9
+10016,2020-01-17,9
+10017,2020-01-18,9
+10018,2020-01-19,9
+10019,2020-01-20,9
+10020,2020-01-21,9
+10021,2020-01-22,9
+10022,2020-01-23,9
+10023,2020-01-24,9
+10024,2020-01-25,9
+10025,2020-01-26,9
+10026,2020-01-27,9
+10027,2020-01-28,9
+10028,2020-01-29,9
+10029,2020-01-30,9
+10030,2020-01-31,9
+10031,2020-02-01,9
+10032,2020-02-02,9
+10033,2020-02-03,9
+10034,2020-02-04,9
+10035,2020-02-05,9
+10036,2020-02-06,9
+10037,2020-02-07,9
+10038,2020-02-08,9
+10039,2020-02-09,9
+10040,2020-02-10,9
+10041,2020-02-11,9
+10042,2020-02-12,9
+10043,2020-02-13,9
+10044,2020-02-14,9
+10045,2020-02-15,9
+10046,2020-02-16,9
+10047,2020-02-17,9
+10048,2020-02-18,9
+10049,2020-02-19,9
+10050,2020-02-20,9
+10051,2020-02-21,9
+10052,2020-02-22,9
+10053,2020-02-23,9
+10054,2020-02-24,9
+10055,2020-02-25,9
+10056,2020-02-26,9
+10057,2020-02-27,9
+10058,2020-02-28,9
+10059,2020-02-29,9
+10060,2020-03-01,9
+10061,2020-03-02,9
+10062,2020-03-03,9
+10063,2020-03-04,9
+10064,2020-03-05,9
+10065,2020-03-06,9
+10066,2020-03-07,9
+10067,2020-03-08,9
+10068,2020-03-09,9
+10069,2020-03-10,9
+10070,2020-03-11,9
+10071,2020-03-12,9
+10072,2020-03-13,9
+10073,2020-03-14,9
+10074,2020-03-15,9
+10075,2020-03-16,9
+10076,2020-03-17,9
+10077,2020-03-18,9
+10078,2020-03-19,9
+10079,2020-03-20,9
+10080,2020-03-21,9
+10081,2020-03-22,9
+10082,2020-03-23,9
+10083,2020-03-24,9
+10084,2020-03-25,9
+10085,2020-03-26,9
+10086,2020-03-27,9
+10087,2020-03-28,9
+10088,2020-03-29,9
+10089,2020-03-30,9
+10090,2020-03-31,9
+10091,2020-04-01,9
+10092,2020-04-02,9
+10093,2020-04-03,9
+10094,2020-04-04,9
+10095,2020-04-05,9
+10096,2020-04-06,9
+10097,2020-04-07,9
+10098,2020-04-08,9
+10099,2020-04-09,9
+10100,2020-04-10,9
+10101,2020-04-11,9
+10102,2020-04-12,9
+10103,2020-04-13,9
+10104,2020-04-14,9
+10105,2020-04-15,9
+10106,2020-04-16,9
+10107,2020-04-17,9
+10108,2020-04-18,9
+10109,2020-04-19,9
+10110,2020-04-20,9
+10111,2020-04-21,9
+10112,2020-04-22,9
+10113,2020-04-23,9
+10114,2020-04-24,9
+10115,2020-04-25,9
+10116,2020-04-26,9
+10117,2020-04-27,9
+10118,2020-04-28,9
+10119,2020-04-29,9
+10120,2020-04-30,9
+10121,2020-05-01,9
+10122,2020-05-02,9
+10123,2020-05-03,9
+10124,2020-05-04,9
+10125,2020-05-05,9
+10126,2020-05-06,9
+10127,2020-05-07,9
+10128,2020-05-08,9
+10129,2020-05-09,9
+10130,2020-05-10,9
+10131,2020-05-11,9
+10132,2020-05-12,9
+10133,2020-05-13,9
+10134,2020-05-14,9
+10135,2020-05-15,9
+10136,2020-05-16,9
+10137,2020-05-17,9
+10138,2020-05-18,9
+10139,2020-05-19,9
+10140,2020-05-20,9
+10141,2020-05-21,9
+10142,2020-05-22,9
+10143,2020-05-23,9
+10144,2020-05-24,9
+10145,2020-05-25,9
+10146,2020-05-26,9
+10147,2020-05-27,9
+10148,2020-05-28,9
+10149,2020-05-29,9
+10150,2020-05-30,9
+10151,2020-05-31,9
+10152,2020-06-01,9
+10153,2020-06-02,9
+10154,2020-06-03,9
+10155,2020-06-04,9
+10156,2020-06-05,9
+10157,2020-06-06,9
+10158,2020-06-07,9
+10159,2020-06-08,9
+10160,2020-06-09,9
+10161,2020-06-10,9
+10162,2020-06-11,9
+10163,2020-06-12,9
+10164,2020-06-13,9
+10165,2020-06-14,9
+10166,2020-06-15,9
+10167,2020-06-16,9
+10168,2020-06-17,9
+10169,2020-06-18,9
+10170,2020-06-19,9
+10171,2020-06-20,9
+10172,2020-06-21,9
+10173,2020-06-22,9
+10174,2020-06-23,9
+10175,2020-06-24,9
+10176,2020-06-25,9
+10177,2020-06-26,9
+10178,2020-06-27,9
+10179,2020-06-28,9
+10180,2020-06-29,9
+10181,2020-06-30,9
+10182,2020-07-01,9
+10183,2020-07-02,9
+10184,2020-07-03,9
+10185,2020-07-04,9
+10186,2020-07-05,9
+10187,2020-07-06,9
+10188,2020-07-07,9
+10189,2020-07-08,9
+10190,2020-07-09,9
+10191,2020-07-10,9
+10192,2020-07-11,9
+10193,2020-07-12,9
+10194,2020-07-13,9
+10195,2020-07-14,9
+10196,2020-07-15,9
+10197,2020-07-16,9
+10198,2020-07-17,9
+10199,2020-07-18,9
+10200,2020-07-19,9
+10201,2020-07-20,9
+10202,2020-07-21,9
+10203,2020-07-22,9
+10204,2020-07-23,9
+10205,2020-07-24,9
+10206,2020-07-25,9
+10207,2020-07-26,9
+10208,2020-07-27,9
+10209,2020-07-28,9
+10210,2020-07-29,9
+10211,2020-07-30,9
+10212,2020-07-31,9
+10213,2020-08-01,9
+10214,2020-08-02,9
+10215,2020-08-03,9
+10216,2020-08-04,9
+10217,2020-08-05,9
+10218,2020-08-06,9
+10219,2020-08-07,9
+10220,2020-08-08,9
+10221,2020-08-09,9
+10222,2020-08-10,9
+10223,2020-08-11,9
+10224,2020-08-12,9
+10225,2020-08-13,9
+10226,2020-08-14,9
+10227,2020-08-15,9
+10228,2020-08-16,9
+10229,2020-08-17,9
+10230,2020-08-18,9
+10231,2020-08-19,9
+10232,2020-08-20,9
+10233,2020-08-21,9
+10234,2020-08-22,9
+10235,2020-08-23,9
+10236,2020-08-24,9
+10237,2020-08-25,9
+10238,2020-08-26,9
+10239,2020-08-27,9
+10240,2020-08-28,9
+10241,2020-08-29,9
+10242,2020-08-30,9
+10243,2020-08-31,9
+10244,2020-09-01,9
+10245,2020-09-02,9
+10246,2020-09-03,9
+10247,2020-09-04,9
+10248,2020-09-05,9
+10249,2020-09-06,9
+10250,2020-09-07,9
+10251,2020-09-08,9
+10252,2020-09-09,9
+10253,2020-09-10,9
+10254,2020-09-11,9
+10255,2020-09-12,9
+10256,2020-09-13,9
+10257,2020-09-14,9
+10258,2020-09-15,9
+10259,2020-09-16,9
+10260,2020-09-17,9
+10261,2020-09-18,9
+10262,2020-09-19,9
+10263,2020-09-20,9
+10264,2020-09-21,9
+10265,2020-09-22,9
+10266,2020-09-23,9
+10267,2020-09-24,9
+10268,2020-09-25,9
+10269,2020-09-26,9
+10270,2020-09-27,9
+10271,2020-09-28,9
+10272,2020-09-29,9
+10273,2020-09-30,9
+10274,2020-10-01,9
+10275,2020-10-02,9
+10276,2020-10-03,9
+10277,2020-10-04,9
+10278,2020-10-05,9
+10279,2020-10-06,9
+10280,2020-10-07,9
+10281,2020-10-08,9
+10282,2020-10-09,9
+10283,2020-10-10,9
+10284,2020-10-11,9
+10285,2020-10-12,9
+10286,2020-10-13,9
+10287,2020-10-14,9
+10288,2020-10-15,9
+10289,2020-10-16,9
+10290,2020-10-17,9
+10291,2020-10-18,9
+10292,2020-10-19,9
+10293,2020-10-20,9
+10294,2020-10-21,9
+10295,2020-10-22,9
+10296,2020-10-23,9
+10297,2020-10-24,9
+10298,2020-10-25,9
+10299,2020-10-26,9
+10300,2020-10-27,9
+10301,2020-10-28,9
+10302,2020-10-29,9
+10303,2020-10-30,9
+10304,2020-10-31,9
+10305,2020-11-01,9
+10306,2020-11-02,9
+10307,2020-11-03,9
+10308,2020-11-04,9
+10309,2020-11-05,9
+10310,2020-11-06,9
+10311,2020-11-07,9
+10312,2020-11-08,9
+10313,2020-11-09,9
+10314,2020-11-10,9
+10315,2020-11-11,9
+10316,2020-11-12,9
+10317,2020-11-13,9
+10318,2020-11-14,9
+10319,2020-11-15,9
+10320,2020-11-16,9
+10321,2020-11-17,9
+10322,2020-11-18,9
+10323,2020-11-19,9
+10324,2020-11-20,9
+10325,2020-11-21,9
+10326,2020-11-22,9
+10327,2020-11-23,9
+10328,2020-11-24,9
+10329,2020-11-25,9
+10330,2020-11-26,9
+10331,2020-11-27,9
+10332,2020-11-28,9
+10333,2020-11-29,9
+10334,2020-11-30,9
+10335,2020-12-01,9
+10336,2020-12-02,9
+10337,2020-12-03,9
+10338,2020-12-04,9
+10339,2020-12-05,9
+10340,2020-12-06,9
+10341,2020-12-07,9
+10342,2020-12-08,9
+10343,2020-12-09,9
+10344,2020-12-10,9
+10345,2020-12-11,9
+10346,2020-12-12,9
+10347,2020-12-13,9
+10348,2020-12-14,9
+10349,2020-12-15,9
+10350,2020-12-16,9
+10351,2020-12-17,9
+10352,2020-12-18,9
+10353,2020-12-19,9
+10354,2020-12-20,9
+10355,2020-12-21,9
+10356,2020-12-22,9
+10357,2020-12-23,9
+10358,2020-12-24,9
+10359,2020-12-25,9
+10360,2020-12-26,9
+10361,2020-12-27,9
+10362,2020-12-28,9
+10363,2020-12-29,9
+10364,2020-12-30,9
+10365,2020-12-31,9
+10366,2021-01-01,9
+10367,2021-01-02,9
+10368,2021-01-03,9
+10369,2021-01-04,9
+10370,2021-01-05,9
+10371,2021-01-06,9
+10372,2021-01-07,9
+10373,2021-01-08,9
+10374,2021-01-09,9
+10375,2021-01-10,9
+10376,2021-01-11,9
+10377,2021-01-12,9
+10378,2021-01-13,9
+10379,2021-01-14,9
+10380,2021-01-15,9
+10381,2021-01-16,9
+10382,2021-01-17,9
+10383,2021-01-18,9
+10384,2021-01-19,9
+10385,2021-01-20,9
+10386,2021-01-21,9
+10387,2021-01-22,9
+10388,2021-01-23,9
+10389,2021-01-24,9
+10390,2021-01-25,9
+10391,2021-01-26,9
+10392,2021-01-27,9
+10393,2021-01-28,9
+10394,2021-01-29,9
+10395,2021-01-30,9
+10396,2021-01-31,9
+10397,2021-02-01,9
+10398,2021-02-02,9
+10399,2021-02-03,9
+10400,2021-02-04,9
+10401,2021-02-05,9
+10402,2021-02-06,9
+10403,2021-02-07,9
+10404,2021-02-08,9
+10405,2021-02-09,9
+10406,2021-02-10,9
+10407,2021-02-11,9
+10408,2021-02-12,9
+10409,2021-02-13,9
+10410,2021-02-14,9
+10411,2021-02-15,9
+10412,2021-02-16,9
+10413,2021-02-17,9
+10414,2021-02-18,9
+10415,2021-02-19,9
+10416,2021-02-20,9
+10417,2021-02-21,9
+10418,2021-02-22,9
+10419,2021-02-23,9
+10420,2021-02-24,9
+10421,2021-02-25,9
+10422,2021-02-26,9
+10423,2021-02-27,9
+10424,2021-02-28,9
+10425,2021-03-01,9
+10426,2021-03-02,9
+10427,2021-03-03,9
+10428,2021-03-04,9
+10429,2021-03-05,9
+10430,2021-03-06,9
+10431,2021-03-07,9
+10432,2021-03-08,9
+10433,2021-03-09,9
+10434,2021-03-10,9
+10435,2021-03-11,9
+10436,2021-03-12,9
+10437,2021-03-13,9
+10438,2021-03-14,9
+10439,2021-03-15,9
+10440,2021-03-16,9
+10441,2021-03-17,9
+10442,2021-03-18,9
+10443,2021-03-19,9
+10444,2021-03-20,9
+10445,2021-03-21,9
+10446,2021-03-22,9
+10447,2021-03-23,9
+10448,2021-03-24,9
+10449,2021-03-25,9
+10450,2021-03-26,9
+10451,2021-03-27,9
+10452,2021-03-28,9
+10453,2021-03-29,9
+10454,2021-03-30,9
+10455,2021-03-31,9
+10456,2021-04-01,9
+10457,2021-04-02,9
+10458,2021-04-03,9
+10459,2021-04-04,9
+10460,2021-04-05,9
+10461,2021-04-06,9
+10462,2021-04-07,9
+10463,2021-04-08,9
+10464,2021-04-09,9
+10465,2021-04-10,9
+10466,2021-04-11,9
+10467,2021-04-12,9
+10468,2021-04-13,9
+10469,2021-04-14,9
+10470,2021-04-15,9
+10471,2021-04-16,9
+10472,2021-04-17,9
+10473,2021-04-18,9
+10474,2021-04-19,9
+10475,2021-04-20,9
+10476,2021-04-21,9
+10477,2021-04-22,9
+10478,2021-04-23,9
+10479,2021-04-24,9
+10480,2021-04-25,9
+10481,2021-04-26,9
+10482,2021-04-27,9
+10483,2021-04-28,9
+10484,2021-04-29,9
+10485,2021-04-30,9
+10486,2021-05-01,9
+10487,2021-05-02,9
+10488,2021-05-03,9
+10489,2021-05-04,9
+10490,2021-05-05,9
+10491,2021-05-06,9
+10492,2021-05-07,9
+10493,2021-05-08,9
+10494,2021-05-09,9
+10495,2021-05-10,9
+10496,2021-05-11,9
+10497,2021-05-12,9
+10498,2021-05-13,9
+10499,2021-05-14,9
+10500,2021-05-15,9
+10501,2021-05-16,9
+10502,2021-05-17,9
+10503,2021-05-18,9
+10504,2021-05-19,9
+10505,2021-05-20,9
+10506,2021-05-21,9
+10507,2021-05-22,9
+10508,2021-05-23,9
+10509,2021-05-24,9
+10510,2021-05-25,9
+10511,2021-05-26,9
+10512,2021-05-27,9
+10513,2021-05-28,9
+10514,2021-05-29,9
+10515,2021-05-30,9
+10516,2021-05-31,9
+10517,2021-06-01,9
+10518,2021-06-02,9
+10519,2021-06-03,9
+10520,2021-06-04,9
+10521,2021-06-05,9
+10522,2021-06-06,9
+10523,2021-06-07,9
+10524,2021-06-08,9
+10525,2021-06-09,9
+10526,2021-06-10,9
+10527,2021-06-11,9
+10528,2021-06-12,9
+10529,2021-06-13,9
+10530,2021-06-14,9
+10531,2021-06-15,9
+10532,2021-06-16,9
+10533,2021-06-17,9
+10534,2021-06-18,9
+10535,2021-06-19,9
+10536,2021-06-20,9
+10537,2021-06-21,9
+10538,2021-06-22,9
+10539,2021-06-23,9
+10540,2021-06-24,9
+10541,2021-06-25,9
+10542,2021-06-26,9
+10543,2021-06-27,9
+10544,2021-06-28,9
+10545,2021-06-29,9
+10546,2021-06-30,9
+10547,2021-07-01,9
+10548,2021-07-02,9
+10549,2021-07-03,9
+10550,2021-07-04,9
+10551,2021-07-05,9
+10552,2021-07-06,9
+10553,2021-07-07,9
+10554,2021-07-08,9
+10555,2021-07-09,9
+10556,2021-07-10,9
+10557,2021-07-11,9
+10558,2021-07-12,9
+10559,2021-07-13,9
+10560,2021-07-14,9
+10561,2021-07-15,9
+10562,2021-07-16,9
+10563,2021-07-17,9
+10564,2021-07-18,9
+10565,2021-07-19,9
+10566,2021-07-20,9
+10567,2021-07-21,9
+10568,2021-07-22,9
+10569,2021-07-23,9
+10570,2021-07-24,9
+10571,2021-07-25,9
+10572,2021-07-26,9
+10573,2021-07-27,9
+10574,2021-07-28,9
+10575,2021-07-29,9
+10576,2021-07-30,9
+10577,2021-07-31,9
+10578,2021-08-01,9
+10579,2021-08-02,9
+10580,2021-08-03,9
+10581,2021-08-04,9
+10582,2021-08-05,9
+10583,2021-08-06,9
+10584,2021-08-07,9
+10585,2021-08-08,9
+10586,2021-08-09,9
+10587,2021-08-10,9
+10588,2021-08-11,9
+10589,2021-08-12,9
+10590,2021-08-13,9
+10591,2021-08-14,9
+10592,2021-08-15,9
+10593,2021-08-16,9
+10594,2021-08-17,9
+10595,2021-08-18,9
+10596,2021-08-19,9
+10597,2021-08-20,9
+10598,2021-08-21,9
+10599,2021-08-22,9
+10600,2021-08-23,9
+10601,2021-08-24,9
+10602,2021-08-25,9
+10603,2021-08-26,9
+10604,2021-08-27,9
+10605,2021-08-28,9
+10606,2021-08-29,9
+10607,2021-08-30,9
+10608,2021-08-31,9
+10609,2021-09-01,9
+10610,2021-09-02,9
+10611,2021-09-03,9
+10612,2021-09-04,9
+10613,2021-09-05,9
+10614,2021-09-06,9
+10615,2021-09-07,9
+10616,2021-09-08,9
+10617,2021-09-09,9
+10618,2021-09-10,9
+10619,2021-09-11,9
+10620,2021-09-12,9
+10621,2021-09-13,9
+10622,2021-09-14,9
+10623,2021-09-15,9
+10624,2021-09-16,9
+10625,2021-09-17,9
+10626,2021-09-18,9
+10627,2021-09-19,9
+10628,2021-09-20,9
+10629,2021-09-21,9
+10630,2021-09-22,9
+10631,2021-09-23,9
+10632,2021-09-24,9
+10633,2021-09-25,9
+10634,2021-09-26,9
+10635,2021-09-27,9
+10636,2021-09-28,9
+10637,2021-09-29,9
+10638,2021-09-30,9
+10639,2021-10-01,9
+10640,2021-10-02,9
+10641,2021-10-03,9
+10642,2021-10-04,9
+10643,2021-10-05,9
+10644,2021-10-06,9
+10645,2021-10-07,9
+10646,2021-10-08,9
+10647,2021-10-09,9
+10648,2021-10-10,9
+10649,2021-10-11,9
+10650,2021-10-12,9
+10651,2021-10-13,9
+10652,2021-10-14,9
+10653,2021-10-15,9
+10654,2021-10-16,9
+10655,2021-10-17,9
+10656,2021-10-18,9
+10657,2021-10-19,9
+10658,2021-10-20,9
+10659,2021-10-21,9
+10660,2021-10-22,9
+10661,2021-10-23,9
+10662,2021-10-24,9
+10663,2021-10-25,9
+10664,2021-10-26,9
+10665,2021-10-27,9
+10666,2021-10-28,9
+10667,2021-10-29,9
+10668,2021-10-30,9
+10669,2021-10-31,9
+10670,2021-11-01,9
+10671,2021-11-02,9
+10672,2021-11-03,9
+10673,2021-11-04,9
+10674,2021-11-05,9
+10675,2021-11-06,9
+10676,2021-11-07,9
+10677,2021-11-08,9
+10678,2021-11-09,9
+10679,2021-11-10,9
+10680,2021-11-11,9
+10681,2021-11-12,9
+10682,2021-11-13,9
+10683,2021-11-14,9
+10684,2021-11-15,9
+10685,2021-11-16,9
+10686,2021-11-17,9
+10687,2021-11-18,9
+10688,2021-11-19,9
+10689,2021-11-20,9
+10690,2021-11-21,9
+10691,2021-11-22,9
+10692,2021-11-23,9
+10693,2021-11-24,9
+10694,2021-11-25,9
+10695,2021-11-26,9
+10696,2021-11-27,9
+10697,2021-11-28,9
+10698,2021-11-29,9
+10699,2021-11-30,9
+10700,2021-12-01,9
+10701,2021-12-02,9
+10702,2021-12-03,9
+10703,2021-12-04,9
+10704,2021-12-05,9
+10705,2021-12-06,9
+10706,2021-12-07,9
+10707,2021-12-08,9
+10708,2021-12-09,9
+10709,2021-12-10,9
+10710,2021-12-11,9
+10711,2021-12-12,9
+10712,2021-12-13,9
+10713,2021-12-14,9
+10714,2021-12-15,9
+10715,2021-12-16,9
+10716,2021-12-17,9
+10717,2021-12-18,9
+10718,2021-12-19,9
+10719,2021-12-20,9
+10720,2021-12-21,9
+10721,2021-12-22,9
+10722,2021-12-23,9
+10723,2021-12-24,9
+10724,2021-12-25,9
+10725,2021-12-26,9
+10726,2021-12-27,9
+10727,2021-12-28,9
+10728,2021-12-29,9
+10729,2021-12-30,9
+10730,2021-12-31,9
+10731,2022-01-01,9
+10732,2022-01-02,9
+10733,2022-01-03,9
+10734,2022-01-04,9
+10735,2022-01-05,9
+10736,2022-01-06,9
+10737,2022-01-07,9
+10738,2022-01-08,9
+10739,2022-01-09,9
+10740,2022-01-10,9
+10741,2022-01-11,9
+10742,2022-01-12,9
+10743,2022-01-13,9
+10744,2022-01-14,9
+10745,2022-01-15,9
+10746,2022-01-16,9
+10747,2022-01-17,9
+10748,2022-01-18,9
+10749,2022-01-19,9
+10750,2022-01-20,9
+10751,2022-01-21,9
+10752,2022-01-22,9
+10753,2022-01-23,9
+10754,2022-01-24,9
+10755,2022-01-25,9
+10756,2022-01-26,9
+10757,2022-01-27,9
+10758,2022-01-28,9
+10759,2022-01-29,9
+10760,2022-01-30,9
+10761,2022-01-31,9
+10762,2022-02-01,9
+10763,2022-02-02,9
+10764,2022-02-03,9
+10765,2022-02-04,9
+10766,2022-02-05,9
+10767,2022-02-06,9
+10768,2022-02-07,9
+10769,2022-02-08,9
+10770,2022-02-09,9
+10771,2022-02-10,9
+10772,2022-02-11,9
+10773,2022-02-12,9
+10774,2022-02-13,9
+10775,2022-02-14,9
+10776,2022-02-15,9
+10777,2022-02-16,9
+10778,2022-02-17,9
+10779,2022-02-18,9
+10780,2022-02-19,9
+10781,2022-02-20,9
+10782,2022-02-21,9
+10783,2022-02-22,9
+10784,2022-02-23,9
+10785,2022-02-24,9
+10786,2022-02-25,9
+10787,2022-02-26,9
+10788,2022-02-27,9
+10789,2022-02-28,9
+10790,2022-03-01,9
+10791,2022-03-02,9
+10792,2022-03-03,9
+10793,2022-03-04,9
+10794,2022-03-05,9
+10795,2022-03-06,9
+10796,2022-03-07,9
+10797,2022-03-08,9
+10798,2022-03-09,9
+10799,2022-03-10,9
+10800,2022-03-11,9
+10801,2022-03-12,9
+10802,2022-03-13,9
+10803,2022-03-14,9
+10804,2022-03-15,9
+10805,2022-03-16,9
+10806,2022-03-17,9
+10807,2022-03-18,9
+10808,2022-03-19,9
+10809,2022-03-20,9
+10810,2022-03-21,9
+10811,2022-03-22,9
+10812,2022-03-23,9
+10813,2022-03-24,9
+10814,2022-03-25,9
+10815,2022-03-26,9
+10816,2022-03-27,9
+10817,2022-03-28,9
+10818,2022-03-29,9
+10819,2022-03-30,9
+10820,2022-03-31,9
+10821,2022-04-01,9
+10822,2022-04-02,9
+10823,2022-04-03,9
+10824,2022-04-04,9
+10825,2022-04-05,9
+10826,2022-04-06,9
+10827,2022-04-07,9
+10828,2022-04-08,9
+10829,2022-04-09,9
+10830,2022-04-10,9
+10831,2022-04-11,9
+10832,2022-04-12,9
+10833,2022-04-13,9
+10834,2022-04-14,9
+10835,2022-04-15,9
+10836,2022-04-16,9
+10837,2022-04-17,9
+10838,2022-04-18,9
+10839,2022-04-19,9
+10840,2022-04-20,9
+10841,2022-04-21,9
+10842,2022-04-22,9
+10843,2022-04-23,9
+10844,2022-04-24,9
+10845,2022-04-25,9
+10846,2022-04-26,9
+10847,2022-04-27,9
+10848,2022-04-28,9
+10849,2022-04-29,9
+10850,2022-04-30,9
+10851,2022-05-01,9
+10852,2022-05-02,9
+10853,2022-05-03,9
+10854,2022-05-04,9
+10855,2022-05-05,9
+10856,2022-05-06,9
+10857,2022-05-07,9
+10858,2022-05-08,9
+10859,2022-05-09,9
+10860,2022-05-10,9
+10861,2022-05-11,9
+10862,2022-05-12,9
+10863,2022-05-13,9
+10864,2022-05-14,9
+10865,2022-05-15,9
+10866,2022-05-16,9
+10867,2022-05-17,9
+10868,2022-05-18,9
+10869,2022-05-19,9
+10870,2022-05-20,9
+10871,2022-05-21,9
+10872,2022-05-22,9
+10873,2022-05-23,9
+10874,2022-05-24,9
+10875,2022-05-25,9
+10876,2022-05-26,9
+10877,2022-05-27,9
+10878,2022-05-28,9
+10879,2022-05-29,9
+10880,2022-05-30,9
+10881,2022-05-31,9
+10882,2022-06-01,9
+10883,2022-06-02,9
+10884,2022-06-03,9
+10885,2022-06-04,9
+10886,2022-06-05,9
+10887,2022-06-06,9
+10888,2022-06-07,9
+10889,2022-06-08,9
+10890,2022-06-09,9
+10891,2022-06-10,9
+10892,2022-06-11,9
+10893,2022-06-12,9
+10894,2022-06-13,9
+10895,2022-06-14,9
+10896,2022-06-15,9
+10897,2022-06-16,9
+10898,2022-06-17,9
+10899,2022-06-18,9
+10900,2022-06-19,9
+10901,2022-06-20,9
+10902,2022-06-21,9
+10903,2022-06-22,9
+10904,2022-06-23,9
+10905,2022-06-24,9
+10906,2022-06-25,9
+10907,2022-06-26,9
+10908,2022-06-27,9
+10909,2022-06-28,9
+10910,2022-06-29,9
+10911,2022-06-30,9
+10912,2022-07-01,9
+10913,2022-07-02,9
+10914,2022-07-03,9
+10915,2022-07-04,9
+10916,2022-07-05,9
+10917,2022-07-06,9
+10918,2022-07-07,9
+10919,2022-07-08,9
+10920,2022-07-09,9
+10921,2022-07-10,9
+10922,2022-07-11,9
+10923,2022-07-12,9
+10924,2022-07-13,9
+10925,2022-07-14,9
+10926,2022-07-15,9
+10927,2022-07-16,9
+10928,2022-07-17,9
+10929,2022-07-18,9
+10930,2022-07-19,9
+10931,2022-07-20,9
+10932,2022-07-21,9
+10933,2022-07-22,9
+10934,2022-07-23,9
+10935,2022-07-24,9
+10936,2022-07-25,9
+10937,2022-07-26,9
+10938,2022-07-27,9
+10939,2022-07-28,9
+10940,2022-07-29,9
+10941,2022-07-30,9
+10942,2022-07-31,9
+10943,2022-08-01,9
+10944,2022-08-02,9
+10945,2022-08-03,9
+10946,2022-08-04,9
+10947,2022-08-05,9
+10948,2022-08-06,9
+10949,2022-08-07,9
+10950,2022-08-08,9
+10951,2022-08-09,9
+10952,2022-08-10,9
+10953,2022-08-11,9
+10954,2022-08-12,9
+10955,2022-08-13,9
+10956,2022-08-14,9
+10957,2022-08-15,9
+10958,2022-08-16,9
+10959,2022-08-17,9
+10960,2022-08-18,9
+10961,2022-08-19,9
+10962,2022-08-20,9
+10963,2022-08-21,9
+10964,2022-08-22,9
+10965,2022-08-23,9
+10966,2022-08-24,9
+10967,2022-08-25,9
+10968,2022-08-26,9
+10969,2022-08-27,9
+10970,2022-08-28,9
+10971,2022-08-29,9
+10972,2022-08-30,9
+10973,2022-08-31,9
+10974,2022-09-01,9
+10975,2022-09-02,9
+10976,2022-09-03,9
+10977,2022-09-04,9
+10978,2022-09-05,9
+10979,2022-09-06,9
+10980,2022-09-07,9
+10981,2022-09-08,9
+10982,2022-09-09,9
+10983,2022-09-10,9
+10984,2022-09-11,9
+10985,2022-09-12,9
+10986,2022-09-13,9
+10987,2022-09-14,9
+10988,2022-09-15,9
+10989,2022-09-16,9
+10990,2022-09-17,9
+10991,2022-09-18,9
+10992,2022-09-19,9
+10993,2022-09-20,9
+10994,2022-09-21,9
+10995,2022-09-22,9
+10996,2022-09-23,9
+10997,2022-09-24,9
+10998,2022-09-25,9
+10999,2022-09-26,9
diff --git a/datasets/global/simulated_data_to_check_28D.csv b/datasets/global/simulated_data_to_check_28D.csv
index ef8ae64..8f4c269 100644
--- a/datasets/global/simulated_data_to_check_28D.csv
+++ b/datasets/global/simulated_data_to_check_28D.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-1000,2020-01-01,0
-1001,2020-01-29,0
-1002,2020-02-26,0
-1003,2020-03-25,0
-1004,2020-04-22,0
-1005,2020-05-20,0
-1006,2020-06-17,0
-1007,2020-07-15,0
-1008,2020-08-12,0
-1009,2020-09-09,0
-1010,2020-10-07,0
-1011,2020-11-04,0
-1012,2020-12-02,0
-1013,2020-12-30,0
-1014,2021-01-27,0
-1015,2021-02-24,0
-1016,2021-03-24,0
-1017,2021-04-21,0
-1018,2021-05-19,0
-1019,2021-06-16,0
-1020,2021-07-14,0
-1021,2021-08-11,0
-1022,2021-09-08,0
-1023,2021-10-06,0
-1024,2021-11-03,0
-1025,2021-12-01,0
-1026,2021-12-29,0
-1027,2022-01-26,0
-1028,2022-02-23,0
-1029,2022-03-23,0
-1030,2022-04-20,0
-1031,2022-05-18,0
-1032,2022-06-15,0
-1033,2022-07-13,0
-1034,2022-08-10,0
-1035,2022-09-07,0
-1036,2022-10-05,0
-1037,2022-11-02,0
-1038,2022-11-30,0
-1039,2022-12-28,0
-1040,2023-01-25,0
-1041,2023-02-22,0
-1042,2023-03-22,0
-1043,2023-04-19,0
-1044,2023-05-17,0
-1045,2023-06-14,0
-1046,2023-07-12,0
-1047,2023-08-09,0
-1048,2023-09-06,0
-1049,2023-10-04,0
-1050,2023-11-01,0
-1051,2023-11-29,0
-1052,2023-12-27,0
-1053,2024-01-24,0
-1054,2024-02-21,0
-1055,2024-03-20,0
-1056,2024-04-17,0
-1057,2024-05-15,0
-1058,2024-06-12,0
-1059,2024-07-10,0
-1060,2024-08-07,0
-1061,2024-09-04,0
-1062,2024-10-02,0
-1063,2024-10-30,0
-1064,2024-11-27,0
-1065,2024-12-25,0
-1066,2025-01-22,0
-1067,2025-02-19,0
-1068,2025-03-19,0
-1069,2025-04-16,0
-1070,2025-05-14,0
-1071,2025-06-11,0
-1072,2025-07-09,0
-1073,2025-08-06,0
-1074,2025-09-03,0
-1075,2025-10-01,0
-1076,2025-10-29,0
-1077,2025-11-26,0
-1078,2025-12-24,0
-1079,2026-01-21,0
-1080,2026-02-18,0
-1081,2026-03-18,0
-1082,2026-04-15,0
-1083,2026-05-13,0
-1084,2026-06-10,0
-1085,2026-07-08,0
-1086,2026-08-05,0
-1087,2026-09-02,0
-1088,2026-09-30,0
-1089,2026-10-28,0
-1090,2026-11-25,0
-1091,2026-12-23,0
-1092,2027-01-20,0
-1093,2027-02-17,0
-1094,2027-03-17,0
-1095,2027-04-14,0
-1096,2027-05-12,0
-1097,2027-06-09,0
-1098,2027-07-07,0
-1099,2027-08-04,0
-2000,2020-01-01,1
-2001,2020-01-29,1
-2002,2020-02-26,1
-2003,2020-03-25,1
-2004,2020-04-22,1
-2005,2020-05-20,1
-2006,2020-06-17,1
-2007,2020-07-15,1
-2008,2020-08-12,1
-2009,2020-09-09,1
-2010,2020-10-07,1
-2011,2020-11-04,1
-2012,2020-12-02,1
-2013,2020-12-30,1
-2014,2021-01-27,1
-2015,2021-02-24,1
-2016,2021-03-24,1
-2017,2021-04-21,1
-2018,2021-05-19,1
-2019,2021-06-16,1
-2020,2021-07-14,1
-2021,2021-08-11,1
-2022,2021-09-08,1
-2023,2021-10-06,1
-2024,2021-11-03,1
-2025,2021-12-01,1
-2026,2021-12-29,1
-2027,2022-01-26,1
-2028,2022-02-23,1
-2029,2022-03-23,1
-2030,2022-04-20,1
-2031,2022-05-18,1
-2032,2022-06-15,1
-2033,2022-07-13,1
-2034,2022-08-10,1
-2035,2022-09-07,1
-2036,2022-10-05,1
-2037,2022-11-02,1
-2038,2022-11-30,1
-2039,2022-12-28,1
-2040,2023-01-25,1
-2041,2023-02-22,1
-2042,2023-03-22,1
-2043,2023-04-19,1
-2044,2023-05-17,1
-2045,2023-06-14,1
-2046,2023-07-12,1
-2047,2023-08-09,1
-2048,2023-09-06,1
-2049,2023-10-04,1
-2050,2023-11-01,1
-2051,2023-11-29,1
-2052,2023-12-27,1
-2053,2024-01-24,1
-2054,2024-02-21,1
-2055,2024-03-20,1
-2056,2024-04-17,1
-2057,2024-05-15,1
-2058,2024-06-12,1
-2059,2024-07-10,1
-2060,2024-08-07,1
-2061,2024-09-04,1
-2062,2024-10-02,1
-2063,2024-10-30,1
-2064,2024-11-27,1
-2065,2024-12-25,1
-2066,2025-01-22,1
-2067,2025-02-19,1
-2068,2025-03-19,1
-2069,2025-04-16,1
-2070,2025-05-14,1
-2071,2025-06-11,1
-2072,2025-07-09,1
-2073,2025-08-06,1
-2074,2025-09-03,1
-2075,2025-10-01,1
-2076,2025-10-29,1
-2077,2025-11-26,1
-2078,2025-12-24,1
-2079,2026-01-21,1
-2080,2026-02-18,1
-2081,2026-03-18,1
-2082,2026-04-15,1
-2083,2026-05-13,1
-2084,2026-06-10,1
-2085,2026-07-08,1
-2086,2026-08-05,1
-2087,2026-09-02,1
-2088,2026-09-30,1
-2089,2026-10-28,1
-2090,2026-11-25,1
-2091,2026-12-23,1
-2092,2027-01-20,1
-2093,2027-02-17,1
-2094,2027-03-17,1
-2095,2027-04-14,1
-2096,2027-05-12,1
-2097,2027-06-09,1
-2098,2027-07-07,1
-2099,2027-08-04,1
-3000,2020-01-01,2
-3001,2020-01-29,2
-3002,2020-02-26,2
-3003,2020-03-25,2
-3004,2020-04-22,2
-3005,2020-05-20,2
-3006,2020-06-17,2
-3007,2020-07-15,2
-3008,2020-08-12,2
-3009,2020-09-09,2
-3010,2020-10-07,2
-3011,2020-11-04,2
-3012,2020-12-02,2
-3013,2020-12-30,2
-3014,2021-01-27,2
-3015,2021-02-24,2
-3016,2021-03-24,2
-3017,2021-04-21,2
-3018,2021-05-19,2
-3019,2021-06-16,2
-3020,2021-07-14,2
-3021,2021-08-11,2
-3022,2021-09-08,2
-3023,2021-10-06,2
-3024,2021-11-03,2
-3025,2021-12-01,2
-3026,2021-12-29,2
-3027,2022-01-26,2
-3028,2022-02-23,2
-3029,2022-03-23,2
-3030,2022-04-20,2
-3031,2022-05-18,2
-3032,2022-06-15,2
-3033,2022-07-13,2
-3034,2022-08-10,2
-3035,2022-09-07,2
-3036,2022-10-05,2
-3037,2022-11-02,2
-3038,2022-11-30,2
-3039,2022-12-28,2
-3040,2023-01-25,2
-3041,2023-02-22,2
-3042,2023-03-22,2
-3043,2023-04-19,2
-3044,2023-05-17,2
-3045,2023-06-14,2
-3046,2023-07-12,2
-3047,2023-08-09,2
-3048,2023-09-06,2
-3049,2023-10-04,2
-3050,2023-11-01,2
-3051,2023-11-29,2
-3052,2023-12-27,2
-3053,2024-01-24,2
-3054,2024-02-21,2
-3055,2024-03-20,2
-3056,2024-04-17,2
-3057,2024-05-15,2
-3058,2024-06-12,2
-3059,2024-07-10,2
-3060,2024-08-07,2
-3061,2024-09-04,2
-3062,2024-10-02,2
-3063,2024-10-30,2
-3064,2024-11-27,2
-3065,2024-12-25,2
-3066,2025-01-22,2
-3067,2025-02-19,2
-3068,2025-03-19,2
-3069,2025-04-16,2
-3070,2025-05-14,2
-3071,2025-06-11,2
-3072,2025-07-09,2
-3073,2025-08-06,2
-3074,2025-09-03,2
-3075,2025-10-01,2
-3076,2025-10-29,2
-3077,2025-11-26,2
-3078,2025-12-24,2
-3079,2026-01-21,2
-3080,2026-02-18,2
-3081,2026-03-18,2
-3082,2026-04-15,2
-3083,2026-05-13,2
-3084,2026-06-10,2
-3085,2026-07-08,2
-3086,2026-08-05,2
-3087,2026-09-02,2
-3088,2026-09-30,2
-3089,2026-10-28,2
-3090,2026-11-25,2
-3091,2026-12-23,2
-3092,2027-01-20,2
-3093,2027-02-17,2
-3094,2027-03-17,2
-3095,2027-04-14,2
-3096,2027-05-12,2
-3097,2027-06-09,2
-3098,2027-07-07,2
-3099,2027-08-04,2
-4000,2020-01-01,3
-4001,2020-01-29,3
-4002,2020-02-26,3
-4003,2020-03-25,3
-4004,2020-04-22,3
-4005,2020-05-20,3
-4006,2020-06-17,3
-4007,2020-07-15,3
-4008,2020-08-12,3
-4009,2020-09-09,3
-4010,2020-10-07,3
-4011,2020-11-04,3
-4012,2020-12-02,3
-4013,2020-12-30,3
-4014,2021-01-27,3
-4015,2021-02-24,3
-4016,2021-03-24,3
-4017,2021-04-21,3
-4018,2021-05-19,3
-4019,2021-06-16,3
-4020,2021-07-14,3
-4021,2021-08-11,3
-4022,2021-09-08,3
-4023,2021-10-06,3
-4024,2021-11-03,3
-4025,2021-12-01,3
-4026,2021-12-29,3
-4027,2022-01-26,3
-4028,2022-02-23,3
-4029,2022-03-23,3
-4030,2022-04-20,3
-4031,2022-05-18,3
-4032,2022-06-15,3
-4033,2022-07-13,3
-4034,2022-08-10,3
-4035,2022-09-07,3
-4036,2022-10-05,3
-4037,2022-11-02,3
-4038,2022-11-30,3
-4039,2022-12-28,3
-4040,2023-01-25,3
-4041,2023-02-22,3
-4042,2023-03-22,3
-4043,2023-04-19,3
-4044,2023-05-17,3
-4045,2023-06-14,3
-4046,2023-07-12,3
-4047,2023-08-09,3
-4048,2023-09-06,3
-4049,2023-10-04,3
-4050,2023-11-01,3
-4051,2023-11-29,3
-4052,2023-12-27,3
-4053,2024-01-24,3
-4054,2024-02-21,3
-4055,2024-03-20,3
-4056,2024-04-17,3
-4057,2024-05-15,3
-4058,2024-06-12,3
-4059,2024-07-10,3
-4060,2024-08-07,3
-4061,2024-09-04,3
-4062,2024-10-02,3
-4063,2024-10-30,3
-4064,2024-11-27,3
-4065,2024-12-25,3
-4066,2025-01-22,3
-4067,2025-02-19,3
-4068,2025-03-19,3
-4069,2025-04-16,3
-4070,2025-05-14,3
-4071,2025-06-11,3
-4072,2025-07-09,3
-4073,2025-08-06,3
-4074,2025-09-03,3
-4075,2025-10-01,3
-4076,2025-10-29,3
-4077,2025-11-26,3
-4078,2025-12-24,3
-4079,2026-01-21,3
-4080,2026-02-18,3
-4081,2026-03-18,3
-4082,2026-04-15,3
-4083,2026-05-13,3
-4084,2026-06-10,3
-4085,2026-07-08,3
-4086,2026-08-05,3
-4087,2026-09-02,3
-4088,2026-09-30,3
-4089,2026-10-28,3
-4090,2026-11-25,3
-4091,2026-12-23,3
-4092,2027-01-20,3
-4093,2027-02-17,3
-4094,2027-03-17,3
-4095,2027-04-14,3
-4096,2027-05-12,3
-4097,2027-06-09,3
-4098,2027-07-07,3
-4099,2027-08-04,3
-5000,2020-01-01,4
-5001,2020-01-29,4
-5002,2020-02-26,4
-5003,2020-03-25,4
-5004,2020-04-22,4
-5005,2020-05-20,4
-5006,2020-06-17,4
-5007,2020-07-15,4
-5008,2020-08-12,4
-5009,2020-09-09,4
-5010,2020-10-07,4
-5011,2020-11-04,4
-5012,2020-12-02,4
-5013,2020-12-30,4
-5014,2021-01-27,4
-5015,2021-02-24,4
-5016,2021-03-24,4
-5017,2021-04-21,4
-5018,2021-05-19,4
-5019,2021-06-16,4
-5020,2021-07-14,4
-5021,2021-08-11,4
-5022,2021-09-08,4
-5023,2021-10-06,4
-5024,2021-11-03,4
-5025,2021-12-01,4
-5026,2021-12-29,4
-5027,2022-01-26,4
-5028,2022-02-23,4
-5029,2022-03-23,4
-5030,2022-04-20,4
-5031,2022-05-18,4
-5032,2022-06-15,4
-5033,2022-07-13,4
-5034,2022-08-10,4
-5035,2022-09-07,4
-5036,2022-10-05,4
-5037,2022-11-02,4
-5038,2022-11-30,4
-5039,2022-12-28,4
-5040,2023-01-25,4
-5041,2023-02-22,4
-5042,2023-03-22,4
-5043,2023-04-19,4
-5044,2023-05-17,4
-5045,2023-06-14,4
-5046,2023-07-12,4
-5047,2023-08-09,4
-5048,2023-09-06,4
-5049,2023-10-04,4
-5050,2023-11-01,4
-5051,2023-11-29,4
-5052,2023-12-27,4
-5053,2024-01-24,4
-5054,2024-02-21,4
-5055,2024-03-20,4
-5056,2024-04-17,4
-5057,2024-05-15,4
-5058,2024-06-12,4
-5059,2024-07-10,4
-5060,2024-08-07,4
-5061,2024-09-04,4
-5062,2024-10-02,4
-5063,2024-10-30,4
-5064,2024-11-27,4
-5065,2024-12-25,4
-5066,2025-01-22,4
-5067,2025-02-19,4
-5068,2025-03-19,4
-5069,2025-04-16,4
-5070,2025-05-14,4
-5071,2025-06-11,4
-5072,2025-07-09,4
-5073,2025-08-06,4
-5074,2025-09-03,4
-5075,2025-10-01,4
-5076,2025-10-29,4
-5077,2025-11-26,4
-5078,2025-12-24,4
-5079,2026-01-21,4
-5080,2026-02-18,4
-5081,2026-03-18,4
-5082,2026-04-15,4
-5083,2026-05-13,4
-5084,2026-06-10,4
-5085,2026-07-08,4
-5086,2026-08-05,4
-5087,2026-09-02,4
-5088,2026-09-30,4
-5089,2026-10-28,4
-5090,2026-11-25,4
-5091,2026-12-23,4
-5092,2027-01-20,4
-5093,2027-02-17,4
-5094,2027-03-17,4
-5095,2027-04-14,4
-5096,2027-05-12,4
-5097,2027-06-09,4
-5098,2027-07-07,4
-5099,2027-08-04,4
-6000,2020-01-01,5
-6001,2020-01-29,5
-6002,2020-02-26,5
-6003,2020-03-25,5
-6004,2020-04-22,5
-6005,2020-05-20,5
-6006,2020-06-17,5
-6007,2020-07-15,5
-6008,2020-08-12,5
-6009,2020-09-09,5
-6010,2020-10-07,5
-6011,2020-11-04,5
-6012,2020-12-02,5
-6013,2020-12-30,5
-6014,2021-01-27,5
-6015,2021-02-24,5
-6016,2021-03-24,5
-6017,2021-04-21,5
-6018,2021-05-19,5
-6019,2021-06-16,5
-6020,2021-07-14,5
-6021,2021-08-11,5
-6022,2021-09-08,5
-6023,2021-10-06,5
-6024,2021-11-03,5
-6025,2021-12-01,5
-6026,2021-12-29,5
-6027,2022-01-26,5
-6028,2022-02-23,5
-6029,2022-03-23,5
-6030,2022-04-20,5
-6031,2022-05-18,5
-6032,2022-06-15,5
-6033,2022-07-13,5
-6034,2022-08-10,5
-6035,2022-09-07,5
-6036,2022-10-05,5
-6037,2022-11-02,5
-6038,2022-11-30,5
-6039,2022-12-28,5
-6040,2023-01-25,5
-6041,2023-02-22,5
-6042,2023-03-22,5
-6043,2023-04-19,5
-6044,2023-05-17,5
-6045,2023-06-14,5
-6046,2023-07-12,5
-6047,2023-08-09,5
-6048,2023-09-06,5
-6049,2023-10-04,5
-6050,2023-11-01,5
-6051,2023-11-29,5
-6052,2023-12-27,5
-6053,2024-01-24,5
-6054,2024-02-21,5
-6055,2024-03-20,5
-6056,2024-04-17,5
-6057,2024-05-15,5
-6058,2024-06-12,5
-6059,2024-07-10,5
-6060,2024-08-07,5
-6061,2024-09-04,5
-6062,2024-10-02,5
-6063,2024-10-30,5
-6064,2024-11-27,5
-6065,2024-12-25,5
-6066,2025-01-22,5
-6067,2025-02-19,5
-6068,2025-03-19,5
-6069,2025-04-16,5
-6070,2025-05-14,5
-6071,2025-06-11,5
-6072,2025-07-09,5
-6073,2025-08-06,5
-6074,2025-09-03,5
-6075,2025-10-01,5
-6076,2025-10-29,5
-6077,2025-11-26,5
-6078,2025-12-24,5
-6079,2026-01-21,5
-6080,2026-02-18,5
-6081,2026-03-18,5
-6082,2026-04-15,5
-6083,2026-05-13,5
-6084,2026-06-10,5
-6085,2026-07-08,5
-6086,2026-08-05,5
-6087,2026-09-02,5
-6088,2026-09-30,5
-6089,2026-10-28,5
-6090,2026-11-25,5
-6091,2026-12-23,5
-6092,2027-01-20,5
-6093,2027-02-17,5
-6094,2027-03-17,5
-6095,2027-04-14,5
-6096,2027-05-12,5
-6097,2027-06-09,5
-6098,2027-07-07,5
-6099,2027-08-04,5
-7000,2020-01-01,6
-7001,2020-01-29,6
-7002,2020-02-26,6
-7003,2020-03-25,6
-7004,2020-04-22,6
-7005,2020-05-20,6
-7006,2020-06-17,6
-7007,2020-07-15,6
-7008,2020-08-12,6
-7009,2020-09-09,6
-7010,2020-10-07,6
-7011,2020-11-04,6
-7012,2020-12-02,6
-7013,2020-12-30,6
-7014,2021-01-27,6
-7015,2021-02-24,6
-7016,2021-03-24,6
-7017,2021-04-21,6
-7018,2021-05-19,6
-7019,2021-06-16,6
-7020,2021-07-14,6
-7021,2021-08-11,6
-7022,2021-09-08,6
-7023,2021-10-06,6
-7024,2021-11-03,6
-7025,2021-12-01,6
-7026,2021-12-29,6
-7027,2022-01-26,6
-7028,2022-02-23,6
-7029,2022-03-23,6
-7030,2022-04-20,6
-7031,2022-05-18,6
-7032,2022-06-15,6
-7033,2022-07-13,6
-7034,2022-08-10,6
-7035,2022-09-07,6
-7036,2022-10-05,6
-7037,2022-11-02,6
-7038,2022-11-30,6
-7039,2022-12-28,6
-7040,2023-01-25,6
-7041,2023-02-22,6
-7042,2023-03-22,6
-7043,2023-04-19,6
-7044,2023-05-17,6
-7045,2023-06-14,6
-7046,2023-07-12,6
-7047,2023-08-09,6
-7048,2023-09-06,6
-7049,2023-10-04,6
-7050,2023-11-01,6
-7051,2023-11-29,6
-7052,2023-12-27,6
-7053,2024-01-24,6
-7054,2024-02-21,6
-7055,2024-03-20,6
-7056,2024-04-17,6
-7057,2024-05-15,6
-7058,2024-06-12,6
-7059,2024-07-10,6
-7060,2024-08-07,6
-7061,2024-09-04,6
-7062,2024-10-02,6
-7063,2024-10-30,6
-7064,2024-11-27,6
-7065,2024-12-25,6
-7066,2025-01-22,6
-7067,2025-02-19,6
-7068,2025-03-19,6
-7069,2025-04-16,6
-7070,2025-05-14,6
-7071,2025-06-11,6
-7072,2025-07-09,6
-7073,2025-08-06,6
-7074,2025-09-03,6
-7075,2025-10-01,6
-7076,2025-10-29,6
-7077,2025-11-26,6
-7078,2025-12-24,6
-7079,2026-01-21,6
-7080,2026-02-18,6
-7081,2026-03-18,6
-7082,2026-04-15,6
-7083,2026-05-13,6
-7084,2026-06-10,6
-7085,2026-07-08,6
-7086,2026-08-05,6
-7087,2026-09-02,6
-7088,2026-09-30,6
-7089,2026-10-28,6
-7090,2026-11-25,6
-7091,2026-12-23,6
-7092,2027-01-20,6
-7093,2027-02-17,6
-7094,2027-03-17,6
-7095,2027-04-14,6
-7096,2027-05-12,6
-7097,2027-06-09,6
-7098,2027-07-07,6
-7099,2027-08-04,6
-8000,2020-01-01,7
-8001,2020-01-29,7
-8002,2020-02-26,7
-8003,2020-03-25,7
-8004,2020-04-22,7
-8005,2020-05-20,7
-8006,2020-06-17,7
-8007,2020-07-15,7
-8008,2020-08-12,7
-8009,2020-09-09,7
-8010,2020-10-07,7
-8011,2020-11-04,7
-8012,2020-12-02,7
-8013,2020-12-30,7
-8014,2021-01-27,7
-8015,2021-02-24,7
-8016,2021-03-24,7
-8017,2021-04-21,7
-8018,2021-05-19,7
-8019,2021-06-16,7
-8020,2021-07-14,7
-8021,2021-08-11,7
-8022,2021-09-08,7
-8023,2021-10-06,7
-8024,2021-11-03,7
-8025,2021-12-01,7
-8026,2021-12-29,7
-8027,2022-01-26,7
-8028,2022-02-23,7
-8029,2022-03-23,7
-8030,2022-04-20,7
-8031,2022-05-18,7
-8032,2022-06-15,7
-8033,2022-07-13,7
-8034,2022-08-10,7
-8035,2022-09-07,7
-8036,2022-10-05,7
-8037,2022-11-02,7
-8038,2022-11-30,7
-8039,2022-12-28,7
-8040,2023-01-25,7
-8041,2023-02-22,7
-8042,2023-03-22,7
-8043,2023-04-19,7
-8044,2023-05-17,7
-8045,2023-06-14,7
-8046,2023-07-12,7
-8047,2023-08-09,7
-8048,2023-09-06,7
-8049,2023-10-04,7
-8050,2023-11-01,7
-8051,2023-11-29,7
-8052,2023-12-27,7
-8053,2024-01-24,7
-8054,2024-02-21,7
-8055,2024-03-20,7
-8056,2024-04-17,7
-8057,2024-05-15,7
-8058,2024-06-12,7
-8059,2024-07-10,7
-8060,2024-08-07,7
-8061,2024-09-04,7
-8062,2024-10-02,7
-8063,2024-10-30,7
-8064,2024-11-27,7
-8065,2024-12-25,7
-8066,2025-01-22,7
-8067,2025-02-19,7
-8068,2025-03-19,7
-8069,2025-04-16,7
-8070,2025-05-14,7
-8071,2025-06-11,7
-8072,2025-07-09,7
-8073,2025-08-06,7
-8074,2025-09-03,7
-8075,2025-10-01,7
-8076,2025-10-29,7
-8077,2025-11-26,7
-8078,2025-12-24,7
-8079,2026-01-21,7
-8080,2026-02-18,7
-8081,2026-03-18,7
-8082,2026-04-15,7
-8083,2026-05-13,7
-8084,2026-06-10,7
-8085,2026-07-08,7
-8086,2026-08-05,7
-8087,2026-09-02,7
-8088,2026-09-30,7
-8089,2026-10-28,7
-8090,2026-11-25,7
-8091,2026-12-23,7
-8092,2027-01-20,7
-8093,2027-02-17,7
-8094,2027-03-17,7
-8095,2027-04-14,7
-8096,2027-05-12,7
-8097,2027-06-09,7
-8098,2027-07-07,7
-8099,2027-08-04,7
-9000,2020-01-01,8
-9001,2020-01-29,8
-9002,2020-02-26,8
-9003,2020-03-25,8
-9004,2020-04-22,8
-9005,2020-05-20,8
-9006,2020-06-17,8
-9007,2020-07-15,8
-9008,2020-08-12,8
-9009,2020-09-09,8
-9010,2020-10-07,8
-9011,2020-11-04,8
-9012,2020-12-02,8
-9013,2020-12-30,8
-9014,2021-01-27,8
-9015,2021-02-24,8
-9016,2021-03-24,8
-9017,2021-04-21,8
-9018,2021-05-19,8
-9019,2021-06-16,8
-9020,2021-07-14,8
-9021,2021-08-11,8
-9022,2021-09-08,8
-9023,2021-10-06,8
-9024,2021-11-03,8
-9025,2021-12-01,8
-9026,2021-12-29,8
-9027,2022-01-26,8
-9028,2022-02-23,8
-9029,2022-03-23,8
-9030,2022-04-20,8
-9031,2022-05-18,8
-9032,2022-06-15,8
-9033,2022-07-13,8
-9034,2022-08-10,8
-9035,2022-09-07,8
-9036,2022-10-05,8
-9037,2022-11-02,8
-9038,2022-11-30,8
-9039,2022-12-28,8
-9040,2023-01-25,8
-9041,2023-02-22,8
-9042,2023-03-22,8
-9043,2023-04-19,8
-9044,2023-05-17,8
-9045,2023-06-14,8
-9046,2023-07-12,8
-9047,2023-08-09,8
-9048,2023-09-06,8
-9049,2023-10-04,8
-9050,2023-11-01,8
-9051,2023-11-29,8
-9052,2023-12-27,8
-9053,2024-01-24,8
-9054,2024-02-21,8
-9055,2024-03-20,8
-9056,2024-04-17,8
-9057,2024-05-15,8
-9058,2024-06-12,8
-9059,2024-07-10,8
-9060,2024-08-07,8
-9061,2024-09-04,8
-9062,2024-10-02,8
-9063,2024-10-30,8
-9064,2024-11-27,8
-9065,2024-12-25,8
-9066,2025-01-22,8
-9067,2025-02-19,8
-9068,2025-03-19,8
-9069,2025-04-16,8
-9070,2025-05-14,8
-9071,2025-06-11,8
-9072,2025-07-09,8
-9073,2025-08-06,8
-9074,2025-09-03,8
-9075,2025-10-01,8
-9076,2025-10-29,8
-9077,2025-11-26,8
-9078,2025-12-24,8
-9079,2026-01-21,8
-9080,2026-02-18,8
-9081,2026-03-18,8
-9082,2026-04-15,8
-9083,2026-05-13,8
-9084,2026-06-10,8
-9085,2026-07-08,8
-9086,2026-08-05,8
-9087,2026-09-02,8
-9088,2026-09-30,8
-9089,2026-10-28,8
-9090,2026-11-25,8
-9091,2026-12-23,8
-9092,2027-01-20,8
-9093,2027-02-17,8
-9094,2027-03-17,8
-9095,2027-04-14,8
-9096,2027-05-12,8
-9097,2027-06-09,8
-9098,2027-07-07,8
-9099,2027-08-04,8
-10000,2020-01-01,9
-10001,2020-01-29,9
-10002,2020-02-26,9
-10003,2020-03-25,9
-10004,2020-04-22,9
-10005,2020-05-20,9
-10006,2020-06-17,9
-10007,2020-07-15,9
-10008,2020-08-12,9
-10009,2020-09-09,9
-10010,2020-10-07,9
-10011,2020-11-04,9
-10012,2020-12-02,9
-10013,2020-12-30,9
-10014,2021-01-27,9
-10015,2021-02-24,9
-10016,2021-03-24,9
-10017,2021-04-21,9
-10018,2021-05-19,9
-10019,2021-06-16,9
-10020,2021-07-14,9
-10021,2021-08-11,9
-10022,2021-09-08,9
-10023,2021-10-06,9
-10024,2021-11-03,9
-10025,2021-12-01,9
-10026,2021-12-29,9
-10027,2022-01-26,9
-10028,2022-02-23,9
-10029,2022-03-23,9
-10030,2022-04-20,9
-10031,2022-05-18,9
-10032,2022-06-15,9
-10033,2022-07-13,9
-10034,2022-08-10,9
-10035,2022-09-07,9
-10036,2022-10-05,9
-10037,2022-11-02,9
-10038,2022-11-30,9
-10039,2022-12-28,9
-10040,2023-01-25,9
-10041,2023-02-22,9
-10042,2023-03-22,9
-10043,2023-04-19,9
-10044,2023-05-17,9
-10045,2023-06-14,9
-10046,2023-07-12,9
-10047,2023-08-09,9
-10048,2023-09-06,9
-10049,2023-10-04,9
-10050,2023-11-01,9
-10051,2023-11-29,9
-10052,2023-12-27,9
-10053,2024-01-24,9
-10054,2024-02-21,9
-10055,2024-03-20,9
-10056,2024-04-17,9
-10057,2024-05-15,9
-10058,2024-06-12,9
-10059,2024-07-10,9
-10060,2024-08-07,9
-10061,2024-09-04,9
-10062,2024-10-02,9
-10063,2024-10-30,9
-10064,2024-11-27,9
-10065,2024-12-25,9
-10066,2025-01-22,9
-10067,2025-02-19,9
-10068,2025-03-19,9
-10069,2025-04-16,9
-10070,2025-05-14,9
-10071,2025-06-11,9
-10072,2025-07-09,9
-10073,2025-08-06,9
-10074,2025-09-03,9
-10075,2025-10-01,9
-10076,2025-10-29,9
-10077,2025-11-26,9
-10078,2025-12-24,9
-10079,2026-01-21,9
-10080,2026-02-18,9
-10081,2026-03-18,9
-10082,2026-04-15,9
-10083,2026-05-13,9
-10084,2026-06-10,9
-10085,2026-07-08,9
-10086,2026-08-05,9
-10087,2026-09-02,9
-10088,2026-09-30,9
-10089,2026-10-28,9
-10090,2026-11-25,9
-10091,2026-12-23,9
-10092,2027-01-20,9
-10093,2027-02-17,9
-10094,2027-03-17,9
-10095,2027-04-14,9
-10096,2027-05-12,9
-10097,2027-06-09,9
-10098,2027-07-07,9
-10099,2027-08-04,9
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-29,0
+1002,2020-02-26,0
+1003,2020-03-25,0
+1004,2020-04-22,0
+1005,2020-05-20,0
+1006,2020-06-17,0
+1007,2020-07-15,0
+1008,2020-08-12,0
+1009,2020-09-09,0
+1010,2020-10-07,0
+1011,2020-11-04,0
+1012,2020-12-02,0
+1013,2020-12-30,0
+1014,2021-01-27,0
+1015,2021-02-24,0
+1016,2021-03-24,0
+1017,2021-04-21,0
+1018,2021-05-19,0
+1019,2021-06-16,0
+1020,2021-07-14,0
+1021,2021-08-11,0
+1022,2021-09-08,0
+1023,2021-10-06,0
+1024,2021-11-03,0
+1025,2021-12-01,0
+1026,2021-12-29,0
+1027,2022-01-26,0
+1028,2022-02-23,0
+1029,2022-03-23,0
+1030,2022-04-20,0
+1031,2022-05-18,0
+1032,2022-06-15,0
+1033,2022-07-13,0
+1034,2022-08-10,0
+1035,2022-09-07,0
+1036,2022-10-05,0
+1037,2022-11-02,0
+1038,2022-11-30,0
+1039,2022-12-28,0
+1040,2023-01-25,0
+1041,2023-02-22,0
+1042,2023-03-22,0
+1043,2023-04-19,0
+1044,2023-05-17,0
+1045,2023-06-14,0
+1046,2023-07-12,0
+1047,2023-08-09,0
+1048,2023-09-06,0
+1049,2023-10-04,0
+1050,2023-11-01,0
+1051,2023-11-29,0
+1052,2023-12-27,0
+1053,2024-01-24,0
+1054,2024-02-21,0
+1055,2024-03-20,0
+1056,2024-04-17,0
+1057,2024-05-15,0
+1058,2024-06-12,0
+1059,2024-07-10,0
+1060,2024-08-07,0
+1061,2024-09-04,0
+1062,2024-10-02,0
+1063,2024-10-30,0
+1064,2024-11-27,0
+1065,2024-12-25,0
+1066,2025-01-22,0
+1067,2025-02-19,0
+1068,2025-03-19,0
+1069,2025-04-16,0
+1070,2025-05-14,0
+1071,2025-06-11,0
+1072,2025-07-09,0
+1073,2025-08-06,0
+1074,2025-09-03,0
+1075,2025-10-01,0
+1076,2025-10-29,0
+1077,2025-11-26,0
+1078,2025-12-24,0
+1079,2026-01-21,0
+1080,2026-02-18,0
+1081,2026-03-18,0
+1082,2026-04-15,0
+1083,2026-05-13,0
+1084,2026-06-10,0
+1085,2026-07-08,0
+1086,2026-08-05,0
+1087,2026-09-02,0
+1088,2026-09-30,0
+1089,2026-10-28,0
+1090,2026-11-25,0
+1091,2026-12-23,0
+1092,2027-01-20,0
+1093,2027-02-17,0
+1094,2027-03-17,0
+1095,2027-04-14,0
+1096,2027-05-12,0
+1097,2027-06-09,0
+1098,2027-07-07,0
+1099,2027-08-04,0
+2000,2020-01-01,1
+2001,2020-01-29,1
+2002,2020-02-26,1
+2003,2020-03-25,1
+2004,2020-04-22,1
+2005,2020-05-20,1
+2006,2020-06-17,1
+2007,2020-07-15,1
+2008,2020-08-12,1
+2009,2020-09-09,1
+2010,2020-10-07,1
+2011,2020-11-04,1
+2012,2020-12-02,1
+2013,2020-12-30,1
+2014,2021-01-27,1
+2015,2021-02-24,1
+2016,2021-03-24,1
+2017,2021-04-21,1
+2018,2021-05-19,1
+2019,2021-06-16,1
+2020,2021-07-14,1
+2021,2021-08-11,1
+2022,2021-09-08,1
+2023,2021-10-06,1
+2024,2021-11-03,1
+2025,2021-12-01,1
+2026,2021-12-29,1
+2027,2022-01-26,1
+2028,2022-02-23,1
+2029,2022-03-23,1
+2030,2022-04-20,1
+2031,2022-05-18,1
+2032,2022-06-15,1
+2033,2022-07-13,1
+2034,2022-08-10,1
+2035,2022-09-07,1
+2036,2022-10-05,1
+2037,2022-11-02,1
+2038,2022-11-30,1
+2039,2022-12-28,1
+2040,2023-01-25,1
+2041,2023-02-22,1
+2042,2023-03-22,1
+2043,2023-04-19,1
+2044,2023-05-17,1
+2045,2023-06-14,1
+2046,2023-07-12,1
+2047,2023-08-09,1
+2048,2023-09-06,1
+2049,2023-10-04,1
+2050,2023-11-01,1
+2051,2023-11-29,1
+2052,2023-12-27,1
+2053,2024-01-24,1
+2054,2024-02-21,1
+2055,2024-03-20,1
+2056,2024-04-17,1
+2057,2024-05-15,1
+2058,2024-06-12,1
+2059,2024-07-10,1
+2060,2024-08-07,1
+2061,2024-09-04,1
+2062,2024-10-02,1
+2063,2024-10-30,1
+2064,2024-11-27,1
+2065,2024-12-25,1
+2066,2025-01-22,1
+2067,2025-02-19,1
+2068,2025-03-19,1
+2069,2025-04-16,1
+2070,2025-05-14,1
+2071,2025-06-11,1
+2072,2025-07-09,1
+2073,2025-08-06,1
+2074,2025-09-03,1
+2075,2025-10-01,1
+2076,2025-10-29,1
+2077,2025-11-26,1
+2078,2025-12-24,1
+2079,2026-01-21,1
+2080,2026-02-18,1
+2081,2026-03-18,1
+2082,2026-04-15,1
+2083,2026-05-13,1
+2084,2026-06-10,1
+2085,2026-07-08,1
+2086,2026-08-05,1
+2087,2026-09-02,1
+2088,2026-09-30,1
+2089,2026-10-28,1
+2090,2026-11-25,1
+2091,2026-12-23,1
+2092,2027-01-20,1
+2093,2027-02-17,1
+2094,2027-03-17,1
+2095,2027-04-14,1
+2096,2027-05-12,1
+2097,2027-06-09,1
+2098,2027-07-07,1
+2099,2027-08-04,1
+3000,2020-01-01,2
+3001,2020-01-29,2
+3002,2020-02-26,2
+3003,2020-03-25,2
+3004,2020-04-22,2
+3005,2020-05-20,2
+3006,2020-06-17,2
+3007,2020-07-15,2
+3008,2020-08-12,2
+3009,2020-09-09,2
+3010,2020-10-07,2
+3011,2020-11-04,2
+3012,2020-12-02,2
+3013,2020-12-30,2
+3014,2021-01-27,2
+3015,2021-02-24,2
+3016,2021-03-24,2
+3017,2021-04-21,2
+3018,2021-05-19,2
+3019,2021-06-16,2
+3020,2021-07-14,2
+3021,2021-08-11,2
+3022,2021-09-08,2
+3023,2021-10-06,2
+3024,2021-11-03,2
+3025,2021-12-01,2
+3026,2021-12-29,2
+3027,2022-01-26,2
+3028,2022-02-23,2
+3029,2022-03-23,2
+3030,2022-04-20,2
+3031,2022-05-18,2
+3032,2022-06-15,2
+3033,2022-07-13,2
+3034,2022-08-10,2
+3035,2022-09-07,2
+3036,2022-10-05,2
+3037,2022-11-02,2
+3038,2022-11-30,2
+3039,2022-12-28,2
+3040,2023-01-25,2
+3041,2023-02-22,2
+3042,2023-03-22,2
+3043,2023-04-19,2
+3044,2023-05-17,2
+3045,2023-06-14,2
+3046,2023-07-12,2
+3047,2023-08-09,2
+3048,2023-09-06,2
+3049,2023-10-04,2
+3050,2023-11-01,2
+3051,2023-11-29,2
+3052,2023-12-27,2
+3053,2024-01-24,2
+3054,2024-02-21,2
+3055,2024-03-20,2
+3056,2024-04-17,2
+3057,2024-05-15,2
+3058,2024-06-12,2
+3059,2024-07-10,2
+3060,2024-08-07,2
+3061,2024-09-04,2
+3062,2024-10-02,2
+3063,2024-10-30,2
+3064,2024-11-27,2
+3065,2024-12-25,2
+3066,2025-01-22,2
+3067,2025-02-19,2
+3068,2025-03-19,2
+3069,2025-04-16,2
+3070,2025-05-14,2
+3071,2025-06-11,2
+3072,2025-07-09,2
+3073,2025-08-06,2
+3074,2025-09-03,2
+3075,2025-10-01,2
+3076,2025-10-29,2
+3077,2025-11-26,2
+3078,2025-12-24,2
+3079,2026-01-21,2
+3080,2026-02-18,2
+3081,2026-03-18,2
+3082,2026-04-15,2
+3083,2026-05-13,2
+3084,2026-06-10,2
+3085,2026-07-08,2
+3086,2026-08-05,2
+3087,2026-09-02,2
+3088,2026-09-30,2
+3089,2026-10-28,2
+3090,2026-11-25,2
+3091,2026-12-23,2
+3092,2027-01-20,2
+3093,2027-02-17,2
+3094,2027-03-17,2
+3095,2027-04-14,2
+3096,2027-05-12,2
+3097,2027-06-09,2
+3098,2027-07-07,2
+3099,2027-08-04,2
+4000,2020-01-01,3
+4001,2020-01-29,3
+4002,2020-02-26,3
+4003,2020-03-25,3
+4004,2020-04-22,3
+4005,2020-05-20,3
+4006,2020-06-17,3
+4007,2020-07-15,3
+4008,2020-08-12,3
+4009,2020-09-09,3
+4010,2020-10-07,3
+4011,2020-11-04,3
+4012,2020-12-02,3
+4013,2020-12-30,3
+4014,2021-01-27,3
+4015,2021-02-24,3
+4016,2021-03-24,3
+4017,2021-04-21,3
+4018,2021-05-19,3
+4019,2021-06-16,3
+4020,2021-07-14,3
+4021,2021-08-11,3
+4022,2021-09-08,3
+4023,2021-10-06,3
+4024,2021-11-03,3
+4025,2021-12-01,3
+4026,2021-12-29,3
+4027,2022-01-26,3
+4028,2022-02-23,3
+4029,2022-03-23,3
+4030,2022-04-20,3
+4031,2022-05-18,3
+4032,2022-06-15,3
+4033,2022-07-13,3
+4034,2022-08-10,3
+4035,2022-09-07,3
+4036,2022-10-05,3
+4037,2022-11-02,3
+4038,2022-11-30,3
+4039,2022-12-28,3
+4040,2023-01-25,3
+4041,2023-02-22,3
+4042,2023-03-22,3
+4043,2023-04-19,3
+4044,2023-05-17,3
+4045,2023-06-14,3
+4046,2023-07-12,3
+4047,2023-08-09,3
+4048,2023-09-06,3
+4049,2023-10-04,3
+4050,2023-11-01,3
+4051,2023-11-29,3
+4052,2023-12-27,3
+4053,2024-01-24,3
+4054,2024-02-21,3
+4055,2024-03-20,3
+4056,2024-04-17,3
+4057,2024-05-15,3
+4058,2024-06-12,3
+4059,2024-07-10,3
+4060,2024-08-07,3
+4061,2024-09-04,3
+4062,2024-10-02,3
+4063,2024-10-30,3
+4064,2024-11-27,3
+4065,2024-12-25,3
+4066,2025-01-22,3
+4067,2025-02-19,3
+4068,2025-03-19,3
+4069,2025-04-16,3
+4070,2025-05-14,3
+4071,2025-06-11,3
+4072,2025-07-09,3
+4073,2025-08-06,3
+4074,2025-09-03,3
+4075,2025-10-01,3
+4076,2025-10-29,3
+4077,2025-11-26,3
+4078,2025-12-24,3
+4079,2026-01-21,3
+4080,2026-02-18,3
+4081,2026-03-18,3
+4082,2026-04-15,3
+4083,2026-05-13,3
+4084,2026-06-10,3
+4085,2026-07-08,3
+4086,2026-08-05,3
+4087,2026-09-02,3
+4088,2026-09-30,3
+4089,2026-10-28,3
+4090,2026-11-25,3
+4091,2026-12-23,3
+4092,2027-01-20,3
+4093,2027-02-17,3
+4094,2027-03-17,3
+4095,2027-04-14,3
+4096,2027-05-12,3
+4097,2027-06-09,3
+4098,2027-07-07,3
+4099,2027-08-04,3
+5000,2020-01-01,4
+5001,2020-01-29,4
+5002,2020-02-26,4
+5003,2020-03-25,4
+5004,2020-04-22,4
+5005,2020-05-20,4
+5006,2020-06-17,4
+5007,2020-07-15,4
+5008,2020-08-12,4
+5009,2020-09-09,4
+5010,2020-10-07,4
+5011,2020-11-04,4
+5012,2020-12-02,4
+5013,2020-12-30,4
+5014,2021-01-27,4
+5015,2021-02-24,4
+5016,2021-03-24,4
+5017,2021-04-21,4
+5018,2021-05-19,4
+5019,2021-06-16,4
+5020,2021-07-14,4
+5021,2021-08-11,4
+5022,2021-09-08,4
+5023,2021-10-06,4
+5024,2021-11-03,4
+5025,2021-12-01,4
+5026,2021-12-29,4
+5027,2022-01-26,4
+5028,2022-02-23,4
+5029,2022-03-23,4
+5030,2022-04-20,4
+5031,2022-05-18,4
+5032,2022-06-15,4
+5033,2022-07-13,4
+5034,2022-08-10,4
+5035,2022-09-07,4
+5036,2022-10-05,4
+5037,2022-11-02,4
+5038,2022-11-30,4
+5039,2022-12-28,4
+5040,2023-01-25,4
+5041,2023-02-22,4
+5042,2023-03-22,4
+5043,2023-04-19,4
+5044,2023-05-17,4
+5045,2023-06-14,4
+5046,2023-07-12,4
+5047,2023-08-09,4
+5048,2023-09-06,4
+5049,2023-10-04,4
+5050,2023-11-01,4
+5051,2023-11-29,4
+5052,2023-12-27,4
+5053,2024-01-24,4
+5054,2024-02-21,4
+5055,2024-03-20,4
+5056,2024-04-17,4
+5057,2024-05-15,4
+5058,2024-06-12,4
+5059,2024-07-10,4
+5060,2024-08-07,4
+5061,2024-09-04,4
+5062,2024-10-02,4
+5063,2024-10-30,4
+5064,2024-11-27,4
+5065,2024-12-25,4
+5066,2025-01-22,4
+5067,2025-02-19,4
+5068,2025-03-19,4
+5069,2025-04-16,4
+5070,2025-05-14,4
+5071,2025-06-11,4
+5072,2025-07-09,4
+5073,2025-08-06,4
+5074,2025-09-03,4
+5075,2025-10-01,4
+5076,2025-10-29,4
+5077,2025-11-26,4
+5078,2025-12-24,4
+5079,2026-01-21,4
+5080,2026-02-18,4
+5081,2026-03-18,4
+5082,2026-04-15,4
+5083,2026-05-13,4
+5084,2026-06-10,4
+5085,2026-07-08,4
+5086,2026-08-05,4
+5087,2026-09-02,4
+5088,2026-09-30,4
+5089,2026-10-28,4
+5090,2026-11-25,4
+5091,2026-12-23,4
+5092,2027-01-20,4
+5093,2027-02-17,4
+5094,2027-03-17,4
+5095,2027-04-14,4
+5096,2027-05-12,4
+5097,2027-06-09,4
+5098,2027-07-07,4
+5099,2027-08-04,4
+6000,2020-01-01,5
+6001,2020-01-29,5
+6002,2020-02-26,5
+6003,2020-03-25,5
+6004,2020-04-22,5
+6005,2020-05-20,5
+6006,2020-06-17,5
+6007,2020-07-15,5
+6008,2020-08-12,5
+6009,2020-09-09,5
+6010,2020-10-07,5
+6011,2020-11-04,5
+6012,2020-12-02,5
+6013,2020-12-30,5
+6014,2021-01-27,5
+6015,2021-02-24,5
+6016,2021-03-24,5
+6017,2021-04-21,5
+6018,2021-05-19,5
+6019,2021-06-16,5
+6020,2021-07-14,5
+6021,2021-08-11,5
+6022,2021-09-08,5
+6023,2021-10-06,5
+6024,2021-11-03,5
+6025,2021-12-01,5
+6026,2021-12-29,5
+6027,2022-01-26,5
+6028,2022-02-23,5
+6029,2022-03-23,5
+6030,2022-04-20,5
+6031,2022-05-18,5
+6032,2022-06-15,5
+6033,2022-07-13,5
+6034,2022-08-10,5
+6035,2022-09-07,5
+6036,2022-10-05,5
+6037,2022-11-02,5
+6038,2022-11-30,5
+6039,2022-12-28,5
+6040,2023-01-25,5
+6041,2023-02-22,5
+6042,2023-03-22,5
+6043,2023-04-19,5
+6044,2023-05-17,5
+6045,2023-06-14,5
+6046,2023-07-12,5
+6047,2023-08-09,5
+6048,2023-09-06,5
+6049,2023-10-04,5
+6050,2023-11-01,5
+6051,2023-11-29,5
+6052,2023-12-27,5
+6053,2024-01-24,5
+6054,2024-02-21,5
+6055,2024-03-20,5
+6056,2024-04-17,5
+6057,2024-05-15,5
+6058,2024-06-12,5
+6059,2024-07-10,5
+6060,2024-08-07,5
+6061,2024-09-04,5
+6062,2024-10-02,5
+6063,2024-10-30,5
+6064,2024-11-27,5
+6065,2024-12-25,5
+6066,2025-01-22,5
+6067,2025-02-19,5
+6068,2025-03-19,5
+6069,2025-04-16,5
+6070,2025-05-14,5
+6071,2025-06-11,5
+6072,2025-07-09,5
+6073,2025-08-06,5
+6074,2025-09-03,5
+6075,2025-10-01,5
+6076,2025-10-29,5
+6077,2025-11-26,5
+6078,2025-12-24,5
+6079,2026-01-21,5
+6080,2026-02-18,5
+6081,2026-03-18,5
+6082,2026-04-15,5
+6083,2026-05-13,5
+6084,2026-06-10,5
+6085,2026-07-08,5
+6086,2026-08-05,5
+6087,2026-09-02,5
+6088,2026-09-30,5
+6089,2026-10-28,5
+6090,2026-11-25,5
+6091,2026-12-23,5
+6092,2027-01-20,5
+6093,2027-02-17,5
+6094,2027-03-17,5
+6095,2027-04-14,5
+6096,2027-05-12,5
+6097,2027-06-09,5
+6098,2027-07-07,5
+6099,2027-08-04,5
+7000,2020-01-01,6
+7001,2020-01-29,6
+7002,2020-02-26,6
+7003,2020-03-25,6
+7004,2020-04-22,6
+7005,2020-05-20,6
+7006,2020-06-17,6
+7007,2020-07-15,6
+7008,2020-08-12,6
+7009,2020-09-09,6
+7010,2020-10-07,6
+7011,2020-11-04,6
+7012,2020-12-02,6
+7013,2020-12-30,6
+7014,2021-01-27,6
+7015,2021-02-24,6
+7016,2021-03-24,6
+7017,2021-04-21,6
+7018,2021-05-19,6
+7019,2021-06-16,6
+7020,2021-07-14,6
+7021,2021-08-11,6
+7022,2021-09-08,6
+7023,2021-10-06,6
+7024,2021-11-03,6
+7025,2021-12-01,6
+7026,2021-12-29,6
+7027,2022-01-26,6
+7028,2022-02-23,6
+7029,2022-03-23,6
+7030,2022-04-20,6
+7031,2022-05-18,6
+7032,2022-06-15,6
+7033,2022-07-13,6
+7034,2022-08-10,6
+7035,2022-09-07,6
+7036,2022-10-05,6
+7037,2022-11-02,6
+7038,2022-11-30,6
+7039,2022-12-28,6
+7040,2023-01-25,6
+7041,2023-02-22,6
+7042,2023-03-22,6
+7043,2023-04-19,6
+7044,2023-05-17,6
+7045,2023-06-14,6
+7046,2023-07-12,6
+7047,2023-08-09,6
+7048,2023-09-06,6
+7049,2023-10-04,6
+7050,2023-11-01,6
+7051,2023-11-29,6
+7052,2023-12-27,6
+7053,2024-01-24,6
+7054,2024-02-21,6
+7055,2024-03-20,6
+7056,2024-04-17,6
+7057,2024-05-15,6
+7058,2024-06-12,6
+7059,2024-07-10,6
+7060,2024-08-07,6
+7061,2024-09-04,6
+7062,2024-10-02,6
+7063,2024-10-30,6
+7064,2024-11-27,6
+7065,2024-12-25,6
+7066,2025-01-22,6
+7067,2025-02-19,6
+7068,2025-03-19,6
+7069,2025-04-16,6
+7070,2025-05-14,6
+7071,2025-06-11,6
+7072,2025-07-09,6
+7073,2025-08-06,6
+7074,2025-09-03,6
+7075,2025-10-01,6
+7076,2025-10-29,6
+7077,2025-11-26,6
+7078,2025-12-24,6
+7079,2026-01-21,6
+7080,2026-02-18,6
+7081,2026-03-18,6
+7082,2026-04-15,6
+7083,2026-05-13,6
+7084,2026-06-10,6
+7085,2026-07-08,6
+7086,2026-08-05,6
+7087,2026-09-02,6
+7088,2026-09-30,6
+7089,2026-10-28,6
+7090,2026-11-25,6
+7091,2026-12-23,6
+7092,2027-01-20,6
+7093,2027-02-17,6
+7094,2027-03-17,6
+7095,2027-04-14,6
+7096,2027-05-12,6
+7097,2027-06-09,6
+7098,2027-07-07,6
+7099,2027-08-04,6
+8000,2020-01-01,7
+8001,2020-01-29,7
+8002,2020-02-26,7
+8003,2020-03-25,7
+8004,2020-04-22,7
+8005,2020-05-20,7
+8006,2020-06-17,7
+8007,2020-07-15,7
+8008,2020-08-12,7
+8009,2020-09-09,7
+8010,2020-10-07,7
+8011,2020-11-04,7
+8012,2020-12-02,7
+8013,2020-12-30,7
+8014,2021-01-27,7
+8015,2021-02-24,7
+8016,2021-03-24,7
+8017,2021-04-21,7
+8018,2021-05-19,7
+8019,2021-06-16,7
+8020,2021-07-14,7
+8021,2021-08-11,7
+8022,2021-09-08,7
+8023,2021-10-06,7
+8024,2021-11-03,7
+8025,2021-12-01,7
+8026,2021-12-29,7
+8027,2022-01-26,7
+8028,2022-02-23,7
+8029,2022-03-23,7
+8030,2022-04-20,7
+8031,2022-05-18,7
+8032,2022-06-15,7
+8033,2022-07-13,7
+8034,2022-08-10,7
+8035,2022-09-07,7
+8036,2022-10-05,7
+8037,2022-11-02,7
+8038,2022-11-30,7
+8039,2022-12-28,7
+8040,2023-01-25,7
+8041,2023-02-22,7
+8042,2023-03-22,7
+8043,2023-04-19,7
+8044,2023-05-17,7
+8045,2023-06-14,7
+8046,2023-07-12,7
+8047,2023-08-09,7
+8048,2023-09-06,7
+8049,2023-10-04,7
+8050,2023-11-01,7
+8051,2023-11-29,7
+8052,2023-12-27,7
+8053,2024-01-24,7
+8054,2024-02-21,7
+8055,2024-03-20,7
+8056,2024-04-17,7
+8057,2024-05-15,7
+8058,2024-06-12,7
+8059,2024-07-10,7
+8060,2024-08-07,7
+8061,2024-09-04,7
+8062,2024-10-02,7
+8063,2024-10-30,7
+8064,2024-11-27,7
+8065,2024-12-25,7
+8066,2025-01-22,7
+8067,2025-02-19,7
+8068,2025-03-19,7
+8069,2025-04-16,7
+8070,2025-05-14,7
+8071,2025-06-11,7
+8072,2025-07-09,7
+8073,2025-08-06,7
+8074,2025-09-03,7
+8075,2025-10-01,7
+8076,2025-10-29,7
+8077,2025-11-26,7
+8078,2025-12-24,7
+8079,2026-01-21,7
+8080,2026-02-18,7
+8081,2026-03-18,7
+8082,2026-04-15,7
+8083,2026-05-13,7
+8084,2026-06-10,7
+8085,2026-07-08,7
+8086,2026-08-05,7
+8087,2026-09-02,7
+8088,2026-09-30,7
+8089,2026-10-28,7
+8090,2026-11-25,7
+8091,2026-12-23,7
+8092,2027-01-20,7
+8093,2027-02-17,7
+8094,2027-03-17,7
+8095,2027-04-14,7
+8096,2027-05-12,7
+8097,2027-06-09,7
+8098,2027-07-07,7
+8099,2027-08-04,7
+9000,2020-01-01,8
+9001,2020-01-29,8
+9002,2020-02-26,8
+9003,2020-03-25,8
+9004,2020-04-22,8
+9005,2020-05-20,8
+9006,2020-06-17,8
+9007,2020-07-15,8
+9008,2020-08-12,8
+9009,2020-09-09,8
+9010,2020-10-07,8
+9011,2020-11-04,8
+9012,2020-12-02,8
+9013,2020-12-30,8
+9014,2021-01-27,8
+9015,2021-02-24,8
+9016,2021-03-24,8
+9017,2021-04-21,8
+9018,2021-05-19,8
+9019,2021-06-16,8
+9020,2021-07-14,8
+9021,2021-08-11,8
+9022,2021-09-08,8
+9023,2021-10-06,8
+9024,2021-11-03,8
+9025,2021-12-01,8
+9026,2021-12-29,8
+9027,2022-01-26,8
+9028,2022-02-23,8
+9029,2022-03-23,8
+9030,2022-04-20,8
+9031,2022-05-18,8
+9032,2022-06-15,8
+9033,2022-07-13,8
+9034,2022-08-10,8
+9035,2022-09-07,8
+9036,2022-10-05,8
+9037,2022-11-02,8
+9038,2022-11-30,8
+9039,2022-12-28,8
+9040,2023-01-25,8
+9041,2023-02-22,8
+9042,2023-03-22,8
+9043,2023-04-19,8
+9044,2023-05-17,8
+9045,2023-06-14,8
+9046,2023-07-12,8
+9047,2023-08-09,8
+9048,2023-09-06,8
+9049,2023-10-04,8
+9050,2023-11-01,8
+9051,2023-11-29,8
+9052,2023-12-27,8
+9053,2024-01-24,8
+9054,2024-02-21,8
+9055,2024-03-20,8
+9056,2024-04-17,8
+9057,2024-05-15,8
+9058,2024-06-12,8
+9059,2024-07-10,8
+9060,2024-08-07,8
+9061,2024-09-04,8
+9062,2024-10-02,8
+9063,2024-10-30,8
+9064,2024-11-27,8
+9065,2024-12-25,8
+9066,2025-01-22,8
+9067,2025-02-19,8
+9068,2025-03-19,8
+9069,2025-04-16,8
+9070,2025-05-14,8
+9071,2025-06-11,8
+9072,2025-07-09,8
+9073,2025-08-06,8
+9074,2025-09-03,8
+9075,2025-10-01,8
+9076,2025-10-29,8
+9077,2025-11-26,8
+9078,2025-12-24,8
+9079,2026-01-21,8
+9080,2026-02-18,8
+9081,2026-03-18,8
+9082,2026-04-15,8
+9083,2026-05-13,8
+9084,2026-06-10,8
+9085,2026-07-08,8
+9086,2026-08-05,8
+9087,2026-09-02,8
+9088,2026-09-30,8
+9089,2026-10-28,8
+9090,2026-11-25,8
+9091,2026-12-23,8
+9092,2027-01-20,8
+9093,2027-02-17,8
+9094,2027-03-17,8
+9095,2027-04-14,8
+9096,2027-05-12,8
+9097,2027-06-09,8
+9098,2027-07-07,8
+9099,2027-08-04,8
+10000,2020-01-01,9
+10001,2020-01-29,9
+10002,2020-02-26,9
+10003,2020-03-25,9
+10004,2020-04-22,9
+10005,2020-05-20,9
+10006,2020-06-17,9
+10007,2020-07-15,9
+10008,2020-08-12,9
+10009,2020-09-09,9
+10010,2020-10-07,9
+10011,2020-11-04,9
+10012,2020-12-02,9
+10013,2020-12-30,9
+10014,2021-01-27,9
+10015,2021-02-24,9
+10016,2021-03-24,9
+10017,2021-04-21,9
+10018,2021-05-19,9
+10019,2021-06-16,9
+10020,2021-07-14,9
+10021,2021-08-11,9
+10022,2021-09-08,9
+10023,2021-10-06,9
+10024,2021-11-03,9
+10025,2021-12-01,9
+10026,2021-12-29,9
+10027,2022-01-26,9
+10028,2022-02-23,9
+10029,2022-03-23,9
+10030,2022-04-20,9
+10031,2022-05-18,9
+10032,2022-06-15,9
+10033,2022-07-13,9
+10034,2022-08-10,9
+10035,2022-09-07,9
+10036,2022-10-05,9
+10037,2022-11-02,9
+10038,2022-11-30,9
+10039,2022-12-28,9
+10040,2023-01-25,9
+10041,2023-02-22,9
+10042,2023-03-22,9
+10043,2023-04-19,9
+10044,2023-05-17,9
+10045,2023-06-14,9
+10046,2023-07-12,9
+10047,2023-08-09,9
+10048,2023-09-06,9
+10049,2023-10-04,9
+10050,2023-11-01,9
+10051,2023-11-29,9
+10052,2023-12-27,9
+10053,2024-01-24,9
+10054,2024-02-21,9
+10055,2024-03-20,9
+10056,2024-04-17,9
+10057,2024-05-15,9
+10058,2024-06-12,9
+10059,2024-07-10,9
+10060,2024-08-07,9
+10061,2024-09-04,9
+10062,2024-10-02,9
+10063,2024-10-30,9
+10064,2024-11-27,9
+10065,2024-12-25,9
+10066,2025-01-22,9
+10067,2025-02-19,9
+10068,2025-03-19,9
+10069,2025-04-16,9
+10070,2025-05-14,9
+10071,2025-06-11,9
+10072,2025-07-09,9
+10073,2025-08-06,9
+10074,2025-09-03,9
+10075,2025-10-01,9
+10076,2025-10-29,9
+10077,2025-11-26,9
+10078,2025-12-24,9
+10079,2026-01-21,9
+10080,2026-02-18,9
+10081,2026-03-18,9
+10082,2026-04-15,9
+10083,2026-05-13,9
+10084,2026-06-10,9
+10085,2026-07-08,9
+10086,2026-08-05,9
+10087,2026-09-02,9
+10088,2026-09-30,9
+10089,2026-10-28,9
+10090,2026-11-25,9
+10091,2026-12-23,9
+10092,2027-01-20,9
+10093,2027-02-17,9
+10094,2027-03-17,9
+10095,2027-04-14,9
+10096,2027-05-12,9
+10097,2027-06-09,9
+10098,2027-07-07,9
+10099,2027-08-04,9
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_0.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_0.csv
index b4af4e2..abe4db3 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_0.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_0.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-1000,2020-01-01,0
-1001,2020-01-02,0
-1002,2020-01-03,0
-1003,2020-01-04,0
-1004,2020-01-05,0
-1005,2020-01-06,0
-1006,2020-01-07,0
-1007,2020-01-08,0
-1008,2020-01-09,0
-1009,2020-01-10,0
-1010,2020-01-11,0
-1011,2020-01-12,0
-1012,2020-01-13,0
-1013,2020-01-14,0
-1014,2020-01-15,0
-1015,2020-01-16,0
-1016,2020-01-17,0
-1017,2020-01-18,0
-1018,2020-01-19,0
-1019,2020-01-20,0
-1020,2020-01-21,0
-1021,2020-01-22,0
-1022,2020-01-23,0
-1023,2020-01-24,0
-1024,2020-01-25,0
-1025,2020-01-26,0
-1026,2020-01-27,0
-1027,2020-01-28,0
-1028,2020-01-29,0
-1029,2020-01-30,0
-1030,2020-01-31,0
-1031,2020-02-01,0
-1032,2020-02-02,0
-1033,2020-02-03,0
-1034,2020-02-04,0
-1035,2020-02-05,0
-1036,2020-02-06,0
-1037,2020-02-07,0
-1038,2020-02-08,0
-1039,2020-02-09,0
-1040,2020-02-10,0
-1041,2020-02-11,0
-1042,2020-02-12,0
-1043,2020-02-13,0
-1044,2020-02-14,0
-1045,2020-02-15,0
-1046,2020-02-16,0
-1047,2020-02-17,0
-1048,2020-02-18,0
-1049,2020-02-19,0
-1050,2020-02-20,0
-1051,2020-02-21,0
-1052,2020-02-22,0
-1053,2020-02-23,0
-1054,2020-02-24,0
-1055,2020-02-25,0
-1056,2020-02-26,0
-1057,2020-02-27,0
-1058,2020-02-28,0
-1059,2020-02-29,0
-1060,2020-03-01,0
-1061,2020-03-02,0
-1062,2020-03-03,0
-1063,2020-03-04,0
-1064,2020-03-05,0
-1065,2020-03-06,0
-1066,2020-03-07,0
-1067,2020-03-08,0
-1068,2020-03-09,0
-1069,2020-03-10,0
-1070,2020-03-11,0
-1071,2020-03-12,0
-1072,2020-03-13,0
-1073,2020-03-14,0
-1074,2020-03-15,0
-1075,2020-03-16,0
-1076,2020-03-17,0
-1077,2020-03-18,0
-1078,2020-03-19,0
-1079,2020-03-20,0
-1080,2020-03-21,0
-1081,2020-03-22,0
-1082,2020-03-23,0
-1083,2020-03-24,0
-1084,2020-03-25,0
-1085,2020-03-26,0
-1086,2020-03-27,0
-1087,2020-03-28,0
-1088,2020-03-29,0
-1089,2020-03-30,0
-1090,2020-03-31,0
-1091,2020-04-01,0
-1092,2020-04-02,0
-1093,2020-04-03,0
-1094,2020-04-04,0
-1095,2020-04-05,0
-1096,2020-04-06,0
-1097,2020-04-07,0
-1098,2020-04-08,0
-1099,2020-04-09,0
-1100,2020-04-10,0
-1101,2020-04-11,0
-1102,2020-04-12,0
-1103,2020-04-13,0
-1104,2020-04-14,0
-1105,2020-04-15,0
-1106,2020-04-16,0
-1107,2020-04-17,0
-1108,2020-04-18,0
-1109,2020-04-19,0
-1110,2020-04-20,0
-1111,2020-04-21,0
-1112,2020-04-22,0
-1113,2020-04-23,0
-1114,2020-04-24,0
-1115,2020-04-25,0
-1116,2020-04-26,0
-1117,2020-04-27,0
-1118,2020-04-28,0
-1119,2020-04-29,0
-1120,2020-04-30,0
-1121,2020-05-01,0
-1122,2020-05-02,0
-1123,2020-05-03,0
-1124,2020-05-04,0
-1125,2020-05-05,0
-1126,2020-05-06,0
-1127,2020-05-07,0
-1128,2020-05-08,0
-1129,2020-05-09,0
-1130,2020-05-10,0
-1131,2020-05-11,0
-1132,2020-05-12,0
-1133,2020-05-13,0
-1134,2020-05-14,0
-1135,2020-05-15,0
-1136,2020-05-16,0
-1137,2020-05-17,0
-1138,2020-05-18,0
-1139,2020-05-19,0
-1140,2020-05-20,0
-1141,2020-05-21,0
-1142,2020-05-22,0
-1143,2020-05-23,0
-1144,2020-05-24,0
-1145,2020-05-25,0
-1146,2020-05-26,0
-1147,2020-05-27,0
-1148,2020-05-28,0
-1149,2020-05-29,0
-1150,2020-05-30,0
-1151,2020-05-31,0
-1152,2020-06-01,0
-1153,2020-06-02,0
-1154,2020-06-03,0
-1155,2020-06-04,0
-1156,2020-06-05,0
-1157,2020-06-06,0
-1158,2020-06-07,0
-1159,2020-06-08,0
-1160,2020-06-09,0
-1161,2020-06-10,0
-1162,2020-06-11,0
-1163,2020-06-12,0
-1164,2020-06-13,0
-1165,2020-06-14,0
-1166,2020-06-15,0
-1167,2020-06-16,0
-1168,2020-06-17,0
-1169,2020-06-18,0
-1170,2020-06-19,0
-1171,2020-06-20,0
-1172,2020-06-21,0
-1173,2020-06-22,0
-1174,2020-06-23,0
-1175,2020-06-24,0
-1176,2020-06-25,0
-1177,2020-06-26,0
-1178,2020-06-27,0
-1179,2020-06-28,0
-1180,2020-06-29,0
-1181,2020-06-30,0
-1182,2020-07-01,0
-1183,2020-07-02,0
-1184,2020-07-03,0
-1185,2020-07-04,0
-1186,2020-07-05,0
-1187,2020-07-06,0
-1188,2020-07-07,0
-1189,2020-07-08,0
-1190,2020-07-09,0
-1191,2020-07-10,0
-1192,2020-07-11,0
-1193,2020-07-12,0
-1194,2020-07-13,0
-1195,2020-07-14,0
-1196,2020-07-15,0
-1197,2020-07-16,0
-1198,2020-07-17,0
-1199,2020-07-18,0
-1200,2020-07-19,0
-1201,2020-07-20,0
-1202,2020-07-21,0
-1203,2020-07-22,0
-1204,2020-07-23,0
-1205,2020-07-24,0
-1206,2020-07-25,0
-1207,2020-07-26,0
-1208,2020-07-27,0
-1209,2020-07-28,0
-1210,2020-07-29,0
-1211,2020-07-30,0
-1212,2020-07-31,0
-1213,2020-08-01,0
-1214,2020-08-02,0
-1215,2020-08-03,0
-1216,2020-08-04,0
-1217,2020-08-05,0
-1218,2020-08-06,0
-1219,2020-08-07,0
-1220,2020-08-08,0
-1221,2020-08-09,0
-1222,2020-08-10,0
-1223,2020-08-11,0
-1224,2020-08-12,0
-1225,2020-08-13,0
-1226,2020-08-14,0
-1227,2020-08-15,0
-1228,2020-08-16,0
-1229,2020-08-17,0
-1230,2020-08-18,0
-1231,2020-08-19,0
-1232,2020-08-20,0
-1233,2020-08-21,0
-1234,2020-08-22,0
-1235,2020-08-23,0
-1236,2020-08-24,0
-1237,2020-08-25,0
-1238,2020-08-26,0
-1239,2020-08-27,0
-1240,2020-08-28,0
-1241,2020-08-29,0
-1242,2020-08-30,0
-1243,2020-08-31,0
-1244,2020-09-01,0
-1245,2020-09-02,0
-1246,2020-09-03,0
-1247,2020-09-04,0
-1248,2020-09-05,0
-1249,2020-09-06,0
-1250,2020-09-07,0
-1251,2020-09-08,0
-1252,2020-09-09,0
-1253,2020-09-10,0
-1254,2020-09-11,0
-1255,2020-09-12,0
-1256,2020-09-13,0
-1257,2020-09-14,0
-1258,2020-09-15,0
-1259,2020-09-16,0
-1260,2020-09-17,0
-1261,2020-09-18,0
-1262,2020-09-19,0
-1263,2020-09-20,0
-1264,2020-09-21,0
-1265,2020-09-22,0
-1266,2020-09-23,0
-1267,2020-09-24,0
-1268,2020-09-25,0
-1269,2020-09-26,0
-1270,2020-09-27,0
-1271,2020-09-28,0
-1272,2020-09-29,0
-1273,2020-09-30,0
-1274,2020-10-01,0
-1275,2020-10-02,0
-1276,2020-10-03,0
-1277,2020-10-04,0
-1278,2020-10-05,0
-1279,2020-10-06,0
-1280,2020-10-07,0
-1281,2020-10-08,0
-1282,2020-10-09,0
-1283,2020-10-10,0
-1284,2020-10-11,0
-1285,2020-10-12,0
-1286,2020-10-13,0
-1287,2020-10-14,0
-1288,2020-10-15,0
-1289,2020-10-16,0
-1290,2020-10-17,0
-1291,2020-10-18,0
-1292,2020-10-19,0
-1293,2020-10-20,0
-1294,2020-10-21,0
-1295,2020-10-22,0
-1296,2020-10-23,0
-1297,2020-10-24,0
-1298,2020-10-25,0
-1299,2020-10-26,0
-1300,2020-10-27,0
-1301,2020-10-28,0
-1302,2020-10-29,0
-1303,2020-10-30,0
-1304,2020-10-31,0
-1305,2020-11-01,0
-1306,2020-11-02,0
-1307,2020-11-03,0
-1308,2020-11-04,0
-1309,2020-11-05,0
-1310,2020-11-06,0
-1311,2020-11-07,0
-1312,2020-11-08,0
-1313,2020-11-09,0
-1314,2020-11-10,0
-1315,2020-11-11,0
-1316,2020-11-12,0
-1317,2020-11-13,0
-1318,2020-11-14,0
-1319,2020-11-15,0
-1320,2020-11-16,0
-1321,2020-11-17,0
-1322,2020-11-18,0
-1323,2020-11-19,0
-1324,2020-11-20,0
-1325,2020-11-21,0
-1326,2020-11-22,0
-1327,2020-11-23,0
-1328,2020-11-24,0
-1329,2020-11-25,0
-1330,2020-11-26,0
-1331,2020-11-27,0
-1332,2020-11-28,0
-1333,2020-11-29,0
-1334,2020-11-30,0
-1335,2020-12-01,0
-1336,2020-12-02,0
-1337,2020-12-03,0
-1338,2020-12-04,0
-1339,2020-12-05,0
-1340,2020-12-06,0
-1341,2020-12-07,0
-1342,2020-12-08,0
-1343,2020-12-09,0
-1344,2020-12-10,0
-1345,2020-12-11,0
-1346,2020-12-12,0
-1347,2020-12-13,0
-1348,2020-12-14,0
-1349,2020-12-15,0
-1350,2020-12-16,0
-1351,2020-12-17,0
-1352,2020-12-18,0
-1353,2020-12-19,0
-1354,2020-12-20,0
-1355,2020-12-21,0
-1356,2020-12-22,0
-1357,2020-12-23,0
-1358,2020-12-24,0
-1359,2020-12-25,0
-1360,2020-12-26,0
-1361,2020-12-27,0
-1362,2020-12-28,0
-1363,2020-12-29,0
-1364,2020-12-30,0
-1365,2020-12-31,0
-1366,2021-01-01,0
-1367,2021-01-02,0
-1368,2021-01-03,0
-1369,2021-01-04,0
-1370,2021-01-05,0
-1371,2021-01-06,0
-1372,2021-01-07,0
-1373,2021-01-08,0
-1374,2021-01-09,0
-1375,2021-01-10,0
-1376,2021-01-11,0
-1377,2021-01-12,0
-1378,2021-01-13,0
-1379,2021-01-14,0
-1380,2021-01-15,0
-1381,2021-01-16,0
-1382,2021-01-17,0
-1383,2021-01-18,0
-1384,2021-01-19,0
-1385,2021-01-20,0
-1386,2021-01-21,0
-1387,2021-01-22,0
-1388,2021-01-23,0
-1389,2021-01-24,0
-1390,2021-01-25,0
-1391,2021-01-26,0
-1392,2021-01-27,0
-1393,2021-01-28,0
-1394,2021-01-29,0
-1395,2021-01-30,0
-1396,2021-01-31,0
-1397,2021-02-01,0
-1398,2021-02-02,0
-1399,2021-02-03,0
-1400,2021-02-04,0
-1401,2021-02-05,0
-1402,2021-02-06,0
-1403,2021-02-07,0
-1404,2021-02-08,0
-1405,2021-02-09,0
-1406,2021-02-10,0
-1407,2021-02-11,0
-1408,2021-02-12,0
-1409,2021-02-13,0
-1410,2021-02-14,0
-1411,2021-02-15,0
-1412,2021-02-16,0
-1413,2021-02-17,0
-1414,2021-02-18,0
-1415,2021-02-19,0
-1416,2021-02-20,0
-1417,2021-02-21,0
-1418,2021-02-22,0
-1419,2021-02-23,0
-1420,2021-02-24,0
-1421,2021-02-25,0
-1422,2021-02-26,0
-1423,2021-02-27,0
-1424,2021-02-28,0
-1425,2021-03-01,0
-1426,2021-03-02,0
-1427,2021-03-03,0
-1428,2021-03-04,0
-1429,2021-03-05,0
-1430,2021-03-06,0
-1431,2021-03-07,0
-1432,2021-03-08,0
-1433,2021-03-09,0
-1434,2021-03-10,0
-1435,2021-03-11,0
-1436,2021-03-12,0
-1437,2021-03-13,0
-1438,2021-03-14,0
-1439,2021-03-15,0
-1440,2021-03-16,0
-1441,2021-03-17,0
-1442,2021-03-18,0
-1443,2021-03-19,0
-1444,2021-03-20,0
-1445,2021-03-21,0
-1446,2021-03-22,0
-1447,2021-03-23,0
-1448,2021-03-24,0
-1449,2021-03-25,0
-1450,2021-03-26,0
-1451,2021-03-27,0
-1452,2021-03-28,0
-1453,2021-03-29,0
-1454,2021-03-30,0
-1455,2021-03-31,0
-1456,2021-04-01,0
-1457,2021-04-02,0
-1458,2021-04-03,0
-1459,2021-04-04,0
-1460,2021-04-05,0
-1461,2021-04-06,0
-1462,2021-04-07,0
-1463,2021-04-08,0
-1464,2021-04-09,0
-1465,2021-04-10,0
-1466,2021-04-11,0
-1467,2021-04-12,0
-1468,2021-04-13,0
-1469,2021-04-14,0
-1470,2021-04-15,0
-1471,2021-04-16,0
-1472,2021-04-17,0
-1473,2021-04-18,0
-1474,2021-04-19,0
-1475,2021-04-20,0
-1476,2021-04-21,0
-1477,2021-04-22,0
-1478,2021-04-23,0
-1479,2021-04-24,0
-1480,2021-04-25,0
-1481,2021-04-26,0
-1482,2021-04-27,0
-1483,2021-04-28,0
-1484,2021-04-29,0
-1485,2021-04-30,0
-1486,2021-05-01,0
-1487,2021-05-02,0
-1488,2021-05-03,0
-1489,2021-05-04,0
-1490,2021-05-05,0
-1491,2021-05-06,0
-1492,2021-05-07,0
-1493,2021-05-08,0
-1494,2021-05-09,0
-1495,2021-05-10,0
-1496,2021-05-11,0
-1497,2021-05-12,0
-1498,2021-05-13,0
-1499,2021-05-14,0
-1500,2021-05-15,0
-1501,2021-05-16,0
-1502,2021-05-17,0
-1503,2021-05-18,0
-1504,2021-05-19,0
-1505,2021-05-20,0
-1506,2021-05-21,0
-1507,2021-05-22,0
-1508,2021-05-23,0
-1509,2021-05-24,0
-1510,2021-05-25,0
-1511,2021-05-26,0
-1512,2021-05-27,0
-1513,2021-05-28,0
-1514,2021-05-29,0
-1515,2021-05-30,0
-1516,2021-05-31,0
-1517,2021-06-01,0
-1518,2021-06-02,0
-1519,2021-06-03,0
-1520,2021-06-04,0
-1521,2021-06-05,0
-1522,2021-06-06,0
-1523,2021-06-07,0
-1524,2021-06-08,0
-1525,2021-06-09,0
-1526,2021-06-10,0
-1527,2021-06-11,0
-1528,2021-06-12,0
-1529,2021-06-13,0
-1530,2021-06-14,0
-1531,2021-06-15,0
-1532,2021-06-16,0
-1533,2021-06-17,0
-1534,2021-06-18,0
-1535,2021-06-19,0
-1536,2021-06-20,0
-1537,2021-06-21,0
-1538,2021-06-22,0
-1539,2021-06-23,0
-1540,2021-06-24,0
-1541,2021-06-25,0
-1542,2021-06-26,0
-1543,2021-06-27,0
-1544,2021-06-28,0
-1545,2021-06-29,0
-1546,2021-06-30,0
-1547,2021-07-01,0
-1548,2021-07-02,0
-1549,2021-07-03,0
-1550,2021-07-04,0
-1551,2021-07-05,0
-1552,2021-07-06,0
-1553,2021-07-07,0
-1554,2021-07-08,0
-1555,2021-07-09,0
-1556,2021-07-10,0
-1557,2021-07-11,0
-1558,2021-07-12,0
-1559,2021-07-13,0
-1560,2021-07-14,0
-1561,2021-07-15,0
-1562,2021-07-16,0
-1563,2021-07-17,0
-1564,2021-07-18,0
-1565,2021-07-19,0
-1566,2021-07-20,0
-1567,2021-07-21,0
-1568,2021-07-22,0
-1569,2021-07-23,0
-1570,2021-07-24,0
-1571,2021-07-25,0
-1572,2021-07-26,0
-1573,2021-07-27,0
-1574,2021-07-28,0
-1575,2021-07-29,0
-1576,2021-07-30,0
-1577,2021-07-31,0
-1578,2021-08-01,0
-1579,2021-08-02,0
-1580,2021-08-03,0
-1581,2021-08-04,0
-1582,2021-08-05,0
-1583,2021-08-06,0
-1584,2021-08-07,0
-1585,2021-08-08,0
-1586,2021-08-09,0
-1587,2021-08-10,0
-1588,2021-08-11,0
-1589,2021-08-12,0
-1590,2021-08-13,0
-1591,2021-08-14,0
-1592,2021-08-15,0
-1593,2021-08-16,0
-1594,2021-08-17,0
-1595,2021-08-18,0
-1596,2021-08-19,0
-1597,2021-08-20,0
-1598,2021-08-21,0
-1599,2021-08-22,0
-1600,2021-08-23,0
-1601,2021-08-24,0
-1602,2021-08-25,0
-1603,2021-08-26,0
-1604,2021-08-27,0
-1605,2021-08-28,0
-1606,2021-08-29,0
-1607,2021-08-30,0
-1608,2021-08-31,0
-1609,2021-09-01,0
-1610,2021-09-02,0
-1611,2021-09-03,0
-1612,2021-09-04,0
-1613,2021-09-05,0
-1614,2021-09-06,0
-1615,2021-09-07,0
-1616,2021-09-08,0
-1617,2021-09-09,0
-1618,2021-09-10,0
-1619,2021-09-11,0
-1620,2021-09-12,0
-1621,2021-09-13,0
-1622,2021-09-14,0
-1623,2021-09-15,0
-1624,2021-09-16,0
-1625,2021-09-17,0
-1626,2021-09-18,0
-1627,2021-09-19,0
-1628,2021-09-20,0
-1629,2021-09-21,0
-1630,2021-09-22,0
-1631,2021-09-23,0
-1632,2021-09-24,0
-1633,2021-09-25,0
-1634,2021-09-26,0
-1635,2021-09-27,0
-1636,2021-09-28,0
-1637,2021-09-29,0
-1638,2021-09-30,0
-1639,2021-10-01,0
-1640,2021-10-02,0
-1641,2021-10-03,0
-1642,2021-10-04,0
-1643,2021-10-05,0
-1644,2021-10-06,0
-1645,2021-10-07,0
-1646,2021-10-08,0
-1647,2021-10-09,0
-1648,2021-10-10,0
-1649,2021-10-11,0
-1650,2021-10-12,0
-1651,2021-10-13,0
-1652,2021-10-14,0
-1653,2021-10-15,0
-1654,2021-10-16,0
-1655,2021-10-17,0
-1656,2021-10-18,0
-1657,2021-10-19,0
-1658,2021-10-20,0
-1659,2021-10-21,0
-1660,2021-10-22,0
-1661,2021-10-23,0
-1662,2021-10-24,0
-1663,2021-10-25,0
-1664,2021-10-26,0
-1665,2021-10-27,0
-1666,2021-10-28,0
-1667,2021-10-29,0
-1668,2021-10-30,0
-1669,2021-10-31,0
-1670,2021-11-01,0
-1671,2021-11-02,0
-1672,2021-11-03,0
-1673,2021-11-04,0
-1674,2021-11-05,0
-1675,2021-11-06,0
-1676,2021-11-07,0
-1677,2021-11-08,0
-1678,2021-11-09,0
-1679,2021-11-10,0
-1680,2021-11-11,0
-1681,2021-11-12,0
-1682,2021-11-13,0
-1683,2021-11-14,0
-1684,2021-11-15,0
-1685,2021-11-16,0
-1686,2021-11-17,0
-1687,2021-11-18,0
-1688,2021-11-19,0
-1689,2021-11-20,0
-1690,2021-11-21,0
-1691,2021-11-22,0
-1692,2021-11-23,0
-1693,2021-11-24,0
-1694,2021-11-25,0
-1695,2021-11-26,0
-1696,2021-11-27,0
-1697,2021-11-28,0
-1698,2021-11-29,0
-1699,2021-11-30,0
-1700,2021-12-01,0
-1701,2021-12-02,0
-1702,2021-12-03,0
-1703,2021-12-04,0
-1704,2021-12-05,0
-1705,2021-12-06,0
-1706,2021-12-07,0
-1707,2021-12-08,0
-1708,2021-12-09,0
-1709,2021-12-10,0
-1710,2021-12-11,0
-1711,2021-12-12,0
-1712,2021-12-13,0
-1713,2021-12-14,0
-1714,2021-12-15,0
-1715,2021-12-16,0
-1716,2021-12-17,0
-1717,2021-12-18,0
-1718,2021-12-19,0
-1719,2021-12-20,0
-1720,2021-12-21,0
-1721,2021-12-22,0
-1722,2021-12-23,0
-1723,2021-12-24,0
-1724,2021-12-25,0
-1725,2021-12-26,0
-1726,2021-12-27,0
-1727,2021-12-28,0
-1728,2021-12-29,0
-1729,2021-12-30,0
-1730,2021-12-31,0
-1731,2022-01-01,0
-1732,2022-01-02,0
-1733,2022-01-03,0
-1734,2022-01-04,0
-1735,2022-01-05,0
-1736,2022-01-06,0
-1737,2022-01-07,0
-1738,2022-01-08,0
-1739,2022-01-09,0
-1740,2022-01-10,0
-1741,2022-01-11,0
-1742,2022-01-12,0
-1743,2022-01-13,0
-1744,2022-01-14,0
-1745,2022-01-15,0
-1746,2022-01-16,0
-1747,2022-01-17,0
-1748,2022-01-18,0
-1749,2022-01-19,0
-1750,2022-01-20,0
-1751,2022-01-21,0
-1752,2022-01-22,0
-1753,2022-01-23,0
-1754,2022-01-24,0
-1755,2022-01-25,0
-1756,2022-01-26,0
-1757,2022-01-27,0
-1758,2022-01-28,0
-1759,2022-01-29,0
-1760,2022-01-30,0
-1761,2022-01-31,0
-1762,2022-02-01,0
-1763,2022-02-02,0
-1764,2022-02-03,0
-1765,2022-02-04,0
-1766,2022-02-05,0
-1767,2022-02-06,0
-1768,2022-02-07,0
-1769,2022-02-08,0
-1770,2022-02-09,0
-1771,2022-02-10,0
-1772,2022-02-11,0
-1773,2022-02-12,0
-1774,2022-02-13,0
-1775,2022-02-14,0
-1776,2022-02-15,0
-1777,2022-02-16,0
-1778,2022-02-17,0
-1779,2022-02-18,0
-1780,2022-02-19,0
-1781,2022-02-20,0
-1782,2022-02-21,0
-1783,2022-02-22,0
-1784,2022-02-23,0
-1785,2022-02-24,0
-1786,2022-02-25,0
-1787,2022-02-26,0
-1788,2022-02-27,0
-1789,2022-02-28,0
-1790,2022-03-01,0
-1791,2022-03-02,0
-1792,2022-03-03,0
-1793,2022-03-04,0
-1794,2022-03-05,0
-1795,2022-03-06,0
-1796,2022-03-07,0
-1797,2022-03-08,0
-1798,2022-03-09,0
-1799,2022-03-10,0
-1800,2022-03-11,0
-1801,2022-03-12,0
-1802,2022-03-13,0
-1803,2022-03-14,0
-1804,2022-03-15,0
-1805,2022-03-16,0
-1806,2022-03-17,0
-1807,2022-03-18,0
-1808,2022-03-19,0
-1809,2022-03-20,0
-1810,2022-03-21,0
-1811,2022-03-22,0
-1812,2022-03-23,0
-1813,2022-03-24,0
-1814,2022-03-25,0
-1815,2022-03-26,0
-1816,2022-03-27,0
-1817,2022-03-28,0
-1818,2022-03-29,0
-1819,2022-03-30,0
-1820,2022-03-31,0
-1821,2022-04-01,0
-1822,2022-04-02,0
-1823,2022-04-03,0
-1824,2022-04-04,0
-1825,2022-04-05,0
-1826,2022-04-06,0
-1827,2022-04-07,0
-1828,2022-04-08,0
-1829,2022-04-09,0
-1830,2022-04-10,0
-1831,2022-04-11,0
-1832,2022-04-12,0
-1833,2022-04-13,0
-1834,2022-04-14,0
-1835,2022-04-15,0
-1836,2022-04-16,0
-1837,2022-04-17,0
-1838,2022-04-18,0
-1839,2022-04-19,0
-1840,2022-04-20,0
-1841,2022-04-21,0
-1842,2022-04-22,0
-1843,2022-04-23,0
-1844,2022-04-24,0
-1845,2022-04-25,0
-1846,2022-04-26,0
-1847,2022-04-27,0
-1848,2022-04-28,0
-1849,2022-04-29,0
-1850,2022-04-30,0
-1851,2022-05-01,0
-1852,2022-05-02,0
-1853,2022-05-03,0
-1854,2022-05-04,0
-1855,2022-05-05,0
-1856,2022-05-06,0
-1857,2022-05-07,0
-1858,2022-05-08,0
-1859,2022-05-09,0
-1860,2022-05-10,0
-1861,2022-05-11,0
-1862,2022-05-12,0
-1863,2022-05-13,0
-1864,2022-05-14,0
-1865,2022-05-15,0
-1866,2022-05-16,0
-1867,2022-05-17,0
-1868,2022-05-18,0
-1869,2022-05-19,0
-1870,2022-05-20,0
-1871,2022-05-21,0
-1872,2022-05-22,0
-1873,2022-05-23,0
-1874,2022-05-24,0
-1875,2022-05-25,0
-1876,2022-05-26,0
-1877,2022-05-27,0
-1878,2022-05-28,0
-1879,2022-05-29,0
-1880,2022-05-30,0
-1881,2022-05-31,0
-1882,2022-06-01,0
-1883,2022-06-02,0
-1884,2022-06-03,0
-1885,2022-06-04,0
-1886,2022-06-05,0
-1887,2022-06-06,0
-1888,2022-06-07,0
-1889,2022-06-08,0
-1890,2022-06-09,0
-1891,2022-06-10,0
-1892,2022-06-11,0
-1893,2022-06-12,0
-1894,2022-06-13,0
-1895,2022-06-14,0
-1896,2022-06-15,0
-1897,2022-06-16,0
-1898,2022-06-17,0
-1899,2022-06-18,0
-1900,2022-06-19,0
-1901,2022-06-20,0
-1902,2022-06-21,0
-1903,2022-06-22,0
-1904,2022-06-23,0
-1905,2022-06-24,0
-1906,2022-06-25,0
-1907,2022-06-26,0
-1908,2022-06-27,0
-1909,2022-06-28,0
-1910,2022-06-29,0
-1911,2022-06-30,0
-1912,2022-07-01,0
-1913,2022-07-02,0
-1914,2022-07-03,0
-1915,2022-07-04,0
-1916,2022-07-05,0
-1917,2022-07-06,0
-1918,2022-07-07,0
-1919,2022-07-08,0
-1920,2022-07-09,0
-1921,2022-07-10,0
-1922,2022-07-11,0
-1923,2022-07-12,0
-1924,2022-07-13,0
-1925,2022-07-14,0
-1926,2022-07-15,0
-1927,2022-07-16,0
-1928,2022-07-17,0
-1929,2022-07-18,0
-1930,2022-07-19,0
-1931,2022-07-20,0
-1932,2022-07-21,0
-1933,2022-07-22,0
-1934,2022-07-23,0
-1935,2022-07-24,0
-1936,2022-07-25,0
-1937,2022-07-26,0
-1938,2022-07-27,0
-1939,2022-07-28,0
-1940,2022-07-29,0
-1941,2022-07-30,0
-1942,2022-07-31,0
-1943,2022-08-01,0
-1944,2022-08-02,0
-1945,2022-08-03,0
-1946,2022-08-04,0
-1947,2022-08-05,0
-1948,2022-08-06,0
-1949,2022-08-07,0
-1950,2022-08-08,0
-1951,2022-08-09,0
-1952,2022-08-10,0
-1953,2022-08-11,0
-1954,2022-08-12,0
-1955,2022-08-13,0
-1956,2022-08-14,0
-1957,2022-08-15,0
-1958,2022-08-16,0
-1959,2022-08-17,0
-1960,2022-08-18,0
-1961,2022-08-19,0
-1962,2022-08-20,0
-1963,2022-08-21,0
-1964,2022-08-22,0
-1965,2022-08-23,0
-1966,2022-08-24,0
-1967,2022-08-25,0
-1968,2022-08-26,0
-1969,2022-08-27,0
-1970,2022-08-28,0
-1971,2022-08-29,0
-1972,2022-08-30,0
-1973,2022-08-31,0
-1974,2022-09-01,0
-1975,2022-09-02,0
-1976,2022-09-03,0
-1977,2022-09-04,0
-1978,2022-09-05,0
-1979,2022-09-06,0
-1980,2022-09-07,0
-1981,2022-09-08,0
-1982,2022-09-09,0
-1983,2022-09-10,0
-1984,2022-09-11,0
-1985,2022-09-12,0
-1986,2022-09-13,0
-1987,2022-09-14,0
-1988,2022-09-15,0
-1989,2022-09-16,0
-1990,2022-09-17,0
-1991,2022-09-18,0
-1992,2022-09-19,0
-1993,2022-09-20,0
-1994,2022-09-21,0
-1995,2022-09-22,0
-1996,2022-09-23,0
-1997,2022-09-24,0
-1998,2022-09-25,0
-1999,2022-09-26,0
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-02,0
+1002,2020-01-03,0
+1003,2020-01-04,0
+1004,2020-01-05,0
+1005,2020-01-06,0
+1006,2020-01-07,0
+1007,2020-01-08,0
+1008,2020-01-09,0
+1009,2020-01-10,0
+1010,2020-01-11,0
+1011,2020-01-12,0
+1012,2020-01-13,0
+1013,2020-01-14,0
+1014,2020-01-15,0
+1015,2020-01-16,0
+1016,2020-01-17,0
+1017,2020-01-18,0
+1018,2020-01-19,0
+1019,2020-01-20,0
+1020,2020-01-21,0
+1021,2020-01-22,0
+1022,2020-01-23,0
+1023,2020-01-24,0
+1024,2020-01-25,0
+1025,2020-01-26,0
+1026,2020-01-27,0
+1027,2020-01-28,0
+1028,2020-01-29,0
+1029,2020-01-30,0
+1030,2020-01-31,0
+1031,2020-02-01,0
+1032,2020-02-02,0
+1033,2020-02-03,0
+1034,2020-02-04,0
+1035,2020-02-05,0
+1036,2020-02-06,0
+1037,2020-02-07,0
+1038,2020-02-08,0
+1039,2020-02-09,0
+1040,2020-02-10,0
+1041,2020-02-11,0
+1042,2020-02-12,0
+1043,2020-02-13,0
+1044,2020-02-14,0
+1045,2020-02-15,0
+1046,2020-02-16,0
+1047,2020-02-17,0
+1048,2020-02-18,0
+1049,2020-02-19,0
+1050,2020-02-20,0
+1051,2020-02-21,0
+1052,2020-02-22,0
+1053,2020-02-23,0
+1054,2020-02-24,0
+1055,2020-02-25,0
+1056,2020-02-26,0
+1057,2020-02-27,0
+1058,2020-02-28,0
+1059,2020-02-29,0
+1060,2020-03-01,0
+1061,2020-03-02,0
+1062,2020-03-03,0
+1063,2020-03-04,0
+1064,2020-03-05,0
+1065,2020-03-06,0
+1066,2020-03-07,0
+1067,2020-03-08,0
+1068,2020-03-09,0
+1069,2020-03-10,0
+1070,2020-03-11,0
+1071,2020-03-12,0
+1072,2020-03-13,0
+1073,2020-03-14,0
+1074,2020-03-15,0
+1075,2020-03-16,0
+1076,2020-03-17,0
+1077,2020-03-18,0
+1078,2020-03-19,0
+1079,2020-03-20,0
+1080,2020-03-21,0
+1081,2020-03-22,0
+1082,2020-03-23,0
+1083,2020-03-24,0
+1084,2020-03-25,0
+1085,2020-03-26,0
+1086,2020-03-27,0
+1087,2020-03-28,0
+1088,2020-03-29,0
+1089,2020-03-30,0
+1090,2020-03-31,0
+1091,2020-04-01,0
+1092,2020-04-02,0
+1093,2020-04-03,0
+1094,2020-04-04,0
+1095,2020-04-05,0
+1096,2020-04-06,0
+1097,2020-04-07,0
+1098,2020-04-08,0
+1099,2020-04-09,0
+1100,2020-04-10,0
+1101,2020-04-11,0
+1102,2020-04-12,0
+1103,2020-04-13,0
+1104,2020-04-14,0
+1105,2020-04-15,0
+1106,2020-04-16,0
+1107,2020-04-17,0
+1108,2020-04-18,0
+1109,2020-04-19,0
+1110,2020-04-20,0
+1111,2020-04-21,0
+1112,2020-04-22,0
+1113,2020-04-23,0
+1114,2020-04-24,0
+1115,2020-04-25,0
+1116,2020-04-26,0
+1117,2020-04-27,0
+1118,2020-04-28,0
+1119,2020-04-29,0
+1120,2020-04-30,0
+1121,2020-05-01,0
+1122,2020-05-02,0
+1123,2020-05-03,0
+1124,2020-05-04,0
+1125,2020-05-05,0
+1126,2020-05-06,0
+1127,2020-05-07,0
+1128,2020-05-08,0
+1129,2020-05-09,0
+1130,2020-05-10,0
+1131,2020-05-11,0
+1132,2020-05-12,0
+1133,2020-05-13,0
+1134,2020-05-14,0
+1135,2020-05-15,0
+1136,2020-05-16,0
+1137,2020-05-17,0
+1138,2020-05-18,0
+1139,2020-05-19,0
+1140,2020-05-20,0
+1141,2020-05-21,0
+1142,2020-05-22,0
+1143,2020-05-23,0
+1144,2020-05-24,0
+1145,2020-05-25,0
+1146,2020-05-26,0
+1147,2020-05-27,0
+1148,2020-05-28,0
+1149,2020-05-29,0
+1150,2020-05-30,0
+1151,2020-05-31,0
+1152,2020-06-01,0
+1153,2020-06-02,0
+1154,2020-06-03,0
+1155,2020-06-04,0
+1156,2020-06-05,0
+1157,2020-06-06,0
+1158,2020-06-07,0
+1159,2020-06-08,0
+1160,2020-06-09,0
+1161,2020-06-10,0
+1162,2020-06-11,0
+1163,2020-06-12,0
+1164,2020-06-13,0
+1165,2020-06-14,0
+1166,2020-06-15,0
+1167,2020-06-16,0
+1168,2020-06-17,0
+1169,2020-06-18,0
+1170,2020-06-19,0
+1171,2020-06-20,0
+1172,2020-06-21,0
+1173,2020-06-22,0
+1174,2020-06-23,0
+1175,2020-06-24,0
+1176,2020-06-25,0
+1177,2020-06-26,0
+1178,2020-06-27,0
+1179,2020-06-28,0
+1180,2020-06-29,0
+1181,2020-06-30,0
+1182,2020-07-01,0
+1183,2020-07-02,0
+1184,2020-07-03,0
+1185,2020-07-04,0
+1186,2020-07-05,0
+1187,2020-07-06,0
+1188,2020-07-07,0
+1189,2020-07-08,0
+1190,2020-07-09,0
+1191,2020-07-10,0
+1192,2020-07-11,0
+1193,2020-07-12,0
+1194,2020-07-13,0
+1195,2020-07-14,0
+1196,2020-07-15,0
+1197,2020-07-16,0
+1198,2020-07-17,0
+1199,2020-07-18,0
+1200,2020-07-19,0
+1201,2020-07-20,0
+1202,2020-07-21,0
+1203,2020-07-22,0
+1204,2020-07-23,0
+1205,2020-07-24,0
+1206,2020-07-25,0
+1207,2020-07-26,0
+1208,2020-07-27,0
+1209,2020-07-28,0
+1210,2020-07-29,0
+1211,2020-07-30,0
+1212,2020-07-31,0
+1213,2020-08-01,0
+1214,2020-08-02,0
+1215,2020-08-03,0
+1216,2020-08-04,0
+1217,2020-08-05,0
+1218,2020-08-06,0
+1219,2020-08-07,0
+1220,2020-08-08,0
+1221,2020-08-09,0
+1222,2020-08-10,0
+1223,2020-08-11,0
+1224,2020-08-12,0
+1225,2020-08-13,0
+1226,2020-08-14,0
+1227,2020-08-15,0
+1228,2020-08-16,0
+1229,2020-08-17,0
+1230,2020-08-18,0
+1231,2020-08-19,0
+1232,2020-08-20,0
+1233,2020-08-21,0
+1234,2020-08-22,0
+1235,2020-08-23,0
+1236,2020-08-24,0
+1237,2020-08-25,0
+1238,2020-08-26,0
+1239,2020-08-27,0
+1240,2020-08-28,0
+1241,2020-08-29,0
+1242,2020-08-30,0
+1243,2020-08-31,0
+1244,2020-09-01,0
+1245,2020-09-02,0
+1246,2020-09-03,0
+1247,2020-09-04,0
+1248,2020-09-05,0
+1249,2020-09-06,0
+1250,2020-09-07,0
+1251,2020-09-08,0
+1252,2020-09-09,0
+1253,2020-09-10,0
+1254,2020-09-11,0
+1255,2020-09-12,0
+1256,2020-09-13,0
+1257,2020-09-14,0
+1258,2020-09-15,0
+1259,2020-09-16,0
+1260,2020-09-17,0
+1261,2020-09-18,0
+1262,2020-09-19,0
+1263,2020-09-20,0
+1264,2020-09-21,0
+1265,2020-09-22,0
+1266,2020-09-23,0
+1267,2020-09-24,0
+1268,2020-09-25,0
+1269,2020-09-26,0
+1270,2020-09-27,0
+1271,2020-09-28,0
+1272,2020-09-29,0
+1273,2020-09-30,0
+1274,2020-10-01,0
+1275,2020-10-02,0
+1276,2020-10-03,0
+1277,2020-10-04,0
+1278,2020-10-05,0
+1279,2020-10-06,0
+1280,2020-10-07,0
+1281,2020-10-08,0
+1282,2020-10-09,0
+1283,2020-10-10,0
+1284,2020-10-11,0
+1285,2020-10-12,0
+1286,2020-10-13,0
+1287,2020-10-14,0
+1288,2020-10-15,0
+1289,2020-10-16,0
+1290,2020-10-17,0
+1291,2020-10-18,0
+1292,2020-10-19,0
+1293,2020-10-20,0
+1294,2020-10-21,0
+1295,2020-10-22,0
+1296,2020-10-23,0
+1297,2020-10-24,0
+1298,2020-10-25,0
+1299,2020-10-26,0
+1300,2020-10-27,0
+1301,2020-10-28,0
+1302,2020-10-29,0
+1303,2020-10-30,0
+1304,2020-10-31,0
+1305,2020-11-01,0
+1306,2020-11-02,0
+1307,2020-11-03,0
+1308,2020-11-04,0
+1309,2020-11-05,0
+1310,2020-11-06,0
+1311,2020-11-07,0
+1312,2020-11-08,0
+1313,2020-11-09,0
+1314,2020-11-10,0
+1315,2020-11-11,0
+1316,2020-11-12,0
+1317,2020-11-13,0
+1318,2020-11-14,0
+1319,2020-11-15,0
+1320,2020-11-16,0
+1321,2020-11-17,0
+1322,2020-11-18,0
+1323,2020-11-19,0
+1324,2020-11-20,0
+1325,2020-11-21,0
+1326,2020-11-22,0
+1327,2020-11-23,0
+1328,2020-11-24,0
+1329,2020-11-25,0
+1330,2020-11-26,0
+1331,2020-11-27,0
+1332,2020-11-28,0
+1333,2020-11-29,0
+1334,2020-11-30,0
+1335,2020-12-01,0
+1336,2020-12-02,0
+1337,2020-12-03,0
+1338,2020-12-04,0
+1339,2020-12-05,0
+1340,2020-12-06,0
+1341,2020-12-07,0
+1342,2020-12-08,0
+1343,2020-12-09,0
+1344,2020-12-10,0
+1345,2020-12-11,0
+1346,2020-12-12,0
+1347,2020-12-13,0
+1348,2020-12-14,0
+1349,2020-12-15,0
+1350,2020-12-16,0
+1351,2020-12-17,0
+1352,2020-12-18,0
+1353,2020-12-19,0
+1354,2020-12-20,0
+1355,2020-12-21,0
+1356,2020-12-22,0
+1357,2020-12-23,0
+1358,2020-12-24,0
+1359,2020-12-25,0
+1360,2020-12-26,0
+1361,2020-12-27,0
+1362,2020-12-28,0
+1363,2020-12-29,0
+1364,2020-12-30,0
+1365,2020-12-31,0
+1366,2021-01-01,0
+1367,2021-01-02,0
+1368,2021-01-03,0
+1369,2021-01-04,0
+1370,2021-01-05,0
+1371,2021-01-06,0
+1372,2021-01-07,0
+1373,2021-01-08,0
+1374,2021-01-09,0
+1375,2021-01-10,0
+1376,2021-01-11,0
+1377,2021-01-12,0
+1378,2021-01-13,0
+1379,2021-01-14,0
+1380,2021-01-15,0
+1381,2021-01-16,0
+1382,2021-01-17,0
+1383,2021-01-18,0
+1384,2021-01-19,0
+1385,2021-01-20,0
+1386,2021-01-21,0
+1387,2021-01-22,0
+1388,2021-01-23,0
+1389,2021-01-24,0
+1390,2021-01-25,0
+1391,2021-01-26,0
+1392,2021-01-27,0
+1393,2021-01-28,0
+1394,2021-01-29,0
+1395,2021-01-30,0
+1396,2021-01-31,0
+1397,2021-02-01,0
+1398,2021-02-02,0
+1399,2021-02-03,0
+1400,2021-02-04,0
+1401,2021-02-05,0
+1402,2021-02-06,0
+1403,2021-02-07,0
+1404,2021-02-08,0
+1405,2021-02-09,0
+1406,2021-02-10,0
+1407,2021-02-11,0
+1408,2021-02-12,0
+1409,2021-02-13,0
+1410,2021-02-14,0
+1411,2021-02-15,0
+1412,2021-02-16,0
+1413,2021-02-17,0
+1414,2021-02-18,0
+1415,2021-02-19,0
+1416,2021-02-20,0
+1417,2021-02-21,0
+1418,2021-02-22,0
+1419,2021-02-23,0
+1420,2021-02-24,0
+1421,2021-02-25,0
+1422,2021-02-26,0
+1423,2021-02-27,0
+1424,2021-02-28,0
+1425,2021-03-01,0
+1426,2021-03-02,0
+1427,2021-03-03,0
+1428,2021-03-04,0
+1429,2021-03-05,0
+1430,2021-03-06,0
+1431,2021-03-07,0
+1432,2021-03-08,0
+1433,2021-03-09,0
+1434,2021-03-10,0
+1435,2021-03-11,0
+1436,2021-03-12,0
+1437,2021-03-13,0
+1438,2021-03-14,0
+1439,2021-03-15,0
+1440,2021-03-16,0
+1441,2021-03-17,0
+1442,2021-03-18,0
+1443,2021-03-19,0
+1444,2021-03-20,0
+1445,2021-03-21,0
+1446,2021-03-22,0
+1447,2021-03-23,0
+1448,2021-03-24,0
+1449,2021-03-25,0
+1450,2021-03-26,0
+1451,2021-03-27,0
+1452,2021-03-28,0
+1453,2021-03-29,0
+1454,2021-03-30,0
+1455,2021-03-31,0
+1456,2021-04-01,0
+1457,2021-04-02,0
+1458,2021-04-03,0
+1459,2021-04-04,0
+1460,2021-04-05,0
+1461,2021-04-06,0
+1462,2021-04-07,0
+1463,2021-04-08,0
+1464,2021-04-09,0
+1465,2021-04-10,0
+1466,2021-04-11,0
+1467,2021-04-12,0
+1468,2021-04-13,0
+1469,2021-04-14,0
+1470,2021-04-15,0
+1471,2021-04-16,0
+1472,2021-04-17,0
+1473,2021-04-18,0
+1474,2021-04-19,0
+1475,2021-04-20,0
+1476,2021-04-21,0
+1477,2021-04-22,0
+1478,2021-04-23,0
+1479,2021-04-24,0
+1480,2021-04-25,0
+1481,2021-04-26,0
+1482,2021-04-27,0
+1483,2021-04-28,0
+1484,2021-04-29,0
+1485,2021-04-30,0
+1486,2021-05-01,0
+1487,2021-05-02,0
+1488,2021-05-03,0
+1489,2021-05-04,0
+1490,2021-05-05,0
+1491,2021-05-06,0
+1492,2021-05-07,0
+1493,2021-05-08,0
+1494,2021-05-09,0
+1495,2021-05-10,0
+1496,2021-05-11,0
+1497,2021-05-12,0
+1498,2021-05-13,0
+1499,2021-05-14,0
+1500,2021-05-15,0
+1501,2021-05-16,0
+1502,2021-05-17,0
+1503,2021-05-18,0
+1504,2021-05-19,0
+1505,2021-05-20,0
+1506,2021-05-21,0
+1507,2021-05-22,0
+1508,2021-05-23,0
+1509,2021-05-24,0
+1510,2021-05-25,0
+1511,2021-05-26,0
+1512,2021-05-27,0
+1513,2021-05-28,0
+1514,2021-05-29,0
+1515,2021-05-30,0
+1516,2021-05-31,0
+1517,2021-06-01,0
+1518,2021-06-02,0
+1519,2021-06-03,0
+1520,2021-06-04,0
+1521,2021-06-05,0
+1522,2021-06-06,0
+1523,2021-06-07,0
+1524,2021-06-08,0
+1525,2021-06-09,0
+1526,2021-06-10,0
+1527,2021-06-11,0
+1528,2021-06-12,0
+1529,2021-06-13,0
+1530,2021-06-14,0
+1531,2021-06-15,0
+1532,2021-06-16,0
+1533,2021-06-17,0
+1534,2021-06-18,0
+1535,2021-06-19,0
+1536,2021-06-20,0
+1537,2021-06-21,0
+1538,2021-06-22,0
+1539,2021-06-23,0
+1540,2021-06-24,0
+1541,2021-06-25,0
+1542,2021-06-26,0
+1543,2021-06-27,0
+1544,2021-06-28,0
+1545,2021-06-29,0
+1546,2021-06-30,0
+1547,2021-07-01,0
+1548,2021-07-02,0
+1549,2021-07-03,0
+1550,2021-07-04,0
+1551,2021-07-05,0
+1552,2021-07-06,0
+1553,2021-07-07,0
+1554,2021-07-08,0
+1555,2021-07-09,0
+1556,2021-07-10,0
+1557,2021-07-11,0
+1558,2021-07-12,0
+1559,2021-07-13,0
+1560,2021-07-14,0
+1561,2021-07-15,0
+1562,2021-07-16,0
+1563,2021-07-17,0
+1564,2021-07-18,0
+1565,2021-07-19,0
+1566,2021-07-20,0
+1567,2021-07-21,0
+1568,2021-07-22,0
+1569,2021-07-23,0
+1570,2021-07-24,0
+1571,2021-07-25,0
+1572,2021-07-26,0
+1573,2021-07-27,0
+1574,2021-07-28,0
+1575,2021-07-29,0
+1576,2021-07-30,0
+1577,2021-07-31,0
+1578,2021-08-01,0
+1579,2021-08-02,0
+1580,2021-08-03,0
+1581,2021-08-04,0
+1582,2021-08-05,0
+1583,2021-08-06,0
+1584,2021-08-07,0
+1585,2021-08-08,0
+1586,2021-08-09,0
+1587,2021-08-10,0
+1588,2021-08-11,0
+1589,2021-08-12,0
+1590,2021-08-13,0
+1591,2021-08-14,0
+1592,2021-08-15,0
+1593,2021-08-16,0
+1594,2021-08-17,0
+1595,2021-08-18,0
+1596,2021-08-19,0
+1597,2021-08-20,0
+1598,2021-08-21,0
+1599,2021-08-22,0
+1600,2021-08-23,0
+1601,2021-08-24,0
+1602,2021-08-25,0
+1603,2021-08-26,0
+1604,2021-08-27,0
+1605,2021-08-28,0
+1606,2021-08-29,0
+1607,2021-08-30,0
+1608,2021-08-31,0
+1609,2021-09-01,0
+1610,2021-09-02,0
+1611,2021-09-03,0
+1612,2021-09-04,0
+1613,2021-09-05,0
+1614,2021-09-06,0
+1615,2021-09-07,0
+1616,2021-09-08,0
+1617,2021-09-09,0
+1618,2021-09-10,0
+1619,2021-09-11,0
+1620,2021-09-12,0
+1621,2021-09-13,0
+1622,2021-09-14,0
+1623,2021-09-15,0
+1624,2021-09-16,0
+1625,2021-09-17,0
+1626,2021-09-18,0
+1627,2021-09-19,0
+1628,2021-09-20,0
+1629,2021-09-21,0
+1630,2021-09-22,0
+1631,2021-09-23,0
+1632,2021-09-24,0
+1633,2021-09-25,0
+1634,2021-09-26,0
+1635,2021-09-27,0
+1636,2021-09-28,0
+1637,2021-09-29,0
+1638,2021-09-30,0
+1639,2021-10-01,0
+1640,2021-10-02,0
+1641,2021-10-03,0
+1642,2021-10-04,0
+1643,2021-10-05,0
+1644,2021-10-06,0
+1645,2021-10-07,0
+1646,2021-10-08,0
+1647,2021-10-09,0
+1648,2021-10-10,0
+1649,2021-10-11,0
+1650,2021-10-12,0
+1651,2021-10-13,0
+1652,2021-10-14,0
+1653,2021-10-15,0
+1654,2021-10-16,0
+1655,2021-10-17,0
+1656,2021-10-18,0
+1657,2021-10-19,0
+1658,2021-10-20,0
+1659,2021-10-21,0
+1660,2021-10-22,0
+1661,2021-10-23,0
+1662,2021-10-24,0
+1663,2021-10-25,0
+1664,2021-10-26,0
+1665,2021-10-27,0
+1666,2021-10-28,0
+1667,2021-10-29,0
+1668,2021-10-30,0
+1669,2021-10-31,0
+1670,2021-11-01,0
+1671,2021-11-02,0
+1672,2021-11-03,0
+1673,2021-11-04,0
+1674,2021-11-05,0
+1675,2021-11-06,0
+1676,2021-11-07,0
+1677,2021-11-08,0
+1678,2021-11-09,0
+1679,2021-11-10,0
+1680,2021-11-11,0
+1681,2021-11-12,0
+1682,2021-11-13,0
+1683,2021-11-14,0
+1684,2021-11-15,0
+1685,2021-11-16,0
+1686,2021-11-17,0
+1687,2021-11-18,0
+1688,2021-11-19,0
+1689,2021-11-20,0
+1690,2021-11-21,0
+1691,2021-11-22,0
+1692,2021-11-23,0
+1693,2021-11-24,0
+1694,2021-11-25,0
+1695,2021-11-26,0
+1696,2021-11-27,0
+1697,2021-11-28,0
+1698,2021-11-29,0
+1699,2021-11-30,0
+1700,2021-12-01,0
+1701,2021-12-02,0
+1702,2021-12-03,0
+1703,2021-12-04,0
+1704,2021-12-05,0
+1705,2021-12-06,0
+1706,2021-12-07,0
+1707,2021-12-08,0
+1708,2021-12-09,0
+1709,2021-12-10,0
+1710,2021-12-11,0
+1711,2021-12-12,0
+1712,2021-12-13,0
+1713,2021-12-14,0
+1714,2021-12-15,0
+1715,2021-12-16,0
+1716,2021-12-17,0
+1717,2021-12-18,0
+1718,2021-12-19,0
+1719,2021-12-20,0
+1720,2021-12-21,0
+1721,2021-12-22,0
+1722,2021-12-23,0
+1723,2021-12-24,0
+1724,2021-12-25,0
+1725,2021-12-26,0
+1726,2021-12-27,0
+1727,2021-12-28,0
+1728,2021-12-29,0
+1729,2021-12-30,0
+1730,2021-12-31,0
+1731,2022-01-01,0
+1732,2022-01-02,0
+1733,2022-01-03,0
+1734,2022-01-04,0
+1735,2022-01-05,0
+1736,2022-01-06,0
+1737,2022-01-07,0
+1738,2022-01-08,0
+1739,2022-01-09,0
+1740,2022-01-10,0
+1741,2022-01-11,0
+1742,2022-01-12,0
+1743,2022-01-13,0
+1744,2022-01-14,0
+1745,2022-01-15,0
+1746,2022-01-16,0
+1747,2022-01-17,0
+1748,2022-01-18,0
+1749,2022-01-19,0
+1750,2022-01-20,0
+1751,2022-01-21,0
+1752,2022-01-22,0
+1753,2022-01-23,0
+1754,2022-01-24,0
+1755,2022-01-25,0
+1756,2022-01-26,0
+1757,2022-01-27,0
+1758,2022-01-28,0
+1759,2022-01-29,0
+1760,2022-01-30,0
+1761,2022-01-31,0
+1762,2022-02-01,0
+1763,2022-02-02,0
+1764,2022-02-03,0
+1765,2022-02-04,0
+1766,2022-02-05,0
+1767,2022-02-06,0
+1768,2022-02-07,0
+1769,2022-02-08,0
+1770,2022-02-09,0
+1771,2022-02-10,0
+1772,2022-02-11,0
+1773,2022-02-12,0
+1774,2022-02-13,0
+1775,2022-02-14,0
+1776,2022-02-15,0
+1777,2022-02-16,0
+1778,2022-02-17,0
+1779,2022-02-18,0
+1780,2022-02-19,0
+1781,2022-02-20,0
+1782,2022-02-21,0
+1783,2022-02-22,0
+1784,2022-02-23,0
+1785,2022-02-24,0
+1786,2022-02-25,0
+1787,2022-02-26,0
+1788,2022-02-27,0
+1789,2022-02-28,0
+1790,2022-03-01,0
+1791,2022-03-02,0
+1792,2022-03-03,0
+1793,2022-03-04,0
+1794,2022-03-05,0
+1795,2022-03-06,0
+1796,2022-03-07,0
+1797,2022-03-08,0
+1798,2022-03-09,0
+1799,2022-03-10,0
+1800,2022-03-11,0
+1801,2022-03-12,0
+1802,2022-03-13,0
+1803,2022-03-14,0
+1804,2022-03-15,0
+1805,2022-03-16,0
+1806,2022-03-17,0
+1807,2022-03-18,0
+1808,2022-03-19,0
+1809,2022-03-20,0
+1810,2022-03-21,0
+1811,2022-03-22,0
+1812,2022-03-23,0
+1813,2022-03-24,0
+1814,2022-03-25,0
+1815,2022-03-26,0
+1816,2022-03-27,0
+1817,2022-03-28,0
+1818,2022-03-29,0
+1819,2022-03-30,0
+1820,2022-03-31,0
+1821,2022-04-01,0
+1822,2022-04-02,0
+1823,2022-04-03,0
+1824,2022-04-04,0
+1825,2022-04-05,0
+1826,2022-04-06,0
+1827,2022-04-07,0
+1828,2022-04-08,0
+1829,2022-04-09,0
+1830,2022-04-10,0
+1831,2022-04-11,0
+1832,2022-04-12,0
+1833,2022-04-13,0
+1834,2022-04-14,0
+1835,2022-04-15,0
+1836,2022-04-16,0
+1837,2022-04-17,0
+1838,2022-04-18,0
+1839,2022-04-19,0
+1840,2022-04-20,0
+1841,2022-04-21,0
+1842,2022-04-22,0
+1843,2022-04-23,0
+1844,2022-04-24,0
+1845,2022-04-25,0
+1846,2022-04-26,0
+1847,2022-04-27,0
+1848,2022-04-28,0
+1849,2022-04-29,0
+1850,2022-04-30,0
+1851,2022-05-01,0
+1852,2022-05-02,0
+1853,2022-05-03,0
+1854,2022-05-04,0
+1855,2022-05-05,0
+1856,2022-05-06,0
+1857,2022-05-07,0
+1858,2022-05-08,0
+1859,2022-05-09,0
+1860,2022-05-10,0
+1861,2022-05-11,0
+1862,2022-05-12,0
+1863,2022-05-13,0
+1864,2022-05-14,0
+1865,2022-05-15,0
+1866,2022-05-16,0
+1867,2022-05-17,0
+1868,2022-05-18,0
+1869,2022-05-19,0
+1870,2022-05-20,0
+1871,2022-05-21,0
+1872,2022-05-22,0
+1873,2022-05-23,0
+1874,2022-05-24,0
+1875,2022-05-25,0
+1876,2022-05-26,0
+1877,2022-05-27,0
+1878,2022-05-28,0
+1879,2022-05-29,0
+1880,2022-05-30,0
+1881,2022-05-31,0
+1882,2022-06-01,0
+1883,2022-06-02,0
+1884,2022-06-03,0
+1885,2022-06-04,0
+1886,2022-06-05,0
+1887,2022-06-06,0
+1888,2022-06-07,0
+1889,2022-06-08,0
+1890,2022-06-09,0
+1891,2022-06-10,0
+1892,2022-06-11,0
+1893,2022-06-12,0
+1894,2022-06-13,0
+1895,2022-06-14,0
+1896,2022-06-15,0
+1897,2022-06-16,0
+1898,2022-06-17,0
+1899,2022-06-18,0
+1900,2022-06-19,0
+1901,2022-06-20,0
+1902,2022-06-21,0
+1903,2022-06-22,0
+1904,2022-06-23,0
+1905,2022-06-24,0
+1906,2022-06-25,0
+1907,2022-06-26,0
+1908,2022-06-27,0
+1909,2022-06-28,0
+1910,2022-06-29,0
+1911,2022-06-30,0
+1912,2022-07-01,0
+1913,2022-07-02,0
+1914,2022-07-03,0
+1915,2022-07-04,0
+1916,2022-07-05,0
+1917,2022-07-06,0
+1918,2022-07-07,0
+1919,2022-07-08,0
+1920,2022-07-09,0
+1921,2022-07-10,0
+1922,2022-07-11,0
+1923,2022-07-12,0
+1924,2022-07-13,0
+1925,2022-07-14,0
+1926,2022-07-15,0
+1927,2022-07-16,0
+1928,2022-07-17,0
+1929,2022-07-18,0
+1930,2022-07-19,0
+1931,2022-07-20,0
+1932,2022-07-21,0
+1933,2022-07-22,0
+1934,2022-07-23,0
+1935,2022-07-24,0
+1936,2022-07-25,0
+1937,2022-07-26,0
+1938,2022-07-27,0
+1939,2022-07-28,0
+1940,2022-07-29,0
+1941,2022-07-30,0
+1942,2022-07-31,0
+1943,2022-08-01,0
+1944,2022-08-02,0
+1945,2022-08-03,0
+1946,2022-08-04,0
+1947,2022-08-05,0
+1948,2022-08-06,0
+1949,2022-08-07,0
+1950,2022-08-08,0
+1951,2022-08-09,0
+1952,2022-08-10,0
+1953,2022-08-11,0
+1954,2022-08-12,0
+1955,2022-08-13,0
+1956,2022-08-14,0
+1957,2022-08-15,0
+1958,2022-08-16,0
+1959,2022-08-17,0
+1960,2022-08-18,0
+1961,2022-08-19,0
+1962,2022-08-20,0
+1963,2022-08-21,0
+1964,2022-08-22,0
+1965,2022-08-23,0
+1966,2022-08-24,0
+1967,2022-08-25,0
+1968,2022-08-26,0
+1969,2022-08-27,0
+1970,2022-08-28,0
+1971,2022-08-29,0
+1972,2022-08-30,0
+1973,2022-08-31,0
+1974,2022-09-01,0
+1975,2022-09-02,0
+1976,2022-09-03,0
+1977,2022-09-04,0
+1978,2022-09-05,0
+1979,2022-09-06,0
+1980,2022-09-07,0
+1981,2022-09-08,0
+1982,2022-09-09,0
+1983,2022-09-10,0
+1984,2022-09-11,0
+1985,2022-09-12,0
+1986,2022-09-13,0
+1987,2022-09-14,0
+1988,2022-09-15,0
+1989,2022-09-16,0
+1990,2022-09-17,0
+1991,2022-09-18,0
+1992,2022-09-19,0
+1993,2022-09-20,0
+1994,2022-09-21,0
+1995,2022-09-22,0
+1996,2022-09-23,0
+1997,2022-09-24,0
+1998,2022-09-25,0
+1999,2022-09-26,0
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_1.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_1.csv
index ab1907a..5d55389 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_1.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_1.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-2000,2020-01-01,1
-2001,2020-01-02,1
-2002,2020-01-03,1
-2003,2020-01-04,1
-2004,2020-01-05,1
-2005,2020-01-06,1
-2006,2020-01-07,1
-2007,2020-01-08,1
-2008,2020-01-09,1
-2009,2020-01-10,1
-2010,2020-01-11,1
-2011,2020-01-12,1
-2012,2020-01-13,1
-2013,2020-01-14,1
-2014,2020-01-15,1
-2015,2020-01-16,1
-2016,2020-01-17,1
-2017,2020-01-18,1
-2018,2020-01-19,1
-2019,2020-01-20,1
-2020,2020-01-21,1
-2021,2020-01-22,1
-2022,2020-01-23,1
-2023,2020-01-24,1
-2024,2020-01-25,1
-2025,2020-01-26,1
-2026,2020-01-27,1
-2027,2020-01-28,1
-2028,2020-01-29,1
-2029,2020-01-30,1
-2030,2020-01-31,1
-2031,2020-02-01,1
-2032,2020-02-02,1
-2033,2020-02-03,1
-2034,2020-02-04,1
-2035,2020-02-05,1
-2036,2020-02-06,1
-2037,2020-02-07,1
-2038,2020-02-08,1
-2039,2020-02-09,1
-2040,2020-02-10,1
-2041,2020-02-11,1
-2042,2020-02-12,1
-2043,2020-02-13,1
-2044,2020-02-14,1
-2045,2020-02-15,1
-2046,2020-02-16,1
-2047,2020-02-17,1
-2048,2020-02-18,1
-2049,2020-02-19,1
-2050,2020-02-20,1
-2051,2020-02-21,1
-2052,2020-02-22,1
-2053,2020-02-23,1
-2054,2020-02-24,1
-2055,2020-02-25,1
-2056,2020-02-26,1
-2057,2020-02-27,1
-2058,2020-02-28,1
-2059,2020-02-29,1
-2060,2020-03-01,1
-2061,2020-03-02,1
-2062,2020-03-03,1
-2063,2020-03-04,1
-2064,2020-03-05,1
-2065,2020-03-06,1
-2066,2020-03-07,1
-2067,2020-03-08,1
-2068,2020-03-09,1
-2069,2020-03-10,1
-2070,2020-03-11,1
-2071,2020-03-12,1
-2072,2020-03-13,1
-2073,2020-03-14,1
-2074,2020-03-15,1
-2075,2020-03-16,1
-2076,2020-03-17,1
-2077,2020-03-18,1
-2078,2020-03-19,1
-2079,2020-03-20,1
-2080,2020-03-21,1
-2081,2020-03-22,1
-2082,2020-03-23,1
-2083,2020-03-24,1
-2084,2020-03-25,1
-2085,2020-03-26,1
-2086,2020-03-27,1
-2087,2020-03-28,1
-2088,2020-03-29,1
-2089,2020-03-30,1
-2090,2020-03-31,1
-2091,2020-04-01,1
-2092,2020-04-02,1
-2093,2020-04-03,1
-2094,2020-04-04,1
-2095,2020-04-05,1
-2096,2020-04-06,1
-2097,2020-04-07,1
-2098,2020-04-08,1
-2099,2020-04-09,1
-2100,2020-04-10,1
-2101,2020-04-11,1
-2102,2020-04-12,1
-2103,2020-04-13,1
-2104,2020-04-14,1
-2105,2020-04-15,1
-2106,2020-04-16,1
-2107,2020-04-17,1
-2108,2020-04-18,1
-2109,2020-04-19,1
-2110,2020-04-20,1
-2111,2020-04-21,1
-2112,2020-04-22,1
-2113,2020-04-23,1
-2114,2020-04-24,1
-2115,2020-04-25,1
-2116,2020-04-26,1
-2117,2020-04-27,1
-2118,2020-04-28,1
-2119,2020-04-29,1
-2120,2020-04-30,1
-2121,2020-05-01,1
-2122,2020-05-02,1
-2123,2020-05-03,1
-2124,2020-05-04,1
-2125,2020-05-05,1
-2126,2020-05-06,1
-2127,2020-05-07,1
-2128,2020-05-08,1
-2129,2020-05-09,1
-2130,2020-05-10,1
-2131,2020-05-11,1
-2132,2020-05-12,1
-2133,2020-05-13,1
-2134,2020-05-14,1
-2135,2020-05-15,1
-2136,2020-05-16,1
-2137,2020-05-17,1
-2138,2020-05-18,1
-2139,2020-05-19,1
-2140,2020-05-20,1
-2141,2020-05-21,1
-2142,2020-05-22,1
-2143,2020-05-23,1
-2144,2020-05-24,1
-2145,2020-05-25,1
-2146,2020-05-26,1
-2147,2020-05-27,1
-2148,2020-05-28,1
-2149,2020-05-29,1
-2150,2020-05-30,1
-2151,2020-05-31,1
-2152,2020-06-01,1
-2153,2020-06-02,1
-2154,2020-06-03,1
-2155,2020-06-04,1
-2156,2020-06-05,1
-2157,2020-06-06,1
-2158,2020-06-07,1
-2159,2020-06-08,1
-2160,2020-06-09,1
-2161,2020-06-10,1
-2162,2020-06-11,1
-2163,2020-06-12,1
-2164,2020-06-13,1
-2165,2020-06-14,1
-2166,2020-06-15,1
-2167,2020-06-16,1
-2168,2020-06-17,1
-2169,2020-06-18,1
-2170,2020-06-19,1
-2171,2020-06-20,1
-2172,2020-06-21,1
-2173,2020-06-22,1
-2174,2020-06-23,1
-2175,2020-06-24,1
-2176,2020-06-25,1
-2177,2020-06-26,1
-2178,2020-06-27,1
-2179,2020-06-28,1
-2180,2020-06-29,1
-2181,2020-06-30,1
-2182,2020-07-01,1
-2183,2020-07-02,1
-2184,2020-07-03,1
-2185,2020-07-04,1
-2186,2020-07-05,1
-2187,2020-07-06,1
-2188,2020-07-07,1
-2189,2020-07-08,1
-2190,2020-07-09,1
-2191,2020-07-10,1
-2192,2020-07-11,1
-2193,2020-07-12,1
-2194,2020-07-13,1
-2195,2020-07-14,1
-2196,2020-07-15,1
-2197,2020-07-16,1
-2198,2020-07-17,1
-2199,2020-07-18,1
-2200,2020-07-19,1
-2201,2020-07-20,1
-2202,2020-07-21,1
-2203,2020-07-22,1
-2204,2020-07-23,1
-2205,2020-07-24,1
-2206,2020-07-25,1
-2207,2020-07-26,1
-2208,2020-07-27,1
-2209,2020-07-28,1
-2210,2020-07-29,1
-2211,2020-07-30,1
-2212,2020-07-31,1
-2213,2020-08-01,1
-2214,2020-08-02,1
-2215,2020-08-03,1
-2216,2020-08-04,1
-2217,2020-08-05,1
-2218,2020-08-06,1
-2219,2020-08-07,1
-2220,2020-08-08,1
-2221,2020-08-09,1
-2222,2020-08-10,1
-2223,2020-08-11,1
-2224,2020-08-12,1
-2225,2020-08-13,1
-2226,2020-08-14,1
-2227,2020-08-15,1
-2228,2020-08-16,1
-2229,2020-08-17,1
-2230,2020-08-18,1
-2231,2020-08-19,1
-2232,2020-08-20,1
-2233,2020-08-21,1
-2234,2020-08-22,1
-2235,2020-08-23,1
-2236,2020-08-24,1
-2237,2020-08-25,1
-2238,2020-08-26,1
-2239,2020-08-27,1
-2240,2020-08-28,1
-2241,2020-08-29,1
-2242,2020-08-30,1
-2243,2020-08-31,1
-2244,2020-09-01,1
-2245,2020-09-02,1
-2246,2020-09-03,1
-2247,2020-09-04,1
-2248,2020-09-05,1
-2249,2020-09-06,1
-2250,2020-09-07,1
-2251,2020-09-08,1
-2252,2020-09-09,1
-2253,2020-09-10,1
-2254,2020-09-11,1
-2255,2020-09-12,1
-2256,2020-09-13,1
-2257,2020-09-14,1
-2258,2020-09-15,1
-2259,2020-09-16,1
-2260,2020-09-17,1
-2261,2020-09-18,1
-2262,2020-09-19,1
-2263,2020-09-20,1
-2264,2020-09-21,1
-2265,2020-09-22,1
-2266,2020-09-23,1
-2267,2020-09-24,1
-2268,2020-09-25,1
-2269,2020-09-26,1
-2270,2020-09-27,1
-2271,2020-09-28,1
-2272,2020-09-29,1
-2273,2020-09-30,1
-2274,2020-10-01,1
-2275,2020-10-02,1
-2276,2020-10-03,1
-2277,2020-10-04,1
-2278,2020-10-05,1
-2279,2020-10-06,1
-2280,2020-10-07,1
-2281,2020-10-08,1
-2282,2020-10-09,1
-2283,2020-10-10,1
-2284,2020-10-11,1
-2285,2020-10-12,1
-2286,2020-10-13,1
-2287,2020-10-14,1
-2288,2020-10-15,1
-2289,2020-10-16,1
-2290,2020-10-17,1
-2291,2020-10-18,1
-2292,2020-10-19,1
-2293,2020-10-20,1
-2294,2020-10-21,1
-2295,2020-10-22,1
-2296,2020-10-23,1
-2297,2020-10-24,1
-2298,2020-10-25,1
-2299,2020-10-26,1
-2300,2020-10-27,1
-2301,2020-10-28,1
-2302,2020-10-29,1
-2303,2020-10-30,1
-2304,2020-10-31,1
-2305,2020-11-01,1
-2306,2020-11-02,1
-2307,2020-11-03,1
-2308,2020-11-04,1
-2309,2020-11-05,1
-2310,2020-11-06,1
-2311,2020-11-07,1
-2312,2020-11-08,1
-2313,2020-11-09,1
-2314,2020-11-10,1
-2315,2020-11-11,1
-2316,2020-11-12,1
-2317,2020-11-13,1
-2318,2020-11-14,1
-2319,2020-11-15,1
-2320,2020-11-16,1
-2321,2020-11-17,1
-2322,2020-11-18,1
-2323,2020-11-19,1
-2324,2020-11-20,1
-2325,2020-11-21,1
-2326,2020-11-22,1
-2327,2020-11-23,1
-2328,2020-11-24,1
-2329,2020-11-25,1
-2330,2020-11-26,1
-2331,2020-11-27,1
-2332,2020-11-28,1
-2333,2020-11-29,1
-2334,2020-11-30,1
-2335,2020-12-01,1
-2336,2020-12-02,1
-2337,2020-12-03,1
-2338,2020-12-04,1
-2339,2020-12-05,1
-2340,2020-12-06,1
-2341,2020-12-07,1
-2342,2020-12-08,1
-2343,2020-12-09,1
-2344,2020-12-10,1
-2345,2020-12-11,1
-2346,2020-12-12,1
-2347,2020-12-13,1
-2348,2020-12-14,1
-2349,2020-12-15,1
-2350,2020-12-16,1
-2351,2020-12-17,1
-2352,2020-12-18,1
-2353,2020-12-19,1
-2354,2020-12-20,1
-2355,2020-12-21,1
-2356,2020-12-22,1
-2357,2020-12-23,1
-2358,2020-12-24,1
-2359,2020-12-25,1
-2360,2020-12-26,1
-2361,2020-12-27,1
-2362,2020-12-28,1
-2363,2020-12-29,1
-2364,2020-12-30,1
-2365,2020-12-31,1
-2366,2021-01-01,1
-2367,2021-01-02,1
-2368,2021-01-03,1
-2369,2021-01-04,1
-2370,2021-01-05,1
-2371,2021-01-06,1
-2372,2021-01-07,1
-2373,2021-01-08,1
-2374,2021-01-09,1
-2375,2021-01-10,1
-2376,2021-01-11,1
-2377,2021-01-12,1
-2378,2021-01-13,1
-2379,2021-01-14,1
-2380,2021-01-15,1
-2381,2021-01-16,1
-2382,2021-01-17,1
-2383,2021-01-18,1
-2384,2021-01-19,1
-2385,2021-01-20,1
-2386,2021-01-21,1
-2387,2021-01-22,1
-2388,2021-01-23,1
-2389,2021-01-24,1
-2390,2021-01-25,1
-2391,2021-01-26,1
-2392,2021-01-27,1
-2393,2021-01-28,1
-2394,2021-01-29,1
-2395,2021-01-30,1
-2396,2021-01-31,1
-2397,2021-02-01,1
-2398,2021-02-02,1
-2399,2021-02-03,1
-2400,2021-02-04,1
-2401,2021-02-05,1
-2402,2021-02-06,1
-2403,2021-02-07,1
-2404,2021-02-08,1
-2405,2021-02-09,1
-2406,2021-02-10,1
-2407,2021-02-11,1
-2408,2021-02-12,1
-2409,2021-02-13,1
-2410,2021-02-14,1
-2411,2021-02-15,1
-2412,2021-02-16,1
-2413,2021-02-17,1
-2414,2021-02-18,1
-2415,2021-02-19,1
-2416,2021-02-20,1
-2417,2021-02-21,1
-2418,2021-02-22,1
-2419,2021-02-23,1
-2420,2021-02-24,1
-2421,2021-02-25,1
-2422,2021-02-26,1
-2423,2021-02-27,1
-2424,2021-02-28,1
-2425,2021-03-01,1
-2426,2021-03-02,1
-2427,2021-03-03,1
-2428,2021-03-04,1
-2429,2021-03-05,1
-2430,2021-03-06,1
-2431,2021-03-07,1
-2432,2021-03-08,1
-2433,2021-03-09,1
-2434,2021-03-10,1
-2435,2021-03-11,1
-2436,2021-03-12,1
-2437,2021-03-13,1
-2438,2021-03-14,1
-2439,2021-03-15,1
-2440,2021-03-16,1
-2441,2021-03-17,1
-2442,2021-03-18,1
-2443,2021-03-19,1
-2444,2021-03-20,1
-2445,2021-03-21,1
-2446,2021-03-22,1
-2447,2021-03-23,1
-2448,2021-03-24,1
-2449,2021-03-25,1
-2450,2021-03-26,1
-2451,2021-03-27,1
-2452,2021-03-28,1
-2453,2021-03-29,1
-2454,2021-03-30,1
-2455,2021-03-31,1
-2456,2021-04-01,1
-2457,2021-04-02,1
-2458,2021-04-03,1
-2459,2021-04-04,1
-2460,2021-04-05,1
-2461,2021-04-06,1
-2462,2021-04-07,1
-2463,2021-04-08,1
-2464,2021-04-09,1
-2465,2021-04-10,1
-2466,2021-04-11,1
-2467,2021-04-12,1
-2468,2021-04-13,1
-2469,2021-04-14,1
-2470,2021-04-15,1
-2471,2021-04-16,1
-2472,2021-04-17,1
-2473,2021-04-18,1
-2474,2021-04-19,1
-2475,2021-04-20,1
-2476,2021-04-21,1
-2477,2021-04-22,1
-2478,2021-04-23,1
-2479,2021-04-24,1
-2480,2021-04-25,1
-2481,2021-04-26,1
-2482,2021-04-27,1
-2483,2021-04-28,1
-2484,2021-04-29,1
-2485,2021-04-30,1
-2486,2021-05-01,1
-2487,2021-05-02,1
-2488,2021-05-03,1
-2489,2021-05-04,1
-2490,2021-05-05,1
-2491,2021-05-06,1
-2492,2021-05-07,1
-2493,2021-05-08,1
-2494,2021-05-09,1
-2495,2021-05-10,1
-2496,2021-05-11,1
-2497,2021-05-12,1
-2498,2021-05-13,1
-2499,2021-05-14,1
-2500,2021-05-15,1
-2501,2021-05-16,1
-2502,2021-05-17,1
-2503,2021-05-18,1
-2504,2021-05-19,1
-2505,2021-05-20,1
-2506,2021-05-21,1
-2507,2021-05-22,1
-2508,2021-05-23,1
-2509,2021-05-24,1
-2510,2021-05-25,1
-2511,2021-05-26,1
-2512,2021-05-27,1
-2513,2021-05-28,1
-2514,2021-05-29,1
-2515,2021-05-30,1
-2516,2021-05-31,1
-2517,2021-06-01,1
-2518,2021-06-02,1
-2519,2021-06-03,1
-2520,2021-06-04,1
-2521,2021-06-05,1
-2522,2021-06-06,1
-2523,2021-06-07,1
-2524,2021-06-08,1
-2525,2021-06-09,1
-2526,2021-06-10,1
-2527,2021-06-11,1
-2528,2021-06-12,1
-2529,2021-06-13,1
-2530,2021-06-14,1
-2531,2021-06-15,1
-2532,2021-06-16,1
-2533,2021-06-17,1
-2534,2021-06-18,1
-2535,2021-06-19,1
-2536,2021-06-20,1
-2537,2021-06-21,1
-2538,2021-06-22,1
-2539,2021-06-23,1
-2540,2021-06-24,1
-2541,2021-06-25,1
-2542,2021-06-26,1
-2543,2021-06-27,1
-2544,2021-06-28,1
-2545,2021-06-29,1
-2546,2021-06-30,1
-2547,2021-07-01,1
-2548,2021-07-02,1
-2549,2021-07-03,1
-2550,2021-07-04,1
-2551,2021-07-05,1
-2552,2021-07-06,1
-2553,2021-07-07,1
-2554,2021-07-08,1
-2555,2021-07-09,1
-2556,2021-07-10,1
-2557,2021-07-11,1
-2558,2021-07-12,1
-2559,2021-07-13,1
-2560,2021-07-14,1
-2561,2021-07-15,1
-2562,2021-07-16,1
-2563,2021-07-17,1
-2564,2021-07-18,1
-2565,2021-07-19,1
-2566,2021-07-20,1
-2567,2021-07-21,1
-2568,2021-07-22,1
-2569,2021-07-23,1
-2570,2021-07-24,1
-2571,2021-07-25,1
-2572,2021-07-26,1
-2573,2021-07-27,1
-2574,2021-07-28,1
-2575,2021-07-29,1
-2576,2021-07-30,1
-2577,2021-07-31,1
-2578,2021-08-01,1
-2579,2021-08-02,1
-2580,2021-08-03,1
-2581,2021-08-04,1
-2582,2021-08-05,1
-2583,2021-08-06,1
-2584,2021-08-07,1
-2585,2021-08-08,1
-2586,2021-08-09,1
-2587,2021-08-10,1
-2588,2021-08-11,1
-2589,2021-08-12,1
-2590,2021-08-13,1
-2591,2021-08-14,1
-2592,2021-08-15,1
-2593,2021-08-16,1
-2594,2021-08-17,1
-2595,2021-08-18,1
-2596,2021-08-19,1
-2597,2021-08-20,1
-2598,2021-08-21,1
-2599,2021-08-22,1
-2600,2021-08-23,1
-2601,2021-08-24,1
-2602,2021-08-25,1
-2603,2021-08-26,1
-2604,2021-08-27,1
-2605,2021-08-28,1
-2606,2021-08-29,1
-2607,2021-08-30,1
-2608,2021-08-31,1
-2609,2021-09-01,1
-2610,2021-09-02,1
-2611,2021-09-03,1
-2612,2021-09-04,1
-2613,2021-09-05,1
-2614,2021-09-06,1
-2615,2021-09-07,1
-2616,2021-09-08,1
-2617,2021-09-09,1
-2618,2021-09-10,1
-2619,2021-09-11,1
-2620,2021-09-12,1
-2621,2021-09-13,1
-2622,2021-09-14,1
-2623,2021-09-15,1
-2624,2021-09-16,1
-2625,2021-09-17,1
-2626,2021-09-18,1
-2627,2021-09-19,1
-2628,2021-09-20,1
-2629,2021-09-21,1
-2630,2021-09-22,1
-2631,2021-09-23,1
-2632,2021-09-24,1
-2633,2021-09-25,1
-2634,2021-09-26,1
-2635,2021-09-27,1
-2636,2021-09-28,1
-2637,2021-09-29,1
-2638,2021-09-30,1
-2639,2021-10-01,1
-2640,2021-10-02,1
-2641,2021-10-03,1
-2642,2021-10-04,1
-2643,2021-10-05,1
-2644,2021-10-06,1
-2645,2021-10-07,1
-2646,2021-10-08,1
-2647,2021-10-09,1
-2648,2021-10-10,1
-2649,2021-10-11,1
-2650,2021-10-12,1
-2651,2021-10-13,1
-2652,2021-10-14,1
-2653,2021-10-15,1
-2654,2021-10-16,1
-2655,2021-10-17,1
-2656,2021-10-18,1
-2657,2021-10-19,1
-2658,2021-10-20,1
-2659,2021-10-21,1
-2660,2021-10-22,1
-2661,2021-10-23,1
-2662,2021-10-24,1
-2663,2021-10-25,1
-2664,2021-10-26,1
-2665,2021-10-27,1
-2666,2021-10-28,1
-2667,2021-10-29,1
-2668,2021-10-30,1
-2669,2021-10-31,1
-2670,2021-11-01,1
-2671,2021-11-02,1
-2672,2021-11-03,1
-2673,2021-11-04,1
-2674,2021-11-05,1
-2675,2021-11-06,1
-2676,2021-11-07,1
-2677,2021-11-08,1
-2678,2021-11-09,1
-2679,2021-11-10,1
-2680,2021-11-11,1
-2681,2021-11-12,1
-2682,2021-11-13,1
-2683,2021-11-14,1
-2684,2021-11-15,1
-2685,2021-11-16,1
-2686,2021-11-17,1
-2687,2021-11-18,1
-2688,2021-11-19,1
-2689,2021-11-20,1
-2690,2021-11-21,1
-2691,2021-11-22,1
-2692,2021-11-23,1
-2693,2021-11-24,1
-2694,2021-11-25,1
-2695,2021-11-26,1
-2696,2021-11-27,1
-2697,2021-11-28,1
-2698,2021-11-29,1
-2699,2021-11-30,1
-2700,2021-12-01,1
-2701,2021-12-02,1
-2702,2021-12-03,1
-2703,2021-12-04,1
-2704,2021-12-05,1
-2705,2021-12-06,1
-2706,2021-12-07,1
-2707,2021-12-08,1
-2708,2021-12-09,1
-2709,2021-12-10,1
-2710,2021-12-11,1
-2711,2021-12-12,1
-2712,2021-12-13,1
-2713,2021-12-14,1
-2714,2021-12-15,1
-2715,2021-12-16,1
-2716,2021-12-17,1
-2717,2021-12-18,1
-2718,2021-12-19,1
-2719,2021-12-20,1
-2720,2021-12-21,1
-2721,2021-12-22,1
-2722,2021-12-23,1
-2723,2021-12-24,1
-2724,2021-12-25,1
-2725,2021-12-26,1
-2726,2021-12-27,1
-2727,2021-12-28,1
-2728,2021-12-29,1
-2729,2021-12-30,1
-2730,2021-12-31,1
-2731,2022-01-01,1
-2732,2022-01-02,1
-2733,2022-01-03,1
-2734,2022-01-04,1
-2735,2022-01-05,1
-2736,2022-01-06,1
-2737,2022-01-07,1
-2738,2022-01-08,1
-2739,2022-01-09,1
-2740,2022-01-10,1
-2741,2022-01-11,1
-2742,2022-01-12,1
-2743,2022-01-13,1
-2744,2022-01-14,1
-2745,2022-01-15,1
-2746,2022-01-16,1
-2747,2022-01-17,1
-2748,2022-01-18,1
-2749,2022-01-19,1
-2750,2022-01-20,1
-2751,2022-01-21,1
-2752,2022-01-22,1
-2753,2022-01-23,1
-2754,2022-01-24,1
-2755,2022-01-25,1
-2756,2022-01-26,1
-2757,2022-01-27,1
-2758,2022-01-28,1
-2759,2022-01-29,1
-2760,2022-01-30,1
-2761,2022-01-31,1
-2762,2022-02-01,1
-2763,2022-02-02,1
-2764,2022-02-03,1
-2765,2022-02-04,1
-2766,2022-02-05,1
-2767,2022-02-06,1
-2768,2022-02-07,1
-2769,2022-02-08,1
-2770,2022-02-09,1
-2771,2022-02-10,1
-2772,2022-02-11,1
-2773,2022-02-12,1
-2774,2022-02-13,1
-2775,2022-02-14,1
-2776,2022-02-15,1
-2777,2022-02-16,1
-2778,2022-02-17,1
-2779,2022-02-18,1
-2780,2022-02-19,1
-2781,2022-02-20,1
-2782,2022-02-21,1
-2783,2022-02-22,1
-2784,2022-02-23,1
-2785,2022-02-24,1
-2786,2022-02-25,1
-2787,2022-02-26,1
-2788,2022-02-27,1
-2789,2022-02-28,1
-2790,2022-03-01,1
-2791,2022-03-02,1
-2792,2022-03-03,1
-2793,2022-03-04,1
-2794,2022-03-05,1
-2795,2022-03-06,1
-2796,2022-03-07,1
-2797,2022-03-08,1
-2798,2022-03-09,1
-2799,2022-03-10,1
-2800,2022-03-11,1
-2801,2022-03-12,1
-2802,2022-03-13,1
-2803,2022-03-14,1
-2804,2022-03-15,1
-2805,2022-03-16,1
-2806,2022-03-17,1
-2807,2022-03-18,1
-2808,2022-03-19,1
-2809,2022-03-20,1
-2810,2022-03-21,1
-2811,2022-03-22,1
-2812,2022-03-23,1
-2813,2022-03-24,1
-2814,2022-03-25,1
-2815,2022-03-26,1
-2816,2022-03-27,1
-2817,2022-03-28,1
-2818,2022-03-29,1
-2819,2022-03-30,1
-2820,2022-03-31,1
-2821,2022-04-01,1
-2822,2022-04-02,1
-2823,2022-04-03,1
-2824,2022-04-04,1
-2825,2022-04-05,1
-2826,2022-04-06,1
-2827,2022-04-07,1
-2828,2022-04-08,1
-2829,2022-04-09,1
-2830,2022-04-10,1
-2831,2022-04-11,1
-2832,2022-04-12,1
-2833,2022-04-13,1
-2834,2022-04-14,1
-2835,2022-04-15,1
-2836,2022-04-16,1
-2837,2022-04-17,1
-2838,2022-04-18,1
-2839,2022-04-19,1
-2840,2022-04-20,1
-2841,2022-04-21,1
-2842,2022-04-22,1
-2843,2022-04-23,1
-2844,2022-04-24,1
-2845,2022-04-25,1
-2846,2022-04-26,1
-2847,2022-04-27,1
-2848,2022-04-28,1
-2849,2022-04-29,1
-2850,2022-04-30,1
-2851,2022-05-01,1
-2852,2022-05-02,1
-2853,2022-05-03,1
-2854,2022-05-04,1
-2855,2022-05-05,1
-2856,2022-05-06,1
-2857,2022-05-07,1
-2858,2022-05-08,1
-2859,2022-05-09,1
-2860,2022-05-10,1
-2861,2022-05-11,1
-2862,2022-05-12,1
-2863,2022-05-13,1
-2864,2022-05-14,1
-2865,2022-05-15,1
-2866,2022-05-16,1
-2867,2022-05-17,1
-2868,2022-05-18,1
-2869,2022-05-19,1
-2870,2022-05-20,1
-2871,2022-05-21,1
-2872,2022-05-22,1
-2873,2022-05-23,1
-2874,2022-05-24,1
-2875,2022-05-25,1
-2876,2022-05-26,1
-2877,2022-05-27,1
-2878,2022-05-28,1
-2879,2022-05-29,1
-2880,2022-05-30,1
-2881,2022-05-31,1
-2882,2022-06-01,1
-2883,2022-06-02,1
-2884,2022-06-03,1
-2885,2022-06-04,1
-2886,2022-06-05,1
-2887,2022-06-06,1
-2888,2022-06-07,1
-2889,2022-06-08,1
-2890,2022-06-09,1
-2891,2022-06-10,1
-2892,2022-06-11,1
-2893,2022-06-12,1
-2894,2022-06-13,1
-2895,2022-06-14,1
-2896,2022-06-15,1
-2897,2022-06-16,1
-2898,2022-06-17,1
-2899,2022-06-18,1
-2900,2022-06-19,1
-2901,2022-06-20,1
-2902,2022-06-21,1
-2903,2022-06-22,1
-2904,2022-06-23,1
-2905,2022-06-24,1
-2906,2022-06-25,1
-2907,2022-06-26,1
-2908,2022-06-27,1
-2909,2022-06-28,1
-2910,2022-06-29,1
-2911,2022-06-30,1
-2912,2022-07-01,1
-2913,2022-07-02,1
-2914,2022-07-03,1
-2915,2022-07-04,1
-2916,2022-07-05,1
-2917,2022-07-06,1
-2918,2022-07-07,1
-2919,2022-07-08,1
-2920,2022-07-09,1
-2921,2022-07-10,1
-2922,2022-07-11,1
-2923,2022-07-12,1
-2924,2022-07-13,1
-2925,2022-07-14,1
-2926,2022-07-15,1
-2927,2022-07-16,1
-2928,2022-07-17,1
-2929,2022-07-18,1
-2930,2022-07-19,1
-2931,2022-07-20,1
-2932,2022-07-21,1
-2933,2022-07-22,1
-2934,2022-07-23,1
-2935,2022-07-24,1
-2936,2022-07-25,1
-2937,2022-07-26,1
-2938,2022-07-27,1
-2939,2022-07-28,1
-2940,2022-07-29,1
-2941,2022-07-30,1
-2942,2022-07-31,1
-2943,2022-08-01,1
-2944,2022-08-02,1
-2945,2022-08-03,1
-2946,2022-08-04,1
-2947,2022-08-05,1
-2948,2022-08-06,1
-2949,2022-08-07,1
-2950,2022-08-08,1
-2951,2022-08-09,1
-2952,2022-08-10,1
-2953,2022-08-11,1
-2954,2022-08-12,1
-2955,2022-08-13,1
-2956,2022-08-14,1
-2957,2022-08-15,1
-2958,2022-08-16,1
-2959,2022-08-17,1
-2960,2022-08-18,1
-2961,2022-08-19,1
-2962,2022-08-20,1
-2963,2022-08-21,1
-2964,2022-08-22,1
-2965,2022-08-23,1
-2966,2022-08-24,1
-2967,2022-08-25,1
-2968,2022-08-26,1
-2969,2022-08-27,1
-2970,2022-08-28,1
-2971,2022-08-29,1
-2972,2022-08-30,1
-2973,2022-08-31,1
-2974,2022-09-01,1
-2975,2022-09-02,1
-2976,2022-09-03,1
-2977,2022-09-04,1
-2978,2022-09-05,1
-2979,2022-09-06,1
-2980,2022-09-07,1
-2981,2022-09-08,1
-2982,2022-09-09,1
-2983,2022-09-10,1
-2984,2022-09-11,1
-2985,2022-09-12,1
-2986,2022-09-13,1
-2987,2022-09-14,1
-2988,2022-09-15,1
-2989,2022-09-16,1
-2990,2022-09-17,1
-2991,2022-09-18,1
-2992,2022-09-19,1
-2993,2022-09-20,1
-2994,2022-09-21,1
-2995,2022-09-22,1
-2996,2022-09-23,1
-2997,2022-09-24,1
-2998,2022-09-25,1
-2999,2022-09-26,1
+value,date,id
+2000,2020-01-01,1
+2001,2020-01-02,1
+2002,2020-01-03,1
+2003,2020-01-04,1
+2004,2020-01-05,1
+2005,2020-01-06,1
+2006,2020-01-07,1
+2007,2020-01-08,1
+2008,2020-01-09,1
+2009,2020-01-10,1
+2010,2020-01-11,1
+2011,2020-01-12,1
+2012,2020-01-13,1
+2013,2020-01-14,1
+2014,2020-01-15,1
+2015,2020-01-16,1
+2016,2020-01-17,1
+2017,2020-01-18,1
+2018,2020-01-19,1
+2019,2020-01-20,1
+2020,2020-01-21,1
+2021,2020-01-22,1
+2022,2020-01-23,1
+2023,2020-01-24,1
+2024,2020-01-25,1
+2025,2020-01-26,1
+2026,2020-01-27,1
+2027,2020-01-28,1
+2028,2020-01-29,1
+2029,2020-01-30,1
+2030,2020-01-31,1
+2031,2020-02-01,1
+2032,2020-02-02,1
+2033,2020-02-03,1
+2034,2020-02-04,1
+2035,2020-02-05,1
+2036,2020-02-06,1
+2037,2020-02-07,1
+2038,2020-02-08,1
+2039,2020-02-09,1
+2040,2020-02-10,1
+2041,2020-02-11,1
+2042,2020-02-12,1
+2043,2020-02-13,1
+2044,2020-02-14,1
+2045,2020-02-15,1
+2046,2020-02-16,1
+2047,2020-02-17,1
+2048,2020-02-18,1
+2049,2020-02-19,1
+2050,2020-02-20,1
+2051,2020-02-21,1
+2052,2020-02-22,1
+2053,2020-02-23,1
+2054,2020-02-24,1
+2055,2020-02-25,1
+2056,2020-02-26,1
+2057,2020-02-27,1
+2058,2020-02-28,1
+2059,2020-02-29,1
+2060,2020-03-01,1
+2061,2020-03-02,1
+2062,2020-03-03,1
+2063,2020-03-04,1
+2064,2020-03-05,1
+2065,2020-03-06,1
+2066,2020-03-07,1
+2067,2020-03-08,1
+2068,2020-03-09,1
+2069,2020-03-10,1
+2070,2020-03-11,1
+2071,2020-03-12,1
+2072,2020-03-13,1
+2073,2020-03-14,1
+2074,2020-03-15,1
+2075,2020-03-16,1
+2076,2020-03-17,1
+2077,2020-03-18,1
+2078,2020-03-19,1
+2079,2020-03-20,1
+2080,2020-03-21,1
+2081,2020-03-22,1
+2082,2020-03-23,1
+2083,2020-03-24,1
+2084,2020-03-25,1
+2085,2020-03-26,1
+2086,2020-03-27,1
+2087,2020-03-28,1
+2088,2020-03-29,1
+2089,2020-03-30,1
+2090,2020-03-31,1
+2091,2020-04-01,1
+2092,2020-04-02,1
+2093,2020-04-03,1
+2094,2020-04-04,1
+2095,2020-04-05,1
+2096,2020-04-06,1
+2097,2020-04-07,1
+2098,2020-04-08,1
+2099,2020-04-09,1
+2100,2020-04-10,1
+2101,2020-04-11,1
+2102,2020-04-12,1
+2103,2020-04-13,1
+2104,2020-04-14,1
+2105,2020-04-15,1
+2106,2020-04-16,1
+2107,2020-04-17,1
+2108,2020-04-18,1
+2109,2020-04-19,1
+2110,2020-04-20,1
+2111,2020-04-21,1
+2112,2020-04-22,1
+2113,2020-04-23,1
+2114,2020-04-24,1
+2115,2020-04-25,1
+2116,2020-04-26,1
+2117,2020-04-27,1
+2118,2020-04-28,1
+2119,2020-04-29,1
+2120,2020-04-30,1
+2121,2020-05-01,1
+2122,2020-05-02,1
+2123,2020-05-03,1
+2124,2020-05-04,1
+2125,2020-05-05,1
+2126,2020-05-06,1
+2127,2020-05-07,1
+2128,2020-05-08,1
+2129,2020-05-09,1
+2130,2020-05-10,1
+2131,2020-05-11,1
+2132,2020-05-12,1
+2133,2020-05-13,1
+2134,2020-05-14,1
+2135,2020-05-15,1
+2136,2020-05-16,1
+2137,2020-05-17,1
+2138,2020-05-18,1
+2139,2020-05-19,1
+2140,2020-05-20,1
+2141,2020-05-21,1
+2142,2020-05-22,1
+2143,2020-05-23,1
+2144,2020-05-24,1
+2145,2020-05-25,1
+2146,2020-05-26,1
+2147,2020-05-27,1
+2148,2020-05-28,1
+2149,2020-05-29,1
+2150,2020-05-30,1
+2151,2020-05-31,1
+2152,2020-06-01,1
+2153,2020-06-02,1
+2154,2020-06-03,1
+2155,2020-06-04,1
+2156,2020-06-05,1
+2157,2020-06-06,1
+2158,2020-06-07,1
+2159,2020-06-08,1
+2160,2020-06-09,1
+2161,2020-06-10,1
+2162,2020-06-11,1
+2163,2020-06-12,1
+2164,2020-06-13,1
+2165,2020-06-14,1
+2166,2020-06-15,1
+2167,2020-06-16,1
+2168,2020-06-17,1
+2169,2020-06-18,1
+2170,2020-06-19,1
+2171,2020-06-20,1
+2172,2020-06-21,1
+2173,2020-06-22,1
+2174,2020-06-23,1
+2175,2020-06-24,1
+2176,2020-06-25,1
+2177,2020-06-26,1
+2178,2020-06-27,1
+2179,2020-06-28,1
+2180,2020-06-29,1
+2181,2020-06-30,1
+2182,2020-07-01,1
+2183,2020-07-02,1
+2184,2020-07-03,1
+2185,2020-07-04,1
+2186,2020-07-05,1
+2187,2020-07-06,1
+2188,2020-07-07,1
+2189,2020-07-08,1
+2190,2020-07-09,1
+2191,2020-07-10,1
+2192,2020-07-11,1
+2193,2020-07-12,1
+2194,2020-07-13,1
+2195,2020-07-14,1
+2196,2020-07-15,1
+2197,2020-07-16,1
+2198,2020-07-17,1
+2199,2020-07-18,1
+2200,2020-07-19,1
+2201,2020-07-20,1
+2202,2020-07-21,1
+2203,2020-07-22,1
+2204,2020-07-23,1
+2205,2020-07-24,1
+2206,2020-07-25,1
+2207,2020-07-26,1
+2208,2020-07-27,1
+2209,2020-07-28,1
+2210,2020-07-29,1
+2211,2020-07-30,1
+2212,2020-07-31,1
+2213,2020-08-01,1
+2214,2020-08-02,1
+2215,2020-08-03,1
+2216,2020-08-04,1
+2217,2020-08-05,1
+2218,2020-08-06,1
+2219,2020-08-07,1
+2220,2020-08-08,1
+2221,2020-08-09,1
+2222,2020-08-10,1
+2223,2020-08-11,1
+2224,2020-08-12,1
+2225,2020-08-13,1
+2226,2020-08-14,1
+2227,2020-08-15,1
+2228,2020-08-16,1
+2229,2020-08-17,1
+2230,2020-08-18,1
+2231,2020-08-19,1
+2232,2020-08-20,1
+2233,2020-08-21,1
+2234,2020-08-22,1
+2235,2020-08-23,1
+2236,2020-08-24,1
+2237,2020-08-25,1
+2238,2020-08-26,1
+2239,2020-08-27,1
+2240,2020-08-28,1
+2241,2020-08-29,1
+2242,2020-08-30,1
+2243,2020-08-31,1
+2244,2020-09-01,1
+2245,2020-09-02,1
+2246,2020-09-03,1
+2247,2020-09-04,1
+2248,2020-09-05,1
+2249,2020-09-06,1
+2250,2020-09-07,1
+2251,2020-09-08,1
+2252,2020-09-09,1
+2253,2020-09-10,1
+2254,2020-09-11,1
+2255,2020-09-12,1
+2256,2020-09-13,1
+2257,2020-09-14,1
+2258,2020-09-15,1
+2259,2020-09-16,1
+2260,2020-09-17,1
+2261,2020-09-18,1
+2262,2020-09-19,1
+2263,2020-09-20,1
+2264,2020-09-21,1
+2265,2020-09-22,1
+2266,2020-09-23,1
+2267,2020-09-24,1
+2268,2020-09-25,1
+2269,2020-09-26,1
+2270,2020-09-27,1
+2271,2020-09-28,1
+2272,2020-09-29,1
+2273,2020-09-30,1
+2274,2020-10-01,1
+2275,2020-10-02,1
+2276,2020-10-03,1
+2277,2020-10-04,1
+2278,2020-10-05,1
+2279,2020-10-06,1
+2280,2020-10-07,1
+2281,2020-10-08,1
+2282,2020-10-09,1
+2283,2020-10-10,1
+2284,2020-10-11,1
+2285,2020-10-12,1
+2286,2020-10-13,1
+2287,2020-10-14,1
+2288,2020-10-15,1
+2289,2020-10-16,1
+2290,2020-10-17,1
+2291,2020-10-18,1
+2292,2020-10-19,1
+2293,2020-10-20,1
+2294,2020-10-21,1
+2295,2020-10-22,1
+2296,2020-10-23,1
+2297,2020-10-24,1
+2298,2020-10-25,1
+2299,2020-10-26,1
+2300,2020-10-27,1
+2301,2020-10-28,1
+2302,2020-10-29,1
+2303,2020-10-30,1
+2304,2020-10-31,1
+2305,2020-11-01,1
+2306,2020-11-02,1
+2307,2020-11-03,1
+2308,2020-11-04,1
+2309,2020-11-05,1
+2310,2020-11-06,1
+2311,2020-11-07,1
+2312,2020-11-08,1
+2313,2020-11-09,1
+2314,2020-11-10,1
+2315,2020-11-11,1
+2316,2020-11-12,1
+2317,2020-11-13,1
+2318,2020-11-14,1
+2319,2020-11-15,1
+2320,2020-11-16,1
+2321,2020-11-17,1
+2322,2020-11-18,1
+2323,2020-11-19,1
+2324,2020-11-20,1
+2325,2020-11-21,1
+2326,2020-11-22,1
+2327,2020-11-23,1
+2328,2020-11-24,1
+2329,2020-11-25,1
+2330,2020-11-26,1
+2331,2020-11-27,1
+2332,2020-11-28,1
+2333,2020-11-29,1
+2334,2020-11-30,1
+2335,2020-12-01,1
+2336,2020-12-02,1
+2337,2020-12-03,1
+2338,2020-12-04,1
+2339,2020-12-05,1
+2340,2020-12-06,1
+2341,2020-12-07,1
+2342,2020-12-08,1
+2343,2020-12-09,1
+2344,2020-12-10,1
+2345,2020-12-11,1
+2346,2020-12-12,1
+2347,2020-12-13,1
+2348,2020-12-14,1
+2349,2020-12-15,1
+2350,2020-12-16,1
+2351,2020-12-17,1
+2352,2020-12-18,1
+2353,2020-12-19,1
+2354,2020-12-20,1
+2355,2020-12-21,1
+2356,2020-12-22,1
+2357,2020-12-23,1
+2358,2020-12-24,1
+2359,2020-12-25,1
+2360,2020-12-26,1
+2361,2020-12-27,1
+2362,2020-12-28,1
+2363,2020-12-29,1
+2364,2020-12-30,1
+2365,2020-12-31,1
+2366,2021-01-01,1
+2367,2021-01-02,1
+2368,2021-01-03,1
+2369,2021-01-04,1
+2370,2021-01-05,1
+2371,2021-01-06,1
+2372,2021-01-07,1
+2373,2021-01-08,1
+2374,2021-01-09,1
+2375,2021-01-10,1
+2376,2021-01-11,1
+2377,2021-01-12,1
+2378,2021-01-13,1
+2379,2021-01-14,1
+2380,2021-01-15,1
+2381,2021-01-16,1
+2382,2021-01-17,1
+2383,2021-01-18,1
+2384,2021-01-19,1
+2385,2021-01-20,1
+2386,2021-01-21,1
+2387,2021-01-22,1
+2388,2021-01-23,1
+2389,2021-01-24,1
+2390,2021-01-25,1
+2391,2021-01-26,1
+2392,2021-01-27,1
+2393,2021-01-28,1
+2394,2021-01-29,1
+2395,2021-01-30,1
+2396,2021-01-31,1
+2397,2021-02-01,1
+2398,2021-02-02,1
+2399,2021-02-03,1
+2400,2021-02-04,1
+2401,2021-02-05,1
+2402,2021-02-06,1
+2403,2021-02-07,1
+2404,2021-02-08,1
+2405,2021-02-09,1
+2406,2021-02-10,1
+2407,2021-02-11,1
+2408,2021-02-12,1
+2409,2021-02-13,1
+2410,2021-02-14,1
+2411,2021-02-15,1
+2412,2021-02-16,1
+2413,2021-02-17,1
+2414,2021-02-18,1
+2415,2021-02-19,1
+2416,2021-02-20,1
+2417,2021-02-21,1
+2418,2021-02-22,1
+2419,2021-02-23,1
+2420,2021-02-24,1
+2421,2021-02-25,1
+2422,2021-02-26,1
+2423,2021-02-27,1
+2424,2021-02-28,1
+2425,2021-03-01,1
+2426,2021-03-02,1
+2427,2021-03-03,1
+2428,2021-03-04,1
+2429,2021-03-05,1
+2430,2021-03-06,1
+2431,2021-03-07,1
+2432,2021-03-08,1
+2433,2021-03-09,1
+2434,2021-03-10,1
+2435,2021-03-11,1
+2436,2021-03-12,1
+2437,2021-03-13,1
+2438,2021-03-14,1
+2439,2021-03-15,1
+2440,2021-03-16,1
+2441,2021-03-17,1
+2442,2021-03-18,1
+2443,2021-03-19,1
+2444,2021-03-20,1
+2445,2021-03-21,1
+2446,2021-03-22,1
+2447,2021-03-23,1
+2448,2021-03-24,1
+2449,2021-03-25,1
+2450,2021-03-26,1
+2451,2021-03-27,1
+2452,2021-03-28,1
+2453,2021-03-29,1
+2454,2021-03-30,1
+2455,2021-03-31,1
+2456,2021-04-01,1
+2457,2021-04-02,1
+2458,2021-04-03,1
+2459,2021-04-04,1
+2460,2021-04-05,1
+2461,2021-04-06,1
+2462,2021-04-07,1
+2463,2021-04-08,1
+2464,2021-04-09,1
+2465,2021-04-10,1
+2466,2021-04-11,1
+2467,2021-04-12,1
+2468,2021-04-13,1
+2469,2021-04-14,1
+2470,2021-04-15,1
+2471,2021-04-16,1
+2472,2021-04-17,1
+2473,2021-04-18,1
+2474,2021-04-19,1
+2475,2021-04-20,1
+2476,2021-04-21,1
+2477,2021-04-22,1
+2478,2021-04-23,1
+2479,2021-04-24,1
+2480,2021-04-25,1
+2481,2021-04-26,1
+2482,2021-04-27,1
+2483,2021-04-28,1
+2484,2021-04-29,1
+2485,2021-04-30,1
+2486,2021-05-01,1
+2487,2021-05-02,1
+2488,2021-05-03,1
+2489,2021-05-04,1
+2490,2021-05-05,1
+2491,2021-05-06,1
+2492,2021-05-07,1
+2493,2021-05-08,1
+2494,2021-05-09,1
+2495,2021-05-10,1
+2496,2021-05-11,1
+2497,2021-05-12,1
+2498,2021-05-13,1
+2499,2021-05-14,1
+2500,2021-05-15,1
+2501,2021-05-16,1
+2502,2021-05-17,1
+2503,2021-05-18,1
+2504,2021-05-19,1
+2505,2021-05-20,1
+2506,2021-05-21,1
+2507,2021-05-22,1
+2508,2021-05-23,1
+2509,2021-05-24,1
+2510,2021-05-25,1
+2511,2021-05-26,1
+2512,2021-05-27,1
+2513,2021-05-28,1
+2514,2021-05-29,1
+2515,2021-05-30,1
+2516,2021-05-31,1
+2517,2021-06-01,1
+2518,2021-06-02,1
+2519,2021-06-03,1
+2520,2021-06-04,1
+2521,2021-06-05,1
+2522,2021-06-06,1
+2523,2021-06-07,1
+2524,2021-06-08,1
+2525,2021-06-09,1
+2526,2021-06-10,1
+2527,2021-06-11,1
+2528,2021-06-12,1
+2529,2021-06-13,1
+2530,2021-06-14,1
+2531,2021-06-15,1
+2532,2021-06-16,1
+2533,2021-06-17,1
+2534,2021-06-18,1
+2535,2021-06-19,1
+2536,2021-06-20,1
+2537,2021-06-21,1
+2538,2021-06-22,1
+2539,2021-06-23,1
+2540,2021-06-24,1
+2541,2021-06-25,1
+2542,2021-06-26,1
+2543,2021-06-27,1
+2544,2021-06-28,1
+2545,2021-06-29,1
+2546,2021-06-30,1
+2547,2021-07-01,1
+2548,2021-07-02,1
+2549,2021-07-03,1
+2550,2021-07-04,1
+2551,2021-07-05,1
+2552,2021-07-06,1
+2553,2021-07-07,1
+2554,2021-07-08,1
+2555,2021-07-09,1
+2556,2021-07-10,1
+2557,2021-07-11,1
+2558,2021-07-12,1
+2559,2021-07-13,1
+2560,2021-07-14,1
+2561,2021-07-15,1
+2562,2021-07-16,1
+2563,2021-07-17,1
+2564,2021-07-18,1
+2565,2021-07-19,1
+2566,2021-07-20,1
+2567,2021-07-21,1
+2568,2021-07-22,1
+2569,2021-07-23,1
+2570,2021-07-24,1
+2571,2021-07-25,1
+2572,2021-07-26,1
+2573,2021-07-27,1
+2574,2021-07-28,1
+2575,2021-07-29,1
+2576,2021-07-30,1
+2577,2021-07-31,1
+2578,2021-08-01,1
+2579,2021-08-02,1
+2580,2021-08-03,1
+2581,2021-08-04,1
+2582,2021-08-05,1
+2583,2021-08-06,1
+2584,2021-08-07,1
+2585,2021-08-08,1
+2586,2021-08-09,1
+2587,2021-08-10,1
+2588,2021-08-11,1
+2589,2021-08-12,1
+2590,2021-08-13,1
+2591,2021-08-14,1
+2592,2021-08-15,1
+2593,2021-08-16,1
+2594,2021-08-17,1
+2595,2021-08-18,1
+2596,2021-08-19,1
+2597,2021-08-20,1
+2598,2021-08-21,1
+2599,2021-08-22,1
+2600,2021-08-23,1
+2601,2021-08-24,1
+2602,2021-08-25,1
+2603,2021-08-26,1
+2604,2021-08-27,1
+2605,2021-08-28,1
+2606,2021-08-29,1
+2607,2021-08-30,1
+2608,2021-08-31,1
+2609,2021-09-01,1
+2610,2021-09-02,1
+2611,2021-09-03,1
+2612,2021-09-04,1
+2613,2021-09-05,1
+2614,2021-09-06,1
+2615,2021-09-07,1
+2616,2021-09-08,1
+2617,2021-09-09,1
+2618,2021-09-10,1
+2619,2021-09-11,1
+2620,2021-09-12,1
+2621,2021-09-13,1
+2622,2021-09-14,1
+2623,2021-09-15,1
+2624,2021-09-16,1
+2625,2021-09-17,1
+2626,2021-09-18,1
+2627,2021-09-19,1
+2628,2021-09-20,1
+2629,2021-09-21,1
+2630,2021-09-22,1
+2631,2021-09-23,1
+2632,2021-09-24,1
+2633,2021-09-25,1
+2634,2021-09-26,1
+2635,2021-09-27,1
+2636,2021-09-28,1
+2637,2021-09-29,1
+2638,2021-09-30,1
+2639,2021-10-01,1
+2640,2021-10-02,1
+2641,2021-10-03,1
+2642,2021-10-04,1
+2643,2021-10-05,1
+2644,2021-10-06,1
+2645,2021-10-07,1
+2646,2021-10-08,1
+2647,2021-10-09,1
+2648,2021-10-10,1
+2649,2021-10-11,1
+2650,2021-10-12,1
+2651,2021-10-13,1
+2652,2021-10-14,1
+2653,2021-10-15,1
+2654,2021-10-16,1
+2655,2021-10-17,1
+2656,2021-10-18,1
+2657,2021-10-19,1
+2658,2021-10-20,1
+2659,2021-10-21,1
+2660,2021-10-22,1
+2661,2021-10-23,1
+2662,2021-10-24,1
+2663,2021-10-25,1
+2664,2021-10-26,1
+2665,2021-10-27,1
+2666,2021-10-28,1
+2667,2021-10-29,1
+2668,2021-10-30,1
+2669,2021-10-31,1
+2670,2021-11-01,1
+2671,2021-11-02,1
+2672,2021-11-03,1
+2673,2021-11-04,1
+2674,2021-11-05,1
+2675,2021-11-06,1
+2676,2021-11-07,1
+2677,2021-11-08,1
+2678,2021-11-09,1
+2679,2021-11-10,1
+2680,2021-11-11,1
+2681,2021-11-12,1
+2682,2021-11-13,1
+2683,2021-11-14,1
+2684,2021-11-15,1
+2685,2021-11-16,1
+2686,2021-11-17,1
+2687,2021-11-18,1
+2688,2021-11-19,1
+2689,2021-11-20,1
+2690,2021-11-21,1
+2691,2021-11-22,1
+2692,2021-11-23,1
+2693,2021-11-24,1
+2694,2021-11-25,1
+2695,2021-11-26,1
+2696,2021-11-27,1
+2697,2021-11-28,1
+2698,2021-11-29,1
+2699,2021-11-30,1
+2700,2021-12-01,1
+2701,2021-12-02,1
+2702,2021-12-03,1
+2703,2021-12-04,1
+2704,2021-12-05,1
+2705,2021-12-06,1
+2706,2021-12-07,1
+2707,2021-12-08,1
+2708,2021-12-09,1
+2709,2021-12-10,1
+2710,2021-12-11,1
+2711,2021-12-12,1
+2712,2021-12-13,1
+2713,2021-12-14,1
+2714,2021-12-15,1
+2715,2021-12-16,1
+2716,2021-12-17,1
+2717,2021-12-18,1
+2718,2021-12-19,1
+2719,2021-12-20,1
+2720,2021-12-21,1
+2721,2021-12-22,1
+2722,2021-12-23,1
+2723,2021-12-24,1
+2724,2021-12-25,1
+2725,2021-12-26,1
+2726,2021-12-27,1
+2727,2021-12-28,1
+2728,2021-12-29,1
+2729,2021-12-30,1
+2730,2021-12-31,1
+2731,2022-01-01,1
+2732,2022-01-02,1
+2733,2022-01-03,1
+2734,2022-01-04,1
+2735,2022-01-05,1
+2736,2022-01-06,1
+2737,2022-01-07,1
+2738,2022-01-08,1
+2739,2022-01-09,1
+2740,2022-01-10,1
+2741,2022-01-11,1
+2742,2022-01-12,1
+2743,2022-01-13,1
+2744,2022-01-14,1
+2745,2022-01-15,1
+2746,2022-01-16,1
+2747,2022-01-17,1
+2748,2022-01-18,1
+2749,2022-01-19,1
+2750,2022-01-20,1
+2751,2022-01-21,1
+2752,2022-01-22,1
+2753,2022-01-23,1
+2754,2022-01-24,1
+2755,2022-01-25,1
+2756,2022-01-26,1
+2757,2022-01-27,1
+2758,2022-01-28,1
+2759,2022-01-29,1
+2760,2022-01-30,1
+2761,2022-01-31,1
+2762,2022-02-01,1
+2763,2022-02-02,1
+2764,2022-02-03,1
+2765,2022-02-04,1
+2766,2022-02-05,1
+2767,2022-02-06,1
+2768,2022-02-07,1
+2769,2022-02-08,1
+2770,2022-02-09,1
+2771,2022-02-10,1
+2772,2022-02-11,1
+2773,2022-02-12,1
+2774,2022-02-13,1
+2775,2022-02-14,1
+2776,2022-02-15,1
+2777,2022-02-16,1
+2778,2022-02-17,1
+2779,2022-02-18,1
+2780,2022-02-19,1
+2781,2022-02-20,1
+2782,2022-02-21,1
+2783,2022-02-22,1
+2784,2022-02-23,1
+2785,2022-02-24,1
+2786,2022-02-25,1
+2787,2022-02-26,1
+2788,2022-02-27,1
+2789,2022-02-28,1
+2790,2022-03-01,1
+2791,2022-03-02,1
+2792,2022-03-03,1
+2793,2022-03-04,1
+2794,2022-03-05,1
+2795,2022-03-06,1
+2796,2022-03-07,1
+2797,2022-03-08,1
+2798,2022-03-09,1
+2799,2022-03-10,1
+2800,2022-03-11,1
+2801,2022-03-12,1
+2802,2022-03-13,1
+2803,2022-03-14,1
+2804,2022-03-15,1
+2805,2022-03-16,1
+2806,2022-03-17,1
+2807,2022-03-18,1
+2808,2022-03-19,1
+2809,2022-03-20,1
+2810,2022-03-21,1
+2811,2022-03-22,1
+2812,2022-03-23,1
+2813,2022-03-24,1
+2814,2022-03-25,1
+2815,2022-03-26,1
+2816,2022-03-27,1
+2817,2022-03-28,1
+2818,2022-03-29,1
+2819,2022-03-30,1
+2820,2022-03-31,1
+2821,2022-04-01,1
+2822,2022-04-02,1
+2823,2022-04-03,1
+2824,2022-04-04,1
+2825,2022-04-05,1
+2826,2022-04-06,1
+2827,2022-04-07,1
+2828,2022-04-08,1
+2829,2022-04-09,1
+2830,2022-04-10,1
+2831,2022-04-11,1
+2832,2022-04-12,1
+2833,2022-04-13,1
+2834,2022-04-14,1
+2835,2022-04-15,1
+2836,2022-04-16,1
+2837,2022-04-17,1
+2838,2022-04-18,1
+2839,2022-04-19,1
+2840,2022-04-20,1
+2841,2022-04-21,1
+2842,2022-04-22,1
+2843,2022-04-23,1
+2844,2022-04-24,1
+2845,2022-04-25,1
+2846,2022-04-26,1
+2847,2022-04-27,1
+2848,2022-04-28,1
+2849,2022-04-29,1
+2850,2022-04-30,1
+2851,2022-05-01,1
+2852,2022-05-02,1
+2853,2022-05-03,1
+2854,2022-05-04,1
+2855,2022-05-05,1
+2856,2022-05-06,1
+2857,2022-05-07,1
+2858,2022-05-08,1
+2859,2022-05-09,1
+2860,2022-05-10,1
+2861,2022-05-11,1
+2862,2022-05-12,1
+2863,2022-05-13,1
+2864,2022-05-14,1
+2865,2022-05-15,1
+2866,2022-05-16,1
+2867,2022-05-17,1
+2868,2022-05-18,1
+2869,2022-05-19,1
+2870,2022-05-20,1
+2871,2022-05-21,1
+2872,2022-05-22,1
+2873,2022-05-23,1
+2874,2022-05-24,1
+2875,2022-05-25,1
+2876,2022-05-26,1
+2877,2022-05-27,1
+2878,2022-05-28,1
+2879,2022-05-29,1
+2880,2022-05-30,1
+2881,2022-05-31,1
+2882,2022-06-01,1
+2883,2022-06-02,1
+2884,2022-06-03,1
+2885,2022-06-04,1
+2886,2022-06-05,1
+2887,2022-06-06,1
+2888,2022-06-07,1
+2889,2022-06-08,1
+2890,2022-06-09,1
+2891,2022-06-10,1
+2892,2022-06-11,1
+2893,2022-06-12,1
+2894,2022-06-13,1
+2895,2022-06-14,1
+2896,2022-06-15,1
+2897,2022-06-16,1
+2898,2022-06-17,1
+2899,2022-06-18,1
+2900,2022-06-19,1
+2901,2022-06-20,1
+2902,2022-06-21,1
+2903,2022-06-22,1
+2904,2022-06-23,1
+2905,2022-06-24,1
+2906,2022-06-25,1
+2907,2022-06-26,1
+2908,2022-06-27,1
+2909,2022-06-28,1
+2910,2022-06-29,1
+2911,2022-06-30,1
+2912,2022-07-01,1
+2913,2022-07-02,1
+2914,2022-07-03,1
+2915,2022-07-04,1
+2916,2022-07-05,1
+2917,2022-07-06,1
+2918,2022-07-07,1
+2919,2022-07-08,1
+2920,2022-07-09,1
+2921,2022-07-10,1
+2922,2022-07-11,1
+2923,2022-07-12,1
+2924,2022-07-13,1
+2925,2022-07-14,1
+2926,2022-07-15,1
+2927,2022-07-16,1
+2928,2022-07-17,1
+2929,2022-07-18,1
+2930,2022-07-19,1
+2931,2022-07-20,1
+2932,2022-07-21,1
+2933,2022-07-22,1
+2934,2022-07-23,1
+2935,2022-07-24,1
+2936,2022-07-25,1
+2937,2022-07-26,1
+2938,2022-07-27,1
+2939,2022-07-28,1
+2940,2022-07-29,1
+2941,2022-07-30,1
+2942,2022-07-31,1
+2943,2022-08-01,1
+2944,2022-08-02,1
+2945,2022-08-03,1
+2946,2022-08-04,1
+2947,2022-08-05,1
+2948,2022-08-06,1
+2949,2022-08-07,1
+2950,2022-08-08,1
+2951,2022-08-09,1
+2952,2022-08-10,1
+2953,2022-08-11,1
+2954,2022-08-12,1
+2955,2022-08-13,1
+2956,2022-08-14,1
+2957,2022-08-15,1
+2958,2022-08-16,1
+2959,2022-08-17,1
+2960,2022-08-18,1
+2961,2022-08-19,1
+2962,2022-08-20,1
+2963,2022-08-21,1
+2964,2022-08-22,1
+2965,2022-08-23,1
+2966,2022-08-24,1
+2967,2022-08-25,1
+2968,2022-08-26,1
+2969,2022-08-27,1
+2970,2022-08-28,1
+2971,2022-08-29,1
+2972,2022-08-30,1
+2973,2022-08-31,1
+2974,2022-09-01,1
+2975,2022-09-02,1
+2976,2022-09-03,1
+2977,2022-09-04,1
+2978,2022-09-05,1
+2979,2022-09-06,1
+2980,2022-09-07,1
+2981,2022-09-08,1
+2982,2022-09-09,1
+2983,2022-09-10,1
+2984,2022-09-11,1
+2985,2022-09-12,1
+2986,2022-09-13,1
+2987,2022-09-14,1
+2988,2022-09-15,1
+2989,2022-09-16,1
+2990,2022-09-17,1
+2991,2022-09-18,1
+2992,2022-09-19,1
+2993,2022-09-20,1
+2994,2022-09-21,1
+2995,2022-09-22,1
+2996,2022-09-23,1
+2997,2022-09-24,1
+2998,2022-09-25,1
+2999,2022-09-26,1
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_2.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_2.csv
index e015871..566d89f 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_2.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_2.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-3000,2020-01-01,2
-3001,2020-01-02,2
-3002,2020-01-03,2
-3003,2020-01-04,2
-3004,2020-01-05,2
-3005,2020-01-06,2
-3006,2020-01-07,2
-3007,2020-01-08,2
-3008,2020-01-09,2
-3009,2020-01-10,2
-3010,2020-01-11,2
-3011,2020-01-12,2
-3012,2020-01-13,2
-3013,2020-01-14,2
-3014,2020-01-15,2
-3015,2020-01-16,2
-3016,2020-01-17,2
-3017,2020-01-18,2
-3018,2020-01-19,2
-3019,2020-01-20,2
-3020,2020-01-21,2
-3021,2020-01-22,2
-3022,2020-01-23,2
-3023,2020-01-24,2
-3024,2020-01-25,2
-3025,2020-01-26,2
-3026,2020-01-27,2
-3027,2020-01-28,2
-3028,2020-01-29,2
-3029,2020-01-30,2
-3030,2020-01-31,2
-3031,2020-02-01,2
-3032,2020-02-02,2
-3033,2020-02-03,2
-3034,2020-02-04,2
-3035,2020-02-05,2
-3036,2020-02-06,2
-3037,2020-02-07,2
-3038,2020-02-08,2
-3039,2020-02-09,2
-3040,2020-02-10,2
-3041,2020-02-11,2
-3042,2020-02-12,2
-3043,2020-02-13,2
-3044,2020-02-14,2
-3045,2020-02-15,2
-3046,2020-02-16,2
-3047,2020-02-17,2
-3048,2020-02-18,2
-3049,2020-02-19,2
-3050,2020-02-20,2
-3051,2020-02-21,2
-3052,2020-02-22,2
-3053,2020-02-23,2
-3054,2020-02-24,2
-3055,2020-02-25,2
-3056,2020-02-26,2
-3057,2020-02-27,2
-3058,2020-02-28,2
-3059,2020-02-29,2
-3060,2020-03-01,2
-3061,2020-03-02,2
-3062,2020-03-03,2
-3063,2020-03-04,2
-3064,2020-03-05,2
-3065,2020-03-06,2
-3066,2020-03-07,2
-3067,2020-03-08,2
-3068,2020-03-09,2
-3069,2020-03-10,2
-3070,2020-03-11,2
-3071,2020-03-12,2
-3072,2020-03-13,2
-3073,2020-03-14,2
-3074,2020-03-15,2
-3075,2020-03-16,2
-3076,2020-03-17,2
-3077,2020-03-18,2
-3078,2020-03-19,2
-3079,2020-03-20,2
-3080,2020-03-21,2
-3081,2020-03-22,2
-3082,2020-03-23,2
-3083,2020-03-24,2
-3084,2020-03-25,2
-3085,2020-03-26,2
-3086,2020-03-27,2
-3087,2020-03-28,2
-3088,2020-03-29,2
-3089,2020-03-30,2
-3090,2020-03-31,2
-3091,2020-04-01,2
-3092,2020-04-02,2
-3093,2020-04-03,2
-3094,2020-04-04,2
-3095,2020-04-05,2
-3096,2020-04-06,2
-3097,2020-04-07,2
-3098,2020-04-08,2
-3099,2020-04-09,2
-3100,2020-04-10,2
-3101,2020-04-11,2
-3102,2020-04-12,2
-3103,2020-04-13,2
-3104,2020-04-14,2
-3105,2020-04-15,2
-3106,2020-04-16,2
-3107,2020-04-17,2
-3108,2020-04-18,2
-3109,2020-04-19,2
-3110,2020-04-20,2
-3111,2020-04-21,2
-3112,2020-04-22,2
-3113,2020-04-23,2
-3114,2020-04-24,2
-3115,2020-04-25,2
-3116,2020-04-26,2
-3117,2020-04-27,2
-3118,2020-04-28,2
-3119,2020-04-29,2
-3120,2020-04-30,2
-3121,2020-05-01,2
-3122,2020-05-02,2
-3123,2020-05-03,2
-3124,2020-05-04,2
-3125,2020-05-05,2
-3126,2020-05-06,2
-3127,2020-05-07,2
-3128,2020-05-08,2
-3129,2020-05-09,2
-3130,2020-05-10,2
-3131,2020-05-11,2
-3132,2020-05-12,2
-3133,2020-05-13,2
-3134,2020-05-14,2
-3135,2020-05-15,2
-3136,2020-05-16,2
-3137,2020-05-17,2
-3138,2020-05-18,2
-3139,2020-05-19,2
-3140,2020-05-20,2
-3141,2020-05-21,2
-3142,2020-05-22,2
-3143,2020-05-23,2
-3144,2020-05-24,2
-3145,2020-05-25,2
-3146,2020-05-26,2
-3147,2020-05-27,2
-3148,2020-05-28,2
-3149,2020-05-29,2
-3150,2020-05-30,2
-3151,2020-05-31,2
-3152,2020-06-01,2
-3153,2020-06-02,2
-3154,2020-06-03,2
-3155,2020-06-04,2
-3156,2020-06-05,2
-3157,2020-06-06,2
-3158,2020-06-07,2
-3159,2020-06-08,2
-3160,2020-06-09,2
-3161,2020-06-10,2
-3162,2020-06-11,2
-3163,2020-06-12,2
-3164,2020-06-13,2
-3165,2020-06-14,2
-3166,2020-06-15,2
-3167,2020-06-16,2
-3168,2020-06-17,2
-3169,2020-06-18,2
-3170,2020-06-19,2
-3171,2020-06-20,2
-3172,2020-06-21,2
-3173,2020-06-22,2
-3174,2020-06-23,2
-3175,2020-06-24,2
-3176,2020-06-25,2
-3177,2020-06-26,2
-3178,2020-06-27,2
-3179,2020-06-28,2
-3180,2020-06-29,2
-3181,2020-06-30,2
-3182,2020-07-01,2
-3183,2020-07-02,2
-3184,2020-07-03,2
-3185,2020-07-04,2
-3186,2020-07-05,2
-3187,2020-07-06,2
-3188,2020-07-07,2
-3189,2020-07-08,2
-3190,2020-07-09,2
-3191,2020-07-10,2
-3192,2020-07-11,2
-3193,2020-07-12,2
-3194,2020-07-13,2
-3195,2020-07-14,2
-3196,2020-07-15,2
-3197,2020-07-16,2
-3198,2020-07-17,2
-3199,2020-07-18,2
-3200,2020-07-19,2
-3201,2020-07-20,2
-3202,2020-07-21,2
-3203,2020-07-22,2
-3204,2020-07-23,2
-3205,2020-07-24,2
-3206,2020-07-25,2
-3207,2020-07-26,2
-3208,2020-07-27,2
-3209,2020-07-28,2
-3210,2020-07-29,2
-3211,2020-07-30,2
-3212,2020-07-31,2
-3213,2020-08-01,2
-3214,2020-08-02,2
-3215,2020-08-03,2
-3216,2020-08-04,2
-3217,2020-08-05,2
-3218,2020-08-06,2
-3219,2020-08-07,2
-3220,2020-08-08,2
-3221,2020-08-09,2
-3222,2020-08-10,2
-3223,2020-08-11,2
-3224,2020-08-12,2
-3225,2020-08-13,2
-3226,2020-08-14,2
-3227,2020-08-15,2
-3228,2020-08-16,2
-3229,2020-08-17,2
-3230,2020-08-18,2
-3231,2020-08-19,2
-3232,2020-08-20,2
-3233,2020-08-21,2
-3234,2020-08-22,2
-3235,2020-08-23,2
-3236,2020-08-24,2
-3237,2020-08-25,2
-3238,2020-08-26,2
-3239,2020-08-27,2
-3240,2020-08-28,2
-3241,2020-08-29,2
-3242,2020-08-30,2
-3243,2020-08-31,2
-3244,2020-09-01,2
-3245,2020-09-02,2
-3246,2020-09-03,2
-3247,2020-09-04,2
-3248,2020-09-05,2
-3249,2020-09-06,2
-3250,2020-09-07,2
-3251,2020-09-08,2
-3252,2020-09-09,2
-3253,2020-09-10,2
-3254,2020-09-11,2
-3255,2020-09-12,2
-3256,2020-09-13,2
-3257,2020-09-14,2
-3258,2020-09-15,2
-3259,2020-09-16,2
-3260,2020-09-17,2
-3261,2020-09-18,2
-3262,2020-09-19,2
-3263,2020-09-20,2
-3264,2020-09-21,2
-3265,2020-09-22,2
-3266,2020-09-23,2
-3267,2020-09-24,2
-3268,2020-09-25,2
-3269,2020-09-26,2
-3270,2020-09-27,2
-3271,2020-09-28,2
-3272,2020-09-29,2
-3273,2020-09-30,2
-3274,2020-10-01,2
-3275,2020-10-02,2
-3276,2020-10-03,2
-3277,2020-10-04,2
-3278,2020-10-05,2
-3279,2020-10-06,2
-3280,2020-10-07,2
-3281,2020-10-08,2
-3282,2020-10-09,2
-3283,2020-10-10,2
-3284,2020-10-11,2
-3285,2020-10-12,2
-3286,2020-10-13,2
-3287,2020-10-14,2
-3288,2020-10-15,2
-3289,2020-10-16,2
-3290,2020-10-17,2
-3291,2020-10-18,2
-3292,2020-10-19,2
-3293,2020-10-20,2
-3294,2020-10-21,2
-3295,2020-10-22,2
-3296,2020-10-23,2
-3297,2020-10-24,2
-3298,2020-10-25,2
-3299,2020-10-26,2
-3300,2020-10-27,2
-3301,2020-10-28,2
-3302,2020-10-29,2
-3303,2020-10-30,2
-3304,2020-10-31,2
-3305,2020-11-01,2
-3306,2020-11-02,2
-3307,2020-11-03,2
-3308,2020-11-04,2
-3309,2020-11-05,2
-3310,2020-11-06,2
-3311,2020-11-07,2
-3312,2020-11-08,2
-3313,2020-11-09,2
-3314,2020-11-10,2
-3315,2020-11-11,2
-3316,2020-11-12,2
-3317,2020-11-13,2
-3318,2020-11-14,2
-3319,2020-11-15,2
-3320,2020-11-16,2
-3321,2020-11-17,2
-3322,2020-11-18,2
-3323,2020-11-19,2
-3324,2020-11-20,2
-3325,2020-11-21,2
-3326,2020-11-22,2
-3327,2020-11-23,2
-3328,2020-11-24,2
-3329,2020-11-25,2
-3330,2020-11-26,2
-3331,2020-11-27,2
-3332,2020-11-28,2
-3333,2020-11-29,2
-3334,2020-11-30,2
-3335,2020-12-01,2
-3336,2020-12-02,2
-3337,2020-12-03,2
-3338,2020-12-04,2
-3339,2020-12-05,2
-3340,2020-12-06,2
-3341,2020-12-07,2
-3342,2020-12-08,2
-3343,2020-12-09,2
-3344,2020-12-10,2
-3345,2020-12-11,2
-3346,2020-12-12,2
-3347,2020-12-13,2
-3348,2020-12-14,2
-3349,2020-12-15,2
-3350,2020-12-16,2
-3351,2020-12-17,2
-3352,2020-12-18,2
-3353,2020-12-19,2
-3354,2020-12-20,2
-3355,2020-12-21,2
-3356,2020-12-22,2
-3357,2020-12-23,2
-3358,2020-12-24,2
-3359,2020-12-25,2
-3360,2020-12-26,2
-3361,2020-12-27,2
-3362,2020-12-28,2
-3363,2020-12-29,2
-3364,2020-12-30,2
-3365,2020-12-31,2
-3366,2021-01-01,2
-3367,2021-01-02,2
-3368,2021-01-03,2
-3369,2021-01-04,2
-3370,2021-01-05,2
-3371,2021-01-06,2
-3372,2021-01-07,2
-3373,2021-01-08,2
-3374,2021-01-09,2
-3375,2021-01-10,2
-3376,2021-01-11,2
-3377,2021-01-12,2
-3378,2021-01-13,2
-3379,2021-01-14,2
-3380,2021-01-15,2
-3381,2021-01-16,2
-3382,2021-01-17,2
-3383,2021-01-18,2
-3384,2021-01-19,2
-3385,2021-01-20,2
-3386,2021-01-21,2
-3387,2021-01-22,2
-3388,2021-01-23,2
-3389,2021-01-24,2
-3390,2021-01-25,2
-3391,2021-01-26,2
-3392,2021-01-27,2
-3393,2021-01-28,2
-3394,2021-01-29,2
-3395,2021-01-30,2
-3396,2021-01-31,2
-3397,2021-02-01,2
-3398,2021-02-02,2
-3399,2021-02-03,2
-3400,2021-02-04,2
-3401,2021-02-05,2
-3402,2021-02-06,2
-3403,2021-02-07,2
-3404,2021-02-08,2
-3405,2021-02-09,2
-3406,2021-02-10,2
-3407,2021-02-11,2
-3408,2021-02-12,2
-3409,2021-02-13,2
-3410,2021-02-14,2
-3411,2021-02-15,2
-3412,2021-02-16,2
-3413,2021-02-17,2
-3414,2021-02-18,2
-3415,2021-02-19,2
-3416,2021-02-20,2
-3417,2021-02-21,2
-3418,2021-02-22,2
-3419,2021-02-23,2
-3420,2021-02-24,2
-3421,2021-02-25,2
-3422,2021-02-26,2
-3423,2021-02-27,2
-3424,2021-02-28,2
-3425,2021-03-01,2
-3426,2021-03-02,2
-3427,2021-03-03,2
-3428,2021-03-04,2
-3429,2021-03-05,2
-3430,2021-03-06,2
-3431,2021-03-07,2
-3432,2021-03-08,2
-3433,2021-03-09,2
-3434,2021-03-10,2
-3435,2021-03-11,2
-3436,2021-03-12,2
-3437,2021-03-13,2
-3438,2021-03-14,2
-3439,2021-03-15,2
-3440,2021-03-16,2
-3441,2021-03-17,2
-3442,2021-03-18,2
-3443,2021-03-19,2
-3444,2021-03-20,2
-3445,2021-03-21,2
-3446,2021-03-22,2
-3447,2021-03-23,2
-3448,2021-03-24,2
-3449,2021-03-25,2
-3450,2021-03-26,2
-3451,2021-03-27,2
-3452,2021-03-28,2
-3453,2021-03-29,2
-3454,2021-03-30,2
-3455,2021-03-31,2
-3456,2021-04-01,2
-3457,2021-04-02,2
-3458,2021-04-03,2
-3459,2021-04-04,2
-3460,2021-04-05,2
-3461,2021-04-06,2
-3462,2021-04-07,2
-3463,2021-04-08,2
-3464,2021-04-09,2
-3465,2021-04-10,2
-3466,2021-04-11,2
-3467,2021-04-12,2
-3468,2021-04-13,2
-3469,2021-04-14,2
-3470,2021-04-15,2
-3471,2021-04-16,2
-3472,2021-04-17,2
-3473,2021-04-18,2
-3474,2021-04-19,2
-3475,2021-04-20,2
-3476,2021-04-21,2
-3477,2021-04-22,2
-3478,2021-04-23,2
-3479,2021-04-24,2
-3480,2021-04-25,2
-3481,2021-04-26,2
-3482,2021-04-27,2
-3483,2021-04-28,2
-3484,2021-04-29,2
-3485,2021-04-30,2
-3486,2021-05-01,2
-3487,2021-05-02,2
-3488,2021-05-03,2
-3489,2021-05-04,2
-3490,2021-05-05,2
-3491,2021-05-06,2
-3492,2021-05-07,2
-3493,2021-05-08,2
-3494,2021-05-09,2
-3495,2021-05-10,2
-3496,2021-05-11,2
-3497,2021-05-12,2
-3498,2021-05-13,2
-3499,2021-05-14,2
-3500,2021-05-15,2
-3501,2021-05-16,2
-3502,2021-05-17,2
-3503,2021-05-18,2
-3504,2021-05-19,2
-3505,2021-05-20,2
-3506,2021-05-21,2
-3507,2021-05-22,2
-3508,2021-05-23,2
-3509,2021-05-24,2
-3510,2021-05-25,2
-3511,2021-05-26,2
-3512,2021-05-27,2
-3513,2021-05-28,2
-3514,2021-05-29,2
-3515,2021-05-30,2
-3516,2021-05-31,2
-3517,2021-06-01,2
-3518,2021-06-02,2
-3519,2021-06-03,2
-3520,2021-06-04,2
-3521,2021-06-05,2
-3522,2021-06-06,2
-3523,2021-06-07,2
-3524,2021-06-08,2
-3525,2021-06-09,2
-3526,2021-06-10,2
-3527,2021-06-11,2
-3528,2021-06-12,2
-3529,2021-06-13,2
-3530,2021-06-14,2
-3531,2021-06-15,2
-3532,2021-06-16,2
-3533,2021-06-17,2
-3534,2021-06-18,2
-3535,2021-06-19,2
-3536,2021-06-20,2
-3537,2021-06-21,2
-3538,2021-06-22,2
-3539,2021-06-23,2
-3540,2021-06-24,2
-3541,2021-06-25,2
-3542,2021-06-26,2
-3543,2021-06-27,2
-3544,2021-06-28,2
-3545,2021-06-29,2
-3546,2021-06-30,2
-3547,2021-07-01,2
-3548,2021-07-02,2
-3549,2021-07-03,2
-3550,2021-07-04,2
-3551,2021-07-05,2
-3552,2021-07-06,2
-3553,2021-07-07,2
-3554,2021-07-08,2
-3555,2021-07-09,2
-3556,2021-07-10,2
-3557,2021-07-11,2
-3558,2021-07-12,2
-3559,2021-07-13,2
-3560,2021-07-14,2
-3561,2021-07-15,2
-3562,2021-07-16,2
-3563,2021-07-17,2
-3564,2021-07-18,2
-3565,2021-07-19,2
-3566,2021-07-20,2
-3567,2021-07-21,2
-3568,2021-07-22,2
-3569,2021-07-23,2
-3570,2021-07-24,2
-3571,2021-07-25,2
-3572,2021-07-26,2
-3573,2021-07-27,2
-3574,2021-07-28,2
-3575,2021-07-29,2
-3576,2021-07-30,2
-3577,2021-07-31,2
-3578,2021-08-01,2
-3579,2021-08-02,2
-3580,2021-08-03,2
-3581,2021-08-04,2
-3582,2021-08-05,2
-3583,2021-08-06,2
-3584,2021-08-07,2
-3585,2021-08-08,2
-3586,2021-08-09,2
-3587,2021-08-10,2
-3588,2021-08-11,2
-3589,2021-08-12,2
-3590,2021-08-13,2
-3591,2021-08-14,2
-3592,2021-08-15,2
-3593,2021-08-16,2
-3594,2021-08-17,2
-3595,2021-08-18,2
-3596,2021-08-19,2
-3597,2021-08-20,2
-3598,2021-08-21,2
-3599,2021-08-22,2
-3600,2021-08-23,2
-3601,2021-08-24,2
-3602,2021-08-25,2
-3603,2021-08-26,2
-3604,2021-08-27,2
-3605,2021-08-28,2
-3606,2021-08-29,2
-3607,2021-08-30,2
-3608,2021-08-31,2
-3609,2021-09-01,2
-3610,2021-09-02,2
-3611,2021-09-03,2
-3612,2021-09-04,2
-3613,2021-09-05,2
-3614,2021-09-06,2
-3615,2021-09-07,2
-3616,2021-09-08,2
-3617,2021-09-09,2
-3618,2021-09-10,2
-3619,2021-09-11,2
-3620,2021-09-12,2
-3621,2021-09-13,2
-3622,2021-09-14,2
-3623,2021-09-15,2
-3624,2021-09-16,2
-3625,2021-09-17,2
-3626,2021-09-18,2
-3627,2021-09-19,2
-3628,2021-09-20,2
-3629,2021-09-21,2
-3630,2021-09-22,2
-3631,2021-09-23,2
-3632,2021-09-24,2
-3633,2021-09-25,2
-3634,2021-09-26,2
-3635,2021-09-27,2
-3636,2021-09-28,2
-3637,2021-09-29,2
-3638,2021-09-30,2
-3639,2021-10-01,2
-3640,2021-10-02,2
-3641,2021-10-03,2
-3642,2021-10-04,2
-3643,2021-10-05,2
-3644,2021-10-06,2
-3645,2021-10-07,2
-3646,2021-10-08,2
-3647,2021-10-09,2
-3648,2021-10-10,2
-3649,2021-10-11,2
-3650,2021-10-12,2
-3651,2021-10-13,2
-3652,2021-10-14,2
-3653,2021-10-15,2
-3654,2021-10-16,2
-3655,2021-10-17,2
-3656,2021-10-18,2
-3657,2021-10-19,2
-3658,2021-10-20,2
-3659,2021-10-21,2
-3660,2021-10-22,2
-3661,2021-10-23,2
-3662,2021-10-24,2
-3663,2021-10-25,2
-3664,2021-10-26,2
-3665,2021-10-27,2
-3666,2021-10-28,2
-3667,2021-10-29,2
-3668,2021-10-30,2
-3669,2021-10-31,2
-3670,2021-11-01,2
-3671,2021-11-02,2
-3672,2021-11-03,2
-3673,2021-11-04,2
-3674,2021-11-05,2
-3675,2021-11-06,2
-3676,2021-11-07,2
-3677,2021-11-08,2
-3678,2021-11-09,2
-3679,2021-11-10,2
-3680,2021-11-11,2
-3681,2021-11-12,2
-3682,2021-11-13,2
-3683,2021-11-14,2
-3684,2021-11-15,2
-3685,2021-11-16,2
-3686,2021-11-17,2
-3687,2021-11-18,2
-3688,2021-11-19,2
-3689,2021-11-20,2
-3690,2021-11-21,2
-3691,2021-11-22,2
-3692,2021-11-23,2
-3693,2021-11-24,2
-3694,2021-11-25,2
-3695,2021-11-26,2
-3696,2021-11-27,2
-3697,2021-11-28,2
-3698,2021-11-29,2
-3699,2021-11-30,2
-3700,2021-12-01,2
-3701,2021-12-02,2
-3702,2021-12-03,2
-3703,2021-12-04,2
-3704,2021-12-05,2
-3705,2021-12-06,2
-3706,2021-12-07,2
-3707,2021-12-08,2
-3708,2021-12-09,2
-3709,2021-12-10,2
-3710,2021-12-11,2
-3711,2021-12-12,2
-3712,2021-12-13,2
-3713,2021-12-14,2
-3714,2021-12-15,2
-3715,2021-12-16,2
-3716,2021-12-17,2
-3717,2021-12-18,2
-3718,2021-12-19,2
-3719,2021-12-20,2
-3720,2021-12-21,2
-3721,2021-12-22,2
-3722,2021-12-23,2
-3723,2021-12-24,2
-3724,2021-12-25,2
-3725,2021-12-26,2
-3726,2021-12-27,2
-3727,2021-12-28,2
-3728,2021-12-29,2
-3729,2021-12-30,2
-3730,2021-12-31,2
-3731,2022-01-01,2
-3732,2022-01-02,2
-3733,2022-01-03,2
-3734,2022-01-04,2
-3735,2022-01-05,2
-3736,2022-01-06,2
-3737,2022-01-07,2
-3738,2022-01-08,2
-3739,2022-01-09,2
-3740,2022-01-10,2
-3741,2022-01-11,2
-3742,2022-01-12,2
-3743,2022-01-13,2
-3744,2022-01-14,2
-3745,2022-01-15,2
-3746,2022-01-16,2
-3747,2022-01-17,2
-3748,2022-01-18,2
-3749,2022-01-19,2
-3750,2022-01-20,2
-3751,2022-01-21,2
-3752,2022-01-22,2
-3753,2022-01-23,2
-3754,2022-01-24,2
-3755,2022-01-25,2
-3756,2022-01-26,2
-3757,2022-01-27,2
-3758,2022-01-28,2
-3759,2022-01-29,2
-3760,2022-01-30,2
-3761,2022-01-31,2
-3762,2022-02-01,2
-3763,2022-02-02,2
-3764,2022-02-03,2
-3765,2022-02-04,2
-3766,2022-02-05,2
-3767,2022-02-06,2
-3768,2022-02-07,2
-3769,2022-02-08,2
-3770,2022-02-09,2
-3771,2022-02-10,2
-3772,2022-02-11,2
-3773,2022-02-12,2
-3774,2022-02-13,2
-3775,2022-02-14,2
-3776,2022-02-15,2
-3777,2022-02-16,2
-3778,2022-02-17,2
-3779,2022-02-18,2
-3780,2022-02-19,2
-3781,2022-02-20,2
-3782,2022-02-21,2
-3783,2022-02-22,2
-3784,2022-02-23,2
-3785,2022-02-24,2
-3786,2022-02-25,2
-3787,2022-02-26,2
-3788,2022-02-27,2
-3789,2022-02-28,2
-3790,2022-03-01,2
-3791,2022-03-02,2
-3792,2022-03-03,2
-3793,2022-03-04,2
-3794,2022-03-05,2
-3795,2022-03-06,2
-3796,2022-03-07,2
-3797,2022-03-08,2
-3798,2022-03-09,2
-3799,2022-03-10,2
-3800,2022-03-11,2
-3801,2022-03-12,2
-3802,2022-03-13,2
-3803,2022-03-14,2
-3804,2022-03-15,2
-3805,2022-03-16,2
-3806,2022-03-17,2
-3807,2022-03-18,2
-3808,2022-03-19,2
-3809,2022-03-20,2
-3810,2022-03-21,2
-3811,2022-03-22,2
-3812,2022-03-23,2
-3813,2022-03-24,2
-3814,2022-03-25,2
-3815,2022-03-26,2
-3816,2022-03-27,2
-3817,2022-03-28,2
-3818,2022-03-29,2
-3819,2022-03-30,2
-3820,2022-03-31,2
-3821,2022-04-01,2
-3822,2022-04-02,2
-3823,2022-04-03,2
-3824,2022-04-04,2
-3825,2022-04-05,2
-3826,2022-04-06,2
-3827,2022-04-07,2
-3828,2022-04-08,2
-3829,2022-04-09,2
-3830,2022-04-10,2
-3831,2022-04-11,2
-3832,2022-04-12,2
-3833,2022-04-13,2
-3834,2022-04-14,2
-3835,2022-04-15,2
-3836,2022-04-16,2
-3837,2022-04-17,2
-3838,2022-04-18,2
-3839,2022-04-19,2
-3840,2022-04-20,2
-3841,2022-04-21,2
-3842,2022-04-22,2
-3843,2022-04-23,2
-3844,2022-04-24,2
-3845,2022-04-25,2
-3846,2022-04-26,2
-3847,2022-04-27,2
-3848,2022-04-28,2
-3849,2022-04-29,2
-3850,2022-04-30,2
-3851,2022-05-01,2
-3852,2022-05-02,2
-3853,2022-05-03,2
-3854,2022-05-04,2
-3855,2022-05-05,2
-3856,2022-05-06,2
-3857,2022-05-07,2
-3858,2022-05-08,2
-3859,2022-05-09,2
-3860,2022-05-10,2
-3861,2022-05-11,2
-3862,2022-05-12,2
-3863,2022-05-13,2
-3864,2022-05-14,2
-3865,2022-05-15,2
-3866,2022-05-16,2
-3867,2022-05-17,2
-3868,2022-05-18,2
-3869,2022-05-19,2
-3870,2022-05-20,2
-3871,2022-05-21,2
-3872,2022-05-22,2
-3873,2022-05-23,2
-3874,2022-05-24,2
-3875,2022-05-25,2
-3876,2022-05-26,2
-3877,2022-05-27,2
-3878,2022-05-28,2
-3879,2022-05-29,2
-3880,2022-05-30,2
-3881,2022-05-31,2
-3882,2022-06-01,2
-3883,2022-06-02,2
-3884,2022-06-03,2
-3885,2022-06-04,2
-3886,2022-06-05,2
-3887,2022-06-06,2
-3888,2022-06-07,2
-3889,2022-06-08,2
-3890,2022-06-09,2
-3891,2022-06-10,2
-3892,2022-06-11,2
-3893,2022-06-12,2
-3894,2022-06-13,2
-3895,2022-06-14,2
-3896,2022-06-15,2
-3897,2022-06-16,2
-3898,2022-06-17,2
-3899,2022-06-18,2
-3900,2022-06-19,2
-3901,2022-06-20,2
-3902,2022-06-21,2
-3903,2022-06-22,2
-3904,2022-06-23,2
-3905,2022-06-24,2
-3906,2022-06-25,2
-3907,2022-06-26,2
-3908,2022-06-27,2
-3909,2022-06-28,2
-3910,2022-06-29,2
-3911,2022-06-30,2
-3912,2022-07-01,2
-3913,2022-07-02,2
-3914,2022-07-03,2
-3915,2022-07-04,2
-3916,2022-07-05,2
-3917,2022-07-06,2
-3918,2022-07-07,2
-3919,2022-07-08,2
-3920,2022-07-09,2
-3921,2022-07-10,2
-3922,2022-07-11,2
-3923,2022-07-12,2
-3924,2022-07-13,2
-3925,2022-07-14,2
-3926,2022-07-15,2
-3927,2022-07-16,2
-3928,2022-07-17,2
-3929,2022-07-18,2
-3930,2022-07-19,2
-3931,2022-07-20,2
-3932,2022-07-21,2
-3933,2022-07-22,2
-3934,2022-07-23,2
-3935,2022-07-24,2
-3936,2022-07-25,2
-3937,2022-07-26,2
-3938,2022-07-27,2
-3939,2022-07-28,2
-3940,2022-07-29,2
-3941,2022-07-30,2
-3942,2022-07-31,2
-3943,2022-08-01,2
-3944,2022-08-02,2
-3945,2022-08-03,2
-3946,2022-08-04,2
-3947,2022-08-05,2
-3948,2022-08-06,2
-3949,2022-08-07,2
-3950,2022-08-08,2
-3951,2022-08-09,2
-3952,2022-08-10,2
-3953,2022-08-11,2
-3954,2022-08-12,2
-3955,2022-08-13,2
-3956,2022-08-14,2
-3957,2022-08-15,2
-3958,2022-08-16,2
-3959,2022-08-17,2
-3960,2022-08-18,2
-3961,2022-08-19,2
-3962,2022-08-20,2
-3963,2022-08-21,2
-3964,2022-08-22,2
-3965,2022-08-23,2
-3966,2022-08-24,2
-3967,2022-08-25,2
-3968,2022-08-26,2
-3969,2022-08-27,2
-3970,2022-08-28,2
-3971,2022-08-29,2
-3972,2022-08-30,2
-3973,2022-08-31,2
-3974,2022-09-01,2
-3975,2022-09-02,2
-3976,2022-09-03,2
-3977,2022-09-04,2
-3978,2022-09-05,2
-3979,2022-09-06,2
-3980,2022-09-07,2
-3981,2022-09-08,2
-3982,2022-09-09,2
-3983,2022-09-10,2
-3984,2022-09-11,2
-3985,2022-09-12,2
-3986,2022-09-13,2
-3987,2022-09-14,2
-3988,2022-09-15,2
-3989,2022-09-16,2
-3990,2022-09-17,2
-3991,2022-09-18,2
-3992,2022-09-19,2
-3993,2022-09-20,2
-3994,2022-09-21,2
-3995,2022-09-22,2
-3996,2022-09-23,2
-3997,2022-09-24,2
-3998,2022-09-25,2
-3999,2022-09-26,2
+value,date,id
+3000,2020-01-01,2
+3001,2020-01-02,2
+3002,2020-01-03,2
+3003,2020-01-04,2
+3004,2020-01-05,2
+3005,2020-01-06,2
+3006,2020-01-07,2
+3007,2020-01-08,2
+3008,2020-01-09,2
+3009,2020-01-10,2
+3010,2020-01-11,2
+3011,2020-01-12,2
+3012,2020-01-13,2
+3013,2020-01-14,2
+3014,2020-01-15,2
+3015,2020-01-16,2
+3016,2020-01-17,2
+3017,2020-01-18,2
+3018,2020-01-19,2
+3019,2020-01-20,2
+3020,2020-01-21,2
+3021,2020-01-22,2
+3022,2020-01-23,2
+3023,2020-01-24,2
+3024,2020-01-25,2
+3025,2020-01-26,2
+3026,2020-01-27,2
+3027,2020-01-28,2
+3028,2020-01-29,2
+3029,2020-01-30,2
+3030,2020-01-31,2
+3031,2020-02-01,2
+3032,2020-02-02,2
+3033,2020-02-03,2
+3034,2020-02-04,2
+3035,2020-02-05,2
+3036,2020-02-06,2
+3037,2020-02-07,2
+3038,2020-02-08,2
+3039,2020-02-09,2
+3040,2020-02-10,2
+3041,2020-02-11,2
+3042,2020-02-12,2
+3043,2020-02-13,2
+3044,2020-02-14,2
+3045,2020-02-15,2
+3046,2020-02-16,2
+3047,2020-02-17,2
+3048,2020-02-18,2
+3049,2020-02-19,2
+3050,2020-02-20,2
+3051,2020-02-21,2
+3052,2020-02-22,2
+3053,2020-02-23,2
+3054,2020-02-24,2
+3055,2020-02-25,2
+3056,2020-02-26,2
+3057,2020-02-27,2
+3058,2020-02-28,2
+3059,2020-02-29,2
+3060,2020-03-01,2
+3061,2020-03-02,2
+3062,2020-03-03,2
+3063,2020-03-04,2
+3064,2020-03-05,2
+3065,2020-03-06,2
+3066,2020-03-07,2
+3067,2020-03-08,2
+3068,2020-03-09,2
+3069,2020-03-10,2
+3070,2020-03-11,2
+3071,2020-03-12,2
+3072,2020-03-13,2
+3073,2020-03-14,2
+3074,2020-03-15,2
+3075,2020-03-16,2
+3076,2020-03-17,2
+3077,2020-03-18,2
+3078,2020-03-19,2
+3079,2020-03-20,2
+3080,2020-03-21,2
+3081,2020-03-22,2
+3082,2020-03-23,2
+3083,2020-03-24,2
+3084,2020-03-25,2
+3085,2020-03-26,2
+3086,2020-03-27,2
+3087,2020-03-28,2
+3088,2020-03-29,2
+3089,2020-03-30,2
+3090,2020-03-31,2
+3091,2020-04-01,2
+3092,2020-04-02,2
+3093,2020-04-03,2
+3094,2020-04-04,2
+3095,2020-04-05,2
+3096,2020-04-06,2
+3097,2020-04-07,2
+3098,2020-04-08,2
+3099,2020-04-09,2
+3100,2020-04-10,2
+3101,2020-04-11,2
+3102,2020-04-12,2
+3103,2020-04-13,2
+3104,2020-04-14,2
+3105,2020-04-15,2
+3106,2020-04-16,2
+3107,2020-04-17,2
+3108,2020-04-18,2
+3109,2020-04-19,2
+3110,2020-04-20,2
+3111,2020-04-21,2
+3112,2020-04-22,2
+3113,2020-04-23,2
+3114,2020-04-24,2
+3115,2020-04-25,2
+3116,2020-04-26,2
+3117,2020-04-27,2
+3118,2020-04-28,2
+3119,2020-04-29,2
+3120,2020-04-30,2
+3121,2020-05-01,2
+3122,2020-05-02,2
+3123,2020-05-03,2
+3124,2020-05-04,2
+3125,2020-05-05,2
+3126,2020-05-06,2
+3127,2020-05-07,2
+3128,2020-05-08,2
+3129,2020-05-09,2
+3130,2020-05-10,2
+3131,2020-05-11,2
+3132,2020-05-12,2
+3133,2020-05-13,2
+3134,2020-05-14,2
+3135,2020-05-15,2
+3136,2020-05-16,2
+3137,2020-05-17,2
+3138,2020-05-18,2
+3139,2020-05-19,2
+3140,2020-05-20,2
+3141,2020-05-21,2
+3142,2020-05-22,2
+3143,2020-05-23,2
+3144,2020-05-24,2
+3145,2020-05-25,2
+3146,2020-05-26,2
+3147,2020-05-27,2
+3148,2020-05-28,2
+3149,2020-05-29,2
+3150,2020-05-30,2
+3151,2020-05-31,2
+3152,2020-06-01,2
+3153,2020-06-02,2
+3154,2020-06-03,2
+3155,2020-06-04,2
+3156,2020-06-05,2
+3157,2020-06-06,2
+3158,2020-06-07,2
+3159,2020-06-08,2
+3160,2020-06-09,2
+3161,2020-06-10,2
+3162,2020-06-11,2
+3163,2020-06-12,2
+3164,2020-06-13,2
+3165,2020-06-14,2
+3166,2020-06-15,2
+3167,2020-06-16,2
+3168,2020-06-17,2
+3169,2020-06-18,2
+3170,2020-06-19,2
+3171,2020-06-20,2
+3172,2020-06-21,2
+3173,2020-06-22,2
+3174,2020-06-23,2
+3175,2020-06-24,2
+3176,2020-06-25,2
+3177,2020-06-26,2
+3178,2020-06-27,2
+3179,2020-06-28,2
+3180,2020-06-29,2
+3181,2020-06-30,2
+3182,2020-07-01,2
+3183,2020-07-02,2
+3184,2020-07-03,2
+3185,2020-07-04,2
+3186,2020-07-05,2
+3187,2020-07-06,2
+3188,2020-07-07,2
+3189,2020-07-08,2
+3190,2020-07-09,2
+3191,2020-07-10,2
+3192,2020-07-11,2
+3193,2020-07-12,2
+3194,2020-07-13,2
+3195,2020-07-14,2
+3196,2020-07-15,2
+3197,2020-07-16,2
+3198,2020-07-17,2
+3199,2020-07-18,2
+3200,2020-07-19,2
+3201,2020-07-20,2
+3202,2020-07-21,2
+3203,2020-07-22,2
+3204,2020-07-23,2
+3205,2020-07-24,2
+3206,2020-07-25,2
+3207,2020-07-26,2
+3208,2020-07-27,2
+3209,2020-07-28,2
+3210,2020-07-29,2
+3211,2020-07-30,2
+3212,2020-07-31,2
+3213,2020-08-01,2
+3214,2020-08-02,2
+3215,2020-08-03,2
+3216,2020-08-04,2
+3217,2020-08-05,2
+3218,2020-08-06,2
+3219,2020-08-07,2
+3220,2020-08-08,2
+3221,2020-08-09,2
+3222,2020-08-10,2
+3223,2020-08-11,2
+3224,2020-08-12,2
+3225,2020-08-13,2
+3226,2020-08-14,2
+3227,2020-08-15,2
+3228,2020-08-16,2
+3229,2020-08-17,2
+3230,2020-08-18,2
+3231,2020-08-19,2
+3232,2020-08-20,2
+3233,2020-08-21,2
+3234,2020-08-22,2
+3235,2020-08-23,2
+3236,2020-08-24,2
+3237,2020-08-25,2
+3238,2020-08-26,2
+3239,2020-08-27,2
+3240,2020-08-28,2
+3241,2020-08-29,2
+3242,2020-08-30,2
+3243,2020-08-31,2
+3244,2020-09-01,2
+3245,2020-09-02,2
+3246,2020-09-03,2
+3247,2020-09-04,2
+3248,2020-09-05,2
+3249,2020-09-06,2
+3250,2020-09-07,2
+3251,2020-09-08,2
+3252,2020-09-09,2
+3253,2020-09-10,2
+3254,2020-09-11,2
+3255,2020-09-12,2
+3256,2020-09-13,2
+3257,2020-09-14,2
+3258,2020-09-15,2
+3259,2020-09-16,2
+3260,2020-09-17,2
+3261,2020-09-18,2
+3262,2020-09-19,2
+3263,2020-09-20,2
+3264,2020-09-21,2
+3265,2020-09-22,2
+3266,2020-09-23,2
+3267,2020-09-24,2
+3268,2020-09-25,2
+3269,2020-09-26,2
+3270,2020-09-27,2
+3271,2020-09-28,2
+3272,2020-09-29,2
+3273,2020-09-30,2
+3274,2020-10-01,2
+3275,2020-10-02,2
+3276,2020-10-03,2
+3277,2020-10-04,2
+3278,2020-10-05,2
+3279,2020-10-06,2
+3280,2020-10-07,2
+3281,2020-10-08,2
+3282,2020-10-09,2
+3283,2020-10-10,2
+3284,2020-10-11,2
+3285,2020-10-12,2
+3286,2020-10-13,2
+3287,2020-10-14,2
+3288,2020-10-15,2
+3289,2020-10-16,2
+3290,2020-10-17,2
+3291,2020-10-18,2
+3292,2020-10-19,2
+3293,2020-10-20,2
+3294,2020-10-21,2
+3295,2020-10-22,2
+3296,2020-10-23,2
+3297,2020-10-24,2
+3298,2020-10-25,2
+3299,2020-10-26,2
+3300,2020-10-27,2
+3301,2020-10-28,2
+3302,2020-10-29,2
+3303,2020-10-30,2
+3304,2020-10-31,2
+3305,2020-11-01,2
+3306,2020-11-02,2
+3307,2020-11-03,2
+3308,2020-11-04,2
+3309,2020-11-05,2
+3310,2020-11-06,2
+3311,2020-11-07,2
+3312,2020-11-08,2
+3313,2020-11-09,2
+3314,2020-11-10,2
+3315,2020-11-11,2
+3316,2020-11-12,2
+3317,2020-11-13,2
+3318,2020-11-14,2
+3319,2020-11-15,2
+3320,2020-11-16,2
+3321,2020-11-17,2
+3322,2020-11-18,2
+3323,2020-11-19,2
+3324,2020-11-20,2
+3325,2020-11-21,2
+3326,2020-11-22,2
+3327,2020-11-23,2
+3328,2020-11-24,2
+3329,2020-11-25,2
+3330,2020-11-26,2
+3331,2020-11-27,2
+3332,2020-11-28,2
+3333,2020-11-29,2
+3334,2020-11-30,2
+3335,2020-12-01,2
+3336,2020-12-02,2
+3337,2020-12-03,2
+3338,2020-12-04,2
+3339,2020-12-05,2
+3340,2020-12-06,2
+3341,2020-12-07,2
+3342,2020-12-08,2
+3343,2020-12-09,2
+3344,2020-12-10,2
+3345,2020-12-11,2
+3346,2020-12-12,2
+3347,2020-12-13,2
+3348,2020-12-14,2
+3349,2020-12-15,2
+3350,2020-12-16,2
+3351,2020-12-17,2
+3352,2020-12-18,2
+3353,2020-12-19,2
+3354,2020-12-20,2
+3355,2020-12-21,2
+3356,2020-12-22,2
+3357,2020-12-23,2
+3358,2020-12-24,2
+3359,2020-12-25,2
+3360,2020-12-26,2
+3361,2020-12-27,2
+3362,2020-12-28,2
+3363,2020-12-29,2
+3364,2020-12-30,2
+3365,2020-12-31,2
+3366,2021-01-01,2
+3367,2021-01-02,2
+3368,2021-01-03,2
+3369,2021-01-04,2
+3370,2021-01-05,2
+3371,2021-01-06,2
+3372,2021-01-07,2
+3373,2021-01-08,2
+3374,2021-01-09,2
+3375,2021-01-10,2
+3376,2021-01-11,2
+3377,2021-01-12,2
+3378,2021-01-13,2
+3379,2021-01-14,2
+3380,2021-01-15,2
+3381,2021-01-16,2
+3382,2021-01-17,2
+3383,2021-01-18,2
+3384,2021-01-19,2
+3385,2021-01-20,2
+3386,2021-01-21,2
+3387,2021-01-22,2
+3388,2021-01-23,2
+3389,2021-01-24,2
+3390,2021-01-25,2
+3391,2021-01-26,2
+3392,2021-01-27,2
+3393,2021-01-28,2
+3394,2021-01-29,2
+3395,2021-01-30,2
+3396,2021-01-31,2
+3397,2021-02-01,2
+3398,2021-02-02,2
+3399,2021-02-03,2
+3400,2021-02-04,2
+3401,2021-02-05,2
+3402,2021-02-06,2
+3403,2021-02-07,2
+3404,2021-02-08,2
+3405,2021-02-09,2
+3406,2021-02-10,2
+3407,2021-02-11,2
+3408,2021-02-12,2
+3409,2021-02-13,2
+3410,2021-02-14,2
+3411,2021-02-15,2
+3412,2021-02-16,2
+3413,2021-02-17,2
+3414,2021-02-18,2
+3415,2021-02-19,2
+3416,2021-02-20,2
+3417,2021-02-21,2
+3418,2021-02-22,2
+3419,2021-02-23,2
+3420,2021-02-24,2
+3421,2021-02-25,2
+3422,2021-02-26,2
+3423,2021-02-27,2
+3424,2021-02-28,2
+3425,2021-03-01,2
+3426,2021-03-02,2
+3427,2021-03-03,2
+3428,2021-03-04,2
+3429,2021-03-05,2
+3430,2021-03-06,2
+3431,2021-03-07,2
+3432,2021-03-08,2
+3433,2021-03-09,2
+3434,2021-03-10,2
+3435,2021-03-11,2
+3436,2021-03-12,2
+3437,2021-03-13,2
+3438,2021-03-14,2
+3439,2021-03-15,2
+3440,2021-03-16,2
+3441,2021-03-17,2
+3442,2021-03-18,2
+3443,2021-03-19,2
+3444,2021-03-20,2
+3445,2021-03-21,2
+3446,2021-03-22,2
+3447,2021-03-23,2
+3448,2021-03-24,2
+3449,2021-03-25,2
+3450,2021-03-26,2
+3451,2021-03-27,2
+3452,2021-03-28,2
+3453,2021-03-29,2
+3454,2021-03-30,2
+3455,2021-03-31,2
+3456,2021-04-01,2
+3457,2021-04-02,2
+3458,2021-04-03,2
+3459,2021-04-04,2
+3460,2021-04-05,2
+3461,2021-04-06,2
+3462,2021-04-07,2
+3463,2021-04-08,2
+3464,2021-04-09,2
+3465,2021-04-10,2
+3466,2021-04-11,2
+3467,2021-04-12,2
+3468,2021-04-13,2
+3469,2021-04-14,2
+3470,2021-04-15,2
+3471,2021-04-16,2
+3472,2021-04-17,2
+3473,2021-04-18,2
+3474,2021-04-19,2
+3475,2021-04-20,2
+3476,2021-04-21,2
+3477,2021-04-22,2
+3478,2021-04-23,2
+3479,2021-04-24,2
+3480,2021-04-25,2
+3481,2021-04-26,2
+3482,2021-04-27,2
+3483,2021-04-28,2
+3484,2021-04-29,2
+3485,2021-04-30,2
+3486,2021-05-01,2
+3487,2021-05-02,2
+3488,2021-05-03,2
+3489,2021-05-04,2
+3490,2021-05-05,2
+3491,2021-05-06,2
+3492,2021-05-07,2
+3493,2021-05-08,2
+3494,2021-05-09,2
+3495,2021-05-10,2
+3496,2021-05-11,2
+3497,2021-05-12,2
+3498,2021-05-13,2
+3499,2021-05-14,2
+3500,2021-05-15,2
+3501,2021-05-16,2
+3502,2021-05-17,2
+3503,2021-05-18,2
+3504,2021-05-19,2
+3505,2021-05-20,2
+3506,2021-05-21,2
+3507,2021-05-22,2
+3508,2021-05-23,2
+3509,2021-05-24,2
+3510,2021-05-25,2
+3511,2021-05-26,2
+3512,2021-05-27,2
+3513,2021-05-28,2
+3514,2021-05-29,2
+3515,2021-05-30,2
+3516,2021-05-31,2
+3517,2021-06-01,2
+3518,2021-06-02,2
+3519,2021-06-03,2
+3520,2021-06-04,2
+3521,2021-06-05,2
+3522,2021-06-06,2
+3523,2021-06-07,2
+3524,2021-06-08,2
+3525,2021-06-09,2
+3526,2021-06-10,2
+3527,2021-06-11,2
+3528,2021-06-12,2
+3529,2021-06-13,2
+3530,2021-06-14,2
+3531,2021-06-15,2
+3532,2021-06-16,2
+3533,2021-06-17,2
+3534,2021-06-18,2
+3535,2021-06-19,2
+3536,2021-06-20,2
+3537,2021-06-21,2
+3538,2021-06-22,2
+3539,2021-06-23,2
+3540,2021-06-24,2
+3541,2021-06-25,2
+3542,2021-06-26,2
+3543,2021-06-27,2
+3544,2021-06-28,2
+3545,2021-06-29,2
+3546,2021-06-30,2
+3547,2021-07-01,2
+3548,2021-07-02,2
+3549,2021-07-03,2
+3550,2021-07-04,2
+3551,2021-07-05,2
+3552,2021-07-06,2
+3553,2021-07-07,2
+3554,2021-07-08,2
+3555,2021-07-09,2
+3556,2021-07-10,2
+3557,2021-07-11,2
+3558,2021-07-12,2
+3559,2021-07-13,2
+3560,2021-07-14,2
+3561,2021-07-15,2
+3562,2021-07-16,2
+3563,2021-07-17,2
+3564,2021-07-18,2
+3565,2021-07-19,2
+3566,2021-07-20,2
+3567,2021-07-21,2
+3568,2021-07-22,2
+3569,2021-07-23,2
+3570,2021-07-24,2
+3571,2021-07-25,2
+3572,2021-07-26,2
+3573,2021-07-27,2
+3574,2021-07-28,2
+3575,2021-07-29,2
+3576,2021-07-30,2
+3577,2021-07-31,2
+3578,2021-08-01,2
+3579,2021-08-02,2
+3580,2021-08-03,2
+3581,2021-08-04,2
+3582,2021-08-05,2
+3583,2021-08-06,2
+3584,2021-08-07,2
+3585,2021-08-08,2
+3586,2021-08-09,2
+3587,2021-08-10,2
+3588,2021-08-11,2
+3589,2021-08-12,2
+3590,2021-08-13,2
+3591,2021-08-14,2
+3592,2021-08-15,2
+3593,2021-08-16,2
+3594,2021-08-17,2
+3595,2021-08-18,2
+3596,2021-08-19,2
+3597,2021-08-20,2
+3598,2021-08-21,2
+3599,2021-08-22,2
+3600,2021-08-23,2
+3601,2021-08-24,2
+3602,2021-08-25,2
+3603,2021-08-26,2
+3604,2021-08-27,2
+3605,2021-08-28,2
+3606,2021-08-29,2
+3607,2021-08-30,2
+3608,2021-08-31,2
+3609,2021-09-01,2
+3610,2021-09-02,2
+3611,2021-09-03,2
+3612,2021-09-04,2
+3613,2021-09-05,2
+3614,2021-09-06,2
+3615,2021-09-07,2
+3616,2021-09-08,2
+3617,2021-09-09,2
+3618,2021-09-10,2
+3619,2021-09-11,2
+3620,2021-09-12,2
+3621,2021-09-13,2
+3622,2021-09-14,2
+3623,2021-09-15,2
+3624,2021-09-16,2
+3625,2021-09-17,2
+3626,2021-09-18,2
+3627,2021-09-19,2
+3628,2021-09-20,2
+3629,2021-09-21,2
+3630,2021-09-22,2
+3631,2021-09-23,2
+3632,2021-09-24,2
+3633,2021-09-25,2
+3634,2021-09-26,2
+3635,2021-09-27,2
+3636,2021-09-28,2
+3637,2021-09-29,2
+3638,2021-09-30,2
+3639,2021-10-01,2
+3640,2021-10-02,2
+3641,2021-10-03,2
+3642,2021-10-04,2
+3643,2021-10-05,2
+3644,2021-10-06,2
+3645,2021-10-07,2
+3646,2021-10-08,2
+3647,2021-10-09,2
+3648,2021-10-10,2
+3649,2021-10-11,2
+3650,2021-10-12,2
+3651,2021-10-13,2
+3652,2021-10-14,2
+3653,2021-10-15,2
+3654,2021-10-16,2
+3655,2021-10-17,2
+3656,2021-10-18,2
+3657,2021-10-19,2
+3658,2021-10-20,2
+3659,2021-10-21,2
+3660,2021-10-22,2
+3661,2021-10-23,2
+3662,2021-10-24,2
+3663,2021-10-25,2
+3664,2021-10-26,2
+3665,2021-10-27,2
+3666,2021-10-28,2
+3667,2021-10-29,2
+3668,2021-10-30,2
+3669,2021-10-31,2
+3670,2021-11-01,2
+3671,2021-11-02,2
+3672,2021-11-03,2
+3673,2021-11-04,2
+3674,2021-11-05,2
+3675,2021-11-06,2
+3676,2021-11-07,2
+3677,2021-11-08,2
+3678,2021-11-09,2
+3679,2021-11-10,2
+3680,2021-11-11,2
+3681,2021-11-12,2
+3682,2021-11-13,2
+3683,2021-11-14,2
+3684,2021-11-15,2
+3685,2021-11-16,2
+3686,2021-11-17,2
+3687,2021-11-18,2
+3688,2021-11-19,2
+3689,2021-11-20,2
+3690,2021-11-21,2
+3691,2021-11-22,2
+3692,2021-11-23,2
+3693,2021-11-24,2
+3694,2021-11-25,2
+3695,2021-11-26,2
+3696,2021-11-27,2
+3697,2021-11-28,2
+3698,2021-11-29,2
+3699,2021-11-30,2
+3700,2021-12-01,2
+3701,2021-12-02,2
+3702,2021-12-03,2
+3703,2021-12-04,2
+3704,2021-12-05,2
+3705,2021-12-06,2
+3706,2021-12-07,2
+3707,2021-12-08,2
+3708,2021-12-09,2
+3709,2021-12-10,2
+3710,2021-12-11,2
+3711,2021-12-12,2
+3712,2021-12-13,2
+3713,2021-12-14,2
+3714,2021-12-15,2
+3715,2021-12-16,2
+3716,2021-12-17,2
+3717,2021-12-18,2
+3718,2021-12-19,2
+3719,2021-12-20,2
+3720,2021-12-21,2
+3721,2021-12-22,2
+3722,2021-12-23,2
+3723,2021-12-24,2
+3724,2021-12-25,2
+3725,2021-12-26,2
+3726,2021-12-27,2
+3727,2021-12-28,2
+3728,2021-12-29,2
+3729,2021-12-30,2
+3730,2021-12-31,2
+3731,2022-01-01,2
+3732,2022-01-02,2
+3733,2022-01-03,2
+3734,2022-01-04,2
+3735,2022-01-05,2
+3736,2022-01-06,2
+3737,2022-01-07,2
+3738,2022-01-08,2
+3739,2022-01-09,2
+3740,2022-01-10,2
+3741,2022-01-11,2
+3742,2022-01-12,2
+3743,2022-01-13,2
+3744,2022-01-14,2
+3745,2022-01-15,2
+3746,2022-01-16,2
+3747,2022-01-17,2
+3748,2022-01-18,2
+3749,2022-01-19,2
+3750,2022-01-20,2
+3751,2022-01-21,2
+3752,2022-01-22,2
+3753,2022-01-23,2
+3754,2022-01-24,2
+3755,2022-01-25,2
+3756,2022-01-26,2
+3757,2022-01-27,2
+3758,2022-01-28,2
+3759,2022-01-29,2
+3760,2022-01-30,2
+3761,2022-01-31,2
+3762,2022-02-01,2
+3763,2022-02-02,2
+3764,2022-02-03,2
+3765,2022-02-04,2
+3766,2022-02-05,2
+3767,2022-02-06,2
+3768,2022-02-07,2
+3769,2022-02-08,2
+3770,2022-02-09,2
+3771,2022-02-10,2
+3772,2022-02-11,2
+3773,2022-02-12,2
+3774,2022-02-13,2
+3775,2022-02-14,2
+3776,2022-02-15,2
+3777,2022-02-16,2
+3778,2022-02-17,2
+3779,2022-02-18,2
+3780,2022-02-19,2
+3781,2022-02-20,2
+3782,2022-02-21,2
+3783,2022-02-22,2
+3784,2022-02-23,2
+3785,2022-02-24,2
+3786,2022-02-25,2
+3787,2022-02-26,2
+3788,2022-02-27,2
+3789,2022-02-28,2
+3790,2022-03-01,2
+3791,2022-03-02,2
+3792,2022-03-03,2
+3793,2022-03-04,2
+3794,2022-03-05,2
+3795,2022-03-06,2
+3796,2022-03-07,2
+3797,2022-03-08,2
+3798,2022-03-09,2
+3799,2022-03-10,2
+3800,2022-03-11,2
+3801,2022-03-12,2
+3802,2022-03-13,2
+3803,2022-03-14,2
+3804,2022-03-15,2
+3805,2022-03-16,2
+3806,2022-03-17,2
+3807,2022-03-18,2
+3808,2022-03-19,2
+3809,2022-03-20,2
+3810,2022-03-21,2
+3811,2022-03-22,2
+3812,2022-03-23,2
+3813,2022-03-24,2
+3814,2022-03-25,2
+3815,2022-03-26,2
+3816,2022-03-27,2
+3817,2022-03-28,2
+3818,2022-03-29,2
+3819,2022-03-30,2
+3820,2022-03-31,2
+3821,2022-04-01,2
+3822,2022-04-02,2
+3823,2022-04-03,2
+3824,2022-04-04,2
+3825,2022-04-05,2
+3826,2022-04-06,2
+3827,2022-04-07,2
+3828,2022-04-08,2
+3829,2022-04-09,2
+3830,2022-04-10,2
+3831,2022-04-11,2
+3832,2022-04-12,2
+3833,2022-04-13,2
+3834,2022-04-14,2
+3835,2022-04-15,2
+3836,2022-04-16,2
+3837,2022-04-17,2
+3838,2022-04-18,2
+3839,2022-04-19,2
+3840,2022-04-20,2
+3841,2022-04-21,2
+3842,2022-04-22,2
+3843,2022-04-23,2
+3844,2022-04-24,2
+3845,2022-04-25,2
+3846,2022-04-26,2
+3847,2022-04-27,2
+3848,2022-04-28,2
+3849,2022-04-29,2
+3850,2022-04-30,2
+3851,2022-05-01,2
+3852,2022-05-02,2
+3853,2022-05-03,2
+3854,2022-05-04,2
+3855,2022-05-05,2
+3856,2022-05-06,2
+3857,2022-05-07,2
+3858,2022-05-08,2
+3859,2022-05-09,2
+3860,2022-05-10,2
+3861,2022-05-11,2
+3862,2022-05-12,2
+3863,2022-05-13,2
+3864,2022-05-14,2
+3865,2022-05-15,2
+3866,2022-05-16,2
+3867,2022-05-17,2
+3868,2022-05-18,2
+3869,2022-05-19,2
+3870,2022-05-20,2
+3871,2022-05-21,2
+3872,2022-05-22,2
+3873,2022-05-23,2
+3874,2022-05-24,2
+3875,2022-05-25,2
+3876,2022-05-26,2
+3877,2022-05-27,2
+3878,2022-05-28,2
+3879,2022-05-29,2
+3880,2022-05-30,2
+3881,2022-05-31,2
+3882,2022-06-01,2
+3883,2022-06-02,2
+3884,2022-06-03,2
+3885,2022-06-04,2
+3886,2022-06-05,2
+3887,2022-06-06,2
+3888,2022-06-07,2
+3889,2022-06-08,2
+3890,2022-06-09,2
+3891,2022-06-10,2
+3892,2022-06-11,2
+3893,2022-06-12,2
+3894,2022-06-13,2
+3895,2022-06-14,2
+3896,2022-06-15,2
+3897,2022-06-16,2
+3898,2022-06-17,2
+3899,2022-06-18,2
+3900,2022-06-19,2
+3901,2022-06-20,2
+3902,2022-06-21,2
+3903,2022-06-22,2
+3904,2022-06-23,2
+3905,2022-06-24,2
+3906,2022-06-25,2
+3907,2022-06-26,2
+3908,2022-06-27,2
+3909,2022-06-28,2
+3910,2022-06-29,2
+3911,2022-06-30,2
+3912,2022-07-01,2
+3913,2022-07-02,2
+3914,2022-07-03,2
+3915,2022-07-04,2
+3916,2022-07-05,2
+3917,2022-07-06,2
+3918,2022-07-07,2
+3919,2022-07-08,2
+3920,2022-07-09,2
+3921,2022-07-10,2
+3922,2022-07-11,2
+3923,2022-07-12,2
+3924,2022-07-13,2
+3925,2022-07-14,2
+3926,2022-07-15,2
+3927,2022-07-16,2
+3928,2022-07-17,2
+3929,2022-07-18,2
+3930,2022-07-19,2
+3931,2022-07-20,2
+3932,2022-07-21,2
+3933,2022-07-22,2
+3934,2022-07-23,2
+3935,2022-07-24,2
+3936,2022-07-25,2
+3937,2022-07-26,2
+3938,2022-07-27,2
+3939,2022-07-28,2
+3940,2022-07-29,2
+3941,2022-07-30,2
+3942,2022-07-31,2
+3943,2022-08-01,2
+3944,2022-08-02,2
+3945,2022-08-03,2
+3946,2022-08-04,2
+3947,2022-08-05,2
+3948,2022-08-06,2
+3949,2022-08-07,2
+3950,2022-08-08,2
+3951,2022-08-09,2
+3952,2022-08-10,2
+3953,2022-08-11,2
+3954,2022-08-12,2
+3955,2022-08-13,2
+3956,2022-08-14,2
+3957,2022-08-15,2
+3958,2022-08-16,2
+3959,2022-08-17,2
+3960,2022-08-18,2
+3961,2022-08-19,2
+3962,2022-08-20,2
+3963,2022-08-21,2
+3964,2022-08-22,2
+3965,2022-08-23,2
+3966,2022-08-24,2
+3967,2022-08-25,2
+3968,2022-08-26,2
+3969,2022-08-27,2
+3970,2022-08-28,2
+3971,2022-08-29,2
+3972,2022-08-30,2
+3973,2022-08-31,2
+3974,2022-09-01,2
+3975,2022-09-02,2
+3976,2022-09-03,2
+3977,2022-09-04,2
+3978,2022-09-05,2
+3979,2022-09-06,2
+3980,2022-09-07,2
+3981,2022-09-08,2
+3982,2022-09-09,2
+3983,2022-09-10,2
+3984,2022-09-11,2
+3985,2022-09-12,2
+3986,2022-09-13,2
+3987,2022-09-14,2
+3988,2022-09-15,2
+3989,2022-09-16,2
+3990,2022-09-17,2
+3991,2022-09-18,2
+3992,2022-09-19,2
+3993,2022-09-20,2
+3994,2022-09-21,2
+3995,2022-09-22,2
+3996,2022-09-23,2
+3997,2022-09-24,2
+3998,2022-09-25,2
+3999,2022-09-26,2
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_3.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_3.csv
index 8d0cd24..1efa1c8 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_3.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_3.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-4000,2020-01-01,3
-4001,2020-01-02,3
-4002,2020-01-03,3
-4003,2020-01-04,3
-4004,2020-01-05,3
-4005,2020-01-06,3
-4006,2020-01-07,3
-4007,2020-01-08,3
-4008,2020-01-09,3
-4009,2020-01-10,3
-4010,2020-01-11,3
-4011,2020-01-12,3
-4012,2020-01-13,3
-4013,2020-01-14,3
-4014,2020-01-15,3
-4015,2020-01-16,3
-4016,2020-01-17,3
-4017,2020-01-18,3
-4018,2020-01-19,3
-4019,2020-01-20,3
-4020,2020-01-21,3
-4021,2020-01-22,3
-4022,2020-01-23,3
-4023,2020-01-24,3
-4024,2020-01-25,3
-4025,2020-01-26,3
-4026,2020-01-27,3
-4027,2020-01-28,3
-4028,2020-01-29,3
-4029,2020-01-30,3
-4030,2020-01-31,3
-4031,2020-02-01,3
-4032,2020-02-02,3
-4033,2020-02-03,3
-4034,2020-02-04,3
-4035,2020-02-05,3
-4036,2020-02-06,3
-4037,2020-02-07,3
-4038,2020-02-08,3
-4039,2020-02-09,3
-4040,2020-02-10,3
-4041,2020-02-11,3
-4042,2020-02-12,3
-4043,2020-02-13,3
-4044,2020-02-14,3
-4045,2020-02-15,3
-4046,2020-02-16,3
-4047,2020-02-17,3
-4048,2020-02-18,3
-4049,2020-02-19,3
-4050,2020-02-20,3
-4051,2020-02-21,3
-4052,2020-02-22,3
-4053,2020-02-23,3
-4054,2020-02-24,3
-4055,2020-02-25,3
-4056,2020-02-26,3
-4057,2020-02-27,3
-4058,2020-02-28,3
-4059,2020-02-29,3
-4060,2020-03-01,3
-4061,2020-03-02,3
-4062,2020-03-03,3
-4063,2020-03-04,3
-4064,2020-03-05,3
-4065,2020-03-06,3
-4066,2020-03-07,3
-4067,2020-03-08,3
-4068,2020-03-09,3
-4069,2020-03-10,3
-4070,2020-03-11,3
-4071,2020-03-12,3
-4072,2020-03-13,3
-4073,2020-03-14,3
-4074,2020-03-15,3
-4075,2020-03-16,3
-4076,2020-03-17,3
-4077,2020-03-18,3
-4078,2020-03-19,3
-4079,2020-03-20,3
-4080,2020-03-21,3
-4081,2020-03-22,3
-4082,2020-03-23,3
-4083,2020-03-24,3
-4084,2020-03-25,3
-4085,2020-03-26,3
-4086,2020-03-27,3
-4087,2020-03-28,3
-4088,2020-03-29,3
-4089,2020-03-30,3
-4090,2020-03-31,3
-4091,2020-04-01,3
-4092,2020-04-02,3
-4093,2020-04-03,3
-4094,2020-04-04,3
-4095,2020-04-05,3
-4096,2020-04-06,3
-4097,2020-04-07,3
-4098,2020-04-08,3
-4099,2020-04-09,3
-4100,2020-04-10,3
-4101,2020-04-11,3
-4102,2020-04-12,3
-4103,2020-04-13,3
-4104,2020-04-14,3
-4105,2020-04-15,3
-4106,2020-04-16,3
-4107,2020-04-17,3
-4108,2020-04-18,3
-4109,2020-04-19,3
-4110,2020-04-20,3
-4111,2020-04-21,3
-4112,2020-04-22,3
-4113,2020-04-23,3
-4114,2020-04-24,3
-4115,2020-04-25,3
-4116,2020-04-26,3
-4117,2020-04-27,3
-4118,2020-04-28,3
-4119,2020-04-29,3
-4120,2020-04-30,3
-4121,2020-05-01,3
-4122,2020-05-02,3
-4123,2020-05-03,3
-4124,2020-05-04,3
-4125,2020-05-05,3
-4126,2020-05-06,3
-4127,2020-05-07,3
-4128,2020-05-08,3
-4129,2020-05-09,3
-4130,2020-05-10,3
-4131,2020-05-11,3
-4132,2020-05-12,3
-4133,2020-05-13,3
-4134,2020-05-14,3
-4135,2020-05-15,3
-4136,2020-05-16,3
-4137,2020-05-17,3
-4138,2020-05-18,3
-4139,2020-05-19,3
-4140,2020-05-20,3
-4141,2020-05-21,3
-4142,2020-05-22,3
-4143,2020-05-23,3
-4144,2020-05-24,3
-4145,2020-05-25,3
-4146,2020-05-26,3
-4147,2020-05-27,3
-4148,2020-05-28,3
-4149,2020-05-29,3
-4150,2020-05-30,3
-4151,2020-05-31,3
-4152,2020-06-01,3
-4153,2020-06-02,3
-4154,2020-06-03,3
-4155,2020-06-04,3
-4156,2020-06-05,3
-4157,2020-06-06,3
-4158,2020-06-07,3
-4159,2020-06-08,3
-4160,2020-06-09,3
-4161,2020-06-10,3
-4162,2020-06-11,3
-4163,2020-06-12,3
-4164,2020-06-13,3
-4165,2020-06-14,3
-4166,2020-06-15,3
-4167,2020-06-16,3
-4168,2020-06-17,3
-4169,2020-06-18,3
-4170,2020-06-19,3
-4171,2020-06-20,3
-4172,2020-06-21,3
-4173,2020-06-22,3
-4174,2020-06-23,3
-4175,2020-06-24,3
-4176,2020-06-25,3
-4177,2020-06-26,3
-4178,2020-06-27,3
-4179,2020-06-28,3
-4180,2020-06-29,3
-4181,2020-06-30,3
-4182,2020-07-01,3
-4183,2020-07-02,3
-4184,2020-07-03,3
-4185,2020-07-04,3
-4186,2020-07-05,3
-4187,2020-07-06,3
-4188,2020-07-07,3
-4189,2020-07-08,3
-4190,2020-07-09,3
-4191,2020-07-10,3
-4192,2020-07-11,3
-4193,2020-07-12,3
-4194,2020-07-13,3
-4195,2020-07-14,3
-4196,2020-07-15,3
-4197,2020-07-16,3
-4198,2020-07-17,3
-4199,2020-07-18,3
-4200,2020-07-19,3
-4201,2020-07-20,3
-4202,2020-07-21,3
-4203,2020-07-22,3
-4204,2020-07-23,3
-4205,2020-07-24,3
-4206,2020-07-25,3
-4207,2020-07-26,3
-4208,2020-07-27,3
-4209,2020-07-28,3
-4210,2020-07-29,3
-4211,2020-07-30,3
-4212,2020-07-31,3
-4213,2020-08-01,3
-4214,2020-08-02,3
-4215,2020-08-03,3
-4216,2020-08-04,3
-4217,2020-08-05,3
-4218,2020-08-06,3
-4219,2020-08-07,3
-4220,2020-08-08,3
-4221,2020-08-09,3
-4222,2020-08-10,3
-4223,2020-08-11,3
-4224,2020-08-12,3
-4225,2020-08-13,3
-4226,2020-08-14,3
-4227,2020-08-15,3
-4228,2020-08-16,3
-4229,2020-08-17,3
-4230,2020-08-18,3
-4231,2020-08-19,3
-4232,2020-08-20,3
-4233,2020-08-21,3
-4234,2020-08-22,3
-4235,2020-08-23,3
-4236,2020-08-24,3
-4237,2020-08-25,3
-4238,2020-08-26,3
-4239,2020-08-27,3
-4240,2020-08-28,3
-4241,2020-08-29,3
-4242,2020-08-30,3
-4243,2020-08-31,3
-4244,2020-09-01,3
-4245,2020-09-02,3
-4246,2020-09-03,3
-4247,2020-09-04,3
-4248,2020-09-05,3
-4249,2020-09-06,3
-4250,2020-09-07,3
-4251,2020-09-08,3
-4252,2020-09-09,3
-4253,2020-09-10,3
-4254,2020-09-11,3
-4255,2020-09-12,3
-4256,2020-09-13,3
-4257,2020-09-14,3
-4258,2020-09-15,3
-4259,2020-09-16,3
-4260,2020-09-17,3
-4261,2020-09-18,3
-4262,2020-09-19,3
-4263,2020-09-20,3
-4264,2020-09-21,3
-4265,2020-09-22,3
-4266,2020-09-23,3
-4267,2020-09-24,3
-4268,2020-09-25,3
-4269,2020-09-26,3
-4270,2020-09-27,3
-4271,2020-09-28,3
-4272,2020-09-29,3
-4273,2020-09-30,3
-4274,2020-10-01,3
-4275,2020-10-02,3
-4276,2020-10-03,3
-4277,2020-10-04,3
-4278,2020-10-05,3
-4279,2020-10-06,3
-4280,2020-10-07,3
-4281,2020-10-08,3
-4282,2020-10-09,3
-4283,2020-10-10,3
-4284,2020-10-11,3
-4285,2020-10-12,3
-4286,2020-10-13,3
-4287,2020-10-14,3
-4288,2020-10-15,3
-4289,2020-10-16,3
-4290,2020-10-17,3
-4291,2020-10-18,3
-4292,2020-10-19,3
-4293,2020-10-20,3
-4294,2020-10-21,3
-4295,2020-10-22,3
-4296,2020-10-23,3
-4297,2020-10-24,3
-4298,2020-10-25,3
-4299,2020-10-26,3
-4300,2020-10-27,3
-4301,2020-10-28,3
-4302,2020-10-29,3
-4303,2020-10-30,3
-4304,2020-10-31,3
-4305,2020-11-01,3
-4306,2020-11-02,3
-4307,2020-11-03,3
-4308,2020-11-04,3
-4309,2020-11-05,3
-4310,2020-11-06,3
-4311,2020-11-07,3
-4312,2020-11-08,3
-4313,2020-11-09,3
-4314,2020-11-10,3
-4315,2020-11-11,3
-4316,2020-11-12,3
-4317,2020-11-13,3
-4318,2020-11-14,3
-4319,2020-11-15,3
-4320,2020-11-16,3
-4321,2020-11-17,3
-4322,2020-11-18,3
-4323,2020-11-19,3
-4324,2020-11-20,3
-4325,2020-11-21,3
-4326,2020-11-22,3
-4327,2020-11-23,3
-4328,2020-11-24,3
-4329,2020-11-25,3
-4330,2020-11-26,3
-4331,2020-11-27,3
-4332,2020-11-28,3
-4333,2020-11-29,3
-4334,2020-11-30,3
-4335,2020-12-01,3
-4336,2020-12-02,3
-4337,2020-12-03,3
-4338,2020-12-04,3
-4339,2020-12-05,3
-4340,2020-12-06,3
-4341,2020-12-07,3
-4342,2020-12-08,3
-4343,2020-12-09,3
-4344,2020-12-10,3
-4345,2020-12-11,3
-4346,2020-12-12,3
-4347,2020-12-13,3
-4348,2020-12-14,3
-4349,2020-12-15,3
-4350,2020-12-16,3
-4351,2020-12-17,3
-4352,2020-12-18,3
-4353,2020-12-19,3
-4354,2020-12-20,3
-4355,2020-12-21,3
-4356,2020-12-22,3
-4357,2020-12-23,3
-4358,2020-12-24,3
-4359,2020-12-25,3
-4360,2020-12-26,3
-4361,2020-12-27,3
-4362,2020-12-28,3
-4363,2020-12-29,3
-4364,2020-12-30,3
-4365,2020-12-31,3
-4366,2021-01-01,3
-4367,2021-01-02,3
-4368,2021-01-03,3
-4369,2021-01-04,3
-4370,2021-01-05,3
-4371,2021-01-06,3
-4372,2021-01-07,3
-4373,2021-01-08,3
-4374,2021-01-09,3
-4375,2021-01-10,3
-4376,2021-01-11,3
-4377,2021-01-12,3
-4378,2021-01-13,3
-4379,2021-01-14,3
-4380,2021-01-15,3
-4381,2021-01-16,3
-4382,2021-01-17,3
-4383,2021-01-18,3
-4384,2021-01-19,3
-4385,2021-01-20,3
-4386,2021-01-21,3
-4387,2021-01-22,3
-4388,2021-01-23,3
-4389,2021-01-24,3
-4390,2021-01-25,3
-4391,2021-01-26,3
-4392,2021-01-27,3
-4393,2021-01-28,3
-4394,2021-01-29,3
-4395,2021-01-30,3
-4396,2021-01-31,3
-4397,2021-02-01,3
-4398,2021-02-02,3
-4399,2021-02-03,3
-4400,2021-02-04,3
-4401,2021-02-05,3
-4402,2021-02-06,3
-4403,2021-02-07,3
-4404,2021-02-08,3
-4405,2021-02-09,3
-4406,2021-02-10,3
-4407,2021-02-11,3
-4408,2021-02-12,3
-4409,2021-02-13,3
-4410,2021-02-14,3
-4411,2021-02-15,3
-4412,2021-02-16,3
-4413,2021-02-17,3
-4414,2021-02-18,3
-4415,2021-02-19,3
-4416,2021-02-20,3
-4417,2021-02-21,3
-4418,2021-02-22,3
-4419,2021-02-23,3
-4420,2021-02-24,3
-4421,2021-02-25,3
-4422,2021-02-26,3
-4423,2021-02-27,3
-4424,2021-02-28,3
-4425,2021-03-01,3
-4426,2021-03-02,3
-4427,2021-03-03,3
-4428,2021-03-04,3
-4429,2021-03-05,3
-4430,2021-03-06,3
-4431,2021-03-07,3
-4432,2021-03-08,3
-4433,2021-03-09,3
-4434,2021-03-10,3
-4435,2021-03-11,3
-4436,2021-03-12,3
-4437,2021-03-13,3
-4438,2021-03-14,3
-4439,2021-03-15,3
-4440,2021-03-16,3
-4441,2021-03-17,3
-4442,2021-03-18,3
-4443,2021-03-19,3
-4444,2021-03-20,3
-4445,2021-03-21,3
-4446,2021-03-22,3
-4447,2021-03-23,3
-4448,2021-03-24,3
-4449,2021-03-25,3
-4450,2021-03-26,3
-4451,2021-03-27,3
-4452,2021-03-28,3
-4453,2021-03-29,3
-4454,2021-03-30,3
-4455,2021-03-31,3
-4456,2021-04-01,3
-4457,2021-04-02,3
-4458,2021-04-03,3
-4459,2021-04-04,3
-4460,2021-04-05,3
-4461,2021-04-06,3
-4462,2021-04-07,3
-4463,2021-04-08,3
-4464,2021-04-09,3
-4465,2021-04-10,3
-4466,2021-04-11,3
-4467,2021-04-12,3
-4468,2021-04-13,3
-4469,2021-04-14,3
-4470,2021-04-15,3
-4471,2021-04-16,3
-4472,2021-04-17,3
-4473,2021-04-18,3
-4474,2021-04-19,3
-4475,2021-04-20,3
-4476,2021-04-21,3
-4477,2021-04-22,3
-4478,2021-04-23,3
-4479,2021-04-24,3
-4480,2021-04-25,3
-4481,2021-04-26,3
-4482,2021-04-27,3
-4483,2021-04-28,3
-4484,2021-04-29,3
-4485,2021-04-30,3
-4486,2021-05-01,3
-4487,2021-05-02,3
-4488,2021-05-03,3
-4489,2021-05-04,3
-4490,2021-05-05,3
-4491,2021-05-06,3
-4492,2021-05-07,3
-4493,2021-05-08,3
-4494,2021-05-09,3
-4495,2021-05-10,3
-4496,2021-05-11,3
-4497,2021-05-12,3
-4498,2021-05-13,3
-4499,2021-05-14,3
-4500,2021-05-15,3
-4501,2021-05-16,3
-4502,2021-05-17,3
-4503,2021-05-18,3
-4504,2021-05-19,3
-4505,2021-05-20,3
-4506,2021-05-21,3
-4507,2021-05-22,3
-4508,2021-05-23,3
-4509,2021-05-24,3
-4510,2021-05-25,3
-4511,2021-05-26,3
-4512,2021-05-27,3
-4513,2021-05-28,3
-4514,2021-05-29,3
-4515,2021-05-30,3
-4516,2021-05-31,3
-4517,2021-06-01,3
-4518,2021-06-02,3
-4519,2021-06-03,3
-4520,2021-06-04,3
-4521,2021-06-05,3
-4522,2021-06-06,3
-4523,2021-06-07,3
-4524,2021-06-08,3
-4525,2021-06-09,3
-4526,2021-06-10,3
-4527,2021-06-11,3
-4528,2021-06-12,3
-4529,2021-06-13,3
-4530,2021-06-14,3
-4531,2021-06-15,3
-4532,2021-06-16,3
-4533,2021-06-17,3
-4534,2021-06-18,3
-4535,2021-06-19,3
-4536,2021-06-20,3
-4537,2021-06-21,3
-4538,2021-06-22,3
-4539,2021-06-23,3
-4540,2021-06-24,3
-4541,2021-06-25,3
-4542,2021-06-26,3
-4543,2021-06-27,3
-4544,2021-06-28,3
-4545,2021-06-29,3
-4546,2021-06-30,3
-4547,2021-07-01,3
-4548,2021-07-02,3
-4549,2021-07-03,3
-4550,2021-07-04,3
-4551,2021-07-05,3
-4552,2021-07-06,3
-4553,2021-07-07,3
-4554,2021-07-08,3
-4555,2021-07-09,3
-4556,2021-07-10,3
-4557,2021-07-11,3
-4558,2021-07-12,3
-4559,2021-07-13,3
-4560,2021-07-14,3
-4561,2021-07-15,3
-4562,2021-07-16,3
-4563,2021-07-17,3
-4564,2021-07-18,3
-4565,2021-07-19,3
-4566,2021-07-20,3
-4567,2021-07-21,3
-4568,2021-07-22,3
-4569,2021-07-23,3
-4570,2021-07-24,3
-4571,2021-07-25,3
-4572,2021-07-26,3
-4573,2021-07-27,3
-4574,2021-07-28,3
-4575,2021-07-29,3
-4576,2021-07-30,3
-4577,2021-07-31,3
-4578,2021-08-01,3
-4579,2021-08-02,3
-4580,2021-08-03,3
-4581,2021-08-04,3
-4582,2021-08-05,3
-4583,2021-08-06,3
-4584,2021-08-07,3
-4585,2021-08-08,3
-4586,2021-08-09,3
-4587,2021-08-10,3
-4588,2021-08-11,3
-4589,2021-08-12,3
-4590,2021-08-13,3
-4591,2021-08-14,3
-4592,2021-08-15,3
-4593,2021-08-16,3
-4594,2021-08-17,3
-4595,2021-08-18,3
-4596,2021-08-19,3
-4597,2021-08-20,3
-4598,2021-08-21,3
-4599,2021-08-22,3
-4600,2021-08-23,3
-4601,2021-08-24,3
-4602,2021-08-25,3
-4603,2021-08-26,3
-4604,2021-08-27,3
-4605,2021-08-28,3
-4606,2021-08-29,3
-4607,2021-08-30,3
-4608,2021-08-31,3
-4609,2021-09-01,3
-4610,2021-09-02,3
-4611,2021-09-03,3
-4612,2021-09-04,3
-4613,2021-09-05,3
-4614,2021-09-06,3
-4615,2021-09-07,3
-4616,2021-09-08,3
-4617,2021-09-09,3
-4618,2021-09-10,3
-4619,2021-09-11,3
-4620,2021-09-12,3
-4621,2021-09-13,3
-4622,2021-09-14,3
-4623,2021-09-15,3
-4624,2021-09-16,3
-4625,2021-09-17,3
-4626,2021-09-18,3
-4627,2021-09-19,3
-4628,2021-09-20,3
-4629,2021-09-21,3
-4630,2021-09-22,3
-4631,2021-09-23,3
-4632,2021-09-24,3
-4633,2021-09-25,3
-4634,2021-09-26,3
-4635,2021-09-27,3
-4636,2021-09-28,3
-4637,2021-09-29,3
-4638,2021-09-30,3
-4639,2021-10-01,3
-4640,2021-10-02,3
-4641,2021-10-03,3
-4642,2021-10-04,3
-4643,2021-10-05,3
-4644,2021-10-06,3
-4645,2021-10-07,3
-4646,2021-10-08,3
-4647,2021-10-09,3
-4648,2021-10-10,3
-4649,2021-10-11,3
-4650,2021-10-12,3
-4651,2021-10-13,3
-4652,2021-10-14,3
-4653,2021-10-15,3
-4654,2021-10-16,3
-4655,2021-10-17,3
-4656,2021-10-18,3
-4657,2021-10-19,3
-4658,2021-10-20,3
-4659,2021-10-21,3
-4660,2021-10-22,3
-4661,2021-10-23,3
-4662,2021-10-24,3
-4663,2021-10-25,3
-4664,2021-10-26,3
-4665,2021-10-27,3
-4666,2021-10-28,3
-4667,2021-10-29,3
-4668,2021-10-30,3
-4669,2021-10-31,3
-4670,2021-11-01,3
-4671,2021-11-02,3
-4672,2021-11-03,3
-4673,2021-11-04,3
-4674,2021-11-05,3
-4675,2021-11-06,3
-4676,2021-11-07,3
-4677,2021-11-08,3
-4678,2021-11-09,3
-4679,2021-11-10,3
-4680,2021-11-11,3
-4681,2021-11-12,3
-4682,2021-11-13,3
-4683,2021-11-14,3
-4684,2021-11-15,3
-4685,2021-11-16,3
-4686,2021-11-17,3
-4687,2021-11-18,3
-4688,2021-11-19,3
-4689,2021-11-20,3
-4690,2021-11-21,3
-4691,2021-11-22,3
-4692,2021-11-23,3
-4693,2021-11-24,3
-4694,2021-11-25,3
-4695,2021-11-26,3
-4696,2021-11-27,3
-4697,2021-11-28,3
-4698,2021-11-29,3
-4699,2021-11-30,3
-4700,2021-12-01,3
-4701,2021-12-02,3
-4702,2021-12-03,3
-4703,2021-12-04,3
-4704,2021-12-05,3
-4705,2021-12-06,3
-4706,2021-12-07,3
-4707,2021-12-08,3
-4708,2021-12-09,3
-4709,2021-12-10,3
-4710,2021-12-11,3
-4711,2021-12-12,3
-4712,2021-12-13,3
-4713,2021-12-14,3
-4714,2021-12-15,3
-4715,2021-12-16,3
-4716,2021-12-17,3
-4717,2021-12-18,3
-4718,2021-12-19,3
-4719,2021-12-20,3
-4720,2021-12-21,3
-4721,2021-12-22,3
-4722,2021-12-23,3
-4723,2021-12-24,3
-4724,2021-12-25,3
-4725,2021-12-26,3
-4726,2021-12-27,3
-4727,2021-12-28,3
-4728,2021-12-29,3
-4729,2021-12-30,3
-4730,2021-12-31,3
-4731,2022-01-01,3
-4732,2022-01-02,3
-4733,2022-01-03,3
-4734,2022-01-04,3
-4735,2022-01-05,3
-4736,2022-01-06,3
-4737,2022-01-07,3
-4738,2022-01-08,3
-4739,2022-01-09,3
-4740,2022-01-10,3
-4741,2022-01-11,3
-4742,2022-01-12,3
-4743,2022-01-13,3
-4744,2022-01-14,3
-4745,2022-01-15,3
-4746,2022-01-16,3
-4747,2022-01-17,3
-4748,2022-01-18,3
-4749,2022-01-19,3
-4750,2022-01-20,3
-4751,2022-01-21,3
-4752,2022-01-22,3
-4753,2022-01-23,3
-4754,2022-01-24,3
-4755,2022-01-25,3
-4756,2022-01-26,3
-4757,2022-01-27,3
-4758,2022-01-28,3
-4759,2022-01-29,3
-4760,2022-01-30,3
-4761,2022-01-31,3
-4762,2022-02-01,3
-4763,2022-02-02,3
-4764,2022-02-03,3
-4765,2022-02-04,3
-4766,2022-02-05,3
-4767,2022-02-06,3
-4768,2022-02-07,3
-4769,2022-02-08,3
-4770,2022-02-09,3
-4771,2022-02-10,3
-4772,2022-02-11,3
-4773,2022-02-12,3
-4774,2022-02-13,3
-4775,2022-02-14,3
-4776,2022-02-15,3
-4777,2022-02-16,3
-4778,2022-02-17,3
-4779,2022-02-18,3
-4780,2022-02-19,3
-4781,2022-02-20,3
-4782,2022-02-21,3
-4783,2022-02-22,3
-4784,2022-02-23,3
-4785,2022-02-24,3
-4786,2022-02-25,3
-4787,2022-02-26,3
-4788,2022-02-27,3
-4789,2022-02-28,3
-4790,2022-03-01,3
-4791,2022-03-02,3
-4792,2022-03-03,3
-4793,2022-03-04,3
-4794,2022-03-05,3
-4795,2022-03-06,3
-4796,2022-03-07,3
-4797,2022-03-08,3
-4798,2022-03-09,3
-4799,2022-03-10,3
-4800,2022-03-11,3
-4801,2022-03-12,3
-4802,2022-03-13,3
-4803,2022-03-14,3
-4804,2022-03-15,3
-4805,2022-03-16,3
-4806,2022-03-17,3
-4807,2022-03-18,3
-4808,2022-03-19,3
-4809,2022-03-20,3
-4810,2022-03-21,3
-4811,2022-03-22,3
-4812,2022-03-23,3
-4813,2022-03-24,3
-4814,2022-03-25,3
-4815,2022-03-26,3
-4816,2022-03-27,3
-4817,2022-03-28,3
-4818,2022-03-29,3
-4819,2022-03-30,3
-4820,2022-03-31,3
-4821,2022-04-01,3
-4822,2022-04-02,3
-4823,2022-04-03,3
-4824,2022-04-04,3
-4825,2022-04-05,3
-4826,2022-04-06,3
-4827,2022-04-07,3
-4828,2022-04-08,3
-4829,2022-04-09,3
-4830,2022-04-10,3
-4831,2022-04-11,3
-4832,2022-04-12,3
-4833,2022-04-13,3
-4834,2022-04-14,3
-4835,2022-04-15,3
-4836,2022-04-16,3
-4837,2022-04-17,3
-4838,2022-04-18,3
-4839,2022-04-19,3
-4840,2022-04-20,3
-4841,2022-04-21,3
-4842,2022-04-22,3
-4843,2022-04-23,3
-4844,2022-04-24,3
-4845,2022-04-25,3
-4846,2022-04-26,3
-4847,2022-04-27,3
-4848,2022-04-28,3
-4849,2022-04-29,3
-4850,2022-04-30,3
-4851,2022-05-01,3
-4852,2022-05-02,3
-4853,2022-05-03,3
-4854,2022-05-04,3
-4855,2022-05-05,3
-4856,2022-05-06,3
-4857,2022-05-07,3
-4858,2022-05-08,3
-4859,2022-05-09,3
-4860,2022-05-10,3
-4861,2022-05-11,3
-4862,2022-05-12,3
-4863,2022-05-13,3
-4864,2022-05-14,3
-4865,2022-05-15,3
-4866,2022-05-16,3
-4867,2022-05-17,3
-4868,2022-05-18,3
-4869,2022-05-19,3
-4870,2022-05-20,3
-4871,2022-05-21,3
-4872,2022-05-22,3
-4873,2022-05-23,3
-4874,2022-05-24,3
-4875,2022-05-25,3
-4876,2022-05-26,3
-4877,2022-05-27,3
-4878,2022-05-28,3
-4879,2022-05-29,3
-4880,2022-05-30,3
-4881,2022-05-31,3
-4882,2022-06-01,3
-4883,2022-06-02,3
-4884,2022-06-03,3
-4885,2022-06-04,3
-4886,2022-06-05,3
-4887,2022-06-06,3
-4888,2022-06-07,3
-4889,2022-06-08,3
-4890,2022-06-09,3
-4891,2022-06-10,3
-4892,2022-06-11,3
-4893,2022-06-12,3
-4894,2022-06-13,3
-4895,2022-06-14,3
-4896,2022-06-15,3
-4897,2022-06-16,3
-4898,2022-06-17,3
-4899,2022-06-18,3
-4900,2022-06-19,3
-4901,2022-06-20,3
-4902,2022-06-21,3
-4903,2022-06-22,3
-4904,2022-06-23,3
-4905,2022-06-24,3
-4906,2022-06-25,3
-4907,2022-06-26,3
-4908,2022-06-27,3
-4909,2022-06-28,3
-4910,2022-06-29,3
-4911,2022-06-30,3
-4912,2022-07-01,3
-4913,2022-07-02,3
-4914,2022-07-03,3
-4915,2022-07-04,3
-4916,2022-07-05,3
-4917,2022-07-06,3
-4918,2022-07-07,3
-4919,2022-07-08,3
-4920,2022-07-09,3
-4921,2022-07-10,3
-4922,2022-07-11,3
-4923,2022-07-12,3
-4924,2022-07-13,3
-4925,2022-07-14,3
-4926,2022-07-15,3
-4927,2022-07-16,3
-4928,2022-07-17,3
-4929,2022-07-18,3
-4930,2022-07-19,3
-4931,2022-07-20,3
-4932,2022-07-21,3
-4933,2022-07-22,3
-4934,2022-07-23,3
-4935,2022-07-24,3
-4936,2022-07-25,3
-4937,2022-07-26,3
-4938,2022-07-27,3
-4939,2022-07-28,3
-4940,2022-07-29,3
-4941,2022-07-30,3
-4942,2022-07-31,3
-4943,2022-08-01,3
-4944,2022-08-02,3
-4945,2022-08-03,3
-4946,2022-08-04,3
-4947,2022-08-05,3
-4948,2022-08-06,3
-4949,2022-08-07,3
-4950,2022-08-08,3
-4951,2022-08-09,3
-4952,2022-08-10,3
-4953,2022-08-11,3
-4954,2022-08-12,3
-4955,2022-08-13,3
-4956,2022-08-14,3
-4957,2022-08-15,3
-4958,2022-08-16,3
-4959,2022-08-17,3
-4960,2022-08-18,3
-4961,2022-08-19,3
-4962,2022-08-20,3
-4963,2022-08-21,3
-4964,2022-08-22,3
-4965,2022-08-23,3
-4966,2022-08-24,3
-4967,2022-08-25,3
-4968,2022-08-26,3
-4969,2022-08-27,3
-4970,2022-08-28,3
-4971,2022-08-29,3
-4972,2022-08-30,3
-4973,2022-08-31,3
-4974,2022-09-01,3
-4975,2022-09-02,3
-4976,2022-09-03,3
-4977,2022-09-04,3
-4978,2022-09-05,3
-4979,2022-09-06,3
-4980,2022-09-07,3
-4981,2022-09-08,3
-4982,2022-09-09,3
-4983,2022-09-10,3
-4984,2022-09-11,3
-4985,2022-09-12,3
-4986,2022-09-13,3
-4987,2022-09-14,3
-4988,2022-09-15,3
-4989,2022-09-16,3
-4990,2022-09-17,3
-4991,2022-09-18,3
-4992,2022-09-19,3
-4993,2022-09-20,3
-4994,2022-09-21,3
-4995,2022-09-22,3
-4996,2022-09-23,3
-4997,2022-09-24,3
-4998,2022-09-25,3
-4999,2022-09-26,3
+value,date,id
+4000,2020-01-01,3
+4001,2020-01-02,3
+4002,2020-01-03,3
+4003,2020-01-04,3
+4004,2020-01-05,3
+4005,2020-01-06,3
+4006,2020-01-07,3
+4007,2020-01-08,3
+4008,2020-01-09,3
+4009,2020-01-10,3
+4010,2020-01-11,3
+4011,2020-01-12,3
+4012,2020-01-13,3
+4013,2020-01-14,3
+4014,2020-01-15,3
+4015,2020-01-16,3
+4016,2020-01-17,3
+4017,2020-01-18,3
+4018,2020-01-19,3
+4019,2020-01-20,3
+4020,2020-01-21,3
+4021,2020-01-22,3
+4022,2020-01-23,3
+4023,2020-01-24,3
+4024,2020-01-25,3
+4025,2020-01-26,3
+4026,2020-01-27,3
+4027,2020-01-28,3
+4028,2020-01-29,3
+4029,2020-01-30,3
+4030,2020-01-31,3
+4031,2020-02-01,3
+4032,2020-02-02,3
+4033,2020-02-03,3
+4034,2020-02-04,3
+4035,2020-02-05,3
+4036,2020-02-06,3
+4037,2020-02-07,3
+4038,2020-02-08,3
+4039,2020-02-09,3
+4040,2020-02-10,3
+4041,2020-02-11,3
+4042,2020-02-12,3
+4043,2020-02-13,3
+4044,2020-02-14,3
+4045,2020-02-15,3
+4046,2020-02-16,3
+4047,2020-02-17,3
+4048,2020-02-18,3
+4049,2020-02-19,3
+4050,2020-02-20,3
+4051,2020-02-21,3
+4052,2020-02-22,3
+4053,2020-02-23,3
+4054,2020-02-24,3
+4055,2020-02-25,3
+4056,2020-02-26,3
+4057,2020-02-27,3
+4058,2020-02-28,3
+4059,2020-02-29,3
+4060,2020-03-01,3
+4061,2020-03-02,3
+4062,2020-03-03,3
+4063,2020-03-04,3
+4064,2020-03-05,3
+4065,2020-03-06,3
+4066,2020-03-07,3
+4067,2020-03-08,3
+4068,2020-03-09,3
+4069,2020-03-10,3
+4070,2020-03-11,3
+4071,2020-03-12,3
+4072,2020-03-13,3
+4073,2020-03-14,3
+4074,2020-03-15,3
+4075,2020-03-16,3
+4076,2020-03-17,3
+4077,2020-03-18,3
+4078,2020-03-19,3
+4079,2020-03-20,3
+4080,2020-03-21,3
+4081,2020-03-22,3
+4082,2020-03-23,3
+4083,2020-03-24,3
+4084,2020-03-25,3
+4085,2020-03-26,3
+4086,2020-03-27,3
+4087,2020-03-28,3
+4088,2020-03-29,3
+4089,2020-03-30,3
+4090,2020-03-31,3
+4091,2020-04-01,3
+4092,2020-04-02,3
+4093,2020-04-03,3
+4094,2020-04-04,3
+4095,2020-04-05,3
+4096,2020-04-06,3
+4097,2020-04-07,3
+4098,2020-04-08,3
+4099,2020-04-09,3
+4100,2020-04-10,3
+4101,2020-04-11,3
+4102,2020-04-12,3
+4103,2020-04-13,3
+4104,2020-04-14,3
+4105,2020-04-15,3
+4106,2020-04-16,3
+4107,2020-04-17,3
+4108,2020-04-18,3
+4109,2020-04-19,3
+4110,2020-04-20,3
+4111,2020-04-21,3
+4112,2020-04-22,3
+4113,2020-04-23,3
+4114,2020-04-24,3
+4115,2020-04-25,3
+4116,2020-04-26,3
+4117,2020-04-27,3
+4118,2020-04-28,3
+4119,2020-04-29,3
+4120,2020-04-30,3
+4121,2020-05-01,3
+4122,2020-05-02,3
+4123,2020-05-03,3
+4124,2020-05-04,3
+4125,2020-05-05,3
+4126,2020-05-06,3
+4127,2020-05-07,3
+4128,2020-05-08,3
+4129,2020-05-09,3
+4130,2020-05-10,3
+4131,2020-05-11,3
+4132,2020-05-12,3
+4133,2020-05-13,3
+4134,2020-05-14,3
+4135,2020-05-15,3
+4136,2020-05-16,3
+4137,2020-05-17,3
+4138,2020-05-18,3
+4139,2020-05-19,3
+4140,2020-05-20,3
+4141,2020-05-21,3
+4142,2020-05-22,3
+4143,2020-05-23,3
+4144,2020-05-24,3
+4145,2020-05-25,3
+4146,2020-05-26,3
+4147,2020-05-27,3
+4148,2020-05-28,3
+4149,2020-05-29,3
+4150,2020-05-30,3
+4151,2020-05-31,3
+4152,2020-06-01,3
+4153,2020-06-02,3
+4154,2020-06-03,3
+4155,2020-06-04,3
+4156,2020-06-05,3
+4157,2020-06-06,3
+4158,2020-06-07,3
+4159,2020-06-08,3
+4160,2020-06-09,3
+4161,2020-06-10,3
+4162,2020-06-11,3
+4163,2020-06-12,3
+4164,2020-06-13,3
+4165,2020-06-14,3
+4166,2020-06-15,3
+4167,2020-06-16,3
+4168,2020-06-17,3
+4169,2020-06-18,3
+4170,2020-06-19,3
+4171,2020-06-20,3
+4172,2020-06-21,3
+4173,2020-06-22,3
+4174,2020-06-23,3
+4175,2020-06-24,3
+4176,2020-06-25,3
+4177,2020-06-26,3
+4178,2020-06-27,3
+4179,2020-06-28,3
+4180,2020-06-29,3
+4181,2020-06-30,3
+4182,2020-07-01,3
+4183,2020-07-02,3
+4184,2020-07-03,3
+4185,2020-07-04,3
+4186,2020-07-05,3
+4187,2020-07-06,3
+4188,2020-07-07,3
+4189,2020-07-08,3
+4190,2020-07-09,3
+4191,2020-07-10,3
+4192,2020-07-11,3
+4193,2020-07-12,3
+4194,2020-07-13,3
+4195,2020-07-14,3
+4196,2020-07-15,3
+4197,2020-07-16,3
+4198,2020-07-17,3
+4199,2020-07-18,3
+4200,2020-07-19,3
+4201,2020-07-20,3
+4202,2020-07-21,3
+4203,2020-07-22,3
+4204,2020-07-23,3
+4205,2020-07-24,3
+4206,2020-07-25,3
+4207,2020-07-26,3
+4208,2020-07-27,3
+4209,2020-07-28,3
+4210,2020-07-29,3
+4211,2020-07-30,3
+4212,2020-07-31,3
+4213,2020-08-01,3
+4214,2020-08-02,3
+4215,2020-08-03,3
+4216,2020-08-04,3
+4217,2020-08-05,3
+4218,2020-08-06,3
+4219,2020-08-07,3
+4220,2020-08-08,3
+4221,2020-08-09,3
+4222,2020-08-10,3
+4223,2020-08-11,3
+4224,2020-08-12,3
+4225,2020-08-13,3
+4226,2020-08-14,3
+4227,2020-08-15,3
+4228,2020-08-16,3
+4229,2020-08-17,3
+4230,2020-08-18,3
+4231,2020-08-19,3
+4232,2020-08-20,3
+4233,2020-08-21,3
+4234,2020-08-22,3
+4235,2020-08-23,3
+4236,2020-08-24,3
+4237,2020-08-25,3
+4238,2020-08-26,3
+4239,2020-08-27,3
+4240,2020-08-28,3
+4241,2020-08-29,3
+4242,2020-08-30,3
+4243,2020-08-31,3
+4244,2020-09-01,3
+4245,2020-09-02,3
+4246,2020-09-03,3
+4247,2020-09-04,3
+4248,2020-09-05,3
+4249,2020-09-06,3
+4250,2020-09-07,3
+4251,2020-09-08,3
+4252,2020-09-09,3
+4253,2020-09-10,3
+4254,2020-09-11,3
+4255,2020-09-12,3
+4256,2020-09-13,3
+4257,2020-09-14,3
+4258,2020-09-15,3
+4259,2020-09-16,3
+4260,2020-09-17,3
+4261,2020-09-18,3
+4262,2020-09-19,3
+4263,2020-09-20,3
+4264,2020-09-21,3
+4265,2020-09-22,3
+4266,2020-09-23,3
+4267,2020-09-24,3
+4268,2020-09-25,3
+4269,2020-09-26,3
+4270,2020-09-27,3
+4271,2020-09-28,3
+4272,2020-09-29,3
+4273,2020-09-30,3
+4274,2020-10-01,3
+4275,2020-10-02,3
+4276,2020-10-03,3
+4277,2020-10-04,3
+4278,2020-10-05,3
+4279,2020-10-06,3
+4280,2020-10-07,3
+4281,2020-10-08,3
+4282,2020-10-09,3
+4283,2020-10-10,3
+4284,2020-10-11,3
+4285,2020-10-12,3
+4286,2020-10-13,3
+4287,2020-10-14,3
+4288,2020-10-15,3
+4289,2020-10-16,3
+4290,2020-10-17,3
+4291,2020-10-18,3
+4292,2020-10-19,3
+4293,2020-10-20,3
+4294,2020-10-21,3
+4295,2020-10-22,3
+4296,2020-10-23,3
+4297,2020-10-24,3
+4298,2020-10-25,3
+4299,2020-10-26,3
+4300,2020-10-27,3
+4301,2020-10-28,3
+4302,2020-10-29,3
+4303,2020-10-30,3
+4304,2020-10-31,3
+4305,2020-11-01,3
+4306,2020-11-02,3
+4307,2020-11-03,3
+4308,2020-11-04,3
+4309,2020-11-05,3
+4310,2020-11-06,3
+4311,2020-11-07,3
+4312,2020-11-08,3
+4313,2020-11-09,3
+4314,2020-11-10,3
+4315,2020-11-11,3
+4316,2020-11-12,3
+4317,2020-11-13,3
+4318,2020-11-14,3
+4319,2020-11-15,3
+4320,2020-11-16,3
+4321,2020-11-17,3
+4322,2020-11-18,3
+4323,2020-11-19,3
+4324,2020-11-20,3
+4325,2020-11-21,3
+4326,2020-11-22,3
+4327,2020-11-23,3
+4328,2020-11-24,3
+4329,2020-11-25,3
+4330,2020-11-26,3
+4331,2020-11-27,3
+4332,2020-11-28,3
+4333,2020-11-29,3
+4334,2020-11-30,3
+4335,2020-12-01,3
+4336,2020-12-02,3
+4337,2020-12-03,3
+4338,2020-12-04,3
+4339,2020-12-05,3
+4340,2020-12-06,3
+4341,2020-12-07,3
+4342,2020-12-08,3
+4343,2020-12-09,3
+4344,2020-12-10,3
+4345,2020-12-11,3
+4346,2020-12-12,3
+4347,2020-12-13,3
+4348,2020-12-14,3
+4349,2020-12-15,3
+4350,2020-12-16,3
+4351,2020-12-17,3
+4352,2020-12-18,3
+4353,2020-12-19,3
+4354,2020-12-20,3
+4355,2020-12-21,3
+4356,2020-12-22,3
+4357,2020-12-23,3
+4358,2020-12-24,3
+4359,2020-12-25,3
+4360,2020-12-26,3
+4361,2020-12-27,3
+4362,2020-12-28,3
+4363,2020-12-29,3
+4364,2020-12-30,3
+4365,2020-12-31,3
+4366,2021-01-01,3
+4367,2021-01-02,3
+4368,2021-01-03,3
+4369,2021-01-04,3
+4370,2021-01-05,3
+4371,2021-01-06,3
+4372,2021-01-07,3
+4373,2021-01-08,3
+4374,2021-01-09,3
+4375,2021-01-10,3
+4376,2021-01-11,3
+4377,2021-01-12,3
+4378,2021-01-13,3
+4379,2021-01-14,3
+4380,2021-01-15,3
+4381,2021-01-16,3
+4382,2021-01-17,3
+4383,2021-01-18,3
+4384,2021-01-19,3
+4385,2021-01-20,3
+4386,2021-01-21,3
+4387,2021-01-22,3
+4388,2021-01-23,3
+4389,2021-01-24,3
+4390,2021-01-25,3
+4391,2021-01-26,3
+4392,2021-01-27,3
+4393,2021-01-28,3
+4394,2021-01-29,3
+4395,2021-01-30,3
+4396,2021-01-31,3
+4397,2021-02-01,3
+4398,2021-02-02,3
+4399,2021-02-03,3
+4400,2021-02-04,3
+4401,2021-02-05,3
+4402,2021-02-06,3
+4403,2021-02-07,3
+4404,2021-02-08,3
+4405,2021-02-09,3
+4406,2021-02-10,3
+4407,2021-02-11,3
+4408,2021-02-12,3
+4409,2021-02-13,3
+4410,2021-02-14,3
+4411,2021-02-15,3
+4412,2021-02-16,3
+4413,2021-02-17,3
+4414,2021-02-18,3
+4415,2021-02-19,3
+4416,2021-02-20,3
+4417,2021-02-21,3
+4418,2021-02-22,3
+4419,2021-02-23,3
+4420,2021-02-24,3
+4421,2021-02-25,3
+4422,2021-02-26,3
+4423,2021-02-27,3
+4424,2021-02-28,3
+4425,2021-03-01,3
+4426,2021-03-02,3
+4427,2021-03-03,3
+4428,2021-03-04,3
+4429,2021-03-05,3
+4430,2021-03-06,3
+4431,2021-03-07,3
+4432,2021-03-08,3
+4433,2021-03-09,3
+4434,2021-03-10,3
+4435,2021-03-11,3
+4436,2021-03-12,3
+4437,2021-03-13,3
+4438,2021-03-14,3
+4439,2021-03-15,3
+4440,2021-03-16,3
+4441,2021-03-17,3
+4442,2021-03-18,3
+4443,2021-03-19,3
+4444,2021-03-20,3
+4445,2021-03-21,3
+4446,2021-03-22,3
+4447,2021-03-23,3
+4448,2021-03-24,3
+4449,2021-03-25,3
+4450,2021-03-26,3
+4451,2021-03-27,3
+4452,2021-03-28,3
+4453,2021-03-29,3
+4454,2021-03-30,3
+4455,2021-03-31,3
+4456,2021-04-01,3
+4457,2021-04-02,3
+4458,2021-04-03,3
+4459,2021-04-04,3
+4460,2021-04-05,3
+4461,2021-04-06,3
+4462,2021-04-07,3
+4463,2021-04-08,3
+4464,2021-04-09,3
+4465,2021-04-10,3
+4466,2021-04-11,3
+4467,2021-04-12,3
+4468,2021-04-13,3
+4469,2021-04-14,3
+4470,2021-04-15,3
+4471,2021-04-16,3
+4472,2021-04-17,3
+4473,2021-04-18,3
+4474,2021-04-19,3
+4475,2021-04-20,3
+4476,2021-04-21,3
+4477,2021-04-22,3
+4478,2021-04-23,3
+4479,2021-04-24,3
+4480,2021-04-25,3
+4481,2021-04-26,3
+4482,2021-04-27,3
+4483,2021-04-28,3
+4484,2021-04-29,3
+4485,2021-04-30,3
+4486,2021-05-01,3
+4487,2021-05-02,3
+4488,2021-05-03,3
+4489,2021-05-04,3
+4490,2021-05-05,3
+4491,2021-05-06,3
+4492,2021-05-07,3
+4493,2021-05-08,3
+4494,2021-05-09,3
+4495,2021-05-10,3
+4496,2021-05-11,3
+4497,2021-05-12,3
+4498,2021-05-13,3
+4499,2021-05-14,3
+4500,2021-05-15,3
+4501,2021-05-16,3
+4502,2021-05-17,3
+4503,2021-05-18,3
+4504,2021-05-19,3
+4505,2021-05-20,3
+4506,2021-05-21,3
+4507,2021-05-22,3
+4508,2021-05-23,3
+4509,2021-05-24,3
+4510,2021-05-25,3
+4511,2021-05-26,3
+4512,2021-05-27,3
+4513,2021-05-28,3
+4514,2021-05-29,3
+4515,2021-05-30,3
+4516,2021-05-31,3
+4517,2021-06-01,3
+4518,2021-06-02,3
+4519,2021-06-03,3
+4520,2021-06-04,3
+4521,2021-06-05,3
+4522,2021-06-06,3
+4523,2021-06-07,3
+4524,2021-06-08,3
+4525,2021-06-09,3
+4526,2021-06-10,3
+4527,2021-06-11,3
+4528,2021-06-12,3
+4529,2021-06-13,3
+4530,2021-06-14,3
+4531,2021-06-15,3
+4532,2021-06-16,3
+4533,2021-06-17,3
+4534,2021-06-18,3
+4535,2021-06-19,3
+4536,2021-06-20,3
+4537,2021-06-21,3
+4538,2021-06-22,3
+4539,2021-06-23,3
+4540,2021-06-24,3
+4541,2021-06-25,3
+4542,2021-06-26,3
+4543,2021-06-27,3
+4544,2021-06-28,3
+4545,2021-06-29,3
+4546,2021-06-30,3
+4547,2021-07-01,3
+4548,2021-07-02,3
+4549,2021-07-03,3
+4550,2021-07-04,3
+4551,2021-07-05,3
+4552,2021-07-06,3
+4553,2021-07-07,3
+4554,2021-07-08,3
+4555,2021-07-09,3
+4556,2021-07-10,3
+4557,2021-07-11,3
+4558,2021-07-12,3
+4559,2021-07-13,3
+4560,2021-07-14,3
+4561,2021-07-15,3
+4562,2021-07-16,3
+4563,2021-07-17,3
+4564,2021-07-18,3
+4565,2021-07-19,3
+4566,2021-07-20,3
+4567,2021-07-21,3
+4568,2021-07-22,3
+4569,2021-07-23,3
+4570,2021-07-24,3
+4571,2021-07-25,3
+4572,2021-07-26,3
+4573,2021-07-27,3
+4574,2021-07-28,3
+4575,2021-07-29,3
+4576,2021-07-30,3
+4577,2021-07-31,3
+4578,2021-08-01,3
+4579,2021-08-02,3
+4580,2021-08-03,3
+4581,2021-08-04,3
+4582,2021-08-05,3
+4583,2021-08-06,3
+4584,2021-08-07,3
+4585,2021-08-08,3
+4586,2021-08-09,3
+4587,2021-08-10,3
+4588,2021-08-11,3
+4589,2021-08-12,3
+4590,2021-08-13,3
+4591,2021-08-14,3
+4592,2021-08-15,3
+4593,2021-08-16,3
+4594,2021-08-17,3
+4595,2021-08-18,3
+4596,2021-08-19,3
+4597,2021-08-20,3
+4598,2021-08-21,3
+4599,2021-08-22,3
+4600,2021-08-23,3
+4601,2021-08-24,3
+4602,2021-08-25,3
+4603,2021-08-26,3
+4604,2021-08-27,3
+4605,2021-08-28,3
+4606,2021-08-29,3
+4607,2021-08-30,3
+4608,2021-08-31,3
+4609,2021-09-01,3
+4610,2021-09-02,3
+4611,2021-09-03,3
+4612,2021-09-04,3
+4613,2021-09-05,3
+4614,2021-09-06,3
+4615,2021-09-07,3
+4616,2021-09-08,3
+4617,2021-09-09,3
+4618,2021-09-10,3
+4619,2021-09-11,3
+4620,2021-09-12,3
+4621,2021-09-13,3
+4622,2021-09-14,3
+4623,2021-09-15,3
+4624,2021-09-16,3
+4625,2021-09-17,3
+4626,2021-09-18,3
+4627,2021-09-19,3
+4628,2021-09-20,3
+4629,2021-09-21,3
+4630,2021-09-22,3
+4631,2021-09-23,3
+4632,2021-09-24,3
+4633,2021-09-25,3
+4634,2021-09-26,3
+4635,2021-09-27,3
+4636,2021-09-28,3
+4637,2021-09-29,3
+4638,2021-09-30,3
+4639,2021-10-01,3
+4640,2021-10-02,3
+4641,2021-10-03,3
+4642,2021-10-04,3
+4643,2021-10-05,3
+4644,2021-10-06,3
+4645,2021-10-07,3
+4646,2021-10-08,3
+4647,2021-10-09,3
+4648,2021-10-10,3
+4649,2021-10-11,3
+4650,2021-10-12,3
+4651,2021-10-13,3
+4652,2021-10-14,3
+4653,2021-10-15,3
+4654,2021-10-16,3
+4655,2021-10-17,3
+4656,2021-10-18,3
+4657,2021-10-19,3
+4658,2021-10-20,3
+4659,2021-10-21,3
+4660,2021-10-22,3
+4661,2021-10-23,3
+4662,2021-10-24,3
+4663,2021-10-25,3
+4664,2021-10-26,3
+4665,2021-10-27,3
+4666,2021-10-28,3
+4667,2021-10-29,3
+4668,2021-10-30,3
+4669,2021-10-31,3
+4670,2021-11-01,3
+4671,2021-11-02,3
+4672,2021-11-03,3
+4673,2021-11-04,3
+4674,2021-11-05,3
+4675,2021-11-06,3
+4676,2021-11-07,3
+4677,2021-11-08,3
+4678,2021-11-09,3
+4679,2021-11-10,3
+4680,2021-11-11,3
+4681,2021-11-12,3
+4682,2021-11-13,3
+4683,2021-11-14,3
+4684,2021-11-15,3
+4685,2021-11-16,3
+4686,2021-11-17,3
+4687,2021-11-18,3
+4688,2021-11-19,3
+4689,2021-11-20,3
+4690,2021-11-21,3
+4691,2021-11-22,3
+4692,2021-11-23,3
+4693,2021-11-24,3
+4694,2021-11-25,3
+4695,2021-11-26,3
+4696,2021-11-27,3
+4697,2021-11-28,3
+4698,2021-11-29,3
+4699,2021-11-30,3
+4700,2021-12-01,3
+4701,2021-12-02,3
+4702,2021-12-03,3
+4703,2021-12-04,3
+4704,2021-12-05,3
+4705,2021-12-06,3
+4706,2021-12-07,3
+4707,2021-12-08,3
+4708,2021-12-09,3
+4709,2021-12-10,3
+4710,2021-12-11,3
+4711,2021-12-12,3
+4712,2021-12-13,3
+4713,2021-12-14,3
+4714,2021-12-15,3
+4715,2021-12-16,3
+4716,2021-12-17,3
+4717,2021-12-18,3
+4718,2021-12-19,3
+4719,2021-12-20,3
+4720,2021-12-21,3
+4721,2021-12-22,3
+4722,2021-12-23,3
+4723,2021-12-24,3
+4724,2021-12-25,3
+4725,2021-12-26,3
+4726,2021-12-27,3
+4727,2021-12-28,3
+4728,2021-12-29,3
+4729,2021-12-30,3
+4730,2021-12-31,3
+4731,2022-01-01,3
+4732,2022-01-02,3
+4733,2022-01-03,3
+4734,2022-01-04,3
+4735,2022-01-05,3
+4736,2022-01-06,3
+4737,2022-01-07,3
+4738,2022-01-08,3
+4739,2022-01-09,3
+4740,2022-01-10,3
+4741,2022-01-11,3
+4742,2022-01-12,3
+4743,2022-01-13,3
+4744,2022-01-14,3
+4745,2022-01-15,3
+4746,2022-01-16,3
+4747,2022-01-17,3
+4748,2022-01-18,3
+4749,2022-01-19,3
+4750,2022-01-20,3
+4751,2022-01-21,3
+4752,2022-01-22,3
+4753,2022-01-23,3
+4754,2022-01-24,3
+4755,2022-01-25,3
+4756,2022-01-26,3
+4757,2022-01-27,3
+4758,2022-01-28,3
+4759,2022-01-29,3
+4760,2022-01-30,3
+4761,2022-01-31,3
+4762,2022-02-01,3
+4763,2022-02-02,3
+4764,2022-02-03,3
+4765,2022-02-04,3
+4766,2022-02-05,3
+4767,2022-02-06,3
+4768,2022-02-07,3
+4769,2022-02-08,3
+4770,2022-02-09,3
+4771,2022-02-10,3
+4772,2022-02-11,3
+4773,2022-02-12,3
+4774,2022-02-13,3
+4775,2022-02-14,3
+4776,2022-02-15,3
+4777,2022-02-16,3
+4778,2022-02-17,3
+4779,2022-02-18,3
+4780,2022-02-19,3
+4781,2022-02-20,3
+4782,2022-02-21,3
+4783,2022-02-22,3
+4784,2022-02-23,3
+4785,2022-02-24,3
+4786,2022-02-25,3
+4787,2022-02-26,3
+4788,2022-02-27,3
+4789,2022-02-28,3
+4790,2022-03-01,3
+4791,2022-03-02,3
+4792,2022-03-03,3
+4793,2022-03-04,3
+4794,2022-03-05,3
+4795,2022-03-06,3
+4796,2022-03-07,3
+4797,2022-03-08,3
+4798,2022-03-09,3
+4799,2022-03-10,3
+4800,2022-03-11,3
+4801,2022-03-12,3
+4802,2022-03-13,3
+4803,2022-03-14,3
+4804,2022-03-15,3
+4805,2022-03-16,3
+4806,2022-03-17,3
+4807,2022-03-18,3
+4808,2022-03-19,3
+4809,2022-03-20,3
+4810,2022-03-21,3
+4811,2022-03-22,3
+4812,2022-03-23,3
+4813,2022-03-24,3
+4814,2022-03-25,3
+4815,2022-03-26,3
+4816,2022-03-27,3
+4817,2022-03-28,3
+4818,2022-03-29,3
+4819,2022-03-30,3
+4820,2022-03-31,3
+4821,2022-04-01,3
+4822,2022-04-02,3
+4823,2022-04-03,3
+4824,2022-04-04,3
+4825,2022-04-05,3
+4826,2022-04-06,3
+4827,2022-04-07,3
+4828,2022-04-08,3
+4829,2022-04-09,3
+4830,2022-04-10,3
+4831,2022-04-11,3
+4832,2022-04-12,3
+4833,2022-04-13,3
+4834,2022-04-14,3
+4835,2022-04-15,3
+4836,2022-04-16,3
+4837,2022-04-17,3
+4838,2022-04-18,3
+4839,2022-04-19,3
+4840,2022-04-20,3
+4841,2022-04-21,3
+4842,2022-04-22,3
+4843,2022-04-23,3
+4844,2022-04-24,3
+4845,2022-04-25,3
+4846,2022-04-26,3
+4847,2022-04-27,3
+4848,2022-04-28,3
+4849,2022-04-29,3
+4850,2022-04-30,3
+4851,2022-05-01,3
+4852,2022-05-02,3
+4853,2022-05-03,3
+4854,2022-05-04,3
+4855,2022-05-05,3
+4856,2022-05-06,3
+4857,2022-05-07,3
+4858,2022-05-08,3
+4859,2022-05-09,3
+4860,2022-05-10,3
+4861,2022-05-11,3
+4862,2022-05-12,3
+4863,2022-05-13,3
+4864,2022-05-14,3
+4865,2022-05-15,3
+4866,2022-05-16,3
+4867,2022-05-17,3
+4868,2022-05-18,3
+4869,2022-05-19,3
+4870,2022-05-20,3
+4871,2022-05-21,3
+4872,2022-05-22,3
+4873,2022-05-23,3
+4874,2022-05-24,3
+4875,2022-05-25,3
+4876,2022-05-26,3
+4877,2022-05-27,3
+4878,2022-05-28,3
+4879,2022-05-29,3
+4880,2022-05-30,3
+4881,2022-05-31,3
+4882,2022-06-01,3
+4883,2022-06-02,3
+4884,2022-06-03,3
+4885,2022-06-04,3
+4886,2022-06-05,3
+4887,2022-06-06,3
+4888,2022-06-07,3
+4889,2022-06-08,3
+4890,2022-06-09,3
+4891,2022-06-10,3
+4892,2022-06-11,3
+4893,2022-06-12,3
+4894,2022-06-13,3
+4895,2022-06-14,3
+4896,2022-06-15,3
+4897,2022-06-16,3
+4898,2022-06-17,3
+4899,2022-06-18,3
+4900,2022-06-19,3
+4901,2022-06-20,3
+4902,2022-06-21,3
+4903,2022-06-22,3
+4904,2022-06-23,3
+4905,2022-06-24,3
+4906,2022-06-25,3
+4907,2022-06-26,3
+4908,2022-06-27,3
+4909,2022-06-28,3
+4910,2022-06-29,3
+4911,2022-06-30,3
+4912,2022-07-01,3
+4913,2022-07-02,3
+4914,2022-07-03,3
+4915,2022-07-04,3
+4916,2022-07-05,3
+4917,2022-07-06,3
+4918,2022-07-07,3
+4919,2022-07-08,3
+4920,2022-07-09,3
+4921,2022-07-10,3
+4922,2022-07-11,3
+4923,2022-07-12,3
+4924,2022-07-13,3
+4925,2022-07-14,3
+4926,2022-07-15,3
+4927,2022-07-16,3
+4928,2022-07-17,3
+4929,2022-07-18,3
+4930,2022-07-19,3
+4931,2022-07-20,3
+4932,2022-07-21,3
+4933,2022-07-22,3
+4934,2022-07-23,3
+4935,2022-07-24,3
+4936,2022-07-25,3
+4937,2022-07-26,3
+4938,2022-07-27,3
+4939,2022-07-28,3
+4940,2022-07-29,3
+4941,2022-07-30,3
+4942,2022-07-31,3
+4943,2022-08-01,3
+4944,2022-08-02,3
+4945,2022-08-03,3
+4946,2022-08-04,3
+4947,2022-08-05,3
+4948,2022-08-06,3
+4949,2022-08-07,3
+4950,2022-08-08,3
+4951,2022-08-09,3
+4952,2022-08-10,3
+4953,2022-08-11,3
+4954,2022-08-12,3
+4955,2022-08-13,3
+4956,2022-08-14,3
+4957,2022-08-15,3
+4958,2022-08-16,3
+4959,2022-08-17,3
+4960,2022-08-18,3
+4961,2022-08-19,3
+4962,2022-08-20,3
+4963,2022-08-21,3
+4964,2022-08-22,3
+4965,2022-08-23,3
+4966,2022-08-24,3
+4967,2022-08-25,3
+4968,2022-08-26,3
+4969,2022-08-27,3
+4970,2022-08-28,3
+4971,2022-08-29,3
+4972,2022-08-30,3
+4973,2022-08-31,3
+4974,2022-09-01,3
+4975,2022-09-02,3
+4976,2022-09-03,3
+4977,2022-09-04,3
+4978,2022-09-05,3
+4979,2022-09-06,3
+4980,2022-09-07,3
+4981,2022-09-08,3
+4982,2022-09-09,3
+4983,2022-09-10,3
+4984,2022-09-11,3
+4985,2022-09-12,3
+4986,2022-09-13,3
+4987,2022-09-14,3
+4988,2022-09-15,3
+4989,2022-09-16,3
+4990,2022-09-17,3
+4991,2022-09-18,3
+4992,2022-09-19,3
+4993,2022-09-20,3
+4994,2022-09-21,3
+4995,2022-09-22,3
+4996,2022-09-23,3
+4997,2022-09-24,3
+4998,2022-09-25,3
+4999,2022-09-26,3
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_4.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_4.csv
index 6fb189c..e98dc34 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_4.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_4.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-5000,2020-01-01,4
-5001,2020-01-02,4
-5002,2020-01-03,4
-5003,2020-01-04,4
-5004,2020-01-05,4
-5005,2020-01-06,4
-5006,2020-01-07,4
-5007,2020-01-08,4
-5008,2020-01-09,4
-5009,2020-01-10,4
-5010,2020-01-11,4
-5011,2020-01-12,4
-5012,2020-01-13,4
-5013,2020-01-14,4
-5014,2020-01-15,4
-5015,2020-01-16,4
-5016,2020-01-17,4
-5017,2020-01-18,4
-5018,2020-01-19,4
-5019,2020-01-20,4
-5020,2020-01-21,4
-5021,2020-01-22,4
-5022,2020-01-23,4
-5023,2020-01-24,4
-5024,2020-01-25,4
-5025,2020-01-26,4
-5026,2020-01-27,4
-5027,2020-01-28,4
-5028,2020-01-29,4
-5029,2020-01-30,4
-5030,2020-01-31,4
-5031,2020-02-01,4
-5032,2020-02-02,4
-5033,2020-02-03,4
-5034,2020-02-04,4
-5035,2020-02-05,4
-5036,2020-02-06,4
-5037,2020-02-07,4
-5038,2020-02-08,4
-5039,2020-02-09,4
-5040,2020-02-10,4
-5041,2020-02-11,4
-5042,2020-02-12,4
-5043,2020-02-13,4
-5044,2020-02-14,4
-5045,2020-02-15,4
-5046,2020-02-16,4
-5047,2020-02-17,4
-5048,2020-02-18,4
-5049,2020-02-19,4
-5050,2020-02-20,4
-5051,2020-02-21,4
-5052,2020-02-22,4
-5053,2020-02-23,4
-5054,2020-02-24,4
-5055,2020-02-25,4
-5056,2020-02-26,4
-5057,2020-02-27,4
-5058,2020-02-28,4
-5059,2020-02-29,4
-5060,2020-03-01,4
-5061,2020-03-02,4
-5062,2020-03-03,4
-5063,2020-03-04,4
-5064,2020-03-05,4
-5065,2020-03-06,4
-5066,2020-03-07,4
-5067,2020-03-08,4
-5068,2020-03-09,4
-5069,2020-03-10,4
-5070,2020-03-11,4
-5071,2020-03-12,4
-5072,2020-03-13,4
-5073,2020-03-14,4
-5074,2020-03-15,4
-5075,2020-03-16,4
-5076,2020-03-17,4
-5077,2020-03-18,4
-5078,2020-03-19,4
-5079,2020-03-20,4
-5080,2020-03-21,4
-5081,2020-03-22,4
-5082,2020-03-23,4
-5083,2020-03-24,4
-5084,2020-03-25,4
-5085,2020-03-26,4
-5086,2020-03-27,4
-5087,2020-03-28,4
-5088,2020-03-29,4
-5089,2020-03-30,4
-5090,2020-03-31,4
-5091,2020-04-01,4
-5092,2020-04-02,4
-5093,2020-04-03,4
-5094,2020-04-04,4
-5095,2020-04-05,4
-5096,2020-04-06,4
-5097,2020-04-07,4
-5098,2020-04-08,4
-5099,2020-04-09,4
-5100,2020-04-10,4
-5101,2020-04-11,4
-5102,2020-04-12,4
-5103,2020-04-13,4
-5104,2020-04-14,4
-5105,2020-04-15,4
-5106,2020-04-16,4
-5107,2020-04-17,4
-5108,2020-04-18,4
-5109,2020-04-19,4
-5110,2020-04-20,4
-5111,2020-04-21,4
-5112,2020-04-22,4
-5113,2020-04-23,4
-5114,2020-04-24,4
-5115,2020-04-25,4
-5116,2020-04-26,4
-5117,2020-04-27,4
-5118,2020-04-28,4
-5119,2020-04-29,4
-5120,2020-04-30,4
-5121,2020-05-01,4
-5122,2020-05-02,4
-5123,2020-05-03,4
-5124,2020-05-04,4
-5125,2020-05-05,4
-5126,2020-05-06,4
-5127,2020-05-07,4
-5128,2020-05-08,4
-5129,2020-05-09,4
-5130,2020-05-10,4
-5131,2020-05-11,4
-5132,2020-05-12,4
-5133,2020-05-13,4
-5134,2020-05-14,4
-5135,2020-05-15,4
-5136,2020-05-16,4
-5137,2020-05-17,4
-5138,2020-05-18,4
-5139,2020-05-19,4
-5140,2020-05-20,4
-5141,2020-05-21,4
-5142,2020-05-22,4
-5143,2020-05-23,4
-5144,2020-05-24,4
-5145,2020-05-25,4
-5146,2020-05-26,4
-5147,2020-05-27,4
-5148,2020-05-28,4
-5149,2020-05-29,4
-5150,2020-05-30,4
-5151,2020-05-31,4
-5152,2020-06-01,4
-5153,2020-06-02,4
-5154,2020-06-03,4
-5155,2020-06-04,4
-5156,2020-06-05,4
-5157,2020-06-06,4
-5158,2020-06-07,4
-5159,2020-06-08,4
-5160,2020-06-09,4
-5161,2020-06-10,4
-5162,2020-06-11,4
-5163,2020-06-12,4
-5164,2020-06-13,4
-5165,2020-06-14,4
-5166,2020-06-15,4
-5167,2020-06-16,4
-5168,2020-06-17,4
-5169,2020-06-18,4
-5170,2020-06-19,4
-5171,2020-06-20,4
-5172,2020-06-21,4
-5173,2020-06-22,4
-5174,2020-06-23,4
-5175,2020-06-24,4
-5176,2020-06-25,4
-5177,2020-06-26,4
-5178,2020-06-27,4
-5179,2020-06-28,4
-5180,2020-06-29,4
-5181,2020-06-30,4
-5182,2020-07-01,4
-5183,2020-07-02,4
-5184,2020-07-03,4
-5185,2020-07-04,4
-5186,2020-07-05,4
-5187,2020-07-06,4
-5188,2020-07-07,4
-5189,2020-07-08,4
-5190,2020-07-09,4
-5191,2020-07-10,4
-5192,2020-07-11,4
-5193,2020-07-12,4
-5194,2020-07-13,4
-5195,2020-07-14,4
-5196,2020-07-15,4
-5197,2020-07-16,4
-5198,2020-07-17,4
-5199,2020-07-18,4
-5200,2020-07-19,4
-5201,2020-07-20,4
-5202,2020-07-21,4
-5203,2020-07-22,4
-5204,2020-07-23,4
-5205,2020-07-24,4
-5206,2020-07-25,4
-5207,2020-07-26,4
-5208,2020-07-27,4
-5209,2020-07-28,4
-5210,2020-07-29,4
-5211,2020-07-30,4
-5212,2020-07-31,4
-5213,2020-08-01,4
-5214,2020-08-02,4
-5215,2020-08-03,4
-5216,2020-08-04,4
-5217,2020-08-05,4
-5218,2020-08-06,4
-5219,2020-08-07,4
-5220,2020-08-08,4
-5221,2020-08-09,4
-5222,2020-08-10,4
-5223,2020-08-11,4
-5224,2020-08-12,4
-5225,2020-08-13,4
-5226,2020-08-14,4
-5227,2020-08-15,4
-5228,2020-08-16,4
-5229,2020-08-17,4
-5230,2020-08-18,4
-5231,2020-08-19,4
-5232,2020-08-20,4
-5233,2020-08-21,4
-5234,2020-08-22,4
-5235,2020-08-23,4
-5236,2020-08-24,4
-5237,2020-08-25,4
-5238,2020-08-26,4
-5239,2020-08-27,4
-5240,2020-08-28,4
-5241,2020-08-29,4
-5242,2020-08-30,4
-5243,2020-08-31,4
-5244,2020-09-01,4
-5245,2020-09-02,4
-5246,2020-09-03,4
-5247,2020-09-04,4
-5248,2020-09-05,4
-5249,2020-09-06,4
-5250,2020-09-07,4
-5251,2020-09-08,4
-5252,2020-09-09,4
-5253,2020-09-10,4
-5254,2020-09-11,4
-5255,2020-09-12,4
-5256,2020-09-13,4
-5257,2020-09-14,4
-5258,2020-09-15,4
-5259,2020-09-16,4
-5260,2020-09-17,4
-5261,2020-09-18,4
-5262,2020-09-19,4
-5263,2020-09-20,4
-5264,2020-09-21,4
-5265,2020-09-22,4
-5266,2020-09-23,4
-5267,2020-09-24,4
-5268,2020-09-25,4
-5269,2020-09-26,4
-5270,2020-09-27,4
-5271,2020-09-28,4
-5272,2020-09-29,4
-5273,2020-09-30,4
-5274,2020-10-01,4
-5275,2020-10-02,4
-5276,2020-10-03,4
-5277,2020-10-04,4
-5278,2020-10-05,4
-5279,2020-10-06,4
-5280,2020-10-07,4
-5281,2020-10-08,4
-5282,2020-10-09,4
-5283,2020-10-10,4
-5284,2020-10-11,4
-5285,2020-10-12,4
-5286,2020-10-13,4
-5287,2020-10-14,4
-5288,2020-10-15,4
-5289,2020-10-16,4
-5290,2020-10-17,4
-5291,2020-10-18,4
-5292,2020-10-19,4
-5293,2020-10-20,4
-5294,2020-10-21,4
-5295,2020-10-22,4
-5296,2020-10-23,4
-5297,2020-10-24,4
-5298,2020-10-25,4
-5299,2020-10-26,4
-5300,2020-10-27,4
-5301,2020-10-28,4
-5302,2020-10-29,4
-5303,2020-10-30,4
-5304,2020-10-31,4
-5305,2020-11-01,4
-5306,2020-11-02,4
-5307,2020-11-03,4
-5308,2020-11-04,4
-5309,2020-11-05,4
-5310,2020-11-06,4
-5311,2020-11-07,4
-5312,2020-11-08,4
-5313,2020-11-09,4
-5314,2020-11-10,4
-5315,2020-11-11,4
-5316,2020-11-12,4
-5317,2020-11-13,4
-5318,2020-11-14,4
-5319,2020-11-15,4
-5320,2020-11-16,4
-5321,2020-11-17,4
-5322,2020-11-18,4
-5323,2020-11-19,4
-5324,2020-11-20,4
-5325,2020-11-21,4
-5326,2020-11-22,4
-5327,2020-11-23,4
-5328,2020-11-24,4
-5329,2020-11-25,4
-5330,2020-11-26,4
-5331,2020-11-27,4
-5332,2020-11-28,4
-5333,2020-11-29,4
-5334,2020-11-30,4
-5335,2020-12-01,4
-5336,2020-12-02,4
-5337,2020-12-03,4
-5338,2020-12-04,4
-5339,2020-12-05,4
-5340,2020-12-06,4
-5341,2020-12-07,4
-5342,2020-12-08,4
-5343,2020-12-09,4
-5344,2020-12-10,4
-5345,2020-12-11,4
-5346,2020-12-12,4
-5347,2020-12-13,4
-5348,2020-12-14,4
-5349,2020-12-15,4
-5350,2020-12-16,4
-5351,2020-12-17,4
-5352,2020-12-18,4
-5353,2020-12-19,4
-5354,2020-12-20,4
-5355,2020-12-21,4
-5356,2020-12-22,4
-5357,2020-12-23,4
-5358,2020-12-24,4
-5359,2020-12-25,4
-5360,2020-12-26,4
-5361,2020-12-27,4
-5362,2020-12-28,4
-5363,2020-12-29,4
-5364,2020-12-30,4
-5365,2020-12-31,4
-5366,2021-01-01,4
-5367,2021-01-02,4
-5368,2021-01-03,4
-5369,2021-01-04,4
-5370,2021-01-05,4
-5371,2021-01-06,4
-5372,2021-01-07,4
-5373,2021-01-08,4
-5374,2021-01-09,4
-5375,2021-01-10,4
-5376,2021-01-11,4
-5377,2021-01-12,4
-5378,2021-01-13,4
-5379,2021-01-14,4
-5380,2021-01-15,4
-5381,2021-01-16,4
-5382,2021-01-17,4
-5383,2021-01-18,4
-5384,2021-01-19,4
-5385,2021-01-20,4
-5386,2021-01-21,4
-5387,2021-01-22,4
-5388,2021-01-23,4
-5389,2021-01-24,4
-5390,2021-01-25,4
-5391,2021-01-26,4
-5392,2021-01-27,4
-5393,2021-01-28,4
-5394,2021-01-29,4
-5395,2021-01-30,4
-5396,2021-01-31,4
-5397,2021-02-01,4
-5398,2021-02-02,4
-5399,2021-02-03,4
-5400,2021-02-04,4
-5401,2021-02-05,4
-5402,2021-02-06,4
-5403,2021-02-07,4
-5404,2021-02-08,4
-5405,2021-02-09,4
-5406,2021-02-10,4
-5407,2021-02-11,4
-5408,2021-02-12,4
-5409,2021-02-13,4
-5410,2021-02-14,4
-5411,2021-02-15,4
-5412,2021-02-16,4
-5413,2021-02-17,4
-5414,2021-02-18,4
-5415,2021-02-19,4
-5416,2021-02-20,4
-5417,2021-02-21,4
-5418,2021-02-22,4
-5419,2021-02-23,4
-5420,2021-02-24,4
-5421,2021-02-25,4
-5422,2021-02-26,4
-5423,2021-02-27,4
-5424,2021-02-28,4
-5425,2021-03-01,4
-5426,2021-03-02,4
-5427,2021-03-03,4
-5428,2021-03-04,4
-5429,2021-03-05,4
-5430,2021-03-06,4
-5431,2021-03-07,4
-5432,2021-03-08,4
-5433,2021-03-09,4
-5434,2021-03-10,4
-5435,2021-03-11,4
-5436,2021-03-12,4
-5437,2021-03-13,4
-5438,2021-03-14,4
-5439,2021-03-15,4
-5440,2021-03-16,4
-5441,2021-03-17,4
-5442,2021-03-18,4
-5443,2021-03-19,4
-5444,2021-03-20,4
-5445,2021-03-21,4
-5446,2021-03-22,4
-5447,2021-03-23,4
-5448,2021-03-24,4
-5449,2021-03-25,4
-5450,2021-03-26,4
-5451,2021-03-27,4
-5452,2021-03-28,4
-5453,2021-03-29,4
-5454,2021-03-30,4
-5455,2021-03-31,4
-5456,2021-04-01,4
-5457,2021-04-02,4
-5458,2021-04-03,4
-5459,2021-04-04,4
-5460,2021-04-05,4
-5461,2021-04-06,4
-5462,2021-04-07,4
-5463,2021-04-08,4
-5464,2021-04-09,4
-5465,2021-04-10,4
-5466,2021-04-11,4
-5467,2021-04-12,4
-5468,2021-04-13,4
-5469,2021-04-14,4
-5470,2021-04-15,4
-5471,2021-04-16,4
-5472,2021-04-17,4
-5473,2021-04-18,4
-5474,2021-04-19,4
-5475,2021-04-20,4
-5476,2021-04-21,4
-5477,2021-04-22,4
-5478,2021-04-23,4
-5479,2021-04-24,4
-5480,2021-04-25,4
-5481,2021-04-26,4
-5482,2021-04-27,4
-5483,2021-04-28,4
-5484,2021-04-29,4
-5485,2021-04-30,4
-5486,2021-05-01,4
-5487,2021-05-02,4
-5488,2021-05-03,4
-5489,2021-05-04,4
-5490,2021-05-05,4
-5491,2021-05-06,4
-5492,2021-05-07,4
-5493,2021-05-08,4
-5494,2021-05-09,4
-5495,2021-05-10,4
-5496,2021-05-11,4
-5497,2021-05-12,4
-5498,2021-05-13,4
-5499,2021-05-14,4
-5500,2021-05-15,4
-5501,2021-05-16,4
-5502,2021-05-17,4
-5503,2021-05-18,4
-5504,2021-05-19,4
-5505,2021-05-20,4
-5506,2021-05-21,4
-5507,2021-05-22,4
-5508,2021-05-23,4
-5509,2021-05-24,4
-5510,2021-05-25,4
-5511,2021-05-26,4
-5512,2021-05-27,4
-5513,2021-05-28,4
-5514,2021-05-29,4
-5515,2021-05-30,4
-5516,2021-05-31,4
-5517,2021-06-01,4
-5518,2021-06-02,4
-5519,2021-06-03,4
-5520,2021-06-04,4
-5521,2021-06-05,4
-5522,2021-06-06,4
-5523,2021-06-07,4
-5524,2021-06-08,4
-5525,2021-06-09,4
-5526,2021-06-10,4
-5527,2021-06-11,4
-5528,2021-06-12,4
-5529,2021-06-13,4
-5530,2021-06-14,4
-5531,2021-06-15,4
-5532,2021-06-16,4
-5533,2021-06-17,4
-5534,2021-06-18,4
-5535,2021-06-19,4
-5536,2021-06-20,4
-5537,2021-06-21,4
-5538,2021-06-22,4
-5539,2021-06-23,4
-5540,2021-06-24,4
-5541,2021-06-25,4
-5542,2021-06-26,4
-5543,2021-06-27,4
-5544,2021-06-28,4
-5545,2021-06-29,4
-5546,2021-06-30,4
-5547,2021-07-01,4
-5548,2021-07-02,4
-5549,2021-07-03,4
-5550,2021-07-04,4
-5551,2021-07-05,4
-5552,2021-07-06,4
-5553,2021-07-07,4
-5554,2021-07-08,4
-5555,2021-07-09,4
-5556,2021-07-10,4
-5557,2021-07-11,4
-5558,2021-07-12,4
-5559,2021-07-13,4
-5560,2021-07-14,4
-5561,2021-07-15,4
-5562,2021-07-16,4
-5563,2021-07-17,4
-5564,2021-07-18,4
-5565,2021-07-19,4
-5566,2021-07-20,4
-5567,2021-07-21,4
-5568,2021-07-22,4
-5569,2021-07-23,4
-5570,2021-07-24,4
-5571,2021-07-25,4
-5572,2021-07-26,4
-5573,2021-07-27,4
-5574,2021-07-28,4
-5575,2021-07-29,4
-5576,2021-07-30,4
-5577,2021-07-31,4
-5578,2021-08-01,4
-5579,2021-08-02,4
-5580,2021-08-03,4
-5581,2021-08-04,4
-5582,2021-08-05,4
-5583,2021-08-06,4
-5584,2021-08-07,4
-5585,2021-08-08,4
-5586,2021-08-09,4
-5587,2021-08-10,4
-5588,2021-08-11,4
-5589,2021-08-12,4
-5590,2021-08-13,4
-5591,2021-08-14,4
-5592,2021-08-15,4
-5593,2021-08-16,4
-5594,2021-08-17,4
-5595,2021-08-18,4
-5596,2021-08-19,4
-5597,2021-08-20,4
-5598,2021-08-21,4
-5599,2021-08-22,4
-5600,2021-08-23,4
-5601,2021-08-24,4
-5602,2021-08-25,4
-5603,2021-08-26,4
-5604,2021-08-27,4
-5605,2021-08-28,4
-5606,2021-08-29,4
-5607,2021-08-30,4
-5608,2021-08-31,4
-5609,2021-09-01,4
-5610,2021-09-02,4
-5611,2021-09-03,4
-5612,2021-09-04,4
-5613,2021-09-05,4
-5614,2021-09-06,4
-5615,2021-09-07,4
-5616,2021-09-08,4
-5617,2021-09-09,4
-5618,2021-09-10,4
-5619,2021-09-11,4
-5620,2021-09-12,4
-5621,2021-09-13,4
-5622,2021-09-14,4
-5623,2021-09-15,4
-5624,2021-09-16,4
-5625,2021-09-17,4
-5626,2021-09-18,4
-5627,2021-09-19,4
-5628,2021-09-20,4
-5629,2021-09-21,4
-5630,2021-09-22,4
-5631,2021-09-23,4
-5632,2021-09-24,4
-5633,2021-09-25,4
-5634,2021-09-26,4
-5635,2021-09-27,4
-5636,2021-09-28,4
-5637,2021-09-29,4
-5638,2021-09-30,4
-5639,2021-10-01,4
-5640,2021-10-02,4
-5641,2021-10-03,4
-5642,2021-10-04,4
-5643,2021-10-05,4
-5644,2021-10-06,4
-5645,2021-10-07,4
-5646,2021-10-08,4
-5647,2021-10-09,4
-5648,2021-10-10,4
-5649,2021-10-11,4
-5650,2021-10-12,4
-5651,2021-10-13,4
-5652,2021-10-14,4
-5653,2021-10-15,4
-5654,2021-10-16,4
-5655,2021-10-17,4
-5656,2021-10-18,4
-5657,2021-10-19,4
-5658,2021-10-20,4
-5659,2021-10-21,4
-5660,2021-10-22,4
-5661,2021-10-23,4
-5662,2021-10-24,4
-5663,2021-10-25,4
-5664,2021-10-26,4
-5665,2021-10-27,4
-5666,2021-10-28,4
-5667,2021-10-29,4
-5668,2021-10-30,4
-5669,2021-10-31,4
-5670,2021-11-01,4
-5671,2021-11-02,4
-5672,2021-11-03,4
-5673,2021-11-04,4
-5674,2021-11-05,4
-5675,2021-11-06,4
-5676,2021-11-07,4
-5677,2021-11-08,4
-5678,2021-11-09,4
-5679,2021-11-10,4
-5680,2021-11-11,4
-5681,2021-11-12,4
-5682,2021-11-13,4
-5683,2021-11-14,4
-5684,2021-11-15,4
-5685,2021-11-16,4
-5686,2021-11-17,4
-5687,2021-11-18,4
-5688,2021-11-19,4
-5689,2021-11-20,4
-5690,2021-11-21,4
-5691,2021-11-22,4
-5692,2021-11-23,4
-5693,2021-11-24,4
-5694,2021-11-25,4
-5695,2021-11-26,4
-5696,2021-11-27,4
-5697,2021-11-28,4
-5698,2021-11-29,4
-5699,2021-11-30,4
-5700,2021-12-01,4
-5701,2021-12-02,4
-5702,2021-12-03,4
-5703,2021-12-04,4
-5704,2021-12-05,4
-5705,2021-12-06,4
-5706,2021-12-07,4
-5707,2021-12-08,4
-5708,2021-12-09,4
-5709,2021-12-10,4
-5710,2021-12-11,4
-5711,2021-12-12,4
-5712,2021-12-13,4
-5713,2021-12-14,4
-5714,2021-12-15,4
-5715,2021-12-16,4
-5716,2021-12-17,4
-5717,2021-12-18,4
-5718,2021-12-19,4
-5719,2021-12-20,4
-5720,2021-12-21,4
-5721,2021-12-22,4
-5722,2021-12-23,4
-5723,2021-12-24,4
-5724,2021-12-25,4
-5725,2021-12-26,4
-5726,2021-12-27,4
-5727,2021-12-28,4
-5728,2021-12-29,4
-5729,2021-12-30,4
-5730,2021-12-31,4
-5731,2022-01-01,4
-5732,2022-01-02,4
-5733,2022-01-03,4
-5734,2022-01-04,4
-5735,2022-01-05,4
-5736,2022-01-06,4
-5737,2022-01-07,4
-5738,2022-01-08,4
-5739,2022-01-09,4
-5740,2022-01-10,4
-5741,2022-01-11,4
-5742,2022-01-12,4
-5743,2022-01-13,4
-5744,2022-01-14,4
-5745,2022-01-15,4
-5746,2022-01-16,4
-5747,2022-01-17,4
-5748,2022-01-18,4
-5749,2022-01-19,4
-5750,2022-01-20,4
-5751,2022-01-21,4
-5752,2022-01-22,4
-5753,2022-01-23,4
-5754,2022-01-24,4
-5755,2022-01-25,4
-5756,2022-01-26,4
-5757,2022-01-27,4
-5758,2022-01-28,4
-5759,2022-01-29,4
-5760,2022-01-30,4
-5761,2022-01-31,4
-5762,2022-02-01,4
-5763,2022-02-02,4
-5764,2022-02-03,4
-5765,2022-02-04,4
-5766,2022-02-05,4
-5767,2022-02-06,4
-5768,2022-02-07,4
-5769,2022-02-08,4
-5770,2022-02-09,4
-5771,2022-02-10,4
-5772,2022-02-11,4
-5773,2022-02-12,4
-5774,2022-02-13,4
-5775,2022-02-14,4
-5776,2022-02-15,4
-5777,2022-02-16,4
-5778,2022-02-17,4
-5779,2022-02-18,4
-5780,2022-02-19,4
-5781,2022-02-20,4
-5782,2022-02-21,4
-5783,2022-02-22,4
-5784,2022-02-23,4
-5785,2022-02-24,4
-5786,2022-02-25,4
-5787,2022-02-26,4
-5788,2022-02-27,4
-5789,2022-02-28,4
-5790,2022-03-01,4
-5791,2022-03-02,4
-5792,2022-03-03,4
-5793,2022-03-04,4
-5794,2022-03-05,4
-5795,2022-03-06,4
-5796,2022-03-07,4
-5797,2022-03-08,4
-5798,2022-03-09,4
-5799,2022-03-10,4
-5800,2022-03-11,4
-5801,2022-03-12,4
-5802,2022-03-13,4
-5803,2022-03-14,4
-5804,2022-03-15,4
-5805,2022-03-16,4
-5806,2022-03-17,4
-5807,2022-03-18,4
-5808,2022-03-19,4
-5809,2022-03-20,4
-5810,2022-03-21,4
-5811,2022-03-22,4
-5812,2022-03-23,4
-5813,2022-03-24,4
-5814,2022-03-25,4
-5815,2022-03-26,4
-5816,2022-03-27,4
-5817,2022-03-28,4
-5818,2022-03-29,4
-5819,2022-03-30,4
-5820,2022-03-31,4
-5821,2022-04-01,4
-5822,2022-04-02,4
-5823,2022-04-03,4
-5824,2022-04-04,4
-5825,2022-04-05,4
-5826,2022-04-06,4
-5827,2022-04-07,4
-5828,2022-04-08,4
-5829,2022-04-09,4
-5830,2022-04-10,4
-5831,2022-04-11,4
-5832,2022-04-12,4
-5833,2022-04-13,4
-5834,2022-04-14,4
-5835,2022-04-15,4
-5836,2022-04-16,4
-5837,2022-04-17,4
-5838,2022-04-18,4
-5839,2022-04-19,4
-5840,2022-04-20,4
-5841,2022-04-21,4
-5842,2022-04-22,4
-5843,2022-04-23,4
-5844,2022-04-24,4
-5845,2022-04-25,4
-5846,2022-04-26,4
-5847,2022-04-27,4
-5848,2022-04-28,4
-5849,2022-04-29,4
-5850,2022-04-30,4
-5851,2022-05-01,4
-5852,2022-05-02,4
-5853,2022-05-03,4
-5854,2022-05-04,4
-5855,2022-05-05,4
-5856,2022-05-06,4
-5857,2022-05-07,4
-5858,2022-05-08,4
-5859,2022-05-09,4
-5860,2022-05-10,4
-5861,2022-05-11,4
-5862,2022-05-12,4
-5863,2022-05-13,4
-5864,2022-05-14,4
-5865,2022-05-15,4
-5866,2022-05-16,4
-5867,2022-05-17,4
-5868,2022-05-18,4
-5869,2022-05-19,4
-5870,2022-05-20,4
-5871,2022-05-21,4
-5872,2022-05-22,4
-5873,2022-05-23,4
-5874,2022-05-24,4
-5875,2022-05-25,4
-5876,2022-05-26,4
-5877,2022-05-27,4
-5878,2022-05-28,4
-5879,2022-05-29,4
-5880,2022-05-30,4
-5881,2022-05-31,4
-5882,2022-06-01,4
-5883,2022-06-02,4
-5884,2022-06-03,4
-5885,2022-06-04,4
-5886,2022-06-05,4
-5887,2022-06-06,4
-5888,2022-06-07,4
-5889,2022-06-08,4
-5890,2022-06-09,4
-5891,2022-06-10,4
-5892,2022-06-11,4
-5893,2022-06-12,4
-5894,2022-06-13,4
-5895,2022-06-14,4
-5896,2022-06-15,4
-5897,2022-06-16,4
-5898,2022-06-17,4
-5899,2022-06-18,4
-5900,2022-06-19,4
-5901,2022-06-20,4
-5902,2022-06-21,4
-5903,2022-06-22,4
-5904,2022-06-23,4
-5905,2022-06-24,4
-5906,2022-06-25,4
-5907,2022-06-26,4
-5908,2022-06-27,4
-5909,2022-06-28,4
-5910,2022-06-29,4
-5911,2022-06-30,4
-5912,2022-07-01,4
-5913,2022-07-02,4
-5914,2022-07-03,4
-5915,2022-07-04,4
-5916,2022-07-05,4
-5917,2022-07-06,4
-5918,2022-07-07,4
-5919,2022-07-08,4
-5920,2022-07-09,4
-5921,2022-07-10,4
-5922,2022-07-11,4
-5923,2022-07-12,4
-5924,2022-07-13,4
-5925,2022-07-14,4
-5926,2022-07-15,4
-5927,2022-07-16,4
-5928,2022-07-17,4
-5929,2022-07-18,4
-5930,2022-07-19,4
-5931,2022-07-20,4
-5932,2022-07-21,4
-5933,2022-07-22,4
-5934,2022-07-23,4
-5935,2022-07-24,4
-5936,2022-07-25,4
-5937,2022-07-26,4
-5938,2022-07-27,4
-5939,2022-07-28,4
-5940,2022-07-29,4
-5941,2022-07-30,4
-5942,2022-07-31,4
-5943,2022-08-01,4
-5944,2022-08-02,4
-5945,2022-08-03,4
-5946,2022-08-04,4
-5947,2022-08-05,4
-5948,2022-08-06,4
-5949,2022-08-07,4
-5950,2022-08-08,4
-5951,2022-08-09,4
-5952,2022-08-10,4
-5953,2022-08-11,4
-5954,2022-08-12,4
-5955,2022-08-13,4
-5956,2022-08-14,4
-5957,2022-08-15,4
-5958,2022-08-16,4
-5959,2022-08-17,4
-5960,2022-08-18,4
-5961,2022-08-19,4
-5962,2022-08-20,4
-5963,2022-08-21,4
-5964,2022-08-22,4
-5965,2022-08-23,4
-5966,2022-08-24,4
-5967,2022-08-25,4
-5968,2022-08-26,4
-5969,2022-08-27,4
-5970,2022-08-28,4
-5971,2022-08-29,4
-5972,2022-08-30,4
-5973,2022-08-31,4
-5974,2022-09-01,4
-5975,2022-09-02,4
-5976,2022-09-03,4
-5977,2022-09-04,4
-5978,2022-09-05,4
-5979,2022-09-06,4
-5980,2022-09-07,4
-5981,2022-09-08,4
-5982,2022-09-09,4
-5983,2022-09-10,4
-5984,2022-09-11,4
-5985,2022-09-12,4
-5986,2022-09-13,4
-5987,2022-09-14,4
-5988,2022-09-15,4
-5989,2022-09-16,4
-5990,2022-09-17,4
-5991,2022-09-18,4
-5992,2022-09-19,4
-5993,2022-09-20,4
-5994,2022-09-21,4
-5995,2022-09-22,4
-5996,2022-09-23,4
-5997,2022-09-24,4
-5998,2022-09-25,4
-5999,2022-09-26,4
+value,date,id
+5000,2020-01-01,4
+5001,2020-01-02,4
+5002,2020-01-03,4
+5003,2020-01-04,4
+5004,2020-01-05,4
+5005,2020-01-06,4
+5006,2020-01-07,4
+5007,2020-01-08,4
+5008,2020-01-09,4
+5009,2020-01-10,4
+5010,2020-01-11,4
+5011,2020-01-12,4
+5012,2020-01-13,4
+5013,2020-01-14,4
+5014,2020-01-15,4
+5015,2020-01-16,4
+5016,2020-01-17,4
+5017,2020-01-18,4
+5018,2020-01-19,4
+5019,2020-01-20,4
+5020,2020-01-21,4
+5021,2020-01-22,4
+5022,2020-01-23,4
+5023,2020-01-24,4
+5024,2020-01-25,4
+5025,2020-01-26,4
+5026,2020-01-27,4
+5027,2020-01-28,4
+5028,2020-01-29,4
+5029,2020-01-30,4
+5030,2020-01-31,4
+5031,2020-02-01,4
+5032,2020-02-02,4
+5033,2020-02-03,4
+5034,2020-02-04,4
+5035,2020-02-05,4
+5036,2020-02-06,4
+5037,2020-02-07,4
+5038,2020-02-08,4
+5039,2020-02-09,4
+5040,2020-02-10,4
+5041,2020-02-11,4
+5042,2020-02-12,4
+5043,2020-02-13,4
+5044,2020-02-14,4
+5045,2020-02-15,4
+5046,2020-02-16,4
+5047,2020-02-17,4
+5048,2020-02-18,4
+5049,2020-02-19,4
+5050,2020-02-20,4
+5051,2020-02-21,4
+5052,2020-02-22,4
+5053,2020-02-23,4
+5054,2020-02-24,4
+5055,2020-02-25,4
+5056,2020-02-26,4
+5057,2020-02-27,4
+5058,2020-02-28,4
+5059,2020-02-29,4
+5060,2020-03-01,4
+5061,2020-03-02,4
+5062,2020-03-03,4
+5063,2020-03-04,4
+5064,2020-03-05,4
+5065,2020-03-06,4
+5066,2020-03-07,4
+5067,2020-03-08,4
+5068,2020-03-09,4
+5069,2020-03-10,4
+5070,2020-03-11,4
+5071,2020-03-12,4
+5072,2020-03-13,4
+5073,2020-03-14,4
+5074,2020-03-15,4
+5075,2020-03-16,4
+5076,2020-03-17,4
+5077,2020-03-18,4
+5078,2020-03-19,4
+5079,2020-03-20,4
+5080,2020-03-21,4
+5081,2020-03-22,4
+5082,2020-03-23,4
+5083,2020-03-24,4
+5084,2020-03-25,4
+5085,2020-03-26,4
+5086,2020-03-27,4
+5087,2020-03-28,4
+5088,2020-03-29,4
+5089,2020-03-30,4
+5090,2020-03-31,4
+5091,2020-04-01,4
+5092,2020-04-02,4
+5093,2020-04-03,4
+5094,2020-04-04,4
+5095,2020-04-05,4
+5096,2020-04-06,4
+5097,2020-04-07,4
+5098,2020-04-08,4
+5099,2020-04-09,4
+5100,2020-04-10,4
+5101,2020-04-11,4
+5102,2020-04-12,4
+5103,2020-04-13,4
+5104,2020-04-14,4
+5105,2020-04-15,4
+5106,2020-04-16,4
+5107,2020-04-17,4
+5108,2020-04-18,4
+5109,2020-04-19,4
+5110,2020-04-20,4
+5111,2020-04-21,4
+5112,2020-04-22,4
+5113,2020-04-23,4
+5114,2020-04-24,4
+5115,2020-04-25,4
+5116,2020-04-26,4
+5117,2020-04-27,4
+5118,2020-04-28,4
+5119,2020-04-29,4
+5120,2020-04-30,4
+5121,2020-05-01,4
+5122,2020-05-02,4
+5123,2020-05-03,4
+5124,2020-05-04,4
+5125,2020-05-05,4
+5126,2020-05-06,4
+5127,2020-05-07,4
+5128,2020-05-08,4
+5129,2020-05-09,4
+5130,2020-05-10,4
+5131,2020-05-11,4
+5132,2020-05-12,4
+5133,2020-05-13,4
+5134,2020-05-14,4
+5135,2020-05-15,4
+5136,2020-05-16,4
+5137,2020-05-17,4
+5138,2020-05-18,4
+5139,2020-05-19,4
+5140,2020-05-20,4
+5141,2020-05-21,4
+5142,2020-05-22,4
+5143,2020-05-23,4
+5144,2020-05-24,4
+5145,2020-05-25,4
+5146,2020-05-26,4
+5147,2020-05-27,4
+5148,2020-05-28,4
+5149,2020-05-29,4
+5150,2020-05-30,4
+5151,2020-05-31,4
+5152,2020-06-01,4
+5153,2020-06-02,4
+5154,2020-06-03,4
+5155,2020-06-04,4
+5156,2020-06-05,4
+5157,2020-06-06,4
+5158,2020-06-07,4
+5159,2020-06-08,4
+5160,2020-06-09,4
+5161,2020-06-10,4
+5162,2020-06-11,4
+5163,2020-06-12,4
+5164,2020-06-13,4
+5165,2020-06-14,4
+5166,2020-06-15,4
+5167,2020-06-16,4
+5168,2020-06-17,4
+5169,2020-06-18,4
+5170,2020-06-19,4
+5171,2020-06-20,4
+5172,2020-06-21,4
+5173,2020-06-22,4
+5174,2020-06-23,4
+5175,2020-06-24,4
+5176,2020-06-25,4
+5177,2020-06-26,4
+5178,2020-06-27,4
+5179,2020-06-28,4
+5180,2020-06-29,4
+5181,2020-06-30,4
+5182,2020-07-01,4
+5183,2020-07-02,4
+5184,2020-07-03,4
+5185,2020-07-04,4
+5186,2020-07-05,4
+5187,2020-07-06,4
+5188,2020-07-07,4
+5189,2020-07-08,4
+5190,2020-07-09,4
+5191,2020-07-10,4
+5192,2020-07-11,4
+5193,2020-07-12,4
+5194,2020-07-13,4
+5195,2020-07-14,4
+5196,2020-07-15,4
+5197,2020-07-16,4
+5198,2020-07-17,4
+5199,2020-07-18,4
+5200,2020-07-19,4
+5201,2020-07-20,4
+5202,2020-07-21,4
+5203,2020-07-22,4
+5204,2020-07-23,4
+5205,2020-07-24,4
+5206,2020-07-25,4
+5207,2020-07-26,4
+5208,2020-07-27,4
+5209,2020-07-28,4
+5210,2020-07-29,4
+5211,2020-07-30,4
+5212,2020-07-31,4
+5213,2020-08-01,4
+5214,2020-08-02,4
+5215,2020-08-03,4
+5216,2020-08-04,4
+5217,2020-08-05,4
+5218,2020-08-06,4
+5219,2020-08-07,4
+5220,2020-08-08,4
+5221,2020-08-09,4
+5222,2020-08-10,4
+5223,2020-08-11,4
+5224,2020-08-12,4
+5225,2020-08-13,4
+5226,2020-08-14,4
+5227,2020-08-15,4
+5228,2020-08-16,4
+5229,2020-08-17,4
+5230,2020-08-18,4
+5231,2020-08-19,4
+5232,2020-08-20,4
+5233,2020-08-21,4
+5234,2020-08-22,4
+5235,2020-08-23,4
+5236,2020-08-24,4
+5237,2020-08-25,4
+5238,2020-08-26,4
+5239,2020-08-27,4
+5240,2020-08-28,4
+5241,2020-08-29,4
+5242,2020-08-30,4
+5243,2020-08-31,4
+5244,2020-09-01,4
+5245,2020-09-02,4
+5246,2020-09-03,4
+5247,2020-09-04,4
+5248,2020-09-05,4
+5249,2020-09-06,4
+5250,2020-09-07,4
+5251,2020-09-08,4
+5252,2020-09-09,4
+5253,2020-09-10,4
+5254,2020-09-11,4
+5255,2020-09-12,4
+5256,2020-09-13,4
+5257,2020-09-14,4
+5258,2020-09-15,4
+5259,2020-09-16,4
+5260,2020-09-17,4
+5261,2020-09-18,4
+5262,2020-09-19,4
+5263,2020-09-20,4
+5264,2020-09-21,4
+5265,2020-09-22,4
+5266,2020-09-23,4
+5267,2020-09-24,4
+5268,2020-09-25,4
+5269,2020-09-26,4
+5270,2020-09-27,4
+5271,2020-09-28,4
+5272,2020-09-29,4
+5273,2020-09-30,4
+5274,2020-10-01,4
+5275,2020-10-02,4
+5276,2020-10-03,4
+5277,2020-10-04,4
+5278,2020-10-05,4
+5279,2020-10-06,4
+5280,2020-10-07,4
+5281,2020-10-08,4
+5282,2020-10-09,4
+5283,2020-10-10,4
+5284,2020-10-11,4
+5285,2020-10-12,4
+5286,2020-10-13,4
+5287,2020-10-14,4
+5288,2020-10-15,4
+5289,2020-10-16,4
+5290,2020-10-17,4
+5291,2020-10-18,4
+5292,2020-10-19,4
+5293,2020-10-20,4
+5294,2020-10-21,4
+5295,2020-10-22,4
+5296,2020-10-23,4
+5297,2020-10-24,4
+5298,2020-10-25,4
+5299,2020-10-26,4
+5300,2020-10-27,4
+5301,2020-10-28,4
+5302,2020-10-29,4
+5303,2020-10-30,4
+5304,2020-10-31,4
+5305,2020-11-01,4
+5306,2020-11-02,4
+5307,2020-11-03,4
+5308,2020-11-04,4
+5309,2020-11-05,4
+5310,2020-11-06,4
+5311,2020-11-07,4
+5312,2020-11-08,4
+5313,2020-11-09,4
+5314,2020-11-10,4
+5315,2020-11-11,4
+5316,2020-11-12,4
+5317,2020-11-13,4
+5318,2020-11-14,4
+5319,2020-11-15,4
+5320,2020-11-16,4
+5321,2020-11-17,4
+5322,2020-11-18,4
+5323,2020-11-19,4
+5324,2020-11-20,4
+5325,2020-11-21,4
+5326,2020-11-22,4
+5327,2020-11-23,4
+5328,2020-11-24,4
+5329,2020-11-25,4
+5330,2020-11-26,4
+5331,2020-11-27,4
+5332,2020-11-28,4
+5333,2020-11-29,4
+5334,2020-11-30,4
+5335,2020-12-01,4
+5336,2020-12-02,4
+5337,2020-12-03,4
+5338,2020-12-04,4
+5339,2020-12-05,4
+5340,2020-12-06,4
+5341,2020-12-07,4
+5342,2020-12-08,4
+5343,2020-12-09,4
+5344,2020-12-10,4
+5345,2020-12-11,4
+5346,2020-12-12,4
+5347,2020-12-13,4
+5348,2020-12-14,4
+5349,2020-12-15,4
+5350,2020-12-16,4
+5351,2020-12-17,4
+5352,2020-12-18,4
+5353,2020-12-19,4
+5354,2020-12-20,4
+5355,2020-12-21,4
+5356,2020-12-22,4
+5357,2020-12-23,4
+5358,2020-12-24,4
+5359,2020-12-25,4
+5360,2020-12-26,4
+5361,2020-12-27,4
+5362,2020-12-28,4
+5363,2020-12-29,4
+5364,2020-12-30,4
+5365,2020-12-31,4
+5366,2021-01-01,4
+5367,2021-01-02,4
+5368,2021-01-03,4
+5369,2021-01-04,4
+5370,2021-01-05,4
+5371,2021-01-06,4
+5372,2021-01-07,4
+5373,2021-01-08,4
+5374,2021-01-09,4
+5375,2021-01-10,4
+5376,2021-01-11,4
+5377,2021-01-12,4
+5378,2021-01-13,4
+5379,2021-01-14,4
+5380,2021-01-15,4
+5381,2021-01-16,4
+5382,2021-01-17,4
+5383,2021-01-18,4
+5384,2021-01-19,4
+5385,2021-01-20,4
+5386,2021-01-21,4
+5387,2021-01-22,4
+5388,2021-01-23,4
+5389,2021-01-24,4
+5390,2021-01-25,4
+5391,2021-01-26,4
+5392,2021-01-27,4
+5393,2021-01-28,4
+5394,2021-01-29,4
+5395,2021-01-30,4
+5396,2021-01-31,4
+5397,2021-02-01,4
+5398,2021-02-02,4
+5399,2021-02-03,4
+5400,2021-02-04,4
+5401,2021-02-05,4
+5402,2021-02-06,4
+5403,2021-02-07,4
+5404,2021-02-08,4
+5405,2021-02-09,4
+5406,2021-02-10,4
+5407,2021-02-11,4
+5408,2021-02-12,4
+5409,2021-02-13,4
+5410,2021-02-14,4
+5411,2021-02-15,4
+5412,2021-02-16,4
+5413,2021-02-17,4
+5414,2021-02-18,4
+5415,2021-02-19,4
+5416,2021-02-20,4
+5417,2021-02-21,4
+5418,2021-02-22,4
+5419,2021-02-23,4
+5420,2021-02-24,4
+5421,2021-02-25,4
+5422,2021-02-26,4
+5423,2021-02-27,4
+5424,2021-02-28,4
+5425,2021-03-01,4
+5426,2021-03-02,4
+5427,2021-03-03,4
+5428,2021-03-04,4
+5429,2021-03-05,4
+5430,2021-03-06,4
+5431,2021-03-07,4
+5432,2021-03-08,4
+5433,2021-03-09,4
+5434,2021-03-10,4
+5435,2021-03-11,4
+5436,2021-03-12,4
+5437,2021-03-13,4
+5438,2021-03-14,4
+5439,2021-03-15,4
+5440,2021-03-16,4
+5441,2021-03-17,4
+5442,2021-03-18,4
+5443,2021-03-19,4
+5444,2021-03-20,4
+5445,2021-03-21,4
+5446,2021-03-22,4
+5447,2021-03-23,4
+5448,2021-03-24,4
+5449,2021-03-25,4
+5450,2021-03-26,4
+5451,2021-03-27,4
+5452,2021-03-28,4
+5453,2021-03-29,4
+5454,2021-03-30,4
+5455,2021-03-31,4
+5456,2021-04-01,4
+5457,2021-04-02,4
+5458,2021-04-03,4
+5459,2021-04-04,4
+5460,2021-04-05,4
+5461,2021-04-06,4
+5462,2021-04-07,4
+5463,2021-04-08,4
+5464,2021-04-09,4
+5465,2021-04-10,4
+5466,2021-04-11,4
+5467,2021-04-12,4
+5468,2021-04-13,4
+5469,2021-04-14,4
+5470,2021-04-15,4
+5471,2021-04-16,4
+5472,2021-04-17,4
+5473,2021-04-18,4
+5474,2021-04-19,4
+5475,2021-04-20,4
+5476,2021-04-21,4
+5477,2021-04-22,4
+5478,2021-04-23,4
+5479,2021-04-24,4
+5480,2021-04-25,4
+5481,2021-04-26,4
+5482,2021-04-27,4
+5483,2021-04-28,4
+5484,2021-04-29,4
+5485,2021-04-30,4
+5486,2021-05-01,4
+5487,2021-05-02,4
+5488,2021-05-03,4
+5489,2021-05-04,4
+5490,2021-05-05,4
+5491,2021-05-06,4
+5492,2021-05-07,4
+5493,2021-05-08,4
+5494,2021-05-09,4
+5495,2021-05-10,4
+5496,2021-05-11,4
+5497,2021-05-12,4
+5498,2021-05-13,4
+5499,2021-05-14,4
+5500,2021-05-15,4
+5501,2021-05-16,4
+5502,2021-05-17,4
+5503,2021-05-18,4
+5504,2021-05-19,4
+5505,2021-05-20,4
+5506,2021-05-21,4
+5507,2021-05-22,4
+5508,2021-05-23,4
+5509,2021-05-24,4
+5510,2021-05-25,4
+5511,2021-05-26,4
+5512,2021-05-27,4
+5513,2021-05-28,4
+5514,2021-05-29,4
+5515,2021-05-30,4
+5516,2021-05-31,4
+5517,2021-06-01,4
+5518,2021-06-02,4
+5519,2021-06-03,4
+5520,2021-06-04,4
+5521,2021-06-05,4
+5522,2021-06-06,4
+5523,2021-06-07,4
+5524,2021-06-08,4
+5525,2021-06-09,4
+5526,2021-06-10,4
+5527,2021-06-11,4
+5528,2021-06-12,4
+5529,2021-06-13,4
+5530,2021-06-14,4
+5531,2021-06-15,4
+5532,2021-06-16,4
+5533,2021-06-17,4
+5534,2021-06-18,4
+5535,2021-06-19,4
+5536,2021-06-20,4
+5537,2021-06-21,4
+5538,2021-06-22,4
+5539,2021-06-23,4
+5540,2021-06-24,4
+5541,2021-06-25,4
+5542,2021-06-26,4
+5543,2021-06-27,4
+5544,2021-06-28,4
+5545,2021-06-29,4
+5546,2021-06-30,4
+5547,2021-07-01,4
+5548,2021-07-02,4
+5549,2021-07-03,4
+5550,2021-07-04,4
+5551,2021-07-05,4
+5552,2021-07-06,4
+5553,2021-07-07,4
+5554,2021-07-08,4
+5555,2021-07-09,4
+5556,2021-07-10,4
+5557,2021-07-11,4
+5558,2021-07-12,4
+5559,2021-07-13,4
+5560,2021-07-14,4
+5561,2021-07-15,4
+5562,2021-07-16,4
+5563,2021-07-17,4
+5564,2021-07-18,4
+5565,2021-07-19,4
+5566,2021-07-20,4
+5567,2021-07-21,4
+5568,2021-07-22,4
+5569,2021-07-23,4
+5570,2021-07-24,4
+5571,2021-07-25,4
+5572,2021-07-26,4
+5573,2021-07-27,4
+5574,2021-07-28,4
+5575,2021-07-29,4
+5576,2021-07-30,4
+5577,2021-07-31,4
+5578,2021-08-01,4
+5579,2021-08-02,4
+5580,2021-08-03,4
+5581,2021-08-04,4
+5582,2021-08-05,4
+5583,2021-08-06,4
+5584,2021-08-07,4
+5585,2021-08-08,4
+5586,2021-08-09,4
+5587,2021-08-10,4
+5588,2021-08-11,4
+5589,2021-08-12,4
+5590,2021-08-13,4
+5591,2021-08-14,4
+5592,2021-08-15,4
+5593,2021-08-16,4
+5594,2021-08-17,4
+5595,2021-08-18,4
+5596,2021-08-19,4
+5597,2021-08-20,4
+5598,2021-08-21,4
+5599,2021-08-22,4
+5600,2021-08-23,4
+5601,2021-08-24,4
+5602,2021-08-25,4
+5603,2021-08-26,4
+5604,2021-08-27,4
+5605,2021-08-28,4
+5606,2021-08-29,4
+5607,2021-08-30,4
+5608,2021-08-31,4
+5609,2021-09-01,4
+5610,2021-09-02,4
+5611,2021-09-03,4
+5612,2021-09-04,4
+5613,2021-09-05,4
+5614,2021-09-06,4
+5615,2021-09-07,4
+5616,2021-09-08,4
+5617,2021-09-09,4
+5618,2021-09-10,4
+5619,2021-09-11,4
+5620,2021-09-12,4
+5621,2021-09-13,4
+5622,2021-09-14,4
+5623,2021-09-15,4
+5624,2021-09-16,4
+5625,2021-09-17,4
+5626,2021-09-18,4
+5627,2021-09-19,4
+5628,2021-09-20,4
+5629,2021-09-21,4
+5630,2021-09-22,4
+5631,2021-09-23,4
+5632,2021-09-24,4
+5633,2021-09-25,4
+5634,2021-09-26,4
+5635,2021-09-27,4
+5636,2021-09-28,4
+5637,2021-09-29,4
+5638,2021-09-30,4
+5639,2021-10-01,4
+5640,2021-10-02,4
+5641,2021-10-03,4
+5642,2021-10-04,4
+5643,2021-10-05,4
+5644,2021-10-06,4
+5645,2021-10-07,4
+5646,2021-10-08,4
+5647,2021-10-09,4
+5648,2021-10-10,4
+5649,2021-10-11,4
+5650,2021-10-12,4
+5651,2021-10-13,4
+5652,2021-10-14,4
+5653,2021-10-15,4
+5654,2021-10-16,4
+5655,2021-10-17,4
+5656,2021-10-18,4
+5657,2021-10-19,4
+5658,2021-10-20,4
+5659,2021-10-21,4
+5660,2021-10-22,4
+5661,2021-10-23,4
+5662,2021-10-24,4
+5663,2021-10-25,4
+5664,2021-10-26,4
+5665,2021-10-27,4
+5666,2021-10-28,4
+5667,2021-10-29,4
+5668,2021-10-30,4
+5669,2021-10-31,4
+5670,2021-11-01,4
+5671,2021-11-02,4
+5672,2021-11-03,4
+5673,2021-11-04,4
+5674,2021-11-05,4
+5675,2021-11-06,4
+5676,2021-11-07,4
+5677,2021-11-08,4
+5678,2021-11-09,4
+5679,2021-11-10,4
+5680,2021-11-11,4
+5681,2021-11-12,4
+5682,2021-11-13,4
+5683,2021-11-14,4
+5684,2021-11-15,4
+5685,2021-11-16,4
+5686,2021-11-17,4
+5687,2021-11-18,4
+5688,2021-11-19,4
+5689,2021-11-20,4
+5690,2021-11-21,4
+5691,2021-11-22,4
+5692,2021-11-23,4
+5693,2021-11-24,4
+5694,2021-11-25,4
+5695,2021-11-26,4
+5696,2021-11-27,4
+5697,2021-11-28,4
+5698,2021-11-29,4
+5699,2021-11-30,4
+5700,2021-12-01,4
+5701,2021-12-02,4
+5702,2021-12-03,4
+5703,2021-12-04,4
+5704,2021-12-05,4
+5705,2021-12-06,4
+5706,2021-12-07,4
+5707,2021-12-08,4
+5708,2021-12-09,4
+5709,2021-12-10,4
+5710,2021-12-11,4
+5711,2021-12-12,4
+5712,2021-12-13,4
+5713,2021-12-14,4
+5714,2021-12-15,4
+5715,2021-12-16,4
+5716,2021-12-17,4
+5717,2021-12-18,4
+5718,2021-12-19,4
+5719,2021-12-20,4
+5720,2021-12-21,4
+5721,2021-12-22,4
+5722,2021-12-23,4
+5723,2021-12-24,4
+5724,2021-12-25,4
+5725,2021-12-26,4
+5726,2021-12-27,4
+5727,2021-12-28,4
+5728,2021-12-29,4
+5729,2021-12-30,4
+5730,2021-12-31,4
+5731,2022-01-01,4
+5732,2022-01-02,4
+5733,2022-01-03,4
+5734,2022-01-04,4
+5735,2022-01-05,4
+5736,2022-01-06,4
+5737,2022-01-07,4
+5738,2022-01-08,4
+5739,2022-01-09,4
+5740,2022-01-10,4
+5741,2022-01-11,4
+5742,2022-01-12,4
+5743,2022-01-13,4
+5744,2022-01-14,4
+5745,2022-01-15,4
+5746,2022-01-16,4
+5747,2022-01-17,4
+5748,2022-01-18,4
+5749,2022-01-19,4
+5750,2022-01-20,4
+5751,2022-01-21,4
+5752,2022-01-22,4
+5753,2022-01-23,4
+5754,2022-01-24,4
+5755,2022-01-25,4
+5756,2022-01-26,4
+5757,2022-01-27,4
+5758,2022-01-28,4
+5759,2022-01-29,4
+5760,2022-01-30,4
+5761,2022-01-31,4
+5762,2022-02-01,4
+5763,2022-02-02,4
+5764,2022-02-03,4
+5765,2022-02-04,4
+5766,2022-02-05,4
+5767,2022-02-06,4
+5768,2022-02-07,4
+5769,2022-02-08,4
+5770,2022-02-09,4
+5771,2022-02-10,4
+5772,2022-02-11,4
+5773,2022-02-12,4
+5774,2022-02-13,4
+5775,2022-02-14,4
+5776,2022-02-15,4
+5777,2022-02-16,4
+5778,2022-02-17,4
+5779,2022-02-18,4
+5780,2022-02-19,4
+5781,2022-02-20,4
+5782,2022-02-21,4
+5783,2022-02-22,4
+5784,2022-02-23,4
+5785,2022-02-24,4
+5786,2022-02-25,4
+5787,2022-02-26,4
+5788,2022-02-27,4
+5789,2022-02-28,4
+5790,2022-03-01,4
+5791,2022-03-02,4
+5792,2022-03-03,4
+5793,2022-03-04,4
+5794,2022-03-05,4
+5795,2022-03-06,4
+5796,2022-03-07,4
+5797,2022-03-08,4
+5798,2022-03-09,4
+5799,2022-03-10,4
+5800,2022-03-11,4
+5801,2022-03-12,4
+5802,2022-03-13,4
+5803,2022-03-14,4
+5804,2022-03-15,4
+5805,2022-03-16,4
+5806,2022-03-17,4
+5807,2022-03-18,4
+5808,2022-03-19,4
+5809,2022-03-20,4
+5810,2022-03-21,4
+5811,2022-03-22,4
+5812,2022-03-23,4
+5813,2022-03-24,4
+5814,2022-03-25,4
+5815,2022-03-26,4
+5816,2022-03-27,4
+5817,2022-03-28,4
+5818,2022-03-29,4
+5819,2022-03-30,4
+5820,2022-03-31,4
+5821,2022-04-01,4
+5822,2022-04-02,4
+5823,2022-04-03,4
+5824,2022-04-04,4
+5825,2022-04-05,4
+5826,2022-04-06,4
+5827,2022-04-07,4
+5828,2022-04-08,4
+5829,2022-04-09,4
+5830,2022-04-10,4
+5831,2022-04-11,4
+5832,2022-04-12,4
+5833,2022-04-13,4
+5834,2022-04-14,4
+5835,2022-04-15,4
+5836,2022-04-16,4
+5837,2022-04-17,4
+5838,2022-04-18,4
+5839,2022-04-19,4
+5840,2022-04-20,4
+5841,2022-04-21,4
+5842,2022-04-22,4
+5843,2022-04-23,4
+5844,2022-04-24,4
+5845,2022-04-25,4
+5846,2022-04-26,4
+5847,2022-04-27,4
+5848,2022-04-28,4
+5849,2022-04-29,4
+5850,2022-04-30,4
+5851,2022-05-01,4
+5852,2022-05-02,4
+5853,2022-05-03,4
+5854,2022-05-04,4
+5855,2022-05-05,4
+5856,2022-05-06,4
+5857,2022-05-07,4
+5858,2022-05-08,4
+5859,2022-05-09,4
+5860,2022-05-10,4
+5861,2022-05-11,4
+5862,2022-05-12,4
+5863,2022-05-13,4
+5864,2022-05-14,4
+5865,2022-05-15,4
+5866,2022-05-16,4
+5867,2022-05-17,4
+5868,2022-05-18,4
+5869,2022-05-19,4
+5870,2022-05-20,4
+5871,2022-05-21,4
+5872,2022-05-22,4
+5873,2022-05-23,4
+5874,2022-05-24,4
+5875,2022-05-25,4
+5876,2022-05-26,4
+5877,2022-05-27,4
+5878,2022-05-28,4
+5879,2022-05-29,4
+5880,2022-05-30,4
+5881,2022-05-31,4
+5882,2022-06-01,4
+5883,2022-06-02,4
+5884,2022-06-03,4
+5885,2022-06-04,4
+5886,2022-06-05,4
+5887,2022-06-06,4
+5888,2022-06-07,4
+5889,2022-06-08,4
+5890,2022-06-09,4
+5891,2022-06-10,4
+5892,2022-06-11,4
+5893,2022-06-12,4
+5894,2022-06-13,4
+5895,2022-06-14,4
+5896,2022-06-15,4
+5897,2022-06-16,4
+5898,2022-06-17,4
+5899,2022-06-18,4
+5900,2022-06-19,4
+5901,2022-06-20,4
+5902,2022-06-21,4
+5903,2022-06-22,4
+5904,2022-06-23,4
+5905,2022-06-24,4
+5906,2022-06-25,4
+5907,2022-06-26,4
+5908,2022-06-27,4
+5909,2022-06-28,4
+5910,2022-06-29,4
+5911,2022-06-30,4
+5912,2022-07-01,4
+5913,2022-07-02,4
+5914,2022-07-03,4
+5915,2022-07-04,4
+5916,2022-07-05,4
+5917,2022-07-06,4
+5918,2022-07-07,4
+5919,2022-07-08,4
+5920,2022-07-09,4
+5921,2022-07-10,4
+5922,2022-07-11,4
+5923,2022-07-12,4
+5924,2022-07-13,4
+5925,2022-07-14,4
+5926,2022-07-15,4
+5927,2022-07-16,4
+5928,2022-07-17,4
+5929,2022-07-18,4
+5930,2022-07-19,4
+5931,2022-07-20,4
+5932,2022-07-21,4
+5933,2022-07-22,4
+5934,2022-07-23,4
+5935,2022-07-24,4
+5936,2022-07-25,4
+5937,2022-07-26,4
+5938,2022-07-27,4
+5939,2022-07-28,4
+5940,2022-07-29,4
+5941,2022-07-30,4
+5942,2022-07-31,4
+5943,2022-08-01,4
+5944,2022-08-02,4
+5945,2022-08-03,4
+5946,2022-08-04,4
+5947,2022-08-05,4
+5948,2022-08-06,4
+5949,2022-08-07,4
+5950,2022-08-08,4
+5951,2022-08-09,4
+5952,2022-08-10,4
+5953,2022-08-11,4
+5954,2022-08-12,4
+5955,2022-08-13,4
+5956,2022-08-14,4
+5957,2022-08-15,4
+5958,2022-08-16,4
+5959,2022-08-17,4
+5960,2022-08-18,4
+5961,2022-08-19,4
+5962,2022-08-20,4
+5963,2022-08-21,4
+5964,2022-08-22,4
+5965,2022-08-23,4
+5966,2022-08-24,4
+5967,2022-08-25,4
+5968,2022-08-26,4
+5969,2022-08-27,4
+5970,2022-08-28,4
+5971,2022-08-29,4
+5972,2022-08-30,4
+5973,2022-08-31,4
+5974,2022-09-01,4
+5975,2022-09-02,4
+5976,2022-09-03,4
+5977,2022-09-04,4
+5978,2022-09-05,4
+5979,2022-09-06,4
+5980,2022-09-07,4
+5981,2022-09-08,4
+5982,2022-09-09,4
+5983,2022-09-10,4
+5984,2022-09-11,4
+5985,2022-09-12,4
+5986,2022-09-13,4
+5987,2022-09-14,4
+5988,2022-09-15,4
+5989,2022-09-16,4
+5990,2022-09-17,4
+5991,2022-09-18,4
+5992,2022-09-19,4
+5993,2022-09-20,4
+5994,2022-09-21,4
+5995,2022-09-22,4
+5996,2022-09-23,4
+5997,2022-09-24,4
+5998,2022-09-25,4
+5999,2022-09-26,4
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_5.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_5.csv
index 1b46b7e..3f091dc 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_5.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_5.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-6000,2020-01-01,5
-6001,2020-01-02,5
-6002,2020-01-03,5
-6003,2020-01-04,5
-6004,2020-01-05,5
-6005,2020-01-06,5
-6006,2020-01-07,5
-6007,2020-01-08,5
-6008,2020-01-09,5
-6009,2020-01-10,5
-6010,2020-01-11,5
-6011,2020-01-12,5
-6012,2020-01-13,5
-6013,2020-01-14,5
-6014,2020-01-15,5
-6015,2020-01-16,5
-6016,2020-01-17,5
-6017,2020-01-18,5
-6018,2020-01-19,5
-6019,2020-01-20,5
-6020,2020-01-21,5
-6021,2020-01-22,5
-6022,2020-01-23,5
-6023,2020-01-24,5
-6024,2020-01-25,5
-6025,2020-01-26,5
-6026,2020-01-27,5
-6027,2020-01-28,5
-6028,2020-01-29,5
-6029,2020-01-30,5
-6030,2020-01-31,5
-6031,2020-02-01,5
-6032,2020-02-02,5
-6033,2020-02-03,5
-6034,2020-02-04,5
-6035,2020-02-05,5
-6036,2020-02-06,5
-6037,2020-02-07,5
-6038,2020-02-08,5
-6039,2020-02-09,5
-6040,2020-02-10,5
-6041,2020-02-11,5
-6042,2020-02-12,5
-6043,2020-02-13,5
-6044,2020-02-14,5
-6045,2020-02-15,5
-6046,2020-02-16,5
-6047,2020-02-17,5
-6048,2020-02-18,5
-6049,2020-02-19,5
-6050,2020-02-20,5
-6051,2020-02-21,5
-6052,2020-02-22,5
-6053,2020-02-23,5
-6054,2020-02-24,5
-6055,2020-02-25,5
-6056,2020-02-26,5
-6057,2020-02-27,5
-6058,2020-02-28,5
-6059,2020-02-29,5
-6060,2020-03-01,5
-6061,2020-03-02,5
-6062,2020-03-03,5
-6063,2020-03-04,5
-6064,2020-03-05,5
-6065,2020-03-06,5
-6066,2020-03-07,5
-6067,2020-03-08,5
-6068,2020-03-09,5
-6069,2020-03-10,5
-6070,2020-03-11,5
-6071,2020-03-12,5
-6072,2020-03-13,5
-6073,2020-03-14,5
-6074,2020-03-15,5
-6075,2020-03-16,5
-6076,2020-03-17,5
-6077,2020-03-18,5
-6078,2020-03-19,5
-6079,2020-03-20,5
-6080,2020-03-21,5
-6081,2020-03-22,5
-6082,2020-03-23,5
-6083,2020-03-24,5
-6084,2020-03-25,5
-6085,2020-03-26,5
-6086,2020-03-27,5
-6087,2020-03-28,5
-6088,2020-03-29,5
-6089,2020-03-30,5
-6090,2020-03-31,5
-6091,2020-04-01,5
-6092,2020-04-02,5
-6093,2020-04-03,5
-6094,2020-04-04,5
-6095,2020-04-05,5
-6096,2020-04-06,5
-6097,2020-04-07,5
-6098,2020-04-08,5
-6099,2020-04-09,5
-6100,2020-04-10,5
-6101,2020-04-11,5
-6102,2020-04-12,5
-6103,2020-04-13,5
-6104,2020-04-14,5
-6105,2020-04-15,5
-6106,2020-04-16,5
-6107,2020-04-17,5
-6108,2020-04-18,5
-6109,2020-04-19,5
-6110,2020-04-20,5
-6111,2020-04-21,5
-6112,2020-04-22,5
-6113,2020-04-23,5
-6114,2020-04-24,5
-6115,2020-04-25,5
-6116,2020-04-26,5
-6117,2020-04-27,5
-6118,2020-04-28,5
-6119,2020-04-29,5
-6120,2020-04-30,5
-6121,2020-05-01,5
-6122,2020-05-02,5
-6123,2020-05-03,5
-6124,2020-05-04,5
-6125,2020-05-05,5
-6126,2020-05-06,5
-6127,2020-05-07,5
-6128,2020-05-08,5
-6129,2020-05-09,5
-6130,2020-05-10,5
-6131,2020-05-11,5
-6132,2020-05-12,5
-6133,2020-05-13,5
-6134,2020-05-14,5
-6135,2020-05-15,5
-6136,2020-05-16,5
-6137,2020-05-17,5
-6138,2020-05-18,5
-6139,2020-05-19,5
-6140,2020-05-20,5
-6141,2020-05-21,5
-6142,2020-05-22,5
-6143,2020-05-23,5
-6144,2020-05-24,5
-6145,2020-05-25,5
-6146,2020-05-26,5
-6147,2020-05-27,5
-6148,2020-05-28,5
-6149,2020-05-29,5
-6150,2020-05-30,5
-6151,2020-05-31,5
-6152,2020-06-01,5
-6153,2020-06-02,5
-6154,2020-06-03,5
-6155,2020-06-04,5
-6156,2020-06-05,5
-6157,2020-06-06,5
-6158,2020-06-07,5
-6159,2020-06-08,5
-6160,2020-06-09,5
-6161,2020-06-10,5
-6162,2020-06-11,5
-6163,2020-06-12,5
-6164,2020-06-13,5
-6165,2020-06-14,5
-6166,2020-06-15,5
-6167,2020-06-16,5
-6168,2020-06-17,5
-6169,2020-06-18,5
-6170,2020-06-19,5
-6171,2020-06-20,5
-6172,2020-06-21,5
-6173,2020-06-22,5
-6174,2020-06-23,5
-6175,2020-06-24,5
-6176,2020-06-25,5
-6177,2020-06-26,5
-6178,2020-06-27,5
-6179,2020-06-28,5
-6180,2020-06-29,5
-6181,2020-06-30,5
-6182,2020-07-01,5
-6183,2020-07-02,5
-6184,2020-07-03,5
-6185,2020-07-04,5
-6186,2020-07-05,5
-6187,2020-07-06,5
-6188,2020-07-07,5
-6189,2020-07-08,5
-6190,2020-07-09,5
-6191,2020-07-10,5
-6192,2020-07-11,5
-6193,2020-07-12,5
-6194,2020-07-13,5
-6195,2020-07-14,5
-6196,2020-07-15,5
-6197,2020-07-16,5
-6198,2020-07-17,5
-6199,2020-07-18,5
-6200,2020-07-19,5
-6201,2020-07-20,5
-6202,2020-07-21,5
-6203,2020-07-22,5
-6204,2020-07-23,5
-6205,2020-07-24,5
-6206,2020-07-25,5
-6207,2020-07-26,5
-6208,2020-07-27,5
-6209,2020-07-28,5
-6210,2020-07-29,5
-6211,2020-07-30,5
-6212,2020-07-31,5
-6213,2020-08-01,5
-6214,2020-08-02,5
-6215,2020-08-03,5
-6216,2020-08-04,5
-6217,2020-08-05,5
-6218,2020-08-06,5
-6219,2020-08-07,5
-6220,2020-08-08,5
-6221,2020-08-09,5
-6222,2020-08-10,5
-6223,2020-08-11,5
-6224,2020-08-12,5
-6225,2020-08-13,5
-6226,2020-08-14,5
-6227,2020-08-15,5
-6228,2020-08-16,5
-6229,2020-08-17,5
-6230,2020-08-18,5
-6231,2020-08-19,5
-6232,2020-08-20,5
-6233,2020-08-21,5
-6234,2020-08-22,5
-6235,2020-08-23,5
-6236,2020-08-24,5
-6237,2020-08-25,5
-6238,2020-08-26,5
-6239,2020-08-27,5
-6240,2020-08-28,5
-6241,2020-08-29,5
-6242,2020-08-30,5
-6243,2020-08-31,5
-6244,2020-09-01,5
-6245,2020-09-02,5
-6246,2020-09-03,5
-6247,2020-09-04,5
-6248,2020-09-05,5
-6249,2020-09-06,5
-6250,2020-09-07,5
-6251,2020-09-08,5
-6252,2020-09-09,5
-6253,2020-09-10,5
-6254,2020-09-11,5
-6255,2020-09-12,5
-6256,2020-09-13,5
-6257,2020-09-14,5
-6258,2020-09-15,5
-6259,2020-09-16,5
-6260,2020-09-17,5
-6261,2020-09-18,5
-6262,2020-09-19,5
-6263,2020-09-20,5
-6264,2020-09-21,5
-6265,2020-09-22,5
-6266,2020-09-23,5
-6267,2020-09-24,5
-6268,2020-09-25,5
-6269,2020-09-26,5
-6270,2020-09-27,5
-6271,2020-09-28,5
-6272,2020-09-29,5
-6273,2020-09-30,5
-6274,2020-10-01,5
-6275,2020-10-02,5
-6276,2020-10-03,5
-6277,2020-10-04,5
-6278,2020-10-05,5
-6279,2020-10-06,5
-6280,2020-10-07,5
-6281,2020-10-08,5
-6282,2020-10-09,5
-6283,2020-10-10,5
-6284,2020-10-11,5
-6285,2020-10-12,5
-6286,2020-10-13,5
-6287,2020-10-14,5
-6288,2020-10-15,5
-6289,2020-10-16,5
-6290,2020-10-17,5
-6291,2020-10-18,5
-6292,2020-10-19,5
-6293,2020-10-20,5
-6294,2020-10-21,5
-6295,2020-10-22,5
-6296,2020-10-23,5
-6297,2020-10-24,5
-6298,2020-10-25,5
-6299,2020-10-26,5
-6300,2020-10-27,5
-6301,2020-10-28,5
-6302,2020-10-29,5
-6303,2020-10-30,5
-6304,2020-10-31,5
-6305,2020-11-01,5
-6306,2020-11-02,5
-6307,2020-11-03,5
-6308,2020-11-04,5
-6309,2020-11-05,5
-6310,2020-11-06,5
-6311,2020-11-07,5
-6312,2020-11-08,5
-6313,2020-11-09,5
-6314,2020-11-10,5
-6315,2020-11-11,5
-6316,2020-11-12,5
-6317,2020-11-13,5
-6318,2020-11-14,5
-6319,2020-11-15,5
-6320,2020-11-16,5
-6321,2020-11-17,5
-6322,2020-11-18,5
-6323,2020-11-19,5
-6324,2020-11-20,5
-6325,2020-11-21,5
-6326,2020-11-22,5
-6327,2020-11-23,5
-6328,2020-11-24,5
-6329,2020-11-25,5
-6330,2020-11-26,5
-6331,2020-11-27,5
-6332,2020-11-28,5
-6333,2020-11-29,5
-6334,2020-11-30,5
-6335,2020-12-01,5
-6336,2020-12-02,5
-6337,2020-12-03,5
-6338,2020-12-04,5
-6339,2020-12-05,5
-6340,2020-12-06,5
-6341,2020-12-07,5
-6342,2020-12-08,5
-6343,2020-12-09,5
-6344,2020-12-10,5
-6345,2020-12-11,5
-6346,2020-12-12,5
-6347,2020-12-13,5
-6348,2020-12-14,5
-6349,2020-12-15,5
-6350,2020-12-16,5
-6351,2020-12-17,5
-6352,2020-12-18,5
-6353,2020-12-19,5
-6354,2020-12-20,5
-6355,2020-12-21,5
-6356,2020-12-22,5
-6357,2020-12-23,5
-6358,2020-12-24,5
-6359,2020-12-25,5
-6360,2020-12-26,5
-6361,2020-12-27,5
-6362,2020-12-28,5
-6363,2020-12-29,5
-6364,2020-12-30,5
-6365,2020-12-31,5
-6366,2021-01-01,5
-6367,2021-01-02,5
-6368,2021-01-03,5
-6369,2021-01-04,5
-6370,2021-01-05,5
-6371,2021-01-06,5
-6372,2021-01-07,5
-6373,2021-01-08,5
-6374,2021-01-09,5
-6375,2021-01-10,5
-6376,2021-01-11,5
-6377,2021-01-12,5
-6378,2021-01-13,5
-6379,2021-01-14,5
-6380,2021-01-15,5
-6381,2021-01-16,5
-6382,2021-01-17,5
-6383,2021-01-18,5
-6384,2021-01-19,5
-6385,2021-01-20,5
-6386,2021-01-21,5
-6387,2021-01-22,5
-6388,2021-01-23,5
-6389,2021-01-24,5
-6390,2021-01-25,5
-6391,2021-01-26,5
-6392,2021-01-27,5
-6393,2021-01-28,5
-6394,2021-01-29,5
-6395,2021-01-30,5
-6396,2021-01-31,5
-6397,2021-02-01,5
-6398,2021-02-02,5
-6399,2021-02-03,5
-6400,2021-02-04,5
-6401,2021-02-05,5
-6402,2021-02-06,5
-6403,2021-02-07,5
-6404,2021-02-08,5
-6405,2021-02-09,5
-6406,2021-02-10,5
-6407,2021-02-11,5
-6408,2021-02-12,5
-6409,2021-02-13,5
-6410,2021-02-14,5
-6411,2021-02-15,5
-6412,2021-02-16,5
-6413,2021-02-17,5
-6414,2021-02-18,5
-6415,2021-02-19,5
-6416,2021-02-20,5
-6417,2021-02-21,5
-6418,2021-02-22,5
-6419,2021-02-23,5
-6420,2021-02-24,5
-6421,2021-02-25,5
-6422,2021-02-26,5
-6423,2021-02-27,5
-6424,2021-02-28,5
-6425,2021-03-01,5
-6426,2021-03-02,5
-6427,2021-03-03,5
-6428,2021-03-04,5
-6429,2021-03-05,5
-6430,2021-03-06,5
-6431,2021-03-07,5
-6432,2021-03-08,5
-6433,2021-03-09,5
-6434,2021-03-10,5
-6435,2021-03-11,5
-6436,2021-03-12,5
-6437,2021-03-13,5
-6438,2021-03-14,5
-6439,2021-03-15,5
-6440,2021-03-16,5
-6441,2021-03-17,5
-6442,2021-03-18,5
-6443,2021-03-19,5
-6444,2021-03-20,5
-6445,2021-03-21,5
-6446,2021-03-22,5
-6447,2021-03-23,5
-6448,2021-03-24,5
-6449,2021-03-25,5
-6450,2021-03-26,5
-6451,2021-03-27,5
-6452,2021-03-28,5
-6453,2021-03-29,5
-6454,2021-03-30,5
-6455,2021-03-31,5
-6456,2021-04-01,5
-6457,2021-04-02,5
-6458,2021-04-03,5
-6459,2021-04-04,5
-6460,2021-04-05,5
-6461,2021-04-06,5
-6462,2021-04-07,5
-6463,2021-04-08,5
-6464,2021-04-09,5
-6465,2021-04-10,5
-6466,2021-04-11,5
-6467,2021-04-12,5
-6468,2021-04-13,5
-6469,2021-04-14,5
-6470,2021-04-15,5
-6471,2021-04-16,5
-6472,2021-04-17,5
-6473,2021-04-18,5
-6474,2021-04-19,5
-6475,2021-04-20,5
-6476,2021-04-21,5
-6477,2021-04-22,5
-6478,2021-04-23,5
-6479,2021-04-24,5
-6480,2021-04-25,5
-6481,2021-04-26,5
-6482,2021-04-27,5
-6483,2021-04-28,5
-6484,2021-04-29,5
-6485,2021-04-30,5
-6486,2021-05-01,5
-6487,2021-05-02,5
-6488,2021-05-03,5
-6489,2021-05-04,5
-6490,2021-05-05,5
-6491,2021-05-06,5
-6492,2021-05-07,5
-6493,2021-05-08,5
-6494,2021-05-09,5
-6495,2021-05-10,5
-6496,2021-05-11,5
-6497,2021-05-12,5
-6498,2021-05-13,5
-6499,2021-05-14,5
-6500,2021-05-15,5
-6501,2021-05-16,5
-6502,2021-05-17,5
-6503,2021-05-18,5
-6504,2021-05-19,5
-6505,2021-05-20,5
-6506,2021-05-21,5
-6507,2021-05-22,5
-6508,2021-05-23,5
-6509,2021-05-24,5
-6510,2021-05-25,5
-6511,2021-05-26,5
-6512,2021-05-27,5
-6513,2021-05-28,5
-6514,2021-05-29,5
-6515,2021-05-30,5
-6516,2021-05-31,5
-6517,2021-06-01,5
-6518,2021-06-02,5
-6519,2021-06-03,5
-6520,2021-06-04,5
-6521,2021-06-05,5
-6522,2021-06-06,5
-6523,2021-06-07,5
-6524,2021-06-08,5
-6525,2021-06-09,5
-6526,2021-06-10,5
-6527,2021-06-11,5
-6528,2021-06-12,5
-6529,2021-06-13,5
-6530,2021-06-14,5
-6531,2021-06-15,5
-6532,2021-06-16,5
-6533,2021-06-17,5
-6534,2021-06-18,5
-6535,2021-06-19,5
-6536,2021-06-20,5
-6537,2021-06-21,5
-6538,2021-06-22,5
-6539,2021-06-23,5
-6540,2021-06-24,5
-6541,2021-06-25,5
-6542,2021-06-26,5
-6543,2021-06-27,5
-6544,2021-06-28,5
-6545,2021-06-29,5
-6546,2021-06-30,5
-6547,2021-07-01,5
-6548,2021-07-02,5
-6549,2021-07-03,5
-6550,2021-07-04,5
-6551,2021-07-05,5
-6552,2021-07-06,5
-6553,2021-07-07,5
-6554,2021-07-08,5
-6555,2021-07-09,5
-6556,2021-07-10,5
-6557,2021-07-11,5
-6558,2021-07-12,5
-6559,2021-07-13,5
-6560,2021-07-14,5
-6561,2021-07-15,5
-6562,2021-07-16,5
-6563,2021-07-17,5
-6564,2021-07-18,5
-6565,2021-07-19,5
-6566,2021-07-20,5
-6567,2021-07-21,5
-6568,2021-07-22,5
-6569,2021-07-23,5
-6570,2021-07-24,5
-6571,2021-07-25,5
-6572,2021-07-26,5
-6573,2021-07-27,5
-6574,2021-07-28,5
-6575,2021-07-29,5
-6576,2021-07-30,5
-6577,2021-07-31,5
-6578,2021-08-01,5
-6579,2021-08-02,5
-6580,2021-08-03,5
-6581,2021-08-04,5
-6582,2021-08-05,5
-6583,2021-08-06,5
-6584,2021-08-07,5
-6585,2021-08-08,5
-6586,2021-08-09,5
-6587,2021-08-10,5
-6588,2021-08-11,5
-6589,2021-08-12,5
-6590,2021-08-13,5
-6591,2021-08-14,5
-6592,2021-08-15,5
-6593,2021-08-16,5
-6594,2021-08-17,5
-6595,2021-08-18,5
-6596,2021-08-19,5
-6597,2021-08-20,5
-6598,2021-08-21,5
-6599,2021-08-22,5
-6600,2021-08-23,5
-6601,2021-08-24,5
-6602,2021-08-25,5
-6603,2021-08-26,5
-6604,2021-08-27,5
-6605,2021-08-28,5
-6606,2021-08-29,5
-6607,2021-08-30,5
-6608,2021-08-31,5
-6609,2021-09-01,5
-6610,2021-09-02,5
-6611,2021-09-03,5
-6612,2021-09-04,5
-6613,2021-09-05,5
-6614,2021-09-06,5
-6615,2021-09-07,5
-6616,2021-09-08,5
-6617,2021-09-09,5
-6618,2021-09-10,5
-6619,2021-09-11,5
-6620,2021-09-12,5
-6621,2021-09-13,5
-6622,2021-09-14,5
-6623,2021-09-15,5
-6624,2021-09-16,5
-6625,2021-09-17,5
-6626,2021-09-18,5
-6627,2021-09-19,5
-6628,2021-09-20,5
-6629,2021-09-21,5
-6630,2021-09-22,5
-6631,2021-09-23,5
-6632,2021-09-24,5
-6633,2021-09-25,5
-6634,2021-09-26,5
-6635,2021-09-27,5
-6636,2021-09-28,5
-6637,2021-09-29,5
-6638,2021-09-30,5
-6639,2021-10-01,5
-6640,2021-10-02,5
-6641,2021-10-03,5
-6642,2021-10-04,5
-6643,2021-10-05,5
-6644,2021-10-06,5
-6645,2021-10-07,5
-6646,2021-10-08,5
-6647,2021-10-09,5
-6648,2021-10-10,5
-6649,2021-10-11,5
-6650,2021-10-12,5
-6651,2021-10-13,5
-6652,2021-10-14,5
-6653,2021-10-15,5
-6654,2021-10-16,5
-6655,2021-10-17,5
-6656,2021-10-18,5
-6657,2021-10-19,5
-6658,2021-10-20,5
-6659,2021-10-21,5
-6660,2021-10-22,5
-6661,2021-10-23,5
-6662,2021-10-24,5
-6663,2021-10-25,5
-6664,2021-10-26,5
-6665,2021-10-27,5
-6666,2021-10-28,5
-6667,2021-10-29,5
-6668,2021-10-30,5
-6669,2021-10-31,5
-6670,2021-11-01,5
-6671,2021-11-02,5
-6672,2021-11-03,5
-6673,2021-11-04,5
-6674,2021-11-05,5
-6675,2021-11-06,5
-6676,2021-11-07,5
-6677,2021-11-08,5
-6678,2021-11-09,5
-6679,2021-11-10,5
-6680,2021-11-11,5
-6681,2021-11-12,5
-6682,2021-11-13,5
-6683,2021-11-14,5
-6684,2021-11-15,5
-6685,2021-11-16,5
-6686,2021-11-17,5
-6687,2021-11-18,5
-6688,2021-11-19,5
-6689,2021-11-20,5
-6690,2021-11-21,5
-6691,2021-11-22,5
-6692,2021-11-23,5
-6693,2021-11-24,5
-6694,2021-11-25,5
-6695,2021-11-26,5
-6696,2021-11-27,5
-6697,2021-11-28,5
-6698,2021-11-29,5
-6699,2021-11-30,5
-6700,2021-12-01,5
-6701,2021-12-02,5
-6702,2021-12-03,5
-6703,2021-12-04,5
-6704,2021-12-05,5
-6705,2021-12-06,5
-6706,2021-12-07,5
-6707,2021-12-08,5
-6708,2021-12-09,5
-6709,2021-12-10,5
-6710,2021-12-11,5
-6711,2021-12-12,5
-6712,2021-12-13,5
-6713,2021-12-14,5
-6714,2021-12-15,5
-6715,2021-12-16,5
-6716,2021-12-17,5
-6717,2021-12-18,5
-6718,2021-12-19,5
-6719,2021-12-20,5
-6720,2021-12-21,5
-6721,2021-12-22,5
-6722,2021-12-23,5
-6723,2021-12-24,5
-6724,2021-12-25,5
-6725,2021-12-26,5
-6726,2021-12-27,5
-6727,2021-12-28,5
-6728,2021-12-29,5
-6729,2021-12-30,5
-6730,2021-12-31,5
-6731,2022-01-01,5
-6732,2022-01-02,5
-6733,2022-01-03,5
-6734,2022-01-04,5
-6735,2022-01-05,5
-6736,2022-01-06,5
-6737,2022-01-07,5
-6738,2022-01-08,5
-6739,2022-01-09,5
-6740,2022-01-10,5
-6741,2022-01-11,5
-6742,2022-01-12,5
-6743,2022-01-13,5
-6744,2022-01-14,5
-6745,2022-01-15,5
-6746,2022-01-16,5
-6747,2022-01-17,5
-6748,2022-01-18,5
-6749,2022-01-19,5
-6750,2022-01-20,5
-6751,2022-01-21,5
-6752,2022-01-22,5
-6753,2022-01-23,5
-6754,2022-01-24,5
-6755,2022-01-25,5
-6756,2022-01-26,5
-6757,2022-01-27,5
-6758,2022-01-28,5
-6759,2022-01-29,5
-6760,2022-01-30,5
-6761,2022-01-31,5
-6762,2022-02-01,5
-6763,2022-02-02,5
-6764,2022-02-03,5
-6765,2022-02-04,5
-6766,2022-02-05,5
-6767,2022-02-06,5
-6768,2022-02-07,5
-6769,2022-02-08,5
-6770,2022-02-09,5
-6771,2022-02-10,5
-6772,2022-02-11,5
-6773,2022-02-12,5
-6774,2022-02-13,5
-6775,2022-02-14,5
-6776,2022-02-15,5
-6777,2022-02-16,5
-6778,2022-02-17,5
-6779,2022-02-18,5
-6780,2022-02-19,5
-6781,2022-02-20,5
-6782,2022-02-21,5
-6783,2022-02-22,5
-6784,2022-02-23,5
-6785,2022-02-24,5
-6786,2022-02-25,5
-6787,2022-02-26,5
-6788,2022-02-27,5
-6789,2022-02-28,5
-6790,2022-03-01,5
-6791,2022-03-02,5
-6792,2022-03-03,5
-6793,2022-03-04,5
-6794,2022-03-05,5
-6795,2022-03-06,5
-6796,2022-03-07,5
-6797,2022-03-08,5
-6798,2022-03-09,5
-6799,2022-03-10,5
-6800,2022-03-11,5
-6801,2022-03-12,5
-6802,2022-03-13,5
-6803,2022-03-14,5
-6804,2022-03-15,5
-6805,2022-03-16,5
-6806,2022-03-17,5
-6807,2022-03-18,5
-6808,2022-03-19,5
-6809,2022-03-20,5
-6810,2022-03-21,5
-6811,2022-03-22,5
-6812,2022-03-23,5
-6813,2022-03-24,5
-6814,2022-03-25,5
-6815,2022-03-26,5
-6816,2022-03-27,5
-6817,2022-03-28,5
-6818,2022-03-29,5
-6819,2022-03-30,5
-6820,2022-03-31,5
-6821,2022-04-01,5
-6822,2022-04-02,5
-6823,2022-04-03,5
-6824,2022-04-04,5
-6825,2022-04-05,5
-6826,2022-04-06,5
-6827,2022-04-07,5
-6828,2022-04-08,5
-6829,2022-04-09,5
-6830,2022-04-10,5
-6831,2022-04-11,5
-6832,2022-04-12,5
-6833,2022-04-13,5
-6834,2022-04-14,5
-6835,2022-04-15,5
-6836,2022-04-16,5
-6837,2022-04-17,5
-6838,2022-04-18,5
-6839,2022-04-19,5
-6840,2022-04-20,5
-6841,2022-04-21,5
-6842,2022-04-22,5
-6843,2022-04-23,5
-6844,2022-04-24,5
-6845,2022-04-25,5
-6846,2022-04-26,5
-6847,2022-04-27,5
-6848,2022-04-28,5
-6849,2022-04-29,5
-6850,2022-04-30,5
-6851,2022-05-01,5
-6852,2022-05-02,5
-6853,2022-05-03,5
-6854,2022-05-04,5
-6855,2022-05-05,5
-6856,2022-05-06,5
-6857,2022-05-07,5
-6858,2022-05-08,5
-6859,2022-05-09,5
-6860,2022-05-10,5
-6861,2022-05-11,5
-6862,2022-05-12,5
-6863,2022-05-13,5
-6864,2022-05-14,5
-6865,2022-05-15,5
-6866,2022-05-16,5
-6867,2022-05-17,5
-6868,2022-05-18,5
-6869,2022-05-19,5
-6870,2022-05-20,5
-6871,2022-05-21,5
-6872,2022-05-22,5
-6873,2022-05-23,5
-6874,2022-05-24,5
-6875,2022-05-25,5
-6876,2022-05-26,5
-6877,2022-05-27,5
-6878,2022-05-28,5
-6879,2022-05-29,5
-6880,2022-05-30,5
-6881,2022-05-31,5
-6882,2022-06-01,5
-6883,2022-06-02,5
-6884,2022-06-03,5
-6885,2022-06-04,5
-6886,2022-06-05,5
-6887,2022-06-06,5
-6888,2022-06-07,5
-6889,2022-06-08,5
-6890,2022-06-09,5
-6891,2022-06-10,5
-6892,2022-06-11,5
-6893,2022-06-12,5
-6894,2022-06-13,5
-6895,2022-06-14,5
-6896,2022-06-15,5
-6897,2022-06-16,5
-6898,2022-06-17,5
-6899,2022-06-18,5
-6900,2022-06-19,5
-6901,2022-06-20,5
-6902,2022-06-21,5
-6903,2022-06-22,5
-6904,2022-06-23,5
-6905,2022-06-24,5
-6906,2022-06-25,5
-6907,2022-06-26,5
-6908,2022-06-27,5
-6909,2022-06-28,5
-6910,2022-06-29,5
-6911,2022-06-30,5
-6912,2022-07-01,5
-6913,2022-07-02,5
-6914,2022-07-03,5
-6915,2022-07-04,5
-6916,2022-07-05,5
-6917,2022-07-06,5
-6918,2022-07-07,5
-6919,2022-07-08,5
-6920,2022-07-09,5
-6921,2022-07-10,5
-6922,2022-07-11,5
-6923,2022-07-12,5
-6924,2022-07-13,5
-6925,2022-07-14,5
-6926,2022-07-15,5
-6927,2022-07-16,5
-6928,2022-07-17,5
-6929,2022-07-18,5
-6930,2022-07-19,5
-6931,2022-07-20,5
-6932,2022-07-21,5
-6933,2022-07-22,5
-6934,2022-07-23,5
-6935,2022-07-24,5
-6936,2022-07-25,5
-6937,2022-07-26,5
-6938,2022-07-27,5
-6939,2022-07-28,5
-6940,2022-07-29,5
-6941,2022-07-30,5
-6942,2022-07-31,5
-6943,2022-08-01,5
-6944,2022-08-02,5
-6945,2022-08-03,5
-6946,2022-08-04,5
-6947,2022-08-05,5
-6948,2022-08-06,5
-6949,2022-08-07,5
-6950,2022-08-08,5
-6951,2022-08-09,5
-6952,2022-08-10,5
-6953,2022-08-11,5
-6954,2022-08-12,5
-6955,2022-08-13,5
-6956,2022-08-14,5
-6957,2022-08-15,5
-6958,2022-08-16,5
-6959,2022-08-17,5
-6960,2022-08-18,5
-6961,2022-08-19,5
-6962,2022-08-20,5
-6963,2022-08-21,5
-6964,2022-08-22,5
-6965,2022-08-23,5
-6966,2022-08-24,5
-6967,2022-08-25,5
-6968,2022-08-26,5
-6969,2022-08-27,5
-6970,2022-08-28,5
-6971,2022-08-29,5
-6972,2022-08-30,5
-6973,2022-08-31,5
-6974,2022-09-01,5
-6975,2022-09-02,5
-6976,2022-09-03,5
-6977,2022-09-04,5
-6978,2022-09-05,5
-6979,2022-09-06,5
-6980,2022-09-07,5
-6981,2022-09-08,5
-6982,2022-09-09,5
-6983,2022-09-10,5
-6984,2022-09-11,5
-6985,2022-09-12,5
-6986,2022-09-13,5
-6987,2022-09-14,5
-6988,2022-09-15,5
-6989,2022-09-16,5
-6990,2022-09-17,5
-6991,2022-09-18,5
-6992,2022-09-19,5
-6993,2022-09-20,5
-6994,2022-09-21,5
-6995,2022-09-22,5
-6996,2022-09-23,5
-6997,2022-09-24,5
-6998,2022-09-25,5
-6999,2022-09-26,5
+value,date,id
+6000,2020-01-01,5
+6001,2020-01-02,5
+6002,2020-01-03,5
+6003,2020-01-04,5
+6004,2020-01-05,5
+6005,2020-01-06,5
+6006,2020-01-07,5
+6007,2020-01-08,5
+6008,2020-01-09,5
+6009,2020-01-10,5
+6010,2020-01-11,5
+6011,2020-01-12,5
+6012,2020-01-13,5
+6013,2020-01-14,5
+6014,2020-01-15,5
+6015,2020-01-16,5
+6016,2020-01-17,5
+6017,2020-01-18,5
+6018,2020-01-19,5
+6019,2020-01-20,5
+6020,2020-01-21,5
+6021,2020-01-22,5
+6022,2020-01-23,5
+6023,2020-01-24,5
+6024,2020-01-25,5
+6025,2020-01-26,5
+6026,2020-01-27,5
+6027,2020-01-28,5
+6028,2020-01-29,5
+6029,2020-01-30,5
+6030,2020-01-31,5
+6031,2020-02-01,5
+6032,2020-02-02,5
+6033,2020-02-03,5
+6034,2020-02-04,5
+6035,2020-02-05,5
+6036,2020-02-06,5
+6037,2020-02-07,5
+6038,2020-02-08,5
+6039,2020-02-09,5
+6040,2020-02-10,5
+6041,2020-02-11,5
+6042,2020-02-12,5
+6043,2020-02-13,5
+6044,2020-02-14,5
+6045,2020-02-15,5
+6046,2020-02-16,5
+6047,2020-02-17,5
+6048,2020-02-18,5
+6049,2020-02-19,5
+6050,2020-02-20,5
+6051,2020-02-21,5
+6052,2020-02-22,5
+6053,2020-02-23,5
+6054,2020-02-24,5
+6055,2020-02-25,5
+6056,2020-02-26,5
+6057,2020-02-27,5
+6058,2020-02-28,5
+6059,2020-02-29,5
+6060,2020-03-01,5
+6061,2020-03-02,5
+6062,2020-03-03,5
+6063,2020-03-04,5
+6064,2020-03-05,5
+6065,2020-03-06,5
+6066,2020-03-07,5
+6067,2020-03-08,5
+6068,2020-03-09,5
+6069,2020-03-10,5
+6070,2020-03-11,5
+6071,2020-03-12,5
+6072,2020-03-13,5
+6073,2020-03-14,5
+6074,2020-03-15,5
+6075,2020-03-16,5
+6076,2020-03-17,5
+6077,2020-03-18,5
+6078,2020-03-19,5
+6079,2020-03-20,5
+6080,2020-03-21,5
+6081,2020-03-22,5
+6082,2020-03-23,5
+6083,2020-03-24,5
+6084,2020-03-25,5
+6085,2020-03-26,5
+6086,2020-03-27,5
+6087,2020-03-28,5
+6088,2020-03-29,5
+6089,2020-03-30,5
+6090,2020-03-31,5
+6091,2020-04-01,5
+6092,2020-04-02,5
+6093,2020-04-03,5
+6094,2020-04-04,5
+6095,2020-04-05,5
+6096,2020-04-06,5
+6097,2020-04-07,5
+6098,2020-04-08,5
+6099,2020-04-09,5
+6100,2020-04-10,5
+6101,2020-04-11,5
+6102,2020-04-12,5
+6103,2020-04-13,5
+6104,2020-04-14,5
+6105,2020-04-15,5
+6106,2020-04-16,5
+6107,2020-04-17,5
+6108,2020-04-18,5
+6109,2020-04-19,5
+6110,2020-04-20,5
+6111,2020-04-21,5
+6112,2020-04-22,5
+6113,2020-04-23,5
+6114,2020-04-24,5
+6115,2020-04-25,5
+6116,2020-04-26,5
+6117,2020-04-27,5
+6118,2020-04-28,5
+6119,2020-04-29,5
+6120,2020-04-30,5
+6121,2020-05-01,5
+6122,2020-05-02,5
+6123,2020-05-03,5
+6124,2020-05-04,5
+6125,2020-05-05,5
+6126,2020-05-06,5
+6127,2020-05-07,5
+6128,2020-05-08,5
+6129,2020-05-09,5
+6130,2020-05-10,5
+6131,2020-05-11,5
+6132,2020-05-12,5
+6133,2020-05-13,5
+6134,2020-05-14,5
+6135,2020-05-15,5
+6136,2020-05-16,5
+6137,2020-05-17,5
+6138,2020-05-18,5
+6139,2020-05-19,5
+6140,2020-05-20,5
+6141,2020-05-21,5
+6142,2020-05-22,5
+6143,2020-05-23,5
+6144,2020-05-24,5
+6145,2020-05-25,5
+6146,2020-05-26,5
+6147,2020-05-27,5
+6148,2020-05-28,5
+6149,2020-05-29,5
+6150,2020-05-30,5
+6151,2020-05-31,5
+6152,2020-06-01,5
+6153,2020-06-02,5
+6154,2020-06-03,5
+6155,2020-06-04,5
+6156,2020-06-05,5
+6157,2020-06-06,5
+6158,2020-06-07,5
+6159,2020-06-08,5
+6160,2020-06-09,5
+6161,2020-06-10,5
+6162,2020-06-11,5
+6163,2020-06-12,5
+6164,2020-06-13,5
+6165,2020-06-14,5
+6166,2020-06-15,5
+6167,2020-06-16,5
+6168,2020-06-17,5
+6169,2020-06-18,5
+6170,2020-06-19,5
+6171,2020-06-20,5
+6172,2020-06-21,5
+6173,2020-06-22,5
+6174,2020-06-23,5
+6175,2020-06-24,5
+6176,2020-06-25,5
+6177,2020-06-26,5
+6178,2020-06-27,5
+6179,2020-06-28,5
+6180,2020-06-29,5
+6181,2020-06-30,5
+6182,2020-07-01,5
+6183,2020-07-02,5
+6184,2020-07-03,5
+6185,2020-07-04,5
+6186,2020-07-05,5
+6187,2020-07-06,5
+6188,2020-07-07,5
+6189,2020-07-08,5
+6190,2020-07-09,5
+6191,2020-07-10,5
+6192,2020-07-11,5
+6193,2020-07-12,5
+6194,2020-07-13,5
+6195,2020-07-14,5
+6196,2020-07-15,5
+6197,2020-07-16,5
+6198,2020-07-17,5
+6199,2020-07-18,5
+6200,2020-07-19,5
+6201,2020-07-20,5
+6202,2020-07-21,5
+6203,2020-07-22,5
+6204,2020-07-23,5
+6205,2020-07-24,5
+6206,2020-07-25,5
+6207,2020-07-26,5
+6208,2020-07-27,5
+6209,2020-07-28,5
+6210,2020-07-29,5
+6211,2020-07-30,5
+6212,2020-07-31,5
+6213,2020-08-01,5
+6214,2020-08-02,5
+6215,2020-08-03,5
+6216,2020-08-04,5
+6217,2020-08-05,5
+6218,2020-08-06,5
+6219,2020-08-07,5
+6220,2020-08-08,5
+6221,2020-08-09,5
+6222,2020-08-10,5
+6223,2020-08-11,5
+6224,2020-08-12,5
+6225,2020-08-13,5
+6226,2020-08-14,5
+6227,2020-08-15,5
+6228,2020-08-16,5
+6229,2020-08-17,5
+6230,2020-08-18,5
+6231,2020-08-19,5
+6232,2020-08-20,5
+6233,2020-08-21,5
+6234,2020-08-22,5
+6235,2020-08-23,5
+6236,2020-08-24,5
+6237,2020-08-25,5
+6238,2020-08-26,5
+6239,2020-08-27,5
+6240,2020-08-28,5
+6241,2020-08-29,5
+6242,2020-08-30,5
+6243,2020-08-31,5
+6244,2020-09-01,5
+6245,2020-09-02,5
+6246,2020-09-03,5
+6247,2020-09-04,5
+6248,2020-09-05,5
+6249,2020-09-06,5
+6250,2020-09-07,5
+6251,2020-09-08,5
+6252,2020-09-09,5
+6253,2020-09-10,5
+6254,2020-09-11,5
+6255,2020-09-12,5
+6256,2020-09-13,5
+6257,2020-09-14,5
+6258,2020-09-15,5
+6259,2020-09-16,5
+6260,2020-09-17,5
+6261,2020-09-18,5
+6262,2020-09-19,5
+6263,2020-09-20,5
+6264,2020-09-21,5
+6265,2020-09-22,5
+6266,2020-09-23,5
+6267,2020-09-24,5
+6268,2020-09-25,5
+6269,2020-09-26,5
+6270,2020-09-27,5
+6271,2020-09-28,5
+6272,2020-09-29,5
+6273,2020-09-30,5
+6274,2020-10-01,5
+6275,2020-10-02,5
+6276,2020-10-03,5
+6277,2020-10-04,5
+6278,2020-10-05,5
+6279,2020-10-06,5
+6280,2020-10-07,5
+6281,2020-10-08,5
+6282,2020-10-09,5
+6283,2020-10-10,5
+6284,2020-10-11,5
+6285,2020-10-12,5
+6286,2020-10-13,5
+6287,2020-10-14,5
+6288,2020-10-15,5
+6289,2020-10-16,5
+6290,2020-10-17,5
+6291,2020-10-18,5
+6292,2020-10-19,5
+6293,2020-10-20,5
+6294,2020-10-21,5
+6295,2020-10-22,5
+6296,2020-10-23,5
+6297,2020-10-24,5
+6298,2020-10-25,5
+6299,2020-10-26,5
+6300,2020-10-27,5
+6301,2020-10-28,5
+6302,2020-10-29,5
+6303,2020-10-30,5
+6304,2020-10-31,5
+6305,2020-11-01,5
+6306,2020-11-02,5
+6307,2020-11-03,5
+6308,2020-11-04,5
+6309,2020-11-05,5
+6310,2020-11-06,5
+6311,2020-11-07,5
+6312,2020-11-08,5
+6313,2020-11-09,5
+6314,2020-11-10,5
+6315,2020-11-11,5
+6316,2020-11-12,5
+6317,2020-11-13,5
+6318,2020-11-14,5
+6319,2020-11-15,5
+6320,2020-11-16,5
+6321,2020-11-17,5
+6322,2020-11-18,5
+6323,2020-11-19,5
+6324,2020-11-20,5
+6325,2020-11-21,5
+6326,2020-11-22,5
+6327,2020-11-23,5
+6328,2020-11-24,5
+6329,2020-11-25,5
+6330,2020-11-26,5
+6331,2020-11-27,5
+6332,2020-11-28,5
+6333,2020-11-29,5
+6334,2020-11-30,5
+6335,2020-12-01,5
+6336,2020-12-02,5
+6337,2020-12-03,5
+6338,2020-12-04,5
+6339,2020-12-05,5
+6340,2020-12-06,5
+6341,2020-12-07,5
+6342,2020-12-08,5
+6343,2020-12-09,5
+6344,2020-12-10,5
+6345,2020-12-11,5
+6346,2020-12-12,5
+6347,2020-12-13,5
+6348,2020-12-14,5
+6349,2020-12-15,5
+6350,2020-12-16,5
+6351,2020-12-17,5
+6352,2020-12-18,5
+6353,2020-12-19,5
+6354,2020-12-20,5
+6355,2020-12-21,5
+6356,2020-12-22,5
+6357,2020-12-23,5
+6358,2020-12-24,5
+6359,2020-12-25,5
+6360,2020-12-26,5
+6361,2020-12-27,5
+6362,2020-12-28,5
+6363,2020-12-29,5
+6364,2020-12-30,5
+6365,2020-12-31,5
+6366,2021-01-01,5
+6367,2021-01-02,5
+6368,2021-01-03,5
+6369,2021-01-04,5
+6370,2021-01-05,5
+6371,2021-01-06,5
+6372,2021-01-07,5
+6373,2021-01-08,5
+6374,2021-01-09,5
+6375,2021-01-10,5
+6376,2021-01-11,5
+6377,2021-01-12,5
+6378,2021-01-13,5
+6379,2021-01-14,5
+6380,2021-01-15,5
+6381,2021-01-16,5
+6382,2021-01-17,5
+6383,2021-01-18,5
+6384,2021-01-19,5
+6385,2021-01-20,5
+6386,2021-01-21,5
+6387,2021-01-22,5
+6388,2021-01-23,5
+6389,2021-01-24,5
+6390,2021-01-25,5
+6391,2021-01-26,5
+6392,2021-01-27,5
+6393,2021-01-28,5
+6394,2021-01-29,5
+6395,2021-01-30,5
+6396,2021-01-31,5
+6397,2021-02-01,5
+6398,2021-02-02,5
+6399,2021-02-03,5
+6400,2021-02-04,5
+6401,2021-02-05,5
+6402,2021-02-06,5
+6403,2021-02-07,5
+6404,2021-02-08,5
+6405,2021-02-09,5
+6406,2021-02-10,5
+6407,2021-02-11,5
+6408,2021-02-12,5
+6409,2021-02-13,5
+6410,2021-02-14,5
+6411,2021-02-15,5
+6412,2021-02-16,5
+6413,2021-02-17,5
+6414,2021-02-18,5
+6415,2021-02-19,5
+6416,2021-02-20,5
+6417,2021-02-21,5
+6418,2021-02-22,5
+6419,2021-02-23,5
+6420,2021-02-24,5
+6421,2021-02-25,5
+6422,2021-02-26,5
+6423,2021-02-27,5
+6424,2021-02-28,5
+6425,2021-03-01,5
+6426,2021-03-02,5
+6427,2021-03-03,5
+6428,2021-03-04,5
+6429,2021-03-05,5
+6430,2021-03-06,5
+6431,2021-03-07,5
+6432,2021-03-08,5
+6433,2021-03-09,5
+6434,2021-03-10,5
+6435,2021-03-11,5
+6436,2021-03-12,5
+6437,2021-03-13,5
+6438,2021-03-14,5
+6439,2021-03-15,5
+6440,2021-03-16,5
+6441,2021-03-17,5
+6442,2021-03-18,5
+6443,2021-03-19,5
+6444,2021-03-20,5
+6445,2021-03-21,5
+6446,2021-03-22,5
+6447,2021-03-23,5
+6448,2021-03-24,5
+6449,2021-03-25,5
+6450,2021-03-26,5
+6451,2021-03-27,5
+6452,2021-03-28,5
+6453,2021-03-29,5
+6454,2021-03-30,5
+6455,2021-03-31,5
+6456,2021-04-01,5
+6457,2021-04-02,5
+6458,2021-04-03,5
+6459,2021-04-04,5
+6460,2021-04-05,5
+6461,2021-04-06,5
+6462,2021-04-07,5
+6463,2021-04-08,5
+6464,2021-04-09,5
+6465,2021-04-10,5
+6466,2021-04-11,5
+6467,2021-04-12,5
+6468,2021-04-13,5
+6469,2021-04-14,5
+6470,2021-04-15,5
+6471,2021-04-16,5
+6472,2021-04-17,5
+6473,2021-04-18,5
+6474,2021-04-19,5
+6475,2021-04-20,5
+6476,2021-04-21,5
+6477,2021-04-22,5
+6478,2021-04-23,5
+6479,2021-04-24,5
+6480,2021-04-25,5
+6481,2021-04-26,5
+6482,2021-04-27,5
+6483,2021-04-28,5
+6484,2021-04-29,5
+6485,2021-04-30,5
+6486,2021-05-01,5
+6487,2021-05-02,5
+6488,2021-05-03,5
+6489,2021-05-04,5
+6490,2021-05-05,5
+6491,2021-05-06,5
+6492,2021-05-07,5
+6493,2021-05-08,5
+6494,2021-05-09,5
+6495,2021-05-10,5
+6496,2021-05-11,5
+6497,2021-05-12,5
+6498,2021-05-13,5
+6499,2021-05-14,5
+6500,2021-05-15,5
+6501,2021-05-16,5
+6502,2021-05-17,5
+6503,2021-05-18,5
+6504,2021-05-19,5
+6505,2021-05-20,5
+6506,2021-05-21,5
+6507,2021-05-22,5
+6508,2021-05-23,5
+6509,2021-05-24,5
+6510,2021-05-25,5
+6511,2021-05-26,5
+6512,2021-05-27,5
+6513,2021-05-28,5
+6514,2021-05-29,5
+6515,2021-05-30,5
+6516,2021-05-31,5
+6517,2021-06-01,5
+6518,2021-06-02,5
+6519,2021-06-03,5
+6520,2021-06-04,5
+6521,2021-06-05,5
+6522,2021-06-06,5
+6523,2021-06-07,5
+6524,2021-06-08,5
+6525,2021-06-09,5
+6526,2021-06-10,5
+6527,2021-06-11,5
+6528,2021-06-12,5
+6529,2021-06-13,5
+6530,2021-06-14,5
+6531,2021-06-15,5
+6532,2021-06-16,5
+6533,2021-06-17,5
+6534,2021-06-18,5
+6535,2021-06-19,5
+6536,2021-06-20,5
+6537,2021-06-21,5
+6538,2021-06-22,5
+6539,2021-06-23,5
+6540,2021-06-24,5
+6541,2021-06-25,5
+6542,2021-06-26,5
+6543,2021-06-27,5
+6544,2021-06-28,5
+6545,2021-06-29,5
+6546,2021-06-30,5
+6547,2021-07-01,5
+6548,2021-07-02,5
+6549,2021-07-03,5
+6550,2021-07-04,5
+6551,2021-07-05,5
+6552,2021-07-06,5
+6553,2021-07-07,5
+6554,2021-07-08,5
+6555,2021-07-09,5
+6556,2021-07-10,5
+6557,2021-07-11,5
+6558,2021-07-12,5
+6559,2021-07-13,5
+6560,2021-07-14,5
+6561,2021-07-15,5
+6562,2021-07-16,5
+6563,2021-07-17,5
+6564,2021-07-18,5
+6565,2021-07-19,5
+6566,2021-07-20,5
+6567,2021-07-21,5
+6568,2021-07-22,5
+6569,2021-07-23,5
+6570,2021-07-24,5
+6571,2021-07-25,5
+6572,2021-07-26,5
+6573,2021-07-27,5
+6574,2021-07-28,5
+6575,2021-07-29,5
+6576,2021-07-30,5
+6577,2021-07-31,5
+6578,2021-08-01,5
+6579,2021-08-02,5
+6580,2021-08-03,5
+6581,2021-08-04,5
+6582,2021-08-05,5
+6583,2021-08-06,5
+6584,2021-08-07,5
+6585,2021-08-08,5
+6586,2021-08-09,5
+6587,2021-08-10,5
+6588,2021-08-11,5
+6589,2021-08-12,5
+6590,2021-08-13,5
+6591,2021-08-14,5
+6592,2021-08-15,5
+6593,2021-08-16,5
+6594,2021-08-17,5
+6595,2021-08-18,5
+6596,2021-08-19,5
+6597,2021-08-20,5
+6598,2021-08-21,5
+6599,2021-08-22,5
+6600,2021-08-23,5
+6601,2021-08-24,5
+6602,2021-08-25,5
+6603,2021-08-26,5
+6604,2021-08-27,5
+6605,2021-08-28,5
+6606,2021-08-29,5
+6607,2021-08-30,5
+6608,2021-08-31,5
+6609,2021-09-01,5
+6610,2021-09-02,5
+6611,2021-09-03,5
+6612,2021-09-04,5
+6613,2021-09-05,5
+6614,2021-09-06,5
+6615,2021-09-07,5
+6616,2021-09-08,5
+6617,2021-09-09,5
+6618,2021-09-10,5
+6619,2021-09-11,5
+6620,2021-09-12,5
+6621,2021-09-13,5
+6622,2021-09-14,5
+6623,2021-09-15,5
+6624,2021-09-16,5
+6625,2021-09-17,5
+6626,2021-09-18,5
+6627,2021-09-19,5
+6628,2021-09-20,5
+6629,2021-09-21,5
+6630,2021-09-22,5
+6631,2021-09-23,5
+6632,2021-09-24,5
+6633,2021-09-25,5
+6634,2021-09-26,5
+6635,2021-09-27,5
+6636,2021-09-28,5
+6637,2021-09-29,5
+6638,2021-09-30,5
+6639,2021-10-01,5
+6640,2021-10-02,5
+6641,2021-10-03,5
+6642,2021-10-04,5
+6643,2021-10-05,5
+6644,2021-10-06,5
+6645,2021-10-07,5
+6646,2021-10-08,5
+6647,2021-10-09,5
+6648,2021-10-10,5
+6649,2021-10-11,5
+6650,2021-10-12,5
+6651,2021-10-13,5
+6652,2021-10-14,5
+6653,2021-10-15,5
+6654,2021-10-16,5
+6655,2021-10-17,5
+6656,2021-10-18,5
+6657,2021-10-19,5
+6658,2021-10-20,5
+6659,2021-10-21,5
+6660,2021-10-22,5
+6661,2021-10-23,5
+6662,2021-10-24,5
+6663,2021-10-25,5
+6664,2021-10-26,5
+6665,2021-10-27,5
+6666,2021-10-28,5
+6667,2021-10-29,5
+6668,2021-10-30,5
+6669,2021-10-31,5
+6670,2021-11-01,5
+6671,2021-11-02,5
+6672,2021-11-03,5
+6673,2021-11-04,5
+6674,2021-11-05,5
+6675,2021-11-06,5
+6676,2021-11-07,5
+6677,2021-11-08,5
+6678,2021-11-09,5
+6679,2021-11-10,5
+6680,2021-11-11,5
+6681,2021-11-12,5
+6682,2021-11-13,5
+6683,2021-11-14,5
+6684,2021-11-15,5
+6685,2021-11-16,5
+6686,2021-11-17,5
+6687,2021-11-18,5
+6688,2021-11-19,5
+6689,2021-11-20,5
+6690,2021-11-21,5
+6691,2021-11-22,5
+6692,2021-11-23,5
+6693,2021-11-24,5
+6694,2021-11-25,5
+6695,2021-11-26,5
+6696,2021-11-27,5
+6697,2021-11-28,5
+6698,2021-11-29,5
+6699,2021-11-30,5
+6700,2021-12-01,5
+6701,2021-12-02,5
+6702,2021-12-03,5
+6703,2021-12-04,5
+6704,2021-12-05,5
+6705,2021-12-06,5
+6706,2021-12-07,5
+6707,2021-12-08,5
+6708,2021-12-09,5
+6709,2021-12-10,5
+6710,2021-12-11,5
+6711,2021-12-12,5
+6712,2021-12-13,5
+6713,2021-12-14,5
+6714,2021-12-15,5
+6715,2021-12-16,5
+6716,2021-12-17,5
+6717,2021-12-18,5
+6718,2021-12-19,5
+6719,2021-12-20,5
+6720,2021-12-21,5
+6721,2021-12-22,5
+6722,2021-12-23,5
+6723,2021-12-24,5
+6724,2021-12-25,5
+6725,2021-12-26,5
+6726,2021-12-27,5
+6727,2021-12-28,5
+6728,2021-12-29,5
+6729,2021-12-30,5
+6730,2021-12-31,5
+6731,2022-01-01,5
+6732,2022-01-02,5
+6733,2022-01-03,5
+6734,2022-01-04,5
+6735,2022-01-05,5
+6736,2022-01-06,5
+6737,2022-01-07,5
+6738,2022-01-08,5
+6739,2022-01-09,5
+6740,2022-01-10,5
+6741,2022-01-11,5
+6742,2022-01-12,5
+6743,2022-01-13,5
+6744,2022-01-14,5
+6745,2022-01-15,5
+6746,2022-01-16,5
+6747,2022-01-17,5
+6748,2022-01-18,5
+6749,2022-01-19,5
+6750,2022-01-20,5
+6751,2022-01-21,5
+6752,2022-01-22,5
+6753,2022-01-23,5
+6754,2022-01-24,5
+6755,2022-01-25,5
+6756,2022-01-26,5
+6757,2022-01-27,5
+6758,2022-01-28,5
+6759,2022-01-29,5
+6760,2022-01-30,5
+6761,2022-01-31,5
+6762,2022-02-01,5
+6763,2022-02-02,5
+6764,2022-02-03,5
+6765,2022-02-04,5
+6766,2022-02-05,5
+6767,2022-02-06,5
+6768,2022-02-07,5
+6769,2022-02-08,5
+6770,2022-02-09,5
+6771,2022-02-10,5
+6772,2022-02-11,5
+6773,2022-02-12,5
+6774,2022-02-13,5
+6775,2022-02-14,5
+6776,2022-02-15,5
+6777,2022-02-16,5
+6778,2022-02-17,5
+6779,2022-02-18,5
+6780,2022-02-19,5
+6781,2022-02-20,5
+6782,2022-02-21,5
+6783,2022-02-22,5
+6784,2022-02-23,5
+6785,2022-02-24,5
+6786,2022-02-25,5
+6787,2022-02-26,5
+6788,2022-02-27,5
+6789,2022-02-28,5
+6790,2022-03-01,5
+6791,2022-03-02,5
+6792,2022-03-03,5
+6793,2022-03-04,5
+6794,2022-03-05,5
+6795,2022-03-06,5
+6796,2022-03-07,5
+6797,2022-03-08,5
+6798,2022-03-09,5
+6799,2022-03-10,5
+6800,2022-03-11,5
+6801,2022-03-12,5
+6802,2022-03-13,5
+6803,2022-03-14,5
+6804,2022-03-15,5
+6805,2022-03-16,5
+6806,2022-03-17,5
+6807,2022-03-18,5
+6808,2022-03-19,5
+6809,2022-03-20,5
+6810,2022-03-21,5
+6811,2022-03-22,5
+6812,2022-03-23,5
+6813,2022-03-24,5
+6814,2022-03-25,5
+6815,2022-03-26,5
+6816,2022-03-27,5
+6817,2022-03-28,5
+6818,2022-03-29,5
+6819,2022-03-30,5
+6820,2022-03-31,5
+6821,2022-04-01,5
+6822,2022-04-02,5
+6823,2022-04-03,5
+6824,2022-04-04,5
+6825,2022-04-05,5
+6826,2022-04-06,5
+6827,2022-04-07,5
+6828,2022-04-08,5
+6829,2022-04-09,5
+6830,2022-04-10,5
+6831,2022-04-11,5
+6832,2022-04-12,5
+6833,2022-04-13,5
+6834,2022-04-14,5
+6835,2022-04-15,5
+6836,2022-04-16,5
+6837,2022-04-17,5
+6838,2022-04-18,5
+6839,2022-04-19,5
+6840,2022-04-20,5
+6841,2022-04-21,5
+6842,2022-04-22,5
+6843,2022-04-23,5
+6844,2022-04-24,5
+6845,2022-04-25,5
+6846,2022-04-26,5
+6847,2022-04-27,5
+6848,2022-04-28,5
+6849,2022-04-29,5
+6850,2022-04-30,5
+6851,2022-05-01,5
+6852,2022-05-02,5
+6853,2022-05-03,5
+6854,2022-05-04,5
+6855,2022-05-05,5
+6856,2022-05-06,5
+6857,2022-05-07,5
+6858,2022-05-08,5
+6859,2022-05-09,5
+6860,2022-05-10,5
+6861,2022-05-11,5
+6862,2022-05-12,5
+6863,2022-05-13,5
+6864,2022-05-14,5
+6865,2022-05-15,5
+6866,2022-05-16,5
+6867,2022-05-17,5
+6868,2022-05-18,5
+6869,2022-05-19,5
+6870,2022-05-20,5
+6871,2022-05-21,5
+6872,2022-05-22,5
+6873,2022-05-23,5
+6874,2022-05-24,5
+6875,2022-05-25,5
+6876,2022-05-26,5
+6877,2022-05-27,5
+6878,2022-05-28,5
+6879,2022-05-29,5
+6880,2022-05-30,5
+6881,2022-05-31,5
+6882,2022-06-01,5
+6883,2022-06-02,5
+6884,2022-06-03,5
+6885,2022-06-04,5
+6886,2022-06-05,5
+6887,2022-06-06,5
+6888,2022-06-07,5
+6889,2022-06-08,5
+6890,2022-06-09,5
+6891,2022-06-10,5
+6892,2022-06-11,5
+6893,2022-06-12,5
+6894,2022-06-13,5
+6895,2022-06-14,5
+6896,2022-06-15,5
+6897,2022-06-16,5
+6898,2022-06-17,5
+6899,2022-06-18,5
+6900,2022-06-19,5
+6901,2022-06-20,5
+6902,2022-06-21,5
+6903,2022-06-22,5
+6904,2022-06-23,5
+6905,2022-06-24,5
+6906,2022-06-25,5
+6907,2022-06-26,5
+6908,2022-06-27,5
+6909,2022-06-28,5
+6910,2022-06-29,5
+6911,2022-06-30,5
+6912,2022-07-01,5
+6913,2022-07-02,5
+6914,2022-07-03,5
+6915,2022-07-04,5
+6916,2022-07-05,5
+6917,2022-07-06,5
+6918,2022-07-07,5
+6919,2022-07-08,5
+6920,2022-07-09,5
+6921,2022-07-10,5
+6922,2022-07-11,5
+6923,2022-07-12,5
+6924,2022-07-13,5
+6925,2022-07-14,5
+6926,2022-07-15,5
+6927,2022-07-16,5
+6928,2022-07-17,5
+6929,2022-07-18,5
+6930,2022-07-19,5
+6931,2022-07-20,5
+6932,2022-07-21,5
+6933,2022-07-22,5
+6934,2022-07-23,5
+6935,2022-07-24,5
+6936,2022-07-25,5
+6937,2022-07-26,5
+6938,2022-07-27,5
+6939,2022-07-28,5
+6940,2022-07-29,5
+6941,2022-07-30,5
+6942,2022-07-31,5
+6943,2022-08-01,5
+6944,2022-08-02,5
+6945,2022-08-03,5
+6946,2022-08-04,5
+6947,2022-08-05,5
+6948,2022-08-06,5
+6949,2022-08-07,5
+6950,2022-08-08,5
+6951,2022-08-09,5
+6952,2022-08-10,5
+6953,2022-08-11,5
+6954,2022-08-12,5
+6955,2022-08-13,5
+6956,2022-08-14,5
+6957,2022-08-15,5
+6958,2022-08-16,5
+6959,2022-08-17,5
+6960,2022-08-18,5
+6961,2022-08-19,5
+6962,2022-08-20,5
+6963,2022-08-21,5
+6964,2022-08-22,5
+6965,2022-08-23,5
+6966,2022-08-24,5
+6967,2022-08-25,5
+6968,2022-08-26,5
+6969,2022-08-27,5
+6970,2022-08-28,5
+6971,2022-08-29,5
+6972,2022-08-30,5
+6973,2022-08-31,5
+6974,2022-09-01,5
+6975,2022-09-02,5
+6976,2022-09-03,5
+6977,2022-09-04,5
+6978,2022-09-05,5
+6979,2022-09-06,5
+6980,2022-09-07,5
+6981,2022-09-08,5
+6982,2022-09-09,5
+6983,2022-09-10,5
+6984,2022-09-11,5
+6985,2022-09-12,5
+6986,2022-09-13,5
+6987,2022-09-14,5
+6988,2022-09-15,5
+6989,2022-09-16,5
+6990,2022-09-17,5
+6991,2022-09-18,5
+6992,2022-09-19,5
+6993,2022-09-20,5
+6994,2022-09-21,5
+6995,2022-09-22,5
+6996,2022-09-23,5
+6997,2022-09-24,5
+6998,2022-09-25,5
+6999,2022-09-26,5
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_6.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_6.csv
index 1f81779..5f08fa1 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_6.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_6.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-7000,2020-01-01,6
-7001,2020-01-02,6
-7002,2020-01-03,6
-7003,2020-01-04,6
-7004,2020-01-05,6
-7005,2020-01-06,6
-7006,2020-01-07,6
-7007,2020-01-08,6
-7008,2020-01-09,6
-7009,2020-01-10,6
-7010,2020-01-11,6
-7011,2020-01-12,6
-7012,2020-01-13,6
-7013,2020-01-14,6
-7014,2020-01-15,6
-7015,2020-01-16,6
-7016,2020-01-17,6
-7017,2020-01-18,6
-7018,2020-01-19,6
-7019,2020-01-20,6
-7020,2020-01-21,6
-7021,2020-01-22,6
-7022,2020-01-23,6
-7023,2020-01-24,6
-7024,2020-01-25,6
-7025,2020-01-26,6
-7026,2020-01-27,6
-7027,2020-01-28,6
-7028,2020-01-29,6
-7029,2020-01-30,6
-7030,2020-01-31,6
-7031,2020-02-01,6
-7032,2020-02-02,6
-7033,2020-02-03,6
-7034,2020-02-04,6
-7035,2020-02-05,6
-7036,2020-02-06,6
-7037,2020-02-07,6
-7038,2020-02-08,6
-7039,2020-02-09,6
-7040,2020-02-10,6
-7041,2020-02-11,6
-7042,2020-02-12,6
-7043,2020-02-13,6
-7044,2020-02-14,6
-7045,2020-02-15,6
-7046,2020-02-16,6
-7047,2020-02-17,6
-7048,2020-02-18,6
-7049,2020-02-19,6
-7050,2020-02-20,6
-7051,2020-02-21,6
-7052,2020-02-22,6
-7053,2020-02-23,6
-7054,2020-02-24,6
-7055,2020-02-25,6
-7056,2020-02-26,6
-7057,2020-02-27,6
-7058,2020-02-28,6
-7059,2020-02-29,6
-7060,2020-03-01,6
-7061,2020-03-02,6
-7062,2020-03-03,6
-7063,2020-03-04,6
-7064,2020-03-05,6
-7065,2020-03-06,6
-7066,2020-03-07,6
-7067,2020-03-08,6
-7068,2020-03-09,6
-7069,2020-03-10,6
-7070,2020-03-11,6
-7071,2020-03-12,6
-7072,2020-03-13,6
-7073,2020-03-14,6
-7074,2020-03-15,6
-7075,2020-03-16,6
-7076,2020-03-17,6
-7077,2020-03-18,6
-7078,2020-03-19,6
-7079,2020-03-20,6
-7080,2020-03-21,6
-7081,2020-03-22,6
-7082,2020-03-23,6
-7083,2020-03-24,6
-7084,2020-03-25,6
-7085,2020-03-26,6
-7086,2020-03-27,6
-7087,2020-03-28,6
-7088,2020-03-29,6
-7089,2020-03-30,6
-7090,2020-03-31,6
-7091,2020-04-01,6
-7092,2020-04-02,6
-7093,2020-04-03,6
-7094,2020-04-04,6
-7095,2020-04-05,6
-7096,2020-04-06,6
-7097,2020-04-07,6
-7098,2020-04-08,6
-7099,2020-04-09,6
-7100,2020-04-10,6
-7101,2020-04-11,6
-7102,2020-04-12,6
-7103,2020-04-13,6
-7104,2020-04-14,6
-7105,2020-04-15,6
-7106,2020-04-16,6
-7107,2020-04-17,6
-7108,2020-04-18,6
-7109,2020-04-19,6
-7110,2020-04-20,6
-7111,2020-04-21,6
-7112,2020-04-22,6
-7113,2020-04-23,6
-7114,2020-04-24,6
-7115,2020-04-25,6
-7116,2020-04-26,6
-7117,2020-04-27,6
-7118,2020-04-28,6
-7119,2020-04-29,6
-7120,2020-04-30,6
-7121,2020-05-01,6
-7122,2020-05-02,6
-7123,2020-05-03,6
-7124,2020-05-04,6
-7125,2020-05-05,6
-7126,2020-05-06,6
-7127,2020-05-07,6
-7128,2020-05-08,6
-7129,2020-05-09,6
-7130,2020-05-10,6
-7131,2020-05-11,6
-7132,2020-05-12,6
-7133,2020-05-13,6
-7134,2020-05-14,6
-7135,2020-05-15,6
-7136,2020-05-16,6
-7137,2020-05-17,6
-7138,2020-05-18,6
-7139,2020-05-19,6
-7140,2020-05-20,6
-7141,2020-05-21,6
-7142,2020-05-22,6
-7143,2020-05-23,6
-7144,2020-05-24,6
-7145,2020-05-25,6
-7146,2020-05-26,6
-7147,2020-05-27,6
-7148,2020-05-28,6
-7149,2020-05-29,6
-7150,2020-05-30,6
-7151,2020-05-31,6
-7152,2020-06-01,6
-7153,2020-06-02,6
-7154,2020-06-03,6
-7155,2020-06-04,6
-7156,2020-06-05,6
-7157,2020-06-06,6
-7158,2020-06-07,6
-7159,2020-06-08,6
-7160,2020-06-09,6
-7161,2020-06-10,6
-7162,2020-06-11,6
-7163,2020-06-12,6
-7164,2020-06-13,6
-7165,2020-06-14,6
-7166,2020-06-15,6
-7167,2020-06-16,6
-7168,2020-06-17,6
-7169,2020-06-18,6
-7170,2020-06-19,6
-7171,2020-06-20,6
-7172,2020-06-21,6
-7173,2020-06-22,6
-7174,2020-06-23,6
-7175,2020-06-24,6
-7176,2020-06-25,6
-7177,2020-06-26,6
-7178,2020-06-27,6
-7179,2020-06-28,6
-7180,2020-06-29,6
-7181,2020-06-30,6
-7182,2020-07-01,6
-7183,2020-07-02,6
-7184,2020-07-03,6
-7185,2020-07-04,6
-7186,2020-07-05,6
-7187,2020-07-06,6
-7188,2020-07-07,6
-7189,2020-07-08,6
-7190,2020-07-09,6
-7191,2020-07-10,6
-7192,2020-07-11,6
-7193,2020-07-12,6
-7194,2020-07-13,6
-7195,2020-07-14,6
-7196,2020-07-15,6
-7197,2020-07-16,6
-7198,2020-07-17,6
-7199,2020-07-18,6
-7200,2020-07-19,6
-7201,2020-07-20,6
-7202,2020-07-21,6
-7203,2020-07-22,6
-7204,2020-07-23,6
-7205,2020-07-24,6
-7206,2020-07-25,6
-7207,2020-07-26,6
-7208,2020-07-27,6
-7209,2020-07-28,6
-7210,2020-07-29,6
-7211,2020-07-30,6
-7212,2020-07-31,6
-7213,2020-08-01,6
-7214,2020-08-02,6
-7215,2020-08-03,6
-7216,2020-08-04,6
-7217,2020-08-05,6
-7218,2020-08-06,6
-7219,2020-08-07,6
-7220,2020-08-08,6
-7221,2020-08-09,6
-7222,2020-08-10,6
-7223,2020-08-11,6
-7224,2020-08-12,6
-7225,2020-08-13,6
-7226,2020-08-14,6
-7227,2020-08-15,6
-7228,2020-08-16,6
-7229,2020-08-17,6
-7230,2020-08-18,6
-7231,2020-08-19,6
-7232,2020-08-20,6
-7233,2020-08-21,6
-7234,2020-08-22,6
-7235,2020-08-23,6
-7236,2020-08-24,6
-7237,2020-08-25,6
-7238,2020-08-26,6
-7239,2020-08-27,6
-7240,2020-08-28,6
-7241,2020-08-29,6
-7242,2020-08-30,6
-7243,2020-08-31,6
-7244,2020-09-01,6
-7245,2020-09-02,6
-7246,2020-09-03,6
-7247,2020-09-04,6
-7248,2020-09-05,6
-7249,2020-09-06,6
-7250,2020-09-07,6
-7251,2020-09-08,6
-7252,2020-09-09,6
-7253,2020-09-10,6
-7254,2020-09-11,6
-7255,2020-09-12,6
-7256,2020-09-13,6
-7257,2020-09-14,6
-7258,2020-09-15,6
-7259,2020-09-16,6
-7260,2020-09-17,6
-7261,2020-09-18,6
-7262,2020-09-19,6
-7263,2020-09-20,6
-7264,2020-09-21,6
-7265,2020-09-22,6
-7266,2020-09-23,6
-7267,2020-09-24,6
-7268,2020-09-25,6
-7269,2020-09-26,6
-7270,2020-09-27,6
-7271,2020-09-28,6
-7272,2020-09-29,6
-7273,2020-09-30,6
-7274,2020-10-01,6
-7275,2020-10-02,6
-7276,2020-10-03,6
-7277,2020-10-04,6
-7278,2020-10-05,6
-7279,2020-10-06,6
-7280,2020-10-07,6
-7281,2020-10-08,6
-7282,2020-10-09,6
-7283,2020-10-10,6
-7284,2020-10-11,6
-7285,2020-10-12,6
-7286,2020-10-13,6
-7287,2020-10-14,6
-7288,2020-10-15,6
-7289,2020-10-16,6
-7290,2020-10-17,6
-7291,2020-10-18,6
-7292,2020-10-19,6
-7293,2020-10-20,6
-7294,2020-10-21,6
-7295,2020-10-22,6
-7296,2020-10-23,6
-7297,2020-10-24,6
-7298,2020-10-25,6
-7299,2020-10-26,6
-7300,2020-10-27,6
-7301,2020-10-28,6
-7302,2020-10-29,6
-7303,2020-10-30,6
-7304,2020-10-31,6
-7305,2020-11-01,6
-7306,2020-11-02,6
-7307,2020-11-03,6
-7308,2020-11-04,6
-7309,2020-11-05,6
-7310,2020-11-06,6
-7311,2020-11-07,6
-7312,2020-11-08,6
-7313,2020-11-09,6
-7314,2020-11-10,6
-7315,2020-11-11,6
-7316,2020-11-12,6
-7317,2020-11-13,6
-7318,2020-11-14,6
-7319,2020-11-15,6
-7320,2020-11-16,6
-7321,2020-11-17,6
-7322,2020-11-18,6
-7323,2020-11-19,6
-7324,2020-11-20,6
-7325,2020-11-21,6
-7326,2020-11-22,6
-7327,2020-11-23,6
-7328,2020-11-24,6
-7329,2020-11-25,6
-7330,2020-11-26,6
-7331,2020-11-27,6
-7332,2020-11-28,6
-7333,2020-11-29,6
-7334,2020-11-30,6
-7335,2020-12-01,6
-7336,2020-12-02,6
-7337,2020-12-03,6
-7338,2020-12-04,6
-7339,2020-12-05,6
-7340,2020-12-06,6
-7341,2020-12-07,6
-7342,2020-12-08,6
-7343,2020-12-09,6
-7344,2020-12-10,6
-7345,2020-12-11,6
-7346,2020-12-12,6
-7347,2020-12-13,6
-7348,2020-12-14,6
-7349,2020-12-15,6
-7350,2020-12-16,6
-7351,2020-12-17,6
-7352,2020-12-18,6
-7353,2020-12-19,6
-7354,2020-12-20,6
-7355,2020-12-21,6
-7356,2020-12-22,6
-7357,2020-12-23,6
-7358,2020-12-24,6
-7359,2020-12-25,6
-7360,2020-12-26,6
-7361,2020-12-27,6
-7362,2020-12-28,6
-7363,2020-12-29,6
-7364,2020-12-30,6
-7365,2020-12-31,6
-7366,2021-01-01,6
-7367,2021-01-02,6
-7368,2021-01-03,6
-7369,2021-01-04,6
-7370,2021-01-05,6
-7371,2021-01-06,6
-7372,2021-01-07,6
-7373,2021-01-08,6
-7374,2021-01-09,6
-7375,2021-01-10,6
-7376,2021-01-11,6
-7377,2021-01-12,6
-7378,2021-01-13,6
-7379,2021-01-14,6
-7380,2021-01-15,6
-7381,2021-01-16,6
-7382,2021-01-17,6
-7383,2021-01-18,6
-7384,2021-01-19,6
-7385,2021-01-20,6
-7386,2021-01-21,6
-7387,2021-01-22,6
-7388,2021-01-23,6
-7389,2021-01-24,6
-7390,2021-01-25,6
-7391,2021-01-26,6
-7392,2021-01-27,6
-7393,2021-01-28,6
-7394,2021-01-29,6
-7395,2021-01-30,6
-7396,2021-01-31,6
-7397,2021-02-01,6
-7398,2021-02-02,6
-7399,2021-02-03,6
-7400,2021-02-04,6
-7401,2021-02-05,6
-7402,2021-02-06,6
-7403,2021-02-07,6
-7404,2021-02-08,6
-7405,2021-02-09,6
-7406,2021-02-10,6
-7407,2021-02-11,6
-7408,2021-02-12,6
-7409,2021-02-13,6
-7410,2021-02-14,6
-7411,2021-02-15,6
-7412,2021-02-16,6
-7413,2021-02-17,6
-7414,2021-02-18,6
-7415,2021-02-19,6
-7416,2021-02-20,6
-7417,2021-02-21,6
-7418,2021-02-22,6
-7419,2021-02-23,6
-7420,2021-02-24,6
-7421,2021-02-25,6
-7422,2021-02-26,6
-7423,2021-02-27,6
-7424,2021-02-28,6
-7425,2021-03-01,6
-7426,2021-03-02,6
-7427,2021-03-03,6
-7428,2021-03-04,6
-7429,2021-03-05,6
-7430,2021-03-06,6
-7431,2021-03-07,6
-7432,2021-03-08,6
-7433,2021-03-09,6
-7434,2021-03-10,6
-7435,2021-03-11,6
-7436,2021-03-12,6
-7437,2021-03-13,6
-7438,2021-03-14,6
-7439,2021-03-15,6
-7440,2021-03-16,6
-7441,2021-03-17,6
-7442,2021-03-18,6
-7443,2021-03-19,6
-7444,2021-03-20,6
-7445,2021-03-21,6
-7446,2021-03-22,6
-7447,2021-03-23,6
-7448,2021-03-24,6
-7449,2021-03-25,6
-7450,2021-03-26,6
-7451,2021-03-27,6
-7452,2021-03-28,6
-7453,2021-03-29,6
-7454,2021-03-30,6
-7455,2021-03-31,6
-7456,2021-04-01,6
-7457,2021-04-02,6
-7458,2021-04-03,6
-7459,2021-04-04,6
-7460,2021-04-05,6
-7461,2021-04-06,6
-7462,2021-04-07,6
-7463,2021-04-08,6
-7464,2021-04-09,6
-7465,2021-04-10,6
-7466,2021-04-11,6
-7467,2021-04-12,6
-7468,2021-04-13,6
-7469,2021-04-14,6
-7470,2021-04-15,6
-7471,2021-04-16,6
-7472,2021-04-17,6
-7473,2021-04-18,6
-7474,2021-04-19,6
-7475,2021-04-20,6
-7476,2021-04-21,6
-7477,2021-04-22,6
-7478,2021-04-23,6
-7479,2021-04-24,6
-7480,2021-04-25,6
-7481,2021-04-26,6
-7482,2021-04-27,6
-7483,2021-04-28,6
-7484,2021-04-29,6
-7485,2021-04-30,6
-7486,2021-05-01,6
-7487,2021-05-02,6
-7488,2021-05-03,6
-7489,2021-05-04,6
-7490,2021-05-05,6
-7491,2021-05-06,6
-7492,2021-05-07,6
-7493,2021-05-08,6
-7494,2021-05-09,6
-7495,2021-05-10,6
-7496,2021-05-11,6
-7497,2021-05-12,6
-7498,2021-05-13,6
-7499,2021-05-14,6
-7500,2021-05-15,6
-7501,2021-05-16,6
-7502,2021-05-17,6
-7503,2021-05-18,6
-7504,2021-05-19,6
-7505,2021-05-20,6
-7506,2021-05-21,6
-7507,2021-05-22,6
-7508,2021-05-23,6
-7509,2021-05-24,6
-7510,2021-05-25,6
-7511,2021-05-26,6
-7512,2021-05-27,6
-7513,2021-05-28,6
-7514,2021-05-29,6
-7515,2021-05-30,6
-7516,2021-05-31,6
-7517,2021-06-01,6
-7518,2021-06-02,6
-7519,2021-06-03,6
-7520,2021-06-04,6
-7521,2021-06-05,6
-7522,2021-06-06,6
-7523,2021-06-07,6
-7524,2021-06-08,6
-7525,2021-06-09,6
-7526,2021-06-10,6
-7527,2021-06-11,6
-7528,2021-06-12,6
-7529,2021-06-13,6
-7530,2021-06-14,6
-7531,2021-06-15,6
-7532,2021-06-16,6
-7533,2021-06-17,6
-7534,2021-06-18,6
-7535,2021-06-19,6
-7536,2021-06-20,6
-7537,2021-06-21,6
-7538,2021-06-22,6
-7539,2021-06-23,6
-7540,2021-06-24,6
-7541,2021-06-25,6
-7542,2021-06-26,6
-7543,2021-06-27,6
-7544,2021-06-28,6
-7545,2021-06-29,6
-7546,2021-06-30,6
-7547,2021-07-01,6
-7548,2021-07-02,6
-7549,2021-07-03,6
-7550,2021-07-04,6
-7551,2021-07-05,6
-7552,2021-07-06,6
-7553,2021-07-07,6
-7554,2021-07-08,6
-7555,2021-07-09,6
-7556,2021-07-10,6
-7557,2021-07-11,6
-7558,2021-07-12,6
-7559,2021-07-13,6
-7560,2021-07-14,6
-7561,2021-07-15,6
-7562,2021-07-16,6
-7563,2021-07-17,6
-7564,2021-07-18,6
-7565,2021-07-19,6
-7566,2021-07-20,6
-7567,2021-07-21,6
-7568,2021-07-22,6
-7569,2021-07-23,6
-7570,2021-07-24,6
-7571,2021-07-25,6
-7572,2021-07-26,6
-7573,2021-07-27,6
-7574,2021-07-28,6
-7575,2021-07-29,6
-7576,2021-07-30,6
-7577,2021-07-31,6
-7578,2021-08-01,6
-7579,2021-08-02,6
-7580,2021-08-03,6
-7581,2021-08-04,6
-7582,2021-08-05,6
-7583,2021-08-06,6
-7584,2021-08-07,6
-7585,2021-08-08,6
-7586,2021-08-09,6
-7587,2021-08-10,6
-7588,2021-08-11,6
-7589,2021-08-12,6
-7590,2021-08-13,6
-7591,2021-08-14,6
-7592,2021-08-15,6
-7593,2021-08-16,6
-7594,2021-08-17,6
-7595,2021-08-18,6
-7596,2021-08-19,6
-7597,2021-08-20,6
-7598,2021-08-21,6
-7599,2021-08-22,6
-7600,2021-08-23,6
-7601,2021-08-24,6
-7602,2021-08-25,6
-7603,2021-08-26,6
-7604,2021-08-27,6
-7605,2021-08-28,6
-7606,2021-08-29,6
-7607,2021-08-30,6
-7608,2021-08-31,6
-7609,2021-09-01,6
-7610,2021-09-02,6
-7611,2021-09-03,6
-7612,2021-09-04,6
-7613,2021-09-05,6
-7614,2021-09-06,6
-7615,2021-09-07,6
-7616,2021-09-08,6
-7617,2021-09-09,6
-7618,2021-09-10,6
-7619,2021-09-11,6
-7620,2021-09-12,6
-7621,2021-09-13,6
-7622,2021-09-14,6
-7623,2021-09-15,6
-7624,2021-09-16,6
-7625,2021-09-17,6
-7626,2021-09-18,6
-7627,2021-09-19,6
-7628,2021-09-20,6
-7629,2021-09-21,6
-7630,2021-09-22,6
-7631,2021-09-23,6
-7632,2021-09-24,6
-7633,2021-09-25,6
-7634,2021-09-26,6
-7635,2021-09-27,6
-7636,2021-09-28,6
-7637,2021-09-29,6
-7638,2021-09-30,6
-7639,2021-10-01,6
-7640,2021-10-02,6
-7641,2021-10-03,6
-7642,2021-10-04,6
-7643,2021-10-05,6
-7644,2021-10-06,6
-7645,2021-10-07,6
-7646,2021-10-08,6
-7647,2021-10-09,6
-7648,2021-10-10,6
-7649,2021-10-11,6
-7650,2021-10-12,6
-7651,2021-10-13,6
-7652,2021-10-14,6
-7653,2021-10-15,6
-7654,2021-10-16,6
-7655,2021-10-17,6
-7656,2021-10-18,6
-7657,2021-10-19,6
-7658,2021-10-20,6
-7659,2021-10-21,6
-7660,2021-10-22,6
-7661,2021-10-23,6
-7662,2021-10-24,6
-7663,2021-10-25,6
-7664,2021-10-26,6
-7665,2021-10-27,6
-7666,2021-10-28,6
-7667,2021-10-29,6
-7668,2021-10-30,6
-7669,2021-10-31,6
-7670,2021-11-01,6
-7671,2021-11-02,6
-7672,2021-11-03,6
-7673,2021-11-04,6
-7674,2021-11-05,6
-7675,2021-11-06,6
-7676,2021-11-07,6
-7677,2021-11-08,6
-7678,2021-11-09,6
-7679,2021-11-10,6
-7680,2021-11-11,6
-7681,2021-11-12,6
-7682,2021-11-13,6
-7683,2021-11-14,6
-7684,2021-11-15,6
-7685,2021-11-16,6
-7686,2021-11-17,6
-7687,2021-11-18,6
-7688,2021-11-19,6
-7689,2021-11-20,6
-7690,2021-11-21,6
-7691,2021-11-22,6
-7692,2021-11-23,6
-7693,2021-11-24,6
-7694,2021-11-25,6
-7695,2021-11-26,6
-7696,2021-11-27,6
-7697,2021-11-28,6
-7698,2021-11-29,6
-7699,2021-11-30,6
-7700,2021-12-01,6
-7701,2021-12-02,6
-7702,2021-12-03,6
-7703,2021-12-04,6
-7704,2021-12-05,6
-7705,2021-12-06,6
-7706,2021-12-07,6
-7707,2021-12-08,6
-7708,2021-12-09,6
-7709,2021-12-10,6
-7710,2021-12-11,6
-7711,2021-12-12,6
-7712,2021-12-13,6
-7713,2021-12-14,6
-7714,2021-12-15,6
-7715,2021-12-16,6
-7716,2021-12-17,6
-7717,2021-12-18,6
-7718,2021-12-19,6
-7719,2021-12-20,6
-7720,2021-12-21,6
-7721,2021-12-22,6
-7722,2021-12-23,6
-7723,2021-12-24,6
-7724,2021-12-25,6
-7725,2021-12-26,6
-7726,2021-12-27,6
-7727,2021-12-28,6
-7728,2021-12-29,6
-7729,2021-12-30,6
-7730,2021-12-31,6
-7731,2022-01-01,6
-7732,2022-01-02,6
-7733,2022-01-03,6
-7734,2022-01-04,6
-7735,2022-01-05,6
-7736,2022-01-06,6
-7737,2022-01-07,6
-7738,2022-01-08,6
-7739,2022-01-09,6
-7740,2022-01-10,6
-7741,2022-01-11,6
-7742,2022-01-12,6
-7743,2022-01-13,6
-7744,2022-01-14,6
-7745,2022-01-15,6
-7746,2022-01-16,6
-7747,2022-01-17,6
-7748,2022-01-18,6
-7749,2022-01-19,6
-7750,2022-01-20,6
-7751,2022-01-21,6
-7752,2022-01-22,6
-7753,2022-01-23,6
-7754,2022-01-24,6
-7755,2022-01-25,6
-7756,2022-01-26,6
-7757,2022-01-27,6
-7758,2022-01-28,6
-7759,2022-01-29,6
-7760,2022-01-30,6
-7761,2022-01-31,6
-7762,2022-02-01,6
-7763,2022-02-02,6
-7764,2022-02-03,6
-7765,2022-02-04,6
-7766,2022-02-05,6
-7767,2022-02-06,6
-7768,2022-02-07,6
-7769,2022-02-08,6
-7770,2022-02-09,6
-7771,2022-02-10,6
-7772,2022-02-11,6
-7773,2022-02-12,6
-7774,2022-02-13,6
-7775,2022-02-14,6
-7776,2022-02-15,6
-7777,2022-02-16,6
-7778,2022-02-17,6
-7779,2022-02-18,6
-7780,2022-02-19,6
-7781,2022-02-20,6
-7782,2022-02-21,6
-7783,2022-02-22,6
-7784,2022-02-23,6
-7785,2022-02-24,6
-7786,2022-02-25,6
-7787,2022-02-26,6
-7788,2022-02-27,6
-7789,2022-02-28,6
-7790,2022-03-01,6
-7791,2022-03-02,6
-7792,2022-03-03,6
-7793,2022-03-04,6
-7794,2022-03-05,6
-7795,2022-03-06,6
-7796,2022-03-07,6
-7797,2022-03-08,6
-7798,2022-03-09,6
-7799,2022-03-10,6
-7800,2022-03-11,6
-7801,2022-03-12,6
-7802,2022-03-13,6
-7803,2022-03-14,6
-7804,2022-03-15,6
-7805,2022-03-16,6
-7806,2022-03-17,6
-7807,2022-03-18,6
-7808,2022-03-19,6
-7809,2022-03-20,6
-7810,2022-03-21,6
-7811,2022-03-22,6
-7812,2022-03-23,6
-7813,2022-03-24,6
-7814,2022-03-25,6
-7815,2022-03-26,6
-7816,2022-03-27,6
-7817,2022-03-28,6
-7818,2022-03-29,6
-7819,2022-03-30,6
-7820,2022-03-31,6
-7821,2022-04-01,6
-7822,2022-04-02,6
-7823,2022-04-03,6
-7824,2022-04-04,6
-7825,2022-04-05,6
-7826,2022-04-06,6
-7827,2022-04-07,6
-7828,2022-04-08,6
-7829,2022-04-09,6
-7830,2022-04-10,6
-7831,2022-04-11,6
-7832,2022-04-12,6
-7833,2022-04-13,6
-7834,2022-04-14,6
-7835,2022-04-15,6
-7836,2022-04-16,6
-7837,2022-04-17,6
-7838,2022-04-18,6
-7839,2022-04-19,6
-7840,2022-04-20,6
-7841,2022-04-21,6
-7842,2022-04-22,6
-7843,2022-04-23,6
-7844,2022-04-24,6
-7845,2022-04-25,6
-7846,2022-04-26,6
-7847,2022-04-27,6
-7848,2022-04-28,6
-7849,2022-04-29,6
-7850,2022-04-30,6
-7851,2022-05-01,6
-7852,2022-05-02,6
-7853,2022-05-03,6
-7854,2022-05-04,6
-7855,2022-05-05,6
-7856,2022-05-06,6
-7857,2022-05-07,6
-7858,2022-05-08,6
-7859,2022-05-09,6
-7860,2022-05-10,6
-7861,2022-05-11,6
-7862,2022-05-12,6
-7863,2022-05-13,6
-7864,2022-05-14,6
-7865,2022-05-15,6
-7866,2022-05-16,6
-7867,2022-05-17,6
-7868,2022-05-18,6
-7869,2022-05-19,6
-7870,2022-05-20,6
-7871,2022-05-21,6
-7872,2022-05-22,6
-7873,2022-05-23,6
-7874,2022-05-24,6
-7875,2022-05-25,6
-7876,2022-05-26,6
-7877,2022-05-27,6
-7878,2022-05-28,6
-7879,2022-05-29,6
-7880,2022-05-30,6
-7881,2022-05-31,6
-7882,2022-06-01,6
-7883,2022-06-02,6
-7884,2022-06-03,6
-7885,2022-06-04,6
-7886,2022-06-05,6
-7887,2022-06-06,6
-7888,2022-06-07,6
-7889,2022-06-08,6
-7890,2022-06-09,6
-7891,2022-06-10,6
-7892,2022-06-11,6
-7893,2022-06-12,6
-7894,2022-06-13,6
-7895,2022-06-14,6
-7896,2022-06-15,6
-7897,2022-06-16,6
-7898,2022-06-17,6
-7899,2022-06-18,6
-7900,2022-06-19,6
-7901,2022-06-20,6
-7902,2022-06-21,6
-7903,2022-06-22,6
-7904,2022-06-23,6
-7905,2022-06-24,6
-7906,2022-06-25,6
-7907,2022-06-26,6
-7908,2022-06-27,6
-7909,2022-06-28,6
-7910,2022-06-29,6
-7911,2022-06-30,6
-7912,2022-07-01,6
-7913,2022-07-02,6
-7914,2022-07-03,6
-7915,2022-07-04,6
-7916,2022-07-05,6
-7917,2022-07-06,6
-7918,2022-07-07,6
-7919,2022-07-08,6
-7920,2022-07-09,6
-7921,2022-07-10,6
-7922,2022-07-11,6
-7923,2022-07-12,6
-7924,2022-07-13,6
-7925,2022-07-14,6
-7926,2022-07-15,6
-7927,2022-07-16,6
-7928,2022-07-17,6
-7929,2022-07-18,6
-7930,2022-07-19,6
-7931,2022-07-20,6
-7932,2022-07-21,6
-7933,2022-07-22,6
-7934,2022-07-23,6
-7935,2022-07-24,6
-7936,2022-07-25,6
-7937,2022-07-26,6
-7938,2022-07-27,6
-7939,2022-07-28,6
-7940,2022-07-29,6
-7941,2022-07-30,6
-7942,2022-07-31,6
-7943,2022-08-01,6
-7944,2022-08-02,6
-7945,2022-08-03,6
-7946,2022-08-04,6
-7947,2022-08-05,6
-7948,2022-08-06,6
-7949,2022-08-07,6
-7950,2022-08-08,6
-7951,2022-08-09,6
-7952,2022-08-10,6
-7953,2022-08-11,6
-7954,2022-08-12,6
-7955,2022-08-13,6
-7956,2022-08-14,6
-7957,2022-08-15,6
-7958,2022-08-16,6
-7959,2022-08-17,6
-7960,2022-08-18,6
-7961,2022-08-19,6
-7962,2022-08-20,6
-7963,2022-08-21,6
-7964,2022-08-22,6
-7965,2022-08-23,6
-7966,2022-08-24,6
-7967,2022-08-25,6
-7968,2022-08-26,6
-7969,2022-08-27,6
-7970,2022-08-28,6
-7971,2022-08-29,6
-7972,2022-08-30,6
-7973,2022-08-31,6
-7974,2022-09-01,6
-7975,2022-09-02,6
-7976,2022-09-03,6
-7977,2022-09-04,6
-7978,2022-09-05,6
-7979,2022-09-06,6
-7980,2022-09-07,6
-7981,2022-09-08,6
-7982,2022-09-09,6
-7983,2022-09-10,6
-7984,2022-09-11,6
-7985,2022-09-12,6
-7986,2022-09-13,6
-7987,2022-09-14,6
-7988,2022-09-15,6
-7989,2022-09-16,6
-7990,2022-09-17,6
-7991,2022-09-18,6
-7992,2022-09-19,6
-7993,2022-09-20,6
-7994,2022-09-21,6
-7995,2022-09-22,6
-7996,2022-09-23,6
-7997,2022-09-24,6
-7998,2022-09-25,6
-7999,2022-09-26,6
+value,date,id
+7000,2020-01-01,6
+7001,2020-01-02,6
+7002,2020-01-03,6
+7003,2020-01-04,6
+7004,2020-01-05,6
+7005,2020-01-06,6
+7006,2020-01-07,6
+7007,2020-01-08,6
+7008,2020-01-09,6
+7009,2020-01-10,6
+7010,2020-01-11,6
+7011,2020-01-12,6
+7012,2020-01-13,6
+7013,2020-01-14,6
+7014,2020-01-15,6
+7015,2020-01-16,6
+7016,2020-01-17,6
+7017,2020-01-18,6
+7018,2020-01-19,6
+7019,2020-01-20,6
+7020,2020-01-21,6
+7021,2020-01-22,6
+7022,2020-01-23,6
+7023,2020-01-24,6
+7024,2020-01-25,6
+7025,2020-01-26,6
+7026,2020-01-27,6
+7027,2020-01-28,6
+7028,2020-01-29,6
+7029,2020-01-30,6
+7030,2020-01-31,6
+7031,2020-02-01,6
+7032,2020-02-02,6
+7033,2020-02-03,6
+7034,2020-02-04,6
+7035,2020-02-05,6
+7036,2020-02-06,6
+7037,2020-02-07,6
+7038,2020-02-08,6
+7039,2020-02-09,6
+7040,2020-02-10,6
+7041,2020-02-11,6
+7042,2020-02-12,6
+7043,2020-02-13,6
+7044,2020-02-14,6
+7045,2020-02-15,6
+7046,2020-02-16,6
+7047,2020-02-17,6
+7048,2020-02-18,6
+7049,2020-02-19,6
+7050,2020-02-20,6
+7051,2020-02-21,6
+7052,2020-02-22,6
+7053,2020-02-23,6
+7054,2020-02-24,6
+7055,2020-02-25,6
+7056,2020-02-26,6
+7057,2020-02-27,6
+7058,2020-02-28,6
+7059,2020-02-29,6
+7060,2020-03-01,6
+7061,2020-03-02,6
+7062,2020-03-03,6
+7063,2020-03-04,6
+7064,2020-03-05,6
+7065,2020-03-06,6
+7066,2020-03-07,6
+7067,2020-03-08,6
+7068,2020-03-09,6
+7069,2020-03-10,6
+7070,2020-03-11,6
+7071,2020-03-12,6
+7072,2020-03-13,6
+7073,2020-03-14,6
+7074,2020-03-15,6
+7075,2020-03-16,6
+7076,2020-03-17,6
+7077,2020-03-18,6
+7078,2020-03-19,6
+7079,2020-03-20,6
+7080,2020-03-21,6
+7081,2020-03-22,6
+7082,2020-03-23,6
+7083,2020-03-24,6
+7084,2020-03-25,6
+7085,2020-03-26,6
+7086,2020-03-27,6
+7087,2020-03-28,6
+7088,2020-03-29,6
+7089,2020-03-30,6
+7090,2020-03-31,6
+7091,2020-04-01,6
+7092,2020-04-02,6
+7093,2020-04-03,6
+7094,2020-04-04,6
+7095,2020-04-05,6
+7096,2020-04-06,6
+7097,2020-04-07,6
+7098,2020-04-08,6
+7099,2020-04-09,6
+7100,2020-04-10,6
+7101,2020-04-11,6
+7102,2020-04-12,6
+7103,2020-04-13,6
+7104,2020-04-14,6
+7105,2020-04-15,6
+7106,2020-04-16,6
+7107,2020-04-17,6
+7108,2020-04-18,6
+7109,2020-04-19,6
+7110,2020-04-20,6
+7111,2020-04-21,6
+7112,2020-04-22,6
+7113,2020-04-23,6
+7114,2020-04-24,6
+7115,2020-04-25,6
+7116,2020-04-26,6
+7117,2020-04-27,6
+7118,2020-04-28,6
+7119,2020-04-29,6
+7120,2020-04-30,6
+7121,2020-05-01,6
+7122,2020-05-02,6
+7123,2020-05-03,6
+7124,2020-05-04,6
+7125,2020-05-05,6
+7126,2020-05-06,6
+7127,2020-05-07,6
+7128,2020-05-08,6
+7129,2020-05-09,6
+7130,2020-05-10,6
+7131,2020-05-11,6
+7132,2020-05-12,6
+7133,2020-05-13,6
+7134,2020-05-14,6
+7135,2020-05-15,6
+7136,2020-05-16,6
+7137,2020-05-17,6
+7138,2020-05-18,6
+7139,2020-05-19,6
+7140,2020-05-20,6
+7141,2020-05-21,6
+7142,2020-05-22,6
+7143,2020-05-23,6
+7144,2020-05-24,6
+7145,2020-05-25,6
+7146,2020-05-26,6
+7147,2020-05-27,6
+7148,2020-05-28,6
+7149,2020-05-29,6
+7150,2020-05-30,6
+7151,2020-05-31,6
+7152,2020-06-01,6
+7153,2020-06-02,6
+7154,2020-06-03,6
+7155,2020-06-04,6
+7156,2020-06-05,6
+7157,2020-06-06,6
+7158,2020-06-07,6
+7159,2020-06-08,6
+7160,2020-06-09,6
+7161,2020-06-10,6
+7162,2020-06-11,6
+7163,2020-06-12,6
+7164,2020-06-13,6
+7165,2020-06-14,6
+7166,2020-06-15,6
+7167,2020-06-16,6
+7168,2020-06-17,6
+7169,2020-06-18,6
+7170,2020-06-19,6
+7171,2020-06-20,6
+7172,2020-06-21,6
+7173,2020-06-22,6
+7174,2020-06-23,6
+7175,2020-06-24,6
+7176,2020-06-25,6
+7177,2020-06-26,6
+7178,2020-06-27,6
+7179,2020-06-28,6
+7180,2020-06-29,6
+7181,2020-06-30,6
+7182,2020-07-01,6
+7183,2020-07-02,6
+7184,2020-07-03,6
+7185,2020-07-04,6
+7186,2020-07-05,6
+7187,2020-07-06,6
+7188,2020-07-07,6
+7189,2020-07-08,6
+7190,2020-07-09,6
+7191,2020-07-10,6
+7192,2020-07-11,6
+7193,2020-07-12,6
+7194,2020-07-13,6
+7195,2020-07-14,6
+7196,2020-07-15,6
+7197,2020-07-16,6
+7198,2020-07-17,6
+7199,2020-07-18,6
+7200,2020-07-19,6
+7201,2020-07-20,6
+7202,2020-07-21,6
+7203,2020-07-22,6
+7204,2020-07-23,6
+7205,2020-07-24,6
+7206,2020-07-25,6
+7207,2020-07-26,6
+7208,2020-07-27,6
+7209,2020-07-28,6
+7210,2020-07-29,6
+7211,2020-07-30,6
+7212,2020-07-31,6
+7213,2020-08-01,6
+7214,2020-08-02,6
+7215,2020-08-03,6
+7216,2020-08-04,6
+7217,2020-08-05,6
+7218,2020-08-06,6
+7219,2020-08-07,6
+7220,2020-08-08,6
+7221,2020-08-09,6
+7222,2020-08-10,6
+7223,2020-08-11,6
+7224,2020-08-12,6
+7225,2020-08-13,6
+7226,2020-08-14,6
+7227,2020-08-15,6
+7228,2020-08-16,6
+7229,2020-08-17,6
+7230,2020-08-18,6
+7231,2020-08-19,6
+7232,2020-08-20,6
+7233,2020-08-21,6
+7234,2020-08-22,6
+7235,2020-08-23,6
+7236,2020-08-24,6
+7237,2020-08-25,6
+7238,2020-08-26,6
+7239,2020-08-27,6
+7240,2020-08-28,6
+7241,2020-08-29,6
+7242,2020-08-30,6
+7243,2020-08-31,6
+7244,2020-09-01,6
+7245,2020-09-02,6
+7246,2020-09-03,6
+7247,2020-09-04,6
+7248,2020-09-05,6
+7249,2020-09-06,6
+7250,2020-09-07,6
+7251,2020-09-08,6
+7252,2020-09-09,6
+7253,2020-09-10,6
+7254,2020-09-11,6
+7255,2020-09-12,6
+7256,2020-09-13,6
+7257,2020-09-14,6
+7258,2020-09-15,6
+7259,2020-09-16,6
+7260,2020-09-17,6
+7261,2020-09-18,6
+7262,2020-09-19,6
+7263,2020-09-20,6
+7264,2020-09-21,6
+7265,2020-09-22,6
+7266,2020-09-23,6
+7267,2020-09-24,6
+7268,2020-09-25,6
+7269,2020-09-26,6
+7270,2020-09-27,6
+7271,2020-09-28,6
+7272,2020-09-29,6
+7273,2020-09-30,6
+7274,2020-10-01,6
+7275,2020-10-02,6
+7276,2020-10-03,6
+7277,2020-10-04,6
+7278,2020-10-05,6
+7279,2020-10-06,6
+7280,2020-10-07,6
+7281,2020-10-08,6
+7282,2020-10-09,6
+7283,2020-10-10,6
+7284,2020-10-11,6
+7285,2020-10-12,6
+7286,2020-10-13,6
+7287,2020-10-14,6
+7288,2020-10-15,6
+7289,2020-10-16,6
+7290,2020-10-17,6
+7291,2020-10-18,6
+7292,2020-10-19,6
+7293,2020-10-20,6
+7294,2020-10-21,6
+7295,2020-10-22,6
+7296,2020-10-23,6
+7297,2020-10-24,6
+7298,2020-10-25,6
+7299,2020-10-26,6
+7300,2020-10-27,6
+7301,2020-10-28,6
+7302,2020-10-29,6
+7303,2020-10-30,6
+7304,2020-10-31,6
+7305,2020-11-01,6
+7306,2020-11-02,6
+7307,2020-11-03,6
+7308,2020-11-04,6
+7309,2020-11-05,6
+7310,2020-11-06,6
+7311,2020-11-07,6
+7312,2020-11-08,6
+7313,2020-11-09,6
+7314,2020-11-10,6
+7315,2020-11-11,6
+7316,2020-11-12,6
+7317,2020-11-13,6
+7318,2020-11-14,6
+7319,2020-11-15,6
+7320,2020-11-16,6
+7321,2020-11-17,6
+7322,2020-11-18,6
+7323,2020-11-19,6
+7324,2020-11-20,6
+7325,2020-11-21,6
+7326,2020-11-22,6
+7327,2020-11-23,6
+7328,2020-11-24,6
+7329,2020-11-25,6
+7330,2020-11-26,6
+7331,2020-11-27,6
+7332,2020-11-28,6
+7333,2020-11-29,6
+7334,2020-11-30,6
+7335,2020-12-01,6
+7336,2020-12-02,6
+7337,2020-12-03,6
+7338,2020-12-04,6
+7339,2020-12-05,6
+7340,2020-12-06,6
+7341,2020-12-07,6
+7342,2020-12-08,6
+7343,2020-12-09,6
+7344,2020-12-10,6
+7345,2020-12-11,6
+7346,2020-12-12,6
+7347,2020-12-13,6
+7348,2020-12-14,6
+7349,2020-12-15,6
+7350,2020-12-16,6
+7351,2020-12-17,6
+7352,2020-12-18,6
+7353,2020-12-19,6
+7354,2020-12-20,6
+7355,2020-12-21,6
+7356,2020-12-22,6
+7357,2020-12-23,6
+7358,2020-12-24,6
+7359,2020-12-25,6
+7360,2020-12-26,6
+7361,2020-12-27,6
+7362,2020-12-28,6
+7363,2020-12-29,6
+7364,2020-12-30,6
+7365,2020-12-31,6
+7366,2021-01-01,6
+7367,2021-01-02,6
+7368,2021-01-03,6
+7369,2021-01-04,6
+7370,2021-01-05,6
+7371,2021-01-06,6
+7372,2021-01-07,6
+7373,2021-01-08,6
+7374,2021-01-09,6
+7375,2021-01-10,6
+7376,2021-01-11,6
+7377,2021-01-12,6
+7378,2021-01-13,6
+7379,2021-01-14,6
+7380,2021-01-15,6
+7381,2021-01-16,6
+7382,2021-01-17,6
+7383,2021-01-18,6
+7384,2021-01-19,6
+7385,2021-01-20,6
+7386,2021-01-21,6
+7387,2021-01-22,6
+7388,2021-01-23,6
+7389,2021-01-24,6
+7390,2021-01-25,6
+7391,2021-01-26,6
+7392,2021-01-27,6
+7393,2021-01-28,6
+7394,2021-01-29,6
+7395,2021-01-30,6
+7396,2021-01-31,6
+7397,2021-02-01,6
+7398,2021-02-02,6
+7399,2021-02-03,6
+7400,2021-02-04,6
+7401,2021-02-05,6
+7402,2021-02-06,6
+7403,2021-02-07,6
+7404,2021-02-08,6
+7405,2021-02-09,6
+7406,2021-02-10,6
+7407,2021-02-11,6
+7408,2021-02-12,6
+7409,2021-02-13,6
+7410,2021-02-14,6
+7411,2021-02-15,6
+7412,2021-02-16,6
+7413,2021-02-17,6
+7414,2021-02-18,6
+7415,2021-02-19,6
+7416,2021-02-20,6
+7417,2021-02-21,6
+7418,2021-02-22,6
+7419,2021-02-23,6
+7420,2021-02-24,6
+7421,2021-02-25,6
+7422,2021-02-26,6
+7423,2021-02-27,6
+7424,2021-02-28,6
+7425,2021-03-01,6
+7426,2021-03-02,6
+7427,2021-03-03,6
+7428,2021-03-04,6
+7429,2021-03-05,6
+7430,2021-03-06,6
+7431,2021-03-07,6
+7432,2021-03-08,6
+7433,2021-03-09,6
+7434,2021-03-10,6
+7435,2021-03-11,6
+7436,2021-03-12,6
+7437,2021-03-13,6
+7438,2021-03-14,6
+7439,2021-03-15,6
+7440,2021-03-16,6
+7441,2021-03-17,6
+7442,2021-03-18,6
+7443,2021-03-19,6
+7444,2021-03-20,6
+7445,2021-03-21,6
+7446,2021-03-22,6
+7447,2021-03-23,6
+7448,2021-03-24,6
+7449,2021-03-25,6
+7450,2021-03-26,6
+7451,2021-03-27,6
+7452,2021-03-28,6
+7453,2021-03-29,6
+7454,2021-03-30,6
+7455,2021-03-31,6
+7456,2021-04-01,6
+7457,2021-04-02,6
+7458,2021-04-03,6
+7459,2021-04-04,6
+7460,2021-04-05,6
+7461,2021-04-06,6
+7462,2021-04-07,6
+7463,2021-04-08,6
+7464,2021-04-09,6
+7465,2021-04-10,6
+7466,2021-04-11,6
+7467,2021-04-12,6
+7468,2021-04-13,6
+7469,2021-04-14,6
+7470,2021-04-15,6
+7471,2021-04-16,6
+7472,2021-04-17,6
+7473,2021-04-18,6
+7474,2021-04-19,6
+7475,2021-04-20,6
+7476,2021-04-21,6
+7477,2021-04-22,6
+7478,2021-04-23,6
+7479,2021-04-24,6
+7480,2021-04-25,6
+7481,2021-04-26,6
+7482,2021-04-27,6
+7483,2021-04-28,6
+7484,2021-04-29,6
+7485,2021-04-30,6
+7486,2021-05-01,6
+7487,2021-05-02,6
+7488,2021-05-03,6
+7489,2021-05-04,6
+7490,2021-05-05,6
+7491,2021-05-06,6
+7492,2021-05-07,6
+7493,2021-05-08,6
+7494,2021-05-09,6
+7495,2021-05-10,6
+7496,2021-05-11,6
+7497,2021-05-12,6
+7498,2021-05-13,6
+7499,2021-05-14,6
+7500,2021-05-15,6
+7501,2021-05-16,6
+7502,2021-05-17,6
+7503,2021-05-18,6
+7504,2021-05-19,6
+7505,2021-05-20,6
+7506,2021-05-21,6
+7507,2021-05-22,6
+7508,2021-05-23,6
+7509,2021-05-24,6
+7510,2021-05-25,6
+7511,2021-05-26,6
+7512,2021-05-27,6
+7513,2021-05-28,6
+7514,2021-05-29,6
+7515,2021-05-30,6
+7516,2021-05-31,6
+7517,2021-06-01,6
+7518,2021-06-02,6
+7519,2021-06-03,6
+7520,2021-06-04,6
+7521,2021-06-05,6
+7522,2021-06-06,6
+7523,2021-06-07,6
+7524,2021-06-08,6
+7525,2021-06-09,6
+7526,2021-06-10,6
+7527,2021-06-11,6
+7528,2021-06-12,6
+7529,2021-06-13,6
+7530,2021-06-14,6
+7531,2021-06-15,6
+7532,2021-06-16,6
+7533,2021-06-17,6
+7534,2021-06-18,6
+7535,2021-06-19,6
+7536,2021-06-20,6
+7537,2021-06-21,6
+7538,2021-06-22,6
+7539,2021-06-23,6
+7540,2021-06-24,6
+7541,2021-06-25,6
+7542,2021-06-26,6
+7543,2021-06-27,6
+7544,2021-06-28,6
+7545,2021-06-29,6
+7546,2021-06-30,6
+7547,2021-07-01,6
+7548,2021-07-02,6
+7549,2021-07-03,6
+7550,2021-07-04,6
+7551,2021-07-05,6
+7552,2021-07-06,6
+7553,2021-07-07,6
+7554,2021-07-08,6
+7555,2021-07-09,6
+7556,2021-07-10,6
+7557,2021-07-11,6
+7558,2021-07-12,6
+7559,2021-07-13,6
+7560,2021-07-14,6
+7561,2021-07-15,6
+7562,2021-07-16,6
+7563,2021-07-17,6
+7564,2021-07-18,6
+7565,2021-07-19,6
+7566,2021-07-20,6
+7567,2021-07-21,6
+7568,2021-07-22,6
+7569,2021-07-23,6
+7570,2021-07-24,6
+7571,2021-07-25,6
+7572,2021-07-26,6
+7573,2021-07-27,6
+7574,2021-07-28,6
+7575,2021-07-29,6
+7576,2021-07-30,6
+7577,2021-07-31,6
+7578,2021-08-01,6
+7579,2021-08-02,6
+7580,2021-08-03,6
+7581,2021-08-04,6
+7582,2021-08-05,6
+7583,2021-08-06,6
+7584,2021-08-07,6
+7585,2021-08-08,6
+7586,2021-08-09,6
+7587,2021-08-10,6
+7588,2021-08-11,6
+7589,2021-08-12,6
+7590,2021-08-13,6
+7591,2021-08-14,6
+7592,2021-08-15,6
+7593,2021-08-16,6
+7594,2021-08-17,6
+7595,2021-08-18,6
+7596,2021-08-19,6
+7597,2021-08-20,6
+7598,2021-08-21,6
+7599,2021-08-22,6
+7600,2021-08-23,6
+7601,2021-08-24,6
+7602,2021-08-25,6
+7603,2021-08-26,6
+7604,2021-08-27,6
+7605,2021-08-28,6
+7606,2021-08-29,6
+7607,2021-08-30,6
+7608,2021-08-31,6
+7609,2021-09-01,6
+7610,2021-09-02,6
+7611,2021-09-03,6
+7612,2021-09-04,6
+7613,2021-09-05,6
+7614,2021-09-06,6
+7615,2021-09-07,6
+7616,2021-09-08,6
+7617,2021-09-09,6
+7618,2021-09-10,6
+7619,2021-09-11,6
+7620,2021-09-12,6
+7621,2021-09-13,6
+7622,2021-09-14,6
+7623,2021-09-15,6
+7624,2021-09-16,6
+7625,2021-09-17,6
+7626,2021-09-18,6
+7627,2021-09-19,6
+7628,2021-09-20,6
+7629,2021-09-21,6
+7630,2021-09-22,6
+7631,2021-09-23,6
+7632,2021-09-24,6
+7633,2021-09-25,6
+7634,2021-09-26,6
+7635,2021-09-27,6
+7636,2021-09-28,6
+7637,2021-09-29,6
+7638,2021-09-30,6
+7639,2021-10-01,6
+7640,2021-10-02,6
+7641,2021-10-03,6
+7642,2021-10-04,6
+7643,2021-10-05,6
+7644,2021-10-06,6
+7645,2021-10-07,6
+7646,2021-10-08,6
+7647,2021-10-09,6
+7648,2021-10-10,6
+7649,2021-10-11,6
+7650,2021-10-12,6
+7651,2021-10-13,6
+7652,2021-10-14,6
+7653,2021-10-15,6
+7654,2021-10-16,6
+7655,2021-10-17,6
+7656,2021-10-18,6
+7657,2021-10-19,6
+7658,2021-10-20,6
+7659,2021-10-21,6
+7660,2021-10-22,6
+7661,2021-10-23,6
+7662,2021-10-24,6
+7663,2021-10-25,6
+7664,2021-10-26,6
+7665,2021-10-27,6
+7666,2021-10-28,6
+7667,2021-10-29,6
+7668,2021-10-30,6
+7669,2021-10-31,6
+7670,2021-11-01,6
+7671,2021-11-02,6
+7672,2021-11-03,6
+7673,2021-11-04,6
+7674,2021-11-05,6
+7675,2021-11-06,6
+7676,2021-11-07,6
+7677,2021-11-08,6
+7678,2021-11-09,6
+7679,2021-11-10,6
+7680,2021-11-11,6
+7681,2021-11-12,6
+7682,2021-11-13,6
+7683,2021-11-14,6
+7684,2021-11-15,6
+7685,2021-11-16,6
+7686,2021-11-17,6
+7687,2021-11-18,6
+7688,2021-11-19,6
+7689,2021-11-20,6
+7690,2021-11-21,6
+7691,2021-11-22,6
+7692,2021-11-23,6
+7693,2021-11-24,6
+7694,2021-11-25,6
+7695,2021-11-26,6
+7696,2021-11-27,6
+7697,2021-11-28,6
+7698,2021-11-29,6
+7699,2021-11-30,6
+7700,2021-12-01,6
+7701,2021-12-02,6
+7702,2021-12-03,6
+7703,2021-12-04,6
+7704,2021-12-05,6
+7705,2021-12-06,6
+7706,2021-12-07,6
+7707,2021-12-08,6
+7708,2021-12-09,6
+7709,2021-12-10,6
+7710,2021-12-11,6
+7711,2021-12-12,6
+7712,2021-12-13,6
+7713,2021-12-14,6
+7714,2021-12-15,6
+7715,2021-12-16,6
+7716,2021-12-17,6
+7717,2021-12-18,6
+7718,2021-12-19,6
+7719,2021-12-20,6
+7720,2021-12-21,6
+7721,2021-12-22,6
+7722,2021-12-23,6
+7723,2021-12-24,6
+7724,2021-12-25,6
+7725,2021-12-26,6
+7726,2021-12-27,6
+7727,2021-12-28,6
+7728,2021-12-29,6
+7729,2021-12-30,6
+7730,2021-12-31,6
+7731,2022-01-01,6
+7732,2022-01-02,6
+7733,2022-01-03,6
+7734,2022-01-04,6
+7735,2022-01-05,6
+7736,2022-01-06,6
+7737,2022-01-07,6
+7738,2022-01-08,6
+7739,2022-01-09,6
+7740,2022-01-10,6
+7741,2022-01-11,6
+7742,2022-01-12,6
+7743,2022-01-13,6
+7744,2022-01-14,6
+7745,2022-01-15,6
+7746,2022-01-16,6
+7747,2022-01-17,6
+7748,2022-01-18,6
+7749,2022-01-19,6
+7750,2022-01-20,6
+7751,2022-01-21,6
+7752,2022-01-22,6
+7753,2022-01-23,6
+7754,2022-01-24,6
+7755,2022-01-25,6
+7756,2022-01-26,6
+7757,2022-01-27,6
+7758,2022-01-28,6
+7759,2022-01-29,6
+7760,2022-01-30,6
+7761,2022-01-31,6
+7762,2022-02-01,6
+7763,2022-02-02,6
+7764,2022-02-03,6
+7765,2022-02-04,6
+7766,2022-02-05,6
+7767,2022-02-06,6
+7768,2022-02-07,6
+7769,2022-02-08,6
+7770,2022-02-09,6
+7771,2022-02-10,6
+7772,2022-02-11,6
+7773,2022-02-12,6
+7774,2022-02-13,6
+7775,2022-02-14,6
+7776,2022-02-15,6
+7777,2022-02-16,6
+7778,2022-02-17,6
+7779,2022-02-18,6
+7780,2022-02-19,6
+7781,2022-02-20,6
+7782,2022-02-21,6
+7783,2022-02-22,6
+7784,2022-02-23,6
+7785,2022-02-24,6
+7786,2022-02-25,6
+7787,2022-02-26,6
+7788,2022-02-27,6
+7789,2022-02-28,6
+7790,2022-03-01,6
+7791,2022-03-02,6
+7792,2022-03-03,6
+7793,2022-03-04,6
+7794,2022-03-05,6
+7795,2022-03-06,6
+7796,2022-03-07,6
+7797,2022-03-08,6
+7798,2022-03-09,6
+7799,2022-03-10,6
+7800,2022-03-11,6
+7801,2022-03-12,6
+7802,2022-03-13,6
+7803,2022-03-14,6
+7804,2022-03-15,6
+7805,2022-03-16,6
+7806,2022-03-17,6
+7807,2022-03-18,6
+7808,2022-03-19,6
+7809,2022-03-20,6
+7810,2022-03-21,6
+7811,2022-03-22,6
+7812,2022-03-23,6
+7813,2022-03-24,6
+7814,2022-03-25,6
+7815,2022-03-26,6
+7816,2022-03-27,6
+7817,2022-03-28,6
+7818,2022-03-29,6
+7819,2022-03-30,6
+7820,2022-03-31,6
+7821,2022-04-01,6
+7822,2022-04-02,6
+7823,2022-04-03,6
+7824,2022-04-04,6
+7825,2022-04-05,6
+7826,2022-04-06,6
+7827,2022-04-07,6
+7828,2022-04-08,6
+7829,2022-04-09,6
+7830,2022-04-10,6
+7831,2022-04-11,6
+7832,2022-04-12,6
+7833,2022-04-13,6
+7834,2022-04-14,6
+7835,2022-04-15,6
+7836,2022-04-16,6
+7837,2022-04-17,6
+7838,2022-04-18,6
+7839,2022-04-19,6
+7840,2022-04-20,6
+7841,2022-04-21,6
+7842,2022-04-22,6
+7843,2022-04-23,6
+7844,2022-04-24,6
+7845,2022-04-25,6
+7846,2022-04-26,6
+7847,2022-04-27,6
+7848,2022-04-28,6
+7849,2022-04-29,6
+7850,2022-04-30,6
+7851,2022-05-01,6
+7852,2022-05-02,6
+7853,2022-05-03,6
+7854,2022-05-04,6
+7855,2022-05-05,6
+7856,2022-05-06,6
+7857,2022-05-07,6
+7858,2022-05-08,6
+7859,2022-05-09,6
+7860,2022-05-10,6
+7861,2022-05-11,6
+7862,2022-05-12,6
+7863,2022-05-13,6
+7864,2022-05-14,6
+7865,2022-05-15,6
+7866,2022-05-16,6
+7867,2022-05-17,6
+7868,2022-05-18,6
+7869,2022-05-19,6
+7870,2022-05-20,6
+7871,2022-05-21,6
+7872,2022-05-22,6
+7873,2022-05-23,6
+7874,2022-05-24,6
+7875,2022-05-25,6
+7876,2022-05-26,6
+7877,2022-05-27,6
+7878,2022-05-28,6
+7879,2022-05-29,6
+7880,2022-05-30,6
+7881,2022-05-31,6
+7882,2022-06-01,6
+7883,2022-06-02,6
+7884,2022-06-03,6
+7885,2022-06-04,6
+7886,2022-06-05,6
+7887,2022-06-06,6
+7888,2022-06-07,6
+7889,2022-06-08,6
+7890,2022-06-09,6
+7891,2022-06-10,6
+7892,2022-06-11,6
+7893,2022-06-12,6
+7894,2022-06-13,6
+7895,2022-06-14,6
+7896,2022-06-15,6
+7897,2022-06-16,6
+7898,2022-06-17,6
+7899,2022-06-18,6
+7900,2022-06-19,6
+7901,2022-06-20,6
+7902,2022-06-21,6
+7903,2022-06-22,6
+7904,2022-06-23,6
+7905,2022-06-24,6
+7906,2022-06-25,6
+7907,2022-06-26,6
+7908,2022-06-27,6
+7909,2022-06-28,6
+7910,2022-06-29,6
+7911,2022-06-30,6
+7912,2022-07-01,6
+7913,2022-07-02,6
+7914,2022-07-03,6
+7915,2022-07-04,6
+7916,2022-07-05,6
+7917,2022-07-06,6
+7918,2022-07-07,6
+7919,2022-07-08,6
+7920,2022-07-09,6
+7921,2022-07-10,6
+7922,2022-07-11,6
+7923,2022-07-12,6
+7924,2022-07-13,6
+7925,2022-07-14,6
+7926,2022-07-15,6
+7927,2022-07-16,6
+7928,2022-07-17,6
+7929,2022-07-18,6
+7930,2022-07-19,6
+7931,2022-07-20,6
+7932,2022-07-21,6
+7933,2022-07-22,6
+7934,2022-07-23,6
+7935,2022-07-24,6
+7936,2022-07-25,6
+7937,2022-07-26,6
+7938,2022-07-27,6
+7939,2022-07-28,6
+7940,2022-07-29,6
+7941,2022-07-30,6
+7942,2022-07-31,6
+7943,2022-08-01,6
+7944,2022-08-02,6
+7945,2022-08-03,6
+7946,2022-08-04,6
+7947,2022-08-05,6
+7948,2022-08-06,6
+7949,2022-08-07,6
+7950,2022-08-08,6
+7951,2022-08-09,6
+7952,2022-08-10,6
+7953,2022-08-11,6
+7954,2022-08-12,6
+7955,2022-08-13,6
+7956,2022-08-14,6
+7957,2022-08-15,6
+7958,2022-08-16,6
+7959,2022-08-17,6
+7960,2022-08-18,6
+7961,2022-08-19,6
+7962,2022-08-20,6
+7963,2022-08-21,6
+7964,2022-08-22,6
+7965,2022-08-23,6
+7966,2022-08-24,6
+7967,2022-08-25,6
+7968,2022-08-26,6
+7969,2022-08-27,6
+7970,2022-08-28,6
+7971,2022-08-29,6
+7972,2022-08-30,6
+7973,2022-08-31,6
+7974,2022-09-01,6
+7975,2022-09-02,6
+7976,2022-09-03,6
+7977,2022-09-04,6
+7978,2022-09-05,6
+7979,2022-09-06,6
+7980,2022-09-07,6
+7981,2022-09-08,6
+7982,2022-09-09,6
+7983,2022-09-10,6
+7984,2022-09-11,6
+7985,2022-09-12,6
+7986,2022-09-13,6
+7987,2022-09-14,6
+7988,2022-09-15,6
+7989,2022-09-16,6
+7990,2022-09-17,6
+7991,2022-09-18,6
+7992,2022-09-19,6
+7993,2022-09-20,6
+7994,2022-09-21,6
+7995,2022-09-22,6
+7996,2022-09-23,6
+7997,2022-09-24,6
+7998,2022-09-25,6
+7999,2022-09-26,6
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_7.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_7.csv
index 67bc5cf..133e89d 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_7.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_7.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-8000,2020-01-01,7
-8001,2020-01-02,7
-8002,2020-01-03,7
-8003,2020-01-04,7
-8004,2020-01-05,7
-8005,2020-01-06,7
-8006,2020-01-07,7
-8007,2020-01-08,7
-8008,2020-01-09,7
-8009,2020-01-10,7
-8010,2020-01-11,7
-8011,2020-01-12,7
-8012,2020-01-13,7
-8013,2020-01-14,7
-8014,2020-01-15,7
-8015,2020-01-16,7
-8016,2020-01-17,7
-8017,2020-01-18,7
-8018,2020-01-19,7
-8019,2020-01-20,7
-8020,2020-01-21,7
-8021,2020-01-22,7
-8022,2020-01-23,7
-8023,2020-01-24,7
-8024,2020-01-25,7
-8025,2020-01-26,7
-8026,2020-01-27,7
-8027,2020-01-28,7
-8028,2020-01-29,7
-8029,2020-01-30,7
-8030,2020-01-31,7
-8031,2020-02-01,7
-8032,2020-02-02,7
-8033,2020-02-03,7
-8034,2020-02-04,7
-8035,2020-02-05,7
-8036,2020-02-06,7
-8037,2020-02-07,7
-8038,2020-02-08,7
-8039,2020-02-09,7
-8040,2020-02-10,7
-8041,2020-02-11,7
-8042,2020-02-12,7
-8043,2020-02-13,7
-8044,2020-02-14,7
-8045,2020-02-15,7
-8046,2020-02-16,7
-8047,2020-02-17,7
-8048,2020-02-18,7
-8049,2020-02-19,7
-8050,2020-02-20,7
-8051,2020-02-21,7
-8052,2020-02-22,7
-8053,2020-02-23,7
-8054,2020-02-24,7
-8055,2020-02-25,7
-8056,2020-02-26,7
-8057,2020-02-27,7
-8058,2020-02-28,7
-8059,2020-02-29,7
-8060,2020-03-01,7
-8061,2020-03-02,7
-8062,2020-03-03,7
-8063,2020-03-04,7
-8064,2020-03-05,7
-8065,2020-03-06,7
-8066,2020-03-07,7
-8067,2020-03-08,7
-8068,2020-03-09,7
-8069,2020-03-10,7
-8070,2020-03-11,7
-8071,2020-03-12,7
-8072,2020-03-13,7
-8073,2020-03-14,7
-8074,2020-03-15,7
-8075,2020-03-16,7
-8076,2020-03-17,7
-8077,2020-03-18,7
-8078,2020-03-19,7
-8079,2020-03-20,7
-8080,2020-03-21,7
-8081,2020-03-22,7
-8082,2020-03-23,7
-8083,2020-03-24,7
-8084,2020-03-25,7
-8085,2020-03-26,7
-8086,2020-03-27,7
-8087,2020-03-28,7
-8088,2020-03-29,7
-8089,2020-03-30,7
-8090,2020-03-31,7
-8091,2020-04-01,7
-8092,2020-04-02,7
-8093,2020-04-03,7
-8094,2020-04-04,7
-8095,2020-04-05,7
-8096,2020-04-06,7
-8097,2020-04-07,7
-8098,2020-04-08,7
-8099,2020-04-09,7
-8100,2020-04-10,7
-8101,2020-04-11,7
-8102,2020-04-12,7
-8103,2020-04-13,7
-8104,2020-04-14,7
-8105,2020-04-15,7
-8106,2020-04-16,7
-8107,2020-04-17,7
-8108,2020-04-18,7
-8109,2020-04-19,7
-8110,2020-04-20,7
-8111,2020-04-21,7
-8112,2020-04-22,7
-8113,2020-04-23,7
-8114,2020-04-24,7
-8115,2020-04-25,7
-8116,2020-04-26,7
-8117,2020-04-27,7
-8118,2020-04-28,7
-8119,2020-04-29,7
-8120,2020-04-30,7
-8121,2020-05-01,7
-8122,2020-05-02,7
-8123,2020-05-03,7
-8124,2020-05-04,7
-8125,2020-05-05,7
-8126,2020-05-06,7
-8127,2020-05-07,7
-8128,2020-05-08,7
-8129,2020-05-09,7
-8130,2020-05-10,7
-8131,2020-05-11,7
-8132,2020-05-12,7
-8133,2020-05-13,7
-8134,2020-05-14,7
-8135,2020-05-15,7
-8136,2020-05-16,7
-8137,2020-05-17,7
-8138,2020-05-18,7
-8139,2020-05-19,7
-8140,2020-05-20,7
-8141,2020-05-21,7
-8142,2020-05-22,7
-8143,2020-05-23,7
-8144,2020-05-24,7
-8145,2020-05-25,7
-8146,2020-05-26,7
-8147,2020-05-27,7
-8148,2020-05-28,7
-8149,2020-05-29,7
-8150,2020-05-30,7
-8151,2020-05-31,7
-8152,2020-06-01,7
-8153,2020-06-02,7
-8154,2020-06-03,7
-8155,2020-06-04,7
-8156,2020-06-05,7
-8157,2020-06-06,7
-8158,2020-06-07,7
-8159,2020-06-08,7
-8160,2020-06-09,7
-8161,2020-06-10,7
-8162,2020-06-11,7
-8163,2020-06-12,7
-8164,2020-06-13,7
-8165,2020-06-14,7
-8166,2020-06-15,7
-8167,2020-06-16,7
-8168,2020-06-17,7
-8169,2020-06-18,7
-8170,2020-06-19,7
-8171,2020-06-20,7
-8172,2020-06-21,7
-8173,2020-06-22,7
-8174,2020-06-23,7
-8175,2020-06-24,7
-8176,2020-06-25,7
-8177,2020-06-26,7
-8178,2020-06-27,7
-8179,2020-06-28,7
-8180,2020-06-29,7
-8181,2020-06-30,7
-8182,2020-07-01,7
-8183,2020-07-02,7
-8184,2020-07-03,7
-8185,2020-07-04,7
-8186,2020-07-05,7
-8187,2020-07-06,7
-8188,2020-07-07,7
-8189,2020-07-08,7
-8190,2020-07-09,7
-8191,2020-07-10,7
-8192,2020-07-11,7
-8193,2020-07-12,7
-8194,2020-07-13,7
-8195,2020-07-14,7
-8196,2020-07-15,7
-8197,2020-07-16,7
-8198,2020-07-17,7
-8199,2020-07-18,7
-8200,2020-07-19,7
-8201,2020-07-20,7
-8202,2020-07-21,7
-8203,2020-07-22,7
-8204,2020-07-23,7
-8205,2020-07-24,7
-8206,2020-07-25,7
-8207,2020-07-26,7
-8208,2020-07-27,7
-8209,2020-07-28,7
-8210,2020-07-29,7
-8211,2020-07-30,7
-8212,2020-07-31,7
-8213,2020-08-01,7
-8214,2020-08-02,7
-8215,2020-08-03,7
-8216,2020-08-04,7
-8217,2020-08-05,7
-8218,2020-08-06,7
-8219,2020-08-07,7
-8220,2020-08-08,7
-8221,2020-08-09,7
-8222,2020-08-10,7
-8223,2020-08-11,7
-8224,2020-08-12,7
-8225,2020-08-13,7
-8226,2020-08-14,7
-8227,2020-08-15,7
-8228,2020-08-16,7
-8229,2020-08-17,7
-8230,2020-08-18,7
-8231,2020-08-19,7
-8232,2020-08-20,7
-8233,2020-08-21,7
-8234,2020-08-22,7
-8235,2020-08-23,7
-8236,2020-08-24,7
-8237,2020-08-25,7
-8238,2020-08-26,7
-8239,2020-08-27,7
-8240,2020-08-28,7
-8241,2020-08-29,7
-8242,2020-08-30,7
-8243,2020-08-31,7
-8244,2020-09-01,7
-8245,2020-09-02,7
-8246,2020-09-03,7
-8247,2020-09-04,7
-8248,2020-09-05,7
-8249,2020-09-06,7
-8250,2020-09-07,7
-8251,2020-09-08,7
-8252,2020-09-09,7
-8253,2020-09-10,7
-8254,2020-09-11,7
-8255,2020-09-12,7
-8256,2020-09-13,7
-8257,2020-09-14,7
-8258,2020-09-15,7
-8259,2020-09-16,7
-8260,2020-09-17,7
-8261,2020-09-18,7
-8262,2020-09-19,7
-8263,2020-09-20,7
-8264,2020-09-21,7
-8265,2020-09-22,7
-8266,2020-09-23,7
-8267,2020-09-24,7
-8268,2020-09-25,7
-8269,2020-09-26,7
-8270,2020-09-27,7
-8271,2020-09-28,7
-8272,2020-09-29,7
-8273,2020-09-30,7
-8274,2020-10-01,7
-8275,2020-10-02,7
-8276,2020-10-03,7
-8277,2020-10-04,7
-8278,2020-10-05,7
-8279,2020-10-06,7
-8280,2020-10-07,7
-8281,2020-10-08,7
-8282,2020-10-09,7
-8283,2020-10-10,7
-8284,2020-10-11,7
-8285,2020-10-12,7
-8286,2020-10-13,7
-8287,2020-10-14,7
-8288,2020-10-15,7
-8289,2020-10-16,7
-8290,2020-10-17,7
-8291,2020-10-18,7
-8292,2020-10-19,7
-8293,2020-10-20,7
-8294,2020-10-21,7
-8295,2020-10-22,7
-8296,2020-10-23,7
-8297,2020-10-24,7
-8298,2020-10-25,7
-8299,2020-10-26,7
-8300,2020-10-27,7
-8301,2020-10-28,7
-8302,2020-10-29,7
-8303,2020-10-30,7
-8304,2020-10-31,7
-8305,2020-11-01,7
-8306,2020-11-02,7
-8307,2020-11-03,7
-8308,2020-11-04,7
-8309,2020-11-05,7
-8310,2020-11-06,7
-8311,2020-11-07,7
-8312,2020-11-08,7
-8313,2020-11-09,7
-8314,2020-11-10,7
-8315,2020-11-11,7
-8316,2020-11-12,7
-8317,2020-11-13,7
-8318,2020-11-14,7
-8319,2020-11-15,7
-8320,2020-11-16,7
-8321,2020-11-17,7
-8322,2020-11-18,7
-8323,2020-11-19,7
-8324,2020-11-20,7
-8325,2020-11-21,7
-8326,2020-11-22,7
-8327,2020-11-23,7
-8328,2020-11-24,7
-8329,2020-11-25,7
-8330,2020-11-26,7
-8331,2020-11-27,7
-8332,2020-11-28,7
-8333,2020-11-29,7
-8334,2020-11-30,7
-8335,2020-12-01,7
-8336,2020-12-02,7
-8337,2020-12-03,7
-8338,2020-12-04,7
-8339,2020-12-05,7
-8340,2020-12-06,7
-8341,2020-12-07,7
-8342,2020-12-08,7
-8343,2020-12-09,7
-8344,2020-12-10,7
-8345,2020-12-11,7
-8346,2020-12-12,7
-8347,2020-12-13,7
-8348,2020-12-14,7
-8349,2020-12-15,7
-8350,2020-12-16,7
-8351,2020-12-17,7
-8352,2020-12-18,7
-8353,2020-12-19,7
-8354,2020-12-20,7
-8355,2020-12-21,7
-8356,2020-12-22,7
-8357,2020-12-23,7
-8358,2020-12-24,7
-8359,2020-12-25,7
-8360,2020-12-26,7
-8361,2020-12-27,7
-8362,2020-12-28,7
-8363,2020-12-29,7
-8364,2020-12-30,7
-8365,2020-12-31,7
-8366,2021-01-01,7
-8367,2021-01-02,7
-8368,2021-01-03,7
-8369,2021-01-04,7
-8370,2021-01-05,7
-8371,2021-01-06,7
-8372,2021-01-07,7
-8373,2021-01-08,7
-8374,2021-01-09,7
-8375,2021-01-10,7
-8376,2021-01-11,7
-8377,2021-01-12,7
-8378,2021-01-13,7
-8379,2021-01-14,7
-8380,2021-01-15,7
-8381,2021-01-16,7
-8382,2021-01-17,7
-8383,2021-01-18,7
-8384,2021-01-19,7
-8385,2021-01-20,7
-8386,2021-01-21,7
-8387,2021-01-22,7
-8388,2021-01-23,7
-8389,2021-01-24,7
-8390,2021-01-25,7
-8391,2021-01-26,7
-8392,2021-01-27,7
-8393,2021-01-28,7
-8394,2021-01-29,7
-8395,2021-01-30,7
-8396,2021-01-31,7
-8397,2021-02-01,7
-8398,2021-02-02,7
-8399,2021-02-03,7
-8400,2021-02-04,7
-8401,2021-02-05,7
-8402,2021-02-06,7
-8403,2021-02-07,7
-8404,2021-02-08,7
-8405,2021-02-09,7
-8406,2021-02-10,7
-8407,2021-02-11,7
-8408,2021-02-12,7
-8409,2021-02-13,7
-8410,2021-02-14,7
-8411,2021-02-15,7
-8412,2021-02-16,7
-8413,2021-02-17,7
-8414,2021-02-18,7
-8415,2021-02-19,7
-8416,2021-02-20,7
-8417,2021-02-21,7
-8418,2021-02-22,7
-8419,2021-02-23,7
-8420,2021-02-24,7
-8421,2021-02-25,7
-8422,2021-02-26,7
-8423,2021-02-27,7
-8424,2021-02-28,7
-8425,2021-03-01,7
-8426,2021-03-02,7
-8427,2021-03-03,7
-8428,2021-03-04,7
-8429,2021-03-05,7
-8430,2021-03-06,7
-8431,2021-03-07,7
-8432,2021-03-08,7
-8433,2021-03-09,7
-8434,2021-03-10,7
-8435,2021-03-11,7
-8436,2021-03-12,7
-8437,2021-03-13,7
-8438,2021-03-14,7
-8439,2021-03-15,7
-8440,2021-03-16,7
-8441,2021-03-17,7
-8442,2021-03-18,7
-8443,2021-03-19,7
-8444,2021-03-20,7
-8445,2021-03-21,7
-8446,2021-03-22,7
-8447,2021-03-23,7
-8448,2021-03-24,7
-8449,2021-03-25,7
-8450,2021-03-26,7
-8451,2021-03-27,7
-8452,2021-03-28,7
-8453,2021-03-29,7
-8454,2021-03-30,7
-8455,2021-03-31,7
-8456,2021-04-01,7
-8457,2021-04-02,7
-8458,2021-04-03,7
-8459,2021-04-04,7
-8460,2021-04-05,7
-8461,2021-04-06,7
-8462,2021-04-07,7
-8463,2021-04-08,7
-8464,2021-04-09,7
-8465,2021-04-10,7
-8466,2021-04-11,7
-8467,2021-04-12,7
-8468,2021-04-13,7
-8469,2021-04-14,7
-8470,2021-04-15,7
-8471,2021-04-16,7
-8472,2021-04-17,7
-8473,2021-04-18,7
-8474,2021-04-19,7
-8475,2021-04-20,7
-8476,2021-04-21,7
-8477,2021-04-22,7
-8478,2021-04-23,7
-8479,2021-04-24,7
-8480,2021-04-25,7
-8481,2021-04-26,7
-8482,2021-04-27,7
-8483,2021-04-28,7
-8484,2021-04-29,7
-8485,2021-04-30,7
-8486,2021-05-01,7
-8487,2021-05-02,7
-8488,2021-05-03,7
-8489,2021-05-04,7
-8490,2021-05-05,7
-8491,2021-05-06,7
-8492,2021-05-07,7
-8493,2021-05-08,7
-8494,2021-05-09,7
-8495,2021-05-10,7
-8496,2021-05-11,7
-8497,2021-05-12,7
-8498,2021-05-13,7
-8499,2021-05-14,7
-8500,2021-05-15,7
-8501,2021-05-16,7
-8502,2021-05-17,7
-8503,2021-05-18,7
-8504,2021-05-19,7
-8505,2021-05-20,7
-8506,2021-05-21,7
-8507,2021-05-22,7
-8508,2021-05-23,7
-8509,2021-05-24,7
-8510,2021-05-25,7
-8511,2021-05-26,7
-8512,2021-05-27,7
-8513,2021-05-28,7
-8514,2021-05-29,7
-8515,2021-05-30,7
-8516,2021-05-31,7
-8517,2021-06-01,7
-8518,2021-06-02,7
-8519,2021-06-03,7
-8520,2021-06-04,7
-8521,2021-06-05,7
-8522,2021-06-06,7
-8523,2021-06-07,7
-8524,2021-06-08,7
-8525,2021-06-09,7
-8526,2021-06-10,7
-8527,2021-06-11,7
-8528,2021-06-12,7
-8529,2021-06-13,7
-8530,2021-06-14,7
-8531,2021-06-15,7
-8532,2021-06-16,7
-8533,2021-06-17,7
-8534,2021-06-18,7
-8535,2021-06-19,7
-8536,2021-06-20,7
-8537,2021-06-21,7
-8538,2021-06-22,7
-8539,2021-06-23,7
-8540,2021-06-24,7
-8541,2021-06-25,7
-8542,2021-06-26,7
-8543,2021-06-27,7
-8544,2021-06-28,7
-8545,2021-06-29,7
-8546,2021-06-30,7
-8547,2021-07-01,7
-8548,2021-07-02,7
-8549,2021-07-03,7
-8550,2021-07-04,7
-8551,2021-07-05,7
-8552,2021-07-06,7
-8553,2021-07-07,7
-8554,2021-07-08,7
-8555,2021-07-09,7
-8556,2021-07-10,7
-8557,2021-07-11,7
-8558,2021-07-12,7
-8559,2021-07-13,7
-8560,2021-07-14,7
-8561,2021-07-15,7
-8562,2021-07-16,7
-8563,2021-07-17,7
-8564,2021-07-18,7
-8565,2021-07-19,7
-8566,2021-07-20,7
-8567,2021-07-21,7
-8568,2021-07-22,7
-8569,2021-07-23,7
-8570,2021-07-24,7
-8571,2021-07-25,7
-8572,2021-07-26,7
-8573,2021-07-27,7
-8574,2021-07-28,7
-8575,2021-07-29,7
-8576,2021-07-30,7
-8577,2021-07-31,7
-8578,2021-08-01,7
-8579,2021-08-02,7
-8580,2021-08-03,7
-8581,2021-08-04,7
-8582,2021-08-05,7
-8583,2021-08-06,7
-8584,2021-08-07,7
-8585,2021-08-08,7
-8586,2021-08-09,7
-8587,2021-08-10,7
-8588,2021-08-11,7
-8589,2021-08-12,7
-8590,2021-08-13,7
-8591,2021-08-14,7
-8592,2021-08-15,7
-8593,2021-08-16,7
-8594,2021-08-17,7
-8595,2021-08-18,7
-8596,2021-08-19,7
-8597,2021-08-20,7
-8598,2021-08-21,7
-8599,2021-08-22,7
-8600,2021-08-23,7
-8601,2021-08-24,7
-8602,2021-08-25,7
-8603,2021-08-26,7
-8604,2021-08-27,7
-8605,2021-08-28,7
-8606,2021-08-29,7
-8607,2021-08-30,7
-8608,2021-08-31,7
-8609,2021-09-01,7
-8610,2021-09-02,7
-8611,2021-09-03,7
-8612,2021-09-04,7
-8613,2021-09-05,7
-8614,2021-09-06,7
-8615,2021-09-07,7
-8616,2021-09-08,7
-8617,2021-09-09,7
-8618,2021-09-10,7
-8619,2021-09-11,7
-8620,2021-09-12,7
-8621,2021-09-13,7
-8622,2021-09-14,7
-8623,2021-09-15,7
-8624,2021-09-16,7
-8625,2021-09-17,7
-8626,2021-09-18,7
-8627,2021-09-19,7
-8628,2021-09-20,7
-8629,2021-09-21,7
-8630,2021-09-22,7
-8631,2021-09-23,7
-8632,2021-09-24,7
-8633,2021-09-25,7
-8634,2021-09-26,7
-8635,2021-09-27,7
-8636,2021-09-28,7
-8637,2021-09-29,7
-8638,2021-09-30,7
-8639,2021-10-01,7
-8640,2021-10-02,7
-8641,2021-10-03,7
-8642,2021-10-04,7
-8643,2021-10-05,7
-8644,2021-10-06,7
-8645,2021-10-07,7
-8646,2021-10-08,7
-8647,2021-10-09,7
-8648,2021-10-10,7
-8649,2021-10-11,7
-8650,2021-10-12,7
-8651,2021-10-13,7
-8652,2021-10-14,7
-8653,2021-10-15,7
-8654,2021-10-16,7
-8655,2021-10-17,7
-8656,2021-10-18,7
-8657,2021-10-19,7
-8658,2021-10-20,7
-8659,2021-10-21,7
-8660,2021-10-22,7
-8661,2021-10-23,7
-8662,2021-10-24,7
-8663,2021-10-25,7
-8664,2021-10-26,7
-8665,2021-10-27,7
-8666,2021-10-28,7
-8667,2021-10-29,7
-8668,2021-10-30,7
-8669,2021-10-31,7
-8670,2021-11-01,7
-8671,2021-11-02,7
-8672,2021-11-03,7
-8673,2021-11-04,7
-8674,2021-11-05,7
-8675,2021-11-06,7
-8676,2021-11-07,7
-8677,2021-11-08,7
-8678,2021-11-09,7
-8679,2021-11-10,7
-8680,2021-11-11,7
-8681,2021-11-12,7
-8682,2021-11-13,7
-8683,2021-11-14,7
-8684,2021-11-15,7
-8685,2021-11-16,7
-8686,2021-11-17,7
-8687,2021-11-18,7
-8688,2021-11-19,7
-8689,2021-11-20,7
-8690,2021-11-21,7
-8691,2021-11-22,7
-8692,2021-11-23,7
-8693,2021-11-24,7
-8694,2021-11-25,7
-8695,2021-11-26,7
-8696,2021-11-27,7
-8697,2021-11-28,7
-8698,2021-11-29,7
-8699,2021-11-30,7
-8700,2021-12-01,7
-8701,2021-12-02,7
-8702,2021-12-03,7
-8703,2021-12-04,7
-8704,2021-12-05,7
-8705,2021-12-06,7
-8706,2021-12-07,7
-8707,2021-12-08,7
-8708,2021-12-09,7
-8709,2021-12-10,7
-8710,2021-12-11,7
-8711,2021-12-12,7
-8712,2021-12-13,7
-8713,2021-12-14,7
-8714,2021-12-15,7
-8715,2021-12-16,7
-8716,2021-12-17,7
-8717,2021-12-18,7
-8718,2021-12-19,7
-8719,2021-12-20,7
-8720,2021-12-21,7
-8721,2021-12-22,7
-8722,2021-12-23,7
-8723,2021-12-24,7
-8724,2021-12-25,7
-8725,2021-12-26,7
-8726,2021-12-27,7
-8727,2021-12-28,7
-8728,2021-12-29,7
-8729,2021-12-30,7
-8730,2021-12-31,7
-8731,2022-01-01,7
-8732,2022-01-02,7
-8733,2022-01-03,7
-8734,2022-01-04,7
-8735,2022-01-05,7
-8736,2022-01-06,7
-8737,2022-01-07,7
-8738,2022-01-08,7
-8739,2022-01-09,7
-8740,2022-01-10,7
-8741,2022-01-11,7
-8742,2022-01-12,7
-8743,2022-01-13,7
-8744,2022-01-14,7
-8745,2022-01-15,7
-8746,2022-01-16,7
-8747,2022-01-17,7
-8748,2022-01-18,7
-8749,2022-01-19,7
-8750,2022-01-20,7
-8751,2022-01-21,7
-8752,2022-01-22,7
-8753,2022-01-23,7
-8754,2022-01-24,7
-8755,2022-01-25,7
-8756,2022-01-26,7
-8757,2022-01-27,7
-8758,2022-01-28,7
-8759,2022-01-29,7
-8760,2022-01-30,7
-8761,2022-01-31,7
-8762,2022-02-01,7
-8763,2022-02-02,7
-8764,2022-02-03,7
-8765,2022-02-04,7
-8766,2022-02-05,7
-8767,2022-02-06,7
-8768,2022-02-07,7
-8769,2022-02-08,7
-8770,2022-02-09,7
-8771,2022-02-10,7
-8772,2022-02-11,7
-8773,2022-02-12,7
-8774,2022-02-13,7
-8775,2022-02-14,7
-8776,2022-02-15,7
-8777,2022-02-16,7
-8778,2022-02-17,7
-8779,2022-02-18,7
-8780,2022-02-19,7
-8781,2022-02-20,7
-8782,2022-02-21,7
-8783,2022-02-22,7
-8784,2022-02-23,7
-8785,2022-02-24,7
-8786,2022-02-25,7
-8787,2022-02-26,7
-8788,2022-02-27,7
-8789,2022-02-28,7
-8790,2022-03-01,7
-8791,2022-03-02,7
-8792,2022-03-03,7
-8793,2022-03-04,7
-8794,2022-03-05,7
-8795,2022-03-06,7
-8796,2022-03-07,7
-8797,2022-03-08,7
-8798,2022-03-09,7
-8799,2022-03-10,7
-8800,2022-03-11,7
-8801,2022-03-12,7
-8802,2022-03-13,7
-8803,2022-03-14,7
-8804,2022-03-15,7
-8805,2022-03-16,7
-8806,2022-03-17,7
-8807,2022-03-18,7
-8808,2022-03-19,7
-8809,2022-03-20,7
-8810,2022-03-21,7
-8811,2022-03-22,7
-8812,2022-03-23,7
-8813,2022-03-24,7
-8814,2022-03-25,7
-8815,2022-03-26,7
-8816,2022-03-27,7
-8817,2022-03-28,7
-8818,2022-03-29,7
-8819,2022-03-30,7
-8820,2022-03-31,7
-8821,2022-04-01,7
-8822,2022-04-02,7
-8823,2022-04-03,7
-8824,2022-04-04,7
-8825,2022-04-05,7
-8826,2022-04-06,7
-8827,2022-04-07,7
-8828,2022-04-08,7
-8829,2022-04-09,7
-8830,2022-04-10,7
-8831,2022-04-11,7
-8832,2022-04-12,7
-8833,2022-04-13,7
-8834,2022-04-14,7
-8835,2022-04-15,7
-8836,2022-04-16,7
-8837,2022-04-17,7
-8838,2022-04-18,7
-8839,2022-04-19,7
-8840,2022-04-20,7
-8841,2022-04-21,7
-8842,2022-04-22,7
-8843,2022-04-23,7
-8844,2022-04-24,7
-8845,2022-04-25,7
-8846,2022-04-26,7
-8847,2022-04-27,7
-8848,2022-04-28,7
-8849,2022-04-29,7
-8850,2022-04-30,7
-8851,2022-05-01,7
-8852,2022-05-02,7
-8853,2022-05-03,7
-8854,2022-05-04,7
-8855,2022-05-05,7
-8856,2022-05-06,7
-8857,2022-05-07,7
-8858,2022-05-08,7
-8859,2022-05-09,7
-8860,2022-05-10,7
-8861,2022-05-11,7
-8862,2022-05-12,7
-8863,2022-05-13,7
-8864,2022-05-14,7
-8865,2022-05-15,7
-8866,2022-05-16,7
-8867,2022-05-17,7
-8868,2022-05-18,7
-8869,2022-05-19,7
-8870,2022-05-20,7
-8871,2022-05-21,7
-8872,2022-05-22,7
-8873,2022-05-23,7
-8874,2022-05-24,7
-8875,2022-05-25,7
-8876,2022-05-26,7
-8877,2022-05-27,7
-8878,2022-05-28,7
-8879,2022-05-29,7
-8880,2022-05-30,7
-8881,2022-05-31,7
-8882,2022-06-01,7
-8883,2022-06-02,7
-8884,2022-06-03,7
-8885,2022-06-04,7
-8886,2022-06-05,7
-8887,2022-06-06,7
-8888,2022-06-07,7
-8889,2022-06-08,7
-8890,2022-06-09,7
-8891,2022-06-10,7
-8892,2022-06-11,7
-8893,2022-06-12,7
-8894,2022-06-13,7
-8895,2022-06-14,7
-8896,2022-06-15,7
-8897,2022-06-16,7
-8898,2022-06-17,7
-8899,2022-06-18,7
-8900,2022-06-19,7
-8901,2022-06-20,7
-8902,2022-06-21,7
-8903,2022-06-22,7
-8904,2022-06-23,7
-8905,2022-06-24,7
-8906,2022-06-25,7
-8907,2022-06-26,7
-8908,2022-06-27,7
-8909,2022-06-28,7
-8910,2022-06-29,7
-8911,2022-06-30,7
-8912,2022-07-01,7
-8913,2022-07-02,7
-8914,2022-07-03,7
-8915,2022-07-04,7
-8916,2022-07-05,7
-8917,2022-07-06,7
-8918,2022-07-07,7
-8919,2022-07-08,7
-8920,2022-07-09,7
-8921,2022-07-10,7
-8922,2022-07-11,7
-8923,2022-07-12,7
-8924,2022-07-13,7
-8925,2022-07-14,7
-8926,2022-07-15,7
-8927,2022-07-16,7
-8928,2022-07-17,7
-8929,2022-07-18,7
-8930,2022-07-19,7
-8931,2022-07-20,7
-8932,2022-07-21,7
-8933,2022-07-22,7
-8934,2022-07-23,7
-8935,2022-07-24,7
-8936,2022-07-25,7
-8937,2022-07-26,7
-8938,2022-07-27,7
-8939,2022-07-28,7
-8940,2022-07-29,7
-8941,2022-07-30,7
-8942,2022-07-31,7
-8943,2022-08-01,7
-8944,2022-08-02,7
-8945,2022-08-03,7
-8946,2022-08-04,7
-8947,2022-08-05,7
-8948,2022-08-06,7
-8949,2022-08-07,7
-8950,2022-08-08,7
-8951,2022-08-09,7
-8952,2022-08-10,7
-8953,2022-08-11,7
-8954,2022-08-12,7
-8955,2022-08-13,7
-8956,2022-08-14,7
-8957,2022-08-15,7
-8958,2022-08-16,7
-8959,2022-08-17,7
-8960,2022-08-18,7
-8961,2022-08-19,7
-8962,2022-08-20,7
-8963,2022-08-21,7
-8964,2022-08-22,7
-8965,2022-08-23,7
-8966,2022-08-24,7
-8967,2022-08-25,7
-8968,2022-08-26,7
-8969,2022-08-27,7
-8970,2022-08-28,7
-8971,2022-08-29,7
-8972,2022-08-30,7
-8973,2022-08-31,7
-8974,2022-09-01,7
-8975,2022-09-02,7
-8976,2022-09-03,7
-8977,2022-09-04,7
-8978,2022-09-05,7
-8979,2022-09-06,7
-8980,2022-09-07,7
-8981,2022-09-08,7
-8982,2022-09-09,7
-8983,2022-09-10,7
-8984,2022-09-11,7
-8985,2022-09-12,7
-8986,2022-09-13,7
-8987,2022-09-14,7
-8988,2022-09-15,7
-8989,2022-09-16,7
-8990,2022-09-17,7
-8991,2022-09-18,7
-8992,2022-09-19,7
-8993,2022-09-20,7
-8994,2022-09-21,7
-8995,2022-09-22,7
-8996,2022-09-23,7
-8997,2022-09-24,7
-8998,2022-09-25,7
-8999,2022-09-26,7
+value,date,id
+8000,2020-01-01,7
+8001,2020-01-02,7
+8002,2020-01-03,7
+8003,2020-01-04,7
+8004,2020-01-05,7
+8005,2020-01-06,7
+8006,2020-01-07,7
+8007,2020-01-08,7
+8008,2020-01-09,7
+8009,2020-01-10,7
+8010,2020-01-11,7
+8011,2020-01-12,7
+8012,2020-01-13,7
+8013,2020-01-14,7
+8014,2020-01-15,7
+8015,2020-01-16,7
+8016,2020-01-17,7
+8017,2020-01-18,7
+8018,2020-01-19,7
+8019,2020-01-20,7
+8020,2020-01-21,7
+8021,2020-01-22,7
+8022,2020-01-23,7
+8023,2020-01-24,7
+8024,2020-01-25,7
+8025,2020-01-26,7
+8026,2020-01-27,7
+8027,2020-01-28,7
+8028,2020-01-29,7
+8029,2020-01-30,7
+8030,2020-01-31,7
+8031,2020-02-01,7
+8032,2020-02-02,7
+8033,2020-02-03,7
+8034,2020-02-04,7
+8035,2020-02-05,7
+8036,2020-02-06,7
+8037,2020-02-07,7
+8038,2020-02-08,7
+8039,2020-02-09,7
+8040,2020-02-10,7
+8041,2020-02-11,7
+8042,2020-02-12,7
+8043,2020-02-13,7
+8044,2020-02-14,7
+8045,2020-02-15,7
+8046,2020-02-16,7
+8047,2020-02-17,7
+8048,2020-02-18,7
+8049,2020-02-19,7
+8050,2020-02-20,7
+8051,2020-02-21,7
+8052,2020-02-22,7
+8053,2020-02-23,7
+8054,2020-02-24,7
+8055,2020-02-25,7
+8056,2020-02-26,7
+8057,2020-02-27,7
+8058,2020-02-28,7
+8059,2020-02-29,7
+8060,2020-03-01,7
+8061,2020-03-02,7
+8062,2020-03-03,7
+8063,2020-03-04,7
+8064,2020-03-05,7
+8065,2020-03-06,7
+8066,2020-03-07,7
+8067,2020-03-08,7
+8068,2020-03-09,7
+8069,2020-03-10,7
+8070,2020-03-11,7
+8071,2020-03-12,7
+8072,2020-03-13,7
+8073,2020-03-14,7
+8074,2020-03-15,7
+8075,2020-03-16,7
+8076,2020-03-17,7
+8077,2020-03-18,7
+8078,2020-03-19,7
+8079,2020-03-20,7
+8080,2020-03-21,7
+8081,2020-03-22,7
+8082,2020-03-23,7
+8083,2020-03-24,7
+8084,2020-03-25,7
+8085,2020-03-26,7
+8086,2020-03-27,7
+8087,2020-03-28,7
+8088,2020-03-29,7
+8089,2020-03-30,7
+8090,2020-03-31,7
+8091,2020-04-01,7
+8092,2020-04-02,7
+8093,2020-04-03,7
+8094,2020-04-04,7
+8095,2020-04-05,7
+8096,2020-04-06,7
+8097,2020-04-07,7
+8098,2020-04-08,7
+8099,2020-04-09,7
+8100,2020-04-10,7
+8101,2020-04-11,7
+8102,2020-04-12,7
+8103,2020-04-13,7
+8104,2020-04-14,7
+8105,2020-04-15,7
+8106,2020-04-16,7
+8107,2020-04-17,7
+8108,2020-04-18,7
+8109,2020-04-19,7
+8110,2020-04-20,7
+8111,2020-04-21,7
+8112,2020-04-22,7
+8113,2020-04-23,7
+8114,2020-04-24,7
+8115,2020-04-25,7
+8116,2020-04-26,7
+8117,2020-04-27,7
+8118,2020-04-28,7
+8119,2020-04-29,7
+8120,2020-04-30,7
+8121,2020-05-01,7
+8122,2020-05-02,7
+8123,2020-05-03,7
+8124,2020-05-04,7
+8125,2020-05-05,7
+8126,2020-05-06,7
+8127,2020-05-07,7
+8128,2020-05-08,7
+8129,2020-05-09,7
+8130,2020-05-10,7
+8131,2020-05-11,7
+8132,2020-05-12,7
+8133,2020-05-13,7
+8134,2020-05-14,7
+8135,2020-05-15,7
+8136,2020-05-16,7
+8137,2020-05-17,7
+8138,2020-05-18,7
+8139,2020-05-19,7
+8140,2020-05-20,7
+8141,2020-05-21,7
+8142,2020-05-22,7
+8143,2020-05-23,7
+8144,2020-05-24,7
+8145,2020-05-25,7
+8146,2020-05-26,7
+8147,2020-05-27,7
+8148,2020-05-28,7
+8149,2020-05-29,7
+8150,2020-05-30,7
+8151,2020-05-31,7
+8152,2020-06-01,7
+8153,2020-06-02,7
+8154,2020-06-03,7
+8155,2020-06-04,7
+8156,2020-06-05,7
+8157,2020-06-06,7
+8158,2020-06-07,7
+8159,2020-06-08,7
+8160,2020-06-09,7
+8161,2020-06-10,7
+8162,2020-06-11,7
+8163,2020-06-12,7
+8164,2020-06-13,7
+8165,2020-06-14,7
+8166,2020-06-15,7
+8167,2020-06-16,7
+8168,2020-06-17,7
+8169,2020-06-18,7
+8170,2020-06-19,7
+8171,2020-06-20,7
+8172,2020-06-21,7
+8173,2020-06-22,7
+8174,2020-06-23,7
+8175,2020-06-24,7
+8176,2020-06-25,7
+8177,2020-06-26,7
+8178,2020-06-27,7
+8179,2020-06-28,7
+8180,2020-06-29,7
+8181,2020-06-30,7
+8182,2020-07-01,7
+8183,2020-07-02,7
+8184,2020-07-03,7
+8185,2020-07-04,7
+8186,2020-07-05,7
+8187,2020-07-06,7
+8188,2020-07-07,7
+8189,2020-07-08,7
+8190,2020-07-09,7
+8191,2020-07-10,7
+8192,2020-07-11,7
+8193,2020-07-12,7
+8194,2020-07-13,7
+8195,2020-07-14,7
+8196,2020-07-15,7
+8197,2020-07-16,7
+8198,2020-07-17,7
+8199,2020-07-18,7
+8200,2020-07-19,7
+8201,2020-07-20,7
+8202,2020-07-21,7
+8203,2020-07-22,7
+8204,2020-07-23,7
+8205,2020-07-24,7
+8206,2020-07-25,7
+8207,2020-07-26,7
+8208,2020-07-27,7
+8209,2020-07-28,7
+8210,2020-07-29,7
+8211,2020-07-30,7
+8212,2020-07-31,7
+8213,2020-08-01,7
+8214,2020-08-02,7
+8215,2020-08-03,7
+8216,2020-08-04,7
+8217,2020-08-05,7
+8218,2020-08-06,7
+8219,2020-08-07,7
+8220,2020-08-08,7
+8221,2020-08-09,7
+8222,2020-08-10,7
+8223,2020-08-11,7
+8224,2020-08-12,7
+8225,2020-08-13,7
+8226,2020-08-14,7
+8227,2020-08-15,7
+8228,2020-08-16,7
+8229,2020-08-17,7
+8230,2020-08-18,7
+8231,2020-08-19,7
+8232,2020-08-20,7
+8233,2020-08-21,7
+8234,2020-08-22,7
+8235,2020-08-23,7
+8236,2020-08-24,7
+8237,2020-08-25,7
+8238,2020-08-26,7
+8239,2020-08-27,7
+8240,2020-08-28,7
+8241,2020-08-29,7
+8242,2020-08-30,7
+8243,2020-08-31,7
+8244,2020-09-01,7
+8245,2020-09-02,7
+8246,2020-09-03,7
+8247,2020-09-04,7
+8248,2020-09-05,7
+8249,2020-09-06,7
+8250,2020-09-07,7
+8251,2020-09-08,7
+8252,2020-09-09,7
+8253,2020-09-10,7
+8254,2020-09-11,7
+8255,2020-09-12,7
+8256,2020-09-13,7
+8257,2020-09-14,7
+8258,2020-09-15,7
+8259,2020-09-16,7
+8260,2020-09-17,7
+8261,2020-09-18,7
+8262,2020-09-19,7
+8263,2020-09-20,7
+8264,2020-09-21,7
+8265,2020-09-22,7
+8266,2020-09-23,7
+8267,2020-09-24,7
+8268,2020-09-25,7
+8269,2020-09-26,7
+8270,2020-09-27,7
+8271,2020-09-28,7
+8272,2020-09-29,7
+8273,2020-09-30,7
+8274,2020-10-01,7
+8275,2020-10-02,7
+8276,2020-10-03,7
+8277,2020-10-04,7
+8278,2020-10-05,7
+8279,2020-10-06,7
+8280,2020-10-07,7
+8281,2020-10-08,7
+8282,2020-10-09,7
+8283,2020-10-10,7
+8284,2020-10-11,7
+8285,2020-10-12,7
+8286,2020-10-13,7
+8287,2020-10-14,7
+8288,2020-10-15,7
+8289,2020-10-16,7
+8290,2020-10-17,7
+8291,2020-10-18,7
+8292,2020-10-19,7
+8293,2020-10-20,7
+8294,2020-10-21,7
+8295,2020-10-22,7
+8296,2020-10-23,7
+8297,2020-10-24,7
+8298,2020-10-25,7
+8299,2020-10-26,7
+8300,2020-10-27,7
+8301,2020-10-28,7
+8302,2020-10-29,7
+8303,2020-10-30,7
+8304,2020-10-31,7
+8305,2020-11-01,7
+8306,2020-11-02,7
+8307,2020-11-03,7
+8308,2020-11-04,7
+8309,2020-11-05,7
+8310,2020-11-06,7
+8311,2020-11-07,7
+8312,2020-11-08,7
+8313,2020-11-09,7
+8314,2020-11-10,7
+8315,2020-11-11,7
+8316,2020-11-12,7
+8317,2020-11-13,7
+8318,2020-11-14,7
+8319,2020-11-15,7
+8320,2020-11-16,7
+8321,2020-11-17,7
+8322,2020-11-18,7
+8323,2020-11-19,7
+8324,2020-11-20,7
+8325,2020-11-21,7
+8326,2020-11-22,7
+8327,2020-11-23,7
+8328,2020-11-24,7
+8329,2020-11-25,7
+8330,2020-11-26,7
+8331,2020-11-27,7
+8332,2020-11-28,7
+8333,2020-11-29,7
+8334,2020-11-30,7
+8335,2020-12-01,7
+8336,2020-12-02,7
+8337,2020-12-03,7
+8338,2020-12-04,7
+8339,2020-12-05,7
+8340,2020-12-06,7
+8341,2020-12-07,7
+8342,2020-12-08,7
+8343,2020-12-09,7
+8344,2020-12-10,7
+8345,2020-12-11,7
+8346,2020-12-12,7
+8347,2020-12-13,7
+8348,2020-12-14,7
+8349,2020-12-15,7
+8350,2020-12-16,7
+8351,2020-12-17,7
+8352,2020-12-18,7
+8353,2020-12-19,7
+8354,2020-12-20,7
+8355,2020-12-21,7
+8356,2020-12-22,7
+8357,2020-12-23,7
+8358,2020-12-24,7
+8359,2020-12-25,7
+8360,2020-12-26,7
+8361,2020-12-27,7
+8362,2020-12-28,7
+8363,2020-12-29,7
+8364,2020-12-30,7
+8365,2020-12-31,7
+8366,2021-01-01,7
+8367,2021-01-02,7
+8368,2021-01-03,7
+8369,2021-01-04,7
+8370,2021-01-05,7
+8371,2021-01-06,7
+8372,2021-01-07,7
+8373,2021-01-08,7
+8374,2021-01-09,7
+8375,2021-01-10,7
+8376,2021-01-11,7
+8377,2021-01-12,7
+8378,2021-01-13,7
+8379,2021-01-14,7
+8380,2021-01-15,7
+8381,2021-01-16,7
+8382,2021-01-17,7
+8383,2021-01-18,7
+8384,2021-01-19,7
+8385,2021-01-20,7
+8386,2021-01-21,7
+8387,2021-01-22,7
+8388,2021-01-23,7
+8389,2021-01-24,7
+8390,2021-01-25,7
+8391,2021-01-26,7
+8392,2021-01-27,7
+8393,2021-01-28,7
+8394,2021-01-29,7
+8395,2021-01-30,7
+8396,2021-01-31,7
+8397,2021-02-01,7
+8398,2021-02-02,7
+8399,2021-02-03,7
+8400,2021-02-04,7
+8401,2021-02-05,7
+8402,2021-02-06,7
+8403,2021-02-07,7
+8404,2021-02-08,7
+8405,2021-02-09,7
+8406,2021-02-10,7
+8407,2021-02-11,7
+8408,2021-02-12,7
+8409,2021-02-13,7
+8410,2021-02-14,7
+8411,2021-02-15,7
+8412,2021-02-16,7
+8413,2021-02-17,7
+8414,2021-02-18,7
+8415,2021-02-19,7
+8416,2021-02-20,7
+8417,2021-02-21,7
+8418,2021-02-22,7
+8419,2021-02-23,7
+8420,2021-02-24,7
+8421,2021-02-25,7
+8422,2021-02-26,7
+8423,2021-02-27,7
+8424,2021-02-28,7
+8425,2021-03-01,7
+8426,2021-03-02,7
+8427,2021-03-03,7
+8428,2021-03-04,7
+8429,2021-03-05,7
+8430,2021-03-06,7
+8431,2021-03-07,7
+8432,2021-03-08,7
+8433,2021-03-09,7
+8434,2021-03-10,7
+8435,2021-03-11,7
+8436,2021-03-12,7
+8437,2021-03-13,7
+8438,2021-03-14,7
+8439,2021-03-15,7
+8440,2021-03-16,7
+8441,2021-03-17,7
+8442,2021-03-18,7
+8443,2021-03-19,7
+8444,2021-03-20,7
+8445,2021-03-21,7
+8446,2021-03-22,7
+8447,2021-03-23,7
+8448,2021-03-24,7
+8449,2021-03-25,7
+8450,2021-03-26,7
+8451,2021-03-27,7
+8452,2021-03-28,7
+8453,2021-03-29,7
+8454,2021-03-30,7
+8455,2021-03-31,7
+8456,2021-04-01,7
+8457,2021-04-02,7
+8458,2021-04-03,7
+8459,2021-04-04,7
+8460,2021-04-05,7
+8461,2021-04-06,7
+8462,2021-04-07,7
+8463,2021-04-08,7
+8464,2021-04-09,7
+8465,2021-04-10,7
+8466,2021-04-11,7
+8467,2021-04-12,7
+8468,2021-04-13,7
+8469,2021-04-14,7
+8470,2021-04-15,7
+8471,2021-04-16,7
+8472,2021-04-17,7
+8473,2021-04-18,7
+8474,2021-04-19,7
+8475,2021-04-20,7
+8476,2021-04-21,7
+8477,2021-04-22,7
+8478,2021-04-23,7
+8479,2021-04-24,7
+8480,2021-04-25,7
+8481,2021-04-26,7
+8482,2021-04-27,7
+8483,2021-04-28,7
+8484,2021-04-29,7
+8485,2021-04-30,7
+8486,2021-05-01,7
+8487,2021-05-02,7
+8488,2021-05-03,7
+8489,2021-05-04,7
+8490,2021-05-05,7
+8491,2021-05-06,7
+8492,2021-05-07,7
+8493,2021-05-08,7
+8494,2021-05-09,7
+8495,2021-05-10,7
+8496,2021-05-11,7
+8497,2021-05-12,7
+8498,2021-05-13,7
+8499,2021-05-14,7
+8500,2021-05-15,7
+8501,2021-05-16,7
+8502,2021-05-17,7
+8503,2021-05-18,7
+8504,2021-05-19,7
+8505,2021-05-20,7
+8506,2021-05-21,7
+8507,2021-05-22,7
+8508,2021-05-23,7
+8509,2021-05-24,7
+8510,2021-05-25,7
+8511,2021-05-26,7
+8512,2021-05-27,7
+8513,2021-05-28,7
+8514,2021-05-29,7
+8515,2021-05-30,7
+8516,2021-05-31,7
+8517,2021-06-01,7
+8518,2021-06-02,7
+8519,2021-06-03,7
+8520,2021-06-04,7
+8521,2021-06-05,7
+8522,2021-06-06,7
+8523,2021-06-07,7
+8524,2021-06-08,7
+8525,2021-06-09,7
+8526,2021-06-10,7
+8527,2021-06-11,7
+8528,2021-06-12,7
+8529,2021-06-13,7
+8530,2021-06-14,7
+8531,2021-06-15,7
+8532,2021-06-16,7
+8533,2021-06-17,7
+8534,2021-06-18,7
+8535,2021-06-19,7
+8536,2021-06-20,7
+8537,2021-06-21,7
+8538,2021-06-22,7
+8539,2021-06-23,7
+8540,2021-06-24,7
+8541,2021-06-25,7
+8542,2021-06-26,7
+8543,2021-06-27,7
+8544,2021-06-28,7
+8545,2021-06-29,7
+8546,2021-06-30,7
+8547,2021-07-01,7
+8548,2021-07-02,7
+8549,2021-07-03,7
+8550,2021-07-04,7
+8551,2021-07-05,7
+8552,2021-07-06,7
+8553,2021-07-07,7
+8554,2021-07-08,7
+8555,2021-07-09,7
+8556,2021-07-10,7
+8557,2021-07-11,7
+8558,2021-07-12,7
+8559,2021-07-13,7
+8560,2021-07-14,7
+8561,2021-07-15,7
+8562,2021-07-16,7
+8563,2021-07-17,7
+8564,2021-07-18,7
+8565,2021-07-19,7
+8566,2021-07-20,7
+8567,2021-07-21,7
+8568,2021-07-22,7
+8569,2021-07-23,7
+8570,2021-07-24,7
+8571,2021-07-25,7
+8572,2021-07-26,7
+8573,2021-07-27,7
+8574,2021-07-28,7
+8575,2021-07-29,7
+8576,2021-07-30,7
+8577,2021-07-31,7
+8578,2021-08-01,7
+8579,2021-08-02,7
+8580,2021-08-03,7
+8581,2021-08-04,7
+8582,2021-08-05,7
+8583,2021-08-06,7
+8584,2021-08-07,7
+8585,2021-08-08,7
+8586,2021-08-09,7
+8587,2021-08-10,7
+8588,2021-08-11,7
+8589,2021-08-12,7
+8590,2021-08-13,7
+8591,2021-08-14,7
+8592,2021-08-15,7
+8593,2021-08-16,7
+8594,2021-08-17,7
+8595,2021-08-18,7
+8596,2021-08-19,7
+8597,2021-08-20,7
+8598,2021-08-21,7
+8599,2021-08-22,7
+8600,2021-08-23,7
+8601,2021-08-24,7
+8602,2021-08-25,7
+8603,2021-08-26,7
+8604,2021-08-27,7
+8605,2021-08-28,7
+8606,2021-08-29,7
+8607,2021-08-30,7
+8608,2021-08-31,7
+8609,2021-09-01,7
+8610,2021-09-02,7
+8611,2021-09-03,7
+8612,2021-09-04,7
+8613,2021-09-05,7
+8614,2021-09-06,7
+8615,2021-09-07,7
+8616,2021-09-08,7
+8617,2021-09-09,7
+8618,2021-09-10,7
+8619,2021-09-11,7
+8620,2021-09-12,7
+8621,2021-09-13,7
+8622,2021-09-14,7
+8623,2021-09-15,7
+8624,2021-09-16,7
+8625,2021-09-17,7
+8626,2021-09-18,7
+8627,2021-09-19,7
+8628,2021-09-20,7
+8629,2021-09-21,7
+8630,2021-09-22,7
+8631,2021-09-23,7
+8632,2021-09-24,7
+8633,2021-09-25,7
+8634,2021-09-26,7
+8635,2021-09-27,7
+8636,2021-09-28,7
+8637,2021-09-29,7
+8638,2021-09-30,7
+8639,2021-10-01,7
+8640,2021-10-02,7
+8641,2021-10-03,7
+8642,2021-10-04,7
+8643,2021-10-05,7
+8644,2021-10-06,7
+8645,2021-10-07,7
+8646,2021-10-08,7
+8647,2021-10-09,7
+8648,2021-10-10,7
+8649,2021-10-11,7
+8650,2021-10-12,7
+8651,2021-10-13,7
+8652,2021-10-14,7
+8653,2021-10-15,7
+8654,2021-10-16,7
+8655,2021-10-17,7
+8656,2021-10-18,7
+8657,2021-10-19,7
+8658,2021-10-20,7
+8659,2021-10-21,7
+8660,2021-10-22,7
+8661,2021-10-23,7
+8662,2021-10-24,7
+8663,2021-10-25,7
+8664,2021-10-26,7
+8665,2021-10-27,7
+8666,2021-10-28,7
+8667,2021-10-29,7
+8668,2021-10-30,7
+8669,2021-10-31,7
+8670,2021-11-01,7
+8671,2021-11-02,7
+8672,2021-11-03,7
+8673,2021-11-04,7
+8674,2021-11-05,7
+8675,2021-11-06,7
+8676,2021-11-07,7
+8677,2021-11-08,7
+8678,2021-11-09,7
+8679,2021-11-10,7
+8680,2021-11-11,7
+8681,2021-11-12,7
+8682,2021-11-13,7
+8683,2021-11-14,7
+8684,2021-11-15,7
+8685,2021-11-16,7
+8686,2021-11-17,7
+8687,2021-11-18,7
+8688,2021-11-19,7
+8689,2021-11-20,7
+8690,2021-11-21,7
+8691,2021-11-22,7
+8692,2021-11-23,7
+8693,2021-11-24,7
+8694,2021-11-25,7
+8695,2021-11-26,7
+8696,2021-11-27,7
+8697,2021-11-28,7
+8698,2021-11-29,7
+8699,2021-11-30,7
+8700,2021-12-01,7
+8701,2021-12-02,7
+8702,2021-12-03,7
+8703,2021-12-04,7
+8704,2021-12-05,7
+8705,2021-12-06,7
+8706,2021-12-07,7
+8707,2021-12-08,7
+8708,2021-12-09,7
+8709,2021-12-10,7
+8710,2021-12-11,7
+8711,2021-12-12,7
+8712,2021-12-13,7
+8713,2021-12-14,7
+8714,2021-12-15,7
+8715,2021-12-16,7
+8716,2021-12-17,7
+8717,2021-12-18,7
+8718,2021-12-19,7
+8719,2021-12-20,7
+8720,2021-12-21,7
+8721,2021-12-22,7
+8722,2021-12-23,7
+8723,2021-12-24,7
+8724,2021-12-25,7
+8725,2021-12-26,7
+8726,2021-12-27,7
+8727,2021-12-28,7
+8728,2021-12-29,7
+8729,2021-12-30,7
+8730,2021-12-31,7
+8731,2022-01-01,7
+8732,2022-01-02,7
+8733,2022-01-03,7
+8734,2022-01-04,7
+8735,2022-01-05,7
+8736,2022-01-06,7
+8737,2022-01-07,7
+8738,2022-01-08,7
+8739,2022-01-09,7
+8740,2022-01-10,7
+8741,2022-01-11,7
+8742,2022-01-12,7
+8743,2022-01-13,7
+8744,2022-01-14,7
+8745,2022-01-15,7
+8746,2022-01-16,7
+8747,2022-01-17,7
+8748,2022-01-18,7
+8749,2022-01-19,7
+8750,2022-01-20,7
+8751,2022-01-21,7
+8752,2022-01-22,7
+8753,2022-01-23,7
+8754,2022-01-24,7
+8755,2022-01-25,7
+8756,2022-01-26,7
+8757,2022-01-27,7
+8758,2022-01-28,7
+8759,2022-01-29,7
+8760,2022-01-30,7
+8761,2022-01-31,7
+8762,2022-02-01,7
+8763,2022-02-02,7
+8764,2022-02-03,7
+8765,2022-02-04,7
+8766,2022-02-05,7
+8767,2022-02-06,7
+8768,2022-02-07,7
+8769,2022-02-08,7
+8770,2022-02-09,7
+8771,2022-02-10,7
+8772,2022-02-11,7
+8773,2022-02-12,7
+8774,2022-02-13,7
+8775,2022-02-14,7
+8776,2022-02-15,7
+8777,2022-02-16,7
+8778,2022-02-17,7
+8779,2022-02-18,7
+8780,2022-02-19,7
+8781,2022-02-20,7
+8782,2022-02-21,7
+8783,2022-02-22,7
+8784,2022-02-23,7
+8785,2022-02-24,7
+8786,2022-02-25,7
+8787,2022-02-26,7
+8788,2022-02-27,7
+8789,2022-02-28,7
+8790,2022-03-01,7
+8791,2022-03-02,7
+8792,2022-03-03,7
+8793,2022-03-04,7
+8794,2022-03-05,7
+8795,2022-03-06,7
+8796,2022-03-07,7
+8797,2022-03-08,7
+8798,2022-03-09,7
+8799,2022-03-10,7
+8800,2022-03-11,7
+8801,2022-03-12,7
+8802,2022-03-13,7
+8803,2022-03-14,7
+8804,2022-03-15,7
+8805,2022-03-16,7
+8806,2022-03-17,7
+8807,2022-03-18,7
+8808,2022-03-19,7
+8809,2022-03-20,7
+8810,2022-03-21,7
+8811,2022-03-22,7
+8812,2022-03-23,7
+8813,2022-03-24,7
+8814,2022-03-25,7
+8815,2022-03-26,7
+8816,2022-03-27,7
+8817,2022-03-28,7
+8818,2022-03-29,7
+8819,2022-03-30,7
+8820,2022-03-31,7
+8821,2022-04-01,7
+8822,2022-04-02,7
+8823,2022-04-03,7
+8824,2022-04-04,7
+8825,2022-04-05,7
+8826,2022-04-06,7
+8827,2022-04-07,7
+8828,2022-04-08,7
+8829,2022-04-09,7
+8830,2022-04-10,7
+8831,2022-04-11,7
+8832,2022-04-12,7
+8833,2022-04-13,7
+8834,2022-04-14,7
+8835,2022-04-15,7
+8836,2022-04-16,7
+8837,2022-04-17,7
+8838,2022-04-18,7
+8839,2022-04-19,7
+8840,2022-04-20,7
+8841,2022-04-21,7
+8842,2022-04-22,7
+8843,2022-04-23,7
+8844,2022-04-24,7
+8845,2022-04-25,7
+8846,2022-04-26,7
+8847,2022-04-27,7
+8848,2022-04-28,7
+8849,2022-04-29,7
+8850,2022-04-30,7
+8851,2022-05-01,7
+8852,2022-05-02,7
+8853,2022-05-03,7
+8854,2022-05-04,7
+8855,2022-05-05,7
+8856,2022-05-06,7
+8857,2022-05-07,7
+8858,2022-05-08,7
+8859,2022-05-09,7
+8860,2022-05-10,7
+8861,2022-05-11,7
+8862,2022-05-12,7
+8863,2022-05-13,7
+8864,2022-05-14,7
+8865,2022-05-15,7
+8866,2022-05-16,7
+8867,2022-05-17,7
+8868,2022-05-18,7
+8869,2022-05-19,7
+8870,2022-05-20,7
+8871,2022-05-21,7
+8872,2022-05-22,7
+8873,2022-05-23,7
+8874,2022-05-24,7
+8875,2022-05-25,7
+8876,2022-05-26,7
+8877,2022-05-27,7
+8878,2022-05-28,7
+8879,2022-05-29,7
+8880,2022-05-30,7
+8881,2022-05-31,7
+8882,2022-06-01,7
+8883,2022-06-02,7
+8884,2022-06-03,7
+8885,2022-06-04,7
+8886,2022-06-05,7
+8887,2022-06-06,7
+8888,2022-06-07,7
+8889,2022-06-08,7
+8890,2022-06-09,7
+8891,2022-06-10,7
+8892,2022-06-11,7
+8893,2022-06-12,7
+8894,2022-06-13,7
+8895,2022-06-14,7
+8896,2022-06-15,7
+8897,2022-06-16,7
+8898,2022-06-17,7
+8899,2022-06-18,7
+8900,2022-06-19,7
+8901,2022-06-20,7
+8902,2022-06-21,7
+8903,2022-06-22,7
+8904,2022-06-23,7
+8905,2022-06-24,7
+8906,2022-06-25,7
+8907,2022-06-26,7
+8908,2022-06-27,7
+8909,2022-06-28,7
+8910,2022-06-29,7
+8911,2022-06-30,7
+8912,2022-07-01,7
+8913,2022-07-02,7
+8914,2022-07-03,7
+8915,2022-07-04,7
+8916,2022-07-05,7
+8917,2022-07-06,7
+8918,2022-07-07,7
+8919,2022-07-08,7
+8920,2022-07-09,7
+8921,2022-07-10,7
+8922,2022-07-11,7
+8923,2022-07-12,7
+8924,2022-07-13,7
+8925,2022-07-14,7
+8926,2022-07-15,7
+8927,2022-07-16,7
+8928,2022-07-17,7
+8929,2022-07-18,7
+8930,2022-07-19,7
+8931,2022-07-20,7
+8932,2022-07-21,7
+8933,2022-07-22,7
+8934,2022-07-23,7
+8935,2022-07-24,7
+8936,2022-07-25,7
+8937,2022-07-26,7
+8938,2022-07-27,7
+8939,2022-07-28,7
+8940,2022-07-29,7
+8941,2022-07-30,7
+8942,2022-07-31,7
+8943,2022-08-01,7
+8944,2022-08-02,7
+8945,2022-08-03,7
+8946,2022-08-04,7
+8947,2022-08-05,7
+8948,2022-08-06,7
+8949,2022-08-07,7
+8950,2022-08-08,7
+8951,2022-08-09,7
+8952,2022-08-10,7
+8953,2022-08-11,7
+8954,2022-08-12,7
+8955,2022-08-13,7
+8956,2022-08-14,7
+8957,2022-08-15,7
+8958,2022-08-16,7
+8959,2022-08-17,7
+8960,2022-08-18,7
+8961,2022-08-19,7
+8962,2022-08-20,7
+8963,2022-08-21,7
+8964,2022-08-22,7
+8965,2022-08-23,7
+8966,2022-08-24,7
+8967,2022-08-25,7
+8968,2022-08-26,7
+8969,2022-08-27,7
+8970,2022-08-28,7
+8971,2022-08-29,7
+8972,2022-08-30,7
+8973,2022-08-31,7
+8974,2022-09-01,7
+8975,2022-09-02,7
+8976,2022-09-03,7
+8977,2022-09-04,7
+8978,2022-09-05,7
+8979,2022-09-06,7
+8980,2022-09-07,7
+8981,2022-09-08,7
+8982,2022-09-09,7
+8983,2022-09-10,7
+8984,2022-09-11,7
+8985,2022-09-12,7
+8986,2022-09-13,7
+8987,2022-09-14,7
+8988,2022-09-15,7
+8989,2022-09-16,7
+8990,2022-09-17,7
+8991,2022-09-18,7
+8992,2022-09-19,7
+8993,2022-09-20,7
+8994,2022-09-21,7
+8995,2022-09-22,7
+8996,2022-09-23,7
+8997,2022-09-24,7
+8998,2022-09-25,7
+8999,2022-09-26,7
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_8.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_8.csv
index 56da1d9..c1cb37a 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_8.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_8.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-9000,2020-01-01,8
-9001,2020-01-02,8
-9002,2020-01-03,8
-9003,2020-01-04,8
-9004,2020-01-05,8
-9005,2020-01-06,8
-9006,2020-01-07,8
-9007,2020-01-08,8
-9008,2020-01-09,8
-9009,2020-01-10,8
-9010,2020-01-11,8
-9011,2020-01-12,8
-9012,2020-01-13,8
-9013,2020-01-14,8
-9014,2020-01-15,8
-9015,2020-01-16,8
-9016,2020-01-17,8
-9017,2020-01-18,8
-9018,2020-01-19,8
-9019,2020-01-20,8
-9020,2020-01-21,8
-9021,2020-01-22,8
-9022,2020-01-23,8
-9023,2020-01-24,8
-9024,2020-01-25,8
-9025,2020-01-26,8
-9026,2020-01-27,8
-9027,2020-01-28,8
-9028,2020-01-29,8
-9029,2020-01-30,8
-9030,2020-01-31,8
-9031,2020-02-01,8
-9032,2020-02-02,8
-9033,2020-02-03,8
-9034,2020-02-04,8
-9035,2020-02-05,8
-9036,2020-02-06,8
-9037,2020-02-07,8
-9038,2020-02-08,8
-9039,2020-02-09,8
-9040,2020-02-10,8
-9041,2020-02-11,8
-9042,2020-02-12,8
-9043,2020-02-13,8
-9044,2020-02-14,8
-9045,2020-02-15,8
-9046,2020-02-16,8
-9047,2020-02-17,8
-9048,2020-02-18,8
-9049,2020-02-19,8
-9050,2020-02-20,8
-9051,2020-02-21,8
-9052,2020-02-22,8
-9053,2020-02-23,8
-9054,2020-02-24,8
-9055,2020-02-25,8
-9056,2020-02-26,8
-9057,2020-02-27,8
-9058,2020-02-28,8
-9059,2020-02-29,8
-9060,2020-03-01,8
-9061,2020-03-02,8
-9062,2020-03-03,8
-9063,2020-03-04,8
-9064,2020-03-05,8
-9065,2020-03-06,8
-9066,2020-03-07,8
-9067,2020-03-08,8
-9068,2020-03-09,8
-9069,2020-03-10,8
-9070,2020-03-11,8
-9071,2020-03-12,8
-9072,2020-03-13,8
-9073,2020-03-14,8
-9074,2020-03-15,8
-9075,2020-03-16,8
-9076,2020-03-17,8
-9077,2020-03-18,8
-9078,2020-03-19,8
-9079,2020-03-20,8
-9080,2020-03-21,8
-9081,2020-03-22,8
-9082,2020-03-23,8
-9083,2020-03-24,8
-9084,2020-03-25,8
-9085,2020-03-26,8
-9086,2020-03-27,8
-9087,2020-03-28,8
-9088,2020-03-29,8
-9089,2020-03-30,8
-9090,2020-03-31,8
-9091,2020-04-01,8
-9092,2020-04-02,8
-9093,2020-04-03,8
-9094,2020-04-04,8
-9095,2020-04-05,8
-9096,2020-04-06,8
-9097,2020-04-07,8
-9098,2020-04-08,8
-9099,2020-04-09,8
-9100,2020-04-10,8
-9101,2020-04-11,8
-9102,2020-04-12,8
-9103,2020-04-13,8
-9104,2020-04-14,8
-9105,2020-04-15,8
-9106,2020-04-16,8
-9107,2020-04-17,8
-9108,2020-04-18,8
-9109,2020-04-19,8
-9110,2020-04-20,8
-9111,2020-04-21,8
-9112,2020-04-22,8
-9113,2020-04-23,8
-9114,2020-04-24,8
-9115,2020-04-25,8
-9116,2020-04-26,8
-9117,2020-04-27,8
-9118,2020-04-28,8
-9119,2020-04-29,8
-9120,2020-04-30,8
-9121,2020-05-01,8
-9122,2020-05-02,8
-9123,2020-05-03,8
-9124,2020-05-04,8
-9125,2020-05-05,8
-9126,2020-05-06,8
-9127,2020-05-07,8
-9128,2020-05-08,8
-9129,2020-05-09,8
-9130,2020-05-10,8
-9131,2020-05-11,8
-9132,2020-05-12,8
-9133,2020-05-13,8
-9134,2020-05-14,8
-9135,2020-05-15,8
-9136,2020-05-16,8
-9137,2020-05-17,8
-9138,2020-05-18,8
-9139,2020-05-19,8
-9140,2020-05-20,8
-9141,2020-05-21,8
-9142,2020-05-22,8
-9143,2020-05-23,8
-9144,2020-05-24,8
-9145,2020-05-25,8
-9146,2020-05-26,8
-9147,2020-05-27,8
-9148,2020-05-28,8
-9149,2020-05-29,8
-9150,2020-05-30,8
-9151,2020-05-31,8
-9152,2020-06-01,8
-9153,2020-06-02,8
-9154,2020-06-03,8
-9155,2020-06-04,8
-9156,2020-06-05,8
-9157,2020-06-06,8
-9158,2020-06-07,8
-9159,2020-06-08,8
-9160,2020-06-09,8
-9161,2020-06-10,8
-9162,2020-06-11,8
-9163,2020-06-12,8
-9164,2020-06-13,8
-9165,2020-06-14,8
-9166,2020-06-15,8
-9167,2020-06-16,8
-9168,2020-06-17,8
-9169,2020-06-18,8
-9170,2020-06-19,8
-9171,2020-06-20,8
-9172,2020-06-21,8
-9173,2020-06-22,8
-9174,2020-06-23,8
-9175,2020-06-24,8
-9176,2020-06-25,8
-9177,2020-06-26,8
-9178,2020-06-27,8
-9179,2020-06-28,8
-9180,2020-06-29,8
-9181,2020-06-30,8
-9182,2020-07-01,8
-9183,2020-07-02,8
-9184,2020-07-03,8
-9185,2020-07-04,8
-9186,2020-07-05,8
-9187,2020-07-06,8
-9188,2020-07-07,8
-9189,2020-07-08,8
-9190,2020-07-09,8
-9191,2020-07-10,8
-9192,2020-07-11,8
-9193,2020-07-12,8
-9194,2020-07-13,8
-9195,2020-07-14,8
-9196,2020-07-15,8
-9197,2020-07-16,8
-9198,2020-07-17,8
-9199,2020-07-18,8
-9200,2020-07-19,8
-9201,2020-07-20,8
-9202,2020-07-21,8
-9203,2020-07-22,8
-9204,2020-07-23,8
-9205,2020-07-24,8
-9206,2020-07-25,8
-9207,2020-07-26,8
-9208,2020-07-27,8
-9209,2020-07-28,8
-9210,2020-07-29,8
-9211,2020-07-30,8
-9212,2020-07-31,8
-9213,2020-08-01,8
-9214,2020-08-02,8
-9215,2020-08-03,8
-9216,2020-08-04,8
-9217,2020-08-05,8
-9218,2020-08-06,8
-9219,2020-08-07,8
-9220,2020-08-08,8
-9221,2020-08-09,8
-9222,2020-08-10,8
-9223,2020-08-11,8
-9224,2020-08-12,8
-9225,2020-08-13,8
-9226,2020-08-14,8
-9227,2020-08-15,8
-9228,2020-08-16,8
-9229,2020-08-17,8
-9230,2020-08-18,8
-9231,2020-08-19,8
-9232,2020-08-20,8
-9233,2020-08-21,8
-9234,2020-08-22,8
-9235,2020-08-23,8
-9236,2020-08-24,8
-9237,2020-08-25,8
-9238,2020-08-26,8
-9239,2020-08-27,8
-9240,2020-08-28,8
-9241,2020-08-29,8
-9242,2020-08-30,8
-9243,2020-08-31,8
-9244,2020-09-01,8
-9245,2020-09-02,8
-9246,2020-09-03,8
-9247,2020-09-04,8
-9248,2020-09-05,8
-9249,2020-09-06,8
-9250,2020-09-07,8
-9251,2020-09-08,8
-9252,2020-09-09,8
-9253,2020-09-10,8
-9254,2020-09-11,8
-9255,2020-09-12,8
-9256,2020-09-13,8
-9257,2020-09-14,8
-9258,2020-09-15,8
-9259,2020-09-16,8
-9260,2020-09-17,8
-9261,2020-09-18,8
-9262,2020-09-19,8
-9263,2020-09-20,8
-9264,2020-09-21,8
-9265,2020-09-22,8
-9266,2020-09-23,8
-9267,2020-09-24,8
-9268,2020-09-25,8
-9269,2020-09-26,8
-9270,2020-09-27,8
-9271,2020-09-28,8
-9272,2020-09-29,8
-9273,2020-09-30,8
-9274,2020-10-01,8
-9275,2020-10-02,8
-9276,2020-10-03,8
-9277,2020-10-04,8
-9278,2020-10-05,8
-9279,2020-10-06,8
-9280,2020-10-07,8
-9281,2020-10-08,8
-9282,2020-10-09,8
-9283,2020-10-10,8
-9284,2020-10-11,8
-9285,2020-10-12,8
-9286,2020-10-13,8
-9287,2020-10-14,8
-9288,2020-10-15,8
-9289,2020-10-16,8
-9290,2020-10-17,8
-9291,2020-10-18,8
-9292,2020-10-19,8
-9293,2020-10-20,8
-9294,2020-10-21,8
-9295,2020-10-22,8
-9296,2020-10-23,8
-9297,2020-10-24,8
-9298,2020-10-25,8
-9299,2020-10-26,8
-9300,2020-10-27,8
-9301,2020-10-28,8
-9302,2020-10-29,8
-9303,2020-10-30,8
-9304,2020-10-31,8
-9305,2020-11-01,8
-9306,2020-11-02,8
-9307,2020-11-03,8
-9308,2020-11-04,8
-9309,2020-11-05,8
-9310,2020-11-06,8
-9311,2020-11-07,8
-9312,2020-11-08,8
-9313,2020-11-09,8
-9314,2020-11-10,8
-9315,2020-11-11,8
-9316,2020-11-12,8
-9317,2020-11-13,8
-9318,2020-11-14,8
-9319,2020-11-15,8
-9320,2020-11-16,8
-9321,2020-11-17,8
-9322,2020-11-18,8
-9323,2020-11-19,8
-9324,2020-11-20,8
-9325,2020-11-21,8
-9326,2020-11-22,8
-9327,2020-11-23,8
-9328,2020-11-24,8
-9329,2020-11-25,8
-9330,2020-11-26,8
-9331,2020-11-27,8
-9332,2020-11-28,8
-9333,2020-11-29,8
-9334,2020-11-30,8
-9335,2020-12-01,8
-9336,2020-12-02,8
-9337,2020-12-03,8
-9338,2020-12-04,8
-9339,2020-12-05,8
-9340,2020-12-06,8
-9341,2020-12-07,8
-9342,2020-12-08,8
-9343,2020-12-09,8
-9344,2020-12-10,8
-9345,2020-12-11,8
-9346,2020-12-12,8
-9347,2020-12-13,8
-9348,2020-12-14,8
-9349,2020-12-15,8
-9350,2020-12-16,8
-9351,2020-12-17,8
-9352,2020-12-18,8
-9353,2020-12-19,8
-9354,2020-12-20,8
-9355,2020-12-21,8
-9356,2020-12-22,8
-9357,2020-12-23,8
-9358,2020-12-24,8
-9359,2020-12-25,8
-9360,2020-12-26,8
-9361,2020-12-27,8
-9362,2020-12-28,8
-9363,2020-12-29,8
-9364,2020-12-30,8
-9365,2020-12-31,8
-9366,2021-01-01,8
-9367,2021-01-02,8
-9368,2021-01-03,8
-9369,2021-01-04,8
-9370,2021-01-05,8
-9371,2021-01-06,8
-9372,2021-01-07,8
-9373,2021-01-08,8
-9374,2021-01-09,8
-9375,2021-01-10,8
-9376,2021-01-11,8
-9377,2021-01-12,8
-9378,2021-01-13,8
-9379,2021-01-14,8
-9380,2021-01-15,8
-9381,2021-01-16,8
-9382,2021-01-17,8
-9383,2021-01-18,8
-9384,2021-01-19,8
-9385,2021-01-20,8
-9386,2021-01-21,8
-9387,2021-01-22,8
-9388,2021-01-23,8
-9389,2021-01-24,8
-9390,2021-01-25,8
-9391,2021-01-26,8
-9392,2021-01-27,8
-9393,2021-01-28,8
-9394,2021-01-29,8
-9395,2021-01-30,8
-9396,2021-01-31,8
-9397,2021-02-01,8
-9398,2021-02-02,8
-9399,2021-02-03,8
-9400,2021-02-04,8
-9401,2021-02-05,8
-9402,2021-02-06,8
-9403,2021-02-07,8
-9404,2021-02-08,8
-9405,2021-02-09,8
-9406,2021-02-10,8
-9407,2021-02-11,8
-9408,2021-02-12,8
-9409,2021-02-13,8
-9410,2021-02-14,8
-9411,2021-02-15,8
-9412,2021-02-16,8
-9413,2021-02-17,8
-9414,2021-02-18,8
-9415,2021-02-19,8
-9416,2021-02-20,8
-9417,2021-02-21,8
-9418,2021-02-22,8
-9419,2021-02-23,8
-9420,2021-02-24,8
-9421,2021-02-25,8
-9422,2021-02-26,8
-9423,2021-02-27,8
-9424,2021-02-28,8
-9425,2021-03-01,8
-9426,2021-03-02,8
-9427,2021-03-03,8
-9428,2021-03-04,8
-9429,2021-03-05,8
-9430,2021-03-06,8
-9431,2021-03-07,8
-9432,2021-03-08,8
-9433,2021-03-09,8
-9434,2021-03-10,8
-9435,2021-03-11,8
-9436,2021-03-12,8
-9437,2021-03-13,8
-9438,2021-03-14,8
-9439,2021-03-15,8
-9440,2021-03-16,8
-9441,2021-03-17,8
-9442,2021-03-18,8
-9443,2021-03-19,8
-9444,2021-03-20,8
-9445,2021-03-21,8
-9446,2021-03-22,8
-9447,2021-03-23,8
-9448,2021-03-24,8
-9449,2021-03-25,8
-9450,2021-03-26,8
-9451,2021-03-27,8
-9452,2021-03-28,8
-9453,2021-03-29,8
-9454,2021-03-30,8
-9455,2021-03-31,8
-9456,2021-04-01,8
-9457,2021-04-02,8
-9458,2021-04-03,8
-9459,2021-04-04,8
-9460,2021-04-05,8
-9461,2021-04-06,8
-9462,2021-04-07,8
-9463,2021-04-08,8
-9464,2021-04-09,8
-9465,2021-04-10,8
-9466,2021-04-11,8
-9467,2021-04-12,8
-9468,2021-04-13,8
-9469,2021-04-14,8
-9470,2021-04-15,8
-9471,2021-04-16,8
-9472,2021-04-17,8
-9473,2021-04-18,8
-9474,2021-04-19,8
-9475,2021-04-20,8
-9476,2021-04-21,8
-9477,2021-04-22,8
-9478,2021-04-23,8
-9479,2021-04-24,8
-9480,2021-04-25,8
-9481,2021-04-26,8
-9482,2021-04-27,8
-9483,2021-04-28,8
-9484,2021-04-29,8
-9485,2021-04-30,8
-9486,2021-05-01,8
-9487,2021-05-02,8
-9488,2021-05-03,8
-9489,2021-05-04,8
-9490,2021-05-05,8
-9491,2021-05-06,8
-9492,2021-05-07,8
-9493,2021-05-08,8
-9494,2021-05-09,8
-9495,2021-05-10,8
-9496,2021-05-11,8
-9497,2021-05-12,8
-9498,2021-05-13,8
-9499,2021-05-14,8
-9500,2021-05-15,8
-9501,2021-05-16,8
-9502,2021-05-17,8
-9503,2021-05-18,8
-9504,2021-05-19,8
-9505,2021-05-20,8
-9506,2021-05-21,8
-9507,2021-05-22,8
-9508,2021-05-23,8
-9509,2021-05-24,8
-9510,2021-05-25,8
-9511,2021-05-26,8
-9512,2021-05-27,8
-9513,2021-05-28,8
-9514,2021-05-29,8
-9515,2021-05-30,8
-9516,2021-05-31,8
-9517,2021-06-01,8
-9518,2021-06-02,8
-9519,2021-06-03,8
-9520,2021-06-04,8
-9521,2021-06-05,8
-9522,2021-06-06,8
-9523,2021-06-07,8
-9524,2021-06-08,8
-9525,2021-06-09,8
-9526,2021-06-10,8
-9527,2021-06-11,8
-9528,2021-06-12,8
-9529,2021-06-13,8
-9530,2021-06-14,8
-9531,2021-06-15,8
-9532,2021-06-16,8
-9533,2021-06-17,8
-9534,2021-06-18,8
-9535,2021-06-19,8
-9536,2021-06-20,8
-9537,2021-06-21,8
-9538,2021-06-22,8
-9539,2021-06-23,8
-9540,2021-06-24,8
-9541,2021-06-25,8
-9542,2021-06-26,8
-9543,2021-06-27,8
-9544,2021-06-28,8
-9545,2021-06-29,8
-9546,2021-06-30,8
-9547,2021-07-01,8
-9548,2021-07-02,8
-9549,2021-07-03,8
-9550,2021-07-04,8
-9551,2021-07-05,8
-9552,2021-07-06,8
-9553,2021-07-07,8
-9554,2021-07-08,8
-9555,2021-07-09,8
-9556,2021-07-10,8
-9557,2021-07-11,8
-9558,2021-07-12,8
-9559,2021-07-13,8
-9560,2021-07-14,8
-9561,2021-07-15,8
-9562,2021-07-16,8
-9563,2021-07-17,8
-9564,2021-07-18,8
-9565,2021-07-19,8
-9566,2021-07-20,8
-9567,2021-07-21,8
-9568,2021-07-22,8
-9569,2021-07-23,8
-9570,2021-07-24,8
-9571,2021-07-25,8
-9572,2021-07-26,8
-9573,2021-07-27,8
-9574,2021-07-28,8
-9575,2021-07-29,8
-9576,2021-07-30,8
-9577,2021-07-31,8
-9578,2021-08-01,8
-9579,2021-08-02,8
-9580,2021-08-03,8
-9581,2021-08-04,8
-9582,2021-08-05,8
-9583,2021-08-06,8
-9584,2021-08-07,8
-9585,2021-08-08,8
-9586,2021-08-09,8
-9587,2021-08-10,8
-9588,2021-08-11,8
-9589,2021-08-12,8
-9590,2021-08-13,8
-9591,2021-08-14,8
-9592,2021-08-15,8
-9593,2021-08-16,8
-9594,2021-08-17,8
-9595,2021-08-18,8
-9596,2021-08-19,8
-9597,2021-08-20,8
-9598,2021-08-21,8
-9599,2021-08-22,8
-9600,2021-08-23,8
-9601,2021-08-24,8
-9602,2021-08-25,8
-9603,2021-08-26,8
-9604,2021-08-27,8
-9605,2021-08-28,8
-9606,2021-08-29,8
-9607,2021-08-30,8
-9608,2021-08-31,8
-9609,2021-09-01,8
-9610,2021-09-02,8
-9611,2021-09-03,8
-9612,2021-09-04,8
-9613,2021-09-05,8
-9614,2021-09-06,8
-9615,2021-09-07,8
-9616,2021-09-08,8
-9617,2021-09-09,8
-9618,2021-09-10,8
-9619,2021-09-11,8
-9620,2021-09-12,8
-9621,2021-09-13,8
-9622,2021-09-14,8
-9623,2021-09-15,8
-9624,2021-09-16,8
-9625,2021-09-17,8
-9626,2021-09-18,8
-9627,2021-09-19,8
-9628,2021-09-20,8
-9629,2021-09-21,8
-9630,2021-09-22,8
-9631,2021-09-23,8
-9632,2021-09-24,8
-9633,2021-09-25,8
-9634,2021-09-26,8
-9635,2021-09-27,8
-9636,2021-09-28,8
-9637,2021-09-29,8
-9638,2021-09-30,8
-9639,2021-10-01,8
-9640,2021-10-02,8
-9641,2021-10-03,8
-9642,2021-10-04,8
-9643,2021-10-05,8
-9644,2021-10-06,8
-9645,2021-10-07,8
-9646,2021-10-08,8
-9647,2021-10-09,8
-9648,2021-10-10,8
-9649,2021-10-11,8
-9650,2021-10-12,8
-9651,2021-10-13,8
-9652,2021-10-14,8
-9653,2021-10-15,8
-9654,2021-10-16,8
-9655,2021-10-17,8
-9656,2021-10-18,8
-9657,2021-10-19,8
-9658,2021-10-20,8
-9659,2021-10-21,8
-9660,2021-10-22,8
-9661,2021-10-23,8
-9662,2021-10-24,8
-9663,2021-10-25,8
-9664,2021-10-26,8
-9665,2021-10-27,8
-9666,2021-10-28,8
-9667,2021-10-29,8
-9668,2021-10-30,8
-9669,2021-10-31,8
-9670,2021-11-01,8
-9671,2021-11-02,8
-9672,2021-11-03,8
-9673,2021-11-04,8
-9674,2021-11-05,8
-9675,2021-11-06,8
-9676,2021-11-07,8
-9677,2021-11-08,8
-9678,2021-11-09,8
-9679,2021-11-10,8
-9680,2021-11-11,8
-9681,2021-11-12,8
-9682,2021-11-13,8
-9683,2021-11-14,8
-9684,2021-11-15,8
-9685,2021-11-16,8
-9686,2021-11-17,8
-9687,2021-11-18,8
-9688,2021-11-19,8
-9689,2021-11-20,8
-9690,2021-11-21,8
-9691,2021-11-22,8
-9692,2021-11-23,8
-9693,2021-11-24,8
-9694,2021-11-25,8
-9695,2021-11-26,8
-9696,2021-11-27,8
-9697,2021-11-28,8
-9698,2021-11-29,8
-9699,2021-11-30,8
-9700,2021-12-01,8
-9701,2021-12-02,8
-9702,2021-12-03,8
-9703,2021-12-04,8
-9704,2021-12-05,8
-9705,2021-12-06,8
-9706,2021-12-07,8
-9707,2021-12-08,8
-9708,2021-12-09,8
-9709,2021-12-10,8
-9710,2021-12-11,8
-9711,2021-12-12,8
-9712,2021-12-13,8
-9713,2021-12-14,8
-9714,2021-12-15,8
-9715,2021-12-16,8
-9716,2021-12-17,8
-9717,2021-12-18,8
-9718,2021-12-19,8
-9719,2021-12-20,8
-9720,2021-12-21,8
-9721,2021-12-22,8
-9722,2021-12-23,8
-9723,2021-12-24,8
-9724,2021-12-25,8
-9725,2021-12-26,8
-9726,2021-12-27,8
-9727,2021-12-28,8
-9728,2021-12-29,8
-9729,2021-12-30,8
-9730,2021-12-31,8
-9731,2022-01-01,8
-9732,2022-01-02,8
-9733,2022-01-03,8
-9734,2022-01-04,8
-9735,2022-01-05,8
-9736,2022-01-06,8
-9737,2022-01-07,8
-9738,2022-01-08,8
-9739,2022-01-09,8
-9740,2022-01-10,8
-9741,2022-01-11,8
-9742,2022-01-12,8
-9743,2022-01-13,8
-9744,2022-01-14,8
-9745,2022-01-15,8
-9746,2022-01-16,8
-9747,2022-01-17,8
-9748,2022-01-18,8
-9749,2022-01-19,8
-9750,2022-01-20,8
-9751,2022-01-21,8
-9752,2022-01-22,8
-9753,2022-01-23,8
-9754,2022-01-24,8
-9755,2022-01-25,8
-9756,2022-01-26,8
-9757,2022-01-27,8
-9758,2022-01-28,8
-9759,2022-01-29,8
-9760,2022-01-30,8
-9761,2022-01-31,8
-9762,2022-02-01,8
-9763,2022-02-02,8
-9764,2022-02-03,8
-9765,2022-02-04,8
-9766,2022-02-05,8
-9767,2022-02-06,8
-9768,2022-02-07,8
-9769,2022-02-08,8
-9770,2022-02-09,8
-9771,2022-02-10,8
-9772,2022-02-11,8
-9773,2022-02-12,8
-9774,2022-02-13,8
-9775,2022-02-14,8
-9776,2022-02-15,8
-9777,2022-02-16,8
-9778,2022-02-17,8
-9779,2022-02-18,8
-9780,2022-02-19,8
-9781,2022-02-20,8
-9782,2022-02-21,8
-9783,2022-02-22,8
-9784,2022-02-23,8
-9785,2022-02-24,8
-9786,2022-02-25,8
-9787,2022-02-26,8
-9788,2022-02-27,8
-9789,2022-02-28,8
-9790,2022-03-01,8
-9791,2022-03-02,8
-9792,2022-03-03,8
-9793,2022-03-04,8
-9794,2022-03-05,8
-9795,2022-03-06,8
-9796,2022-03-07,8
-9797,2022-03-08,8
-9798,2022-03-09,8
-9799,2022-03-10,8
-9800,2022-03-11,8
-9801,2022-03-12,8
-9802,2022-03-13,8
-9803,2022-03-14,8
-9804,2022-03-15,8
-9805,2022-03-16,8
-9806,2022-03-17,8
-9807,2022-03-18,8
-9808,2022-03-19,8
-9809,2022-03-20,8
-9810,2022-03-21,8
-9811,2022-03-22,8
-9812,2022-03-23,8
-9813,2022-03-24,8
-9814,2022-03-25,8
-9815,2022-03-26,8
-9816,2022-03-27,8
-9817,2022-03-28,8
-9818,2022-03-29,8
-9819,2022-03-30,8
-9820,2022-03-31,8
-9821,2022-04-01,8
-9822,2022-04-02,8
-9823,2022-04-03,8
-9824,2022-04-04,8
-9825,2022-04-05,8
-9826,2022-04-06,8
-9827,2022-04-07,8
-9828,2022-04-08,8
-9829,2022-04-09,8
-9830,2022-04-10,8
-9831,2022-04-11,8
-9832,2022-04-12,8
-9833,2022-04-13,8
-9834,2022-04-14,8
-9835,2022-04-15,8
-9836,2022-04-16,8
-9837,2022-04-17,8
-9838,2022-04-18,8
-9839,2022-04-19,8
-9840,2022-04-20,8
-9841,2022-04-21,8
-9842,2022-04-22,8
-9843,2022-04-23,8
-9844,2022-04-24,8
-9845,2022-04-25,8
-9846,2022-04-26,8
-9847,2022-04-27,8
-9848,2022-04-28,8
-9849,2022-04-29,8
-9850,2022-04-30,8
-9851,2022-05-01,8
-9852,2022-05-02,8
-9853,2022-05-03,8
-9854,2022-05-04,8
-9855,2022-05-05,8
-9856,2022-05-06,8
-9857,2022-05-07,8
-9858,2022-05-08,8
-9859,2022-05-09,8
-9860,2022-05-10,8
-9861,2022-05-11,8
-9862,2022-05-12,8
-9863,2022-05-13,8
-9864,2022-05-14,8
-9865,2022-05-15,8
-9866,2022-05-16,8
-9867,2022-05-17,8
-9868,2022-05-18,8
-9869,2022-05-19,8
-9870,2022-05-20,8
-9871,2022-05-21,8
-9872,2022-05-22,8
-9873,2022-05-23,8
-9874,2022-05-24,8
-9875,2022-05-25,8
-9876,2022-05-26,8
-9877,2022-05-27,8
-9878,2022-05-28,8
-9879,2022-05-29,8
-9880,2022-05-30,8
-9881,2022-05-31,8
-9882,2022-06-01,8
-9883,2022-06-02,8
-9884,2022-06-03,8
-9885,2022-06-04,8
-9886,2022-06-05,8
-9887,2022-06-06,8
-9888,2022-06-07,8
-9889,2022-06-08,8
-9890,2022-06-09,8
-9891,2022-06-10,8
-9892,2022-06-11,8
-9893,2022-06-12,8
-9894,2022-06-13,8
-9895,2022-06-14,8
-9896,2022-06-15,8
-9897,2022-06-16,8
-9898,2022-06-17,8
-9899,2022-06-18,8
-9900,2022-06-19,8
-9901,2022-06-20,8
-9902,2022-06-21,8
-9903,2022-06-22,8
-9904,2022-06-23,8
-9905,2022-06-24,8
-9906,2022-06-25,8
-9907,2022-06-26,8
-9908,2022-06-27,8
-9909,2022-06-28,8
-9910,2022-06-29,8
-9911,2022-06-30,8
-9912,2022-07-01,8
-9913,2022-07-02,8
-9914,2022-07-03,8
-9915,2022-07-04,8
-9916,2022-07-05,8
-9917,2022-07-06,8
-9918,2022-07-07,8
-9919,2022-07-08,8
-9920,2022-07-09,8
-9921,2022-07-10,8
-9922,2022-07-11,8
-9923,2022-07-12,8
-9924,2022-07-13,8
-9925,2022-07-14,8
-9926,2022-07-15,8
-9927,2022-07-16,8
-9928,2022-07-17,8
-9929,2022-07-18,8
-9930,2022-07-19,8
-9931,2022-07-20,8
-9932,2022-07-21,8
-9933,2022-07-22,8
-9934,2022-07-23,8
-9935,2022-07-24,8
-9936,2022-07-25,8
-9937,2022-07-26,8
-9938,2022-07-27,8
-9939,2022-07-28,8
-9940,2022-07-29,8
-9941,2022-07-30,8
-9942,2022-07-31,8
-9943,2022-08-01,8
-9944,2022-08-02,8
-9945,2022-08-03,8
-9946,2022-08-04,8
-9947,2022-08-05,8
-9948,2022-08-06,8
-9949,2022-08-07,8
-9950,2022-08-08,8
-9951,2022-08-09,8
-9952,2022-08-10,8
-9953,2022-08-11,8
-9954,2022-08-12,8
-9955,2022-08-13,8
-9956,2022-08-14,8
-9957,2022-08-15,8
-9958,2022-08-16,8
-9959,2022-08-17,8
-9960,2022-08-18,8
-9961,2022-08-19,8
-9962,2022-08-20,8
-9963,2022-08-21,8
-9964,2022-08-22,8
-9965,2022-08-23,8
-9966,2022-08-24,8
-9967,2022-08-25,8
-9968,2022-08-26,8
-9969,2022-08-27,8
-9970,2022-08-28,8
-9971,2022-08-29,8
-9972,2022-08-30,8
-9973,2022-08-31,8
-9974,2022-09-01,8
-9975,2022-09-02,8
-9976,2022-09-03,8
-9977,2022-09-04,8
-9978,2022-09-05,8
-9979,2022-09-06,8
-9980,2022-09-07,8
-9981,2022-09-08,8
-9982,2022-09-09,8
-9983,2022-09-10,8
-9984,2022-09-11,8
-9985,2022-09-12,8
-9986,2022-09-13,8
-9987,2022-09-14,8
-9988,2022-09-15,8
-9989,2022-09-16,8
-9990,2022-09-17,8
-9991,2022-09-18,8
-9992,2022-09-19,8
-9993,2022-09-20,8
-9994,2022-09-21,8
-9995,2022-09-22,8
-9996,2022-09-23,8
-9997,2022-09-24,8
-9998,2022-09-25,8
-9999,2022-09-26,8
+value,date,id
+9000,2020-01-01,8
+9001,2020-01-02,8
+9002,2020-01-03,8
+9003,2020-01-04,8
+9004,2020-01-05,8
+9005,2020-01-06,8
+9006,2020-01-07,8
+9007,2020-01-08,8
+9008,2020-01-09,8
+9009,2020-01-10,8
+9010,2020-01-11,8
+9011,2020-01-12,8
+9012,2020-01-13,8
+9013,2020-01-14,8
+9014,2020-01-15,8
+9015,2020-01-16,8
+9016,2020-01-17,8
+9017,2020-01-18,8
+9018,2020-01-19,8
+9019,2020-01-20,8
+9020,2020-01-21,8
+9021,2020-01-22,8
+9022,2020-01-23,8
+9023,2020-01-24,8
+9024,2020-01-25,8
+9025,2020-01-26,8
+9026,2020-01-27,8
+9027,2020-01-28,8
+9028,2020-01-29,8
+9029,2020-01-30,8
+9030,2020-01-31,8
+9031,2020-02-01,8
+9032,2020-02-02,8
+9033,2020-02-03,8
+9034,2020-02-04,8
+9035,2020-02-05,8
+9036,2020-02-06,8
+9037,2020-02-07,8
+9038,2020-02-08,8
+9039,2020-02-09,8
+9040,2020-02-10,8
+9041,2020-02-11,8
+9042,2020-02-12,8
+9043,2020-02-13,8
+9044,2020-02-14,8
+9045,2020-02-15,8
+9046,2020-02-16,8
+9047,2020-02-17,8
+9048,2020-02-18,8
+9049,2020-02-19,8
+9050,2020-02-20,8
+9051,2020-02-21,8
+9052,2020-02-22,8
+9053,2020-02-23,8
+9054,2020-02-24,8
+9055,2020-02-25,8
+9056,2020-02-26,8
+9057,2020-02-27,8
+9058,2020-02-28,8
+9059,2020-02-29,8
+9060,2020-03-01,8
+9061,2020-03-02,8
+9062,2020-03-03,8
+9063,2020-03-04,8
+9064,2020-03-05,8
+9065,2020-03-06,8
+9066,2020-03-07,8
+9067,2020-03-08,8
+9068,2020-03-09,8
+9069,2020-03-10,8
+9070,2020-03-11,8
+9071,2020-03-12,8
+9072,2020-03-13,8
+9073,2020-03-14,8
+9074,2020-03-15,8
+9075,2020-03-16,8
+9076,2020-03-17,8
+9077,2020-03-18,8
+9078,2020-03-19,8
+9079,2020-03-20,8
+9080,2020-03-21,8
+9081,2020-03-22,8
+9082,2020-03-23,8
+9083,2020-03-24,8
+9084,2020-03-25,8
+9085,2020-03-26,8
+9086,2020-03-27,8
+9087,2020-03-28,8
+9088,2020-03-29,8
+9089,2020-03-30,8
+9090,2020-03-31,8
+9091,2020-04-01,8
+9092,2020-04-02,8
+9093,2020-04-03,8
+9094,2020-04-04,8
+9095,2020-04-05,8
+9096,2020-04-06,8
+9097,2020-04-07,8
+9098,2020-04-08,8
+9099,2020-04-09,8
+9100,2020-04-10,8
+9101,2020-04-11,8
+9102,2020-04-12,8
+9103,2020-04-13,8
+9104,2020-04-14,8
+9105,2020-04-15,8
+9106,2020-04-16,8
+9107,2020-04-17,8
+9108,2020-04-18,8
+9109,2020-04-19,8
+9110,2020-04-20,8
+9111,2020-04-21,8
+9112,2020-04-22,8
+9113,2020-04-23,8
+9114,2020-04-24,8
+9115,2020-04-25,8
+9116,2020-04-26,8
+9117,2020-04-27,8
+9118,2020-04-28,8
+9119,2020-04-29,8
+9120,2020-04-30,8
+9121,2020-05-01,8
+9122,2020-05-02,8
+9123,2020-05-03,8
+9124,2020-05-04,8
+9125,2020-05-05,8
+9126,2020-05-06,8
+9127,2020-05-07,8
+9128,2020-05-08,8
+9129,2020-05-09,8
+9130,2020-05-10,8
+9131,2020-05-11,8
+9132,2020-05-12,8
+9133,2020-05-13,8
+9134,2020-05-14,8
+9135,2020-05-15,8
+9136,2020-05-16,8
+9137,2020-05-17,8
+9138,2020-05-18,8
+9139,2020-05-19,8
+9140,2020-05-20,8
+9141,2020-05-21,8
+9142,2020-05-22,8
+9143,2020-05-23,8
+9144,2020-05-24,8
+9145,2020-05-25,8
+9146,2020-05-26,8
+9147,2020-05-27,8
+9148,2020-05-28,8
+9149,2020-05-29,8
+9150,2020-05-30,8
+9151,2020-05-31,8
+9152,2020-06-01,8
+9153,2020-06-02,8
+9154,2020-06-03,8
+9155,2020-06-04,8
+9156,2020-06-05,8
+9157,2020-06-06,8
+9158,2020-06-07,8
+9159,2020-06-08,8
+9160,2020-06-09,8
+9161,2020-06-10,8
+9162,2020-06-11,8
+9163,2020-06-12,8
+9164,2020-06-13,8
+9165,2020-06-14,8
+9166,2020-06-15,8
+9167,2020-06-16,8
+9168,2020-06-17,8
+9169,2020-06-18,8
+9170,2020-06-19,8
+9171,2020-06-20,8
+9172,2020-06-21,8
+9173,2020-06-22,8
+9174,2020-06-23,8
+9175,2020-06-24,8
+9176,2020-06-25,8
+9177,2020-06-26,8
+9178,2020-06-27,8
+9179,2020-06-28,8
+9180,2020-06-29,8
+9181,2020-06-30,8
+9182,2020-07-01,8
+9183,2020-07-02,8
+9184,2020-07-03,8
+9185,2020-07-04,8
+9186,2020-07-05,8
+9187,2020-07-06,8
+9188,2020-07-07,8
+9189,2020-07-08,8
+9190,2020-07-09,8
+9191,2020-07-10,8
+9192,2020-07-11,8
+9193,2020-07-12,8
+9194,2020-07-13,8
+9195,2020-07-14,8
+9196,2020-07-15,8
+9197,2020-07-16,8
+9198,2020-07-17,8
+9199,2020-07-18,8
+9200,2020-07-19,8
+9201,2020-07-20,8
+9202,2020-07-21,8
+9203,2020-07-22,8
+9204,2020-07-23,8
+9205,2020-07-24,8
+9206,2020-07-25,8
+9207,2020-07-26,8
+9208,2020-07-27,8
+9209,2020-07-28,8
+9210,2020-07-29,8
+9211,2020-07-30,8
+9212,2020-07-31,8
+9213,2020-08-01,8
+9214,2020-08-02,8
+9215,2020-08-03,8
+9216,2020-08-04,8
+9217,2020-08-05,8
+9218,2020-08-06,8
+9219,2020-08-07,8
+9220,2020-08-08,8
+9221,2020-08-09,8
+9222,2020-08-10,8
+9223,2020-08-11,8
+9224,2020-08-12,8
+9225,2020-08-13,8
+9226,2020-08-14,8
+9227,2020-08-15,8
+9228,2020-08-16,8
+9229,2020-08-17,8
+9230,2020-08-18,8
+9231,2020-08-19,8
+9232,2020-08-20,8
+9233,2020-08-21,8
+9234,2020-08-22,8
+9235,2020-08-23,8
+9236,2020-08-24,8
+9237,2020-08-25,8
+9238,2020-08-26,8
+9239,2020-08-27,8
+9240,2020-08-28,8
+9241,2020-08-29,8
+9242,2020-08-30,8
+9243,2020-08-31,8
+9244,2020-09-01,8
+9245,2020-09-02,8
+9246,2020-09-03,8
+9247,2020-09-04,8
+9248,2020-09-05,8
+9249,2020-09-06,8
+9250,2020-09-07,8
+9251,2020-09-08,8
+9252,2020-09-09,8
+9253,2020-09-10,8
+9254,2020-09-11,8
+9255,2020-09-12,8
+9256,2020-09-13,8
+9257,2020-09-14,8
+9258,2020-09-15,8
+9259,2020-09-16,8
+9260,2020-09-17,8
+9261,2020-09-18,8
+9262,2020-09-19,8
+9263,2020-09-20,8
+9264,2020-09-21,8
+9265,2020-09-22,8
+9266,2020-09-23,8
+9267,2020-09-24,8
+9268,2020-09-25,8
+9269,2020-09-26,8
+9270,2020-09-27,8
+9271,2020-09-28,8
+9272,2020-09-29,8
+9273,2020-09-30,8
+9274,2020-10-01,8
+9275,2020-10-02,8
+9276,2020-10-03,8
+9277,2020-10-04,8
+9278,2020-10-05,8
+9279,2020-10-06,8
+9280,2020-10-07,8
+9281,2020-10-08,8
+9282,2020-10-09,8
+9283,2020-10-10,8
+9284,2020-10-11,8
+9285,2020-10-12,8
+9286,2020-10-13,8
+9287,2020-10-14,8
+9288,2020-10-15,8
+9289,2020-10-16,8
+9290,2020-10-17,8
+9291,2020-10-18,8
+9292,2020-10-19,8
+9293,2020-10-20,8
+9294,2020-10-21,8
+9295,2020-10-22,8
+9296,2020-10-23,8
+9297,2020-10-24,8
+9298,2020-10-25,8
+9299,2020-10-26,8
+9300,2020-10-27,8
+9301,2020-10-28,8
+9302,2020-10-29,8
+9303,2020-10-30,8
+9304,2020-10-31,8
+9305,2020-11-01,8
+9306,2020-11-02,8
+9307,2020-11-03,8
+9308,2020-11-04,8
+9309,2020-11-05,8
+9310,2020-11-06,8
+9311,2020-11-07,8
+9312,2020-11-08,8
+9313,2020-11-09,8
+9314,2020-11-10,8
+9315,2020-11-11,8
+9316,2020-11-12,8
+9317,2020-11-13,8
+9318,2020-11-14,8
+9319,2020-11-15,8
+9320,2020-11-16,8
+9321,2020-11-17,8
+9322,2020-11-18,8
+9323,2020-11-19,8
+9324,2020-11-20,8
+9325,2020-11-21,8
+9326,2020-11-22,8
+9327,2020-11-23,8
+9328,2020-11-24,8
+9329,2020-11-25,8
+9330,2020-11-26,8
+9331,2020-11-27,8
+9332,2020-11-28,8
+9333,2020-11-29,8
+9334,2020-11-30,8
+9335,2020-12-01,8
+9336,2020-12-02,8
+9337,2020-12-03,8
+9338,2020-12-04,8
+9339,2020-12-05,8
+9340,2020-12-06,8
+9341,2020-12-07,8
+9342,2020-12-08,8
+9343,2020-12-09,8
+9344,2020-12-10,8
+9345,2020-12-11,8
+9346,2020-12-12,8
+9347,2020-12-13,8
+9348,2020-12-14,8
+9349,2020-12-15,8
+9350,2020-12-16,8
+9351,2020-12-17,8
+9352,2020-12-18,8
+9353,2020-12-19,8
+9354,2020-12-20,8
+9355,2020-12-21,8
+9356,2020-12-22,8
+9357,2020-12-23,8
+9358,2020-12-24,8
+9359,2020-12-25,8
+9360,2020-12-26,8
+9361,2020-12-27,8
+9362,2020-12-28,8
+9363,2020-12-29,8
+9364,2020-12-30,8
+9365,2020-12-31,8
+9366,2021-01-01,8
+9367,2021-01-02,8
+9368,2021-01-03,8
+9369,2021-01-04,8
+9370,2021-01-05,8
+9371,2021-01-06,8
+9372,2021-01-07,8
+9373,2021-01-08,8
+9374,2021-01-09,8
+9375,2021-01-10,8
+9376,2021-01-11,8
+9377,2021-01-12,8
+9378,2021-01-13,8
+9379,2021-01-14,8
+9380,2021-01-15,8
+9381,2021-01-16,8
+9382,2021-01-17,8
+9383,2021-01-18,8
+9384,2021-01-19,8
+9385,2021-01-20,8
+9386,2021-01-21,8
+9387,2021-01-22,8
+9388,2021-01-23,8
+9389,2021-01-24,8
+9390,2021-01-25,8
+9391,2021-01-26,8
+9392,2021-01-27,8
+9393,2021-01-28,8
+9394,2021-01-29,8
+9395,2021-01-30,8
+9396,2021-01-31,8
+9397,2021-02-01,8
+9398,2021-02-02,8
+9399,2021-02-03,8
+9400,2021-02-04,8
+9401,2021-02-05,8
+9402,2021-02-06,8
+9403,2021-02-07,8
+9404,2021-02-08,8
+9405,2021-02-09,8
+9406,2021-02-10,8
+9407,2021-02-11,8
+9408,2021-02-12,8
+9409,2021-02-13,8
+9410,2021-02-14,8
+9411,2021-02-15,8
+9412,2021-02-16,8
+9413,2021-02-17,8
+9414,2021-02-18,8
+9415,2021-02-19,8
+9416,2021-02-20,8
+9417,2021-02-21,8
+9418,2021-02-22,8
+9419,2021-02-23,8
+9420,2021-02-24,8
+9421,2021-02-25,8
+9422,2021-02-26,8
+9423,2021-02-27,8
+9424,2021-02-28,8
+9425,2021-03-01,8
+9426,2021-03-02,8
+9427,2021-03-03,8
+9428,2021-03-04,8
+9429,2021-03-05,8
+9430,2021-03-06,8
+9431,2021-03-07,8
+9432,2021-03-08,8
+9433,2021-03-09,8
+9434,2021-03-10,8
+9435,2021-03-11,8
+9436,2021-03-12,8
+9437,2021-03-13,8
+9438,2021-03-14,8
+9439,2021-03-15,8
+9440,2021-03-16,8
+9441,2021-03-17,8
+9442,2021-03-18,8
+9443,2021-03-19,8
+9444,2021-03-20,8
+9445,2021-03-21,8
+9446,2021-03-22,8
+9447,2021-03-23,8
+9448,2021-03-24,8
+9449,2021-03-25,8
+9450,2021-03-26,8
+9451,2021-03-27,8
+9452,2021-03-28,8
+9453,2021-03-29,8
+9454,2021-03-30,8
+9455,2021-03-31,8
+9456,2021-04-01,8
+9457,2021-04-02,8
+9458,2021-04-03,8
+9459,2021-04-04,8
+9460,2021-04-05,8
+9461,2021-04-06,8
+9462,2021-04-07,8
+9463,2021-04-08,8
+9464,2021-04-09,8
+9465,2021-04-10,8
+9466,2021-04-11,8
+9467,2021-04-12,8
+9468,2021-04-13,8
+9469,2021-04-14,8
+9470,2021-04-15,8
+9471,2021-04-16,8
+9472,2021-04-17,8
+9473,2021-04-18,8
+9474,2021-04-19,8
+9475,2021-04-20,8
+9476,2021-04-21,8
+9477,2021-04-22,8
+9478,2021-04-23,8
+9479,2021-04-24,8
+9480,2021-04-25,8
+9481,2021-04-26,8
+9482,2021-04-27,8
+9483,2021-04-28,8
+9484,2021-04-29,8
+9485,2021-04-30,8
+9486,2021-05-01,8
+9487,2021-05-02,8
+9488,2021-05-03,8
+9489,2021-05-04,8
+9490,2021-05-05,8
+9491,2021-05-06,8
+9492,2021-05-07,8
+9493,2021-05-08,8
+9494,2021-05-09,8
+9495,2021-05-10,8
+9496,2021-05-11,8
+9497,2021-05-12,8
+9498,2021-05-13,8
+9499,2021-05-14,8
+9500,2021-05-15,8
+9501,2021-05-16,8
+9502,2021-05-17,8
+9503,2021-05-18,8
+9504,2021-05-19,8
+9505,2021-05-20,8
+9506,2021-05-21,8
+9507,2021-05-22,8
+9508,2021-05-23,8
+9509,2021-05-24,8
+9510,2021-05-25,8
+9511,2021-05-26,8
+9512,2021-05-27,8
+9513,2021-05-28,8
+9514,2021-05-29,8
+9515,2021-05-30,8
+9516,2021-05-31,8
+9517,2021-06-01,8
+9518,2021-06-02,8
+9519,2021-06-03,8
+9520,2021-06-04,8
+9521,2021-06-05,8
+9522,2021-06-06,8
+9523,2021-06-07,8
+9524,2021-06-08,8
+9525,2021-06-09,8
+9526,2021-06-10,8
+9527,2021-06-11,8
+9528,2021-06-12,8
+9529,2021-06-13,8
+9530,2021-06-14,8
+9531,2021-06-15,8
+9532,2021-06-16,8
+9533,2021-06-17,8
+9534,2021-06-18,8
+9535,2021-06-19,8
+9536,2021-06-20,8
+9537,2021-06-21,8
+9538,2021-06-22,8
+9539,2021-06-23,8
+9540,2021-06-24,8
+9541,2021-06-25,8
+9542,2021-06-26,8
+9543,2021-06-27,8
+9544,2021-06-28,8
+9545,2021-06-29,8
+9546,2021-06-30,8
+9547,2021-07-01,8
+9548,2021-07-02,8
+9549,2021-07-03,8
+9550,2021-07-04,8
+9551,2021-07-05,8
+9552,2021-07-06,8
+9553,2021-07-07,8
+9554,2021-07-08,8
+9555,2021-07-09,8
+9556,2021-07-10,8
+9557,2021-07-11,8
+9558,2021-07-12,8
+9559,2021-07-13,8
+9560,2021-07-14,8
+9561,2021-07-15,8
+9562,2021-07-16,8
+9563,2021-07-17,8
+9564,2021-07-18,8
+9565,2021-07-19,8
+9566,2021-07-20,8
+9567,2021-07-21,8
+9568,2021-07-22,8
+9569,2021-07-23,8
+9570,2021-07-24,8
+9571,2021-07-25,8
+9572,2021-07-26,8
+9573,2021-07-27,8
+9574,2021-07-28,8
+9575,2021-07-29,8
+9576,2021-07-30,8
+9577,2021-07-31,8
+9578,2021-08-01,8
+9579,2021-08-02,8
+9580,2021-08-03,8
+9581,2021-08-04,8
+9582,2021-08-05,8
+9583,2021-08-06,8
+9584,2021-08-07,8
+9585,2021-08-08,8
+9586,2021-08-09,8
+9587,2021-08-10,8
+9588,2021-08-11,8
+9589,2021-08-12,8
+9590,2021-08-13,8
+9591,2021-08-14,8
+9592,2021-08-15,8
+9593,2021-08-16,8
+9594,2021-08-17,8
+9595,2021-08-18,8
+9596,2021-08-19,8
+9597,2021-08-20,8
+9598,2021-08-21,8
+9599,2021-08-22,8
+9600,2021-08-23,8
+9601,2021-08-24,8
+9602,2021-08-25,8
+9603,2021-08-26,8
+9604,2021-08-27,8
+9605,2021-08-28,8
+9606,2021-08-29,8
+9607,2021-08-30,8
+9608,2021-08-31,8
+9609,2021-09-01,8
+9610,2021-09-02,8
+9611,2021-09-03,8
+9612,2021-09-04,8
+9613,2021-09-05,8
+9614,2021-09-06,8
+9615,2021-09-07,8
+9616,2021-09-08,8
+9617,2021-09-09,8
+9618,2021-09-10,8
+9619,2021-09-11,8
+9620,2021-09-12,8
+9621,2021-09-13,8
+9622,2021-09-14,8
+9623,2021-09-15,8
+9624,2021-09-16,8
+9625,2021-09-17,8
+9626,2021-09-18,8
+9627,2021-09-19,8
+9628,2021-09-20,8
+9629,2021-09-21,8
+9630,2021-09-22,8
+9631,2021-09-23,8
+9632,2021-09-24,8
+9633,2021-09-25,8
+9634,2021-09-26,8
+9635,2021-09-27,8
+9636,2021-09-28,8
+9637,2021-09-29,8
+9638,2021-09-30,8
+9639,2021-10-01,8
+9640,2021-10-02,8
+9641,2021-10-03,8
+9642,2021-10-04,8
+9643,2021-10-05,8
+9644,2021-10-06,8
+9645,2021-10-07,8
+9646,2021-10-08,8
+9647,2021-10-09,8
+9648,2021-10-10,8
+9649,2021-10-11,8
+9650,2021-10-12,8
+9651,2021-10-13,8
+9652,2021-10-14,8
+9653,2021-10-15,8
+9654,2021-10-16,8
+9655,2021-10-17,8
+9656,2021-10-18,8
+9657,2021-10-19,8
+9658,2021-10-20,8
+9659,2021-10-21,8
+9660,2021-10-22,8
+9661,2021-10-23,8
+9662,2021-10-24,8
+9663,2021-10-25,8
+9664,2021-10-26,8
+9665,2021-10-27,8
+9666,2021-10-28,8
+9667,2021-10-29,8
+9668,2021-10-30,8
+9669,2021-10-31,8
+9670,2021-11-01,8
+9671,2021-11-02,8
+9672,2021-11-03,8
+9673,2021-11-04,8
+9674,2021-11-05,8
+9675,2021-11-06,8
+9676,2021-11-07,8
+9677,2021-11-08,8
+9678,2021-11-09,8
+9679,2021-11-10,8
+9680,2021-11-11,8
+9681,2021-11-12,8
+9682,2021-11-13,8
+9683,2021-11-14,8
+9684,2021-11-15,8
+9685,2021-11-16,8
+9686,2021-11-17,8
+9687,2021-11-18,8
+9688,2021-11-19,8
+9689,2021-11-20,8
+9690,2021-11-21,8
+9691,2021-11-22,8
+9692,2021-11-23,8
+9693,2021-11-24,8
+9694,2021-11-25,8
+9695,2021-11-26,8
+9696,2021-11-27,8
+9697,2021-11-28,8
+9698,2021-11-29,8
+9699,2021-11-30,8
+9700,2021-12-01,8
+9701,2021-12-02,8
+9702,2021-12-03,8
+9703,2021-12-04,8
+9704,2021-12-05,8
+9705,2021-12-06,8
+9706,2021-12-07,8
+9707,2021-12-08,8
+9708,2021-12-09,8
+9709,2021-12-10,8
+9710,2021-12-11,8
+9711,2021-12-12,8
+9712,2021-12-13,8
+9713,2021-12-14,8
+9714,2021-12-15,8
+9715,2021-12-16,8
+9716,2021-12-17,8
+9717,2021-12-18,8
+9718,2021-12-19,8
+9719,2021-12-20,8
+9720,2021-12-21,8
+9721,2021-12-22,8
+9722,2021-12-23,8
+9723,2021-12-24,8
+9724,2021-12-25,8
+9725,2021-12-26,8
+9726,2021-12-27,8
+9727,2021-12-28,8
+9728,2021-12-29,8
+9729,2021-12-30,8
+9730,2021-12-31,8
+9731,2022-01-01,8
+9732,2022-01-02,8
+9733,2022-01-03,8
+9734,2022-01-04,8
+9735,2022-01-05,8
+9736,2022-01-06,8
+9737,2022-01-07,8
+9738,2022-01-08,8
+9739,2022-01-09,8
+9740,2022-01-10,8
+9741,2022-01-11,8
+9742,2022-01-12,8
+9743,2022-01-13,8
+9744,2022-01-14,8
+9745,2022-01-15,8
+9746,2022-01-16,8
+9747,2022-01-17,8
+9748,2022-01-18,8
+9749,2022-01-19,8
+9750,2022-01-20,8
+9751,2022-01-21,8
+9752,2022-01-22,8
+9753,2022-01-23,8
+9754,2022-01-24,8
+9755,2022-01-25,8
+9756,2022-01-26,8
+9757,2022-01-27,8
+9758,2022-01-28,8
+9759,2022-01-29,8
+9760,2022-01-30,8
+9761,2022-01-31,8
+9762,2022-02-01,8
+9763,2022-02-02,8
+9764,2022-02-03,8
+9765,2022-02-04,8
+9766,2022-02-05,8
+9767,2022-02-06,8
+9768,2022-02-07,8
+9769,2022-02-08,8
+9770,2022-02-09,8
+9771,2022-02-10,8
+9772,2022-02-11,8
+9773,2022-02-12,8
+9774,2022-02-13,8
+9775,2022-02-14,8
+9776,2022-02-15,8
+9777,2022-02-16,8
+9778,2022-02-17,8
+9779,2022-02-18,8
+9780,2022-02-19,8
+9781,2022-02-20,8
+9782,2022-02-21,8
+9783,2022-02-22,8
+9784,2022-02-23,8
+9785,2022-02-24,8
+9786,2022-02-25,8
+9787,2022-02-26,8
+9788,2022-02-27,8
+9789,2022-02-28,8
+9790,2022-03-01,8
+9791,2022-03-02,8
+9792,2022-03-03,8
+9793,2022-03-04,8
+9794,2022-03-05,8
+9795,2022-03-06,8
+9796,2022-03-07,8
+9797,2022-03-08,8
+9798,2022-03-09,8
+9799,2022-03-10,8
+9800,2022-03-11,8
+9801,2022-03-12,8
+9802,2022-03-13,8
+9803,2022-03-14,8
+9804,2022-03-15,8
+9805,2022-03-16,8
+9806,2022-03-17,8
+9807,2022-03-18,8
+9808,2022-03-19,8
+9809,2022-03-20,8
+9810,2022-03-21,8
+9811,2022-03-22,8
+9812,2022-03-23,8
+9813,2022-03-24,8
+9814,2022-03-25,8
+9815,2022-03-26,8
+9816,2022-03-27,8
+9817,2022-03-28,8
+9818,2022-03-29,8
+9819,2022-03-30,8
+9820,2022-03-31,8
+9821,2022-04-01,8
+9822,2022-04-02,8
+9823,2022-04-03,8
+9824,2022-04-04,8
+9825,2022-04-05,8
+9826,2022-04-06,8
+9827,2022-04-07,8
+9828,2022-04-08,8
+9829,2022-04-09,8
+9830,2022-04-10,8
+9831,2022-04-11,8
+9832,2022-04-12,8
+9833,2022-04-13,8
+9834,2022-04-14,8
+9835,2022-04-15,8
+9836,2022-04-16,8
+9837,2022-04-17,8
+9838,2022-04-18,8
+9839,2022-04-19,8
+9840,2022-04-20,8
+9841,2022-04-21,8
+9842,2022-04-22,8
+9843,2022-04-23,8
+9844,2022-04-24,8
+9845,2022-04-25,8
+9846,2022-04-26,8
+9847,2022-04-27,8
+9848,2022-04-28,8
+9849,2022-04-29,8
+9850,2022-04-30,8
+9851,2022-05-01,8
+9852,2022-05-02,8
+9853,2022-05-03,8
+9854,2022-05-04,8
+9855,2022-05-05,8
+9856,2022-05-06,8
+9857,2022-05-07,8
+9858,2022-05-08,8
+9859,2022-05-09,8
+9860,2022-05-10,8
+9861,2022-05-11,8
+9862,2022-05-12,8
+9863,2022-05-13,8
+9864,2022-05-14,8
+9865,2022-05-15,8
+9866,2022-05-16,8
+9867,2022-05-17,8
+9868,2022-05-18,8
+9869,2022-05-19,8
+9870,2022-05-20,8
+9871,2022-05-21,8
+9872,2022-05-22,8
+9873,2022-05-23,8
+9874,2022-05-24,8
+9875,2022-05-25,8
+9876,2022-05-26,8
+9877,2022-05-27,8
+9878,2022-05-28,8
+9879,2022-05-29,8
+9880,2022-05-30,8
+9881,2022-05-31,8
+9882,2022-06-01,8
+9883,2022-06-02,8
+9884,2022-06-03,8
+9885,2022-06-04,8
+9886,2022-06-05,8
+9887,2022-06-06,8
+9888,2022-06-07,8
+9889,2022-06-08,8
+9890,2022-06-09,8
+9891,2022-06-10,8
+9892,2022-06-11,8
+9893,2022-06-12,8
+9894,2022-06-13,8
+9895,2022-06-14,8
+9896,2022-06-15,8
+9897,2022-06-16,8
+9898,2022-06-17,8
+9899,2022-06-18,8
+9900,2022-06-19,8
+9901,2022-06-20,8
+9902,2022-06-21,8
+9903,2022-06-22,8
+9904,2022-06-23,8
+9905,2022-06-24,8
+9906,2022-06-25,8
+9907,2022-06-26,8
+9908,2022-06-27,8
+9909,2022-06-28,8
+9910,2022-06-29,8
+9911,2022-06-30,8
+9912,2022-07-01,8
+9913,2022-07-02,8
+9914,2022-07-03,8
+9915,2022-07-04,8
+9916,2022-07-05,8
+9917,2022-07-06,8
+9918,2022-07-07,8
+9919,2022-07-08,8
+9920,2022-07-09,8
+9921,2022-07-10,8
+9922,2022-07-11,8
+9923,2022-07-12,8
+9924,2022-07-13,8
+9925,2022-07-14,8
+9926,2022-07-15,8
+9927,2022-07-16,8
+9928,2022-07-17,8
+9929,2022-07-18,8
+9930,2022-07-19,8
+9931,2022-07-20,8
+9932,2022-07-21,8
+9933,2022-07-22,8
+9934,2022-07-23,8
+9935,2022-07-24,8
+9936,2022-07-25,8
+9937,2022-07-26,8
+9938,2022-07-27,8
+9939,2022-07-28,8
+9940,2022-07-29,8
+9941,2022-07-30,8
+9942,2022-07-31,8
+9943,2022-08-01,8
+9944,2022-08-02,8
+9945,2022-08-03,8
+9946,2022-08-04,8
+9947,2022-08-05,8
+9948,2022-08-06,8
+9949,2022-08-07,8
+9950,2022-08-08,8
+9951,2022-08-09,8
+9952,2022-08-10,8
+9953,2022-08-11,8
+9954,2022-08-12,8
+9955,2022-08-13,8
+9956,2022-08-14,8
+9957,2022-08-15,8
+9958,2022-08-16,8
+9959,2022-08-17,8
+9960,2022-08-18,8
+9961,2022-08-19,8
+9962,2022-08-20,8
+9963,2022-08-21,8
+9964,2022-08-22,8
+9965,2022-08-23,8
+9966,2022-08-24,8
+9967,2022-08-25,8
+9968,2022-08-26,8
+9969,2022-08-27,8
+9970,2022-08-28,8
+9971,2022-08-29,8
+9972,2022-08-30,8
+9973,2022-08-31,8
+9974,2022-09-01,8
+9975,2022-09-02,8
+9976,2022-09-03,8
+9977,2022-09-04,8
+9978,2022-09-05,8
+9979,2022-09-06,8
+9980,2022-09-07,8
+9981,2022-09-08,8
+9982,2022-09-09,8
+9983,2022-09-10,8
+9984,2022-09-11,8
+9985,2022-09-12,8
+9986,2022-09-13,8
+9987,2022-09-14,8
+9988,2022-09-15,8
+9989,2022-09-16,8
+9990,2022-09-17,8
+9991,2022-09-18,8
+9992,2022-09-19,8
+9993,2022-09-20,8
+9994,2022-09-21,8
+9995,2022-09-22,8
+9996,2022-09-23,8
+9997,2022-09-24,8
+9998,2022-09-25,8
+9999,2022-09-26,8
diff --git a/datasets/local/simulated_data_to_check/simulated_data_to_check_9.csv b/datasets/local/simulated_data_to_check/simulated_data_to_check_9.csv
index c8eec3b..896f667 100644
--- a/datasets/local/simulated_data_to_check/simulated_data_to_check_9.csv
+++ b/datasets/local/simulated_data_to_check/simulated_data_to_check_9.csv
@@ -1,1001 +1,1001 @@
-value,date,id
-10000,2020-01-01,9
-10001,2020-01-02,9
-10002,2020-01-03,9
-10003,2020-01-04,9
-10004,2020-01-05,9
-10005,2020-01-06,9
-10006,2020-01-07,9
-10007,2020-01-08,9
-10008,2020-01-09,9
-10009,2020-01-10,9
-10010,2020-01-11,9
-10011,2020-01-12,9
-10012,2020-01-13,9
-10013,2020-01-14,9
-10014,2020-01-15,9
-10015,2020-01-16,9
-10016,2020-01-17,9
-10017,2020-01-18,9
-10018,2020-01-19,9
-10019,2020-01-20,9
-10020,2020-01-21,9
-10021,2020-01-22,9
-10022,2020-01-23,9
-10023,2020-01-24,9
-10024,2020-01-25,9
-10025,2020-01-26,9
-10026,2020-01-27,9
-10027,2020-01-28,9
-10028,2020-01-29,9
-10029,2020-01-30,9
-10030,2020-01-31,9
-10031,2020-02-01,9
-10032,2020-02-02,9
-10033,2020-02-03,9
-10034,2020-02-04,9
-10035,2020-02-05,9
-10036,2020-02-06,9
-10037,2020-02-07,9
-10038,2020-02-08,9
-10039,2020-02-09,9
-10040,2020-02-10,9
-10041,2020-02-11,9
-10042,2020-02-12,9
-10043,2020-02-13,9
-10044,2020-02-14,9
-10045,2020-02-15,9
-10046,2020-02-16,9
-10047,2020-02-17,9
-10048,2020-02-18,9
-10049,2020-02-19,9
-10050,2020-02-20,9
-10051,2020-02-21,9
-10052,2020-02-22,9
-10053,2020-02-23,9
-10054,2020-02-24,9
-10055,2020-02-25,9
-10056,2020-02-26,9
-10057,2020-02-27,9
-10058,2020-02-28,9
-10059,2020-02-29,9
-10060,2020-03-01,9
-10061,2020-03-02,9
-10062,2020-03-03,9
-10063,2020-03-04,9
-10064,2020-03-05,9
-10065,2020-03-06,9
-10066,2020-03-07,9
-10067,2020-03-08,9
-10068,2020-03-09,9
-10069,2020-03-10,9
-10070,2020-03-11,9
-10071,2020-03-12,9
-10072,2020-03-13,9
-10073,2020-03-14,9
-10074,2020-03-15,9
-10075,2020-03-16,9
-10076,2020-03-17,9
-10077,2020-03-18,9
-10078,2020-03-19,9
-10079,2020-03-20,9
-10080,2020-03-21,9
-10081,2020-03-22,9
-10082,2020-03-23,9
-10083,2020-03-24,9
-10084,2020-03-25,9
-10085,2020-03-26,9
-10086,2020-03-27,9
-10087,2020-03-28,9
-10088,2020-03-29,9
-10089,2020-03-30,9
-10090,2020-03-31,9
-10091,2020-04-01,9
-10092,2020-04-02,9
-10093,2020-04-03,9
-10094,2020-04-04,9
-10095,2020-04-05,9
-10096,2020-04-06,9
-10097,2020-04-07,9
-10098,2020-04-08,9
-10099,2020-04-09,9
-10100,2020-04-10,9
-10101,2020-04-11,9
-10102,2020-04-12,9
-10103,2020-04-13,9
-10104,2020-04-14,9
-10105,2020-04-15,9
-10106,2020-04-16,9
-10107,2020-04-17,9
-10108,2020-04-18,9
-10109,2020-04-19,9
-10110,2020-04-20,9
-10111,2020-04-21,9
-10112,2020-04-22,9
-10113,2020-04-23,9
-10114,2020-04-24,9
-10115,2020-04-25,9
-10116,2020-04-26,9
-10117,2020-04-27,9
-10118,2020-04-28,9
-10119,2020-04-29,9
-10120,2020-04-30,9
-10121,2020-05-01,9
-10122,2020-05-02,9
-10123,2020-05-03,9
-10124,2020-05-04,9
-10125,2020-05-05,9
-10126,2020-05-06,9
-10127,2020-05-07,9
-10128,2020-05-08,9
-10129,2020-05-09,9
-10130,2020-05-10,9
-10131,2020-05-11,9
-10132,2020-05-12,9
-10133,2020-05-13,9
-10134,2020-05-14,9
-10135,2020-05-15,9
-10136,2020-05-16,9
-10137,2020-05-17,9
-10138,2020-05-18,9
-10139,2020-05-19,9
-10140,2020-05-20,9
-10141,2020-05-21,9
-10142,2020-05-22,9
-10143,2020-05-23,9
-10144,2020-05-24,9
-10145,2020-05-25,9
-10146,2020-05-26,9
-10147,2020-05-27,9
-10148,2020-05-28,9
-10149,2020-05-29,9
-10150,2020-05-30,9
-10151,2020-05-31,9
-10152,2020-06-01,9
-10153,2020-06-02,9
-10154,2020-06-03,9
-10155,2020-06-04,9
-10156,2020-06-05,9
-10157,2020-06-06,9
-10158,2020-06-07,9
-10159,2020-06-08,9
-10160,2020-06-09,9
-10161,2020-06-10,9
-10162,2020-06-11,9
-10163,2020-06-12,9
-10164,2020-06-13,9
-10165,2020-06-14,9
-10166,2020-06-15,9
-10167,2020-06-16,9
-10168,2020-06-17,9
-10169,2020-06-18,9
-10170,2020-06-19,9
-10171,2020-06-20,9
-10172,2020-06-21,9
-10173,2020-06-22,9
-10174,2020-06-23,9
-10175,2020-06-24,9
-10176,2020-06-25,9
-10177,2020-06-26,9
-10178,2020-06-27,9
-10179,2020-06-28,9
-10180,2020-06-29,9
-10181,2020-06-30,9
-10182,2020-07-01,9
-10183,2020-07-02,9
-10184,2020-07-03,9
-10185,2020-07-04,9
-10186,2020-07-05,9
-10187,2020-07-06,9
-10188,2020-07-07,9
-10189,2020-07-08,9
-10190,2020-07-09,9
-10191,2020-07-10,9
-10192,2020-07-11,9
-10193,2020-07-12,9
-10194,2020-07-13,9
-10195,2020-07-14,9
-10196,2020-07-15,9
-10197,2020-07-16,9
-10198,2020-07-17,9
-10199,2020-07-18,9
-10200,2020-07-19,9
-10201,2020-07-20,9
-10202,2020-07-21,9
-10203,2020-07-22,9
-10204,2020-07-23,9
-10205,2020-07-24,9
-10206,2020-07-25,9
-10207,2020-07-26,9
-10208,2020-07-27,9
-10209,2020-07-28,9
-10210,2020-07-29,9
-10211,2020-07-30,9
-10212,2020-07-31,9
-10213,2020-08-01,9
-10214,2020-08-02,9
-10215,2020-08-03,9
-10216,2020-08-04,9
-10217,2020-08-05,9
-10218,2020-08-06,9
-10219,2020-08-07,9
-10220,2020-08-08,9
-10221,2020-08-09,9
-10222,2020-08-10,9
-10223,2020-08-11,9
-10224,2020-08-12,9
-10225,2020-08-13,9
-10226,2020-08-14,9
-10227,2020-08-15,9
-10228,2020-08-16,9
-10229,2020-08-17,9
-10230,2020-08-18,9
-10231,2020-08-19,9
-10232,2020-08-20,9
-10233,2020-08-21,9
-10234,2020-08-22,9
-10235,2020-08-23,9
-10236,2020-08-24,9
-10237,2020-08-25,9
-10238,2020-08-26,9
-10239,2020-08-27,9
-10240,2020-08-28,9
-10241,2020-08-29,9
-10242,2020-08-30,9
-10243,2020-08-31,9
-10244,2020-09-01,9
-10245,2020-09-02,9
-10246,2020-09-03,9
-10247,2020-09-04,9
-10248,2020-09-05,9
-10249,2020-09-06,9
-10250,2020-09-07,9
-10251,2020-09-08,9
-10252,2020-09-09,9
-10253,2020-09-10,9
-10254,2020-09-11,9
-10255,2020-09-12,9
-10256,2020-09-13,9
-10257,2020-09-14,9
-10258,2020-09-15,9
-10259,2020-09-16,9
-10260,2020-09-17,9
-10261,2020-09-18,9
-10262,2020-09-19,9
-10263,2020-09-20,9
-10264,2020-09-21,9
-10265,2020-09-22,9
-10266,2020-09-23,9
-10267,2020-09-24,9
-10268,2020-09-25,9
-10269,2020-09-26,9
-10270,2020-09-27,9
-10271,2020-09-28,9
-10272,2020-09-29,9
-10273,2020-09-30,9
-10274,2020-10-01,9
-10275,2020-10-02,9
-10276,2020-10-03,9
-10277,2020-10-04,9
-10278,2020-10-05,9
-10279,2020-10-06,9
-10280,2020-10-07,9
-10281,2020-10-08,9
-10282,2020-10-09,9
-10283,2020-10-10,9
-10284,2020-10-11,9
-10285,2020-10-12,9
-10286,2020-10-13,9
-10287,2020-10-14,9
-10288,2020-10-15,9
-10289,2020-10-16,9
-10290,2020-10-17,9
-10291,2020-10-18,9
-10292,2020-10-19,9
-10293,2020-10-20,9
-10294,2020-10-21,9
-10295,2020-10-22,9
-10296,2020-10-23,9
-10297,2020-10-24,9
-10298,2020-10-25,9
-10299,2020-10-26,9
-10300,2020-10-27,9
-10301,2020-10-28,9
-10302,2020-10-29,9
-10303,2020-10-30,9
-10304,2020-10-31,9
-10305,2020-11-01,9
-10306,2020-11-02,9
-10307,2020-11-03,9
-10308,2020-11-04,9
-10309,2020-11-05,9
-10310,2020-11-06,9
-10311,2020-11-07,9
-10312,2020-11-08,9
-10313,2020-11-09,9
-10314,2020-11-10,9
-10315,2020-11-11,9
-10316,2020-11-12,9
-10317,2020-11-13,9
-10318,2020-11-14,9
-10319,2020-11-15,9
-10320,2020-11-16,9
-10321,2020-11-17,9
-10322,2020-11-18,9
-10323,2020-11-19,9
-10324,2020-11-20,9
-10325,2020-11-21,9
-10326,2020-11-22,9
-10327,2020-11-23,9
-10328,2020-11-24,9
-10329,2020-11-25,9
-10330,2020-11-26,9
-10331,2020-11-27,9
-10332,2020-11-28,9
-10333,2020-11-29,9
-10334,2020-11-30,9
-10335,2020-12-01,9
-10336,2020-12-02,9
-10337,2020-12-03,9
-10338,2020-12-04,9
-10339,2020-12-05,9
-10340,2020-12-06,9
-10341,2020-12-07,9
-10342,2020-12-08,9
-10343,2020-12-09,9
-10344,2020-12-10,9
-10345,2020-12-11,9
-10346,2020-12-12,9
-10347,2020-12-13,9
-10348,2020-12-14,9
-10349,2020-12-15,9
-10350,2020-12-16,9
-10351,2020-12-17,9
-10352,2020-12-18,9
-10353,2020-12-19,9
-10354,2020-12-20,9
-10355,2020-12-21,9
-10356,2020-12-22,9
-10357,2020-12-23,9
-10358,2020-12-24,9
-10359,2020-12-25,9
-10360,2020-12-26,9
-10361,2020-12-27,9
-10362,2020-12-28,9
-10363,2020-12-29,9
-10364,2020-12-30,9
-10365,2020-12-31,9
-10366,2021-01-01,9
-10367,2021-01-02,9
-10368,2021-01-03,9
-10369,2021-01-04,9
-10370,2021-01-05,9
-10371,2021-01-06,9
-10372,2021-01-07,9
-10373,2021-01-08,9
-10374,2021-01-09,9
-10375,2021-01-10,9
-10376,2021-01-11,9
-10377,2021-01-12,9
-10378,2021-01-13,9
-10379,2021-01-14,9
-10380,2021-01-15,9
-10381,2021-01-16,9
-10382,2021-01-17,9
-10383,2021-01-18,9
-10384,2021-01-19,9
-10385,2021-01-20,9
-10386,2021-01-21,9
-10387,2021-01-22,9
-10388,2021-01-23,9
-10389,2021-01-24,9
-10390,2021-01-25,9
-10391,2021-01-26,9
-10392,2021-01-27,9
-10393,2021-01-28,9
-10394,2021-01-29,9
-10395,2021-01-30,9
-10396,2021-01-31,9
-10397,2021-02-01,9
-10398,2021-02-02,9
-10399,2021-02-03,9
-10400,2021-02-04,9
-10401,2021-02-05,9
-10402,2021-02-06,9
-10403,2021-02-07,9
-10404,2021-02-08,9
-10405,2021-02-09,9
-10406,2021-02-10,9
-10407,2021-02-11,9
-10408,2021-02-12,9
-10409,2021-02-13,9
-10410,2021-02-14,9
-10411,2021-02-15,9
-10412,2021-02-16,9
-10413,2021-02-17,9
-10414,2021-02-18,9
-10415,2021-02-19,9
-10416,2021-02-20,9
-10417,2021-02-21,9
-10418,2021-02-22,9
-10419,2021-02-23,9
-10420,2021-02-24,9
-10421,2021-02-25,9
-10422,2021-02-26,9
-10423,2021-02-27,9
-10424,2021-02-28,9
-10425,2021-03-01,9
-10426,2021-03-02,9
-10427,2021-03-03,9
-10428,2021-03-04,9
-10429,2021-03-05,9
-10430,2021-03-06,9
-10431,2021-03-07,9
-10432,2021-03-08,9
-10433,2021-03-09,9
-10434,2021-03-10,9
-10435,2021-03-11,9
-10436,2021-03-12,9
-10437,2021-03-13,9
-10438,2021-03-14,9
-10439,2021-03-15,9
-10440,2021-03-16,9
-10441,2021-03-17,9
-10442,2021-03-18,9
-10443,2021-03-19,9
-10444,2021-03-20,9
-10445,2021-03-21,9
-10446,2021-03-22,9
-10447,2021-03-23,9
-10448,2021-03-24,9
-10449,2021-03-25,9
-10450,2021-03-26,9
-10451,2021-03-27,9
-10452,2021-03-28,9
-10453,2021-03-29,9
-10454,2021-03-30,9
-10455,2021-03-31,9
-10456,2021-04-01,9
-10457,2021-04-02,9
-10458,2021-04-03,9
-10459,2021-04-04,9
-10460,2021-04-05,9
-10461,2021-04-06,9
-10462,2021-04-07,9
-10463,2021-04-08,9
-10464,2021-04-09,9
-10465,2021-04-10,9
-10466,2021-04-11,9
-10467,2021-04-12,9
-10468,2021-04-13,9
-10469,2021-04-14,9
-10470,2021-04-15,9
-10471,2021-04-16,9
-10472,2021-04-17,9
-10473,2021-04-18,9
-10474,2021-04-19,9
-10475,2021-04-20,9
-10476,2021-04-21,9
-10477,2021-04-22,9
-10478,2021-04-23,9
-10479,2021-04-24,9
-10480,2021-04-25,9
-10481,2021-04-26,9
-10482,2021-04-27,9
-10483,2021-04-28,9
-10484,2021-04-29,9
-10485,2021-04-30,9
-10486,2021-05-01,9
-10487,2021-05-02,9
-10488,2021-05-03,9
-10489,2021-05-04,9
-10490,2021-05-05,9
-10491,2021-05-06,9
-10492,2021-05-07,9
-10493,2021-05-08,9
-10494,2021-05-09,9
-10495,2021-05-10,9
-10496,2021-05-11,9
-10497,2021-05-12,9
-10498,2021-05-13,9
-10499,2021-05-14,9
-10500,2021-05-15,9
-10501,2021-05-16,9
-10502,2021-05-17,9
-10503,2021-05-18,9
-10504,2021-05-19,9
-10505,2021-05-20,9
-10506,2021-05-21,9
-10507,2021-05-22,9
-10508,2021-05-23,9
-10509,2021-05-24,9
-10510,2021-05-25,9
-10511,2021-05-26,9
-10512,2021-05-27,9
-10513,2021-05-28,9
-10514,2021-05-29,9
-10515,2021-05-30,9
-10516,2021-05-31,9
-10517,2021-06-01,9
-10518,2021-06-02,9
-10519,2021-06-03,9
-10520,2021-06-04,9
-10521,2021-06-05,9
-10522,2021-06-06,9
-10523,2021-06-07,9
-10524,2021-06-08,9
-10525,2021-06-09,9
-10526,2021-06-10,9
-10527,2021-06-11,9
-10528,2021-06-12,9
-10529,2021-06-13,9
-10530,2021-06-14,9
-10531,2021-06-15,9
-10532,2021-06-16,9
-10533,2021-06-17,9
-10534,2021-06-18,9
-10535,2021-06-19,9
-10536,2021-06-20,9
-10537,2021-06-21,9
-10538,2021-06-22,9
-10539,2021-06-23,9
-10540,2021-06-24,9
-10541,2021-06-25,9
-10542,2021-06-26,9
-10543,2021-06-27,9
-10544,2021-06-28,9
-10545,2021-06-29,9
-10546,2021-06-30,9
-10547,2021-07-01,9
-10548,2021-07-02,9
-10549,2021-07-03,9
-10550,2021-07-04,9
-10551,2021-07-05,9
-10552,2021-07-06,9
-10553,2021-07-07,9
-10554,2021-07-08,9
-10555,2021-07-09,9
-10556,2021-07-10,9
-10557,2021-07-11,9
-10558,2021-07-12,9
-10559,2021-07-13,9
-10560,2021-07-14,9
-10561,2021-07-15,9
-10562,2021-07-16,9
-10563,2021-07-17,9
-10564,2021-07-18,9
-10565,2021-07-19,9
-10566,2021-07-20,9
-10567,2021-07-21,9
-10568,2021-07-22,9
-10569,2021-07-23,9
-10570,2021-07-24,9
-10571,2021-07-25,9
-10572,2021-07-26,9
-10573,2021-07-27,9
-10574,2021-07-28,9
-10575,2021-07-29,9
-10576,2021-07-30,9
-10577,2021-07-31,9
-10578,2021-08-01,9
-10579,2021-08-02,9
-10580,2021-08-03,9
-10581,2021-08-04,9
-10582,2021-08-05,9
-10583,2021-08-06,9
-10584,2021-08-07,9
-10585,2021-08-08,9
-10586,2021-08-09,9
-10587,2021-08-10,9
-10588,2021-08-11,9
-10589,2021-08-12,9
-10590,2021-08-13,9
-10591,2021-08-14,9
-10592,2021-08-15,9
-10593,2021-08-16,9
-10594,2021-08-17,9
-10595,2021-08-18,9
-10596,2021-08-19,9
-10597,2021-08-20,9
-10598,2021-08-21,9
-10599,2021-08-22,9
-10600,2021-08-23,9
-10601,2021-08-24,9
-10602,2021-08-25,9
-10603,2021-08-26,9
-10604,2021-08-27,9
-10605,2021-08-28,9
-10606,2021-08-29,9
-10607,2021-08-30,9
-10608,2021-08-31,9
-10609,2021-09-01,9
-10610,2021-09-02,9
-10611,2021-09-03,9
-10612,2021-09-04,9
-10613,2021-09-05,9
-10614,2021-09-06,9
-10615,2021-09-07,9
-10616,2021-09-08,9
-10617,2021-09-09,9
-10618,2021-09-10,9
-10619,2021-09-11,9
-10620,2021-09-12,9
-10621,2021-09-13,9
-10622,2021-09-14,9
-10623,2021-09-15,9
-10624,2021-09-16,9
-10625,2021-09-17,9
-10626,2021-09-18,9
-10627,2021-09-19,9
-10628,2021-09-20,9
-10629,2021-09-21,9
-10630,2021-09-22,9
-10631,2021-09-23,9
-10632,2021-09-24,9
-10633,2021-09-25,9
-10634,2021-09-26,9
-10635,2021-09-27,9
-10636,2021-09-28,9
-10637,2021-09-29,9
-10638,2021-09-30,9
-10639,2021-10-01,9
-10640,2021-10-02,9
-10641,2021-10-03,9
-10642,2021-10-04,9
-10643,2021-10-05,9
-10644,2021-10-06,9
-10645,2021-10-07,9
-10646,2021-10-08,9
-10647,2021-10-09,9
-10648,2021-10-10,9
-10649,2021-10-11,9
-10650,2021-10-12,9
-10651,2021-10-13,9
-10652,2021-10-14,9
-10653,2021-10-15,9
-10654,2021-10-16,9
-10655,2021-10-17,9
-10656,2021-10-18,9
-10657,2021-10-19,9
-10658,2021-10-20,9
-10659,2021-10-21,9
-10660,2021-10-22,9
-10661,2021-10-23,9
-10662,2021-10-24,9
-10663,2021-10-25,9
-10664,2021-10-26,9
-10665,2021-10-27,9
-10666,2021-10-28,9
-10667,2021-10-29,9
-10668,2021-10-30,9
-10669,2021-10-31,9
-10670,2021-11-01,9
-10671,2021-11-02,9
-10672,2021-11-03,9
-10673,2021-11-04,9
-10674,2021-11-05,9
-10675,2021-11-06,9
-10676,2021-11-07,9
-10677,2021-11-08,9
-10678,2021-11-09,9
-10679,2021-11-10,9
-10680,2021-11-11,9
-10681,2021-11-12,9
-10682,2021-11-13,9
-10683,2021-11-14,9
-10684,2021-11-15,9
-10685,2021-11-16,9
-10686,2021-11-17,9
-10687,2021-11-18,9
-10688,2021-11-19,9
-10689,2021-11-20,9
-10690,2021-11-21,9
-10691,2021-11-22,9
-10692,2021-11-23,9
-10693,2021-11-24,9
-10694,2021-11-25,9
-10695,2021-11-26,9
-10696,2021-11-27,9
-10697,2021-11-28,9
-10698,2021-11-29,9
-10699,2021-11-30,9
-10700,2021-12-01,9
-10701,2021-12-02,9
-10702,2021-12-03,9
-10703,2021-12-04,9
-10704,2021-12-05,9
-10705,2021-12-06,9
-10706,2021-12-07,9
-10707,2021-12-08,9
-10708,2021-12-09,9
-10709,2021-12-10,9
-10710,2021-12-11,9
-10711,2021-12-12,9
-10712,2021-12-13,9
-10713,2021-12-14,9
-10714,2021-12-15,9
-10715,2021-12-16,9
-10716,2021-12-17,9
-10717,2021-12-18,9
-10718,2021-12-19,9
-10719,2021-12-20,9
-10720,2021-12-21,9
-10721,2021-12-22,9
-10722,2021-12-23,9
-10723,2021-12-24,9
-10724,2021-12-25,9
-10725,2021-12-26,9
-10726,2021-12-27,9
-10727,2021-12-28,9
-10728,2021-12-29,9
-10729,2021-12-30,9
-10730,2021-12-31,9
-10731,2022-01-01,9
-10732,2022-01-02,9
-10733,2022-01-03,9
-10734,2022-01-04,9
-10735,2022-01-05,9
-10736,2022-01-06,9
-10737,2022-01-07,9
-10738,2022-01-08,9
-10739,2022-01-09,9
-10740,2022-01-10,9
-10741,2022-01-11,9
-10742,2022-01-12,9
-10743,2022-01-13,9
-10744,2022-01-14,9
-10745,2022-01-15,9
-10746,2022-01-16,9
-10747,2022-01-17,9
-10748,2022-01-18,9
-10749,2022-01-19,9
-10750,2022-01-20,9
-10751,2022-01-21,9
-10752,2022-01-22,9
-10753,2022-01-23,9
-10754,2022-01-24,9
-10755,2022-01-25,9
-10756,2022-01-26,9
-10757,2022-01-27,9
-10758,2022-01-28,9
-10759,2022-01-29,9
-10760,2022-01-30,9
-10761,2022-01-31,9
-10762,2022-02-01,9
-10763,2022-02-02,9
-10764,2022-02-03,9
-10765,2022-02-04,9
-10766,2022-02-05,9
-10767,2022-02-06,9
-10768,2022-02-07,9
-10769,2022-02-08,9
-10770,2022-02-09,9
-10771,2022-02-10,9
-10772,2022-02-11,9
-10773,2022-02-12,9
-10774,2022-02-13,9
-10775,2022-02-14,9
-10776,2022-02-15,9
-10777,2022-02-16,9
-10778,2022-02-17,9
-10779,2022-02-18,9
-10780,2022-02-19,9
-10781,2022-02-20,9
-10782,2022-02-21,9
-10783,2022-02-22,9
-10784,2022-02-23,9
-10785,2022-02-24,9
-10786,2022-02-25,9
-10787,2022-02-26,9
-10788,2022-02-27,9
-10789,2022-02-28,9
-10790,2022-03-01,9
-10791,2022-03-02,9
-10792,2022-03-03,9
-10793,2022-03-04,9
-10794,2022-03-05,9
-10795,2022-03-06,9
-10796,2022-03-07,9
-10797,2022-03-08,9
-10798,2022-03-09,9
-10799,2022-03-10,9
-10800,2022-03-11,9
-10801,2022-03-12,9
-10802,2022-03-13,9
-10803,2022-03-14,9
-10804,2022-03-15,9
-10805,2022-03-16,9
-10806,2022-03-17,9
-10807,2022-03-18,9
-10808,2022-03-19,9
-10809,2022-03-20,9
-10810,2022-03-21,9
-10811,2022-03-22,9
-10812,2022-03-23,9
-10813,2022-03-24,9
-10814,2022-03-25,9
-10815,2022-03-26,9
-10816,2022-03-27,9
-10817,2022-03-28,9
-10818,2022-03-29,9
-10819,2022-03-30,9
-10820,2022-03-31,9
-10821,2022-04-01,9
-10822,2022-04-02,9
-10823,2022-04-03,9
-10824,2022-04-04,9
-10825,2022-04-05,9
-10826,2022-04-06,9
-10827,2022-04-07,9
-10828,2022-04-08,9
-10829,2022-04-09,9
-10830,2022-04-10,9
-10831,2022-04-11,9
-10832,2022-04-12,9
-10833,2022-04-13,9
-10834,2022-04-14,9
-10835,2022-04-15,9
-10836,2022-04-16,9
-10837,2022-04-17,9
-10838,2022-04-18,9
-10839,2022-04-19,9
-10840,2022-04-20,9
-10841,2022-04-21,9
-10842,2022-04-22,9
-10843,2022-04-23,9
-10844,2022-04-24,9
-10845,2022-04-25,9
-10846,2022-04-26,9
-10847,2022-04-27,9
-10848,2022-04-28,9
-10849,2022-04-29,9
-10850,2022-04-30,9
-10851,2022-05-01,9
-10852,2022-05-02,9
-10853,2022-05-03,9
-10854,2022-05-04,9
-10855,2022-05-05,9
-10856,2022-05-06,9
-10857,2022-05-07,9
-10858,2022-05-08,9
-10859,2022-05-09,9
-10860,2022-05-10,9
-10861,2022-05-11,9
-10862,2022-05-12,9
-10863,2022-05-13,9
-10864,2022-05-14,9
-10865,2022-05-15,9
-10866,2022-05-16,9
-10867,2022-05-17,9
-10868,2022-05-18,9
-10869,2022-05-19,9
-10870,2022-05-20,9
-10871,2022-05-21,9
-10872,2022-05-22,9
-10873,2022-05-23,9
-10874,2022-05-24,9
-10875,2022-05-25,9
-10876,2022-05-26,9
-10877,2022-05-27,9
-10878,2022-05-28,9
-10879,2022-05-29,9
-10880,2022-05-30,9
-10881,2022-05-31,9
-10882,2022-06-01,9
-10883,2022-06-02,9
-10884,2022-06-03,9
-10885,2022-06-04,9
-10886,2022-06-05,9
-10887,2022-06-06,9
-10888,2022-06-07,9
-10889,2022-06-08,9
-10890,2022-06-09,9
-10891,2022-06-10,9
-10892,2022-06-11,9
-10893,2022-06-12,9
-10894,2022-06-13,9
-10895,2022-06-14,9
-10896,2022-06-15,9
-10897,2022-06-16,9
-10898,2022-06-17,9
-10899,2022-06-18,9
-10900,2022-06-19,9
-10901,2022-06-20,9
-10902,2022-06-21,9
-10903,2022-06-22,9
-10904,2022-06-23,9
-10905,2022-06-24,9
-10906,2022-06-25,9
-10907,2022-06-26,9
-10908,2022-06-27,9
-10909,2022-06-28,9
-10910,2022-06-29,9
-10911,2022-06-30,9
-10912,2022-07-01,9
-10913,2022-07-02,9
-10914,2022-07-03,9
-10915,2022-07-04,9
-10916,2022-07-05,9
-10917,2022-07-06,9
-10918,2022-07-07,9
-10919,2022-07-08,9
-10920,2022-07-09,9
-10921,2022-07-10,9
-10922,2022-07-11,9
-10923,2022-07-12,9
-10924,2022-07-13,9
-10925,2022-07-14,9
-10926,2022-07-15,9
-10927,2022-07-16,9
-10928,2022-07-17,9
-10929,2022-07-18,9
-10930,2022-07-19,9
-10931,2022-07-20,9
-10932,2022-07-21,9
-10933,2022-07-22,9
-10934,2022-07-23,9
-10935,2022-07-24,9
-10936,2022-07-25,9
-10937,2022-07-26,9
-10938,2022-07-27,9
-10939,2022-07-28,9
-10940,2022-07-29,9
-10941,2022-07-30,9
-10942,2022-07-31,9
-10943,2022-08-01,9
-10944,2022-08-02,9
-10945,2022-08-03,9
-10946,2022-08-04,9
-10947,2022-08-05,9
-10948,2022-08-06,9
-10949,2022-08-07,9
-10950,2022-08-08,9
-10951,2022-08-09,9
-10952,2022-08-10,9
-10953,2022-08-11,9
-10954,2022-08-12,9
-10955,2022-08-13,9
-10956,2022-08-14,9
-10957,2022-08-15,9
-10958,2022-08-16,9
-10959,2022-08-17,9
-10960,2022-08-18,9
-10961,2022-08-19,9
-10962,2022-08-20,9
-10963,2022-08-21,9
-10964,2022-08-22,9
-10965,2022-08-23,9
-10966,2022-08-24,9
-10967,2022-08-25,9
-10968,2022-08-26,9
-10969,2022-08-27,9
-10970,2022-08-28,9
-10971,2022-08-29,9
-10972,2022-08-30,9
-10973,2022-08-31,9
-10974,2022-09-01,9
-10975,2022-09-02,9
-10976,2022-09-03,9
-10977,2022-09-04,9
-10978,2022-09-05,9
-10979,2022-09-06,9
-10980,2022-09-07,9
-10981,2022-09-08,9
-10982,2022-09-09,9
-10983,2022-09-10,9
-10984,2022-09-11,9
-10985,2022-09-12,9
-10986,2022-09-13,9
-10987,2022-09-14,9
-10988,2022-09-15,9
-10989,2022-09-16,9
-10990,2022-09-17,9
-10991,2022-09-18,9
-10992,2022-09-19,9
-10993,2022-09-20,9
-10994,2022-09-21,9
-10995,2022-09-22,9
-10996,2022-09-23,9
-10997,2022-09-24,9
-10998,2022-09-25,9
-10999,2022-09-26,9
+value,date,id
+10000,2020-01-01,9
+10001,2020-01-02,9
+10002,2020-01-03,9
+10003,2020-01-04,9
+10004,2020-01-05,9
+10005,2020-01-06,9
+10006,2020-01-07,9
+10007,2020-01-08,9
+10008,2020-01-09,9
+10009,2020-01-10,9
+10010,2020-01-11,9
+10011,2020-01-12,9
+10012,2020-01-13,9
+10013,2020-01-14,9
+10014,2020-01-15,9
+10015,2020-01-16,9
+10016,2020-01-17,9
+10017,2020-01-18,9
+10018,2020-01-19,9
+10019,2020-01-20,9
+10020,2020-01-21,9
+10021,2020-01-22,9
+10022,2020-01-23,9
+10023,2020-01-24,9
+10024,2020-01-25,9
+10025,2020-01-26,9
+10026,2020-01-27,9
+10027,2020-01-28,9
+10028,2020-01-29,9
+10029,2020-01-30,9
+10030,2020-01-31,9
+10031,2020-02-01,9
+10032,2020-02-02,9
+10033,2020-02-03,9
+10034,2020-02-04,9
+10035,2020-02-05,9
+10036,2020-02-06,9
+10037,2020-02-07,9
+10038,2020-02-08,9
+10039,2020-02-09,9
+10040,2020-02-10,9
+10041,2020-02-11,9
+10042,2020-02-12,9
+10043,2020-02-13,9
+10044,2020-02-14,9
+10045,2020-02-15,9
+10046,2020-02-16,9
+10047,2020-02-17,9
+10048,2020-02-18,9
+10049,2020-02-19,9
+10050,2020-02-20,9
+10051,2020-02-21,9
+10052,2020-02-22,9
+10053,2020-02-23,9
+10054,2020-02-24,9
+10055,2020-02-25,9
+10056,2020-02-26,9
+10057,2020-02-27,9
+10058,2020-02-28,9
+10059,2020-02-29,9
+10060,2020-03-01,9
+10061,2020-03-02,9
+10062,2020-03-03,9
+10063,2020-03-04,9
+10064,2020-03-05,9
+10065,2020-03-06,9
+10066,2020-03-07,9
+10067,2020-03-08,9
+10068,2020-03-09,9
+10069,2020-03-10,9
+10070,2020-03-11,9
+10071,2020-03-12,9
+10072,2020-03-13,9
+10073,2020-03-14,9
+10074,2020-03-15,9
+10075,2020-03-16,9
+10076,2020-03-17,9
+10077,2020-03-18,9
+10078,2020-03-19,9
+10079,2020-03-20,9
+10080,2020-03-21,9
+10081,2020-03-22,9
+10082,2020-03-23,9
+10083,2020-03-24,9
+10084,2020-03-25,9
+10085,2020-03-26,9
+10086,2020-03-27,9
+10087,2020-03-28,9
+10088,2020-03-29,9
+10089,2020-03-30,9
+10090,2020-03-31,9
+10091,2020-04-01,9
+10092,2020-04-02,9
+10093,2020-04-03,9
+10094,2020-04-04,9
+10095,2020-04-05,9
+10096,2020-04-06,9
+10097,2020-04-07,9
+10098,2020-04-08,9
+10099,2020-04-09,9
+10100,2020-04-10,9
+10101,2020-04-11,9
+10102,2020-04-12,9
+10103,2020-04-13,9
+10104,2020-04-14,9
+10105,2020-04-15,9
+10106,2020-04-16,9
+10107,2020-04-17,9
+10108,2020-04-18,9
+10109,2020-04-19,9
+10110,2020-04-20,9
+10111,2020-04-21,9
+10112,2020-04-22,9
+10113,2020-04-23,9
+10114,2020-04-24,9
+10115,2020-04-25,9
+10116,2020-04-26,9
+10117,2020-04-27,9
+10118,2020-04-28,9
+10119,2020-04-29,9
+10120,2020-04-30,9
+10121,2020-05-01,9
+10122,2020-05-02,9
+10123,2020-05-03,9
+10124,2020-05-04,9
+10125,2020-05-05,9
+10126,2020-05-06,9
+10127,2020-05-07,9
+10128,2020-05-08,9
+10129,2020-05-09,9
+10130,2020-05-10,9
+10131,2020-05-11,9
+10132,2020-05-12,9
+10133,2020-05-13,9
+10134,2020-05-14,9
+10135,2020-05-15,9
+10136,2020-05-16,9
+10137,2020-05-17,9
+10138,2020-05-18,9
+10139,2020-05-19,9
+10140,2020-05-20,9
+10141,2020-05-21,9
+10142,2020-05-22,9
+10143,2020-05-23,9
+10144,2020-05-24,9
+10145,2020-05-25,9
+10146,2020-05-26,9
+10147,2020-05-27,9
+10148,2020-05-28,9
+10149,2020-05-29,9
+10150,2020-05-30,9
+10151,2020-05-31,9
+10152,2020-06-01,9
+10153,2020-06-02,9
+10154,2020-06-03,9
+10155,2020-06-04,9
+10156,2020-06-05,9
+10157,2020-06-06,9
+10158,2020-06-07,9
+10159,2020-06-08,9
+10160,2020-06-09,9
+10161,2020-06-10,9
+10162,2020-06-11,9
+10163,2020-06-12,9
+10164,2020-06-13,9
+10165,2020-06-14,9
+10166,2020-06-15,9
+10167,2020-06-16,9
+10168,2020-06-17,9
+10169,2020-06-18,9
+10170,2020-06-19,9
+10171,2020-06-20,9
+10172,2020-06-21,9
+10173,2020-06-22,9
+10174,2020-06-23,9
+10175,2020-06-24,9
+10176,2020-06-25,9
+10177,2020-06-26,9
+10178,2020-06-27,9
+10179,2020-06-28,9
+10180,2020-06-29,9
+10181,2020-06-30,9
+10182,2020-07-01,9
+10183,2020-07-02,9
+10184,2020-07-03,9
+10185,2020-07-04,9
+10186,2020-07-05,9
+10187,2020-07-06,9
+10188,2020-07-07,9
+10189,2020-07-08,9
+10190,2020-07-09,9
+10191,2020-07-10,9
+10192,2020-07-11,9
+10193,2020-07-12,9
+10194,2020-07-13,9
+10195,2020-07-14,9
+10196,2020-07-15,9
+10197,2020-07-16,9
+10198,2020-07-17,9
+10199,2020-07-18,9
+10200,2020-07-19,9
+10201,2020-07-20,9
+10202,2020-07-21,9
+10203,2020-07-22,9
+10204,2020-07-23,9
+10205,2020-07-24,9
+10206,2020-07-25,9
+10207,2020-07-26,9
+10208,2020-07-27,9
+10209,2020-07-28,9
+10210,2020-07-29,9
+10211,2020-07-30,9
+10212,2020-07-31,9
+10213,2020-08-01,9
+10214,2020-08-02,9
+10215,2020-08-03,9
+10216,2020-08-04,9
+10217,2020-08-05,9
+10218,2020-08-06,9
+10219,2020-08-07,9
+10220,2020-08-08,9
+10221,2020-08-09,9
+10222,2020-08-10,9
+10223,2020-08-11,9
+10224,2020-08-12,9
+10225,2020-08-13,9
+10226,2020-08-14,9
+10227,2020-08-15,9
+10228,2020-08-16,9
+10229,2020-08-17,9
+10230,2020-08-18,9
+10231,2020-08-19,9
+10232,2020-08-20,9
+10233,2020-08-21,9
+10234,2020-08-22,9
+10235,2020-08-23,9
+10236,2020-08-24,9
+10237,2020-08-25,9
+10238,2020-08-26,9
+10239,2020-08-27,9
+10240,2020-08-28,9
+10241,2020-08-29,9
+10242,2020-08-30,9
+10243,2020-08-31,9
+10244,2020-09-01,9
+10245,2020-09-02,9
+10246,2020-09-03,9
+10247,2020-09-04,9
+10248,2020-09-05,9
+10249,2020-09-06,9
+10250,2020-09-07,9
+10251,2020-09-08,9
+10252,2020-09-09,9
+10253,2020-09-10,9
+10254,2020-09-11,9
+10255,2020-09-12,9
+10256,2020-09-13,9
+10257,2020-09-14,9
+10258,2020-09-15,9
+10259,2020-09-16,9
+10260,2020-09-17,9
+10261,2020-09-18,9
+10262,2020-09-19,9
+10263,2020-09-20,9
+10264,2020-09-21,9
+10265,2020-09-22,9
+10266,2020-09-23,9
+10267,2020-09-24,9
+10268,2020-09-25,9
+10269,2020-09-26,9
+10270,2020-09-27,9
+10271,2020-09-28,9
+10272,2020-09-29,9
+10273,2020-09-30,9
+10274,2020-10-01,9
+10275,2020-10-02,9
+10276,2020-10-03,9
+10277,2020-10-04,9
+10278,2020-10-05,9
+10279,2020-10-06,9
+10280,2020-10-07,9
+10281,2020-10-08,9
+10282,2020-10-09,9
+10283,2020-10-10,9
+10284,2020-10-11,9
+10285,2020-10-12,9
+10286,2020-10-13,9
+10287,2020-10-14,9
+10288,2020-10-15,9
+10289,2020-10-16,9
+10290,2020-10-17,9
+10291,2020-10-18,9
+10292,2020-10-19,9
+10293,2020-10-20,9
+10294,2020-10-21,9
+10295,2020-10-22,9
+10296,2020-10-23,9
+10297,2020-10-24,9
+10298,2020-10-25,9
+10299,2020-10-26,9
+10300,2020-10-27,9
+10301,2020-10-28,9
+10302,2020-10-29,9
+10303,2020-10-30,9
+10304,2020-10-31,9
+10305,2020-11-01,9
+10306,2020-11-02,9
+10307,2020-11-03,9
+10308,2020-11-04,9
+10309,2020-11-05,9
+10310,2020-11-06,9
+10311,2020-11-07,9
+10312,2020-11-08,9
+10313,2020-11-09,9
+10314,2020-11-10,9
+10315,2020-11-11,9
+10316,2020-11-12,9
+10317,2020-11-13,9
+10318,2020-11-14,9
+10319,2020-11-15,9
+10320,2020-11-16,9
+10321,2020-11-17,9
+10322,2020-11-18,9
+10323,2020-11-19,9
+10324,2020-11-20,9
+10325,2020-11-21,9
+10326,2020-11-22,9
+10327,2020-11-23,9
+10328,2020-11-24,9
+10329,2020-11-25,9
+10330,2020-11-26,9
+10331,2020-11-27,9
+10332,2020-11-28,9
+10333,2020-11-29,9
+10334,2020-11-30,9
+10335,2020-12-01,9
+10336,2020-12-02,9
+10337,2020-12-03,9
+10338,2020-12-04,9
+10339,2020-12-05,9
+10340,2020-12-06,9
+10341,2020-12-07,9
+10342,2020-12-08,9
+10343,2020-12-09,9
+10344,2020-12-10,9
+10345,2020-12-11,9
+10346,2020-12-12,9
+10347,2020-12-13,9
+10348,2020-12-14,9
+10349,2020-12-15,9
+10350,2020-12-16,9
+10351,2020-12-17,9
+10352,2020-12-18,9
+10353,2020-12-19,9
+10354,2020-12-20,9
+10355,2020-12-21,9
+10356,2020-12-22,9
+10357,2020-12-23,9
+10358,2020-12-24,9
+10359,2020-12-25,9
+10360,2020-12-26,9
+10361,2020-12-27,9
+10362,2020-12-28,9
+10363,2020-12-29,9
+10364,2020-12-30,9
+10365,2020-12-31,9
+10366,2021-01-01,9
+10367,2021-01-02,9
+10368,2021-01-03,9
+10369,2021-01-04,9
+10370,2021-01-05,9
+10371,2021-01-06,9
+10372,2021-01-07,9
+10373,2021-01-08,9
+10374,2021-01-09,9
+10375,2021-01-10,9
+10376,2021-01-11,9
+10377,2021-01-12,9
+10378,2021-01-13,9
+10379,2021-01-14,9
+10380,2021-01-15,9
+10381,2021-01-16,9
+10382,2021-01-17,9
+10383,2021-01-18,9
+10384,2021-01-19,9
+10385,2021-01-20,9
+10386,2021-01-21,9
+10387,2021-01-22,9
+10388,2021-01-23,9
+10389,2021-01-24,9
+10390,2021-01-25,9
+10391,2021-01-26,9
+10392,2021-01-27,9
+10393,2021-01-28,9
+10394,2021-01-29,9
+10395,2021-01-30,9
+10396,2021-01-31,9
+10397,2021-02-01,9
+10398,2021-02-02,9
+10399,2021-02-03,9
+10400,2021-02-04,9
+10401,2021-02-05,9
+10402,2021-02-06,9
+10403,2021-02-07,9
+10404,2021-02-08,9
+10405,2021-02-09,9
+10406,2021-02-10,9
+10407,2021-02-11,9
+10408,2021-02-12,9
+10409,2021-02-13,9
+10410,2021-02-14,9
+10411,2021-02-15,9
+10412,2021-02-16,9
+10413,2021-02-17,9
+10414,2021-02-18,9
+10415,2021-02-19,9
+10416,2021-02-20,9
+10417,2021-02-21,9
+10418,2021-02-22,9
+10419,2021-02-23,9
+10420,2021-02-24,9
+10421,2021-02-25,9
+10422,2021-02-26,9
+10423,2021-02-27,9
+10424,2021-02-28,9
+10425,2021-03-01,9
+10426,2021-03-02,9
+10427,2021-03-03,9
+10428,2021-03-04,9
+10429,2021-03-05,9
+10430,2021-03-06,9
+10431,2021-03-07,9
+10432,2021-03-08,9
+10433,2021-03-09,9
+10434,2021-03-10,9
+10435,2021-03-11,9
+10436,2021-03-12,9
+10437,2021-03-13,9
+10438,2021-03-14,9
+10439,2021-03-15,9
+10440,2021-03-16,9
+10441,2021-03-17,9
+10442,2021-03-18,9
+10443,2021-03-19,9
+10444,2021-03-20,9
+10445,2021-03-21,9
+10446,2021-03-22,9
+10447,2021-03-23,9
+10448,2021-03-24,9
+10449,2021-03-25,9
+10450,2021-03-26,9
+10451,2021-03-27,9
+10452,2021-03-28,9
+10453,2021-03-29,9
+10454,2021-03-30,9
+10455,2021-03-31,9
+10456,2021-04-01,9
+10457,2021-04-02,9
+10458,2021-04-03,9
+10459,2021-04-04,9
+10460,2021-04-05,9
+10461,2021-04-06,9
+10462,2021-04-07,9
+10463,2021-04-08,9
+10464,2021-04-09,9
+10465,2021-04-10,9
+10466,2021-04-11,9
+10467,2021-04-12,9
+10468,2021-04-13,9
+10469,2021-04-14,9
+10470,2021-04-15,9
+10471,2021-04-16,9
+10472,2021-04-17,9
+10473,2021-04-18,9
+10474,2021-04-19,9
+10475,2021-04-20,9
+10476,2021-04-21,9
+10477,2021-04-22,9
+10478,2021-04-23,9
+10479,2021-04-24,9
+10480,2021-04-25,9
+10481,2021-04-26,9
+10482,2021-04-27,9
+10483,2021-04-28,9
+10484,2021-04-29,9
+10485,2021-04-30,9
+10486,2021-05-01,9
+10487,2021-05-02,9
+10488,2021-05-03,9
+10489,2021-05-04,9
+10490,2021-05-05,9
+10491,2021-05-06,9
+10492,2021-05-07,9
+10493,2021-05-08,9
+10494,2021-05-09,9
+10495,2021-05-10,9
+10496,2021-05-11,9
+10497,2021-05-12,9
+10498,2021-05-13,9
+10499,2021-05-14,9
+10500,2021-05-15,9
+10501,2021-05-16,9
+10502,2021-05-17,9
+10503,2021-05-18,9
+10504,2021-05-19,9
+10505,2021-05-20,9
+10506,2021-05-21,9
+10507,2021-05-22,9
+10508,2021-05-23,9
+10509,2021-05-24,9
+10510,2021-05-25,9
+10511,2021-05-26,9
+10512,2021-05-27,9
+10513,2021-05-28,9
+10514,2021-05-29,9
+10515,2021-05-30,9
+10516,2021-05-31,9
+10517,2021-06-01,9
+10518,2021-06-02,9
+10519,2021-06-03,9
+10520,2021-06-04,9
+10521,2021-06-05,9
+10522,2021-06-06,9
+10523,2021-06-07,9
+10524,2021-06-08,9
+10525,2021-06-09,9
+10526,2021-06-10,9
+10527,2021-06-11,9
+10528,2021-06-12,9
+10529,2021-06-13,9
+10530,2021-06-14,9
+10531,2021-06-15,9
+10532,2021-06-16,9
+10533,2021-06-17,9
+10534,2021-06-18,9
+10535,2021-06-19,9
+10536,2021-06-20,9
+10537,2021-06-21,9
+10538,2021-06-22,9
+10539,2021-06-23,9
+10540,2021-06-24,9
+10541,2021-06-25,9
+10542,2021-06-26,9
+10543,2021-06-27,9
+10544,2021-06-28,9
+10545,2021-06-29,9
+10546,2021-06-30,9
+10547,2021-07-01,9
+10548,2021-07-02,9
+10549,2021-07-03,9
+10550,2021-07-04,9
+10551,2021-07-05,9
+10552,2021-07-06,9
+10553,2021-07-07,9
+10554,2021-07-08,9
+10555,2021-07-09,9
+10556,2021-07-10,9
+10557,2021-07-11,9
+10558,2021-07-12,9
+10559,2021-07-13,9
+10560,2021-07-14,9
+10561,2021-07-15,9
+10562,2021-07-16,9
+10563,2021-07-17,9
+10564,2021-07-18,9
+10565,2021-07-19,9
+10566,2021-07-20,9
+10567,2021-07-21,9
+10568,2021-07-22,9
+10569,2021-07-23,9
+10570,2021-07-24,9
+10571,2021-07-25,9
+10572,2021-07-26,9
+10573,2021-07-27,9
+10574,2021-07-28,9
+10575,2021-07-29,9
+10576,2021-07-30,9
+10577,2021-07-31,9
+10578,2021-08-01,9
+10579,2021-08-02,9
+10580,2021-08-03,9
+10581,2021-08-04,9
+10582,2021-08-05,9
+10583,2021-08-06,9
+10584,2021-08-07,9
+10585,2021-08-08,9
+10586,2021-08-09,9
+10587,2021-08-10,9
+10588,2021-08-11,9
+10589,2021-08-12,9
+10590,2021-08-13,9
+10591,2021-08-14,9
+10592,2021-08-15,9
+10593,2021-08-16,9
+10594,2021-08-17,9
+10595,2021-08-18,9
+10596,2021-08-19,9
+10597,2021-08-20,9
+10598,2021-08-21,9
+10599,2021-08-22,9
+10600,2021-08-23,9
+10601,2021-08-24,9
+10602,2021-08-25,9
+10603,2021-08-26,9
+10604,2021-08-27,9
+10605,2021-08-28,9
+10606,2021-08-29,9
+10607,2021-08-30,9
+10608,2021-08-31,9
+10609,2021-09-01,9
+10610,2021-09-02,9
+10611,2021-09-03,9
+10612,2021-09-04,9
+10613,2021-09-05,9
+10614,2021-09-06,9
+10615,2021-09-07,9
+10616,2021-09-08,9
+10617,2021-09-09,9
+10618,2021-09-10,9
+10619,2021-09-11,9
+10620,2021-09-12,9
+10621,2021-09-13,9
+10622,2021-09-14,9
+10623,2021-09-15,9
+10624,2021-09-16,9
+10625,2021-09-17,9
+10626,2021-09-18,9
+10627,2021-09-19,9
+10628,2021-09-20,9
+10629,2021-09-21,9
+10630,2021-09-22,9
+10631,2021-09-23,9
+10632,2021-09-24,9
+10633,2021-09-25,9
+10634,2021-09-26,9
+10635,2021-09-27,9
+10636,2021-09-28,9
+10637,2021-09-29,9
+10638,2021-09-30,9
+10639,2021-10-01,9
+10640,2021-10-02,9
+10641,2021-10-03,9
+10642,2021-10-04,9
+10643,2021-10-05,9
+10644,2021-10-06,9
+10645,2021-10-07,9
+10646,2021-10-08,9
+10647,2021-10-09,9
+10648,2021-10-10,9
+10649,2021-10-11,9
+10650,2021-10-12,9
+10651,2021-10-13,9
+10652,2021-10-14,9
+10653,2021-10-15,9
+10654,2021-10-16,9
+10655,2021-10-17,9
+10656,2021-10-18,9
+10657,2021-10-19,9
+10658,2021-10-20,9
+10659,2021-10-21,9
+10660,2021-10-22,9
+10661,2021-10-23,9
+10662,2021-10-24,9
+10663,2021-10-25,9
+10664,2021-10-26,9
+10665,2021-10-27,9
+10666,2021-10-28,9
+10667,2021-10-29,9
+10668,2021-10-30,9
+10669,2021-10-31,9
+10670,2021-11-01,9
+10671,2021-11-02,9
+10672,2021-11-03,9
+10673,2021-11-04,9
+10674,2021-11-05,9
+10675,2021-11-06,9
+10676,2021-11-07,9
+10677,2021-11-08,9
+10678,2021-11-09,9
+10679,2021-11-10,9
+10680,2021-11-11,9
+10681,2021-11-12,9
+10682,2021-11-13,9
+10683,2021-11-14,9
+10684,2021-11-15,9
+10685,2021-11-16,9
+10686,2021-11-17,9
+10687,2021-11-18,9
+10688,2021-11-19,9
+10689,2021-11-20,9
+10690,2021-11-21,9
+10691,2021-11-22,9
+10692,2021-11-23,9
+10693,2021-11-24,9
+10694,2021-11-25,9
+10695,2021-11-26,9
+10696,2021-11-27,9
+10697,2021-11-28,9
+10698,2021-11-29,9
+10699,2021-11-30,9
+10700,2021-12-01,9
+10701,2021-12-02,9
+10702,2021-12-03,9
+10703,2021-12-04,9
+10704,2021-12-05,9
+10705,2021-12-06,9
+10706,2021-12-07,9
+10707,2021-12-08,9
+10708,2021-12-09,9
+10709,2021-12-10,9
+10710,2021-12-11,9
+10711,2021-12-12,9
+10712,2021-12-13,9
+10713,2021-12-14,9
+10714,2021-12-15,9
+10715,2021-12-16,9
+10716,2021-12-17,9
+10717,2021-12-18,9
+10718,2021-12-19,9
+10719,2021-12-20,9
+10720,2021-12-21,9
+10721,2021-12-22,9
+10722,2021-12-23,9
+10723,2021-12-24,9
+10724,2021-12-25,9
+10725,2021-12-26,9
+10726,2021-12-27,9
+10727,2021-12-28,9
+10728,2021-12-29,9
+10729,2021-12-30,9
+10730,2021-12-31,9
+10731,2022-01-01,9
+10732,2022-01-02,9
+10733,2022-01-03,9
+10734,2022-01-04,9
+10735,2022-01-05,9
+10736,2022-01-06,9
+10737,2022-01-07,9
+10738,2022-01-08,9
+10739,2022-01-09,9
+10740,2022-01-10,9
+10741,2022-01-11,9
+10742,2022-01-12,9
+10743,2022-01-13,9
+10744,2022-01-14,9
+10745,2022-01-15,9
+10746,2022-01-16,9
+10747,2022-01-17,9
+10748,2022-01-18,9
+10749,2022-01-19,9
+10750,2022-01-20,9
+10751,2022-01-21,9
+10752,2022-01-22,9
+10753,2022-01-23,9
+10754,2022-01-24,9
+10755,2022-01-25,9
+10756,2022-01-26,9
+10757,2022-01-27,9
+10758,2022-01-28,9
+10759,2022-01-29,9
+10760,2022-01-30,9
+10761,2022-01-31,9
+10762,2022-02-01,9
+10763,2022-02-02,9
+10764,2022-02-03,9
+10765,2022-02-04,9
+10766,2022-02-05,9
+10767,2022-02-06,9
+10768,2022-02-07,9
+10769,2022-02-08,9
+10770,2022-02-09,9
+10771,2022-02-10,9
+10772,2022-02-11,9
+10773,2022-02-12,9
+10774,2022-02-13,9
+10775,2022-02-14,9
+10776,2022-02-15,9
+10777,2022-02-16,9
+10778,2022-02-17,9
+10779,2022-02-18,9
+10780,2022-02-19,9
+10781,2022-02-20,9
+10782,2022-02-21,9
+10783,2022-02-22,9
+10784,2022-02-23,9
+10785,2022-02-24,9
+10786,2022-02-25,9
+10787,2022-02-26,9
+10788,2022-02-27,9
+10789,2022-02-28,9
+10790,2022-03-01,9
+10791,2022-03-02,9
+10792,2022-03-03,9
+10793,2022-03-04,9
+10794,2022-03-05,9
+10795,2022-03-06,9
+10796,2022-03-07,9
+10797,2022-03-08,9
+10798,2022-03-09,9
+10799,2022-03-10,9
+10800,2022-03-11,9
+10801,2022-03-12,9
+10802,2022-03-13,9
+10803,2022-03-14,9
+10804,2022-03-15,9
+10805,2022-03-16,9
+10806,2022-03-17,9
+10807,2022-03-18,9
+10808,2022-03-19,9
+10809,2022-03-20,9
+10810,2022-03-21,9
+10811,2022-03-22,9
+10812,2022-03-23,9
+10813,2022-03-24,9
+10814,2022-03-25,9
+10815,2022-03-26,9
+10816,2022-03-27,9
+10817,2022-03-28,9
+10818,2022-03-29,9
+10819,2022-03-30,9
+10820,2022-03-31,9
+10821,2022-04-01,9
+10822,2022-04-02,9
+10823,2022-04-03,9
+10824,2022-04-04,9
+10825,2022-04-05,9
+10826,2022-04-06,9
+10827,2022-04-07,9
+10828,2022-04-08,9
+10829,2022-04-09,9
+10830,2022-04-10,9
+10831,2022-04-11,9
+10832,2022-04-12,9
+10833,2022-04-13,9
+10834,2022-04-14,9
+10835,2022-04-15,9
+10836,2022-04-16,9
+10837,2022-04-17,9
+10838,2022-04-18,9
+10839,2022-04-19,9
+10840,2022-04-20,9
+10841,2022-04-21,9
+10842,2022-04-22,9
+10843,2022-04-23,9
+10844,2022-04-24,9
+10845,2022-04-25,9
+10846,2022-04-26,9
+10847,2022-04-27,9
+10848,2022-04-28,9
+10849,2022-04-29,9
+10850,2022-04-30,9
+10851,2022-05-01,9
+10852,2022-05-02,9
+10853,2022-05-03,9
+10854,2022-05-04,9
+10855,2022-05-05,9
+10856,2022-05-06,9
+10857,2022-05-07,9
+10858,2022-05-08,9
+10859,2022-05-09,9
+10860,2022-05-10,9
+10861,2022-05-11,9
+10862,2022-05-12,9
+10863,2022-05-13,9
+10864,2022-05-14,9
+10865,2022-05-15,9
+10866,2022-05-16,9
+10867,2022-05-17,9
+10868,2022-05-18,9
+10869,2022-05-19,9
+10870,2022-05-20,9
+10871,2022-05-21,9
+10872,2022-05-22,9
+10873,2022-05-23,9
+10874,2022-05-24,9
+10875,2022-05-25,9
+10876,2022-05-26,9
+10877,2022-05-27,9
+10878,2022-05-28,9
+10879,2022-05-29,9
+10880,2022-05-30,9
+10881,2022-05-31,9
+10882,2022-06-01,9
+10883,2022-06-02,9
+10884,2022-06-03,9
+10885,2022-06-04,9
+10886,2022-06-05,9
+10887,2022-06-06,9
+10888,2022-06-07,9
+10889,2022-06-08,9
+10890,2022-06-09,9
+10891,2022-06-10,9
+10892,2022-06-11,9
+10893,2022-06-12,9
+10894,2022-06-13,9
+10895,2022-06-14,9
+10896,2022-06-15,9
+10897,2022-06-16,9
+10898,2022-06-17,9
+10899,2022-06-18,9
+10900,2022-06-19,9
+10901,2022-06-20,9
+10902,2022-06-21,9
+10903,2022-06-22,9
+10904,2022-06-23,9
+10905,2022-06-24,9
+10906,2022-06-25,9
+10907,2022-06-26,9
+10908,2022-06-27,9
+10909,2022-06-28,9
+10910,2022-06-29,9
+10911,2022-06-30,9
+10912,2022-07-01,9
+10913,2022-07-02,9
+10914,2022-07-03,9
+10915,2022-07-04,9
+10916,2022-07-05,9
+10917,2022-07-06,9
+10918,2022-07-07,9
+10919,2022-07-08,9
+10920,2022-07-09,9
+10921,2022-07-10,9
+10922,2022-07-11,9
+10923,2022-07-12,9
+10924,2022-07-13,9
+10925,2022-07-14,9
+10926,2022-07-15,9
+10927,2022-07-16,9
+10928,2022-07-17,9
+10929,2022-07-18,9
+10930,2022-07-19,9
+10931,2022-07-20,9
+10932,2022-07-21,9
+10933,2022-07-22,9
+10934,2022-07-23,9
+10935,2022-07-24,9
+10936,2022-07-25,9
+10937,2022-07-26,9
+10938,2022-07-27,9
+10939,2022-07-28,9
+10940,2022-07-29,9
+10941,2022-07-30,9
+10942,2022-07-31,9
+10943,2022-08-01,9
+10944,2022-08-02,9
+10945,2022-08-03,9
+10946,2022-08-04,9
+10947,2022-08-05,9
+10948,2022-08-06,9
+10949,2022-08-07,9
+10950,2022-08-08,9
+10951,2022-08-09,9
+10952,2022-08-10,9
+10953,2022-08-11,9
+10954,2022-08-12,9
+10955,2022-08-13,9
+10956,2022-08-14,9
+10957,2022-08-15,9
+10958,2022-08-16,9
+10959,2022-08-17,9
+10960,2022-08-18,9
+10961,2022-08-19,9
+10962,2022-08-20,9
+10963,2022-08-21,9
+10964,2022-08-22,9
+10965,2022-08-23,9
+10966,2022-08-24,9
+10967,2022-08-25,9
+10968,2022-08-26,9
+10969,2022-08-27,9
+10970,2022-08-28,9
+10971,2022-08-29,9
+10972,2022-08-30,9
+10973,2022-08-31,9
+10974,2022-09-01,9
+10975,2022-09-02,9
+10976,2022-09-03,9
+10977,2022-09-04,9
+10978,2022-09-05,9
+10979,2022-09-06,9
+10980,2022-09-07,9
+10981,2022-09-08,9
+10982,2022-09-09,9
+10983,2022-09-10,9
+10984,2022-09-11,9
+10985,2022-09-12,9
+10986,2022-09-13,9
+10987,2022-09-14,9
+10988,2022-09-15,9
+10989,2022-09-16,9
+10990,2022-09-17,9
+10991,2022-09-18,9
+10992,2022-09-19,9
+10993,2022-09-20,9
+10994,2022-09-21,9
+10995,2022-09-22,9
+10996,2022-09-23,9
+10997,2022-09-24,9
+10998,2022-09-25,9
+10999,2022-09-26,9
diff --git a/examples/Example_1_All_configurations.py b/examples/Example_1_All_configurations.py
new file mode 100644
index 0000000..6a58b84
--- /dev/null
+++ b/examples/Example_1_All_configurations.py
@@ -0,0 +1,528 @@
+import argparse
+import os
+import glob
+import random
+import re
+import sys
+import warnings
+from itertools import product
+from pathlib import Path
+
+import numpy as np
+import pandas as pd
+import torch
+import torch.optim.lr_scheduler as lr_scheduler
+from sklearn.metrics import (
+ mean_absolute_error,
+ mean_absolute_percentage_error,
+ root_mean_squared_error,
+)
+from tqdm import tqdm
+
+from tsururu.dataset import Pipeline, TSDataset
+from tsururu.model_training.trainer import DLTrainer, MLTrainer
+from tsururu.model_training.validator import KFoldCrossValidator
+from tsururu.models.boost import CatBoost
+from tsururu.models.torch_based.dlinear import DLinear_NN
+from tsururu.strategies import (
+ DirectStrategy,
+ FlatWideMIMOStrategy,
+ MIMOStrategy,
+ RecursiveStrategy,
+)
+
+warnings.filterwarnings("ignore")
+
+#################################
+# Constants
+#################################
+
+CURRENT_DIR = Path(__file__).parent
+
+# Data
+DATE_COLUMN = "date"
+ID_COLUMN = "id"
+TARGET_COLUMN = "value"
+
+# Forecasting task
+HISTORY = 52
+HORIZON = 4
+STEP = 1
+
+VALIDATION = KFoldCrossValidator
+VALIDATION_PARAMS = {"n_splits": 3}
+
+# Optimization
+BATCH_SIZE = 32
+LEARNING_RATE = 0.05
+
+# Model, Strategy, Preprocessing
+MODELS = [
+ (DLinear_NN, {"moving_avg": 25, "individual": False, "enc_in": 7}, DLTrainer),
+ (CatBoost, {}, MLTrainer),
+]
+
+STRATEGIES_OVER_TIME = [
+ "RecursiveStrategy",
+ "DirectStrategy",
+ "MIMOStrategy",
+ "FlatWideMIMOStrategy",
+]
+MULTIVARIATE = [
+ True,
+ False
+]
+
+DATE_FEATURES = [
+ "without_normalization",
+ "with_normalization_over_all",
+ False,
+]
+
+ID_FEATURES = [
+ "with_ohe",
+ "with_le_without_normalization",
+ "with_le_normalization_over_all",
+ False,
+]
+
+INDIVIDUAL_MODEL_HORIZON = [None, 1, 2]
+
+TRANSFORMERS = {
+ None,
+ "StandardScalerTransformer",
+ "DifferenceNormalizer",
+ "LastKnownNormalizer",
+}
+TRANSFORMERS_REGIMES = [None, "delta", "ratio"]
+TRANSFORM_TARGET = [True, False]
+TRANSFORM_FEATURES = [True, False]
+
+
+# Training on GPU / CPU
+cuda_device_available = torch.cuda.is_available()
+cuda_device_number = 0
+if cuda_device_available:
+ os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
+ os.environ["CUDA_VISIBLE_DEVICES"] = str(cuda_device_number)
+ device = torch.device(f"cuda:{cuda_device_number}")
+else:
+ device = torch.device("cpu")
+
+
+def lradj(epoch):
+ if epoch < 3:
+ return 1
+ else:
+ return 0.9 ** ((epoch - 3) // 1)
+
+
+def get_metrics(x):
+ res_dict = {
+ "mae": mean_absolute_error(x[TARGET_COLUMN], x["y_pred"]),
+ "rmse": root_mean_squared_error(x[TARGET_COLUMN], x["y_pred"]),
+ "mape": mean_absolute_percentage_error(x[TARGET_COLUMN], x["y_pred"]),
+ }
+ return pd.Series(res_dict)
+
+
+def seed_everything(seed=42):
+ random.seed(seed)
+ np.random.seed(seed)
+ torch.manual_seed(seed)
+ if torch.cuda.is_available():
+ torch.cuda.manual_seed(seed)
+ torch.cuda.manual_seed_all(seed)
+ torch.backends.cudnn.deterministic = True
+ torch.backends.cudnn.benchmark = False
+
+
+def main():
+ seed_everything()
+
+ #################################
+ # 0. CLI parameters
+ #################################
+
+ parser = argparse.ArgumentParser(
+ description="Check all strategies, regimes and preprocessings."
+ )
+
+ parser.add_argument(
+ "--df_path",
+ type=Path,
+ default=Path("datasets/global/simulated_data_to_check.csv"),
+ help="Path to the dataframe CSV file.",
+ )
+ parser.add_argument(
+ "--log_path",
+ type=Path,
+ default=Path("./logs/all_configuraion.txt"),
+ help="Path to the log file.",
+ )
+ parser.add_argument(
+ "--results_path",
+ type=Path,
+ default=Path("./results/"),
+ help="Path to the results file.",
+ )
+
+ args = parser.parse_args()
+
+ args.df_path.parent.mkdir(parents=True, exist_ok=True)
+ args.log_path.parent.mkdir(parents=True, exist_ok=True)
+ args.results_path.parent.mkdir(parents=True, exist_ok=True)
+
+ #################################
+ # 1. dataset, pipeline, model, validation -> trainer
+ #################################
+
+ df = pd.read_csv(args.df_path)
+ df[DATE_COLUMN] = pd.to_datetime(df[DATE_COLUMN])
+
+ train_test_date_split = df.loc[df[ID_COLUMN] == 0, DATE_COLUMN].values[-HORIZON]
+ train = df.loc[df[DATE_COLUMN] < train_test_date_split]
+ test = df.loc[df[DATE_COLUMN] >= train_test_date_split]
+
+ dataset_params = {
+ "target": {
+ "columns": [TARGET_COLUMN],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": [DATE_COLUMN],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": [ID_COLUMN],
+ "type": "categorical",
+ },
+ }
+
+ dataset = TSDataset(
+ data=train,
+ columns_params=dataset_params,
+ )
+
+ pipeline_params = {
+ "target": {
+ "columns": [TARGET_COLUMN],
+ "features": {},
+ }
+ }
+
+ optimizer_params = {
+ "lr": LEARNING_RATE,
+ }
+
+ sch, sch_params = lr_scheduler.LambdaLR, {"lr_lambda": lradj}
+
+ dl_trainer_params = {
+ "device": device,
+ "num_workers": 0,
+ "best_by_metric": True,
+ "batch_size": BATCH_SIZE,
+ "optimizer_params": optimizer_params,
+ "scheduler": sch,
+ "scheduler_params": sch_params,
+ "save_k_best": 1,
+ "save_to_dir": False,
+ }
+ ml_trainer_params = {}
+
+ #################################
+ # 2. Loop through model, strategies, regimes, preprocessings
+ #################################
+
+ df_list = []
+
+ sys.stdout = open(args.log_path, "a")
+
+ for (
+ model,
+ strategy_over_time,
+ multivariate,
+ date_features,
+ id_features,
+ model_horizon,
+ transformer,
+ transformer_regime,
+ transform_target,
+ transform_features,
+ ) in tqdm(
+ product(
+ MODELS,
+ STRATEGIES_OVER_TIME,
+ MULTIVARIATE,
+ DATE_FEATURES,
+ ID_FEATURES,
+ INDIVIDUAL_MODEL_HORIZON,
+ TRANSFORMERS,
+ TRANSFORMERS_REGIMES,
+ TRANSFORM_TARGET,
+ TRANSFORM_FEATURES,
+ ),
+ total=(
+ len(MODELS)
+ * len(STRATEGIES_OVER_TIME)
+ * len(MULTIVARIATE)
+ * len(DATE_FEATURES)
+ * len(ID_FEATURES)
+ * len(INDIVIDUAL_MODEL_HORIZON)
+ * len(TRANSFORMERS)
+ * len(TRANSFORMERS_REGIMES)
+ * len(TRANSFORM_TARGET)
+ * len(TRANSFORM_FEATURES)
+ ),
+ ):
+ # Cases when we skip the combination
+ if (
+ strategy_over_time == "MIMOStrategy" or strategy_over_time == "FlatWideMIMOStrategy"
+ ) and model_horizon is not None:
+ continue
+
+ if (
+ strategy_over_time == "RecursiveStrategy" or strategy_over_time == "DirectStrategy"
+ ) and model_horizon is None:
+ continue
+
+ if strategy_over_time == "FlatWideMIMOStrategy" and date_features is False:
+ continue
+
+ if multivariate is True and id_features is not False:
+ continue
+
+ if transformer == "StandardScalerTransformer" or transformer is None:
+ if (
+ transformer_regime is not None
+ or transform_target is not False
+ or transform_features is not False
+ ):
+ continue
+ else:
+ if (
+ transformer_regime is None
+ or transform_target is False
+ and transform_features is False
+ ):
+ continue
+
+ print(
+ f"""
+ Model: {model[0].__name__}
+ Strategy: {strategy_over_time}
+ Multivariate: {multivariate}
+ Date features: {date_features}
+ ID features: {id_features}
+ Model horizon: {model_horizon}
+ Transformer: {transformer}
+ Transformer regime: {transformer_regime}
+ Transform target: {transform_target}
+ Transform features: {transform_features}
+ """
+ )
+
+ model_name = (
+ f"model_{model[0].__name__}/strategy_time_{strategy_over_time}__mult_{multivariate}/"
+ f"dataset_{args.df_path.stem}__hist_{HISTORY}__hor_{HORIZON}__model_hor_{model_horizon}/"
+ f"datetime_{date_features}__id_{id_features}__"
+ f"transformer_{transformer}__regime_{transformer_regime}__"
+ f"tr_target_{transform_target}__tr_features_{transform_features}"
+ )
+
+ #################################
+ # 4. pipeline -> trainer
+ #################################
+ pipeline_params = {
+ "target": {
+ "columns": ["value"],
+ "features": {},
+ }
+ }
+
+ # Change pipeline params and initialize pipeline
+ # Target
+ if transformer == "StandardScalerTransformer":
+ pipeline_params["target"]["features"] = {
+ transformer: {
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ },
+ "LagTransformer": {"lags": HISTORY},
+ }
+ elif transformer == "DifferenceNormalizer":
+ pipeline_params["target"]["features"] = {
+ transformer: {
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ "regime": transformer_regime,
+ },
+ "MissingValueImputer": {
+ "constant_value": 0,
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ },
+ "LagTransformer": {"lags": HISTORY},
+ }
+ elif transformer == "LastKnownNormalizer":
+ pipeline_params["target"]["features"] = {
+ "LagTransformer": {"lags": HISTORY},
+ transformer: {
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ "regime": transformer_regime,
+ },
+ }
+ else:
+ pipeline_params["target"]["features"] = {"LagTransformer": {"lags": HISTORY}}
+
+ # Date
+ date_features_dict = {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd", "hour"],
+ "from_target_date": True,
+ },
+ "MissingValueImputer": {
+ "constant_value": 0,
+ "transform_features": True,
+ "transform_target": False,
+ },
+ }
+
+ if date_features == "without_normalization":
+ scaler = None
+ elif date_features == "with_normalization_over_all":
+ scaler = {
+ "StandardScalerTransformer": {
+ "transform_features": True,
+ "transform_target": False,
+ "agg_by_id": False,
+ }
+ }
+ else:
+ pipeline_params.pop("date", None)
+ scaler = None
+
+ if scaler is not None:
+ lags_value = HORIZON if strategy_over_time == "FlatWideMIMOStrategy" else 1
+ date_features = {
+ **date_features_dict,
+ **scaler,
+ "LagTransformer": {"lags": lags_value},
+ }
+ pipeline_params["date"] = {"columns": ["date"], "features": date_features}
+
+ # ID
+ if id_features == "with_ohe":
+ pipeline_params["id"] = {
+ "columns": ["id"],
+ "features": {
+ "OneHotEncodingTransformer": {
+ "drop": "first",
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ }
+ elif id_features == "with_le_without_normalization":
+ pipeline_params["id"] = {
+ "columns": ["id"],
+ "features": {
+ "LabelEncodingTransformer": {},
+ "LagTransformer": {"lags": 1},
+ },
+ }
+ elif id_features == "with_le_normalization_over_all":
+ pipeline_params["id"] = {
+ "columns": ["id"],
+ "features": {
+ "LabelEncodingTransformer": {},
+ "StandardScalerTransformer": {
+ "transform_features": True,
+ "transform_target": False,
+ "agg_by_id": False,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ }
+ else:
+ if "id" in pipeline_params:
+ del pipeline_params["id"]
+
+ pipeline = Pipeline.from_dict(pipeline_params, multivariate=multivariate)
+
+ model, model_params, trainer = model
+
+ if trainer == MLTrainer:
+ trainer = trainer(model, model_params, VALIDATION, VALIDATION_PARAMS, **ml_trainer_params)
+ else:
+ trainer = trainer(model, model_params, VALIDATION, VALIDATION_PARAMS, **dl_trainer_params)
+
+ try:
+ if strategy_over_time == "RecursiveStrategy":
+ strategy = RecursiveStrategy(
+ HORIZON, HISTORY, trainer, pipeline, STEP, model_horizon=model_horizon
+ )
+ elif strategy_over_time == "DirectStrategy":
+ strategy = DirectStrategy(
+ HORIZON, HISTORY, trainer, pipeline, STEP, model_horizon=model_horizon
+ )
+ elif strategy_over_time == "MIMOStrategy":
+ strategy = MIMOStrategy(HORIZON, HISTORY, trainer, pipeline, STEP)
+ elif strategy_over_time == "FlatWideMIMOStrategy":
+ strategy = FlatWideMIMOStrategy(HORIZON, HISTORY, trainer, pipeline, STEP)
+
+ fit_time, _ = strategy.fit(dataset)
+ forecast_time, current_pred = strategy.predict(dataset)
+ current_pred = current_pred.rename(columns={TARGET_COLUMN: "y_pred"})
+ current_pred = current_pred.merge(test, on=[DATE_COLUMN, ID_COLUMN])
+
+ (args.results_path / model_name).parent.mkdir(parents=True, exist_ok=True)
+
+ current_pred.to_csv(
+ os.path.join(args.results_path / f"{model_name}_pred.csv"), index=False
+ )
+
+ metrics = current_pred.groupby(ID_COLUMN).apply(lambda x: get_metrics(x)).reset_index()
+ metrics.loc["mean"] = metrics.mean()
+ metrics.loc["fit_time"] = fit_time
+ metrics.loc["forecast_time"] = forecast_time
+
+ metrics = metrics.reset_index()
+ metrics = metrics.drop(columns=[ID_COLUMN])
+ metrics = metrics.rename(columns={"index": ID_COLUMN})
+
+ metrics.to_csv(
+ os.path.join(args.results_path / f"{model_name}_metrics.csv"), index=False
+ )
+ print("Success!")
+
+ except:
+ print("Fail!")
+
+ # Aggregate results
+ print("Aggregating results...")
+ for file in glob.glob(str(args.results_path / "*/*/*/*.csv")):
+ if file.endswith("_metrics.csv"):
+ current_df = pd.read_csv(file)
+ current_df["model"] = re.search(r"model_(.*?)\/", file).group(1)
+ current_df["strategy_over_time"] = re.search(r"strategy_time_(.*?)__", file).group(1)
+ current_df["multivariate"] = re.search(
+ r"mult_(.*?)\/", file
+ ).group(1)
+ current_df["date_features"] = re.search(r"datetime_(.*?)__", file).group(1)
+ current_df["id_features"] = re.search(r"id_(.*?)__", file).group(1)
+ current_df["model_horizon"] = re.search(r"model_hor_(.*?)\/", file).group(1)
+ current_df["transformer"] = re.search(r"transformer_(.*?)__", file).group(1)
+ current_df["transformer_regime"] = re.search(r"regime_(.*?)__", file).group(1)
+ current_df["transform_target"] = re.search(r"tr_target_(.*?)__", file).group(1)
+ current_df["transform_features"] = re.search(r"tr_features_(.*?)_", file).group(1)
+ df_list.append(current_df)
+
+ df = pd.concat(df_list)
+ df.to_csv(args.results_path / "all_results.csv", index=False)
+
+ sys.stdout = sys.__stdout__
+
+
+if __name__ == "__main__":
+ main()
diff --git a/examples/Tutorial_1_Quick_start.ipynb b/examples/Tutorial_1_Quick_start.ipynb
new file mode 100644
index 0000000..540b70e
--- /dev/null
+++ b/examples/Tutorial_1_Quick_start.ipynb
@@ -0,0 +1,1766 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Table of contents** \n",
+ "- [Introduction](#toc1_) \n",
+ "- [Working with Data](#toc2_) \n",
+ " - [TSDataset](#toc2_1_1_) \n",
+ " - [Pipeline and Transformers](#toc2_1_2_) \n",
+ " - [What kind of transformers are there?](#toc2_1_2_1_) \n",
+ " - [Transformers must be assembled in order!](#toc2_1_2_2_) \n",
+ " - [How to build a Pipeline?](#toc2_1_2_3_) \n",
+ " - [Can I use exogenous variables in the pipeline?](#toc2_1_2_4_) \n",
+ " - [Model, Validator and Trainer](#toc2_1_2_5_) \n",
+ " - [Strategy](#toc2_1_2_6_) \n",
+ " - [Backtest validation of pipeline](#toc2_2_) \n",
+ " - [Sliding Window Validation](#toc2_3_) \n",
+ " - [Working with raw time series' granularity](#toc2_4_) \n",
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Introduction](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In this tutorial, we will explore a basic example of forecasting multiple time series and go over the key components of the forecasting pipeline provided by the `Tsururu` library."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's import everything we will need."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import warnings\n",
+ "\n",
+ "warnings.filterwarnings(\"ignore\")\n",
+ "\n",
+ "from typing import List, Optional, Union\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from tsururu.dataset import Pipeline, TSDataset\n",
+ "from tsururu.model_training.trainer import MLTrainer\n",
+ "from tsururu.model_training.validator import KFoldCrossValidator\n",
+ "from tsururu.models.boost import CatBoost\n",
+ "from tsururu.strategies import RecursiveStrategy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_results(\n",
+ " cv: int,\n",
+ " regime: str,\n",
+ " y_true: Optional[List[np.ndarray]] = None,\n",
+ " y_pred: Optional[List[np.ndarray]] = None,\n",
+ " ids: Optional[List[Union[float, str]]] = None,\n",
+ ") -> pd.DataFrame:\n",
+ " def _get_fold_value(\n",
+ " value: Optional[Union[float, np.ndarray]], idx: int\n",
+ " ) -> List[Optional[Union[float, np.ndarray]]]:\n",
+ " if value is None:\n",
+ " return [None]\n",
+ " if isinstance(value[idx], float):\n",
+ " return value[idx]\n",
+ " if isinstance(value[idx], np.ndarray):\n",
+ " return value[idx].reshape(-1)\n",
+ " raise TypeError(f\"Unexpected value type. Value: {value}\")\n",
+ "\n",
+ " df_res_dict = {}\n",
+ "\n",
+ " for idx_fold in range(cv):\n",
+ " # Fill df_res_dict\n",
+ " for name, value in [(\"y_true\", y_true), (\"y_pred\", y_pred)]:\n",
+ " df_res_dict[f\"{name}_{idx_fold+1}\"] = _get_fold_value(\n",
+ " value, idx_fold\n",
+ " )\n",
+ " if regime != \"local\":\n",
+ " df_res_dict[f\"id_{idx_fold+1}\"] = _get_fold_value(ids, idx_fold)\n",
+ "\n",
+ " # Save datasets to specified directory\n",
+ " df_res = pd.DataFrame(df_res_dict)\n",
+ " return df_res"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "There are several main objects to look out for when working with the library:\n",
+ "1) `TSDataset`.\n",
+ "2) `Pipeline` and `Transformers`\n",
+ "3) `Strategy`.\n",
+ "4) `Model`."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Working with Data](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [TSDataset](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This class is needed to store data and meta-information about it."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "To initialise it is necessary to submit the data in `pd.DataFrame` format and define some meta-information about roles that necessary for solving the task of time series forecasting: `id`, `date`, `target`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_path = \"../datasets/global/simulated_data_to_check.csv\"\n",
+ "\n",
+ "dataset_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"type\": \"continuous\",\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"type\": \"datetime\",\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"type\": \"categorical\",\n",
+ " }\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset = TSDataset(\n",
+ " data=pd.read_csv(df_path),\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Pipeline and Transformers](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The Pipeline class is designed to create and apply a sequence of transformations (transformers) to time series data. It is used for data preprocessing, feature and target generation, as well as performing transformations required for forecasting models."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In this tutorial, we will cover a simplified approach to initializing the Pipeline. For detailed information on the available transformers and methods for building a pipeline, refer to Tutorial 3 (Tutorial_3_Pipeline.ipynb)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [What kind of transformers are there?](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Special attention should be paid to the `Transformer` class: the elements of the pipeline that are responsible for transforming the values of a series and generating features. `Pipeline` class is a wrapper over transformers which is needed to provide some additional methods and functions above them.\n",
+ "\n",
+ "There are two types of transformers that are used to collect pipelines:\n",
+ "- `Union` transformers;\n",
+ "- `Sequential` transformers.\n",
+ "\n",
+ "Below is a list of available Transformers: \n",
+ "- **StandardScalerTransformer** *(Series2Series)*.\n",
+ "- **DifferenceNormalizer** *(Series2Series)*: subtract the previous value or divide by it.\n",
+ "- **TimeToNumGenerator** and **DateSeasonsGenerator** *(Series2Series)* - generator for seasonal features by dates.\n",
+ "- **LabelEncodingTransformer** and **OneHotEncodingTransformer** *(Series2Series)* - encoders for categorical features.\n",
+ "- **MissingValuesImputer** *(Series2Series)*.\n",
+ "- **LagTransformer** *(Series2Features)* - generator for lags. \n",
+ "- **LastKnownNormalizer** *(Features2Features)*: normalize all lags by the last known one: divide by it or subtract.\n",
+ "\n",
+ "!!!The lag transformer must necessarily be present in the sequential transformer, otherwise the features will not be generated.!!!\n",
+ "\n",
+ "Finally, to generate targets, you need to use **TargetGenerator**."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Transformers must be assembled in order!](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The __SeriesToSeries__ transformers should come first, followed by the LagTransformer and TargetGenerator (__SeriesToFeatures__), and then the __FeaturesToFeatures__ transformers.\n",
+ "\n",
+ "!!!Thus, **StandardScalerNormalizer** and **DifferenceNormalizer** should be before **LagTransformer** and **LastKnownNormalizer** after it!!!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [How to build a Pipeline?](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_easy_params = {\n",
+ " \"target_lags\": 3,\n",
+ " \"date_lags\": 1,\n",
+ "# \"exog_lags\": 1, # Uncomment this line if you have exogenous features\n",
+ " # One from [\"none\", \"standard_scaler\", \"difference_normalizer\", \"last_known_normalizer\"]\n",
+ " \"target_normalizer\": \"standard_scaler\",\n",
+ " # One from [\"none\", \"delta\", \"ratio\"] (MUST BE \"none\" for \"standard_scaler\" and NOT \"none\" for others)\n",
+ " \"target_normalizer_regime\": \"none\",\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Or:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"features\": {\n",
+ " \"StandardScalerTransformer\":\n",
+ " {\n",
+ " \"transform_target\": True, \n",
+ " \"transform_features\": True\n",
+ " },\n",
+ " \"LagTransformer\": {\"lags\": 7},\n",
+ " },\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"features\": {\n",
+ " \"DateSeasonsGenerator\": {\n",
+ " # Use seasonality features from the date column as \n",
+ " # features with datetime lags\n",
+ " # Possible values: [\n",
+ " # \"y\": year, \"m\": month, \"d\": day, \n",
+ " # \"wd\": weekday, \"doy\": dayofyear,\n",
+ " # \"hour\": hour, \"min\": minute, \"sec\": second, \n",
+ " # \"ms\": microsecond, \"ns\": nanosecond\n",
+ " # ]\n",
+ " \"seasonalities\": ['doy', 'm', 'wd'], \n",
+ " # Use date from target point to make datetime features\n",
+ " \"from_target_date\": True,\n",
+ " },\n",
+ " \"LagTransformer\": {\"lags\": 3}\n",
+ " },\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"features\": {\n",
+ " \"LagTransformer\": {\"lags\": 1},\n",
+ " },\n",
+ " }\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Can I use exogenous variables in the pipeline?](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Yes! Exogenous variables can also be specified here. Just include them in your pipeline.\n",
+ "\n",
+ "However, their operation is currently tested only for the `MIMOStrategy` in global-modelling. For other strategies support of additional variables is under development."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# pipeline_params[\"exog_group_1\"] = {\n",
+ "# \"columns\": [\"value\"],\n",
+ "# \"features\": {\n",
+ "# \"StandardScalerTransformer\":\n",
+ "# {\n",
+ "# \"transform_target\": False, \n",
+ "# \"transform_features\": True\n",
+ "# },\n",
+ "# \"LagTransformer\": {\"lags\": 7},\n",
+ "# },\n",
+ "# }"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "__Make sure you have the transform_target = False flag for exogenous features!__"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Model, Validator and Trainer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- `Model`:\n",
+ " - The model is separate from the strategy. Any model can be run in any strategy if it supports this input and output format.\n",
+ " - You can use on of the implemented ML models (for instance, GBM (Gradient Boosting Machine)).\n",
+ "- `Validator`:\n",
+ " - The validator is responsible for setting up the validation process, which includes creating training and validation folds. It ensures that the data is split correctly so that the model’s performance can be accurately assessed. \n",
+ "- `Trainer`:\n",
+ " - The trainer is the component that trains the model with provided validator. \n",
+ " - It is necessary to choose a trainer in accordance with the type of model (ML, DL, stats)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Configure the model parameters\n",
+ "model = CatBoost\n",
+ "model_params = {\n",
+ " \"loss_function\": \"MultiRMSE\",\n",
+ " \"early_stopping_rounds\": 100,\n",
+ " \"verbose\": 500,\n",
+ "}\n",
+ "\n",
+ "# Configure the validation parameters\n",
+ "validation = KFoldCrossValidator\n",
+ "validation_params = {\n",
+ " \"n_splits\": 2,\n",
+ "}\n",
+ "\n",
+ "trainer_params = {}\n",
+ "\n",
+ "trainer = MLTrainer(\n",
+ " model,\n",
+ " model_params,\n",
+ " validation,\n",
+ " validation_params,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Strategy](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- _Recursive:_ \n",
+ " - one model for all points of the forecast horizon;\n",
+ " - *training*: the model is trained to predict one point ahead;\n",
+ " - *prediction*: a prediction is iteratively made one point ahead, and then this prediction is used to further shape the features in the test data. \n",
+ "- _Recursive-reduced:_\n",
+ " - one model for all points in the prediction horizon;\n",
+ " - *training*: the model is trained to predict one point ahead;\n",
+ " - *prediction*: features are generated for all test observations at once, unavailable values are replaced by NaN.\n",
+ "- _Direct:_ \n",
+ " - individual models for each point in the prediction horizon. \n",
+ "- _MultiOutput (MIMO - Multi-input-multi-output):_\n",
+ " - one model that learns to predict the entire prediction horizon. \n",
+ " - __Also, this strategy supports the presence of `exogenous features` (only for local- or global-modelling).__\n",
+ "- _FlatWideMIMO:_.\n",
+ " - mixture of Direct and MIMO, fit one model, but uses deployed over horizon Direct's features.\n",
+ " - __Number of `lags for datetime features` should be equal to `horizon` while using this strategy.__"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "horizon = 3\n",
+ "history = 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "strategy = RecursiveStrategy(horizon, history, trainer, pipeline)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0:\tlearn: 0.9606080\ttest: 0.9667407\tbest: 0.9667407 (0)\ttotal: 4.58ms\tremaining: 4.58s\n",
+ "500:\tlearn: 0.0051947\ttest: 0.0053699\tbest: 0.0053699 (500)\ttotal: 611ms\tremaining: 608ms\n",
+ "999:\tlearn: 0.0031608\ttest: 0.0033676\tbest: 0.0033676 (999)\ttotal: 1.41s\tremaining: 0us\n",
+ "bestTest = 0.003367620955\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0033676209549416128\n",
+ "0:\tlearn: 0.9659554\ttest: 0.9614093\tbest: 0.9614093 (0)\ttotal: 1.3ms\tremaining: 1.3s\n",
+ "500:\tlearn: 0.0052698\ttest: 0.0054766\tbest: 0.0054766 (500)\ttotal: 664ms\tremaining: 662ms\n",
+ "999:\tlearn: 0.0031515\ttest: 0.0033391\tbest: 0.0033391 (999)\ttotal: 1.21s\tremaining: 0us\n",
+ "bestTest = 0.003339095317\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0033390953168007786\n",
+ "Mean score: 0.0034\n",
+ "Std: 0.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "fit_time, _ = strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1992.837874 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1993.026917 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1981.524299 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2993.408144 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2993.582053 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2982.066608 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3993.473395 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3993.639452 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-29 \n",
+ " 3982.13657 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 3 \n",
+ " 2022-09-27 \n",
+ " 4993.459173 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " 3 \n",
+ " 2022-09-28 \n",
+ " 4993.613307 \n",
+ " \n",
+ " \n",
+ " 11 \n",
+ " 3 \n",
+ " 2022-09-29 \n",
+ " 4982.113216 \n",
+ " \n",
+ " \n",
+ " 12 \n",
+ " 4 \n",
+ " 2022-09-27 \n",
+ " 5993.457714 \n",
+ " \n",
+ " \n",
+ " 13 \n",
+ " 4 \n",
+ " 2022-09-28 \n",
+ " 5993.606981 \n",
+ " \n",
+ " \n",
+ " 14 \n",
+ " 4 \n",
+ " 2022-09-29 \n",
+ " 5982.113868 \n",
+ " \n",
+ " \n",
+ " 15 \n",
+ " 5 \n",
+ " 2022-09-27 \n",
+ " 6993.463906 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 5 \n",
+ " 2022-09-28 \n",
+ " 6993.614611 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 5 \n",
+ " 2022-09-29 \n",
+ " 6982.121499 \n",
+ " \n",
+ " \n",
+ " 18 \n",
+ " 6 \n",
+ " 2022-09-27 \n",
+ " 7993.419185 \n",
+ " \n",
+ " \n",
+ " 19 \n",
+ " 6 \n",
+ " 2022-09-28 \n",
+ " 7993.569889 \n",
+ " \n",
+ " \n",
+ " 20 \n",
+ " 6 \n",
+ " 2022-09-29 \n",
+ " 7982.076777 \n",
+ " \n",
+ " \n",
+ " 21 \n",
+ " 7 \n",
+ " 2022-09-27 \n",
+ " 8993.367361 \n",
+ " \n",
+ " \n",
+ " 22 \n",
+ " 7 \n",
+ " 2022-09-28 \n",
+ " 8993.518065 \n",
+ " \n",
+ " \n",
+ " 23 \n",
+ " 7 \n",
+ " 2022-09-29 \n",
+ " 8982.024953 \n",
+ " \n",
+ " \n",
+ " 24 \n",
+ " 8 \n",
+ " 2022-09-27 \n",
+ " 9993.261674 \n",
+ " \n",
+ " \n",
+ " 25 \n",
+ " 8 \n",
+ " 2022-09-28 \n",
+ " 9993.413249 \n",
+ " \n",
+ " \n",
+ " 26 \n",
+ " 8 \n",
+ " 2022-09-29 \n",
+ " 9981.921657 \n",
+ " \n",
+ " \n",
+ " 27 \n",
+ " 9 \n",
+ " 2022-09-27 \n",
+ " 10993.141321 \n",
+ " \n",
+ " \n",
+ " 28 \n",
+ " 9 \n",
+ " 2022-09-28 \n",
+ " 10993.292934 \n",
+ " \n",
+ " \n",
+ " 29 \n",
+ " 9 \n",
+ " 2022-09-29 \n",
+ " 10981.801303 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1992.837874\n",
+ "1 0 2022-09-28 1993.026917\n",
+ "2 0 2022-09-29 1981.524299\n",
+ "3 1 2022-09-27 2993.408144\n",
+ "4 1 2022-09-28 2993.582053\n",
+ "5 1 2022-09-29 2982.066608\n",
+ "6 2 2022-09-27 3993.473395\n",
+ "7 2 2022-09-28 3993.639452\n",
+ "8 2 2022-09-29 3982.13657\n",
+ "9 3 2022-09-27 4993.459173\n",
+ "10 3 2022-09-28 4993.613307\n",
+ "11 3 2022-09-29 4982.113216\n",
+ "12 4 2022-09-27 5993.457714\n",
+ "13 4 2022-09-28 5993.606981\n",
+ "14 4 2022-09-29 5982.113868\n",
+ "15 5 2022-09-27 6993.463906\n",
+ "16 5 2022-09-28 6993.614611\n",
+ "17 5 2022-09-29 6982.121499\n",
+ "18 6 2022-09-27 7993.419185\n",
+ "19 6 2022-09-28 7993.569889\n",
+ "20 6 2022-09-29 7982.076777\n",
+ "21 7 2022-09-27 8993.367361\n",
+ "22 7 2022-09-28 8993.518065\n",
+ "23 7 2022-09-29 8982.024953\n",
+ "24 8 2022-09-27 9993.261674\n",
+ "25 8 2022-09-28 9993.413249\n",
+ "26 8 2022-09-29 9981.921657\n",
+ "27 9 2022-09-27 10993.141321\n",
+ "28 9 2022-09-28 10993.292934\n",
+ "29 9 2022-09-29 10981.801303"
+ ]
+ },
+ "execution_count": 61,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Backtest validation of pipeline](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Backtest focuses on evaluating models on the most recent horizons with iterative retraining as newer data becomes available. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "0:\tlearn: 0.9618043\ttest: 0.9656878\tbest: 0.9656878 (0)\ttotal: 1.34ms\tremaining: 1.34s\n",
+ "500:\tlearn: 0.0051787\ttest: 0.0052308\tbest: 0.0052308 (500)\ttotal: 557ms\tremaining: 555ms\n",
+ "999:\tlearn: 0.0030887\ttest: 0.0032962\tbest: 0.0032962 (999)\ttotal: 1.13s\tremaining: 0us\n",
+ "bestTest = 0.00329621851\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0032962185095815415\n",
+ "0:\tlearn: 0.9647141\ttest: 0.9623340\tbest: 0.9623340 (0)\ttotal: 1.21ms\tremaining: 1.21s\n",
+ "500:\tlearn: 0.0055104\ttest: 0.0057187\tbest: 0.0057187 (500)\ttotal: 565ms\tremaining: 563ms\n",
+ "999:\tlearn: 0.0033140\ttest: 0.0035696\tbest: 0.0035696 (999)\ttotal: 1.16s\tremaining: 0us\n",
+ "bestTest = 0.003569589613\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.003569589613068342\n",
+ "Mean score: 0.0034\n",
+ "Std: 0.0001\n",
+ "freq: Day; period: 1\n",
+ "freq: Day; period: 1\n",
+ "0:\tlearn: 0.9635630\ttest: 0.9636501\tbest: 0.9636501 (0)\ttotal: 2.2ms\tremaining: 2.2s\n",
+ "500:\tlearn: 0.0051732\ttest: 0.0053000\tbest: 0.0053000 (500)\ttotal: 578ms\tremaining: 576ms\n",
+ "999:\tlearn: 0.0031204\ttest: 0.0032928\tbest: 0.0032928 (999)\ttotal: 1.19s\tremaining: 0us\n",
+ "bestTest = 0.003292811776\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0032928117763904234\n",
+ "0:\tlearn: 0.9632624\ttest: 0.9635496\tbest: 0.9635496 (0)\ttotal: 2.09ms\tremaining: 2.09s\n",
+ "500:\tlearn: 0.0053458\ttest: 0.0056056\tbest: 0.0056056 (500)\ttotal: 567ms\tremaining: 565ms\n",
+ "999:\tlearn: 0.0032541\ttest: 0.0035628\tbest: 0.0035628 (999)\ttotal: 1.13s\tremaining: 0us\n",
+ "bestTest = 0.003562794598\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.003562794597514985\n",
+ "Mean score: 0.0034\n",
+ "Std: 0.0001\n",
+ "freq: Day; period: 1\n",
+ "freq: Day; period: 1\n",
+ "0:\tlearn: 0.9672679\ttest: 0.9599529\tbest: 0.9599529 (0)\ttotal: 1.92ms\tremaining: 1.92s\n",
+ "500:\tlearn: 0.0052718\ttest: 0.0054426\tbest: 0.0054426 (500)\ttotal: 620ms\tremaining: 617ms\n",
+ "999:\tlearn: 0.0030843\ttest: 0.0033111\tbest: 0.0033111 (999)\ttotal: 1.19s\tremaining: 0us\n",
+ "bestTest = 0.003311056772\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.003311056771697718\n",
+ "0:\tlearn: 0.9591189\ttest: 0.9679140\tbest: 0.9679140 (0)\ttotal: 1.78ms\tremaining: 1.78s\n",
+ "500:\tlearn: 0.0053303\ttest: 0.0056656\tbest: 0.0056656 (500)\ttotal: 572ms\tremaining: 570ms\n",
+ "999:\tlearn: 0.0031389\ttest: 0.0034467\tbest: 0.0034467 (999)\ttotal: 1.15s\tremaining: 0us\n",
+ "bestTest = 0.003446668742\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.003446668741714999\n",
+ "Mean score: 0.0034\n",
+ "Std: 0.0001\n",
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "ids, test, pred, fit_time, forecast_time = strategy.back_test(dataset, cv=3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " y_true_1 \n",
+ " y_pred_1 \n",
+ " id_1 \n",
+ " y_true_2 \n",
+ " y_pred_2 \n",
+ " id_2 \n",
+ " y_true_3 \n",
+ " y_pred_3 \n",
+ " id_3 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1997.0 \n",
+ " 1993.466612 \n",
+ " 0 \n",
+ " 1994.0 \n",
+ " 1989.660865 \n",
+ " 0 \n",
+ " 1991.0 \n",
+ " 1985.570009 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1998.0 \n",
+ " 1993.89183 \n",
+ " 0 \n",
+ " 1995.0 \n",
+ " 1989.906115 \n",
+ " 0 \n",
+ " 1992.0 \n",
+ " 1986.309039 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1999.0 \n",
+ " 1994.653188 \n",
+ " 0 \n",
+ " 1996.0 \n",
+ " 1990.068356 \n",
+ " 0 \n",
+ " 1993.0 \n",
+ " 1984.264202 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2997.0 \n",
+ " 2994.040063 \n",
+ " 1 \n",
+ " 2994.0 \n",
+ " 2990.189639 \n",
+ " 1 \n",
+ " 2991.0 \n",
+ " 2986.108931 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2998.0 \n",
+ " 2994.45766 \n",
+ " 1 \n",
+ " 2995.0 \n",
+ " 2990.460632 \n",
+ " 1 \n",
+ " 2992.0 \n",
+ " 2986.8504 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 2999.0 \n",
+ " 2995.221471 \n",
+ " 1 \n",
+ " 2996.0 \n",
+ " 2990.630855 \n",
+ " 1 \n",
+ " 2993.0 \n",
+ " 2984.845248 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 3997.0 \n",
+ " 3994.116753 \n",
+ " 2 \n",
+ " 3994.0 \n",
+ " 3990.252623 \n",
+ " 2 \n",
+ " 3991.0 \n",
+ " 3986.186164 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 3998.0 \n",
+ " 3994.53536 \n",
+ " 2 \n",
+ " 3995.0 \n",
+ " 3990.536104 \n",
+ " 2 \n",
+ " 3992.0 \n",
+ " 3986.91842 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 3999.0 \n",
+ " 3995.289903 \n",
+ " 2 \n",
+ " 3996.0 \n",
+ " 3990.707172 \n",
+ " 2 \n",
+ " 3993.0 \n",
+ " 3984.909912 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 4997.0 \n",
+ " 4994.105357 \n",
+ " 3 \n",
+ " 4994.0 \n",
+ " 4990.238486 \n",
+ " 3 \n",
+ " 4991.0 \n",
+ " 4986.174836 \n",
+ " 3 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " 4998.0 \n",
+ " 4994.523963 \n",
+ " 3 \n",
+ " 4995.0 \n",
+ " 4990.524742 \n",
+ " 3 \n",
+ " 4992.0 \n",
+ " 4986.905019 \n",
+ " 3 \n",
+ " \n",
+ " \n",
+ " 11 \n",
+ " 4999.0 \n",
+ " 4995.27642 \n",
+ " 3 \n",
+ " 4996.0 \n",
+ " 4990.69581 \n",
+ " 3 \n",
+ " 4993.0 \n",
+ " 4984.895818 \n",
+ " 3 \n",
+ " \n",
+ " \n",
+ " 12 \n",
+ " 5997.0 \n",
+ " 5994.106691 \n",
+ " 4 \n",
+ " 5994.0 \n",
+ " 5990.233471 \n",
+ " 4 \n",
+ " 5991.0 \n",
+ " 5986.178833 \n",
+ " 4 \n",
+ " \n",
+ " \n",
+ " 13 \n",
+ " 5998.0 \n",
+ " 5994.526708 \n",
+ " 4 \n",
+ " 5995.0 \n",
+ " 5990.526663 \n",
+ " 4 \n",
+ " 5992.0 \n",
+ " 5986.903486 \n",
+ " 4 \n",
+ " \n",
+ " \n",
+ " 14 \n",
+ " 5999.0 \n",
+ " 5995.273601 \n",
+ " 4 \n",
+ " 5996.0 \n",
+ " 5990.69714 \n",
+ " 4 \n",
+ " 5993.0 \n",
+ " 5984.895642 \n",
+ " 4 \n",
+ " \n",
+ " \n",
+ " 15 \n",
+ " 6997.0 \n",
+ " 6994.116021 \n",
+ " 5 \n",
+ " 6994.0 \n",
+ " 6990.241056 \n",
+ " 5 \n",
+ " 6991.0 \n",
+ " 6986.188108 \n",
+ " 5 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 6998.0 \n",
+ " 6994.536038 \n",
+ " 5 \n",
+ " 6995.0 \n",
+ " 6990.534248 \n",
+ " 5 \n",
+ " 6992.0 \n",
+ " 6986.910565 \n",
+ " 5 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 6999.0 \n",
+ " 6995.280723 \n",
+ " 5 \n",
+ " 6996.0 \n",
+ " 6990.70424 \n",
+ " 5 \n",
+ " 6993.0 \n",
+ " 6984.901779 \n",
+ " 5 \n",
+ " \n",
+ " \n",
+ " 18 \n",
+ " 7997.0 \n",
+ " 7994.072629 \n",
+ " 6 \n",
+ " 7994.0 \n",
+ " 7990.196603 \n",
+ " 6 \n",
+ " 7991.0 \n",
+ " 7986.144976 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 19 \n",
+ " 7998.0 \n",
+ " 7994.492646 \n",
+ " 6 \n",
+ " 7995.0 \n",
+ " 7990.489794 \n",
+ " 6 \n",
+ " 7992.0 \n",
+ " 7986.866245 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 20 \n",
+ " 7999.0 \n",
+ " 7995.236135 \n",
+ " 6 \n",
+ " 7996.0 \n",
+ " 7990.659787 \n",
+ " 6 \n",
+ " 7993.0 \n",
+ " 7984.857459 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 21 \n",
+ " 8997.0 \n",
+ " 8994.020961 \n",
+ " 7 \n",
+ " 8994.0 \n",
+ " 8990.145089 \n",
+ " 7 \n",
+ " 8991.0 \n",
+ " 8986.093618 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 22 \n",
+ " 8998.0 \n",
+ " 8994.440977 \n",
+ " 7 \n",
+ " 8995.0 \n",
+ " 8990.438281 \n",
+ " 7 \n",
+ " 8992.0 \n",
+ " 8986.814888 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 23 \n",
+ " 8999.0 \n",
+ " 8995.184466 \n",
+ " 7 \n",
+ " 8996.0 \n",
+ " 8990.608273 \n",
+ " 7 \n",
+ " 8993.0 \n",
+ " 8984.806101 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 24 \n",
+ " 9997.0 \n",
+ " 9993.917974 \n",
+ " 8 \n",
+ " 9994.0 \n",
+ " 9990.040901 \n",
+ " 8 \n",
+ " 9991.0 \n",
+ " 9985.992136 \n",
+ " 8 \n",
+ " \n",
+ " \n",
+ " 25 \n",
+ " 9998.0 \n",
+ " 9994.338881 \n",
+ " 8 \n",
+ " 9995.0 \n",
+ " 9990.335604 \n",
+ " 8 \n",
+ " 9992.0 \n",
+ " 9986.709841 \n",
+ " 8 \n",
+ " \n",
+ " \n",
+ " 26 \n",
+ " 9999.0 \n",
+ " 9995.078784 \n",
+ " 8 \n",
+ " 9996.0 \n",
+ " 9990.505597 \n",
+ " 8 \n",
+ " 9993.0 \n",
+ " 9984.701365 \n",
+ " 8 \n",
+ " \n",
+ " \n",
+ " 27 \n",
+ " 10997.0 \n",
+ " 10993.797982 \n",
+ " 9 \n",
+ " 10994.0 \n",
+ " 10989.921308 \n",
+ " 9 \n",
+ " 10991.0 \n",
+ " 10985.872866 \n",
+ " 9 \n",
+ " \n",
+ " \n",
+ " 28 \n",
+ " 10998.0 \n",
+ " 10994.218889 \n",
+ " 9 \n",
+ " 10995.0 \n",
+ " 10990.215972 \n",
+ " 9 \n",
+ " 10992.0 \n",
+ " 10986.59057 \n",
+ " 9 \n",
+ " \n",
+ " \n",
+ " 29 \n",
+ " 10999.0 \n",
+ " 10994.958791 \n",
+ " 9 \n",
+ " 10996.0 \n",
+ " 10990.385965 \n",
+ " 9 \n",
+ " 10993.0 \n",
+ " 10984.582094 \n",
+ " 9 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " y_true_1 y_pred_1 id_1 y_true_2 y_pred_2 id_2 y_true_3 \\\n",
+ "0 1997.0 1993.466612 0 1994.0 1989.660865 0 1991.0 \n",
+ "1 1998.0 1993.89183 0 1995.0 1989.906115 0 1992.0 \n",
+ "2 1999.0 1994.653188 0 1996.0 1990.068356 0 1993.0 \n",
+ "3 2997.0 2994.040063 1 2994.0 2990.189639 1 2991.0 \n",
+ "4 2998.0 2994.45766 1 2995.0 2990.460632 1 2992.0 \n",
+ "5 2999.0 2995.221471 1 2996.0 2990.630855 1 2993.0 \n",
+ "6 3997.0 3994.116753 2 3994.0 3990.252623 2 3991.0 \n",
+ "7 3998.0 3994.53536 2 3995.0 3990.536104 2 3992.0 \n",
+ "8 3999.0 3995.289903 2 3996.0 3990.707172 2 3993.0 \n",
+ "9 4997.0 4994.105357 3 4994.0 4990.238486 3 4991.0 \n",
+ "10 4998.0 4994.523963 3 4995.0 4990.524742 3 4992.0 \n",
+ "11 4999.0 4995.27642 3 4996.0 4990.69581 3 4993.0 \n",
+ "12 5997.0 5994.106691 4 5994.0 5990.233471 4 5991.0 \n",
+ "13 5998.0 5994.526708 4 5995.0 5990.526663 4 5992.0 \n",
+ "14 5999.0 5995.273601 4 5996.0 5990.69714 4 5993.0 \n",
+ "15 6997.0 6994.116021 5 6994.0 6990.241056 5 6991.0 \n",
+ "16 6998.0 6994.536038 5 6995.0 6990.534248 5 6992.0 \n",
+ "17 6999.0 6995.280723 5 6996.0 6990.70424 5 6993.0 \n",
+ "18 7997.0 7994.072629 6 7994.0 7990.196603 6 7991.0 \n",
+ "19 7998.0 7994.492646 6 7995.0 7990.489794 6 7992.0 \n",
+ "20 7999.0 7995.236135 6 7996.0 7990.659787 6 7993.0 \n",
+ "21 8997.0 8994.020961 7 8994.0 8990.145089 7 8991.0 \n",
+ "22 8998.0 8994.440977 7 8995.0 8990.438281 7 8992.0 \n",
+ "23 8999.0 8995.184466 7 8996.0 8990.608273 7 8993.0 \n",
+ "24 9997.0 9993.917974 8 9994.0 9990.040901 8 9991.0 \n",
+ "25 9998.0 9994.338881 8 9995.0 9990.335604 8 9992.0 \n",
+ "26 9999.0 9995.078784 8 9996.0 9990.505597 8 9993.0 \n",
+ "27 10997.0 10993.797982 9 10994.0 10989.921308 9 10991.0 \n",
+ "28 10998.0 10994.218889 9 10995.0 10990.215972 9 10992.0 \n",
+ "29 10999.0 10994.958791 9 10996.0 10990.385965 9 10993.0 \n",
+ "\n",
+ " y_pred_3 id_3 \n",
+ "0 1985.570009 0 \n",
+ "1 1986.309039 0 \n",
+ "2 1984.264202 0 \n",
+ "3 2986.108931 1 \n",
+ "4 2986.8504 1 \n",
+ "5 2984.845248 1 \n",
+ "6 3986.186164 2 \n",
+ "7 3986.91842 2 \n",
+ "8 3984.909912 2 \n",
+ "9 4986.174836 3 \n",
+ "10 4986.905019 3 \n",
+ "11 4984.895818 3 \n",
+ "12 5986.178833 4 \n",
+ "13 5986.903486 4 \n",
+ "14 5984.895642 4 \n",
+ "15 6986.188108 5 \n",
+ "16 6986.910565 5 \n",
+ "17 6984.901779 5 \n",
+ "18 7986.144976 6 \n",
+ "19 7986.866245 6 \n",
+ "20 7984.857459 6 \n",
+ "21 8986.093618 7 \n",
+ "22 8986.814888 7 \n",
+ "23 8984.806101 7 \n",
+ "24 9985.992136 8 \n",
+ "25 9986.709841 8 \n",
+ "26 9984.701365 8 \n",
+ "27 10985.872866 9 \n",
+ "28 10986.59057 9 \n",
+ "29 10984.582094 9 "
+ ]
+ },
+ "execution_count": 63,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "get_results(cv=3, regime=\"global\", y_true=test, y_pred=pred, ids=ids)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Sliding Window Validation](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Sliding window validation is a technique often used in research papers dedicated to time series forecasting. \n",
+ "\n",
+ "The testing part is further subdivided using rolling windows, where a “history” window and a “horizon” window are repeatedly created with a fixed step size."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Train shape: (7310, 3)\n",
+ "Test shape: (2690, 3)\n",
+ "freq: Day; period: 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "full_df = pd.read_csv(df_path)\n",
+ "\n",
+ "train_df = full_df[full_df[\"date\"] < \"2022-01-01\"]\n",
+ "test_df = full_df[full_df[\"date\"] >= \"2022-01-01\"]\n",
+ "\n",
+ "print(f\"Train shape: {train_df.shape}\")\n",
+ "print(f\"Test shape: {test_df.shape}\")\n",
+ "\n",
+ "train_dataset = TSDataset(\n",
+ " data=train_df,\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")\n",
+ "\n",
+ "test_dataset = TSDataset(\n",
+ " data=test_df,\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0:\tlearn: 0.9606080\ttest: 0.9667407\tbest: 0.9667407 (0)\ttotal: 1.15ms\tremaining: 1.15s\n",
+ "500:\tlearn: 0.0051947\ttest: 0.0053699\tbest: 0.0053699 (500)\ttotal: 558ms\tremaining: 556ms\n",
+ "999:\tlearn: 0.0031608\ttest: 0.0033676\tbest: 0.0033676 (999)\ttotal: 1.21s\tremaining: 0us\n",
+ "bestTest = 0.003367620955\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0033676209549416128\n",
+ "0:\tlearn: 0.9659554\ttest: 0.9614093\tbest: 0.9614093 (0)\ttotal: 2ms\tremaining: 2s\n",
+ "500:\tlearn: 0.0052698\ttest: 0.0054766\tbest: 0.0054766 (500)\ttotal: 570ms\tremaining: 568ms\n",
+ "999:\tlearn: 0.0031515\ttest: 0.0033391\tbest: 0.0033391 (999)\ttotal: 1.14s\tremaining: 0us\n",
+ "bestTest = 0.003339095317\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0033390953168007786\n",
+ "Mean score: 0.0034\n",
+ "Std: 0.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "fit_time, _ = strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "\n",
+ " It seems that the data is not regular. Please, check the data and the frequency info. \n",
+ " For multivariate regime it is critical to have regular data.\n",
+ " For global regime each regular part of time series will be processed as separate time series. \n",
+ " \n"
+ ]
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset, test_all=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "It is normal to see this warning when using the sliding window validation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2020-01-08 \n",
+ " 1008.4361 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2020-01-09 \n",
+ " 1008.769569 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2020-01-10 \n",
+ " 1009.748942 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2020-01-09 \n",
+ " 1008.769569 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2020-01-10 \n",
+ " 1009.71512 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 29725 \n",
+ " 9 \n",
+ " 2022-09-24 \n",
+ " 10996.789104 \n",
+ " \n",
+ " \n",
+ " 29726 \n",
+ " 9 \n",
+ " 2022-09-25 \n",
+ " 10997.211277 \n",
+ " \n",
+ " \n",
+ " 29727 \n",
+ " 9 \n",
+ " 2022-09-24 \n",
+ " 10996.789104 \n",
+ " \n",
+ " \n",
+ " 29728 \n",
+ " 9 \n",
+ " 2022-09-25 \n",
+ " 10997.211277 \n",
+ " \n",
+ " \n",
+ " 29729 \n",
+ " 9 \n",
+ " 2022-09-26 \n",
+ " 10997.953405 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
29730 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2020-01-08 1008.4361\n",
+ "1 0 2020-01-09 1008.769569\n",
+ "2 0 2020-01-10 1009.748942\n",
+ "3 0 2020-01-09 1008.769569\n",
+ "4 0 2020-01-10 1009.71512\n",
+ "... .. ... ...\n",
+ "29725 9 2022-09-24 10996.789104\n",
+ "29726 9 2022-09-25 10997.211277\n",
+ "29727 9 2022-09-24 10996.789104\n",
+ "29728 9 2022-09-25 10997.211277\n",
+ "29729 9 2022-09-26 10997.953405\n",
+ "\n",
+ "[29730 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that after 2020-01-10 it is 2020-01-09 and this means that sliding window validation is working correctly."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Working with raw time series' granularity](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Time series come in different granularities, from hourly and daily time series to more complex ones such as the end of each quarter.\n",
+ "\n",
+ "If the rows do not contain segments that are too short (that are shorter than history + horizon), then `tsururu` will try to extract the row granularity on its own. We currently support the following types:\n",
+ "\n",
+ "- Yearly (and YearlyEnd)\n",
+ "- Quarterly (and Quarterly)\n",
+ "- Monthly (and MonthlyEnd)\n",
+ "- Weekly\n",
+ "- Daily\n",
+ "- Hourly\n",
+ "- Minlutely\n",
+ "- Secondly\n",
+ "- Microsecondly\n",
+ "\n",
+ "There is also support for compound granularities (10 days, 15 minutes, 32 seconds, etc.). The correctness of the selected granularity can be checked from the output after the `Dataset` class has been created.\n",
+ "\n",
+ "However, there are tricky situations (e.g. 28 days) where the monthly granularity may be guessed incorrectly. Therefore, it is possible to set your own granularity using the `pd.DateOffset` class or related classes from `pandas.tseries.offsets`, which must be fed as `delta` parameter into the `Dataset` class. Then the time column will be processed according to the user's settings."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Consider a time series where each point is exactly __28 daily points away__ from each other"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_path_2 = \"../datasets/global/simulated_data_to_check_28D.csv\"\n",
+ "\n",
+ "# Configure the features settings\n",
+ "dataset_params_2 = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"type\": \"continuous\",\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"type\": \"datetime\",\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"type\": \"categorical\",\n",
+ " }\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Month; period: 1.0\n",
+ "\n",
+ " It seems that the data is not regular. Please, check the data and the frequency info. \n",
+ " For multivariate regime it is critical to have regular data.\n",
+ " For global regime each regular part of time series will be processed as separate time series. \n",
+ " \n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset_2 = TSDataset(\n",
+ " data=pd.read_csv(df_path_2),\n",
+ " columns_params=dataset_params_2,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We see that the frequency of the series is incorrectly defined as monthly. Let's try to pass the `delta` parameter."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Custom OffSet: \n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset_2 = TSDataset(\n",
+ " data=pd.read_csv(df_path_2),\n",
+ " columns_params=dataset_params_2,\n",
+ " delta=pd.DateOffset(days=28),\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now it's all detected correctly."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "py_3_10",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.14"
+ },
+ "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/Tutorial_2_Strategies.ipynb b/examples/Tutorial_2_Strategies.ipynb
new file mode 100644
index 0000000..5340bd0
--- /dev/null
+++ b/examples/Tutorial_2_Strategies.ipynb
@@ -0,0 +1,23748 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Table of contents** \n",
+ "- [Introduction](#toc1_) \n",
+ "- [Loading Data](#toc2_) \n",
+ "- [Description of Strategies](#toc3_) \n",
+ " - [Multi-series prediction strategies: local, global, multivariate](#toc3_1_) \n",
+ " - [Multi-point-ahead prediction strategies:](#toc3_2_) \n",
+ " - [MIMO (Multi-input-multi-output)](#toc3_2_1_) \n",
+ " - [global-modelling](#toc3_2_1_1_) \n",
+ " - [multivariate-modelling](#toc3_2_1_2_) \n",
+ " - [local-modelling](#toc3_2_1_3_) \n",
+ " - [Recursive](#toc3_2_2_) \n",
+ " - [Reduced](#toc3_2_2_1_) \n",
+ " - [Recursive + MIMO](#toc3_2_2_2_) \n",
+ " - [Direct](#toc3_2_3_) \n",
+ " - [Equal train size](#toc3_2_3_1_) \n",
+ " - [Direct + MIMO](#toc3_2_3_2_) \n",
+ " - [FlatWideMIMO](#toc3_2_4_) \n",
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Introduction](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In this tutorial, we will take a closer look at strategies in the context of both multi-step forecasting and simultaneous forecasting of multiple time series.\n",
+ "\n",
+ "We will explore how strategies affect the feature generation process used for model training."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's import everything we need and define functions to obtain the results."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import warnings\n",
+ "\n",
+ "warnings.filterwarnings(\"ignore\")\n",
+ "\n",
+ "from copy import deepcopy\n",
+ "from typing import List, Optional, Union\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from tsururu.dataset import IndexSlicer, Pipeline, TSDataset\n",
+ "from tsururu.model_training.trainer import DLTrainer, MLTrainer\n",
+ "from tsururu.model_training.validator import KFoldCrossValidator\n",
+ "from tsururu.models.boost import CatBoost\n",
+ "from tsururu.strategies import (\n",
+ " DirectStrategy,\n",
+ " FlatWideMIMOStrategy,\n",
+ " MIMOStrategy,\n",
+ " RecursiveStrategy,\n",
+ ")\n",
+ "from tsururu.strategies.base import Strategy\n",
+ "from tsururu.strategies.utils import timing_decorator\n",
+ "from tsururu.transformers import (\n",
+ " DateSeasonsGenerator,\n",
+ " DifferenceNormalizer,\n",
+ " LagTransformer,\n",
+ " LastKnownNormalizer,\n",
+ " SequentialTransformer,\n",
+ " StandardScalerTransformer,\n",
+ " TargetGenerator,\n",
+ " UnionTransformer,\n",
+ ")\n",
+ "\n",
+ "index_slicer = IndexSlicer()\n",
+ "\n",
+ "import time\n",
+ "from pathlib import Path\n",
+ "from typing import Callable, Dict, List, Optional, Tuple, Union\n",
+ "\n",
+ "import numpy as np\n",
+ "\n",
+ "from tsururu.models.base import Estimator\n",
+ "from tsururu.model_training.validator import Validator\n",
+ "\n",
+ "try:\n",
+ " import torch\n",
+ " import torch.nn as nn\n",
+ " from torch.utils.data import Subset\n",
+ "except ImportError:\n",
+ " torch = None\n",
+ " Subset = None\n",
+ " nn = None"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's transfer the necessary code into the notebook so that we can output the values of variables."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class MLTrainer:\n",
+ " def __init__(\n",
+ " self,\n",
+ " model: Estimator,\n",
+ " model_params: Dict,\n",
+ " validator: Optional[Validator] = None,\n",
+ " validation_params: Dict = {},\n",
+ " ):\n",
+ " self.model = model\n",
+ " self.model_params = model_params\n",
+ " self.validator = validator\n",
+ " self.validation_params = validation_params\n",
+ "\n",
+ " # Provide by strategy if needed\n",
+ " self.history = None\n",
+ " self.horizon = None\n",
+ " self.models: List[Estimator] = []\n",
+ " self.scores: List[float] = []\n",
+ " self.columns: List[str] = []\n",
+ "\n",
+ " def fit(self, data: dict, pipeline: Pipeline, val_data: Optional[dict] = None) -> \"MLTrainer\":\n",
+ " X, y = pipeline.generate(data)\n",
+ " \n",
+ " print(\"X for training: \", X.shape)\n",
+ " display(pd.DataFrame(X, columns=pipeline.output_features).head())\n",
+ " print(\"y for training: \", y.shape)\n",
+ " print(y[:5], \"\\n\")\n",
+ "\n",
+ " if val_data:\n",
+ " X_val, y_val = pipeline.generate(val_data)\n",
+ " else:\n",
+ " X_val, y_val = None, None\n",
+ "\n",
+ " # Initialize columns' order and reorder columns\n",
+ " self.features_argsort = np.argsort(pipeline.output_features)\n",
+ " X = X[:, self.features_argsort]\n",
+ "\n",
+ " for fold_i, (X_train, y_train, X_val, y_val) in enumerate(\n",
+ " self.validator(**self.validation_params).get_split(X, y, X_val, y_val)\n",
+ " ):\n",
+ " model = self.model(self.model_params)\n",
+ " model.fit_one_fold(X_train, y_train, X_val, y_val)\n",
+ " self.models.append(model)\n",
+ " self.scores.append(model.score)\n",
+ "\n",
+ " print(f\"Fold {fold_i}. Score: {model.score}\")\n",
+ "\n",
+ " print(f\"Mean score: {np.mean(self.scores).round(4)}\")\n",
+ " print(f\"Std: {np.std(self.scores).round(4)}\")\n",
+ "\n",
+ " def predict(self, data: dict, pipeline: Pipeline) -> np.ndarray:\n",
+ " X, _ = pipeline.generate(data)\n",
+ "\n",
+ " print(\"X for testing: \", X.shape)\n",
+ " display(pd.DataFrame(X, columns=pipeline.output_features).head())\n",
+ "\n",
+ " # Reorder columns\n",
+ " X = X[:, self.features_argsort]\n",
+ "\n",
+ " models_preds = [model.predict(X) for model in self.models]\n",
+ " y_pred = np.mean(models_preds, axis=0)\n",
+ "\n",
+ " y_pred = y_pred.reshape(pipeline.y_original_shape)\n",
+ "\n",
+ " return y_pred\n",
+ "\n",
+ "class RecursiveStrategy(Strategy):\n",
+ " def __init__(\n",
+ " self,\n",
+ " horizon: int,\n",
+ " history: int,\n",
+ " trainer: Union[MLTrainer, DLTrainer],\n",
+ " pipeline: Pipeline,\n",
+ " step: int = 1,\n",
+ " model_horizon: int = 1,\n",
+ " reduced: bool = False,\n",
+ " ):\n",
+ " super().__init__(horizon, history, trainer, pipeline, step)\n",
+ " self.model_horizon = model_horizon\n",
+ " self.reduced = reduced\n",
+ " self.strategy_name = \"recursive\"\n",
+ "\n",
+ " @timing_decorator\n",
+ " def fit(\n",
+ " self,\n",
+ " dataset: TSDataset,\n",
+ " ) -> \"RecursiveStrategy\":\n",
+ " features_idx = index_slicer.create_idx_data(\n",
+ " dataset.data,\n",
+ " self.model_horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.model_horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)\n",
+ " data = self.pipeline.fit_transform(data, self.strategy_name)\n",
+ " \n",
+ " print(\"raw_ts_X_for_training: \", data[\"raw_ts_X\"].shape)\n",
+ " display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ " val_dataset = self.trainer.validation_params.get(\"validation_data\")\n",
+ "\n",
+ " if val_dataset:\n",
+ " val_features_idx = index_slicer.create_idx_data(\n",
+ " val_dataset.data,\n",
+ " self.model_horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " val_target_idx = index_slicer.create_idx_target(\n",
+ " val_dataset.data,\n",
+ " self.model_horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " val_data = self.pipeline.create_data_dict_for_pipeline(\n",
+ " val_dataset, val_features_idx, val_target_idx\n",
+ " )\n",
+ " val_data = self.pipeline.transform(val_data)\n",
+ " else:\n",
+ " val_data = None\n",
+ "\n",
+ " if isinstance(self.trainer, DLTrainer):\n",
+ " if self.strategy_name == \"FlatWideMIMOStrategy\":\n",
+ " self.trainer.horizon = 1\n",
+ " else:\n",
+ " self.trainer.horizon = self.model_horizon\n",
+ " self.trainer.history = self.history\n",
+ "\n",
+ " current_trainer = deepcopy(self.trainer)\n",
+ "\n",
+ " # In Recursive strategy, we train the individual model\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " checkpoint_path = current_trainer.checkpoint_path\n",
+ " pretrained_path = current_trainer.pretrained_path\n",
+ "\n",
+ " current_trainer.checkpoint_path /= \"trainer_0\"\n",
+ " if pretrained_path:\n",
+ " current_trainer.pretrained_path /= \"trainer_0\"\n",
+ "\n",
+ " current_trainer.fit(data, self.pipeline, val_data)\n",
+ "\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " current_trainer.checkpoint_path = checkpoint_path\n",
+ " current_trainer.pretrained_path = pretrained_path\n",
+ "\n",
+ " self.trainers.append(current_trainer)\n",
+ " return self\n",
+ "\n",
+ " def make_step(self, step: int, dataset: TSDataset) -> TSDataset:\n",
+ " test_idx = index_slicer.create_idx_test(\n",
+ " dataset.data,\n",
+ " self.horizon - step * self.model_horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )[:, self.model_horizon * step : self.model_horizon * (step + 1)]\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)\n",
+ " data = self.pipeline.transform(data)\n",
+ "\n",
+ " pred = self.trainers[0].predict(data, self.pipeline)\n",
+ " pred = self.pipeline.inverse_transform_y(pred)\n",
+ "\n",
+ " dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)\n",
+ "\n",
+ " return dataset\n",
+ "\n",
+ " @timing_decorator\n",
+ " def predict(self, dataset: TSDataset, test_all: bool = False) -> pd.DataFrame:\n",
+ " new_data = dataset.make_padded_test(\n",
+ " self.horizon, self.history, test_all=test_all, step=self.step\n",
+ " )\n",
+ " new_dataset = TSDataset(new_data, dataset.columns_params, dataset.delta)\n",
+ "\n",
+ " if test_all:\n",
+ " new_dataset.data = new_dataset.data.sort_values(\n",
+ " [dataset.id_column, \"segment_col\", dataset.date_column]\n",
+ " )\n",
+ "\n",
+ " if self.reduced:\n",
+ " current_test_ids = index_slicer.create_idx_data(\n",
+ " new_dataset.data,\n",
+ " self.model_horizon,\n",
+ " self.history,\n",
+ " step=self.model_horizon,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " target_ids = index_slicer.create_idx_target(\n",
+ " new_dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " step=self.model_horizon,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(\n",
+ " new_dataset, current_test_ids, target_ids\n",
+ " )\n",
+ " data = self.pipeline.transform(data)\n",
+ "\n",
+ " print(f\"raw_ts_X on recursive reduced\", new_dataset.data[dataset.target_column].shape)\n",
+ " display(new_dataset.data[new_dataset.data[dataset.id_column] == 0].tail(10))\n",
+ "\n",
+ " pred = self.trainers[0].predict(data, self.pipeline)\n",
+ " pred = self.pipeline.inverse_transform_y(pred)\n",
+ "\n",
+ " new_dataset.data.loc[target_ids.reshape(-1), dataset.target_column] = pred.reshape(-1)\n",
+ "\n",
+ " else:\n",
+ " for step in range(self.horizon // self.model_horizon):\n",
+ " print(f\"raw_ts_X on step: {step}\", new_dataset.data[dataset.target_column].shape)\n",
+ " display(new_dataset.data[new_dataset.data[dataset.id_column] == 0].tail(10))\n",
+ " new_dataset = self.make_step(step, new_dataset)\n",
+ "\n",
+ " # Get dataframe with predictions only\n",
+ " pred_df = self._make_preds_df(new_dataset, self.horizon, self.history)\n",
+ " return pred_df\n",
+ "\n",
+ "class MIMOStrategy(RecursiveStrategy):\n",
+ " def __init__(\n",
+ " self,\n",
+ " horizon: int,\n",
+ " history: int,\n",
+ " trainer: Union[MLTrainer, DLTrainer],\n",
+ " pipeline: Pipeline,\n",
+ " step: int = 1,\n",
+ " ):\n",
+ " super().__init__(horizon, history, trainer, pipeline, step, model_horizon=horizon)\n",
+ " self.strategy_name = \"MIMOStrategy\"\n",
+ "\n",
+ "class DirectStrategy(RecursiveStrategy):\n",
+ " def __init__(\n",
+ " self,\n",
+ " horizon: int,\n",
+ " history: int,\n",
+ " trainer: Union[MLTrainer, DLTrainer],\n",
+ " pipeline: Pipeline,\n",
+ " step: int = 1,\n",
+ " model_horizon: int = 1,\n",
+ " equal_train_size: bool = False,\n",
+ " ):\n",
+ " super().__init__(horizon, history, trainer, pipeline, step, model_horizon)\n",
+ " self.equal_train_size = equal_train_size\n",
+ " self.strategy_name = \"direct\"\n",
+ "\n",
+ " @timing_decorator\n",
+ " def fit(\n",
+ " self,\n",
+ " dataset: TSDataset,\n",
+ " ) -> \"DirectStrategy\":\n",
+ " self.trainers = []\n",
+ "\n",
+ " if self.equal_train_size:\n",
+ " features_idx = index_slicer.create_idx_data(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)\n",
+ " data = self.pipeline.fit_transform(data, self.strategy_name)\n",
+ "\n",
+ " val_dataset = self.trainer.validation_params.get(\"validation_data\")\n",
+ "\n",
+ " if val_dataset:\n",
+ " val_features_idx = index_slicer.create_idx_data(\n",
+ " val_dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=val_dataset.date_column,\n",
+ " delta=val_dataset.delta,\n",
+ " )\n",
+ "\n",
+ " val_target_idx = index_slicer.create_idx_target(\n",
+ " val_dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=val_dataset.date_column,\n",
+ " delta=val_dataset.delta,\n",
+ " )\n",
+ "\n",
+ " val_data = self.pipeline.create_data_dict_for_pipeline(\n",
+ " val_dataset, val_features_idx, val_target_idx\n",
+ " )\n",
+ " val_data = self.pipeline.transform(val_data)\n",
+ " else:\n",
+ " val_data = None\n",
+ "\n",
+ " for model_i, horizon in enumerate(range(1, self.horizon // self.model_horizon + 1)):\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )[:, (horizon - 1) * self.model_horizon : horizon * self.model_horizon]\n",
+ "\n",
+ " data[\"idx_y\"] = target_idx\n",
+ "\n",
+ " if val_dataset:\n",
+ " val_target_idx = index_slicer.create_idx_target(\n",
+ " val_dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=val_dataset.date_column,\n",
+ " delta=val_dataset.delta,\n",
+ " )[:, (horizon - 1) * self.model_horizon : horizon * self.model_horizon]\n",
+ "\n",
+ " val_data[\"idx_y\"] = val_target_idx\n",
+ "\n",
+ " if isinstance(self.trainer, DLTrainer):\n",
+ " self.trainer.horizon = self.model_horizon\n",
+ " self.trainer.history = self.history\n",
+ "\n",
+ " current_trainer = deepcopy(self.trainer)\n",
+ "\n",
+ " # In Direct strategy, we train several models, one for each model_horizon\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " checkpoint_path = current_trainer.checkpoint_path\n",
+ " pretrained_path = current_trainer.pretrained_path\n",
+ "\n",
+ " current_trainer.checkpoint_path /= f\"trainer_{model_i}\"\n",
+ " if pretrained_path:\n",
+ " current_trainer.pretrained_path /= f\"trainer_{model_i}\"\n",
+ "\n",
+ " print(f\"Training model for horizon {horizon}\".center(100, \"-\"))\n",
+ " \n",
+ " print(\"raw_ts_X_for_training: \", data[\"raw_ts_X\"].shape)\n",
+ "\n",
+ " data[\"X\"] = np.array([])\n",
+ " data[\"y\"] = np.array([])\n",
+ "\n",
+ " current_trainer.fit(data, self.pipeline, val_data)\n",
+ "\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " current_trainer.checkpoint_path = checkpoint_path\n",
+ " current_trainer.pretrained_path = pretrained_path\n",
+ "\n",
+ " self.trainers.append(current_trainer)\n",
+ "\n",
+ " else:\n",
+ " for model_i, horizon in enumerate(range(1, self.horizon // self.model_horizon + 1)):\n",
+ " features_idx = index_slicer.create_idx_data(\n",
+ " dataset.data,\n",
+ " self.model_horizon * horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ "\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.model_horizon * horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " n_last_horizon=self.model_horizon,\n",
+ " )\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(\n",
+ " dataset, features_idx, target_idx\n",
+ " )\n",
+ " data = self.pipeline.fit_transform(data, self.strategy_name)\n",
+ "\n",
+ " val_dataset = self.trainer.validation_params.get(\"validation_data\")\n",
+ "\n",
+ " if val_dataset:\n",
+ " val_features_idx = index_slicer.create_idx_data(\n",
+ " val_dataset.data,\n",
+ " self.model_horizon * horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=val_dataset.date_column,\n",
+ " delta=val_dataset.delta,\n",
+ " )\n",
+ "\n",
+ " val_target_idx = index_slicer.create_idx_target(\n",
+ " val_dataset.data,\n",
+ " self.model_horizon * horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=val_dataset.date_column,\n",
+ " delta=val_dataset.delta,\n",
+ " n_last_horizon=self.model_horizon,\n",
+ " )\n",
+ "\n",
+ " val_data = self.pipeline.create_data_dict_for_pipeline(\n",
+ " val_dataset, val_features_idx, val_target_idx\n",
+ " )\n",
+ " val_data = self.pipeline.transform(val_data)\n",
+ " else:\n",
+ " val_data = None\n",
+ "\n",
+ " if isinstance(self.trainer, DLTrainer):\n",
+ " self.trainer.horizon = self.model_horizon\n",
+ " self.trainer.history = self.history\n",
+ "\n",
+ " current_trainer = deepcopy(self.trainer)\n",
+ "\n",
+ " # In Direct strategy, we train several models, one for each model_horizon\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " checkpoint_path = current_trainer.checkpoint_path\n",
+ " pretrained_path = current_trainer.pretrained_path\n",
+ "\n",
+ " current_trainer.checkpoint_path /= f\"trainer_{model_i}\"\n",
+ " if pretrained_path:\n",
+ " current_trainer.pretrained_path /= f\"trainer_{model_i}\"\n",
+ "\n",
+ " print(f\"Training model for horizon {horizon}\".center(100, \"-\"))\n",
+ " \n",
+ " print(\"raw_ts_X_for_training: \", data[\"raw_ts_X\"].shape)\n",
+ "\n",
+ " current_trainer.fit(data, self.pipeline, val_data)\n",
+ "\n",
+ " if isinstance(current_trainer, DLTrainer):\n",
+ " current_trainer.checkpoint_path = checkpoint_path\n",
+ " current_trainer.pretrained_path = pretrained_path\n",
+ "\n",
+ " self.trainers.append(current_trainer)\n",
+ "\n",
+ " return self\n",
+ "\n",
+ " def make_step(self, step, dataset):\n",
+ " test_idx = index_slicer.create_idx_test(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )\n",
+ " target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " self.horizon,\n",
+ " self.history,\n",
+ " self.step,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ " )[:, self.model_horizon * step : self.model_horizon * (step + 1)]\n",
+ "\n",
+ " data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)\n",
+ " data = self.pipeline.transform(data)\n",
+ "\n",
+ " pred = self.trainers[step].predict(data, self.pipeline)\n",
+ " pred = self.pipeline.inverse_transform_y(pred)\n",
+ "\n",
+ " dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)\n",
+ "\n",
+ " return dataset\n",
+ "\n",
+ "class FlatWideMIMOStrategy(MIMOStrategy):\n",
+ " def __init__(\n",
+ " self,\n",
+ " horizon: int,\n",
+ " history: int,\n",
+ " trainer: Union[MLTrainer, DLTrainer],\n",
+ " pipeline: Pipeline,\n",
+ " step: int = 1,\n",
+ " ):\n",
+ " super().__init__(horizon, history, trainer, pipeline, step)\n",
+ " self.strategy_name = \"FlatWideMIMOStrategy\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Loading Data](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "To make it easier to track and understand how features and targets are generated depending on the strategy, we will use a synthetic series with the following structure:\n",
+ "- 10 series, each with 1000 points.\n",
+ "- The value in the `value` column is represented as `{id - 1}{point}`, meaning it is a concatenation of the series ID and the time point number within that series. For example, the value `5234` corresponds to the 234th point in the series with `id=4`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1000 \n",
+ " 2020-01-01 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1001 \n",
+ " 2020-01-02 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1002 \n",
+ " 2020-01-03 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1003 \n",
+ " 2020-01-04 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1004 \n",
+ " 2020-01-05 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1005 \n",
+ " 2020-01-06 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1006 \n",
+ " 2020-01-07 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1007 \n",
+ " 2020-01-08 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1008 \n",
+ " 2020-01-09 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 1009 \n",
+ " 2020-01-10 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "0 1000 2020-01-01 0\n",
+ "1 1001 2020-01-02 0\n",
+ "2 1002 2020-01-03 0\n",
+ "3 1003 2020-01-04 0\n",
+ "4 1004 2020-01-05 0\n",
+ "5 1005 2020-01-06 0\n",
+ "6 1006 2020-01-07 0\n",
+ "7 1007 2020-01-08 0\n",
+ "8 1008 2020-01-09 0\n",
+ "9 1009 2020-01-10 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2000 \n",
+ " 3000 \n",
+ " 2020-01-01 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2001 \n",
+ " 3001 \n",
+ " 2020-01-02 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2002 \n",
+ " 3002 \n",
+ " 2020-01-03 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2003 \n",
+ " 3003 \n",
+ " 2020-01-04 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2004 \n",
+ " 3004 \n",
+ " 2020-01-05 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2005 \n",
+ " 3005 \n",
+ " 2020-01-06 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2006 \n",
+ " 3006 \n",
+ " 2020-01-07 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2007 \n",
+ " 3007 \n",
+ " 2020-01-08 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2008 \n",
+ " 3008 \n",
+ " 2020-01-09 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2009 \n",
+ " 3009 \n",
+ " 2020-01-10 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "2000 3000 2020-01-01 2\n",
+ "2001 3001 2020-01-02 2\n",
+ "2002 3002 2020-01-03 2\n",
+ "2003 3003 2020-01-04 2\n",
+ "2004 3004 2020-01-05 2\n",
+ "2005 3005 2020-01-06 2\n",
+ "2006 3006 2020-01-07 2\n",
+ "2007 3007 2020-01-08 2\n",
+ "2008 3008 2020-01-09 2\n",
+ "2009 3009 2020-01-10 2"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "df = pd.read_csv(\"../datasets/global/simulated_data_to_check.csv\")\n",
+ "display(df.iloc[:10])\n",
+ "display(df.iloc[2000:2010])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "horizon = 4\n",
+ "history = 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"type\": \"continuous\",\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"type\": \"datetime\",\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"type\": \"categorical\",\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "dataset = TSDataset(\n",
+ " data=df,\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_easy_params = {\n",
+ " \"target_lags\": 7,\n",
+ " \"date_lags\": 4,\n",
+ "}\n",
+ "\n",
+ "# Configure the model parameters\n",
+ "model = CatBoost\n",
+ "model_params = {\n",
+ " \"loss_function\": \"MultiRMSE\",\n",
+ " \"early_stopping_rounds\": 100,\n",
+ " \"verbose\": 500,\n",
+ "}\n",
+ "\n",
+ "# Configure the validation parameters\n",
+ "validation = KFoldCrossValidator\n",
+ "validation_params = {\n",
+ " \"n_splits\": 2,\n",
+ "}\n",
+ "\n",
+ "trainer_params = {}\n",
+ "trainer = MLTrainer(\n",
+ " model,\n",
+ " model_params,\n",
+ " validation,\n",
+ " validation_params,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Description of Strategies](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Multi-series prediction strategies: local, global, multivariate](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We will examine how the feature and target matrices look later using the MIMO strategy as an example."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Local-modelling**:\n",
+ " - An individual model for each time series. \n",
+ " - Each time series as independent from others."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Global-modelling**:\n",
+ " - A single model for all time series.\n",
+ " - Features created from each series do not overlap with other series. Series are related but modeled separately."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Multivariate-modelling**:\n",
+ " - A single model for all time series. \n",
+ " - Features created from each series are concatenated at each time step. Try to capture dependencies between the series at the same time point."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Multi-point-ahead prediction strategies:](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Представим, что у нас есть временной ряд:"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Пусть на картинках у нас будет пример для следующих параметров (он не будет совпадать с примерами кода!):\n",
+ "\n",
+ "$N=11$ (всего видим 11 точек)\n",
+ "\n",
+ "$history=7$ (для предсказания следующей точки используем 7 предыдущих)\n",
+ "\n",
+ "$horizon=3$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [MIMO (Multi-input-multi-output)](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- One model is trained and used for the entire forecast horizon at once. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- Note 1: This strategy can also accommodate exogenous features (for local- or global-modelling strategies). For more details on how to set exogenous features, refer to Tutorial 1."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [global-modelling](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = MIMOStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.228139 \n",
+ " -1.651456 \n",
+ " 1.500926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.114169 \n",
+ " -1.641528 \n",
+ " -1.498926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.000199 \n",
+ " -1.631600 \n",
+ " -0.998951 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.886229 \n",
+ " -1.621673 \n",
+ " -0.498975 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -1.611745 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 5 5 6 \n",
+ "1 1 6 6 0 \n",
+ "2 1 7 7 1 \n",
+ "3 1 8 8 2 \n",
+ "4 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.150365 -1.557466 \n",
+ "1 -1.150365 -1.557466 \n",
+ "2 -1.150365 -1.557466 \n",
+ "3 -1.150365 -1.557466 \n",
+ "4 -1.150365 -1.557466 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.228139 -1.651456 \n",
+ "1 -1.114169 -1.641528 \n",
+ "2 -1.000199 -1.631600 \n",
+ "3 -0.886229 -1.621673 \n",
+ "4 -0.772259 -1.611745 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 1.500926 0 -1.566621 \n",
+ "1 -1.498926 0 -1.566621 \n",
+ "2 -0.998951 0 -1.566621 \n",
+ "3 -0.498975 0 -1.566621 \n",
+ "4 0.001000 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9179675\ttest: 1.9252979\tbest: 1.9252979 (0)\ttotal: 51ms\tremaining: 50.9s\n",
+ "500:\tlearn: 0.0071597\ttest: 0.0072534\tbest: 0.0072534 (500)\ttotal: 1.13s\tremaining: 1.12s\n",
+ "999:\tlearn: 0.0039772\ttest: 0.0042419\tbest: 0.0042419 (999)\ttotal: 2.31s\tremaining: 0us\n",
+ "bestTest = 0.004241889806\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.004241889806475644\n",
+ "0:\tlearn: 1.9239154\ttest: 1.9197469\tbest: 1.9197469 (0)\ttotal: 5.12ms\tremaining: 5.11s\n",
+ "500:\tlearn: 0.0072229\ttest: 0.0074385\tbest: 0.0074385 (500)\ttotal: 1.07s\tremaining: 1.06s\n",
+ "999:\tlearn: 0.0040616\ttest: 0.0043572\tbest: 0.0043572 (999)\ttotal: 2.4s\tremaining: 0us\n",
+ "bestTest = 0.004357247947\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.004357247946880891\n",
+ "Mean score: 0.0043\n",
+ "Std: 0.0001\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(5.169183015823364, <__main__.MIMOStrategy at 0x7f2e26015e40>)"
+ ]
+ },
+ "execution_count": 46,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.621107 \n",
+ "1 1.621107 \n",
+ "2 1.621107 \n",
+ "3 1.621107 \n",
+ "4 1.621107 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.009188 \n",
+ "1 1.009188 \n",
+ "2 1.009188 \n",
+ "3 1.009188 \n",
+ "4 1.009188 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "1 0.001 \n",
+ "2 0.001 \n",
+ "3 0.001 \n",
+ "4 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.500975 -1.566621 \n",
+ "1 0.500975 -1.218483 \n",
+ "2 0.500975 -0.870345 \n",
+ "3 0.500975 -0.522207 \n",
+ "4 0.500975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1988.156501 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1989.156504 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1990.156503 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1991.156504 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2988.130075 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2989.130078 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2990.130077 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2991.130078 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3988.124939 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3989.124942 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1988.156501\n",
+ "1 0 2022-09-28 1989.156504\n",
+ "2 0 2022-09-29 1990.156503\n",
+ "3 0 2022-09-30 1991.156504\n",
+ "4 1 2022-09-27 2988.130075\n",
+ "5 1 2022-09-28 2989.130078\n",
+ "6 1 2022-09-29 2990.130077\n",
+ "7 1 2022-09-30 2991.130078\n",
+ "8 2 2022-09-27 3988.124939\n",
+ "9 2 2022-09-28 3989.124942"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [multivariate-modelling](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=True)\n",
+ "\n",
+ "strategy = MIMOStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.228139 \n",
+ " -1.651456 \n",
+ " 1.500926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.114169 \n",
+ " -1.641528 \n",
+ " -1.498926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.000199 \n",
+ " -1.631600 \n",
+ " -0.998951 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.886229 \n",
+ " -1.621673 \n",
+ " -0.498975 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -1.611745 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 5 5 6 \n",
+ "1 1 6 6 0 \n",
+ "2 1 7 7 1 \n",
+ "3 1 8 8 2 \n",
+ "4 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.150365 -1.557466 \n",
+ "1 -1.150365 -1.557466 \n",
+ "2 -1.150365 -1.557466 \n",
+ "3 -1.150365 -1.557466 \n",
+ "4 -1.150365 -1.557466 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.228139 -1.651456 \n",
+ "1 -1.114169 -1.641528 \n",
+ "2 -1.000199 -1.631600 \n",
+ "3 -0.886229 -1.621673 \n",
+ "4 -0.772259 -1.611745 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 1.500926 0 -1.566621 \n",
+ "1 -1.498926 0 -1.566621 \n",
+ "2 -0.998951 0 -1.566621 \n",
+ "3 -0.498975 0 -1.566621 \n",
+ "4 0.001000 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 90)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " date__season_y__standard_scaler__lag_0 \n",
+ " date__season_m__standard_scaler__lag_3 \n",
+ " date__season_m__standard_scaler__lag_2 \n",
+ " date__season_m__standard_scaler__lag_1 \n",
+ " date__season_m__standard_scaler__lag_0 \n",
+ " date__season_d__standard_scaler__lag_3 \n",
+ " date__season_d__standard_scaler__lag_2 \n",
+ " ... \n",
+ " value__standard_scaler__lag_2__8 \n",
+ " value__standard_scaler__lag_1__8 \n",
+ " value__standard_scaler__lag_0__8 \n",
+ " value__standard_scaler__lag_6__9 \n",
+ " value__standard_scaler__lag_5__9 \n",
+ " value__standard_scaler__lag_4__9 \n",
+ " value__standard_scaler__lag_3__9 \n",
+ " value__standard_scaler__lag_2__9 \n",
+ " value__standard_scaler__lag_1__9 \n",
+ " value__standard_scaler__lag_0__9 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -0.886229 \n",
+ " -0.772259 \n",
+ " ... \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -0.658290 \n",
+ " ... \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -0.658290 \n",
+ " -0.544320 \n",
+ " ... \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -0.544320 \n",
+ " -0.430350 \n",
+ " ... \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -1.557466 \n",
+ " -0.430350 \n",
+ " -0.316380 \n",
+ " ... \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 90 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_0 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_3 \\\n",
+ "0 -1.557466 \n",
+ "1 -1.557466 \n",
+ "2 -1.557466 \n",
+ "3 -1.557466 \n",
+ "4 -1.557466 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_2 \\\n",
+ "0 -1.557466 \n",
+ "1 -1.557466 \n",
+ "2 -1.557466 \n",
+ "3 -1.557466 \n",
+ "4 -1.557466 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_1 \\\n",
+ "0 -1.557466 \n",
+ "1 -1.557466 \n",
+ "2 -1.557466 \n",
+ "3 -1.557466 \n",
+ "4 -1.557466 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_0 \\\n",
+ "0 -1.557466 \n",
+ "1 -1.557466 \n",
+ "2 -1.557466 \n",
+ "3 -1.557466 \n",
+ "4 -1.557466 \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_3 \\\n",
+ "0 -0.886229 \n",
+ "1 -0.772259 \n",
+ "2 -0.658290 \n",
+ "3 -0.544320 \n",
+ "4 -0.430350 \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_2 ... \\\n",
+ "0 -0.772259 ... \n",
+ "1 -0.658290 ... \n",
+ "2 -0.544320 ... \n",
+ "3 -0.430350 ... \n",
+ "4 -0.316380 ... \n",
+ "\n",
+ " value__standard_scaler__lag_2__8 value__standard_scaler__lag_1__8 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0__8 value__standard_scaler__lag_6__9 \\\n",
+ "0 -1.708680 -1.729454 \n",
+ "1 -1.705218 -1.725992 \n",
+ "2 -1.701755 -1.722530 \n",
+ "3 -1.698293 -1.719067 \n",
+ "4 -1.694831 -1.715605 \n",
+ "\n",
+ " value__standard_scaler__lag_5__9 value__standard_scaler__lag_4__9 \\\n",
+ "0 -1.725992 -1.722530 \n",
+ "1 -1.722530 -1.719067 \n",
+ "2 -1.719067 -1.715605 \n",
+ "3 -1.715605 -1.712142 \n",
+ "4 -1.712142 -1.708680 \n",
+ "\n",
+ " value__standard_scaler__lag_3__9 value__standard_scaler__lag_2__9 \\\n",
+ "0 -1.719067 -1.715605 \n",
+ "1 -1.715605 -1.712142 \n",
+ "2 -1.712142 -1.708680 \n",
+ "3 -1.708680 -1.705218 \n",
+ "4 -1.705218 -1.701755 \n",
+ "\n",
+ " value__standard_scaler__lag_1__9 value__standard_scaler__lag_0__9 \n",
+ "0 -1.712142 -1.708680 \n",
+ "1 -1.708680 -1.705218 \n",
+ "2 -1.705218 -1.701755 \n",
+ "3 -1.701755 -1.698293 \n",
+ "4 -1.698293 -1.694831 \n",
+ "\n",
+ "[5 rows x 90 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 40)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054 -1.70521765 -1.70175528\n",
+ " -1.69829291 -1.69483054 -1.70521765 -1.70175528 -1.69829291 -1.69483054\n",
+ " -1.70521765 -1.70175528 -1.69829291 -1.69483054 -1.70521765 -1.70175528\n",
+ " -1.69829291 -1.69483054 -1.70521765 -1.70175528 -1.69829291 -1.69483054\n",
+ " -1.70521765 -1.70175528 -1.69829291 -1.69483054 -1.70521765 -1.70175528\n",
+ " -1.69829291 -1.69483054 -1.70521765 -1.70175528 -1.69829291 -1.69483054\n",
+ " -1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817 -1.70175528 -1.69829291\n",
+ " -1.69483054 -1.69136817 -1.70175528 -1.69829291 -1.69483054 -1.69136817\n",
+ " -1.70175528 -1.69829291 -1.69483054 -1.69136817 -1.70175528 -1.69829291\n",
+ " -1.69483054 -1.69136817 -1.70175528 -1.69829291 -1.69483054 -1.69136817\n",
+ " -1.70175528 -1.69829291 -1.69483054 -1.69136817 -1.70175528 -1.69829291\n",
+ " -1.69483054 -1.69136817 -1.70175528 -1.69829291 -1.69483054 -1.69136817\n",
+ " -1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 -1.69829291 -1.69483054\n",
+ " -1.69136817 -1.6879058 -1.69829291 -1.69483054 -1.69136817 -1.6879058\n",
+ " -1.69829291 -1.69483054 -1.69136817 -1.6879058 -1.69829291 -1.69483054\n",
+ " -1.69136817 -1.6879058 -1.69829291 -1.69483054 -1.69136817 -1.6879058\n",
+ " -1.69829291 -1.69483054 -1.69136817 -1.6879058 -1.69829291 -1.69483054\n",
+ " -1.69136817 -1.6879058 -1.69829291 -1.69483054 -1.69136817 -1.6879058\n",
+ " -1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342 -1.69483054 -1.69136817\n",
+ " -1.6879058 -1.68444342 -1.69483054 -1.69136817 -1.6879058 -1.68444342\n",
+ " -1.69483054 -1.69136817 -1.6879058 -1.68444342 -1.69483054 -1.69136817\n",
+ " -1.6879058 -1.68444342 -1.69483054 -1.69136817 -1.6879058 -1.68444342\n",
+ " -1.69483054 -1.69136817 -1.6879058 -1.68444342 -1.69483054 -1.69136817\n",
+ " -1.6879058 -1.68444342 -1.69483054 -1.69136817 -1.6879058 -1.68444342\n",
+ " -1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105 -1.69136817 -1.6879058\n",
+ " -1.68444342 -1.68098105 -1.69136817 -1.6879058 -1.68444342 -1.68098105\n",
+ " -1.69136817 -1.6879058 -1.68444342 -1.68098105 -1.69136817 -1.6879058\n",
+ " -1.68444342 -1.68098105 -1.69136817 -1.6879058 -1.68444342 -1.68098105\n",
+ " -1.69136817 -1.6879058 -1.68444342 -1.68098105 -1.69136817 -1.6879058\n",
+ " -1.68444342 -1.68098105 -1.69136817 -1.6879058 -1.68444342 -1.68098105\n",
+ " -1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 6.1091341\ttest: 6.0736765\tbest: 6.0736765 (0)\ttotal: 66.5ms\tremaining: 1m 6s\n",
+ "500:\tlearn: 0.0448467\ttest: 0.0596515\tbest: 0.0596515 (500)\ttotal: 20.9s\tremaining: 20.8s\n",
+ "999:\tlearn: 0.0252180\ttest: 0.0510570\tbest: 0.0510570 (999)\ttotal: 42s\tremaining: 0us\n",
+ "bestTest = 0.0510569861\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.05105698609713615\n",
+ "0:\tlearn: 6.0551918\ttest: 6.1223679\tbest: 6.1223679 (0)\ttotal: 43.4ms\tremaining: 43.3s\n",
+ "500:\tlearn: 0.0435543\ttest: 0.0595089\tbest: 0.0595087 (499)\ttotal: 20.6s\tremaining: 20.5s\n",
+ "999:\tlearn: 0.0252648\ttest: 0.0521669\tbest: 0.0521625 (997)\ttotal: 41.1s\tremaining: 0us\n",
+ "bestTest = 0.05216248184\n",
+ "bestIteration = 997\n",
+ "Shrink model to first 998 iterations.\n",
+ "Fold 1. Score: 0.052162481838623376\n",
+ "Mean score: 0.0516\n",
+ "Std: 0.0006\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(83.68235731124878, <__main__.MIMOStrategy at 0x7f2e2616f400>)"
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 90)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " date__season_y__standard_scaler__lag_0 \n",
+ " date__season_m__standard_scaler__lag_3 \n",
+ " date__season_m__standard_scaler__lag_2 \n",
+ " date__season_m__standard_scaler__lag_1 \n",
+ " date__season_m__standard_scaler__lag_0 \n",
+ " date__season_d__standard_scaler__lag_3 \n",
+ " date__season_d__standard_scaler__lag_2 \n",
+ " ... \n",
+ " value__standard_scaler__lag_2__8 \n",
+ " value__standard_scaler__lag_1__8 \n",
+ " value__standard_scaler__lag_0__8 \n",
+ " value__standard_scaler__lag_6__9 \n",
+ " value__standard_scaler__lag_5__9 \n",
+ " value__standard_scaler__lag_4__9 \n",
+ " value__standard_scaler__lag_3__9 \n",
+ " value__standard_scaler__lag_2__9 \n",
+ " value__standard_scaler__lag_1__9 \n",
+ " value__standard_scaler__lag_0__9 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 0.870384 \n",
+ " 0.870384 \n",
+ " 0.870384 \n",
+ " 1.279197 \n",
+ " 1.393167 \n",
+ " ... \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 90 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 \\\n",
+ "0 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_0 \\\n",
+ "0 1.375134 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_3 \\\n",
+ "0 0.870384 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_2 \\\n",
+ "0 0.870384 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_1 \\\n",
+ "0 0.870384 \n",
+ "\n",
+ " date__season_m__standard_scaler__lag_0 \\\n",
+ "0 0.870384 \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_3 \\\n",
+ "0 1.279197 \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_2 ... \\\n",
+ "0 1.393167 ... \n",
+ "\n",
+ " value__standard_scaler__lag_2__8 value__standard_scaler__lag_1__8 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0__8 value__standard_scaler__lag_6__9 \\\n",
+ "0 1.729454 1.70868 \n",
+ "\n",
+ " value__standard_scaler__lag_5__9 value__standard_scaler__lag_4__9 \\\n",
+ "0 1.712142 1.715605 \n",
+ "\n",
+ " value__standard_scaler__lag_3__9 value__standard_scaler__lag_2__9 \\\n",
+ "0 1.719067 1.72253 \n",
+ "\n",
+ " value__standard_scaler__lag_1__9 value__standard_scaler__lag_0__9 \n",
+ "0 1.725992 1.729454 \n",
+ "\n",
+ "[1 rows x 90 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1991.03783 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1992.037829 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1993.037832 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1994.037829 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2991.03783 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2992.037829 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2993.037832 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2994.037829 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3991.03783 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3992.037829 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1991.03783\n",
+ "1 0 2022-09-28 1992.037829\n",
+ "2 0 2022-09-29 1993.037832\n",
+ "3 0 2022-09-30 1994.037829\n",
+ "4 1 2022-09-27 2991.03783\n",
+ "5 1 2022-09-28 2992.037829\n",
+ "6 1 2022-09-29 2993.037832\n",
+ "7 1 2022-09-30 2994.037829\n",
+ "8 2 2022-09-27 3991.03783\n",
+ "9 2 2022-09-28 3992.037829"
+ ]
+ },
+ "execution_count": 52,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that when using multivariate modeling, the features and targets of individual series are concatenated."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [local-modelling](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In fact, there is no independent `local-modelling` strategy in the library. However, it can be achieved by iterating over each time series `id` separately in a loop and then concatenating the results."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 0---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 5 5 6 \n",
+ "1 1 6 6 0 \n",
+ "2 1 7 7 1 \n",
+ "3 1 8 8 2 \n",
+ "4 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.149847 -1.556765 \n",
+ "1 -1.149847 -1.556765 \n",
+ "2 -1.149847 -1.556765 \n",
+ "3 -1.149847 -1.556765 \n",
+ "4 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.227586 -1.650713 \n",
+ "1 -1.113667 -1.640789 \n",
+ "2 -0.999749 -1.630866 \n",
+ "3 -0.885830 -1.620943 \n",
+ "4 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 1.500250 0 NaN \n",
+ "1 -1.498251 0 NaN \n",
+ "2 -0.998501 0 NaN \n",
+ "3 -0.498751 0 NaN \n",
+ "4 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 2.43ms\tremaining: 2.43s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 925ms\tremaining: 921ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.76s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 2.11ms\tremaining: 2.11s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 658ms\tremaining: 655ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.31s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 1---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1000 \n",
+ " 1 \n",
+ " 2000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1001 \n",
+ " 1 \n",
+ " 2001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1002 \n",
+ " 1 \n",
+ " 2002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1003 \n",
+ " 1 \n",
+ " 2003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1004 \n",
+ " 1 \n",
+ " 2004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "1000 1 2000.0 2020-01-01 -1.729454 2020 \n",
+ "1001 1 2001.0 2020-01-02 -1.725992 2020 \n",
+ "1002 1 2002.0 2020-01-03 -1.722530 2020 \n",
+ "1003 1 2003.0 2020-01-04 -1.719067 2020 \n",
+ "1004 1 2004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "1000 1 5 5 6 \n",
+ "1001 1 6 6 0 \n",
+ "1002 1 7 7 1 \n",
+ "1003 1 8 8 2 \n",
+ "1004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "1000 -1.149847 -1.556765 \n",
+ "1001 -1.149847 -1.556765 \n",
+ "1002 -1.149847 -1.556765 \n",
+ "1003 -1.149847 -1.556765 \n",
+ "1004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "1000 -1.227586 -1.650713 \n",
+ "1001 -1.113667 -1.640789 \n",
+ "1002 -0.999749 -1.630866 \n",
+ "1003 -0.885830 -1.620943 \n",
+ "1004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "1000 1.500250 0 NaN \n",
+ "1001 -1.498251 0 NaN \n",
+ "1002 -0.998501 0 NaN \n",
+ "1003 -0.498751 0 NaN \n",
+ "1004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.82ms\tremaining: 1.82s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 702ms\tremaining: 699ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.36s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 2.04ms\tremaining: 2.03s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 650ms\tremaining: 648ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.32s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 2---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2000 \n",
+ " 2 \n",
+ " 3000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2001 \n",
+ " 2 \n",
+ " 3001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2002 \n",
+ " 2 \n",
+ " 3002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2003 \n",
+ " 2 \n",
+ " 3003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2004 \n",
+ " 2 \n",
+ " 3004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "2000 2 3000.0 2020-01-01 -1.729454 2020 \n",
+ "2001 2 3001.0 2020-01-02 -1.725992 2020 \n",
+ "2002 2 3002.0 2020-01-03 -1.722530 2020 \n",
+ "2003 2 3003.0 2020-01-04 -1.719067 2020 \n",
+ "2004 2 3004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "2000 1 5 5 6 \n",
+ "2001 1 6 6 0 \n",
+ "2002 1 7 7 1 \n",
+ "2003 1 8 8 2 \n",
+ "2004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "2000 -1.149847 -1.556765 \n",
+ "2001 -1.149847 -1.556765 \n",
+ "2002 -1.149847 -1.556765 \n",
+ "2003 -1.149847 -1.556765 \n",
+ "2004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "2000 -1.227586 -1.650713 \n",
+ "2001 -1.113667 -1.640789 \n",
+ "2002 -0.999749 -1.630866 \n",
+ "2003 -0.885830 -1.620943 \n",
+ "2004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "2000 1.500250 0 NaN \n",
+ "2001 -1.498251 0 NaN \n",
+ "2002 -0.998501 0 NaN \n",
+ "2003 -0.498751 0 NaN \n",
+ "2004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.64ms\tremaining: 1.64s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 648ms\tremaining: 646ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.27s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.62ms\tremaining: 1.62s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 627ms\tremaining: 625ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 3---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3000 \n",
+ " 3 \n",
+ " 4000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3001 \n",
+ " 3 \n",
+ " 4001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3002 \n",
+ " 3 \n",
+ " 4002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3003 \n",
+ " 3 \n",
+ " 4003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3004 \n",
+ " 3 \n",
+ " 4004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "3000 3 4000.0 2020-01-01 -1.729454 2020 \n",
+ "3001 3 4001.0 2020-01-02 -1.725992 2020 \n",
+ "3002 3 4002.0 2020-01-03 -1.722530 2020 \n",
+ "3003 3 4003.0 2020-01-04 -1.719067 2020 \n",
+ "3004 3 4004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "3000 1 5 5 6 \n",
+ "3001 1 6 6 0 \n",
+ "3002 1 7 7 1 \n",
+ "3003 1 8 8 2 \n",
+ "3004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "3000 -1.149847 -1.556765 \n",
+ "3001 -1.149847 -1.556765 \n",
+ "3002 -1.149847 -1.556765 \n",
+ "3003 -1.149847 -1.556765 \n",
+ "3004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "3000 -1.227586 -1.650713 \n",
+ "3001 -1.113667 -1.640789 \n",
+ "3002 -0.999749 -1.630866 \n",
+ "3003 -0.885830 -1.620943 \n",
+ "3004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "3000 1.500250 0 NaN \n",
+ "3001 -1.498251 0 NaN \n",
+ "3002 -0.998501 0 NaN \n",
+ "3003 -0.498751 0 NaN \n",
+ "3004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 2.11ms\tremaining: 2.1s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 666ms\tremaining: 663ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.28s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.45ms\tremaining: 1.45s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 640ms\tremaining: 637ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.27s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 4---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 4000 \n",
+ " 4 \n",
+ " 5000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4001 \n",
+ " 4 \n",
+ " 5001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4002 \n",
+ " 4 \n",
+ " 5002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4003 \n",
+ " 4 \n",
+ " 5003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4004 \n",
+ " 4 \n",
+ " 5004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "4000 4 5000.0 2020-01-01 -1.729454 2020 \n",
+ "4001 4 5001.0 2020-01-02 -1.725992 2020 \n",
+ "4002 4 5002.0 2020-01-03 -1.722530 2020 \n",
+ "4003 4 5003.0 2020-01-04 -1.719067 2020 \n",
+ "4004 4 5004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "4000 1 5 5 6 \n",
+ "4001 1 6 6 0 \n",
+ "4002 1 7 7 1 \n",
+ "4003 1 8 8 2 \n",
+ "4004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "4000 -1.149847 -1.556765 \n",
+ "4001 -1.149847 -1.556765 \n",
+ "4002 -1.149847 -1.556765 \n",
+ "4003 -1.149847 -1.556765 \n",
+ "4004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "4000 -1.227586 -1.650713 \n",
+ "4001 -1.113667 -1.640789 \n",
+ "4002 -0.999749 -1.630866 \n",
+ "4003 -0.885830 -1.620943 \n",
+ "4004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "4000 1.500250 0 NaN \n",
+ "4001 -1.498251 0 NaN \n",
+ "4002 -0.998501 0 NaN \n",
+ "4003 -0.498751 0 NaN \n",
+ "4004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.55ms\tremaining: 1.55s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 620ms\tremaining: 618ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.46ms\tremaining: 1.45s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 613ms\tremaining: 611ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 5---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 5000 \n",
+ " 5 \n",
+ " 6000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 5001 \n",
+ " 5 \n",
+ " 6001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 5002 \n",
+ " 5 \n",
+ " 6002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 5003 \n",
+ " 5 \n",
+ " 6003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 5004 \n",
+ " 5 \n",
+ " 6004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "5000 5 6000.0 2020-01-01 -1.729454 2020 \n",
+ "5001 5 6001.0 2020-01-02 -1.725992 2020 \n",
+ "5002 5 6002.0 2020-01-03 -1.722530 2020 \n",
+ "5003 5 6003.0 2020-01-04 -1.719067 2020 \n",
+ "5004 5 6004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "5000 1 5 5 6 \n",
+ "5001 1 6 6 0 \n",
+ "5002 1 7 7 1 \n",
+ "5003 1 8 8 2 \n",
+ "5004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "5000 -1.149847 -1.556765 \n",
+ "5001 -1.149847 -1.556765 \n",
+ "5002 -1.149847 -1.556765 \n",
+ "5003 -1.149847 -1.556765 \n",
+ "5004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "5000 -1.227586 -1.650713 \n",
+ "5001 -1.113667 -1.640789 \n",
+ "5002 -0.999749 -1.630866 \n",
+ "5003 -0.885830 -1.620943 \n",
+ "5004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "5000 1.500250 0 NaN \n",
+ "5001 -1.498251 0 NaN \n",
+ "5002 -0.998501 0 NaN \n",
+ "5003 -0.498751 0 NaN \n",
+ "5004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.55ms\tremaining: 1.55s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 627ms\tremaining: 624ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.5ms\tremaining: 1.5s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 636ms\tremaining: 633ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.26s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 6---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 6000 \n",
+ " 6 \n",
+ " 7000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 6001 \n",
+ " 6 \n",
+ " 7001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 6002 \n",
+ " 6 \n",
+ " 7002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 6003 \n",
+ " 6 \n",
+ " 7003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 6004 \n",
+ " 6 \n",
+ " 7004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "6000 6 7000.0 2020-01-01 -1.729454 2020 \n",
+ "6001 6 7001.0 2020-01-02 -1.725992 2020 \n",
+ "6002 6 7002.0 2020-01-03 -1.722530 2020 \n",
+ "6003 6 7003.0 2020-01-04 -1.719067 2020 \n",
+ "6004 6 7004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "6000 1 5 5 6 \n",
+ "6001 1 6 6 0 \n",
+ "6002 1 7 7 1 \n",
+ "6003 1 8 8 2 \n",
+ "6004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "6000 -1.149847 -1.556765 \n",
+ "6001 -1.149847 -1.556765 \n",
+ "6002 -1.149847 -1.556765 \n",
+ "6003 -1.149847 -1.556765 \n",
+ "6004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "6000 -1.227586 -1.650713 \n",
+ "6001 -1.113667 -1.640789 \n",
+ "6002 -0.999749 -1.630866 \n",
+ "6003 -0.885830 -1.620943 \n",
+ "6004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "6000 1.500250 0 NaN \n",
+ "6001 -1.498251 0 NaN \n",
+ "6002 -0.998501 0 NaN \n",
+ "6003 -0.498751 0 NaN \n",
+ "6004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.42ms\tremaining: 1.42s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 612ms\tremaining: 609ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.22s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.46ms\tremaining: 1.46s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 623ms\tremaining: 620ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 7---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 7000 \n",
+ " 7 \n",
+ " 8000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 7001 \n",
+ " 7 \n",
+ " 8001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 7002 \n",
+ " 7 \n",
+ " 8002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 7003 \n",
+ " 7 \n",
+ " 8003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 7004 \n",
+ " 7 \n",
+ " 8004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "7000 7 8000.0 2020-01-01 -1.729454 2020 \n",
+ "7001 7 8001.0 2020-01-02 -1.725992 2020 \n",
+ "7002 7 8002.0 2020-01-03 -1.722530 2020 \n",
+ "7003 7 8003.0 2020-01-04 -1.719067 2020 \n",
+ "7004 7 8004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "7000 1 5 5 6 \n",
+ "7001 1 6 6 0 \n",
+ "7002 1 7 7 1 \n",
+ "7003 1 8 8 2 \n",
+ "7004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "7000 -1.149847 -1.556765 \n",
+ "7001 -1.149847 -1.556765 \n",
+ "7002 -1.149847 -1.556765 \n",
+ "7003 -1.149847 -1.556765 \n",
+ "7004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "7000 -1.227586 -1.650713 \n",
+ "7001 -1.113667 -1.640789 \n",
+ "7002 -0.999749 -1.630866 \n",
+ "7003 -0.885830 -1.620943 \n",
+ "7004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "7000 1.500250 0 NaN \n",
+ "7001 -1.498251 0 NaN \n",
+ "7002 -0.998501 0 NaN \n",
+ "7003 -0.498751 0 NaN \n",
+ "7004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.4ms\tremaining: 1.4s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 607ms\tremaining: 605ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.23s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 8.48ms\tremaining: 8.47s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 678ms\tremaining: 675ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.32s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 8---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 8000 \n",
+ " 8 \n",
+ " 9000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 8001 \n",
+ " 8 \n",
+ " 9001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 8002 \n",
+ " 8 \n",
+ " 9002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 8003 \n",
+ " 8 \n",
+ " 9003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 8004 \n",
+ " 8 \n",
+ " 9004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "8000 8 9000.0 2020-01-01 -1.729454 2020 \n",
+ "8001 8 9001.0 2020-01-02 -1.725992 2020 \n",
+ "8002 8 9002.0 2020-01-03 -1.722530 2020 \n",
+ "8003 8 9003.0 2020-01-04 -1.719067 2020 \n",
+ "8004 8 9004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "8000 1 5 5 6 \n",
+ "8001 1 6 6 0 \n",
+ "8002 1 7 7 1 \n",
+ "8003 1 8 8 2 \n",
+ "8004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "8000 -1.149847 -1.556765 \n",
+ "8001 -1.149847 -1.556765 \n",
+ "8002 -1.149847 -1.556765 \n",
+ "8003 -1.149847 -1.556765 \n",
+ "8004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "8000 -1.227586 -1.650713 \n",
+ "8001 -1.113667 -1.640789 \n",
+ "8002 -0.999749 -1.630866 \n",
+ "8003 -0.885830 -1.620943 \n",
+ "8004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "8000 1.500250 0 NaN \n",
+ "8001 -1.498251 0 NaN \n",
+ "8002 -0.998501 0 NaN \n",
+ "8003 -0.498751 0 NaN \n",
+ "8004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.7ms\tremaining: 1.7s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 631ms\tremaining: 629ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.28s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.95ms\tremaining: 1.95s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 609ms\tremaining: 607ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.23s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "---------------------------------------Training for ts_id: 9---------------------------------------- \n",
+ "\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X_for_training: (1000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 9000 \n",
+ " 9 \n",
+ " 10000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.227586 \n",
+ " -1.650713 \n",
+ " 1.500250 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 9001 \n",
+ " 9 \n",
+ " 10001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -1.113667 \n",
+ " -1.640789 \n",
+ " -1.498251 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 9002 \n",
+ " 9 \n",
+ " 10002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.999749 \n",
+ " -1.630866 \n",
+ " -0.998501 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 9003 \n",
+ " 9 \n",
+ " 10003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.885830 \n",
+ " -1.620943 \n",
+ " -0.498751 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 9004 \n",
+ " 9 \n",
+ " 10004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.149847 \n",
+ " -1.556765 \n",
+ " -0.771912 \n",
+ " -1.611019 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "9000 9 10000.0 2020-01-01 -1.729454 2020 \n",
+ "9001 9 10001.0 2020-01-02 -1.725992 2020 \n",
+ "9002 9 10002.0 2020-01-03 -1.722530 2020 \n",
+ "9003 9 10003.0 2020-01-04 -1.719067 2020 \n",
+ "9004 9 10004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "9000 1 5 5 6 \n",
+ "9001 1 6 6 0 \n",
+ "9002 1 7 7 1 \n",
+ "9003 1 8 8 2 \n",
+ "9004 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "9000 -1.149847 -1.556765 \n",
+ "9001 -1.149847 -1.556765 \n",
+ "9002 -1.149847 -1.556765 \n",
+ "9003 -1.149847 -1.556765 \n",
+ "9004 -1.149847 -1.556765 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "9000 -1.227586 -1.650713 \n",
+ "9001 -1.113667 -1.640789 \n",
+ "9002 -0.999749 -1.630866 \n",
+ "9003 -0.885830 -1.620943 \n",
+ "9004 -0.771912 -1.611019 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "9000 1.500250 0 NaN \n",
+ "9001 -1.498251 0 NaN \n",
+ "9002 -0.998501 0 NaN \n",
+ "9003 -0.498751 0 NaN \n",
+ "9004 0.001000 0 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (990, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.544075 \n",
+ " -1.620943 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -0.498751 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.430156 \n",
+ " -1.611019 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " 0.001000 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.316238 \n",
+ " -1.601096 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " 0.500750 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.202319 \n",
+ " -1.591173 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " 1.000500 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " -1.149847 \n",
+ " ... \n",
+ " -0.088401 \n",
+ " -1.581249 \n",
+ " -1.571326 \n",
+ " -1.561403 \n",
+ " -1.551480 \n",
+ " 1.500250 \n",
+ " -1.498251 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.149847 \n",
+ "1 -1.705218 -1.149847 \n",
+ "2 -1.701755 -1.149847 \n",
+ "3 -1.698293 -1.149847 \n",
+ "4 -1.694831 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.149847 \n",
+ "1 -1.149847 \n",
+ "2 -1.149847 \n",
+ "3 -1.149847 \n",
+ "4 -1.149847 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.149847 ... \n",
+ "1 -1.149847 ... \n",
+ "2 -1.149847 ... \n",
+ "3 -1.149847 ... \n",
+ "4 -1.149847 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544075 \n",
+ "1 -0.430156 \n",
+ "2 -0.316238 \n",
+ "3 -0.202319 \n",
+ "4 -0.088401 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.620943 \n",
+ "1 -1.611019 \n",
+ "2 -1.601096 \n",
+ "3 -1.591173 \n",
+ "4 -1.581249 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611019 \n",
+ "1 -1.601096 \n",
+ "2 -1.591173 \n",
+ "3 -1.581249 \n",
+ "4 -1.571326 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601096 \n",
+ "1 -1.591173 \n",
+ "2 -1.581249 \n",
+ "3 -1.571326 \n",
+ "4 -1.561403 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591173 \n",
+ "1 -1.581249 \n",
+ "2 -1.571326 \n",
+ "3 -1.561403 \n",
+ "4 -1.551480 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498751 \n",
+ "1 0.001000 \n",
+ "2 0.500750 \n",
+ "3 1.000500 \n",
+ "4 1.500250 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500750 \n",
+ "2 1.000500 \n",
+ "3 1.500250 \n",
+ "4 -1.498251 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500750 \n",
+ "1 1.000500 \n",
+ "2 1.500250 \n",
+ "3 -1.498251 \n",
+ "4 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000500 NaN \n",
+ "1 1.500250 NaN \n",
+ "2 -1.498251 NaN \n",
+ "3 -0.998501 NaN \n",
+ "4 -0.498751 NaN \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (990, 4)\n",
+ "[[-1.70521765 -1.70175528 -1.69829291 -1.69483054]\n",
+ " [-1.70175528 -1.69829291 -1.69483054 -1.69136817]\n",
+ " [-1.69829291 -1.69483054 -1.69136817 -1.6879058 ]\n",
+ " [-1.69483054 -1.69136817 -1.6879058 -1.68444342]\n",
+ " [-1.69136817 -1.6879058 -1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.9332358\ttest: 1.9222850\tbest: 1.9222850 (0)\ttotal: 1.93ms\tremaining: 1.93s\n",
+ "500:\tlearn: 0.0135313\ttest: 0.0312388\tbest: 0.0312388 (500)\ttotal: 645ms\tremaining: 642ms\n",
+ "999:\tlearn: 0.0074311\ttest: 0.0291400\tbest: 0.0291400 (999)\ttotal: 1.27s\tremaining: 0us\n",
+ "bestTest = 0.02914004013\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.029140040129593817\n",
+ "0:\tlearn: 1.9164336\ttest: 1.9384335\tbest: 1.9384335 (0)\ttotal: 1.8ms\tremaining: 1.8s\n",
+ "500:\tlearn: 0.0132088\ttest: 0.0234053\tbest: 0.0234053 (500)\ttotal: 633ms\tremaining: 631ms\n",
+ "999:\tlearn: 0.0069993\ttest: 0.0205025\tbest: 0.0205012 (998)\ttotal: 1.28s\tremaining: 0us\n",
+ "bestTest = 0.02050117144\n",
+ "bestIteration = 998\n",
+ "Shrink model to first 999 iterations.\n",
+ "Fold 1. Score: 0.02050117143812392\n",
+ "Mean score: 0.0248\n",
+ "Std: 0.0043\n",
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (11,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [value, date, id]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (1, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " 1.374515 \n",
+ " ... \n",
+ " 1.620377 \n",
+ " 0.978964 \n",
+ " 0.988887 \n",
+ " 0.998811 \n",
+ " 1.008734 \n",
+ " -0.998501 \n",
+ " -0.498751 \n",
+ " 0.001 \n",
+ " 0.50075 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.374515 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.374515 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.620377 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.978964 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.988887 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.998811 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.008734 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998501 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498751 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.50075 NaN \n",
+ "\n",
+ "[1 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = MIMOStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")\n",
+ "\n",
+ "preds_list = []\n",
+ "for ts_id in dataset.data[\"id\"].unique():\n",
+ " print(f\"Training for ts_id: {ts_id}\".center(100, \"-\"), \"\\n\")\n",
+ " \n",
+ " current_df = df[df[\"id\"] == ts_id]\n",
+ " current_dataset = TSDataset(\n",
+ " data=current_df,\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ " )\n",
+ "\n",
+ " strategy.fit(current_dataset)\n",
+ " forecast_time, current_pred = strategy.predict(current_dataset)\n",
+ " preds_list.append(current_pred)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1982.81454 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1983.814539 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1984.814543 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1985.814539 \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2982.81454 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2983.814539 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2984.814543 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2985.814539 \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3982.81454 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3983.814539 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1982.81454\n",
+ "1 0 2022-09-28 1983.814539\n",
+ "2 0 2022-09-29 1984.814543\n",
+ "3 0 2022-09-30 1985.814539\n",
+ "0 1 2022-09-27 2982.81454\n",
+ "1 1 2022-09-28 2983.814539\n",
+ "2 1 2022-09-29 2984.814543\n",
+ "3 1 2022-09-30 2985.814539\n",
+ "0 2 2022-09-27 3982.81454\n",
+ "1 2 2022-09-28 3983.814539"
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat(preds_list).head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Recursive](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- One model is used for the entire forecast horizon. \n",
+ "- training: The model is trained to predict one point ahead.\n",
+ "- prediction: The model iteratively predicts each point, using previous predictions to update the features in the test data."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = RecursiveStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 2 \n",
+ " 2 \n",
+ " 3 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.561575 \n",
+ " -1.668794 \n",
+ " -0.000500 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 3 \n",
+ " 3 \n",
+ " 4 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.447574 \n",
+ " -1.658893 \n",
+ " 0.499288 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 4 \n",
+ " 4 \n",
+ " 5 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.333574 \n",
+ " -1.648991 \n",
+ " 0.999076 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.219574 \n",
+ " -1.639090 \n",
+ " 1.498863 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.105574 \n",
+ " -1.629188 \n",
+ " -1.499863 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 2 2 3 \n",
+ "1 1 3 3 4 \n",
+ "2 1 4 4 5 \n",
+ "3 1 5 5 6 \n",
+ "4 1 6 6 0 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.143795 -1.546358 \n",
+ "1 -1.143795 -1.546358 \n",
+ "2 -1.143795 -1.546358 \n",
+ "3 -1.143795 -1.546358 \n",
+ "4 -1.143795 -1.546358 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.561575 -1.668794 \n",
+ "1 -1.447574 -1.658893 \n",
+ "2 -1.333574 -1.648991 \n",
+ "3 -1.219574 -1.639090 \n",
+ "4 -1.105574 -1.629188 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 -0.000500 0 -1.566621 \n",
+ "1 0.499288 0 -1.566621 \n",
+ "2 0.999076 0 -1.566621 \n",
+ "3 1.498863 0 -1.566621 \n",
+ "4 -1.499863 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (9930, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.877573 \n",
+ " -1.639090 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.763573 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.649573 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.535573 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.421573 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -1.569779 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.143795 \n",
+ "1 -1.705218 -1.143795 \n",
+ "2 -1.701755 -1.143795 \n",
+ "3 -1.698293 -1.143795 \n",
+ "4 -1.694831 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.143795 \n",
+ "1 -1.143795 \n",
+ "2 -1.143795 \n",
+ "3 -1.143795 \n",
+ "4 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.143795 ... \n",
+ "1 -1.143795 ... \n",
+ "2 -1.143795 ... \n",
+ "3 -1.143795 ... \n",
+ "4 -1.143795 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.877573 \n",
+ "1 -0.763573 \n",
+ "2 -0.649573 \n",
+ "3 -0.535573 \n",
+ "4 -0.421573 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.639090 \n",
+ "1 -1.629188 \n",
+ "2 -1.619287 \n",
+ "3 -1.609385 \n",
+ "4 -1.599484 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.629188 \n",
+ "1 -1.619287 \n",
+ "2 -1.609385 \n",
+ "3 -1.599484 \n",
+ "4 -1.589582 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.619287 \n",
+ "1 -1.609385 \n",
+ "2 -1.599484 \n",
+ "3 -1.589582 \n",
+ "4 -1.579681 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.609385 \n",
+ "1 -1.599484 \n",
+ "2 -1.589582 \n",
+ "3 -1.579681 \n",
+ "4 -1.569779 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.498863 \n",
+ "1 -1.499863 \n",
+ "2 -1.000075 \n",
+ "3 -0.500287 \n",
+ "4 -0.000500 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.000075 \n",
+ "2 -0.500287 \n",
+ "3 -0.000500 \n",
+ "4 0.499288 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.000075 \n",
+ "1 -0.500287 \n",
+ "2 -0.000500 \n",
+ "3 0.499288 \n",
+ "4 0.999076 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.500287 -1.566621 \n",
+ "1 -0.000500 -1.566621 \n",
+ "2 0.499288 -1.566621 \n",
+ "3 0.999076 -1.566621 \n",
+ "4 1.498863 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9930, 1)\n",
+ "[[-1.70521765]\n",
+ " [-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]] \n",
+ "\n",
+ "0:\tlearn: 0.9606043\ttest: 0.9668573\tbest: 0.9668573 (0)\ttotal: 1.36ms\tremaining: 1.36s\n",
+ "500:\tlearn: 0.0037506\ttest: 0.0038327\tbest: 0.0038327 (500)\ttotal: 506ms\tremaining: 504ms\n",
+ "999:\tlearn: 0.0021159\ttest: 0.0022825\tbest: 0.0022825 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002282486309\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002282486308604412\n",
+ "0:\tlearn: 0.9660711\ttest: 0.9614294\tbest: 0.9614294 (0)\ttotal: 1.32ms\tremaining: 1.32s\n",
+ "500:\tlearn: 0.0038068\ttest: 0.0039266\tbest: 0.0039266 (500)\ttotal: 515ms\tremaining: 513ms\n",
+ "999:\tlearn: 0.0020537\ttest: 0.0022117\tbest: 0.0022117 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002211714388\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002211714388200288\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(2.397395133972168, <__main__.RecursiveStrategy at 0x7f2e2697cd00>)"
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.28843 \n",
+ " 0.955096 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.28843 \n",
+ " 0.955096 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.28843 \n",
+ " 0.955096 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.28843 \n",
+ " 0.955096 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.28843 \n",
+ " 0.955096 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.383929 \n",
+ "1 1.729454 1.383929 \n",
+ "2 1.729454 1.383929 \n",
+ "3 1.729454 1.383929 \n",
+ "4 1.729454 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.383929 \n",
+ "1 1.383929 \n",
+ "2 1.383929 \n",
+ "3 1.383929 \n",
+ "4 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.383929 ... \n",
+ "1 1.383929 ... \n",
+ "2 1.383929 ... \n",
+ "3 1.383929 ... \n",
+ "4 1.383929 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.28843 \n",
+ "1 1.28843 \n",
+ "2 1.28843 \n",
+ "3 1.28843 \n",
+ "4 1.28843 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.955096 \n",
+ "1 0.955096 \n",
+ "2 0.955096 \n",
+ "3 0.955096 \n",
+ "4 0.955096 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.964997 \n",
+ "1 0.964997 \n",
+ "2 0.964997 \n",
+ "3 0.964997 \n",
+ "4 0.964997 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.974899 \n",
+ "1 0.974899 \n",
+ "2 0.974899 \n",
+ "3 0.974899 \n",
+ "4 0.974899 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.9848 \n",
+ "1 0.9848 \n",
+ "2 0.9848 \n",
+ "3 0.9848 \n",
+ "4 0.9848 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 0.999076 \n",
+ "1 0.999076 \n",
+ "2 0.999076 \n",
+ "3 0.999076 \n",
+ "4 0.999076 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 1.498863 \n",
+ "1 1.498863 \n",
+ "2 1.498863 \n",
+ "3 1.498863 \n",
+ "4 1.498863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.499863 \n",
+ "2 -1.499863 \n",
+ "3 -1.499863 \n",
+ "4 -1.499863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -1.000075 -1.566621 \n",
+ "1 -1.000075 -1.218483 \n",
+ "2 -1.000075 -0.870345 \n",
+ "3 -1.000075 -0.522207 \n",
+ "4 -1.000075 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 1 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.459137 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.459137 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720657 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.40243 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720664 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.40243 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720759 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.40243 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721067 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.40243 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721081 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.40243 \n",
+ " 0.964997 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.712142 1.715605 \n",
+ "1 1.712142 1.715605 \n",
+ "2 1.712142 1.715605 \n",
+ "3 1.712142 1.715605 \n",
+ "4 1.712142 1.715605 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.719067 1.72253 \n",
+ "1 1.719067 1.72253 \n",
+ "2 1.719067 1.72253 \n",
+ "3 1.719067 1.72253 \n",
+ "4 1.719067 1.72253 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.725992 1.729454 \n",
+ "1 1.725992 1.729454 \n",
+ "2 1.725992 1.729454 \n",
+ "3 1.725992 1.729454 \n",
+ "4 1.725992 1.729454 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.720657 1.383929 \n",
+ "1 1.720664 1.383929 \n",
+ "2 1.720759 1.383929 \n",
+ "3 1.721067 1.383929 \n",
+ "4 1.721081 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.383929 \n",
+ "1 1.383929 \n",
+ "2 1.383929 \n",
+ "3 1.383929 \n",
+ "4 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.383929 ... \n",
+ "1 1.383929 ... \n",
+ "2 1.383929 ... \n",
+ "3 1.383929 ... \n",
+ "4 1.383929 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.40243 \n",
+ "1 1.40243 \n",
+ "2 1.40243 \n",
+ "3 1.40243 \n",
+ "4 1.40243 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.964997 \n",
+ "1 0.964997 \n",
+ "2 0.964997 \n",
+ "3 0.964997 \n",
+ "4 0.964997 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.974899 \n",
+ "1 0.974899 \n",
+ "2 0.974899 \n",
+ "3 0.974899 \n",
+ "4 0.974899 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.9848 \n",
+ "1 0.9848 \n",
+ "2 0.9848 \n",
+ "3 0.9848 \n",
+ "4 0.9848 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.994702 \n",
+ "1 0.994702 \n",
+ "2 0.994702 \n",
+ "3 0.994702 \n",
+ "4 0.994702 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.498863 \n",
+ "1 1.498863 \n",
+ "2 1.498863 \n",
+ "3 1.498863 \n",
+ "4 1.498863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.499863 \n",
+ "2 -1.499863 \n",
+ "3 -1.499863 \n",
+ "4 -1.499863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.000075 \n",
+ "1 -1.000075 \n",
+ "2 -1.000075 \n",
+ "3 -1.000075 \n",
+ "4 -1.000075 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.500287 -1.566621 \n",
+ "1 -0.500287 -1.218483 \n",
+ "2 -0.500287 -0.870345 \n",
+ "3 -0.500287 -0.522207 \n",
+ "4 -0.500287 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 2 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.459137 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.274164 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.459137 2022-09-27 0\n",
+ "8 1994.274164 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720657 \n",
+ " 1.713092 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.516431 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720664 \n",
+ " 1.713099 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.516431 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720759 \n",
+ " 1.713194 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.516431 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721067 \n",
+ " 1.713506 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.516431 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721081 \n",
+ " 1.713520 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.516431 \n",
+ " 0.974899 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.729454 1.720657 \n",
+ "1 1.729454 1.720664 \n",
+ "2 1.729454 1.720759 \n",
+ "3 1.729454 1.721067 \n",
+ "4 1.729454 1.721081 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.713092 1.383929 \n",
+ "1 1.713099 1.383929 \n",
+ "2 1.713194 1.383929 \n",
+ "3 1.713506 1.383929 \n",
+ "4 1.713520 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.383929 \n",
+ "1 1.383929 \n",
+ "2 1.383929 \n",
+ "3 1.383929 \n",
+ "4 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.383929 ... \n",
+ "1 1.383929 ... \n",
+ "2 1.383929 ... \n",
+ "3 1.383929 ... \n",
+ "4 1.383929 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.516431 \n",
+ "1 1.516431 \n",
+ "2 1.516431 \n",
+ "3 1.516431 \n",
+ "4 1.516431 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.974899 \n",
+ "1 0.974899 \n",
+ "2 0.974899 \n",
+ "3 0.974899 \n",
+ "4 0.974899 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.9848 \n",
+ "1 0.9848 \n",
+ "2 0.9848 \n",
+ "3 0.9848 \n",
+ "4 0.9848 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.994702 \n",
+ "1 0.994702 \n",
+ "2 0.994702 \n",
+ "3 0.994702 \n",
+ "4 0.994702 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.004603 \n",
+ "1 1.004603 \n",
+ "2 1.004603 \n",
+ "3 1.004603 \n",
+ "4 1.004603 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.499863 \n",
+ "2 -1.499863 \n",
+ "3 -1.499863 \n",
+ "4 -1.499863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.000075 \n",
+ "1 -1.000075 \n",
+ "2 -1.000075 \n",
+ "3 -1.000075 \n",
+ "4 -1.000075 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.500287 \n",
+ "1 -0.500287 \n",
+ "2 -0.500287 \n",
+ "3 -0.500287 \n",
+ "4 -0.500287 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.0005 -1.566621 \n",
+ "1 -0.0005 -1.218483 \n",
+ "2 -0.0005 -0.870345 \n",
+ "3 -0.0005 -0.522207 \n",
+ "4 -0.0005 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 3 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.459137 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.274164 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 1993.528653 \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.459137 2022-09-27 0\n",
+ "8 1994.274164 2022-09-28 0\n",
+ "9 1993.528653 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720657 \n",
+ " 1.713092 \n",
+ " 1.710510 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " 0.499288 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720664 \n",
+ " 1.713099 \n",
+ " 1.710518 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " 0.499288 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.720759 \n",
+ " 1.713194 \n",
+ " 1.710613 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " 0.499288 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721067 \n",
+ " 1.713506 \n",
+ " 1.710925 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " 0.499288 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.721081 \n",
+ " 1.713520 \n",
+ " 1.710939 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.9848 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.0005 \n",
+ " 0.499288 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.719067 1.72253 \n",
+ "1 1.719067 1.72253 \n",
+ "2 1.719067 1.72253 \n",
+ "3 1.719067 1.72253 \n",
+ "4 1.719067 1.72253 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.725992 1.729454 \n",
+ "1 1.725992 1.729454 \n",
+ "2 1.725992 1.729454 \n",
+ "3 1.725992 1.729454 \n",
+ "4 1.725992 1.729454 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.720657 1.713092 \n",
+ "1 1.720664 1.713099 \n",
+ "2 1.720759 1.713194 \n",
+ "3 1.721067 1.713506 \n",
+ "4 1.721081 1.713520 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.710510 1.383929 \n",
+ "1 1.710518 1.383929 \n",
+ "2 1.710613 1.383929 \n",
+ "3 1.710925 1.383929 \n",
+ "4 1.710939 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.383929 \n",
+ "1 1.383929 \n",
+ "2 1.383929 \n",
+ "3 1.383929 \n",
+ "4 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.383929 ... \n",
+ "1 1.383929 ... \n",
+ "2 1.383929 ... \n",
+ "3 1.383929 ... \n",
+ "4 1.383929 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.630431 \n",
+ "1 1.630431 \n",
+ "2 1.630431 \n",
+ "3 1.630431 \n",
+ "4 1.630431 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.9848 \n",
+ "1 0.9848 \n",
+ "2 0.9848 \n",
+ "3 0.9848 \n",
+ "4 0.9848 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.994702 \n",
+ "1 0.994702 \n",
+ "2 0.994702 \n",
+ "3 0.994702 \n",
+ "4 0.994702 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 1.004603 \n",
+ "1 1.004603 \n",
+ "2 1.004603 \n",
+ "3 1.004603 \n",
+ "4 1.004603 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.014505 \n",
+ "1 1.014505 \n",
+ "2 1.014505 \n",
+ "3 1.014505 \n",
+ "4 1.014505 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.000075 \n",
+ "1 -1.000075 \n",
+ "2 -1.000075 \n",
+ "3 -1.000075 \n",
+ "4 -1.000075 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.500287 \n",
+ "1 -0.500287 \n",
+ "2 -0.500287 \n",
+ "3 -0.500287 \n",
+ "4 -0.500287 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.0005 \n",
+ "1 -0.0005 \n",
+ "2 -0.0005 \n",
+ "3 -0.0005 \n",
+ "4 -0.0005 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.499288 -1.566621 \n",
+ "1 0.499288 -1.218483 \n",
+ "2 0.499288 -0.870345 \n",
+ "3 0.499288 -0.522207 \n",
+ "4 0.499288 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1996.459137 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1994.274164 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1993.528653 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1992.581575 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2996.461299 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2994.276326 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2993.530815 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2992.583707 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3996.488771 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3994.303798 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1996.459137\n",
+ "1 0 2022-09-28 1994.274164\n",
+ "2 0 2022-09-29 1993.528653\n",
+ "3 0 2022-09-30 1992.581575\n",
+ "4 1 2022-09-27 2996.461299\n",
+ "5 1 2022-09-28 2994.276326\n",
+ "6 1 2022-09-29 2993.530815\n",
+ "7 1 2022-09-30 2992.583707\n",
+ "8 2 2022-09-27 3996.488771\n",
+ "9 2 2022-09-28 3994.303798"
+ ]
+ },
+ "execution_count": 58,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "You can observe how `raw_ts_X` is progressively filled at each step."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Reduced](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**- Note 1: There is an option to use a “reduced” version, where features are generated for all test observations at once, and unavailable values are filled with NaN.**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = RecursiveStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " reduced=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 2 \n",
+ " 2 \n",
+ " 3 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.561575 \n",
+ " -1.668794 \n",
+ " -0.000500 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 3 \n",
+ " 3 \n",
+ " 4 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.447574 \n",
+ " -1.658893 \n",
+ " 0.499288 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 4 \n",
+ " 4 \n",
+ " 5 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.333574 \n",
+ " -1.648991 \n",
+ " 0.999076 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.219574 \n",
+ " -1.639090 \n",
+ " 1.498863 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.143795 \n",
+ " -1.546358 \n",
+ " -1.105574 \n",
+ " -1.629188 \n",
+ " -1.499863 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 2 2 3 \n",
+ "1 1 3 3 4 \n",
+ "2 1 4 4 5 \n",
+ "3 1 5 5 6 \n",
+ "4 1 6 6 0 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.143795 -1.546358 \n",
+ "1 -1.143795 -1.546358 \n",
+ "2 -1.143795 -1.546358 \n",
+ "3 -1.143795 -1.546358 \n",
+ "4 -1.143795 -1.546358 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.561575 -1.668794 \n",
+ "1 -1.447574 -1.658893 \n",
+ "2 -1.333574 -1.648991 \n",
+ "3 -1.219574 -1.639090 \n",
+ "4 -1.105574 -1.629188 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 -0.000500 0 -1.566621 \n",
+ "1 0.499288 0 -1.566621 \n",
+ "2 0.999076 0 -1.566621 \n",
+ "3 1.498863 0 -1.566621 \n",
+ "4 -1.499863 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (9930, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.877573 \n",
+ " -1.639090 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.763573 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.649573 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.535573 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.421573 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -1.569779 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.143795 \n",
+ "1 -1.705218 -1.143795 \n",
+ "2 -1.701755 -1.143795 \n",
+ "3 -1.698293 -1.143795 \n",
+ "4 -1.694831 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.143795 \n",
+ "1 -1.143795 \n",
+ "2 -1.143795 \n",
+ "3 -1.143795 \n",
+ "4 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.143795 ... \n",
+ "1 -1.143795 ... \n",
+ "2 -1.143795 ... \n",
+ "3 -1.143795 ... \n",
+ "4 -1.143795 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.877573 \n",
+ "1 -0.763573 \n",
+ "2 -0.649573 \n",
+ "3 -0.535573 \n",
+ "4 -0.421573 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.639090 \n",
+ "1 -1.629188 \n",
+ "2 -1.619287 \n",
+ "3 -1.609385 \n",
+ "4 -1.599484 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.629188 \n",
+ "1 -1.619287 \n",
+ "2 -1.609385 \n",
+ "3 -1.599484 \n",
+ "4 -1.589582 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.619287 \n",
+ "1 -1.609385 \n",
+ "2 -1.599484 \n",
+ "3 -1.589582 \n",
+ "4 -1.579681 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.609385 \n",
+ "1 -1.599484 \n",
+ "2 -1.589582 \n",
+ "3 -1.579681 \n",
+ "4 -1.569779 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.498863 \n",
+ "1 -1.499863 \n",
+ "2 -1.000075 \n",
+ "3 -0.500287 \n",
+ "4 -0.000500 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.000075 \n",
+ "2 -0.500287 \n",
+ "3 -0.000500 \n",
+ "4 0.499288 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.000075 \n",
+ "1 -0.500287 \n",
+ "2 -0.000500 \n",
+ "3 0.499288 \n",
+ "4 0.999076 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.500287 -1.566621 \n",
+ "1 -0.000500 -1.566621 \n",
+ "2 0.499288 -1.566621 \n",
+ "3 0.999076 -1.566621 \n",
+ "4 1.498863 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9930, 1)\n",
+ "[[-1.70521765]\n",
+ " [-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]] \n",
+ "\n",
+ "0:\tlearn: 0.9606043\ttest: 0.9668573\tbest: 0.9668573 (0)\ttotal: 1.41ms\tremaining: 1.41s\n",
+ "500:\tlearn: 0.0037506\ttest: 0.0038327\tbest: 0.0038327 (500)\ttotal: 521ms\tremaining: 519ms\n",
+ "999:\tlearn: 0.0021159\ttest: 0.0022825\tbest: 0.0022825 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002282486309\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002282486308604412\n",
+ "0:\tlearn: 0.9660711\ttest: 0.9614294\tbest: 0.9614294 (0)\ttotal: 1.37ms\tremaining: 1.37s\n",
+ "500:\tlearn: 0.0038068\ttest: 0.0039266\tbest: 0.0039266 (500)\ttotal: 513ms\tremaining: 511ms\n",
+ "999:\tlearn: 0.0020537\ttest: 0.0022117\tbest: 0.0022117 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002211714388\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002211714388200288\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(2.5824122428894043, <__main__.RecursiveStrategy at 0x7f2e260080a0>)"
+ ]
+ },
+ "execution_count": 60,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on recursive reduced (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (40, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.708680 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.722530 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.984800 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.722530 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " NaN \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " -1.675575 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " 1.024406 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.722530 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " NaN \n",
+ " NaN \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " -1.561575 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " 1.024406 \n",
+ " 1.034308 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.719067 \n",
+ " 1.722530 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " NaN \n",
+ " NaN \n",
+ " NaN \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " -1.447574 \n",
+ " 1.014505 \n",
+ " 1.024406 \n",
+ " 1.034308 \n",
+ " 1.044209 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.708680 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.722530 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " 1.383929 \n",
+ " ... \n",
+ " 1.630431 \n",
+ " 0.984800 \n",
+ " 0.994702 \n",
+ " 1.004603 \n",
+ " 1.014505 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.708680 1.712142 \n",
+ "1 1.712142 1.715605 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.719067 1.722530 \n",
+ "4 1.708680 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.719067 1.722530 \n",
+ "2 1.722530 1.725992 \n",
+ "3 1.725992 1.729454 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.722530 1.725992 \n",
+ "1 1.725992 1.729454 \n",
+ "2 1.729454 NaN \n",
+ "3 NaN NaN \n",
+ "4 1.722530 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.383929 \n",
+ "1 NaN 1.383929 \n",
+ "2 NaN 1.383929 \n",
+ "3 NaN 1.383929 \n",
+ "4 1.729454 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.383929 \n",
+ "1 1.383929 \n",
+ "2 1.383929 \n",
+ "3 1.383929 \n",
+ "4 1.383929 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.383929 ... \n",
+ "1 1.383929 ... \n",
+ "2 1.383929 ... \n",
+ "3 1.383929 ... \n",
+ "4 1.383929 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.630431 \n",
+ "1 -1.675575 \n",
+ "2 -1.561575 \n",
+ "3 -1.447574 \n",
+ "4 1.630431 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.984800 \n",
+ "1 0.994702 \n",
+ "2 1.004603 \n",
+ "3 1.014505 \n",
+ "4 0.984800 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.994702 \n",
+ "1 1.004603 \n",
+ "2 1.014505 \n",
+ "3 1.024406 \n",
+ "4 0.994702 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 1.004603 \n",
+ "1 1.014505 \n",
+ "2 1.024406 \n",
+ "3 1.034308 \n",
+ "4 1.004603 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.014505 \n",
+ "1 1.024406 \n",
+ "2 1.034308 \n",
+ "3 1.044209 \n",
+ "4 1.014505 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.000075 \n",
+ "1 -0.500287 \n",
+ "2 -0.000500 \n",
+ "3 0.499288 \n",
+ "4 -1.000075 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.500287 \n",
+ "1 -0.000500 \n",
+ "2 0.499288 \n",
+ "3 0.999076 \n",
+ "4 -0.500287 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.000500 \n",
+ "1 0.499288 \n",
+ "2 0.999076 \n",
+ "3 1.498863 \n",
+ "4 -0.000500 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.499288 -1.566621 \n",
+ "1 0.999076 -1.566621 \n",
+ "2 1.498863 -1.566621 \n",
+ "3 -1.499863 -1.566621 \n",
+ "4 0.499288 -1.218483 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1992.750094 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1826.62222 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1708.359827 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1629.943595 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2992.752225 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2826.61879 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2708.356397 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2629.936806 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3992.778393 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3826.647477 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1992.750094\n",
+ "1 0 2022-09-28 1826.62222\n",
+ "2 0 2022-09-29 1708.359827\n",
+ "3 0 2022-09-30 1629.943595\n",
+ "4 1 2022-09-27 2992.752225\n",
+ "5 1 2022-09-28 2826.61879\n",
+ "6 1 2022-09-29 2708.356397\n",
+ "7 1 2022-09-30 2629.936806\n",
+ "8 2 2022-09-27 3992.778393\n",
+ "9 2 2022-09-28 3826.647477"
+ ]
+ },
+ "execution_count": 62,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Recursive + MIMO](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**- Note 2: Recursive can also be combined with the MIMO strategy, allowing the model to predict model_horizon points ahead at each step. The overall forecasting horizon should be divisible by the horizon of the individual model without a remainder.**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = RecursiveStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " model_horizon=2,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 3 \n",
+ " 3 \n",
+ " 4 \n",
+ " -1.145979 \n",
+ " -1.550044 \n",
+ " -1.450887 \n",
+ " -1.663056 \n",
+ " 0.499725 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 4 \n",
+ " 4 \n",
+ " 5 \n",
+ " -1.145979 \n",
+ " -1.550044 \n",
+ " -1.336860 \n",
+ " -1.653145 \n",
+ " 0.999450 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.145979 \n",
+ " -1.550044 \n",
+ " -1.222832 \n",
+ " -1.643235 \n",
+ " 1.499176 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.145979 \n",
+ " -1.550044 \n",
+ " -1.108804 \n",
+ " -1.633324 \n",
+ " -1.499176 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.145979 \n",
+ " -1.550044 \n",
+ " -0.994777 \n",
+ " -1.623414 \n",
+ " -0.999450 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 3 3 4 \n",
+ "1 1 4 4 5 \n",
+ "2 1 5 5 6 \n",
+ "3 1 6 6 0 \n",
+ "4 1 7 7 1 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.145979 -1.550044 \n",
+ "1 -1.145979 -1.550044 \n",
+ "2 -1.145979 -1.550044 \n",
+ "3 -1.145979 -1.550044 \n",
+ "4 -1.145979 -1.550044 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.450887 -1.663056 \n",
+ "1 -1.336860 -1.653145 \n",
+ "2 -1.222832 -1.643235 \n",
+ "3 -1.108804 -1.633324 \n",
+ "4 -0.994777 -1.623414 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 0.499725 0 -1.566621 \n",
+ "1 0.999450 0 -1.566621 \n",
+ "2 1.499176 0 -1.566621 \n",
+ "3 -1.499176 0 -1.566621 \n",
+ "4 -0.999450 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (9920, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.766722 \n",
+ " -1.633324 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.499176 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.652694 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.538666 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.424639 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.310611 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " -1.563952 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.145979 \n",
+ "1 -1.705218 -1.145979 \n",
+ "2 -1.701755 -1.145979 \n",
+ "3 -1.698293 -1.145979 \n",
+ "4 -1.694831 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.145979 \n",
+ "1 -1.145979 \n",
+ "2 -1.145979 \n",
+ "3 -1.145979 \n",
+ "4 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.145979 ... \n",
+ "1 -1.145979 ... \n",
+ "2 -1.145979 ... \n",
+ "3 -1.145979 ... \n",
+ "4 -1.145979 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.766722 \n",
+ "1 -0.652694 \n",
+ "2 -0.538666 \n",
+ "3 -0.424639 \n",
+ "4 -0.310611 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.633324 \n",
+ "1 -1.623414 \n",
+ "2 -1.613504 \n",
+ "3 -1.603593 \n",
+ "4 -1.593683 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.623414 \n",
+ "1 -1.613504 \n",
+ "2 -1.603593 \n",
+ "3 -1.593683 \n",
+ "4 -1.583772 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.613504 \n",
+ "1 -1.603593 \n",
+ "2 -1.593683 \n",
+ "3 -1.583772 \n",
+ "4 -1.573862 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.603593 \n",
+ "1 -1.593683 \n",
+ "2 -1.583772 \n",
+ "3 -1.573862 \n",
+ "4 -1.563952 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.499176 \n",
+ "1 -0.999450 \n",
+ "2 -0.499725 \n",
+ "3 0.000000 \n",
+ "4 0.499725 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.999450 \n",
+ "1 -0.499725 \n",
+ "2 0.000000 \n",
+ "3 0.499725 \n",
+ "4 0.999450 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.499725 \n",
+ "1 0.000000 \n",
+ "2 0.499725 \n",
+ "3 0.999450 \n",
+ "4 1.499176 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.000000 -1.566621 \n",
+ "1 0.499725 -1.566621 \n",
+ "2 0.999450 -1.566621 \n",
+ "3 1.499176 -1.566621 \n",
+ "4 -1.499176 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9920, 2)\n",
+ "[[-1.70521765 -1.70175528]\n",
+ " [-1.70175528 -1.69829291]\n",
+ " [-1.69829291 -1.69483054]\n",
+ " [-1.69483054 -1.69136817]\n",
+ " [-1.69136817 -1.6879058 ]] \n",
+ "\n",
+ "0:\tlearn: 1.3609687\ttest: 1.3619154\tbest: 1.3619154 (0)\ttotal: 1.76ms\tremaining: 1.76s\n",
+ "500:\tlearn: 0.0052110\ttest: 0.0055076\tbest: 0.0055076 (500)\ttotal: 676ms\tremaining: 674ms\n",
+ "999:\tlearn: 0.0029246\ttest: 0.0032282\tbest: 0.0032282 (999)\ttotal: 1.34s\tremaining: 0us\n",
+ "bestTest = 0.003228249025\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0032282490248902312\n",
+ "0:\tlearn: 1.3611017\ttest: 1.3621758\tbest: 1.3621758 (0)\ttotal: 1.79ms\tremaining: 1.79s\n",
+ "500:\tlearn: 0.0049621\ttest: 0.0052201\tbest: 0.0052201 (500)\ttotal: 678ms\tremaining: 675ms\n",
+ "999:\tlearn: 0.0027790\ttest: 0.0030534\tbest: 0.0030534 (999)\ttotal: 1.35s\tremaining: 0us\n",
+ "bestTest = 0.00305343819\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0030534381902755756\n",
+ "Mean score: 0.0031\n",
+ "Std: 0.0001\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(3.052319049835205, <__main__.RecursiveStrategy at 0x7f2e26bcbf70>)"
+ ]
+ },
+ "execution_count": 64,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.399803 \n",
+ " 0.963202 \n",
+ " 0.973113 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.399803 \n",
+ " 0.963202 \n",
+ " 0.973113 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.399803 \n",
+ " 0.963202 \n",
+ " 0.973113 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.399803 \n",
+ " 0.963202 \n",
+ " 0.973113 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.399803 \n",
+ " 0.963202 \n",
+ " 0.973113 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.380987 \n",
+ "1 1.729454 1.380987 \n",
+ "2 1.729454 1.380987 \n",
+ "3 1.729454 1.380987 \n",
+ "4 1.729454 1.380987 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.380987 \n",
+ "1 1.380987 \n",
+ "2 1.380987 \n",
+ "3 1.380987 \n",
+ "4 1.380987 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.380987 ... \n",
+ "1 1.380987 ... \n",
+ "2 1.380987 ... \n",
+ "3 1.380987 ... \n",
+ "4 1.380987 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.399803 \n",
+ "1 1.399803 \n",
+ "2 1.399803 \n",
+ "3 1.399803 \n",
+ "4 1.399803 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.963202 \n",
+ "1 0.963202 \n",
+ "2 0.963202 \n",
+ "3 0.963202 \n",
+ "4 0.963202 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.973113 \n",
+ "1 0.973113 \n",
+ "2 0.973113 \n",
+ "3 0.973113 \n",
+ "4 0.973113 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.983023 \n",
+ "1 0.983023 \n",
+ "2 0.983023 \n",
+ "3 0.983023 \n",
+ "4 0.983023 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.992934 \n",
+ "1 0.992934 \n",
+ "2 0.992934 \n",
+ "3 0.992934 \n",
+ "4 0.992934 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.499176 \n",
+ "1 1.499176 \n",
+ "2 1.499176 \n",
+ "3 1.499176 \n",
+ "4 1.499176 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.499176 \n",
+ "1 -1.499176 \n",
+ "2 -1.499176 \n",
+ "3 -1.499176 \n",
+ "4 -1.499176 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.99945 \n",
+ "1 -0.99945 \n",
+ "2 -0.99945 \n",
+ "3 -0.99945 \n",
+ "4 -0.99945 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.499725 -1.566621 \n",
+ "1 -0.499725 -1.218483 \n",
+ "2 -0.499725 -0.870345 \n",
+ "3 -0.499725 -0.522207 \n",
+ "4 -0.499725 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 1 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1993.363236 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.363237 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1993.363236 2022-09-27 0\n",
+ "8 1994.363237 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.709938 \n",
+ " 1.713400 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.627858 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.002844 \n",
+ " 1.012755 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " 0.0 \n",
+ " 0.499725 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.709947 \n",
+ " 1.713409 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.627858 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.002844 \n",
+ " 1.012755 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " 0.0 \n",
+ " 0.499725 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.709943 \n",
+ " 1.713405 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.627858 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.002844 \n",
+ " 1.012755 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " 0.0 \n",
+ " 0.499725 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.710009 \n",
+ " 1.713471 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.627858 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.002844 \n",
+ " 1.012755 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " 0.0 \n",
+ " 0.499725 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.710047 \n",
+ " 1.713509 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " 1.380987 \n",
+ " ... \n",
+ " 1.627858 \n",
+ " 0.983023 \n",
+ " 0.992934 \n",
+ " 1.002844 \n",
+ " 1.012755 \n",
+ " -0.99945 \n",
+ " -0.499725 \n",
+ " 0.0 \n",
+ " 0.499725 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.729454 1.709938 \n",
+ "1 1.729454 1.709947 \n",
+ "2 1.729454 1.709943 \n",
+ "3 1.729454 1.710009 \n",
+ "4 1.729454 1.710047 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.713400 1.380987 \n",
+ "1 1.713409 1.380987 \n",
+ "2 1.713405 1.380987 \n",
+ "3 1.713471 1.380987 \n",
+ "4 1.713509 1.380987 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.380987 \n",
+ "1 1.380987 \n",
+ "2 1.380987 \n",
+ "3 1.380987 \n",
+ "4 1.380987 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.380987 ... \n",
+ "1 1.380987 ... \n",
+ "2 1.380987 ... \n",
+ "3 1.380987 ... \n",
+ "4 1.380987 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.627858 \n",
+ "1 1.627858 \n",
+ "2 1.627858 \n",
+ "3 1.627858 \n",
+ "4 1.627858 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.983023 \n",
+ "1 0.983023 \n",
+ "2 0.983023 \n",
+ "3 0.983023 \n",
+ "4 0.983023 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.992934 \n",
+ "1 0.992934 \n",
+ "2 0.992934 \n",
+ "3 0.992934 \n",
+ "4 0.992934 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 1.002844 \n",
+ "1 1.002844 \n",
+ "2 1.002844 \n",
+ "3 1.002844 \n",
+ "4 1.002844 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.012755 \n",
+ "1 1.012755 \n",
+ "2 1.012755 \n",
+ "3 1.012755 \n",
+ "4 1.012755 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.99945 \n",
+ "1 -0.99945 \n",
+ "2 -0.99945 \n",
+ "3 -0.99945 \n",
+ "4 -0.99945 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.499725 \n",
+ "1 -0.499725 \n",
+ "2 -0.499725 \n",
+ "3 -0.499725 \n",
+ "4 -0.499725 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.0 \n",
+ "1 0.0 \n",
+ "2 0.0 \n",
+ "3 0.0 \n",
+ "4 0.0 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.499725 -1.566621 \n",
+ "1 0.499725 -1.218483 \n",
+ "2 0.499725 -0.870345 \n",
+ "3 0.499725 -0.522207 \n",
+ "4 0.499725 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1993.363236 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1994.363237 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1993.611981 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1994.61198 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2993.365944 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2994.365946 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2993.613661 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2994.613661 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3993.364635 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3994.364637 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1993.363236\n",
+ "1 0 2022-09-28 1994.363237\n",
+ "2 0 2022-09-29 1993.611981\n",
+ "3 0 2022-09-30 1994.61198\n",
+ "4 1 2022-09-27 2993.365944\n",
+ "5 1 2022-09-28 2994.365946\n",
+ "6 1 2022-09-29 2993.613661\n",
+ "7 1 2022-09-30 2994.613661\n",
+ "8 2 2022-09-27 3993.364635\n",
+ "9 2 2022-09-28 3994.364637"
+ ]
+ },
+ "execution_count": 66,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that now we have trained the model to predict two steps ahead instead of one. During inference, the model also predicted two points at a time until the desired forecasting horizon was reached."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Direct](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- Individual models are trained for each point in the forecast horizon."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "------------------------------------Training model for horizon 1------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9930, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.877573 \n",
+ " -1.639090 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " 1.498863 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.763573 \n",
+ " -1.629188 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.499863 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.649573 \n",
+ " -1.619287 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.000075 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.535573 \n",
+ " -1.609385 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -0.500287 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " -1.143795 \n",
+ " ... \n",
+ " -0.421573 \n",
+ " -1.599484 \n",
+ " -1.589582 \n",
+ " -1.579681 \n",
+ " -1.569779 \n",
+ " -0.000500 \n",
+ " 0.499288 \n",
+ " 0.999076 \n",
+ " 1.498863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.143795 \n",
+ "1 -1.705218 -1.143795 \n",
+ "2 -1.701755 -1.143795 \n",
+ "3 -1.698293 -1.143795 \n",
+ "4 -1.694831 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.143795 \n",
+ "1 -1.143795 \n",
+ "2 -1.143795 \n",
+ "3 -1.143795 \n",
+ "4 -1.143795 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.143795 ... \n",
+ "1 -1.143795 ... \n",
+ "2 -1.143795 ... \n",
+ "3 -1.143795 ... \n",
+ "4 -1.143795 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.877573 \n",
+ "1 -0.763573 \n",
+ "2 -0.649573 \n",
+ "3 -0.535573 \n",
+ "4 -0.421573 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.639090 \n",
+ "1 -1.629188 \n",
+ "2 -1.619287 \n",
+ "3 -1.609385 \n",
+ "4 -1.599484 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.629188 \n",
+ "1 -1.619287 \n",
+ "2 -1.609385 \n",
+ "3 -1.599484 \n",
+ "4 -1.589582 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.619287 \n",
+ "1 -1.609385 \n",
+ "2 -1.599484 \n",
+ "3 -1.589582 \n",
+ "4 -1.579681 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.609385 \n",
+ "1 -1.599484 \n",
+ "2 -1.589582 \n",
+ "3 -1.579681 \n",
+ "4 -1.569779 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.498863 \n",
+ "1 -1.499863 \n",
+ "2 -1.000075 \n",
+ "3 -0.500287 \n",
+ "4 -0.000500 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.499863 \n",
+ "1 -1.000075 \n",
+ "2 -0.500287 \n",
+ "3 -0.000500 \n",
+ "4 0.499288 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.000075 \n",
+ "1 -0.500287 \n",
+ "2 -0.000500 \n",
+ "3 0.499288 \n",
+ "4 0.999076 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.500287 -1.566621 \n",
+ "1 -0.000500 -1.566621 \n",
+ "2 0.499288 -1.566621 \n",
+ "3 0.999076 -1.566621 \n",
+ "4 1.498863 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9930, 1)\n",
+ "[[-1.70521765]\n",
+ " [-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]] \n",
+ "\n",
+ "0:\tlearn: 0.9606043\ttest: 0.9668573\tbest: 0.9668573 (0)\ttotal: 1.74ms\tremaining: 1.74s\n",
+ "500:\tlearn: 0.0037506\ttest: 0.0038327\tbest: 0.0038327 (500)\ttotal: 515ms\tremaining: 513ms\n",
+ "999:\tlearn: 0.0021159\ttest: 0.0022825\tbest: 0.0022825 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002282486309\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002282486308604412\n",
+ "0:\tlearn: 0.9660711\ttest: 0.9614294\tbest: 0.9614294 (0)\ttotal: 1.67ms\tremaining: 1.67s\n",
+ "500:\tlearn: 0.0038068\ttest: 0.0039266\tbest: 0.0039266 (500)\ttotal: 511ms\tremaining: 509ms\n",
+ "999:\tlearn: 0.0020537\ttest: 0.0022117\tbest: 0.0022117 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002211714388\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002211714388200288\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n",
+ "------------------------------------Training model for horizon 2------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9920, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.766722 \n",
+ " -1.633324 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.499176 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.652694 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.538666 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.424639 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.310611 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " -1.563952 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.145979 \n",
+ "1 -1.705218 -1.145979 \n",
+ "2 -1.701755 -1.145979 \n",
+ "3 -1.698293 -1.145979 \n",
+ "4 -1.694831 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.145979 \n",
+ "1 -1.145979 \n",
+ "2 -1.145979 \n",
+ "3 -1.145979 \n",
+ "4 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.145979 ... \n",
+ "1 -1.145979 ... \n",
+ "2 -1.145979 ... \n",
+ "3 -1.145979 ... \n",
+ "4 -1.145979 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.766722 \n",
+ "1 -0.652694 \n",
+ "2 -0.538666 \n",
+ "3 -0.424639 \n",
+ "4 -0.310611 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.633324 \n",
+ "1 -1.623414 \n",
+ "2 -1.613504 \n",
+ "3 -1.603593 \n",
+ "4 -1.593683 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.623414 \n",
+ "1 -1.613504 \n",
+ "2 -1.603593 \n",
+ "3 -1.593683 \n",
+ "4 -1.583772 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.613504 \n",
+ "1 -1.603593 \n",
+ "2 -1.593683 \n",
+ "3 -1.583772 \n",
+ "4 -1.573862 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.603593 \n",
+ "1 -1.593683 \n",
+ "2 -1.583772 \n",
+ "3 -1.573862 \n",
+ "4 -1.563952 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.499176 \n",
+ "1 -0.999450 \n",
+ "2 -0.499725 \n",
+ "3 0.000000 \n",
+ "4 0.499725 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.999450 \n",
+ "1 -0.499725 \n",
+ "2 0.000000 \n",
+ "3 0.499725 \n",
+ "4 0.999450 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.499725 \n",
+ "1 0.000000 \n",
+ "2 0.499725 \n",
+ "3 0.999450 \n",
+ "4 1.499176 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.000000 -1.566621 \n",
+ "1 0.499725 -1.566621 \n",
+ "2 0.999450 -1.566621 \n",
+ "3 1.499176 -1.566621 \n",
+ "4 -1.499176 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9920, 1)\n",
+ "[[-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]] \n",
+ "\n",
+ "0:\tlearn: 0.9623502\ttest: 0.9630196\tbest: 0.9630196 (0)\ttotal: 1.78ms\tremaining: 1.78s\n",
+ "500:\tlearn: 0.0036847\ttest: 0.0038944\tbest: 0.0038944 (500)\ttotal: 517ms\tremaining: 515ms\n",
+ "999:\tlearn: 0.0020680\ttest: 0.0022827\tbest: 0.0022827 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002282716871\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002282716871130022\n",
+ "0:\tlearn: 0.9624442\ttest: 0.9632037\tbest: 0.9632037 (0)\ttotal: 1.69ms\tremaining: 1.68s\n",
+ "500:\tlearn: 0.0035087\ttest: 0.0036912\tbest: 0.0036912 (500)\ttotal: 529ms\tremaining: 527ms\n",
+ "999:\tlearn: 0.0019650\ttest: 0.0021591\tbest: 0.0021591 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.00215910794\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0021591079397916724\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0001\n",
+ "------------------------------------Training model for horizon 3------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9910, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " ... \n",
+ " -0.655600 \n",
+ " -1.627519 \n",
+ " -1.617600 \n",
+ " -1.607680 \n",
+ " -1.597761 \n",
+ " -0.999076 \n",
+ " -0.499288 \n",
+ " 0.000500 \n",
+ " 0.500287 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " ... \n",
+ " -0.541583 \n",
+ " -1.617600 \n",
+ " -1.607680 \n",
+ " -1.597761 \n",
+ " -1.587842 \n",
+ " -0.499288 \n",
+ " 0.000500 \n",
+ " 0.500287 \n",
+ " 1.000075 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " ... \n",
+ " -0.427565 \n",
+ " -1.607680 \n",
+ " -1.597761 \n",
+ " -1.587842 \n",
+ " -1.577923 \n",
+ " 0.000500 \n",
+ " 0.500287 \n",
+ " 1.000075 \n",
+ " 1.499863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " ... \n",
+ " -0.313548 \n",
+ " -1.597761 \n",
+ " -1.587842 \n",
+ " -1.577923 \n",
+ " -1.568004 \n",
+ " 0.500287 \n",
+ " 1.000075 \n",
+ " 1.499863 \n",
+ " -1.498863 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " -1.148169 \n",
+ " ... \n",
+ " -0.199531 \n",
+ " -1.587842 \n",
+ " -1.577923 \n",
+ " -1.568004 \n",
+ " -1.558085 \n",
+ " 1.000075 \n",
+ " 1.499863 \n",
+ " -1.498863 \n",
+ " -0.999076 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.148169 \n",
+ "1 -1.705218 -1.148169 \n",
+ "2 -1.701755 -1.148169 \n",
+ "3 -1.698293 -1.148169 \n",
+ "4 -1.694831 -1.148169 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.148169 \n",
+ "1 -1.148169 \n",
+ "2 -1.148169 \n",
+ "3 -1.148169 \n",
+ "4 -1.148169 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.148169 ... \n",
+ "1 -1.148169 ... \n",
+ "2 -1.148169 ... \n",
+ "3 -1.148169 ... \n",
+ "4 -1.148169 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.655600 \n",
+ "1 -0.541583 \n",
+ "2 -0.427565 \n",
+ "3 -0.313548 \n",
+ "4 -0.199531 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.627519 \n",
+ "1 -1.617600 \n",
+ "2 -1.607680 \n",
+ "3 -1.597761 \n",
+ "4 -1.587842 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.617600 \n",
+ "1 -1.607680 \n",
+ "2 -1.597761 \n",
+ "3 -1.587842 \n",
+ "4 -1.577923 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.607680 \n",
+ "1 -1.597761 \n",
+ "2 -1.587842 \n",
+ "3 -1.577923 \n",
+ "4 -1.568004 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.597761 \n",
+ "1 -1.587842 \n",
+ "2 -1.577923 \n",
+ "3 -1.568004 \n",
+ "4 -1.558085 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.999076 \n",
+ "1 -0.499288 \n",
+ "2 0.000500 \n",
+ "3 0.500287 \n",
+ "4 1.000075 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.499288 \n",
+ "1 0.000500 \n",
+ "2 0.500287 \n",
+ "3 1.000075 \n",
+ "4 1.499863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.000500 \n",
+ "1 0.500287 \n",
+ "2 1.000075 \n",
+ "3 1.499863 \n",
+ "4 -1.498863 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.500287 -1.566621 \n",
+ "1 1.000075 -1.566621 \n",
+ "2 1.499863 -1.566621 \n",
+ "3 -1.498863 -1.566621 \n",
+ "4 -0.999076 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9910, 1)\n",
+ "[[-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]\n",
+ " [-1.68444342]] \n",
+ "\n",
+ "0:\tlearn: 0.9600707\ttest: 0.9634615\tbest: 0.9634615 (0)\ttotal: 1.45ms\tremaining: 1.44s\n",
+ "500:\tlearn: 0.0035364\ttest: 0.0036527\tbest: 0.0036527 (500)\ttotal: 507ms\tremaining: 505ms\n",
+ "999:\tlearn: 0.0019679\ttest: 0.0021071\tbest: 0.0021071 (999)\ttotal: 1.01s\tremaining: 0us\n",
+ "bestTest = 0.002107126777\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0021071267765355958\n",
+ "0:\tlearn: 0.9626636\ttest: 0.9611762\tbest: 0.9611762 (0)\ttotal: 1.57ms\tremaining: 1.57s\n",
+ "500:\tlearn: 0.0035232\ttest: 0.0036120\tbest: 0.0036120 (500)\ttotal: 522ms\tremaining: 520ms\n",
+ "999:\tlearn: 0.0019648\ttest: 0.0021312\tbest: 0.0021312 (999)\ttotal: 1.25s\tremaining: 0us\n",
+ "bestTest = 0.002131204446\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0021312044459677773\n",
+ "Mean score: 0.0021\n",
+ "Std: 0.0\n",
+ "------------------------------------Training model for horizon 4------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 1)\n",
+ "[[-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]\n",
+ " [-1.68444342]\n",
+ " [-1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 0.9589837\ttest: 0.9626489\tbest: 0.9626489 (0)\ttotal: 3.93ms\tremaining: 3.93s\n",
+ "500:\tlearn: 0.0035799\ttest: 0.0036267\tbest: 0.0036267 (500)\ttotal: 544ms\tremaining: 541ms\n",
+ "999:\tlearn: 0.0019922\ttest: 0.0021238\tbest: 0.0021238 (999)\ttotal: 1.12s\tremaining: 0us\n",
+ "bestTest = 0.002123800997\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0021238009972551165\n",
+ "0:\tlearn: 0.9619577\ttest: 0.9598735\tbest: 0.9598735 (0)\ttotal: 1.39ms\tremaining: 1.39s\n",
+ "500:\tlearn: 0.0036115\ttest: 0.0037193\tbest: 0.0037193 (500)\ttotal: 514ms\tremaining: 512ms\n",
+ "999:\tlearn: 0.0020308\ttest: 0.0021786\tbest: 0.0021786 (999)\ttotal: 1.02s\tremaining: 0us\n",
+ "bestTest = 0.002178623094\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0021786230943171268\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(9.866692543029785, <__main__.DirectStrategy at 0x7f2e268d6ec0>)"
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "__We can see that `X` for training decreases with each subsequent model.__"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.279197 \n",
+ "1 1.279197 \n",
+ "2 1.279197 \n",
+ "3 1.279197 \n",
+ "4 1.279197 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.949622 \n",
+ "1 0.949622 \n",
+ "2 0.949622 \n",
+ "3 0.949622 \n",
+ "4 0.949622 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.959549 \n",
+ "1 0.959549 \n",
+ "2 0.959549 \n",
+ "3 0.959549 \n",
+ "4 0.959549 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.00095 \n",
+ "1 1.00095 \n",
+ "2 1.00095 \n",
+ "3 1.00095 \n",
+ "4 1.00095 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 1.500926 \n",
+ "1 1.500926 \n",
+ "2 1.500926 \n",
+ "3 1.500926 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.998951 -1.566621 \n",
+ "1 -0.998951 -1.218483 \n",
+ "2 -0.998951 -0.870345 \n",
+ "3 -0.998951 -0.522207 \n",
+ "4 -0.998951 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 1 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.549771 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.549771 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.393167 \n",
+ "1 1.393167 \n",
+ "2 1.393167 \n",
+ "3 1.393167 \n",
+ "4 1.393167 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.959549 \n",
+ "1 0.959549 \n",
+ "2 0.959549 \n",
+ "3 0.959549 \n",
+ "4 0.959549 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.500926 \n",
+ "1 1.500926 \n",
+ "2 1.500926 \n",
+ "3 1.500926 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.498975 -1.566621 \n",
+ "1 -0.498975 -1.218483 \n",
+ "2 -0.498975 -0.870345 \n",
+ "3 -0.498975 -0.522207 \n",
+ "4 -0.498975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 2 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.549771 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.363237 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.549771 2022-09-27 0\n",
+ "8 1994.363237 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.507137 \n",
+ "1 1.507137 \n",
+ "2 1.507137 \n",
+ "3 1.507137 \n",
+ "4 1.507137 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.001 -1.566621 \n",
+ "1 0.001 -1.218483 \n",
+ "2 0.001 -0.870345 \n",
+ "3 0.001 -0.522207 \n",
+ "4 0.001 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 3 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1996.549771 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.363237 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 1994.841520 \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1996.549771 2022-09-27 0\n",
+ "8 1994.363237 2022-09-28 0\n",
+ "9 1994.841520 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.621107 \n",
+ "1 1.621107 \n",
+ "2 1.621107 \n",
+ "3 1.621107 \n",
+ "4 1.621107 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.009188 \n",
+ "1 1.009188 \n",
+ "2 1.009188 \n",
+ "3 1.009188 \n",
+ "4 1.009188 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "1 0.001 \n",
+ "2 0.001 \n",
+ "3 0.001 \n",
+ "4 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.500975 -1.566621 \n",
+ "1 0.500975 -1.218483 \n",
+ "2 0.500975 -0.870345 \n",
+ "3 0.500975 -0.522207 \n",
+ "4 0.500975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1996.549771 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1994.363237 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1994.84152 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1991.156717 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2996.551933 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2994.365946 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2994.840157 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2991.131408 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3996.579405 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3994.364637 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1996.549771\n",
+ "1 0 2022-09-28 1994.363237\n",
+ "2 0 2022-09-29 1994.84152\n",
+ "3 0 2022-09-30 1991.156717\n",
+ "4 1 2022-09-27 2996.551933\n",
+ "5 1 2022-09-28 2994.365946\n",
+ "6 1 2022-09-29 2994.840157\n",
+ "7 1 2022-09-30 2991.131408\n",
+ "8 2 2022-09-27 3996.579405\n",
+ "9 2 2022-09-28 3994.364637"
+ ]
+ },
+ "execution_count": 70,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Equal train size](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**- Note 1: There is an option to use \"equal_train_size\" option, where all models can be trained on the same X_train set, formed for the last model predicting h point. Only the target variable (y) is updated for each model, reducing the time spent generating new training sets.**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " equal_train_size=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "------------------------------------Training model for horizon 1------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 1)\n",
+ "[[-1.70521765]\n",
+ " [-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]] \n",
+ "\n",
+ "0:\tlearn: 0.9589837\ttest: 0.9626489\tbest: 0.9626489 (0)\ttotal: 1.54ms\tremaining: 1.54s\n",
+ "500:\tlearn: 0.0035799\ttest: 0.0036267\tbest: 0.0036267 (500)\ttotal: 526ms\tremaining: 524ms\n",
+ "999:\tlearn: 0.0019886\ttest: 0.0021209\tbest: 0.0021209 (999)\ttotal: 1.06s\tremaining: 0us\n",
+ "bestTest = 0.002120945034\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002120945033678485\n",
+ "0:\tlearn: 0.9619577\ttest: 0.9598735\tbest: 0.9598735 (0)\ttotal: 3.01ms\tremaining: 3.01s\n",
+ "500:\tlearn: 0.0036115\ttest: 0.0037193\tbest: 0.0037193 (500)\ttotal: 518ms\tremaining: 516ms\n",
+ "999:\tlearn: 0.0020308\ttest: 0.0021786\tbest: 0.0021786 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002178625077\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002178625076936698\n",
+ "Mean score: 0.0021\n",
+ "Std: 0.0\n",
+ "------------------------------------Training model for horizon 2------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 1)\n",
+ "[[-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]] \n",
+ "\n",
+ "0:\tlearn: 0.9589837\ttest: 0.9626489\tbest: 0.9626489 (0)\ttotal: 1.49ms\tremaining: 1.49s\n",
+ "500:\tlearn: 0.0035799\ttest: 0.0036267\tbest: 0.0036267 (500)\ttotal: 523ms\tremaining: 521ms\n",
+ "999:\tlearn: 0.0019922\ttest: 0.0021238\tbest: 0.0021238 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002123801462\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0021238014616155863\n",
+ "0:\tlearn: 0.9619577\ttest: 0.9598735\tbest: 0.9598735 (0)\ttotal: 1.3ms\tremaining: 1.3s\n",
+ "500:\tlearn: 0.0036115\ttest: 0.0037193\tbest: 0.0037193 (500)\ttotal: 508ms\tremaining: 506ms\n",
+ "999:\tlearn: 0.0020308\ttest: 0.0021786\tbest: 0.0021786 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002178623015\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002178623015287188\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n",
+ "------------------------------------Training model for horizon 3------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 1)\n",
+ "[[-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]\n",
+ " [-1.68444342]] \n",
+ "\n",
+ "0:\tlearn: 0.9589837\ttest: 0.9626489\tbest: 0.9626489 (0)\ttotal: 1.33ms\tremaining: 1.33s\n",
+ "500:\tlearn: 0.0035799\ttest: 0.0036267\tbest: 0.0036267 (500)\ttotal: 527ms\tremaining: 525ms\n",
+ "999:\tlearn: 0.0019886\ttest: 0.0021209\tbest: 0.0021209 (999)\ttotal: 1.04s\tremaining: 0us\n",
+ "bestTest = 0.002120944768\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0021209447682686666\n",
+ "0:\tlearn: 0.9619577\ttest: 0.9598735\tbest: 0.9598735 (0)\ttotal: 1.57ms\tremaining: 1.57s\n",
+ "500:\tlearn: 0.0036115\ttest: 0.0037193\tbest: 0.0037193 (500)\ttotal: 519ms\tremaining: 517ms\n",
+ "999:\tlearn: 0.0020308\ttest: 0.0021786\tbest: 0.0021786 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002178624707\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.002178624707219995\n",
+ "Mean score: 0.0021\n",
+ "Std: 0.0\n",
+ "------------------------------------Training model for horizon 4------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 1)\n",
+ "[[-1.69483054]\n",
+ " [-1.69136817]\n",
+ " [-1.6879058 ]\n",
+ " [-1.68444342]\n",
+ " [-1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 0.9589837\ttest: 0.9626489\tbest: 0.9626489 (0)\ttotal: 1.73ms\tremaining: 1.73s\n",
+ "500:\tlearn: 0.0035799\ttest: 0.0036267\tbest: 0.0036267 (500)\ttotal: 508ms\tremaining: 506ms\n",
+ "999:\tlearn: 0.0019922\ttest: 0.0021238\tbest: 0.0021238 (999)\ttotal: 1.03s\tremaining: 0us\n",
+ "bestTest = 0.002123800997\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0021238009972551165\n",
+ "0:\tlearn: 0.9619577\ttest: 0.9598735\tbest: 0.9598735 (0)\ttotal: 1.29ms\tremaining: 1.29s\n",
+ "500:\tlearn: 0.0036115\ttest: 0.0037193\tbest: 0.0037193 (500)\ttotal: 529ms\tremaining: 527ms\n",
+ "999:\tlearn: 0.0020308\ttest: 0.0021786\tbest: 0.0021786 (999)\ttotal: 1.06s\tremaining: 0us\n",
+ "bestTest = 0.002178623094\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0021786230943171268\n",
+ "Mean score: 0.0022\n",
+ "Std: 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(9.481624364852905, <__main__.DirectStrategy at 0x7f2e264fce80>)"
+ ]
+ },
+ "execution_count": 72,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.279197 \n",
+ " 0.949622 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 1.00095 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.279197 \n",
+ "1 1.279197 \n",
+ "2 1.279197 \n",
+ "3 1.279197 \n",
+ "4 1.279197 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.949622 \n",
+ "1 0.949622 \n",
+ "2 0.949622 \n",
+ "3 0.949622 \n",
+ "4 0.949622 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.959549 \n",
+ "1 0.959549 \n",
+ "2 0.959549 \n",
+ "3 0.959549 \n",
+ "4 0.959549 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.00095 \n",
+ "1 1.00095 \n",
+ "2 1.00095 \n",
+ "3 1.00095 \n",
+ "4 1.00095 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 1.500926 \n",
+ "1 1.500926 \n",
+ "2 1.500926 \n",
+ "3 1.500926 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.998951 -1.566621 \n",
+ "1 -0.998951 -1.218483 \n",
+ "2 -0.998951 -0.870345 \n",
+ "3 -0.998951 -0.522207 \n",
+ "4 -0.998951 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 1 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1993.583571 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1993.583571 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.393167 \n",
+ "1 1.393167 \n",
+ "2 1.393167 \n",
+ "3 1.393167 \n",
+ "4 1.393167 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.959549 \n",
+ "1 0.959549 \n",
+ "2 0.959549 \n",
+ "3 0.959549 \n",
+ "4 0.959549 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.500926 \n",
+ "1 1.500926 \n",
+ "2 1.500926 \n",
+ "3 1.500926 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.498975 -1.566621 \n",
+ "1 -0.498975 -1.218483 \n",
+ "2 -0.498975 -0.870345 \n",
+ "3 -0.498975 -0.522207 \n",
+ "4 -0.498975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 2 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1993.583571 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1991.035870 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1993.583571 2022-09-27 0\n",
+ "8 1991.035870 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.507137 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.507137 \n",
+ "1 1.507137 \n",
+ "2 1.507137 \n",
+ "3 1.507137 \n",
+ "4 1.507137 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.001 -1.566621 \n",
+ "1 0.001 -1.218483 \n",
+ "2 0.001 -0.870345 \n",
+ "3 0.001 -0.522207 \n",
+ "4 0.001 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 3 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1993.583571 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1991.035870 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 1991.952463 \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1993.583571 2022-09-27 0\n",
+ "8 1991.035870 2022-09-28 0\n",
+ "9 1991.952463 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.621107 \n",
+ "1 1.621107 \n",
+ "2 1.621107 \n",
+ "3 1.621107 \n",
+ "4 1.621107 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.009188 \n",
+ "1 1.009188 \n",
+ "2 1.009188 \n",
+ "3 1.009188 \n",
+ "4 1.009188 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "1 0.001 \n",
+ "2 0.001 \n",
+ "3 0.001 \n",
+ "4 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.500975 -1.566621 \n",
+ "1 0.500975 -1.218483 \n",
+ "2 0.500975 -0.870345 \n",
+ "3 0.500975 -0.522207 \n",
+ "4 0.500975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1993.583571 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1991.03587 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1991.952463 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1991.156717 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2993.558036 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2991.00616 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2991.926037 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2991.131408 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3993.548053 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3990.99943 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1993.583571\n",
+ "1 0 2022-09-28 1991.03587\n",
+ "2 0 2022-09-29 1991.952463\n",
+ "3 0 2022-09-30 1991.156717\n",
+ "4 1 2022-09-27 2993.558036\n",
+ "5 1 2022-09-28 2991.00616\n",
+ "6 1 2022-09-29 2991.926037\n",
+ "7 1 2022-09-30 2991.131408\n",
+ "8 2 2022-09-27 3993.548053\n",
+ "9 2 2022-09-28 3990.99943"
+ ]
+ },
+ "execution_count": 74,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Direct + MIMO](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**- Note 2: Direct can also be combined with MIMO, where each individual model predicts model_horizon points ahead.**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 75,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " model_horizon=2,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "------------------------------------Training model for horizon 1------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9920, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.766722 \n",
+ " -1.633324 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.499176 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.652694 \n",
+ " -1.623414 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -0.999450 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.538666 \n",
+ " -1.613504 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -0.499725 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.424639 \n",
+ " -1.603593 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " 0.000000 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " -1.145979 \n",
+ " ... \n",
+ " -0.310611 \n",
+ " -1.593683 \n",
+ " -1.583772 \n",
+ " -1.573862 \n",
+ " -1.563952 \n",
+ " 0.499725 \n",
+ " 0.999450 \n",
+ " 1.499176 \n",
+ " -1.499176 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.145979 \n",
+ "1 -1.705218 -1.145979 \n",
+ "2 -1.701755 -1.145979 \n",
+ "3 -1.698293 -1.145979 \n",
+ "4 -1.694831 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.145979 \n",
+ "1 -1.145979 \n",
+ "2 -1.145979 \n",
+ "3 -1.145979 \n",
+ "4 -1.145979 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.145979 ... \n",
+ "1 -1.145979 ... \n",
+ "2 -1.145979 ... \n",
+ "3 -1.145979 ... \n",
+ "4 -1.145979 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.766722 \n",
+ "1 -0.652694 \n",
+ "2 -0.538666 \n",
+ "3 -0.424639 \n",
+ "4 -0.310611 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.633324 \n",
+ "1 -1.623414 \n",
+ "2 -1.613504 \n",
+ "3 -1.603593 \n",
+ "4 -1.593683 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.623414 \n",
+ "1 -1.613504 \n",
+ "2 -1.603593 \n",
+ "3 -1.593683 \n",
+ "4 -1.583772 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.613504 \n",
+ "1 -1.603593 \n",
+ "2 -1.593683 \n",
+ "3 -1.583772 \n",
+ "4 -1.573862 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.603593 \n",
+ "1 -1.593683 \n",
+ "2 -1.583772 \n",
+ "3 -1.573862 \n",
+ "4 -1.563952 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -1.499176 \n",
+ "1 -0.999450 \n",
+ "2 -0.499725 \n",
+ "3 0.000000 \n",
+ "4 0.499725 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.999450 \n",
+ "1 -0.499725 \n",
+ "2 0.000000 \n",
+ "3 0.499725 \n",
+ "4 0.999450 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.499725 \n",
+ "1 0.000000 \n",
+ "2 0.499725 \n",
+ "3 0.999450 \n",
+ "4 1.499176 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.000000 -1.566621 \n",
+ "1 0.499725 -1.566621 \n",
+ "2 0.999450 -1.566621 \n",
+ "3 1.499176 -1.566621 \n",
+ "4 -1.499176 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9920, 2)\n",
+ "[[-1.70521765 -1.70175528]\n",
+ " [-1.70175528 -1.69829291]\n",
+ " [-1.69829291 -1.69483054]\n",
+ " [-1.69483054 -1.69136817]\n",
+ " [-1.69136817 -1.6879058 ]] \n",
+ "\n",
+ "0:\tlearn: 1.3609687\ttest: 1.3619154\tbest: 1.3619154 (0)\ttotal: 3.6ms\tremaining: 3.59s\n",
+ "500:\tlearn: 0.0052110\ttest: 0.0055076\tbest: 0.0055076 (500)\ttotal: 732ms\tremaining: 729ms\n",
+ "999:\tlearn: 0.0029246\ttest: 0.0032282\tbest: 0.0032282 (999)\ttotal: 1.42s\tremaining: 0us\n",
+ "bestTest = 0.003228249025\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.0032282490248902312\n",
+ "0:\tlearn: 1.3611017\ttest: 1.3621758\tbest: 1.3621758 (0)\ttotal: 1.88ms\tremaining: 1.87s\n",
+ "500:\tlearn: 0.0049621\ttest: 0.0052201\tbest: 0.0052201 (500)\ttotal: 696ms\tremaining: 693ms\n",
+ "999:\tlearn: 0.0027790\ttest: 0.0030534\tbest: 0.0030534 (999)\ttotal: 1.36s\tremaining: 0us\n",
+ "bestTest = 0.00305343819\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0030534381902755756\n",
+ "Mean score: 0.0031\n",
+ "Std: 0.0001\n",
+ "------------------------------------Training model for horizon 2------------------------------------\n",
+ "raw_ts_X_for_training: (10000, 16)\n",
+ "X for training: (9900, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.544320 \n",
+ " -1.621673 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -0.498975 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.430350 \n",
+ " -1.611745 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " 0.001000 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.316380 \n",
+ " -1.601817 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " 0.500975 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.202410 \n",
+ " -1.591889 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " 1.000950 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " -1.701755 \n",
+ " -1.698293 \n",
+ " -1.694831 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " -1.150365 \n",
+ " ... \n",
+ " -0.088441 \n",
+ " -1.581962 \n",
+ " -1.572034 \n",
+ " -1.562106 \n",
+ " -1.552178 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.725992 -1.722530 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.719067 -1.715605 \n",
+ "4 -1.715605 -1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.719067 -1.715605 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.712142 -1.708680 \n",
+ "4 -1.708680 -1.705218 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.712142 -1.708680 \n",
+ "2 -1.708680 -1.705218 \n",
+ "3 -1.705218 -1.701755 \n",
+ "4 -1.701755 -1.698293 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 -1.708680 -1.150365 \n",
+ "1 -1.705218 -1.150365 \n",
+ "2 -1.701755 -1.150365 \n",
+ "3 -1.698293 -1.150365 \n",
+ "4 -1.694831 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 -1.150365 \n",
+ "1 -1.150365 \n",
+ "2 -1.150365 \n",
+ "3 -1.150365 \n",
+ "4 -1.150365 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 -1.150365 ... \n",
+ "1 -1.150365 ... \n",
+ "2 -1.150365 ... \n",
+ "3 -1.150365 ... \n",
+ "4 -1.150365 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 -0.544320 \n",
+ "1 -0.430350 \n",
+ "2 -0.316380 \n",
+ "3 -0.202410 \n",
+ "4 -0.088441 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 -1.621673 \n",
+ "1 -1.611745 \n",
+ "2 -1.601817 \n",
+ "3 -1.591889 \n",
+ "4 -1.581962 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 -1.611745 \n",
+ "1 -1.601817 \n",
+ "2 -1.591889 \n",
+ "3 -1.581962 \n",
+ "4 -1.572034 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 -1.601817 \n",
+ "1 -1.591889 \n",
+ "2 -1.581962 \n",
+ "3 -1.572034 \n",
+ "4 -1.562106 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 -1.591889 \n",
+ "1 -1.581962 \n",
+ "2 -1.572034 \n",
+ "3 -1.562106 \n",
+ "4 -1.552178 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.498975 \n",
+ "1 0.001000 \n",
+ "2 0.500975 \n",
+ "3 1.000950 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 0.001000 \n",
+ "1 0.500975 \n",
+ "2 1.000950 \n",
+ "3 1.500926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.500975 \n",
+ "1 1.000950 \n",
+ "2 1.500926 \n",
+ "3 -1.498926 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 1.000950 -1.566621 \n",
+ "1 1.500926 -1.566621 \n",
+ "2 -1.498926 -1.566621 \n",
+ "3 -0.998951 -1.566621 \n",
+ "4 -0.498975 -1.566621 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (9900, 2)\n",
+ "[[-1.69829291 -1.69483054]\n",
+ " [-1.69483054 -1.69136817]\n",
+ " [-1.69136817 -1.6879058 ]\n",
+ " [-1.6879058 -1.68444342]\n",
+ " [-1.68444342 -1.68098105]] \n",
+ "\n",
+ "0:\tlearn: 1.3562078\ttest: 1.3613912\tbest: 1.3613912 (0)\ttotal: 1.83ms\tremaining: 1.83s\n",
+ "500:\tlearn: 0.0050627\ttest: 0.0051289\tbest: 0.0051289 (500)\ttotal: 708ms\tremaining: 705ms\n",
+ "999:\tlearn: 0.0028123\ttest: 0.0029995\tbest: 0.0029995 (999)\ttotal: 1.73s\tremaining: 0us\n",
+ "bestTest = 0.002999468753\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.002999468752666121\n",
+ "0:\tlearn: 1.3604136\ttest: 1.3574661\tbest: 1.3574661 (0)\ttotal: 4.17ms\tremaining: 4.17s\n",
+ "500:\tlearn: 0.0051074\ttest: 0.0052598\tbest: 0.0052598 (500)\ttotal: 724ms\tremaining: 722ms\n",
+ "999:\tlearn: 0.0028720\ttest: 0.0030810\tbest: 0.0030810 (999)\ttotal: 1.38s\tremaining: 0us\n",
+ "bestTest = 0.003081039468\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0030810394677772894\n",
+ "Mean score: 0.003\n",
+ "Std: 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(6.788178205490112, <__main__.DirectStrategy at 0x7f2e26033070>)"
+ ]
+ },
+ "execution_count": 76,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.393167 \n",
+ " 0.959549 \n",
+ " 0.969477 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 1.500926 \n",
+ " -1.498926 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.393167 \n",
+ "1 1.393167 \n",
+ "2 1.393167 \n",
+ "3 1.393167 \n",
+ "4 1.393167 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.959549 \n",
+ "1 0.959549 \n",
+ "2 0.959549 \n",
+ "3 0.959549 \n",
+ "4 0.959549 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.969477 \n",
+ "1 0.969477 \n",
+ "2 0.969477 \n",
+ "3 0.969477 \n",
+ "4 0.969477 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 1.500926 \n",
+ "1 1.500926 \n",
+ "2 1.500926 \n",
+ "3 1.500926 \n",
+ "4 1.500926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -1.498926 \n",
+ "1 -1.498926 \n",
+ "2 -1.498926 \n",
+ "3 -1.498926 \n",
+ "4 -1.498926 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 -0.498975 -1.566621 \n",
+ "1 -0.498975 -1.218483 \n",
+ "2 -0.498975 -0.870345 \n",
+ "3 -0.498975 -0.522207 \n",
+ "4 -0.498975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X on step: 1 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.000000 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.000000 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.000000 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.000000 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.000000 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.000000 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1993.363236 \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 1994.363237 \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.000000 2022-09-21 0\n",
+ "2 1995.000000 2022-09-22 0\n",
+ "3 1996.000000 2022-09-23 0\n",
+ "4 1997.000000 2022-09-24 0\n",
+ "5 1998.000000 2022-09-25 0\n",
+ "6 1999.000000 2022-09-26 0\n",
+ "7 1993.363236 2022-09-27 0\n",
+ "8 1994.363237 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (10, 28)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " date__season_y__standard_scaler__lag_3 \n",
+ " date__season_y__standard_scaler__lag_2 \n",
+ " date__season_y__standard_scaler__lag_1 \n",
+ " ... \n",
+ " date__season_d__standard_scaler__lag_0 \n",
+ " date__season_doy__standard_scaler__lag_3 \n",
+ " date__season_doy__standard_scaler__lag_2 \n",
+ " date__season_doy__standard_scaler__lag_1 \n",
+ " date__season_doy__standard_scaler__lag_0 \n",
+ " date__season_wd__standard_scaler__lag_3 \n",
+ " date__season_wd__standard_scaler__lag_2 \n",
+ " date__season_wd__standard_scaler__lag_1 \n",
+ " date__season_wd__standard_scaler__lag_0 \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -1.218483 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.870345 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.522207 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " 1.375134 \n",
+ " ... \n",
+ " 1.621107 \n",
+ " 0.979405 \n",
+ " 0.989333 \n",
+ " 0.999261 \n",
+ " 1.009188 \n",
+ " -0.998951 \n",
+ " -0.498975 \n",
+ " 0.001 \n",
+ " 0.500975 \n",
+ " -0.174069 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 28 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 date__season_y__standard_scaler__lag_3 \\\n",
+ "0 1.729454 1.375134 \n",
+ "1 1.729454 1.375134 \n",
+ "2 1.729454 1.375134 \n",
+ "3 1.729454 1.375134 \n",
+ "4 1.729454 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_2 \\\n",
+ "0 1.375134 \n",
+ "1 1.375134 \n",
+ "2 1.375134 \n",
+ "3 1.375134 \n",
+ "4 1.375134 \n",
+ "\n",
+ " date__season_y__standard_scaler__lag_1 ... \\\n",
+ "0 1.375134 ... \n",
+ "1 1.375134 ... \n",
+ "2 1.375134 ... \n",
+ "3 1.375134 ... \n",
+ "4 1.375134 ... \n",
+ "\n",
+ " date__season_d__standard_scaler__lag_0 \\\n",
+ "0 1.621107 \n",
+ "1 1.621107 \n",
+ "2 1.621107 \n",
+ "3 1.621107 \n",
+ "4 1.621107 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_3 \\\n",
+ "0 0.979405 \n",
+ "1 0.979405 \n",
+ "2 0.979405 \n",
+ "3 0.979405 \n",
+ "4 0.979405 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_2 \\\n",
+ "0 0.989333 \n",
+ "1 0.989333 \n",
+ "2 0.989333 \n",
+ "3 0.989333 \n",
+ "4 0.989333 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_1 \\\n",
+ "0 0.999261 \n",
+ "1 0.999261 \n",
+ "2 0.999261 \n",
+ "3 0.999261 \n",
+ "4 0.999261 \n",
+ "\n",
+ " date__season_doy__standard_scaler__lag_0 \\\n",
+ "0 1.009188 \n",
+ "1 1.009188 \n",
+ "2 1.009188 \n",
+ "3 1.009188 \n",
+ "4 1.009188 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_3 \\\n",
+ "0 -0.998951 \n",
+ "1 -0.998951 \n",
+ "2 -0.998951 \n",
+ "3 -0.998951 \n",
+ "4 -0.998951 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_2 \\\n",
+ "0 -0.498975 \n",
+ "1 -0.498975 \n",
+ "2 -0.498975 \n",
+ "3 -0.498975 \n",
+ "4 -0.498975 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_1 \\\n",
+ "0 0.001 \n",
+ "1 0.001 \n",
+ "2 0.001 \n",
+ "3 0.001 \n",
+ "4 0.001 \n",
+ "\n",
+ " date__season_wd__standard_scaler__lag_0 id__label__standard_scaler__lag_0 \n",
+ "0 0.500975 -1.566621 \n",
+ "1 0.500975 -1.218483 \n",
+ "2 0.500975 -0.870345 \n",
+ "3 0.500975 -0.522207 \n",
+ "4 0.500975 -0.174069 \n",
+ "\n",
+ "[5 rows x 28 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1993.363236 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1994.363237 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1990.156503 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1991.156504 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2993.365944 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2994.365946 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2990.130077 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2991.130078 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3993.364635 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3994.364637 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1993.363236\n",
+ "1 0 2022-09-28 1994.363237\n",
+ "2 0 2022-09-29 1990.156503\n",
+ "3 0 2022-09-30 1991.156504\n",
+ "4 1 2022-09-27 2993.365944\n",
+ "5 1 2022-09-28 2994.365946\n",
+ "6 1 2022-09-29 2990.130077\n",
+ "7 1 2022-09-30 2991.130078\n",
+ "8 2 2022-09-27 3993.364635\n",
+ "9 2 2022-09-28 3994.364637"
+ ]
+ },
+ "execution_count": 78,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [FlatWideMIMO](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- A hybrid of Direct and MIMO. One model is trained, but Direct’s features are deployed across the forecast horizon.\n",
+ "- Note 1: To use FlatWideMIMO with date-related features, h lags of them must be included (with help of LagTransformer)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)\n",
+ "\n",
+ "strategy = FlatWideMIMOStrategy(\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X_for_training: (10000, 16)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " value \n",
+ " date \n",
+ " value__standard_scaler \n",
+ " date__season_y \n",
+ " date__season_m \n",
+ " date__season_d \n",
+ " date__season_doy \n",
+ " date__season_wd \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " id__label \n",
+ " id__label__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 1000.0 \n",
+ " 2020-01-01 \n",
+ " -1.729454 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.228139 \n",
+ " -1.651456 \n",
+ " 1.500926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 1001.0 \n",
+ " 2020-01-02 \n",
+ " -1.725992 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 6 \n",
+ " 6 \n",
+ " 0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.114169 \n",
+ " -1.641528 \n",
+ " -1.498926 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 1002.0 \n",
+ " 2020-01-03 \n",
+ " -1.722530 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 1 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -1.000199 \n",
+ " -1.631600 \n",
+ " -0.998951 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 1003.0 \n",
+ " 2020-01-04 \n",
+ " -1.719067 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 8 \n",
+ " 8 \n",
+ " 2 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.886229 \n",
+ " -1.621673 \n",
+ " -0.498975 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 1004.0 \n",
+ " 2020-01-05 \n",
+ " -1.715605 \n",
+ " 2020 \n",
+ " 1 \n",
+ " 9 \n",
+ " 9 \n",
+ " 3 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -1.611745 \n",
+ " 0.001000 \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id value date value__standard_scaler date__season_y \\\n",
+ "0 0 1000.0 2020-01-01 -1.729454 2020 \n",
+ "1 0 1001.0 2020-01-02 -1.725992 2020 \n",
+ "2 0 1002.0 2020-01-03 -1.722530 2020 \n",
+ "3 0 1003.0 2020-01-04 -1.719067 2020 \n",
+ "4 0 1004.0 2020-01-05 -1.715605 2020 \n",
+ "\n",
+ " date__season_m date__season_d date__season_doy date__season_wd \\\n",
+ "0 1 5 5 6 \n",
+ "1 1 6 6 0 \n",
+ "2 1 7 7 1 \n",
+ "3 1 8 8 2 \n",
+ "4 1 9 9 3 \n",
+ "\n",
+ " date__season_y__standard_scaler date__season_m__standard_scaler \\\n",
+ "0 -1.150365 -1.557466 \n",
+ "1 -1.150365 -1.557466 \n",
+ "2 -1.150365 -1.557466 \n",
+ "3 -1.150365 -1.557466 \n",
+ "4 -1.150365 -1.557466 \n",
+ "\n",
+ " date__season_d__standard_scaler date__season_doy__standard_scaler \\\n",
+ "0 -1.228139 -1.651456 \n",
+ "1 -1.114169 -1.641528 \n",
+ "2 -1.000199 -1.631600 \n",
+ "3 -0.886229 -1.621673 \n",
+ "4 -0.772259 -1.611745 \n",
+ "\n",
+ " date__season_wd__standard_scaler id__label id__label__standard_scaler \n",
+ "0 1.500926 0 -1.566621 \n",
+ "1 -1.498926 0 -1.566621 \n",
+ "2 -0.998951 0 -1.566621 \n",
+ "3 -0.498975 0 -1.566621 \n",
+ "4 0.001000 0 -1.566621 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for training: (39600, 14)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " FH \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " 1.0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.886229 \n",
+ " -1.621673 \n",
+ " -0.498975 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.566621 \n",
+ " 2.0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -1.611745 \n",
+ " 0.001000 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.566621 \n",
+ " 3.0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.658290 \n",
+ " -1.601817 \n",
+ " 0.500975 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.566621 \n",
+ " 4.0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.544320 \n",
+ " -1.591889 \n",
+ " 1.000950 \n",
+ " -1.729454 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.566621 \n",
+ " 1.0 \n",
+ " -1.150365 \n",
+ " -1.557466 \n",
+ " -0.772259 \n",
+ " -1.611745 \n",
+ " 0.001000 \n",
+ " -1.725992 \n",
+ " -1.722530 \n",
+ " -1.719067 \n",
+ " -1.715605 \n",
+ " -1.712142 \n",
+ " -1.708680 \n",
+ " -1.705218 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id__label__standard_scaler__lag_0 FH date__season_y__standard_scaler \\\n",
+ "0 -1.566621 1.0 -1.150365 \n",
+ "1 -1.566621 2.0 -1.150365 \n",
+ "2 -1.566621 3.0 -1.150365 \n",
+ "3 -1.566621 4.0 -1.150365 \n",
+ "4 -1.566621 1.0 -1.150365 \n",
+ "\n",
+ " date__season_m__standard_scaler date__season_d__standard_scaler \\\n",
+ "0 -1.557466 -0.886229 \n",
+ "1 -1.557466 -0.772259 \n",
+ "2 -1.557466 -0.658290 \n",
+ "3 -1.557466 -0.544320 \n",
+ "4 -1.557466 -0.772259 \n",
+ "\n",
+ " date__season_doy__standard_scaler date__season_wd__standard_scaler \\\n",
+ "0 -1.621673 -0.498975 \n",
+ "1 -1.611745 0.001000 \n",
+ "2 -1.601817 0.500975 \n",
+ "3 -1.591889 1.000950 \n",
+ "4 -1.611745 0.001000 \n",
+ "\n",
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 -1.729454 -1.725992 \n",
+ "1 -1.729454 -1.725992 \n",
+ "2 -1.729454 -1.725992 \n",
+ "3 -1.729454 -1.725992 \n",
+ "4 -1.725992 -1.722530 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 -1.722530 -1.719067 \n",
+ "1 -1.722530 -1.719067 \n",
+ "2 -1.722530 -1.719067 \n",
+ "3 -1.722530 -1.719067 \n",
+ "4 -1.719067 -1.715605 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 -1.715605 -1.712142 \n",
+ "1 -1.715605 -1.712142 \n",
+ "2 -1.715605 -1.712142 \n",
+ "3 -1.715605 -1.712142 \n",
+ "4 -1.712142 -1.708680 \n",
+ "\n",
+ " value__standard_scaler__lag_0 \n",
+ "0 -1.708680 \n",
+ "1 -1.708680 \n",
+ "2 -1.708680 \n",
+ "3 -1.708680 \n",
+ "4 -1.705218 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "y for training: (39600, 1)\n",
+ "[[-1.70521765]\n",
+ " [-1.70175528]\n",
+ " [-1.69829291]\n",
+ " [-1.69483054]\n",
+ " [-1.70175528]] \n",
+ "\n",
+ "0:\tlearn: 0.9586734\ttest: 0.9618613\tbest: 0.9618613 (0)\ttotal: 3.87ms\tremaining: 3.86s\n",
+ "500:\tlearn: 0.0042219\ttest: 0.0042646\tbest: 0.0042646 (500)\ttotal: 770ms\tremaining: 767ms\n",
+ "999:\tlearn: 0.0029351\ttest: 0.0030153\tbest: 0.0030153 (999)\ttotal: 1.53s\tremaining: 0us\n",
+ "bestTest = 0.00301528326\n",
+ "bestIteration = 999\n",
+ "Fold 0. Score: 0.003015283259845395\n",
+ "0:\tlearn: 0.9617591\ttest: 0.9587677\tbest: 0.9587677 (0)\ttotal: 2.08ms\tremaining: 2.08s\n",
+ "500:\tlearn: 0.0044254\ttest: 0.0044378\tbest: 0.0044378 (500)\ttotal: 761ms\tremaining: 758ms\n",
+ "999:\tlearn: 0.0031824\ttest: 0.0032430\tbest: 0.0032430 (999)\ttotal: 1.55s\tremaining: 0us\n",
+ "bestTest = 0.003242976857\n",
+ "bestIteration = 999\n",
+ "Fold 1. Score: 0.0032429768568341395\n",
+ "Mean score: 0.0031\n",
+ "Std: 0.0001\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(3.6014578342437744, <__main__.FlatWideMIMOStrategy at 0x7f2e260182e0>)"
+ ]
+ },
+ "execution_count": 80,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "raw_ts_X on step: 0 (110,)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " value \n",
+ " date \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1994.0 \n",
+ " 2022-09-21 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1995.0 \n",
+ " 2022-09-22 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1996.0 \n",
+ " 2022-09-23 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1997.0 \n",
+ " 2022-09-24 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1998.0 \n",
+ " 2022-09-25 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1999.0 \n",
+ " 2022-09-26 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " NaN \n",
+ " 2022-09-27 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " NaN \n",
+ " 2022-09-28 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " NaN \n",
+ " 2022-09-29 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " NaN \n",
+ " 2022-09-30 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " value date id\n",
+ "1 1994.0 2022-09-21 0\n",
+ "2 1995.0 2022-09-22 0\n",
+ "3 1996.0 2022-09-23 0\n",
+ "4 1997.0 2022-09-24 0\n",
+ "5 1998.0 2022-09-25 0\n",
+ "6 1999.0 2022-09-26 0\n",
+ "7 NaN 2022-09-27 0\n",
+ "8 NaN 2022-09-28 0\n",
+ "9 NaN 2022-09-29 0\n",
+ "10 NaN 2022-09-30 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X for testing: (40, 14)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id__label__standard_scaler__lag_0 \n",
+ " FH \n",
+ " date__season_y__standard_scaler \n",
+ " date__season_m__standard_scaler \n",
+ " date__season_d__standard_scaler \n",
+ " date__season_doy__standard_scaler \n",
+ " date__season_wd__standard_scaler \n",
+ " value__standard_scaler__lag_6 \n",
+ " value__standard_scaler__lag_5 \n",
+ " value__standard_scaler__lag_4 \n",
+ " value__standard_scaler__lag_3 \n",
+ " value__standard_scaler__lag_2 \n",
+ " value__standard_scaler__lag_1 \n",
+ " value__standard_scaler__lag_0 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " -1.566621 \n",
+ " 1.0 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 1.279197 \n",
+ " 0.979405 \n",
+ " -0.998951 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " -1.566621 \n",
+ " 2.0 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 1.393167 \n",
+ " 0.989333 \n",
+ " -0.498975 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " -1.566621 \n",
+ " 3.0 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 1.507137 \n",
+ " 0.999261 \n",
+ " 0.001000 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " -1.566621 \n",
+ " 4.0 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 1.621107 \n",
+ " 1.009188 \n",
+ " 0.500975 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " -1.218483 \n",
+ " 1.0 \n",
+ " 1.375134 \n",
+ " 0.870384 \n",
+ " 1.279197 \n",
+ " 0.979405 \n",
+ " -0.998951 \n",
+ " 1.70868 \n",
+ " 1.712142 \n",
+ " 1.715605 \n",
+ " 1.719067 \n",
+ " 1.72253 \n",
+ " 1.725992 \n",
+ " 1.729454 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id__label__standard_scaler__lag_0 FH date__season_y__standard_scaler \\\n",
+ "0 -1.566621 1.0 1.375134 \n",
+ "1 -1.566621 2.0 1.375134 \n",
+ "2 -1.566621 3.0 1.375134 \n",
+ "3 -1.566621 4.0 1.375134 \n",
+ "4 -1.218483 1.0 1.375134 \n",
+ "\n",
+ " date__season_m__standard_scaler date__season_d__standard_scaler \\\n",
+ "0 0.870384 1.279197 \n",
+ "1 0.870384 1.393167 \n",
+ "2 0.870384 1.507137 \n",
+ "3 0.870384 1.621107 \n",
+ "4 0.870384 1.279197 \n",
+ "\n",
+ " date__season_doy__standard_scaler date__season_wd__standard_scaler \\\n",
+ "0 0.979405 -0.998951 \n",
+ "1 0.989333 -0.498975 \n",
+ "2 0.999261 0.001000 \n",
+ "3 1.009188 0.500975 \n",
+ "4 0.979405 -0.998951 \n",
+ "\n",
+ " value__standard_scaler__lag_6 value__standard_scaler__lag_5 \\\n",
+ "0 1.70868 1.712142 \n",
+ "1 1.70868 1.712142 \n",
+ "2 1.70868 1.712142 \n",
+ "3 1.70868 1.712142 \n",
+ "4 1.70868 1.712142 \n",
+ "\n",
+ " value__standard_scaler__lag_4 value__standard_scaler__lag_3 \\\n",
+ "0 1.715605 1.719067 \n",
+ "1 1.715605 1.719067 \n",
+ "2 1.715605 1.719067 \n",
+ "3 1.715605 1.719067 \n",
+ "4 1.715605 1.719067 \n",
+ "\n",
+ " value__standard_scaler__lag_2 value__standard_scaler__lag_1 \\\n",
+ "0 1.72253 1.725992 \n",
+ "1 1.72253 1.725992 \n",
+ "2 1.72253 1.725992 \n",
+ "3 1.72253 1.725992 \n",
+ "4 1.72253 1.725992 \n",
+ "\n",
+ " value__standard_scaler__lag_0 \n",
+ "0 1.729454 \n",
+ "1 1.729454 \n",
+ "2 1.729454 \n",
+ "3 1.729454 \n",
+ "4 1.729454 "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 82,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1996.132986 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1996.605203 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1996.949984 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1996.912386 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 2022-09-27 \n",
+ " 2996.133539 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 1 \n",
+ " 2022-09-28 \n",
+ " 2996.605755 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 1 \n",
+ " 2022-09-29 \n",
+ " 2996.950536 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2022-09-30 \n",
+ " 2996.912938 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 2 \n",
+ " 2022-09-27 \n",
+ " 3996.16268 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 2 \n",
+ " 2022-09-28 \n",
+ " 3996.634896 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1996.132986\n",
+ "1 0 2022-09-28 1996.605203\n",
+ "2 0 2022-09-29 1996.949984\n",
+ "3 0 2022-09-30 1996.912386\n",
+ "4 1 2022-09-27 2996.133539\n",
+ "5 1 2022-09-28 2996.605755\n",
+ "6 1 2022-09-29 2996.950536\n",
+ "7 1 2022-09-30 2996.912938\n",
+ "8 2 2022-09-27 3996.16268\n",
+ "9 2 2022-09-28 3996.634896"
+ ]
+ },
+ "execution_count": 82,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that an additional column, `FH`, appears in the feature matrix, indicating how many steps ahead the model needs to predict."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "py_3_10",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.14"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/Tutorial_3_Transformers_and_Pipeline.ipynb b/examples/Tutorial_3_Transformers_and_Pipeline.ipynb
new file mode 100644
index 0000000..a7ad522
--- /dev/null
+++ b/examples/Tutorial_3_Transformers_and_Pipeline.ipynb
@@ -0,0 +1,2749 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Table of contents** \n",
+ "- [Introduction](#toc1_) \n",
+ "- [Working with Data](#toc2_) \n",
+ "- [Transformers](#toc3_) \n",
+ " - [Series2Series](#toc3_1_) \n",
+ " - [StandardScalerTransformer](#toc3_1_1_) \n",
+ " - [DifferenceNormalizer](#toc3_1_2_) \n",
+ " - [TimeToNumGenerator & DateSeasonsGenerator](#toc3_1_3_) \n",
+ " - [LabelEncodingTransformer & OneHotEncodingTransformer](#toc3_1_4_) \n",
+ " - [MissingValuesImputer](#toc3_1_5_) \n",
+ " - [Series2Features](#toc3_2_) \n",
+ " - [LagTransformer & TargetGenerator](#toc3_2_1_) \n",
+ " - [Features2Features](#toc3_3_) \n",
+ " - [LastKnownNormalizer](#toc3_3_1_) \n",
+ " - [Sequential & Union](#toc3_4_) \n",
+ "- [Pipeline](#toc4_) \n",
+ " - [Can I use exogenous variables in the pipeline?](#toc4_1_1_1_) \n",
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Introduction](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In this tutorial, we will take a closer look at the transformers available in the tsururu library and delve into how to initialize the `Pipeline` class.\n",
+ "We will explore how transformers affect the feature generation process used for model training."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import warnings\n",
+ "\n",
+ "warnings.filterwarnings(\"ignore\")\n",
+ "\n",
+ "from copy import deepcopy\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from tsururu.dataset import IndexSlicer, Pipeline, TSDataset\n",
+ "from tsururu.transformers import (\n",
+ " DateSeasonsGenerator,\n",
+ " DifferenceNormalizer,\n",
+ " LabelEncodingTransformer,\n",
+ " LagTransformer,\n",
+ " LastKnownNormalizer,\n",
+ " MissingValuesImputer,\n",
+ " OneHotEncodingTransformer,\n",
+ " SequentialTransformer,\n",
+ " StandardScalerTransformer,\n",
+ " TargetGenerator,\n",
+ " TimeToNumGenerator,\n",
+ " UnionTransformer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "index_slicer = IndexSlicer() # Class to create indices for the dataset\n",
+ "\n",
+ "horizon = 3\n",
+ "history = 10"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Working with Data](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "To illustrate, we will use a simple setup with two time series and progressively explore the available transformers, observing their impact on the data."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 3647 \n",
+ " 2017-12-27 \n",
+ " 14 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3648 \n",
+ " 2017-12-28 \n",
+ " 19 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3649 \n",
+ " 2017-12-29 \n",
+ " 15 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3650 \n",
+ " 2017-12-30 \n",
+ " 27 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3651 \n",
+ " 2017-12-31 \n",
+ " 23 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
3652 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48 0\n",
+ "1 2013-01-02 44 0\n",
+ "2 2013-01-03 60 0\n",
+ "3 2013-01-04 56 0\n",
+ "4 2013-01-05 50 0\n",
+ "... ... ... ..\n",
+ "3647 2017-12-27 14 1\n",
+ "3648 2017-12-28 19 1\n",
+ "3649 2017-12-29 15 1\n",
+ "3650 2017-12-30 27 1\n",
+ "3651 2017-12-31 23 1\n",
+ "\n",
+ "[3652 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df = pd.read_csv(\"../datasets/global/demand_forecasting_kernels.csv\")\n",
+ "df = df[(df[\"id\"] == 0) | (df[\"id\"] == 1)]\n",
+ "\n",
+ "dataset_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"type\": \"continuous\",\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"type\": \"datetime\",\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"type\": \"categorical\",\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset = TSDataset(\n",
+ " data=df,\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Transformers work with data presented in a dictionary format, which contains:\n",
+ "\n",
+ "**raw_ts_X** and **raw_ts_y**:\n",
+ "- These are the original \"long\" time series copied from the dataset. They contain all available data, including columns like `id`, `date`, `target`, as well as exogenous and generated features.\n",
+ "\n",
+ "**X** and **y**:\n",
+ "- These are arrays that hold the generated features (X) and targets (y). Initially, they are empty but get populated as transformers are applied.\n",
+ "\n",
+ "**id_column_name**, **date_column_name**, **target_column_name**:\n",
+ "- These are simply the column names.\n",
+ "\n",
+ "**idx_X** and **idx_y**:\n",
+ "- These are indices that point to the available data for generating features and targets at each time point.\n",
+ "- Indices are external to the pipeline and are set or managed by the strategy."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "features_idx = index_slicer.create_idx_data(\n",
+ " dataset.data,\n",
+ " horizon,\n",
+ " history,\n",
+ " step=1,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ ")\n",
+ "\n",
+ "target_idx = index_slicer.create_idx_target(\n",
+ " dataset.data,\n",
+ " horizon,\n",
+ " history,\n",
+ " step=1,\n",
+ " date_column=dataset.date_column,\n",
+ " delta=dataset.delta,\n",
+ ")\n",
+ "\n",
+ "data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X: "
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_y: "
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X: []\n",
+ "y: []\n",
+ "id_column_name: id\n",
+ "date_column_name: date\n",
+ "target_column_name: value\n",
+ "num_series: 2\n",
+ "idx_X: [[ 0 1 2 3 4 5 6 7 8 9]\n",
+ " [ 1 2 3 4 5 6 7 8 9 10]\n",
+ " [ 2 3 4 5 6 7 8 9 10 11]\n",
+ " [ 3 4 5 6 7 8 9 10 11 12]\n",
+ " [ 4 5 6 7 8 9 10 11 12 13]]\n",
+ "idx_y: [[10 11 12]\n",
+ " [11 12 13]\n",
+ " [12 13 14]\n",
+ " [13 14 15]\n",
+ " [14 15 16]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "for key, value in data.items():\n",
+ " print(key, end=\": \")\n",
+ " if isinstance(value, pd.DataFrame):\n",
+ " display(value.head())\n",
+ " elif isinstance(value, np.ndarray):\n",
+ " print(value[:5])\n",
+ " else:\n",
+ " print(value)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABk4AAAKgCAYAAADdzoGFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxU5dn/8e8kgYBgQFxAHkGxWoWqtdJW0mrrQqUW/dmKPo+VqlXUatEWbNXSKkVcUKviUtCqCC6gVavWFQQUFNn3TQHZAkLCmoQl+8zvD5LhTHLOnGXOmS2f9+tlm8zZ7rMOua5z3XcoEolEBAAAAAAAAAAAAOWkugEAAAAAAAAAAADpgsQJAAAAAAAAAABAPRInAAAAAAAAAAAA9UicAAAAAAAAAAAA1CNxAgAAAAAAAAAAUI/ECQAAAAAAAAAAQD0SJwAAAAAAAAAAAPVInAAAAAAAAAAAANQjcQIAAAAAAAAAAFCPxAkAAADQTA0bNkyhUMjTsuPGjVMoFNKGDRv8bZTBhg0bFAqFNG7cuMC2AQAAAACNkTgBAAAAMsyKFSv0m9/8Rv/zP/+j/Px8de7cWf3799eKFStS3bSUmDZtmkKhUPS//Px8dezYUeecc44eeOABbd++3fO6V65cqWHDhgWaIAIAAACQXkicAAAAABnkrbfe0hlnnKGpU6fq2muv1ejRozVgwAB9+umnOuOMM/T22287Xtddd92liooKT+246qqrVFFRoWOPPdbT8kH4wx/+oJdfflnPPvusbr/9dnXo0EF///vf1b17d33yySee1rly5Urdc889JE4AAACAZiQv1Q0AAAAA4MzatWt11VVX6fjjj9dnn32mI488Mjrtj3/8o84++2xdddVVWrp0qY4//njL9ezbt09t2rRRXl6e8vK8/UmQm5ur3NxcT8sG5eyzz9Zll10W89mSJUt0wQUXqF+/flq5cqWOPvroFLUOAAAAQKag4gQAAADIEP/4xz+0f/9+PfvsszFJE0k64ogj9K9//Uv79u3Tww8/HP28YRyTlStX6sorr9Rhhx2ms846K2aaUUVFhf7whz/oiCOO0KGHHqr/9//+n7755huFQiENGzYsOp/ZGCfHHXecLrroIs2YMUM//OEP1apVKx1//PF66aWXYraxa9cu/fnPf9app56qtm3bqqCgQBdeeKGWLFni05E66Lvf/a4ef/xxlZaW6p///Gf0840bN+r3v/+9TjrpJLVu3VqHH364Lr/88pj9GTdunC6//HJJ0rnnnhvtCmzatGmSpP/+97/q27evOnfurPz8fH3rW9/Svffeq7q6Ot/3AwAAAEDykDgBAAAAMsR7772n4447Tmeffbbp9J/85Cc67rjj9MEHHzSZdvnll2v//v164IEHdMMNN1hu47e//a2eeuop/eIXv9BDDz2k1q1bq2/fvo7b+PXXX+uyyy7Tz372Mz366KM67LDD9Nvf/jZm/JV169bpnXfe0UUXXaTHHntMt99+u5YtW6af/vSn2rJli+NtOXXZZZepdevW+vjjj6OfzZs3TzNnztQVV1yhJ598UjfddJOmTp2qc845R/v375d04Hj+4Q9/kCT99a9/1csvv6yXX35Z3bt3l3QgsdK2bVvddttteuKJJ9SzZ08NHTpUf/nLX3zfBwAAAADJQ1ddAAAAQAYoKyvTli1bdMkll8Sd77TTTtO7776rPXv26NBDD41+/t3vflcTJkyIu+zChQv1+uuva9CgQRo5cqQk6fe//72uvfZax9Ugq1at0meffRZN7vzv//6vunTporFjx+qRRx6RJJ166qlavXq1cnIOvsd11VVX6eSTT9aYMWN09913O9qWUy1atNC3v/1trV27NvpZ3759m3TrdfHFF6uwsFD/+c9/ol2inX322XryySf1s5/9TOecc07M/BMmTFDr1q2jv99000266aabNHr0aN13333Kz8/3dT8AAAAAJAcVJwAAAEAG2LNnjyTFJEPMNEwvLy+P+fymm26y3cbEiRMlHUiWGN16662O29mjR4+YipgjjzxSJ510ktatWxf9LD8/P5o0qaur086dO9W2bVuddNJJWrhwoeNtudG2bdvoMZQUk/CoqanRzp07dcIJJ6h9+/aO22Bcx549e7Rjxw6dffbZ2r9/v7766iv/Gg8AAAAgqUicAAAAABmgISFiDP6bsUqwdOvWzXYbGzduVE5OTpN5TzjhBMft7Nq1a5PPDjvsMO3evTv6ezgc1siRI3XiiScqPz9fRxxxhI488kgtXbpUZWVljrflxt69e2OOSUVFhYYOHaouXbrEtKG0tNRxG1asWKFf/epXateunQoKCnTkkUfqN7/5jSQFth8AAAAAgkdXXQAAAEAGaNeunY4++mgtXbo07nxLly7V//zP/6igoCDmc2N1RJByc3NNP49EItGfH3jgAd1999267rrrdO+996pDhw7KycnRoEGDFA6HfW9TTU2NVq9erVNOOSX62a233qqxY8dq0KBBKiwsVLt27RQKhXTFFVc4akNpaal++tOfqqCgQMOHD9e3vvUttWrVSgsXLtSdd94ZyH4AAAAASA4SJwAAAECGuOiii/Tcc89pxowZOuuss5pM//zzz7Vhwwb97ne/87T+Y489VuFwWOvXr9eJJ54Y/fzrr7/23GYzb775ps4991yNGTMm5vPS0lIdccQRvm6rYXsVFRXq06dPzGfXXHONHn300ehnlZWVKi0tjVk2FAqZrnPatGnauXOn3nrrLf3kJz+Jfr5+/Xp/Gw8AAAAg6eiqCwAAAMgQt99+u1q3bq3f/e532rlzZ8y0Xbt26aabbtIhhxyi22+/3dP6GxILo0ePjvn8qaee8tZgC7m5uTEVKJL0xhtv6JtvvvF1O5K0ZMkSDRo0SIcddpgGDhwYtw1PPfWU6urqYj5r06aNJDVJqDRU1hjXUV1d3eTYAQAAAMg8VJwAAAAAGeLEE0/Uiy++qP79++vUU0/VgAED1K1bN23YsEFjxozRjh079Oqrr+pb3/qWp/X37NlT/fr10+OPP66dO3eqV69emj59ulavXi3JuvrCrYsuukjDhw/Xtddeqx/96EdatmyZxo8fr+OPPz6h9X7++eeqrKyMDjj/xRdf6N1331W7du309ttvq1OnTjFtePnll9WuXTv16NFDs2bN0pQpU3T44YfHrPP0009Xbm6uHnroIZWVlSk/P1/nnXeefvSjH+mwww7TNddcoz/84Q8KhUJ6+eWXmyRjAAAAAGQeEicAAABABrn88st18skna8SIEdFkyeGHH65zzz1Xf/3rX2PG8fDipZdeUqdOnfTqq6/q7bffVu/evfXvf/9bJ510klq1auXLPvz1r3/Vvn37NGHCBP373//WGWecoQ8++EB/+ctfElrvk08+KUlq0aKF2rdvr+7du+uee+7RDTfcoCOPPDJm3ieeeEK5ubkaP368Kisr9eMf/1hTpkyJ6c5Lkjp16qRnnnlGI0aM0IABA1RXV6dPP/1U55xzjt5//3396U9/0l133aXDDjtMv/nNb3T++ec3WQcAAACAzBKK8EoUAAAAgDgWL16s733ve3rllVfUv3//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2rZtq44dO+qqq67Sjh07XB1fIFm4lw/gXgYAAMh+ripO/vKXv6i8vFwnn3yycnNzVVdXp/vvv1/9+/eXJBUXF0uSOnbsGLNcx44do9OKi4t11FFHxTYiL08dOnSImadbt25N1tEw7bDDDmvSthEjRuiee+5xszsAAABIgoqaOvUYOikl2145vI8OaWn/T97LL79ct956qz799FOdf/75kg6Myzdx4kR9+OGH2rt3r37xi1/o/vvvV35+vl566SVdfPHFWrVqlbp27eqpbaWlpTrvvPN0/fXXa+TIkaqoqNCdd96p//3f/9Unn3ziaZ1AkLiXzXEvAwAAZB9XiZPXX39d48eP14QJE6LdZw0aNEidO3fWNddcE1QbHRkyZIhuu+226O/l5eXq0qVLClsEAACATHHYYYfpwgsv1IQJE6LB1jfffFNHHHGEzj33XOXk5Oi73/1udP57771Xb7/9tt59913dcsstnrb5z3/+U9/73vf0wAMPRD974YUX1KVLF61evVrf/va3E9spoBniXgYAAIAfXCVObr/9dv3lL3/RFVdcIUk69dRTtXHjRo0YMULXXHONOnXqJEkqKSnR0UcfHV2upKREp59+uiSpU6dO2rZtW8x6a2trtWvXrujynTp1UklJScw8Db83zNNYfn6+8vPz3ewOAAAAkqB1i1ytHN4nZdt2qn///rrhhhs0evRo5efna/z48briiiuUk5OjvXv3atiwYfrggw+0detW1dbWqqKiQkVFRZ7btmTJEn366adq27Ztk2lr164l2Iq0w71sjnsZAAAg+7hKnOzfv185ObHDouTm5kb7j+3WrZs6deqkqVOnRhMl5eXlmjNnjm6++WZJUmFhoUpLS7VgwQL17NlTkvTJJ58oHA7rzDPPjM7zt7/9TTU1NWrRooUkafLkyTrppJNMu+kCAABA+gqFQo662Em1iy++WJFIRB988IF+8IMf6PPPP9fIkSMlSX/+8581efJkPfLIIzrhhBPUunVrXXbZZaqurjZdV8O/mY3jMtTU1MTMs3fvXl188cV66KGHmixvfAkJzdOwYcOadEV80kkn6auvvpIkVVZW6k9/+pNee+01VVVVqU+fPho9enSTbpP9xL18APcyAABA9nP1r96LL75Y999/v7p27arvfOc7WrRokR577DFdd911kg78Q3rQoEG67777dOKJJ6pbt266++671blzZ/3yl7+UJHXv3l0///nPdcMNN+iZZ55RTU2NbrnlFl1xxRXq3LmzJOnKK6/UPffcowEDBujOO+/U8uXL9cQTT0T/sQsAAAD4rVWrVrr00ks1fvx4ff311zrppJN0xhlnSJK++OIL/fa3v9WvfvUrSQcCpRs2bLBc15FHHilJ2rp1q773ve9JUszg0pJ0xhln6D//+Y+OO+445eWlfzAayfed73wnZuBy43UyePBgffDBB3rjjTfUrl073XLLLbr00kv1xRdfpKKpaYV7GQAAAIly9a+6p556Snfffbd+//vfa9u2bercubN+97vfaejQodF57rjjDu3bt0833nijSktLddZZZ2nixIlq1apVdJ7x48frlltu0fnnn6+cnBz169dPTz75ZHR6u3bt9PHHH2vgwIHq2bOnjjjiCA0dOlQ33nijD7sMAAAAmOvfv78uuugirVixQr/5zW+in5944ol66623dPHFFysUCunuu++OVl2bad26tXr16qUHH3xQ3bp107Zt23TXXXfFzDNw4EA999xz+vWvf6077rhDHTp00Ndff63XXntNzz//vHJznXdNhOyUl5dn2lVxWVmZxowZowkTJui8886TJI0dO1bdu3fX7Nmz1atXr2Q3Ne1wLwMAACAROfazHHTooYfq8ccf18aNG1VRUaG1a9fqvvvuU8uWLaPzhEIhDR8+XMXFxaqsrNSUKVOa9OnaoUMHTZgwQXv27FFZWZleeOGFJv3Bnnbaafr8889VWVmpzZs3684770xgN6Wlm0t19Qtz9eXW8oTWAwAAgOx13nnnqUOHDlq1apWuvPLK6OePPfaYDjvsMP3oRz/SxRdfrD59+kTfYLfywgsvqLa2Vj179oxWZRt17txZX3zxherq6nTBBRfo1FNP1aBBg9S+ffsm3eOieVqzZo06d+6s448/Xv3794+Ow7FgwQLV1NSod+/e0XlPPvlkde3aVbNmzbJcX1VVlcrLy2P+y1bcywAAoLl6ZNIq3f3O8lQ3I+OFIsbOWrNIeXm52rVrp7KyMhUUFKjbkA8UiUiHHdJCi4ZekOrmAQAAZKXKykqtX79e3bp1i6k4hj/iHd/G//5FZvvoo4+0d+9enXTSSdq6davuueceffPNN1q+fLnee+89XXvttaqqqopZ5oc//KHOPfdc07E2JPNxUySZ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hRg1ahTGjBmDhx9+GHV1dfjVr34V66IREREREREREREREVEn5djAyZlnnok9e/bglltuwa5duzBs2DC8//77YQPGExERERERERERERERWcWxgRMAmDdvHubNmxfrYhARERERERERERERURfhyDFOiIiIiIiIiIiIiIiIYoGBEyIiIiIiIiIiIiIiojYMnBAREREREREREREREbVh4ISIiIiIiIiIiIiIiKgNAydERERERERERERERERtGDghIiIiIiIiIiIiIiJqw8AJERERERERERERERFRGwZOiIiIiIiIiIiIiIiI2jBwQkRERERERERERERE1IaBEyIiIiIiIiIiIiIiojYMnBAREREREREREREREbVh4ISIiIiIiIiIiIiIiKgNAydERERERERERERERERtGDghIiIiIiIiIiIiIiJqw8AJERERERERERERERFRG0+sC2CXQCAAAKipqYlxSYiIiIiI7Nf+vbf9ezCRFv5mIiIiIqKuRu/vpk4bONm3bx8AoKysLMYlISIiIiKKnn379iEzMzPWxaA4wN9MRERERNRVaf1u6rSBk5ycHADAli1bHPHDcfTo0fj6669jXQwALIuSmpoalJWVYevWrcjIyIh1cRx1bFgWeU6qM046LoCzyuOksjipzgDOOjYsizzWGWUsS7jq6mqUl5cHvwcTaeFvJmVOKgvgnPLwc0mZk8oCOKc8rDPKnFQWwDnlYZ1R5qSyAM4pD+uMMieVBXBOefT+buq0gROXq3X4lszMTEdcNG632xHlAFgWLRkZGY4ok5OODcuizgl1xmnHxUnlcVJZ2jmhzgDOOjYsizrWmXAsi7L278FEWvibSZmTygI4rzz8XArnpLIAzisP60w4J5UFcF55WGfCOaksgPPKwzoTzkllAZxXHq3fTfxVFSVz586NdRGCWJb44KRjw7I4n9OOi5PK46SyOI2Tjg3LEh+cdGxYFqLOx0nXkpPKAjivPE7hpOPipLIAziuPUzjpuDipLIDzyuMUTjouTioL4LzyOIWTjouTygI4rzxahEAnHT2ypqYGmZmZqK6udlQki5yLdYaMYp0ho1hnyCjWGTKC9YWMYp0ho1hnyCjWGTKKdYaMYp0ho/TWmU7b48Tr9eLWW2+F1+uNdVEoTrDOkFGsM2QU6wwZxTpDRrC+kFGsM2QU6wwZxTpDRrHOkFGsM2SU3jrTaXucEBERERERERERERERGdVpe5wQEREREREREREREREZxcAJERERERERERERERFRGwZOiIiIiIiIiIiIiIiI2jBwQkRERERERERERERE1MaxgZO7774bo0ePRnp6OgoKCjB79mysXbtWMk9DQwPmzp2L3NxcpKWl4dRTT0VVVZVknquuugojR46E1+vFsGHDwrazdu1aTJ8+HYWFhUhKSkLPnj1x0003obm52c7dIxtEq86IrV+/Hunp6cjKyrJ4bygaolVnNm3aBEEQwv4tXbrUzt0jG0TzPhMIBHD//fejb9++8Hq9KCkpwR//+Ee7do1sEq06c9ttt8neZ1JTU+3cPSJyAP5uIqP4u4mM4u8mMoK/mcgM/m4iJ3Js4GTRokWYO3culi5dig8//BDNzc2YOXMm6urqgvNce+21eOedd7BgwQIsWrQIO3bswCmnnBK2rosvvhhnnnmm7HYSEhJwwQUX4IMPPsDatWvx8MMP469//StuvfVW2/aN7BGtOtOuubkZZ599NiZPnmz5vlB0RLvOfPTRR9i5c2fw38iRIy3fJ7JXNOvM1VdfjWeeeQb3338/fvrpJ7z99tsYM2aMLftF9olWnfnd734nub/s3LkTlZWVOP30023bNyJyBv5uIqP4u4mM4u8mMoK/mcgM/m4iRwrEid27dwcABBYtWhQIBAKBgwcPBhISEgILFiwIzvPjjz8GAASWLFkStvytt94aGDp0qK5tXXvttYFJkyZZUm6KHbvrzPXXXx8477zzAs8991wgMzPT6uJTDNhVZzZu3BgAEPjuu+/sKjrFiF11Zs2aNQGPxxP46aefbCs7xUa0vs+sWLEiACCwePFiy8pORPGBv5vIKP5uIqP4u4mM4G8mMoO/m8gJHNvjJFR1dTUAICcnBwCwfPlyNDc3Y8aMGcF5+vfvj/LycixZssT0dtavX4/3338fU6dOjazAFHN21pmFCxdiwYIFeOKJJ6wrMMWc3feZE088EQUFBZg0aRLefvttawpNMWVXnXnnnXfQs2dPvPvuu6ioqECPHj1wySWXYP/+/dbuAEVdtL7PPPPMM+jbty+f7iXqgvi7iYzi7yYyir+byAj+ZiIz+LuJnCAuAid+vx/XXHMNJk6ciEGDBgEAdu3ahcTExLAcqYWFhdi1a5fhbUyYMAFJSUno06cPJk+ejDvuuMOKolOM2Fln9u3bh4suugjPP/88MjIyrCw2xZCddSYtLQ0PPPAAFixYgPfeew+TJk3C7Nmz+SMgztlZZ3755Rds3rwZCxYswAsvvIDnn38ey5cvx2mnnWblLlCUReP7DNCa+/ell17CnDlzIi0yEcUZ/m4io/i7iYzi7yYygr+ZyAz+biKn8MS6AHrMnTsXq1atwueff27bNl599VUcOnQIK1euxHXXXYf7778f119/vW3bI3vZWWcuvfRSnHPOOZgyZYrl66bYsbPO5OXlYf78+cG/R48ejR07duC+++7DiSeeaPn2KDrsrDN+vx+NjY144YUX0LdvXwDA3/72N4wcORJr165Fv379LN8m2S8a32cA4I033sChQ4dw4YUX2rodInIe/m4io/i7iYzi7yYygr+ZyAz+biKncHyPk3nz5uHdd9/FJ598gtLS0uD0oqIiNDU14eDBg5L5q6qqUFRUZHg7ZWVlqKysxNlnn4177rkHt912G3w+X6TFpxiwu84sXLgQ999/PzweDzweD+bMmYPq6mp4PB48++yzVu0GRVG07jNiY8eOxfr16yNaB8WO3XWmuLgYHo8n+AMAAAYMGAAA2LJlS2SFp5iI5n3mmWeewfHHH4/CwsJIikxEcYa/m8go/m4io/i7iYzgbyYyg7+byEkcGzgJBAKYN28e3njjDSxcuBAVFRWS90eOHImEhAR8/PHHwWlr167Fli1bMH78+Ii27ff70dzcDL/fH9F6KLqiVWeWLFmCFStWBP/dcccdSE9Px4oVK3DyySdbtj9kv1jeZ1asWIHi4uKI1kHRF606M3HiRLS0tGDDhg3BaevWrQMAdO/ePcK9oGiK9n1m48aN+OSTT9jdnKgL4e8mMoq/m8go/m4iI/ibiczg7yZyIsem6po7dy5efvllvPXWW0hPTw/mq8vMzERycjIyMzMxZ84czJ8/Hzk5OcjIyMCVV16J8ePHY9y4ccH1rF+/HrW1tdi1axfq6+uxYsUKAEBlZSUSExPx0ksvISEhAYMHD4bX68U333yDG2+8EWeeeSYSEhJisetkUrTqTPsTDO2++eYbuFyuYN5Fih/RqjN///vfkZiYiOHDhwMAXn/9dTz77LN45plnor7PFJlo1ZkZM2ZgxIgRuPjii/Hwww/D7/dj7ty5OOqooyRPVJHzRavOtHv22WdRXFyMY445Jqr7SUSxw99NZBR/N5FR/N1ERvA3E5nB303kSAGHAiD777nnngvOU19fH7jiiisC2dnZgZSUlMDJJ58c2Llzp2Q9U6dOlV3Pxo0bA4FAIPDKK68ERowYEUhLSwukpqYGKisrA3/6058C9fX1UdxbskK06kyo5557LpCZmWnfjpFtolVnnn/++cCAAQMCKSkpgYyMjMCYMWMCCxYsiOKeklWieZ/Zvn174JRTTgmkpaUFCgsLAxdddFFg3759UdpTsko064zP5wuUlpYGfv/730dp74jICfi7iYzi7yYyir+byAj+ZiIz+LuJnEgIBAIBuYAKERERERERERERERFRV+PYMU6IiIiIiIiIiIiIiIiijYETIiIiIiIiIiIiIiKiNgycEBERERERERERERERtWHghIiIiIiIiIiIiIiIqA0DJ0RERERERERERERERG0YOCEiIiIiIiIiIiIiImrDwAkREREREREREREREVEbBk6IiMiQadOm4Zprrol1MYiIiIiIiByLv5uIiOIbAydERGSbTz/9FIIg4ODBg7EuChERERERkSPxdxMRkfMwcEJERERERERERERERNSGgRMiIlJUV1eHCy64AGlpaSguLsYDDzwgef/FF1/EqFGjkJ6ejqKiIpxzzjnYvXs3AGDTpk2YPn06ACA7OxuCIOCiiy4CAPj9ftx9992oqKhAcnIyhg4din//+99R3TciIiIiIiIr8HcTEVHnw8AJEREpuu6667Bo0SK89dZb+OCDD/Dpp5/i22+/Db7f3NyMO++8EytXrsSbb76JTZs2Bb/kl5WV4bXXXgMArF27Fjt37sQjjzwCALj77rvxwgsv4KmnnsLq1atx7bXX4rzzzsOiRYuivo9ERERERESR4O8mIqLORwgEAoFYF4KIiJyntrYWubm5+Mc//oHTTz8dALB//36Ulpbisssuw8MPPxy2zDfffIPRo0fj0KFDSEtLw6efforp06fjwIEDyMrKAgA0NjYiJycHH330EcaPHx9c9pJLLsHhw4fx8ssvR2P3iIiIiIiIIsbfTUREnZMn1gUgIiJn2rBhA5qamjB27NjgtJycHPTr1y/49/Lly3Hbbbdh5cqVOHDgAPx+PwBgy5YtqKyslF3v+vXrcfjwYRx11FGS6U1NTRg+fLgNe0JERERERGQP/m4iIuqcGDghIiJT6urqMGvWLMyaNQsvvfQS8vPzsWXLFsyaNQtNTU2Ky9XW1gIA3nvvPZSUlEje83q9tpaZiIiIiIgomvi7iYgoPjFwQkREsnr16oWEhAQsW7YM5eXlAIADBw5g3bp1mDp1Kn766Sfs27cP99xzD8rKygC0djkXS0xMBAD4fL7gtMrKSni9XmzZsgVTp06N0t4QERERERFZj7+biIg6JwZOiIhIVlpaGubMmYPrrrsOubm5KCgowB/+8Ae4XC4AQHl5ORITE/HYY4/h8ssvx6pVq3DnnXdK1tG9e3cIgoB3330Xxx57LJKTk5Geno7f/e53uPbaa+H3+zFp0iRUV1fjiy++QEZGBi688MJY7C4REREREZFh/N1ERNQ5uWJdACIicq777rsPkydPxgknnIAZM2Zg0qRJGDlyJAAgPz8fzz//PBYsWIDKykrcc889uP/++yXLl5SU4Pbbb8cNN9yAwsJCzJs3DwBw55134uabb8bdd9+NAQMG4Oijj8Z7772HioqKqO8jERERERFRJPi7iYio8xECgUAg1oUgIiIiIiIiIiIiIiJyAvY4ISIiIiIiIiIiIiIiasPACRERERERERERERERURsGToiIiIiIiIiIiIiIiNowcEJERERERERERERERNSGgRMiIiIiIiIiIiIiIqI2DJwQERERERERERERERG1YeCEiIiIiIiIiIiIiIioDQMnREREREREREREREREbRg4+f/t2bEAAAAAwCB/6z3DKI0AAAAAAAAmTgAAAAAAACZOAAAAAAAAJk4AAAAAAAAWMQQrM2TfwwAAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(1, 2, figsize=(20, 7))\n",
+ "\n",
+ "dataset.data[dataset.data[\"id\"] == 0].plot(x=dataset.date_column, y=dataset.target_column, ax=ax[0])\n",
+ "dataset.data[dataset.data[\"id\"] == 1].plot(x=dataset.date_column, y=dataset.target_column, ax=ax[1])\n",
+ "\n",
+ "plt.suptitle(\"Original Data\")\n",
+ "ax[0].set_title(\"ID 0\")\n",
+ "ax[1].set_title(\"ID 1\")\n",
+ "\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Transformers](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In the process of working with time series, various types of transformers are used to handle data at different stages of transformation. In tsururu, transformers can be categorized into three types: Series2Series, Series2Features, and Features2Features."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Series2Series](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- These transformers work with the original “long” series.\n",
+ "- During the training phase, they add new columns to this long series. These can be new features derived from the existing data (such as in the case of date-related and id-related feature generators) or normalized values of the existing data."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [StandardScalerTransformer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`StandardScalerTransformer`: data normalization."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "\n",
+ "- The **transform_features** and **transform_target** parameters allow independent control over the normalization of features and targets. It may be beneficial, in terms of model performance, to normalize only the features while keeping the targets in their original scale, or vice versa.\n",
+ "- The **agg_by_id** parameter determines whether the normalization is applied separately for each time series with a unique id, or for all series together. For example, when normalizing date-related features, it is useful to set **agg_by_id=False**."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X before scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_y before scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X after scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " value__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " -0.254108 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " -0.275840 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " -0.188914 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " -0.210645 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " -0.243242 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value value__standard_scaler\n",
+ "0 0 2013-01-01 48.0 -0.254108\n",
+ "1 0 2013-01-02 44.0 -0.275840\n",
+ "2 0 2013-01-03 60.0 -0.188914\n",
+ "3 0 2013-01-04 56.0 -0.210645\n",
+ "4 0 2013-01-05 50.0 -0.243242"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_y after scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " value__standard_scaler \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " 48.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " 44.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " 60.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " 56.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " 50.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id value__standard_scaler\n",
+ "0 2013-01-01 48.0 0 48.0\n",
+ "1 2013-01-02 44.0 0 44.0\n",
+ "2 2013-01-03 60.0 0 60.0\n",
+ "3 2013-01-04 56.0 0 56.0\n",
+ "4 2013-01-05 50.0 0 50.0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)\n",
+ "\n",
+ "scaler = StandardScalerTransformer(\n",
+ " transform_features=True,\n",
+ " transform_target=False,\n",
+ " agg_by_id=True,\n",
+ ")\n",
+ "\n",
+ "print(\"raw_ts_X before scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "print(\"raw_ts_y before scaling:\")\n",
+ "display(data[\"raw_ts_y\"].head())\n",
+ "\n",
+ "data = scaler.fit_transform(data, input_features=[dataset.target_column])\n",
+ "\n",
+ "print(\"raw_ts_X after scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "print(\"raw_ts_y after scaling:\")\n",
+ "display(data[\"raw_ts_y\"].head())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABj0AAAKgCAYAAADAsL8eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wV1f3/8ffdhd2lK4qCCqixxxo0SooxNuyJLTExscZ8vwmaqF+jP5KIXYix11jBEI3GFiso0iwUEQTpKh3pbZcFts/vD9zL3L0z9069M3P39Xw8eLA7d+7MuTPnzt37+cw5n5RhGIYAAAAAAAAAAAASriTqBgAAAAAAAAAAAASBpAcAAAAAAAAAACgKJD0AAAAAAAAAAEBRIOkBAAAAAAAAAACKAkkPAAAAAAAAAABQFEh6AAAAAAAAAACAokDSAwAAAAAAAAAAFAWSHgAAAAAAAAAAoCiQ9AAAAAAAAAAAAEWBpAcAAAAQA3vuuacuueSSguzrkksu0Z577lmQfXmRSqV08803B7a9sWPHKpVKaezYsYFtEwAAAEA8kfQAAABA0ZoxY4bOO+889e7dWxUVFdp999110kkn6aGHHspY784779R///vfaBoZY01NTfrnP/+po48+Wl27dlWnTp2033776aKLLtLEiROjbl7ghg4dqlQqlf5XUVGh3XbbTf369dODDz6oTZs2ed72+PHjdfPNN2vjxo3BNRgAAABAFpIeAAAAKErjx4/XkUceqenTp+uKK67Qww8/rN/85jcqKSnRAw88kLEuSQ9rf/jDH3TxxRerR48euvnmm/W3v/1Np556qiZOnKgRI0ZE3bzQ3HrrrRo2bJgee+wxXXXVVZKkq6++Wocccog+//xzT9scP368brnlFpIeAAAAQMjaRN0AAAAAIAx33HGHunTposmTJ2uHHXbIeGz16tXRNKpAampqVFZWppIS7/c4rVq1So8++qiuuOIKPfHEExmP3X///VqzZo3fZsbWqaeeqiOPPDL9+4ABAzR69GidccYZOuusszRnzhy1a9cuwhYCAAAAsMNIDwAAABSl+fPn69vf/nZWwkOSdtlll/TPqVRKmzdv1rPPPpue1qi5tsbixYv1+9//Xvvvv7/atWunnXbaSeeff74WLVqUsb3maZE+/vhjXXvtterWrZs6dOigs88+Oys5YBiGbr/9du2xxx5q3769fvzjH2vWrFlZbVy/fr2uu+46HXLIIerYsaM6d+6sU089VdOnT89Yr7lexQsvvKC//vWv2n333dW+fXtVVVVJkv773//q4IMPVkVFhQ4++GC99tprjo7fwoULZRiGvv/972c9lkqlMo6hJG3cuFHXXHON9txzT5WXl2uPPfbQRRddpLVr10qS6urqNHDgQPXp00ddunRRhw4d9MMf/lBjxoxx1J6vv/5al112mXbddVeVl5fr29/+tp555pms9ZYtW6af/vSn6tChg3bZZRddc801qq2tdbSPXI4//njdeOONWrx4sf71r3+ll3/++ee65JJLtPfee6uiokLdu3fXZZddpnXr1qXXufnmm/WnP/1JkrTXXnul+1lzPxoyZIiOP/547bLLLiovL9dBBx2kxx57zHebAQAAgNaIkR4AAAAoSr1799aECRM0c+ZMHXzwwbbrDRs2TL/5zW/03e9+V7/97W8lSd/61rckSZMnT9b48eN1wQUXaI899tCiRYv02GOP6bjjjtPs2bPVvn37jG1dddVV2nHHHXXTTTdp0aJFuv/++3XllVfqxRdfTK8zcOBA3X777TrttNN02mmnaerUqTr55JNVV1eXsa0FCxbov//9r84//3zttddeWrVqlR5//HH96Ec/0uzZs7XbbrtlrH/bbbeprKxM1113nWpra1VWVqb33ntP5557rg466CANGjRI69at06WXXqo99tjD0fGTpJdeeknnn39+1ms1q66u1g9/+EPNmTNHl112mb7zne9o7dq1euONN7Rs2TLtvPPOqqqq0lNPPaVf/OIXuuKKK7Rp0yY9/fTT6tevnz755BMdfvjhtttftWqVjjnmGKVSKV155ZXq1q2bhg8frssvv1xVVVW6+uqrJUlbt27VCSecoCVLlugPf/iDdtttNw0bNkyjR4/O+3qd+PWvf60///nPeu+993TFFVdIkkaOHKkFCxbo0ksvVffu3TVr1iw98cQTmjVrliZOnKhUKqVzzjlHX3zxhf7973/rvvvu08477yxJ6tatmyTpscce07e//W2dddZZatOmjd588039/ve/V1NTk/r37x9I2wEAAIBWwwAAAACK0HvvvWeUlpYapaWlRt++fY3rr7/eePfdd426urqsdTt06GBcfPHFWcu3bNmStWzChAmGJOOf//xnetmQIUMMScaJJ55oNDU1pZdfc801RmlpqbFx40bDMAxj9erVRllZmXH66adnrPfnP//ZkJTRhpqaGqOxsTFj3wsXLjTKy8uNW2+9Nb1szJgxhiRj7733zmrv4YcfbvTo0SO9/+bjIsno3bt31mtr6aKLLjIkGTvuuKNx9tlnG3fffbcxZ86crPUGDhxoSDJeffXVrMeaX2dDQ4NRW1ub8diGDRuMXXfd1bjssssylksybrrppvTvl19+udGjRw9j7dq1GetdcMEFRpcuXdKv+/777zckGf/5z3/S62zevNnYZ599DEnGmDFjcr7e5vM4efJk23W6dOliHHHEEenfrfrIv//9b0OS8cEHH6SX/f3vfzckGQsXLsxa32ob/fr1M/bee++c7QUAAACQjemtAAAAUJROOukkTZgwQWeddZamT5+uu+66S/369dPuu++uN954w9E2zHUb6uvrtW7dOu2zzz7aYYcdNHXq1Kz1f/vb3yqVSqV//+EPf6jGxkYtXrxYkvT++++rrq5OV111VcZ6zSMVzMrLy9M1ORobG7Vu3Tp17NhR+++/v+W+L7744oz2rlixQtOmTdPFF1+sLl26ZByXgw46yNHrHzJkiB5++GHttddeeu2113TdddfpwAMP1AknnKCvv/46vd4rr7yiww47TGeffXbWNppfZ2lpqcrKyiRJTU1NWr9+vRoaGnTkkUdavp5mhmHolVde0ZlnninDMLR27dr0v379+qmysjL9/HfeeUc9evTQeeedl35++/bt0yN4gtCxY0dt2rQp/bv5mNfU1Gjt2rU65phjJCnn6zIzb6OyslJr167Vj370Iy1YsECVlZUBtRwAAABoHUh6AAAAoGgdddRRevXVV7VhwwZ98sknGjBggDZt2qTzzjtPs2fPzvv8rVu3auDAgerZs6fKy8u18847q1u3btq4caNlMLpXr14Zv++4446SpA0bNkhSOvmx7777ZqzXrVu39LrNmpqadN9992nffffN2Pfnn39uue+99tor43e7fUnS/vvvn/N1NyspKVH//v01ZcoUrV27Vq+//rpOPfVUjR49WhdccEF6vfnz5+ecQqzZs88+q0MPPVQVFRXaaaed1K1bN7399ts5A/tr1qzRxo0b9cQTT6hbt24Z/y699FJJ2wvTL168WPvss09GQsnN63WiurpanTp1Sv++fv16/fGPf9Suu+6qdu3aqVu3bulz4TRh8fHHH+vEE09Uhw4dtMMOO6hbt27685//7GobAAAAALahpgcAAACKXllZmY466igdddRR2m+//XTppZfqpZde0k033ZTzeVdddZWGDBmiq6++Wn379lWXLl2USqV0wQUXqKmpKWv90tJSy+0YhuG6zXfeeaduvPFGXXbZZbrtttvUtWtXlZSU6Oqrr7bct3m0QBh22mknnXXWWTrrrLN03HHHady4cVq8eHG69kc+//rXv3TJJZfopz/9qf70pz9pl112UWlpqQYNGqT58+fbPq/5tf7qV7/SxRdfbLnOoYce6v4FebBs2TJVVlZqn332SS/72c9+pvHjx+tPf/qTDj/8cHXs2FFNTU065ZRTLM9TS/Pnz9cJJ5ygAw44QPfee6969uypsrIyvfPOO7rvvvscbQMAAADAdiQ9AAAA0KoceeSRkrZN/9Ss5ciAZi+//LIuvvhi3XPPPellNTU12rhxo6d9NycIvvzyS+29997p5WvWrEmPBjHv+8c//rGefvrpjOUbN25MF8J2uq+W5s2b57rtZkceeaTGjRunFStWqHfv3vrWt76lmTNn5nzOyy+/rL333luvvvpqxvHOl3jq1q2bOnXqpMbGRp144ok51+3du7dmzpwpwzAy9uH39TYbNmyYJKlfv36Sto3gGTVqlG655RYNHDgwvZ7VMbfrY2+++aZqa2v1xhtvZIwUGjNmTCBtBgAAAFobprcCAABAURozZozlCIt33nlHUuaURx06dLBMZJSWlmZt46GHHlJjY6OnNp144olq27atHnrooYzt3n///Y72/dJLL2XU0silR48eOvzww/Xss89mTJE0cuRIR1N7rVy50nK9uro6jRo1SiUlJekRD+eee66mT5+u1157LWv95tfQPArG/JomTZqkCRMm5GxHaWmpzj33XL3yyiuWiZU1a9akfz7ttNO0fPlyvfzyy+llW7Zs0RNPPJFzH06MHj1at912m/baay9deOGF6bZJ2SN5rM5nhw4dJCmrn1lto7KyUkOGDPHdZgAAAKA1YqQHAAAAitJVV12lLVu26Oyzz9YBBxyguro6jR8/Xi+++KL23HPPdD0ISerTp4/ef/993Xvvvdptt92011576eijj9YZZ5yhYcOGqUuXLjrooIM0YcIEvf/++9ppp508talbt2667rrrNGjQ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+1+99dZb2rBhg372s59p8ODB6QDTn/70J40bN06vv/66dtllF/35z3/W1KlTM+ZLr6+v12233ab9999fq1ev1rXXXqtLLrlE77zzTsbr+H//7//p7rvv1t57760dd9zR0bbtfPrpp/rDH/6gYcOG6Xvf+57Wr1+vDz/8MP34gAED9OSTT+q+++7TD37wA61YsUJz585NP+7k2Jg999xzGjhwoB5++GEdccQR+uyzz3TFFVeoQ4cOuvjiizNe4z333KMjjjhCFRUVeV8HUEhJuHZLXL8lrt9cvwEAQBBIegAAgKKy44476tRTT9Xzzz+fDpq9/PLL2nnnnfXjH/9YJSUlOuyww9Lr33bbbXrttdf0xhtv6Morr/S0z+aAyp133ple9swzz6hnz5764osvtN9++3na7ooVK9TQ0KBzzjlHvXv3liQdcsgh6cfbtWun2tpade/ePeN5f/3rX9M/77nnnrruuuv0wgsvZASGmpqaNHToUHXq1EmS9Otf/1qjRo3SHXfcoerqaj399NP617/+lT6Gzz77rPbYY4+M/Vx22WXpn/fee289+OCDOuqoo1RdXa2OHTumH7v11lt10kknSZLjbdtZsmSJOnTooDPOOEOdOnVS7969dcQRR0iSNm3apAceeEAPP/xwOqD1rW99Sz/4wQ9cHRuzm266Sffcc4/OOeccSdJee+2l2bNn6/HHH88Iml199dXpdQB4w/Wb6zfXbwAAEASSHgAAwLF2bUs1+9Z+ke3bqQsvvFBXXHGFHn30UZWXl+u5557TBRdcoJKSElVXV+vmm2/W22+/nQ5Kbd26VUuWLPHctunTp2vMmDEZgaJm8+fP9xw0O+yww3TCCSfokEMOUb9+/XTyySfrvPPO04477pjzeS+++KIefPBBzZ8/X9XV1WpoaFDnzp0z1tlzzz3TATNJ6tGjR3pqk/nz56uurk5HH310+vGuXbtq//33z9jGlClTdPPNN2v69OnasGFDekqaJUuW6KCDDkqvd+SRR6Z/drptOyeddJJ69+6tvffeW6eccopOOeUUnX322Wrfvr3mzJmj2tradDDO67FptnnzZs2fP1+XX365rrjiivTyhoYGdenSJWNd82sE4iYp126J6zfXb67fAADAP5IeAADAsVQq5XiakiideeaZMgxDb7/9to466ih9+OGHuu+++yRJ1113nUaOHKm7775b++yzj9q1a6fzzjtPdXV1ltsqKdlWAs08L33LOcSrq6t15pln6m9/+1vW83v06OH5dZSWlmrkyJEaP3683nvvPT300EP6y1/+okmTJmmvvfayfM6ECRN04YUX6pZbblG/fv3UpUsXvfDCC1nzrrdt2zbj91QqlTWPfi6bN29Wv3791K9fPz333HPq1q2blixZon79+mUdyw4dOjjebj6dOnXS1KlTNXbsWL333nsaOHCgbr75Zk2ePFnt2rXL+Vynx6ZZdXW1JOnJJ5/MCPJJ286NWZCvEQhaUq7dEtdvrt/WuH4DAAA3KGQOAACKTkVFhc455xw999xz+ve//639999f3/nOdyRJH3/8sS655BKdffbZOuSQQ9S9e3ctWrTIdlvdunWTtG2qkmbmoriS9J3vfEezZs3SnnvuqX322Sfjn99gSiqV0ve//33dcsst+uyzz1RWVqbXXntNklRWVqbGxsaM9cePH6/evXvrL3/5i4488kjtu+++Wrx4sat9futb31Lbtm01adKk9LINGzboiy++SP8+d+5crVu3ToMHD9YPf/hDHXDAARlFcP1sO582bdroxBNP1F133aXPP/9cixYt0ujRo7XvvvuqXbt2GjVqlOXz3B6bXXfdVbvttpsWLFiQdV7tgpYA/OH6zfXbCtdvAADgRjJu9wEAAHDpwgsv1BlnnKFZs2bpV7/6VXr5vvvuq1dffVVnnnmmUqmUbrzxxpx3yLZr107HHHOMBg8erL322kurV6/OmFdckvr3768nn3xSv/jFL3T99dera9eu+uqrr/TCCy/oqaeeyrqr1KlJkyZp1KhROvnkk7XLLrto0qRJWrNmjQ488EBJ26Y4effddzVv3jzttNNO6tKli/bdd18tWbJEL7zwgo466ii9/fbb6SCbUx07dtTll1+uP/3pT9ppp520yy676C9/+Uv6rmlJ6tWrl8rKyvTQQw/pf//3fzVz5kzddtttgWw7l7feeksLFizQscceqx133FHvvPOOmpqatP/++6uiokI33HCDrr/+epWVlen73/++1qxZo1mzZunyyy/3dGxuueUW/eEPf1CXLl10yimnqLa2Vp9++qk2bNiga6+91lGbAbjD9ZvrN9dvAADgRyJGetz8xiwNHj436mYAAIAEOf7449W1a1fNmzdPv/zlL9PL7733Xu2444763ve+pzPPPFP9+vVL30Vs55lnnlFDQ4P69Omjq6++WrfffnvG47vttps+/vhjNTY26uSTT9Yhhxyiq6++WjvssIPjYJCVzp0764MPPtBpp52m/fbbT3/96191zz336NRTT5UkXXHFFdp///115JFHqlu3bvr444911lln6ZprrtGVV16pww8/XOPHj9eNN97oet9///vf9cMf/lBnnnmmTjzxRP3gBz9Qnz590o9369ZNQ4cO1UsvvaSDDjpIgwcP1t133x3ItnPZYYcd9Oqrr+r444/XgQceqH/84x/697//rW9/+9uSpBtvvFH/93//p4EDB+rAAw/Uz3/+8/QdzF6OzW9+8xs99dRTGjJkiA455BD96Ec/0tChQ7lTGAgR12+u31y/AQCt0RerNumiZz7RZ0s2RN2UxEsZ5glOY6CqqkpdunRRZWWlOnfurJWVNTpm0LYhrnNuPUXtyrzdaQMAANyrqanRwoULtddee6mioiLq5gCJluv91PJvYCCfXH2GazcQHN5PAIBC+d6gUVpeWSNJWjT49IhbEz9uvjPFfqRHfeP24cqGYpWfAQAAAAAAAADAt+aEB/yjpgcAAECIlixZooMOOsjysS1btkiS2rdvb/n47Nmz1atXr9DaFkcffvhhevoXK9XV1QVsDYDWjOu3O1y/AQBAXJD0AAAACNFuu+2madOmeX5ua3PkkUd6Pl4AECSu3+5w/QYAAHFB0gMAACBEbdq00T777BN1MxKjXbt2HC8AscD12x2u3wAAIC5iX9MDAABEzzCoqwX4xfsIhUafA/zjfQQAQPKQ9AAAALZKS0slSXV1dRG3BEi+5hoAbdu2jbglKHbNfay5zwHwjms3AADJw/RWAADAVps2bdS+fXutWbNGbdu2VUkJ90sAbhmGoS1btmj16tXaYYcd0slEICylpaXaYYcdtHr1aknbim2nUqmIWwUkC9duAACSi6QHAACwlUql1KNHDy1cuFCLFy+OujlAou2www7q3r171M1AK9Hc15oTHwC84doNAEDykPQAAAA5lZWVad9992WKK8CHtm3bcpcwCqo5ab3LLruovr4+6uYAicS1GwCAZCLpAQAA8iopKVFFRUXUzQAAuFRaWkrQFgAAAK0KE3MDAAAAAAAAAICiQNIDAAAAAAAAAAAUBZIeAAAAAAAAAACgKMQ+6WEYUbcAAAAA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Gblm4lWVjksuuSTeTQhzU1sA97XHLdy0X9zUFsB97XELN+0XN7UFcF973MJN+8VNbQHc1x63cNN+cVNbAPe1hyhRuemzxLa4n9v2i5va46a2uImb9oub2gK4rz1u4qZ9w7YkBjftG7bFGiHostkSa2trkZWVhZqaGldlkMi92GfILPYZMot9hsxinyGz2GfILPYZMot9hsxinyGz2GfILPYZMsNMf3HdSI9AIICbb74ZgUAg3k2hBME+Q2axz5BZ7DNkFvsMmcU+Q2axz5BZ7DNkFvsMmcU+Q2axz5AZZvqL60Z6EBERERERERERERERRcN1Iz2IiIiIiIiIiIiIiIiiwaQHERERERERERERERF1Ckx6EBERERERERERERFRp8CkBxERERERERERERERdQqOJD3uvPNOjB49GhkZGSgsLMTxxx+P5cuXS5ZpaGjAJZdcgry8PKSnp+Okk07C9u3bJctcdtllGDlyJAKBAIYNGxaxneXLl2PatGkoKipCcnIyKisrceONN6K5udmJt0UOilWfEVu1ahUyMjKQnZ1t87uhWIhVn1m3bh0EQYj499VXXzn59shmsTzHBINB3Hvvvejbty8CgQC6d++OO+64w6m3Rg6KVb+55ZZbFM8zaWlpTr49IoozXjORWbxmIrN4zURm8bqJzOI1E7mVI0mPefPm4ZJLLsFXX32F999/H83NzTjiiCOwf//+8DJXXnkl/vvf/2Lu3LmYN28etmzZghNPPDFiXeeeey5OOeUUxe34/X6cffbZeO+997B8+XI88MAD+Mc//oGbb77ZibdFDopVnwlpbm7GaaedhsmTJ9v+Xig2Yt1nPvjgA2zdujX8b+TIkba/J3JOLPvL5Zdfjscffxz33nsvli1bhjfeeANjxoxx5H2Rs2LVb66++mrJ+WXr1q2oqqrC7NmzHXtvRBR/vGYis3jNRGbxmonM4nUTmcVrJnKtYAzs2LEjCCA4b968YDAYDO7duzfo9/uDc+fODS+zdOnSIIDg/PnzI15/8803B4cOHWpoW1deeWVw0qRJtrSb4sfpPnPttdcGzzzzzOCTTz4ZzMrKsrv5FAdO9Zm1a9cGAQQXLlzoVNMpDpzqLz///HPQ5/MFly1b5ljbKX5i9ffMokWLggCCn376qW1tJyL34zUTmcVrJjKL10xkFq+byCxeM5FbxGROj5qa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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(1, 2, figsize=(20, 7))\n",
+ "\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 0].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__standard_scaler\", ax=ax[0]\n",
+ ")\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 1].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__standard_scaler\", ax=ax[1]\n",
+ ")\n",
+ "\n",
+ "plt.suptitle(\"Standard Scaled Data\")\n",
+ "ax[0].set_title(\"ID 0\")\n",
+ "ax[1].set_title(\"ID 1\")\n",
+ "\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that in **raw_ts_X**, the variable `value` has been normalized, while in **raw_ts_y** it remains unchanged."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [DifferenceNormalizer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`DifferenceNormalizer`: normalization by subtracting or dividing by previous values."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- The **transform_features** and **transform_target** parameters allow independent control over the normalization of features and targets. It may be beneficial, in terms of model performance, to normalize only the features while keeping the targets in their original scale, or vice versa.\n",
+ "- The **regime** parameter defines the method of normalization (either we divide by the previous value — **ratio**, or subtract the previous value from the current one — **delta**)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X before differencing:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " value_1 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " 48.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " 44.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " 60.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " 56.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " 50.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id value_1\n",
+ "0 2013-01-01 48.0 0 48.0\n",
+ "1 2013-01-02 44.0 0 44.0\n",
+ "2 2013-01-03 60.0 0 60.0\n",
+ "3 2013-01-04 56.0 0 56.0\n",
+ "4 2013-01-05 50.0 0 50.0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_y before differencing:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " value_1 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " 48.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " 44.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " 60.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " 56.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " 50.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id value_1\n",
+ "0 2013-01-01 48.0 0 48.0\n",
+ "1 2013-01-02 44.0 0 44.0\n",
+ "2 2013-01-03 60.0 0 60.0\n",
+ "3 2013-01-04 56.0 0 56.0\n",
+ "4 2013-01-05 50.0 0 50.0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X after differencing:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " value_1 \n",
+ " value__diff_norm \n",
+ " value_1__diff_norm \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 48.0 \n",
+ " NaN \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 44.0 \n",
+ " -4.0 \n",
+ " 0.916667 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 60.0 \n",
+ " 16.0 \n",
+ " 1.363636 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 56.0 \n",
+ " -4.0 \n",
+ " 0.933333 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 50.0 \n",
+ " -6.0 \n",
+ " 0.892857 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value value_1 value__diff_norm value_1__diff_norm\n",
+ "0 0 2013-01-01 48.0 48.0 NaN NaN\n",
+ "1 0 2013-01-02 44.0 44.0 -4.0 0.916667\n",
+ "2 0 2013-01-03 60.0 60.0 16.0 1.363636\n",
+ "3 0 2013-01-04 56.0 56.0 -4.0 0.933333\n",
+ "4 0 2013-01-05 50.0 50.0 -6.0 0.892857"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_y after differencing:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " value_1 \n",
+ " value__diff_norm \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 48.0 \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 44.0 \n",
+ " -4.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 60.0 \n",
+ " 16.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 56.0 \n",
+ " -4.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 50.0 \n",
+ " -6.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value value_1 value__diff_norm\n",
+ "0 0 2013-01-01 48.0 48.0 NaN\n",
+ "1 0 2013-01-02 44.0 44.0 -4.0\n",
+ "2 0 2013-01-03 60.0 60.0 16.0\n",
+ "3 0 2013-01-04 56.0 56.0 -4.0\n",
+ "4 0 2013-01-05 50.0 50.0 -6.0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Show both the delta and ratio regimes -> create new column with the same values\n",
+ "# For data[dataset.target_column] use the delta regime and for data[f\"{dataset.target_column}_1\"] use the ratio regime\n",
+ "\n",
+ "dataset_copy = deepcopy(dataset)\n",
+ "dataset_copy.data[f\"{dataset.target_column}_1\"] = dataset_copy.data[dataset.target_column]\n",
+ "\n",
+ "data = Pipeline.create_data_dict_for_pipeline(dataset_copy, features_idx, target_idx)\n",
+ "\n",
+ "diff_delta = DifferenceNormalizer(\n",
+ " transform_features=True,\n",
+ " transform_target=True, # Now let's transform the target too\n",
+ " regime=\"delta\"\n",
+ ")\n",
+ "\n",
+ "diff_ratio = DifferenceNormalizer(\n",
+ " transform_features=True,\n",
+ " transform_target=False,\n",
+ " regime=\"ratio\"\n",
+ ")\n",
+ "\n",
+ "print(\"raw_ts_X before differencing:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "print(\"raw_ts_y before differencing:\")\n",
+ "display(data[\"raw_ts_y\"].head())\n",
+ "\n",
+ "data = diff_delta.fit_transform(data, input_features=[dataset.target_column])\n",
+ "data = diff_ratio.fit_transform(data, input_features=[f\"{dataset.target_column}_1\"])\n",
+ "\n",
+ "print(\"raw_ts_X after differencing:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "print(\"raw_ts_y after differencing:\")\n",
+ "display(data[\"raw_ts_y\"].head())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can see that after applying `DifferenceNormalizer`, missing values are generated. Therefore, if the base model cannot handle missing values, it is necessary to apply `MissingValuesImputer`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABloAAAKgCAYAAADzi6AXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3wU1f7/8XcSJHQQEQKKgl3s7XKxF66o6LX7s3e93ot60a96xavYxY4dO2DhWkFFBESp0kHpvQRCSQKE9J6d3x+YZXczuzszO7O7SV7Px4MHyZQzZ2bOnM2ez5xzUgzDMAQAAAAAAAAAAADbUhOdAQAAAAAAAAAAgPqKQAsAAAAAAAAAAIBDBFoAAAAAAAAAAAAcItACAAAAAAAAAADgEIEWAAAAAAAAAAAAhwi0AAAAAAAAAAAAOESgBQAAAAAAAAAAwCECLQAAAAAAAAAAAA4RaAEAAAAAAAAAAHCIQAsAAAAatMmTJyslJUWTJ09OdFZMdevWTTfffHPQstWrV+vcc89V27ZtlZKSou+++06SNHfuXJ188slq2bKlUlJStGDBgrjnF/Fx5pln6swzz/T/npmZqZSUFA0bNiyu+bj55pvVrVu3uB4TAAAAqG8ItAAAACDhhg0bppSUFP+/Zs2aqUuXLurTp4/eeOMNFRUVuXq8ESNG6LXXXnM1TWlX43jtOaSmpqpNmzY69NBDdcMNN2jChAmW07npppu0ePFiPfvss/r000914oknqqqqSldeeaXy8vI0ePBgffrpp9p///1dP4f6orbMNGvWTJs3b66z/swzz9SRRx6ZgJw1Tm6VfTPvvPNO3ANMAAAAgB1NEp0BAAAAoNZTTz2l7t27q6qqStnZ2Zo8ebL69++vV199VT/88IOOPvpoV44zYsQILVmyRP3793clvUD77ruvBg0aJEkqKSnRmjVrNHLkSH322We66qqr9Nlnn2mPPfbwb79y5Uqlpu5+/6msrEwzZ87Uf//7X919993+5StWrNCGDRv0wQcf6Pbbb3c93/VVRUWFnn/+eb355puJzoqn9t9/f5WVlQWVnWRjt+xb9c4776hDhw51en4BAAAAyYJACwAAAJLG+eefrxNPPNH/+4ABAzRx4kRdeOGF+vvf/67ly5erefPmCcxhdG3bttX1118ftOz555/Xvffeq3feeUfdunXTCy+84F+Xnp4etO22bdskSe3atQtanpuba7o8FiUlJWrZsqVr6SXCscceqw8++EADBgxQly5dPDmGYRgqLy9PaNmr7b2TzOyWfQAAAKChYOgwAAAAJLWzzz5bjz32mDZs2KDPPvssaN2KFSt0xRVXqH379mrWrJlOPPFE/fDDDxHTO/PMMzVmzBht2LDBP9RR7RwUlZWVGjhwoE444QS1bdtWLVu21GmnnaZJkybFdA5paWl644031KNHD7311lsqKCjwrwuco+WJJ57wDwf24IMP+vN2880364wzzpAkXXnllUpJSQmav8PKdagdamvKlCn617/+pY4dO2rffff1rx87dqxOO+00tWzZUq1bt1bfvn21dOnSoDRuvvlmtWrVSps3b9Yll1yiVq1aae+999YDDzygmpqaoG19Pp9ef/11HXXUUWrWrJn23ntvnXfeeZo3b17Qdp999plOOOEENW/eXO3bt9fVV1+trKwsy9f2kUceUU1NjZ5//vmo21ZXV+vpp5/WgQceqPT0dHXr1k2PPPKIKioqgrbr1q2bLrzwQo0fP14nnniimjdvrvfee88/389XX32lJ598Uvvss49at26tK664QgUFBaqoqFD//v3VsWNHtWrVSrfcckudtIcOHaqzzz5bHTt2VHp6unr06KEhQ4ZEzXvoHC21eTH7FzqnipV7K0nfffedjjzySDVr1kxHHnmkRo0aFTVf0UQq+1auRbdu3bR06VJNmTLFf361ZT8vL08PPPCAjjrqKLVq1Upt2rTR+eefr4ULF8acbwAAAMAOerQAAAAg6d1www165JFH9PPPP+uOO+6QJC1dulSnnHKK9tlnHz388MNq2bKlvvrqK11yySX69ttvdemll5qm9d///lcFBQXatGmTBg8eLElq1aqVJKmwsFAffvihrrnmGt1xxx0qKirSRx99pD59+mjOnDk69thjHZ9DWlqarrnmGj322GP67bff1Ldv3zrbXHbZZWrXrp3uu+8+XXPNNbrgggvUqlUrderUSfvss4+ee+453XvvvTrppJPUqVMnR9fhX//6l/bee28NHDhQJSUlkqRPP/1UN910k/r06aMXXnhBpaWlGjJkiE499VT98ccfQQ33NTU16tOnj3r27KmXX35Zv/zyi1555RUdeOCB+uc//+nf7rbbbtOwYcN0/vnn6/bbb1d1dbWmTZumWbNm+XstPfvss3rsscd01VVX6fbbb9e2bdv05ptv6vTTT9cff/xhqfdO9+7ddeONN+qDDz7Qww8/HLFXy+23367hw4friiuu0P/93/9p9uzZGjRokJYvX14nqLBy5Updc801+sc//qE77rhDhx56qH/doEGD1Lx5cz388MNas2aN3nzzTe2xxx5KTU3Vzp079cQTT2jWrFkaNmyYunfvroEDB/r3HTJkiI444gj9/e9/V5MmTTR69Gj961//ks/nU79+/aKeb63DDz9cn376adCy/Px83X///erYsaN/mdV7+/PPP+vyyy9Xjx49NGjQIO3YsUO33HJLUDDOqXBl38q1eO2113TPPfeoVatW+u9//ytJ/rK/bt06fffdd7ryyivVvXt35eTk6L333tMZZ5yhZcuWedbDCQAAAKjDAAAAABJs6NChhiRj7ty5Ybdp27atcdxxx/l/P+ecc4yjjjrKKC8v9y/z+XzGySefbBx88MH+ZZMmTTIkGZMmTfIv69u3r7H//vvXOUZ1dbVRUVERtGznzp1Gp06djFtvvTXqeZxxxhnGEUccEXb9qFGjDEnG66+/7l+2//77GzfddJP/9/Xr1xuSjJdeeilo39rz+Prrr4OWW70Otdf41FNPNaqrq/3Li4qKjHbt2hl33HFHULrZ2dlG27Ztg5bfdNNNhiTjqaeeCtr2uOOOM0444QT/7xMnTjQkGffee2+da+Dz+QzDMIzMzEwjLS3NePbZZ4PWL1682GjSpEmd5aECy8zatWuNJk2aBB0v9F4sWLDAkGTcfvvtQek88MADhiRj4sSJ/mX777+/IckYN25c0La19+DII480Kisr/cuvueYaIyUlxTj//PODtu/Vq1edclZaWlrnXPr06WMccMABQcvOOOMM44wzzvD/Xlsuhg4dano9fD6fceGFFxqtWrUyli5dahiGvXt77LHHGp07dzby8/P9y37++WdDkumzEspJ2bd6LY444oiga1GrvLzcqKmpCVq2fv16Iz09vU4ZBQAAALzE0GEAAACoF1q1aqWioiJJu4YMmjhxoq666ioVFRVp+/bt2r59u3bs2KE+ffpo9erV2rx5s+1jpKWlqWnTppJ2DX2Vl5en6upqnXjiifr9999dOQdJ/vOIlZPrcMcddygtLc3/+4QJE5Sfn69rrrnGv//27duVlpamnj17mg6bdtdddwX9ftppp2ndunX+37/99lulpKTo8ccfr7NvSkqKJGnkyJHy+Xy66qqrgo6bkZGhgw8+2NZwbQcccIBuuOEGvf/++9q6davpNj/99JMk6f777w9a/n//93+SpDFjxgQt7969u/r06WOa1o033hg0qXvPnj1lGIZuvfXWoO169uyprKwsVVdX+5cFzvNSUFCg7du364wzztC6deuChtWy6+mnn9aPP/6oYcOGqUePHpKs39utW7dqwYIFuummm9S2bVt/mn/729/8acXKrOzHei3S09OVmrrrK21NTY127NihVq1a6dBDD3XleQUAAACsYugwAAAA1AvFxcX+IZHWrFkjwzD02GOP6bHHHjPdPjc3V/vss4/t4wwfPlyvvPKKVqxYoaqqKv/y7t27O8t4gOLiYklS69atY05LcnYdQs9j9erVknbNhWOmTZs2Qb/XzrcSaM8999TOnTv9v69du1ZdunRR+/btw+Z99erVMgxDBx98sOn6wECGFY8++qg+/fRTPf/883r99dfrrN+wYYNSU1N10EEHBS3PyMhQu3bttGHDhqDlke73fvvtF/R7bXCia9eudZb7fD4VFBRor732kiRNnz5djz/+uGbOnKnS0tKg7QsKCoICHVaNGzdOTz75pAYMGKDLL7/cv9zqva09d7N74VbQwqzsx3otaucBeuedd7R+/fqgeYJqrzcAAAAQDwRaAAAAkPQ2bdqkgoICfyO5z+eTJD3wwANhex2ENqhb8dlnn+nmm2/WJZdcogcffFAdO3ZUWlqaBg0apLVr1zo/gT8tWbLEcd7MOLkOgb0IAtP49NNPlZGRUWf/Jk2CvzIE9oaJhc/nU0pKisaOHWuaZm0PCKsOOOAAXX/99Xr//ff18MMPh92utkdNNKHXKVC4axBuuWEYknYFoM455xwddthhevXVV9W1a1c1bdpUP/30kwYPHuy/F3asX79e1113nf72t7/pmWeeCVpn9956KbTsu3EtnnvuOT322GO69dZb9fTTT6t9+/ZKTU1V//79HV1LAAAAwCkCLQAAAEh6tZN+1wYTDjjgAEm7ej307t3bdnrhGtu/+eYbHXDAARo5cmTQNmZDYNlVU1OjESNGqEWLFjr11FNjTk+K/TpI0oEHHihJ6tixo+M0zNIcP3688vLywvZqOfDAA2UYhrp3765DDjnEleM++uij+uyzz/TCCy/UWbf//vvL5/Np9erVOvzww/3Lc3JylJ+fr/3339+VPEQyevRoVVRU6IcffgjqFWNnmLRAZWVluuyyy9SuXTv973//8w+jVcvqva0999oeMIFWrlzpKG+BzMq+nWsR6Xk966yz9NFHHwUtz8/PV4cOHWLONwAAAGAVc7QAAAAgqU2cOFFPP/20unfvruuuu07SrobjM888U++9957pnBzbtm2LmGbLli1N54Co7ZFQ2wNBkmbPnq2ZM2fGcgqqqanRvffeq+XLl+vee++tMxyXU7FeB2lX8KpNmzZ67rnngoZKs5NGqMsvv1yGYejJJ5+ss6722l522WVKS0vTk08+GXS9a7fZsWOH7eMeeOCBuv766/Xee+8pOzs7aN0FF1wgSXrttdeClr/66quSpL59+9o+nl1m5augoEBDhw51lN5dd92lVatWadSoUdpzzz3rrLd6bzt37qxjjz1Ww4cPD3ouJkyYoGXLljnKW61wZd/OtWjZsqXy8/PrLE9LS6tTdr7++mtH8zMBAAAAsaBHCwAAAJLG2LFjtWLFClVXVysnJ0cTJ07UhAkTtP/+++uHH35Qs2bN/Nu+/fbbOvXUU3XUUUfpjjvu0AEHHKCcnBzNnDlTmzZt0sKFC8Me54QTTtCXX36p+++/XyeddJJatWqliy66SBdeeKFGjhypSy+9VH379tX69ev17rvvqkePHv45JqIpKCjQZ599JkkqLS3VmjVrNHLkSK1du1ZXX321nn766dguUohYroO0a56OIUOG6IYbbtDxxx+vq6++Wnvvvbc2btyoMWPG6JRTTtFbb71lK09nnXWWbrjhBr3xxhtavXq1zjvvPPl8Pk2bNk1nnXWW7r77bh144IF65plnNGDAAGVmZuqSSy5R69attX79eo0aNUp33nmnHnjgAdvX47///a8+/fRTrVy5UkcccYR/+THHHKObbrpJ77//vvLz83XGGWdozpw5Gj58uC655BKdddZZto9l17nnnqumTZvqoosu0j/+8Q8VFxfrgw8+UMeOHU0DZZGMGTNGn3zyiS6//HItWrRIixYt8q9r1aqVLrnkElv3dtCgQerbt69OPfVU3XrrrcrLy9Obb76pI444wpOyb+danHDCCRoyZIieeeYZHXTQQerYsaPOPvtsXXjhhXrqqad0yy236OSTT9bixYv1+eef+3t6AQAAAPFCoAUAAABJY+DAgZKkpk2bqn379jrqqKP02muv6ZZbbqkzgXyPHj00b948Pfnkkxo2bJh27Nihjh076rjjjvOnE86//vUvLViwQEOHDtXgwYO1//7766KLLtLNN9+s7Oxsvffeexo/frx69Oihzz77TF9//bUmT55s6Rw2bdqkG264QdKuBu/OnTurV69eGjJkiP72t7/ZvyhRxHIdal177bXq0qWLnn/+eb300kuqqKjQPvvso9NOO0233HKLo3wNHTpURx99tD766CM9+OCDatu2rU488USdfPLJ/m0efvhhHXLIIRo8eLC/90vXrl117rnn6u9//7uj4x500EG6/vrrNXz48DrrPvzwQx1wwAEaNmyYRo0apYyMDA0YMMCVoeGsOPTQQ/XNN9/o0Ucf1QMPPKCMjAz985//1N57761bb73VVlq1vVG+/fZbffvtt0Hr9t9/f11yySWSrN/b8847T19//bUeffRRDRgwQAceeKCGDh2q77//3pOyb+daDBw4UBs2bNCLL76ooqIinXHGGTr77LP1yCOPqKSkRCNGjNCXX36p448/XmPGjIk4Rw8AAADghRQjtK81AAAAAAAAAAAALGGOFgAAAAAAAAAAAIcItAAAAAAAAAAAADhEoAUAAAAAAAAAAMAhAi0AAAAAAAAAAAAOEWgBAAAAAAAAAABwiEALAAAAAAAAAACAQwRaAAAAAAAAAAAAHCLQAgAAAAAAAAAA4BCBFgAAAAAAAAAAAIcItAAAAAAAAAAAADhEoAUAAAAAAAAAAMAhAi0AAAAAAAAAAAAOEWgBAAAAAAAAAABwiEALAAAAAAAAAACAQwRaAAAAAAAAAAAAHCLQAgAAAAAAAAAA4BCBFgAAAAAAAAAAAIcItAAAAAAAAAAAADhEoAUAAAAAAAAAAMAhAi0AAAAAAAAAAAAOEWgBAAAAAAAAAABwiEALAAAAAAAAAACAQwRaAAAAAAAAAAAAHCLQAgAAAAAAAAAA4BCBFgAAAAAAAAAAAIcItAAAAAAAAAAAADhEoAUAAAAAAAAAAMAhAi0AAAAAAAAAAAAOEWgBAAAAAAAAAABwiEALAAAAAAAAAACAQwRaAAAAAAAAAAAAHCLQAgAAAAAAAAAA4BCBFgAAAAAAAAAAAIcItAAAAAAAAAAAADhEoAUAELNhw4YpJSVF8+bN8y974oknlJKS4v/XokUL7bfffrrooos0dOhQVVRUWE6/oqJC//nPf9SlSxc1b95cPXv21IQJE7w4FQAAAABwnZffmYqLi/X444/rvPPOU/v27ZWSkqJhw4Z5dCYAADNNEp0BAEDDNmTIELVq1UoVFRXavHmzxo8fr1tvvVWvvfaafvzxR3Xt2jVqGjfffLO++eYb9e/fXwcffLCGDRumCy64QJMmTdKpp54ah7MAAAAAAG/E+p1p+/bteuqpp7TffvvpmGOO0eTJk+OTcQCAH4EWAICnrrjiCnXo0MH/+8CBA/X555/rxhtv1JVXXqlZs2ZF3H/OnDn64osv9NJLL+mBBx6QJN1444068sgj9dBDD2nGjBme5h8AAAAAvBTrd6bOnTtr69atysjI0Lx583TSSSd5nWUAQAiGDgMAxN11112n22+/XbNnz446BNg333yjtLQ03Xnnnf5lzZo102233aaZM2cqKyvL6+wCAAAAQFzZ+c6Unp6ujIyMOOUMAGCGQAsAICFuuOEGSdLPP/8ccbs//vhDhxxyiNq0aRO0/C9/+YskacGCBZ7kDwAAAAASyep3JgBA4hFoAQAkxJFHHilJWrt2bcTttm7dqs6dO9dZXrtsy5Yt7mcOAAAAABLM6ncmAEDiEWgBACREq1atJElFRUURtysrK1N6enqd5c2aNfOvBwAAAICGxup3JgBA4hFoAQAkRHFxsSSpdevWEbdr3ry5Kioq6iwvLy/3rwcAAACAhsbqdyYAQOIRaAEAJMSSJUskSQcddFDE7Tp37qytW7fWWV67rEuXLu5nDgAAAAASzOp3JgBA4hFoAQAkxKeffipJ6tOnT8Ttjj32WK1atUqFhYVBy2fPnu1fDwAAAAANjdXvTACAxCPQAgCIuxEjRujDDz9Ur169dM4550Tc9oorrlBNTY3ef/99/7KKigoNHTpUPXv2VNeuXb3OLgAAAADElZ3vTACAxGuS6AwAABq2b775Rq1atVJlZaU2b96s8ePHa/r06TrmmGP09ddfR92/Z8+euvLKKzVgwADl5ubqoIMO0vDhw5WZmamPPvooDmcAAAAAAN6J9TuTJL311lvKz8/Xli1bJEmjR4/Wpk2bJEn33HOP2rZt61n+AQAEWgAAHvvnP/8pSWrWrJk6dOigY489Vh9//LGuvfZapaenW0rjk08+0WOPPaZPP/1UO3fu1NFHH60ff/xRp59+updZBwAAAADPufGd6eWXX9aGDRv8v48cOVIjR46UJF1//fUEWgDAYymGYRiJzgQAAAAAAAAAAEB9xBwtAAAAAAAAAAAADhFoAQAAAAAAAAAAcIhACwAAAAAAAAAAgEMEWgAAAAAAAAAAABwi0AIAAAAAAAAAAOAQgRYAAAAAAAAAAACHmiQ6A8nA5/Npy5Ytat26tVJSUhKdHQAAAMBzhmGoqKhIXbp0UWoq718hOr43AQAAoDGx852JQIukLVu2qGvXronOBgAAABB3WVlZ2nfffROdDdQDfG8CAABAY2TlOxOBFkmtW7eWtOuCtWnTJsG5AQAAALxXWFiorl27+v8WBqLhexMAAAAaEzvfmQi0SP5u723atOELAwAAABoVhoCCVXxvAgAAQGNk5TsTgzEDAAAAAAAAAAA4RKAFAAAAAAAAAADAIQItAAAAAAAAAAAADjFHCwAAgAsMw1B1dbVqamoSnRVAkpSWlqYmTZowBwviiroQyYa6EAAAxAOBFgAAgBhVVlZq69atKi0tTXRWgCAtWrRQ586d1bRp00RnBY0AdSGSFXUhAADwGoEWAACAGPh8Pq1fv15paWnq0qWLmjZtyluzSDjDMFRZWalt27Zp/fr1Ovjgg5WayqjB8A51IZIRdSEAAIgXAi0AAAAxqKyslM/nU9euXdWiRYtEZwfwa968ufbYYw9t2LBBlZWVatasWaKzhAaMuhDJiroQAADEA69yAAAAuIA3ZJGMKJeIN8ockhHlEgAAeI2/NgAAAAAAAAAAABwi0AIAAAAAAAAAAOAQgRYAAAA40q1bN7322muJzkZYZ555pvr37+//PTS/2dnZ+tvf/qaWLVuqXbt2YZcBQCTUhQAAAGiS6AwAAAAA8TB37ly1bNnS//vgwYO1detWLViwQG3btg27DAAaEupCAAAA93nao6WmpkaPPfaYunfvrubNm+vAAw/U008/LcMw/NsYhqGBAweqc+fOat68uXr37q3Vq1cHpZOXl6frrrtObdq0Ubt27XTbbbepuLg4aJtFixbptNNOU7NmzdS1a1e9+OKLXp4aAAAA6pm9995bLVq08P++du1anXDCCTr44IPVsWPHsMvirbKyMiHHBdA4UBcCAAC4z9NAywsvvKAhQ4borbfe0vLly/XCCy/oxRdf1Jtvvunf5sUXX9Qbb7yhd999V7Nnz1bLli3Vp08flZeX+7e57rrrtHTpUk2YMEE//vijpk6dqjvvvNO/vrCwUOeee672339/zZ8/Xy+99JKeeOIJvf/++16eHgAAgCnDMFRaWR33f4Evs0Tz/vvvq0uXLvL5fEHLL774Yt16661au3atLr74YnXq1EmtWrXSSSedpF9++SVsepmZmUpJSdGCBQv8y/Lz85WSkqLJkyf7ly1ZskTnn3++WrVqpU6dOumGG27Q9u3bLec7nJKSEt14441q1aqVOnfurFdeeaXONoHD5XTr1k3ffvutPvnkE6WkpOjmm282XRZNSkqKPvzwQ1166aVq0aKFDj74YP3www9B20yZMkV/+ctflJ6ers6dO+vhhx9WdXW1f/2ZZ56pu+++W/3791eHDh3Up08fTZ48WSkpKRo/fryOO+44NW/eXGeffbZyc3M1duxYHX744WrTpo2uvfZalZaWxnTtAC8kqh6kLqQuBAAASARPhw6bMWOGLr74YvXt21fSrj/i/ve//2nOnDmSdv3x/dprr+nRRx/VxRdfLEn65JNP1KlTJ3333Xe6+uqrtXz5co0bN05z587ViSeeKEl68803dcEFF+jll19Wly5d9Pnnn6uyslIff/yxmjZtqiOOOEILFizQq6++GhSQAQAAiIeyqhr1GDg+7sdd9lQftWhq7c+7K6+8Uvfcc48mTZqkc845R9KuXsTjxo3TTz/9pOLiYl1wwQV69tlnlZ6erk8++UQXXXSRVq5cqf32289R/vLz83X22Wfr9ttv1+DBg1VWVqb//Oc/uuqqqzRx4kRHadZ68MEHNWXKFH3//ffq2LGjHnnkEf3+++869thjTbefO3eubrzxRrVp00avv/66mjdvrsrKyjrLrHjyySf14osv6qWXXtKbb76p6667Ths2bFD79u21efNmXXDBBbr55pv1ySefaMWKFbrjjjvUrFkzPfHEE/40hg8frn/+85+aPn26JGnr1q2SpCeeeEJvvfWWWrRooauuukpXXXWV0tPTNWLECBUXF+vSSy/Vm2++qf/85z8xXT/AbYmqByXqQupCAACA+PO0R8vJJ5+sX3/9VatWrZIkLVy4UL/99pvOP/98SdL69euVnZ2t3r17+/dp27atevbsqZkzZ0qSZs6cqXbt2vmDLJLUu3dvpaamavbs2f5tTj/9dDVt2tS/TZ8+fbRy5Urt3LmzTr4qKipUWFgY9A8AAKAx2XPPPXX++edrxIgR/mXffPONOnTooLPOOkvHHHOM/vGPf+jII4/UwQcfrKeffloHHnhgnTeU7Xjrrbd03HHH6bnnntNhhx2m4447Th9//LEmTZrk/3vRieLiYn300Ud6+eWXdc455+ioo47S8OHDg96UDrX33nsrPT1dzZs3V0ZGhtq2bWu6zIqbb75Z11xzjQ466CA999xzKi4u9r9Y9M4776hr16566623dNhhh+mSSy7Rk08+qVdeeSXoDfqDDz5YL774og499FAdeuih/uXPPPOMTjnlFB133HG67bbbNGXKFA0ZMkTHHXecTjvtNF1xxRWaNGmSwysHgLqQuhAAAMANnvZoefjhh1VYWKjDDjtMaWlpqqmp0bPPPqvrrrtOkpSdnS1J6tSpU9B+nTp18q/Lzs6uMyZskyZN1L59+6BtunfvXieN2nV77rln0LpBgwbpySefdOksAQAAgjXfI03LnuqTkOPacd111+mOO+7QO++8o/T0dH3++ee6+uqrlZqaquLiYj3xxBMaM2aMtm7dqurqapWVlWnjxo2O87dw4UJNmjRJrVq1qrNu7dq1OuSQQxylu3btWlVWVqpnz57+Ze3btw9qpPPS0Ucf7f+5ZcuWatOmjXJzcyVJy5cvV69evZSSkuLf5pRTTlFxcbE2bdrkfyP+hBNOiJp2p06d1KJFCx1wwAFBy2obMoFkkqh6sPbYdlAXuoO6EAAANGaeBlq++uorff755xoxYoR/OK/+/furS5cuuummm7w8dEQDBgzQ/fff7/+9sLBQXbt2TVh+AABAw5KSkmJ52JpEuuiii2QYhsaMGaOTTjpJ06ZN0+DBgyVJDzzwgCZMmKCXX35ZBx10kJo3b64rrrgi7OTEqam7OkoHzo1QVVUVtE1xcbEuuugivfDCC3X279y5s1unFXd77LFH0O8pKSl15nuIpmXLllHTTklJceVYQDzUl3pQoi50C3UhAABozDz9y/fBBx/Uww8/rKuvvlqSdNRRR2nDhg0aNGiQbrrpJmVkZEiScnJygv6gzMnJ8Y8hm5GR4X8LplZ1dbXy8vL8+2dkZCgnJydom9rfa7cJlJ6ervT0dHdOEgAAoJ5q1qyZLrvsMn3++edas2aNDj30UB1//PGSpOnTp+vmm2/WpZdeKmlXw2BmZmbYtPbee29Ju8bTP+644yQpaDJoSTr++OP17bffqlu3bmrSxL0/Qw888EDtsccemj17tv+t6J07d2rVqlU644wzXDuOE4cffri+/fZbGYbhf5N7+vTpat26tfbdd9+E5g3ALtSF3qMuBAAADZ2nc7SUlpb63+iplZaW5n/TpHv37srIyNCvv/7qX19YWKjZs2erV69ekqRevXopPz9f8+fP928zceJE+Xw+f5foXr16aerUqUFvCk2YMEGHHnponWHDAAAAsNt1112nMWPG6OOPP/YP7yrtGid/5MiRWrBggRYuXKhrr7024tvCzZs311//+lc9//zzWr58uaZMmaJHH300aJt+/fopLy9P11xzjebOnau1a9dq/PjxuuWWW1RTU+P4HFq1aqXbbrtNDz74oCZOnKglS5bo5ptvrvN3aCL861//UlZWlu655x6tWLFC33//vR5//HHdf//9SZE/ALtQF3qLuhAAADR0nv5Fc9FFF+nZZ5/VmDFjlJmZqVGjRunVV1/1vw2UkpKi/v3765lnntEPP/ygxYsX68Ybb1SXLl10ySWXSNr15st5552nO+64Q3PmzNH06dN199136+qrr1aXLl0kSddee62aNm2q2267TUuXLtWXX36p119/PWh4MLuGTF6r+79aENTlGwAAoKE5++yz1b59e61cuVLXXnutf/mrr76qPffcUyeffLIuuugi9enTx/+Gdzgff/yxqqurdcIJJ/j/xgvUpUsXTZ8+XTU1NTr33HN11FFHqX///mrXrl3MDW0vvfSSTjvtNF100UXq3bu3Tj311LBj/cfTPvvso59++klz5szRMccco7vuuku33XZbnYZXAIlFXegt6kLA3OPfL9GL41YkOhsAGriC0irdNmyuxizamuisNGgphoeRhKKiIj322GMaNWqUcnNz1aVLF11zzTUaOHCgmjZtKmnX2LWPP/643n//feXn5+vUU0/VO++8EzQBYF5enu6++26NHj1aqampuvzyy/XGG28ETR64aNEi9evXT3PnzlWHDh10zz336D//+Y+lfBYWFqpt27YqKChQmzZtJEndHh4jSRpxR0+dfGAHty4JAABoYMrLy7V+/Xp1795dzZo1S3R2gCCRyqfZ38BAJJHKDHUhkhnlE8koK69Up704SZK0+tnztUcavbsAeOOJH5Zq2IxM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AIAkN2TIEBUUFOjMM89U586d/f++/PJL/zaDBw/WhRdeqMsvv1ynn366MjIyNHLkyATmGgAgMVcwADQEnvZo2blzp0455RSdddZZGjt2rPbee2+tXr1ae+65p3+bF198UW+88YaGDx+u7t2767HHHlOfPn20bNkyNWvWTJJ03XXXaevWrZowYYKqqqp0yy236M4779SIESMkSYWFhTr33HPVu3dvvfvuu1q8eLFuvfVWtWvXTnfeeaftfBt8xAEAAACoR6xMpNysWTO9/fbbevvtt+OQIwAAACQDWrrjw9NAywsvvKCuXbtq6NCh/mWBYwUbhqHXXntNjz76qC6++GJJ0ieffKJOnTrpu+++09VXX63ly5dr3Lhxmjt3rk488URJ0ptvvqkLLrhAL7/8srp06aLPP/9clZWV+vjjj9W0aVMdccQRWrBggV599VVHgRYAAAAAAAAg2TESCwAkB0+HDvvhhx904okn6sorr1THjh113HHH6YMPPvCvX79+vbKzs9W7d2//srZt26pnz56aOXOmJGnmzJlq166dP8giSb1791Zqaqpmz57t3+b0009X06ZN/dv06dNHK1eu1M6dO+vkq6KiQoWFhUH/AAAAAAAAgHhgNBUA8UI4Nj48DbSsW7dOQ4YM0cEHH6zx48frn//8p+69914NHz5ckvwTNHbq1Clov06dOvnXZWdnq2PHjkHrmzRpovbt2wdtY5ZG4DECDRo0SG3btvX/69q1a9B6C73uAQAAAAAAAABIajR1x4engRafz6fjjz9ezz33nI477jjdeeeduuOOO/Tuu+96edioBgwYoIKCAv+/rKyssNumEPIDAAAAAACAR3jhFwDqP08DLZ07d1aPHj2Clh1++OHauHGjJCkjI0OSlJOTE7RNTk6Of11GRoZyc3OD1ldXVysvLy9oG7M0Ao8RKD09XW3atAn6BwAAAAAAAAAAYJengZZTTjlFK1euDFq2atUq7b///pKk7t27KyMjQ7/++qt/fWFhoWbPnq1evXpJknr16qX8/HzNnz/fv83EiRPl8/nUs2dP/zZTp05VVVWVf5sJEybo0EMP1Z577unZ+QEAAAAAAAAAkKwYsCk+PA203HfffZo1a5aee+45rVmzRiNGjND777+vfv36SZJSUlLUv39/PfPMM/rhhx+0ePFi3XjjjerSpYsuueQSSbt6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JFoAAAAAAAAAAEDG82ouLRItAAAAAAAA4Mlm+EKIQRxTpif1GgHc5mmi5eGHH9bUqVNVUFCg8vJyLViwIOr9tWvXav78+SosLFR1dbUuuOAC7dy5M2qZp556ShMnTlReXp4GDx6su+66q9t2brnlFg0YMED5+fmaOnWqnn/+eQ/3CgAAAAD847333tPixYvV2NiogoICDRo0SFdccYW2b98etdyrr76qGTNmKD8/X/X19brhhhtSVGMAQCSC2+jKr03CxyOLAba4ea0F3Ssq2oMPPqhTTjlF119/vfbaay/t3LlTr7/+evj9trY2zZ8/X7W1tXr22We1bt06HX/88crJydH1118vSXr33Xc1f/58nX766br33nv1xBNP6OSTT1ZdXZ1aWlokSffff7/OO+883XrrrZo6dapuuukmtbS0aPXq1aqurvZq9wAAAADAF1atWqX29nb9/Oc/1+DBg/X666/rlFNO0ebNm7V8+XJJUmtrq/bdd1/NnTtXt956q1577TWddNJJ6tWrl0499dQU7wEA3/BrdBfoYUhoIFl6eqLXzWvNk0TLzp07dc455+jGG2/U4sWLw6+PHDky/PNjjz2mN998U48//rhqamo0fvx4XXPNNbrooot05ZVXKjc3V7feeqsaGxv1/e9/X5I0YsQI/e1vf9MPf/jDcKLlBz/4gU455RSdeOKJkqRbb71VDz/8sO644w5dfPHFXuweAAAAAPjGvHnzNG/evPDvAwcO1OrVq/Wzn/0snGi59957tX37dt1xxx3Kzc3VqFGj9PLLL+sHP/gBiRYAuxHdTV89PFgKAIny6nbpydBh//rXv/Thhx8qKytLEyZMUF1dnfbbb7+oHi0rV67UmDFjVFNTE36tpaVFra2teuONN8LLzJ07N6rslpYWrVy5UpK0fft2vfjii1HLZGVlae7cueFlAAAAAKCn2bRpkyoqKsK/r1y5UjNnzlRubm74tc6RADZs2JCKKgIAdnEl5keSDABSypNEyzvvvCNJuvLKK3XZZZfpoYceUnl5uWbPnq0vvvhCkrR+/fqoJIuk8O/r16+Pu0xra6u2bNmizz77TG1tbYbLdJZhZNu2bWptbY36BwAAAACZYM2aNfrxj3+s0047LfxaIt+/uuqp35uG1ZSkugpA6tArwlf6lOWnugroYZr6l0uSCnOzDd8fUVeazOogBfKCnk7p7jtufuxZOnIXX3yxAoFA3H+d4wNL0qWXXqrDDjtMTU1NuvPOOxUIBPTAAw+4V3ubli1bprKysvC/+vr6VFcJAAAAAKIk+v0r0ocffqh58+Zp4cKFOuWUUxxtv6d9b/rDmXvq3LlDdOrMgamuCoAepmug7+6TpujS/UeoeVCl/UIAG244bKzO2muwHj57huH7Z+41WOfsPUQPnTU9yTWDVyLvHLOHVelP5xif+0yVsjlazj//fC1atCjuMgMHDtS6deskRc/JkpeXp4EDB2rt2rWSpNraWj3//PNR63788cfh9zr/3/la5DKlpaUqKChQdna2srOzDZfpLMPIJZdcovPOOy/8e2tra8Z/aQAAAACQXhL9/tXpo48+0pw5czRt2jTddtttUcvF+m7V+Z6Rnva9aWy/Xhrbr1eqqwEAmjW0SrOGVqW6GuiByotydf6+w2K+n5+TraX7DE1ijZBM5+8zTAOrilNdjbRlKdFSVVWlqirzG31TU5Py8vK0evVqTZ/ekeHcsWOH3nvvPfXv31+S1NzcrOuuu06ffPKJqqurJUkrVqxQaWlpOEHT3NysRx55JKrsFStWqLm5WZKUm5urpqYmPfHEE1qwYIEkqb29XU888YTOPPPMmPXLy8tTXl6elV0HAAAAgKRK9PuX1NGTZc6cOeHRBLKyogcvaG5u1qWXXqodO3YoJydHUsd3q2HDhqm8vNywTL43AT0PfSIAoOeiY5wzngy6VlpaqtNPP11XXHGFHnvsMa1evVpnnHGGJGnhwoWSpH333VcjR47Ucccdp1deeUV//vOfddlll2nJkiXhP+ZPP/10vfPOO7rwwgu1atUq/fSnP9Wvf/1rLV26NLyt8847T7/4xS90991366233tIZZ5yhzZs368QTT/Ri1wAAAADAVz788EPNnj1bDQ0NWr58uT799FOtX78+au6VY445Rrm5uVq8eLHeeOMN3X///br55pujeqwAAFKD4CYApD9LPVqsuPHGGxUMBnXcccdpy5Ytmjp1qp588snw01LZ2dl66KGHdMYZZ6i5uVlFRUU64YQTdPXVV4fLaGxs1MMPP6ylS5fq5ptvVr9+/XT77berpaUlvMyRRx6pTz/9VJdffrnWr1+v8ePH69FHH+020SMAAAAAZKIVK1ZozZo1WrNmjfr16xf1XmjXwNNlZWV67LHHtGTJEjU1Nal37966/PLLdeqpp6aiygB8ysWh6gEAaaAnJnq92mfPEi05OTlavny5li9fHnOZ/v37dxsarKvZs2frpZdeirvMmWeeGXeoMAAAAADIVIsWLTKdy0WSxo4dq2eeecb7CgFwVcjNmXpN9MB4GwAArvBk6DAAAAAAAAAA5gKkuKIkMbcIoIdzs3cLiRYAAAAAAACfCvTEcV0AAEgCNxO7JFoAAAAAAAAsSGbyI6lDh5HTSQmOezSOB5A8PTGZ71UvQhItAAAAAAAgo5y912BJ0nn7DPWk/GQmP5C59h9TK0k6fdagFNcEAOBUMNUVAAAAAAAAcNPSfYbqiMn16turINVVAWL6ydETtW7+VtopAKSImx16SLQAAAAAAICMEggE1K+80NPyAaeysgIkWQzQYQxAsjBHCwAAAAAAAABJ8mjGAQDIPF49K0GiBQAAAAAAwIJMnaOFYD0A9Fw9sbOmm/tMogUAAAAAAAAAAMAmEi0AAAAAAAAWMEcLAADpjzlaAAAAAAAA4CoSSACATOfVJx2JFgAAAAAAAAAAerBAD5ypizlaAAAAAAAA4KqQm2OoADZVFOWmugpAj5Qb7HmJFjcFU10BAAAAAAAApB5DhyGVbjlmoh548QNdOG94qquScqQ8kUxnzhmszzdv06Cq4lRXJencfL6ARAsAAAAAAACQxjIhRzZ/bJ3mj61LdTWAHudbLcNSXYWk8uqhAoYOAwAAAAAAANIYo75llgzImwFpgTlaAAAAAAAA4CqCuwCAnsTNJDWJFgAAAAAAACCNZcLQYdiNDkqAd7y6XZJoAQAAAAAAANIYQ4cBgHUMHQYAAAAAAAAAGYgOSkD6IdECAAAAAAAAhp9KY5y7zEIHJSA5mKMFAAAAAAAAAADAAq8S0yRaAAAAAAAALMjUzgPDa0tTXQUAytx7DOA3biZdgu4VBQAAAAAAkPkydVifEXWluvukKerbKz/VVQEAIK2QaAEAAAAAAIAkadbQqlRXAejxMjWZC2Qyhg4DAAAAAAAAE6qnMU4dACQm4NGHHYkWAAAAAAAACzI1qB3iMfq0xanLLJl6jwEyGYkWAAAAAAAACwhqA/AS9xgg/ZBoAQAAAAAAAEOHpTFOHQCkFokWAAAAAAAACwhqAwCASCRaAAAAAAAAAAAAbCLRAgAAAAAAAAAAYBOJFgAAAAAAgATMH1On/pWFmj6kt+fbWjC+j/qVF2ifkTWeb2thUz/1KcvXgeP6eL4tAABSbcaQ3hpRV6oh1SWulRl0rSQAAAAAAIAMdss3Jqq9PaSsLO9nabnpqAlJ29aNC8clbVsAzHElAt6656QpCoXk6uceiRYAAAAAAIAEJTMZkanbAhBfKNUVADJcIBBQwOWPPYYOAwAAAAAAAAAAsIlECwAAAAAAAJDGAm4/mg0AsIRECwAAAAAAAJDGQiEGmwKAVCLRAgAAAAAAAAAAYBOJFgAAAAAAACCNMXQYAKQWiRYAAAAAAAAAAACbSLQAAAAAAAAAaWx4bUmqqwAAPVow1RUAAAAAAAAAYN9F+w1XUV5QB47tk+qqAECPRKIFAAAAAAAASGOl+Tn69v4jUl0NAOixGDoMAAAAAAAAAADAJhItAAAAAAAAAAAANpFoAQAAAAAAAAAAsIlECwAAAAAAAAAAgE0kWgAAAAAAAAAAAGwi0QIAAAAAAAAAAGATiRYAAAAAAAAAAACbSLTEcMqMRknSN2cPSnFNAAAAAAAAAGS6gpxsSdK0QZUprgkAqzxLtPz73//WwQcfrN69e6u0tFTTp0/XX/7yl6hl1q5dq/nz56uwsFDV1dW64IILtHPnzqhlnnrqKU2cOFF5eXkaPHiw7rrrrm7buuWWWzRgwADl5+dr6tSpev755x3X/5L9Rujx82bqgpZhjssCAAAAAAAAgHj+edlcPXPhHPWvLEp1VQBY5Fmi5YADDtDOnTv15JNP6sUXX9S4ceN0wAEHaP369ZKktrY2zZ8/X9u3b9ezzz6ru+++W3fddZcuv/zycBnvvvuu5s+frzlz5ujll1/Wueeeq5NPPll//vOfw8vcf//9Ou+883TFFVfoX//6l8aNG6eWlhZ98sknjuqflRXQ4OoSBQIBR+UAAAAAAAAAgJnivKDqKwpTXQ0ANgRCoVDI7UI/++wzVVVV6a9//atmzJghSfryyy9VWlqqFStWaO7cufrTn/6kAw44QB999JFqamokSbfeeqsuuugiffrpp8rNzdVFF12khx9+WK+//nq47KOOOkobN27Uo48+KkmaOnWqJk+erJ/85CeSpPb2dtXX1+uss87SxRdfnFB9W1tbVVZWpk2bNqm0tNTNQwEAAAD4En8DwyraDAAAAHoSK3//etKjpbKyUsOGDdM999yjzZs3a+fOnfr5z3+u6upqNTU1SZJWrlypMWPGhJMsktTS0qLW1la98cYb4WXmzp0bVXZLS4tWrlwpSdq+fbtefPHFqGWysrI0d+7c8DJGtm3bptbW1qh/AAAAAAAAAAAAVgW9KDQQCOjxxx/XggULVFJSoqysLFVXV+vRRx9VeXm5JGn9+vVRSRZJ4d87hxeLtUxra6u2bNmiDRs2qK2tzXCZVatWxazfsmXLdNVVVzneTwAAAAAAAAAA0LNZ6tFy8cUXKxAIxP23atUqhUIhLVmyRNXV1XrmmWf0/PPPa8GCBTrwwAO1bt06r/YlYZdccok2bdoU/vfBBx+kukoAAAAAAAAAACANWerRcv7552vRokVxlxk4cKCefPJJPfTQQ9qwYUN47LKf/vSnWrFihe6++25dfPHFqq2t1fPPPx+17scffyxJqq2tDf+/87XIZUpLS1VQUKDs7GxlZ2cbLtNZhpG8vDzl5eUltM8AAAAAAAAAAACxWEq0VFVVqaqqynS5r7/+WlLHfCmRsrKy1N7eLklqbm7Wddddp08++UTV1dWSpBUrVqi0tFQjR44ML/PII49ElbFixQo1NzdLknJzc9XU1KQnnnhCCxYskCS1t7friSee0Jlnnmll1wAAAAAAAAAAACyzNHRYopqbm1VeXq4TTjhBr7zyiv7973/rggsu0Lvvvqv58+dLkvbdd1+NHDlSxx13nF555RX9+c9/1mWXXaYlS5aEe5ucfvrpeuedd3ThhRdq1apV+ulPf6pf//rXWrp0aXhb5513nn7xi1/o7rvv1ltvvaUzzjhDmzdv1oknnujFrgEAAAAAAAAAAIRZ6tGSqN69e+vRRx/VpZdeqr322ks7duzQqFGj9Pvf/17jxo2TJGVnZ+uhhx7SGWecoebmZhUVFemEE07Q1VdfHS6nsbFRDz/8sJYuXaqbb75Z/fr10+23366WlpbwMkceeaQ+/fRTXX755Vq/fr3Gjx+vRx99VDU1NV7sGgAAAAAAAAAAQFggFAqFUl2JVGttbVVZWZk2bdoUnlMGAAAAyGT8DQyraDMAAADoSaz8/evJ0GEAAAAAAAAAAAA9AYkWAAAAAAAAAAAAm0i0AAAAAAAAAAAA2ESiBQAAAAAAAAAAwCYSLQAAAAAAAAAAADaRaAEAAAAAAAAAALCJRAsAAAAAAAAAAIBNJFoAAAAAAAAAAABsItECAAAAAAAAAABgE4kWAAAAAAAAAAAAm0i0AAAAAAAAAAAA2ESiBQAAAAAAAAAAwKZgqivgB6FQSJLU2tqa4poAAAAAydH5t2/n38KAGb43AQAAoCex8p2JRIukzz//XJJUX1+f4poAAAAAyfX555+rrKws1dVAGuB7EwAAAHqiRL4zkWiRVFFRIUlau3atL75kTp48Wf/85z9TXQ1J/qqL5J/6tLa2qr6+Xh988IFKS0tTXR3fHBfJX3WR/FMf2kxsfqqL5J/60GZi81NdJP/UhzYTm5/qIvmnPps2bVJDQ0P4b2HADN+bYqMuxvhsio26GPNTm/HTcZH8VR8/1cVPbUby17GhLsZoM7FRl+6sfGci0SIpK6tjqpqysjJfXGDZ2dm+qIfkr7pI/qtPaWmpL+rjp+Pip7pI/qsPbaY7P9VF8l99aDPd+akukv/qQ5vpzk91kfxXn86/hQEzfG+KjbrEx2dTd9QlPj+0Gb8dFz/Vx0916eSHNiP569hQl/hoM91Rl9gS+c7EtyofWrJkSaqrEOanukj+q49f+Om4+Kkukv/q4xd+Oi5+qovkv/r4hZ+Oi5/qIvmvPn7hp+Pip7pI/qsPkK78dC1Rl/Tgp2NDXfzPb8fFT/XxU138xk/HhrqkBz8dG+riTCDE7JdqbW1VWVmZNm3a5KtMGfyLNgOraDOwijYDq2gzsIo2A6toM7CKNgOraDOwijYDq2gzsMJKe6FHi6S8vDxdccUVysvLS3VVkCZoM7CKNgOraDOwijYDq2gzsIo2A6toM7CKNgOraDOwijYDK6y0F3q0AAAAAAAAAAAA2ESPFgAAAAAAAAAAAJtItAAAAAAAAAAAANhEogUAAAAAAAAAAMAmEi0AAAAAAAAAAAA2ZUyiZdmyZZo8ebJKSkpUXV2tBQsWaPXq1VHLbN26VUuWLFFlZaWKi4t12GGH6eOPP45a5uyzz1ZTU5Py8vI0fvz4bttZvXq15syZo5qaGuXn52vgwIG67LLLtGPHDi93Dx5IVpuJtGbNGpWUlKhXr14u7w2SIVlt5r333lMgEOj27x//+IeXuwcPJPM+EwqFtHz5cg0dOlR5eXnq27evrrvuOq92DR5JVpu58sorDe8zRUVFXu4egBTjOxOs4jsTrOI7E6ziOxOs4jsT/CpjEi1PP/20lixZon/84x9asWKFduzYoX333VebN28OL7N06VL98Y9/1AMPPKCnn35aH330kQ499NBuZZ100kk68sgjDbeTk5Oj448/Xo899phWr16tm266Sb/4xS90xRVXeLZv8Eay2kynHTt26Oijj9aMGTNc3xckR7LbzOOPP65169aF/zU1Nbm+T/BWMtvMOeeco9tvv13Lly/XqlWr9Ic//EFTpkzxZL/gnWS1mW9961tR95d169Zp5MiRWrhwoWf7BiD1+M4Eq/jOBKv4zgSr+M4Eq/jOBN8KZahPPvkkJCn09NNPh0KhUGjjxo2hnJyc0AMPPBBe5q233gpJCq1cubLb+ldccUVo3LhxCW1r6dKloenTp7tSb6SO123mwgsvDB177LGhO++8M1RWVuZ29ZECXrWZd999NyQp9NJLL3lVdaSIV23mzTffDAWDwdCqVas8qztSI1l/z7z88sshSaG//vWvrtUdgP/xnQlW8Z0JVvGdCVbxnQlW8Z0JfpExPVq62rRpkySpoqJCkvTiiy9qx44dmjt3bniZ4cOHq6GhQStXrrS9nTVr1ujRRx/VrFmznFUYKedlm3nyySf1wAMP6JZbbnGvwkg5r+8zBx10kKqrqzV9+nT94Q9/cKfSSCmv2swf//hHDRw4UA899JAaGxs1YMAAnXzyyfriiy/c3QEkXbL+nrn99ts1dOhQniAGehi+M8EqvjPBKr4zwSq+M8EqvjPBLzIy0dLe3q5zzz1Xe+65p0aPHi1JWr9+vXJzc7uN81pTU6P169db3sa0adOUn5+vIUOGaMaMGbr66qvdqDpSxMs28/nnn2vRokW66667VFpa6ma1kUJetpni4mJ9//vf1wMPPKCHH35Y06dP14IFC/jikOa8bDPvvPOO3n//fT3wwAO65557dNddd+nFF1/U4Ycf7uYuIMmS8feM1DF+8b333qvFixc7rTKANMJ3JljFdyZYxXcmWMV3JljFdyb4STDVFfDCkiVL9Prrr+tvf/ubZ9u4//779eWXX+qVV17RBRdcoOXLl+vCCy/0bHvwlpdt5pRTTtExxxyjmTNnul42UsfLNtO7d2+dd9554d8nT56sjz76SDfeeKMOOugg17eH5PCyzbS3t2vbtm265557NHToUEnS//zP/6ipqUmrV6/WsGHDXN8mvJeMv2ck6be//a2+/PJLnXDCCZ5uB4C/8J0JVvGdCVbxnQlW8Z0JVvGdCX6ScT1azjzzTD300EP6y1/+on79+oVfr62t1fbt27Vx48ao5T/++GPV1tZa3k59fb1Gjhypo48+Wt/97nd15ZVXqq2tzWn1kQJet5knn3xSy5cvVzAYVDAY1OLFi7Vp0yYFg0Hdcccdbu0GkihZ95lIU6dO1Zo1axyVgdTxus3U1dUpGAyGvzBI0ogRIyRJa9eudVZ5pEQy7zO33367DjjgANXU1DipMoA0wncmWMV3JljFdyZYxXcmWMV3JvhNxiRaQqGQzjzzTP32t7/Vk08+qcbGxqj3m5qalJOToyeeeCL82urVq7V27Vo1Nzc72nZ7e7t27Nih9vZ2R+UguZLVZlauXKmXX345/O/qq69WSUmJXn75ZR1yyCGu7Q+8l8r7zMsvv6y6ujpHZSD5ktVm9txzT+3cuVNvv/12+LV///vfkqT+/fs73AskU7LvM++++67+8pe/0AUe6CH4zgSr+M4Eq/jOBKv4zgSr+M4Ev8qYocOWLFmi++67T7///e9VUlISHnOvrKxMBQUFKisr0+LFi3XeeeepoqJCpaWlOuuss9Tc3Kw99tgjXM6aNWv01Vdfaf369dqyZYtefvllSdLIkSOVm5ure++9Vzk5ORozZozy8vL0wgsv6JJLLtGRRx6pnJycVOw6bEpWm+l8QqLTCy+8oKysrPDYkUgfyWozd999t3JzczVhwgRJ0v/7f/9Pd9xxh26//fak7zOcSVabmTt3riZOnKiTTjpJN910k9rb27VkyRLts88+UU9swf+S1WY63XHHHaqrq9N+++2X1P0EkBp8Z4JVfGeCVXxnglV8Z4JVfGeCb4UyhCTDf3feeWd4mS1btoS++c1vhsrLy0OFhYWhQw45JLRu3bqocmbNmmVYzrvvvhsKhUKhX/3qV6GJEyeGiouLQ0VFRaGRI0eGrr/++tCWLVuSuLdwQ7LaTFd33nlnqKyszLsdg2eS1Wbuuuuu0IgRI0KFhYWh0tLS0JQpU0IPPPBAEvcUbknmfebDDz8MHXrooaHi4uJQTU1NaNGiRaHPP/88SXsKtySzzbS1tYX69esX+va3v52kvQOQanxnglV8Z4JVfGeCVXxnglV8Z4JfBUKhUMgoAQMAAAAAAAAAAID4MmaOFgAAAAAAAAAAgGQj0QIAAAAAAAAAAGATiRYAAAAAAAAAAACbSLQAAAAAAAAAAADYRKIFAAAAAAAAAADAJhItAAAAAAAAAAAANpFoAQAAAAAAAAAAsIlECwDAU7Nnz9a5556b6moAAAAAgC/xnQkA0h+JFgCAbzz11FMKBALauHFjqqsCAAAAAL7DdyYA8CcSLQAAAAAAAAAAADaRaAEAuGbz5s06/vjjVVxcrLq6On3/+9+Pev9///d/NWnSJJWUlKi2tlbHHHOMPvnkE0nSe++9pzlz5kiSysvLFQgEtGjRIklSe3u7li1bpsbGRhUUFGjcuHH6zW9+k9R9AwAAAACn+M4EAJmJRAsAwDUXXHCBnn76af3+97/XY489pqeeekr/+te/wu/v2LFD11xzjV555RX97ne/03vvvRf+YlBfX68HH3xQkrR69WqtW7dON998syRp2bJluueee3TrrbfqjTfe0NKlS3Xsscfq6aefTvo+AgAAAIBdfGcCgMwUCIVCoVRXAgCQ/r766itVVlbql7/8pRYuXChJ+uKLL9SvXz+deuqpuummm7qt88ILL2jy5Mn68ssvVVxcrKeeekpz5szRhg0b1KtXL0nStm3bVFFRoccff1zNzc3hdU8++WR9/fXXuu+++5KxewAAAADgCN+ZACBzBVNdAQBAZnj77be1fft2TZ06NfxaRUWFhg0bFv79xRdf1JVXXqlXXnlFGzZsUHt7uyRp7dq1GjlypGG5a9as0ddff6199tkn6vXt27drwoQJHuwJAAAAALiP70wAkLlItAAAkmLz5s1qaWlRS0uL7r33XlVVVWnt2rVqaWnR9u3bY6731VdfSZIefvhh9e3bN+q9vLw8T+sMAAAAAMnCdyYASF8kWgAArhg0aJBycnL03HPPqaGhQZK0YcMG/fvf/9asWbO0atUqff755/rud7+r+vp6SR3d4CPl5uZKktra2sKvjRw5Unl5eVq7dq1mzZqVpL0BAAAAAHfxnQkAMheJFgCAK4qLi7V48WJdcMEFqqysVHV1tS699FJlZWVJkhoaGpSbm6sf//jHOv300/X666/rmmuuiSqjf//+CgQCeuihh7T//vuroKBAJSUl+ta3vqWlS5eqvb1d06dP16ZNm/T3v/9dpaWlOuGEE1KxuwAAAABgCd+ZACBzZaW6AgCAzHHjjTdqxowZOvDAAzV37lxNnz5dTU1NkqSqqirdddddeuCBBzRy5Eh997vf1fLly6PW79u3r6666ipdfPHFqqmp0ZlnnilJuuaaa/Sd73xHy5Yt04gRIzRv3jw9/PDDamxsTPo+AgAAAIBdfGcCgMwUCIVCoVRXAgAAAAAAAAAAIB3RowUAAAAAAAAAAMAmEi0AAAAAAAAAAAA2kWgBAAAAAAAAAACwiUQLAAAAAAAAAACATSRaAAAAAAAAAAAAbCLRAgAAAAAAAAAAYBOJFgAAAAAAAAAAAJtItAAAAAAAAAAAANhEogUAAAAAAAAAAMAmEi0AAAAAAAAAAAA2kWgBAAAAAAAAAACwiUQLAAAAAAAAAACATf8fpvH3giMtaQ8AAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(1, 2, figsize=(20, 7))\n",
+ "\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 0].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__diff_norm\", ax=ax[0]\n",
+ ")\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 1].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__diff_norm\", ax=ax[1]\n",
+ ")\n",
+ "\n",
+ "plt.suptitle(\"Delta Difference Normalized Data\")\n",
+ "ax[0].set_title(\"ID 0\")\n",
+ "ax[1].set_title(\"ID 1\")\n",
+ "\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABkYAAAKgCAYAAADOGcFxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wU9f3H8fce4NFBVJqi8ou9obFiCRYMoiGiUaMSEXuMmKgxRhJFxYJdrKhRaUpUFNRgQaQIUo56CIL0esAd7e64O67P7w+8ZXdvZndmd2br6/l48OBudub7/c53yt58P/P9fn2GYRgCAAAAAAAAAADIAFmJLgAAAAAAAAAAAEC8EBgBAAAAAAAAAAAZg8AIAAAAAAAAAADIGARGAAAAAAAAAABAxiAwAgAAAAAAAAAAMgaBEQAAAAAAAAAAkDEIjAAAAAAAAAAAgIxBYAQAAAAAAAAAAGQMAiMAAAAAAAAAACBjEBgBAABASnj00Ufl8/kSWoZ+/frp8MMPD1pWUlKiW2+9Ve3bt5fP59M999wjScrPz9dVV12lAw44QD6fT0OGDIl7eREfZufm4Ycfrn79+sW1HMOHD5fP59O6devimi8AAACQagiMAAAAICp1jbB1/xo2bKiDDz5Y/fr1U15eXlRplpWV6dFHH9XUqVPdLayJusbsun9NmzbVoYceql69emnYsGGqqKiwlc5TTz2l4cOH684779SoUaN0ww03SJLuvfdeTZgwQQMGDNCoUaN0ySWXeLk7SW3dunX+ev7000/rfV53LLZv356A0mUet859M1999ZUeffRR9woLAAAAeKBhogsAAACA1DZo0CB17txZ5eXlmj17toYPH64ffvhBS5YsUePGjR2lVVZWpscee0ySdP755wd99tBDD+nBBx90q9h+Q4cOVfPmzVVRUaG8vDxNmDBBN998s4YMGaLx48erU6dO/nX/85//qLa2Nmj7yZMn66yzztIjjzxSb/nll1+u+++/3/Uyp7JBgwbpyiuvTHjvH68tX75cWVnJ/R6ak3Pfrq+++kqvv/46wREAAAAkNQIjAAAAiEnPnj112mmnSZJuvfVWHXjggXrmmWf0xRdf6JprrnEtn4YNG6phQ/f/fL3qqqt04IEH+n8fOHCgPvjgA/Xt21dXX321Zs+e7f+sUaNG9bYvKCjQcccdZ7q8devWrpWzurpatbW12m+//VxLM95OPvlk5ebmaty4cbryyis9y6e0tFTNmjXzLH07srOzE5q/HU7OfQAAACCdJPcrTAAAAEg55513niRp9erV/mWVlZUaOHCgTj31VLVq1UrNmjXTeeedpylTpvjXWbdunQ466CBJ0mOPPeYf5qfuzXOzeRyqq6v1+OOP61e/+pWys7N1+OGH61//+ldMQwFJUp8+fXTrrbcqJydHEydO9C8PnGNk6tSp8vl8Wrt2rb788kt/eeuGGDMMQ6+//rp/eZ3CwkLdc8896tSpk7Kzs3XEEUfomWeeCeqJUjf01PPPP68hQ4b492/p0qWSpJ9//llXXXWV2rRpo8aNG+u0007TF198EbQPdeWYMWOG7rvvPh100EFq1qyZrrjiCm3btq3ePn/99dfq1q2bWrRooZYtW+r000/X6NGjg9bJycnRJZdcolatWqlp06bq1q2bZsyYYbter732Wh111FEaNGiQDMOIuP6YMWN06qmnqkmTJjrwwAP1pz/9qd4wbf369VPz5s21evVqXXrppWrRooX69OkjSfL5fOrfv7/GjBmj4447Tk2aNFHXrl21ePFiSdJbb72lI444Qo0bN9b5559fb26O6dOn6+qrr9ahhx6q7OxsderUSffee6/27NkTseyhc4wEDl0V+i8wXzvHVpJ++uknXXjhhWrSpIkOOeQQPfHEE/V6M0XD6ty3Uxf9+vXT66+/Xm9/6zz//PM6++yzdcABB6hJkyY69dRT9cknn8RcZgAAAMApeowAAADAVXWNvPvvv79/WXFxsd555x1dd911uu2227R79269++676tGjh+bMmaOTTz5ZBx10kIYOHao777xTV1xxhb9HwUknnWSZ16233qoRI0boqquu0t///nfl5ORo8ODBWrZsmcaNGxfTftxwww16++239e233+riiy+u9/mxxx6rUaNG6d5779Uhhxyiv//975KkU045xT/XyMUXX6y+ffv6tykrK1O3bt2Ul5enO+64Q4ceeqhmzpypAQMGaMuWLfUmaB82bJjKy8t1++23Kzs7W23atNFPP/2kc845RwcffLAefPBBNWvWTB9//LF69+6tTz/9VFdccUVQGnfffbf2339/PfLII1q3bp2GDBmi/v3766OPPvKvM3z4cN188806/vjjNWDAALVu3VoLFy7UN998o+uvv17S3qHBevbsqVNPPVWPPPKIsrKyNGzYMF144YWaPn26zjjjjIh12qBBAz300EPq27dvxF4jw4cP10033aTTTz9dgwcPVn5+vl5++WXNmDFDCxcuDOqNU11drR49eujcc8/V888/r6ZNm/o/mz59ur744gvdddddkqTBgwfrd7/7nR544AG98cYb+stf/qJdu3bp2Wef1c0336zJkyf7tx0zZozKysp055136oADDtCcOXP06quvatOmTRozZkzE/Q00atSoesseeughFRQUqHnz5pJk+9hu3bpVF1xwgaqrq/3rvf3222rSpImjMlkxO/ft1MUdd9yhzZs3a+LEiab7+/LLL+v3v/+9+vTpo8rKSn344Ye6+uqrNX78eF122WWulB0AAACwxQAAAACiMGzYMEOS8d133xnbtm0zNm7caHzyySfGQQcdZGRnZxsbN270r1tdXW1UVFQEbb9r1y6jXbt2xs033+xftm3bNkOS8cgjj9TL75FHHjEC/3zNzc01JBm33npr0Hr333+/IcmYPHly2PLXpbdt2zbTz3ft2mVIMq644gr/shtvvNE47LDDgtY77LDDjMsuu6ze9pKMu+66K2jZ448/bjRr1sxYsWJF0PIHH3zQaNCggbFhwwbDMAxj7dq1hiSjZcuWRkFBQdC6F110kXHiiSca5eXl/mW1tbXG2WefbRx55JH+ZXXHp3v37kZtba1/+b333ms0aNDAKCwsNAzDMAoLC40WLVoYZ555prFnz56gvOq2q62tNY488kijR48eQWmVlZUZnTt3Ni6++OJ6+x+obn+ee+45o7q62jjyyCONLl26+NMKPRaVlZVG27ZtjRNOOCGoTOPHjzckGQMHDvQvu/HGGw1JxoMPPlgvX0lGdna2sXbtWv+yt956y5BktG/f3iguLvYvHzBggCEpaN2ysrJ6aQ4ePNjw+XzG+vXr/ctCz03D2Hte3HjjjZZ18uyzzxqSjJEjR/qX2T2299xzjyHJyMnJ8S8rKCgwWrVqVW8fzERz7tuti7vuuqteXVilUVlZaZxwwgnGhRdeGLa8AAAAgNsYSgsAAAAx6d69uw466CB16tRJV111lZo1a6YvvvhChxxyiH+dBg0a+OfGqK2t1c6dO1VdXa3TTjtNCxYsiCrfr776SpJ03333BS2v67nx5ZdfRpVunbq3+Hfv3h1TOoHGjBmj8847T/vvv7+2b9/u/9e9e3fV1NRo2rRpQev/4Q9/8A8vJkk7d+7U5MmTdc0112j37t3+7Xfs2KEePXpo5cqV9Yaauv3224OGMzrvvPNUU1Oj9evXS5ImTpyo3bt368EHH1Tjxo2Dtq3bLjc3VytXrtT111+vHTt2+PMtLS3VRRddpGnTptkexqmu18iiRYv02Wefma4zb948FRQU6C9/+UtQmS677DIdc8wxpsf2zjvvNE3roosu8g9/JklnnnmmpL1126JFi3rL16xZ418W2AOjtLRU27dv19lnny3DMLRw4cLIO2thypQpGjBggO6++27dcMMNkpwd26+++kpnnXVWUC+dgw46yD+EWKzMzn036iIwjV27dqmoqEjnnXde1PcAAAAAIFoMpQUAAICYvP766zrqqKNUVFSk9957T9OmTTOdeHrEiBF64YUX9PPPP6uqqsq/vHPnzlHlu379emVlZemII44IWt6+fXu1bt3a3/AfrZKSEkkKajyP1cqVK/Xjjz8GBTsCFRQUBP0eWjerVq2SYRh6+OGH9fDDD1umcfDBB/t/P/TQQ4M+rxvibNeuXZL2zQVzwgknhC23JN14442W6xQVFQUNnxZOnz599Pjjj2vQoEHq3bt3vc/rjt3RRx9d77NjjjlGP/zwQ9Cyhg0bBgXiAoXuf6tWrSRJnTp1Ml1eVy+StGHDBg0cOFBffPFF0HJp7/5GY9OmTfrjH/+oc845Ry+++KJ/uZNju379en8gJ5BZfUXD7Nx3oy7Gjx+vJ554Qrm5uUHzAIXOHQQAAAB4jcAIAAAAYnLGGWfotNNOkyT17t1b5557rq6//notX77c/+b5+++/r379+ql37976xz/+obZt26pBgwYaPHhw0CTt0fCqUXXJkiWSVC/wEova2lpdfPHFeuCBB0w/P+qoo4J+D50zoq5Xxv33368ePXqYphFa3gYNGpiuZ9iY/Dw03+eee04nn3yy6Tp1x9qOul4j/fr10+eff257OyvZ2dnKyjLvDG+1/5HqpaamRhdffLF27typf/7znzrmmGPUrFkz5eXlqV+/flFNdF5ZWamrrrpK2dnZ+vjjj9Ww4b7HsWiOrVdCz3036mL69On6/e9/r9/85jd644031KFDBzVq1EjDhg3T6NGjPd0fAAAAIBSBEQAAALimLthxwQUX6LXXXtODDz4oSfrkk0/0f//3fxo7dmxQIOORRx4J2t5JkOOwww5TbW2tVq5cqWOPPda/PD8/X4WFhTrssMNi2pe6yaOtGqmj8atf/UolJSXq3r17VNv/3//9nySpUaNGUadhViZpb2O4VcN73TotW7Z0Ld8//elPeuKJJ/TYY4/p97//fdBndcdu+fLluvDCC4M+W758eczH1o7FixdrxYoVGjFihPr27etfPnHixKjT/Otf/6rc3FxNmzZN7dq1C/rMybE97LDD/L14Ai1fvjzqsgUKPfed1IXVNfzpp5+qcePGmjBhQlCPsmHDhrlSZgAAAMAJ5hgBAACAq84//3ydccYZGjJkiMrLyyXtezs/sJdCTk6OZs2aFbRt06ZNJUmFhYUR87n00kslSUOGDAlaXjc80WWXXRZV+SVp9OjReuedd9S1a1dddNFFUacT6pprrtGsWbM0YcKEep8VFhaquro67PZt27bV+eefr7feektbtmyp9/m2bdscl+m3v/2tWrRoocGDB/uPV52643XqqafqV7/6lZ5//nn/MEux5lvXayQ3N1dffPFF0GennXaa2rZtqzfffDNoyKWvv/5ay5Yti+nYOimfFHzOGoahl19+Oar0hg0bprfeekuvv/560NwgdZwc20svvVSzZ8/WnDlzgj7/4IMPoipbILNz30ldNGvWTFL9a7hBgwby+XyqqanxL1u3bp3lPDMAAACAl+gxAgAAANf94x//0NVXX63hw4frz3/+s373u99p7NixuuKKK3TZZZdp7dq1evPNN3XccccFNbQ3adJExx13nD766CMdddRRatOmjU444QTT+S+6dOmiG2+8UW+//bYKCwvVrVs3zZkzRyNGjFDv3r11wQUX2CrrJ598oubNm6uyslJ5eXmaMGGCZsyYoS5dumjMmDGu1Ym0t16++OIL/e53v1O/fv106qmnqrS0VIsXL9Ynn3yidevW6cADDwybxuuvv65zzz1XJ554om677Tb93//9n/Lz8zVr1ixt2rRJixYtclSmli1b6qWXXtKtt96q008/Xddff732339/LVq0SGVlZRoxYoSysrL0zjvvqGfPnjr++ON100036eCDD1ZeXp6mTJmili1b6n//+5/j+qibayQ3NzdoeaNGjfTMM8/opptuUrdu3XTdddcpPz9fL7/8sg4//HDde++9jvNy6phjjtGvfvUr3X///crLy1PLli316aef1ptfw47t27frL3/5i4477jhlZ2fr/fffD/r8iiuuULNmzWwf2wceeECjRo3SJZdcor/97W9q1qyZ3n77bR122GH68ccfbZfL7rnvpC5OPfVUSXt7x/To0UMNGjTQtddeq8suu0wvvviiLrnkEl1//fUqKCjQ66+/riOOOMJRmQEAAAA3EBgBAACA66688kp/D4PbbrtN/fr109atW/XWW29pwoQJOu644/T+++9rzJgxmjp1atC277zzju6++27de++9qqys1COPPGI5Mfg777yj//u//9Pw4cM1btw4tW/fXgMGDKg3RFc4d955pySpcePGOvDAA3XyySfrvffe0/XXX286iXwsmjZtqu+//15PPfWUxowZo5EjR6ply5Y66qij9Nhjj/knAA/nuOOO07x58/TYY49p+PDh2rFjh9q2batTTjlFAwcOjKpct9xyi9q2baunn35ajz/+uBo1aqRjjjkmKABx/vnna9asWXr88cf12muvqaSkRO3bt9eZZ56pO+64I6p8GzZsqIceekg33XRTvc/69eunpk2b6umnn9Y///lPNWvWTFdccYWeeeYZtW7dOqr8nGjUqJH+97//6a9//asGDx6sxo0b64orrlD//v3VpUsXR2mVlJSovLxcS5cu1Q033FDv87Vr16pZs2a2j22HDh00ZcoU3X333Xr66ad1wAEH6M9//rM6duyoW265xXa57J77Turiyiuv1N13360PP/xQ77//vgzD0LXXXqsLL7xQ7777rp5++mndc8896ty5s5555hmtW7eOwAgAAADizmc4mXURAAAAAAAAAAAghTHHCAAAAAAAAAAAyBgERgAAAAAAAAAAQMYgMAIAAAAAAAAAADIGgREAAAAAAAAAAJAxCIwAAAAAAAAAAICMQWAEAAAAAAAAAABkDAIjAAAAAAAAAAAgYxAYAQAAAAAAAAAAGYPACAAAAAAAAAAAyBgERgAAAAAAAAAAQMYgMAIAAAAAAAAAADIGgREAAAAAAAAAAJAxCIwAAAAAAAAAAICMQWAEAAAAAAAAAABkDAIjAAAAAAAAAAAgYxAYAQAAAAAAAAAAGYPACAAAAAAAAAAAyBgERgAAAAAAAAAAQMYgMAIAAAAAAAAAADIGgREAAAAAAAAAAJAxCIwAAAAAAAAAAICMQWAEAAAAAAAAAABk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TJWWlqpLly56/fXXE5J/+/btlZ2d7f999erVOvfcc3XYYYfpgAMOsFwWb5WVlQnJFwAAAEBi8cxkTzI+MxEYAQAAKc0wDJVVVifkn2EYtsv59ttvq2PHjqqtrQ1afvnll+vmm2/W6tWrdfnll6tdu3Zq3ry5Tj/9dH333XeW6a1bt04+n0+5ubn+ZYWFhfL5fJo6dap/2ZIlS9SzZ081b95c7dq10w033KDt27fbKnPPnj31xBNP6IorrrC9n3YVFBSoV69eatKkiTp37qwPPvig3jqBb1z5fD7Nnz9fgwYNks/n06OPPmq6LJy6Ohs7dqwuuOACNW3aVF26dNGsWbOC1vv00091/PHHKzs7W4cffrheeOGFoM8PP/xwPf744+rbt69atmyp22+/XcOHD1fr1q01fvx4HX300WratKmuuuoqlZWVacSIETr88MO1//77669//atqampiqjsAAADAqVR4buKZKRjPTN5q6HkOAAAAHtpTVaPjBk5ISN5LB/VQ0/3s/Tl19dVX6+6779aUKVN00UUXSZJ27typb775Rl999ZVKSkp06aWX6sknn1R2drZGjhypXr16afny5Tr00EOjKl9hYaEuvPBC3XrrrXrppZe0Z88e/fOf/9Q111yjyZMnR5WmW/r166fNmzdrypQpatSokf7617+qoKDAcv0tW7aoe/fuuuSSS3T//ferefPm+vOf/1xvmR3//ve/9fzzz+vII4/Uv//9b1133XVatWqVGjZsqPnz5+uaa67Ro48+qj/+8Y+aOXOm/vKXv+iAAw5Qv379/Gk8//zzGjhwoB555BFJ0vTp01VWVqZXXnlFH374oXbv3q0rr7xSV1xxhVq3bq2vvvpKa9as0R/+8Aedc845+uMf/xhT/QEAAABOpMJzE89MwXhm8vaZicAIAABAHOy///7q2bOnRo8e7f8j/5NPPtGBBx6oCy64QFlZWerSpYt//ccff1zjxo3TF198of79+0eV52uvvaZTTjlFTz31lH/Ze++9p06dOmnFihU66qijYtupKK1YsUJff/215syZo9NPP12S9O677+rYY4+13KZ9+/Zq2LChmjdvrvbt20uSmjdvXm+ZHffff78uu+wySdJjjz2m448/XqtWrdIxxxyjF198URdddJEefvhhSdJRRx2lpUuX6rnnngv6I//CCy/U3//+d//v06dPV1VVlYYOHapf/epXkqSrrrpKo0aNUn5+vpo3b67jjjtOF1xwgaZMmUJgBAAAAAjBM9M+PDN5/8xEYAQAAKS0Jo0aaOmgHgnL24k+ffrotttu0xtvvKHs7Gx98MEHuvbaa5WVlaWSkhI9+uij+vLLL7VlyxZVV1drz5492rBhQ9TlW7RokaZMmWL6VtDq1asT9kf+smXL1LBhQ5166qn+Zcccc4xat24dl/xPOukk/88dOnSQtLeb+jHHHKNly5bp8ssvD1r/nHPO0ZAhQ1RTU6MGDfYe89NOO61euk2bNvX/gS9J7dq10+GHHx5U/+3atQv7lhcAAADghVR5buKZaS+embx/ZiIwAgAAUprP57M9nFWi9erVS4Zh6Msvv9Tpp5+u6dOn66WXXpK0942ciRMn6vnnn9cRRxyhJk2a6KqrrrKcpC4ra+9UcYHj9VZVVQWtU1JSol69eumZZ56pt33dH7eZqFGjRv6ffT6fJNUbxziSZs2ahU23Lm2zZU7zAgAAAGKVKs9NPDMlh0x4Zkr+qwEAACBNNG7cWFdeeaU++OADrVq1SkcffbR+/etfS5JmzJihfv36+SftKykp0bp16yzTOuiggyTtHUf2lFNOkaSgSQUl6de//rU+/fRTHX744WrYMHn+7DvmmGNUXV2t+fPn+7uFL1++XIWFhYktmKRjjz1WM2bMCFo2Y8YMHXXUUf43nwAAAAB4g2emvXhm8l5WogsAAACQSfr06aMvv/xS7733nvr06eNffuSRR2rs2LHKzc3VokWLdP3114d9S6ZJkyY666yz9PTTT2vZsmX6/vvv9dBDDwWtc9ddd2nnzp267rrrNHfuXK1evVoTJkzQTTfdpJqamohlLSkpUW5urv/hYe3atcrNzY2pq7okHX300brkkkt0xx13KCcnR/Pnz9ett96qJk2axJSuG/7+979r0qRJevzxx7VixQqNGDFCr732mu6///5EFw0AAADICDwz8cwUD2kRGCnaU6Vbhs/VF4s2J7ooAAAAYV144YVq06aNli9fruuvv96//MUXX9T++++vs88+W7169VKPHj38b0ZZee+991RdXa1TTz1V99xzj5544omgzzt27KgZM2aopqZGv/3tb3XiiSfqnnvuUevWrf3dysOZN2+eTjnlFP/bVffdd59OOeUUDRw4MIo9DzZs2DB17NhR3bp105VXXqnbb79dbdu2jTndWP3617/Wxx9/rA8//FAnnHCCBg4cqEGDBgVNIggAcN+SvCL1fW+OluQVJbooAIAE45lpL56ZvOUzAgdZSxHFxcVq1aqVioqK1LJlSz0xfqne+WGtJGnd05cluHQAAMBL5eXlWrt2rTp37qzGjRsnujiAq8Kd36F/AwORcM4glRw38BuVVdao6X4NtHTQJYkuDgCkNJ6ZkM7cemZKix4jO8vMJ9gBAAAAAADJr6yyJuh/AAAAL6VFYAQAAADObNiwQc2bN7f8F2lM3OnTp1tu26BBg7Bpe+Wpp56yzLNnz56e5QsAAAAg/fDMlN4aJroAAAAAiL+OHTv6Jwi0+jyc0047zXL7PXv2JGRSwD//+c+65pprTD9LhkkKAQAAAKQOnpnSG4ERAACADNSwYUMdccQRUW/fpEmTmLb3Qps2bdSmTZtEFwMAAABAGuCZKb0xlBYAAEhJhmEkugiA6zivAQAA4Bb+tkQ6cuu8JjACAABSSqNGjSRJZWVlCS4J4L6687ruPAcAAACc4pkJ6cytZyaG0gIAACmlQYMGat26tQoKCiRJTZs2lc/nS3CpgNgYhqGysjIVFBSodevWatCgQaKLBAAAgBTFMxPSkdvPTARGAABAymnfvr0k+f/QB9JF69at/ec3AAAAEC2emZCu3HpmIjACAABSjs/nU4cOHdS2bVtVVVUlujiAKxo1akRPEQAAALiCZyakIzefmQiMAACAlNWgQQMakgEAAADAAs9MgDkmXwcAAAAAAAAAABmDwAgAAAAAAAAAAMgYBEYAAAAAAAAAAEDGSI/AiJHoAgAAAAAAAAAAgFSQHoERAAAAAAAAAAAAG9IjMOJLdAEAAAAAAAAAAEAqSI/ACAAAAAAAAAAAgA0ERgAAAAAAAAAAQMZIj8AIk68DAAAAAAAAAAAb0iMwAgAAAAAAAAAAYEN6BEaYfB0AAAAAAAAAANiQHoERAAAAAAAAAAAAGwiMAAAAAAAAAACAjEFgBAAAAAAAAAAAZAwCIwAAAAAAAAAAIGMQGAEAAAAAAAAAABmDwAgAAAAAAAAAAMgYBEYAAAAAAAAAAEDGIDACAAAAAAAAAAAyBoERAAAAAPDQ0KFDddJJJ6lly5Zq2bKlunbtqq+//tpy/eHDh8vn8wX9a9y4cRxLDAAAAKS3hokuAAAAAACks0MOOURPP/20jjzySBmGoREjRujyyy/XwoULdfzxx5tu07JlSy1fvtz/u8/ni1dxAQAAgLRHYAQAAAAAPNSrV6+g35988kkNHTpUs2fPtgyM+Hw+tW/fPh7FAwAAADIOQ2kBAAAAQJzU1NToww8/VGlpqbp27Wq5XklJiQ477DB16tRJl19+uX766aeIaVdUVKi4uDjoHwAAAID6CIwAAAAAgMcWL16s5s2bKzs7W3/+8581btw4HXfccabrHn300Xrvvff0+eef6/3331dtba3OPvtsbdq0KWwegwcPVqtWrfz/OnXq5MWuAAAAACmPwAgAAAAAeOzoo49Wbm6ucnJydOedd+rGG2/U0qVLTdft2rWr+vbtq5NPPlndunXT2LFjddBBB+mtt94Km8eAAQNUVFTk/7dx40YvdgUAAABIecwxAgAAAAAe22+//XTEEUdIkk499VTNnTtXL7/8csRghyQ1atRIp5xyilatWhV2vezsbGVnZ7tSXgAAACCd0WMEAAAAAOKstrZWFRUVttatqanR4sWL1aFDB49LBQAAAGQGeowAAAAAgIcGDBignj176tBDD9Xu3bs1evRoTZ06VRMmTJAk9e3bVwcffLAGDx4sSRo0aJDOOussHXHEESosLNRzzz2n9evX69Zbb03kbgAAAABpw3GPkWnTpqlXr17q2LGjfD6fPvvsM/9nVVVV+uc//6kTTzxRzZo1U8eOHdW3b19t3rw5KI2dO3eqT58+atmypVq3bq1bbrlFJSUlMe8MAAAAACSbgoIC9e3bV0cffbQuuugizZ07VxMmTNDFF18sSdqwYYO2bNniX3/Xrl267bbbdOyxx+rSSy9VcXGxZs6caTlZOwAAAABnHPcYKS0tVZcuXXTzzTfryiuvDPqsrKxMCxYs0MMPP6wuXbpo165d+tvf/qbf//73mjdvnn+9Pn36aMuWLZo4caKqqqp000036fbbb9fo0aNj3yMAAAAASCLvvvtu2M+nTp0a9PtLL72kl156ycMSAQAAAJnNcWCkZ8+e6tmzp+lnrVq10sSJE4OWvfbaazrjjDO0YcMGHXrooVq2bJm++eYbzZ07V6eddpok6dVXX9Wll16q559/Xh07doxiNwAAAAAAAAAAACLzfPL1oqIi+Xw+tW7dWpI0a9YstW7d2h8UkaTu3bsrKytLOTk5pmlUVFSouLg46B8AAAAAAAAAAIBTngZGysvL9c9//lPXXXedWrZsKUnaunWr2rZtG7Rew4YN1aZNG23dutU0ncGDB6tVq1b+f506dfKy2AAAAAAAAAAAIE15FhipqqrSNddcI8MwNHTo0JjSGjBggIqKivz/Nm7c6FIpAQAAAAAAAABAJnE8x4gddUGR9evXa/Lkyf7eIpLUvn17FRQUBK1fXV2tnTt3qn379qbpZWdnKzs724uiAgAAAAAAAACADOJ6j5G6oMjKlSv13Xff6YADDgj6vGvXriosLNT8+fP9yyZPnqza2lqdeeaZbhcHAAAAAAAAAADAz3GPkZKSEq1atcr/+9q1a5Wbm6s2bdqoQ4cOuuqqq7RgwQKNHz9eNTU1/nlD2rRpo/3220/HHnusLrnkEt1222168803VVVVpf79++vaa69Vx44d3dszAAAAAAAAAACAEI4DI/PmzdMFF1zg//2+++6TJN1444169NFH9cUXX0iSTj755KDtpkyZovPPP1+S9MEHH6h///666KKLlJWVpT/84Q965ZVXotwFAAAAAAAAAAAAexwHRs4//3wZhmH5ebjP6rRp00ajR492mjUAAAAAAAAAAEBMXJ9jBAAAAAAAAAAAIFkRGAEAAAAAAAAAABmDwAgAAAAAAAAAAMgYBEYAAAAAAAAAAEDGIDACAAAAAAAAAAAyBoERAAAAAAAAAACQMQiMAAAAAAAApKDK6lpd+cYMDfrf0kQXBQCAlEJgBAAAAAAAIAVN/jlfCzYU6r0ZaxNdFAAAUgqBEQAAAAAAgBRUVWMkuggAAKQkAiMAAAAAAAAAACBjEBgBAAAAAAAAAAAZg8AIAAAAAAAAAADIGARGAAAAAAAAAABAxiAwAgAAAAAAAAAAMgaBEQAAAAAAgBTk8yW6BAAApCYCIwAAAAAAACnIMBJdAgAAUhOBEQAAAAAAAAAAkDEIjAAAAAAAEKKkolpvTF2lddtLE10UwBJDaQEAEJ30CIzQdRQAAAAA4KInv1ymZ79Zrt++NC3RRQEAAIDL0iMwAgAAAACAi+as3SFJqqypTXBJAAAA4Lb0CIzQdRQAAAAAAAAAANiQHoERAAAAAAAAAAAAGwiMAAAAAAAAAACAjJEegREmXwcAAAAAABnGx9jiAABEJT0CIwAAAAAAABnG4E1RAACikh6BEV6QAAAAAAC4yOfjQRMAACBdpUdgBAAAAAAAFxkGb+IDAACkKwIjAAAAAAAAKYg5RgAAiE56BEZ4kQcAAAAA4CKG0kIqYI4RAACikx6BEQAAAAAAAAAAABvSIzDCizwAAAAAACDDMJQWAADRSY/ACAAAAAAAAAAAgA0ERgAAAAAAAAAAQMZIj8AIc40BAAAAAAAAAAAb0iMwAgAAAAAAAAAAYEN6BEaYawwAAAAAAAAAANiQHoERAAAAAACADOPjRVEAAKJCYAQAAAAAgBC0NyMVGMy5CgBAVNIjMMIfAgAAAAAAF/GYCQAAkL7SIzACAAAAAACQYRhKCwCA6KRHYIQ/BAAAAAAALuIxEwAAIH2lR2AEAAAAAAAgwzDHCAAA0SEwAgAAAAAAAAAAMkZ6BEZ4QwIAAAAAAGQY5hgBACA66REYAQAAAAAAAAAAsCE9AiO8IQEAAAAAAAAAAGxIj8AIAAAAAAAAAACADQRGAAAAAAAAAABAxkiPwAiTrwMAAABIUkOHDtVJJ52kli1bqmXLluratau+/vrrsNuMGTNGxxxzjBo3bqwTTzxRX331VZxKCwAAAKS/9AiMAAAAAECSOuSQQ/T0009r/vz5mjdvni688EJdfvnl+umnn0zXnzlzpq677jrdcsstWrhwoXr37q3evXtryZIlcS55ZvMxlyVSAKcpAADRSY/ACH8JAAAAAEhSvXr10qWXXqojjzxSRx11lJ588kk1b95cs2fPNl3/5Zdf1iWXXKJ//OMfOvbYY/X444/r17/+tV577bU4lzyzGYxMgBTAaQoAQHTSIzACAAAAACmgpqZGH374oUpLS9W1a1fTdWbNmqXu3bsHLevRo4dmzZoVjyIiQy3JK9KMVdstP99TWaPPc/NUWFYZx1IBSBfLthTr+xXbEl0MAGlo/vqdmrdup+PtGnpQFgAAAABAgMWLF6tr164qLy9X8+bNNW7cOB133HGm627dulXt2rULWtauXTtt3bo1bB4VFRWqqKjw/15cXBx7wZExfvfqD5KkmQ9eqI6tm9T7fND4pfrvnA3qckgrfd7/3HgXDxYYQAOpoufL0yVJ3977Gx3VrkWCSwMgXZRX1egPQ/e+PPTTYz0cbZsePUboOwoAAAAgiR199NHKzc1VTk6O7rzzTt14441aunSpq3kMHjxYrVq18v/r1KmTq+lnmkydY2Rz4R7T5V/k5kmSFm0qimdxAKSZ1QUliS4CgDRSUVXr/7m0otrRtukRGAEAAACAJLbffvvpiCOO0KmnnqrBgwerS5cuevnll03Xbd++vfLz84OW5efnq3379mHzGDBggIqKivz/Nm7c6Fr5MxFzjAAAAKSv9AiMZOibPAAAAABSU21tbdCwV4G6du2qSZMmBS2bOHGi5ZwkdbKzs9WyZcugf4BTxIMAeIl7DACvOL2/MMcIAAAAAHhowIAB6tmzpw499FDt3r1bo0eP1tSpUzVhwgRJUt++fXXwwQdr8ODBkqS//e1v6tatm1544QVddtll+vDDDzVv3jy9/fbbidyNjJOpQ2kBAABkAgIjAAAAAOChgoIC9e3bV1u2bFGrVq100kknacKECbr44oslSRs2bFBW1r7O/GeffbZGjx6thx56SP/617905JFH6rPPPtMJJ5yQqF1ABrGKB/GWNwAASCfpERjhLzQAAAAASerdd98N+/nUqVPrLbv66qt19dVXe1QiAAAAILOlxxwjAAAAAADAM4wsBsANBi83A0gS6REY4S80AAAAAAA8Q1smAABIJ+kRGAEAAAAAAACQ1Hy83AzATTHcUwiMAAAAAAAASfQMSTU0MiPVMJQWAFfFcE9xHBiZNm2aevXqpY4dO8rn8+mzzz4LLothaODAgerQoYOaNGmi7t27a+XKlUHr7Ny5U3369FHLli3VunVr3XLLLSopKYl+L7ipAgAAAACADEMjMwAA0XEcGCktLVWXLl30+uuvm37+7LPP6pVXXtGbb76pnJwcNWvWTD169FB5ebl/nT59+uinn37SxIkTNX78eE2bNk2333579HsBAAAAAABiRgcEAACQMmL4w6Wh0w169uypnj17mn5mGIaGDBmihx56SJdffrkkaeTIkWrXrp0+++wzXXvttVq2bJm++eYbzZ07V6eddpok6dVXX9Wll16q559/Xh07dnS+F/zlBgAAAABwkS9DHzTpgJBaGEoLAIC9DEOO4gSuzjGydu1abd26Vd27d/cva9Wqlc4880zNmjVLkjRr1iy1bt3aHxSRpO7duysrK0s5OTluFgcAAAAAgKgYhAgAAADSluMeI+Fs3bpVktSuXbug5e3atfN/tnXrVrVt2za4EA0bqk2bNv51QlVUVKiiosL/e3FxcfAK/L0KAAAAAAAAAEBGctqL0tUeI14ZPHiwWrVq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b3WfraljYkSNtnxp2X+iyttF0IXfJUbacv9uRERERERE/oKPdiTmuW92eLsI5GOqOKA0kSjnGGotxxhR5cjJGm8XgdzkH11pERERERERkV/hS29EpIfKWiZGiJzZ7a1fQKhhEpHaGP9IjHDwdSIiIiIiIr/CtAgREZFxnAcP5xgj1Nb4R2KEv5iJiIiIiIj8CscYISIiMo7zfXbFn0e8VBIi7/CPxAgRERERERH5FQ4CS0REZAw72GUlkd8lRnhKExERERER+b7Fa/d7uwhERER+i3kRauv8LjFCRERERERERERERNKcxxghamv8IzHCwdeJiIiIiIiIiIiIZNntwPPfbPd2MYi8yj8SI8xwEhEREREREREREclaV3QCW4tPersYRF7lH4kRIiIiIiIiIiIiIpJ17FSNt4tA5HV+lxjhwEFERERERERERERE4gIDOC4Bkd8lRoiIiIiIiMzk+++/x/nnn4927drBYrHg448/lp3nu+++Q9++fWGz2dCxY0csWrTI8HISERFR2xBgYWKEyD8SIzyXiYiIiIjIpCoqKtCrVy8sWLBA0fS7d+/Geeedh1GjRmHDhg2YPXs2rrvuOnzxxRcGl5SIiIjaAmsgg6lEVm8XQBfsPouIiIiIiEzqnHPOwTnnnKN4+hdffBHZ2dl48sknAQBdunTBjz/+iKeffhrjxo0zqphERETURgSyxQiRn7QYISIiIiIi8hOrVq1CYWGhw2fjxo3DqlWrvFQiIiIi8icb95d5uwhEXucfLUaE2HqEiIiIiIh8WHFxMZKTkx0+S05ORnl5OaqqqhAaGio6X01NDWpqalr+Li8vN7ScRERERES+ii1GiIiIiIiI/MD8+fMRHR3d8i8jI8PbRSIiIiIiMiX/SIywWzwiIiIiIvITKSkpKCkpcfispKQEUVFRkq1FAGDevHkoKytr+bdv3z6ji0pERERE5JP8oystdp9FRERERER+oqCgAJ9//rnDZ1999RUKCgpczmez2WCz2YwsGhERERGRX/CPFiNEREREREQmderUKWzYsAEbNmwAAOzevRsbNmxAUVERgKaWHtdcc03L9DfccAN27dqFO+64A1u3bsU///lP/Pe//8WcOXO8UXwiIiIiIr/jd4kRO5uPEBERERGRiaxZswZ9+vRBnz59AABz585Fnz59cP/99wMADh061JIkAYDs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FHOwtArhNqtkK6bjFbUItFgQHSb+/b7jlaiorUfnlCjsP1GJhAibovUapbHRrvq4VNTUY/fRCnRIjMD2wyfRIy1adH9X1zW0vHQhrBPN6hsamwZZz45DfISt1fda7Tteid/2l+HcHimq6kEzu92OA6VVSIsJRWVtA05U1iI91nvjyzVfG6UcOVmD6NAgl78ZhHYeOYWth07CGmjB2K7JsvuI40WQWqwz5Euaxxh58ap8nN2dY4wQERGRemp+/3olMXLw4EGkpaXhp59+QkFBQcvnd9xxB1asWIFffvnFYfoHH3wQf/vb31otR7iBvR/6EqWVdfjprtGtAmlERERERL6OQW5Si3WGfElzYuSXu88y9AUhIiIi8l9qfv96rSstNebNm4e5c+e2/N3cYkRoxe2jcKqmnkkRIiIiIiIiIh/z24Njcaq6nkkRIiIi8givJEYSEhIQGBiIkpISh89LSkqQktK6yazNZoPN5rpbh+jQIA4ITEREREREROSDokKCVHV9SkREROQOrwxQERwcjPz8fCxfvrzls8bGRixfvtyhay0iIiIiIiIiIiIiIiI9ea0rrblz52LKlCno168fBgwYgGeeeQYVFRWYNm2at4pERERERERERERERER+zmuJkUmTJuHIkSO4//77UVxcjN69e2PZsmVITk72VpGIiIiIiIiIiIiIiMjPeXXw9VmzZmHWrFneLAIREREREREREREREbUhXhljhIiIiIiIiIiIiIiIyBuYGCEiIiIiIiIiIiIiojaDiREiIiIiIiIiIiIiImozmBghIiIiIiIiIiIiIqI2g4kRIiIiIiIiIiIiIiJqM5gYISIiIiIiIiIiIiKiNoOJESIiIiIiIiIiIiIiajOYGCEiIiIiIiIiIiIiojaDiREiIiIiIiIiIiIiImozmBghIiIiIiIiIiIiIqI2g4kRIiIiIiIiIiIiIiJqM5gYISIiIiIi8oAFCxYgKysLISEhGDhwIH799VeX0y9evBidO3dGSEgIevTogc8//9xDJSUiIiIi8m9MjBARERERERnsvffew9y5c/HAAw9g3bp16NWrF8aNG4fDhw+LTv/TTz9h8uTJmD59OtavX48JEyZgwoQJ2Lx5s4dLTkRERETkfyx2u93u7UKoVV5ejujoaJSVlSEqKsrbxSEiIiIiMhx/A/u2gQMHon///njhhRcAAI2NjcjIyMDNN9+Mu+66q9X0kyZNQkVFBZYsWdLy2aBBg9C7d2+8+OKLitbJOkNEREREbYma379sMUJERERERGSg2tparF27FoWFhS2fBQQEoLCwEKtWrRKdZ9WqVQ7TA8C4ceMkpweAmpoalJeXO/wjIiIiIqLWmBghIiIiIiIy0NGjR9HQ0IDk5GSHz5OTk1FcXCw6T3FxsarpAWD+/PmIjo5u+ZeRkeF+4YmIiIiI/BATI0RERERERH5g3rx5KCsra/m3b98+bxeJiIiIiMiUrN4ugBbNw6KwaTgRERERtRXNv319cIjANi8hIQGBgYEoKSlx+LykpAQpKSmi86SkpKiaHgBsNhtsNlvL33xuIiIiIqK2RM0zk08mRo4dOwYAbBpORERERG3OsWPHEB0d7e1ikArBwcHIz8/H8uXLMWHCBABNg68vX74cs2bNEp2noKAAy5cvx+zZs1s+++qrr1BQUKB4vXxuIiIiIqK2SMkzk08mRuLi4gAARUVFpngo7N+/P1avXu3tYgBgWaSUl5cjIyMD+/btQ1RUlLeLY6p9w7KIY52RxrKIY52RZqayAOYpD+uMNDOVBTBPecrKypCZmdnyW5h8y9y5czFlyhT069cPAwYMwDPPPIOKigpMmzYNAHDNNdcgLS0N8+fPBwDceuutGDFiBJ588kmcd955ePfdd7FmzRr8+9//VrxOMz03meU8AsxVFsA85eF9SZqZygKYpzysM9LMVBbAPOVhnXHNTOUxU1nMVG/MtF/MVBbAPOVR88zkk4mRgICmoVGio6O9fkIAQGBgoCnKAbAscqKiokxRJjPtG5bFNdaZ1lgW11hnWjNTWQDzlYd1pjUzlQUwX3mafwuTb5k0aRKOHDmC+++/H8XFxejduzeWLVvWMsB6UVGRw7EdPHgw3n77bdx77724++67kZubi48//hjdu3dXvE4zPTeZ6TwyU1kA85WH96XWzFQWwHzlYZ1pzUxlAcxXHtYZcWYqj5nK0swM9cZM+8VMZQHMVx4lz0w+mRgxm5kzZ3q7CC1YFt9gpn3DsvgGM+0blsU3mGnfmKksgPnKYxZm2i9mKgtgvvKQ75o1a5Zk11nfffddq88uvfRSXHrppQaXyjPMdB6ZqSyA+cpjFmbaL2YqC2C+8piFmfaLmcoCmK88ZmG2/WKm8pipLGZipv1iprIA5iuPEha7D47eWF5ejujoaJSVlZkqE0XmxTpDarHOkFqsM6QW6wypxTpDarHOkBqsL6QW6wypxTpDWrDekBpq6otPtsO32Wx44IEHYLPZvF0U8hGsM6QW6wypxTpDarHOkFqsM6QW6wypwfpCarHOkFqsM6QF6w2poaa++GSLESIiIiIiIiIiIiIiIi18ssUIERERERERERERERGRFkyMEBERERERERERERFRm8HECBERERERERERERERtRlMjBARERERERERERERUZvhtcTI/Pnz0b9/f0RGRiIpKQkTJkzAtm3bHKaprq7GzJkzER8fj4iICEycOBElJSUO09xyyy3Iz8+HzWZD7969W61n27ZtGDVqFJKTkxESEoKcnBzce++9qKurM3LzSGeeqi9CO3bsQGRkJGJiYnTeGvIET9WZPXv2wGKxtPr3888/G7l5ZABPXmfsdjueeOIJdOrUCTabDWlpafj73/9u1KaRgTxVbx588EHRa014eLiRm0dEXsZnJlKLz02kFp+bSC0+N5FafGYis/JaYmTFihWYOXMmfv75Z3z11Veoq6vD2LFjUVFR0TLNnDlz8Nlnn2Hx4sVYsWIFDh48iIsvvrjVsq699lpMmjRJdD1BQUG45ppr8OWXX2Lbtm145pln8PLLL+OBBx4wbNtIf56qL83q6uowefJkDBs2TPdtIc/wdJ35+uuvcejQoZZ/+fn5um8TGcuTdebWW2/FK6+8gieeeAJbt27Fp59+igEDBhiyXWQsT9Wb2267zeEac+jQIXTt2hWXXnqpYdtGRN7HZyZSi89NpBafm0gtPjeRWnxmItOym8Thw4ftAOwrVqyw2+12e2lpqT0oKMi+ePHilmn++OMPOwD7qlWrWs3/wAMP2Hv16qVoXXPmzLEPHTpUl3KTdxhdX+644w77VVddZV+4cKE9Ojpa7+KTFxhVZ3bv3m0HYF+/fr1RRScvMarObNmyxW61Wu1bt241rOzkPZ76PbNhwwY7APv333+vW9mJyPz4zERq8bmJ1OJzE6nF5yZSi89MZBamGWOkrKwMABAXFwcAWLt2Lerq6lBYWNgyTefOnZGZmYlVq1ZpXs+OHTuwbNkyjBgxwr0Ck1cZWV+++eYbLF68GAsWLNCvwOR1Rl9jLrjgAiQlJWHo0KH49NNP9Sk0eZVRdeazzz5DTk4OlixZguzsbGRlZeG6667D8ePH9d0A8gpP/Z555ZVX0KlTJ76hS9TG8JmJ1OJzE6nF5yZSi89NpBafmcgsTJEYaWxsxOzZszFkyBB0794dAFBcXIzg4OBW/ZQmJyejuLhY9ToGDx6MkJAQ5ObmYtiwYXjooYf0KDp5gZH15dixY5g6dSoWLVqEqKgoPYtNXmRknYmIiMCTTz6JxYsXY+nSpRg6dCgmTJjAH/k+zsg6s2vXLuzduxeLFy/GG2+8gUWLFmHt2rW45JJL9NwE8gJP/J4BmvrffeuttzB9+nR3i0xEPoTPTKQWn5tILT43kVp8biK1+MxEZmL1dgEAYObMmdi8eTN+/PFHw9bx3nvv4eTJk9i4cSNuv/12PPHEE7jjjjsMWx8Zx8j6MmPGDFxxxRUYPny47ssm7zGyziQkJGDu3Lktf/fv3x8HDx7E448/jgsuuED39ZFnGFlnGhsbUVNTgzfeeAOdOnUCALz66qvIz8/Htm3bkJeXp/s6yTM88XsGAD766COcPHkSU6ZMMXQ9RGQufGYitfjcRGrxuYnU4nMTqcVnJjITr7cYmTVrFpYsWYJvv/0W6enpLZ+npKSgtrYWpaWlDtOXlJQgJSVF9XoyMjLQtWtXTJ48GY899hgefPBBNDQ0uFt88jCj68s333yDJ554AlarFVarFdOnT0dZWRmsVitee+01vTaDPMhT1xihgQMHYseOHW4tg7zH6DqTmpoKq9Xa8uMeALp06QIAKCoqcq/w5DWevNa88sorGD9+PJKTk90pMhH5ED4zkVp8biK1+NxEavG5idTiMxOZjdcSI3a7HbNmzcJHH32Eb775BtnZ2Q7f5+fnIygoCMuXL2/5bNu2bSgqKkJBQYFb625sbERdXR0aGxvdWg55jqfqy6pVq7Bhw4aWfw899BAiIyOxYcMGXHTRRbptDxnPm9eYDRs2IDU11a1lkOd5qs4MGTIE9fX12LlzZ8tnf/75JwCgffv2bm4FeZqnrzW7d+/Gt99+yybhRG0En5lILT43kVp8biK1+NxEavGZiczKa11pzZw5E2+//TY++eQTREZGtvQZFx0djdDQUERHR2P69OmYO3cu4uLiEBUVhZtvvhkFBQUYNGhQy3J27NiBU6dOobi4GFVVVdiwYQMAoGvXrggODsZbb72FoKAg9OjRAzabDWvWrMG8efMwadIkBAUFeWPTSQNP1Zfmtw+arVmzBgEBAS39HpLv8FSdef311xEcHIw+ffoAAD788EO89tpreOWVVzy+zeQeT9WZwsJC9O3bF9deey2eeeYZNDY2YubMmRgzZozD21DkGzxVb5q99tprSE1NxTnnnOPR7SQi7+AzE6nF5yZSi89NpBafm0gtPjORadm9BIDov4ULF7ZMU1VVZb/pppvssbGx9rCwMPtFF11kP3TokMNyRowYIbqc3bt32+12u/3dd9+19+3b1x4REWEPDw+3d+3a1f7oo4/aq6qqPLi15C5P1RdnCxcutEdHRxu3YWQYT9WZRYsW2bt06WIPCwuzR0VF2QcMGGBfvHixB7eU9OLJ68yBAwfsF198sT0iIsKenJxsnzp1qv3YsWMe2lLSkyfrTUNDgz09Pd1+9913e2jriMjb+MxEavG5idTicxOpxecmUovPTGRWFrvdbhdLmBAREREREREREREREfkbrw++TkRERERERERERERE5ClMjBARERERERERERERUZvBxAgREREREREREREREbUZTIwQEREREREREREREVGbwcQIERERERERERERERG1GUyMEBERERERERERERFRm8HECBERERERERERERERtRlMjBARUYuRI0di9uzZ3i4GERERERGRafG5iYjI9zExQkREmnz33XewWCwoLS31dlGIiIiIiIhMic9NRETmxMQIERERERERERERERG1GUyMEBG1URUVFbjmmmsQERGB1NRUPPnkkw7f/+c//0G/fv0QGRmJlJQUXHHFFTh8+DAAYM+ePRg1ahQAIDY2FhaLBVOnTgUANDY2Yv78+cjOzkZoaCh69eqF999/36PbRkREREREpAc+NxER+ScmRoiI2qjbb78dK1aswCeffIIvv/wS3333HdatW9fyfV1dHR5++GFs3LgRH3/8Mfbs2dPyIz4jIwMffPABAGDbtm04dOgQnn32WQDA/Pnz8cYbb+DFF1/E77//jjlz5uCqq67CihUrPL6NRERERERE7uBzExGRf7LY7Xa7twtBRESederUKcTHx+PNN9/EpZdeCgA4fvw40tPTcf311+OZZ55pNc+aNWvQv39/nDx5EhEREfjuu+8watQonDhxAjExMQCAmpoaxMXF4euvv0ZBQUHLvNdddx0qKyvx9ttve2LziIiIiIiI3MbnJiIi/2X1dgGIiMjzdu7cidraWgwcOLDls7i4OOTl5bX8vXbtWjz44IPYuHEjTpw4gcbGRgBAUVERunbtKrrcHTt2oLKyEmPGjHH4vLa2Fn369DFgS4iIiIiIiIzB5yYiIv/FxAgREbVSUVGBcePGYdy4cXjrrbeQmJiIoqIijBs3DrW1tZLznTp1CgCwdOlSpKWlOXxns9kMLTMREREREZEn8bmJiMh3MTFCRNQGdejQAUFBQfjll1+QmZkJADhx4gT+/PNPjBgxAlu3bsWxY8fw2GOPISMjA0BTk3Ch4OBgAEBDQ0PLZ127doXNZkNRURFGjBjhoa0hIiIiIiLSH5+biIj8FxMjRERtUEREBKZPn47bb78d8fHxSEpKwj333IOAgAAAQGZmJoKDg/H888/jhhtuwObNm/Hwww87LKN9+/awWCxYsmQJzj33XISGhiIyMhK33XYb5syZg8bGRgwdOhRlZWVYuXIloqKiMGXKFG9sLhERERERkWp8biIi8l8B3i4AERF5x+OPP45hw4bh/PPPR2FhIYYOHYr8/HwAQGJiIhYtWoTFixeja9eueOyxx/DEE084zJ+Wloa//e1vuOuuu5CcnIxZs2YBAB5++GHcd999mD9/Prp06YKzzz4bS5cuRXZ2tse3kYiIiIiIyB18biIi8k8Wu91u93YhiIiIiIiIiIiIiIiIPIEtRoiIiIiIiIiIiIiIqM1gYoSIiIiIiIiIiIiIiNoMJkaIiIiIiIiIiIiIiKjNYGKEiIiIiIiIiIiIiIjaDCZGiIiIiIiIiIiIiIiozWBihIiIiIiIiIiIiIiI2gwmRoiIiIiIiIiIiIiIqM1gYoSIiIiIiIiIiIiIiNoMJkaIiIiIiIiIiIiIiKjNYGKEiIiIiIiIiIiIiIjaDCZGiIiIiIiIiIiIiIiozWBihIiIiIiIiIiIiIiI2oz/B+2HRal/Eif9AAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(1, 2, figsize=(20, 7))\n",
+ "\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 0].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}_1__diff_norm\", ax=ax[0]\n",
+ ")\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 1].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}_1__diff_norm\", ax=ax[1]\n",
+ ")\n",
+ "\n",
+ "plt.suptitle(\"Ratio Difference Normalized Data\")\n",
+ "ax[0].set_title(\"ID 0\")\n",
+ "ax[1].set_title(\"ID 1\")\n",
+ "\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's import everything we need and define functions to obtain the results."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [TimeToNumGenerator & DateSeasonsGenerator](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`TimeToNumGenerator`: converts timestamps into integer values."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- The **basic_date** parameter defines the base date from which calculations start.\n",
+ "- **from_target_date** specifies whether to use the last date from the forecasting horizon or the last date from the available history.\n",
+ "- Finally, you need to specify the **delta** parameter — the granularity of the series in string format."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`DateSeasonsGenerator`: generates seasonal features and holidays based on timestamps."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- The **seasonalities** parameter determines which features will be generated. Available values: [\"y\": year, \"m\": month, \"d\": day, \"wd\": weekday, \"doy\": dayofyear, \"hour\": hour, \"min\": minute, \"sec\": second, \"ms\": microsecond, \"ns\": nanosecond].\n",
+ "- **from_target_date**.\n",
+ "- **country**, **prov**, **state** are parameters for generating holiday features. More details about them can be found in the [holidays](https://github.com/vacanza/python-holidays/) documentation.\n",
+ "- **from_target_date**, **delta** are the same as for `TimeToNumGenerator`. **delta** is not required in typical situations."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X before scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X after scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " date__time_to_num \n",
+ " date__season_d \n",
+ " date__season_m \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " -2556.0 \n",
+ " 1 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " -2555.0 \n",
+ " 2 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " -2554.0 \n",
+ " 3 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " -2553.0 \n",
+ " 4 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " -2552.0 \n",
+ " 5 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id date__time_to_num date__season_d date__season_m\n",
+ "0 2013-01-01 48.0 0 -2556.0 1 1\n",
+ "1 2013-01-02 44.0 0 -2555.0 2 1\n",
+ "2 2013-01-03 60.0 0 -2554.0 3 1\n",
+ "3 2013-01-04 56.0 0 -2553.0 4 1\n",
+ "4 2013-01-05 50.0 0 -2552.0 5 1"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)\n",
+ "\n",
+ "time_to_num = TimeToNumGenerator(delta=\"D\")\n",
+ "date_seasons = DateSeasonsGenerator(seasonalities=[\"d\", \"m\"])\n",
+ "\n",
+ "print(\"raw_ts_X before scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "data = time_to_num.fit_transform(data, input_features=[dataset.date_column])\n",
+ "data = date_seasons.fit_transform(data, input_features=[dataset.date_column])\n",
+ "\n",
+ "print(\"raw_ts_X after scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [LabelEncodingTransformer & OneHotEncodingTransformer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`LabelEncodingTransformer`, `OneHotEncodingTransformer`: feature generation based on categorical columns.\n",
+ "\n",
+ "- The `OneHotEncodingTransformer` has a **drop** parameter: one from ['first', 'if_binary', None] or an array-list of shape (n_features, ):\n",
+ " - if None: retain all features.\n",
+ " - if \"first\": drop the first category in each feature.\n",
+ " - if \"if_binary\": drop the first category in each feature with two categories.\n",
+ " - if array: drop[i] is the category in feature X[:, i] that should be dropped."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X before scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X after scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " id__label \n",
+ " id__0_ohe \n",
+ " id__1_ohe \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " 48.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1.0 \n",
+ " 0.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1.0 \n",
+ " 0.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1.0 \n",
+ " 0.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " 56.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1.0 \n",
+ " 0.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1.0 \n",
+ " 0.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id id__label id__0_ohe id__1_ohe\n",
+ "0 2013-01-01 48.0 0 0 1.0 0.0\n",
+ "1 2013-01-02 44.0 0 0 1.0 0.0\n",
+ "2 2013-01-03 60.0 0 0 1.0 0.0\n",
+ "3 2013-01-04 56.0 0 0 1.0 0.0\n",
+ "4 2013-01-05 50.0 0 0 1.0 0.0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)\n",
+ "\n",
+ "le = LabelEncodingTransformer()\n",
+ "ohe = OneHotEncodingTransformer()\n",
+ "\n",
+ "print(\"raw_ts_X before scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "data = le.fit_transform(data, input_features=[dataset.id_column])\n",
+ "data = ohe.fit_transform(data, input_features=[dataset.id_column])\n",
+ "\n",
+ "print(\"raw_ts_X after scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [MissingValuesImputer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`MissingValuesImputer`: filling in missing values."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- **regime** can be 'mean' or 'lag'. If None, the transformer will fill missing values with a constant value.\n",
+ "- **constant_value**: the constant value to fill remaining missing values after applying the chosen regime.\n",
+ "- The **transform_features** and **transform_target** parameters allow independent control over the normalization of features and targets. Sometimes, we may need to fill in missing values only for one case.\n",
+ "- **window**: the size of the window for the mean imputation strategy.\n",
+ "- **weighted_alpha**: the alpha value for weighting in the mean imputation strategy.\n",
+ "- **lag**: the lag value for the lag imputation strategy."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X before scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " value \n",
+ " id \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " NaN \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2013-01-04 \n",
+ " NaN \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date value id\n",
+ "0 2013-01-01 NaN 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 NaN 0\n",
+ "4 2013-01-05 50.0 0"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X after scaling:\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " value__imputed \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2013-01-01 \n",
+ " NaN \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2013-01-02 \n",
+ " 44.0 \n",
+ " 44.000000 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2013-01-03 \n",
+ " 60.0 \n",
+ " 60.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2013-01-04 \n",
+ " NaN \n",
+ " 52.665128 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2013-01-05 \n",
+ " 50.0 \n",
+ " 50.000000 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value value__imputed\n",
+ "0 0 2013-01-01 NaN 0.000000\n",
+ "1 0 2013-01-02 44.0 44.000000\n",
+ "2 0 2013-01-03 60.0 60.000000\n",
+ "3 0 2013-01-04 NaN 52.665128\n",
+ "4 0 2013-01-05 50.0 50.000000"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "dataset_copy = deepcopy(dataset)\n",
+ "\n",
+ "# Make some values missing for id=0 and id=1 independently\n",
+ "idx_start_id_1 = dataset_copy.data[dataset_copy.data[\"id\"] == 1].index[0]\n",
+ "\n",
+ "dataset_copy.data.loc[:idx_start_id_1:3, dataset_copy.target_column] = np.nan\n",
+ "dataset_copy.data.loc[idx_start_id_1::3, dataset_copy.target_column] = np.nan\n",
+ "\n",
+ "data = Pipeline.create_data_dict_for_pipeline(dataset_copy, features_idx, target_idx)\n",
+ "\n",
+ "imputer = MissingValuesImputer(\n",
+ " regime=\"mean\",\n",
+ " constant_value=0,\n",
+ " transform_features=True,\n",
+ " transform_target=True,\n",
+ " window=3,\n",
+ " weighted_alpha=0.5,\n",
+ ")\n",
+ "\n",
+ "print(\"raw_ts_X before scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())\n",
+ "\n",
+ "data = imputer.fit_transform(data, input_features=[dataset.target_column])\n",
+ "\n",
+ "print(\"raw_ts_X after scaling:\")\n",
+ "display(data[\"raw_ts_X\"].head())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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GjZsGLKzs/HYY4+ZjqXRPqNWrVqhV69eePPNN02f1eLFi7F+/frI3qCP2+3Gbbfdhg0bNuC2225DdnY2gPDKSGZmpt970/ZhHY0zd+5c7Nmzp0bnTEREREQUSxwxQkRERERxady4cWFvU1xcjDZt2mD06NHo2bMnsrKy8NVXX2HlypV45plnAADffPMNbr31Vlx66aU47rjjUF1djbfffhtOpxOjRo2q8Xm3aNEC//d//4dnnnkGF154Ic477zysXbsWX375JZo2bWrbM1/myiuvxI033oi9e/fiX//6l+m1c889F6mpqRg5ciQmTJiAkpISvPrqq2jevLnfaAerHj164PTTT8ekSZOQn5+PJk2a4N133/ULGDkcDrz22msYPnw4evTogWuvvRZ/+ctfsGfPHixZsgTZ2dn47LPPQvrcY6GyshJDhgzBZZddho0bN2LatGno378/LrzwQn2d66+/Hn//+98xatQonHPOOVi7di0WLlzoNxqiV69ecDqdeOKJJ1BYWIi0tDQMHjwYzZs3x/Tp03HVVVfhlFNOweWXX45mzZph586dmD9/Ps4880w9KDZlyhSMGDEC/fv3x3XXXYf8/Hy8+OKL6NGjhzTwJFNYWIh33nkHAFBWVoYtW7Zg3rx52Lp1Ky6//HI88sgj+rrhlJHevXtj+vTpePTRR9G5c2c0b94cgwcPxgUXXICHH34Y1157Lc444wysW7cOs2fPxrHHHhvRNSEiIiIiigcMjBARERFRvZGRkYGbb74ZixYtwrx58+DxeNC5c2dMmzYNN910EwCgZ8+eGDZsGD777DPs2bMHGRkZ6NmzJ7788kucfvrpUTmPJ554AhkZGXj11Vfx1VdfoV+/fli0aBH69++P9PT0kPczevRoTJw4ERUVFaY0WoB3wu4PPvgA//73v3H33XejZcuWuOmmm9CsWTNcd911Qfc9e/ZsTJgwAY8//jhycnIwfvx4DBo0COecc45pvYEDB2LZsmV45JFH8NJLL6GkpAQtW7ZE3759MWHCBAChfe6x8NJLL2H27Nl44IEHUFVVhTFjxuCFF14wBaduuOEG5Obm4vXXX8eCBQtw1llnYfHixRgyZIhpXy1btsTLL7+MKVOmYPz48XC73ViyZAmaN2+OK664Aq1bt8bjjz+Op556ChUVFfjLX/6Cs846C9dee62+j/POOw9z587Fv//9b0yaNAmdOnXCzJkz8cknn2Dp0qUhvafdu3fjqquuAmBMJt+vXz9Mnz7d79qFU0YeeOAB7NixA08++SSKi4sxYMAADB48GPfddx9KS0sxZ84cvPfeezjllFMwf/58/POf/wznUhARERERxRVFjfYshURERERE5KegoACNGzfGo48+6jf6g6Jr1qxZuPbaa7Fy5Ur06dMn1qdDRERERERxhnOMEBERERFF2dGjR/2WPf/88wC8IzCIiIiIiIgodphKi4iIiIgoyt577z3MmjUL559/PrKysvDDDz/gf//7H84991yceeaZsT49IiIiIiKipMbACBERERFRlJ100klwuVx48sknUVRUpE/I/uijj8b61IiIiIiIiJIe5xghIiIiIiIiIiIiIqKkwTlGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBARERERERERERERUdJgYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0GBghIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaTAwQkRERERERERERERESYOBESIiIiIiIiIiIiIiShoMjBAR1QPV1dW499570bZtWzgcDlx00UWxPiXyueaaa9ChQ4dYnwYREREREQF46qmncOyxx8LpdKJXr16xPh3ymTx5MhRFifVpEFESYWCEiBLCrFmzoCgKVq1apS/THpy0/zIyMtCuXTuMHDkSM2fOREVFRcj7r6iowD/+8Q+0bt0aDRo0QN++fbF48eKovw/rOTscDrRq1QoXXHABli9fHvF+33jjDTz11FMYPXo03nzzTdxxxx1RPOvIdejQARdccEGsTyOoadOmYdasWRFvv3fvXkyePBlr1qyJ2jkREREREYWrNutNJSUlePDBB3HeeeehSZMmUBSlRs/QobwP8b/mzZtj0KBB+PLLLyPe76JFi3DvvffizDPPxMyZM/HYY49F8awjN3DgQJxwwgmxPo2g5syZg+effz7i7cvKyjB58mQsXbo0audERBQpV6xPgIiopqZPn46srCxUVFRgz549WLhwIa677jo8//zz+Pzzz9G2bdug+7jmmmvwwQcf4Pbbb0eXLl0wa9YsnH/++ViyZAn69+9fa+fs8Xiwa9cuvPrqqzj77LPx888/R9Rr6ZtvvsFf/vIXPPfcc1E/12Qwbdo0NG3aFNdcc01E2+/duxcPPfQQOnTo4Hf9Xn31VXg8npqfJBERERFRDdS03nTo0CE8/PDDaNeuHXr27FknjdsPP/wwOnbsCFVVceDAAb2e9tlnn0XUAeubb76Bw+HA66+/jtTU1Fo44/ptzpw5+P3333H77bdHtH1ZWRkeeughAN5gkOjf//43/vnPf9bwDImIQsfACBElvNGjR6Np06b67w888ABmz56Nq6++GpdeemnQkRg///wz3n33XTz11FO4++67AQBXX301TjjhBNx777346aefav2cL7roIpxwwgmYO3duRIGRvLw85OTkRO38PB4PKisrkZ6eHrV9JquUlJRYnwIRERERUY3rTa1atcK+ffvQsmVLrFq1CqeeemptnzKGDx+OPn366L+PHz8eLVq0wP/+97+IAiN5eXlo0KBB1IIiqqqivLwcDRo0iMr+kpnL5YLLxWZKIqo7TKVFRPXS2LFjcf3112PFihVBU2J98MEHcDqduPHGG/Vl6enpGD9+PJYtW4Zdu3bV9umiZcuWAOD3IFhRUYEHH3wQnTt3RlpaGtq2bYt7771XH+6+fft2KIqCJUuW4I8//tCHmWu9t0pLS3HXXXehbdu2SEtLQ9euXfH0009DVVXTcRRFwa233orZs2ejR48eSEtLw4IFCwAAe/bswXXXXYcWLVogLS0NPXr0wBtvvBHR+9TO9+mnn8bUqVNx7LHHIiMjA+eeey527doFVVXxyCOPoE2bNmjQoAH++te/Ij8/37QPLT3XokWL0KtXL6Snp6N79+6YN2+eaT27HLXasPzt27fr+/vjjz/w7bff6p+f1nspPz8fd999N0488URkZWUhOzsbw4cPx9q1a/X9LV26VK8UXnvttfo+tLQCsjlGwr0uH3/8MU444QT989euDRERERFRTYRTb0pLS9PrLbGSk5ODBg0a+NWbPB4Pnn/+efTo0QPp6elo0aIFJkyYgCNHjujrKIqCmTNnorS01O+Zvbq6Go888gg6deqEtLQ0dOjQAffdd59fmjGtLrJw4UL06dMHDRo0wCuvvAIAKCgowO23364/43fu3BlPPPFExKPHtbrA3Llz0b17dzRo0AD9+vXDunXrAACvvPIKOnfujPT0dAwcOFCv32i09FyrV6/GGWecgQYNGqBjx454+eWXTetZ60eapUuXmuqWAwcOxPz587Fjxw7989PqOZWVlXjggQfQu3dvNGrUCJmZmTjrrLOwZMkSfX/bt29Hs2bNAAAPPfSQvo/JkycDkNffwr0uP/zwA0477TSkp6fj2GOPxVtvvRXux05ESYShWCKqt6666irMmDEDixYtwjnnnGO73q+//orjjjsO2dnZpuWnnXYaAGDNmjUhpeMKh9bY7/F4sGfPHjzyyCNIT0/HZZddpq/j8Xhw4YUX4ocffsCNN96Ibt26Yd26dXjuueewadMmfPzxx2jWrBnefvtt/Oc//0FJSQmmTJkCAOjWrRtUVcWFF16IJUuWYPz48ejVqxcWLlyIe+65B3v27PFLu/XNN9/g/fffx6233oqmTZuiQ4cOOHDgAE4//XT9obxZs2b48ssvMX78eBQVFUU8hHr27NmorKzExIkTkZ+fjyeffBKXXXYZBg8ejKVLl+If//gHtmzZghdffBF33323XyBm8+bN+Nvf/oa///3vGDduHGbOnIlLL70UCxYsCHitZZ5//nlMnDgRWVlZ+Ne//gUAaNGiBQBg27Zt+Pjjj3HppZeiY8eOOHDgAF555RUMGDAA69evR+vWrdGtWzc8/PDDeOCBB3DjjTfirLPOAgCcccYZ0uOFe11++OEHzJs3DzfffDMaNmyIF154AaNGjcLOnTtxzDHHhPVeiYiIiIisQq03xUJhYSEOHToEVVWRl5eHF198ESUlJbjyyitN602YMAGzZs3Ctddei9tuuw25ubl46aWX8Ouvv+LHH39ESkoK3n77bcyYMQM///wzXnvtNQDGM/v111+PN998E6NHj8Zdd92FFStWYMqUKdiwYQM++ugj07E2btyIMWPGYMKECbjhhhvQtWtXlJWVYcCAAdizZw8mTJiAdu3a4aeffsKkSZOwb9++iOfl+P777/Hpp5/illtuAQBMmTIFF1xwAe69915MmzYNN998M44cOYInn3wS1113Hb755hvT9keOHMH555+Pyy67DGPGjMH777+Pm266CampqbjuuuvCOpd//etfKCwsxO7du/U6S1ZWFgCgqKgIr732GsaMGYMbbrgBxcXFeP311zFs2DA9XXSzZs0wffp03HTTTbj44otxySWXAABOOukk22OGc122bNmC0aNHY/z48Rg3bhzeeOMNXHPNNejduzd69OgR1nsloiShEhElgJkzZ6oA1JUrV+rLHnzwQRWAevDgQek2R44cUQGoF198ccB99+jRQx08eLDf8j/++EMFoL788ss1O3mBds7W/3JyctQFCxaY1n377bdVh8Ohfv/996blL7/8sgpA/fHHH/VlAwYMUHv06GFa7+OPP1YBqI8++qhp+ejRo1VFUdQtW7boywCoDodD/eOPP0zrjh8/Xm3VqpV6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AuEcI0RUL82ZMwevvfYa+vXrhyFDhgRcd/To0XC73aZ0URUVFZg5cyb69u0bcGTGsccei6FDh+r/nXnmmRGdb35+Pn766Se0bNlSHwJ+2WWXYc+ePXj11Vf91j969ChKS0sD7vP888+H2+3GSy+9ZFr+3HPPQVEUDB8+POD2TqcTo0aNwocffqj3IhMdPHgw2NuqNXv37sVHH32k/15UVIS33noLvXr10ofka/NyiPl8S0tL8eabb/rtLzMz068iAHg/A2sPo7lz5/qNMNIqGrJ9WNX0uhARERERRUs49aaaaNWqlaneFGkAoaqqCosWLUJqaqreWH7ZZZfB7XbjkUce8Vu/uro66DP6+eefDwB4/vnnTcu1kfsjRowIel6XXXYZli1bhoULF/q9VlBQoAdz6lp1dTVeeeUV/ffKykq88soraNasGXr37g1AXm+y1o81mZmZfinRAGO0hlh3WrFiBZYtW2ZaLyMjA0Do9SagZteFiCgQjhghooT3wQcfICsrS5+ke+HChfjxxx/Rs2dPzJ07N+j2ffv2xaWXXopJkyYhLy8PnTt3xptvvont27f7jRSI9jmrqoq9e/fi9ddfx5EjR/Dyyy/rvWiuuuoqvP/++/j73/+OJUuW4Mwzz4Tb7caff/6J999/HwsXLjTl27UaOXIkBg0ahH/961/Yvn07evbsiUWLFuGTTz7B7bffbprQ287jjz+OJUuWoG/fvrjhhhvQvXt35Ofn45dffsFXX32F/Pz8qH0m4TjuuOMwfvx4rFy5Ei1atMAbb7yBAwcOYObMmfo65557Ltq1a4fx48fjnnvugdPpxBtvvIFmzZph586dpv317t0b06dPx6OPPorOnTujefPmGDx4MC644AI8/PDDuPbaa3HGGWdg3bp1mD17No499ljT9p06dUJOTg5efvllNGzYEJmZmejbt680n240rgsRERERUbhqWm8CgJdeegkFBQXYu3cvAOCzzz7D7t27AQATJ07U57qIli+//FIfWZ2Xl4c5c+Zg8+bN+Oc//6mP9h8wYAAmTJiAKVOmYM2aNTj33HORkpKCzZs3Y+7cufjvf/+L0aNH2x6jZ8+eGDduHGbMmIGCggIMGDAAP//8M958801cdNFFGDRoUNDzvOeee/Dpp5/iggsuwDXXXIPevXujtLQU69atwwcffIDt27ebRpzXldatW+OJJ57A9u3bcdxxx+G9997DmjVrMGPGDKSkpAAAevTogdNPPx2TJk1Cfn4+mjRpgnfffVcazOnduzfee+893HnnnTj11FORlZWFkSNH4oILLsC8efNw8cUXY8SIEcjNzcXLL7+M7t27m+bkbNCgAbp374733nsPxx13HJo0aYITTjgBJ5xwgt+xonFdiIgCUomIEsDMmTNVAOrKlSv1ZQ8++KAKQP8vPT1dbdOmjXrBBReob7zxhlpeXh7y/o8eParefffdasuWLdW0tDT11FNPVRcsWBD192E9ZwBqZmam2q9fP/X999/3W7+yslJ94okn1B49eqhpaWlq48aN1d69e6sPPfSQWlhYqK83YMAAtUePHn7bFxcXq3fccYfaunVrNSUlRe3SpYv61FNPqR6Px7QeAPWWW26RnvOBAwfUW265RW3btq2akpKitmzZUh0yZIg6Y8aMoO+3ffv26ogRI/Tfc3NzVQDqU089ZVpvyZIlKgB17ty5puWy667tc+HChepJJ52kpqWlqccff7zftqqqqqtXr1b79u2rpqamqu3atVOfffZZfZ+5ubn6evv371dHjBihNmzYUAWgDhgwQFVVVS0vL1fvuusutVWrVmqDBg3UM888U122bJk6YMAAfR3NJ598onbv3l11uVwqAHXmzJmqqqrquHHj1Pbt25vWrel1ad++vTpu3Di/5URERESU3Gq73tS+fXu/+oz2n/h8Ha33YT3vXr16qdOnT/d7blZVVZ0xY4bau3dvtUGDBmrDhg3VE088Ub333nvVvXv36uuMGzdOzczM9Nu2qqpKfeihh9SOHTuqKSkpatu2bdVJkyb5fTbW+o2ouLhYnTRpktq5c2c1NTVVbdq0qXrGGWeoTz/9tFpZWRnw/crqc7K6QDj1KW2fq1atUvv166emp6er7du3V1966SW/42/dulUdOnSompaWprZo0UK977771MWLF6sA1CVLlujrlZSUqFdccYWak5OjAtDrOR6PR33sscfU9u3bq2lpaerJJ5+sfv7559K60E8//aT27t1bTU1NVQGoDz74oKqqRjkV1fS6yOptREQaRVU5CxERESWODh064IQTTsDnn38e61MhIiIiIiKKSwMHDsShQ4ekaZGJiIhzjBARERERERERERERURJhYISIiIiIiIiIiIiIiJIGAyNERERERERERERERJQ0OMcIERERERERERERERElDY4YISIiIiIiIiIiIiKipMHACBERERERERERERERJQ1XrE8gEh6PB3v37kXDhg2hKEqsT4eIiIiIqNapqori4mK0bt0aDgf7N1FwrDcRERERUTIJp86UkIGRvXv3om3btrE+DSIiIiKiOrdr1y60adMm1qdBCYD1JiIiIiJKRqHUmRIyMNKwYUMA3jeYnZ0d47MhIiIiIqp9RUVFaNu2rf4sTBQM601ERERElEzCqTMlZGBEGwaenZ3NB3wiIiIiSipMiUShYr2JiIiIiJJRKHUmJicmIiIiIiIiIiIiIqKkwcAIERERERERERERERElDQZGiIiIiIiIiIiIiIgoaSTkHCOhUFUV1dXVcLvdsT6VesPpdMLlcjGvNRERERFRPeF2u1FVVRXr06hXWG8iIiIiin/1MjBSWVmJffv2oaysLNanUu9kZGSgVatWSE1NjfWpEBERERFRDZSUlGD37t1QVTXWp1LvsN5EREREFN/qXWDE4/EgNzcXTqcTrVu3RmpqKnvqRIGqqqisrMTBgweRm5uLLl26wOFgJjYiIiIiokTkdruxe/duZGRkoFmzZqwzRQnrTURERESJod4FRiorK+HxeNC2bVtkZGTE+nTqlQYNGiAlJQU7duxAZWUl0tPTY31KREREREQUgaqqKqiqimbNmqFBgwaxPp16hfUmIiIiovhXb7uusFdO7eDnSkRERERUf3CkSO1gvYmIiIgovvFpjYiIiIiIqI5NnjwZiqKY/jv++OP118vLy3HLLbfgmGOOQVZWFkaNGoUDBw7E8IyJiIiIiOoPBkaIiIiIiIhioEePHti3b5/+3w8//KC/dscdd+Czzz7D3Llz8e2332Lv3r245JJLYni2RERERET1BwMj9UiHDh3w/PPPx/o0iIiIiIgoBC6XCy1bttT/a9q0KQCgsLAQr7/+Op599lkMHjwYvXv3xsyZM/HTTz9h+fLlMT7rxMY6ExEREREBDIwQERFRDRSUVeLtZdvx/qpdsT4VIqKEs3nzZrRu3RrHHnssxo4di507dwIAVq9ejaqqKgwdOlRf9/jjj0e7du2wbNmyWJ0uEREREcXYT1sO4e1l2/H7nsJYn0rCY2CEiIiIIpZXXIH7P/kDT3z5Z6xPhYgoofTt2xezZs3CggULMH36dOTm5uKss85CcXEx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wEiKszaVlsmMkT+e2bbO5aD4pk3jJAqerXauHVOxERERUaL5/m8jYl0EIiKqJ366b2RA2zGBEcWD1CQ7fg7wmKWGISKLr/vz5JNPwmaz4ZJLLkFlZSVGjhyJZ599Niz7tpoa7rBJSHbYkFQ7UyQt2Y70JDtqXOzYbIisAmhEgUiy25DqtMPmb4U5IiIiIiIiogaO67wSUTyKSmBk8eLFur9TUlIwa9YszJo1K+yvJamLCerv//dVfXV/fzT59LC/NiUOLb8lL8oUvJnjese6CEREREREREQJQYJ+PWAiongQ9sXXY00Zwc3c/+SLmgoptsUgIiIiIiIiIqrXtBkjsS0HEZGo/gVGeLKlAEhcfJ2IiIiIiIiIKGq44DURxZN6GBhhhzcFgAE0IiIiIiIiIqKI4zqvRBSPYrL4eiQ5bBJaNU6DnYsikw/pSQ60apyGopzUWBeFiIiIiIiIiKjeSnLY0KpxGnLTk2JdFCIilSQn4OrTpaWlyM7OxrFjx5CVlRXr4hARERERRRzrwBQsHjNERERE1JAEU/+td6m0iIiIiIiIiIiIiIiIrDAwQkREREREREREREREDQYDI0RERERERERERERE1GAwMEJERERERERERERERA0GAyNERERERERERERERNRgMDBCREREREREREREREQNBgMjRERERERERERERETUYDAwQkREREREREREREREDQYDI0RERERERERERERE1GAwMEJERERERERERERERA0GAyNERERERERERERERNRgMDBCREREREREREREREQNBgMjRERERERERERERETUYDhiXYBQyLIMACgtLY1xSYiIiIiIokOp+yp1YSJ/2G4iIiIiooYkmDZTQgZGDh8+DAAoLi6OcUmIiIiIiKLr8OHDyM7OjnUxKAGw3UREREREDVEgbaaEDIzk5uYCAHbs2BEXjcJ+/frh+++/j3UxAMRXWYD4KU9paSmKi4uxc+dOZGVlxbo4cfO5APFVFiB+ysNjxhrLYo7HjLV4KgsQP+XhMWMtnsoCxE95jh07hhYtWqh1YSJ/4qndFC+/I0U8lSeeyhJP16Z4+lziqSxA/JQnno4XIH4+FyC+ygLET3ni7ZgB4uezAVgWK/F03MTT5wLEV3nipSzBtJkSMjBis3mWRsnOzo75DwIA7HZ7XJQDiK+yAPFXnqysrLgoTzx9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IiLBq6++ik6dOsHpdCInJyfWxWnQWrVqhQkTJsS6GEREABgYIaJ64uWXX4YkSVi1apV633333QdJktT/0tLS0KJFC4wePRpz5sxBZWVlwPuvrKzE3XffjaKiIqSmpmLAgAFYuHBhJN6K6q677oIkSbj88stNH//8889x11134bTTTsOcOXPwyCOPYM+ePbjvvvuwZs2aiJZNtHjxYkiShLfffjtqrxmKcHw2n3zyCYMfRERERJSQItlmKisrw7Rp03DOOecgNzcXkiTh5ZdfjtA70Tz77LOQJAkDBgwwfXz9+vWYMGEC2rZti//85z+YPXs2ysvLcd9992Hx4sURL59i27ZtkCQJM2bMiNprhiIcn813332H++67DyUlJWErFxFRJDhiXQAiokj797//jYyMDFRWVmL37t347LPPcN1112HmzJn46KOPUFxc7HcfEyZMwNtvv40pU6agffv2ePnll3Huuefiq6++wuDBg8NeZlmW8frrr6NVq1b48MMPcfz4cWRmZuq2WbRoEWw2G1588UUkJSUBAFatWoX7778frVq14gwSgz179tT5s/nkk08wa9Ys0+DIyZMn4XDwskpEREREiaeubaZDhw7hgQceQIsWLdCzZ8+oBR3mzZuHVq1aYeXKldi8eTPatWune3zx4sVwu9146qmn1McOHTqE+++/HwAwZMiQqJQzUZSXl9f5s/nuu+9w//33Y8KECV4zdDZs2ACbjWO0iSg+8GxERPXepZdeiquuugoTJ07Evffei6VLl+K1117DunXrMHbsWL/PX7lyJd544w1Mnz4djz32GG688UYsWrQILVu2xF133RWRMi9evBi7du3CSy+9hJqaGrz77rte2xw4cACpqalqUCSSTpw4EfHXSHQpKSkMjBARERFRQqprm6mwsBB79+7F9u3b8dhjj0WhxMDWrVvx3Xff4YknnkBeXh7mzZvntc2BAwcAICoptNhm8i85ORlOpzPWxSAiAsDACBE1UOPHj8f111+PFStW+E2J9fbbb8Nut+PGG29U70tJScHEiROxbNky7Ny5M+zlmzdvHrp06YKhQ4dixIgRXpV8SZIwZ84cnDhxQp32/vLLL6Nfv34AgGuvvVZ3v2LFihU455xzkJ2djbS0NJx55plYunSpbt/KdPpff/0VV155JRo1ahT0rBhlHxs3bsRVV12F7Oxs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iwNmZmbivPPOM82ZG6g1a9Zg06ZNuPLKK3H48GEcOnQIhw4dwokTJzB8+HB8/fXXcLvduuf86U9/qtP7AIDrr79evW2323HKKadAlmVMnDhRvT8nJwcdO3bE77//7vX8q6++Wrfo/KWXXorCwkJ88skndS6bSJx9cuLECRw6dAiDBg2CLMv48ccfg96fy+XC559/josuught2rRR7y8sLMSVV16Jb7/9FqWlpbrn3HjjjbrUXKeffjpcLhe2b98ewjsiIiIiIqq7QNtM0TZv3jzk5+dj6NChADxpbS+//HK88cYbcLlcIe3zyJEjWLRoES677DIcP35cbTMdPnwYI0eOxKZNm7B7927dc2644QbY7fY6vZeJEyfq2gEDBgzwajMpbSmzNtNFF12EZs2aqX/3798fAwYMiGibqaKiAocOHcKpp54KAPjhhx9C2ucnn3yC/v3761I3Z2Rk4MYbb8S2bdvw66+/6ra/9tprdWtsKpkAzD4XIiJ/mEqLiBqssrIyANB1vJtJTU1FZWWl1/0VFRXq475eQ3kdwFOhtZpGDAAlJSX45JNPcMstt+hypZ522ml45513sHHjRnTo0MFnec1s2rQJAHDNNddYbnPs2DE0atRI/bt169ZBv45RixYtdH9nZ2cjJSVFnVIt3i/mplW0b99e97ckSWjXrp2aozZcduzYgXvvvRcffPABjh49qnvs2LFjQe/v4MGDKC8vR8eOHb0e69y5M9xuN3bu3ImuXbuq9xs/K+W7MJaHiIiIiChaAm0z1cXJkye96ty+1itxuVx44403MHToUGzdulW9f8CAAXj88cfx5Zdf4uyzzw66HJs3b4Ysy7jnnntwzz33mG5z4MABXRAiUm0mAF7pmrOzs03bBsY2EwB06NABb731Vp3LJjpy5Ajuv/9+vPHGG+qi9opQ2kwAsH37dq8Uw4CnzaQ83q1bN/V+tpmIKJwYGCGiBktZkE6ZmWGlsLDQa2QQAOzduxcAUFRUZPncGTNm4P7771f/btmypc9O/QULFqCyshKPP/6414LkgGdklLi/QCmzQR577DH06tXLdBtlNJgimDU8rJiNnrIaUSWHuI6JOLpK5HK5Ahq95XK5cNZZZ+HIkSO4++670alTJ6Snp2P37t2YMGGC10yaSAn350JEREREVFeBtpnq4s0338S1116ru89XHXjRokXYu3cv3njjDbzxxhtej8+bNy+kwIhS77/jjjswcuRI022Mn0Ok2kxW99elzWT23GBm11x22WX47rvvcOedd6JXr17IyMiA2+3GOeecwzYTESUkBkaIqMFSFtC2qvQqevXqha+++gqlpaW6BdiVBd6sAg2AJxWUOC3YX8V53rx56NatG6ZNm+b12PPPP4/58+f7DIxYBQnatm0LAMjKysKIESN8liGeKDNdFLIsY/PmzeoCgIBnlFBJSYnXc7dv365LY2X12fz888/YuHEjXnnlFd1ChgsXLvTa1mofRnl5eUhLS8OGDRu8Hlu/fj1sNpvXCDAiIiIiongTaJupLkaOHGla97Yyb948NG3aFLNmzfJ67N1338V7772H5557zrLtZVWnV9oOTqczodtMALBx40a0atVK/btRo0am6aaMaXutPpujR4/iyy+/xP333497773X52sH2mYCPAMHrdpMyuNERJHCwAgRNUjz58/HCy+8gIEDB2L48OE+t7300ksxY8YMzJ49G3fccQcAoLKyEnPmzMGAAQN8dnC3adNG1znvy86dO/H111/j/vvvx6WXXur1eFVVFcaPH48VK1aYTjcGgPT0dADwChT07dsXbdu2xYwZM3DllVd6zQ45ePCgzxRfsTJ37lxMnTpVnbr/9ttvY+/evbj77rvVbdq2bYtvvvkGVVVVar7Zjz76CDt37tR99lafjTLqSBxlJMsynnrqKa/yiPvIycmxLLfdbsfZZ5+N//73v9i2bZvaKNm/fz/mz5+PwYMH64JsRERERETxJpg2U10UFhaisLAwoG1PnjyJd999F2PHjjVtMxUVFeH111/HBx98gMsvv9x0H2lpaQC82wVNmzbFkCFD8Pzzz2Py5MleZYrXNtP777+P3bt3qym+Vq5ciRUrVmDKlCnqNm3btsUnn3yiew9r167F0qVLde1Zq8/GrM0EADNnzvQqj1W7y8y5556LmTNnYtmyZRg4cCAAz5qPs2fPRqtWrdClSxe/+yAiChUDI0RU77399tvIyMhAVVUVdu/ejc8++wxLly5Fz549sWDBAr/PHzBgAMaOHYupU6fiwIEDaNeuHV555RVs27YNL774YtjKOX/+fMiyjAsuuMD08XPPPRcOhwPz5s2zDIy0bdsWOTk5eO6555CZmYn09HQMGDAArVu3xgsvvIBRo0aha9euuPbaa9GsWTPs3r0bX331FbKysvDhhx+G7b2ES25uLgYPHoxrr70W+/fvx8yZM9GuXTvccMMN6jbXX3893n77bZxzzjm47LLLsGXLFrz22mvqLBmF1WfTqVMntG3bFnfccQd2796NrKwsvPPOO6Z5avv27QsAuPXWWzFy5EjY7XaMGzfOtOwPPfQQFi5ciMGDB+Pmm2+Gw+HA888/j8rKSvzzn/8M46dERERERFQ3dW0zAcAzzzyDkpIS7NmzBwDw4YcfYteuXQCAyZMnq2tn1MUHH3yA48ePW7aZTj31VOTl5WHevHmWgZHU1FR06dIFb775Jjp06IDc3Fx069YN3bp1w6xZszB48GB0794dN9xwA9q0aYP9+/dj2bJl2LVrF9auXVvn9xBu7dq1w+DBg3HTTTehsrISM2fOROPGjXHXXXep21x33XV44oknMHLkSEycOBEHDhzAc889h65du6K0tFTdztdnc8YZZ+Cf//wnqqur0axZM3z++ee6NV4USpvpb3/7G8aNGwen04nRo0erARPRX/7yF7z++usYNWoUbr31VuTm5uKVV17B1q1b8c4778Bms0XgEyMi8mBghIjqvZtuugkA1EW/e/XqhZdeeglXXnklkpOTA9rH3Llzcc899+DVV1/F0aNH0aNHD3z00Uc444wzwlbOefPmoUWLFujZs6fp4zk5ORg8eDDefPNNPPHEE6bbOJ1OvPLKK5g6dSr+9Kc/oaamBnPmzEHr1q0xZMgQLFu2DA8++CCeeeYZlJWVoaCgAAMGDMAf//jHsL2PcPrrX/+Kn376CdOnT8fx48cxfPhwPPvss+pIJsAz9f7xxx/HE088gSlTpuCUU07BRx99hP/7v//T7cvqs5kwYQI+/PBD3HrrrZg+fTpSUlJw8cUX45ZbbvH6LsaMGYPJkyfjjTfewGuvvQZZli0DI127dsU333yDqVOnYvr06XC73RgwYABee+01y8AWEREREVEshKPNNGPGDF1qpnfffRfvvvsuAOCqq64KS2Bk3rx5SElJwVlnnWX6uM1mw3nnnYd58+bh8OHDlvt54YUXMHnyZNx2222oqqrCtGnT0K1bN3Tp0gWrVq3C/fffj5dffhmHDx9G06ZN0bt3b10KqXhy9dVXw2azYebMmThw4AD69++PZ555RjfjpXPnzpg7dy7uvfde3H777ejSpQteffVVzJ8/H4sXL9btz+qzmT9/PiZPnoxZs2ZBlmWcffbZ+N///ue15ma/fv3w4IMP4rnnnsOnn34Kt9uNrVu3mgZG8vPz8d133+Huu+/G008/jYqKCvTo0QMffvghzjvvvIh8XkRECknmCkVERBRnFi9ejKFDh2LBggWmU+SJiIiIiIgasm3btqF169Z47LHH1JTPREQUOM5JIyIiIiIiIiIiIiKiBoOBESIiIiIiIiIiIiIiajAYGCEiIiIiIiIiIiIiogaDa4wQEREREREREREREVGDwRkjRERERERERERERETUYDAwQkREREREREREREREDYYj1gUIhdvtxp49e5CZmQlJkmJdHCIiIiKiiJNlGcePH0dRURFsNo5vIv/YbiIiIiKihiSYNlNCBkb27NmD4uLiWBeDiIiIiCjqdu7ciebNm8e6GJQA2G4iIiIiooYokDZTQgZGMjMzAXjeYFZWVoxLQ0REREQUeaWlpSguLlbrwkT+sN1ERERERA1JMG2mhAyMKNPAs7KyWMEnIiIiogaFKZEoUGw3EREREVFDFEibicmJiYiIiIiIiIiIiIiowWBghIiIiIiIiIiIiIiIGgwGRoiIiIiIiIiIiIiIqMFIyDVGAiHLMmpqauByuWJdFGog7HY7HA4H834TERERUcJwuVyorq6OdTGoAXE6nbDb7bEuBhERETVw9TIwUlVVhb1796K8vDzWRaEGJi0tDYWFhUhKSop1UYiIiIiIfCorK8OuXbsgy3Ksi0INiCRJaN68OTIyMmJdFCIiImrA6l1gxO12Y+vWrbDb7SgqKkJSUhJH8FPEybKMqqoqHDx4EFu3bkX79u1hszFTHRERERHFJ5fLhV27diEtLQ15eXlsM1FUyLKMgwcPYteuXWjfvj1njhAREVHM1LvASFVVFdxuN4qLi5GWlhbr4lADkpqaCqfTie3bt6OqqgopKSmxLhIRERERkanq6mrIsoy8vDykpqbGujjUgOTl5WHbtm2orq5mYISIiIhipt4OaedofYoFHndERERElEg4U4SijcccERERxQP24hIREREREUXZfffdB0mSdP916tRJfbyiogKTJk1C48aNkZGRgUsuuQT79++PYYmJiIiIiOoPBkaIiIiIiIhioGvXrti7d6/637fffqs+dtttt+HDDz/EggULsGTJEuzZswdjxoyJYWmJiIiI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hxwwugobtrVgyqB+2d4VIiLKcfMbK/H5rlaMrC4xXU7MMUKULf0KwmgaXIY44igvjGR7d8gHcjowwsgIERERERGRff938hQAnEKCiIhSt/q0aQCs7ymMi5AfKIqCu742I/E3UU4HRgKMjBAREREREdnGhgAiIvKK3XsKR4yQX/A5iEQ5nWOERZmIiIiIiIiIiIiIiJzI7cAIIyNERERERERERES+xREjRORHuR0Y4ZgRIiIiIiIiIiIi3+rszPYeEBEly+nACOMiRERERERERERE/jV2QCzbu0BElCSnk68zLkJERERERERERORfI6qL8eevzUR1SV62d4WIKCGnAyMBJhkhIiIiIiIiIiLytaaGsmzvAhGRRk5PpcW4CBEREREREREREREROcHACBERERERERERERER9Rm5HRhhlhEiIiIiIiIiIiIiInIgtwMjjIsQEREREREREREREZEDOR0YISIiIiIiIiIiIiIiciKnAyMBDhkhIiIiIiIiIiIiIiIHcjowwrgIERERERERERERERE5kduBESZfJyIiIiIiIiIiIiIiB3I7MMK4CBEREREREREREREROZDbgZFs7wAREREREREREREREeWUnA6MMDJCRERERERERERERERO5HRgROFcWkRERERERERERERE5EBuB0ayvQNERERERERERERERJRTcjswwhEjRERERERERERERETkQG4HRrK9A0RERERERERERERElFNyOzDCyAgRERERERERERERETnAwAgREREREREREREREfUZOR4YYWSEiIiIiIiIiIiIiIjsy+3ASLZ3gIiIiIiIiIiIiIiIckpWAyM33ngjBg8ejLy8PEyfPh0vvviio89zxAgREREREfVmqdaZiIiIiIgoWdYCI3fddRfOP/98XH755Xj11VcxYcIELFmyBJ9++qntdTAsQkREREREvZUXdSYiIiIiIkqWtcDI9ddfjzPPPBOnnXYaRo8ejV//+tcoKCjALbfcYnsdHDBCRERERES9lRd1JiIiIiIiSpaVwMi+ffvwyiuvYNGiRT07Eghg0aJFeO6555KWb21tRXNzs+Y/AFA4ZoSIiIiIiHohp3UmwLjeREREREREWlkJjHz++efo6OhAVVWV5vWqqips2bIlaflVq1YhFosl/qurqwMA5IUZGCEiIiIiot7HaZ0JMK43ERER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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(2, 2, figsize=(20, 10))\n",
+ "\n",
+ "# Before imputation\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 0].plot(\n",
+ " x=dataset.date_column, y=dataset.target_column, ax=ax[0, 0]\n",
+ ")\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 1].plot(\n",
+ " x=dataset.date_column, y=dataset.target_column, ax=ax[0, 1]\n",
+ ")\n",
+ "\n",
+ "# After imputation\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 0].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__imputed\", ax=ax[1, 0]\n",
+ ")\n",
+ "data[\"raw_ts_X\"][data[\"raw_ts_X\"][\"id\"] == 1].plot(\n",
+ " x=dataset.date_column, y=f\"{dataset.target_column}__imputed\", ax=ax[1, 1]\n",
+ ")\n",
+ "\n",
+ "plt.suptitle(\"Missing Values Imputed Data\")\n",
+ "ax[0, 0].set_title(\"ID 0 - Before Imputation\")\n",
+ "ax[0, 1].set_title(\"ID 1 - Before Imputation\")\n",
+ "ax[1, 0].set_title(\"ID 0 - After Imputation\")\n",
+ "ax[1, 1].set_title(\"ID 1 - After Imputation\")\n",
+ "\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Series2Features](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- These transformers are responsible for creating the feature matrix for the base model.\n",
+ "- During the feature matrix generation stage, they take the transformed data from the long series and convert it into specific features for the model."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [LagTransformer & TargetGenerator](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`LagTransformer`: generates lags, which create time-shifted features.\n",
+ "- The lags in the `lags` parameter can be represented as an integer value (which generates a range(k)), or as a sequence of numbers. Lags that exceed the available history will be truncated (i.e., if the history length is 7, lags beyond 7 will not be generated).\n",
+ "\n",
+ "For the target variable, it is important to apply the `TargetGenerator`, which generates targets for the model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_ts_X:\n",
+ " date value id\n",
+ "0 2013-01-01 48.0 0\n",
+ "1 2013-01-02 44.0 0\n",
+ "2 2013-01-03 60.0 0\n",
+ "3 2013-01-04 56.0 0\n",
+ "4 2013-01-05 50.0 0\n",
+ "5 2013-01-06 63.0 0\n",
+ "6 2013-01-07 27.0 0\n",
+ "7 2013-01-08 54.0 0\n",
+ "8 2013-01-09 55.0 0\n",
+ "9 2013-01-10 45.0 0\n",
+ "10 2013-01-11 53.0 0\n",
+ "11 2013-01-12 60.0 0\n",
+ "12 2013-01-13 7888.0 0\n",
+ "13 2013-01-14 44.0 0\n",
+ "14 2013-01-15 41.0 0\n",
+ "X after generating lags:\n",
+ "[[ 54. 55. 45.]\n",
+ " [ 55. 45. 53.]\n",
+ " [ 45. 53. 60.]\n",
+ " [ 53. 60. 7888.]\n",
+ " [ 60. 7888. 44.]]\n",
+ "y after generating lags:\n",
+ "[[ 53. 60. 7888.]\n",
+ " [ 60. 7888. 44.]\n",
+ " [7888. 44. 41.]\n",
+ " [ 44. 41. 54.]\n",
+ " [ 41. 54. 51.]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset_copy = deepcopy(dataset)\n",
+ "data = Pipeline.create_data_dict_for_pipeline(dataset_copy, features_idx, target_idx)\n",
+ "\n",
+ "lag_transformer = LagTransformer(lags=[0, 1, 2])\n",
+ "target_generator = TargetGenerator()\n",
+ "\n",
+ "data = lag_transformer.fit_transform(data, input_features=[dataset.target_column])\n",
+ "data = target_generator.fit_transform(data, input_features=[dataset.target_column])\n",
+ "\n",
+ "# Now let's create features and target matrix \n",
+ "data = lag_transformer.generate(data)\n",
+ "data = target_generator.generate(data)\n",
+ "\n",
+ "print(\"raw_ts_X:\")\n",
+ "print(data[\"raw_ts_X\"][:15])\n",
+ "\n",
+ "print(\"X after generating lags:\")\n",
+ "print(data[\"X\"][:5])\n",
+ "\n",
+ "print(\"y after generating lags:\")\n",
+ "print(data[\"y\"][:5])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "It is important to emphasize again that we set the history length to 10 and the forecasting horizon to 3. Therefore, the first row in X starts from the 7th point of the original time series."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Features2Features](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- These transformers work directly with the feature matrix generated by the previous transformers. They can make changes to the already existing feature matrix."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [LastKnownNormalizer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`LastKnownNormalizer`: normalization by subtracting or dividing lags based on the last known values."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- The **transform_features** and **transform_target** parameters allow independent control over the normalization of features and targets. It may be beneficial, in terms of model performance, to normalize only the features while keeping the targets in their original scale, or vice versa.\n",
+ "- The **regime** parameter defines the method of normalization (either we divide by the last known lag — **ratio**, or subtract the last known lag from all lags — **delta**)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X before last known normalization:\n",
+ "[[ 54. 55. 45.]\n",
+ " [ 55. 45. 53.]\n",
+ " [ 45. 53. 60.]\n",
+ " [ 53. 60. 7888.]\n",
+ " [ 60. 7888. 44.]]\n",
+ "y before last known normalization:\n",
+ "[[ 53. 60. 7888.]\n",
+ " [ 60. 7888. 44.]\n",
+ " [7888. 44. 41.]\n",
+ " [ 44. 41. 54.]\n",
+ " [ 41. 54. 51.]]\n",
+ "X after delta last known normalization:\n",
+ "[[ 9.000e+00 1.000e+01 0.000e+00]\n",
+ " [ 2.000e+00 -8.000e+00 0.000e+00]\n",
+ " [-1.500e+01 -7.000e+00 0.000e+00]\n",
+ " [-7.835e+03 -7.828e+03 0.000e+00]\n",
+ " [ 1.600e+01 7.844e+03 0.000e+00]]\n",
+ "y after delta last known normalization:\n",
+ "[[ 8.000e+00 1.500e+01 7.843e+03]\n",
+ " [ 7.000e+00 7.835e+03 -9.000e+00]\n",
+ " [ 7.828e+03 -1.600e+01 -1.900e+01]\n",
+ " [-7.844e+03 -7.847e+03 -7.834e+03]\n",
+ " [-3.000e+00 1.000e+01 7.000e+00]]\n",
+ "X after ratio last known normalization:\n",
+ "[[1.20000000e+00 1.22222222e+00 1.00000000e+00]\n",
+ " [1.03773585e+00 8.49056604e-01 1.00000000e+00]\n",
+ " [7.50000000e-01 8.83333333e-01 1.00000000e+00]\n",
+ " [6.71906694e-03 7.60649087e-03 1.00000000e+00]\n",
+ " [1.36363636e+00 1.79272727e+02 1.00000000e+00]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "last_known_delta = LastKnownNormalizer(\n",
+ " transform_features=True,\n",
+ " transform_target=True,\n",
+ " regime=\"delta\",\n",
+ ")\n",
+ "\n",
+ "last_known_ratio = LastKnownNormalizer(\n",
+ " transform_features=True,\n",
+ " transform_target=False,\n",
+ " regime=\"ratio\",\n",
+ ")\n",
+ "\n",
+ "data_lkn_delta = deepcopy(data)\n",
+ "data_lkn_ratio = deepcopy(data)\n",
+ "\n",
+ "data_lkn_delta = last_known_delta.fit_transform(data_lkn_delta, input_features=lag_transformer.output_features)\n",
+ "data_lkn_ratio = last_known_ratio.fit_transform(data_lkn_ratio, input_features=lag_transformer.output_features)\n",
+ "\n",
+ "print(\"X before last known normalization:\")\n",
+ "print(data[\"X\"][:5])\n",
+ "\n",
+ "print(\"y before last known normalization:\")\n",
+ "print(data[\"y\"][:5])\n",
+ "\n",
+ "data_lkn_delta = last_known_delta.generate(data_lkn_delta)\n",
+ "data_lkn_ratio = last_known_ratio.generate(data_lkn_ratio)\n",
+ "\n",
+ "print(\"X after delta last known normalization:\")\n",
+ "print(data_lkn_delta[\"X\"][:5])\n",
+ "\n",
+ "print(\"y after delta last known normalization:\")\n",
+ "print(data_lkn_delta[\"y\"][:5])\n",
+ "\n",
+ "print(\"X after ratio last known normalization:\")\n",
+ "print(data_lkn_ratio[\"X\"][:5])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Sequential & Union](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`SequentialTransformer`:\n",
+ "- This transformer allows you to apply a sequence of transformers one after another. Each transformer in the sequence receives the output of the previous one as input.\n",
+ "- For example, you can first normalize the data using `StandardScalerTransformer`, and then generate lags using `LagTransformer`.\n",
+ "\n",
+ "`UnionTransformer`:\n",
+ "- This transformer allows you to apply several transformers in parallel, after which their results, presented as a feature matrix (not a long series!), are combined.\n",
+ "- For example, you can apply several transformers at once, such as `DateSeasonsGenerator` for generating seasonal features and `OneHotEncodingTransformer` for encoding categorical features, and combine their results into a single table."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Pipeline](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "After exploring the different types of transformers, we can combine them into a single chain using the `Pipeline` class. The `Pipeline` acts as a wrapper around the transformers and makes it easy to manage sequential or parallel data transformations using `SequentialTransformer` and `UnionTransformer`."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "There are several ways to initialize the `Pipeline` class — let's go through them, from simple but less functional, to complex but more flexible."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "So, there are two ways to build a pipline from transformers: initialise the transformers of interest by hand or use a config in the form of a dictionary. Let's look at both ways."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "standard_scaler = StandardScalerTransformer(\n",
+ " transform_features=True,\n",
+ " transform_target=True\n",
+ ")\n",
+ "\n",
+ "lag = LagTransformer(lags=3)\n",
+ "date_lag = LagTransformer(lags=3)\n",
+ "id_lag = LagTransformer(lags=1)\n",
+ "\n",
+ "target_generator = TargetGenerator()\n",
+ "\n",
+ "date_seasons = DateSeasonsGenerator(\n",
+ " seasonalities=[\"doy\", \"m\", \"wd\"],\n",
+ " from_target_date=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "union_1 = UnionTransformer(transformers_list=[lag, target_generator])\n",
+ "\n",
+ "seq_1 = SequentialTransformer(transformers_list=[standard_scaler, union_1], input_features=[\"value\"])\n",
+ "seq_2 = SequentialTransformer(transformers_list=[date_seasons, date_lag], input_features=[\"date\"])\n",
+ "seq_3 = SequentialTransformer(transformers_list=[id_lag], input_features=[\"id\"])\n",
+ "\n",
+ "union = UnionTransformer(transformers_list=[seq_1, seq_2, seq_3])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_1 = Pipeline(union, multivariate=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'transformers': ,\n",
+ " 'multivariate': False,\n",
+ " 'is_fitted': False,\n",
+ " 'strategy_name': None,\n",
+ " 'output_features': None,\n",
+ " 'y_original_shape': None}"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pipeline_1.__dict__"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Or:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"features\": {\n",
+ " \"StandardScalerTransformer\":\n",
+ " {\n",
+ " \"transform_target\": True, \n",
+ " \"transform_features\": True\n",
+ " },\n",
+ " \"LagTransformer\": {\"lags\": 7},\n",
+ " },\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"features\": {\n",
+ " \"DateSeasonsGenerator\": {\n",
+ " # Use seasonality features from the date column as \n",
+ " # features with datetime lags\n",
+ " # Possible values: [\n",
+ " # \"y\": year, \"m\": month, \"d\": day, \n",
+ " # \"wd\": weekday, \"doy\": dayofyear,\n",
+ " # \"hour\": hour, \"min\": minute, \"sec\": second, \n",
+ " # \"ms\": microsecond, \"ns\": nanosecond\n",
+ " # ]\n",
+ " \"seasonalities\": ['doy', 'm', 'wd'], \n",
+ " # Use date from target point to make datetime features\n",
+ " \"from_target_date\": True,\n",
+ " },\n",
+ " \"LagTransformer\": {\"lags\": 3}\n",
+ " },\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"features\": {\n",
+ " \"LagTransformer\": {\"lags\": 1},\n",
+ " },\n",
+ " }\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Or:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline_easy_params = {\n",
+ " \"target_lags\": 3,\n",
+ " \"date_lags\": 1,\n",
+ "# \"exog_lags\": 1, # Uncomment this line if you have exogenous features\n",
+ " # One from [\"none\", \"standard_scaler\", \"difference_normalizer\", \"last_known_normalizer\"]\n",
+ " \"target_normalizer\": \"standard_scaler\",\n",
+ " # One from [\"none\", \"delta\", \"ratio\"] (MUST BE \"none\" for \"standard_scaler\" and NOT \"none\" for others)\n",
+ " \"target_normalizer_regime\": \"none\",\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pipeline = Pipeline.easy_setup(dataset_params, pipeline_easy_params, multivariate=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### [Can I use exogenous variables in the pipeline?](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Yes! Exogenous variables can also be specified here. Just include them in your pipeline.\n",
+ "\n",
+ "However, their operation is currently tested only for the `MIMOStrategy` in global-modelling. For other strategies support of additional variables is under development."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# pipeline_params[\"exog_group_1\"] = {\n",
+ "# \"columns\": [\"value\"],\n",
+ "# \"features\": {\n",
+ "# \"StandardScalerTransformer\":\n",
+ "# {\n",
+ "# \"transform_target\": False, \n",
+ "# \"transform_features\": True\n",
+ "# },\n",
+ "# \"LagTransformer\": {\"lags\": 7},\n",
+ "# },\n",
+ "# }"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "__Make sure you have the transform_target = False flag for exogenous features!__"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "tsururu_test",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.13"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/Tutorial_4_Neural_Networks.ipynb b/examples/Tutorial_4_Neural_Networks.ipynb
new file mode 100644
index 0000000..e95e85d
--- /dev/null
+++ b/examples/Tutorial_4_Neural_Networks.ipynb
@@ -0,0 +1,3758 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Table of contents** \n",
+ "- [Initialize TSDataset, Pipeline, Model, Validator, Strategy](#toc1_1_) \n",
+ " - [TSDataset](#toc1_1_1_) \n",
+ " - [Pipeline](#toc1_1_2_) \n",
+ " - [Trainer](#toc1_1_3_) \n",
+ " - [Strategy](#toc1_1_4_) \n",
+ "- [Save and load checkpoints](#toc2_) \n",
+ " - [Save checkpoint](#toc2_1_1_) \n",
+ " - [Load checkpoint for finetune](#toc2_2_) \n",
+ " - [Load checkpoint for inference](#toc2_3_) \n",
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import warnings\n",
+ "\n",
+ "warnings.filterwarnings(\"ignore\")\n",
+ "\n",
+ "from pathlib import Path\n",
+ "from typing import List, Optional, Union\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from tsururu.dataset import Pipeline, TSDataset\n",
+ "from tsururu.model_training.trainer import DLTrainer\n",
+ "from tsururu.model_training.validator import KFoldCrossValidator\n",
+ "from tsururu.models.torch_based.dlinear import DLinear_NN\n",
+ "from tsururu.strategies import DirectStrategy, RecursiveStrategy\n",
+ "from tsururu.transformers import (\n",
+ " LagTransformer,\n",
+ " SequentialTransformer,\n",
+ " TargetGenerator,\n",
+ " UnionTransformer,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_results(\n",
+ " cv: int,\n",
+ " regime: str,\n",
+ " y_true: Optional[List[np.ndarray]] = None,\n",
+ " y_pred: Optional[List[np.ndarray]] = None,\n",
+ " ids: Optional[List[Union[float, str]]] = None,\n",
+ ") -> pd.DataFrame:\n",
+ " def _get_fold_value(\n",
+ " value: Optional[Union[float, np.ndarray]], idx: int\n",
+ " ) -> List[Optional[Union[float, np.ndarray]]]:\n",
+ " if value is None:\n",
+ " return [None]\n",
+ " if isinstance(value[idx], float):\n",
+ " return value[idx]\n",
+ " if isinstance(value[idx], np.ndarray):\n",
+ " return value[idx].reshape(-1)\n",
+ " raise TypeError(f\"Unexpected value type. Value: {value}\")\n",
+ "\n",
+ " df_res_dict = {}\n",
+ "\n",
+ " for idx_fold in range(cv):\n",
+ " # Fill df_res_dict\n",
+ " for name, value in [(\"y_true\", y_true), (\"y_pred\", y_pred)]:\n",
+ " df_res_dict[f\"{name}_{idx_fold+1}\"] = _get_fold_value(value, idx_fold)\n",
+ " if regime != \"local\":\n",
+ " df_res_dict[f\"id_{idx_fold+1}\"] = _get_fold_value(ids, idx_fold)\n",
+ "\n",
+ " # Save datasets to specified directory\n",
+ " df_res = pd.DataFrame(df_res_dict)\n",
+ " return df_res"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Initialize TSDataset, Pipeline, Model, Validator, Strategy](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The initialization of the main components is exactly the same as when using ML models. The only difference is that `DLTrainer` allows you to pass many more parameters compared to `MLTrainer`."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [TSDataset](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_path = Path(\"../datasets/global/simulated_data_to_check.csv\")\n",
+ "\n",
+ "dataset_params = {\n",
+ " \"target\": {\n",
+ " \"columns\": [\"value\"],\n",
+ " \"type\": \"continuous\",\n",
+ " },\n",
+ " \"date\": {\n",
+ " \"columns\": [\"date\"],\n",
+ " \"type\": \"datetime\",\n",
+ " },\n",
+ " \"id\": {\n",
+ " \"columns\": [\"id\"],\n",
+ " \"type\": \"categorical\",\n",
+ " }\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "dataset = TSDataset(\n",
+ " data=pd.read_csv(df_path),\n",
+ " columns_params=dataset_params,\n",
+ " print_freq_period_info=True,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Pipeline](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "lag = LagTransformer(lags=7)\n",
+ "target_generator = TargetGenerator()\n",
+ "\n",
+ "union_1 = UnionTransformer(transformers_list=[lag, target_generator])\n",
+ "seq_1 = SequentialTransformer(transformers_list=[union_1], input_features=[\"value\"])\n",
+ "union = UnionTransformer(transformers_list=[seq_1])\n",
+ "\n",
+ "pipeline = Pipeline(union, multivariate=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Trainer](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Currently, the available architectures are `DLinear` and `PatchTST`. However, adding your own architecture is quite simple if you follow the logic of the base model class."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Configure the model parameters\n",
+ "model = DLinear_NN # DLinear_NN or PatchTST\n",
+ "model_params = {\"moving_avg\": 7, \"individual\": False, \"enc_in\": None}\n",
+ "\n",
+ "# Configure the validation parameters\n",
+ "validation = KFoldCrossValidator\n",
+ "validation_params = {\n",
+ " \"n_splits\": 2,\n",
+ "}\n",
+ "\n",
+ "trainer_params = {\n",
+ " \"device\": \"cpu\",\n",
+ " \"num_workers\": 0,\n",
+ " \"best_by_metric\": True,\n",
+ " \"save_to_dir\": False,\n",
+ "}\n",
+ "\n",
+ "trainer = DLTrainer(\n",
+ " model, \n",
+ " model_params, \n",
+ " validation, \n",
+ " validation_params, \n",
+ " **trainer_params\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Strategy](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "horizon = 7\n",
+ "model_horizon = 7\n",
+ "history = 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "strategy = RecursiveStrategy(\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of train dataset: 496\n",
+ "length of val dataset: 497\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/10, cost time: 2.32s\n",
+ "train loss: 394.8396\n",
+ "Validation, Loss: 152.7835, Metric: -152.7835\n",
+ "val loss: 152.7835, val metric: -152.7835\n",
+ "Epoch 2/10, cost time: 2.05s\n",
+ "train loss: 63.7407\n",
+ "Validation, Loss: 45.0496, Metric: -45.0496\n",
+ "val loss: 45.0496, val metric: -45.0496\n",
+ "Epoch 3/10, cost time: 2.10s\n",
+ "train loss: 16.8944\n",
+ "Validation, Loss: 7.9484, Metric: -7.9484\n",
+ "val loss: 7.9484, val metric: -7.9484\n",
+ "Epoch 4/10, cost time: 2.14s\n",
+ "train loss: 6.3505\n",
+ "Validation, Loss: 4.6323, Metric: -4.6323\n",
+ "val loss: 4.6323, val metric: -4.6323\n",
+ "Epoch 5/10, cost time: 2.09s\n",
+ "train loss: 4.5366\n",
+ "Validation, Loss: 3.9856, Metric: -3.9856\n",
+ "val loss: 3.9856, val metric: -3.9856\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 4.0089\n",
+ "Validation, Loss: 3.9551, Metric: -3.9551\n",
+ "val loss: 3.9551, val metric: -3.9551\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 3.8999\n",
+ "Validation, Loss: 3.9088, Metric: -3.9088\n",
+ "val loss: 3.9088, val metric: -3.9088\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 3.8734\n",
+ "Validation, Loss: 3.8822, Metric: -3.8822\n",
+ "val loss: 3.8822, val metric: -3.8822\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Epoch 9/10, cost time: 2.05s\n",
+ "train loss: 3.8514\n",
+ "Validation, Loss: 3.8659, Metric: -3.8659\n",
+ "val loss: 3.8659, val metric: -3.8659\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Epoch 10/10, cost time: 2.09s\n",
+ "train loss: 3.8319\n",
+ "Validation, Loss: 3.8463, Metric: -3.8463\n",
+ "val loss: 3.8463, val metric: -3.8463\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Training finished.\n",
+ "Fold 0. Score: -3.846290349960327\n",
+ "length of train dataset: 497\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 407.0723\n",
+ "Validation, Loss: 173.8472, Metric: -173.8472\n",
+ "val loss: 173.8472, val metric: -173.8472\n",
+ "Epoch 2/10, cost time: 2.10s\n",
+ "train loss: 67.2569\n",
+ "Validation, Loss: 54.6508, Metric: -54.6508\n",
+ "val loss: 54.6508, val metric: -54.6508\n",
+ "Epoch 3/10, cost time: 2.08s\n",
+ "train loss: 17.9681\n",
+ "Validation, Loss: 10.7160, Metric: -10.7160\n",
+ "val loss: 10.7160, val metric: -10.7160\n",
+ "Epoch 4/10, cost time: 2.07s\n",
+ "train loss: 5.9077\n",
+ "Validation, Loss: 3.0399, Metric: -3.0399\n",
+ "val loss: 3.0399, val metric: -3.0399\n",
+ "Epoch 5/10, cost time: 2.06s\n",
+ "train loss: 3.5744\n",
+ "Validation, Loss: 3.3291, Metric: -3.3291\n",
+ "val loss: 3.3291, val metric: -3.3291\n",
+ "Early stopping counter: 1\n",
+ "Epoch 6/10, cost time: 2.04s\n",
+ "train loss: 3.0904\n",
+ "Validation, Loss: 3.0306, Metric: -3.0306\n",
+ "val loss: 3.0306, val metric: -3.0306\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 2.9839\n",
+ "Validation, Loss: 2.9571, Metric: -2.9571\n",
+ "val loss: 2.9571, val metric: -2.9571\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Epoch 8/10, cost time: 2.11s\n",
+ "train loss: 2.9575\n",
+ "Validation, Loss: 2.9269, Metric: -2.9269\n",
+ "val loss: 2.9269, val metric: -2.9269\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Epoch 9/10, cost time: 2.10s\n",
+ "train loss: 2.9374\n",
+ "Validation, Loss: 2.9119, Metric: -2.9119\n",
+ "val loss: 2.9119, val metric: -2.9119\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Epoch 10/10, cost time: 2.09s\n",
+ "train loss: 2.9242\n",
+ "Validation, Loss: 2.8975, Metric: -2.8975\n",
+ "val loss: 2.8975, val metric: -2.8975\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Training finished.\n",
+ "Fold 1. Score: -2.8974790573120117\n",
+ "Mean score: -3.3719\n",
+ "Std: 0.4744\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(77.95777916908264,\n",
+ " )"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1996.918457 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1997.491211 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1997.960571 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1998.343872 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2022-10-01 \n",
+ " 1998.670898 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 65 \n",
+ " 9 \n",
+ " 2022-09-29 \n",
+ " 11004.71582 \n",
+ " \n",
+ " \n",
+ " 66 \n",
+ " 9 \n",
+ " 2022-09-30 \n",
+ " 11006.132812 \n",
+ " \n",
+ " \n",
+ " 67 \n",
+ " 9 \n",
+ " 2022-10-01 \n",
+ " 11007.585938 \n",
+ " \n",
+ " \n",
+ " 68 \n",
+ " 9 \n",
+ " 2022-10-02 \n",
+ " 11009.080078 \n",
+ " \n",
+ " \n",
+ " 69 \n",
+ " 9 \n",
+ " 2022-10-03 \n",
+ " 11010.646484 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1996.918457\n",
+ "1 0 2022-09-28 1997.491211\n",
+ "2 0 2022-09-29 1997.960571\n",
+ "3 0 2022-09-30 1998.343872\n",
+ "4 0 2022-10-01 1998.670898\n",
+ ".. .. ... ...\n",
+ "65 9 2022-09-29 11004.71582\n",
+ "66 9 2022-09-30 11006.132812\n",
+ "67 9 2022-10-01 11007.585938\n",
+ "68 9 2022-10-02 11009.080078\n",
+ "69 9 2022-10-03 11010.646484\n",
+ "\n",
+ "[70 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Saving and loading checkpoints is an essential practice in training DL models. \n",
+ "\n",
+ "Let's explore how to save checkpoints to disk, what structure the saved files have, and how to restore the model from a checkpoint for either fine-tuning or inference."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# [Save and load checkpoints](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let’s consider working with checkpoints using the Direct strategy as an example."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "trainer_params = {\n",
+ " \"device\": \"cpu\",\n",
+ " \"num_workers\": 0,\n",
+ " \"best_by_metric\": True,\n",
+ " # Let's enable save_to_dir (by the way, default value is True)\n",
+ " \"save_to_dir\": True,\n",
+ " \"checkpoint_path\": \"checkpoints/\",\n",
+ " # Save checkpoints for 3 best model\n",
+ " \"save_k_best\": 3,\n",
+ " # Average checkpoints for the final model\n",
+ " \"average_snapshots\": True,\n",
+ "}\n",
+ "\n",
+ "trainer = DLTrainer(\n",
+ " model, \n",
+ " model_params, \n",
+ " validation, \n",
+ " validation_params, \n",
+ " **trainer_params\n",
+ ")\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### [Save checkpoint](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of train dataset: 496\n",
+ "length of val dataset: 497\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/10, cost time: 2.05s\n",
+ "train loss: 403.3343\n",
+ "Validation, Loss: 167.4490, Metric: -167.4490\n",
+ "val loss: 167.4490, val metric: -167.4490\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.05s\n",
+ "train loss: 64.2173\n",
+ "Validation, Loss: 47.8190, Metric: -47.8190\n",
+ "val loss: 47.8190, val metric: -47.8190\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.07s\n",
+ "train loss: 16.2793\n",
+ "Validation, Loss: 8.0289, Metric: -8.0289\n",
+ "val loss: 8.0289, val metric: -8.0289\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.07s\n",
+ "train loss: 5.2114\n",
+ "Validation, Loss: 3.0257, Metric: -3.0257\n",
+ "val loss: 3.0257, val metric: -3.0257\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 3.1989\n",
+ "Validation, Loss: 2.8681, Metric: -2.8681\n",
+ "val loss: 2.8681, val metric: -2.8681\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.05s\n",
+ "train loss: 2.6938\n",
+ "Validation, Loss: 2.6690, Metric: -2.6690\n",
+ "val loss: 2.6690, val metric: -2.6690\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.07s\n",
+ "train loss: 2.5845\n",
+ "Validation, Loss: 2.5779, Metric: -2.5779\n",
+ "val loss: 2.5779, val metric: -2.5779\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.11s\n",
+ "train loss: 2.5551\n",
+ "Validation, Loss: 2.5615, Metric: -2.5615\n",
+ "val loss: 2.5615, val metric: -2.5615\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.08s\n",
+ "train loss: 2.5402\n",
+ "Validation, Loss: 2.5501, Metric: -2.5501\n",
+ "val loss: 2.5501, val metric: -2.5501\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.05s\n",
+ "train loss: 2.5287\n",
+ "Validation, Loss: 2.5374, Metric: -2.5374\n",
+ "val loss: 2.5374, val metric: -2.5374\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -2.537403106689453\n",
+ "length of train dataset: 497\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.06s\n",
+ "train loss: 395.2313\n",
+ "Validation, Loss: 157.7264, Metric: -157.7264\n",
+ "val loss: 157.7264, val metric: -157.7264\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.07s\n",
+ "train loss: 63.4828\n",
+ "Validation, Loss: 46.7708, Metric: -46.7708\n",
+ "val loss: 46.7708, val metric: -46.7708\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 16.9178\n",
+ "Validation, Loss: 8.1191, Metric: -8.1191\n",
+ "val loss: 8.1191, val metric: -8.1191\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 6.1647\n",
+ "Validation, Loss: 4.2231, Metric: -4.2231\n",
+ "val loss: 4.2231, val metric: -4.2231\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.07s\n",
+ "train loss: 4.2604\n",
+ "Validation, Loss: 3.8231, Metric: -3.8231\n",
+ "val loss: 3.8231, val metric: -3.8231\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 3.7906\n",
+ "Validation, Loss: 3.7506, Metric: -3.7506\n",
+ "val loss: 3.7506, val metric: -3.7506\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.05s\n",
+ "train loss: 3.7271\n",
+ "Validation, Loss: 3.6950, Metric: -3.6950\n",
+ "val loss: 3.6950, val metric: -3.6950\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.04s\n",
+ "train loss: 3.6824\n",
+ "Validation, Loss: 3.6457, Metric: -3.6457\n",
+ "val loss: 3.6457, val metric: -3.6457\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 3.6621\n",
+ "Validation, Loss: 3.6291, Metric: -3.6291\n",
+ "val loss: 3.6291, val metric: -3.6291\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 3.6445\n",
+ "Validation, Loss: 3.6110, Metric: -3.6110\n",
+ "val loss: 3.6110, val metric: -3.6110\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -3.610971450805664\n",
+ "Mean score: -3.0742\n",
+ "Std: 0.5368\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.09s\n",
+ "train loss: 391.3144\n",
+ "Validation, Loss: 151.6951, Metric: -151.6951\n",
+ "val loss: 151.6951, val metric: -151.6951\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.06s\n",
+ "train loss: 65.5355\n",
+ "Validation, Loss: 45.3878, Metric: -45.3878\n",
+ "val loss: 45.3878, val metric: -45.3878\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.04s\n",
+ "train loss: 18.1223\n",
+ "Validation, Loss: 7.9664, Metric: -7.9664\n",
+ "val loss: 7.9664, val metric: -7.9664\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.08s\n",
+ "train loss: 7.2747\n",
+ "Validation, Loss: 5.7947, Metric: -5.7947\n",
+ "val loss: 5.7947, val metric: -5.7947\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.07s\n",
+ "train loss: 5.4642\n",
+ "Validation, Loss: 4.9576, Metric: -4.9576\n",
+ "val loss: 4.9576, val metric: -4.9576\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 4.9428\n",
+ "Validation, Loss: 4.9103, Metric: -4.9103\n",
+ "val loss: 4.9103, val metric: -4.9103\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 4.8478\n",
+ "Validation, Loss: 4.8553, Metric: -4.8553\n",
+ "val loss: 4.8553, val metric: -4.8553\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 4.8201\n",
+ "Validation, Loss: 4.8361, Metric: -4.8361\n",
+ "val loss: 4.8361, val metric: -4.8361\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.04s\n",
+ "train loss: 4.7991\n",
+ "Validation, Loss: 4.8162, Metric: -4.8162\n",
+ "val loss: 4.8162, val metric: -4.8162\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 4.7769\n",
+ "Validation, Loss: 4.7948, Metric: -4.7948\n",
+ "val loss: 4.7948, val metric: -4.7948\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -4.794838905334473\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.06s\n",
+ "train loss: 387.6476\n",
+ "Validation, Loss: 132.7601, Metric: -132.7601\n",
+ "val loss: 132.7601, val metric: -132.7601\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.15s\n",
+ "train loss: 62.6459\n",
+ "Validation, Loss: 38.6651, Metric: -38.6651\n",
+ "val loss: 38.6651, val metric: -38.6651\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.10s\n",
+ "train loss: 16.5981\n",
+ "Validation, Loss: 6.0093, Metric: -6.0093\n",
+ "val loss: 6.0093, val metric: -6.0093\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.11s\n",
+ "train loss: 6.3818\n",
+ "Validation, Loss: 5.1434, Metric: -5.1434\n",
+ "val loss: 5.1434, val metric: -5.1434\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.09s\n",
+ "train loss: 4.6630\n",
+ "Validation, Loss: 4.1301, Metric: -4.1301\n",
+ "val loss: 4.1301, val metric: -4.1301\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 4.2250\n",
+ "Validation, Loss: 4.1226, Metric: -4.1226\n",
+ "val loss: 4.1226, val metric: -4.1226\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.09s\n",
+ "train loss: 4.1473\n",
+ "Validation, Loss: 4.1007, Metric: -4.1007\n",
+ "val loss: 4.1007, val metric: -4.1007\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.04s\n",
+ "train loss: 4.1182\n",
+ "Validation, Loss: 4.0836, Metric: -4.0836\n",
+ "val loss: 4.0836, val metric: -4.0836\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.05s\n",
+ "train loss: 4.0968\n",
+ "Validation, Loss: 4.0635, Metric: -4.0635\n",
+ "val loss: 4.0635, val metric: -4.0635\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.05s\n",
+ "train loss: 4.0820\n",
+ "Validation, Loss: 4.0494, Metric: -4.0494\n",
+ "val loss: 4.0494, val metric: -4.0494\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -4.049437999725342\n",
+ "Mean score: -4.4221\n",
+ "Std: 0.3727\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.05s\n",
+ "train loss: 377.4181\n",
+ "Validation, Loss: 119.6817, Metric: -119.6817\n",
+ "val loss: 119.6817, val metric: -119.6817\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.07s\n",
+ "train loss: 62.3697\n",
+ "Validation, Loss: 33.8677, Metric: -33.8677\n",
+ "val loss: 33.8677, val metric: -33.8677\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 18.4027\n",
+ "Validation, Loss: 7.1072, Metric: -7.1072\n",
+ "val loss: 7.1072, val metric: -7.1072\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 8.6548\n",
+ "Validation, Loss: 8.0592, Metric: -8.0592\n",
+ "val loss: 8.0592, val metric: -8.0592\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_3.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.05s\n",
+ "train loss: 6.9929\n",
+ "Validation, Loss: 6.5605, Metric: -6.5605\n",
+ "val loss: 6.5605, val metric: -6.5605\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 6.6101\n",
+ "Validation, Loss: 6.5029, Metric: -6.5029\n",
+ "val loss: 6.5029, val metric: -6.5029\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.04s\n",
+ "train loss: 6.4681\n",
+ "Validation, Loss: 6.4772, Metric: -6.4772\n",
+ "val loss: 6.4772, val metric: -6.4772\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 6.4321\n",
+ "Validation, Loss: 6.4568, Metric: -6.4568\n",
+ "val loss: 6.4568, val metric: -6.4568\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.03s\n",
+ "train loss: 6.4064\n",
+ "Validation, Loss: 6.4224, Metric: -6.4224\n",
+ "val loss: 6.4224, val metric: -6.4224\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.04s\n",
+ "train loss: 6.3731\n",
+ "Validation, Loss: 6.3895, Metric: -6.3895\n",
+ "val loss: 6.3895, val metric: -6.3895\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -6.389479160308838\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 367.3132\n",
+ "Validation, Loss: 104.9462, Metric: -104.9462\n",
+ "val loss: 104.9462, val metric: -104.9462\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.08s\n",
+ "train loss: 59.8073\n",
+ "Validation, Loss: 29.2100, Metric: -29.2100\n",
+ "val loss: 29.2100, val metric: -29.2100\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 17.8022\n",
+ "Validation, Loss: 6.8590, Metric: -6.8590\n",
+ "val loss: 6.8590, val metric: -6.8590\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.07s\n",
+ "train loss: 9.0700\n",
+ "Validation, Loss: 8.6057, Metric: -8.6057\n",
+ "val loss: 8.6057, val metric: -8.6057\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_3.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 7.3478\n",
+ "Validation, Loss: 6.8900, Metric: -6.8900\n",
+ "val loss: 6.8900, val metric: -6.8900\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_4.pth\n",
+ "Early stopping counter: 2\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.05s\n",
+ "train loss: 6.8923\n",
+ "Validation, Loss: 6.7494, Metric: -6.7494\n",
+ "val loss: 6.7494, val metric: -6.7494\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.05s\n",
+ "train loss: 6.7842\n",
+ "Validation, Loss: 6.7169, Metric: -6.7169\n",
+ "val loss: 6.7169, val metric: -6.7169\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.09s\n",
+ "train loss: 6.7418\n",
+ "Validation, Loss: 6.6857, Metric: -6.6857\n",
+ "val loss: 6.6857, val metric: -6.6857\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 6.7103\n",
+ "Validation, Loss: 6.6524, Metric: -6.6524\n",
+ "val loss: 6.6524, val metric: -6.6524\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.11s\n",
+ "train loss: 6.6812\n",
+ "Validation, Loss: 6.6214, Metric: -6.6214\n",
+ "val loss: 6.6214, val metric: -6.6214\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -6.621443271636963\n",
+ "Mean score: -6.5055\n",
+ "Std: 0.116\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 363.6992\n",
+ "Validation, Loss: 84.1472, Metric: -84.1472\n",
+ "val loss: 84.1472, val metric: -84.1472\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.06s\n",
+ "train loss: 61.5839\n",
+ "Validation, Loss: 22.4284, Metric: -22.4284\n",
+ "val loss: 22.4284, val metric: -22.4284\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.09s\n",
+ "train loss: 19.7095\n",
+ "Validation, Loss: 8.4264, Metric: -8.4264\n",
+ "val loss: 8.4264, val metric: -8.4264\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.04s\n",
+ "train loss: 10.5336\n",
+ "Validation, Loss: 9.9348, Metric: -9.9348\n",
+ "val loss: 9.9348, val metric: -9.9348\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_3.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.04s\n",
+ "train loss: 8.6030\n",
+ "Validation, Loss: 8.3369, Metric: -8.3369\n",
+ "val loss: 8.3369, val metric: -8.3369\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 8.1817\n",
+ "Validation, Loss: 8.1613, Metric: -8.1613\n",
+ "val loss: 8.1613, val metric: -8.1613\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 8.0705\n",
+ "Validation, Loss: 8.0940, Metric: -8.0940\n",
+ "val loss: 8.0940, val metric: -8.0940\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.04s\n",
+ "train loss: 8.0227\n",
+ "Validation, Loss: 8.0545, Metric: -8.0545\n",
+ "val loss: 8.0545, val metric: -8.0545\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.04s\n",
+ "train loss: 7.9855\n",
+ "Validation, Loss: 8.0059, Metric: -8.0059\n",
+ "val loss: 8.0059, val metric: -8.0059\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.05s\n",
+ "train loss: 7.9414\n",
+ "Validation, Loss: 7.9646, Metric: -7.9646\n",
+ "val loss: 7.9646, val metric: -7.9646\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -7.964632987976074\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.05s\n",
+ "train loss: 351.5906\n",
+ "Validation, Loss: 77.0033, Metric: -77.0033\n",
+ "val loss: 77.0033, val metric: -77.0033\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.05s\n",
+ "train loss: 61.6245\n",
+ "Validation, Loss: 21.3528, Metric: -21.3528\n",
+ "val loss: 21.3528, val metric: -21.3528\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.05s\n",
+ "train loss: 20.8268\n",
+ "Validation, Loss: 10.9678, Metric: -10.9678\n",
+ "val loss: 10.9678, val metric: -10.9678\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 12.5175\n",
+ "Validation, Loss: 11.5429, Metric: -11.5429\n",
+ "val loss: 11.5429, val metric: -11.5429\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_3.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.05s\n",
+ "train loss: 10.6625\n",
+ "Validation, Loss: 10.4605, Metric: -10.4605\n",
+ "val loss: 10.4605, val metric: -10.4605\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 10.2767\n",
+ "Validation, Loss: 10.1229, Metric: -10.1229\n",
+ "val loss: 10.1229, val metric: -10.1229\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.05s\n",
+ "train loss: 10.1318\n",
+ "Validation, Loss: 10.0544, Metric: -10.0544\n",
+ "val loss: 10.0544, val metric: -10.0544\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 10.0754\n",
+ "Validation, Loss: 9.9893, Metric: -9.9893\n",
+ "val loss: 9.9893, val metric: -9.9893\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 10.0335\n",
+ "Validation, Loss: 9.9531, Metric: -9.9531\n",
+ "val loss: 9.9531, val metric: -9.9531\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.08s\n",
+ "train loss: 9.9840\n",
+ "Validation, Loss: 9.8895, Metric: -9.8895\n",
+ "val loss: 9.8895, val metric: -9.8895\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -9.889528274536133\n",
+ "Mean score: -8.9271\n",
+ "Std: 0.9624\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 343.4748\n",
+ "Validation, Loss: 67.4538, Metric: -67.4538\n",
+ "val loss: 67.4538, val metric: -67.4538\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.06s\n",
+ "train loss: 59.9123\n",
+ "Validation, Loss: 18.4222, Metric: -18.4222\n",
+ "val loss: 18.4222, val metric: -18.4222\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.07s\n",
+ "train loss: 22.0047\n",
+ "Validation, Loss: 14.5544, Metric: -14.5544\n",
+ "val loss: 14.5544, val metric: -14.5544\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.03s\n",
+ "train loss: 14.4075\n",
+ "Validation, Loss: 13.0656, Metric: -13.0656\n",
+ "val loss: 13.0656, val metric: -13.0656\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.06s\n",
+ "train loss: 12.5399\n",
+ "Validation, Loss: 12.4322, Metric: -12.4322\n",
+ "val loss: 12.4322, val metric: -12.4322\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 12.2428\n",
+ "Validation, Loss: 12.2647, Metric: -12.2647\n",
+ "val loss: 12.2647, val metric: -12.2647\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 12.1589\n",
+ "Validation, Loss: 12.1953, Metric: -12.1953\n",
+ "val loss: 12.1953, val metric: -12.1953\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 12.0992\n",
+ "Validation, Loss: 12.1414, Metric: -12.1414\n",
+ "val loss: 12.1414, val metric: -12.1414\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 12.0343\n",
+ "Validation, Loss: 12.0809, Metric: -12.0809\n",
+ "val loss: 12.0809, val metric: -12.0809\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.10s\n",
+ "train loss: 11.9855\n",
+ "Validation, Loss: 12.0072, Metric: -12.0072\n",
+ "val loss: 12.0072, val metric: -12.0072\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -12.007180213928223\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 349.2330\n",
+ "Validation, Loss: 77.6863, Metric: -77.6863\n",
+ "val loss: 77.6863, val metric: -77.6863\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.11s\n",
+ "train loss: 64.0899\n",
+ "Validation, Loss: 20.9255, Metric: -20.9255\n",
+ "val loss: 20.9255, val metric: -20.9255\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.12s\n",
+ "train loss: 22.2888\n",
+ "Validation, Loss: 12.9935, Metric: -12.9935\n",
+ "val loss: 12.9935, val metric: -12.9935\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.07s\n",
+ "train loss: 13.9388\n",
+ "Validation, Loss: 12.7992, Metric: -12.7992\n",
+ "val loss: 12.7992, val metric: -12.7992\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 12.1594\n",
+ "Validation, Loss: 12.0069, Metric: -12.0069\n",
+ "val loss: 12.0069, val metric: -12.0069\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 11.8229\n",
+ "Validation, Loss: 11.7637, Metric: -11.7637\n",
+ "val loss: 11.7637, val metric: -11.7637\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.11s\n",
+ "train loss: 11.7082\n",
+ "Validation, Loss: 11.5804, Metric: -11.5804\n",
+ "val loss: 11.5804, val metric: -11.5804\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 11.6116\n",
+ "Validation, Loss: 11.5076, Metric: -11.5076\n",
+ "val loss: 11.5076, val metric: -11.5076\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 11.5472\n",
+ "Validation, Loss: 11.4507, Metric: -11.4507\n",
+ "val loss: 11.4507, val metric: -11.4507\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.09s\n",
+ "train loss: 11.4889\n",
+ "Validation, Loss: 11.4103, Metric: -11.4103\n",
+ "val loss: 11.4103, val metric: -11.4103\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -11.410284042358398\n",
+ "Mean score: -11.7087\n",
+ "Std: 0.2984\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 334.8741\n",
+ "Validation, Loss: 50.5561, Metric: -50.5561\n",
+ "val loss: 50.5561, val metric: -50.5561\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.06s\n",
+ "train loss: 62.8467\n",
+ "Validation, Loss: 16.8597, Metric: -16.8597\n",
+ "val loss: 16.8597, val metric: -16.8597\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 25.3732\n",
+ "Validation, Loss: 20.4002, Metric: -20.4002\n",
+ "val loss: 20.4002, val metric: -20.4002\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_2.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 18.1269\n",
+ "Validation, Loss: 15.9976, Metric: -15.9976\n",
+ "val loss: 15.9976, val metric: -15.9976\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.03s\n",
+ "train loss: 16.0774\n",
+ "Validation, Loss: 15.8232, Metric: -15.8232\n",
+ "val loss: 15.8232, val metric: -15.8232\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.04s\n",
+ "train loss: 15.6645\n",
+ "Validation, Loss: 15.6549, Metric: -15.6549\n",
+ "val loss: 15.6549, val metric: -15.6549\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.05s\n",
+ "train loss: 15.5125\n",
+ "Validation, Loss: 15.5761, Metric: -15.5761\n",
+ "val loss: 15.5761, val metric: -15.5761\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 15.4324\n",
+ "Validation, Loss: 15.4982, Metric: -15.4982\n",
+ "val loss: 15.4982, val metric: -15.4982\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 15.3632\n",
+ "Validation, Loss: 15.4235, Metric: -15.4235\n",
+ "val loss: 15.4235, val metric: -15.4235\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.15s\n",
+ "train loss: 15.2883\n",
+ "Validation, Loss: 15.3461, Metric: -15.3461\n",
+ "val loss: 15.3461, val metric: -15.3461\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -15.34605598449707\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 329.7118\n",
+ "Validation, Loss: 47.4063, Metric: -47.4063\n",
+ "val loss: 47.4063, val metric: -47.4063\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.08s\n",
+ "train loss: 62.1197\n",
+ "Validation, Loss: 16.4023, Metric: -16.4023\n",
+ "val loss: 16.4023, val metric: -16.4023\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.07s\n",
+ "train loss: 25.6771\n",
+ "Validation, Loss: 22.1170, Metric: -22.1170\n",
+ "val loss: 22.1170, val metric: -22.1170\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_2.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 18.5193\n",
+ "Validation, Loss: 15.7406, Metric: -15.7406\n",
+ "val loss: 15.7406, val metric: -15.7406\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.07s\n",
+ "train loss: 16.0920\n",
+ "Validation, Loss: 15.8028, Metric: -15.8028\n",
+ "val loss: 15.8028, val metric: -15.8028\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_4.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.11s\n",
+ "train loss: 15.7545\n",
+ "Validation, Loss: 15.5723, Metric: -15.5723\n",
+ "val loss: 15.5723, val metric: -15.5723\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.15s\n",
+ "train loss: 15.6393\n",
+ "Validation, Loss: 15.4866, Metric: -15.4866\n",
+ "val loss: 15.4866, val metric: -15.4866\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.10s\n",
+ "train loss: 15.5835\n",
+ "Validation, Loss: 15.4511, Metric: -15.4511\n",
+ "val loss: 15.4511, val metric: -15.4511\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 15.4962\n",
+ "Validation, Loss: 15.3410, Metric: -15.3410\n",
+ "val loss: 15.3410, val metric: -15.3410\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.14s\n",
+ "train loss: 15.4146\n",
+ "Validation, Loss: 15.2659, Metric: -15.2659\n",
+ "val loss: 15.2659, val metric: -15.2659\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -15.265893936157227\n",
+ "Mean score: -15.306\n",
+ "Std: 0.0401\n",
+ "length of train dataset: 493\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 328.3206\n",
+ "Validation, Loss: 45.7254, Metric: -45.7254\n",
+ "val loss: 45.7254, val metric: -45.7254\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.09s\n",
+ "train loss: 62.0865\n",
+ "Validation, Loss: 17.5388, Metric: -17.5388\n",
+ "val loss: 17.5388, val metric: -17.5388\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 25.6690\n",
+ "Validation, Loss: 22.5810, Metric: -22.5810\n",
+ "val loss: 22.5810, val metric: -22.5810\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_2.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.09s\n",
+ "train loss: 19.2950\n",
+ "Validation, Loss: 17.2979, Metric: -17.2979\n",
+ "val loss: 17.2979, val metric: -17.2979\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 17.5411\n",
+ "Validation, Loss: 17.3080, Metric: -17.3080\n",
+ "val loss: 17.3080, val metric: -17.3080\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_4.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 17.1868\n",
+ "Validation, Loss: 17.1823, Metric: -17.1823\n",
+ "val loss: 17.1823, val metric: -17.1823\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 17.0586\n",
+ "Validation, Loss: 17.0973, Metric: -17.0973\n",
+ "val loss: 17.0973, val metric: -17.0973\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.10s\n",
+ "train loss: 16.9728\n",
+ "Validation, Loss: 17.0155, Metric: -17.0155\n",
+ "val loss: 17.0155, val metric: -17.0155\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.15s\n",
+ "train loss: 16.8982\n",
+ "Validation, Loss: 16.9292, Metric: -16.9292\n",
+ "val loss: 16.9292, val metric: -16.9292\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.14s\n",
+ "train loss: 16.8072\n",
+ "Validation, Loss: 16.8437, Metric: -16.8437\n",
+ "val loss: 16.8437, val metric: -16.8437\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -16.843671798706055\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 493\n",
+ "Epoch 1/10, cost time: 2.09s\n",
+ "train loss: 326.5489\n",
+ "Validation, Loss: 46.3208, Metric: -46.3208\n",
+ "val loss: 46.3208, val metric: -46.3208\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.10s\n",
+ "train loss: 61.9651\n",
+ "Validation, Loss: 17.5716, Metric: -17.5716\n",
+ "val loss: 17.5716, val metric: -17.5716\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.13s\n",
+ "train loss: 26.2689\n",
+ "Validation, Loss: 22.3116, Metric: -22.3116\n",
+ "val loss: 22.3116, val metric: -22.3116\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_2.pth\n",
+ "Early stopping counter: 1\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.12s\n",
+ "train loss: 19.3589\n",
+ "Validation, Loss: 17.0157, Metric: -17.0157\n",
+ "val loss: 17.0157, val metric: -17.0157\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.14s\n",
+ "train loss: 17.4819\n",
+ "Validation, Loss: 17.0029, Metric: -17.0029\n",
+ "val loss: 17.0029, val metric: -17.0029\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 17.0901\n",
+ "Validation, Loss: 16.8844, Metric: -16.8844\n",
+ "val loss: 16.8844, val metric: -16.8844\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 16.9454\n",
+ "Validation, Loss: 16.8404, Metric: -16.8404\n",
+ "val loss: 16.8404, val metric: -16.8404\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.09s\n",
+ "train loss: 16.8865\n",
+ "Validation, Loss: 16.7347, Metric: -16.7347\n",
+ "val loss: 16.7347, val metric: -16.7347\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.09s\n",
+ "train loss: 16.7872\n",
+ "Validation, Loss: 16.6494, Metric: -16.6494\n",
+ "val loss: 16.6494, val metric: -16.6494\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 16.7089\n",
+ "Validation, Loss: 16.5723, Metric: -16.5723\n",
+ "val loss: 16.5723, val metric: -16.5723\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -16.572263717651367\n",
+ "Mean score: -16.708\n",
+ "Std: 0.1357\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(540.7743926048279,\n",
+ " )"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Load checkpoint for finetune](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Once we have the saved checkpoints, we can continue training by passing the pretrained path and another checkpoint path to the trainer’s parameters. All other parameters remain the same."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "trainer_params = {\n",
+ " \"device\": \"cpu\",\n",
+ " \"num_workers\": 0,\n",
+ " \"best_by_metric\": True,\n",
+ " # Let's enable save_to_dir (by the way, default value is True)\n",
+ " \"save_to_dir\": True,\n",
+ " \"pretrained_path\": \"checkpoints/\",\n",
+ " \"checkpoint_path\": \"checkpoints_finetuned/\",\n",
+ " # Save checkpoints for 3 best model\n",
+ " \"save_k_best\": 3,\n",
+ " # Average checkpoints for the final model\n",
+ " \"average_snapshots\": True,\n",
+ "}\n",
+ "\n",
+ "trainer = DLTrainer(\n",
+ " model, \n",
+ " model_params, \n",
+ " validation, \n",
+ " validation_params, \n",
+ " **trainer_params\n",
+ ")\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of train dataset: 496\n",
+ "length of val dataset: 497\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/10, cost time: 2.10s\n",
+ "train loss: 2.5178\n",
+ "Validation, Loss: 2.5265, Metric: -2.5265\n",
+ "val loss: 2.5265, val metric: -2.5265\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.10s\n",
+ "train loss: 2.5056\n",
+ "Validation, Loss: 2.5124, Metric: -2.5124\n",
+ "val loss: 2.5124, val metric: -2.5124\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.09s\n",
+ "train loss: 2.4927\n",
+ "Validation, Loss: 2.5028, Metric: -2.5028\n",
+ "val loss: 2.5028, val metric: -2.5028\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 2.4779\n",
+ "Validation, Loss: 2.4877, Metric: -2.4877\n",
+ "val loss: 2.4877, val metric: -2.4877\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.06s\n",
+ "train loss: 2.4636\n",
+ "Validation, Loss: 2.4696, Metric: -2.4696\n",
+ "val loss: 2.4696, val metric: -2.4696\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 2.4489\n",
+ "Validation, Loss: 2.4583, Metric: -2.4583\n",
+ "val loss: 2.4583, val metric: -2.4583\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 2.4357\n",
+ "Validation, Loss: 2.4437, Metric: -2.4437\n",
+ "val loss: 2.4437, val metric: -2.4437\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 2.4170\n",
+ "Validation, Loss: 2.4262, Metric: -2.4262\n",
+ "val loss: 2.4262, val metric: -2.4262\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 2.4010\n",
+ "Validation, Loss: 2.4078, Metric: -2.4078\n",
+ "val loss: 2.4078, val metric: -2.4078\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 2.3851\n",
+ "Validation, Loss: 2.3914, Metric: -2.3914\n",
+ "val loss: 2.3914, val metric: -2.3914\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -2.391385793685913\n",
+ "length of train dataset: 497\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.09s\n",
+ "train loss: 3.6277\n",
+ "Validation, Loss: 3.5926, Metric: -3.5926\n",
+ "val loss: 3.5926, val metric: -3.5926\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.09s\n",
+ "train loss: 3.6093\n",
+ "Validation, Loss: 3.5750, Metric: -3.5750\n",
+ "val loss: 3.5750, val metric: -3.5750\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 3.5897\n",
+ "Validation, Loss: 3.5550, Metric: -3.5550\n",
+ "val loss: 3.5550, val metric: -3.5550\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.10s\n",
+ "train loss: 3.5697\n",
+ "Validation, Loss: 3.5332, Metric: -3.5332\n",
+ "val loss: 3.5332, val metric: -3.5332\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.10s\n",
+ "train loss: 3.5480\n",
+ "Validation, Loss: 3.5120, Metric: -3.5120\n",
+ "val loss: 3.5120, val metric: -3.5120\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.10s\n",
+ "train loss: 3.5249\n",
+ "Validation, Loss: 3.4949, Metric: -3.4949\n",
+ "val loss: 3.4949, val metric: -3.4949\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.09s\n",
+ "train loss: 3.5059\n",
+ "Validation, Loss: 3.4804, Metric: -3.4804\n",
+ "val loss: 3.4804, val metric: -3.4804\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 3.4847\n",
+ "Validation, Loss: 3.4453, Metric: -3.4453\n",
+ "val loss: 3.4453, val metric: -3.4453\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 3.4572\n",
+ "Validation, Loss: 3.4251, Metric: -3.4251\n",
+ "val loss: 3.4251, val metric: -3.4251\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.18s\n",
+ "train loss: 3.4331\n",
+ "Validation, Loss: 3.3984, Metric: -3.3984\n",
+ "val loss: 3.3984, val metric: -3.3984\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_0/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_0/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_0/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -3.398355484008789\n",
+ "Mean score: -2.8949\n",
+ "Std: 0.5035\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.12s\n",
+ "train loss: 4.7531\n",
+ "Validation, Loss: 4.7663, Metric: -4.7663\n",
+ "val loss: 4.7663, val metric: -4.7663\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.11s\n",
+ "train loss: 4.7284\n",
+ "Validation, Loss: 4.7421, Metric: -4.7421\n",
+ "val loss: 4.7421, val metric: -4.7421\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.09s\n",
+ "train loss: 4.7040\n",
+ "Validation, Loss: 4.7146, Metric: -4.7146\n",
+ "val loss: 4.7146, val metric: -4.7146\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.07s\n",
+ "train loss: 4.6771\n",
+ "Validation, Loss: 4.6898, Metric: -4.6898\n",
+ "val loss: 4.6898, val metric: -4.6898\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.09s\n",
+ "train loss: 4.6512\n",
+ "Validation, Loss: 4.6613, Metric: -4.6613\n",
+ "val loss: 4.6613, val metric: -4.6613\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.11s\n",
+ "train loss: 4.6248\n",
+ "Validation, Loss: 4.6329, Metric: -4.6329\n",
+ "val loss: 4.6329, val metric: -4.6329\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.13s\n",
+ "train loss: 4.6016\n",
+ "Validation, Loss: 4.6325, Metric: -4.6325\n",
+ "val loss: 4.6325, val metric: -4.6325\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 4.5703\n",
+ "Validation, Loss: 4.5739, Metric: -4.5739\n",
+ "val loss: 4.5739, val metric: -4.5739\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.08s\n",
+ "train loss: 4.5375\n",
+ "Validation, Loss: 4.5417, Metric: -4.5417\n",
+ "val loss: 4.5417, val metric: -4.5417\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 4.5054\n",
+ "Validation, Loss: 4.5085, Metric: -4.5085\n",
+ "val loss: 4.5085, val metric: -4.5085\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -4.508482933044434\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.07s\n",
+ "train loss: 4.0669\n",
+ "Validation, Loss: 4.0352, Metric: -4.0352\n",
+ "val loss: 4.0352, val metric: -4.0352\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.07s\n",
+ "train loss: 4.0393\n",
+ "Validation, Loss: 4.0020, Metric: -4.0020\n",
+ "val loss: 4.0020, val metric: -4.0020\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 4.0161\n",
+ "Validation, Loss: 3.9786, Metric: -3.9786\n",
+ "val loss: 3.9786, val metric: -3.9786\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.08s\n",
+ "train loss: 3.9943\n",
+ "Validation, Loss: 3.9572, Metric: -3.9572\n",
+ "val loss: 3.9572, val metric: -3.9572\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 3.9670\n",
+ "Validation, Loss: 3.9327, Metric: -3.9327\n",
+ "val loss: 3.9327, val metric: -3.9327\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.06s\n",
+ "train loss: 3.9431\n",
+ "Validation, Loss: 3.9104, Metric: -3.9104\n",
+ "val loss: 3.9104, val metric: -3.9104\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 3.9219\n",
+ "Validation, Loss: 3.8877, Metric: -3.8877\n",
+ "val loss: 3.8877, val metric: -3.8877\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 3.8949\n",
+ "Validation, Loss: 3.8550, Metric: -3.8550\n",
+ "val loss: 3.8550, val metric: -3.8550\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 3.8650\n",
+ "Validation, Loss: 3.8338, Metric: -3.8338\n",
+ "val loss: 3.8338, val metric: -3.8338\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 3.8393\n",
+ "Validation, Loss: 3.8033, Metric: -3.8033\n",
+ "val loss: 3.8033, val metric: -3.8033\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_1/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_1/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_1/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -3.8033361434936523\n",
+ "Mean score: -4.1559\n",
+ "Std: 0.3526\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 6.3392\n",
+ "Validation, Loss: 6.3581, Metric: -6.3581\n",
+ "val loss: 6.3581, val metric: -6.3581\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.08s\n",
+ "train loss: 6.3061\n",
+ "Validation, Loss: 6.3240, Metric: -6.3240\n",
+ "val loss: 6.3240, val metric: -6.3240\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.10s\n",
+ "train loss: 6.2755\n",
+ "Validation, Loss: 6.3038, Metric: -6.3038\n",
+ "val loss: 6.3038, val metric: -6.3038\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.09s\n",
+ "train loss: 6.2438\n",
+ "Validation, Loss: 6.2510, Metric: -6.2510\n",
+ "val loss: 6.2510, val metric: -6.2510\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.12s\n",
+ "train loss: 6.2017\n",
+ "Validation, Loss: 6.2133, Metric: -6.2133\n",
+ "val loss: 6.2133, val metric: -6.2133\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.13s\n",
+ "train loss: 6.1669\n",
+ "Validation, Loss: 6.1831, Metric: -6.1831\n",
+ "val loss: 6.1831, val metric: -6.1831\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 6.1289\n",
+ "Validation, Loss: 6.1347, Metric: -6.1347\n",
+ "val loss: 6.1347, val metric: -6.1347\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 6.0827\n",
+ "Validation, Loss: 6.0932, Metric: -6.0932\n",
+ "val loss: 6.0932, val metric: -6.0932\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 6.0425\n",
+ "Validation, Loss: 6.0505, Metric: -6.0505\n",
+ "val loss: 6.0505, val metric: -6.0505\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 5.9992\n",
+ "Validation, Loss: 6.0118, Metric: -6.0118\n",
+ "val loss: 6.0118, val metric: -6.0118\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -6.011759281158447\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 6.6428\n",
+ "Validation, Loss: 6.5922, Metric: -6.5922\n",
+ "val loss: 6.5922, val metric: -6.5922\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.10s\n",
+ "train loss: 6.6067\n",
+ "Validation, Loss: 6.5492, Metric: -6.5492\n",
+ "val loss: 6.5492, val metric: -6.5492\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.08s\n",
+ "train loss: 6.5707\n",
+ "Validation, Loss: 6.5151, Metric: -6.5151\n",
+ "val loss: 6.5151, val metric: -6.5151\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.09s\n",
+ "train loss: 6.5316\n",
+ "Validation, Loss: 6.4720, Metric: -6.4720\n",
+ "val loss: 6.4720, val metric: -6.4720\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.06s\n",
+ "train loss: 6.4917\n",
+ "Validation, Loss: 6.4422, Metric: -6.4422\n",
+ "val loss: 6.4422, val metric: -6.4422\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 6.4620\n",
+ "Validation, Loss: 6.3913, Metric: -6.3913\n",
+ "val loss: 6.3913, val metric: -6.3913\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.08s\n",
+ "train loss: 6.4110\n",
+ "Validation, Loss: 6.3547, Metric: -6.3547\n",
+ "val loss: 6.3547, val metric: -6.3547\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.13s\n",
+ "train loss: 6.3662\n",
+ "Validation, Loss: 6.3058, Metric: -6.3058\n",
+ "val loss: 6.3058, val metric: -6.3058\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.11s\n",
+ "train loss: 6.3216\n",
+ "Validation, Loss: 6.2664, Metric: -6.2664\n",
+ "val loss: 6.2664, val metric: -6.2664\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.09s\n",
+ "train loss: 6.2787\n",
+ "Validation, Loss: 6.2173, Metric: -6.2173\n",
+ "val loss: 6.2173, val metric: -6.2173\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_2/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_2/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_2/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -6.217341423034668\n",
+ "Mean score: -6.1146\n",
+ "Std: 0.1028\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 7.9035\n",
+ "Validation, Loss: 7.9314, Metric: -7.9314\n",
+ "val loss: 7.9314, val metric: -7.9314\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.10s\n",
+ "train loss: 7.8635\n",
+ "Validation, Loss: 7.9143, Metric: -7.9143\n",
+ "val loss: 7.9143, val metric: -7.9143\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.09s\n",
+ "train loss: 7.8207\n",
+ "Validation, Loss: 7.8357, Metric: -7.8357\n",
+ "val loss: 7.8357, val metric: -7.8357\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.08s\n",
+ "train loss: 7.7694\n",
+ "Validation, Loss: 7.7896, Metric: -7.7896\n",
+ "val loss: 7.7896, val metric: -7.7896\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 7.7235\n",
+ "Validation, Loss: 7.7403, Metric: -7.7403\n",
+ "val loss: 7.7403, val metric: -7.7403\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.09s\n",
+ "train loss: 7.6790\n",
+ "Validation, Loss: 7.7013, Metric: -7.7013\n",
+ "val loss: 7.7013, val metric: -7.7013\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.08s\n",
+ "train loss: 7.6283\n",
+ "Validation, Loss: 7.6454, Metric: -7.6454\n",
+ "val loss: 7.6454, val metric: -7.6454\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.05s\n",
+ "train loss: 7.5799\n",
+ "Validation, Loss: 7.5969, Metric: -7.5969\n",
+ "val loss: 7.5969, val metric: -7.5969\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.06s\n",
+ "train loss: 7.5252\n",
+ "Validation, Loss: 7.5361, Metric: -7.5361\n",
+ "val loss: 7.5361, val metric: -7.5361\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 7.4698\n",
+ "Validation, Loss: 7.4840, Metric: -7.4840\n",
+ "val loss: 7.4840, val metric: -7.4840\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -7.483982563018799\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.09s\n",
+ "train loss: 9.9277\n",
+ "Validation, Loss: 9.8368, Metric: -9.8368\n",
+ "val loss: 9.8368, val metric: -9.8368\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.13s\n",
+ "train loss: 9.8731\n",
+ "Validation, Loss: 9.7839, Metric: -9.7839\n",
+ "val loss: 9.7839, val metric: -9.7839\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.03s\n",
+ "train loss: 9.8162\n",
+ "Validation, Loss: 9.7257, Metric: -9.7257\n",
+ "val loss: 9.7257, val metric: -9.7257\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 9.7617\n",
+ "Validation, Loss: 9.6715, Metric: -9.6715\n",
+ "val loss: 9.6715, val metric: -9.6715\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.05s\n",
+ "train loss: 9.7013\n",
+ "Validation, Loss: 9.6068, Metric: -9.6068\n",
+ "val loss: 9.6068, val metric: -9.6068\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 9.6514\n",
+ "Validation, Loss: 9.5582, Metric: -9.5582\n",
+ "val loss: 9.5582, val metric: -9.5582\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.09s\n",
+ "train loss: 9.5825\n",
+ "Validation, Loss: 9.4844, Metric: -9.4844\n",
+ "val loss: 9.4844, val metric: -9.4844\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 9.5127\n",
+ "Validation, Loss: 9.4167, Metric: -9.4167\n",
+ "val loss: 9.4167, val metric: -9.4167\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.10s\n",
+ "train loss: 9.4419\n",
+ "Validation, Loss: 9.3539, Metric: -9.3539\n",
+ "val loss: 9.3539, val metric: -9.3539\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 9.3832\n",
+ "Validation, Loss: 9.2822, Metric: -9.2822\n",
+ "val loss: 9.2822, val metric: -9.2822\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_3/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_3/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_3/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -9.282210350036621\n",
+ "Mean score: -8.3831\n",
+ "Std: 0.8991\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/10, cost time: 2.06s\n",
+ "train loss: 11.9388\n",
+ "Validation, Loss: 12.0070, Metric: -12.0070\n",
+ "val loss: 12.0070, val metric: -12.0070\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.06s\n",
+ "train loss: 11.8565\n",
+ "Validation, Loss: 11.8742, Metric: -11.8742\n",
+ "val loss: 11.8742, val metric: -11.8742\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.04s\n",
+ "train loss: 11.7842\n",
+ "Validation, Loss: 11.8067, Metric: -11.8067\n",
+ "val loss: 11.8067, val metric: -11.8067\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 11.7100\n",
+ "Validation, Loss: 11.7324, Metric: -11.7324\n",
+ "val loss: 11.7324, val metric: -11.7324\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.07s\n",
+ "train loss: 11.6352\n",
+ "Validation, Loss: 11.6606, Metric: -11.6606\n",
+ "val loss: 11.6606, val metric: -11.6606\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 11.5656\n",
+ "Validation, Loss: 11.5994, Metric: -11.5994\n",
+ "val loss: 11.5994, val metric: -11.5994\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.07s\n",
+ "train loss: 11.4948\n",
+ "Validation, Loss: 11.5051, Metric: -11.5051\n",
+ "val loss: 11.5051, val metric: -11.5051\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 11.4072\n",
+ "Validation, Loss: 11.4263, Metric: -11.4263\n",
+ "val loss: 11.4263, val metric: -11.4263\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.11s\n",
+ "train loss: 11.3300\n",
+ "Validation, Loss: 11.3804, Metric: -11.3804\n",
+ "val loss: 11.3804, val metric: -11.3804\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.12s\n",
+ "train loss: 11.2633\n",
+ "Validation, Loss: 11.2711, Metric: -11.2711\n",
+ "val loss: 11.2711, val metric: -11.2711\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -11.271098136901855\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.08s\n",
+ "train loss: 11.4316\n",
+ "Validation, Loss: 11.3298, Metric: -11.3298\n",
+ "val loss: 11.3298, val metric: -11.3298\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.09s\n",
+ "train loss: 11.3667\n",
+ "Validation, Loss: 11.2669, Metric: -11.2669\n",
+ "val loss: 11.2669, val metric: -11.2669\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.08s\n",
+ "train loss: 11.3088\n",
+ "Validation, Loss: 11.2020, Metric: -11.2020\n",
+ "val loss: 11.2020, val metric: -11.2020\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.09s\n",
+ "train loss: 11.2484\n",
+ "Validation, Loss: 11.1441, Metric: -11.1441\n",
+ "val loss: 11.1441, val metric: -11.1441\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.09s\n",
+ "train loss: 11.1701\n",
+ "Validation, Loss: 11.0645, Metric: -11.0645\n",
+ "val loss: 11.0645, val metric: -11.0645\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 11.0986\n",
+ "Validation, Loss: 10.9954, Metric: -10.9954\n",
+ "val loss: 10.9954, val metric: -10.9954\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.09s\n",
+ "train loss: 11.0328\n",
+ "Validation, Loss: 10.9285, Metric: -10.9285\n",
+ "val loss: 10.9285, val metric: -10.9285\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 10.9546\n",
+ "Validation, Loss: 10.9217, Metric: -10.9217\n",
+ "val loss: 10.9217, val metric: -10.9217\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 10.8847\n",
+ "Validation, Loss: 10.7685, Metric: -10.7685\n",
+ "val loss: 10.7685, val metric: -10.7685\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.10s\n",
+ "train loss: 10.8031\n",
+ "Validation, Loss: 10.6983, Metric: -10.6983\n",
+ "val loss: 10.6983, val metric: -10.6983\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_4/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_4/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_4/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -10.69830322265625\n",
+ "Mean score: -10.9847\n",
+ "Std: 0.2864\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.00s\n",
+ "train loss: 15.2049\n",
+ "Validation, Loss: 15.2768, Metric: -15.2768\n",
+ "val loss: 15.2768, val metric: -15.2768\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.05s\n",
+ "train loss: 15.1382\n",
+ "Validation, Loss: 15.1853, Metric: -15.1853\n",
+ "val loss: 15.1853, val metric: -15.1853\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 15.0584\n",
+ "Validation, Loss: 15.1178, Metric: -15.1178\n",
+ "val loss: 15.1178, val metric: -15.1178\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.08s\n",
+ "train loss: 14.9508\n",
+ "Validation, Loss: 14.9971, Metric: -14.9971\n",
+ "val loss: 14.9971, val metric: -14.9971\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.07s\n",
+ "train loss: 14.8535\n",
+ "Validation, Loss: 14.9023, Metric: -14.9023\n",
+ "val loss: 14.9023, val metric: -14.9023\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.11s\n",
+ "train loss: 14.7680\n",
+ "Validation, Loss: 14.8101, Metric: -14.8101\n",
+ "val loss: 14.8101, val metric: -14.8101\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.06s\n",
+ "train loss: 14.6690\n",
+ "Validation, Loss: 14.7321, Metric: -14.7321\n",
+ "val loss: 14.7321, val metric: -14.7321\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.06s\n",
+ "train loss: 14.5852\n",
+ "Validation, Loss: 14.6153, Metric: -14.6153\n",
+ "val loss: 14.6153, val metric: -14.6153\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.07s\n",
+ "train loss: 14.4852\n",
+ "Validation, Loss: 14.5029, Metric: -14.5029\n",
+ "val loss: 14.5029, val metric: -14.5029\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 14.3642\n",
+ "Validation, Loss: 14.3978, Metric: -14.3978\n",
+ "val loss: 14.3978, val metric: -14.3978\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -14.397769927978516\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.06s\n",
+ "train loss: 15.3321\n",
+ "Validation, Loss: 15.1772, Metric: -15.1772\n",
+ "val loss: 15.1772, val metric: -15.1772\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.08s\n",
+ "train loss: 15.2465\n",
+ "Validation, Loss: 15.0918, Metric: -15.0918\n",
+ "val loss: 15.0918, val metric: -15.0918\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.09s\n",
+ "train loss: 15.1606\n",
+ "Validation, Loss: 15.0096, Metric: -15.0096\n",
+ "val loss: 15.0096, val metric: -15.0096\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.06s\n",
+ "train loss: 15.0829\n",
+ "Validation, Loss: 14.9350, Metric: -14.9350\n",
+ "val loss: 14.9350, val metric: -14.9350\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 14.9794\n",
+ "Validation, Loss: 14.8179, Metric: -14.8179\n",
+ "val loss: 14.8179, val metric: -14.8179\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.15s\n",
+ "train loss: 14.8815\n",
+ "Validation, Loss: 14.7188, Metric: -14.7188\n",
+ "val loss: 14.7188, val metric: -14.7188\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.10s\n",
+ "train loss: 14.8099\n",
+ "Validation, Loss: 14.6202, Metric: -14.6202\n",
+ "val loss: 14.6202, val metric: -14.6202\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.08s\n",
+ "train loss: 14.6788\n",
+ "Validation, Loss: 14.5351, Metric: -14.5351\n",
+ "val loss: 14.5351, val metric: -14.5351\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.09s\n",
+ "train loss: 14.5753\n",
+ "Validation, Loss: 14.4359, Metric: -14.4359\n",
+ "val loss: 14.4359, val metric: -14.4359\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.08s\n",
+ "train loss: 14.4740\n",
+ "Validation, Loss: 14.3063, Metric: -14.3063\n",
+ "val loss: 14.3063, val metric: -14.3063\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_5/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_5/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_5/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -14.306349754333496\n",
+ "Mean score: -14.3521\n",
+ "Std: 0.0457\n",
+ "length of train dataset: 493\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/10, cost time: 2.09s\n",
+ "train loss: 16.7145\n",
+ "Validation, Loss: 16.7511, Metric: -16.7511\n",
+ "val loss: 16.7511, val metric: -16.7511\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.07s\n",
+ "train loss: 16.6236\n",
+ "Validation, Loss: 16.6682, Metric: -16.6682\n",
+ "val loss: 16.6682, val metric: -16.6682\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.06s\n",
+ "train loss: 16.5325\n",
+ "Validation, Loss: 16.5596, Metric: -16.5596\n",
+ "val loss: 16.5596, val metric: -16.5596\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.05s\n",
+ "train loss: 16.4272\n",
+ "Validation, Loss: 16.4611, Metric: -16.4611\n",
+ "val loss: 16.4611, val metric: -16.4611\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.08s\n",
+ "train loss: 16.3243\n",
+ "Validation, Loss: 16.3963, Metric: -16.3963\n",
+ "val loss: 16.3963, val metric: -16.3963\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.08s\n",
+ "train loss: 16.2325\n",
+ "Validation, Loss: 16.2513, Metric: -16.2513\n",
+ "val loss: 16.2513, val metric: -16.2513\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.04s\n",
+ "train loss: 16.1230\n",
+ "Validation, Loss: 16.1378, Metric: -16.1378\n",
+ "val loss: 16.1378, val metric: -16.1378\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.15s\n",
+ "train loss: 16.0079\n",
+ "Validation, Loss: 16.0250, Metric: -16.0250\n",
+ "val loss: 16.0250, val metric: -16.0250\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.05s\n",
+ "train loss: 15.8990\n",
+ "Validation, Loss: 15.9274, Metric: -15.9274\n",
+ "val loss: 15.9274, val metric: -15.9274\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.06s\n",
+ "train loss: 15.7968\n",
+ "Validation, Loss: 15.8163, Metric: -15.8163\n",
+ "val loss: 15.8163, val metric: -15.8163\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_0/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_0/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_0/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -15.816303253173828\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 493\n",
+ "Epoch 1/10, cost time: 2.06s\n",
+ "train loss: 16.6161\n",
+ "Validation, Loss: 16.4749, Metric: -16.4749\n",
+ "val loss: 16.4749, val metric: -16.4749\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 2/10, cost time: 2.05s\n",
+ "train loss: 16.5317\n",
+ "Validation, Loss: 16.3905, Metric: -16.3905\n",
+ "val loss: 16.3905, val metric: -16.3905\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_1.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_1.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_1.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 3/10, cost time: 2.07s\n",
+ "train loss: 16.4369\n",
+ "Validation, Loss: 16.2813, Metric: -16.2813\n",
+ "val loss: 16.2813, val metric: -16.2813\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_2.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_2.pth\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_2.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 4/10, cost time: 2.05s\n",
+ "train loss: 16.3491\n",
+ "Validation, Loss: 16.2151, Metric: -16.2151\n",
+ "val loss: 16.2151, val metric: -16.2151\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_3.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_3.pth\n",
+ "Removing worst model snapshot: from epoch 0\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_3.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 5/10, cost time: 2.05s\n",
+ "train loss: 16.2300\n",
+ "Validation, Loss: 16.0982, Metric: -16.0982\n",
+ "val loss: 16.0982, val metric: -16.0982\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_4.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_4.pth\n",
+ "Removing worst model snapshot: from epoch 1\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_4.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 6/10, cost time: 2.07s\n",
+ "train loss: 16.1425\n",
+ "Validation, Loss: 15.9748, Metric: -15.9748\n",
+ "val loss: 15.9748, val metric: -15.9748\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_5.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_5.pth\n",
+ "Removing worst model snapshot: from epoch 2\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_5.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 7/10, cost time: 2.08s\n",
+ "train loss: 16.0127\n",
+ "Validation, Loss: 15.9073, Metric: -15.9073\n",
+ "val loss: 15.9073, val metric: -15.9073\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_6.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_6.pth\n",
+ "Removing worst model snapshot: from epoch 3\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_6.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 8/10, cost time: 2.07s\n",
+ "train loss: 15.9301\n",
+ "Validation, Loss: 15.7657, Metric: -15.7657\n",
+ "val loss: 15.7657, val metric: -15.7657\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_7.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_7.pth\n",
+ "Removing worst model snapshot: from epoch 4\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_7.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 9/10, cost time: 2.08s\n",
+ "train loss: 15.8140\n",
+ "Validation, Loss: 15.6519, Metric: -15.6519\n",
+ "val loss: 15.6519, val metric: -15.6519\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_8.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_8.pth\n",
+ "Removing worst model snapshot: from epoch 5\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_8.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Epoch 10/10, cost time: 2.07s\n",
+ "train loss: 15.6804\n",
+ "Validation, Loss: 15.5294, Metric: -15.5294\n",
+ "val loss: 15.5294, val metric: -15.5294\n",
+ "Last epoch model saved to checkpoints_finetuned/trainer_6/fold_1/model_9.pth\n",
+ "Last epoch optimizer saved to checkpoints_finetuned/trainer_6/fold_1/opt_9.pth\n",
+ "Removing worst model snapshot: from epoch 6\n",
+ "Best model snapshot saved to checkpoints_finetuned/trainer_6/fold_1/model_9.pth\n",
+ "Checkpoint manager saved to checkpoints_finetuned/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -15.52938461303711\n",
+ "Mean score: -15.6728\n",
+ "Std: 0.1435\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(542.532794713974,\n",
+ " )"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## [Load checkpoint for inference](#toc0_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "trainer_params = {\n",
+ " \"device\": \"cpu\",\n",
+ " \"num_workers\": 0,\n",
+ " \"n_epochs\": 1,\n",
+ " \"pretrained_path\": \"checkpoints_finetuned/\",\n",
+ " # Average checkpoints for the final model\n",
+ " \"average_snapshots\": True,\n",
+ "}\n",
+ "\n",
+ "trainer = DLTrainer(\n",
+ " model, \n",
+ " model_params, \n",
+ " validation, \n",
+ " validation_params, \n",
+ " **trainer_params\n",
+ ")\n",
+ "\n",
+ "strategy = DirectStrategy(\n",
+ " pipeline=pipeline,\n",
+ " trainer=trainer,\n",
+ " horizon=horizon,\n",
+ " history=history,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of train dataset: 496\n",
+ "length of val dataset: 497\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 1/1, cost time: 2.15s\n",
+ "train loss: 2.3693\n",
+ "Validation, Loss: 2.3725, Metric: -2.3725\n",
+ "val loss: 2.3725, val metric: -2.3725\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -2.3724923133850098\n",
+ "length of train dataset: 497\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/1, cost time: 2.09s\n",
+ "train loss: 3.4084\n",
+ "Validation, Loss: 3.3751, Metric: -3.3751\n",
+ "val loss: 3.3751, val metric: -3.3751\n",
+ "Last epoch model saved to checkpoints/trainer_0/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_0/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_0/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_0/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -3.37510347366333\n",
+ "Mean score: -2.8738\n",
+ "Std: 0.5013\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/1, cost time: 2.07s\n",
+ "train loss: 4.4695\n",
+ "Validation, Loss: 4.4801, Metric: -4.4801\n",
+ "val loss: 4.4801, val metric: -4.4801\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -4.480130195617676\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/1, cost time: 2.09s\n",
+ "train loss: 3.8120\n",
+ "Validation, Loss: 3.7744, Metric: -3.7744\n",
+ "val loss: 3.7744, val metric: -3.7744\n",
+ "Last epoch model saved to checkpoints/trainer_1/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_1/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_1/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_1/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -3.774390935897827\n",
+ "Mean score: -4.1273\n",
+ "Std: 0.3529\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 496\n",
+ "Epoch 1/1, cost time: 2.08s\n",
+ "train loss: 5.9567\n",
+ "Validation, Loss: 5.9638, Metric: -5.9638\n",
+ "val loss: 5.9638, val metric: -5.9638\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -5.963770866394043\n",
+ "length of train dataset: 496\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/1, cost time: 2.09s\n",
+ "train loss: 6.2336\n",
+ "Validation, Loss: 6.1705, Metric: -6.1705\n",
+ "val loss: 6.1705, val metric: -6.1705\n",
+ "Last epoch model saved to checkpoints/trainer_2/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_2/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_2/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_2/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -6.170502185821533\n",
+ "Mean score: -6.0671\n",
+ "Std: 0.1034\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/1, cost time: 2.08s\n",
+ "train loss: 7.4179\n",
+ "Validation, Loss: 7.4461, Metric: -7.4461\n",
+ "val loss: 7.4461, val metric: -7.4461\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -7.446073055267334\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/1, cost time: 2.08s\n",
+ "train loss: 9.3169\n",
+ "Validation, Loss: 9.2158, Metric: -9.2158\n",
+ "val loss: 9.2158, val metric: -9.2158\n",
+ "Last epoch model saved to checkpoints/trainer_3/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_3/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_3/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_3/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -9.215822219848633\n",
+ "Mean score: -8.3309\n",
+ "Std: 0.8849\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 495\n",
+ "Epoch 1/1, cost time: 2.20s\n",
+ "train loss: 11.1697\n",
+ "Validation, Loss: 11.2258, Metric: -11.2258\n",
+ "val loss: 11.2258, val metric: -11.2258\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -11.225826263427734\n",
+ "length of train dataset: 495\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/1, cost time: 2.10s\n",
+ "train loss: 10.7208\n",
+ "Validation, Loss: 10.6222, Metric: -10.6222\n",
+ "val loss: 10.6222, val metric: -10.6222\n",
+ "Last epoch model saved to checkpoints/trainer_4/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_4/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_4/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_4/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -10.62221908569336\n",
+ "Mean score: -10.924\n",
+ "Std: 0.3018\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/1, cost time: 2.09s\n",
+ "train loss: 14.2562\n",
+ "Validation, Loss: 14.2929, Metric: -14.2929\n",
+ "val loss: 14.2929, val metric: -14.2929\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -14.292855262756348\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/1, cost time: 2.08s\n",
+ "train loss: 14.3666\n",
+ "Validation, Loss: 14.1999, Metric: -14.1999\n",
+ "val loss: 14.1999, val metric: -14.1999\n",
+ "Last epoch model saved to checkpoints/trainer_5/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_5/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_5/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_5/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -14.199889183044434\n",
+ "Mean score: -14.2464\n",
+ "Std: 0.0465\n",
+ "length of train dataset: 493\n",
+ "length of val dataset: 494\n",
+ "Epoch 1/1, cost time: 2.05s\n",
+ "train loss: 15.6696\n",
+ "Validation, Loss: 15.6848, Metric: -15.6848\n",
+ "val loss: 15.6848, val metric: -15.6848\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_0/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_0/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_0/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_0/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 0. Score: -15.684831619262695\n",
+ "length of train dataset: 494\n",
+ "length of val dataset: 493\n",
+ "Epoch 1/1, cost time: 2.08s\n",
+ "train loss: 15.5737\n",
+ "Validation, Loss: 15.4131, Metric: -15.4131\n",
+ "val loss: 15.4131, val metric: -15.4131\n",
+ "Last epoch model saved to checkpoints/trainer_6/fold_1/model_0.pth\n",
+ "Last epoch optimizer saved to checkpoints/trainer_6/fold_1/opt_0.pth\n",
+ "Best model snapshot saved to checkpoints/trainer_6/fold_1/model_0.pth\n",
+ "Checkpoint manager saved to checkpoints/trainer_6/fold_1/es_checkpoint_manager.pth\n",
+ "Training finished.\n",
+ "Fold 1. Score: -15.413114547729492\n",
+ "Mean score: -15.549\n",
+ "Std: 0.1359\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(54.834699869155884,\n",
+ " )"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "strategy.fit(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "freq: Day; period: 1\n",
+ "length of test dataset: 1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n",
+ "length of test dataset: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "forecast_time, current_pred = strategy.predict(dataset)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " id \n",
+ " date \n",
+ " value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0 \n",
+ " 2022-09-27 \n",
+ " 1997.147827 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0 \n",
+ " 2022-09-28 \n",
+ " 1997.578491 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0 \n",
+ " 2022-09-29 \n",
+ " 1997.824463 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0 \n",
+ " 2022-09-30 \n",
+ " 1998.122559 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0 \n",
+ " 2022-10-01 \n",
+ " 1998.426758 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 65 \n",
+ " 9 \n",
+ " 2022-09-29 \n",
+ " 11004.701172 \n",
+ " \n",
+ " \n",
+ " 66 \n",
+ " 9 \n",
+ " 2022-09-30 \n",
+ " 11006.19043 \n",
+ " \n",
+ " \n",
+ " 67 \n",
+ " 9 \n",
+ " 2022-10-01 \n",
+ " 11007.738281 \n",
+ " \n",
+ " \n",
+ " 68 \n",
+ " 9 \n",
+ " 2022-10-02 \n",
+ " 11009.234375 \n",
+ " \n",
+ " \n",
+ " 69 \n",
+ " 9 \n",
+ " 2022-10-03 \n",
+ " 11010.298828 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id date value\n",
+ "0 0 2022-09-27 1997.147827\n",
+ "1 0 2022-09-28 1997.578491\n",
+ "2 0 2022-09-29 1997.824463\n",
+ "3 0 2022-09-30 1998.122559\n",
+ "4 0 2022-10-01 1998.426758\n",
+ ".. .. ... ...\n",
+ "65 9 2022-09-29 11004.701172\n",
+ "66 9 2022-09-30 11006.19043\n",
+ "67 9 2022-10-01 11007.738281\n",
+ "68 9 2022-10-02 11009.234375\n",
+ "69 9 2022-10-03 11010.298828\n",
+ "\n",
+ "[70 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "current_pred"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "tsururu_test",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.13"
+ },
+ "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/imgs/direct.png b/imgs/direct.png
new file mode 100644
index 0000000..a146b6a
Binary files /dev/null and b/imgs/direct.png differ
diff --git a/imgs/flatwidemimo.png b/imgs/flatwidemimo.png
new file mode 100644
index 0000000..aefa066
Binary files /dev/null and b/imgs/flatwidemimo.png differ
diff --git a/imgs/global.png b/imgs/global.png
new file mode 100644
index 0000000..d8c439f
Binary files /dev/null and b/imgs/global.png differ
diff --git a/imgs/local.png b/imgs/local.png
new file mode 100644
index 0000000..94e2161
Binary files /dev/null and b/imgs/local.png differ
diff --git a/imgs/mimo.png b/imgs/mimo.png
new file mode 100644
index 0000000..05fbd34
Binary files /dev/null and b/imgs/mimo.png differ
diff --git a/imgs/multivariate.png b/imgs/multivariate.png
new file mode 100644
index 0000000..d9c4c63
Binary files /dev/null and b/imgs/multivariate.png differ
diff --git a/imgs/recursive.png b/imgs/recursive.png
new file mode 100644
index 0000000..f2f63ad
Binary files /dev/null and b/imgs/recursive.png differ
diff --git a/imgs/time_series.png b/imgs/time_series.png
new file mode 100644
index 0000000..5c04a55
Binary files /dev/null and b/imgs/time_series.png differ
diff --git a/imgs/time_series_example.png b/imgs/time_series_example.png
new file mode 100644
index 0000000..cfd06ea
Binary files /dev/null and b/imgs/time_series_example.png differ
diff --git a/tsururu_logo.png b/imgs/tsururu_logo.png
similarity index 100%
rename from tsururu_logo.png
rename to imgs/tsururu_logo.png
diff --git a/pyproject.toml b/pyproject.toml
index 1933290..b8b409d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,35 +1,40 @@
-[tool.poetry]
-name = "tsururu"
-version = "0.1.1"
-description = "Python tool for time series forecasting"
-authors = ["Alina Kostromina ", "Dmitry Simakov "]
-license = "Apache License 2.0"
-readme = "README.md"
-repository = "https://github.com/sb-ai-lab/tsururu"
-classifiers = [
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: 3.10",
- "Operating System :: OS Independent",
- "Intended Audience :: Science/Research",
- "Development Status :: 3 - Alpha",
- "Environment :: Console",
- "Natural Language :: Russian",
- "Topic :: Scientific/Engineering :: Artificial Intelligence",
-]
-
-[tool.poetry.dependencies]
-python = "^3.9"
-scikit-learn = "^1.3.2"
-numpy = "^1.26.3"
-pandas = "^2.1.4"
-holidays = "^0.40"
-catboost = "^1.2.0"
-scipy = "^1.11.4"
-
-[build-system]
-requires = ["poetry-core"]
-build-backend = "poetry.core.masonry.api"
-
-[project.urls]
-Homepage = "https://github.com/sb-ai-lab/tsururu"
-Issues = "https://github.com/sb-ai-lab/tsururu/issues"
+[tool.poetry]
+name = "tsururu"
+version = "1.0.0"
+description = "Python tool for time series forecasting"
+authors = ["Alina Kostromina ", "Dmitry Simakov "]
+license = "Apache License 2.0"
+readme = "README.md"
+repository = "https://github.com/sb-ai-lab/tsururu"
+classifiers = [
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Operating System :: OS Independent",
+ "Intended Audience :: Science/Research",
+ "Development Status :: 3 - Alpha",
+ "Environment :: Console",
+ "Natural Language :: Russian",
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
+]
+
+[tool.poetry.dependencies]
+python = ">=3.9, <3.12"
+scikit-learn = "^1.3.2"
+numpy = "^1.26.3"
+pandas = "^2.2"
+holidays = "^0.40"
+scipy = "^1.11.4"
+catboost = { version = ">=1.2.0", optional = true }
+torch = { version = ">=1.9.0, <=2.0.0", optional = true }
+
+[tool.poetry.extras]
+catboost = ["catboost"]
+torch = ["torch"]
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
+
+[project.urls]
+Homepage = "https://github.com/sb-ai-lab/tsururu"
+Issues = "https://github.com/sb-ai-lab/tsururu/issues"
\ No newline at end of file
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_15min.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_15min.csv
new file mode 100644
index 0000000..5b4d176
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_15min.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:15:00,0
+1002,2020-01-01 00:30:00,0
+1003,2020-01-01 00:45:00,0
+1004,2020-01-01 01:00:00,0
+1005,2020-01-01 01:15:00,0
+1006,2020-01-01 01:30:00,0
+1007,2020-01-01 01:45:00,0
+1008,2020-01-01 02:00:00,0
+1009,2020-01-01 02:15:00,0
+1010,2020-01-01 02:30:00,0
+1011,2020-01-01 02:45:00,0
+1012,2020-01-01 03:00:00,0
+1013,2020-01-01 03:15:00,0
+1014,2020-01-01 03:30:00,0
+1015,2020-01-01 03:45:00,0
+1016,2020-01-01 04:00:00,0
+1017,2020-01-01 04:15:00,0
+1018,2020-01-01 04:30:00,0
+1019,2020-01-01 04:45:00,0
+1020,2020-01-01 05:00:00,0
+1021,2020-01-01 05:15:00,0
+1022,2020-01-01 05:30:00,0
+1023,2020-01-01 05:45:00,0
+1024,2020-01-01 06:00:00,0
+1025,2020-01-01 06:15:00,0
+1026,2020-01-01 06:30:00,0
+1027,2020-01-01 06:45:00,0
+1028,2020-01-01 07:00:00,0
+1029,2020-01-01 07:15:00,0
+1030,2020-01-01 07:30:00,0
+1031,2020-01-01 07:45:00,0
+1032,2020-01-01 08:00:00,0
+1033,2020-01-01 08:15:00,0
+1034,2020-01-01 08:30:00,0
+1035,2020-01-01 08:45:00,0
+1036,2020-01-01 09:00:00,0
+1037,2020-01-01 09:15:00,0
+1038,2020-01-01 09:30:00,0
+1039,2020-01-01 09:45:00,0
+1040,2020-01-01 10:00:00,0
+1041,2020-01-01 10:15:00,0
+1042,2020-01-01 10:30:00,0
+1043,2020-01-01 10:45:00,0
+1044,2020-01-01 11:00:00,0
+1045,2020-01-01 11:15:00,0
+1046,2020-01-01 11:30:00,0
+1047,2020-01-01 11:45:00,0
+1048,2020-01-01 12:00:00,0
+1049,2020-01-01 12:15:00,0
+1050,2020-01-01 12:30:00,0
+1051,2020-01-01 12:45:00,0
+1052,2020-01-01 13:00:00,0
+1053,2020-01-01 13:15:00,0
+1054,2020-01-01 13:30:00,0
+1055,2020-01-01 13:45:00,0
+1056,2020-01-01 14:00:00,0
+1057,2020-01-01 14:15:00,0
+1058,2020-01-01 14:30:00,0
+1059,2020-01-01 14:45:00,0
+1060,2020-01-01 15:00:00,0
+1061,2020-01-01 15:15:00,0
+1062,2020-01-01 15:30:00,0
+1063,2020-01-01 15:45:00,0
+1064,2020-01-01 16:00:00,0
+1065,2020-01-01 16:15:00,0
+1066,2020-01-01 16:30:00,0
+1067,2020-01-01 16:45:00,0
+1068,2020-01-01 17:00:00,0
+1069,2020-01-01 17:15:00,0
+1070,2020-01-01 17:30:00,0
+1071,2020-01-01 17:45:00,0
+1072,2020-01-01 18:00:00,0
+1073,2020-01-01 18:15:00,0
+1074,2020-01-01 18:30:00,0
+1075,2020-01-01 18:45:00,0
+1076,2020-01-01 19:00:00,0
+1077,2020-01-01 19:15:00,0
+1078,2020-01-01 19:30:00,0
+1079,2020-01-01 19:45:00,0
+1080,2020-01-01 20:00:00,0
+1081,2020-01-01 20:15:00,0
+1082,2020-01-01 20:30:00,0
+1083,2020-01-01 20:45:00,0
+1084,2020-01-01 21:00:00,0
+1085,2020-01-01 21:15:00,0
+1086,2020-01-01 21:30:00,0
+1087,2020-01-01 21:45:00,0
+1088,2020-01-01 22:00:00,0
+1089,2020-01-01 22:15:00,0
+1090,2020-01-01 22:30:00,0
+1091,2020-01-01 22:45:00,0
+1092,2020-01-01 23:00:00,0
+1093,2020-01-01 23:15:00,0
+1094,2020-01-01 23:30:00,0
+1095,2020-01-01 23:45:00,0
+1096,2020-01-02 00:00:00,0
+1097,2020-01-02 00:15:00,0
+1098,2020-01-02 00:30:00,0
+1099,2020-01-02 00:45:00,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:15:00,1
+2002,2020-01-01 00:30:00,1
+2003,2020-01-01 00:45:00,1
+2004,2020-01-01 01:00:00,1
+2005,2020-01-01 01:15:00,1
+2006,2020-01-01 01:30:00,1
+2007,2020-01-01 01:45:00,1
+2008,2020-01-01 02:00:00,1
+2009,2020-01-01 02:15:00,1
+2010,2020-01-01 02:30:00,1
+2011,2020-01-01 02:45:00,1
+2012,2020-01-01 03:00:00,1
+2013,2020-01-01 03:15:00,1
+2014,2020-01-01 03:30:00,1
+2015,2020-01-01 03:45:00,1
+2016,2020-01-01 04:00:00,1
+2017,2020-01-01 04:15:00,1
+2018,2020-01-01 04:30:00,1
+2019,2020-01-01 04:45:00,1
+2020,2020-01-01 05:00:00,1
+2021,2020-01-01 05:15:00,1
+2022,2020-01-01 05:30:00,1
+2023,2020-01-01 05:45:00,1
+2024,2020-01-01 06:00:00,1
+2025,2020-01-01 06:15:00,1
+2026,2020-01-01 06:30:00,1
+2027,2020-01-01 06:45:00,1
+2028,2020-01-01 07:00:00,1
+2029,2020-01-01 07:15:00,1
+2030,2020-01-01 07:30:00,1
+2031,2020-01-01 07:45:00,1
+2032,2020-01-01 08:00:00,1
+2033,2020-01-01 08:15:00,1
+2034,2020-01-01 08:30:00,1
+2035,2020-01-01 08:45:00,1
+2036,2020-01-01 09:00:00,1
+2037,2020-01-01 09:15:00,1
+2038,2020-01-01 09:30:00,1
+2039,2020-01-01 09:45:00,1
+2040,2020-01-01 10:00:00,1
+2041,2020-01-01 10:15:00,1
+2042,2020-01-01 10:30:00,1
+2043,2020-01-01 10:45:00,1
+2044,2020-01-01 11:00:00,1
+2045,2020-01-01 11:15:00,1
+2046,2020-01-01 11:30:00,1
+2047,2020-01-01 11:45:00,1
+2048,2020-01-01 12:00:00,1
+2049,2020-01-01 12:15:00,1
+2050,2020-01-01 12:30:00,1
+2051,2020-01-01 12:45:00,1
+2052,2020-01-01 13:00:00,1
+2053,2020-01-01 13:15:00,1
+2054,2020-01-01 13:30:00,1
+2055,2020-01-01 13:45:00,1
+2056,2020-01-01 14:00:00,1
+2057,2020-01-01 14:15:00,1
+2058,2020-01-01 14:30:00,1
+2059,2020-01-01 14:45:00,1
+2060,2020-01-01 15:00:00,1
+2061,2020-01-01 15:15:00,1
+2062,2020-01-01 15:30:00,1
+2063,2020-01-01 15:45:00,1
+2064,2020-01-01 16:00:00,1
+2065,2020-01-01 16:15:00,1
+2066,2020-01-01 16:30:00,1
+2067,2020-01-01 16:45:00,1
+2068,2020-01-01 17:00:00,1
+2069,2020-01-01 17:15:00,1
+2070,2020-01-01 17:30:00,1
+2071,2020-01-01 17:45:00,1
+2072,2020-01-01 18:00:00,1
+2073,2020-01-01 18:15:00,1
+2074,2020-01-01 18:30:00,1
+2075,2020-01-01 18:45:00,1
+2076,2020-01-01 19:00:00,1
+2077,2020-01-01 19:15:00,1
+2078,2020-01-01 19:30:00,1
+2079,2020-01-01 19:45:00,1
+2080,2020-01-01 20:00:00,1
+2081,2020-01-01 20:15:00,1
+2082,2020-01-01 20:30:00,1
+2083,2020-01-01 20:45:00,1
+2084,2020-01-01 21:00:00,1
+2085,2020-01-01 21:15:00,1
+2086,2020-01-01 21:30:00,1
+2087,2020-01-01 21:45:00,1
+2088,2020-01-01 22:00:00,1
+2089,2020-01-01 22:15:00,1
+2090,2020-01-01 22:30:00,1
+2091,2020-01-01 22:45:00,1
+2092,2020-01-01 23:00:00,1
+2093,2020-01-01 23:15:00,1
+2094,2020-01-01 23:30:00,1
+2095,2020-01-01 23:45:00,1
+2096,2020-01-02 00:00:00,1
+2097,2020-01-02 00:15:00,1
+2098,2020-01-02 00:30:00,1
+2099,2020-01-02 00:45:00,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:15:00,2
+3002,2020-01-01 00:30:00,2
+3003,2020-01-01 00:45:00,2
+3004,2020-01-01 01:00:00,2
+3005,2020-01-01 01:15:00,2
+3006,2020-01-01 01:30:00,2
+3007,2020-01-01 01:45:00,2
+3008,2020-01-01 02:00:00,2
+3009,2020-01-01 02:15:00,2
+3010,2020-01-01 02:30:00,2
+3011,2020-01-01 02:45:00,2
+3012,2020-01-01 03:00:00,2
+3013,2020-01-01 03:15:00,2
+3014,2020-01-01 03:30:00,2
+3015,2020-01-01 03:45:00,2
+3016,2020-01-01 04:00:00,2
+3017,2020-01-01 04:15:00,2
+3018,2020-01-01 04:30:00,2
+3019,2020-01-01 04:45:00,2
+3020,2020-01-01 05:00:00,2
+3021,2020-01-01 05:15:00,2
+3022,2020-01-01 05:30:00,2
+3023,2020-01-01 05:45:00,2
+3024,2020-01-01 06:00:00,2
+3025,2020-01-01 06:15:00,2
+3026,2020-01-01 06:30:00,2
+3027,2020-01-01 06:45:00,2
+3028,2020-01-01 07:00:00,2
+3029,2020-01-01 07:15:00,2
+3030,2020-01-01 07:30:00,2
+3031,2020-01-01 07:45:00,2
+3032,2020-01-01 08:00:00,2
+3033,2020-01-01 08:15:00,2
+3034,2020-01-01 08:30:00,2
+3035,2020-01-01 08:45:00,2
+3036,2020-01-01 09:00:00,2
+3037,2020-01-01 09:15:00,2
+3038,2020-01-01 09:30:00,2
+3039,2020-01-01 09:45:00,2
+3040,2020-01-01 10:00:00,2
+3041,2020-01-01 10:15:00,2
+3042,2020-01-01 10:30:00,2
+3043,2020-01-01 10:45:00,2
+3044,2020-01-01 11:00:00,2
+3045,2020-01-01 11:15:00,2
+3046,2020-01-01 11:30:00,2
+3047,2020-01-01 11:45:00,2
+3048,2020-01-01 12:00:00,2
+3049,2020-01-01 12:15:00,2
+3050,2020-01-01 12:30:00,2
+3051,2020-01-01 12:45:00,2
+3052,2020-01-01 13:00:00,2
+3053,2020-01-01 13:15:00,2
+3054,2020-01-01 13:30:00,2
+3055,2020-01-01 13:45:00,2
+3056,2020-01-01 14:00:00,2
+3057,2020-01-01 14:15:00,2
+3058,2020-01-01 14:30:00,2
+3059,2020-01-01 14:45:00,2
+3060,2020-01-01 15:00:00,2
+3061,2020-01-01 15:15:00,2
+3062,2020-01-01 15:30:00,2
+3063,2020-01-01 15:45:00,2
+3064,2020-01-01 16:00:00,2
+3065,2020-01-01 16:15:00,2
+3066,2020-01-01 16:30:00,2
+3067,2020-01-01 16:45:00,2
+3068,2020-01-01 17:00:00,2
+3069,2020-01-01 17:15:00,2
+3070,2020-01-01 17:30:00,2
+3071,2020-01-01 17:45:00,2
+3072,2020-01-01 18:00:00,2
+3073,2020-01-01 18:15:00,2
+3074,2020-01-01 18:30:00,2
+3075,2020-01-01 18:45:00,2
+3076,2020-01-01 19:00:00,2
+3077,2020-01-01 19:15:00,2
+3078,2020-01-01 19:30:00,2
+3079,2020-01-01 19:45:00,2
+3080,2020-01-01 20:00:00,2
+3081,2020-01-01 20:15:00,2
+3082,2020-01-01 20:30:00,2
+3083,2020-01-01 20:45:00,2
+3084,2020-01-01 21:00:00,2
+3085,2020-01-01 21:15:00,2
+3086,2020-01-01 21:30:00,2
+3087,2020-01-01 21:45:00,2
+3088,2020-01-01 22:00:00,2
+3089,2020-01-01 22:15:00,2
+3090,2020-01-01 22:30:00,2
+3091,2020-01-01 22:45:00,2
+3092,2020-01-01 23:00:00,2
+3093,2020-01-01 23:15:00,2
+3094,2020-01-01 23:30:00,2
+3095,2020-01-01 23:45:00,2
+3096,2020-01-02 00:00:00,2
+3097,2020-01-02 00:15:00,2
+3098,2020-01-02 00:30:00,2
+3099,2020-01-02 00:45:00,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:15:00,3
+4002,2020-01-01 00:30:00,3
+4003,2020-01-01 00:45:00,3
+4004,2020-01-01 01:00:00,3
+4005,2020-01-01 01:15:00,3
+4006,2020-01-01 01:30:00,3
+4007,2020-01-01 01:45:00,3
+4008,2020-01-01 02:00:00,3
+4009,2020-01-01 02:15:00,3
+4010,2020-01-01 02:30:00,3
+4011,2020-01-01 02:45:00,3
+4012,2020-01-01 03:00:00,3
+4013,2020-01-01 03:15:00,3
+4014,2020-01-01 03:30:00,3
+4015,2020-01-01 03:45:00,3
+4016,2020-01-01 04:00:00,3
+4017,2020-01-01 04:15:00,3
+4018,2020-01-01 04:30:00,3
+4019,2020-01-01 04:45:00,3
+4020,2020-01-01 05:00:00,3
+4021,2020-01-01 05:15:00,3
+4022,2020-01-01 05:30:00,3
+4023,2020-01-01 05:45:00,3
+4024,2020-01-01 06:00:00,3
+4025,2020-01-01 06:15:00,3
+4026,2020-01-01 06:30:00,3
+4027,2020-01-01 06:45:00,3
+4028,2020-01-01 07:00:00,3
+4029,2020-01-01 07:15:00,3
+4030,2020-01-01 07:30:00,3
+4031,2020-01-01 07:45:00,3
+4032,2020-01-01 08:00:00,3
+4033,2020-01-01 08:15:00,3
+4034,2020-01-01 08:30:00,3
+4035,2020-01-01 08:45:00,3
+4036,2020-01-01 09:00:00,3
+4037,2020-01-01 09:15:00,3
+4038,2020-01-01 09:30:00,3
+4039,2020-01-01 09:45:00,3
+4040,2020-01-01 10:00:00,3
+4041,2020-01-01 10:15:00,3
+4042,2020-01-01 10:30:00,3
+4043,2020-01-01 10:45:00,3
+4044,2020-01-01 11:00:00,3
+4045,2020-01-01 11:15:00,3
+4046,2020-01-01 11:30:00,3
+4047,2020-01-01 11:45:00,3
+4048,2020-01-01 12:00:00,3
+4049,2020-01-01 12:15:00,3
+4050,2020-01-01 12:30:00,3
+4051,2020-01-01 12:45:00,3
+4052,2020-01-01 13:00:00,3
+4053,2020-01-01 13:15:00,3
+4054,2020-01-01 13:30:00,3
+4055,2020-01-01 13:45:00,3
+4056,2020-01-01 14:00:00,3
+4057,2020-01-01 14:15:00,3
+4058,2020-01-01 14:30:00,3
+4059,2020-01-01 14:45:00,3
+4060,2020-01-01 15:00:00,3
+4061,2020-01-01 15:15:00,3
+4062,2020-01-01 15:30:00,3
+4063,2020-01-01 15:45:00,3
+4064,2020-01-01 16:00:00,3
+4065,2020-01-01 16:15:00,3
+4066,2020-01-01 16:30:00,3
+4067,2020-01-01 16:45:00,3
+4068,2020-01-01 17:00:00,3
+4069,2020-01-01 17:15:00,3
+4070,2020-01-01 17:30:00,3
+4071,2020-01-01 17:45:00,3
+4072,2020-01-01 18:00:00,3
+4073,2020-01-01 18:15:00,3
+4074,2020-01-01 18:30:00,3
+4075,2020-01-01 18:45:00,3
+4076,2020-01-01 19:00:00,3
+4077,2020-01-01 19:15:00,3
+4078,2020-01-01 19:30:00,3
+4079,2020-01-01 19:45:00,3
+4080,2020-01-01 20:00:00,3
+4081,2020-01-01 20:15:00,3
+4082,2020-01-01 20:30:00,3
+4083,2020-01-01 20:45:00,3
+4084,2020-01-01 21:00:00,3
+4085,2020-01-01 21:15:00,3
+4086,2020-01-01 21:30:00,3
+4087,2020-01-01 21:45:00,3
+4088,2020-01-01 22:00:00,3
+4089,2020-01-01 22:15:00,3
+4090,2020-01-01 22:30:00,3
+4091,2020-01-01 22:45:00,3
+4092,2020-01-01 23:00:00,3
+4093,2020-01-01 23:15:00,3
+4094,2020-01-01 23:30:00,3
+4095,2020-01-01 23:45:00,3
+4096,2020-01-02 00:00:00,3
+4097,2020-01-02 00:15:00,3
+4098,2020-01-02 00:30:00,3
+4099,2020-01-02 00:45:00,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:15:00,4
+5002,2020-01-01 00:30:00,4
+5003,2020-01-01 00:45:00,4
+5004,2020-01-01 01:00:00,4
+5005,2020-01-01 01:15:00,4
+5006,2020-01-01 01:30:00,4
+5007,2020-01-01 01:45:00,4
+5008,2020-01-01 02:00:00,4
+5009,2020-01-01 02:15:00,4
+5010,2020-01-01 02:30:00,4
+5011,2020-01-01 02:45:00,4
+5012,2020-01-01 03:00:00,4
+5013,2020-01-01 03:15:00,4
+5014,2020-01-01 03:30:00,4
+5015,2020-01-01 03:45:00,4
+5016,2020-01-01 04:00:00,4
+5017,2020-01-01 04:15:00,4
+5018,2020-01-01 04:30:00,4
+5019,2020-01-01 04:45:00,4
+5020,2020-01-01 05:00:00,4
+5021,2020-01-01 05:15:00,4
+5022,2020-01-01 05:30:00,4
+5023,2020-01-01 05:45:00,4
+5024,2020-01-01 06:00:00,4
+5025,2020-01-01 06:15:00,4
+5026,2020-01-01 06:30:00,4
+5027,2020-01-01 06:45:00,4
+5028,2020-01-01 07:00:00,4
+5029,2020-01-01 07:15:00,4
+5030,2020-01-01 07:30:00,4
+5031,2020-01-01 07:45:00,4
+5032,2020-01-01 08:00:00,4
+5033,2020-01-01 08:15:00,4
+5034,2020-01-01 08:30:00,4
+5035,2020-01-01 08:45:00,4
+5036,2020-01-01 09:00:00,4
+5037,2020-01-01 09:15:00,4
+5038,2020-01-01 09:30:00,4
+5039,2020-01-01 09:45:00,4
+5040,2020-01-01 10:00:00,4
+5041,2020-01-01 10:15:00,4
+5042,2020-01-01 10:30:00,4
+5043,2020-01-01 10:45:00,4
+5044,2020-01-01 11:00:00,4
+5045,2020-01-01 11:15:00,4
+5046,2020-01-01 11:30:00,4
+5047,2020-01-01 11:45:00,4
+5048,2020-01-01 12:00:00,4
+5049,2020-01-01 12:15:00,4
+5050,2020-01-01 12:30:00,4
+5051,2020-01-01 12:45:00,4
+5052,2020-01-01 13:00:00,4
+5053,2020-01-01 13:15:00,4
+5054,2020-01-01 13:30:00,4
+5055,2020-01-01 13:45:00,4
+5056,2020-01-01 14:00:00,4
+5057,2020-01-01 14:15:00,4
+5058,2020-01-01 14:30:00,4
+5059,2020-01-01 14:45:00,4
+5060,2020-01-01 15:00:00,4
+5061,2020-01-01 15:15:00,4
+5062,2020-01-01 15:30:00,4
+5063,2020-01-01 15:45:00,4
+5064,2020-01-01 16:00:00,4
+5065,2020-01-01 16:15:00,4
+5066,2020-01-01 16:30:00,4
+5067,2020-01-01 16:45:00,4
+5068,2020-01-01 17:00:00,4
+5069,2020-01-01 17:15:00,4
+5070,2020-01-01 17:30:00,4
+5071,2020-01-01 17:45:00,4
+5072,2020-01-01 18:00:00,4
+5073,2020-01-01 18:15:00,4
+5074,2020-01-01 18:30:00,4
+5075,2020-01-01 18:45:00,4
+5076,2020-01-01 19:00:00,4
+5077,2020-01-01 19:15:00,4
+5078,2020-01-01 19:30:00,4
+5079,2020-01-01 19:45:00,4
+5080,2020-01-01 20:00:00,4
+5081,2020-01-01 20:15:00,4
+5082,2020-01-01 20:30:00,4
+5083,2020-01-01 20:45:00,4
+5084,2020-01-01 21:00:00,4
+5085,2020-01-01 21:15:00,4
+5086,2020-01-01 21:30:00,4
+5087,2020-01-01 21:45:00,4
+5088,2020-01-01 22:00:00,4
+5089,2020-01-01 22:15:00,4
+5090,2020-01-01 22:30:00,4
+5091,2020-01-01 22:45:00,4
+5092,2020-01-01 23:00:00,4
+5093,2020-01-01 23:15:00,4
+5094,2020-01-01 23:30:00,4
+5095,2020-01-01 23:45:00,4
+5096,2020-01-02 00:00:00,4
+5097,2020-01-02 00:15:00,4
+5098,2020-01-02 00:30:00,4
+5099,2020-01-02 00:45:00,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:15:00,5
+6002,2020-01-01 00:30:00,5
+6003,2020-01-01 00:45:00,5
+6004,2020-01-01 01:00:00,5
+6005,2020-01-01 01:15:00,5
+6006,2020-01-01 01:30:00,5
+6007,2020-01-01 01:45:00,5
+6008,2020-01-01 02:00:00,5
+6009,2020-01-01 02:15:00,5
+6010,2020-01-01 02:30:00,5
+6011,2020-01-01 02:45:00,5
+6012,2020-01-01 03:00:00,5
+6013,2020-01-01 03:15:00,5
+6014,2020-01-01 03:30:00,5
+6015,2020-01-01 03:45:00,5
+6016,2020-01-01 04:00:00,5
+6017,2020-01-01 04:15:00,5
+6018,2020-01-01 04:30:00,5
+6019,2020-01-01 04:45:00,5
+6020,2020-01-01 05:00:00,5
+6021,2020-01-01 05:15:00,5
+6022,2020-01-01 05:30:00,5
+6023,2020-01-01 05:45:00,5
+6024,2020-01-01 06:00:00,5
+6025,2020-01-01 06:15:00,5
+6026,2020-01-01 06:30:00,5
+6027,2020-01-01 06:45:00,5
+6028,2020-01-01 07:00:00,5
+6029,2020-01-01 07:15:00,5
+6030,2020-01-01 07:30:00,5
+6031,2020-01-01 07:45:00,5
+6032,2020-01-01 08:00:00,5
+6033,2020-01-01 08:15:00,5
+6034,2020-01-01 08:30:00,5
+6035,2020-01-01 08:45:00,5
+6036,2020-01-01 09:00:00,5
+6037,2020-01-01 09:15:00,5
+6038,2020-01-01 09:30:00,5
+6039,2020-01-01 09:45:00,5
+6040,2020-01-01 10:00:00,5
+6041,2020-01-01 10:15:00,5
+6042,2020-01-01 10:30:00,5
+6043,2020-01-01 10:45:00,5
+6044,2020-01-01 11:00:00,5
+6045,2020-01-01 11:15:00,5
+6046,2020-01-01 11:30:00,5
+6047,2020-01-01 11:45:00,5
+6048,2020-01-01 12:00:00,5
+6049,2020-01-01 12:15:00,5
+6050,2020-01-01 12:30:00,5
+6051,2020-01-01 12:45:00,5
+6052,2020-01-01 13:00:00,5
+6053,2020-01-01 13:15:00,5
+6054,2020-01-01 13:30:00,5
+6055,2020-01-01 13:45:00,5
+6056,2020-01-01 14:00:00,5
+6057,2020-01-01 14:15:00,5
+6058,2020-01-01 14:30:00,5
+6059,2020-01-01 14:45:00,5
+6060,2020-01-01 15:00:00,5
+6061,2020-01-01 15:15:00,5
+6062,2020-01-01 15:30:00,5
+6063,2020-01-01 15:45:00,5
+6064,2020-01-01 16:00:00,5
+6065,2020-01-01 16:15:00,5
+6066,2020-01-01 16:30:00,5
+6067,2020-01-01 16:45:00,5
+6068,2020-01-01 17:00:00,5
+6069,2020-01-01 17:15:00,5
+6070,2020-01-01 17:30:00,5
+6071,2020-01-01 17:45:00,5
+6072,2020-01-01 18:00:00,5
+6073,2020-01-01 18:15:00,5
+6074,2020-01-01 18:30:00,5
+6075,2020-01-01 18:45:00,5
+6076,2020-01-01 19:00:00,5
+6077,2020-01-01 19:15:00,5
+6078,2020-01-01 19:30:00,5
+6079,2020-01-01 19:45:00,5
+6080,2020-01-01 20:00:00,5
+6081,2020-01-01 20:15:00,5
+6082,2020-01-01 20:30:00,5
+6083,2020-01-01 20:45:00,5
+6084,2020-01-01 21:00:00,5
+6085,2020-01-01 21:15:00,5
+6086,2020-01-01 21:30:00,5
+6087,2020-01-01 21:45:00,5
+6088,2020-01-01 22:00:00,5
+6089,2020-01-01 22:15:00,5
+6090,2020-01-01 22:30:00,5
+6091,2020-01-01 22:45:00,5
+6092,2020-01-01 23:00:00,5
+6093,2020-01-01 23:15:00,5
+6094,2020-01-01 23:30:00,5
+6095,2020-01-01 23:45:00,5
+6096,2020-01-02 00:00:00,5
+6097,2020-01-02 00:15:00,5
+6098,2020-01-02 00:30:00,5
+6099,2020-01-02 00:45:00,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:15:00,6
+7002,2020-01-01 00:30:00,6
+7003,2020-01-01 00:45:00,6
+7004,2020-01-01 01:00:00,6
+7005,2020-01-01 01:15:00,6
+7006,2020-01-01 01:30:00,6
+7007,2020-01-01 01:45:00,6
+7008,2020-01-01 02:00:00,6
+7009,2020-01-01 02:15:00,6
+7010,2020-01-01 02:30:00,6
+7011,2020-01-01 02:45:00,6
+7012,2020-01-01 03:00:00,6
+7013,2020-01-01 03:15:00,6
+7014,2020-01-01 03:30:00,6
+7015,2020-01-01 03:45:00,6
+7016,2020-01-01 04:00:00,6
+7017,2020-01-01 04:15:00,6
+7018,2020-01-01 04:30:00,6
+7019,2020-01-01 04:45:00,6
+7020,2020-01-01 05:00:00,6
+7021,2020-01-01 05:15:00,6
+7022,2020-01-01 05:30:00,6
+7023,2020-01-01 05:45:00,6
+7024,2020-01-01 06:00:00,6
+7025,2020-01-01 06:15:00,6
+7026,2020-01-01 06:30:00,6
+7027,2020-01-01 06:45:00,6
+7028,2020-01-01 07:00:00,6
+7029,2020-01-01 07:15:00,6
+7030,2020-01-01 07:30:00,6
+7031,2020-01-01 07:45:00,6
+7032,2020-01-01 08:00:00,6
+7033,2020-01-01 08:15:00,6
+7034,2020-01-01 08:30:00,6
+7035,2020-01-01 08:45:00,6
+7036,2020-01-01 09:00:00,6
+7037,2020-01-01 09:15:00,6
+7038,2020-01-01 09:30:00,6
+7039,2020-01-01 09:45:00,6
+7040,2020-01-01 10:00:00,6
+7041,2020-01-01 10:15:00,6
+7042,2020-01-01 10:30:00,6
+7043,2020-01-01 10:45:00,6
+7044,2020-01-01 11:00:00,6
+7045,2020-01-01 11:15:00,6
+7046,2020-01-01 11:30:00,6
+7047,2020-01-01 11:45:00,6
+7048,2020-01-01 12:00:00,6
+7049,2020-01-01 12:15:00,6
+7050,2020-01-01 12:30:00,6
+7051,2020-01-01 12:45:00,6
+7052,2020-01-01 13:00:00,6
+7053,2020-01-01 13:15:00,6
+7054,2020-01-01 13:30:00,6
+7055,2020-01-01 13:45:00,6
+7056,2020-01-01 14:00:00,6
+7057,2020-01-01 14:15:00,6
+7058,2020-01-01 14:30:00,6
+7059,2020-01-01 14:45:00,6
+7060,2020-01-01 15:00:00,6
+7061,2020-01-01 15:15:00,6
+7062,2020-01-01 15:30:00,6
+7063,2020-01-01 15:45:00,6
+7064,2020-01-01 16:00:00,6
+7065,2020-01-01 16:15:00,6
+7066,2020-01-01 16:30:00,6
+7067,2020-01-01 16:45:00,6
+7068,2020-01-01 17:00:00,6
+7069,2020-01-01 17:15:00,6
+7070,2020-01-01 17:30:00,6
+7071,2020-01-01 17:45:00,6
+7072,2020-01-01 18:00:00,6
+7073,2020-01-01 18:15:00,6
+7074,2020-01-01 18:30:00,6
+7075,2020-01-01 18:45:00,6
+7076,2020-01-01 19:00:00,6
+7077,2020-01-01 19:15:00,6
+7078,2020-01-01 19:30:00,6
+7079,2020-01-01 19:45:00,6
+7080,2020-01-01 20:00:00,6
+7081,2020-01-01 20:15:00,6
+7082,2020-01-01 20:30:00,6
+7083,2020-01-01 20:45:00,6
+7084,2020-01-01 21:00:00,6
+7085,2020-01-01 21:15:00,6
+7086,2020-01-01 21:30:00,6
+7087,2020-01-01 21:45:00,6
+7088,2020-01-01 22:00:00,6
+7089,2020-01-01 22:15:00,6
+7090,2020-01-01 22:30:00,6
+7091,2020-01-01 22:45:00,6
+7092,2020-01-01 23:00:00,6
+7093,2020-01-01 23:15:00,6
+7094,2020-01-01 23:30:00,6
+7095,2020-01-01 23:45:00,6
+7096,2020-01-02 00:00:00,6
+7097,2020-01-02 00:15:00,6
+7098,2020-01-02 00:30:00,6
+7099,2020-01-02 00:45:00,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:15:00,7
+8002,2020-01-01 00:30:00,7
+8003,2020-01-01 00:45:00,7
+8004,2020-01-01 01:00:00,7
+8005,2020-01-01 01:15:00,7
+8006,2020-01-01 01:30:00,7
+8007,2020-01-01 01:45:00,7
+8008,2020-01-01 02:00:00,7
+8009,2020-01-01 02:15:00,7
+8010,2020-01-01 02:30:00,7
+8011,2020-01-01 02:45:00,7
+8012,2020-01-01 03:00:00,7
+8013,2020-01-01 03:15:00,7
+8014,2020-01-01 03:30:00,7
+8015,2020-01-01 03:45:00,7
+8016,2020-01-01 04:00:00,7
+8017,2020-01-01 04:15:00,7
+8018,2020-01-01 04:30:00,7
+8019,2020-01-01 04:45:00,7
+8020,2020-01-01 05:00:00,7
+8021,2020-01-01 05:15:00,7
+8022,2020-01-01 05:30:00,7
+8023,2020-01-01 05:45:00,7
+8024,2020-01-01 06:00:00,7
+8025,2020-01-01 06:15:00,7
+8026,2020-01-01 06:30:00,7
+8027,2020-01-01 06:45:00,7
+8028,2020-01-01 07:00:00,7
+8029,2020-01-01 07:15:00,7
+8030,2020-01-01 07:30:00,7
+8031,2020-01-01 07:45:00,7
+8032,2020-01-01 08:00:00,7
+8033,2020-01-01 08:15:00,7
+8034,2020-01-01 08:30:00,7
+8035,2020-01-01 08:45:00,7
+8036,2020-01-01 09:00:00,7
+8037,2020-01-01 09:15:00,7
+8038,2020-01-01 09:30:00,7
+8039,2020-01-01 09:45:00,7
+8040,2020-01-01 10:00:00,7
+8041,2020-01-01 10:15:00,7
+8042,2020-01-01 10:30:00,7
+8043,2020-01-01 10:45:00,7
+8044,2020-01-01 11:00:00,7
+8045,2020-01-01 11:15:00,7
+8046,2020-01-01 11:30:00,7
+8047,2020-01-01 11:45:00,7
+8048,2020-01-01 12:00:00,7
+8049,2020-01-01 12:15:00,7
+8050,2020-01-01 12:30:00,7
+8051,2020-01-01 12:45:00,7
+8052,2020-01-01 13:00:00,7
+8053,2020-01-01 13:15:00,7
+8054,2020-01-01 13:30:00,7
+8055,2020-01-01 13:45:00,7
+8056,2020-01-01 14:00:00,7
+8057,2020-01-01 14:15:00,7
+8058,2020-01-01 14:30:00,7
+8059,2020-01-01 14:45:00,7
+8060,2020-01-01 15:00:00,7
+8061,2020-01-01 15:15:00,7
+8062,2020-01-01 15:30:00,7
+8063,2020-01-01 15:45:00,7
+8064,2020-01-01 16:00:00,7
+8065,2020-01-01 16:15:00,7
+8066,2020-01-01 16:30:00,7
+8067,2020-01-01 16:45:00,7
+8068,2020-01-01 17:00:00,7
+8069,2020-01-01 17:15:00,7
+8070,2020-01-01 17:30:00,7
+8071,2020-01-01 17:45:00,7
+8072,2020-01-01 18:00:00,7
+8073,2020-01-01 18:15:00,7
+8074,2020-01-01 18:30:00,7
+8075,2020-01-01 18:45:00,7
+8076,2020-01-01 19:00:00,7
+8077,2020-01-01 19:15:00,7
+8078,2020-01-01 19:30:00,7
+8079,2020-01-01 19:45:00,7
+8080,2020-01-01 20:00:00,7
+8081,2020-01-01 20:15:00,7
+8082,2020-01-01 20:30:00,7
+8083,2020-01-01 20:45:00,7
+8084,2020-01-01 21:00:00,7
+8085,2020-01-01 21:15:00,7
+8086,2020-01-01 21:30:00,7
+8087,2020-01-01 21:45:00,7
+8088,2020-01-01 22:00:00,7
+8089,2020-01-01 22:15:00,7
+8090,2020-01-01 22:30:00,7
+8091,2020-01-01 22:45:00,7
+8092,2020-01-01 23:00:00,7
+8093,2020-01-01 23:15:00,7
+8094,2020-01-01 23:30:00,7
+8095,2020-01-01 23:45:00,7
+8096,2020-01-02 00:00:00,7
+8097,2020-01-02 00:15:00,7
+8098,2020-01-02 00:30:00,7
+8099,2020-01-02 00:45:00,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:15:00,8
+9002,2020-01-01 00:30:00,8
+9003,2020-01-01 00:45:00,8
+9004,2020-01-01 01:00:00,8
+9005,2020-01-01 01:15:00,8
+9006,2020-01-01 01:30:00,8
+9007,2020-01-01 01:45:00,8
+9008,2020-01-01 02:00:00,8
+9009,2020-01-01 02:15:00,8
+9010,2020-01-01 02:30:00,8
+9011,2020-01-01 02:45:00,8
+9012,2020-01-01 03:00:00,8
+9013,2020-01-01 03:15:00,8
+9014,2020-01-01 03:30:00,8
+9015,2020-01-01 03:45:00,8
+9016,2020-01-01 04:00:00,8
+9017,2020-01-01 04:15:00,8
+9018,2020-01-01 04:30:00,8
+9019,2020-01-01 04:45:00,8
+9020,2020-01-01 05:00:00,8
+9021,2020-01-01 05:15:00,8
+9022,2020-01-01 05:30:00,8
+9023,2020-01-01 05:45:00,8
+9024,2020-01-01 06:00:00,8
+9025,2020-01-01 06:15:00,8
+9026,2020-01-01 06:30:00,8
+9027,2020-01-01 06:45:00,8
+9028,2020-01-01 07:00:00,8
+9029,2020-01-01 07:15:00,8
+9030,2020-01-01 07:30:00,8
+9031,2020-01-01 07:45:00,8
+9032,2020-01-01 08:00:00,8
+9033,2020-01-01 08:15:00,8
+9034,2020-01-01 08:30:00,8
+9035,2020-01-01 08:45:00,8
+9036,2020-01-01 09:00:00,8
+9037,2020-01-01 09:15:00,8
+9038,2020-01-01 09:30:00,8
+9039,2020-01-01 09:45:00,8
+9040,2020-01-01 10:00:00,8
+9041,2020-01-01 10:15:00,8
+9042,2020-01-01 10:30:00,8
+9043,2020-01-01 10:45:00,8
+9044,2020-01-01 11:00:00,8
+9045,2020-01-01 11:15:00,8
+9046,2020-01-01 11:30:00,8
+9047,2020-01-01 11:45:00,8
+9048,2020-01-01 12:00:00,8
+9049,2020-01-01 12:15:00,8
+9050,2020-01-01 12:30:00,8
+9051,2020-01-01 12:45:00,8
+9052,2020-01-01 13:00:00,8
+9053,2020-01-01 13:15:00,8
+9054,2020-01-01 13:30:00,8
+9055,2020-01-01 13:45:00,8
+9056,2020-01-01 14:00:00,8
+9057,2020-01-01 14:15:00,8
+9058,2020-01-01 14:30:00,8
+9059,2020-01-01 14:45:00,8
+9060,2020-01-01 15:00:00,8
+9061,2020-01-01 15:15:00,8
+9062,2020-01-01 15:30:00,8
+9063,2020-01-01 15:45:00,8
+9064,2020-01-01 16:00:00,8
+9065,2020-01-01 16:15:00,8
+9066,2020-01-01 16:30:00,8
+9067,2020-01-01 16:45:00,8
+9068,2020-01-01 17:00:00,8
+9069,2020-01-01 17:15:00,8
+9070,2020-01-01 17:30:00,8
+9071,2020-01-01 17:45:00,8
+9072,2020-01-01 18:00:00,8
+9073,2020-01-01 18:15:00,8
+9074,2020-01-01 18:30:00,8
+9075,2020-01-01 18:45:00,8
+9076,2020-01-01 19:00:00,8
+9077,2020-01-01 19:15:00,8
+9078,2020-01-01 19:30:00,8
+9079,2020-01-01 19:45:00,8
+9080,2020-01-01 20:00:00,8
+9081,2020-01-01 20:15:00,8
+9082,2020-01-01 20:30:00,8
+9083,2020-01-01 20:45:00,8
+9084,2020-01-01 21:00:00,8
+9085,2020-01-01 21:15:00,8
+9086,2020-01-01 21:30:00,8
+9087,2020-01-01 21:45:00,8
+9088,2020-01-01 22:00:00,8
+9089,2020-01-01 22:15:00,8
+9090,2020-01-01 22:30:00,8
+9091,2020-01-01 22:45:00,8
+9092,2020-01-01 23:00:00,8
+9093,2020-01-01 23:15:00,8
+9094,2020-01-01 23:30:00,8
+9095,2020-01-01 23:45:00,8
+9096,2020-01-02 00:00:00,8
+9097,2020-01-02 00:15:00,8
+9098,2020-01-02 00:30:00,8
+9099,2020-01-02 00:45:00,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:15:00,9
+10002,2020-01-01 00:30:00,9
+10003,2020-01-01 00:45:00,9
+10004,2020-01-01 01:00:00,9
+10005,2020-01-01 01:15:00,9
+10006,2020-01-01 01:30:00,9
+10007,2020-01-01 01:45:00,9
+10008,2020-01-01 02:00:00,9
+10009,2020-01-01 02:15:00,9
+10010,2020-01-01 02:30:00,9
+10011,2020-01-01 02:45:00,9
+10012,2020-01-01 03:00:00,9
+10013,2020-01-01 03:15:00,9
+10014,2020-01-01 03:30:00,9
+10015,2020-01-01 03:45:00,9
+10016,2020-01-01 04:00:00,9
+10017,2020-01-01 04:15:00,9
+10018,2020-01-01 04:30:00,9
+10019,2020-01-01 04:45:00,9
+10020,2020-01-01 05:00:00,9
+10021,2020-01-01 05:15:00,9
+10022,2020-01-01 05:30:00,9
+10023,2020-01-01 05:45:00,9
+10024,2020-01-01 06:00:00,9
+10025,2020-01-01 06:15:00,9
+10026,2020-01-01 06:30:00,9
+10027,2020-01-01 06:45:00,9
+10028,2020-01-01 07:00:00,9
+10029,2020-01-01 07:15:00,9
+10030,2020-01-01 07:30:00,9
+10031,2020-01-01 07:45:00,9
+10032,2020-01-01 08:00:00,9
+10033,2020-01-01 08:15:00,9
+10034,2020-01-01 08:30:00,9
+10035,2020-01-01 08:45:00,9
+10036,2020-01-01 09:00:00,9
+10037,2020-01-01 09:15:00,9
+10038,2020-01-01 09:30:00,9
+10039,2020-01-01 09:45:00,9
+10040,2020-01-01 10:00:00,9
+10041,2020-01-01 10:15:00,9
+10042,2020-01-01 10:30:00,9
+10043,2020-01-01 10:45:00,9
+10044,2020-01-01 11:00:00,9
+10045,2020-01-01 11:15:00,9
+10046,2020-01-01 11:30:00,9
+10047,2020-01-01 11:45:00,9
+10048,2020-01-01 12:00:00,9
+10049,2020-01-01 12:15:00,9
+10050,2020-01-01 12:30:00,9
+10051,2020-01-01 12:45:00,9
+10052,2020-01-01 13:00:00,9
+10053,2020-01-01 13:15:00,9
+10054,2020-01-01 13:30:00,9
+10055,2020-01-01 13:45:00,9
+10056,2020-01-01 14:00:00,9
+10057,2020-01-01 14:15:00,9
+10058,2020-01-01 14:30:00,9
+10059,2020-01-01 14:45:00,9
+10060,2020-01-01 15:00:00,9
+10061,2020-01-01 15:15:00,9
+10062,2020-01-01 15:30:00,9
+10063,2020-01-01 15:45:00,9
+10064,2020-01-01 16:00:00,9
+10065,2020-01-01 16:15:00,9
+10066,2020-01-01 16:30:00,9
+10067,2020-01-01 16:45:00,9
+10068,2020-01-01 17:00:00,9
+10069,2020-01-01 17:15:00,9
+10070,2020-01-01 17:30:00,9
+10071,2020-01-01 17:45:00,9
+10072,2020-01-01 18:00:00,9
+10073,2020-01-01 18:15:00,9
+10074,2020-01-01 18:30:00,9
+10075,2020-01-01 18:45:00,9
+10076,2020-01-01 19:00:00,9
+10077,2020-01-01 19:15:00,9
+10078,2020-01-01 19:30:00,9
+10079,2020-01-01 19:45:00,9
+10080,2020-01-01 20:00:00,9
+10081,2020-01-01 20:15:00,9
+10082,2020-01-01 20:30:00,9
+10083,2020-01-01 20:45:00,9
+10084,2020-01-01 21:00:00,9
+10085,2020-01-01 21:15:00,9
+10086,2020-01-01 21:30:00,9
+10087,2020-01-01 21:45:00,9
+10088,2020-01-01 22:00:00,9
+10089,2020-01-01 22:15:00,9
+10090,2020-01-01 22:30:00,9
+10091,2020-01-01 22:45:00,9
+10092,2020-01-01 23:00:00,9
+10093,2020-01-01 23:15:00,9
+10094,2020-01-01 23:30:00,9
+10095,2020-01-01 23:45:00,9
+10096,2020-01-02 00:00:00,9
+10097,2020-01-02 00:15:00,9
+10098,2020-01-02 00:30:00,9
+10099,2020-01-02 00:45:00,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1min.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1min.csv
new file mode 100644
index 0000000..76be35e
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1min.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:01:00,0
+1002,2020-01-01 00:02:00,0
+1003,2020-01-01 00:03:00,0
+1004,2020-01-01 00:04:00,0
+1005,2020-01-01 00:05:00,0
+1006,2020-01-01 00:06:00,0
+1007,2020-01-01 00:07:00,0
+1008,2020-01-01 00:08:00,0
+1009,2020-01-01 00:09:00,0
+1010,2020-01-01 00:10:00,0
+1011,2020-01-01 00:11:00,0
+1012,2020-01-01 00:12:00,0
+1013,2020-01-01 00:13:00,0
+1014,2020-01-01 00:14:00,0
+1015,2020-01-01 00:15:00,0
+1016,2020-01-01 00:16:00,0
+1017,2020-01-01 00:17:00,0
+1018,2020-01-01 00:18:00,0
+1019,2020-01-01 00:19:00,0
+1020,2020-01-01 00:20:00,0
+1021,2020-01-01 00:21:00,0
+1022,2020-01-01 00:22:00,0
+1023,2020-01-01 00:23:00,0
+1024,2020-01-01 00:24:00,0
+1025,2020-01-01 00:25:00,0
+1026,2020-01-01 00:26:00,0
+1027,2020-01-01 00:27:00,0
+1028,2020-01-01 00:28:00,0
+1029,2020-01-01 00:29:00,0
+1030,2020-01-01 00:30:00,0
+1031,2020-01-01 00:31:00,0
+1032,2020-01-01 00:32:00,0
+1033,2020-01-01 00:33:00,0
+1034,2020-01-01 00:34:00,0
+1035,2020-01-01 00:35:00,0
+1036,2020-01-01 00:36:00,0
+1037,2020-01-01 00:37:00,0
+1038,2020-01-01 00:38:00,0
+1039,2020-01-01 00:39:00,0
+1040,2020-01-01 00:40:00,0
+1041,2020-01-01 00:41:00,0
+1042,2020-01-01 00:42:00,0
+1043,2020-01-01 00:43:00,0
+1044,2020-01-01 00:44:00,0
+1045,2020-01-01 00:45:00,0
+1046,2020-01-01 00:46:00,0
+1047,2020-01-01 00:47:00,0
+1048,2020-01-01 00:48:00,0
+1049,2020-01-01 00:49:00,0
+1050,2020-01-01 00:50:00,0
+1051,2020-01-01 00:51:00,0
+1052,2020-01-01 00:52:00,0
+1053,2020-01-01 00:53:00,0
+1054,2020-01-01 00:54:00,0
+1055,2020-01-01 00:55:00,0
+1056,2020-01-01 00:56:00,0
+1057,2020-01-01 00:57:00,0
+1058,2020-01-01 00:58:00,0
+1059,2020-01-01 00:59:00,0
+1060,2020-01-01 01:00:00,0
+1061,2020-01-01 01:01:00,0
+1062,2020-01-01 01:02:00,0
+1063,2020-01-01 01:03:00,0
+1064,2020-01-01 01:04:00,0
+1065,2020-01-01 01:05:00,0
+1066,2020-01-01 01:06:00,0
+1067,2020-01-01 01:07:00,0
+1068,2020-01-01 01:08:00,0
+1069,2020-01-01 01:09:00,0
+1070,2020-01-01 01:10:00,0
+1071,2020-01-01 01:11:00,0
+1072,2020-01-01 01:12:00,0
+1073,2020-01-01 01:13:00,0
+1074,2020-01-01 01:14:00,0
+1075,2020-01-01 01:15:00,0
+1076,2020-01-01 01:16:00,0
+1077,2020-01-01 01:17:00,0
+1078,2020-01-01 01:18:00,0
+1079,2020-01-01 01:19:00,0
+1080,2020-01-01 01:20:00,0
+1081,2020-01-01 01:21:00,0
+1082,2020-01-01 01:22:00,0
+1083,2020-01-01 01:23:00,0
+1084,2020-01-01 01:24:00,0
+1085,2020-01-01 01:25:00,0
+1086,2020-01-01 01:26:00,0
+1087,2020-01-01 01:27:00,0
+1088,2020-01-01 01:28:00,0
+1089,2020-01-01 01:29:00,0
+1090,2020-01-01 01:30:00,0
+1091,2020-01-01 01:31:00,0
+1092,2020-01-01 01:32:00,0
+1093,2020-01-01 01:33:00,0
+1094,2020-01-01 01:34:00,0
+1095,2020-01-01 01:35:00,0
+1096,2020-01-01 01:36:00,0
+1097,2020-01-01 01:37:00,0
+1098,2020-01-01 01:38:00,0
+1099,2020-01-01 01:39:00,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:01:00,1
+2002,2020-01-01 00:02:00,1
+2003,2020-01-01 00:03:00,1
+2004,2020-01-01 00:04:00,1
+2005,2020-01-01 00:05:00,1
+2006,2020-01-01 00:06:00,1
+2007,2020-01-01 00:07:00,1
+2008,2020-01-01 00:08:00,1
+2009,2020-01-01 00:09:00,1
+2010,2020-01-01 00:10:00,1
+2011,2020-01-01 00:11:00,1
+2012,2020-01-01 00:12:00,1
+2013,2020-01-01 00:13:00,1
+2014,2020-01-01 00:14:00,1
+2015,2020-01-01 00:15:00,1
+2016,2020-01-01 00:16:00,1
+2017,2020-01-01 00:17:00,1
+2018,2020-01-01 00:18:00,1
+2019,2020-01-01 00:19:00,1
+2020,2020-01-01 00:20:00,1
+2021,2020-01-01 00:21:00,1
+2022,2020-01-01 00:22:00,1
+2023,2020-01-01 00:23:00,1
+2024,2020-01-01 00:24:00,1
+2025,2020-01-01 00:25:00,1
+2026,2020-01-01 00:26:00,1
+2027,2020-01-01 00:27:00,1
+2028,2020-01-01 00:28:00,1
+2029,2020-01-01 00:29:00,1
+2030,2020-01-01 00:30:00,1
+2031,2020-01-01 00:31:00,1
+2032,2020-01-01 00:32:00,1
+2033,2020-01-01 00:33:00,1
+2034,2020-01-01 00:34:00,1
+2035,2020-01-01 00:35:00,1
+2036,2020-01-01 00:36:00,1
+2037,2020-01-01 00:37:00,1
+2038,2020-01-01 00:38:00,1
+2039,2020-01-01 00:39:00,1
+2040,2020-01-01 00:40:00,1
+2041,2020-01-01 00:41:00,1
+2042,2020-01-01 00:42:00,1
+2043,2020-01-01 00:43:00,1
+2044,2020-01-01 00:44:00,1
+2045,2020-01-01 00:45:00,1
+2046,2020-01-01 00:46:00,1
+2047,2020-01-01 00:47:00,1
+2048,2020-01-01 00:48:00,1
+2049,2020-01-01 00:49:00,1
+2050,2020-01-01 00:50:00,1
+2051,2020-01-01 00:51:00,1
+2052,2020-01-01 00:52:00,1
+2053,2020-01-01 00:53:00,1
+2054,2020-01-01 00:54:00,1
+2055,2020-01-01 00:55:00,1
+2056,2020-01-01 00:56:00,1
+2057,2020-01-01 00:57:00,1
+2058,2020-01-01 00:58:00,1
+2059,2020-01-01 00:59:00,1
+2060,2020-01-01 01:00:00,1
+2061,2020-01-01 01:01:00,1
+2062,2020-01-01 01:02:00,1
+2063,2020-01-01 01:03:00,1
+2064,2020-01-01 01:04:00,1
+2065,2020-01-01 01:05:00,1
+2066,2020-01-01 01:06:00,1
+2067,2020-01-01 01:07:00,1
+2068,2020-01-01 01:08:00,1
+2069,2020-01-01 01:09:00,1
+2070,2020-01-01 01:10:00,1
+2071,2020-01-01 01:11:00,1
+2072,2020-01-01 01:12:00,1
+2073,2020-01-01 01:13:00,1
+2074,2020-01-01 01:14:00,1
+2075,2020-01-01 01:15:00,1
+2076,2020-01-01 01:16:00,1
+2077,2020-01-01 01:17:00,1
+2078,2020-01-01 01:18:00,1
+2079,2020-01-01 01:19:00,1
+2080,2020-01-01 01:20:00,1
+2081,2020-01-01 01:21:00,1
+2082,2020-01-01 01:22:00,1
+2083,2020-01-01 01:23:00,1
+2084,2020-01-01 01:24:00,1
+2085,2020-01-01 01:25:00,1
+2086,2020-01-01 01:26:00,1
+2087,2020-01-01 01:27:00,1
+2088,2020-01-01 01:28:00,1
+2089,2020-01-01 01:29:00,1
+2090,2020-01-01 01:30:00,1
+2091,2020-01-01 01:31:00,1
+2092,2020-01-01 01:32:00,1
+2093,2020-01-01 01:33:00,1
+2094,2020-01-01 01:34:00,1
+2095,2020-01-01 01:35:00,1
+2096,2020-01-01 01:36:00,1
+2097,2020-01-01 01:37:00,1
+2098,2020-01-01 01:38:00,1
+2099,2020-01-01 01:39:00,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:01:00,2
+3002,2020-01-01 00:02:00,2
+3003,2020-01-01 00:03:00,2
+3004,2020-01-01 00:04:00,2
+3005,2020-01-01 00:05:00,2
+3006,2020-01-01 00:06:00,2
+3007,2020-01-01 00:07:00,2
+3008,2020-01-01 00:08:00,2
+3009,2020-01-01 00:09:00,2
+3010,2020-01-01 00:10:00,2
+3011,2020-01-01 00:11:00,2
+3012,2020-01-01 00:12:00,2
+3013,2020-01-01 00:13:00,2
+3014,2020-01-01 00:14:00,2
+3015,2020-01-01 00:15:00,2
+3016,2020-01-01 00:16:00,2
+3017,2020-01-01 00:17:00,2
+3018,2020-01-01 00:18:00,2
+3019,2020-01-01 00:19:00,2
+3020,2020-01-01 00:20:00,2
+3021,2020-01-01 00:21:00,2
+3022,2020-01-01 00:22:00,2
+3023,2020-01-01 00:23:00,2
+3024,2020-01-01 00:24:00,2
+3025,2020-01-01 00:25:00,2
+3026,2020-01-01 00:26:00,2
+3027,2020-01-01 00:27:00,2
+3028,2020-01-01 00:28:00,2
+3029,2020-01-01 00:29:00,2
+3030,2020-01-01 00:30:00,2
+3031,2020-01-01 00:31:00,2
+3032,2020-01-01 00:32:00,2
+3033,2020-01-01 00:33:00,2
+3034,2020-01-01 00:34:00,2
+3035,2020-01-01 00:35:00,2
+3036,2020-01-01 00:36:00,2
+3037,2020-01-01 00:37:00,2
+3038,2020-01-01 00:38:00,2
+3039,2020-01-01 00:39:00,2
+3040,2020-01-01 00:40:00,2
+3041,2020-01-01 00:41:00,2
+3042,2020-01-01 00:42:00,2
+3043,2020-01-01 00:43:00,2
+3044,2020-01-01 00:44:00,2
+3045,2020-01-01 00:45:00,2
+3046,2020-01-01 00:46:00,2
+3047,2020-01-01 00:47:00,2
+3048,2020-01-01 00:48:00,2
+3049,2020-01-01 00:49:00,2
+3050,2020-01-01 00:50:00,2
+3051,2020-01-01 00:51:00,2
+3052,2020-01-01 00:52:00,2
+3053,2020-01-01 00:53:00,2
+3054,2020-01-01 00:54:00,2
+3055,2020-01-01 00:55:00,2
+3056,2020-01-01 00:56:00,2
+3057,2020-01-01 00:57:00,2
+3058,2020-01-01 00:58:00,2
+3059,2020-01-01 00:59:00,2
+3060,2020-01-01 01:00:00,2
+3061,2020-01-01 01:01:00,2
+3062,2020-01-01 01:02:00,2
+3063,2020-01-01 01:03:00,2
+3064,2020-01-01 01:04:00,2
+3065,2020-01-01 01:05:00,2
+3066,2020-01-01 01:06:00,2
+3067,2020-01-01 01:07:00,2
+3068,2020-01-01 01:08:00,2
+3069,2020-01-01 01:09:00,2
+3070,2020-01-01 01:10:00,2
+3071,2020-01-01 01:11:00,2
+3072,2020-01-01 01:12:00,2
+3073,2020-01-01 01:13:00,2
+3074,2020-01-01 01:14:00,2
+3075,2020-01-01 01:15:00,2
+3076,2020-01-01 01:16:00,2
+3077,2020-01-01 01:17:00,2
+3078,2020-01-01 01:18:00,2
+3079,2020-01-01 01:19:00,2
+3080,2020-01-01 01:20:00,2
+3081,2020-01-01 01:21:00,2
+3082,2020-01-01 01:22:00,2
+3083,2020-01-01 01:23:00,2
+3084,2020-01-01 01:24:00,2
+3085,2020-01-01 01:25:00,2
+3086,2020-01-01 01:26:00,2
+3087,2020-01-01 01:27:00,2
+3088,2020-01-01 01:28:00,2
+3089,2020-01-01 01:29:00,2
+3090,2020-01-01 01:30:00,2
+3091,2020-01-01 01:31:00,2
+3092,2020-01-01 01:32:00,2
+3093,2020-01-01 01:33:00,2
+3094,2020-01-01 01:34:00,2
+3095,2020-01-01 01:35:00,2
+3096,2020-01-01 01:36:00,2
+3097,2020-01-01 01:37:00,2
+3098,2020-01-01 01:38:00,2
+3099,2020-01-01 01:39:00,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:01:00,3
+4002,2020-01-01 00:02:00,3
+4003,2020-01-01 00:03:00,3
+4004,2020-01-01 00:04:00,3
+4005,2020-01-01 00:05:00,3
+4006,2020-01-01 00:06:00,3
+4007,2020-01-01 00:07:00,3
+4008,2020-01-01 00:08:00,3
+4009,2020-01-01 00:09:00,3
+4010,2020-01-01 00:10:00,3
+4011,2020-01-01 00:11:00,3
+4012,2020-01-01 00:12:00,3
+4013,2020-01-01 00:13:00,3
+4014,2020-01-01 00:14:00,3
+4015,2020-01-01 00:15:00,3
+4016,2020-01-01 00:16:00,3
+4017,2020-01-01 00:17:00,3
+4018,2020-01-01 00:18:00,3
+4019,2020-01-01 00:19:00,3
+4020,2020-01-01 00:20:00,3
+4021,2020-01-01 00:21:00,3
+4022,2020-01-01 00:22:00,3
+4023,2020-01-01 00:23:00,3
+4024,2020-01-01 00:24:00,3
+4025,2020-01-01 00:25:00,3
+4026,2020-01-01 00:26:00,3
+4027,2020-01-01 00:27:00,3
+4028,2020-01-01 00:28:00,3
+4029,2020-01-01 00:29:00,3
+4030,2020-01-01 00:30:00,3
+4031,2020-01-01 00:31:00,3
+4032,2020-01-01 00:32:00,3
+4033,2020-01-01 00:33:00,3
+4034,2020-01-01 00:34:00,3
+4035,2020-01-01 00:35:00,3
+4036,2020-01-01 00:36:00,3
+4037,2020-01-01 00:37:00,3
+4038,2020-01-01 00:38:00,3
+4039,2020-01-01 00:39:00,3
+4040,2020-01-01 00:40:00,3
+4041,2020-01-01 00:41:00,3
+4042,2020-01-01 00:42:00,3
+4043,2020-01-01 00:43:00,3
+4044,2020-01-01 00:44:00,3
+4045,2020-01-01 00:45:00,3
+4046,2020-01-01 00:46:00,3
+4047,2020-01-01 00:47:00,3
+4048,2020-01-01 00:48:00,3
+4049,2020-01-01 00:49:00,3
+4050,2020-01-01 00:50:00,3
+4051,2020-01-01 00:51:00,3
+4052,2020-01-01 00:52:00,3
+4053,2020-01-01 00:53:00,3
+4054,2020-01-01 00:54:00,3
+4055,2020-01-01 00:55:00,3
+4056,2020-01-01 00:56:00,3
+4057,2020-01-01 00:57:00,3
+4058,2020-01-01 00:58:00,3
+4059,2020-01-01 00:59:00,3
+4060,2020-01-01 01:00:00,3
+4061,2020-01-01 01:01:00,3
+4062,2020-01-01 01:02:00,3
+4063,2020-01-01 01:03:00,3
+4064,2020-01-01 01:04:00,3
+4065,2020-01-01 01:05:00,3
+4066,2020-01-01 01:06:00,3
+4067,2020-01-01 01:07:00,3
+4068,2020-01-01 01:08:00,3
+4069,2020-01-01 01:09:00,3
+4070,2020-01-01 01:10:00,3
+4071,2020-01-01 01:11:00,3
+4072,2020-01-01 01:12:00,3
+4073,2020-01-01 01:13:00,3
+4074,2020-01-01 01:14:00,3
+4075,2020-01-01 01:15:00,3
+4076,2020-01-01 01:16:00,3
+4077,2020-01-01 01:17:00,3
+4078,2020-01-01 01:18:00,3
+4079,2020-01-01 01:19:00,3
+4080,2020-01-01 01:20:00,3
+4081,2020-01-01 01:21:00,3
+4082,2020-01-01 01:22:00,3
+4083,2020-01-01 01:23:00,3
+4084,2020-01-01 01:24:00,3
+4085,2020-01-01 01:25:00,3
+4086,2020-01-01 01:26:00,3
+4087,2020-01-01 01:27:00,3
+4088,2020-01-01 01:28:00,3
+4089,2020-01-01 01:29:00,3
+4090,2020-01-01 01:30:00,3
+4091,2020-01-01 01:31:00,3
+4092,2020-01-01 01:32:00,3
+4093,2020-01-01 01:33:00,3
+4094,2020-01-01 01:34:00,3
+4095,2020-01-01 01:35:00,3
+4096,2020-01-01 01:36:00,3
+4097,2020-01-01 01:37:00,3
+4098,2020-01-01 01:38:00,3
+4099,2020-01-01 01:39:00,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:01:00,4
+5002,2020-01-01 00:02:00,4
+5003,2020-01-01 00:03:00,4
+5004,2020-01-01 00:04:00,4
+5005,2020-01-01 00:05:00,4
+5006,2020-01-01 00:06:00,4
+5007,2020-01-01 00:07:00,4
+5008,2020-01-01 00:08:00,4
+5009,2020-01-01 00:09:00,4
+5010,2020-01-01 00:10:00,4
+5011,2020-01-01 00:11:00,4
+5012,2020-01-01 00:12:00,4
+5013,2020-01-01 00:13:00,4
+5014,2020-01-01 00:14:00,4
+5015,2020-01-01 00:15:00,4
+5016,2020-01-01 00:16:00,4
+5017,2020-01-01 00:17:00,4
+5018,2020-01-01 00:18:00,4
+5019,2020-01-01 00:19:00,4
+5020,2020-01-01 00:20:00,4
+5021,2020-01-01 00:21:00,4
+5022,2020-01-01 00:22:00,4
+5023,2020-01-01 00:23:00,4
+5024,2020-01-01 00:24:00,4
+5025,2020-01-01 00:25:00,4
+5026,2020-01-01 00:26:00,4
+5027,2020-01-01 00:27:00,4
+5028,2020-01-01 00:28:00,4
+5029,2020-01-01 00:29:00,4
+5030,2020-01-01 00:30:00,4
+5031,2020-01-01 00:31:00,4
+5032,2020-01-01 00:32:00,4
+5033,2020-01-01 00:33:00,4
+5034,2020-01-01 00:34:00,4
+5035,2020-01-01 00:35:00,4
+5036,2020-01-01 00:36:00,4
+5037,2020-01-01 00:37:00,4
+5038,2020-01-01 00:38:00,4
+5039,2020-01-01 00:39:00,4
+5040,2020-01-01 00:40:00,4
+5041,2020-01-01 00:41:00,4
+5042,2020-01-01 00:42:00,4
+5043,2020-01-01 00:43:00,4
+5044,2020-01-01 00:44:00,4
+5045,2020-01-01 00:45:00,4
+5046,2020-01-01 00:46:00,4
+5047,2020-01-01 00:47:00,4
+5048,2020-01-01 00:48:00,4
+5049,2020-01-01 00:49:00,4
+5050,2020-01-01 00:50:00,4
+5051,2020-01-01 00:51:00,4
+5052,2020-01-01 00:52:00,4
+5053,2020-01-01 00:53:00,4
+5054,2020-01-01 00:54:00,4
+5055,2020-01-01 00:55:00,4
+5056,2020-01-01 00:56:00,4
+5057,2020-01-01 00:57:00,4
+5058,2020-01-01 00:58:00,4
+5059,2020-01-01 00:59:00,4
+5060,2020-01-01 01:00:00,4
+5061,2020-01-01 01:01:00,4
+5062,2020-01-01 01:02:00,4
+5063,2020-01-01 01:03:00,4
+5064,2020-01-01 01:04:00,4
+5065,2020-01-01 01:05:00,4
+5066,2020-01-01 01:06:00,4
+5067,2020-01-01 01:07:00,4
+5068,2020-01-01 01:08:00,4
+5069,2020-01-01 01:09:00,4
+5070,2020-01-01 01:10:00,4
+5071,2020-01-01 01:11:00,4
+5072,2020-01-01 01:12:00,4
+5073,2020-01-01 01:13:00,4
+5074,2020-01-01 01:14:00,4
+5075,2020-01-01 01:15:00,4
+5076,2020-01-01 01:16:00,4
+5077,2020-01-01 01:17:00,4
+5078,2020-01-01 01:18:00,4
+5079,2020-01-01 01:19:00,4
+5080,2020-01-01 01:20:00,4
+5081,2020-01-01 01:21:00,4
+5082,2020-01-01 01:22:00,4
+5083,2020-01-01 01:23:00,4
+5084,2020-01-01 01:24:00,4
+5085,2020-01-01 01:25:00,4
+5086,2020-01-01 01:26:00,4
+5087,2020-01-01 01:27:00,4
+5088,2020-01-01 01:28:00,4
+5089,2020-01-01 01:29:00,4
+5090,2020-01-01 01:30:00,4
+5091,2020-01-01 01:31:00,4
+5092,2020-01-01 01:32:00,4
+5093,2020-01-01 01:33:00,4
+5094,2020-01-01 01:34:00,4
+5095,2020-01-01 01:35:00,4
+5096,2020-01-01 01:36:00,4
+5097,2020-01-01 01:37:00,4
+5098,2020-01-01 01:38:00,4
+5099,2020-01-01 01:39:00,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:01:00,5
+6002,2020-01-01 00:02:00,5
+6003,2020-01-01 00:03:00,5
+6004,2020-01-01 00:04:00,5
+6005,2020-01-01 00:05:00,5
+6006,2020-01-01 00:06:00,5
+6007,2020-01-01 00:07:00,5
+6008,2020-01-01 00:08:00,5
+6009,2020-01-01 00:09:00,5
+6010,2020-01-01 00:10:00,5
+6011,2020-01-01 00:11:00,5
+6012,2020-01-01 00:12:00,5
+6013,2020-01-01 00:13:00,5
+6014,2020-01-01 00:14:00,5
+6015,2020-01-01 00:15:00,5
+6016,2020-01-01 00:16:00,5
+6017,2020-01-01 00:17:00,5
+6018,2020-01-01 00:18:00,5
+6019,2020-01-01 00:19:00,5
+6020,2020-01-01 00:20:00,5
+6021,2020-01-01 00:21:00,5
+6022,2020-01-01 00:22:00,5
+6023,2020-01-01 00:23:00,5
+6024,2020-01-01 00:24:00,5
+6025,2020-01-01 00:25:00,5
+6026,2020-01-01 00:26:00,5
+6027,2020-01-01 00:27:00,5
+6028,2020-01-01 00:28:00,5
+6029,2020-01-01 00:29:00,5
+6030,2020-01-01 00:30:00,5
+6031,2020-01-01 00:31:00,5
+6032,2020-01-01 00:32:00,5
+6033,2020-01-01 00:33:00,5
+6034,2020-01-01 00:34:00,5
+6035,2020-01-01 00:35:00,5
+6036,2020-01-01 00:36:00,5
+6037,2020-01-01 00:37:00,5
+6038,2020-01-01 00:38:00,5
+6039,2020-01-01 00:39:00,5
+6040,2020-01-01 00:40:00,5
+6041,2020-01-01 00:41:00,5
+6042,2020-01-01 00:42:00,5
+6043,2020-01-01 00:43:00,5
+6044,2020-01-01 00:44:00,5
+6045,2020-01-01 00:45:00,5
+6046,2020-01-01 00:46:00,5
+6047,2020-01-01 00:47:00,5
+6048,2020-01-01 00:48:00,5
+6049,2020-01-01 00:49:00,5
+6050,2020-01-01 00:50:00,5
+6051,2020-01-01 00:51:00,5
+6052,2020-01-01 00:52:00,5
+6053,2020-01-01 00:53:00,5
+6054,2020-01-01 00:54:00,5
+6055,2020-01-01 00:55:00,5
+6056,2020-01-01 00:56:00,5
+6057,2020-01-01 00:57:00,5
+6058,2020-01-01 00:58:00,5
+6059,2020-01-01 00:59:00,5
+6060,2020-01-01 01:00:00,5
+6061,2020-01-01 01:01:00,5
+6062,2020-01-01 01:02:00,5
+6063,2020-01-01 01:03:00,5
+6064,2020-01-01 01:04:00,5
+6065,2020-01-01 01:05:00,5
+6066,2020-01-01 01:06:00,5
+6067,2020-01-01 01:07:00,5
+6068,2020-01-01 01:08:00,5
+6069,2020-01-01 01:09:00,5
+6070,2020-01-01 01:10:00,5
+6071,2020-01-01 01:11:00,5
+6072,2020-01-01 01:12:00,5
+6073,2020-01-01 01:13:00,5
+6074,2020-01-01 01:14:00,5
+6075,2020-01-01 01:15:00,5
+6076,2020-01-01 01:16:00,5
+6077,2020-01-01 01:17:00,5
+6078,2020-01-01 01:18:00,5
+6079,2020-01-01 01:19:00,5
+6080,2020-01-01 01:20:00,5
+6081,2020-01-01 01:21:00,5
+6082,2020-01-01 01:22:00,5
+6083,2020-01-01 01:23:00,5
+6084,2020-01-01 01:24:00,5
+6085,2020-01-01 01:25:00,5
+6086,2020-01-01 01:26:00,5
+6087,2020-01-01 01:27:00,5
+6088,2020-01-01 01:28:00,5
+6089,2020-01-01 01:29:00,5
+6090,2020-01-01 01:30:00,5
+6091,2020-01-01 01:31:00,5
+6092,2020-01-01 01:32:00,5
+6093,2020-01-01 01:33:00,5
+6094,2020-01-01 01:34:00,5
+6095,2020-01-01 01:35:00,5
+6096,2020-01-01 01:36:00,5
+6097,2020-01-01 01:37:00,5
+6098,2020-01-01 01:38:00,5
+6099,2020-01-01 01:39:00,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:01:00,6
+7002,2020-01-01 00:02:00,6
+7003,2020-01-01 00:03:00,6
+7004,2020-01-01 00:04:00,6
+7005,2020-01-01 00:05:00,6
+7006,2020-01-01 00:06:00,6
+7007,2020-01-01 00:07:00,6
+7008,2020-01-01 00:08:00,6
+7009,2020-01-01 00:09:00,6
+7010,2020-01-01 00:10:00,6
+7011,2020-01-01 00:11:00,6
+7012,2020-01-01 00:12:00,6
+7013,2020-01-01 00:13:00,6
+7014,2020-01-01 00:14:00,6
+7015,2020-01-01 00:15:00,6
+7016,2020-01-01 00:16:00,6
+7017,2020-01-01 00:17:00,6
+7018,2020-01-01 00:18:00,6
+7019,2020-01-01 00:19:00,6
+7020,2020-01-01 00:20:00,6
+7021,2020-01-01 00:21:00,6
+7022,2020-01-01 00:22:00,6
+7023,2020-01-01 00:23:00,6
+7024,2020-01-01 00:24:00,6
+7025,2020-01-01 00:25:00,6
+7026,2020-01-01 00:26:00,6
+7027,2020-01-01 00:27:00,6
+7028,2020-01-01 00:28:00,6
+7029,2020-01-01 00:29:00,6
+7030,2020-01-01 00:30:00,6
+7031,2020-01-01 00:31:00,6
+7032,2020-01-01 00:32:00,6
+7033,2020-01-01 00:33:00,6
+7034,2020-01-01 00:34:00,6
+7035,2020-01-01 00:35:00,6
+7036,2020-01-01 00:36:00,6
+7037,2020-01-01 00:37:00,6
+7038,2020-01-01 00:38:00,6
+7039,2020-01-01 00:39:00,6
+7040,2020-01-01 00:40:00,6
+7041,2020-01-01 00:41:00,6
+7042,2020-01-01 00:42:00,6
+7043,2020-01-01 00:43:00,6
+7044,2020-01-01 00:44:00,6
+7045,2020-01-01 00:45:00,6
+7046,2020-01-01 00:46:00,6
+7047,2020-01-01 00:47:00,6
+7048,2020-01-01 00:48:00,6
+7049,2020-01-01 00:49:00,6
+7050,2020-01-01 00:50:00,6
+7051,2020-01-01 00:51:00,6
+7052,2020-01-01 00:52:00,6
+7053,2020-01-01 00:53:00,6
+7054,2020-01-01 00:54:00,6
+7055,2020-01-01 00:55:00,6
+7056,2020-01-01 00:56:00,6
+7057,2020-01-01 00:57:00,6
+7058,2020-01-01 00:58:00,6
+7059,2020-01-01 00:59:00,6
+7060,2020-01-01 01:00:00,6
+7061,2020-01-01 01:01:00,6
+7062,2020-01-01 01:02:00,6
+7063,2020-01-01 01:03:00,6
+7064,2020-01-01 01:04:00,6
+7065,2020-01-01 01:05:00,6
+7066,2020-01-01 01:06:00,6
+7067,2020-01-01 01:07:00,6
+7068,2020-01-01 01:08:00,6
+7069,2020-01-01 01:09:00,6
+7070,2020-01-01 01:10:00,6
+7071,2020-01-01 01:11:00,6
+7072,2020-01-01 01:12:00,6
+7073,2020-01-01 01:13:00,6
+7074,2020-01-01 01:14:00,6
+7075,2020-01-01 01:15:00,6
+7076,2020-01-01 01:16:00,6
+7077,2020-01-01 01:17:00,6
+7078,2020-01-01 01:18:00,6
+7079,2020-01-01 01:19:00,6
+7080,2020-01-01 01:20:00,6
+7081,2020-01-01 01:21:00,6
+7082,2020-01-01 01:22:00,6
+7083,2020-01-01 01:23:00,6
+7084,2020-01-01 01:24:00,6
+7085,2020-01-01 01:25:00,6
+7086,2020-01-01 01:26:00,6
+7087,2020-01-01 01:27:00,6
+7088,2020-01-01 01:28:00,6
+7089,2020-01-01 01:29:00,6
+7090,2020-01-01 01:30:00,6
+7091,2020-01-01 01:31:00,6
+7092,2020-01-01 01:32:00,6
+7093,2020-01-01 01:33:00,6
+7094,2020-01-01 01:34:00,6
+7095,2020-01-01 01:35:00,6
+7096,2020-01-01 01:36:00,6
+7097,2020-01-01 01:37:00,6
+7098,2020-01-01 01:38:00,6
+7099,2020-01-01 01:39:00,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:01:00,7
+8002,2020-01-01 00:02:00,7
+8003,2020-01-01 00:03:00,7
+8004,2020-01-01 00:04:00,7
+8005,2020-01-01 00:05:00,7
+8006,2020-01-01 00:06:00,7
+8007,2020-01-01 00:07:00,7
+8008,2020-01-01 00:08:00,7
+8009,2020-01-01 00:09:00,7
+8010,2020-01-01 00:10:00,7
+8011,2020-01-01 00:11:00,7
+8012,2020-01-01 00:12:00,7
+8013,2020-01-01 00:13:00,7
+8014,2020-01-01 00:14:00,7
+8015,2020-01-01 00:15:00,7
+8016,2020-01-01 00:16:00,7
+8017,2020-01-01 00:17:00,7
+8018,2020-01-01 00:18:00,7
+8019,2020-01-01 00:19:00,7
+8020,2020-01-01 00:20:00,7
+8021,2020-01-01 00:21:00,7
+8022,2020-01-01 00:22:00,7
+8023,2020-01-01 00:23:00,7
+8024,2020-01-01 00:24:00,7
+8025,2020-01-01 00:25:00,7
+8026,2020-01-01 00:26:00,7
+8027,2020-01-01 00:27:00,7
+8028,2020-01-01 00:28:00,7
+8029,2020-01-01 00:29:00,7
+8030,2020-01-01 00:30:00,7
+8031,2020-01-01 00:31:00,7
+8032,2020-01-01 00:32:00,7
+8033,2020-01-01 00:33:00,7
+8034,2020-01-01 00:34:00,7
+8035,2020-01-01 00:35:00,7
+8036,2020-01-01 00:36:00,7
+8037,2020-01-01 00:37:00,7
+8038,2020-01-01 00:38:00,7
+8039,2020-01-01 00:39:00,7
+8040,2020-01-01 00:40:00,7
+8041,2020-01-01 00:41:00,7
+8042,2020-01-01 00:42:00,7
+8043,2020-01-01 00:43:00,7
+8044,2020-01-01 00:44:00,7
+8045,2020-01-01 00:45:00,7
+8046,2020-01-01 00:46:00,7
+8047,2020-01-01 00:47:00,7
+8048,2020-01-01 00:48:00,7
+8049,2020-01-01 00:49:00,7
+8050,2020-01-01 00:50:00,7
+8051,2020-01-01 00:51:00,7
+8052,2020-01-01 00:52:00,7
+8053,2020-01-01 00:53:00,7
+8054,2020-01-01 00:54:00,7
+8055,2020-01-01 00:55:00,7
+8056,2020-01-01 00:56:00,7
+8057,2020-01-01 00:57:00,7
+8058,2020-01-01 00:58:00,7
+8059,2020-01-01 00:59:00,7
+8060,2020-01-01 01:00:00,7
+8061,2020-01-01 01:01:00,7
+8062,2020-01-01 01:02:00,7
+8063,2020-01-01 01:03:00,7
+8064,2020-01-01 01:04:00,7
+8065,2020-01-01 01:05:00,7
+8066,2020-01-01 01:06:00,7
+8067,2020-01-01 01:07:00,7
+8068,2020-01-01 01:08:00,7
+8069,2020-01-01 01:09:00,7
+8070,2020-01-01 01:10:00,7
+8071,2020-01-01 01:11:00,7
+8072,2020-01-01 01:12:00,7
+8073,2020-01-01 01:13:00,7
+8074,2020-01-01 01:14:00,7
+8075,2020-01-01 01:15:00,7
+8076,2020-01-01 01:16:00,7
+8077,2020-01-01 01:17:00,7
+8078,2020-01-01 01:18:00,7
+8079,2020-01-01 01:19:00,7
+8080,2020-01-01 01:20:00,7
+8081,2020-01-01 01:21:00,7
+8082,2020-01-01 01:22:00,7
+8083,2020-01-01 01:23:00,7
+8084,2020-01-01 01:24:00,7
+8085,2020-01-01 01:25:00,7
+8086,2020-01-01 01:26:00,7
+8087,2020-01-01 01:27:00,7
+8088,2020-01-01 01:28:00,7
+8089,2020-01-01 01:29:00,7
+8090,2020-01-01 01:30:00,7
+8091,2020-01-01 01:31:00,7
+8092,2020-01-01 01:32:00,7
+8093,2020-01-01 01:33:00,7
+8094,2020-01-01 01:34:00,7
+8095,2020-01-01 01:35:00,7
+8096,2020-01-01 01:36:00,7
+8097,2020-01-01 01:37:00,7
+8098,2020-01-01 01:38:00,7
+8099,2020-01-01 01:39:00,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:01:00,8
+9002,2020-01-01 00:02:00,8
+9003,2020-01-01 00:03:00,8
+9004,2020-01-01 00:04:00,8
+9005,2020-01-01 00:05:00,8
+9006,2020-01-01 00:06:00,8
+9007,2020-01-01 00:07:00,8
+9008,2020-01-01 00:08:00,8
+9009,2020-01-01 00:09:00,8
+9010,2020-01-01 00:10:00,8
+9011,2020-01-01 00:11:00,8
+9012,2020-01-01 00:12:00,8
+9013,2020-01-01 00:13:00,8
+9014,2020-01-01 00:14:00,8
+9015,2020-01-01 00:15:00,8
+9016,2020-01-01 00:16:00,8
+9017,2020-01-01 00:17:00,8
+9018,2020-01-01 00:18:00,8
+9019,2020-01-01 00:19:00,8
+9020,2020-01-01 00:20:00,8
+9021,2020-01-01 00:21:00,8
+9022,2020-01-01 00:22:00,8
+9023,2020-01-01 00:23:00,8
+9024,2020-01-01 00:24:00,8
+9025,2020-01-01 00:25:00,8
+9026,2020-01-01 00:26:00,8
+9027,2020-01-01 00:27:00,8
+9028,2020-01-01 00:28:00,8
+9029,2020-01-01 00:29:00,8
+9030,2020-01-01 00:30:00,8
+9031,2020-01-01 00:31:00,8
+9032,2020-01-01 00:32:00,8
+9033,2020-01-01 00:33:00,8
+9034,2020-01-01 00:34:00,8
+9035,2020-01-01 00:35:00,8
+9036,2020-01-01 00:36:00,8
+9037,2020-01-01 00:37:00,8
+9038,2020-01-01 00:38:00,8
+9039,2020-01-01 00:39:00,8
+9040,2020-01-01 00:40:00,8
+9041,2020-01-01 00:41:00,8
+9042,2020-01-01 00:42:00,8
+9043,2020-01-01 00:43:00,8
+9044,2020-01-01 00:44:00,8
+9045,2020-01-01 00:45:00,8
+9046,2020-01-01 00:46:00,8
+9047,2020-01-01 00:47:00,8
+9048,2020-01-01 00:48:00,8
+9049,2020-01-01 00:49:00,8
+9050,2020-01-01 00:50:00,8
+9051,2020-01-01 00:51:00,8
+9052,2020-01-01 00:52:00,8
+9053,2020-01-01 00:53:00,8
+9054,2020-01-01 00:54:00,8
+9055,2020-01-01 00:55:00,8
+9056,2020-01-01 00:56:00,8
+9057,2020-01-01 00:57:00,8
+9058,2020-01-01 00:58:00,8
+9059,2020-01-01 00:59:00,8
+9060,2020-01-01 01:00:00,8
+9061,2020-01-01 01:01:00,8
+9062,2020-01-01 01:02:00,8
+9063,2020-01-01 01:03:00,8
+9064,2020-01-01 01:04:00,8
+9065,2020-01-01 01:05:00,8
+9066,2020-01-01 01:06:00,8
+9067,2020-01-01 01:07:00,8
+9068,2020-01-01 01:08:00,8
+9069,2020-01-01 01:09:00,8
+9070,2020-01-01 01:10:00,8
+9071,2020-01-01 01:11:00,8
+9072,2020-01-01 01:12:00,8
+9073,2020-01-01 01:13:00,8
+9074,2020-01-01 01:14:00,8
+9075,2020-01-01 01:15:00,8
+9076,2020-01-01 01:16:00,8
+9077,2020-01-01 01:17:00,8
+9078,2020-01-01 01:18:00,8
+9079,2020-01-01 01:19:00,8
+9080,2020-01-01 01:20:00,8
+9081,2020-01-01 01:21:00,8
+9082,2020-01-01 01:22:00,8
+9083,2020-01-01 01:23:00,8
+9084,2020-01-01 01:24:00,8
+9085,2020-01-01 01:25:00,8
+9086,2020-01-01 01:26:00,8
+9087,2020-01-01 01:27:00,8
+9088,2020-01-01 01:28:00,8
+9089,2020-01-01 01:29:00,8
+9090,2020-01-01 01:30:00,8
+9091,2020-01-01 01:31:00,8
+9092,2020-01-01 01:32:00,8
+9093,2020-01-01 01:33:00,8
+9094,2020-01-01 01:34:00,8
+9095,2020-01-01 01:35:00,8
+9096,2020-01-01 01:36:00,8
+9097,2020-01-01 01:37:00,8
+9098,2020-01-01 01:38:00,8
+9099,2020-01-01 01:39:00,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:01:00,9
+10002,2020-01-01 00:02:00,9
+10003,2020-01-01 00:03:00,9
+10004,2020-01-01 00:04:00,9
+10005,2020-01-01 00:05:00,9
+10006,2020-01-01 00:06:00,9
+10007,2020-01-01 00:07:00,9
+10008,2020-01-01 00:08:00,9
+10009,2020-01-01 00:09:00,9
+10010,2020-01-01 00:10:00,9
+10011,2020-01-01 00:11:00,9
+10012,2020-01-01 00:12:00,9
+10013,2020-01-01 00:13:00,9
+10014,2020-01-01 00:14:00,9
+10015,2020-01-01 00:15:00,9
+10016,2020-01-01 00:16:00,9
+10017,2020-01-01 00:17:00,9
+10018,2020-01-01 00:18:00,9
+10019,2020-01-01 00:19:00,9
+10020,2020-01-01 00:20:00,9
+10021,2020-01-01 00:21:00,9
+10022,2020-01-01 00:22:00,9
+10023,2020-01-01 00:23:00,9
+10024,2020-01-01 00:24:00,9
+10025,2020-01-01 00:25:00,9
+10026,2020-01-01 00:26:00,9
+10027,2020-01-01 00:27:00,9
+10028,2020-01-01 00:28:00,9
+10029,2020-01-01 00:29:00,9
+10030,2020-01-01 00:30:00,9
+10031,2020-01-01 00:31:00,9
+10032,2020-01-01 00:32:00,9
+10033,2020-01-01 00:33:00,9
+10034,2020-01-01 00:34:00,9
+10035,2020-01-01 00:35:00,9
+10036,2020-01-01 00:36:00,9
+10037,2020-01-01 00:37:00,9
+10038,2020-01-01 00:38:00,9
+10039,2020-01-01 00:39:00,9
+10040,2020-01-01 00:40:00,9
+10041,2020-01-01 00:41:00,9
+10042,2020-01-01 00:42:00,9
+10043,2020-01-01 00:43:00,9
+10044,2020-01-01 00:44:00,9
+10045,2020-01-01 00:45:00,9
+10046,2020-01-01 00:46:00,9
+10047,2020-01-01 00:47:00,9
+10048,2020-01-01 00:48:00,9
+10049,2020-01-01 00:49:00,9
+10050,2020-01-01 00:50:00,9
+10051,2020-01-01 00:51:00,9
+10052,2020-01-01 00:52:00,9
+10053,2020-01-01 00:53:00,9
+10054,2020-01-01 00:54:00,9
+10055,2020-01-01 00:55:00,9
+10056,2020-01-01 00:56:00,9
+10057,2020-01-01 00:57:00,9
+10058,2020-01-01 00:58:00,9
+10059,2020-01-01 00:59:00,9
+10060,2020-01-01 01:00:00,9
+10061,2020-01-01 01:01:00,9
+10062,2020-01-01 01:02:00,9
+10063,2020-01-01 01:03:00,9
+10064,2020-01-01 01:04:00,9
+10065,2020-01-01 01:05:00,9
+10066,2020-01-01 01:06:00,9
+10067,2020-01-01 01:07:00,9
+10068,2020-01-01 01:08:00,9
+10069,2020-01-01 01:09:00,9
+10070,2020-01-01 01:10:00,9
+10071,2020-01-01 01:11:00,9
+10072,2020-01-01 01:12:00,9
+10073,2020-01-01 01:13:00,9
+10074,2020-01-01 01:14:00,9
+10075,2020-01-01 01:15:00,9
+10076,2020-01-01 01:16:00,9
+10077,2020-01-01 01:17:00,9
+10078,2020-01-01 01:18:00,9
+10079,2020-01-01 01:19:00,9
+10080,2020-01-01 01:20:00,9
+10081,2020-01-01 01:21:00,9
+10082,2020-01-01 01:22:00,9
+10083,2020-01-01 01:23:00,9
+10084,2020-01-01 01:24:00,9
+10085,2020-01-01 01:25:00,9
+10086,2020-01-01 01:26:00,9
+10087,2020-01-01 01:27:00,9
+10088,2020-01-01 01:28:00,9
+10089,2020-01-01 01:29:00,9
+10090,2020-01-01 01:30:00,9
+10091,2020-01-01 01:31:00,9
+10092,2020-01-01 01:32:00,9
+10093,2020-01-01 01:33:00,9
+10094,2020-01-01 01:34:00,9
+10095,2020-01-01 01:35:00,9
+10096,2020-01-01 01:36:00,9
+10097,2020-01-01 01:37:00,9
+10098,2020-01-01 01:38:00,9
+10099,2020-01-01 01:39:00,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1ms.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1ms.csv
new file mode 100644
index 0000000..2c460d9
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1ms.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00.000,0
+1001,2020-01-01 00:00:00.001,0
+1002,2020-01-01 00:00:00.002,0
+1003,2020-01-01 00:00:00.003,0
+1004,2020-01-01 00:00:00.004,0
+1005,2020-01-01 00:00:00.005,0
+1006,2020-01-01 00:00:00.006,0
+1007,2020-01-01 00:00:00.007,0
+1008,2020-01-01 00:00:00.008,0
+1009,2020-01-01 00:00:00.009,0
+1010,2020-01-01 00:00:00.010,0
+1011,2020-01-01 00:00:00.011,0
+1012,2020-01-01 00:00:00.012,0
+1013,2020-01-01 00:00:00.013,0
+1014,2020-01-01 00:00:00.014,0
+1015,2020-01-01 00:00:00.015,0
+1016,2020-01-01 00:00:00.016,0
+1017,2020-01-01 00:00:00.017,0
+1018,2020-01-01 00:00:00.018,0
+1019,2020-01-01 00:00:00.019,0
+1020,2020-01-01 00:00:00.020,0
+1021,2020-01-01 00:00:00.021,0
+1022,2020-01-01 00:00:00.022,0
+1023,2020-01-01 00:00:00.023,0
+1024,2020-01-01 00:00:00.024,0
+1025,2020-01-01 00:00:00.025,0
+1026,2020-01-01 00:00:00.026,0
+1027,2020-01-01 00:00:00.027,0
+1028,2020-01-01 00:00:00.028,0
+1029,2020-01-01 00:00:00.029,0
+1030,2020-01-01 00:00:00.030,0
+1031,2020-01-01 00:00:00.031,0
+1032,2020-01-01 00:00:00.032,0
+1033,2020-01-01 00:00:00.033,0
+1034,2020-01-01 00:00:00.034,0
+1035,2020-01-01 00:00:00.035,0
+1036,2020-01-01 00:00:00.036,0
+1037,2020-01-01 00:00:00.037,0
+1038,2020-01-01 00:00:00.038,0
+1039,2020-01-01 00:00:00.039,0
+1040,2020-01-01 00:00:00.040,0
+1041,2020-01-01 00:00:00.041,0
+1042,2020-01-01 00:00:00.042,0
+1043,2020-01-01 00:00:00.043,0
+1044,2020-01-01 00:00:00.044,0
+1045,2020-01-01 00:00:00.045,0
+1046,2020-01-01 00:00:00.046,0
+1047,2020-01-01 00:00:00.047,0
+1048,2020-01-01 00:00:00.048,0
+1049,2020-01-01 00:00:00.049,0
+1050,2020-01-01 00:00:00.050,0
+1051,2020-01-01 00:00:00.051,0
+1052,2020-01-01 00:00:00.052,0
+1053,2020-01-01 00:00:00.053,0
+1054,2020-01-01 00:00:00.054,0
+1055,2020-01-01 00:00:00.055,0
+1056,2020-01-01 00:00:00.056,0
+1057,2020-01-01 00:00:00.057,0
+1058,2020-01-01 00:00:00.058,0
+1059,2020-01-01 00:00:00.059,0
+1060,2020-01-01 00:00:00.060,0
+1061,2020-01-01 00:00:00.061,0
+1062,2020-01-01 00:00:00.062,0
+1063,2020-01-01 00:00:00.063,0
+1064,2020-01-01 00:00:00.064,0
+1065,2020-01-01 00:00:00.065,0
+1066,2020-01-01 00:00:00.066,0
+1067,2020-01-01 00:00:00.067,0
+1068,2020-01-01 00:00:00.068,0
+1069,2020-01-01 00:00:00.069,0
+1070,2020-01-01 00:00:00.070,0
+1071,2020-01-01 00:00:00.071,0
+1072,2020-01-01 00:00:00.072,0
+1073,2020-01-01 00:00:00.073,0
+1074,2020-01-01 00:00:00.074,0
+1075,2020-01-01 00:00:00.075,0
+1076,2020-01-01 00:00:00.076,0
+1077,2020-01-01 00:00:00.077,0
+1078,2020-01-01 00:00:00.078,0
+1079,2020-01-01 00:00:00.079,0
+1080,2020-01-01 00:00:00.080,0
+1081,2020-01-01 00:00:00.081,0
+1082,2020-01-01 00:00:00.082,0
+1083,2020-01-01 00:00:00.083,0
+1084,2020-01-01 00:00:00.084,0
+1085,2020-01-01 00:00:00.085,0
+1086,2020-01-01 00:00:00.086,0
+1087,2020-01-01 00:00:00.087,0
+1088,2020-01-01 00:00:00.088,0
+1089,2020-01-01 00:00:00.089,0
+1090,2020-01-01 00:00:00.090,0
+1091,2020-01-01 00:00:00.091,0
+1092,2020-01-01 00:00:00.092,0
+1093,2020-01-01 00:00:00.093,0
+1094,2020-01-01 00:00:00.094,0
+1095,2020-01-01 00:00:00.095,0
+1096,2020-01-01 00:00:00.096,0
+1097,2020-01-01 00:00:00.097,0
+1098,2020-01-01 00:00:00.098,0
+1099,2020-01-01 00:00:00.099,0
+2000,2020-01-01 00:00:00.000,1
+2001,2020-01-01 00:00:00.001,1
+2002,2020-01-01 00:00:00.002,1
+2003,2020-01-01 00:00:00.003,1
+2004,2020-01-01 00:00:00.004,1
+2005,2020-01-01 00:00:00.005,1
+2006,2020-01-01 00:00:00.006,1
+2007,2020-01-01 00:00:00.007,1
+2008,2020-01-01 00:00:00.008,1
+2009,2020-01-01 00:00:00.009,1
+2010,2020-01-01 00:00:00.010,1
+2011,2020-01-01 00:00:00.011,1
+2012,2020-01-01 00:00:00.012,1
+2013,2020-01-01 00:00:00.013,1
+2014,2020-01-01 00:00:00.014,1
+2015,2020-01-01 00:00:00.015,1
+2016,2020-01-01 00:00:00.016,1
+2017,2020-01-01 00:00:00.017,1
+2018,2020-01-01 00:00:00.018,1
+2019,2020-01-01 00:00:00.019,1
+2020,2020-01-01 00:00:00.020,1
+2021,2020-01-01 00:00:00.021,1
+2022,2020-01-01 00:00:00.022,1
+2023,2020-01-01 00:00:00.023,1
+2024,2020-01-01 00:00:00.024,1
+2025,2020-01-01 00:00:00.025,1
+2026,2020-01-01 00:00:00.026,1
+2027,2020-01-01 00:00:00.027,1
+2028,2020-01-01 00:00:00.028,1
+2029,2020-01-01 00:00:00.029,1
+2030,2020-01-01 00:00:00.030,1
+2031,2020-01-01 00:00:00.031,1
+2032,2020-01-01 00:00:00.032,1
+2033,2020-01-01 00:00:00.033,1
+2034,2020-01-01 00:00:00.034,1
+2035,2020-01-01 00:00:00.035,1
+2036,2020-01-01 00:00:00.036,1
+2037,2020-01-01 00:00:00.037,1
+2038,2020-01-01 00:00:00.038,1
+2039,2020-01-01 00:00:00.039,1
+2040,2020-01-01 00:00:00.040,1
+2041,2020-01-01 00:00:00.041,1
+2042,2020-01-01 00:00:00.042,1
+2043,2020-01-01 00:00:00.043,1
+2044,2020-01-01 00:00:00.044,1
+2045,2020-01-01 00:00:00.045,1
+2046,2020-01-01 00:00:00.046,1
+2047,2020-01-01 00:00:00.047,1
+2048,2020-01-01 00:00:00.048,1
+2049,2020-01-01 00:00:00.049,1
+2050,2020-01-01 00:00:00.050,1
+2051,2020-01-01 00:00:00.051,1
+2052,2020-01-01 00:00:00.052,1
+2053,2020-01-01 00:00:00.053,1
+2054,2020-01-01 00:00:00.054,1
+2055,2020-01-01 00:00:00.055,1
+2056,2020-01-01 00:00:00.056,1
+2057,2020-01-01 00:00:00.057,1
+2058,2020-01-01 00:00:00.058,1
+2059,2020-01-01 00:00:00.059,1
+2060,2020-01-01 00:00:00.060,1
+2061,2020-01-01 00:00:00.061,1
+2062,2020-01-01 00:00:00.062,1
+2063,2020-01-01 00:00:00.063,1
+2064,2020-01-01 00:00:00.064,1
+2065,2020-01-01 00:00:00.065,1
+2066,2020-01-01 00:00:00.066,1
+2067,2020-01-01 00:00:00.067,1
+2068,2020-01-01 00:00:00.068,1
+2069,2020-01-01 00:00:00.069,1
+2070,2020-01-01 00:00:00.070,1
+2071,2020-01-01 00:00:00.071,1
+2072,2020-01-01 00:00:00.072,1
+2073,2020-01-01 00:00:00.073,1
+2074,2020-01-01 00:00:00.074,1
+2075,2020-01-01 00:00:00.075,1
+2076,2020-01-01 00:00:00.076,1
+2077,2020-01-01 00:00:00.077,1
+2078,2020-01-01 00:00:00.078,1
+2079,2020-01-01 00:00:00.079,1
+2080,2020-01-01 00:00:00.080,1
+2081,2020-01-01 00:00:00.081,1
+2082,2020-01-01 00:00:00.082,1
+2083,2020-01-01 00:00:00.083,1
+2084,2020-01-01 00:00:00.084,1
+2085,2020-01-01 00:00:00.085,1
+2086,2020-01-01 00:00:00.086,1
+2087,2020-01-01 00:00:00.087,1
+2088,2020-01-01 00:00:00.088,1
+2089,2020-01-01 00:00:00.089,1
+2090,2020-01-01 00:00:00.090,1
+2091,2020-01-01 00:00:00.091,1
+2092,2020-01-01 00:00:00.092,1
+2093,2020-01-01 00:00:00.093,1
+2094,2020-01-01 00:00:00.094,1
+2095,2020-01-01 00:00:00.095,1
+2096,2020-01-01 00:00:00.096,1
+2097,2020-01-01 00:00:00.097,1
+2098,2020-01-01 00:00:00.098,1
+2099,2020-01-01 00:00:00.099,1
+3000,2020-01-01 00:00:00.000,2
+3001,2020-01-01 00:00:00.001,2
+3002,2020-01-01 00:00:00.002,2
+3003,2020-01-01 00:00:00.003,2
+3004,2020-01-01 00:00:00.004,2
+3005,2020-01-01 00:00:00.005,2
+3006,2020-01-01 00:00:00.006,2
+3007,2020-01-01 00:00:00.007,2
+3008,2020-01-01 00:00:00.008,2
+3009,2020-01-01 00:00:00.009,2
+3010,2020-01-01 00:00:00.010,2
+3011,2020-01-01 00:00:00.011,2
+3012,2020-01-01 00:00:00.012,2
+3013,2020-01-01 00:00:00.013,2
+3014,2020-01-01 00:00:00.014,2
+3015,2020-01-01 00:00:00.015,2
+3016,2020-01-01 00:00:00.016,2
+3017,2020-01-01 00:00:00.017,2
+3018,2020-01-01 00:00:00.018,2
+3019,2020-01-01 00:00:00.019,2
+3020,2020-01-01 00:00:00.020,2
+3021,2020-01-01 00:00:00.021,2
+3022,2020-01-01 00:00:00.022,2
+3023,2020-01-01 00:00:00.023,2
+3024,2020-01-01 00:00:00.024,2
+3025,2020-01-01 00:00:00.025,2
+3026,2020-01-01 00:00:00.026,2
+3027,2020-01-01 00:00:00.027,2
+3028,2020-01-01 00:00:00.028,2
+3029,2020-01-01 00:00:00.029,2
+3030,2020-01-01 00:00:00.030,2
+3031,2020-01-01 00:00:00.031,2
+3032,2020-01-01 00:00:00.032,2
+3033,2020-01-01 00:00:00.033,2
+3034,2020-01-01 00:00:00.034,2
+3035,2020-01-01 00:00:00.035,2
+3036,2020-01-01 00:00:00.036,2
+3037,2020-01-01 00:00:00.037,2
+3038,2020-01-01 00:00:00.038,2
+3039,2020-01-01 00:00:00.039,2
+3040,2020-01-01 00:00:00.040,2
+3041,2020-01-01 00:00:00.041,2
+3042,2020-01-01 00:00:00.042,2
+3043,2020-01-01 00:00:00.043,2
+3044,2020-01-01 00:00:00.044,2
+3045,2020-01-01 00:00:00.045,2
+3046,2020-01-01 00:00:00.046,2
+3047,2020-01-01 00:00:00.047,2
+3048,2020-01-01 00:00:00.048,2
+3049,2020-01-01 00:00:00.049,2
+3050,2020-01-01 00:00:00.050,2
+3051,2020-01-01 00:00:00.051,2
+3052,2020-01-01 00:00:00.052,2
+3053,2020-01-01 00:00:00.053,2
+3054,2020-01-01 00:00:00.054,2
+3055,2020-01-01 00:00:00.055,2
+3056,2020-01-01 00:00:00.056,2
+3057,2020-01-01 00:00:00.057,2
+3058,2020-01-01 00:00:00.058,2
+3059,2020-01-01 00:00:00.059,2
+3060,2020-01-01 00:00:00.060,2
+3061,2020-01-01 00:00:00.061,2
+3062,2020-01-01 00:00:00.062,2
+3063,2020-01-01 00:00:00.063,2
+3064,2020-01-01 00:00:00.064,2
+3065,2020-01-01 00:00:00.065,2
+3066,2020-01-01 00:00:00.066,2
+3067,2020-01-01 00:00:00.067,2
+3068,2020-01-01 00:00:00.068,2
+3069,2020-01-01 00:00:00.069,2
+3070,2020-01-01 00:00:00.070,2
+3071,2020-01-01 00:00:00.071,2
+3072,2020-01-01 00:00:00.072,2
+3073,2020-01-01 00:00:00.073,2
+3074,2020-01-01 00:00:00.074,2
+3075,2020-01-01 00:00:00.075,2
+3076,2020-01-01 00:00:00.076,2
+3077,2020-01-01 00:00:00.077,2
+3078,2020-01-01 00:00:00.078,2
+3079,2020-01-01 00:00:00.079,2
+3080,2020-01-01 00:00:00.080,2
+3081,2020-01-01 00:00:00.081,2
+3082,2020-01-01 00:00:00.082,2
+3083,2020-01-01 00:00:00.083,2
+3084,2020-01-01 00:00:00.084,2
+3085,2020-01-01 00:00:00.085,2
+3086,2020-01-01 00:00:00.086,2
+3087,2020-01-01 00:00:00.087,2
+3088,2020-01-01 00:00:00.088,2
+3089,2020-01-01 00:00:00.089,2
+3090,2020-01-01 00:00:00.090,2
+3091,2020-01-01 00:00:00.091,2
+3092,2020-01-01 00:00:00.092,2
+3093,2020-01-01 00:00:00.093,2
+3094,2020-01-01 00:00:00.094,2
+3095,2020-01-01 00:00:00.095,2
+3096,2020-01-01 00:00:00.096,2
+3097,2020-01-01 00:00:00.097,2
+3098,2020-01-01 00:00:00.098,2
+3099,2020-01-01 00:00:00.099,2
+4000,2020-01-01 00:00:00.000,3
+4001,2020-01-01 00:00:00.001,3
+4002,2020-01-01 00:00:00.002,3
+4003,2020-01-01 00:00:00.003,3
+4004,2020-01-01 00:00:00.004,3
+4005,2020-01-01 00:00:00.005,3
+4006,2020-01-01 00:00:00.006,3
+4007,2020-01-01 00:00:00.007,3
+4008,2020-01-01 00:00:00.008,3
+4009,2020-01-01 00:00:00.009,3
+4010,2020-01-01 00:00:00.010,3
+4011,2020-01-01 00:00:00.011,3
+4012,2020-01-01 00:00:00.012,3
+4013,2020-01-01 00:00:00.013,3
+4014,2020-01-01 00:00:00.014,3
+4015,2020-01-01 00:00:00.015,3
+4016,2020-01-01 00:00:00.016,3
+4017,2020-01-01 00:00:00.017,3
+4018,2020-01-01 00:00:00.018,3
+4019,2020-01-01 00:00:00.019,3
+4020,2020-01-01 00:00:00.020,3
+4021,2020-01-01 00:00:00.021,3
+4022,2020-01-01 00:00:00.022,3
+4023,2020-01-01 00:00:00.023,3
+4024,2020-01-01 00:00:00.024,3
+4025,2020-01-01 00:00:00.025,3
+4026,2020-01-01 00:00:00.026,3
+4027,2020-01-01 00:00:00.027,3
+4028,2020-01-01 00:00:00.028,3
+4029,2020-01-01 00:00:00.029,3
+4030,2020-01-01 00:00:00.030,3
+4031,2020-01-01 00:00:00.031,3
+4032,2020-01-01 00:00:00.032,3
+4033,2020-01-01 00:00:00.033,3
+4034,2020-01-01 00:00:00.034,3
+4035,2020-01-01 00:00:00.035,3
+4036,2020-01-01 00:00:00.036,3
+4037,2020-01-01 00:00:00.037,3
+4038,2020-01-01 00:00:00.038,3
+4039,2020-01-01 00:00:00.039,3
+4040,2020-01-01 00:00:00.040,3
+4041,2020-01-01 00:00:00.041,3
+4042,2020-01-01 00:00:00.042,3
+4043,2020-01-01 00:00:00.043,3
+4044,2020-01-01 00:00:00.044,3
+4045,2020-01-01 00:00:00.045,3
+4046,2020-01-01 00:00:00.046,3
+4047,2020-01-01 00:00:00.047,3
+4048,2020-01-01 00:00:00.048,3
+4049,2020-01-01 00:00:00.049,3
+4050,2020-01-01 00:00:00.050,3
+4051,2020-01-01 00:00:00.051,3
+4052,2020-01-01 00:00:00.052,3
+4053,2020-01-01 00:00:00.053,3
+4054,2020-01-01 00:00:00.054,3
+4055,2020-01-01 00:00:00.055,3
+4056,2020-01-01 00:00:00.056,3
+4057,2020-01-01 00:00:00.057,3
+4058,2020-01-01 00:00:00.058,3
+4059,2020-01-01 00:00:00.059,3
+4060,2020-01-01 00:00:00.060,3
+4061,2020-01-01 00:00:00.061,3
+4062,2020-01-01 00:00:00.062,3
+4063,2020-01-01 00:00:00.063,3
+4064,2020-01-01 00:00:00.064,3
+4065,2020-01-01 00:00:00.065,3
+4066,2020-01-01 00:00:00.066,3
+4067,2020-01-01 00:00:00.067,3
+4068,2020-01-01 00:00:00.068,3
+4069,2020-01-01 00:00:00.069,3
+4070,2020-01-01 00:00:00.070,3
+4071,2020-01-01 00:00:00.071,3
+4072,2020-01-01 00:00:00.072,3
+4073,2020-01-01 00:00:00.073,3
+4074,2020-01-01 00:00:00.074,3
+4075,2020-01-01 00:00:00.075,3
+4076,2020-01-01 00:00:00.076,3
+4077,2020-01-01 00:00:00.077,3
+4078,2020-01-01 00:00:00.078,3
+4079,2020-01-01 00:00:00.079,3
+4080,2020-01-01 00:00:00.080,3
+4081,2020-01-01 00:00:00.081,3
+4082,2020-01-01 00:00:00.082,3
+4083,2020-01-01 00:00:00.083,3
+4084,2020-01-01 00:00:00.084,3
+4085,2020-01-01 00:00:00.085,3
+4086,2020-01-01 00:00:00.086,3
+4087,2020-01-01 00:00:00.087,3
+4088,2020-01-01 00:00:00.088,3
+4089,2020-01-01 00:00:00.089,3
+4090,2020-01-01 00:00:00.090,3
+4091,2020-01-01 00:00:00.091,3
+4092,2020-01-01 00:00:00.092,3
+4093,2020-01-01 00:00:00.093,3
+4094,2020-01-01 00:00:00.094,3
+4095,2020-01-01 00:00:00.095,3
+4096,2020-01-01 00:00:00.096,3
+4097,2020-01-01 00:00:00.097,3
+4098,2020-01-01 00:00:00.098,3
+4099,2020-01-01 00:00:00.099,3
+5000,2020-01-01 00:00:00.000,4
+5001,2020-01-01 00:00:00.001,4
+5002,2020-01-01 00:00:00.002,4
+5003,2020-01-01 00:00:00.003,4
+5004,2020-01-01 00:00:00.004,4
+5005,2020-01-01 00:00:00.005,4
+5006,2020-01-01 00:00:00.006,4
+5007,2020-01-01 00:00:00.007,4
+5008,2020-01-01 00:00:00.008,4
+5009,2020-01-01 00:00:00.009,4
+5010,2020-01-01 00:00:00.010,4
+5011,2020-01-01 00:00:00.011,4
+5012,2020-01-01 00:00:00.012,4
+5013,2020-01-01 00:00:00.013,4
+5014,2020-01-01 00:00:00.014,4
+5015,2020-01-01 00:00:00.015,4
+5016,2020-01-01 00:00:00.016,4
+5017,2020-01-01 00:00:00.017,4
+5018,2020-01-01 00:00:00.018,4
+5019,2020-01-01 00:00:00.019,4
+5020,2020-01-01 00:00:00.020,4
+5021,2020-01-01 00:00:00.021,4
+5022,2020-01-01 00:00:00.022,4
+5023,2020-01-01 00:00:00.023,4
+5024,2020-01-01 00:00:00.024,4
+5025,2020-01-01 00:00:00.025,4
+5026,2020-01-01 00:00:00.026,4
+5027,2020-01-01 00:00:00.027,4
+5028,2020-01-01 00:00:00.028,4
+5029,2020-01-01 00:00:00.029,4
+5030,2020-01-01 00:00:00.030,4
+5031,2020-01-01 00:00:00.031,4
+5032,2020-01-01 00:00:00.032,4
+5033,2020-01-01 00:00:00.033,4
+5034,2020-01-01 00:00:00.034,4
+5035,2020-01-01 00:00:00.035,4
+5036,2020-01-01 00:00:00.036,4
+5037,2020-01-01 00:00:00.037,4
+5038,2020-01-01 00:00:00.038,4
+5039,2020-01-01 00:00:00.039,4
+5040,2020-01-01 00:00:00.040,4
+5041,2020-01-01 00:00:00.041,4
+5042,2020-01-01 00:00:00.042,4
+5043,2020-01-01 00:00:00.043,4
+5044,2020-01-01 00:00:00.044,4
+5045,2020-01-01 00:00:00.045,4
+5046,2020-01-01 00:00:00.046,4
+5047,2020-01-01 00:00:00.047,4
+5048,2020-01-01 00:00:00.048,4
+5049,2020-01-01 00:00:00.049,4
+5050,2020-01-01 00:00:00.050,4
+5051,2020-01-01 00:00:00.051,4
+5052,2020-01-01 00:00:00.052,4
+5053,2020-01-01 00:00:00.053,4
+5054,2020-01-01 00:00:00.054,4
+5055,2020-01-01 00:00:00.055,4
+5056,2020-01-01 00:00:00.056,4
+5057,2020-01-01 00:00:00.057,4
+5058,2020-01-01 00:00:00.058,4
+5059,2020-01-01 00:00:00.059,4
+5060,2020-01-01 00:00:00.060,4
+5061,2020-01-01 00:00:00.061,4
+5062,2020-01-01 00:00:00.062,4
+5063,2020-01-01 00:00:00.063,4
+5064,2020-01-01 00:00:00.064,4
+5065,2020-01-01 00:00:00.065,4
+5066,2020-01-01 00:00:00.066,4
+5067,2020-01-01 00:00:00.067,4
+5068,2020-01-01 00:00:00.068,4
+5069,2020-01-01 00:00:00.069,4
+5070,2020-01-01 00:00:00.070,4
+5071,2020-01-01 00:00:00.071,4
+5072,2020-01-01 00:00:00.072,4
+5073,2020-01-01 00:00:00.073,4
+5074,2020-01-01 00:00:00.074,4
+5075,2020-01-01 00:00:00.075,4
+5076,2020-01-01 00:00:00.076,4
+5077,2020-01-01 00:00:00.077,4
+5078,2020-01-01 00:00:00.078,4
+5079,2020-01-01 00:00:00.079,4
+5080,2020-01-01 00:00:00.080,4
+5081,2020-01-01 00:00:00.081,4
+5082,2020-01-01 00:00:00.082,4
+5083,2020-01-01 00:00:00.083,4
+5084,2020-01-01 00:00:00.084,4
+5085,2020-01-01 00:00:00.085,4
+5086,2020-01-01 00:00:00.086,4
+5087,2020-01-01 00:00:00.087,4
+5088,2020-01-01 00:00:00.088,4
+5089,2020-01-01 00:00:00.089,4
+5090,2020-01-01 00:00:00.090,4
+5091,2020-01-01 00:00:00.091,4
+5092,2020-01-01 00:00:00.092,4
+5093,2020-01-01 00:00:00.093,4
+5094,2020-01-01 00:00:00.094,4
+5095,2020-01-01 00:00:00.095,4
+5096,2020-01-01 00:00:00.096,4
+5097,2020-01-01 00:00:00.097,4
+5098,2020-01-01 00:00:00.098,4
+5099,2020-01-01 00:00:00.099,4
+6000,2020-01-01 00:00:00.000,5
+6001,2020-01-01 00:00:00.001,5
+6002,2020-01-01 00:00:00.002,5
+6003,2020-01-01 00:00:00.003,5
+6004,2020-01-01 00:00:00.004,5
+6005,2020-01-01 00:00:00.005,5
+6006,2020-01-01 00:00:00.006,5
+6007,2020-01-01 00:00:00.007,5
+6008,2020-01-01 00:00:00.008,5
+6009,2020-01-01 00:00:00.009,5
+6010,2020-01-01 00:00:00.010,5
+6011,2020-01-01 00:00:00.011,5
+6012,2020-01-01 00:00:00.012,5
+6013,2020-01-01 00:00:00.013,5
+6014,2020-01-01 00:00:00.014,5
+6015,2020-01-01 00:00:00.015,5
+6016,2020-01-01 00:00:00.016,5
+6017,2020-01-01 00:00:00.017,5
+6018,2020-01-01 00:00:00.018,5
+6019,2020-01-01 00:00:00.019,5
+6020,2020-01-01 00:00:00.020,5
+6021,2020-01-01 00:00:00.021,5
+6022,2020-01-01 00:00:00.022,5
+6023,2020-01-01 00:00:00.023,5
+6024,2020-01-01 00:00:00.024,5
+6025,2020-01-01 00:00:00.025,5
+6026,2020-01-01 00:00:00.026,5
+6027,2020-01-01 00:00:00.027,5
+6028,2020-01-01 00:00:00.028,5
+6029,2020-01-01 00:00:00.029,5
+6030,2020-01-01 00:00:00.030,5
+6031,2020-01-01 00:00:00.031,5
+6032,2020-01-01 00:00:00.032,5
+6033,2020-01-01 00:00:00.033,5
+6034,2020-01-01 00:00:00.034,5
+6035,2020-01-01 00:00:00.035,5
+6036,2020-01-01 00:00:00.036,5
+6037,2020-01-01 00:00:00.037,5
+6038,2020-01-01 00:00:00.038,5
+6039,2020-01-01 00:00:00.039,5
+6040,2020-01-01 00:00:00.040,5
+6041,2020-01-01 00:00:00.041,5
+6042,2020-01-01 00:00:00.042,5
+6043,2020-01-01 00:00:00.043,5
+6044,2020-01-01 00:00:00.044,5
+6045,2020-01-01 00:00:00.045,5
+6046,2020-01-01 00:00:00.046,5
+6047,2020-01-01 00:00:00.047,5
+6048,2020-01-01 00:00:00.048,5
+6049,2020-01-01 00:00:00.049,5
+6050,2020-01-01 00:00:00.050,5
+6051,2020-01-01 00:00:00.051,5
+6052,2020-01-01 00:00:00.052,5
+6053,2020-01-01 00:00:00.053,5
+6054,2020-01-01 00:00:00.054,5
+6055,2020-01-01 00:00:00.055,5
+6056,2020-01-01 00:00:00.056,5
+6057,2020-01-01 00:00:00.057,5
+6058,2020-01-01 00:00:00.058,5
+6059,2020-01-01 00:00:00.059,5
+6060,2020-01-01 00:00:00.060,5
+6061,2020-01-01 00:00:00.061,5
+6062,2020-01-01 00:00:00.062,5
+6063,2020-01-01 00:00:00.063,5
+6064,2020-01-01 00:00:00.064,5
+6065,2020-01-01 00:00:00.065,5
+6066,2020-01-01 00:00:00.066,5
+6067,2020-01-01 00:00:00.067,5
+6068,2020-01-01 00:00:00.068,5
+6069,2020-01-01 00:00:00.069,5
+6070,2020-01-01 00:00:00.070,5
+6071,2020-01-01 00:00:00.071,5
+6072,2020-01-01 00:00:00.072,5
+6073,2020-01-01 00:00:00.073,5
+6074,2020-01-01 00:00:00.074,5
+6075,2020-01-01 00:00:00.075,5
+6076,2020-01-01 00:00:00.076,5
+6077,2020-01-01 00:00:00.077,5
+6078,2020-01-01 00:00:00.078,5
+6079,2020-01-01 00:00:00.079,5
+6080,2020-01-01 00:00:00.080,5
+6081,2020-01-01 00:00:00.081,5
+6082,2020-01-01 00:00:00.082,5
+6083,2020-01-01 00:00:00.083,5
+6084,2020-01-01 00:00:00.084,5
+6085,2020-01-01 00:00:00.085,5
+6086,2020-01-01 00:00:00.086,5
+6087,2020-01-01 00:00:00.087,5
+6088,2020-01-01 00:00:00.088,5
+6089,2020-01-01 00:00:00.089,5
+6090,2020-01-01 00:00:00.090,5
+6091,2020-01-01 00:00:00.091,5
+6092,2020-01-01 00:00:00.092,5
+6093,2020-01-01 00:00:00.093,5
+6094,2020-01-01 00:00:00.094,5
+6095,2020-01-01 00:00:00.095,5
+6096,2020-01-01 00:00:00.096,5
+6097,2020-01-01 00:00:00.097,5
+6098,2020-01-01 00:00:00.098,5
+6099,2020-01-01 00:00:00.099,5
+7000,2020-01-01 00:00:00.000,6
+7001,2020-01-01 00:00:00.001,6
+7002,2020-01-01 00:00:00.002,6
+7003,2020-01-01 00:00:00.003,6
+7004,2020-01-01 00:00:00.004,6
+7005,2020-01-01 00:00:00.005,6
+7006,2020-01-01 00:00:00.006,6
+7007,2020-01-01 00:00:00.007,6
+7008,2020-01-01 00:00:00.008,6
+7009,2020-01-01 00:00:00.009,6
+7010,2020-01-01 00:00:00.010,6
+7011,2020-01-01 00:00:00.011,6
+7012,2020-01-01 00:00:00.012,6
+7013,2020-01-01 00:00:00.013,6
+7014,2020-01-01 00:00:00.014,6
+7015,2020-01-01 00:00:00.015,6
+7016,2020-01-01 00:00:00.016,6
+7017,2020-01-01 00:00:00.017,6
+7018,2020-01-01 00:00:00.018,6
+7019,2020-01-01 00:00:00.019,6
+7020,2020-01-01 00:00:00.020,6
+7021,2020-01-01 00:00:00.021,6
+7022,2020-01-01 00:00:00.022,6
+7023,2020-01-01 00:00:00.023,6
+7024,2020-01-01 00:00:00.024,6
+7025,2020-01-01 00:00:00.025,6
+7026,2020-01-01 00:00:00.026,6
+7027,2020-01-01 00:00:00.027,6
+7028,2020-01-01 00:00:00.028,6
+7029,2020-01-01 00:00:00.029,6
+7030,2020-01-01 00:00:00.030,6
+7031,2020-01-01 00:00:00.031,6
+7032,2020-01-01 00:00:00.032,6
+7033,2020-01-01 00:00:00.033,6
+7034,2020-01-01 00:00:00.034,6
+7035,2020-01-01 00:00:00.035,6
+7036,2020-01-01 00:00:00.036,6
+7037,2020-01-01 00:00:00.037,6
+7038,2020-01-01 00:00:00.038,6
+7039,2020-01-01 00:00:00.039,6
+7040,2020-01-01 00:00:00.040,6
+7041,2020-01-01 00:00:00.041,6
+7042,2020-01-01 00:00:00.042,6
+7043,2020-01-01 00:00:00.043,6
+7044,2020-01-01 00:00:00.044,6
+7045,2020-01-01 00:00:00.045,6
+7046,2020-01-01 00:00:00.046,6
+7047,2020-01-01 00:00:00.047,6
+7048,2020-01-01 00:00:00.048,6
+7049,2020-01-01 00:00:00.049,6
+7050,2020-01-01 00:00:00.050,6
+7051,2020-01-01 00:00:00.051,6
+7052,2020-01-01 00:00:00.052,6
+7053,2020-01-01 00:00:00.053,6
+7054,2020-01-01 00:00:00.054,6
+7055,2020-01-01 00:00:00.055,6
+7056,2020-01-01 00:00:00.056,6
+7057,2020-01-01 00:00:00.057,6
+7058,2020-01-01 00:00:00.058,6
+7059,2020-01-01 00:00:00.059,6
+7060,2020-01-01 00:00:00.060,6
+7061,2020-01-01 00:00:00.061,6
+7062,2020-01-01 00:00:00.062,6
+7063,2020-01-01 00:00:00.063,6
+7064,2020-01-01 00:00:00.064,6
+7065,2020-01-01 00:00:00.065,6
+7066,2020-01-01 00:00:00.066,6
+7067,2020-01-01 00:00:00.067,6
+7068,2020-01-01 00:00:00.068,6
+7069,2020-01-01 00:00:00.069,6
+7070,2020-01-01 00:00:00.070,6
+7071,2020-01-01 00:00:00.071,6
+7072,2020-01-01 00:00:00.072,6
+7073,2020-01-01 00:00:00.073,6
+7074,2020-01-01 00:00:00.074,6
+7075,2020-01-01 00:00:00.075,6
+7076,2020-01-01 00:00:00.076,6
+7077,2020-01-01 00:00:00.077,6
+7078,2020-01-01 00:00:00.078,6
+7079,2020-01-01 00:00:00.079,6
+7080,2020-01-01 00:00:00.080,6
+7081,2020-01-01 00:00:00.081,6
+7082,2020-01-01 00:00:00.082,6
+7083,2020-01-01 00:00:00.083,6
+7084,2020-01-01 00:00:00.084,6
+7085,2020-01-01 00:00:00.085,6
+7086,2020-01-01 00:00:00.086,6
+7087,2020-01-01 00:00:00.087,6
+7088,2020-01-01 00:00:00.088,6
+7089,2020-01-01 00:00:00.089,6
+7090,2020-01-01 00:00:00.090,6
+7091,2020-01-01 00:00:00.091,6
+7092,2020-01-01 00:00:00.092,6
+7093,2020-01-01 00:00:00.093,6
+7094,2020-01-01 00:00:00.094,6
+7095,2020-01-01 00:00:00.095,6
+7096,2020-01-01 00:00:00.096,6
+7097,2020-01-01 00:00:00.097,6
+7098,2020-01-01 00:00:00.098,6
+7099,2020-01-01 00:00:00.099,6
+8000,2020-01-01 00:00:00.000,7
+8001,2020-01-01 00:00:00.001,7
+8002,2020-01-01 00:00:00.002,7
+8003,2020-01-01 00:00:00.003,7
+8004,2020-01-01 00:00:00.004,7
+8005,2020-01-01 00:00:00.005,7
+8006,2020-01-01 00:00:00.006,7
+8007,2020-01-01 00:00:00.007,7
+8008,2020-01-01 00:00:00.008,7
+8009,2020-01-01 00:00:00.009,7
+8010,2020-01-01 00:00:00.010,7
+8011,2020-01-01 00:00:00.011,7
+8012,2020-01-01 00:00:00.012,7
+8013,2020-01-01 00:00:00.013,7
+8014,2020-01-01 00:00:00.014,7
+8015,2020-01-01 00:00:00.015,7
+8016,2020-01-01 00:00:00.016,7
+8017,2020-01-01 00:00:00.017,7
+8018,2020-01-01 00:00:00.018,7
+8019,2020-01-01 00:00:00.019,7
+8020,2020-01-01 00:00:00.020,7
+8021,2020-01-01 00:00:00.021,7
+8022,2020-01-01 00:00:00.022,7
+8023,2020-01-01 00:00:00.023,7
+8024,2020-01-01 00:00:00.024,7
+8025,2020-01-01 00:00:00.025,7
+8026,2020-01-01 00:00:00.026,7
+8027,2020-01-01 00:00:00.027,7
+8028,2020-01-01 00:00:00.028,7
+8029,2020-01-01 00:00:00.029,7
+8030,2020-01-01 00:00:00.030,7
+8031,2020-01-01 00:00:00.031,7
+8032,2020-01-01 00:00:00.032,7
+8033,2020-01-01 00:00:00.033,7
+8034,2020-01-01 00:00:00.034,7
+8035,2020-01-01 00:00:00.035,7
+8036,2020-01-01 00:00:00.036,7
+8037,2020-01-01 00:00:00.037,7
+8038,2020-01-01 00:00:00.038,7
+8039,2020-01-01 00:00:00.039,7
+8040,2020-01-01 00:00:00.040,7
+8041,2020-01-01 00:00:00.041,7
+8042,2020-01-01 00:00:00.042,7
+8043,2020-01-01 00:00:00.043,7
+8044,2020-01-01 00:00:00.044,7
+8045,2020-01-01 00:00:00.045,7
+8046,2020-01-01 00:00:00.046,7
+8047,2020-01-01 00:00:00.047,7
+8048,2020-01-01 00:00:00.048,7
+8049,2020-01-01 00:00:00.049,7
+8050,2020-01-01 00:00:00.050,7
+8051,2020-01-01 00:00:00.051,7
+8052,2020-01-01 00:00:00.052,7
+8053,2020-01-01 00:00:00.053,7
+8054,2020-01-01 00:00:00.054,7
+8055,2020-01-01 00:00:00.055,7
+8056,2020-01-01 00:00:00.056,7
+8057,2020-01-01 00:00:00.057,7
+8058,2020-01-01 00:00:00.058,7
+8059,2020-01-01 00:00:00.059,7
+8060,2020-01-01 00:00:00.060,7
+8061,2020-01-01 00:00:00.061,7
+8062,2020-01-01 00:00:00.062,7
+8063,2020-01-01 00:00:00.063,7
+8064,2020-01-01 00:00:00.064,7
+8065,2020-01-01 00:00:00.065,7
+8066,2020-01-01 00:00:00.066,7
+8067,2020-01-01 00:00:00.067,7
+8068,2020-01-01 00:00:00.068,7
+8069,2020-01-01 00:00:00.069,7
+8070,2020-01-01 00:00:00.070,7
+8071,2020-01-01 00:00:00.071,7
+8072,2020-01-01 00:00:00.072,7
+8073,2020-01-01 00:00:00.073,7
+8074,2020-01-01 00:00:00.074,7
+8075,2020-01-01 00:00:00.075,7
+8076,2020-01-01 00:00:00.076,7
+8077,2020-01-01 00:00:00.077,7
+8078,2020-01-01 00:00:00.078,7
+8079,2020-01-01 00:00:00.079,7
+8080,2020-01-01 00:00:00.080,7
+8081,2020-01-01 00:00:00.081,7
+8082,2020-01-01 00:00:00.082,7
+8083,2020-01-01 00:00:00.083,7
+8084,2020-01-01 00:00:00.084,7
+8085,2020-01-01 00:00:00.085,7
+8086,2020-01-01 00:00:00.086,7
+8087,2020-01-01 00:00:00.087,7
+8088,2020-01-01 00:00:00.088,7
+8089,2020-01-01 00:00:00.089,7
+8090,2020-01-01 00:00:00.090,7
+8091,2020-01-01 00:00:00.091,7
+8092,2020-01-01 00:00:00.092,7
+8093,2020-01-01 00:00:00.093,7
+8094,2020-01-01 00:00:00.094,7
+8095,2020-01-01 00:00:00.095,7
+8096,2020-01-01 00:00:00.096,7
+8097,2020-01-01 00:00:00.097,7
+8098,2020-01-01 00:00:00.098,7
+8099,2020-01-01 00:00:00.099,7
+9000,2020-01-01 00:00:00.000,8
+9001,2020-01-01 00:00:00.001,8
+9002,2020-01-01 00:00:00.002,8
+9003,2020-01-01 00:00:00.003,8
+9004,2020-01-01 00:00:00.004,8
+9005,2020-01-01 00:00:00.005,8
+9006,2020-01-01 00:00:00.006,8
+9007,2020-01-01 00:00:00.007,8
+9008,2020-01-01 00:00:00.008,8
+9009,2020-01-01 00:00:00.009,8
+9010,2020-01-01 00:00:00.010,8
+9011,2020-01-01 00:00:00.011,8
+9012,2020-01-01 00:00:00.012,8
+9013,2020-01-01 00:00:00.013,8
+9014,2020-01-01 00:00:00.014,8
+9015,2020-01-01 00:00:00.015,8
+9016,2020-01-01 00:00:00.016,8
+9017,2020-01-01 00:00:00.017,8
+9018,2020-01-01 00:00:00.018,8
+9019,2020-01-01 00:00:00.019,8
+9020,2020-01-01 00:00:00.020,8
+9021,2020-01-01 00:00:00.021,8
+9022,2020-01-01 00:00:00.022,8
+9023,2020-01-01 00:00:00.023,8
+9024,2020-01-01 00:00:00.024,8
+9025,2020-01-01 00:00:00.025,8
+9026,2020-01-01 00:00:00.026,8
+9027,2020-01-01 00:00:00.027,8
+9028,2020-01-01 00:00:00.028,8
+9029,2020-01-01 00:00:00.029,8
+9030,2020-01-01 00:00:00.030,8
+9031,2020-01-01 00:00:00.031,8
+9032,2020-01-01 00:00:00.032,8
+9033,2020-01-01 00:00:00.033,8
+9034,2020-01-01 00:00:00.034,8
+9035,2020-01-01 00:00:00.035,8
+9036,2020-01-01 00:00:00.036,8
+9037,2020-01-01 00:00:00.037,8
+9038,2020-01-01 00:00:00.038,8
+9039,2020-01-01 00:00:00.039,8
+9040,2020-01-01 00:00:00.040,8
+9041,2020-01-01 00:00:00.041,8
+9042,2020-01-01 00:00:00.042,8
+9043,2020-01-01 00:00:00.043,8
+9044,2020-01-01 00:00:00.044,8
+9045,2020-01-01 00:00:00.045,8
+9046,2020-01-01 00:00:00.046,8
+9047,2020-01-01 00:00:00.047,8
+9048,2020-01-01 00:00:00.048,8
+9049,2020-01-01 00:00:00.049,8
+9050,2020-01-01 00:00:00.050,8
+9051,2020-01-01 00:00:00.051,8
+9052,2020-01-01 00:00:00.052,8
+9053,2020-01-01 00:00:00.053,8
+9054,2020-01-01 00:00:00.054,8
+9055,2020-01-01 00:00:00.055,8
+9056,2020-01-01 00:00:00.056,8
+9057,2020-01-01 00:00:00.057,8
+9058,2020-01-01 00:00:00.058,8
+9059,2020-01-01 00:00:00.059,8
+9060,2020-01-01 00:00:00.060,8
+9061,2020-01-01 00:00:00.061,8
+9062,2020-01-01 00:00:00.062,8
+9063,2020-01-01 00:00:00.063,8
+9064,2020-01-01 00:00:00.064,8
+9065,2020-01-01 00:00:00.065,8
+9066,2020-01-01 00:00:00.066,8
+9067,2020-01-01 00:00:00.067,8
+9068,2020-01-01 00:00:00.068,8
+9069,2020-01-01 00:00:00.069,8
+9070,2020-01-01 00:00:00.070,8
+9071,2020-01-01 00:00:00.071,8
+9072,2020-01-01 00:00:00.072,8
+9073,2020-01-01 00:00:00.073,8
+9074,2020-01-01 00:00:00.074,8
+9075,2020-01-01 00:00:00.075,8
+9076,2020-01-01 00:00:00.076,8
+9077,2020-01-01 00:00:00.077,8
+9078,2020-01-01 00:00:00.078,8
+9079,2020-01-01 00:00:00.079,8
+9080,2020-01-01 00:00:00.080,8
+9081,2020-01-01 00:00:00.081,8
+9082,2020-01-01 00:00:00.082,8
+9083,2020-01-01 00:00:00.083,8
+9084,2020-01-01 00:00:00.084,8
+9085,2020-01-01 00:00:00.085,8
+9086,2020-01-01 00:00:00.086,8
+9087,2020-01-01 00:00:00.087,8
+9088,2020-01-01 00:00:00.088,8
+9089,2020-01-01 00:00:00.089,8
+9090,2020-01-01 00:00:00.090,8
+9091,2020-01-01 00:00:00.091,8
+9092,2020-01-01 00:00:00.092,8
+9093,2020-01-01 00:00:00.093,8
+9094,2020-01-01 00:00:00.094,8
+9095,2020-01-01 00:00:00.095,8
+9096,2020-01-01 00:00:00.096,8
+9097,2020-01-01 00:00:00.097,8
+9098,2020-01-01 00:00:00.098,8
+9099,2020-01-01 00:00:00.099,8
+10000,2020-01-01 00:00:00.000,9
+10001,2020-01-01 00:00:00.001,9
+10002,2020-01-01 00:00:00.002,9
+10003,2020-01-01 00:00:00.003,9
+10004,2020-01-01 00:00:00.004,9
+10005,2020-01-01 00:00:00.005,9
+10006,2020-01-01 00:00:00.006,9
+10007,2020-01-01 00:00:00.007,9
+10008,2020-01-01 00:00:00.008,9
+10009,2020-01-01 00:00:00.009,9
+10010,2020-01-01 00:00:00.010,9
+10011,2020-01-01 00:00:00.011,9
+10012,2020-01-01 00:00:00.012,9
+10013,2020-01-01 00:00:00.013,9
+10014,2020-01-01 00:00:00.014,9
+10015,2020-01-01 00:00:00.015,9
+10016,2020-01-01 00:00:00.016,9
+10017,2020-01-01 00:00:00.017,9
+10018,2020-01-01 00:00:00.018,9
+10019,2020-01-01 00:00:00.019,9
+10020,2020-01-01 00:00:00.020,9
+10021,2020-01-01 00:00:00.021,9
+10022,2020-01-01 00:00:00.022,9
+10023,2020-01-01 00:00:00.023,9
+10024,2020-01-01 00:00:00.024,9
+10025,2020-01-01 00:00:00.025,9
+10026,2020-01-01 00:00:00.026,9
+10027,2020-01-01 00:00:00.027,9
+10028,2020-01-01 00:00:00.028,9
+10029,2020-01-01 00:00:00.029,9
+10030,2020-01-01 00:00:00.030,9
+10031,2020-01-01 00:00:00.031,9
+10032,2020-01-01 00:00:00.032,9
+10033,2020-01-01 00:00:00.033,9
+10034,2020-01-01 00:00:00.034,9
+10035,2020-01-01 00:00:00.035,9
+10036,2020-01-01 00:00:00.036,9
+10037,2020-01-01 00:00:00.037,9
+10038,2020-01-01 00:00:00.038,9
+10039,2020-01-01 00:00:00.039,9
+10040,2020-01-01 00:00:00.040,9
+10041,2020-01-01 00:00:00.041,9
+10042,2020-01-01 00:00:00.042,9
+10043,2020-01-01 00:00:00.043,9
+10044,2020-01-01 00:00:00.044,9
+10045,2020-01-01 00:00:00.045,9
+10046,2020-01-01 00:00:00.046,9
+10047,2020-01-01 00:00:00.047,9
+10048,2020-01-01 00:00:00.048,9
+10049,2020-01-01 00:00:00.049,9
+10050,2020-01-01 00:00:00.050,9
+10051,2020-01-01 00:00:00.051,9
+10052,2020-01-01 00:00:00.052,9
+10053,2020-01-01 00:00:00.053,9
+10054,2020-01-01 00:00:00.054,9
+10055,2020-01-01 00:00:00.055,9
+10056,2020-01-01 00:00:00.056,9
+10057,2020-01-01 00:00:00.057,9
+10058,2020-01-01 00:00:00.058,9
+10059,2020-01-01 00:00:00.059,9
+10060,2020-01-01 00:00:00.060,9
+10061,2020-01-01 00:00:00.061,9
+10062,2020-01-01 00:00:00.062,9
+10063,2020-01-01 00:00:00.063,9
+10064,2020-01-01 00:00:00.064,9
+10065,2020-01-01 00:00:00.065,9
+10066,2020-01-01 00:00:00.066,9
+10067,2020-01-01 00:00:00.067,9
+10068,2020-01-01 00:00:00.068,9
+10069,2020-01-01 00:00:00.069,9
+10070,2020-01-01 00:00:00.070,9
+10071,2020-01-01 00:00:00.071,9
+10072,2020-01-01 00:00:00.072,9
+10073,2020-01-01 00:00:00.073,9
+10074,2020-01-01 00:00:00.074,9
+10075,2020-01-01 00:00:00.075,9
+10076,2020-01-01 00:00:00.076,9
+10077,2020-01-01 00:00:00.077,9
+10078,2020-01-01 00:00:00.078,9
+10079,2020-01-01 00:00:00.079,9
+10080,2020-01-01 00:00:00.080,9
+10081,2020-01-01 00:00:00.081,9
+10082,2020-01-01 00:00:00.082,9
+10083,2020-01-01 00:00:00.083,9
+10084,2020-01-01 00:00:00.084,9
+10085,2020-01-01 00:00:00.085,9
+10086,2020-01-01 00:00:00.086,9
+10087,2020-01-01 00:00:00.087,9
+10088,2020-01-01 00:00:00.088,9
+10089,2020-01-01 00:00:00.089,9
+10090,2020-01-01 00:00:00.090,9
+10091,2020-01-01 00:00:00.091,9
+10092,2020-01-01 00:00:00.092,9
+10093,2020-01-01 00:00:00.093,9
+10094,2020-01-01 00:00:00.094,9
+10095,2020-01-01 00:00:00.095,9
+10096,2020-01-01 00:00:00.096,9
+10097,2020-01-01 00:00:00.097,9
+10098,2020-01-01 00:00:00.098,9
+10099,2020-01-01 00:00:00.099,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1s.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1s.csv
new file mode 100644
index 0000000..1b94933
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_1s.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:00:01,0
+1002,2020-01-01 00:00:02,0
+1003,2020-01-01 00:00:03,0
+1004,2020-01-01 00:00:04,0
+1005,2020-01-01 00:00:05,0
+1006,2020-01-01 00:00:06,0
+1007,2020-01-01 00:00:07,0
+1008,2020-01-01 00:00:08,0
+1009,2020-01-01 00:00:09,0
+1010,2020-01-01 00:00:10,0
+1011,2020-01-01 00:00:11,0
+1012,2020-01-01 00:00:12,0
+1013,2020-01-01 00:00:13,0
+1014,2020-01-01 00:00:14,0
+1015,2020-01-01 00:00:15,0
+1016,2020-01-01 00:00:16,0
+1017,2020-01-01 00:00:17,0
+1018,2020-01-01 00:00:18,0
+1019,2020-01-01 00:00:19,0
+1020,2020-01-01 00:00:20,0
+1021,2020-01-01 00:00:21,0
+1022,2020-01-01 00:00:22,0
+1023,2020-01-01 00:00:23,0
+1024,2020-01-01 00:00:24,0
+1025,2020-01-01 00:00:25,0
+1026,2020-01-01 00:00:26,0
+1027,2020-01-01 00:00:27,0
+1028,2020-01-01 00:00:28,0
+1029,2020-01-01 00:00:29,0
+1030,2020-01-01 00:00:30,0
+1031,2020-01-01 00:00:31,0
+1032,2020-01-01 00:00:32,0
+1033,2020-01-01 00:00:33,0
+1034,2020-01-01 00:00:34,0
+1035,2020-01-01 00:00:35,0
+1036,2020-01-01 00:00:36,0
+1037,2020-01-01 00:00:37,0
+1038,2020-01-01 00:00:38,0
+1039,2020-01-01 00:00:39,0
+1040,2020-01-01 00:00:40,0
+1041,2020-01-01 00:00:41,0
+1042,2020-01-01 00:00:42,0
+1043,2020-01-01 00:00:43,0
+1044,2020-01-01 00:00:44,0
+1045,2020-01-01 00:00:45,0
+1046,2020-01-01 00:00:46,0
+1047,2020-01-01 00:00:47,0
+1048,2020-01-01 00:00:48,0
+1049,2020-01-01 00:00:49,0
+1050,2020-01-01 00:00:50,0
+1051,2020-01-01 00:00:51,0
+1052,2020-01-01 00:00:52,0
+1053,2020-01-01 00:00:53,0
+1054,2020-01-01 00:00:54,0
+1055,2020-01-01 00:00:55,0
+1056,2020-01-01 00:00:56,0
+1057,2020-01-01 00:00:57,0
+1058,2020-01-01 00:00:58,0
+1059,2020-01-01 00:00:59,0
+1060,2020-01-01 00:01:00,0
+1061,2020-01-01 00:01:01,0
+1062,2020-01-01 00:01:02,0
+1063,2020-01-01 00:01:03,0
+1064,2020-01-01 00:01:04,0
+1065,2020-01-01 00:01:05,0
+1066,2020-01-01 00:01:06,0
+1067,2020-01-01 00:01:07,0
+1068,2020-01-01 00:01:08,0
+1069,2020-01-01 00:01:09,0
+1070,2020-01-01 00:01:10,0
+1071,2020-01-01 00:01:11,0
+1072,2020-01-01 00:01:12,0
+1073,2020-01-01 00:01:13,0
+1074,2020-01-01 00:01:14,0
+1075,2020-01-01 00:01:15,0
+1076,2020-01-01 00:01:16,0
+1077,2020-01-01 00:01:17,0
+1078,2020-01-01 00:01:18,0
+1079,2020-01-01 00:01:19,0
+1080,2020-01-01 00:01:20,0
+1081,2020-01-01 00:01:21,0
+1082,2020-01-01 00:01:22,0
+1083,2020-01-01 00:01:23,0
+1084,2020-01-01 00:01:24,0
+1085,2020-01-01 00:01:25,0
+1086,2020-01-01 00:01:26,0
+1087,2020-01-01 00:01:27,0
+1088,2020-01-01 00:01:28,0
+1089,2020-01-01 00:01:29,0
+1090,2020-01-01 00:01:30,0
+1091,2020-01-01 00:01:31,0
+1092,2020-01-01 00:01:32,0
+1093,2020-01-01 00:01:33,0
+1094,2020-01-01 00:01:34,0
+1095,2020-01-01 00:01:35,0
+1096,2020-01-01 00:01:36,0
+1097,2020-01-01 00:01:37,0
+1098,2020-01-01 00:01:38,0
+1099,2020-01-01 00:01:39,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:00:01,1
+2002,2020-01-01 00:00:02,1
+2003,2020-01-01 00:00:03,1
+2004,2020-01-01 00:00:04,1
+2005,2020-01-01 00:00:05,1
+2006,2020-01-01 00:00:06,1
+2007,2020-01-01 00:00:07,1
+2008,2020-01-01 00:00:08,1
+2009,2020-01-01 00:00:09,1
+2010,2020-01-01 00:00:10,1
+2011,2020-01-01 00:00:11,1
+2012,2020-01-01 00:00:12,1
+2013,2020-01-01 00:00:13,1
+2014,2020-01-01 00:00:14,1
+2015,2020-01-01 00:00:15,1
+2016,2020-01-01 00:00:16,1
+2017,2020-01-01 00:00:17,1
+2018,2020-01-01 00:00:18,1
+2019,2020-01-01 00:00:19,1
+2020,2020-01-01 00:00:20,1
+2021,2020-01-01 00:00:21,1
+2022,2020-01-01 00:00:22,1
+2023,2020-01-01 00:00:23,1
+2024,2020-01-01 00:00:24,1
+2025,2020-01-01 00:00:25,1
+2026,2020-01-01 00:00:26,1
+2027,2020-01-01 00:00:27,1
+2028,2020-01-01 00:00:28,1
+2029,2020-01-01 00:00:29,1
+2030,2020-01-01 00:00:30,1
+2031,2020-01-01 00:00:31,1
+2032,2020-01-01 00:00:32,1
+2033,2020-01-01 00:00:33,1
+2034,2020-01-01 00:00:34,1
+2035,2020-01-01 00:00:35,1
+2036,2020-01-01 00:00:36,1
+2037,2020-01-01 00:00:37,1
+2038,2020-01-01 00:00:38,1
+2039,2020-01-01 00:00:39,1
+2040,2020-01-01 00:00:40,1
+2041,2020-01-01 00:00:41,1
+2042,2020-01-01 00:00:42,1
+2043,2020-01-01 00:00:43,1
+2044,2020-01-01 00:00:44,1
+2045,2020-01-01 00:00:45,1
+2046,2020-01-01 00:00:46,1
+2047,2020-01-01 00:00:47,1
+2048,2020-01-01 00:00:48,1
+2049,2020-01-01 00:00:49,1
+2050,2020-01-01 00:00:50,1
+2051,2020-01-01 00:00:51,1
+2052,2020-01-01 00:00:52,1
+2053,2020-01-01 00:00:53,1
+2054,2020-01-01 00:00:54,1
+2055,2020-01-01 00:00:55,1
+2056,2020-01-01 00:00:56,1
+2057,2020-01-01 00:00:57,1
+2058,2020-01-01 00:00:58,1
+2059,2020-01-01 00:00:59,1
+2060,2020-01-01 00:01:00,1
+2061,2020-01-01 00:01:01,1
+2062,2020-01-01 00:01:02,1
+2063,2020-01-01 00:01:03,1
+2064,2020-01-01 00:01:04,1
+2065,2020-01-01 00:01:05,1
+2066,2020-01-01 00:01:06,1
+2067,2020-01-01 00:01:07,1
+2068,2020-01-01 00:01:08,1
+2069,2020-01-01 00:01:09,1
+2070,2020-01-01 00:01:10,1
+2071,2020-01-01 00:01:11,1
+2072,2020-01-01 00:01:12,1
+2073,2020-01-01 00:01:13,1
+2074,2020-01-01 00:01:14,1
+2075,2020-01-01 00:01:15,1
+2076,2020-01-01 00:01:16,1
+2077,2020-01-01 00:01:17,1
+2078,2020-01-01 00:01:18,1
+2079,2020-01-01 00:01:19,1
+2080,2020-01-01 00:01:20,1
+2081,2020-01-01 00:01:21,1
+2082,2020-01-01 00:01:22,1
+2083,2020-01-01 00:01:23,1
+2084,2020-01-01 00:01:24,1
+2085,2020-01-01 00:01:25,1
+2086,2020-01-01 00:01:26,1
+2087,2020-01-01 00:01:27,1
+2088,2020-01-01 00:01:28,1
+2089,2020-01-01 00:01:29,1
+2090,2020-01-01 00:01:30,1
+2091,2020-01-01 00:01:31,1
+2092,2020-01-01 00:01:32,1
+2093,2020-01-01 00:01:33,1
+2094,2020-01-01 00:01:34,1
+2095,2020-01-01 00:01:35,1
+2096,2020-01-01 00:01:36,1
+2097,2020-01-01 00:01:37,1
+2098,2020-01-01 00:01:38,1
+2099,2020-01-01 00:01:39,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:00:01,2
+3002,2020-01-01 00:00:02,2
+3003,2020-01-01 00:00:03,2
+3004,2020-01-01 00:00:04,2
+3005,2020-01-01 00:00:05,2
+3006,2020-01-01 00:00:06,2
+3007,2020-01-01 00:00:07,2
+3008,2020-01-01 00:00:08,2
+3009,2020-01-01 00:00:09,2
+3010,2020-01-01 00:00:10,2
+3011,2020-01-01 00:00:11,2
+3012,2020-01-01 00:00:12,2
+3013,2020-01-01 00:00:13,2
+3014,2020-01-01 00:00:14,2
+3015,2020-01-01 00:00:15,2
+3016,2020-01-01 00:00:16,2
+3017,2020-01-01 00:00:17,2
+3018,2020-01-01 00:00:18,2
+3019,2020-01-01 00:00:19,2
+3020,2020-01-01 00:00:20,2
+3021,2020-01-01 00:00:21,2
+3022,2020-01-01 00:00:22,2
+3023,2020-01-01 00:00:23,2
+3024,2020-01-01 00:00:24,2
+3025,2020-01-01 00:00:25,2
+3026,2020-01-01 00:00:26,2
+3027,2020-01-01 00:00:27,2
+3028,2020-01-01 00:00:28,2
+3029,2020-01-01 00:00:29,2
+3030,2020-01-01 00:00:30,2
+3031,2020-01-01 00:00:31,2
+3032,2020-01-01 00:00:32,2
+3033,2020-01-01 00:00:33,2
+3034,2020-01-01 00:00:34,2
+3035,2020-01-01 00:00:35,2
+3036,2020-01-01 00:00:36,2
+3037,2020-01-01 00:00:37,2
+3038,2020-01-01 00:00:38,2
+3039,2020-01-01 00:00:39,2
+3040,2020-01-01 00:00:40,2
+3041,2020-01-01 00:00:41,2
+3042,2020-01-01 00:00:42,2
+3043,2020-01-01 00:00:43,2
+3044,2020-01-01 00:00:44,2
+3045,2020-01-01 00:00:45,2
+3046,2020-01-01 00:00:46,2
+3047,2020-01-01 00:00:47,2
+3048,2020-01-01 00:00:48,2
+3049,2020-01-01 00:00:49,2
+3050,2020-01-01 00:00:50,2
+3051,2020-01-01 00:00:51,2
+3052,2020-01-01 00:00:52,2
+3053,2020-01-01 00:00:53,2
+3054,2020-01-01 00:00:54,2
+3055,2020-01-01 00:00:55,2
+3056,2020-01-01 00:00:56,2
+3057,2020-01-01 00:00:57,2
+3058,2020-01-01 00:00:58,2
+3059,2020-01-01 00:00:59,2
+3060,2020-01-01 00:01:00,2
+3061,2020-01-01 00:01:01,2
+3062,2020-01-01 00:01:02,2
+3063,2020-01-01 00:01:03,2
+3064,2020-01-01 00:01:04,2
+3065,2020-01-01 00:01:05,2
+3066,2020-01-01 00:01:06,2
+3067,2020-01-01 00:01:07,2
+3068,2020-01-01 00:01:08,2
+3069,2020-01-01 00:01:09,2
+3070,2020-01-01 00:01:10,2
+3071,2020-01-01 00:01:11,2
+3072,2020-01-01 00:01:12,2
+3073,2020-01-01 00:01:13,2
+3074,2020-01-01 00:01:14,2
+3075,2020-01-01 00:01:15,2
+3076,2020-01-01 00:01:16,2
+3077,2020-01-01 00:01:17,2
+3078,2020-01-01 00:01:18,2
+3079,2020-01-01 00:01:19,2
+3080,2020-01-01 00:01:20,2
+3081,2020-01-01 00:01:21,2
+3082,2020-01-01 00:01:22,2
+3083,2020-01-01 00:01:23,2
+3084,2020-01-01 00:01:24,2
+3085,2020-01-01 00:01:25,2
+3086,2020-01-01 00:01:26,2
+3087,2020-01-01 00:01:27,2
+3088,2020-01-01 00:01:28,2
+3089,2020-01-01 00:01:29,2
+3090,2020-01-01 00:01:30,2
+3091,2020-01-01 00:01:31,2
+3092,2020-01-01 00:01:32,2
+3093,2020-01-01 00:01:33,2
+3094,2020-01-01 00:01:34,2
+3095,2020-01-01 00:01:35,2
+3096,2020-01-01 00:01:36,2
+3097,2020-01-01 00:01:37,2
+3098,2020-01-01 00:01:38,2
+3099,2020-01-01 00:01:39,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:00:01,3
+4002,2020-01-01 00:00:02,3
+4003,2020-01-01 00:00:03,3
+4004,2020-01-01 00:00:04,3
+4005,2020-01-01 00:00:05,3
+4006,2020-01-01 00:00:06,3
+4007,2020-01-01 00:00:07,3
+4008,2020-01-01 00:00:08,3
+4009,2020-01-01 00:00:09,3
+4010,2020-01-01 00:00:10,3
+4011,2020-01-01 00:00:11,3
+4012,2020-01-01 00:00:12,3
+4013,2020-01-01 00:00:13,3
+4014,2020-01-01 00:00:14,3
+4015,2020-01-01 00:00:15,3
+4016,2020-01-01 00:00:16,3
+4017,2020-01-01 00:00:17,3
+4018,2020-01-01 00:00:18,3
+4019,2020-01-01 00:00:19,3
+4020,2020-01-01 00:00:20,3
+4021,2020-01-01 00:00:21,3
+4022,2020-01-01 00:00:22,3
+4023,2020-01-01 00:00:23,3
+4024,2020-01-01 00:00:24,3
+4025,2020-01-01 00:00:25,3
+4026,2020-01-01 00:00:26,3
+4027,2020-01-01 00:00:27,3
+4028,2020-01-01 00:00:28,3
+4029,2020-01-01 00:00:29,3
+4030,2020-01-01 00:00:30,3
+4031,2020-01-01 00:00:31,3
+4032,2020-01-01 00:00:32,3
+4033,2020-01-01 00:00:33,3
+4034,2020-01-01 00:00:34,3
+4035,2020-01-01 00:00:35,3
+4036,2020-01-01 00:00:36,3
+4037,2020-01-01 00:00:37,3
+4038,2020-01-01 00:00:38,3
+4039,2020-01-01 00:00:39,3
+4040,2020-01-01 00:00:40,3
+4041,2020-01-01 00:00:41,3
+4042,2020-01-01 00:00:42,3
+4043,2020-01-01 00:00:43,3
+4044,2020-01-01 00:00:44,3
+4045,2020-01-01 00:00:45,3
+4046,2020-01-01 00:00:46,3
+4047,2020-01-01 00:00:47,3
+4048,2020-01-01 00:00:48,3
+4049,2020-01-01 00:00:49,3
+4050,2020-01-01 00:00:50,3
+4051,2020-01-01 00:00:51,3
+4052,2020-01-01 00:00:52,3
+4053,2020-01-01 00:00:53,3
+4054,2020-01-01 00:00:54,3
+4055,2020-01-01 00:00:55,3
+4056,2020-01-01 00:00:56,3
+4057,2020-01-01 00:00:57,3
+4058,2020-01-01 00:00:58,3
+4059,2020-01-01 00:00:59,3
+4060,2020-01-01 00:01:00,3
+4061,2020-01-01 00:01:01,3
+4062,2020-01-01 00:01:02,3
+4063,2020-01-01 00:01:03,3
+4064,2020-01-01 00:01:04,3
+4065,2020-01-01 00:01:05,3
+4066,2020-01-01 00:01:06,3
+4067,2020-01-01 00:01:07,3
+4068,2020-01-01 00:01:08,3
+4069,2020-01-01 00:01:09,3
+4070,2020-01-01 00:01:10,3
+4071,2020-01-01 00:01:11,3
+4072,2020-01-01 00:01:12,3
+4073,2020-01-01 00:01:13,3
+4074,2020-01-01 00:01:14,3
+4075,2020-01-01 00:01:15,3
+4076,2020-01-01 00:01:16,3
+4077,2020-01-01 00:01:17,3
+4078,2020-01-01 00:01:18,3
+4079,2020-01-01 00:01:19,3
+4080,2020-01-01 00:01:20,3
+4081,2020-01-01 00:01:21,3
+4082,2020-01-01 00:01:22,3
+4083,2020-01-01 00:01:23,3
+4084,2020-01-01 00:01:24,3
+4085,2020-01-01 00:01:25,3
+4086,2020-01-01 00:01:26,3
+4087,2020-01-01 00:01:27,3
+4088,2020-01-01 00:01:28,3
+4089,2020-01-01 00:01:29,3
+4090,2020-01-01 00:01:30,3
+4091,2020-01-01 00:01:31,3
+4092,2020-01-01 00:01:32,3
+4093,2020-01-01 00:01:33,3
+4094,2020-01-01 00:01:34,3
+4095,2020-01-01 00:01:35,3
+4096,2020-01-01 00:01:36,3
+4097,2020-01-01 00:01:37,3
+4098,2020-01-01 00:01:38,3
+4099,2020-01-01 00:01:39,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:00:01,4
+5002,2020-01-01 00:00:02,4
+5003,2020-01-01 00:00:03,4
+5004,2020-01-01 00:00:04,4
+5005,2020-01-01 00:00:05,4
+5006,2020-01-01 00:00:06,4
+5007,2020-01-01 00:00:07,4
+5008,2020-01-01 00:00:08,4
+5009,2020-01-01 00:00:09,4
+5010,2020-01-01 00:00:10,4
+5011,2020-01-01 00:00:11,4
+5012,2020-01-01 00:00:12,4
+5013,2020-01-01 00:00:13,4
+5014,2020-01-01 00:00:14,4
+5015,2020-01-01 00:00:15,4
+5016,2020-01-01 00:00:16,4
+5017,2020-01-01 00:00:17,4
+5018,2020-01-01 00:00:18,4
+5019,2020-01-01 00:00:19,4
+5020,2020-01-01 00:00:20,4
+5021,2020-01-01 00:00:21,4
+5022,2020-01-01 00:00:22,4
+5023,2020-01-01 00:00:23,4
+5024,2020-01-01 00:00:24,4
+5025,2020-01-01 00:00:25,4
+5026,2020-01-01 00:00:26,4
+5027,2020-01-01 00:00:27,4
+5028,2020-01-01 00:00:28,4
+5029,2020-01-01 00:00:29,4
+5030,2020-01-01 00:00:30,4
+5031,2020-01-01 00:00:31,4
+5032,2020-01-01 00:00:32,4
+5033,2020-01-01 00:00:33,4
+5034,2020-01-01 00:00:34,4
+5035,2020-01-01 00:00:35,4
+5036,2020-01-01 00:00:36,4
+5037,2020-01-01 00:00:37,4
+5038,2020-01-01 00:00:38,4
+5039,2020-01-01 00:00:39,4
+5040,2020-01-01 00:00:40,4
+5041,2020-01-01 00:00:41,4
+5042,2020-01-01 00:00:42,4
+5043,2020-01-01 00:00:43,4
+5044,2020-01-01 00:00:44,4
+5045,2020-01-01 00:00:45,4
+5046,2020-01-01 00:00:46,4
+5047,2020-01-01 00:00:47,4
+5048,2020-01-01 00:00:48,4
+5049,2020-01-01 00:00:49,4
+5050,2020-01-01 00:00:50,4
+5051,2020-01-01 00:00:51,4
+5052,2020-01-01 00:00:52,4
+5053,2020-01-01 00:00:53,4
+5054,2020-01-01 00:00:54,4
+5055,2020-01-01 00:00:55,4
+5056,2020-01-01 00:00:56,4
+5057,2020-01-01 00:00:57,4
+5058,2020-01-01 00:00:58,4
+5059,2020-01-01 00:00:59,4
+5060,2020-01-01 00:01:00,4
+5061,2020-01-01 00:01:01,4
+5062,2020-01-01 00:01:02,4
+5063,2020-01-01 00:01:03,4
+5064,2020-01-01 00:01:04,4
+5065,2020-01-01 00:01:05,4
+5066,2020-01-01 00:01:06,4
+5067,2020-01-01 00:01:07,4
+5068,2020-01-01 00:01:08,4
+5069,2020-01-01 00:01:09,4
+5070,2020-01-01 00:01:10,4
+5071,2020-01-01 00:01:11,4
+5072,2020-01-01 00:01:12,4
+5073,2020-01-01 00:01:13,4
+5074,2020-01-01 00:01:14,4
+5075,2020-01-01 00:01:15,4
+5076,2020-01-01 00:01:16,4
+5077,2020-01-01 00:01:17,4
+5078,2020-01-01 00:01:18,4
+5079,2020-01-01 00:01:19,4
+5080,2020-01-01 00:01:20,4
+5081,2020-01-01 00:01:21,4
+5082,2020-01-01 00:01:22,4
+5083,2020-01-01 00:01:23,4
+5084,2020-01-01 00:01:24,4
+5085,2020-01-01 00:01:25,4
+5086,2020-01-01 00:01:26,4
+5087,2020-01-01 00:01:27,4
+5088,2020-01-01 00:01:28,4
+5089,2020-01-01 00:01:29,4
+5090,2020-01-01 00:01:30,4
+5091,2020-01-01 00:01:31,4
+5092,2020-01-01 00:01:32,4
+5093,2020-01-01 00:01:33,4
+5094,2020-01-01 00:01:34,4
+5095,2020-01-01 00:01:35,4
+5096,2020-01-01 00:01:36,4
+5097,2020-01-01 00:01:37,4
+5098,2020-01-01 00:01:38,4
+5099,2020-01-01 00:01:39,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:00:01,5
+6002,2020-01-01 00:00:02,5
+6003,2020-01-01 00:00:03,5
+6004,2020-01-01 00:00:04,5
+6005,2020-01-01 00:00:05,5
+6006,2020-01-01 00:00:06,5
+6007,2020-01-01 00:00:07,5
+6008,2020-01-01 00:00:08,5
+6009,2020-01-01 00:00:09,5
+6010,2020-01-01 00:00:10,5
+6011,2020-01-01 00:00:11,5
+6012,2020-01-01 00:00:12,5
+6013,2020-01-01 00:00:13,5
+6014,2020-01-01 00:00:14,5
+6015,2020-01-01 00:00:15,5
+6016,2020-01-01 00:00:16,5
+6017,2020-01-01 00:00:17,5
+6018,2020-01-01 00:00:18,5
+6019,2020-01-01 00:00:19,5
+6020,2020-01-01 00:00:20,5
+6021,2020-01-01 00:00:21,5
+6022,2020-01-01 00:00:22,5
+6023,2020-01-01 00:00:23,5
+6024,2020-01-01 00:00:24,5
+6025,2020-01-01 00:00:25,5
+6026,2020-01-01 00:00:26,5
+6027,2020-01-01 00:00:27,5
+6028,2020-01-01 00:00:28,5
+6029,2020-01-01 00:00:29,5
+6030,2020-01-01 00:00:30,5
+6031,2020-01-01 00:00:31,5
+6032,2020-01-01 00:00:32,5
+6033,2020-01-01 00:00:33,5
+6034,2020-01-01 00:00:34,5
+6035,2020-01-01 00:00:35,5
+6036,2020-01-01 00:00:36,5
+6037,2020-01-01 00:00:37,5
+6038,2020-01-01 00:00:38,5
+6039,2020-01-01 00:00:39,5
+6040,2020-01-01 00:00:40,5
+6041,2020-01-01 00:00:41,5
+6042,2020-01-01 00:00:42,5
+6043,2020-01-01 00:00:43,5
+6044,2020-01-01 00:00:44,5
+6045,2020-01-01 00:00:45,5
+6046,2020-01-01 00:00:46,5
+6047,2020-01-01 00:00:47,5
+6048,2020-01-01 00:00:48,5
+6049,2020-01-01 00:00:49,5
+6050,2020-01-01 00:00:50,5
+6051,2020-01-01 00:00:51,5
+6052,2020-01-01 00:00:52,5
+6053,2020-01-01 00:00:53,5
+6054,2020-01-01 00:00:54,5
+6055,2020-01-01 00:00:55,5
+6056,2020-01-01 00:00:56,5
+6057,2020-01-01 00:00:57,5
+6058,2020-01-01 00:00:58,5
+6059,2020-01-01 00:00:59,5
+6060,2020-01-01 00:01:00,5
+6061,2020-01-01 00:01:01,5
+6062,2020-01-01 00:01:02,5
+6063,2020-01-01 00:01:03,5
+6064,2020-01-01 00:01:04,5
+6065,2020-01-01 00:01:05,5
+6066,2020-01-01 00:01:06,5
+6067,2020-01-01 00:01:07,5
+6068,2020-01-01 00:01:08,5
+6069,2020-01-01 00:01:09,5
+6070,2020-01-01 00:01:10,5
+6071,2020-01-01 00:01:11,5
+6072,2020-01-01 00:01:12,5
+6073,2020-01-01 00:01:13,5
+6074,2020-01-01 00:01:14,5
+6075,2020-01-01 00:01:15,5
+6076,2020-01-01 00:01:16,5
+6077,2020-01-01 00:01:17,5
+6078,2020-01-01 00:01:18,5
+6079,2020-01-01 00:01:19,5
+6080,2020-01-01 00:01:20,5
+6081,2020-01-01 00:01:21,5
+6082,2020-01-01 00:01:22,5
+6083,2020-01-01 00:01:23,5
+6084,2020-01-01 00:01:24,5
+6085,2020-01-01 00:01:25,5
+6086,2020-01-01 00:01:26,5
+6087,2020-01-01 00:01:27,5
+6088,2020-01-01 00:01:28,5
+6089,2020-01-01 00:01:29,5
+6090,2020-01-01 00:01:30,5
+6091,2020-01-01 00:01:31,5
+6092,2020-01-01 00:01:32,5
+6093,2020-01-01 00:01:33,5
+6094,2020-01-01 00:01:34,5
+6095,2020-01-01 00:01:35,5
+6096,2020-01-01 00:01:36,5
+6097,2020-01-01 00:01:37,5
+6098,2020-01-01 00:01:38,5
+6099,2020-01-01 00:01:39,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:00:01,6
+7002,2020-01-01 00:00:02,6
+7003,2020-01-01 00:00:03,6
+7004,2020-01-01 00:00:04,6
+7005,2020-01-01 00:00:05,6
+7006,2020-01-01 00:00:06,6
+7007,2020-01-01 00:00:07,6
+7008,2020-01-01 00:00:08,6
+7009,2020-01-01 00:00:09,6
+7010,2020-01-01 00:00:10,6
+7011,2020-01-01 00:00:11,6
+7012,2020-01-01 00:00:12,6
+7013,2020-01-01 00:00:13,6
+7014,2020-01-01 00:00:14,6
+7015,2020-01-01 00:00:15,6
+7016,2020-01-01 00:00:16,6
+7017,2020-01-01 00:00:17,6
+7018,2020-01-01 00:00:18,6
+7019,2020-01-01 00:00:19,6
+7020,2020-01-01 00:00:20,6
+7021,2020-01-01 00:00:21,6
+7022,2020-01-01 00:00:22,6
+7023,2020-01-01 00:00:23,6
+7024,2020-01-01 00:00:24,6
+7025,2020-01-01 00:00:25,6
+7026,2020-01-01 00:00:26,6
+7027,2020-01-01 00:00:27,6
+7028,2020-01-01 00:00:28,6
+7029,2020-01-01 00:00:29,6
+7030,2020-01-01 00:00:30,6
+7031,2020-01-01 00:00:31,6
+7032,2020-01-01 00:00:32,6
+7033,2020-01-01 00:00:33,6
+7034,2020-01-01 00:00:34,6
+7035,2020-01-01 00:00:35,6
+7036,2020-01-01 00:00:36,6
+7037,2020-01-01 00:00:37,6
+7038,2020-01-01 00:00:38,6
+7039,2020-01-01 00:00:39,6
+7040,2020-01-01 00:00:40,6
+7041,2020-01-01 00:00:41,6
+7042,2020-01-01 00:00:42,6
+7043,2020-01-01 00:00:43,6
+7044,2020-01-01 00:00:44,6
+7045,2020-01-01 00:00:45,6
+7046,2020-01-01 00:00:46,6
+7047,2020-01-01 00:00:47,6
+7048,2020-01-01 00:00:48,6
+7049,2020-01-01 00:00:49,6
+7050,2020-01-01 00:00:50,6
+7051,2020-01-01 00:00:51,6
+7052,2020-01-01 00:00:52,6
+7053,2020-01-01 00:00:53,6
+7054,2020-01-01 00:00:54,6
+7055,2020-01-01 00:00:55,6
+7056,2020-01-01 00:00:56,6
+7057,2020-01-01 00:00:57,6
+7058,2020-01-01 00:00:58,6
+7059,2020-01-01 00:00:59,6
+7060,2020-01-01 00:01:00,6
+7061,2020-01-01 00:01:01,6
+7062,2020-01-01 00:01:02,6
+7063,2020-01-01 00:01:03,6
+7064,2020-01-01 00:01:04,6
+7065,2020-01-01 00:01:05,6
+7066,2020-01-01 00:01:06,6
+7067,2020-01-01 00:01:07,6
+7068,2020-01-01 00:01:08,6
+7069,2020-01-01 00:01:09,6
+7070,2020-01-01 00:01:10,6
+7071,2020-01-01 00:01:11,6
+7072,2020-01-01 00:01:12,6
+7073,2020-01-01 00:01:13,6
+7074,2020-01-01 00:01:14,6
+7075,2020-01-01 00:01:15,6
+7076,2020-01-01 00:01:16,6
+7077,2020-01-01 00:01:17,6
+7078,2020-01-01 00:01:18,6
+7079,2020-01-01 00:01:19,6
+7080,2020-01-01 00:01:20,6
+7081,2020-01-01 00:01:21,6
+7082,2020-01-01 00:01:22,6
+7083,2020-01-01 00:01:23,6
+7084,2020-01-01 00:01:24,6
+7085,2020-01-01 00:01:25,6
+7086,2020-01-01 00:01:26,6
+7087,2020-01-01 00:01:27,6
+7088,2020-01-01 00:01:28,6
+7089,2020-01-01 00:01:29,6
+7090,2020-01-01 00:01:30,6
+7091,2020-01-01 00:01:31,6
+7092,2020-01-01 00:01:32,6
+7093,2020-01-01 00:01:33,6
+7094,2020-01-01 00:01:34,6
+7095,2020-01-01 00:01:35,6
+7096,2020-01-01 00:01:36,6
+7097,2020-01-01 00:01:37,6
+7098,2020-01-01 00:01:38,6
+7099,2020-01-01 00:01:39,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:00:01,7
+8002,2020-01-01 00:00:02,7
+8003,2020-01-01 00:00:03,7
+8004,2020-01-01 00:00:04,7
+8005,2020-01-01 00:00:05,7
+8006,2020-01-01 00:00:06,7
+8007,2020-01-01 00:00:07,7
+8008,2020-01-01 00:00:08,7
+8009,2020-01-01 00:00:09,7
+8010,2020-01-01 00:00:10,7
+8011,2020-01-01 00:00:11,7
+8012,2020-01-01 00:00:12,7
+8013,2020-01-01 00:00:13,7
+8014,2020-01-01 00:00:14,7
+8015,2020-01-01 00:00:15,7
+8016,2020-01-01 00:00:16,7
+8017,2020-01-01 00:00:17,7
+8018,2020-01-01 00:00:18,7
+8019,2020-01-01 00:00:19,7
+8020,2020-01-01 00:00:20,7
+8021,2020-01-01 00:00:21,7
+8022,2020-01-01 00:00:22,7
+8023,2020-01-01 00:00:23,7
+8024,2020-01-01 00:00:24,7
+8025,2020-01-01 00:00:25,7
+8026,2020-01-01 00:00:26,7
+8027,2020-01-01 00:00:27,7
+8028,2020-01-01 00:00:28,7
+8029,2020-01-01 00:00:29,7
+8030,2020-01-01 00:00:30,7
+8031,2020-01-01 00:00:31,7
+8032,2020-01-01 00:00:32,7
+8033,2020-01-01 00:00:33,7
+8034,2020-01-01 00:00:34,7
+8035,2020-01-01 00:00:35,7
+8036,2020-01-01 00:00:36,7
+8037,2020-01-01 00:00:37,7
+8038,2020-01-01 00:00:38,7
+8039,2020-01-01 00:00:39,7
+8040,2020-01-01 00:00:40,7
+8041,2020-01-01 00:00:41,7
+8042,2020-01-01 00:00:42,7
+8043,2020-01-01 00:00:43,7
+8044,2020-01-01 00:00:44,7
+8045,2020-01-01 00:00:45,7
+8046,2020-01-01 00:00:46,7
+8047,2020-01-01 00:00:47,7
+8048,2020-01-01 00:00:48,7
+8049,2020-01-01 00:00:49,7
+8050,2020-01-01 00:00:50,7
+8051,2020-01-01 00:00:51,7
+8052,2020-01-01 00:00:52,7
+8053,2020-01-01 00:00:53,7
+8054,2020-01-01 00:00:54,7
+8055,2020-01-01 00:00:55,7
+8056,2020-01-01 00:00:56,7
+8057,2020-01-01 00:00:57,7
+8058,2020-01-01 00:00:58,7
+8059,2020-01-01 00:00:59,7
+8060,2020-01-01 00:01:00,7
+8061,2020-01-01 00:01:01,7
+8062,2020-01-01 00:01:02,7
+8063,2020-01-01 00:01:03,7
+8064,2020-01-01 00:01:04,7
+8065,2020-01-01 00:01:05,7
+8066,2020-01-01 00:01:06,7
+8067,2020-01-01 00:01:07,7
+8068,2020-01-01 00:01:08,7
+8069,2020-01-01 00:01:09,7
+8070,2020-01-01 00:01:10,7
+8071,2020-01-01 00:01:11,7
+8072,2020-01-01 00:01:12,7
+8073,2020-01-01 00:01:13,7
+8074,2020-01-01 00:01:14,7
+8075,2020-01-01 00:01:15,7
+8076,2020-01-01 00:01:16,7
+8077,2020-01-01 00:01:17,7
+8078,2020-01-01 00:01:18,7
+8079,2020-01-01 00:01:19,7
+8080,2020-01-01 00:01:20,7
+8081,2020-01-01 00:01:21,7
+8082,2020-01-01 00:01:22,7
+8083,2020-01-01 00:01:23,7
+8084,2020-01-01 00:01:24,7
+8085,2020-01-01 00:01:25,7
+8086,2020-01-01 00:01:26,7
+8087,2020-01-01 00:01:27,7
+8088,2020-01-01 00:01:28,7
+8089,2020-01-01 00:01:29,7
+8090,2020-01-01 00:01:30,7
+8091,2020-01-01 00:01:31,7
+8092,2020-01-01 00:01:32,7
+8093,2020-01-01 00:01:33,7
+8094,2020-01-01 00:01:34,7
+8095,2020-01-01 00:01:35,7
+8096,2020-01-01 00:01:36,7
+8097,2020-01-01 00:01:37,7
+8098,2020-01-01 00:01:38,7
+8099,2020-01-01 00:01:39,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:00:01,8
+9002,2020-01-01 00:00:02,8
+9003,2020-01-01 00:00:03,8
+9004,2020-01-01 00:00:04,8
+9005,2020-01-01 00:00:05,8
+9006,2020-01-01 00:00:06,8
+9007,2020-01-01 00:00:07,8
+9008,2020-01-01 00:00:08,8
+9009,2020-01-01 00:00:09,8
+9010,2020-01-01 00:00:10,8
+9011,2020-01-01 00:00:11,8
+9012,2020-01-01 00:00:12,8
+9013,2020-01-01 00:00:13,8
+9014,2020-01-01 00:00:14,8
+9015,2020-01-01 00:00:15,8
+9016,2020-01-01 00:00:16,8
+9017,2020-01-01 00:00:17,8
+9018,2020-01-01 00:00:18,8
+9019,2020-01-01 00:00:19,8
+9020,2020-01-01 00:00:20,8
+9021,2020-01-01 00:00:21,8
+9022,2020-01-01 00:00:22,8
+9023,2020-01-01 00:00:23,8
+9024,2020-01-01 00:00:24,8
+9025,2020-01-01 00:00:25,8
+9026,2020-01-01 00:00:26,8
+9027,2020-01-01 00:00:27,8
+9028,2020-01-01 00:00:28,8
+9029,2020-01-01 00:00:29,8
+9030,2020-01-01 00:00:30,8
+9031,2020-01-01 00:00:31,8
+9032,2020-01-01 00:00:32,8
+9033,2020-01-01 00:00:33,8
+9034,2020-01-01 00:00:34,8
+9035,2020-01-01 00:00:35,8
+9036,2020-01-01 00:00:36,8
+9037,2020-01-01 00:00:37,8
+9038,2020-01-01 00:00:38,8
+9039,2020-01-01 00:00:39,8
+9040,2020-01-01 00:00:40,8
+9041,2020-01-01 00:00:41,8
+9042,2020-01-01 00:00:42,8
+9043,2020-01-01 00:00:43,8
+9044,2020-01-01 00:00:44,8
+9045,2020-01-01 00:00:45,8
+9046,2020-01-01 00:00:46,8
+9047,2020-01-01 00:00:47,8
+9048,2020-01-01 00:00:48,8
+9049,2020-01-01 00:00:49,8
+9050,2020-01-01 00:00:50,8
+9051,2020-01-01 00:00:51,8
+9052,2020-01-01 00:00:52,8
+9053,2020-01-01 00:00:53,8
+9054,2020-01-01 00:00:54,8
+9055,2020-01-01 00:00:55,8
+9056,2020-01-01 00:00:56,8
+9057,2020-01-01 00:00:57,8
+9058,2020-01-01 00:00:58,8
+9059,2020-01-01 00:00:59,8
+9060,2020-01-01 00:01:00,8
+9061,2020-01-01 00:01:01,8
+9062,2020-01-01 00:01:02,8
+9063,2020-01-01 00:01:03,8
+9064,2020-01-01 00:01:04,8
+9065,2020-01-01 00:01:05,8
+9066,2020-01-01 00:01:06,8
+9067,2020-01-01 00:01:07,8
+9068,2020-01-01 00:01:08,8
+9069,2020-01-01 00:01:09,8
+9070,2020-01-01 00:01:10,8
+9071,2020-01-01 00:01:11,8
+9072,2020-01-01 00:01:12,8
+9073,2020-01-01 00:01:13,8
+9074,2020-01-01 00:01:14,8
+9075,2020-01-01 00:01:15,8
+9076,2020-01-01 00:01:16,8
+9077,2020-01-01 00:01:17,8
+9078,2020-01-01 00:01:18,8
+9079,2020-01-01 00:01:19,8
+9080,2020-01-01 00:01:20,8
+9081,2020-01-01 00:01:21,8
+9082,2020-01-01 00:01:22,8
+9083,2020-01-01 00:01:23,8
+9084,2020-01-01 00:01:24,8
+9085,2020-01-01 00:01:25,8
+9086,2020-01-01 00:01:26,8
+9087,2020-01-01 00:01:27,8
+9088,2020-01-01 00:01:28,8
+9089,2020-01-01 00:01:29,8
+9090,2020-01-01 00:01:30,8
+9091,2020-01-01 00:01:31,8
+9092,2020-01-01 00:01:32,8
+9093,2020-01-01 00:01:33,8
+9094,2020-01-01 00:01:34,8
+9095,2020-01-01 00:01:35,8
+9096,2020-01-01 00:01:36,8
+9097,2020-01-01 00:01:37,8
+9098,2020-01-01 00:01:38,8
+9099,2020-01-01 00:01:39,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:00:01,9
+10002,2020-01-01 00:00:02,9
+10003,2020-01-01 00:00:03,9
+10004,2020-01-01 00:00:04,9
+10005,2020-01-01 00:00:05,9
+10006,2020-01-01 00:00:06,9
+10007,2020-01-01 00:00:07,9
+10008,2020-01-01 00:00:08,9
+10009,2020-01-01 00:00:09,9
+10010,2020-01-01 00:00:10,9
+10011,2020-01-01 00:00:11,9
+10012,2020-01-01 00:00:12,9
+10013,2020-01-01 00:00:13,9
+10014,2020-01-01 00:00:14,9
+10015,2020-01-01 00:00:15,9
+10016,2020-01-01 00:00:16,9
+10017,2020-01-01 00:00:17,9
+10018,2020-01-01 00:00:18,9
+10019,2020-01-01 00:00:19,9
+10020,2020-01-01 00:00:20,9
+10021,2020-01-01 00:00:21,9
+10022,2020-01-01 00:00:22,9
+10023,2020-01-01 00:00:23,9
+10024,2020-01-01 00:00:24,9
+10025,2020-01-01 00:00:25,9
+10026,2020-01-01 00:00:26,9
+10027,2020-01-01 00:00:27,9
+10028,2020-01-01 00:00:28,9
+10029,2020-01-01 00:00:29,9
+10030,2020-01-01 00:00:30,9
+10031,2020-01-01 00:00:31,9
+10032,2020-01-01 00:00:32,9
+10033,2020-01-01 00:00:33,9
+10034,2020-01-01 00:00:34,9
+10035,2020-01-01 00:00:35,9
+10036,2020-01-01 00:00:36,9
+10037,2020-01-01 00:00:37,9
+10038,2020-01-01 00:00:38,9
+10039,2020-01-01 00:00:39,9
+10040,2020-01-01 00:00:40,9
+10041,2020-01-01 00:00:41,9
+10042,2020-01-01 00:00:42,9
+10043,2020-01-01 00:00:43,9
+10044,2020-01-01 00:00:44,9
+10045,2020-01-01 00:00:45,9
+10046,2020-01-01 00:00:46,9
+10047,2020-01-01 00:00:47,9
+10048,2020-01-01 00:00:48,9
+10049,2020-01-01 00:00:49,9
+10050,2020-01-01 00:00:50,9
+10051,2020-01-01 00:00:51,9
+10052,2020-01-01 00:00:52,9
+10053,2020-01-01 00:00:53,9
+10054,2020-01-01 00:00:54,9
+10055,2020-01-01 00:00:55,9
+10056,2020-01-01 00:00:56,9
+10057,2020-01-01 00:00:57,9
+10058,2020-01-01 00:00:58,9
+10059,2020-01-01 00:00:59,9
+10060,2020-01-01 00:01:00,9
+10061,2020-01-01 00:01:01,9
+10062,2020-01-01 00:01:02,9
+10063,2020-01-01 00:01:03,9
+10064,2020-01-01 00:01:04,9
+10065,2020-01-01 00:01:05,9
+10066,2020-01-01 00:01:06,9
+10067,2020-01-01 00:01:07,9
+10068,2020-01-01 00:01:08,9
+10069,2020-01-01 00:01:09,9
+10070,2020-01-01 00:01:10,9
+10071,2020-01-01 00:01:11,9
+10072,2020-01-01 00:01:12,9
+10073,2020-01-01 00:01:13,9
+10074,2020-01-01 00:01:14,9
+10075,2020-01-01 00:01:15,9
+10076,2020-01-01 00:01:16,9
+10077,2020-01-01 00:01:17,9
+10078,2020-01-01 00:01:18,9
+10079,2020-01-01 00:01:19,9
+10080,2020-01-01 00:01:20,9
+10081,2020-01-01 00:01:21,9
+10082,2020-01-01 00:01:22,9
+10083,2020-01-01 00:01:23,9
+10084,2020-01-01 00:01:24,9
+10085,2020-01-01 00:01:25,9
+10086,2020-01-01 00:01:26,9
+10087,2020-01-01 00:01:27,9
+10088,2020-01-01 00:01:28,9
+10089,2020-01-01 00:01:29,9
+10090,2020-01-01 00:01:30,9
+10091,2020-01-01 00:01:31,9
+10092,2020-01-01 00:01:32,9
+10093,2020-01-01 00:01:33,9
+10094,2020-01-01 00:01:34,9
+10095,2020-01-01 00:01:35,9
+10096,2020-01-01 00:01:36,9
+10097,2020-01-01 00:01:37,9
+10098,2020-01-01 00:01:38,9
+10099,2020-01-01 00:01:39,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_28D.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_28D.csv
new file mode 100644
index 0000000..ef8ae64
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_28D.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-29,0
+1002,2020-02-26,0
+1003,2020-03-25,0
+1004,2020-04-22,0
+1005,2020-05-20,0
+1006,2020-06-17,0
+1007,2020-07-15,0
+1008,2020-08-12,0
+1009,2020-09-09,0
+1010,2020-10-07,0
+1011,2020-11-04,0
+1012,2020-12-02,0
+1013,2020-12-30,0
+1014,2021-01-27,0
+1015,2021-02-24,0
+1016,2021-03-24,0
+1017,2021-04-21,0
+1018,2021-05-19,0
+1019,2021-06-16,0
+1020,2021-07-14,0
+1021,2021-08-11,0
+1022,2021-09-08,0
+1023,2021-10-06,0
+1024,2021-11-03,0
+1025,2021-12-01,0
+1026,2021-12-29,0
+1027,2022-01-26,0
+1028,2022-02-23,0
+1029,2022-03-23,0
+1030,2022-04-20,0
+1031,2022-05-18,0
+1032,2022-06-15,0
+1033,2022-07-13,0
+1034,2022-08-10,0
+1035,2022-09-07,0
+1036,2022-10-05,0
+1037,2022-11-02,0
+1038,2022-11-30,0
+1039,2022-12-28,0
+1040,2023-01-25,0
+1041,2023-02-22,0
+1042,2023-03-22,0
+1043,2023-04-19,0
+1044,2023-05-17,0
+1045,2023-06-14,0
+1046,2023-07-12,0
+1047,2023-08-09,0
+1048,2023-09-06,0
+1049,2023-10-04,0
+1050,2023-11-01,0
+1051,2023-11-29,0
+1052,2023-12-27,0
+1053,2024-01-24,0
+1054,2024-02-21,0
+1055,2024-03-20,0
+1056,2024-04-17,0
+1057,2024-05-15,0
+1058,2024-06-12,0
+1059,2024-07-10,0
+1060,2024-08-07,0
+1061,2024-09-04,0
+1062,2024-10-02,0
+1063,2024-10-30,0
+1064,2024-11-27,0
+1065,2024-12-25,0
+1066,2025-01-22,0
+1067,2025-02-19,0
+1068,2025-03-19,0
+1069,2025-04-16,0
+1070,2025-05-14,0
+1071,2025-06-11,0
+1072,2025-07-09,0
+1073,2025-08-06,0
+1074,2025-09-03,0
+1075,2025-10-01,0
+1076,2025-10-29,0
+1077,2025-11-26,0
+1078,2025-12-24,0
+1079,2026-01-21,0
+1080,2026-02-18,0
+1081,2026-03-18,0
+1082,2026-04-15,0
+1083,2026-05-13,0
+1084,2026-06-10,0
+1085,2026-07-08,0
+1086,2026-08-05,0
+1087,2026-09-02,0
+1088,2026-09-30,0
+1089,2026-10-28,0
+1090,2026-11-25,0
+1091,2026-12-23,0
+1092,2027-01-20,0
+1093,2027-02-17,0
+1094,2027-03-17,0
+1095,2027-04-14,0
+1096,2027-05-12,0
+1097,2027-06-09,0
+1098,2027-07-07,0
+1099,2027-08-04,0
+2000,2020-01-01,1
+2001,2020-01-29,1
+2002,2020-02-26,1
+2003,2020-03-25,1
+2004,2020-04-22,1
+2005,2020-05-20,1
+2006,2020-06-17,1
+2007,2020-07-15,1
+2008,2020-08-12,1
+2009,2020-09-09,1
+2010,2020-10-07,1
+2011,2020-11-04,1
+2012,2020-12-02,1
+2013,2020-12-30,1
+2014,2021-01-27,1
+2015,2021-02-24,1
+2016,2021-03-24,1
+2017,2021-04-21,1
+2018,2021-05-19,1
+2019,2021-06-16,1
+2020,2021-07-14,1
+2021,2021-08-11,1
+2022,2021-09-08,1
+2023,2021-10-06,1
+2024,2021-11-03,1
+2025,2021-12-01,1
+2026,2021-12-29,1
+2027,2022-01-26,1
+2028,2022-02-23,1
+2029,2022-03-23,1
+2030,2022-04-20,1
+2031,2022-05-18,1
+2032,2022-06-15,1
+2033,2022-07-13,1
+2034,2022-08-10,1
+2035,2022-09-07,1
+2036,2022-10-05,1
+2037,2022-11-02,1
+2038,2022-11-30,1
+2039,2022-12-28,1
+2040,2023-01-25,1
+2041,2023-02-22,1
+2042,2023-03-22,1
+2043,2023-04-19,1
+2044,2023-05-17,1
+2045,2023-06-14,1
+2046,2023-07-12,1
+2047,2023-08-09,1
+2048,2023-09-06,1
+2049,2023-10-04,1
+2050,2023-11-01,1
+2051,2023-11-29,1
+2052,2023-12-27,1
+2053,2024-01-24,1
+2054,2024-02-21,1
+2055,2024-03-20,1
+2056,2024-04-17,1
+2057,2024-05-15,1
+2058,2024-06-12,1
+2059,2024-07-10,1
+2060,2024-08-07,1
+2061,2024-09-04,1
+2062,2024-10-02,1
+2063,2024-10-30,1
+2064,2024-11-27,1
+2065,2024-12-25,1
+2066,2025-01-22,1
+2067,2025-02-19,1
+2068,2025-03-19,1
+2069,2025-04-16,1
+2070,2025-05-14,1
+2071,2025-06-11,1
+2072,2025-07-09,1
+2073,2025-08-06,1
+2074,2025-09-03,1
+2075,2025-10-01,1
+2076,2025-10-29,1
+2077,2025-11-26,1
+2078,2025-12-24,1
+2079,2026-01-21,1
+2080,2026-02-18,1
+2081,2026-03-18,1
+2082,2026-04-15,1
+2083,2026-05-13,1
+2084,2026-06-10,1
+2085,2026-07-08,1
+2086,2026-08-05,1
+2087,2026-09-02,1
+2088,2026-09-30,1
+2089,2026-10-28,1
+2090,2026-11-25,1
+2091,2026-12-23,1
+2092,2027-01-20,1
+2093,2027-02-17,1
+2094,2027-03-17,1
+2095,2027-04-14,1
+2096,2027-05-12,1
+2097,2027-06-09,1
+2098,2027-07-07,1
+2099,2027-08-04,1
+3000,2020-01-01,2
+3001,2020-01-29,2
+3002,2020-02-26,2
+3003,2020-03-25,2
+3004,2020-04-22,2
+3005,2020-05-20,2
+3006,2020-06-17,2
+3007,2020-07-15,2
+3008,2020-08-12,2
+3009,2020-09-09,2
+3010,2020-10-07,2
+3011,2020-11-04,2
+3012,2020-12-02,2
+3013,2020-12-30,2
+3014,2021-01-27,2
+3015,2021-02-24,2
+3016,2021-03-24,2
+3017,2021-04-21,2
+3018,2021-05-19,2
+3019,2021-06-16,2
+3020,2021-07-14,2
+3021,2021-08-11,2
+3022,2021-09-08,2
+3023,2021-10-06,2
+3024,2021-11-03,2
+3025,2021-12-01,2
+3026,2021-12-29,2
+3027,2022-01-26,2
+3028,2022-02-23,2
+3029,2022-03-23,2
+3030,2022-04-20,2
+3031,2022-05-18,2
+3032,2022-06-15,2
+3033,2022-07-13,2
+3034,2022-08-10,2
+3035,2022-09-07,2
+3036,2022-10-05,2
+3037,2022-11-02,2
+3038,2022-11-30,2
+3039,2022-12-28,2
+3040,2023-01-25,2
+3041,2023-02-22,2
+3042,2023-03-22,2
+3043,2023-04-19,2
+3044,2023-05-17,2
+3045,2023-06-14,2
+3046,2023-07-12,2
+3047,2023-08-09,2
+3048,2023-09-06,2
+3049,2023-10-04,2
+3050,2023-11-01,2
+3051,2023-11-29,2
+3052,2023-12-27,2
+3053,2024-01-24,2
+3054,2024-02-21,2
+3055,2024-03-20,2
+3056,2024-04-17,2
+3057,2024-05-15,2
+3058,2024-06-12,2
+3059,2024-07-10,2
+3060,2024-08-07,2
+3061,2024-09-04,2
+3062,2024-10-02,2
+3063,2024-10-30,2
+3064,2024-11-27,2
+3065,2024-12-25,2
+3066,2025-01-22,2
+3067,2025-02-19,2
+3068,2025-03-19,2
+3069,2025-04-16,2
+3070,2025-05-14,2
+3071,2025-06-11,2
+3072,2025-07-09,2
+3073,2025-08-06,2
+3074,2025-09-03,2
+3075,2025-10-01,2
+3076,2025-10-29,2
+3077,2025-11-26,2
+3078,2025-12-24,2
+3079,2026-01-21,2
+3080,2026-02-18,2
+3081,2026-03-18,2
+3082,2026-04-15,2
+3083,2026-05-13,2
+3084,2026-06-10,2
+3085,2026-07-08,2
+3086,2026-08-05,2
+3087,2026-09-02,2
+3088,2026-09-30,2
+3089,2026-10-28,2
+3090,2026-11-25,2
+3091,2026-12-23,2
+3092,2027-01-20,2
+3093,2027-02-17,2
+3094,2027-03-17,2
+3095,2027-04-14,2
+3096,2027-05-12,2
+3097,2027-06-09,2
+3098,2027-07-07,2
+3099,2027-08-04,2
+4000,2020-01-01,3
+4001,2020-01-29,3
+4002,2020-02-26,3
+4003,2020-03-25,3
+4004,2020-04-22,3
+4005,2020-05-20,3
+4006,2020-06-17,3
+4007,2020-07-15,3
+4008,2020-08-12,3
+4009,2020-09-09,3
+4010,2020-10-07,3
+4011,2020-11-04,3
+4012,2020-12-02,3
+4013,2020-12-30,3
+4014,2021-01-27,3
+4015,2021-02-24,3
+4016,2021-03-24,3
+4017,2021-04-21,3
+4018,2021-05-19,3
+4019,2021-06-16,3
+4020,2021-07-14,3
+4021,2021-08-11,3
+4022,2021-09-08,3
+4023,2021-10-06,3
+4024,2021-11-03,3
+4025,2021-12-01,3
+4026,2021-12-29,3
+4027,2022-01-26,3
+4028,2022-02-23,3
+4029,2022-03-23,3
+4030,2022-04-20,3
+4031,2022-05-18,3
+4032,2022-06-15,3
+4033,2022-07-13,3
+4034,2022-08-10,3
+4035,2022-09-07,3
+4036,2022-10-05,3
+4037,2022-11-02,3
+4038,2022-11-30,3
+4039,2022-12-28,3
+4040,2023-01-25,3
+4041,2023-02-22,3
+4042,2023-03-22,3
+4043,2023-04-19,3
+4044,2023-05-17,3
+4045,2023-06-14,3
+4046,2023-07-12,3
+4047,2023-08-09,3
+4048,2023-09-06,3
+4049,2023-10-04,3
+4050,2023-11-01,3
+4051,2023-11-29,3
+4052,2023-12-27,3
+4053,2024-01-24,3
+4054,2024-02-21,3
+4055,2024-03-20,3
+4056,2024-04-17,3
+4057,2024-05-15,3
+4058,2024-06-12,3
+4059,2024-07-10,3
+4060,2024-08-07,3
+4061,2024-09-04,3
+4062,2024-10-02,3
+4063,2024-10-30,3
+4064,2024-11-27,3
+4065,2024-12-25,3
+4066,2025-01-22,3
+4067,2025-02-19,3
+4068,2025-03-19,3
+4069,2025-04-16,3
+4070,2025-05-14,3
+4071,2025-06-11,3
+4072,2025-07-09,3
+4073,2025-08-06,3
+4074,2025-09-03,3
+4075,2025-10-01,3
+4076,2025-10-29,3
+4077,2025-11-26,3
+4078,2025-12-24,3
+4079,2026-01-21,3
+4080,2026-02-18,3
+4081,2026-03-18,3
+4082,2026-04-15,3
+4083,2026-05-13,3
+4084,2026-06-10,3
+4085,2026-07-08,3
+4086,2026-08-05,3
+4087,2026-09-02,3
+4088,2026-09-30,3
+4089,2026-10-28,3
+4090,2026-11-25,3
+4091,2026-12-23,3
+4092,2027-01-20,3
+4093,2027-02-17,3
+4094,2027-03-17,3
+4095,2027-04-14,3
+4096,2027-05-12,3
+4097,2027-06-09,3
+4098,2027-07-07,3
+4099,2027-08-04,3
+5000,2020-01-01,4
+5001,2020-01-29,4
+5002,2020-02-26,4
+5003,2020-03-25,4
+5004,2020-04-22,4
+5005,2020-05-20,4
+5006,2020-06-17,4
+5007,2020-07-15,4
+5008,2020-08-12,4
+5009,2020-09-09,4
+5010,2020-10-07,4
+5011,2020-11-04,4
+5012,2020-12-02,4
+5013,2020-12-30,4
+5014,2021-01-27,4
+5015,2021-02-24,4
+5016,2021-03-24,4
+5017,2021-04-21,4
+5018,2021-05-19,4
+5019,2021-06-16,4
+5020,2021-07-14,4
+5021,2021-08-11,4
+5022,2021-09-08,4
+5023,2021-10-06,4
+5024,2021-11-03,4
+5025,2021-12-01,4
+5026,2021-12-29,4
+5027,2022-01-26,4
+5028,2022-02-23,4
+5029,2022-03-23,4
+5030,2022-04-20,4
+5031,2022-05-18,4
+5032,2022-06-15,4
+5033,2022-07-13,4
+5034,2022-08-10,4
+5035,2022-09-07,4
+5036,2022-10-05,4
+5037,2022-11-02,4
+5038,2022-11-30,4
+5039,2022-12-28,4
+5040,2023-01-25,4
+5041,2023-02-22,4
+5042,2023-03-22,4
+5043,2023-04-19,4
+5044,2023-05-17,4
+5045,2023-06-14,4
+5046,2023-07-12,4
+5047,2023-08-09,4
+5048,2023-09-06,4
+5049,2023-10-04,4
+5050,2023-11-01,4
+5051,2023-11-29,4
+5052,2023-12-27,4
+5053,2024-01-24,4
+5054,2024-02-21,4
+5055,2024-03-20,4
+5056,2024-04-17,4
+5057,2024-05-15,4
+5058,2024-06-12,4
+5059,2024-07-10,4
+5060,2024-08-07,4
+5061,2024-09-04,4
+5062,2024-10-02,4
+5063,2024-10-30,4
+5064,2024-11-27,4
+5065,2024-12-25,4
+5066,2025-01-22,4
+5067,2025-02-19,4
+5068,2025-03-19,4
+5069,2025-04-16,4
+5070,2025-05-14,4
+5071,2025-06-11,4
+5072,2025-07-09,4
+5073,2025-08-06,4
+5074,2025-09-03,4
+5075,2025-10-01,4
+5076,2025-10-29,4
+5077,2025-11-26,4
+5078,2025-12-24,4
+5079,2026-01-21,4
+5080,2026-02-18,4
+5081,2026-03-18,4
+5082,2026-04-15,4
+5083,2026-05-13,4
+5084,2026-06-10,4
+5085,2026-07-08,4
+5086,2026-08-05,4
+5087,2026-09-02,4
+5088,2026-09-30,4
+5089,2026-10-28,4
+5090,2026-11-25,4
+5091,2026-12-23,4
+5092,2027-01-20,4
+5093,2027-02-17,4
+5094,2027-03-17,4
+5095,2027-04-14,4
+5096,2027-05-12,4
+5097,2027-06-09,4
+5098,2027-07-07,4
+5099,2027-08-04,4
+6000,2020-01-01,5
+6001,2020-01-29,5
+6002,2020-02-26,5
+6003,2020-03-25,5
+6004,2020-04-22,5
+6005,2020-05-20,5
+6006,2020-06-17,5
+6007,2020-07-15,5
+6008,2020-08-12,5
+6009,2020-09-09,5
+6010,2020-10-07,5
+6011,2020-11-04,5
+6012,2020-12-02,5
+6013,2020-12-30,5
+6014,2021-01-27,5
+6015,2021-02-24,5
+6016,2021-03-24,5
+6017,2021-04-21,5
+6018,2021-05-19,5
+6019,2021-06-16,5
+6020,2021-07-14,5
+6021,2021-08-11,5
+6022,2021-09-08,5
+6023,2021-10-06,5
+6024,2021-11-03,5
+6025,2021-12-01,5
+6026,2021-12-29,5
+6027,2022-01-26,5
+6028,2022-02-23,5
+6029,2022-03-23,5
+6030,2022-04-20,5
+6031,2022-05-18,5
+6032,2022-06-15,5
+6033,2022-07-13,5
+6034,2022-08-10,5
+6035,2022-09-07,5
+6036,2022-10-05,5
+6037,2022-11-02,5
+6038,2022-11-30,5
+6039,2022-12-28,5
+6040,2023-01-25,5
+6041,2023-02-22,5
+6042,2023-03-22,5
+6043,2023-04-19,5
+6044,2023-05-17,5
+6045,2023-06-14,5
+6046,2023-07-12,5
+6047,2023-08-09,5
+6048,2023-09-06,5
+6049,2023-10-04,5
+6050,2023-11-01,5
+6051,2023-11-29,5
+6052,2023-12-27,5
+6053,2024-01-24,5
+6054,2024-02-21,5
+6055,2024-03-20,5
+6056,2024-04-17,5
+6057,2024-05-15,5
+6058,2024-06-12,5
+6059,2024-07-10,5
+6060,2024-08-07,5
+6061,2024-09-04,5
+6062,2024-10-02,5
+6063,2024-10-30,5
+6064,2024-11-27,5
+6065,2024-12-25,5
+6066,2025-01-22,5
+6067,2025-02-19,5
+6068,2025-03-19,5
+6069,2025-04-16,5
+6070,2025-05-14,5
+6071,2025-06-11,5
+6072,2025-07-09,5
+6073,2025-08-06,5
+6074,2025-09-03,5
+6075,2025-10-01,5
+6076,2025-10-29,5
+6077,2025-11-26,5
+6078,2025-12-24,5
+6079,2026-01-21,5
+6080,2026-02-18,5
+6081,2026-03-18,5
+6082,2026-04-15,5
+6083,2026-05-13,5
+6084,2026-06-10,5
+6085,2026-07-08,5
+6086,2026-08-05,5
+6087,2026-09-02,5
+6088,2026-09-30,5
+6089,2026-10-28,5
+6090,2026-11-25,5
+6091,2026-12-23,5
+6092,2027-01-20,5
+6093,2027-02-17,5
+6094,2027-03-17,5
+6095,2027-04-14,5
+6096,2027-05-12,5
+6097,2027-06-09,5
+6098,2027-07-07,5
+6099,2027-08-04,5
+7000,2020-01-01,6
+7001,2020-01-29,6
+7002,2020-02-26,6
+7003,2020-03-25,6
+7004,2020-04-22,6
+7005,2020-05-20,6
+7006,2020-06-17,6
+7007,2020-07-15,6
+7008,2020-08-12,6
+7009,2020-09-09,6
+7010,2020-10-07,6
+7011,2020-11-04,6
+7012,2020-12-02,6
+7013,2020-12-30,6
+7014,2021-01-27,6
+7015,2021-02-24,6
+7016,2021-03-24,6
+7017,2021-04-21,6
+7018,2021-05-19,6
+7019,2021-06-16,6
+7020,2021-07-14,6
+7021,2021-08-11,6
+7022,2021-09-08,6
+7023,2021-10-06,6
+7024,2021-11-03,6
+7025,2021-12-01,6
+7026,2021-12-29,6
+7027,2022-01-26,6
+7028,2022-02-23,6
+7029,2022-03-23,6
+7030,2022-04-20,6
+7031,2022-05-18,6
+7032,2022-06-15,6
+7033,2022-07-13,6
+7034,2022-08-10,6
+7035,2022-09-07,6
+7036,2022-10-05,6
+7037,2022-11-02,6
+7038,2022-11-30,6
+7039,2022-12-28,6
+7040,2023-01-25,6
+7041,2023-02-22,6
+7042,2023-03-22,6
+7043,2023-04-19,6
+7044,2023-05-17,6
+7045,2023-06-14,6
+7046,2023-07-12,6
+7047,2023-08-09,6
+7048,2023-09-06,6
+7049,2023-10-04,6
+7050,2023-11-01,6
+7051,2023-11-29,6
+7052,2023-12-27,6
+7053,2024-01-24,6
+7054,2024-02-21,6
+7055,2024-03-20,6
+7056,2024-04-17,6
+7057,2024-05-15,6
+7058,2024-06-12,6
+7059,2024-07-10,6
+7060,2024-08-07,6
+7061,2024-09-04,6
+7062,2024-10-02,6
+7063,2024-10-30,6
+7064,2024-11-27,6
+7065,2024-12-25,6
+7066,2025-01-22,6
+7067,2025-02-19,6
+7068,2025-03-19,6
+7069,2025-04-16,6
+7070,2025-05-14,6
+7071,2025-06-11,6
+7072,2025-07-09,6
+7073,2025-08-06,6
+7074,2025-09-03,6
+7075,2025-10-01,6
+7076,2025-10-29,6
+7077,2025-11-26,6
+7078,2025-12-24,6
+7079,2026-01-21,6
+7080,2026-02-18,6
+7081,2026-03-18,6
+7082,2026-04-15,6
+7083,2026-05-13,6
+7084,2026-06-10,6
+7085,2026-07-08,6
+7086,2026-08-05,6
+7087,2026-09-02,6
+7088,2026-09-30,6
+7089,2026-10-28,6
+7090,2026-11-25,6
+7091,2026-12-23,6
+7092,2027-01-20,6
+7093,2027-02-17,6
+7094,2027-03-17,6
+7095,2027-04-14,6
+7096,2027-05-12,6
+7097,2027-06-09,6
+7098,2027-07-07,6
+7099,2027-08-04,6
+8000,2020-01-01,7
+8001,2020-01-29,7
+8002,2020-02-26,7
+8003,2020-03-25,7
+8004,2020-04-22,7
+8005,2020-05-20,7
+8006,2020-06-17,7
+8007,2020-07-15,7
+8008,2020-08-12,7
+8009,2020-09-09,7
+8010,2020-10-07,7
+8011,2020-11-04,7
+8012,2020-12-02,7
+8013,2020-12-30,7
+8014,2021-01-27,7
+8015,2021-02-24,7
+8016,2021-03-24,7
+8017,2021-04-21,7
+8018,2021-05-19,7
+8019,2021-06-16,7
+8020,2021-07-14,7
+8021,2021-08-11,7
+8022,2021-09-08,7
+8023,2021-10-06,7
+8024,2021-11-03,7
+8025,2021-12-01,7
+8026,2021-12-29,7
+8027,2022-01-26,7
+8028,2022-02-23,7
+8029,2022-03-23,7
+8030,2022-04-20,7
+8031,2022-05-18,7
+8032,2022-06-15,7
+8033,2022-07-13,7
+8034,2022-08-10,7
+8035,2022-09-07,7
+8036,2022-10-05,7
+8037,2022-11-02,7
+8038,2022-11-30,7
+8039,2022-12-28,7
+8040,2023-01-25,7
+8041,2023-02-22,7
+8042,2023-03-22,7
+8043,2023-04-19,7
+8044,2023-05-17,7
+8045,2023-06-14,7
+8046,2023-07-12,7
+8047,2023-08-09,7
+8048,2023-09-06,7
+8049,2023-10-04,7
+8050,2023-11-01,7
+8051,2023-11-29,7
+8052,2023-12-27,7
+8053,2024-01-24,7
+8054,2024-02-21,7
+8055,2024-03-20,7
+8056,2024-04-17,7
+8057,2024-05-15,7
+8058,2024-06-12,7
+8059,2024-07-10,7
+8060,2024-08-07,7
+8061,2024-09-04,7
+8062,2024-10-02,7
+8063,2024-10-30,7
+8064,2024-11-27,7
+8065,2024-12-25,7
+8066,2025-01-22,7
+8067,2025-02-19,7
+8068,2025-03-19,7
+8069,2025-04-16,7
+8070,2025-05-14,7
+8071,2025-06-11,7
+8072,2025-07-09,7
+8073,2025-08-06,7
+8074,2025-09-03,7
+8075,2025-10-01,7
+8076,2025-10-29,7
+8077,2025-11-26,7
+8078,2025-12-24,7
+8079,2026-01-21,7
+8080,2026-02-18,7
+8081,2026-03-18,7
+8082,2026-04-15,7
+8083,2026-05-13,7
+8084,2026-06-10,7
+8085,2026-07-08,7
+8086,2026-08-05,7
+8087,2026-09-02,7
+8088,2026-09-30,7
+8089,2026-10-28,7
+8090,2026-11-25,7
+8091,2026-12-23,7
+8092,2027-01-20,7
+8093,2027-02-17,7
+8094,2027-03-17,7
+8095,2027-04-14,7
+8096,2027-05-12,7
+8097,2027-06-09,7
+8098,2027-07-07,7
+8099,2027-08-04,7
+9000,2020-01-01,8
+9001,2020-01-29,8
+9002,2020-02-26,8
+9003,2020-03-25,8
+9004,2020-04-22,8
+9005,2020-05-20,8
+9006,2020-06-17,8
+9007,2020-07-15,8
+9008,2020-08-12,8
+9009,2020-09-09,8
+9010,2020-10-07,8
+9011,2020-11-04,8
+9012,2020-12-02,8
+9013,2020-12-30,8
+9014,2021-01-27,8
+9015,2021-02-24,8
+9016,2021-03-24,8
+9017,2021-04-21,8
+9018,2021-05-19,8
+9019,2021-06-16,8
+9020,2021-07-14,8
+9021,2021-08-11,8
+9022,2021-09-08,8
+9023,2021-10-06,8
+9024,2021-11-03,8
+9025,2021-12-01,8
+9026,2021-12-29,8
+9027,2022-01-26,8
+9028,2022-02-23,8
+9029,2022-03-23,8
+9030,2022-04-20,8
+9031,2022-05-18,8
+9032,2022-06-15,8
+9033,2022-07-13,8
+9034,2022-08-10,8
+9035,2022-09-07,8
+9036,2022-10-05,8
+9037,2022-11-02,8
+9038,2022-11-30,8
+9039,2022-12-28,8
+9040,2023-01-25,8
+9041,2023-02-22,8
+9042,2023-03-22,8
+9043,2023-04-19,8
+9044,2023-05-17,8
+9045,2023-06-14,8
+9046,2023-07-12,8
+9047,2023-08-09,8
+9048,2023-09-06,8
+9049,2023-10-04,8
+9050,2023-11-01,8
+9051,2023-11-29,8
+9052,2023-12-27,8
+9053,2024-01-24,8
+9054,2024-02-21,8
+9055,2024-03-20,8
+9056,2024-04-17,8
+9057,2024-05-15,8
+9058,2024-06-12,8
+9059,2024-07-10,8
+9060,2024-08-07,8
+9061,2024-09-04,8
+9062,2024-10-02,8
+9063,2024-10-30,8
+9064,2024-11-27,8
+9065,2024-12-25,8
+9066,2025-01-22,8
+9067,2025-02-19,8
+9068,2025-03-19,8
+9069,2025-04-16,8
+9070,2025-05-14,8
+9071,2025-06-11,8
+9072,2025-07-09,8
+9073,2025-08-06,8
+9074,2025-09-03,8
+9075,2025-10-01,8
+9076,2025-10-29,8
+9077,2025-11-26,8
+9078,2025-12-24,8
+9079,2026-01-21,8
+9080,2026-02-18,8
+9081,2026-03-18,8
+9082,2026-04-15,8
+9083,2026-05-13,8
+9084,2026-06-10,8
+9085,2026-07-08,8
+9086,2026-08-05,8
+9087,2026-09-02,8
+9088,2026-09-30,8
+9089,2026-10-28,8
+9090,2026-11-25,8
+9091,2026-12-23,8
+9092,2027-01-20,8
+9093,2027-02-17,8
+9094,2027-03-17,8
+9095,2027-04-14,8
+9096,2027-05-12,8
+9097,2027-06-09,8
+9098,2027-07-07,8
+9099,2027-08-04,8
+10000,2020-01-01,9
+10001,2020-01-29,9
+10002,2020-02-26,9
+10003,2020-03-25,9
+10004,2020-04-22,9
+10005,2020-05-20,9
+10006,2020-06-17,9
+10007,2020-07-15,9
+10008,2020-08-12,9
+10009,2020-09-09,9
+10010,2020-10-07,9
+10011,2020-11-04,9
+10012,2020-12-02,9
+10013,2020-12-30,9
+10014,2021-01-27,9
+10015,2021-02-24,9
+10016,2021-03-24,9
+10017,2021-04-21,9
+10018,2021-05-19,9
+10019,2021-06-16,9
+10020,2021-07-14,9
+10021,2021-08-11,9
+10022,2021-09-08,9
+10023,2021-10-06,9
+10024,2021-11-03,9
+10025,2021-12-01,9
+10026,2021-12-29,9
+10027,2022-01-26,9
+10028,2022-02-23,9
+10029,2022-03-23,9
+10030,2022-04-20,9
+10031,2022-05-18,9
+10032,2022-06-15,9
+10033,2022-07-13,9
+10034,2022-08-10,9
+10035,2022-09-07,9
+10036,2022-10-05,9
+10037,2022-11-02,9
+10038,2022-11-30,9
+10039,2022-12-28,9
+10040,2023-01-25,9
+10041,2023-02-22,9
+10042,2023-03-22,9
+10043,2023-04-19,9
+10044,2023-05-17,9
+10045,2023-06-14,9
+10046,2023-07-12,9
+10047,2023-08-09,9
+10048,2023-09-06,9
+10049,2023-10-04,9
+10050,2023-11-01,9
+10051,2023-11-29,9
+10052,2023-12-27,9
+10053,2024-01-24,9
+10054,2024-02-21,9
+10055,2024-03-20,9
+10056,2024-04-17,9
+10057,2024-05-15,9
+10058,2024-06-12,9
+10059,2024-07-10,9
+10060,2024-08-07,9
+10061,2024-09-04,9
+10062,2024-10-02,9
+10063,2024-10-30,9
+10064,2024-11-27,9
+10065,2024-12-25,9
+10066,2025-01-22,9
+10067,2025-02-19,9
+10068,2025-03-19,9
+10069,2025-04-16,9
+10070,2025-05-14,9
+10071,2025-06-11,9
+10072,2025-07-09,9
+10073,2025-08-06,9
+10074,2025-09-03,9
+10075,2025-10-01,9
+10076,2025-10-29,9
+10077,2025-11-26,9
+10078,2025-12-24,9
+10079,2026-01-21,9
+10080,2026-02-18,9
+10081,2026-03-18,9
+10082,2026-04-15,9
+10083,2026-05-13,9
+10084,2026-06-10,9
+10085,2026-07-08,9
+10086,2026-08-05,9
+10087,2026-09-02,9
+10088,2026-09-30,9
+10089,2026-10-28,9
+10090,2026-11-25,9
+10091,2026-12-23,9
+10092,2027-01-20,9
+10093,2027-02-17,9
+10094,2027-03-17,9
+10095,2027-04-14,9
+10096,2027-05-12,9
+10097,2027-06-09,9
+10098,2027-07-07,9
+10099,2027-08-04,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_30min.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_30min.csv
new file mode 100644
index 0000000..55556e9
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_30min.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:30:00,0
+1002,2020-01-01 01:00:00,0
+1003,2020-01-01 01:30:00,0
+1004,2020-01-01 02:00:00,0
+1005,2020-01-01 02:30:00,0
+1006,2020-01-01 03:00:00,0
+1007,2020-01-01 03:30:00,0
+1008,2020-01-01 04:00:00,0
+1009,2020-01-01 04:30:00,0
+1010,2020-01-01 05:00:00,0
+1011,2020-01-01 05:30:00,0
+1012,2020-01-01 06:00:00,0
+1013,2020-01-01 06:30:00,0
+1014,2020-01-01 07:00:00,0
+1015,2020-01-01 07:30:00,0
+1016,2020-01-01 08:00:00,0
+1017,2020-01-01 08:30:00,0
+1018,2020-01-01 09:00:00,0
+1019,2020-01-01 09:30:00,0
+1020,2020-01-01 10:00:00,0
+1021,2020-01-01 10:30:00,0
+1022,2020-01-01 11:00:00,0
+1023,2020-01-01 11:30:00,0
+1024,2020-01-01 12:00:00,0
+1025,2020-01-01 12:30:00,0
+1026,2020-01-01 13:00:00,0
+1027,2020-01-01 13:30:00,0
+1028,2020-01-01 14:00:00,0
+1029,2020-01-01 14:30:00,0
+1030,2020-01-01 15:00:00,0
+1031,2020-01-01 15:30:00,0
+1032,2020-01-01 16:00:00,0
+1033,2020-01-01 16:30:00,0
+1034,2020-01-01 17:00:00,0
+1035,2020-01-01 17:30:00,0
+1036,2020-01-01 18:00:00,0
+1037,2020-01-01 18:30:00,0
+1038,2020-01-01 19:00:00,0
+1039,2020-01-01 19:30:00,0
+1040,2020-01-01 20:00:00,0
+1041,2020-01-01 20:30:00,0
+1042,2020-01-01 21:00:00,0
+1043,2020-01-01 21:30:00,0
+1044,2020-01-01 22:00:00,0
+1045,2020-01-01 22:30:00,0
+1046,2020-01-01 23:00:00,0
+1047,2020-01-01 23:30:00,0
+1048,2020-01-02 00:00:00,0
+1049,2020-01-02 00:30:00,0
+1050,2020-01-02 01:00:00,0
+1051,2020-01-02 01:30:00,0
+1052,2020-01-02 02:00:00,0
+1053,2020-01-02 02:30:00,0
+1054,2020-01-02 03:00:00,0
+1055,2020-01-02 03:30:00,0
+1056,2020-01-02 04:00:00,0
+1057,2020-01-02 04:30:00,0
+1058,2020-01-02 05:00:00,0
+1059,2020-01-02 05:30:00,0
+1060,2020-01-02 06:00:00,0
+1061,2020-01-02 06:30:00,0
+1062,2020-01-02 07:00:00,0
+1063,2020-01-02 07:30:00,0
+1064,2020-01-02 08:00:00,0
+1065,2020-01-02 08:30:00,0
+1066,2020-01-02 09:00:00,0
+1067,2020-01-02 09:30:00,0
+1068,2020-01-02 10:00:00,0
+1069,2020-01-02 10:30:00,0
+1070,2020-01-02 11:00:00,0
+1071,2020-01-02 11:30:00,0
+1072,2020-01-02 12:00:00,0
+1073,2020-01-02 12:30:00,0
+1074,2020-01-02 13:00:00,0
+1075,2020-01-02 13:30:00,0
+1076,2020-01-02 14:00:00,0
+1077,2020-01-02 14:30:00,0
+1078,2020-01-02 15:00:00,0
+1079,2020-01-02 15:30:00,0
+1080,2020-01-02 16:00:00,0
+1081,2020-01-02 16:30:00,0
+1082,2020-01-02 17:00:00,0
+1083,2020-01-02 17:30:00,0
+1084,2020-01-02 18:00:00,0
+1085,2020-01-02 18:30:00,0
+1086,2020-01-02 19:00:00,0
+1087,2020-01-02 19:30:00,0
+1088,2020-01-02 20:00:00,0
+1089,2020-01-02 20:30:00,0
+1090,2020-01-02 21:00:00,0
+1091,2020-01-02 21:30:00,0
+1092,2020-01-02 22:00:00,0
+1093,2020-01-02 22:30:00,0
+1094,2020-01-02 23:00:00,0
+1095,2020-01-02 23:30:00,0
+1096,2020-01-03 00:00:00,0
+1097,2020-01-03 00:30:00,0
+1098,2020-01-03 01:00:00,0
+1099,2020-01-03 01:30:00,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:30:00,1
+2002,2020-01-01 01:00:00,1
+2003,2020-01-01 01:30:00,1
+2004,2020-01-01 02:00:00,1
+2005,2020-01-01 02:30:00,1
+2006,2020-01-01 03:00:00,1
+2007,2020-01-01 03:30:00,1
+2008,2020-01-01 04:00:00,1
+2009,2020-01-01 04:30:00,1
+2010,2020-01-01 05:00:00,1
+2011,2020-01-01 05:30:00,1
+2012,2020-01-01 06:00:00,1
+2013,2020-01-01 06:30:00,1
+2014,2020-01-01 07:00:00,1
+2015,2020-01-01 07:30:00,1
+2016,2020-01-01 08:00:00,1
+2017,2020-01-01 08:30:00,1
+2018,2020-01-01 09:00:00,1
+2019,2020-01-01 09:30:00,1
+2020,2020-01-01 10:00:00,1
+2021,2020-01-01 10:30:00,1
+2022,2020-01-01 11:00:00,1
+2023,2020-01-01 11:30:00,1
+2024,2020-01-01 12:00:00,1
+2025,2020-01-01 12:30:00,1
+2026,2020-01-01 13:00:00,1
+2027,2020-01-01 13:30:00,1
+2028,2020-01-01 14:00:00,1
+2029,2020-01-01 14:30:00,1
+2030,2020-01-01 15:00:00,1
+2031,2020-01-01 15:30:00,1
+2032,2020-01-01 16:00:00,1
+2033,2020-01-01 16:30:00,1
+2034,2020-01-01 17:00:00,1
+2035,2020-01-01 17:30:00,1
+2036,2020-01-01 18:00:00,1
+2037,2020-01-01 18:30:00,1
+2038,2020-01-01 19:00:00,1
+2039,2020-01-01 19:30:00,1
+2040,2020-01-01 20:00:00,1
+2041,2020-01-01 20:30:00,1
+2042,2020-01-01 21:00:00,1
+2043,2020-01-01 21:30:00,1
+2044,2020-01-01 22:00:00,1
+2045,2020-01-01 22:30:00,1
+2046,2020-01-01 23:00:00,1
+2047,2020-01-01 23:30:00,1
+2048,2020-01-02 00:00:00,1
+2049,2020-01-02 00:30:00,1
+2050,2020-01-02 01:00:00,1
+2051,2020-01-02 01:30:00,1
+2052,2020-01-02 02:00:00,1
+2053,2020-01-02 02:30:00,1
+2054,2020-01-02 03:00:00,1
+2055,2020-01-02 03:30:00,1
+2056,2020-01-02 04:00:00,1
+2057,2020-01-02 04:30:00,1
+2058,2020-01-02 05:00:00,1
+2059,2020-01-02 05:30:00,1
+2060,2020-01-02 06:00:00,1
+2061,2020-01-02 06:30:00,1
+2062,2020-01-02 07:00:00,1
+2063,2020-01-02 07:30:00,1
+2064,2020-01-02 08:00:00,1
+2065,2020-01-02 08:30:00,1
+2066,2020-01-02 09:00:00,1
+2067,2020-01-02 09:30:00,1
+2068,2020-01-02 10:00:00,1
+2069,2020-01-02 10:30:00,1
+2070,2020-01-02 11:00:00,1
+2071,2020-01-02 11:30:00,1
+2072,2020-01-02 12:00:00,1
+2073,2020-01-02 12:30:00,1
+2074,2020-01-02 13:00:00,1
+2075,2020-01-02 13:30:00,1
+2076,2020-01-02 14:00:00,1
+2077,2020-01-02 14:30:00,1
+2078,2020-01-02 15:00:00,1
+2079,2020-01-02 15:30:00,1
+2080,2020-01-02 16:00:00,1
+2081,2020-01-02 16:30:00,1
+2082,2020-01-02 17:00:00,1
+2083,2020-01-02 17:30:00,1
+2084,2020-01-02 18:00:00,1
+2085,2020-01-02 18:30:00,1
+2086,2020-01-02 19:00:00,1
+2087,2020-01-02 19:30:00,1
+2088,2020-01-02 20:00:00,1
+2089,2020-01-02 20:30:00,1
+2090,2020-01-02 21:00:00,1
+2091,2020-01-02 21:30:00,1
+2092,2020-01-02 22:00:00,1
+2093,2020-01-02 22:30:00,1
+2094,2020-01-02 23:00:00,1
+2095,2020-01-02 23:30:00,1
+2096,2020-01-03 00:00:00,1
+2097,2020-01-03 00:30:00,1
+2098,2020-01-03 01:00:00,1
+2099,2020-01-03 01:30:00,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:30:00,2
+3002,2020-01-01 01:00:00,2
+3003,2020-01-01 01:30:00,2
+3004,2020-01-01 02:00:00,2
+3005,2020-01-01 02:30:00,2
+3006,2020-01-01 03:00:00,2
+3007,2020-01-01 03:30:00,2
+3008,2020-01-01 04:00:00,2
+3009,2020-01-01 04:30:00,2
+3010,2020-01-01 05:00:00,2
+3011,2020-01-01 05:30:00,2
+3012,2020-01-01 06:00:00,2
+3013,2020-01-01 06:30:00,2
+3014,2020-01-01 07:00:00,2
+3015,2020-01-01 07:30:00,2
+3016,2020-01-01 08:00:00,2
+3017,2020-01-01 08:30:00,2
+3018,2020-01-01 09:00:00,2
+3019,2020-01-01 09:30:00,2
+3020,2020-01-01 10:00:00,2
+3021,2020-01-01 10:30:00,2
+3022,2020-01-01 11:00:00,2
+3023,2020-01-01 11:30:00,2
+3024,2020-01-01 12:00:00,2
+3025,2020-01-01 12:30:00,2
+3026,2020-01-01 13:00:00,2
+3027,2020-01-01 13:30:00,2
+3028,2020-01-01 14:00:00,2
+3029,2020-01-01 14:30:00,2
+3030,2020-01-01 15:00:00,2
+3031,2020-01-01 15:30:00,2
+3032,2020-01-01 16:00:00,2
+3033,2020-01-01 16:30:00,2
+3034,2020-01-01 17:00:00,2
+3035,2020-01-01 17:30:00,2
+3036,2020-01-01 18:00:00,2
+3037,2020-01-01 18:30:00,2
+3038,2020-01-01 19:00:00,2
+3039,2020-01-01 19:30:00,2
+3040,2020-01-01 20:00:00,2
+3041,2020-01-01 20:30:00,2
+3042,2020-01-01 21:00:00,2
+3043,2020-01-01 21:30:00,2
+3044,2020-01-01 22:00:00,2
+3045,2020-01-01 22:30:00,2
+3046,2020-01-01 23:00:00,2
+3047,2020-01-01 23:30:00,2
+3048,2020-01-02 00:00:00,2
+3049,2020-01-02 00:30:00,2
+3050,2020-01-02 01:00:00,2
+3051,2020-01-02 01:30:00,2
+3052,2020-01-02 02:00:00,2
+3053,2020-01-02 02:30:00,2
+3054,2020-01-02 03:00:00,2
+3055,2020-01-02 03:30:00,2
+3056,2020-01-02 04:00:00,2
+3057,2020-01-02 04:30:00,2
+3058,2020-01-02 05:00:00,2
+3059,2020-01-02 05:30:00,2
+3060,2020-01-02 06:00:00,2
+3061,2020-01-02 06:30:00,2
+3062,2020-01-02 07:00:00,2
+3063,2020-01-02 07:30:00,2
+3064,2020-01-02 08:00:00,2
+3065,2020-01-02 08:30:00,2
+3066,2020-01-02 09:00:00,2
+3067,2020-01-02 09:30:00,2
+3068,2020-01-02 10:00:00,2
+3069,2020-01-02 10:30:00,2
+3070,2020-01-02 11:00:00,2
+3071,2020-01-02 11:30:00,2
+3072,2020-01-02 12:00:00,2
+3073,2020-01-02 12:30:00,2
+3074,2020-01-02 13:00:00,2
+3075,2020-01-02 13:30:00,2
+3076,2020-01-02 14:00:00,2
+3077,2020-01-02 14:30:00,2
+3078,2020-01-02 15:00:00,2
+3079,2020-01-02 15:30:00,2
+3080,2020-01-02 16:00:00,2
+3081,2020-01-02 16:30:00,2
+3082,2020-01-02 17:00:00,2
+3083,2020-01-02 17:30:00,2
+3084,2020-01-02 18:00:00,2
+3085,2020-01-02 18:30:00,2
+3086,2020-01-02 19:00:00,2
+3087,2020-01-02 19:30:00,2
+3088,2020-01-02 20:00:00,2
+3089,2020-01-02 20:30:00,2
+3090,2020-01-02 21:00:00,2
+3091,2020-01-02 21:30:00,2
+3092,2020-01-02 22:00:00,2
+3093,2020-01-02 22:30:00,2
+3094,2020-01-02 23:00:00,2
+3095,2020-01-02 23:30:00,2
+3096,2020-01-03 00:00:00,2
+3097,2020-01-03 00:30:00,2
+3098,2020-01-03 01:00:00,2
+3099,2020-01-03 01:30:00,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:30:00,3
+4002,2020-01-01 01:00:00,3
+4003,2020-01-01 01:30:00,3
+4004,2020-01-01 02:00:00,3
+4005,2020-01-01 02:30:00,3
+4006,2020-01-01 03:00:00,3
+4007,2020-01-01 03:30:00,3
+4008,2020-01-01 04:00:00,3
+4009,2020-01-01 04:30:00,3
+4010,2020-01-01 05:00:00,3
+4011,2020-01-01 05:30:00,3
+4012,2020-01-01 06:00:00,3
+4013,2020-01-01 06:30:00,3
+4014,2020-01-01 07:00:00,3
+4015,2020-01-01 07:30:00,3
+4016,2020-01-01 08:00:00,3
+4017,2020-01-01 08:30:00,3
+4018,2020-01-01 09:00:00,3
+4019,2020-01-01 09:30:00,3
+4020,2020-01-01 10:00:00,3
+4021,2020-01-01 10:30:00,3
+4022,2020-01-01 11:00:00,3
+4023,2020-01-01 11:30:00,3
+4024,2020-01-01 12:00:00,3
+4025,2020-01-01 12:30:00,3
+4026,2020-01-01 13:00:00,3
+4027,2020-01-01 13:30:00,3
+4028,2020-01-01 14:00:00,3
+4029,2020-01-01 14:30:00,3
+4030,2020-01-01 15:00:00,3
+4031,2020-01-01 15:30:00,3
+4032,2020-01-01 16:00:00,3
+4033,2020-01-01 16:30:00,3
+4034,2020-01-01 17:00:00,3
+4035,2020-01-01 17:30:00,3
+4036,2020-01-01 18:00:00,3
+4037,2020-01-01 18:30:00,3
+4038,2020-01-01 19:00:00,3
+4039,2020-01-01 19:30:00,3
+4040,2020-01-01 20:00:00,3
+4041,2020-01-01 20:30:00,3
+4042,2020-01-01 21:00:00,3
+4043,2020-01-01 21:30:00,3
+4044,2020-01-01 22:00:00,3
+4045,2020-01-01 22:30:00,3
+4046,2020-01-01 23:00:00,3
+4047,2020-01-01 23:30:00,3
+4048,2020-01-02 00:00:00,3
+4049,2020-01-02 00:30:00,3
+4050,2020-01-02 01:00:00,3
+4051,2020-01-02 01:30:00,3
+4052,2020-01-02 02:00:00,3
+4053,2020-01-02 02:30:00,3
+4054,2020-01-02 03:00:00,3
+4055,2020-01-02 03:30:00,3
+4056,2020-01-02 04:00:00,3
+4057,2020-01-02 04:30:00,3
+4058,2020-01-02 05:00:00,3
+4059,2020-01-02 05:30:00,3
+4060,2020-01-02 06:00:00,3
+4061,2020-01-02 06:30:00,3
+4062,2020-01-02 07:00:00,3
+4063,2020-01-02 07:30:00,3
+4064,2020-01-02 08:00:00,3
+4065,2020-01-02 08:30:00,3
+4066,2020-01-02 09:00:00,3
+4067,2020-01-02 09:30:00,3
+4068,2020-01-02 10:00:00,3
+4069,2020-01-02 10:30:00,3
+4070,2020-01-02 11:00:00,3
+4071,2020-01-02 11:30:00,3
+4072,2020-01-02 12:00:00,3
+4073,2020-01-02 12:30:00,3
+4074,2020-01-02 13:00:00,3
+4075,2020-01-02 13:30:00,3
+4076,2020-01-02 14:00:00,3
+4077,2020-01-02 14:30:00,3
+4078,2020-01-02 15:00:00,3
+4079,2020-01-02 15:30:00,3
+4080,2020-01-02 16:00:00,3
+4081,2020-01-02 16:30:00,3
+4082,2020-01-02 17:00:00,3
+4083,2020-01-02 17:30:00,3
+4084,2020-01-02 18:00:00,3
+4085,2020-01-02 18:30:00,3
+4086,2020-01-02 19:00:00,3
+4087,2020-01-02 19:30:00,3
+4088,2020-01-02 20:00:00,3
+4089,2020-01-02 20:30:00,3
+4090,2020-01-02 21:00:00,3
+4091,2020-01-02 21:30:00,3
+4092,2020-01-02 22:00:00,3
+4093,2020-01-02 22:30:00,3
+4094,2020-01-02 23:00:00,3
+4095,2020-01-02 23:30:00,3
+4096,2020-01-03 00:00:00,3
+4097,2020-01-03 00:30:00,3
+4098,2020-01-03 01:00:00,3
+4099,2020-01-03 01:30:00,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:30:00,4
+5002,2020-01-01 01:00:00,4
+5003,2020-01-01 01:30:00,4
+5004,2020-01-01 02:00:00,4
+5005,2020-01-01 02:30:00,4
+5006,2020-01-01 03:00:00,4
+5007,2020-01-01 03:30:00,4
+5008,2020-01-01 04:00:00,4
+5009,2020-01-01 04:30:00,4
+5010,2020-01-01 05:00:00,4
+5011,2020-01-01 05:30:00,4
+5012,2020-01-01 06:00:00,4
+5013,2020-01-01 06:30:00,4
+5014,2020-01-01 07:00:00,4
+5015,2020-01-01 07:30:00,4
+5016,2020-01-01 08:00:00,4
+5017,2020-01-01 08:30:00,4
+5018,2020-01-01 09:00:00,4
+5019,2020-01-01 09:30:00,4
+5020,2020-01-01 10:00:00,4
+5021,2020-01-01 10:30:00,4
+5022,2020-01-01 11:00:00,4
+5023,2020-01-01 11:30:00,4
+5024,2020-01-01 12:00:00,4
+5025,2020-01-01 12:30:00,4
+5026,2020-01-01 13:00:00,4
+5027,2020-01-01 13:30:00,4
+5028,2020-01-01 14:00:00,4
+5029,2020-01-01 14:30:00,4
+5030,2020-01-01 15:00:00,4
+5031,2020-01-01 15:30:00,4
+5032,2020-01-01 16:00:00,4
+5033,2020-01-01 16:30:00,4
+5034,2020-01-01 17:00:00,4
+5035,2020-01-01 17:30:00,4
+5036,2020-01-01 18:00:00,4
+5037,2020-01-01 18:30:00,4
+5038,2020-01-01 19:00:00,4
+5039,2020-01-01 19:30:00,4
+5040,2020-01-01 20:00:00,4
+5041,2020-01-01 20:30:00,4
+5042,2020-01-01 21:00:00,4
+5043,2020-01-01 21:30:00,4
+5044,2020-01-01 22:00:00,4
+5045,2020-01-01 22:30:00,4
+5046,2020-01-01 23:00:00,4
+5047,2020-01-01 23:30:00,4
+5048,2020-01-02 00:00:00,4
+5049,2020-01-02 00:30:00,4
+5050,2020-01-02 01:00:00,4
+5051,2020-01-02 01:30:00,4
+5052,2020-01-02 02:00:00,4
+5053,2020-01-02 02:30:00,4
+5054,2020-01-02 03:00:00,4
+5055,2020-01-02 03:30:00,4
+5056,2020-01-02 04:00:00,4
+5057,2020-01-02 04:30:00,4
+5058,2020-01-02 05:00:00,4
+5059,2020-01-02 05:30:00,4
+5060,2020-01-02 06:00:00,4
+5061,2020-01-02 06:30:00,4
+5062,2020-01-02 07:00:00,4
+5063,2020-01-02 07:30:00,4
+5064,2020-01-02 08:00:00,4
+5065,2020-01-02 08:30:00,4
+5066,2020-01-02 09:00:00,4
+5067,2020-01-02 09:30:00,4
+5068,2020-01-02 10:00:00,4
+5069,2020-01-02 10:30:00,4
+5070,2020-01-02 11:00:00,4
+5071,2020-01-02 11:30:00,4
+5072,2020-01-02 12:00:00,4
+5073,2020-01-02 12:30:00,4
+5074,2020-01-02 13:00:00,4
+5075,2020-01-02 13:30:00,4
+5076,2020-01-02 14:00:00,4
+5077,2020-01-02 14:30:00,4
+5078,2020-01-02 15:00:00,4
+5079,2020-01-02 15:30:00,4
+5080,2020-01-02 16:00:00,4
+5081,2020-01-02 16:30:00,4
+5082,2020-01-02 17:00:00,4
+5083,2020-01-02 17:30:00,4
+5084,2020-01-02 18:00:00,4
+5085,2020-01-02 18:30:00,4
+5086,2020-01-02 19:00:00,4
+5087,2020-01-02 19:30:00,4
+5088,2020-01-02 20:00:00,4
+5089,2020-01-02 20:30:00,4
+5090,2020-01-02 21:00:00,4
+5091,2020-01-02 21:30:00,4
+5092,2020-01-02 22:00:00,4
+5093,2020-01-02 22:30:00,4
+5094,2020-01-02 23:00:00,4
+5095,2020-01-02 23:30:00,4
+5096,2020-01-03 00:00:00,4
+5097,2020-01-03 00:30:00,4
+5098,2020-01-03 01:00:00,4
+5099,2020-01-03 01:30:00,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:30:00,5
+6002,2020-01-01 01:00:00,5
+6003,2020-01-01 01:30:00,5
+6004,2020-01-01 02:00:00,5
+6005,2020-01-01 02:30:00,5
+6006,2020-01-01 03:00:00,5
+6007,2020-01-01 03:30:00,5
+6008,2020-01-01 04:00:00,5
+6009,2020-01-01 04:30:00,5
+6010,2020-01-01 05:00:00,5
+6011,2020-01-01 05:30:00,5
+6012,2020-01-01 06:00:00,5
+6013,2020-01-01 06:30:00,5
+6014,2020-01-01 07:00:00,5
+6015,2020-01-01 07:30:00,5
+6016,2020-01-01 08:00:00,5
+6017,2020-01-01 08:30:00,5
+6018,2020-01-01 09:00:00,5
+6019,2020-01-01 09:30:00,5
+6020,2020-01-01 10:00:00,5
+6021,2020-01-01 10:30:00,5
+6022,2020-01-01 11:00:00,5
+6023,2020-01-01 11:30:00,5
+6024,2020-01-01 12:00:00,5
+6025,2020-01-01 12:30:00,5
+6026,2020-01-01 13:00:00,5
+6027,2020-01-01 13:30:00,5
+6028,2020-01-01 14:00:00,5
+6029,2020-01-01 14:30:00,5
+6030,2020-01-01 15:00:00,5
+6031,2020-01-01 15:30:00,5
+6032,2020-01-01 16:00:00,5
+6033,2020-01-01 16:30:00,5
+6034,2020-01-01 17:00:00,5
+6035,2020-01-01 17:30:00,5
+6036,2020-01-01 18:00:00,5
+6037,2020-01-01 18:30:00,5
+6038,2020-01-01 19:00:00,5
+6039,2020-01-01 19:30:00,5
+6040,2020-01-01 20:00:00,5
+6041,2020-01-01 20:30:00,5
+6042,2020-01-01 21:00:00,5
+6043,2020-01-01 21:30:00,5
+6044,2020-01-01 22:00:00,5
+6045,2020-01-01 22:30:00,5
+6046,2020-01-01 23:00:00,5
+6047,2020-01-01 23:30:00,5
+6048,2020-01-02 00:00:00,5
+6049,2020-01-02 00:30:00,5
+6050,2020-01-02 01:00:00,5
+6051,2020-01-02 01:30:00,5
+6052,2020-01-02 02:00:00,5
+6053,2020-01-02 02:30:00,5
+6054,2020-01-02 03:00:00,5
+6055,2020-01-02 03:30:00,5
+6056,2020-01-02 04:00:00,5
+6057,2020-01-02 04:30:00,5
+6058,2020-01-02 05:00:00,5
+6059,2020-01-02 05:30:00,5
+6060,2020-01-02 06:00:00,5
+6061,2020-01-02 06:30:00,5
+6062,2020-01-02 07:00:00,5
+6063,2020-01-02 07:30:00,5
+6064,2020-01-02 08:00:00,5
+6065,2020-01-02 08:30:00,5
+6066,2020-01-02 09:00:00,5
+6067,2020-01-02 09:30:00,5
+6068,2020-01-02 10:00:00,5
+6069,2020-01-02 10:30:00,5
+6070,2020-01-02 11:00:00,5
+6071,2020-01-02 11:30:00,5
+6072,2020-01-02 12:00:00,5
+6073,2020-01-02 12:30:00,5
+6074,2020-01-02 13:00:00,5
+6075,2020-01-02 13:30:00,5
+6076,2020-01-02 14:00:00,5
+6077,2020-01-02 14:30:00,5
+6078,2020-01-02 15:00:00,5
+6079,2020-01-02 15:30:00,5
+6080,2020-01-02 16:00:00,5
+6081,2020-01-02 16:30:00,5
+6082,2020-01-02 17:00:00,5
+6083,2020-01-02 17:30:00,5
+6084,2020-01-02 18:00:00,5
+6085,2020-01-02 18:30:00,5
+6086,2020-01-02 19:00:00,5
+6087,2020-01-02 19:30:00,5
+6088,2020-01-02 20:00:00,5
+6089,2020-01-02 20:30:00,5
+6090,2020-01-02 21:00:00,5
+6091,2020-01-02 21:30:00,5
+6092,2020-01-02 22:00:00,5
+6093,2020-01-02 22:30:00,5
+6094,2020-01-02 23:00:00,5
+6095,2020-01-02 23:30:00,5
+6096,2020-01-03 00:00:00,5
+6097,2020-01-03 00:30:00,5
+6098,2020-01-03 01:00:00,5
+6099,2020-01-03 01:30:00,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:30:00,6
+7002,2020-01-01 01:00:00,6
+7003,2020-01-01 01:30:00,6
+7004,2020-01-01 02:00:00,6
+7005,2020-01-01 02:30:00,6
+7006,2020-01-01 03:00:00,6
+7007,2020-01-01 03:30:00,6
+7008,2020-01-01 04:00:00,6
+7009,2020-01-01 04:30:00,6
+7010,2020-01-01 05:00:00,6
+7011,2020-01-01 05:30:00,6
+7012,2020-01-01 06:00:00,6
+7013,2020-01-01 06:30:00,6
+7014,2020-01-01 07:00:00,6
+7015,2020-01-01 07:30:00,6
+7016,2020-01-01 08:00:00,6
+7017,2020-01-01 08:30:00,6
+7018,2020-01-01 09:00:00,6
+7019,2020-01-01 09:30:00,6
+7020,2020-01-01 10:00:00,6
+7021,2020-01-01 10:30:00,6
+7022,2020-01-01 11:00:00,6
+7023,2020-01-01 11:30:00,6
+7024,2020-01-01 12:00:00,6
+7025,2020-01-01 12:30:00,6
+7026,2020-01-01 13:00:00,6
+7027,2020-01-01 13:30:00,6
+7028,2020-01-01 14:00:00,6
+7029,2020-01-01 14:30:00,6
+7030,2020-01-01 15:00:00,6
+7031,2020-01-01 15:30:00,6
+7032,2020-01-01 16:00:00,6
+7033,2020-01-01 16:30:00,6
+7034,2020-01-01 17:00:00,6
+7035,2020-01-01 17:30:00,6
+7036,2020-01-01 18:00:00,6
+7037,2020-01-01 18:30:00,6
+7038,2020-01-01 19:00:00,6
+7039,2020-01-01 19:30:00,6
+7040,2020-01-01 20:00:00,6
+7041,2020-01-01 20:30:00,6
+7042,2020-01-01 21:00:00,6
+7043,2020-01-01 21:30:00,6
+7044,2020-01-01 22:00:00,6
+7045,2020-01-01 22:30:00,6
+7046,2020-01-01 23:00:00,6
+7047,2020-01-01 23:30:00,6
+7048,2020-01-02 00:00:00,6
+7049,2020-01-02 00:30:00,6
+7050,2020-01-02 01:00:00,6
+7051,2020-01-02 01:30:00,6
+7052,2020-01-02 02:00:00,6
+7053,2020-01-02 02:30:00,6
+7054,2020-01-02 03:00:00,6
+7055,2020-01-02 03:30:00,6
+7056,2020-01-02 04:00:00,6
+7057,2020-01-02 04:30:00,6
+7058,2020-01-02 05:00:00,6
+7059,2020-01-02 05:30:00,6
+7060,2020-01-02 06:00:00,6
+7061,2020-01-02 06:30:00,6
+7062,2020-01-02 07:00:00,6
+7063,2020-01-02 07:30:00,6
+7064,2020-01-02 08:00:00,6
+7065,2020-01-02 08:30:00,6
+7066,2020-01-02 09:00:00,6
+7067,2020-01-02 09:30:00,6
+7068,2020-01-02 10:00:00,6
+7069,2020-01-02 10:30:00,6
+7070,2020-01-02 11:00:00,6
+7071,2020-01-02 11:30:00,6
+7072,2020-01-02 12:00:00,6
+7073,2020-01-02 12:30:00,6
+7074,2020-01-02 13:00:00,6
+7075,2020-01-02 13:30:00,6
+7076,2020-01-02 14:00:00,6
+7077,2020-01-02 14:30:00,6
+7078,2020-01-02 15:00:00,6
+7079,2020-01-02 15:30:00,6
+7080,2020-01-02 16:00:00,6
+7081,2020-01-02 16:30:00,6
+7082,2020-01-02 17:00:00,6
+7083,2020-01-02 17:30:00,6
+7084,2020-01-02 18:00:00,6
+7085,2020-01-02 18:30:00,6
+7086,2020-01-02 19:00:00,6
+7087,2020-01-02 19:30:00,6
+7088,2020-01-02 20:00:00,6
+7089,2020-01-02 20:30:00,6
+7090,2020-01-02 21:00:00,6
+7091,2020-01-02 21:30:00,6
+7092,2020-01-02 22:00:00,6
+7093,2020-01-02 22:30:00,6
+7094,2020-01-02 23:00:00,6
+7095,2020-01-02 23:30:00,6
+7096,2020-01-03 00:00:00,6
+7097,2020-01-03 00:30:00,6
+7098,2020-01-03 01:00:00,6
+7099,2020-01-03 01:30:00,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:30:00,7
+8002,2020-01-01 01:00:00,7
+8003,2020-01-01 01:30:00,7
+8004,2020-01-01 02:00:00,7
+8005,2020-01-01 02:30:00,7
+8006,2020-01-01 03:00:00,7
+8007,2020-01-01 03:30:00,7
+8008,2020-01-01 04:00:00,7
+8009,2020-01-01 04:30:00,7
+8010,2020-01-01 05:00:00,7
+8011,2020-01-01 05:30:00,7
+8012,2020-01-01 06:00:00,7
+8013,2020-01-01 06:30:00,7
+8014,2020-01-01 07:00:00,7
+8015,2020-01-01 07:30:00,7
+8016,2020-01-01 08:00:00,7
+8017,2020-01-01 08:30:00,7
+8018,2020-01-01 09:00:00,7
+8019,2020-01-01 09:30:00,7
+8020,2020-01-01 10:00:00,7
+8021,2020-01-01 10:30:00,7
+8022,2020-01-01 11:00:00,7
+8023,2020-01-01 11:30:00,7
+8024,2020-01-01 12:00:00,7
+8025,2020-01-01 12:30:00,7
+8026,2020-01-01 13:00:00,7
+8027,2020-01-01 13:30:00,7
+8028,2020-01-01 14:00:00,7
+8029,2020-01-01 14:30:00,7
+8030,2020-01-01 15:00:00,7
+8031,2020-01-01 15:30:00,7
+8032,2020-01-01 16:00:00,7
+8033,2020-01-01 16:30:00,7
+8034,2020-01-01 17:00:00,7
+8035,2020-01-01 17:30:00,7
+8036,2020-01-01 18:00:00,7
+8037,2020-01-01 18:30:00,7
+8038,2020-01-01 19:00:00,7
+8039,2020-01-01 19:30:00,7
+8040,2020-01-01 20:00:00,7
+8041,2020-01-01 20:30:00,7
+8042,2020-01-01 21:00:00,7
+8043,2020-01-01 21:30:00,7
+8044,2020-01-01 22:00:00,7
+8045,2020-01-01 22:30:00,7
+8046,2020-01-01 23:00:00,7
+8047,2020-01-01 23:30:00,7
+8048,2020-01-02 00:00:00,7
+8049,2020-01-02 00:30:00,7
+8050,2020-01-02 01:00:00,7
+8051,2020-01-02 01:30:00,7
+8052,2020-01-02 02:00:00,7
+8053,2020-01-02 02:30:00,7
+8054,2020-01-02 03:00:00,7
+8055,2020-01-02 03:30:00,7
+8056,2020-01-02 04:00:00,7
+8057,2020-01-02 04:30:00,7
+8058,2020-01-02 05:00:00,7
+8059,2020-01-02 05:30:00,7
+8060,2020-01-02 06:00:00,7
+8061,2020-01-02 06:30:00,7
+8062,2020-01-02 07:00:00,7
+8063,2020-01-02 07:30:00,7
+8064,2020-01-02 08:00:00,7
+8065,2020-01-02 08:30:00,7
+8066,2020-01-02 09:00:00,7
+8067,2020-01-02 09:30:00,7
+8068,2020-01-02 10:00:00,7
+8069,2020-01-02 10:30:00,7
+8070,2020-01-02 11:00:00,7
+8071,2020-01-02 11:30:00,7
+8072,2020-01-02 12:00:00,7
+8073,2020-01-02 12:30:00,7
+8074,2020-01-02 13:00:00,7
+8075,2020-01-02 13:30:00,7
+8076,2020-01-02 14:00:00,7
+8077,2020-01-02 14:30:00,7
+8078,2020-01-02 15:00:00,7
+8079,2020-01-02 15:30:00,7
+8080,2020-01-02 16:00:00,7
+8081,2020-01-02 16:30:00,7
+8082,2020-01-02 17:00:00,7
+8083,2020-01-02 17:30:00,7
+8084,2020-01-02 18:00:00,7
+8085,2020-01-02 18:30:00,7
+8086,2020-01-02 19:00:00,7
+8087,2020-01-02 19:30:00,7
+8088,2020-01-02 20:00:00,7
+8089,2020-01-02 20:30:00,7
+8090,2020-01-02 21:00:00,7
+8091,2020-01-02 21:30:00,7
+8092,2020-01-02 22:00:00,7
+8093,2020-01-02 22:30:00,7
+8094,2020-01-02 23:00:00,7
+8095,2020-01-02 23:30:00,7
+8096,2020-01-03 00:00:00,7
+8097,2020-01-03 00:30:00,7
+8098,2020-01-03 01:00:00,7
+8099,2020-01-03 01:30:00,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:30:00,8
+9002,2020-01-01 01:00:00,8
+9003,2020-01-01 01:30:00,8
+9004,2020-01-01 02:00:00,8
+9005,2020-01-01 02:30:00,8
+9006,2020-01-01 03:00:00,8
+9007,2020-01-01 03:30:00,8
+9008,2020-01-01 04:00:00,8
+9009,2020-01-01 04:30:00,8
+9010,2020-01-01 05:00:00,8
+9011,2020-01-01 05:30:00,8
+9012,2020-01-01 06:00:00,8
+9013,2020-01-01 06:30:00,8
+9014,2020-01-01 07:00:00,8
+9015,2020-01-01 07:30:00,8
+9016,2020-01-01 08:00:00,8
+9017,2020-01-01 08:30:00,8
+9018,2020-01-01 09:00:00,8
+9019,2020-01-01 09:30:00,8
+9020,2020-01-01 10:00:00,8
+9021,2020-01-01 10:30:00,8
+9022,2020-01-01 11:00:00,8
+9023,2020-01-01 11:30:00,8
+9024,2020-01-01 12:00:00,8
+9025,2020-01-01 12:30:00,8
+9026,2020-01-01 13:00:00,8
+9027,2020-01-01 13:30:00,8
+9028,2020-01-01 14:00:00,8
+9029,2020-01-01 14:30:00,8
+9030,2020-01-01 15:00:00,8
+9031,2020-01-01 15:30:00,8
+9032,2020-01-01 16:00:00,8
+9033,2020-01-01 16:30:00,8
+9034,2020-01-01 17:00:00,8
+9035,2020-01-01 17:30:00,8
+9036,2020-01-01 18:00:00,8
+9037,2020-01-01 18:30:00,8
+9038,2020-01-01 19:00:00,8
+9039,2020-01-01 19:30:00,8
+9040,2020-01-01 20:00:00,8
+9041,2020-01-01 20:30:00,8
+9042,2020-01-01 21:00:00,8
+9043,2020-01-01 21:30:00,8
+9044,2020-01-01 22:00:00,8
+9045,2020-01-01 22:30:00,8
+9046,2020-01-01 23:00:00,8
+9047,2020-01-01 23:30:00,8
+9048,2020-01-02 00:00:00,8
+9049,2020-01-02 00:30:00,8
+9050,2020-01-02 01:00:00,8
+9051,2020-01-02 01:30:00,8
+9052,2020-01-02 02:00:00,8
+9053,2020-01-02 02:30:00,8
+9054,2020-01-02 03:00:00,8
+9055,2020-01-02 03:30:00,8
+9056,2020-01-02 04:00:00,8
+9057,2020-01-02 04:30:00,8
+9058,2020-01-02 05:00:00,8
+9059,2020-01-02 05:30:00,8
+9060,2020-01-02 06:00:00,8
+9061,2020-01-02 06:30:00,8
+9062,2020-01-02 07:00:00,8
+9063,2020-01-02 07:30:00,8
+9064,2020-01-02 08:00:00,8
+9065,2020-01-02 08:30:00,8
+9066,2020-01-02 09:00:00,8
+9067,2020-01-02 09:30:00,8
+9068,2020-01-02 10:00:00,8
+9069,2020-01-02 10:30:00,8
+9070,2020-01-02 11:00:00,8
+9071,2020-01-02 11:30:00,8
+9072,2020-01-02 12:00:00,8
+9073,2020-01-02 12:30:00,8
+9074,2020-01-02 13:00:00,8
+9075,2020-01-02 13:30:00,8
+9076,2020-01-02 14:00:00,8
+9077,2020-01-02 14:30:00,8
+9078,2020-01-02 15:00:00,8
+9079,2020-01-02 15:30:00,8
+9080,2020-01-02 16:00:00,8
+9081,2020-01-02 16:30:00,8
+9082,2020-01-02 17:00:00,8
+9083,2020-01-02 17:30:00,8
+9084,2020-01-02 18:00:00,8
+9085,2020-01-02 18:30:00,8
+9086,2020-01-02 19:00:00,8
+9087,2020-01-02 19:30:00,8
+9088,2020-01-02 20:00:00,8
+9089,2020-01-02 20:30:00,8
+9090,2020-01-02 21:00:00,8
+9091,2020-01-02 21:30:00,8
+9092,2020-01-02 22:00:00,8
+9093,2020-01-02 22:30:00,8
+9094,2020-01-02 23:00:00,8
+9095,2020-01-02 23:30:00,8
+9096,2020-01-03 00:00:00,8
+9097,2020-01-03 00:30:00,8
+9098,2020-01-03 01:00:00,8
+9099,2020-01-03 01:30:00,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:30:00,9
+10002,2020-01-01 01:00:00,9
+10003,2020-01-01 01:30:00,9
+10004,2020-01-01 02:00:00,9
+10005,2020-01-01 02:30:00,9
+10006,2020-01-01 03:00:00,9
+10007,2020-01-01 03:30:00,9
+10008,2020-01-01 04:00:00,9
+10009,2020-01-01 04:30:00,9
+10010,2020-01-01 05:00:00,9
+10011,2020-01-01 05:30:00,9
+10012,2020-01-01 06:00:00,9
+10013,2020-01-01 06:30:00,9
+10014,2020-01-01 07:00:00,9
+10015,2020-01-01 07:30:00,9
+10016,2020-01-01 08:00:00,9
+10017,2020-01-01 08:30:00,9
+10018,2020-01-01 09:00:00,9
+10019,2020-01-01 09:30:00,9
+10020,2020-01-01 10:00:00,9
+10021,2020-01-01 10:30:00,9
+10022,2020-01-01 11:00:00,9
+10023,2020-01-01 11:30:00,9
+10024,2020-01-01 12:00:00,9
+10025,2020-01-01 12:30:00,9
+10026,2020-01-01 13:00:00,9
+10027,2020-01-01 13:30:00,9
+10028,2020-01-01 14:00:00,9
+10029,2020-01-01 14:30:00,9
+10030,2020-01-01 15:00:00,9
+10031,2020-01-01 15:30:00,9
+10032,2020-01-01 16:00:00,9
+10033,2020-01-01 16:30:00,9
+10034,2020-01-01 17:00:00,9
+10035,2020-01-01 17:30:00,9
+10036,2020-01-01 18:00:00,9
+10037,2020-01-01 18:30:00,9
+10038,2020-01-01 19:00:00,9
+10039,2020-01-01 19:30:00,9
+10040,2020-01-01 20:00:00,9
+10041,2020-01-01 20:30:00,9
+10042,2020-01-01 21:00:00,9
+10043,2020-01-01 21:30:00,9
+10044,2020-01-01 22:00:00,9
+10045,2020-01-01 22:30:00,9
+10046,2020-01-01 23:00:00,9
+10047,2020-01-01 23:30:00,9
+10048,2020-01-02 00:00:00,9
+10049,2020-01-02 00:30:00,9
+10050,2020-01-02 01:00:00,9
+10051,2020-01-02 01:30:00,9
+10052,2020-01-02 02:00:00,9
+10053,2020-01-02 02:30:00,9
+10054,2020-01-02 03:00:00,9
+10055,2020-01-02 03:30:00,9
+10056,2020-01-02 04:00:00,9
+10057,2020-01-02 04:30:00,9
+10058,2020-01-02 05:00:00,9
+10059,2020-01-02 05:30:00,9
+10060,2020-01-02 06:00:00,9
+10061,2020-01-02 06:30:00,9
+10062,2020-01-02 07:00:00,9
+10063,2020-01-02 07:30:00,9
+10064,2020-01-02 08:00:00,9
+10065,2020-01-02 08:30:00,9
+10066,2020-01-02 09:00:00,9
+10067,2020-01-02 09:30:00,9
+10068,2020-01-02 10:00:00,9
+10069,2020-01-02 10:30:00,9
+10070,2020-01-02 11:00:00,9
+10071,2020-01-02 11:30:00,9
+10072,2020-01-02 12:00:00,9
+10073,2020-01-02 12:30:00,9
+10074,2020-01-02 13:00:00,9
+10075,2020-01-02 13:30:00,9
+10076,2020-01-02 14:00:00,9
+10077,2020-01-02 14:30:00,9
+10078,2020-01-02 15:00:00,9
+10079,2020-01-02 15:30:00,9
+10080,2020-01-02 16:00:00,9
+10081,2020-01-02 16:30:00,9
+10082,2020-01-02 17:00:00,9
+10083,2020-01-02 17:30:00,9
+10084,2020-01-02 18:00:00,9
+10085,2020-01-02 18:30:00,9
+10086,2020-01-02 19:00:00,9
+10087,2020-01-02 19:30:00,9
+10088,2020-01-02 20:00:00,9
+10089,2020-01-02 20:30:00,9
+10090,2020-01-02 21:00:00,9
+10091,2020-01-02 21:30:00,9
+10092,2020-01-02 22:00:00,9
+10093,2020-01-02 22:30:00,9
+10094,2020-01-02 23:00:00,9
+10095,2020-01-02 23:30:00,9
+10096,2020-01-03 00:00:00,9
+10097,2020-01-03 00:30:00,9
+10098,2020-01-03 01:00:00,9
+10099,2020-01-03 01:30:00,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_32s.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_32s.csv
new file mode 100644
index 0000000..aa86379
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_32s.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:00:32,0
+1002,2020-01-01 00:01:04,0
+1003,2020-01-01 00:01:36,0
+1004,2020-01-01 00:02:08,0
+1005,2020-01-01 00:02:40,0
+1006,2020-01-01 00:03:12,0
+1007,2020-01-01 00:03:44,0
+1008,2020-01-01 00:04:16,0
+1009,2020-01-01 00:04:48,0
+1010,2020-01-01 00:05:20,0
+1011,2020-01-01 00:05:52,0
+1012,2020-01-01 00:06:24,0
+1013,2020-01-01 00:06:56,0
+1014,2020-01-01 00:07:28,0
+1015,2020-01-01 00:08:00,0
+1016,2020-01-01 00:08:32,0
+1017,2020-01-01 00:09:04,0
+1018,2020-01-01 00:09:36,0
+1019,2020-01-01 00:10:08,0
+1020,2020-01-01 00:10:40,0
+1021,2020-01-01 00:11:12,0
+1022,2020-01-01 00:11:44,0
+1023,2020-01-01 00:12:16,0
+1024,2020-01-01 00:12:48,0
+1025,2020-01-01 00:13:20,0
+1026,2020-01-01 00:13:52,0
+1027,2020-01-01 00:14:24,0
+1028,2020-01-01 00:14:56,0
+1029,2020-01-01 00:15:28,0
+1030,2020-01-01 00:16:00,0
+1031,2020-01-01 00:16:32,0
+1032,2020-01-01 00:17:04,0
+1033,2020-01-01 00:17:36,0
+1034,2020-01-01 00:18:08,0
+1035,2020-01-01 00:18:40,0
+1036,2020-01-01 00:19:12,0
+1037,2020-01-01 00:19:44,0
+1038,2020-01-01 00:20:16,0
+1039,2020-01-01 00:20:48,0
+1040,2020-01-01 00:21:20,0
+1041,2020-01-01 00:21:52,0
+1042,2020-01-01 00:22:24,0
+1043,2020-01-01 00:22:56,0
+1044,2020-01-01 00:23:28,0
+1045,2020-01-01 00:24:00,0
+1046,2020-01-01 00:24:32,0
+1047,2020-01-01 00:25:04,0
+1048,2020-01-01 00:25:36,0
+1049,2020-01-01 00:26:08,0
+1050,2020-01-01 00:26:40,0
+1051,2020-01-01 00:27:12,0
+1052,2020-01-01 00:27:44,0
+1053,2020-01-01 00:28:16,0
+1054,2020-01-01 00:28:48,0
+1055,2020-01-01 00:29:20,0
+1056,2020-01-01 00:29:52,0
+1057,2020-01-01 00:30:24,0
+1058,2020-01-01 00:30:56,0
+1059,2020-01-01 00:31:28,0
+1060,2020-01-01 00:32:00,0
+1061,2020-01-01 00:32:32,0
+1062,2020-01-01 00:33:04,0
+1063,2020-01-01 00:33:36,0
+1064,2020-01-01 00:34:08,0
+1065,2020-01-01 00:34:40,0
+1066,2020-01-01 00:35:12,0
+1067,2020-01-01 00:35:44,0
+1068,2020-01-01 00:36:16,0
+1069,2020-01-01 00:36:48,0
+1070,2020-01-01 00:37:20,0
+1071,2020-01-01 00:37:52,0
+1072,2020-01-01 00:38:24,0
+1073,2020-01-01 00:38:56,0
+1074,2020-01-01 00:39:28,0
+1075,2020-01-01 00:40:00,0
+1076,2020-01-01 00:40:32,0
+1077,2020-01-01 00:41:04,0
+1078,2020-01-01 00:41:36,0
+1079,2020-01-01 00:42:08,0
+1080,2020-01-01 00:42:40,0
+1081,2020-01-01 00:43:12,0
+1082,2020-01-01 00:43:44,0
+1083,2020-01-01 00:44:16,0
+1084,2020-01-01 00:44:48,0
+1085,2020-01-01 00:45:20,0
+1086,2020-01-01 00:45:52,0
+1087,2020-01-01 00:46:24,0
+1088,2020-01-01 00:46:56,0
+1089,2020-01-01 00:47:28,0
+1090,2020-01-01 00:48:00,0
+1091,2020-01-01 00:48:32,0
+1092,2020-01-01 00:49:04,0
+1093,2020-01-01 00:49:36,0
+1094,2020-01-01 00:50:08,0
+1095,2020-01-01 00:50:40,0
+1096,2020-01-01 00:51:12,0
+1097,2020-01-01 00:51:44,0
+1098,2020-01-01 00:52:16,0
+1099,2020-01-01 00:52:48,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:00:32,1
+2002,2020-01-01 00:01:04,1
+2003,2020-01-01 00:01:36,1
+2004,2020-01-01 00:02:08,1
+2005,2020-01-01 00:02:40,1
+2006,2020-01-01 00:03:12,1
+2007,2020-01-01 00:03:44,1
+2008,2020-01-01 00:04:16,1
+2009,2020-01-01 00:04:48,1
+2010,2020-01-01 00:05:20,1
+2011,2020-01-01 00:05:52,1
+2012,2020-01-01 00:06:24,1
+2013,2020-01-01 00:06:56,1
+2014,2020-01-01 00:07:28,1
+2015,2020-01-01 00:08:00,1
+2016,2020-01-01 00:08:32,1
+2017,2020-01-01 00:09:04,1
+2018,2020-01-01 00:09:36,1
+2019,2020-01-01 00:10:08,1
+2020,2020-01-01 00:10:40,1
+2021,2020-01-01 00:11:12,1
+2022,2020-01-01 00:11:44,1
+2023,2020-01-01 00:12:16,1
+2024,2020-01-01 00:12:48,1
+2025,2020-01-01 00:13:20,1
+2026,2020-01-01 00:13:52,1
+2027,2020-01-01 00:14:24,1
+2028,2020-01-01 00:14:56,1
+2029,2020-01-01 00:15:28,1
+2030,2020-01-01 00:16:00,1
+2031,2020-01-01 00:16:32,1
+2032,2020-01-01 00:17:04,1
+2033,2020-01-01 00:17:36,1
+2034,2020-01-01 00:18:08,1
+2035,2020-01-01 00:18:40,1
+2036,2020-01-01 00:19:12,1
+2037,2020-01-01 00:19:44,1
+2038,2020-01-01 00:20:16,1
+2039,2020-01-01 00:20:48,1
+2040,2020-01-01 00:21:20,1
+2041,2020-01-01 00:21:52,1
+2042,2020-01-01 00:22:24,1
+2043,2020-01-01 00:22:56,1
+2044,2020-01-01 00:23:28,1
+2045,2020-01-01 00:24:00,1
+2046,2020-01-01 00:24:32,1
+2047,2020-01-01 00:25:04,1
+2048,2020-01-01 00:25:36,1
+2049,2020-01-01 00:26:08,1
+2050,2020-01-01 00:26:40,1
+2051,2020-01-01 00:27:12,1
+2052,2020-01-01 00:27:44,1
+2053,2020-01-01 00:28:16,1
+2054,2020-01-01 00:28:48,1
+2055,2020-01-01 00:29:20,1
+2056,2020-01-01 00:29:52,1
+2057,2020-01-01 00:30:24,1
+2058,2020-01-01 00:30:56,1
+2059,2020-01-01 00:31:28,1
+2060,2020-01-01 00:32:00,1
+2061,2020-01-01 00:32:32,1
+2062,2020-01-01 00:33:04,1
+2063,2020-01-01 00:33:36,1
+2064,2020-01-01 00:34:08,1
+2065,2020-01-01 00:34:40,1
+2066,2020-01-01 00:35:12,1
+2067,2020-01-01 00:35:44,1
+2068,2020-01-01 00:36:16,1
+2069,2020-01-01 00:36:48,1
+2070,2020-01-01 00:37:20,1
+2071,2020-01-01 00:37:52,1
+2072,2020-01-01 00:38:24,1
+2073,2020-01-01 00:38:56,1
+2074,2020-01-01 00:39:28,1
+2075,2020-01-01 00:40:00,1
+2076,2020-01-01 00:40:32,1
+2077,2020-01-01 00:41:04,1
+2078,2020-01-01 00:41:36,1
+2079,2020-01-01 00:42:08,1
+2080,2020-01-01 00:42:40,1
+2081,2020-01-01 00:43:12,1
+2082,2020-01-01 00:43:44,1
+2083,2020-01-01 00:44:16,1
+2084,2020-01-01 00:44:48,1
+2085,2020-01-01 00:45:20,1
+2086,2020-01-01 00:45:52,1
+2087,2020-01-01 00:46:24,1
+2088,2020-01-01 00:46:56,1
+2089,2020-01-01 00:47:28,1
+2090,2020-01-01 00:48:00,1
+2091,2020-01-01 00:48:32,1
+2092,2020-01-01 00:49:04,1
+2093,2020-01-01 00:49:36,1
+2094,2020-01-01 00:50:08,1
+2095,2020-01-01 00:50:40,1
+2096,2020-01-01 00:51:12,1
+2097,2020-01-01 00:51:44,1
+2098,2020-01-01 00:52:16,1
+2099,2020-01-01 00:52:48,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:00:32,2
+3002,2020-01-01 00:01:04,2
+3003,2020-01-01 00:01:36,2
+3004,2020-01-01 00:02:08,2
+3005,2020-01-01 00:02:40,2
+3006,2020-01-01 00:03:12,2
+3007,2020-01-01 00:03:44,2
+3008,2020-01-01 00:04:16,2
+3009,2020-01-01 00:04:48,2
+3010,2020-01-01 00:05:20,2
+3011,2020-01-01 00:05:52,2
+3012,2020-01-01 00:06:24,2
+3013,2020-01-01 00:06:56,2
+3014,2020-01-01 00:07:28,2
+3015,2020-01-01 00:08:00,2
+3016,2020-01-01 00:08:32,2
+3017,2020-01-01 00:09:04,2
+3018,2020-01-01 00:09:36,2
+3019,2020-01-01 00:10:08,2
+3020,2020-01-01 00:10:40,2
+3021,2020-01-01 00:11:12,2
+3022,2020-01-01 00:11:44,2
+3023,2020-01-01 00:12:16,2
+3024,2020-01-01 00:12:48,2
+3025,2020-01-01 00:13:20,2
+3026,2020-01-01 00:13:52,2
+3027,2020-01-01 00:14:24,2
+3028,2020-01-01 00:14:56,2
+3029,2020-01-01 00:15:28,2
+3030,2020-01-01 00:16:00,2
+3031,2020-01-01 00:16:32,2
+3032,2020-01-01 00:17:04,2
+3033,2020-01-01 00:17:36,2
+3034,2020-01-01 00:18:08,2
+3035,2020-01-01 00:18:40,2
+3036,2020-01-01 00:19:12,2
+3037,2020-01-01 00:19:44,2
+3038,2020-01-01 00:20:16,2
+3039,2020-01-01 00:20:48,2
+3040,2020-01-01 00:21:20,2
+3041,2020-01-01 00:21:52,2
+3042,2020-01-01 00:22:24,2
+3043,2020-01-01 00:22:56,2
+3044,2020-01-01 00:23:28,2
+3045,2020-01-01 00:24:00,2
+3046,2020-01-01 00:24:32,2
+3047,2020-01-01 00:25:04,2
+3048,2020-01-01 00:25:36,2
+3049,2020-01-01 00:26:08,2
+3050,2020-01-01 00:26:40,2
+3051,2020-01-01 00:27:12,2
+3052,2020-01-01 00:27:44,2
+3053,2020-01-01 00:28:16,2
+3054,2020-01-01 00:28:48,2
+3055,2020-01-01 00:29:20,2
+3056,2020-01-01 00:29:52,2
+3057,2020-01-01 00:30:24,2
+3058,2020-01-01 00:30:56,2
+3059,2020-01-01 00:31:28,2
+3060,2020-01-01 00:32:00,2
+3061,2020-01-01 00:32:32,2
+3062,2020-01-01 00:33:04,2
+3063,2020-01-01 00:33:36,2
+3064,2020-01-01 00:34:08,2
+3065,2020-01-01 00:34:40,2
+3066,2020-01-01 00:35:12,2
+3067,2020-01-01 00:35:44,2
+3068,2020-01-01 00:36:16,2
+3069,2020-01-01 00:36:48,2
+3070,2020-01-01 00:37:20,2
+3071,2020-01-01 00:37:52,2
+3072,2020-01-01 00:38:24,2
+3073,2020-01-01 00:38:56,2
+3074,2020-01-01 00:39:28,2
+3075,2020-01-01 00:40:00,2
+3076,2020-01-01 00:40:32,2
+3077,2020-01-01 00:41:04,2
+3078,2020-01-01 00:41:36,2
+3079,2020-01-01 00:42:08,2
+3080,2020-01-01 00:42:40,2
+3081,2020-01-01 00:43:12,2
+3082,2020-01-01 00:43:44,2
+3083,2020-01-01 00:44:16,2
+3084,2020-01-01 00:44:48,2
+3085,2020-01-01 00:45:20,2
+3086,2020-01-01 00:45:52,2
+3087,2020-01-01 00:46:24,2
+3088,2020-01-01 00:46:56,2
+3089,2020-01-01 00:47:28,2
+3090,2020-01-01 00:48:00,2
+3091,2020-01-01 00:48:32,2
+3092,2020-01-01 00:49:04,2
+3093,2020-01-01 00:49:36,2
+3094,2020-01-01 00:50:08,2
+3095,2020-01-01 00:50:40,2
+3096,2020-01-01 00:51:12,2
+3097,2020-01-01 00:51:44,2
+3098,2020-01-01 00:52:16,2
+3099,2020-01-01 00:52:48,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:00:32,3
+4002,2020-01-01 00:01:04,3
+4003,2020-01-01 00:01:36,3
+4004,2020-01-01 00:02:08,3
+4005,2020-01-01 00:02:40,3
+4006,2020-01-01 00:03:12,3
+4007,2020-01-01 00:03:44,3
+4008,2020-01-01 00:04:16,3
+4009,2020-01-01 00:04:48,3
+4010,2020-01-01 00:05:20,3
+4011,2020-01-01 00:05:52,3
+4012,2020-01-01 00:06:24,3
+4013,2020-01-01 00:06:56,3
+4014,2020-01-01 00:07:28,3
+4015,2020-01-01 00:08:00,3
+4016,2020-01-01 00:08:32,3
+4017,2020-01-01 00:09:04,3
+4018,2020-01-01 00:09:36,3
+4019,2020-01-01 00:10:08,3
+4020,2020-01-01 00:10:40,3
+4021,2020-01-01 00:11:12,3
+4022,2020-01-01 00:11:44,3
+4023,2020-01-01 00:12:16,3
+4024,2020-01-01 00:12:48,3
+4025,2020-01-01 00:13:20,3
+4026,2020-01-01 00:13:52,3
+4027,2020-01-01 00:14:24,3
+4028,2020-01-01 00:14:56,3
+4029,2020-01-01 00:15:28,3
+4030,2020-01-01 00:16:00,3
+4031,2020-01-01 00:16:32,3
+4032,2020-01-01 00:17:04,3
+4033,2020-01-01 00:17:36,3
+4034,2020-01-01 00:18:08,3
+4035,2020-01-01 00:18:40,3
+4036,2020-01-01 00:19:12,3
+4037,2020-01-01 00:19:44,3
+4038,2020-01-01 00:20:16,3
+4039,2020-01-01 00:20:48,3
+4040,2020-01-01 00:21:20,3
+4041,2020-01-01 00:21:52,3
+4042,2020-01-01 00:22:24,3
+4043,2020-01-01 00:22:56,3
+4044,2020-01-01 00:23:28,3
+4045,2020-01-01 00:24:00,3
+4046,2020-01-01 00:24:32,3
+4047,2020-01-01 00:25:04,3
+4048,2020-01-01 00:25:36,3
+4049,2020-01-01 00:26:08,3
+4050,2020-01-01 00:26:40,3
+4051,2020-01-01 00:27:12,3
+4052,2020-01-01 00:27:44,3
+4053,2020-01-01 00:28:16,3
+4054,2020-01-01 00:28:48,3
+4055,2020-01-01 00:29:20,3
+4056,2020-01-01 00:29:52,3
+4057,2020-01-01 00:30:24,3
+4058,2020-01-01 00:30:56,3
+4059,2020-01-01 00:31:28,3
+4060,2020-01-01 00:32:00,3
+4061,2020-01-01 00:32:32,3
+4062,2020-01-01 00:33:04,3
+4063,2020-01-01 00:33:36,3
+4064,2020-01-01 00:34:08,3
+4065,2020-01-01 00:34:40,3
+4066,2020-01-01 00:35:12,3
+4067,2020-01-01 00:35:44,3
+4068,2020-01-01 00:36:16,3
+4069,2020-01-01 00:36:48,3
+4070,2020-01-01 00:37:20,3
+4071,2020-01-01 00:37:52,3
+4072,2020-01-01 00:38:24,3
+4073,2020-01-01 00:38:56,3
+4074,2020-01-01 00:39:28,3
+4075,2020-01-01 00:40:00,3
+4076,2020-01-01 00:40:32,3
+4077,2020-01-01 00:41:04,3
+4078,2020-01-01 00:41:36,3
+4079,2020-01-01 00:42:08,3
+4080,2020-01-01 00:42:40,3
+4081,2020-01-01 00:43:12,3
+4082,2020-01-01 00:43:44,3
+4083,2020-01-01 00:44:16,3
+4084,2020-01-01 00:44:48,3
+4085,2020-01-01 00:45:20,3
+4086,2020-01-01 00:45:52,3
+4087,2020-01-01 00:46:24,3
+4088,2020-01-01 00:46:56,3
+4089,2020-01-01 00:47:28,3
+4090,2020-01-01 00:48:00,3
+4091,2020-01-01 00:48:32,3
+4092,2020-01-01 00:49:04,3
+4093,2020-01-01 00:49:36,3
+4094,2020-01-01 00:50:08,3
+4095,2020-01-01 00:50:40,3
+4096,2020-01-01 00:51:12,3
+4097,2020-01-01 00:51:44,3
+4098,2020-01-01 00:52:16,3
+4099,2020-01-01 00:52:48,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:00:32,4
+5002,2020-01-01 00:01:04,4
+5003,2020-01-01 00:01:36,4
+5004,2020-01-01 00:02:08,4
+5005,2020-01-01 00:02:40,4
+5006,2020-01-01 00:03:12,4
+5007,2020-01-01 00:03:44,4
+5008,2020-01-01 00:04:16,4
+5009,2020-01-01 00:04:48,4
+5010,2020-01-01 00:05:20,4
+5011,2020-01-01 00:05:52,4
+5012,2020-01-01 00:06:24,4
+5013,2020-01-01 00:06:56,4
+5014,2020-01-01 00:07:28,4
+5015,2020-01-01 00:08:00,4
+5016,2020-01-01 00:08:32,4
+5017,2020-01-01 00:09:04,4
+5018,2020-01-01 00:09:36,4
+5019,2020-01-01 00:10:08,4
+5020,2020-01-01 00:10:40,4
+5021,2020-01-01 00:11:12,4
+5022,2020-01-01 00:11:44,4
+5023,2020-01-01 00:12:16,4
+5024,2020-01-01 00:12:48,4
+5025,2020-01-01 00:13:20,4
+5026,2020-01-01 00:13:52,4
+5027,2020-01-01 00:14:24,4
+5028,2020-01-01 00:14:56,4
+5029,2020-01-01 00:15:28,4
+5030,2020-01-01 00:16:00,4
+5031,2020-01-01 00:16:32,4
+5032,2020-01-01 00:17:04,4
+5033,2020-01-01 00:17:36,4
+5034,2020-01-01 00:18:08,4
+5035,2020-01-01 00:18:40,4
+5036,2020-01-01 00:19:12,4
+5037,2020-01-01 00:19:44,4
+5038,2020-01-01 00:20:16,4
+5039,2020-01-01 00:20:48,4
+5040,2020-01-01 00:21:20,4
+5041,2020-01-01 00:21:52,4
+5042,2020-01-01 00:22:24,4
+5043,2020-01-01 00:22:56,4
+5044,2020-01-01 00:23:28,4
+5045,2020-01-01 00:24:00,4
+5046,2020-01-01 00:24:32,4
+5047,2020-01-01 00:25:04,4
+5048,2020-01-01 00:25:36,4
+5049,2020-01-01 00:26:08,4
+5050,2020-01-01 00:26:40,4
+5051,2020-01-01 00:27:12,4
+5052,2020-01-01 00:27:44,4
+5053,2020-01-01 00:28:16,4
+5054,2020-01-01 00:28:48,4
+5055,2020-01-01 00:29:20,4
+5056,2020-01-01 00:29:52,4
+5057,2020-01-01 00:30:24,4
+5058,2020-01-01 00:30:56,4
+5059,2020-01-01 00:31:28,4
+5060,2020-01-01 00:32:00,4
+5061,2020-01-01 00:32:32,4
+5062,2020-01-01 00:33:04,4
+5063,2020-01-01 00:33:36,4
+5064,2020-01-01 00:34:08,4
+5065,2020-01-01 00:34:40,4
+5066,2020-01-01 00:35:12,4
+5067,2020-01-01 00:35:44,4
+5068,2020-01-01 00:36:16,4
+5069,2020-01-01 00:36:48,4
+5070,2020-01-01 00:37:20,4
+5071,2020-01-01 00:37:52,4
+5072,2020-01-01 00:38:24,4
+5073,2020-01-01 00:38:56,4
+5074,2020-01-01 00:39:28,4
+5075,2020-01-01 00:40:00,4
+5076,2020-01-01 00:40:32,4
+5077,2020-01-01 00:41:04,4
+5078,2020-01-01 00:41:36,4
+5079,2020-01-01 00:42:08,4
+5080,2020-01-01 00:42:40,4
+5081,2020-01-01 00:43:12,4
+5082,2020-01-01 00:43:44,4
+5083,2020-01-01 00:44:16,4
+5084,2020-01-01 00:44:48,4
+5085,2020-01-01 00:45:20,4
+5086,2020-01-01 00:45:52,4
+5087,2020-01-01 00:46:24,4
+5088,2020-01-01 00:46:56,4
+5089,2020-01-01 00:47:28,4
+5090,2020-01-01 00:48:00,4
+5091,2020-01-01 00:48:32,4
+5092,2020-01-01 00:49:04,4
+5093,2020-01-01 00:49:36,4
+5094,2020-01-01 00:50:08,4
+5095,2020-01-01 00:50:40,4
+5096,2020-01-01 00:51:12,4
+5097,2020-01-01 00:51:44,4
+5098,2020-01-01 00:52:16,4
+5099,2020-01-01 00:52:48,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:00:32,5
+6002,2020-01-01 00:01:04,5
+6003,2020-01-01 00:01:36,5
+6004,2020-01-01 00:02:08,5
+6005,2020-01-01 00:02:40,5
+6006,2020-01-01 00:03:12,5
+6007,2020-01-01 00:03:44,5
+6008,2020-01-01 00:04:16,5
+6009,2020-01-01 00:04:48,5
+6010,2020-01-01 00:05:20,5
+6011,2020-01-01 00:05:52,5
+6012,2020-01-01 00:06:24,5
+6013,2020-01-01 00:06:56,5
+6014,2020-01-01 00:07:28,5
+6015,2020-01-01 00:08:00,5
+6016,2020-01-01 00:08:32,5
+6017,2020-01-01 00:09:04,5
+6018,2020-01-01 00:09:36,5
+6019,2020-01-01 00:10:08,5
+6020,2020-01-01 00:10:40,5
+6021,2020-01-01 00:11:12,5
+6022,2020-01-01 00:11:44,5
+6023,2020-01-01 00:12:16,5
+6024,2020-01-01 00:12:48,5
+6025,2020-01-01 00:13:20,5
+6026,2020-01-01 00:13:52,5
+6027,2020-01-01 00:14:24,5
+6028,2020-01-01 00:14:56,5
+6029,2020-01-01 00:15:28,5
+6030,2020-01-01 00:16:00,5
+6031,2020-01-01 00:16:32,5
+6032,2020-01-01 00:17:04,5
+6033,2020-01-01 00:17:36,5
+6034,2020-01-01 00:18:08,5
+6035,2020-01-01 00:18:40,5
+6036,2020-01-01 00:19:12,5
+6037,2020-01-01 00:19:44,5
+6038,2020-01-01 00:20:16,5
+6039,2020-01-01 00:20:48,5
+6040,2020-01-01 00:21:20,5
+6041,2020-01-01 00:21:52,5
+6042,2020-01-01 00:22:24,5
+6043,2020-01-01 00:22:56,5
+6044,2020-01-01 00:23:28,5
+6045,2020-01-01 00:24:00,5
+6046,2020-01-01 00:24:32,5
+6047,2020-01-01 00:25:04,5
+6048,2020-01-01 00:25:36,5
+6049,2020-01-01 00:26:08,5
+6050,2020-01-01 00:26:40,5
+6051,2020-01-01 00:27:12,5
+6052,2020-01-01 00:27:44,5
+6053,2020-01-01 00:28:16,5
+6054,2020-01-01 00:28:48,5
+6055,2020-01-01 00:29:20,5
+6056,2020-01-01 00:29:52,5
+6057,2020-01-01 00:30:24,5
+6058,2020-01-01 00:30:56,5
+6059,2020-01-01 00:31:28,5
+6060,2020-01-01 00:32:00,5
+6061,2020-01-01 00:32:32,5
+6062,2020-01-01 00:33:04,5
+6063,2020-01-01 00:33:36,5
+6064,2020-01-01 00:34:08,5
+6065,2020-01-01 00:34:40,5
+6066,2020-01-01 00:35:12,5
+6067,2020-01-01 00:35:44,5
+6068,2020-01-01 00:36:16,5
+6069,2020-01-01 00:36:48,5
+6070,2020-01-01 00:37:20,5
+6071,2020-01-01 00:37:52,5
+6072,2020-01-01 00:38:24,5
+6073,2020-01-01 00:38:56,5
+6074,2020-01-01 00:39:28,5
+6075,2020-01-01 00:40:00,5
+6076,2020-01-01 00:40:32,5
+6077,2020-01-01 00:41:04,5
+6078,2020-01-01 00:41:36,5
+6079,2020-01-01 00:42:08,5
+6080,2020-01-01 00:42:40,5
+6081,2020-01-01 00:43:12,5
+6082,2020-01-01 00:43:44,5
+6083,2020-01-01 00:44:16,5
+6084,2020-01-01 00:44:48,5
+6085,2020-01-01 00:45:20,5
+6086,2020-01-01 00:45:52,5
+6087,2020-01-01 00:46:24,5
+6088,2020-01-01 00:46:56,5
+6089,2020-01-01 00:47:28,5
+6090,2020-01-01 00:48:00,5
+6091,2020-01-01 00:48:32,5
+6092,2020-01-01 00:49:04,5
+6093,2020-01-01 00:49:36,5
+6094,2020-01-01 00:50:08,5
+6095,2020-01-01 00:50:40,5
+6096,2020-01-01 00:51:12,5
+6097,2020-01-01 00:51:44,5
+6098,2020-01-01 00:52:16,5
+6099,2020-01-01 00:52:48,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:00:32,6
+7002,2020-01-01 00:01:04,6
+7003,2020-01-01 00:01:36,6
+7004,2020-01-01 00:02:08,6
+7005,2020-01-01 00:02:40,6
+7006,2020-01-01 00:03:12,6
+7007,2020-01-01 00:03:44,6
+7008,2020-01-01 00:04:16,6
+7009,2020-01-01 00:04:48,6
+7010,2020-01-01 00:05:20,6
+7011,2020-01-01 00:05:52,6
+7012,2020-01-01 00:06:24,6
+7013,2020-01-01 00:06:56,6
+7014,2020-01-01 00:07:28,6
+7015,2020-01-01 00:08:00,6
+7016,2020-01-01 00:08:32,6
+7017,2020-01-01 00:09:04,6
+7018,2020-01-01 00:09:36,6
+7019,2020-01-01 00:10:08,6
+7020,2020-01-01 00:10:40,6
+7021,2020-01-01 00:11:12,6
+7022,2020-01-01 00:11:44,6
+7023,2020-01-01 00:12:16,6
+7024,2020-01-01 00:12:48,6
+7025,2020-01-01 00:13:20,6
+7026,2020-01-01 00:13:52,6
+7027,2020-01-01 00:14:24,6
+7028,2020-01-01 00:14:56,6
+7029,2020-01-01 00:15:28,6
+7030,2020-01-01 00:16:00,6
+7031,2020-01-01 00:16:32,6
+7032,2020-01-01 00:17:04,6
+7033,2020-01-01 00:17:36,6
+7034,2020-01-01 00:18:08,6
+7035,2020-01-01 00:18:40,6
+7036,2020-01-01 00:19:12,6
+7037,2020-01-01 00:19:44,6
+7038,2020-01-01 00:20:16,6
+7039,2020-01-01 00:20:48,6
+7040,2020-01-01 00:21:20,6
+7041,2020-01-01 00:21:52,6
+7042,2020-01-01 00:22:24,6
+7043,2020-01-01 00:22:56,6
+7044,2020-01-01 00:23:28,6
+7045,2020-01-01 00:24:00,6
+7046,2020-01-01 00:24:32,6
+7047,2020-01-01 00:25:04,6
+7048,2020-01-01 00:25:36,6
+7049,2020-01-01 00:26:08,6
+7050,2020-01-01 00:26:40,6
+7051,2020-01-01 00:27:12,6
+7052,2020-01-01 00:27:44,6
+7053,2020-01-01 00:28:16,6
+7054,2020-01-01 00:28:48,6
+7055,2020-01-01 00:29:20,6
+7056,2020-01-01 00:29:52,6
+7057,2020-01-01 00:30:24,6
+7058,2020-01-01 00:30:56,6
+7059,2020-01-01 00:31:28,6
+7060,2020-01-01 00:32:00,6
+7061,2020-01-01 00:32:32,6
+7062,2020-01-01 00:33:04,6
+7063,2020-01-01 00:33:36,6
+7064,2020-01-01 00:34:08,6
+7065,2020-01-01 00:34:40,6
+7066,2020-01-01 00:35:12,6
+7067,2020-01-01 00:35:44,6
+7068,2020-01-01 00:36:16,6
+7069,2020-01-01 00:36:48,6
+7070,2020-01-01 00:37:20,6
+7071,2020-01-01 00:37:52,6
+7072,2020-01-01 00:38:24,6
+7073,2020-01-01 00:38:56,6
+7074,2020-01-01 00:39:28,6
+7075,2020-01-01 00:40:00,6
+7076,2020-01-01 00:40:32,6
+7077,2020-01-01 00:41:04,6
+7078,2020-01-01 00:41:36,6
+7079,2020-01-01 00:42:08,6
+7080,2020-01-01 00:42:40,6
+7081,2020-01-01 00:43:12,6
+7082,2020-01-01 00:43:44,6
+7083,2020-01-01 00:44:16,6
+7084,2020-01-01 00:44:48,6
+7085,2020-01-01 00:45:20,6
+7086,2020-01-01 00:45:52,6
+7087,2020-01-01 00:46:24,6
+7088,2020-01-01 00:46:56,6
+7089,2020-01-01 00:47:28,6
+7090,2020-01-01 00:48:00,6
+7091,2020-01-01 00:48:32,6
+7092,2020-01-01 00:49:04,6
+7093,2020-01-01 00:49:36,6
+7094,2020-01-01 00:50:08,6
+7095,2020-01-01 00:50:40,6
+7096,2020-01-01 00:51:12,6
+7097,2020-01-01 00:51:44,6
+7098,2020-01-01 00:52:16,6
+7099,2020-01-01 00:52:48,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:00:32,7
+8002,2020-01-01 00:01:04,7
+8003,2020-01-01 00:01:36,7
+8004,2020-01-01 00:02:08,7
+8005,2020-01-01 00:02:40,7
+8006,2020-01-01 00:03:12,7
+8007,2020-01-01 00:03:44,7
+8008,2020-01-01 00:04:16,7
+8009,2020-01-01 00:04:48,7
+8010,2020-01-01 00:05:20,7
+8011,2020-01-01 00:05:52,7
+8012,2020-01-01 00:06:24,7
+8013,2020-01-01 00:06:56,7
+8014,2020-01-01 00:07:28,7
+8015,2020-01-01 00:08:00,7
+8016,2020-01-01 00:08:32,7
+8017,2020-01-01 00:09:04,7
+8018,2020-01-01 00:09:36,7
+8019,2020-01-01 00:10:08,7
+8020,2020-01-01 00:10:40,7
+8021,2020-01-01 00:11:12,7
+8022,2020-01-01 00:11:44,7
+8023,2020-01-01 00:12:16,7
+8024,2020-01-01 00:12:48,7
+8025,2020-01-01 00:13:20,7
+8026,2020-01-01 00:13:52,7
+8027,2020-01-01 00:14:24,7
+8028,2020-01-01 00:14:56,7
+8029,2020-01-01 00:15:28,7
+8030,2020-01-01 00:16:00,7
+8031,2020-01-01 00:16:32,7
+8032,2020-01-01 00:17:04,7
+8033,2020-01-01 00:17:36,7
+8034,2020-01-01 00:18:08,7
+8035,2020-01-01 00:18:40,7
+8036,2020-01-01 00:19:12,7
+8037,2020-01-01 00:19:44,7
+8038,2020-01-01 00:20:16,7
+8039,2020-01-01 00:20:48,7
+8040,2020-01-01 00:21:20,7
+8041,2020-01-01 00:21:52,7
+8042,2020-01-01 00:22:24,7
+8043,2020-01-01 00:22:56,7
+8044,2020-01-01 00:23:28,7
+8045,2020-01-01 00:24:00,7
+8046,2020-01-01 00:24:32,7
+8047,2020-01-01 00:25:04,7
+8048,2020-01-01 00:25:36,7
+8049,2020-01-01 00:26:08,7
+8050,2020-01-01 00:26:40,7
+8051,2020-01-01 00:27:12,7
+8052,2020-01-01 00:27:44,7
+8053,2020-01-01 00:28:16,7
+8054,2020-01-01 00:28:48,7
+8055,2020-01-01 00:29:20,7
+8056,2020-01-01 00:29:52,7
+8057,2020-01-01 00:30:24,7
+8058,2020-01-01 00:30:56,7
+8059,2020-01-01 00:31:28,7
+8060,2020-01-01 00:32:00,7
+8061,2020-01-01 00:32:32,7
+8062,2020-01-01 00:33:04,7
+8063,2020-01-01 00:33:36,7
+8064,2020-01-01 00:34:08,7
+8065,2020-01-01 00:34:40,7
+8066,2020-01-01 00:35:12,7
+8067,2020-01-01 00:35:44,7
+8068,2020-01-01 00:36:16,7
+8069,2020-01-01 00:36:48,7
+8070,2020-01-01 00:37:20,7
+8071,2020-01-01 00:37:52,7
+8072,2020-01-01 00:38:24,7
+8073,2020-01-01 00:38:56,7
+8074,2020-01-01 00:39:28,7
+8075,2020-01-01 00:40:00,7
+8076,2020-01-01 00:40:32,7
+8077,2020-01-01 00:41:04,7
+8078,2020-01-01 00:41:36,7
+8079,2020-01-01 00:42:08,7
+8080,2020-01-01 00:42:40,7
+8081,2020-01-01 00:43:12,7
+8082,2020-01-01 00:43:44,7
+8083,2020-01-01 00:44:16,7
+8084,2020-01-01 00:44:48,7
+8085,2020-01-01 00:45:20,7
+8086,2020-01-01 00:45:52,7
+8087,2020-01-01 00:46:24,7
+8088,2020-01-01 00:46:56,7
+8089,2020-01-01 00:47:28,7
+8090,2020-01-01 00:48:00,7
+8091,2020-01-01 00:48:32,7
+8092,2020-01-01 00:49:04,7
+8093,2020-01-01 00:49:36,7
+8094,2020-01-01 00:50:08,7
+8095,2020-01-01 00:50:40,7
+8096,2020-01-01 00:51:12,7
+8097,2020-01-01 00:51:44,7
+8098,2020-01-01 00:52:16,7
+8099,2020-01-01 00:52:48,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:00:32,8
+9002,2020-01-01 00:01:04,8
+9003,2020-01-01 00:01:36,8
+9004,2020-01-01 00:02:08,8
+9005,2020-01-01 00:02:40,8
+9006,2020-01-01 00:03:12,8
+9007,2020-01-01 00:03:44,8
+9008,2020-01-01 00:04:16,8
+9009,2020-01-01 00:04:48,8
+9010,2020-01-01 00:05:20,8
+9011,2020-01-01 00:05:52,8
+9012,2020-01-01 00:06:24,8
+9013,2020-01-01 00:06:56,8
+9014,2020-01-01 00:07:28,8
+9015,2020-01-01 00:08:00,8
+9016,2020-01-01 00:08:32,8
+9017,2020-01-01 00:09:04,8
+9018,2020-01-01 00:09:36,8
+9019,2020-01-01 00:10:08,8
+9020,2020-01-01 00:10:40,8
+9021,2020-01-01 00:11:12,8
+9022,2020-01-01 00:11:44,8
+9023,2020-01-01 00:12:16,8
+9024,2020-01-01 00:12:48,8
+9025,2020-01-01 00:13:20,8
+9026,2020-01-01 00:13:52,8
+9027,2020-01-01 00:14:24,8
+9028,2020-01-01 00:14:56,8
+9029,2020-01-01 00:15:28,8
+9030,2020-01-01 00:16:00,8
+9031,2020-01-01 00:16:32,8
+9032,2020-01-01 00:17:04,8
+9033,2020-01-01 00:17:36,8
+9034,2020-01-01 00:18:08,8
+9035,2020-01-01 00:18:40,8
+9036,2020-01-01 00:19:12,8
+9037,2020-01-01 00:19:44,8
+9038,2020-01-01 00:20:16,8
+9039,2020-01-01 00:20:48,8
+9040,2020-01-01 00:21:20,8
+9041,2020-01-01 00:21:52,8
+9042,2020-01-01 00:22:24,8
+9043,2020-01-01 00:22:56,8
+9044,2020-01-01 00:23:28,8
+9045,2020-01-01 00:24:00,8
+9046,2020-01-01 00:24:32,8
+9047,2020-01-01 00:25:04,8
+9048,2020-01-01 00:25:36,8
+9049,2020-01-01 00:26:08,8
+9050,2020-01-01 00:26:40,8
+9051,2020-01-01 00:27:12,8
+9052,2020-01-01 00:27:44,8
+9053,2020-01-01 00:28:16,8
+9054,2020-01-01 00:28:48,8
+9055,2020-01-01 00:29:20,8
+9056,2020-01-01 00:29:52,8
+9057,2020-01-01 00:30:24,8
+9058,2020-01-01 00:30:56,8
+9059,2020-01-01 00:31:28,8
+9060,2020-01-01 00:32:00,8
+9061,2020-01-01 00:32:32,8
+9062,2020-01-01 00:33:04,8
+9063,2020-01-01 00:33:36,8
+9064,2020-01-01 00:34:08,8
+9065,2020-01-01 00:34:40,8
+9066,2020-01-01 00:35:12,8
+9067,2020-01-01 00:35:44,8
+9068,2020-01-01 00:36:16,8
+9069,2020-01-01 00:36:48,8
+9070,2020-01-01 00:37:20,8
+9071,2020-01-01 00:37:52,8
+9072,2020-01-01 00:38:24,8
+9073,2020-01-01 00:38:56,8
+9074,2020-01-01 00:39:28,8
+9075,2020-01-01 00:40:00,8
+9076,2020-01-01 00:40:32,8
+9077,2020-01-01 00:41:04,8
+9078,2020-01-01 00:41:36,8
+9079,2020-01-01 00:42:08,8
+9080,2020-01-01 00:42:40,8
+9081,2020-01-01 00:43:12,8
+9082,2020-01-01 00:43:44,8
+9083,2020-01-01 00:44:16,8
+9084,2020-01-01 00:44:48,8
+9085,2020-01-01 00:45:20,8
+9086,2020-01-01 00:45:52,8
+9087,2020-01-01 00:46:24,8
+9088,2020-01-01 00:46:56,8
+9089,2020-01-01 00:47:28,8
+9090,2020-01-01 00:48:00,8
+9091,2020-01-01 00:48:32,8
+9092,2020-01-01 00:49:04,8
+9093,2020-01-01 00:49:36,8
+9094,2020-01-01 00:50:08,8
+9095,2020-01-01 00:50:40,8
+9096,2020-01-01 00:51:12,8
+9097,2020-01-01 00:51:44,8
+9098,2020-01-01 00:52:16,8
+9099,2020-01-01 00:52:48,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:00:32,9
+10002,2020-01-01 00:01:04,9
+10003,2020-01-01 00:01:36,9
+10004,2020-01-01 00:02:08,9
+10005,2020-01-01 00:02:40,9
+10006,2020-01-01 00:03:12,9
+10007,2020-01-01 00:03:44,9
+10008,2020-01-01 00:04:16,9
+10009,2020-01-01 00:04:48,9
+10010,2020-01-01 00:05:20,9
+10011,2020-01-01 00:05:52,9
+10012,2020-01-01 00:06:24,9
+10013,2020-01-01 00:06:56,9
+10014,2020-01-01 00:07:28,9
+10015,2020-01-01 00:08:00,9
+10016,2020-01-01 00:08:32,9
+10017,2020-01-01 00:09:04,9
+10018,2020-01-01 00:09:36,9
+10019,2020-01-01 00:10:08,9
+10020,2020-01-01 00:10:40,9
+10021,2020-01-01 00:11:12,9
+10022,2020-01-01 00:11:44,9
+10023,2020-01-01 00:12:16,9
+10024,2020-01-01 00:12:48,9
+10025,2020-01-01 00:13:20,9
+10026,2020-01-01 00:13:52,9
+10027,2020-01-01 00:14:24,9
+10028,2020-01-01 00:14:56,9
+10029,2020-01-01 00:15:28,9
+10030,2020-01-01 00:16:00,9
+10031,2020-01-01 00:16:32,9
+10032,2020-01-01 00:17:04,9
+10033,2020-01-01 00:17:36,9
+10034,2020-01-01 00:18:08,9
+10035,2020-01-01 00:18:40,9
+10036,2020-01-01 00:19:12,9
+10037,2020-01-01 00:19:44,9
+10038,2020-01-01 00:20:16,9
+10039,2020-01-01 00:20:48,9
+10040,2020-01-01 00:21:20,9
+10041,2020-01-01 00:21:52,9
+10042,2020-01-01 00:22:24,9
+10043,2020-01-01 00:22:56,9
+10044,2020-01-01 00:23:28,9
+10045,2020-01-01 00:24:00,9
+10046,2020-01-01 00:24:32,9
+10047,2020-01-01 00:25:04,9
+10048,2020-01-01 00:25:36,9
+10049,2020-01-01 00:26:08,9
+10050,2020-01-01 00:26:40,9
+10051,2020-01-01 00:27:12,9
+10052,2020-01-01 00:27:44,9
+10053,2020-01-01 00:28:16,9
+10054,2020-01-01 00:28:48,9
+10055,2020-01-01 00:29:20,9
+10056,2020-01-01 00:29:52,9
+10057,2020-01-01 00:30:24,9
+10058,2020-01-01 00:30:56,9
+10059,2020-01-01 00:31:28,9
+10060,2020-01-01 00:32:00,9
+10061,2020-01-01 00:32:32,9
+10062,2020-01-01 00:33:04,9
+10063,2020-01-01 00:33:36,9
+10064,2020-01-01 00:34:08,9
+10065,2020-01-01 00:34:40,9
+10066,2020-01-01 00:35:12,9
+10067,2020-01-01 00:35:44,9
+10068,2020-01-01 00:36:16,9
+10069,2020-01-01 00:36:48,9
+10070,2020-01-01 00:37:20,9
+10071,2020-01-01 00:37:52,9
+10072,2020-01-01 00:38:24,9
+10073,2020-01-01 00:38:56,9
+10074,2020-01-01 00:39:28,9
+10075,2020-01-01 00:40:00,9
+10076,2020-01-01 00:40:32,9
+10077,2020-01-01 00:41:04,9
+10078,2020-01-01 00:41:36,9
+10079,2020-01-01 00:42:08,9
+10080,2020-01-01 00:42:40,9
+10081,2020-01-01 00:43:12,9
+10082,2020-01-01 00:43:44,9
+10083,2020-01-01 00:44:16,9
+10084,2020-01-01 00:44:48,9
+10085,2020-01-01 00:45:20,9
+10086,2020-01-01 00:45:52,9
+10087,2020-01-01 00:46:24,9
+10088,2020-01-01 00:46:56,9
+10089,2020-01-01 00:47:28,9
+10090,2020-01-01 00:48:00,9
+10091,2020-01-01 00:48:32,9
+10092,2020-01-01 00:49:04,9
+10093,2020-01-01 00:49:36,9
+10094,2020-01-01 00:50:08,9
+10095,2020-01-01 00:50:40,9
+10096,2020-01-01 00:51:12,9
+10097,2020-01-01 00:51:44,9
+10098,2020-01-01 00:52:16,9
+10099,2020-01-01 00:52:48,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_3D.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_3D.csv
new file mode 100644
index 0000000..ad4b7e3
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_3D.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-04,0
+1002,2020-01-07,0
+1003,2020-01-10,0
+1004,2020-01-13,0
+1005,2020-01-16,0
+1006,2020-01-19,0
+1007,2020-01-22,0
+1008,2020-01-25,0
+1009,2020-01-28,0
+1010,2020-01-31,0
+1011,2020-02-03,0
+1012,2020-02-06,0
+1013,2020-02-09,0
+1014,2020-02-12,0
+1015,2020-02-15,0
+1016,2020-02-18,0
+1017,2020-02-21,0
+1018,2020-02-24,0
+1019,2020-02-27,0
+1020,2020-03-01,0
+1021,2020-03-04,0
+1022,2020-03-07,0
+1023,2020-03-10,0
+1024,2020-03-13,0
+1025,2020-03-16,0
+1026,2020-03-19,0
+1027,2020-03-22,0
+1028,2020-03-25,0
+1029,2020-03-28,0
+1030,2020-03-31,0
+1031,2020-04-03,0
+1032,2020-04-06,0
+1033,2020-04-09,0
+1034,2020-04-12,0
+1035,2020-04-15,0
+1036,2020-04-18,0
+1037,2020-04-21,0
+1038,2020-04-24,0
+1039,2020-04-27,0
+1040,2020-04-30,0
+1041,2020-05-03,0
+1042,2020-05-06,0
+1043,2020-05-09,0
+1044,2020-05-12,0
+1045,2020-05-15,0
+1046,2020-05-18,0
+1047,2020-05-21,0
+1048,2020-05-24,0
+1049,2020-05-27,0
+1050,2020-05-30,0
+1051,2020-06-02,0
+1052,2020-06-05,0
+1053,2020-06-08,0
+1054,2020-06-11,0
+1055,2020-06-14,0
+1056,2020-06-17,0
+1057,2020-06-20,0
+1058,2020-06-23,0
+1059,2020-06-26,0
+1060,2020-06-29,0
+1061,2020-07-02,0
+1062,2020-07-05,0
+1063,2020-07-08,0
+1064,2020-07-11,0
+1065,2020-07-14,0
+1066,2020-07-17,0
+1067,2020-07-20,0
+1068,2020-07-23,0
+1069,2020-07-26,0
+1070,2020-07-29,0
+1071,2020-08-01,0
+1072,2020-08-04,0
+1073,2020-08-07,0
+1074,2020-08-10,0
+1075,2020-08-13,0
+1076,2020-08-16,0
+1077,2020-08-19,0
+1078,2020-08-22,0
+1079,2020-08-25,0
+1080,2020-08-28,0
+1081,2020-08-31,0
+1082,2020-09-03,0
+1083,2020-09-06,0
+1084,2020-09-09,0
+1085,2020-09-12,0
+1086,2020-09-15,0
+1087,2020-09-18,0
+1088,2020-09-21,0
+1089,2020-09-24,0
+1090,2020-09-27,0
+1091,2020-09-30,0
+1092,2020-10-03,0
+1093,2020-10-06,0
+1094,2020-10-09,0
+1095,2020-10-12,0
+1096,2020-10-15,0
+1097,2020-10-18,0
+1098,2020-10-21,0
+1099,2020-10-24,0
+2000,2020-01-01,1
+2001,2020-01-04,1
+2002,2020-01-07,1
+2003,2020-01-10,1
+2004,2020-01-13,1
+2005,2020-01-16,1
+2006,2020-01-19,1
+2007,2020-01-22,1
+2008,2020-01-25,1
+2009,2020-01-28,1
+2010,2020-01-31,1
+2011,2020-02-03,1
+2012,2020-02-06,1
+2013,2020-02-09,1
+2014,2020-02-12,1
+2015,2020-02-15,1
+2016,2020-02-18,1
+2017,2020-02-21,1
+2018,2020-02-24,1
+2019,2020-02-27,1
+2020,2020-03-01,1
+2021,2020-03-04,1
+2022,2020-03-07,1
+2023,2020-03-10,1
+2024,2020-03-13,1
+2025,2020-03-16,1
+2026,2020-03-19,1
+2027,2020-03-22,1
+2028,2020-03-25,1
+2029,2020-03-28,1
+2030,2020-03-31,1
+2031,2020-04-03,1
+2032,2020-04-06,1
+2033,2020-04-09,1
+2034,2020-04-12,1
+2035,2020-04-15,1
+2036,2020-04-18,1
+2037,2020-04-21,1
+2038,2020-04-24,1
+2039,2020-04-27,1
+2040,2020-04-30,1
+2041,2020-05-03,1
+2042,2020-05-06,1
+2043,2020-05-09,1
+2044,2020-05-12,1
+2045,2020-05-15,1
+2046,2020-05-18,1
+2047,2020-05-21,1
+2048,2020-05-24,1
+2049,2020-05-27,1
+2050,2020-05-30,1
+2051,2020-06-02,1
+2052,2020-06-05,1
+2053,2020-06-08,1
+2054,2020-06-11,1
+2055,2020-06-14,1
+2056,2020-06-17,1
+2057,2020-06-20,1
+2058,2020-06-23,1
+2059,2020-06-26,1
+2060,2020-06-29,1
+2061,2020-07-02,1
+2062,2020-07-05,1
+2063,2020-07-08,1
+2064,2020-07-11,1
+2065,2020-07-14,1
+2066,2020-07-17,1
+2067,2020-07-20,1
+2068,2020-07-23,1
+2069,2020-07-26,1
+2070,2020-07-29,1
+2071,2020-08-01,1
+2072,2020-08-04,1
+2073,2020-08-07,1
+2074,2020-08-10,1
+2075,2020-08-13,1
+2076,2020-08-16,1
+2077,2020-08-19,1
+2078,2020-08-22,1
+2079,2020-08-25,1
+2080,2020-08-28,1
+2081,2020-08-31,1
+2082,2020-09-03,1
+2083,2020-09-06,1
+2084,2020-09-09,1
+2085,2020-09-12,1
+2086,2020-09-15,1
+2087,2020-09-18,1
+2088,2020-09-21,1
+2089,2020-09-24,1
+2090,2020-09-27,1
+2091,2020-09-30,1
+2092,2020-10-03,1
+2093,2020-10-06,1
+2094,2020-10-09,1
+2095,2020-10-12,1
+2096,2020-10-15,1
+2097,2020-10-18,1
+2098,2020-10-21,1
+2099,2020-10-24,1
+3000,2020-01-01,2
+3001,2020-01-04,2
+3002,2020-01-07,2
+3003,2020-01-10,2
+3004,2020-01-13,2
+3005,2020-01-16,2
+3006,2020-01-19,2
+3007,2020-01-22,2
+3008,2020-01-25,2
+3009,2020-01-28,2
+3010,2020-01-31,2
+3011,2020-02-03,2
+3012,2020-02-06,2
+3013,2020-02-09,2
+3014,2020-02-12,2
+3015,2020-02-15,2
+3016,2020-02-18,2
+3017,2020-02-21,2
+3018,2020-02-24,2
+3019,2020-02-27,2
+3020,2020-03-01,2
+3021,2020-03-04,2
+3022,2020-03-07,2
+3023,2020-03-10,2
+3024,2020-03-13,2
+3025,2020-03-16,2
+3026,2020-03-19,2
+3027,2020-03-22,2
+3028,2020-03-25,2
+3029,2020-03-28,2
+3030,2020-03-31,2
+3031,2020-04-03,2
+3032,2020-04-06,2
+3033,2020-04-09,2
+3034,2020-04-12,2
+3035,2020-04-15,2
+3036,2020-04-18,2
+3037,2020-04-21,2
+3038,2020-04-24,2
+3039,2020-04-27,2
+3040,2020-04-30,2
+3041,2020-05-03,2
+3042,2020-05-06,2
+3043,2020-05-09,2
+3044,2020-05-12,2
+3045,2020-05-15,2
+3046,2020-05-18,2
+3047,2020-05-21,2
+3048,2020-05-24,2
+3049,2020-05-27,2
+3050,2020-05-30,2
+3051,2020-06-02,2
+3052,2020-06-05,2
+3053,2020-06-08,2
+3054,2020-06-11,2
+3055,2020-06-14,2
+3056,2020-06-17,2
+3057,2020-06-20,2
+3058,2020-06-23,2
+3059,2020-06-26,2
+3060,2020-06-29,2
+3061,2020-07-02,2
+3062,2020-07-05,2
+3063,2020-07-08,2
+3064,2020-07-11,2
+3065,2020-07-14,2
+3066,2020-07-17,2
+3067,2020-07-20,2
+3068,2020-07-23,2
+3069,2020-07-26,2
+3070,2020-07-29,2
+3071,2020-08-01,2
+3072,2020-08-04,2
+3073,2020-08-07,2
+3074,2020-08-10,2
+3075,2020-08-13,2
+3076,2020-08-16,2
+3077,2020-08-19,2
+3078,2020-08-22,2
+3079,2020-08-25,2
+3080,2020-08-28,2
+3081,2020-08-31,2
+3082,2020-09-03,2
+3083,2020-09-06,2
+3084,2020-09-09,2
+3085,2020-09-12,2
+3086,2020-09-15,2
+3087,2020-09-18,2
+3088,2020-09-21,2
+3089,2020-09-24,2
+3090,2020-09-27,2
+3091,2020-09-30,2
+3092,2020-10-03,2
+3093,2020-10-06,2
+3094,2020-10-09,2
+3095,2020-10-12,2
+3096,2020-10-15,2
+3097,2020-10-18,2
+3098,2020-10-21,2
+3099,2020-10-24,2
+4000,2020-01-01,3
+4001,2020-01-04,3
+4002,2020-01-07,3
+4003,2020-01-10,3
+4004,2020-01-13,3
+4005,2020-01-16,3
+4006,2020-01-19,3
+4007,2020-01-22,3
+4008,2020-01-25,3
+4009,2020-01-28,3
+4010,2020-01-31,3
+4011,2020-02-03,3
+4012,2020-02-06,3
+4013,2020-02-09,3
+4014,2020-02-12,3
+4015,2020-02-15,3
+4016,2020-02-18,3
+4017,2020-02-21,3
+4018,2020-02-24,3
+4019,2020-02-27,3
+4020,2020-03-01,3
+4021,2020-03-04,3
+4022,2020-03-07,3
+4023,2020-03-10,3
+4024,2020-03-13,3
+4025,2020-03-16,3
+4026,2020-03-19,3
+4027,2020-03-22,3
+4028,2020-03-25,3
+4029,2020-03-28,3
+4030,2020-03-31,3
+4031,2020-04-03,3
+4032,2020-04-06,3
+4033,2020-04-09,3
+4034,2020-04-12,3
+4035,2020-04-15,3
+4036,2020-04-18,3
+4037,2020-04-21,3
+4038,2020-04-24,3
+4039,2020-04-27,3
+4040,2020-04-30,3
+4041,2020-05-03,3
+4042,2020-05-06,3
+4043,2020-05-09,3
+4044,2020-05-12,3
+4045,2020-05-15,3
+4046,2020-05-18,3
+4047,2020-05-21,3
+4048,2020-05-24,3
+4049,2020-05-27,3
+4050,2020-05-30,3
+4051,2020-06-02,3
+4052,2020-06-05,3
+4053,2020-06-08,3
+4054,2020-06-11,3
+4055,2020-06-14,3
+4056,2020-06-17,3
+4057,2020-06-20,3
+4058,2020-06-23,3
+4059,2020-06-26,3
+4060,2020-06-29,3
+4061,2020-07-02,3
+4062,2020-07-05,3
+4063,2020-07-08,3
+4064,2020-07-11,3
+4065,2020-07-14,3
+4066,2020-07-17,3
+4067,2020-07-20,3
+4068,2020-07-23,3
+4069,2020-07-26,3
+4070,2020-07-29,3
+4071,2020-08-01,3
+4072,2020-08-04,3
+4073,2020-08-07,3
+4074,2020-08-10,3
+4075,2020-08-13,3
+4076,2020-08-16,3
+4077,2020-08-19,3
+4078,2020-08-22,3
+4079,2020-08-25,3
+4080,2020-08-28,3
+4081,2020-08-31,3
+4082,2020-09-03,3
+4083,2020-09-06,3
+4084,2020-09-09,3
+4085,2020-09-12,3
+4086,2020-09-15,3
+4087,2020-09-18,3
+4088,2020-09-21,3
+4089,2020-09-24,3
+4090,2020-09-27,3
+4091,2020-09-30,3
+4092,2020-10-03,3
+4093,2020-10-06,3
+4094,2020-10-09,3
+4095,2020-10-12,3
+4096,2020-10-15,3
+4097,2020-10-18,3
+4098,2020-10-21,3
+4099,2020-10-24,3
+5000,2020-01-01,4
+5001,2020-01-04,4
+5002,2020-01-07,4
+5003,2020-01-10,4
+5004,2020-01-13,4
+5005,2020-01-16,4
+5006,2020-01-19,4
+5007,2020-01-22,4
+5008,2020-01-25,4
+5009,2020-01-28,4
+5010,2020-01-31,4
+5011,2020-02-03,4
+5012,2020-02-06,4
+5013,2020-02-09,4
+5014,2020-02-12,4
+5015,2020-02-15,4
+5016,2020-02-18,4
+5017,2020-02-21,4
+5018,2020-02-24,4
+5019,2020-02-27,4
+5020,2020-03-01,4
+5021,2020-03-04,4
+5022,2020-03-07,4
+5023,2020-03-10,4
+5024,2020-03-13,4
+5025,2020-03-16,4
+5026,2020-03-19,4
+5027,2020-03-22,4
+5028,2020-03-25,4
+5029,2020-03-28,4
+5030,2020-03-31,4
+5031,2020-04-03,4
+5032,2020-04-06,4
+5033,2020-04-09,4
+5034,2020-04-12,4
+5035,2020-04-15,4
+5036,2020-04-18,4
+5037,2020-04-21,4
+5038,2020-04-24,4
+5039,2020-04-27,4
+5040,2020-04-30,4
+5041,2020-05-03,4
+5042,2020-05-06,4
+5043,2020-05-09,4
+5044,2020-05-12,4
+5045,2020-05-15,4
+5046,2020-05-18,4
+5047,2020-05-21,4
+5048,2020-05-24,4
+5049,2020-05-27,4
+5050,2020-05-30,4
+5051,2020-06-02,4
+5052,2020-06-05,4
+5053,2020-06-08,4
+5054,2020-06-11,4
+5055,2020-06-14,4
+5056,2020-06-17,4
+5057,2020-06-20,4
+5058,2020-06-23,4
+5059,2020-06-26,4
+5060,2020-06-29,4
+5061,2020-07-02,4
+5062,2020-07-05,4
+5063,2020-07-08,4
+5064,2020-07-11,4
+5065,2020-07-14,4
+5066,2020-07-17,4
+5067,2020-07-20,4
+5068,2020-07-23,4
+5069,2020-07-26,4
+5070,2020-07-29,4
+5071,2020-08-01,4
+5072,2020-08-04,4
+5073,2020-08-07,4
+5074,2020-08-10,4
+5075,2020-08-13,4
+5076,2020-08-16,4
+5077,2020-08-19,4
+5078,2020-08-22,4
+5079,2020-08-25,4
+5080,2020-08-28,4
+5081,2020-08-31,4
+5082,2020-09-03,4
+5083,2020-09-06,4
+5084,2020-09-09,4
+5085,2020-09-12,4
+5086,2020-09-15,4
+5087,2020-09-18,4
+5088,2020-09-21,4
+5089,2020-09-24,4
+5090,2020-09-27,4
+5091,2020-09-30,4
+5092,2020-10-03,4
+5093,2020-10-06,4
+5094,2020-10-09,4
+5095,2020-10-12,4
+5096,2020-10-15,4
+5097,2020-10-18,4
+5098,2020-10-21,4
+5099,2020-10-24,4
+6000,2020-01-01,5
+6001,2020-01-04,5
+6002,2020-01-07,5
+6003,2020-01-10,5
+6004,2020-01-13,5
+6005,2020-01-16,5
+6006,2020-01-19,5
+6007,2020-01-22,5
+6008,2020-01-25,5
+6009,2020-01-28,5
+6010,2020-01-31,5
+6011,2020-02-03,5
+6012,2020-02-06,5
+6013,2020-02-09,5
+6014,2020-02-12,5
+6015,2020-02-15,5
+6016,2020-02-18,5
+6017,2020-02-21,5
+6018,2020-02-24,5
+6019,2020-02-27,5
+6020,2020-03-01,5
+6021,2020-03-04,5
+6022,2020-03-07,5
+6023,2020-03-10,5
+6024,2020-03-13,5
+6025,2020-03-16,5
+6026,2020-03-19,5
+6027,2020-03-22,5
+6028,2020-03-25,5
+6029,2020-03-28,5
+6030,2020-03-31,5
+6031,2020-04-03,5
+6032,2020-04-06,5
+6033,2020-04-09,5
+6034,2020-04-12,5
+6035,2020-04-15,5
+6036,2020-04-18,5
+6037,2020-04-21,5
+6038,2020-04-24,5
+6039,2020-04-27,5
+6040,2020-04-30,5
+6041,2020-05-03,5
+6042,2020-05-06,5
+6043,2020-05-09,5
+6044,2020-05-12,5
+6045,2020-05-15,5
+6046,2020-05-18,5
+6047,2020-05-21,5
+6048,2020-05-24,5
+6049,2020-05-27,5
+6050,2020-05-30,5
+6051,2020-06-02,5
+6052,2020-06-05,5
+6053,2020-06-08,5
+6054,2020-06-11,5
+6055,2020-06-14,5
+6056,2020-06-17,5
+6057,2020-06-20,5
+6058,2020-06-23,5
+6059,2020-06-26,5
+6060,2020-06-29,5
+6061,2020-07-02,5
+6062,2020-07-05,5
+6063,2020-07-08,5
+6064,2020-07-11,5
+6065,2020-07-14,5
+6066,2020-07-17,5
+6067,2020-07-20,5
+6068,2020-07-23,5
+6069,2020-07-26,5
+6070,2020-07-29,5
+6071,2020-08-01,5
+6072,2020-08-04,5
+6073,2020-08-07,5
+6074,2020-08-10,5
+6075,2020-08-13,5
+6076,2020-08-16,5
+6077,2020-08-19,5
+6078,2020-08-22,5
+6079,2020-08-25,5
+6080,2020-08-28,5
+6081,2020-08-31,5
+6082,2020-09-03,5
+6083,2020-09-06,5
+6084,2020-09-09,5
+6085,2020-09-12,5
+6086,2020-09-15,5
+6087,2020-09-18,5
+6088,2020-09-21,5
+6089,2020-09-24,5
+6090,2020-09-27,5
+6091,2020-09-30,5
+6092,2020-10-03,5
+6093,2020-10-06,5
+6094,2020-10-09,5
+6095,2020-10-12,5
+6096,2020-10-15,5
+6097,2020-10-18,5
+6098,2020-10-21,5
+6099,2020-10-24,5
+7000,2020-01-01,6
+7001,2020-01-04,6
+7002,2020-01-07,6
+7003,2020-01-10,6
+7004,2020-01-13,6
+7005,2020-01-16,6
+7006,2020-01-19,6
+7007,2020-01-22,6
+7008,2020-01-25,6
+7009,2020-01-28,6
+7010,2020-01-31,6
+7011,2020-02-03,6
+7012,2020-02-06,6
+7013,2020-02-09,6
+7014,2020-02-12,6
+7015,2020-02-15,6
+7016,2020-02-18,6
+7017,2020-02-21,6
+7018,2020-02-24,6
+7019,2020-02-27,6
+7020,2020-03-01,6
+7021,2020-03-04,6
+7022,2020-03-07,6
+7023,2020-03-10,6
+7024,2020-03-13,6
+7025,2020-03-16,6
+7026,2020-03-19,6
+7027,2020-03-22,6
+7028,2020-03-25,6
+7029,2020-03-28,6
+7030,2020-03-31,6
+7031,2020-04-03,6
+7032,2020-04-06,6
+7033,2020-04-09,6
+7034,2020-04-12,6
+7035,2020-04-15,6
+7036,2020-04-18,6
+7037,2020-04-21,6
+7038,2020-04-24,6
+7039,2020-04-27,6
+7040,2020-04-30,6
+7041,2020-05-03,6
+7042,2020-05-06,6
+7043,2020-05-09,6
+7044,2020-05-12,6
+7045,2020-05-15,6
+7046,2020-05-18,6
+7047,2020-05-21,6
+7048,2020-05-24,6
+7049,2020-05-27,6
+7050,2020-05-30,6
+7051,2020-06-02,6
+7052,2020-06-05,6
+7053,2020-06-08,6
+7054,2020-06-11,6
+7055,2020-06-14,6
+7056,2020-06-17,6
+7057,2020-06-20,6
+7058,2020-06-23,6
+7059,2020-06-26,6
+7060,2020-06-29,6
+7061,2020-07-02,6
+7062,2020-07-05,6
+7063,2020-07-08,6
+7064,2020-07-11,6
+7065,2020-07-14,6
+7066,2020-07-17,6
+7067,2020-07-20,6
+7068,2020-07-23,6
+7069,2020-07-26,6
+7070,2020-07-29,6
+7071,2020-08-01,6
+7072,2020-08-04,6
+7073,2020-08-07,6
+7074,2020-08-10,6
+7075,2020-08-13,6
+7076,2020-08-16,6
+7077,2020-08-19,6
+7078,2020-08-22,6
+7079,2020-08-25,6
+7080,2020-08-28,6
+7081,2020-08-31,6
+7082,2020-09-03,6
+7083,2020-09-06,6
+7084,2020-09-09,6
+7085,2020-09-12,6
+7086,2020-09-15,6
+7087,2020-09-18,6
+7088,2020-09-21,6
+7089,2020-09-24,6
+7090,2020-09-27,6
+7091,2020-09-30,6
+7092,2020-10-03,6
+7093,2020-10-06,6
+7094,2020-10-09,6
+7095,2020-10-12,6
+7096,2020-10-15,6
+7097,2020-10-18,6
+7098,2020-10-21,6
+7099,2020-10-24,6
+8000,2020-01-01,7
+8001,2020-01-04,7
+8002,2020-01-07,7
+8003,2020-01-10,7
+8004,2020-01-13,7
+8005,2020-01-16,7
+8006,2020-01-19,7
+8007,2020-01-22,7
+8008,2020-01-25,7
+8009,2020-01-28,7
+8010,2020-01-31,7
+8011,2020-02-03,7
+8012,2020-02-06,7
+8013,2020-02-09,7
+8014,2020-02-12,7
+8015,2020-02-15,7
+8016,2020-02-18,7
+8017,2020-02-21,7
+8018,2020-02-24,7
+8019,2020-02-27,7
+8020,2020-03-01,7
+8021,2020-03-04,7
+8022,2020-03-07,7
+8023,2020-03-10,7
+8024,2020-03-13,7
+8025,2020-03-16,7
+8026,2020-03-19,7
+8027,2020-03-22,7
+8028,2020-03-25,7
+8029,2020-03-28,7
+8030,2020-03-31,7
+8031,2020-04-03,7
+8032,2020-04-06,7
+8033,2020-04-09,7
+8034,2020-04-12,7
+8035,2020-04-15,7
+8036,2020-04-18,7
+8037,2020-04-21,7
+8038,2020-04-24,7
+8039,2020-04-27,7
+8040,2020-04-30,7
+8041,2020-05-03,7
+8042,2020-05-06,7
+8043,2020-05-09,7
+8044,2020-05-12,7
+8045,2020-05-15,7
+8046,2020-05-18,7
+8047,2020-05-21,7
+8048,2020-05-24,7
+8049,2020-05-27,7
+8050,2020-05-30,7
+8051,2020-06-02,7
+8052,2020-06-05,7
+8053,2020-06-08,7
+8054,2020-06-11,7
+8055,2020-06-14,7
+8056,2020-06-17,7
+8057,2020-06-20,7
+8058,2020-06-23,7
+8059,2020-06-26,7
+8060,2020-06-29,7
+8061,2020-07-02,7
+8062,2020-07-05,7
+8063,2020-07-08,7
+8064,2020-07-11,7
+8065,2020-07-14,7
+8066,2020-07-17,7
+8067,2020-07-20,7
+8068,2020-07-23,7
+8069,2020-07-26,7
+8070,2020-07-29,7
+8071,2020-08-01,7
+8072,2020-08-04,7
+8073,2020-08-07,7
+8074,2020-08-10,7
+8075,2020-08-13,7
+8076,2020-08-16,7
+8077,2020-08-19,7
+8078,2020-08-22,7
+8079,2020-08-25,7
+8080,2020-08-28,7
+8081,2020-08-31,7
+8082,2020-09-03,7
+8083,2020-09-06,7
+8084,2020-09-09,7
+8085,2020-09-12,7
+8086,2020-09-15,7
+8087,2020-09-18,7
+8088,2020-09-21,7
+8089,2020-09-24,7
+8090,2020-09-27,7
+8091,2020-09-30,7
+8092,2020-10-03,7
+8093,2020-10-06,7
+8094,2020-10-09,7
+8095,2020-10-12,7
+8096,2020-10-15,7
+8097,2020-10-18,7
+8098,2020-10-21,7
+8099,2020-10-24,7
+9000,2020-01-01,8
+9001,2020-01-04,8
+9002,2020-01-07,8
+9003,2020-01-10,8
+9004,2020-01-13,8
+9005,2020-01-16,8
+9006,2020-01-19,8
+9007,2020-01-22,8
+9008,2020-01-25,8
+9009,2020-01-28,8
+9010,2020-01-31,8
+9011,2020-02-03,8
+9012,2020-02-06,8
+9013,2020-02-09,8
+9014,2020-02-12,8
+9015,2020-02-15,8
+9016,2020-02-18,8
+9017,2020-02-21,8
+9018,2020-02-24,8
+9019,2020-02-27,8
+9020,2020-03-01,8
+9021,2020-03-04,8
+9022,2020-03-07,8
+9023,2020-03-10,8
+9024,2020-03-13,8
+9025,2020-03-16,8
+9026,2020-03-19,8
+9027,2020-03-22,8
+9028,2020-03-25,8
+9029,2020-03-28,8
+9030,2020-03-31,8
+9031,2020-04-03,8
+9032,2020-04-06,8
+9033,2020-04-09,8
+9034,2020-04-12,8
+9035,2020-04-15,8
+9036,2020-04-18,8
+9037,2020-04-21,8
+9038,2020-04-24,8
+9039,2020-04-27,8
+9040,2020-04-30,8
+9041,2020-05-03,8
+9042,2020-05-06,8
+9043,2020-05-09,8
+9044,2020-05-12,8
+9045,2020-05-15,8
+9046,2020-05-18,8
+9047,2020-05-21,8
+9048,2020-05-24,8
+9049,2020-05-27,8
+9050,2020-05-30,8
+9051,2020-06-02,8
+9052,2020-06-05,8
+9053,2020-06-08,8
+9054,2020-06-11,8
+9055,2020-06-14,8
+9056,2020-06-17,8
+9057,2020-06-20,8
+9058,2020-06-23,8
+9059,2020-06-26,8
+9060,2020-06-29,8
+9061,2020-07-02,8
+9062,2020-07-05,8
+9063,2020-07-08,8
+9064,2020-07-11,8
+9065,2020-07-14,8
+9066,2020-07-17,8
+9067,2020-07-20,8
+9068,2020-07-23,8
+9069,2020-07-26,8
+9070,2020-07-29,8
+9071,2020-08-01,8
+9072,2020-08-04,8
+9073,2020-08-07,8
+9074,2020-08-10,8
+9075,2020-08-13,8
+9076,2020-08-16,8
+9077,2020-08-19,8
+9078,2020-08-22,8
+9079,2020-08-25,8
+9080,2020-08-28,8
+9081,2020-08-31,8
+9082,2020-09-03,8
+9083,2020-09-06,8
+9084,2020-09-09,8
+9085,2020-09-12,8
+9086,2020-09-15,8
+9087,2020-09-18,8
+9088,2020-09-21,8
+9089,2020-09-24,8
+9090,2020-09-27,8
+9091,2020-09-30,8
+9092,2020-10-03,8
+9093,2020-10-06,8
+9094,2020-10-09,8
+9095,2020-10-12,8
+9096,2020-10-15,8
+9097,2020-10-18,8
+9098,2020-10-21,8
+9099,2020-10-24,8
+10000,2020-01-01,9
+10001,2020-01-04,9
+10002,2020-01-07,9
+10003,2020-01-10,9
+10004,2020-01-13,9
+10005,2020-01-16,9
+10006,2020-01-19,9
+10007,2020-01-22,9
+10008,2020-01-25,9
+10009,2020-01-28,9
+10010,2020-01-31,9
+10011,2020-02-03,9
+10012,2020-02-06,9
+10013,2020-02-09,9
+10014,2020-02-12,9
+10015,2020-02-15,9
+10016,2020-02-18,9
+10017,2020-02-21,9
+10018,2020-02-24,9
+10019,2020-02-27,9
+10020,2020-03-01,9
+10021,2020-03-04,9
+10022,2020-03-07,9
+10023,2020-03-10,9
+10024,2020-03-13,9
+10025,2020-03-16,9
+10026,2020-03-19,9
+10027,2020-03-22,9
+10028,2020-03-25,9
+10029,2020-03-28,9
+10030,2020-03-31,9
+10031,2020-04-03,9
+10032,2020-04-06,9
+10033,2020-04-09,9
+10034,2020-04-12,9
+10035,2020-04-15,9
+10036,2020-04-18,9
+10037,2020-04-21,9
+10038,2020-04-24,9
+10039,2020-04-27,9
+10040,2020-04-30,9
+10041,2020-05-03,9
+10042,2020-05-06,9
+10043,2020-05-09,9
+10044,2020-05-12,9
+10045,2020-05-15,9
+10046,2020-05-18,9
+10047,2020-05-21,9
+10048,2020-05-24,9
+10049,2020-05-27,9
+10050,2020-05-30,9
+10051,2020-06-02,9
+10052,2020-06-05,9
+10053,2020-06-08,9
+10054,2020-06-11,9
+10055,2020-06-14,9
+10056,2020-06-17,9
+10057,2020-06-20,9
+10058,2020-06-23,9
+10059,2020-06-26,9
+10060,2020-06-29,9
+10061,2020-07-02,9
+10062,2020-07-05,9
+10063,2020-07-08,9
+10064,2020-07-11,9
+10065,2020-07-14,9
+10066,2020-07-17,9
+10067,2020-07-20,9
+10068,2020-07-23,9
+10069,2020-07-26,9
+10070,2020-07-29,9
+10071,2020-08-01,9
+10072,2020-08-04,9
+10073,2020-08-07,9
+10074,2020-08-10,9
+10075,2020-08-13,9
+10076,2020-08-16,9
+10077,2020-08-19,9
+10078,2020-08-22,9
+10079,2020-08-25,9
+10080,2020-08-28,9
+10081,2020-08-31,9
+10082,2020-09-03,9
+10083,2020-09-06,9
+10084,2020-09-09,9
+10085,2020-09-12,9
+10086,2020-09-15,9
+10087,2020-09-18,9
+10088,2020-09-21,9
+10089,2020-09-24,9
+10090,2020-09-27,9
+10091,2020-09-30,9
+10092,2020-10-03,9
+10093,2020-10-06,9
+10094,2020-10-09,9
+10095,2020-10-12,9
+10096,2020-10-15,9
+10097,2020-10-18,9
+10098,2020-10-21,9
+10099,2020-10-24,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5min.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5min.csv
new file mode 100644
index 0000000..172d26c
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5min.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 00:05:00,0
+1002,2020-01-01 00:10:00,0
+1003,2020-01-01 00:15:00,0
+1004,2020-01-01 00:20:00,0
+1005,2020-01-01 00:25:00,0
+1006,2020-01-01 00:30:00,0
+1007,2020-01-01 00:35:00,0
+1008,2020-01-01 00:40:00,0
+1009,2020-01-01 00:45:00,0
+1010,2020-01-01 00:50:00,0
+1011,2020-01-01 00:55:00,0
+1012,2020-01-01 01:00:00,0
+1013,2020-01-01 01:05:00,0
+1014,2020-01-01 01:10:00,0
+1015,2020-01-01 01:15:00,0
+1016,2020-01-01 01:20:00,0
+1017,2020-01-01 01:25:00,0
+1018,2020-01-01 01:30:00,0
+1019,2020-01-01 01:35:00,0
+1020,2020-01-01 01:40:00,0
+1021,2020-01-01 01:45:00,0
+1022,2020-01-01 01:50:00,0
+1023,2020-01-01 01:55:00,0
+1024,2020-01-01 02:00:00,0
+1025,2020-01-01 02:05:00,0
+1026,2020-01-01 02:10:00,0
+1027,2020-01-01 02:15:00,0
+1028,2020-01-01 02:20:00,0
+1029,2020-01-01 02:25:00,0
+1030,2020-01-01 02:30:00,0
+1031,2020-01-01 02:35:00,0
+1032,2020-01-01 02:40:00,0
+1033,2020-01-01 02:45:00,0
+1034,2020-01-01 02:50:00,0
+1035,2020-01-01 02:55:00,0
+1036,2020-01-01 03:00:00,0
+1037,2020-01-01 03:05:00,0
+1038,2020-01-01 03:10:00,0
+1039,2020-01-01 03:15:00,0
+1040,2020-01-01 03:20:00,0
+1041,2020-01-01 03:25:00,0
+1042,2020-01-01 03:30:00,0
+1043,2020-01-01 03:35:00,0
+1044,2020-01-01 03:40:00,0
+1045,2020-01-01 03:45:00,0
+1046,2020-01-01 03:50:00,0
+1047,2020-01-01 03:55:00,0
+1048,2020-01-01 04:00:00,0
+1049,2020-01-01 04:05:00,0
+1050,2020-01-01 04:10:00,0
+1051,2020-01-01 04:15:00,0
+1052,2020-01-01 04:20:00,0
+1053,2020-01-01 04:25:00,0
+1054,2020-01-01 04:30:00,0
+1055,2020-01-01 04:35:00,0
+1056,2020-01-01 04:40:00,0
+1057,2020-01-01 04:45:00,0
+1058,2020-01-01 04:50:00,0
+1059,2020-01-01 04:55:00,0
+1060,2020-01-01 05:00:00,0
+1061,2020-01-01 05:05:00,0
+1062,2020-01-01 05:10:00,0
+1063,2020-01-01 05:15:00,0
+1064,2020-01-01 05:20:00,0
+1065,2020-01-01 05:25:00,0
+1066,2020-01-01 05:30:00,0
+1067,2020-01-01 05:35:00,0
+1068,2020-01-01 05:40:00,0
+1069,2020-01-01 05:45:00,0
+1070,2020-01-01 05:50:00,0
+1071,2020-01-01 05:55:00,0
+1072,2020-01-01 06:00:00,0
+1073,2020-01-01 06:05:00,0
+1074,2020-01-01 06:10:00,0
+1075,2020-01-01 06:15:00,0
+1076,2020-01-01 06:20:00,0
+1077,2020-01-01 06:25:00,0
+1078,2020-01-01 06:30:00,0
+1079,2020-01-01 06:35:00,0
+1080,2020-01-01 06:40:00,0
+1081,2020-01-01 06:45:00,0
+1082,2020-01-01 06:50:00,0
+1083,2020-01-01 06:55:00,0
+1084,2020-01-01 07:00:00,0
+1085,2020-01-01 07:05:00,0
+1086,2020-01-01 07:10:00,0
+1087,2020-01-01 07:15:00,0
+1088,2020-01-01 07:20:00,0
+1089,2020-01-01 07:25:00,0
+1090,2020-01-01 07:30:00,0
+1091,2020-01-01 07:35:00,0
+1092,2020-01-01 07:40:00,0
+1093,2020-01-01 07:45:00,0
+1094,2020-01-01 07:50:00,0
+1095,2020-01-01 07:55:00,0
+1096,2020-01-01 08:00:00,0
+1097,2020-01-01 08:05:00,0
+1098,2020-01-01 08:10:00,0
+1099,2020-01-01 08:15:00,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 00:05:00,1
+2002,2020-01-01 00:10:00,1
+2003,2020-01-01 00:15:00,1
+2004,2020-01-01 00:20:00,1
+2005,2020-01-01 00:25:00,1
+2006,2020-01-01 00:30:00,1
+2007,2020-01-01 00:35:00,1
+2008,2020-01-01 00:40:00,1
+2009,2020-01-01 00:45:00,1
+2010,2020-01-01 00:50:00,1
+2011,2020-01-01 00:55:00,1
+2012,2020-01-01 01:00:00,1
+2013,2020-01-01 01:05:00,1
+2014,2020-01-01 01:10:00,1
+2015,2020-01-01 01:15:00,1
+2016,2020-01-01 01:20:00,1
+2017,2020-01-01 01:25:00,1
+2018,2020-01-01 01:30:00,1
+2019,2020-01-01 01:35:00,1
+2020,2020-01-01 01:40:00,1
+2021,2020-01-01 01:45:00,1
+2022,2020-01-01 01:50:00,1
+2023,2020-01-01 01:55:00,1
+2024,2020-01-01 02:00:00,1
+2025,2020-01-01 02:05:00,1
+2026,2020-01-01 02:10:00,1
+2027,2020-01-01 02:15:00,1
+2028,2020-01-01 02:20:00,1
+2029,2020-01-01 02:25:00,1
+2030,2020-01-01 02:30:00,1
+2031,2020-01-01 02:35:00,1
+2032,2020-01-01 02:40:00,1
+2033,2020-01-01 02:45:00,1
+2034,2020-01-01 02:50:00,1
+2035,2020-01-01 02:55:00,1
+2036,2020-01-01 03:00:00,1
+2037,2020-01-01 03:05:00,1
+2038,2020-01-01 03:10:00,1
+2039,2020-01-01 03:15:00,1
+2040,2020-01-01 03:20:00,1
+2041,2020-01-01 03:25:00,1
+2042,2020-01-01 03:30:00,1
+2043,2020-01-01 03:35:00,1
+2044,2020-01-01 03:40:00,1
+2045,2020-01-01 03:45:00,1
+2046,2020-01-01 03:50:00,1
+2047,2020-01-01 03:55:00,1
+2048,2020-01-01 04:00:00,1
+2049,2020-01-01 04:05:00,1
+2050,2020-01-01 04:10:00,1
+2051,2020-01-01 04:15:00,1
+2052,2020-01-01 04:20:00,1
+2053,2020-01-01 04:25:00,1
+2054,2020-01-01 04:30:00,1
+2055,2020-01-01 04:35:00,1
+2056,2020-01-01 04:40:00,1
+2057,2020-01-01 04:45:00,1
+2058,2020-01-01 04:50:00,1
+2059,2020-01-01 04:55:00,1
+2060,2020-01-01 05:00:00,1
+2061,2020-01-01 05:05:00,1
+2062,2020-01-01 05:10:00,1
+2063,2020-01-01 05:15:00,1
+2064,2020-01-01 05:20:00,1
+2065,2020-01-01 05:25:00,1
+2066,2020-01-01 05:30:00,1
+2067,2020-01-01 05:35:00,1
+2068,2020-01-01 05:40:00,1
+2069,2020-01-01 05:45:00,1
+2070,2020-01-01 05:50:00,1
+2071,2020-01-01 05:55:00,1
+2072,2020-01-01 06:00:00,1
+2073,2020-01-01 06:05:00,1
+2074,2020-01-01 06:10:00,1
+2075,2020-01-01 06:15:00,1
+2076,2020-01-01 06:20:00,1
+2077,2020-01-01 06:25:00,1
+2078,2020-01-01 06:30:00,1
+2079,2020-01-01 06:35:00,1
+2080,2020-01-01 06:40:00,1
+2081,2020-01-01 06:45:00,1
+2082,2020-01-01 06:50:00,1
+2083,2020-01-01 06:55:00,1
+2084,2020-01-01 07:00:00,1
+2085,2020-01-01 07:05:00,1
+2086,2020-01-01 07:10:00,1
+2087,2020-01-01 07:15:00,1
+2088,2020-01-01 07:20:00,1
+2089,2020-01-01 07:25:00,1
+2090,2020-01-01 07:30:00,1
+2091,2020-01-01 07:35:00,1
+2092,2020-01-01 07:40:00,1
+2093,2020-01-01 07:45:00,1
+2094,2020-01-01 07:50:00,1
+2095,2020-01-01 07:55:00,1
+2096,2020-01-01 08:00:00,1
+2097,2020-01-01 08:05:00,1
+2098,2020-01-01 08:10:00,1
+2099,2020-01-01 08:15:00,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 00:05:00,2
+3002,2020-01-01 00:10:00,2
+3003,2020-01-01 00:15:00,2
+3004,2020-01-01 00:20:00,2
+3005,2020-01-01 00:25:00,2
+3006,2020-01-01 00:30:00,2
+3007,2020-01-01 00:35:00,2
+3008,2020-01-01 00:40:00,2
+3009,2020-01-01 00:45:00,2
+3010,2020-01-01 00:50:00,2
+3011,2020-01-01 00:55:00,2
+3012,2020-01-01 01:00:00,2
+3013,2020-01-01 01:05:00,2
+3014,2020-01-01 01:10:00,2
+3015,2020-01-01 01:15:00,2
+3016,2020-01-01 01:20:00,2
+3017,2020-01-01 01:25:00,2
+3018,2020-01-01 01:30:00,2
+3019,2020-01-01 01:35:00,2
+3020,2020-01-01 01:40:00,2
+3021,2020-01-01 01:45:00,2
+3022,2020-01-01 01:50:00,2
+3023,2020-01-01 01:55:00,2
+3024,2020-01-01 02:00:00,2
+3025,2020-01-01 02:05:00,2
+3026,2020-01-01 02:10:00,2
+3027,2020-01-01 02:15:00,2
+3028,2020-01-01 02:20:00,2
+3029,2020-01-01 02:25:00,2
+3030,2020-01-01 02:30:00,2
+3031,2020-01-01 02:35:00,2
+3032,2020-01-01 02:40:00,2
+3033,2020-01-01 02:45:00,2
+3034,2020-01-01 02:50:00,2
+3035,2020-01-01 02:55:00,2
+3036,2020-01-01 03:00:00,2
+3037,2020-01-01 03:05:00,2
+3038,2020-01-01 03:10:00,2
+3039,2020-01-01 03:15:00,2
+3040,2020-01-01 03:20:00,2
+3041,2020-01-01 03:25:00,2
+3042,2020-01-01 03:30:00,2
+3043,2020-01-01 03:35:00,2
+3044,2020-01-01 03:40:00,2
+3045,2020-01-01 03:45:00,2
+3046,2020-01-01 03:50:00,2
+3047,2020-01-01 03:55:00,2
+3048,2020-01-01 04:00:00,2
+3049,2020-01-01 04:05:00,2
+3050,2020-01-01 04:10:00,2
+3051,2020-01-01 04:15:00,2
+3052,2020-01-01 04:20:00,2
+3053,2020-01-01 04:25:00,2
+3054,2020-01-01 04:30:00,2
+3055,2020-01-01 04:35:00,2
+3056,2020-01-01 04:40:00,2
+3057,2020-01-01 04:45:00,2
+3058,2020-01-01 04:50:00,2
+3059,2020-01-01 04:55:00,2
+3060,2020-01-01 05:00:00,2
+3061,2020-01-01 05:05:00,2
+3062,2020-01-01 05:10:00,2
+3063,2020-01-01 05:15:00,2
+3064,2020-01-01 05:20:00,2
+3065,2020-01-01 05:25:00,2
+3066,2020-01-01 05:30:00,2
+3067,2020-01-01 05:35:00,2
+3068,2020-01-01 05:40:00,2
+3069,2020-01-01 05:45:00,2
+3070,2020-01-01 05:50:00,2
+3071,2020-01-01 05:55:00,2
+3072,2020-01-01 06:00:00,2
+3073,2020-01-01 06:05:00,2
+3074,2020-01-01 06:10:00,2
+3075,2020-01-01 06:15:00,2
+3076,2020-01-01 06:20:00,2
+3077,2020-01-01 06:25:00,2
+3078,2020-01-01 06:30:00,2
+3079,2020-01-01 06:35:00,2
+3080,2020-01-01 06:40:00,2
+3081,2020-01-01 06:45:00,2
+3082,2020-01-01 06:50:00,2
+3083,2020-01-01 06:55:00,2
+3084,2020-01-01 07:00:00,2
+3085,2020-01-01 07:05:00,2
+3086,2020-01-01 07:10:00,2
+3087,2020-01-01 07:15:00,2
+3088,2020-01-01 07:20:00,2
+3089,2020-01-01 07:25:00,2
+3090,2020-01-01 07:30:00,2
+3091,2020-01-01 07:35:00,2
+3092,2020-01-01 07:40:00,2
+3093,2020-01-01 07:45:00,2
+3094,2020-01-01 07:50:00,2
+3095,2020-01-01 07:55:00,2
+3096,2020-01-01 08:00:00,2
+3097,2020-01-01 08:05:00,2
+3098,2020-01-01 08:10:00,2
+3099,2020-01-01 08:15:00,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 00:05:00,3
+4002,2020-01-01 00:10:00,3
+4003,2020-01-01 00:15:00,3
+4004,2020-01-01 00:20:00,3
+4005,2020-01-01 00:25:00,3
+4006,2020-01-01 00:30:00,3
+4007,2020-01-01 00:35:00,3
+4008,2020-01-01 00:40:00,3
+4009,2020-01-01 00:45:00,3
+4010,2020-01-01 00:50:00,3
+4011,2020-01-01 00:55:00,3
+4012,2020-01-01 01:00:00,3
+4013,2020-01-01 01:05:00,3
+4014,2020-01-01 01:10:00,3
+4015,2020-01-01 01:15:00,3
+4016,2020-01-01 01:20:00,3
+4017,2020-01-01 01:25:00,3
+4018,2020-01-01 01:30:00,3
+4019,2020-01-01 01:35:00,3
+4020,2020-01-01 01:40:00,3
+4021,2020-01-01 01:45:00,3
+4022,2020-01-01 01:50:00,3
+4023,2020-01-01 01:55:00,3
+4024,2020-01-01 02:00:00,3
+4025,2020-01-01 02:05:00,3
+4026,2020-01-01 02:10:00,3
+4027,2020-01-01 02:15:00,3
+4028,2020-01-01 02:20:00,3
+4029,2020-01-01 02:25:00,3
+4030,2020-01-01 02:30:00,3
+4031,2020-01-01 02:35:00,3
+4032,2020-01-01 02:40:00,3
+4033,2020-01-01 02:45:00,3
+4034,2020-01-01 02:50:00,3
+4035,2020-01-01 02:55:00,3
+4036,2020-01-01 03:00:00,3
+4037,2020-01-01 03:05:00,3
+4038,2020-01-01 03:10:00,3
+4039,2020-01-01 03:15:00,3
+4040,2020-01-01 03:20:00,3
+4041,2020-01-01 03:25:00,3
+4042,2020-01-01 03:30:00,3
+4043,2020-01-01 03:35:00,3
+4044,2020-01-01 03:40:00,3
+4045,2020-01-01 03:45:00,3
+4046,2020-01-01 03:50:00,3
+4047,2020-01-01 03:55:00,3
+4048,2020-01-01 04:00:00,3
+4049,2020-01-01 04:05:00,3
+4050,2020-01-01 04:10:00,3
+4051,2020-01-01 04:15:00,3
+4052,2020-01-01 04:20:00,3
+4053,2020-01-01 04:25:00,3
+4054,2020-01-01 04:30:00,3
+4055,2020-01-01 04:35:00,3
+4056,2020-01-01 04:40:00,3
+4057,2020-01-01 04:45:00,3
+4058,2020-01-01 04:50:00,3
+4059,2020-01-01 04:55:00,3
+4060,2020-01-01 05:00:00,3
+4061,2020-01-01 05:05:00,3
+4062,2020-01-01 05:10:00,3
+4063,2020-01-01 05:15:00,3
+4064,2020-01-01 05:20:00,3
+4065,2020-01-01 05:25:00,3
+4066,2020-01-01 05:30:00,3
+4067,2020-01-01 05:35:00,3
+4068,2020-01-01 05:40:00,3
+4069,2020-01-01 05:45:00,3
+4070,2020-01-01 05:50:00,3
+4071,2020-01-01 05:55:00,3
+4072,2020-01-01 06:00:00,3
+4073,2020-01-01 06:05:00,3
+4074,2020-01-01 06:10:00,3
+4075,2020-01-01 06:15:00,3
+4076,2020-01-01 06:20:00,3
+4077,2020-01-01 06:25:00,3
+4078,2020-01-01 06:30:00,3
+4079,2020-01-01 06:35:00,3
+4080,2020-01-01 06:40:00,3
+4081,2020-01-01 06:45:00,3
+4082,2020-01-01 06:50:00,3
+4083,2020-01-01 06:55:00,3
+4084,2020-01-01 07:00:00,3
+4085,2020-01-01 07:05:00,3
+4086,2020-01-01 07:10:00,3
+4087,2020-01-01 07:15:00,3
+4088,2020-01-01 07:20:00,3
+4089,2020-01-01 07:25:00,3
+4090,2020-01-01 07:30:00,3
+4091,2020-01-01 07:35:00,3
+4092,2020-01-01 07:40:00,3
+4093,2020-01-01 07:45:00,3
+4094,2020-01-01 07:50:00,3
+4095,2020-01-01 07:55:00,3
+4096,2020-01-01 08:00:00,3
+4097,2020-01-01 08:05:00,3
+4098,2020-01-01 08:10:00,3
+4099,2020-01-01 08:15:00,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 00:05:00,4
+5002,2020-01-01 00:10:00,4
+5003,2020-01-01 00:15:00,4
+5004,2020-01-01 00:20:00,4
+5005,2020-01-01 00:25:00,4
+5006,2020-01-01 00:30:00,4
+5007,2020-01-01 00:35:00,4
+5008,2020-01-01 00:40:00,4
+5009,2020-01-01 00:45:00,4
+5010,2020-01-01 00:50:00,4
+5011,2020-01-01 00:55:00,4
+5012,2020-01-01 01:00:00,4
+5013,2020-01-01 01:05:00,4
+5014,2020-01-01 01:10:00,4
+5015,2020-01-01 01:15:00,4
+5016,2020-01-01 01:20:00,4
+5017,2020-01-01 01:25:00,4
+5018,2020-01-01 01:30:00,4
+5019,2020-01-01 01:35:00,4
+5020,2020-01-01 01:40:00,4
+5021,2020-01-01 01:45:00,4
+5022,2020-01-01 01:50:00,4
+5023,2020-01-01 01:55:00,4
+5024,2020-01-01 02:00:00,4
+5025,2020-01-01 02:05:00,4
+5026,2020-01-01 02:10:00,4
+5027,2020-01-01 02:15:00,4
+5028,2020-01-01 02:20:00,4
+5029,2020-01-01 02:25:00,4
+5030,2020-01-01 02:30:00,4
+5031,2020-01-01 02:35:00,4
+5032,2020-01-01 02:40:00,4
+5033,2020-01-01 02:45:00,4
+5034,2020-01-01 02:50:00,4
+5035,2020-01-01 02:55:00,4
+5036,2020-01-01 03:00:00,4
+5037,2020-01-01 03:05:00,4
+5038,2020-01-01 03:10:00,4
+5039,2020-01-01 03:15:00,4
+5040,2020-01-01 03:20:00,4
+5041,2020-01-01 03:25:00,4
+5042,2020-01-01 03:30:00,4
+5043,2020-01-01 03:35:00,4
+5044,2020-01-01 03:40:00,4
+5045,2020-01-01 03:45:00,4
+5046,2020-01-01 03:50:00,4
+5047,2020-01-01 03:55:00,4
+5048,2020-01-01 04:00:00,4
+5049,2020-01-01 04:05:00,4
+5050,2020-01-01 04:10:00,4
+5051,2020-01-01 04:15:00,4
+5052,2020-01-01 04:20:00,4
+5053,2020-01-01 04:25:00,4
+5054,2020-01-01 04:30:00,4
+5055,2020-01-01 04:35:00,4
+5056,2020-01-01 04:40:00,4
+5057,2020-01-01 04:45:00,4
+5058,2020-01-01 04:50:00,4
+5059,2020-01-01 04:55:00,4
+5060,2020-01-01 05:00:00,4
+5061,2020-01-01 05:05:00,4
+5062,2020-01-01 05:10:00,4
+5063,2020-01-01 05:15:00,4
+5064,2020-01-01 05:20:00,4
+5065,2020-01-01 05:25:00,4
+5066,2020-01-01 05:30:00,4
+5067,2020-01-01 05:35:00,4
+5068,2020-01-01 05:40:00,4
+5069,2020-01-01 05:45:00,4
+5070,2020-01-01 05:50:00,4
+5071,2020-01-01 05:55:00,4
+5072,2020-01-01 06:00:00,4
+5073,2020-01-01 06:05:00,4
+5074,2020-01-01 06:10:00,4
+5075,2020-01-01 06:15:00,4
+5076,2020-01-01 06:20:00,4
+5077,2020-01-01 06:25:00,4
+5078,2020-01-01 06:30:00,4
+5079,2020-01-01 06:35:00,4
+5080,2020-01-01 06:40:00,4
+5081,2020-01-01 06:45:00,4
+5082,2020-01-01 06:50:00,4
+5083,2020-01-01 06:55:00,4
+5084,2020-01-01 07:00:00,4
+5085,2020-01-01 07:05:00,4
+5086,2020-01-01 07:10:00,4
+5087,2020-01-01 07:15:00,4
+5088,2020-01-01 07:20:00,4
+5089,2020-01-01 07:25:00,4
+5090,2020-01-01 07:30:00,4
+5091,2020-01-01 07:35:00,4
+5092,2020-01-01 07:40:00,4
+5093,2020-01-01 07:45:00,4
+5094,2020-01-01 07:50:00,4
+5095,2020-01-01 07:55:00,4
+5096,2020-01-01 08:00:00,4
+5097,2020-01-01 08:05:00,4
+5098,2020-01-01 08:10:00,4
+5099,2020-01-01 08:15:00,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 00:05:00,5
+6002,2020-01-01 00:10:00,5
+6003,2020-01-01 00:15:00,5
+6004,2020-01-01 00:20:00,5
+6005,2020-01-01 00:25:00,5
+6006,2020-01-01 00:30:00,5
+6007,2020-01-01 00:35:00,5
+6008,2020-01-01 00:40:00,5
+6009,2020-01-01 00:45:00,5
+6010,2020-01-01 00:50:00,5
+6011,2020-01-01 00:55:00,5
+6012,2020-01-01 01:00:00,5
+6013,2020-01-01 01:05:00,5
+6014,2020-01-01 01:10:00,5
+6015,2020-01-01 01:15:00,5
+6016,2020-01-01 01:20:00,5
+6017,2020-01-01 01:25:00,5
+6018,2020-01-01 01:30:00,5
+6019,2020-01-01 01:35:00,5
+6020,2020-01-01 01:40:00,5
+6021,2020-01-01 01:45:00,5
+6022,2020-01-01 01:50:00,5
+6023,2020-01-01 01:55:00,5
+6024,2020-01-01 02:00:00,5
+6025,2020-01-01 02:05:00,5
+6026,2020-01-01 02:10:00,5
+6027,2020-01-01 02:15:00,5
+6028,2020-01-01 02:20:00,5
+6029,2020-01-01 02:25:00,5
+6030,2020-01-01 02:30:00,5
+6031,2020-01-01 02:35:00,5
+6032,2020-01-01 02:40:00,5
+6033,2020-01-01 02:45:00,5
+6034,2020-01-01 02:50:00,5
+6035,2020-01-01 02:55:00,5
+6036,2020-01-01 03:00:00,5
+6037,2020-01-01 03:05:00,5
+6038,2020-01-01 03:10:00,5
+6039,2020-01-01 03:15:00,5
+6040,2020-01-01 03:20:00,5
+6041,2020-01-01 03:25:00,5
+6042,2020-01-01 03:30:00,5
+6043,2020-01-01 03:35:00,5
+6044,2020-01-01 03:40:00,5
+6045,2020-01-01 03:45:00,5
+6046,2020-01-01 03:50:00,5
+6047,2020-01-01 03:55:00,5
+6048,2020-01-01 04:00:00,5
+6049,2020-01-01 04:05:00,5
+6050,2020-01-01 04:10:00,5
+6051,2020-01-01 04:15:00,5
+6052,2020-01-01 04:20:00,5
+6053,2020-01-01 04:25:00,5
+6054,2020-01-01 04:30:00,5
+6055,2020-01-01 04:35:00,5
+6056,2020-01-01 04:40:00,5
+6057,2020-01-01 04:45:00,5
+6058,2020-01-01 04:50:00,5
+6059,2020-01-01 04:55:00,5
+6060,2020-01-01 05:00:00,5
+6061,2020-01-01 05:05:00,5
+6062,2020-01-01 05:10:00,5
+6063,2020-01-01 05:15:00,5
+6064,2020-01-01 05:20:00,5
+6065,2020-01-01 05:25:00,5
+6066,2020-01-01 05:30:00,5
+6067,2020-01-01 05:35:00,5
+6068,2020-01-01 05:40:00,5
+6069,2020-01-01 05:45:00,5
+6070,2020-01-01 05:50:00,5
+6071,2020-01-01 05:55:00,5
+6072,2020-01-01 06:00:00,5
+6073,2020-01-01 06:05:00,5
+6074,2020-01-01 06:10:00,5
+6075,2020-01-01 06:15:00,5
+6076,2020-01-01 06:20:00,5
+6077,2020-01-01 06:25:00,5
+6078,2020-01-01 06:30:00,5
+6079,2020-01-01 06:35:00,5
+6080,2020-01-01 06:40:00,5
+6081,2020-01-01 06:45:00,5
+6082,2020-01-01 06:50:00,5
+6083,2020-01-01 06:55:00,5
+6084,2020-01-01 07:00:00,5
+6085,2020-01-01 07:05:00,5
+6086,2020-01-01 07:10:00,5
+6087,2020-01-01 07:15:00,5
+6088,2020-01-01 07:20:00,5
+6089,2020-01-01 07:25:00,5
+6090,2020-01-01 07:30:00,5
+6091,2020-01-01 07:35:00,5
+6092,2020-01-01 07:40:00,5
+6093,2020-01-01 07:45:00,5
+6094,2020-01-01 07:50:00,5
+6095,2020-01-01 07:55:00,5
+6096,2020-01-01 08:00:00,5
+6097,2020-01-01 08:05:00,5
+6098,2020-01-01 08:10:00,5
+6099,2020-01-01 08:15:00,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 00:05:00,6
+7002,2020-01-01 00:10:00,6
+7003,2020-01-01 00:15:00,6
+7004,2020-01-01 00:20:00,6
+7005,2020-01-01 00:25:00,6
+7006,2020-01-01 00:30:00,6
+7007,2020-01-01 00:35:00,6
+7008,2020-01-01 00:40:00,6
+7009,2020-01-01 00:45:00,6
+7010,2020-01-01 00:50:00,6
+7011,2020-01-01 00:55:00,6
+7012,2020-01-01 01:00:00,6
+7013,2020-01-01 01:05:00,6
+7014,2020-01-01 01:10:00,6
+7015,2020-01-01 01:15:00,6
+7016,2020-01-01 01:20:00,6
+7017,2020-01-01 01:25:00,6
+7018,2020-01-01 01:30:00,6
+7019,2020-01-01 01:35:00,6
+7020,2020-01-01 01:40:00,6
+7021,2020-01-01 01:45:00,6
+7022,2020-01-01 01:50:00,6
+7023,2020-01-01 01:55:00,6
+7024,2020-01-01 02:00:00,6
+7025,2020-01-01 02:05:00,6
+7026,2020-01-01 02:10:00,6
+7027,2020-01-01 02:15:00,6
+7028,2020-01-01 02:20:00,6
+7029,2020-01-01 02:25:00,6
+7030,2020-01-01 02:30:00,6
+7031,2020-01-01 02:35:00,6
+7032,2020-01-01 02:40:00,6
+7033,2020-01-01 02:45:00,6
+7034,2020-01-01 02:50:00,6
+7035,2020-01-01 02:55:00,6
+7036,2020-01-01 03:00:00,6
+7037,2020-01-01 03:05:00,6
+7038,2020-01-01 03:10:00,6
+7039,2020-01-01 03:15:00,6
+7040,2020-01-01 03:20:00,6
+7041,2020-01-01 03:25:00,6
+7042,2020-01-01 03:30:00,6
+7043,2020-01-01 03:35:00,6
+7044,2020-01-01 03:40:00,6
+7045,2020-01-01 03:45:00,6
+7046,2020-01-01 03:50:00,6
+7047,2020-01-01 03:55:00,6
+7048,2020-01-01 04:00:00,6
+7049,2020-01-01 04:05:00,6
+7050,2020-01-01 04:10:00,6
+7051,2020-01-01 04:15:00,6
+7052,2020-01-01 04:20:00,6
+7053,2020-01-01 04:25:00,6
+7054,2020-01-01 04:30:00,6
+7055,2020-01-01 04:35:00,6
+7056,2020-01-01 04:40:00,6
+7057,2020-01-01 04:45:00,6
+7058,2020-01-01 04:50:00,6
+7059,2020-01-01 04:55:00,6
+7060,2020-01-01 05:00:00,6
+7061,2020-01-01 05:05:00,6
+7062,2020-01-01 05:10:00,6
+7063,2020-01-01 05:15:00,6
+7064,2020-01-01 05:20:00,6
+7065,2020-01-01 05:25:00,6
+7066,2020-01-01 05:30:00,6
+7067,2020-01-01 05:35:00,6
+7068,2020-01-01 05:40:00,6
+7069,2020-01-01 05:45:00,6
+7070,2020-01-01 05:50:00,6
+7071,2020-01-01 05:55:00,6
+7072,2020-01-01 06:00:00,6
+7073,2020-01-01 06:05:00,6
+7074,2020-01-01 06:10:00,6
+7075,2020-01-01 06:15:00,6
+7076,2020-01-01 06:20:00,6
+7077,2020-01-01 06:25:00,6
+7078,2020-01-01 06:30:00,6
+7079,2020-01-01 06:35:00,6
+7080,2020-01-01 06:40:00,6
+7081,2020-01-01 06:45:00,6
+7082,2020-01-01 06:50:00,6
+7083,2020-01-01 06:55:00,6
+7084,2020-01-01 07:00:00,6
+7085,2020-01-01 07:05:00,6
+7086,2020-01-01 07:10:00,6
+7087,2020-01-01 07:15:00,6
+7088,2020-01-01 07:20:00,6
+7089,2020-01-01 07:25:00,6
+7090,2020-01-01 07:30:00,6
+7091,2020-01-01 07:35:00,6
+7092,2020-01-01 07:40:00,6
+7093,2020-01-01 07:45:00,6
+7094,2020-01-01 07:50:00,6
+7095,2020-01-01 07:55:00,6
+7096,2020-01-01 08:00:00,6
+7097,2020-01-01 08:05:00,6
+7098,2020-01-01 08:10:00,6
+7099,2020-01-01 08:15:00,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 00:05:00,7
+8002,2020-01-01 00:10:00,7
+8003,2020-01-01 00:15:00,7
+8004,2020-01-01 00:20:00,7
+8005,2020-01-01 00:25:00,7
+8006,2020-01-01 00:30:00,7
+8007,2020-01-01 00:35:00,7
+8008,2020-01-01 00:40:00,7
+8009,2020-01-01 00:45:00,7
+8010,2020-01-01 00:50:00,7
+8011,2020-01-01 00:55:00,7
+8012,2020-01-01 01:00:00,7
+8013,2020-01-01 01:05:00,7
+8014,2020-01-01 01:10:00,7
+8015,2020-01-01 01:15:00,7
+8016,2020-01-01 01:20:00,7
+8017,2020-01-01 01:25:00,7
+8018,2020-01-01 01:30:00,7
+8019,2020-01-01 01:35:00,7
+8020,2020-01-01 01:40:00,7
+8021,2020-01-01 01:45:00,7
+8022,2020-01-01 01:50:00,7
+8023,2020-01-01 01:55:00,7
+8024,2020-01-01 02:00:00,7
+8025,2020-01-01 02:05:00,7
+8026,2020-01-01 02:10:00,7
+8027,2020-01-01 02:15:00,7
+8028,2020-01-01 02:20:00,7
+8029,2020-01-01 02:25:00,7
+8030,2020-01-01 02:30:00,7
+8031,2020-01-01 02:35:00,7
+8032,2020-01-01 02:40:00,7
+8033,2020-01-01 02:45:00,7
+8034,2020-01-01 02:50:00,7
+8035,2020-01-01 02:55:00,7
+8036,2020-01-01 03:00:00,7
+8037,2020-01-01 03:05:00,7
+8038,2020-01-01 03:10:00,7
+8039,2020-01-01 03:15:00,7
+8040,2020-01-01 03:20:00,7
+8041,2020-01-01 03:25:00,7
+8042,2020-01-01 03:30:00,7
+8043,2020-01-01 03:35:00,7
+8044,2020-01-01 03:40:00,7
+8045,2020-01-01 03:45:00,7
+8046,2020-01-01 03:50:00,7
+8047,2020-01-01 03:55:00,7
+8048,2020-01-01 04:00:00,7
+8049,2020-01-01 04:05:00,7
+8050,2020-01-01 04:10:00,7
+8051,2020-01-01 04:15:00,7
+8052,2020-01-01 04:20:00,7
+8053,2020-01-01 04:25:00,7
+8054,2020-01-01 04:30:00,7
+8055,2020-01-01 04:35:00,7
+8056,2020-01-01 04:40:00,7
+8057,2020-01-01 04:45:00,7
+8058,2020-01-01 04:50:00,7
+8059,2020-01-01 04:55:00,7
+8060,2020-01-01 05:00:00,7
+8061,2020-01-01 05:05:00,7
+8062,2020-01-01 05:10:00,7
+8063,2020-01-01 05:15:00,7
+8064,2020-01-01 05:20:00,7
+8065,2020-01-01 05:25:00,7
+8066,2020-01-01 05:30:00,7
+8067,2020-01-01 05:35:00,7
+8068,2020-01-01 05:40:00,7
+8069,2020-01-01 05:45:00,7
+8070,2020-01-01 05:50:00,7
+8071,2020-01-01 05:55:00,7
+8072,2020-01-01 06:00:00,7
+8073,2020-01-01 06:05:00,7
+8074,2020-01-01 06:10:00,7
+8075,2020-01-01 06:15:00,7
+8076,2020-01-01 06:20:00,7
+8077,2020-01-01 06:25:00,7
+8078,2020-01-01 06:30:00,7
+8079,2020-01-01 06:35:00,7
+8080,2020-01-01 06:40:00,7
+8081,2020-01-01 06:45:00,7
+8082,2020-01-01 06:50:00,7
+8083,2020-01-01 06:55:00,7
+8084,2020-01-01 07:00:00,7
+8085,2020-01-01 07:05:00,7
+8086,2020-01-01 07:10:00,7
+8087,2020-01-01 07:15:00,7
+8088,2020-01-01 07:20:00,7
+8089,2020-01-01 07:25:00,7
+8090,2020-01-01 07:30:00,7
+8091,2020-01-01 07:35:00,7
+8092,2020-01-01 07:40:00,7
+8093,2020-01-01 07:45:00,7
+8094,2020-01-01 07:50:00,7
+8095,2020-01-01 07:55:00,7
+8096,2020-01-01 08:00:00,7
+8097,2020-01-01 08:05:00,7
+8098,2020-01-01 08:10:00,7
+8099,2020-01-01 08:15:00,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 00:05:00,8
+9002,2020-01-01 00:10:00,8
+9003,2020-01-01 00:15:00,8
+9004,2020-01-01 00:20:00,8
+9005,2020-01-01 00:25:00,8
+9006,2020-01-01 00:30:00,8
+9007,2020-01-01 00:35:00,8
+9008,2020-01-01 00:40:00,8
+9009,2020-01-01 00:45:00,8
+9010,2020-01-01 00:50:00,8
+9011,2020-01-01 00:55:00,8
+9012,2020-01-01 01:00:00,8
+9013,2020-01-01 01:05:00,8
+9014,2020-01-01 01:10:00,8
+9015,2020-01-01 01:15:00,8
+9016,2020-01-01 01:20:00,8
+9017,2020-01-01 01:25:00,8
+9018,2020-01-01 01:30:00,8
+9019,2020-01-01 01:35:00,8
+9020,2020-01-01 01:40:00,8
+9021,2020-01-01 01:45:00,8
+9022,2020-01-01 01:50:00,8
+9023,2020-01-01 01:55:00,8
+9024,2020-01-01 02:00:00,8
+9025,2020-01-01 02:05:00,8
+9026,2020-01-01 02:10:00,8
+9027,2020-01-01 02:15:00,8
+9028,2020-01-01 02:20:00,8
+9029,2020-01-01 02:25:00,8
+9030,2020-01-01 02:30:00,8
+9031,2020-01-01 02:35:00,8
+9032,2020-01-01 02:40:00,8
+9033,2020-01-01 02:45:00,8
+9034,2020-01-01 02:50:00,8
+9035,2020-01-01 02:55:00,8
+9036,2020-01-01 03:00:00,8
+9037,2020-01-01 03:05:00,8
+9038,2020-01-01 03:10:00,8
+9039,2020-01-01 03:15:00,8
+9040,2020-01-01 03:20:00,8
+9041,2020-01-01 03:25:00,8
+9042,2020-01-01 03:30:00,8
+9043,2020-01-01 03:35:00,8
+9044,2020-01-01 03:40:00,8
+9045,2020-01-01 03:45:00,8
+9046,2020-01-01 03:50:00,8
+9047,2020-01-01 03:55:00,8
+9048,2020-01-01 04:00:00,8
+9049,2020-01-01 04:05:00,8
+9050,2020-01-01 04:10:00,8
+9051,2020-01-01 04:15:00,8
+9052,2020-01-01 04:20:00,8
+9053,2020-01-01 04:25:00,8
+9054,2020-01-01 04:30:00,8
+9055,2020-01-01 04:35:00,8
+9056,2020-01-01 04:40:00,8
+9057,2020-01-01 04:45:00,8
+9058,2020-01-01 04:50:00,8
+9059,2020-01-01 04:55:00,8
+9060,2020-01-01 05:00:00,8
+9061,2020-01-01 05:05:00,8
+9062,2020-01-01 05:10:00,8
+9063,2020-01-01 05:15:00,8
+9064,2020-01-01 05:20:00,8
+9065,2020-01-01 05:25:00,8
+9066,2020-01-01 05:30:00,8
+9067,2020-01-01 05:35:00,8
+9068,2020-01-01 05:40:00,8
+9069,2020-01-01 05:45:00,8
+9070,2020-01-01 05:50:00,8
+9071,2020-01-01 05:55:00,8
+9072,2020-01-01 06:00:00,8
+9073,2020-01-01 06:05:00,8
+9074,2020-01-01 06:10:00,8
+9075,2020-01-01 06:15:00,8
+9076,2020-01-01 06:20:00,8
+9077,2020-01-01 06:25:00,8
+9078,2020-01-01 06:30:00,8
+9079,2020-01-01 06:35:00,8
+9080,2020-01-01 06:40:00,8
+9081,2020-01-01 06:45:00,8
+9082,2020-01-01 06:50:00,8
+9083,2020-01-01 06:55:00,8
+9084,2020-01-01 07:00:00,8
+9085,2020-01-01 07:05:00,8
+9086,2020-01-01 07:10:00,8
+9087,2020-01-01 07:15:00,8
+9088,2020-01-01 07:20:00,8
+9089,2020-01-01 07:25:00,8
+9090,2020-01-01 07:30:00,8
+9091,2020-01-01 07:35:00,8
+9092,2020-01-01 07:40:00,8
+9093,2020-01-01 07:45:00,8
+9094,2020-01-01 07:50:00,8
+9095,2020-01-01 07:55:00,8
+9096,2020-01-01 08:00:00,8
+9097,2020-01-01 08:05:00,8
+9098,2020-01-01 08:10:00,8
+9099,2020-01-01 08:15:00,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 00:05:00,9
+10002,2020-01-01 00:10:00,9
+10003,2020-01-01 00:15:00,9
+10004,2020-01-01 00:20:00,9
+10005,2020-01-01 00:25:00,9
+10006,2020-01-01 00:30:00,9
+10007,2020-01-01 00:35:00,9
+10008,2020-01-01 00:40:00,9
+10009,2020-01-01 00:45:00,9
+10010,2020-01-01 00:50:00,9
+10011,2020-01-01 00:55:00,9
+10012,2020-01-01 01:00:00,9
+10013,2020-01-01 01:05:00,9
+10014,2020-01-01 01:10:00,9
+10015,2020-01-01 01:15:00,9
+10016,2020-01-01 01:20:00,9
+10017,2020-01-01 01:25:00,9
+10018,2020-01-01 01:30:00,9
+10019,2020-01-01 01:35:00,9
+10020,2020-01-01 01:40:00,9
+10021,2020-01-01 01:45:00,9
+10022,2020-01-01 01:50:00,9
+10023,2020-01-01 01:55:00,9
+10024,2020-01-01 02:00:00,9
+10025,2020-01-01 02:05:00,9
+10026,2020-01-01 02:10:00,9
+10027,2020-01-01 02:15:00,9
+10028,2020-01-01 02:20:00,9
+10029,2020-01-01 02:25:00,9
+10030,2020-01-01 02:30:00,9
+10031,2020-01-01 02:35:00,9
+10032,2020-01-01 02:40:00,9
+10033,2020-01-01 02:45:00,9
+10034,2020-01-01 02:50:00,9
+10035,2020-01-01 02:55:00,9
+10036,2020-01-01 03:00:00,9
+10037,2020-01-01 03:05:00,9
+10038,2020-01-01 03:10:00,9
+10039,2020-01-01 03:15:00,9
+10040,2020-01-01 03:20:00,9
+10041,2020-01-01 03:25:00,9
+10042,2020-01-01 03:30:00,9
+10043,2020-01-01 03:35:00,9
+10044,2020-01-01 03:40:00,9
+10045,2020-01-01 03:45:00,9
+10046,2020-01-01 03:50:00,9
+10047,2020-01-01 03:55:00,9
+10048,2020-01-01 04:00:00,9
+10049,2020-01-01 04:05:00,9
+10050,2020-01-01 04:10:00,9
+10051,2020-01-01 04:15:00,9
+10052,2020-01-01 04:20:00,9
+10053,2020-01-01 04:25:00,9
+10054,2020-01-01 04:30:00,9
+10055,2020-01-01 04:35:00,9
+10056,2020-01-01 04:40:00,9
+10057,2020-01-01 04:45:00,9
+10058,2020-01-01 04:50:00,9
+10059,2020-01-01 04:55:00,9
+10060,2020-01-01 05:00:00,9
+10061,2020-01-01 05:05:00,9
+10062,2020-01-01 05:10:00,9
+10063,2020-01-01 05:15:00,9
+10064,2020-01-01 05:20:00,9
+10065,2020-01-01 05:25:00,9
+10066,2020-01-01 05:30:00,9
+10067,2020-01-01 05:35:00,9
+10068,2020-01-01 05:40:00,9
+10069,2020-01-01 05:45:00,9
+10070,2020-01-01 05:50:00,9
+10071,2020-01-01 05:55:00,9
+10072,2020-01-01 06:00:00,9
+10073,2020-01-01 06:05:00,9
+10074,2020-01-01 06:10:00,9
+10075,2020-01-01 06:15:00,9
+10076,2020-01-01 06:20:00,9
+10077,2020-01-01 06:25:00,9
+10078,2020-01-01 06:30:00,9
+10079,2020-01-01 06:35:00,9
+10080,2020-01-01 06:40:00,9
+10081,2020-01-01 06:45:00,9
+10082,2020-01-01 06:50:00,9
+10083,2020-01-01 06:55:00,9
+10084,2020-01-01 07:00:00,9
+10085,2020-01-01 07:05:00,9
+10086,2020-01-01 07:10:00,9
+10087,2020-01-01 07:15:00,9
+10088,2020-01-01 07:20:00,9
+10089,2020-01-01 07:25:00,9
+10090,2020-01-01 07:30:00,9
+10091,2020-01-01 07:35:00,9
+10092,2020-01-01 07:40:00,9
+10093,2020-01-01 07:45:00,9
+10094,2020-01-01 07:50:00,9
+10095,2020-01-01 07:55:00,9
+10096,2020-01-01 08:00:00,9
+10097,2020-01-01 08:05:00,9
+10098,2020-01-01 08:10:00,9
+10099,2020-01-01 08:15:00,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5ms.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5ms.csv
new file mode 100644
index 0000000..1065ac6
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_5ms.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00.000,0
+1001,2020-01-01 00:00:00.005,0
+1002,2020-01-01 00:00:00.010,0
+1003,2020-01-01 00:00:00.015,0
+1004,2020-01-01 00:00:00.020,0
+1005,2020-01-01 00:00:00.025,0
+1006,2020-01-01 00:00:00.030,0
+1007,2020-01-01 00:00:00.035,0
+1008,2020-01-01 00:00:00.040,0
+1009,2020-01-01 00:00:00.045,0
+1010,2020-01-01 00:00:00.050,0
+1011,2020-01-01 00:00:00.055,0
+1012,2020-01-01 00:00:00.060,0
+1013,2020-01-01 00:00:00.065,0
+1014,2020-01-01 00:00:00.070,0
+1015,2020-01-01 00:00:00.075,0
+1016,2020-01-01 00:00:00.080,0
+1017,2020-01-01 00:00:00.085,0
+1018,2020-01-01 00:00:00.090,0
+1019,2020-01-01 00:00:00.095,0
+1020,2020-01-01 00:00:00.100,0
+1021,2020-01-01 00:00:00.105,0
+1022,2020-01-01 00:00:00.110,0
+1023,2020-01-01 00:00:00.115,0
+1024,2020-01-01 00:00:00.120,0
+1025,2020-01-01 00:00:00.125,0
+1026,2020-01-01 00:00:00.130,0
+1027,2020-01-01 00:00:00.135,0
+1028,2020-01-01 00:00:00.140,0
+1029,2020-01-01 00:00:00.145,0
+1030,2020-01-01 00:00:00.150,0
+1031,2020-01-01 00:00:00.155,0
+1032,2020-01-01 00:00:00.160,0
+1033,2020-01-01 00:00:00.165,0
+1034,2020-01-01 00:00:00.170,0
+1035,2020-01-01 00:00:00.175,0
+1036,2020-01-01 00:00:00.180,0
+1037,2020-01-01 00:00:00.185,0
+1038,2020-01-01 00:00:00.190,0
+1039,2020-01-01 00:00:00.195,0
+1040,2020-01-01 00:00:00.200,0
+1041,2020-01-01 00:00:00.205,0
+1042,2020-01-01 00:00:00.210,0
+1043,2020-01-01 00:00:00.215,0
+1044,2020-01-01 00:00:00.220,0
+1045,2020-01-01 00:00:00.225,0
+1046,2020-01-01 00:00:00.230,0
+1047,2020-01-01 00:00:00.235,0
+1048,2020-01-01 00:00:00.240,0
+1049,2020-01-01 00:00:00.245,0
+1050,2020-01-01 00:00:00.250,0
+1051,2020-01-01 00:00:00.255,0
+1052,2020-01-01 00:00:00.260,0
+1053,2020-01-01 00:00:00.265,0
+1054,2020-01-01 00:00:00.270,0
+1055,2020-01-01 00:00:00.275,0
+1056,2020-01-01 00:00:00.280,0
+1057,2020-01-01 00:00:00.285,0
+1058,2020-01-01 00:00:00.290,0
+1059,2020-01-01 00:00:00.295,0
+1060,2020-01-01 00:00:00.300,0
+1061,2020-01-01 00:00:00.305,0
+1062,2020-01-01 00:00:00.310,0
+1063,2020-01-01 00:00:00.315,0
+1064,2020-01-01 00:00:00.320,0
+1065,2020-01-01 00:00:00.325,0
+1066,2020-01-01 00:00:00.330,0
+1067,2020-01-01 00:00:00.335,0
+1068,2020-01-01 00:00:00.340,0
+1069,2020-01-01 00:00:00.345,0
+1070,2020-01-01 00:00:00.350,0
+1071,2020-01-01 00:00:00.355,0
+1072,2020-01-01 00:00:00.360,0
+1073,2020-01-01 00:00:00.365,0
+1074,2020-01-01 00:00:00.370,0
+1075,2020-01-01 00:00:00.375,0
+1076,2020-01-01 00:00:00.380,0
+1077,2020-01-01 00:00:00.385,0
+1078,2020-01-01 00:00:00.390,0
+1079,2020-01-01 00:00:00.395,0
+1080,2020-01-01 00:00:00.400,0
+1081,2020-01-01 00:00:00.405,0
+1082,2020-01-01 00:00:00.410,0
+1083,2020-01-01 00:00:00.415,0
+1084,2020-01-01 00:00:00.420,0
+1085,2020-01-01 00:00:00.425,0
+1086,2020-01-01 00:00:00.430,0
+1087,2020-01-01 00:00:00.435,0
+1088,2020-01-01 00:00:00.440,0
+1089,2020-01-01 00:00:00.445,0
+1090,2020-01-01 00:00:00.450,0
+1091,2020-01-01 00:00:00.455,0
+1092,2020-01-01 00:00:00.460,0
+1093,2020-01-01 00:00:00.465,0
+1094,2020-01-01 00:00:00.470,0
+1095,2020-01-01 00:00:00.475,0
+1096,2020-01-01 00:00:00.480,0
+1097,2020-01-01 00:00:00.485,0
+1098,2020-01-01 00:00:00.490,0
+1099,2020-01-01 00:00:00.495,0
+2000,2020-01-01 00:00:00.000,1
+2001,2020-01-01 00:00:00.005,1
+2002,2020-01-01 00:00:00.010,1
+2003,2020-01-01 00:00:00.015,1
+2004,2020-01-01 00:00:00.020,1
+2005,2020-01-01 00:00:00.025,1
+2006,2020-01-01 00:00:00.030,1
+2007,2020-01-01 00:00:00.035,1
+2008,2020-01-01 00:00:00.040,1
+2009,2020-01-01 00:00:00.045,1
+2010,2020-01-01 00:00:00.050,1
+2011,2020-01-01 00:00:00.055,1
+2012,2020-01-01 00:00:00.060,1
+2013,2020-01-01 00:00:00.065,1
+2014,2020-01-01 00:00:00.070,1
+2015,2020-01-01 00:00:00.075,1
+2016,2020-01-01 00:00:00.080,1
+2017,2020-01-01 00:00:00.085,1
+2018,2020-01-01 00:00:00.090,1
+2019,2020-01-01 00:00:00.095,1
+2020,2020-01-01 00:00:00.100,1
+2021,2020-01-01 00:00:00.105,1
+2022,2020-01-01 00:00:00.110,1
+2023,2020-01-01 00:00:00.115,1
+2024,2020-01-01 00:00:00.120,1
+2025,2020-01-01 00:00:00.125,1
+2026,2020-01-01 00:00:00.130,1
+2027,2020-01-01 00:00:00.135,1
+2028,2020-01-01 00:00:00.140,1
+2029,2020-01-01 00:00:00.145,1
+2030,2020-01-01 00:00:00.150,1
+2031,2020-01-01 00:00:00.155,1
+2032,2020-01-01 00:00:00.160,1
+2033,2020-01-01 00:00:00.165,1
+2034,2020-01-01 00:00:00.170,1
+2035,2020-01-01 00:00:00.175,1
+2036,2020-01-01 00:00:00.180,1
+2037,2020-01-01 00:00:00.185,1
+2038,2020-01-01 00:00:00.190,1
+2039,2020-01-01 00:00:00.195,1
+2040,2020-01-01 00:00:00.200,1
+2041,2020-01-01 00:00:00.205,1
+2042,2020-01-01 00:00:00.210,1
+2043,2020-01-01 00:00:00.215,1
+2044,2020-01-01 00:00:00.220,1
+2045,2020-01-01 00:00:00.225,1
+2046,2020-01-01 00:00:00.230,1
+2047,2020-01-01 00:00:00.235,1
+2048,2020-01-01 00:00:00.240,1
+2049,2020-01-01 00:00:00.245,1
+2050,2020-01-01 00:00:00.250,1
+2051,2020-01-01 00:00:00.255,1
+2052,2020-01-01 00:00:00.260,1
+2053,2020-01-01 00:00:00.265,1
+2054,2020-01-01 00:00:00.270,1
+2055,2020-01-01 00:00:00.275,1
+2056,2020-01-01 00:00:00.280,1
+2057,2020-01-01 00:00:00.285,1
+2058,2020-01-01 00:00:00.290,1
+2059,2020-01-01 00:00:00.295,1
+2060,2020-01-01 00:00:00.300,1
+2061,2020-01-01 00:00:00.305,1
+2062,2020-01-01 00:00:00.310,1
+2063,2020-01-01 00:00:00.315,1
+2064,2020-01-01 00:00:00.320,1
+2065,2020-01-01 00:00:00.325,1
+2066,2020-01-01 00:00:00.330,1
+2067,2020-01-01 00:00:00.335,1
+2068,2020-01-01 00:00:00.340,1
+2069,2020-01-01 00:00:00.345,1
+2070,2020-01-01 00:00:00.350,1
+2071,2020-01-01 00:00:00.355,1
+2072,2020-01-01 00:00:00.360,1
+2073,2020-01-01 00:00:00.365,1
+2074,2020-01-01 00:00:00.370,1
+2075,2020-01-01 00:00:00.375,1
+2076,2020-01-01 00:00:00.380,1
+2077,2020-01-01 00:00:00.385,1
+2078,2020-01-01 00:00:00.390,1
+2079,2020-01-01 00:00:00.395,1
+2080,2020-01-01 00:00:00.400,1
+2081,2020-01-01 00:00:00.405,1
+2082,2020-01-01 00:00:00.410,1
+2083,2020-01-01 00:00:00.415,1
+2084,2020-01-01 00:00:00.420,1
+2085,2020-01-01 00:00:00.425,1
+2086,2020-01-01 00:00:00.430,1
+2087,2020-01-01 00:00:00.435,1
+2088,2020-01-01 00:00:00.440,1
+2089,2020-01-01 00:00:00.445,1
+2090,2020-01-01 00:00:00.450,1
+2091,2020-01-01 00:00:00.455,1
+2092,2020-01-01 00:00:00.460,1
+2093,2020-01-01 00:00:00.465,1
+2094,2020-01-01 00:00:00.470,1
+2095,2020-01-01 00:00:00.475,1
+2096,2020-01-01 00:00:00.480,1
+2097,2020-01-01 00:00:00.485,1
+2098,2020-01-01 00:00:00.490,1
+2099,2020-01-01 00:00:00.495,1
+3000,2020-01-01 00:00:00.000,2
+3001,2020-01-01 00:00:00.005,2
+3002,2020-01-01 00:00:00.010,2
+3003,2020-01-01 00:00:00.015,2
+3004,2020-01-01 00:00:00.020,2
+3005,2020-01-01 00:00:00.025,2
+3006,2020-01-01 00:00:00.030,2
+3007,2020-01-01 00:00:00.035,2
+3008,2020-01-01 00:00:00.040,2
+3009,2020-01-01 00:00:00.045,2
+3010,2020-01-01 00:00:00.050,2
+3011,2020-01-01 00:00:00.055,2
+3012,2020-01-01 00:00:00.060,2
+3013,2020-01-01 00:00:00.065,2
+3014,2020-01-01 00:00:00.070,2
+3015,2020-01-01 00:00:00.075,2
+3016,2020-01-01 00:00:00.080,2
+3017,2020-01-01 00:00:00.085,2
+3018,2020-01-01 00:00:00.090,2
+3019,2020-01-01 00:00:00.095,2
+3020,2020-01-01 00:00:00.100,2
+3021,2020-01-01 00:00:00.105,2
+3022,2020-01-01 00:00:00.110,2
+3023,2020-01-01 00:00:00.115,2
+3024,2020-01-01 00:00:00.120,2
+3025,2020-01-01 00:00:00.125,2
+3026,2020-01-01 00:00:00.130,2
+3027,2020-01-01 00:00:00.135,2
+3028,2020-01-01 00:00:00.140,2
+3029,2020-01-01 00:00:00.145,2
+3030,2020-01-01 00:00:00.150,2
+3031,2020-01-01 00:00:00.155,2
+3032,2020-01-01 00:00:00.160,2
+3033,2020-01-01 00:00:00.165,2
+3034,2020-01-01 00:00:00.170,2
+3035,2020-01-01 00:00:00.175,2
+3036,2020-01-01 00:00:00.180,2
+3037,2020-01-01 00:00:00.185,2
+3038,2020-01-01 00:00:00.190,2
+3039,2020-01-01 00:00:00.195,2
+3040,2020-01-01 00:00:00.200,2
+3041,2020-01-01 00:00:00.205,2
+3042,2020-01-01 00:00:00.210,2
+3043,2020-01-01 00:00:00.215,2
+3044,2020-01-01 00:00:00.220,2
+3045,2020-01-01 00:00:00.225,2
+3046,2020-01-01 00:00:00.230,2
+3047,2020-01-01 00:00:00.235,2
+3048,2020-01-01 00:00:00.240,2
+3049,2020-01-01 00:00:00.245,2
+3050,2020-01-01 00:00:00.250,2
+3051,2020-01-01 00:00:00.255,2
+3052,2020-01-01 00:00:00.260,2
+3053,2020-01-01 00:00:00.265,2
+3054,2020-01-01 00:00:00.270,2
+3055,2020-01-01 00:00:00.275,2
+3056,2020-01-01 00:00:00.280,2
+3057,2020-01-01 00:00:00.285,2
+3058,2020-01-01 00:00:00.290,2
+3059,2020-01-01 00:00:00.295,2
+3060,2020-01-01 00:00:00.300,2
+3061,2020-01-01 00:00:00.305,2
+3062,2020-01-01 00:00:00.310,2
+3063,2020-01-01 00:00:00.315,2
+3064,2020-01-01 00:00:00.320,2
+3065,2020-01-01 00:00:00.325,2
+3066,2020-01-01 00:00:00.330,2
+3067,2020-01-01 00:00:00.335,2
+3068,2020-01-01 00:00:00.340,2
+3069,2020-01-01 00:00:00.345,2
+3070,2020-01-01 00:00:00.350,2
+3071,2020-01-01 00:00:00.355,2
+3072,2020-01-01 00:00:00.360,2
+3073,2020-01-01 00:00:00.365,2
+3074,2020-01-01 00:00:00.370,2
+3075,2020-01-01 00:00:00.375,2
+3076,2020-01-01 00:00:00.380,2
+3077,2020-01-01 00:00:00.385,2
+3078,2020-01-01 00:00:00.390,2
+3079,2020-01-01 00:00:00.395,2
+3080,2020-01-01 00:00:00.400,2
+3081,2020-01-01 00:00:00.405,2
+3082,2020-01-01 00:00:00.410,2
+3083,2020-01-01 00:00:00.415,2
+3084,2020-01-01 00:00:00.420,2
+3085,2020-01-01 00:00:00.425,2
+3086,2020-01-01 00:00:00.430,2
+3087,2020-01-01 00:00:00.435,2
+3088,2020-01-01 00:00:00.440,2
+3089,2020-01-01 00:00:00.445,2
+3090,2020-01-01 00:00:00.450,2
+3091,2020-01-01 00:00:00.455,2
+3092,2020-01-01 00:00:00.460,2
+3093,2020-01-01 00:00:00.465,2
+3094,2020-01-01 00:00:00.470,2
+3095,2020-01-01 00:00:00.475,2
+3096,2020-01-01 00:00:00.480,2
+3097,2020-01-01 00:00:00.485,2
+3098,2020-01-01 00:00:00.490,2
+3099,2020-01-01 00:00:00.495,2
+4000,2020-01-01 00:00:00.000,3
+4001,2020-01-01 00:00:00.005,3
+4002,2020-01-01 00:00:00.010,3
+4003,2020-01-01 00:00:00.015,3
+4004,2020-01-01 00:00:00.020,3
+4005,2020-01-01 00:00:00.025,3
+4006,2020-01-01 00:00:00.030,3
+4007,2020-01-01 00:00:00.035,3
+4008,2020-01-01 00:00:00.040,3
+4009,2020-01-01 00:00:00.045,3
+4010,2020-01-01 00:00:00.050,3
+4011,2020-01-01 00:00:00.055,3
+4012,2020-01-01 00:00:00.060,3
+4013,2020-01-01 00:00:00.065,3
+4014,2020-01-01 00:00:00.070,3
+4015,2020-01-01 00:00:00.075,3
+4016,2020-01-01 00:00:00.080,3
+4017,2020-01-01 00:00:00.085,3
+4018,2020-01-01 00:00:00.090,3
+4019,2020-01-01 00:00:00.095,3
+4020,2020-01-01 00:00:00.100,3
+4021,2020-01-01 00:00:00.105,3
+4022,2020-01-01 00:00:00.110,3
+4023,2020-01-01 00:00:00.115,3
+4024,2020-01-01 00:00:00.120,3
+4025,2020-01-01 00:00:00.125,3
+4026,2020-01-01 00:00:00.130,3
+4027,2020-01-01 00:00:00.135,3
+4028,2020-01-01 00:00:00.140,3
+4029,2020-01-01 00:00:00.145,3
+4030,2020-01-01 00:00:00.150,3
+4031,2020-01-01 00:00:00.155,3
+4032,2020-01-01 00:00:00.160,3
+4033,2020-01-01 00:00:00.165,3
+4034,2020-01-01 00:00:00.170,3
+4035,2020-01-01 00:00:00.175,3
+4036,2020-01-01 00:00:00.180,3
+4037,2020-01-01 00:00:00.185,3
+4038,2020-01-01 00:00:00.190,3
+4039,2020-01-01 00:00:00.195,3
+4040,2020-01-01 00:00:00.200,3
+4041,2020-01-01 00:00:00.205,3
+4042,2020-01-01 00:00:00.210,3
+4043,2020-01-01 00:00:00.215,3
+4044,2020-01-01 00:00:00.220,3
+4045,2020-01-01 00:00:00.225,3
+4046,2020-01-01 00:00:00.230,3
+4047,2020-01-01 00:00:00.235,3
+4048,2020-01-01 00:00:00.240,3
+4049,2020-01-01 00:00:00.245,3
+4050,2020-01-01 00:00:00.250,3
+4051,2020-01-01 00:00:00.255,3
+4052,2020-01-01 00:00:00.260,3
+4053,2020-01-01 00:00:00.265,3
+4054,2020-01-01 00:00:00.270,3
+4055,2020-01-01 00:00:00.275,3
+4056,2020-01-01 00:00:00.280,3
+4057,2020-01-01 00:00:00.285,3
+4058,2020-01-01 00:00:00.290,3
+4059,2020-01-01 00:00:00.295,3
+4060,2020-01-01 00:00:00.300,3
+4061,2020-01-01 00:00:00.305,3
+4062,2020-01-01 00:00:00.310,3
+4063,2020-01-01 00:00:00.315,3
+4064,2020-01-01 00:00:00.320,3
+4065,2020-01-01 00:00:00.325,3
+4066,2020-01-01 00:00:00.330,3
+4067,2020-01-01 00:00:00.335,3
+4068,2020-01-01 00:00:00.340,3
+4069,2020-01-01 00:00:00.345,3
+4070,2020-01-01 00:00:00.350,3
+4071,2020-01-01 00:00:00.355,3
+4072,2020-01-01 00:00:00.360,3
+4073,2020-01-01 00:00:00.365,3
+4074,2020-01-01 00:00:00.370,3
+4075,2020-01-01 00:00:00.375,3
+4076,2020-01-01 00:00:00.380,3
+4077,2020-01-01 00:00:00.385,3
+4078,2020-01-01 00:00:00.390,3
+4079,2020-01-01 00:00:00.395,3
+4080,2020-01-01 00:00:00.400,3
+4081,2020-01-01 00:00:00.405,3
+4082,2020-01-01 00:00:00.410,3
+4083,2020-01-01 00:00:00.415,3
+4084,2020-01-01 00:00:00.420,3
+4085,2020-01-01 00:00:00.425,3
+4086,2020-01-01 00:00:00.430,3
+4087,2020-01-01 00:00:00.435,3
+4088,2020-01-01 00:00:00.440,3
+4089,2020-01-01 00:00:00.445,3
+4090,2020-01-01 00:00:00.450,3
+4091,2020-01-01 00:00:00.455,3
+4092,2020-01-01 00:00:00.460,3
+4093,2020-01-01 00:00:00.465,3
+4094,2020-01-01 00:00:00.470,3
+4095,2020-01-01 00:00:00.475,3
+4096,2020-01-01 00:00:00.480,3
+4097,2020-01-01 00:00:00.485,3
+4098,2020-01-01 00:00:00.490,3
+4099,2020-01-01 00:00:00.495,3
+5000,2020-01-01 00:00:00.000,4
+5001,2020-01-01 00:00:00.005,4
+5002,2020-01-01 00:00:00.010,4
+5003,2020-01-01 00:00:00.015,4
+5004,2020-01-01 00:00:00.020,4
+5005,2020-01-01 00:00:00.025,4
+5006,2020-01-01 00:00:00.030,4
+5007,2020-01-01 00:00:00.035,4
+5008,2020-01-01 00:00:00.040,4
+5009,2020-01-01 00:00:00.045,4
+5010,2020-01-01 00:00:00.050,4
+5011,2020-01-01 00:00:00.055,4
+5012,2020-01-01 00:00:00.060,4
+5013,2020-01-01 00:00:00.065,4
+5014,2020-01-01 00:00:00.070,4
+5015,2020-01-01 00:00:00.075,4
+5016,2020-01-01 00:00:00.080,4
+5017,2020-01-01 00:00:00.085,4
+5018,2020-01-01 00:00:00.090,4
+5019,2020-01-01 00:00:00.095,4
+5020,2020-01-01 00:00:00.100,4
+5021,2020-01-01 00:00:00.105,4
+5022,2020-01-01 00:00:00.110,4
+5023,2020-01-01 00:00:00.115,4
+5024,2020-01-01 00:00:00.120,4
+5025,2020-01-01 00:00:00.125,4
+5026,2020-01-01 00:00:00.130,4
+5027,2020-01-01 00:00:00.135,4
+5028,2020-01-01 00:00:00.140,4
+5029,2020-01-01 00:00:00.145,4
+5030,2020-01-01 00:00:00.150,4
+5031,2020-01-01 00:00:00.155,4
+5032,2020-01-01 00:00:00.160,4
+5033,2020-01-01 00:00:00.165,4
+5034,2020-01-01 00:00:00.170,4
+5035,2020-01-01 00:00:00.175,4
+5036,2020-01-01 00:00:00.180,4
+5037,2020-01-01 00:00:00.185,4
+5038,2020-01-01 00:00:00.190,4
+5039,2020-01-01 00:00:00.195,4
+5040,2020-01-01 00:00:00.200,4
+5041,2020-01-01 00:00:00.205,4
+5042,2020-01-01 00:00:00.210,4
+5043,2020-01-01 00:00:00.215,4
+5044,2020-01-01 00:00:00.220,4
+5045,2020-01-01 00:00:00.225,4
+5046,2020-01-01 00:00:00.230,4
+5047,2020-01-01 00:00:00.235,4
+5048,2020-01-01 00:00:00.240,4
+5049,2020-01-01 00:00:00.245,4
+5050,2020-01-01 00:00:00.250,4
+5051,2020-01-01 00:00:00.255,4
+5052,2020-01-01 00:00:00.260,4
+5053,2020-01-01 00:00:00.265,4
+5054,2020-01-01 00:00:00.270,4
+5055,2020-01-01 00:00:00.275,4
+5056,2020-01-01 00:00:00.280,4
+5057,2020-01-01 00:00:00.285,4
+5058,2020-01-01 00:00:00.290,4
+5059,2020-01-01 00:00:00.295,4
+5060,2020-01-01 00:00:00.300,4
+5061,2020-01-01 00:00:00.305,4
+5062,2020-01-01 00:00:00.310,4
+5063,2020-01-01 00:00:00.315,4
+5064,2020-01-01 00:00:00.320,4
+5065,2020-01-01 00:00:00.325,4
+5066,2020-01-01 00:00:00.330,4
+5067,2020-01-01 00:00:00.335,4
+5068,2020-01-01 00:00:00.340,4
+5069,2020-01-01 00:00:00.345,4
+5070,2020-01-01 00:00:00.350,4
+5071,2020-01-01 00:00:00.355,4
+5072,2020-01-01 00:00:00.360,4
+5073,2020-01-01 00:00:00.365,4
+5074,2020-01-01 00:00:00.370,4
+5075,2020-01-01 00:00:00.375,4
+5076,2020-01-01 00:00:00.380,4
+5077,2020-01-01 00:00:00.385,4
+5078,2020-01-01 00:00:00.390,4
+5079,2020-01-01 00:00:00.395,4
+5080,2020-01-01 00:00:00.400,4
+5081,2020-01-01 00:00:00.405,4
+5082,2020-01-01 00:00:00.410,4
+5083,2020-01-01 00:00:00.415,4
+5084,2020-01-01 00:00:00.420,4
+5085,2020-01-01 00:00:00.425,4
+5086,2020-01-01 00:00:00.430,4
+5087,2020-01-01 00:00:00.435,4
+5088,2020-01-01 00:00:00.440,4
+5089,2020-01-01 00:00:00.445,4
+5090,2020-01-01 00:00:00.450,4
+5091,2020-01-01 00:00:00.455,4
+5092,2020-01-01 00:00:00.460,4
+5093,2020-01-01 00:00:00.465,4
+5094,2020-01-01 00:00:00.470,4
+5095,2020-01-01 00:00:00.475,4
+5096,2020-01-01 00:00:00.480,4
+5097,2020-01-01 00:00:00.485,4
+5098,2020-01-01 00:00:00.490,4
+5099,2020-01-01 00:00:00.495,4
+6000,2020-01-01 00:00:00.000,5
+6001,2020-01-01 00:00:00.005,5
+6002,2020-01-01 00:00:00.010,5
+6003,2020-01-01 00:00:00.015,5
+6004,2020-01-01 00:00:00.020,5
+6005,2020-01-01 00:00:00.025,5
+6006,2020-01-01 00:00:00.030,5
+6007,2020-01-01 00:00:00.035,5
+6008,2020-01-01 00:00:00.040,5
+6009,2020-01-01 00:00:00.045,5
+6010,2020-01-01 00:00:00.050,5
+6011,2020-01-01 00:00:00.055,5
+6012,2020-01-01 00:00:00.060,5
+6013,2020-01-01 00:00:00.065,5
+6014,2020-01-01 00:00:00.070,5
+6015,2020-01-01 00:00:00.075,5
+6016,2020-01-01 00:00:00.080,5
+6017,2020-01-01 00:00:00.085,5
+6018,2020-01-01 00:00:00.090,5
+6019,2020-01-01 00:00:00.095,5
+6020,2020-01-01 00:00:00.100,5
+6021,2020-01-01 00:00:00.105,5
+6022,2020-01-01 00:00:00.110,5
+6023,2020-01-01 00:00:00.115,5
+6024,2020-01-01 00:00:00.120,5
+6025,2020-01-01 00:00:00.125,5
+6026,2020-01-01 00:00:00.130,5
+6027,2020-01-01 00:00:00.135,5
+6028,2020-01-01 00:00:00.140,5
+6029,2020-01-01 00:00:00.145,5
+6030,2020-01-01 00:00:00.150,5
+6031,2020-01-01 00:00:00.155,5
+6032,2020-01-01 00:00:00.160,5
+6033,2020-01-01 00:00:00.165,5
+6034,2020-01-01 00:00:00.170,5
+6035,2020-01-01 00:00:00.175,5
+6036,2020-01-01 00:00:00.180,5
+6037,2020-01-01 00:00:00.185,5
+6038,2020-01-01 00:00:00.190,5
+6039,2020-01-01 00:00:00.195,5
+6040,2020-01-01 00:00:00.200,5
+6041,2020-01-01 00:00:00.205,5
+6042,2020-01-01 00:00:00.210,5
+6043,2020-01-01 00:00:00.215,5
+6044,2020-01-01 00:00:00.220,5
+6045,2020-01-01 00:00:00.225,5
+6046,2020-01-01 00:00:00.230,5
+6047,2020-01-01 00:00:00.235,5
+6048,2020-01-01 00:00:00.240,5
+6049,2020-01-01 00:00:00.245,5
+6050,2020-01-01 00:00:00.250,5
+6051,2020-01-01 00:00:00.255,5
+6052,2020-01-01 00:00:00.260,5
+6053,2020-01-01 00:00:00.265,5
+6054,2020-01-01 00:00:00.270,5
+6055,2020-01-01 00:00:00.275,5
+6056,2020-01-01 00:00:00.280,5
+6057,2020-01-01 00:00:00.285,5
+6058,2020-01-01 00:00:00.290,5
+6059,2020-01-01 00:00:00.295,5
+6060,2020-01-01 00:00:00.300,5
+6061,2020-01-01 00:00:00.305,5
+6062,2020-01-01 00:00:00.310,5
+6063,2020-01-01 00:00:00.315,5
+6064,2020-01-01 00:00:00.320,5
+6065,2020-01-01 00:00:00.325,5
+6066,2020-01-01 00:00:00.330,5
+6067,2020-01-01 00:00:00.335,5
+6068,2020-01-01 00:00:00.340,5
+6069,2020-01-01 00:00:00.345,5
+6070,2020-01-01 00:00:00.350,5
+6071,2020-01-01 00:00:00.355,5
+6072,2020-01-01 00:00:00.360,5
+6073,2020-01-01 00:00:00.365,5
+6074,2020-01-01 00:00:00.370,5
+6075,2020-01-01 00:00:00.375,5
+6076,2020-01-01 00:00:00.380,5
+6077,2020-01-01 00:00:00.385,5
+6078,2020-01-01 00:00:00.390,5
+6079,2020-01-01 00:00:00.395,5
+6080,2020-01-01 00:00:00.400,5
+6081,2020-01-01 00:00:00.405,5
+6082,2020-01-01 00:00:00.410,5
+6083,2020-01-01 00:00:00.415,5
+6084,2020-01-01 00:00:00.420,5
+6085,2020-01-01 00:00:00.425,5
+6086,2020-01-01 00:00:00.430,5
+6087,2020-01-01 00:00:00.435,5
+6088,2020-01-01 00:00:00.440,5
+6089,2020-01-01 00:00:00.445,5
+6090,2020-01-01 00:00:00.450,5
+6091,2020-01-01 00:00:00.455,5
+6092,2020-01-01 00:00:00.460,5
+6093,2020-01-01 00:00:00.465,5
+6094,2020-01-01 00:00:00.470,5
+6095,2020-01-01 00:00:00.475,5
+6096,2020-01-01 00:00:00.480,5
+6097,2020-01-01 00:00:00.485,5
+6098,2020-01-01 00:00:00.490,5
+6099,2020-01-01 00:00:00.495,5
+7000,2020-01-01 00:00:00.000,6
+7001,2020-01-01 00:00:00.005,6
+7002,2020-01-01 00:00:00.010,6
+7003,2020-01-01 00:00:00.015,6
+7004,2020-01-01 00:00:00.020,6
+7005,2020-01-01 00:00:00.025,6
+7006,2020-01-01 00:00:00.030,6
+7007,2020-01-01 00:00:00.035,6
+7008,2020-01-01 00:00:00.040,6
+7009,2020-01-01 00:00:00.045,6
+7010,2020-01-01 00:00:00.050,6
+7011,2020-01-01 00:00:00.055,6
+7012,2020-01-01 00:00:00.060,6
+7013,2020-01-01 00:00:00.065,6
+7014,2020-01-01 00:00:00.070,6
+7015,2020-01-01 00:00:00.075,6
+7016,2020-01-01 00:00:00.080,6
+7017,2020-01-01 00:00:00.085,6
+7018,2020-01-01 00:00:00.090,6
+7019,2020-01-01 00:00:00.095,6
+7020,2020-01-01 00:00:00.100,6
+7021,2020-01-01 00:00:00.105,6
+7022,2020-01-01 00:00:00.110,6
+7023,2020-01-01 00:00:00.115,6
+7024,2020-01-01 00:00:00.120,6
+7025,2020-01-01 00:00:00.125,6
+7026,2020-01-01 00:00:00.130,6
+7027,2020-01-01 00:00:00.135,6
+7028,2020-01-01 00:00:00.140,6
+7029,2020-01-01 00:00:00.145,6
+7030,2020-01-01 00:00:00.150,6
+7031,2020-01-01 00:00:00.155,6
+7032,2020-01-01 00:00:00.160,6
+7033,2020-01-01 00:00:00.165,6
+7034,2020-01-01 00:00:00.170,6
+7035,2020-01-01 00:00:00.175,6
+7036,2020-01-01 00:00:00.180,6
+7037,2020-01-01 00:00:00.185,6
+7038,2020-01-01 00:00:00.190,6
+7039,2020-01-01 00:00:00.195,6
+7040,2020-01-01 00:00:00.200,6
+7041,2020-01-01 00:00:00.205,6
+7042,2020-01-01 00:00:00.210,6
+7043,2020-01-01 00:00:00.215,6
+7044,2020-01-01 00:00:00.220,6
+7045,2020-01-01 00:00:00.225,6
+7046,2020-01-01 00:00:00.230,6
+7047,2020-01-01 00:00:00.235,6
+7048,2020-01-01 00:00:00.240,6
+7049,2020-01-01 00:00:00.245,6
+7050,2020-01-01 00:00:00.250,6
+7051,2020-01-01 00:00:00.255,6
+7052,2020-01-01 00:00:00.260,6
+7053,2020-01-01 00:00:00.265,6
+7054,2020-01-01 00:00:00.270,6
+7055,2020-01-01 00:00:00.275,6
+7056,2020-01-01 00:00:00.280,6
+7057,2020-01-01 00:00:00.285,6
+7058,2020-01-01 00:00:00.290,6
+7059,2020-01-01 00:00:00.295,6
+7060,2020-01-01 00:00:00.300,6
+7061,2020-01-01 00:00:00.305,6
+7062,2020-01-01 00:00:00.310,6
+7063,2020-01-01 00:00:00.315,6
+7064,2020-01-01 00:00:00.320,6
+7065,2020-01-01 00:00:00.325,6
+7066,2020-01-01 00:00:00.330,6
+7067,2020-01-01 00:00:00.335,6
+7068,2020-01-01 00:00:00.340,6
+7069,2020-01-01 00:00:00.345,6
+7070,2020-01-01 00:00:00.350,6
+7071,2020-01-01 00:00:00.355,6
+7072,2020-01-01 00:00:00.360,6
+7073,2020-01-01 00:00:00.365,6
+7074,2020-01-01 00:00:00.370,6
+7075,2020-01-01 00:00:00.375,6
+7076,2020-01-01 00:00:00.380,6
+7077,2020-01-01 00:00:00.385,6
+7078,2020-01-01 00:00:00.390,6
+7079,2020-01-01 00:00:00.395,6
+7080,2020-01-01 00:00:00.400,6
+7081,2020-01-01 00:00:00.405,6
+7082,2020-01-01 00:00:00.410,6
+7083,2020-01-01 00:00:00.415,6
+7084,2020-01-01 00:00:00.420,6
+7085,2020-01-01 00:00:00.425,6
+7086,2020-01-01 00:00:00.430,6
+7087,2020-01-01 00:00:00.435,6
+7088,2020-01-01 00:00:00.440,6
+7089,2020-01-01 00:00:00.445,6
+7090,2020-01-01 00:00:00.450,6
+7091,2020-01-01 00:00:00.455,6
+7092,2020-01-01 00:00:00.460,6
+7093,2020-01-01 00:00:00.465,6
+7094,2020-01-01 00:00:00.470,6
+7095,2020-01-01 00:00:00.475,6
+7096,2020-01-01 00:00:00.480,6
+7097,2020-01-01 00:00:00.485,6
+7098,2020-01-01 00:00:00.490,6
+7099,2020-01-01 00:00:00.495,6
+8000,2020-01-01 00:00:00.000,7
+8001,2020-01-01 00:00:00.005,7
+8002,2020-01-01 00:00:00.010,7
+8003,2020-01-01 00:00:00.015,7
+8004,2020-01-01 00:00:00.020,7
+8005,2020-01-01 00:00:00.025,7
+8006,2020-01-01 00:00:00.030,7
+8007,2020-01-01 00:00:00.035,7
+8008,2020-01-01 00:00:00.040,7
+8009,2020-01-01 00:00:00.045,7
+8010,2020-01-01 00:00:00.050,7
+8011,2020-01-01 00:00:00.055,7
+8012,2020-01-01 00:00:00.060,7
+8013,2020-01-01 00:00:00.065,7
+8014,2020-01-01 00:00:00.070,7
+8015,2020-01-01 00:00:00.075,7
+8016,2020-01-01 00:00:00.080,7
+8017,2020-01-01 00:00:00.085,7
+8018,2020-01-01 00:00:00.090,7
+8019,2020-01-01 00:00:00.095,7
+8020,2020-01-01 00:00:00.100,7
+8021,2020-01-01 00:00:00.105,7
+8022,2020-01-01 00:00:00.110,7
+8023,2020-01-01 00:00:00.115,7
+8024,2020-01-01 00:00:00.120,7
+8025,2020-01-01 00:00:00.125,7
+8026,2020-01-01 00:00:00.130,7
+8027,2020-01-01 00:00:00.135,7
+8028,2020-01-01 00:00:00.140,7
+8029,2020-01-01 00:00:00.145,7
+8030,2020-01-01 00:00:00.150,7
+8031,2020-01-01 00:00:00.155,7
+8032,2020-01-01 00:00:00.160,7
+8033,2020-01-01 00:00:00.165,7
+8034,2020-01-01 00:00:00.170,7
+8035,2020-01-01 00:00:00.175,7
+8036,2020-01-01 00:00:00.180,7
+8037,2020-01-01 00:00:00.185,7
+8038,2020-01-01 00:00:00.190,7
+8039,2020-01-01 00:00:00.195,7
+8040,2020-01-01 00:00:00.200,7
+8041,2020-01-01 00:00:00.205,7
+8042,2020-01-01 00:00:00.210,7
+8043,2020-01-01 00:00:00.215,7
+8044,2020-01-01 00:00:00.220,7
+8045,2020-01-01 00:00:00.225,7
+8046,2020-01-01 00:00:00.230,7
+8047,2020-01-01 00:00:00.235,7
+8048,2020-01-01 00:00:00.240,7
+8049,2020-01-01 00:00:00.245,7
+8050,2020-01-01 00:00:00.250,7
+8051,2020-01-01 00:00:00.255,7
+8052,2020-01-01 00:00:00.260,7
+8053,2020-01-01 00:00:00.265,7
+8054,2020-01-01 00:00:00.270,7
+8055,2020-01-01 00:00:00.275,7
+8056,2020-01-01 00:00:00.280,7
+8057,2020-01-01 00:00:00.285,7
+8058,2020-01-01 00:00:00.290,7
+8059,2020-01-01 00:00:00.295,7
+8060,2020-01-01 00:00:00.300,7
+8061,2020-01-01 00:00:00.305,7
+8062,2020-01-01 00:00:00.310,7
+8063,2020-01-01 00:00:00.315,7
+8064,2020-01-01 00:00:00.320,7
+8065,2020-01-01 00:00:00.325,7
+8066,2020-01-01 00:00:00.330,7
+8067,2020-01-01 00:00:00.335,7
+8068,2020-01-01 00:00:00.340,7
+8069,2020-01-01 00:00:00.345,7
+8070,2020-01-01 00:00:00.350,7
+8071,2020-01-01 00:00:00.355,7
+8072,2020-01-01 00:00:00.360,7
+8073,2020-01-01 00:00:00.365,7
+8074,2020-01-01 00:00:00.370,7
+8075,2020-01-01 00:00:00.375,7
+8076,2020-01-01 00:00:00.380,7
+8077,2020-01-01 00:00:00.385,7
+8078,2020-01-01 00:00:00.390,7
+8079,2020-01-01 00:00:00.395,7
+8080,2020-01-01 00:00:00.400,7
+8081,2020-01-01 00:00:00.405,7
+8082,2020-01-01 00:00:00.410,7
+8083,2020-01-01 00:00:00.415,7
+8084,2020-01-01 00:00:00.420,7
+8085,2020-01-01 00:00:00.425,7
+8086,2020-01-01 00:00:00.430,7
+8087,2020-01-01 00:00:00.435,7
+8088,2020-01-01 00:00:00.440,7
+8089,2020-01-01 00:00:00.445,7
+8090,2020-01-01 00:00:00.450,7
+8091,2020-01-01 00:00:00.455,7
+8092,2020-01-01 00:00:00.460,7
+8093,2020-01-01 00:00:00.465,7
+8094,2020-01-01 00:00:00.470,7
+8095,2020-01-01 00:00:00.475,7
+8096,2020-01-01 00:00:00.480,7
+8097,2020-01-01 00:00:00.485,7
+8098,2020-01-01 00:00:00.490,7
+8099,2020-01-01 00:00:00.495,7
+9000,2020-01-01 00:00:00.000,8
+9001,2020-01-01 00:00:00.005,8
+9002,2020-01-01 00:00:00.010,8
+9003,2020-01-01 00:00:00.015,8
+9004,2020-01-01 00:00:00.020,8
+9005,2020-01-01 00:00:00.025,8
+9006,2020-01-01 00:00:00.030,8
+9007,2020-01-01 00:00:00.035,8
+9008,2020-01-01 00:00:00.040,8
+9009,2020-01-01 00:00:00.045,8
+9010,2020-01-01 00:00:00.050,8
+9011,2020-01-01 00:00:00.055,8
+9012,2020-01-01 00:00:00.060,8
+9013,2020-01-01 00:00:00.065,8
+9014,2020-01-01 00:00:00.070,8
+9015,2020-01-01 00:00:00.075,8
+9016,2020-01-01 00:00:00.080,8
+9017,2020-01-01 00:00:00.085,8
+9018,2020-01-01 00:00:00.090,8
+9019,2020-01-01 00:00:00.095,8
+9020,2020-01-01 00:00:00.100,8
+9021,2020-01-01 00:00:00.105,8
+9022,2020-01-01 00:00:00.110,8
+9023,2020-01-01 00:00:00.115,8
+9024,2020-01-01 00:00:00.120,8
+9025,2020-01-01 00:00:00.125,8
+9026,2020-01-01 00:00:00.130,8
+9027,2020-01-01 00:00:00.135,8
+9028,2020-01-01 00:00:00.140,8
+9029,2020-01-01 00:00:00.145,8
+9030,2020-01-01 00:00:00.150,8
+9031,2020-01-01 00:00:00.155,8
+9032,2020-01-01 00:00:00.160,8
+9033,2020-01-01 00:00:00.165,8
+9034,2020-01-01 00:00:00.170,8
+9035,2020-01-01 00:00:00.175,8
+9036,2020-01-01 00:00:00.180,8
+9037,2020-01-01 00:00:00.185,8
+9038,2020-01-01 00:00:00.190,8
+9039,2020-01-01 00:00:00.195,8
+9040,2020-01-01 00:00:00.200,8
+9041,2020-01-01 00:00:00.205,8
+9042,2020-01-01 00:00:00.210,8
+9043,2020-01-01 00:00:00.215,8
+9044,2020-01-01 00:00:00.220,8
+9045,2020-01-01 00:00:00.225,8
+9046,2020-01-01 00:00:00.230,8
+9047,2020-01-01 00:00:00.235,8
+9048,2020-01-01 00:00:00.240,8
+9049,2020-01-01 00:00:00.245,8
+9050,2020-01-01 00:00:00.250,8
+9051,2020-01-01 00:00:00.255,8
+9052,2020-01-01 00:00:00.260,8
+9053,2020-01-01 00:00:00.265,8
+9054,2020-01-01 00:00:00.270,8
+9055,2020-01-01 00:00:00.275,8
+9056,2020-01-01 00:00:00.280,8
+9057,2020-01-01 00:00:00.285,8
+9058,2020-01-01 00:00:00.290,8
+9059,2020-01-01 00:00:00.295,8
+9060,2020-01-01 00:00:00.300,8
+9061,2020-01-01 00:00:00.305,8
+9062,2020-01-01 00:00:00.310,8
+9063,2020-01-01 00:00:00.315,8
+9064,2020-01-01 00:00:00.320,8
+9065,2020-01-01 00:00:00.325,8
+9066,2020-01-01 00:00:00.330,8
+9067,2020-01-01 00:00:00.335,8
+9068,2020-01-01 00:00:00.340,8
+9069,2020-01-01 00:00:00.345,8
+9070,2020-01-01 00:00:00.350,8
+9071,2020-01-01 00:00:00.355,8
+9072,2020-01-01 00:00:00.360,8
+9073,2020-01-01 00:00:00.365,8
+9074,2020-01-01 00:00:00.370,8
+9075,2020-01-01 00:00:00.375,8
+9076,2020-01-01 00:00:00.380,8
+9077,2020-01-01 00:00:00.385,8
+9078,2020-01-01 00:00:00.390,8
+9079,2020-01-01 00:00:00.395,8
+9080,2020-01-01 00:00:00.400,8
+9081,2020-01-01 00:00:00.405,8
+9082,2020-01-01 00:00:00.410,8
+9083,2020-01-01 00:00:00.415,8
+9084,2020-01-01 00:00:00.420,8
+9085,2020-01-01 00:00:00.425,8
+9086,2020-01-01 00:00:00.430,8
+9087,2020-01-01 00:00:00.435,8
+9088,2020-01-01 00:00:00.440,8
+9089,2020-01-01 00:00:00.445,8
+9090,2020-01-01 00:00:00.450,8
+9091,2020-01-01 00:00:00.455,8
+9092,2020-01-01 00:00:00.460,8
+9093,2020-01-01 00:00:00.465,8
+9094,2020-01-01 00:00:00.470,8
+9095,2020-01-01 00:00:00.475,8
+9096,2020-01-01 00:00:00.480,8
+9097,2020-01-01 00:00:00.485,8
+9098,2020-01-01 00:00:00.490,8
+9099,2020-01-01 00:00:00.495,8
+10000,2020-01-01 00:00:00.000,9
+10001,2020-01-01 00:00:00.005,9
+10002,2020-01-01 00:00:00.010,9
+10003,2020-01-01 00:00:00.015,9
+10004,2020-01-01 00:00:00.020,9
+10005,2020-01-01 00:00:00.025,9
+10006,2020-01-01 00:00:00.030,9
+10007,2020-01-01 00:00:00.035,9
+10008,2020-01-01 00:00:00.040,9
+10009,2020-01-01 00:00:00.045,9
+10010,2020-01-01 00:00:00.050,9
+10011,2020-01-01 00:00:00.055,9
+10012,2020-01-01 00:00:00.060,9
+10013,2020-01-01 00:00:00.065,9
+10014,2020-01-01 00:00:00.070,9
+10015,2020-01-01 00:00:00.075,9
+10016,2020-01-01 00:00:00.080,9
+10017,2020-01-01 00:00:00.085,9
+10018,2020-01-01 00:00:00.090,9
+10019,2020-01-01 00:00:00.095,9
+10020,2020-01-01 00:00:00.100,9
+10021,2020-01-01 00:00:00.105,9
+10022,2020-01-01 00:00:00.110,9
+10023,2020-01-01 00:00:00.115,9
+10024,2020-01-01 00:00:00.120,9
+10025,2020-01-01 00:00:00.125,9
+10026,2020-01-01 00:00:00.130,9
+10027,2020-01-01 00:00:00.135,9
+10028,2020-01-01 00:00:00.140,9
+10029,2020-01-01 00:00:00.145,9
+10030,2020-01-01 00:00:00.150,9
+10031,2020-01-01 00:00:00.155,9
+10032,2020-01-01 00:00:00.160,9
+10033,2020-01-01 00:00:00.165,9
+10034,2020-01-01 00:00:00.170,9
+10035,2020-01-01 00:00:00.175,9
+10036,2020-01-01 00:00:00.180,9
+10037,2020-01-01 00:00:00.185,9
+10038,2020-01-01 00:00:00.190,9
+10039,2020-01-01 00:00:00.195,9
+10040,2020-01-01 00:00:00.200,9
+10041,2020-01-01 00:00:00.205,9
+10042,2020-01-01 00:00:00.210,9
+10043,2020-01-01 00:00:00.215,9
+10044,2020-01-01 00:00:00.220,9
+10045,2020-01-01 00:00:00.225,9
+10046,2020-01-01 00:00:00.230,9
+10047,2020-01-01 00:00:00.235,9
+10048,2020-01-01 00:00:00.240,9
+10049,2020-01-01 00:00:00.245,9
+10050,2020-01-01 00:00:00.250,9
+10051,2020-01-01 00:00:00.255,9
+10052,2020-01-01 00:00:00.260,9
+10053,2020-01-01 00:00:00.265,9
+10054,2020-01-01 00:00:00.270,9
+10055,2020-01-01 00:00:00.275,9
+10056,2020-01-01 00:00:00.280,9
+10057,2020-01-01 00:00:00.285,9
+10058,2020-01-01 00:00:00.290,9
+10059,2020-01-01 00:00:00.295,9
+10060,2020-01-01 00:00:00.300,9
+10061,2020-01-01 00:00:00.305,9
+10062,2020-01-01 00:00:00.310,9
+10063,2020-01-01 00:00:00.315,9
+10064,2020-01-01 00:00:00.320,9
+10065,2020-01-01 00:00:00.325,9
+10066,2020-01-01 00:00:00.330,9
+10067,2020-01-01 00:00:00.335,9
+10068,2020-01-01 00:00:00.340,9
+10069,2020-01-01 00:00:00.345,9
+10070,2020-01-01 00:00:00.350,9
+10071,2020-01-01 00:00:00.355,9
+10072,2020-01-01 00:00:00.360,9
+10073,2020-01-01 00:00:00.365,9
+10074,2020-01-01 00:00:00.370,9
+10075,2020-01-01 00:00:00.375,9
+10076,2020-01-01 00:00:00.380,9
+10077,2020-01-01 00:00:00.385,9
+10078,2020-01-01 00:00:00.390,9
+10079,2020-01-01 00:00:00.395,9
+10080,2020-01-01 00:00:00.400,9
+10081,2020-01-01 00:00:00.405,9
+10082,2020-01-01 00:00:00.410,9
+10083,2020-01-01 00:00:00.415,9
+10084,2020-01-01 00:00:00.420,9
+10085,2020-01-01 00:00:00.425,9
+10086,2020-01-01 00:00:00.430,9
+10087,2020-01-01 00:00:00.435,9
+10088,2020-01-01 00:00:00.440,9
+10089,2020-01-01 00:00:00.445,9
+10090,2020-01-01 00:00:00.450,9
+10091,2020-01-01 00:00:00.455,9
+10092,2020-01-01 00:00:00.460,9
+10093,2020-01-01 00:00:00.465,9
+10094,2020-01-01 00:00:00.470,9
+10095,2020-01-01 00:00:00.475,9
+10096,2020-01-01 00:00:00.480,9
+10097,2020-01-01 00:00:00.485,9
+10098,2020-01-01 00:00:00.490,9
+10099,2020-01-01 00:00:00.495,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_D.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_D.csv
new file mode 100644
index 0000000..6ea9df4
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_D.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2020-01-02,0
+1002,2020-01-03,0
+1003,2020-01-04,0
+1004,2020-01-05,0
+1005,2020-01-06,0
+1006,2020-01-07,0
+1007,2020-01-08,0
+1008,2020-01-09,0
+1009,2020-01-10,0
+1010,2020-01-11,0
+1011,2020-01-12,0
+1012,2020-01-13,0
+1013,2020-01-14,0
+1014,2020-01-15,0
+1015,2020-01-16,0
+1016,2020-01-17,0
+1017,2020-01-18,0
+1018,2020-01-19,0
+1019,2020-01-20,0
+1020,2020-01-21,0
+1021,2020-01-22,0
+1022,2020-01-23,0
+1023,2020-01-24,0
+1024,2020-01-25,0
+1025,2020-01-26,0
+1026,2020-01-27,0
+1027,2020-01-28,0
+1028,2020-01-29,0
+1029,2020-01-30,0
+1030,2020-01-31,0
+1031,2020-02-01,0
+1032,2020-02-02,0
+1033,2020-02-03,0
+1034,2020-02-04,0
+1035,2020-02-05,0
+1036,2020-02-06,0
+1037,2020-02-07,0
+1038,2020-02-08,0
+1039,2020-02-09,0
+1040,2020-02-10,0
+1041,2020-02-11,0
+1042,2020-02-12,0
+1043,2020-02-13,0
+1044,2020-02-14,0
+1045,2020-02-15,0
+1046,2020-02-16,0
+1047,2020-02-17,0
+1048,2020-02-18,0
+1049,2020-02-19,0
+1050,2020-02-20,0
+1051,2020-02-21,0
+1052,2020-02-22,0
+1053,2020-02-23,0
+1054,2020-02-24,0
+1055,2020-02-25,0
+1056,2020-02-26,0
+1057,2020-02-27,0
+1058,2020-02-28,0
+1059,2020-02-29,0
+1060,2020-03-01,0
+1061,2020-03-02,0
+1062,2020-03-03,0
+1063,2020-03-04,0
+1064,2020-03-05,0
+1065,2020-03-06,0
+1066,2020-03-07,0
+1067,2020-03-08,0
+1068,2020-03-09,0
+1069,2020-03-10,0
+1070,2020-03-11,0
+1071,2020-03-12,0
+1072,2020-03-13,0
+1073,2020-03-14,0
+1074,2020-03-15,0
+1075,2020-03-16,0
+1076,2020-03-17,0
+1077,2020-03-18,0
+1078,2020-03-19,0
+1079,2020-03-20,0
+1080,2020-03-21,0
+1081,2020-03-22,0
+1082,2020-03-23,0
+1083,2020-03-24,0
+1084,2020-03-25,0
+1085,2020-03-26,0
+1086,2020-03-27,0
+1087,2020-03-28,0
+1088,2020-03-29,0
+1089,2020-03-30,0
+1090,2020-03-31,0
+1091,2020-04-01,0
+1092,2020-04-02,0
+1093,2020-04-03,0
+1094,2020-04-04,0
+1095,2020-04-05,0
+1096,2020-04-06,0
+1097,2020-04-07,0
+1098,2020-04-08,0
+1099,2020-04-09,0
+2000,2020-01-01,1
+2001,2020-01-02,1
+2002,2020-01-03,1
+2003,2020-01-04,1
+2004,2020-01-05,1
+2005,2020-01-06,1
+2006,2020-01-07,1
+2007,2020-01-08,1
+2008,2020-01-09,1
+2009,2020-01-10,1
+2010,2020-01-11,1
+2011,2020-01-12,1
+2012,2020-01-13,1
+2013,2020-01-14,1
+2014,2020-01-15,1
+2015,2020-01-16,1
+2016,2020-01-17,1
+2017,2020-01-18,1
+2018,2020-01-19,1
+2019,2020-01-20,1
+2020,2020-01-21,1
+2021,2020-01-22,1
+2022,2020-01-23,1
+2023,2020-01-24,1
+2024,2020-01-25,1
+2025,2020-01-26,1
+2026,2020-01-27,1
+2027,2020-01-28,1
+2028,2020-01-29,1
+2029,2020-01-30,1
+2030,2020-01-31,1
+2031,2020-02-01,1
+2032,2020-02-02,1
+2033,2020-02-03,1
+2034,2020-02-04,1
+2035,2020-02-05,1
+2036,2020-02-06,1
+2037,2020-02-07,1
+2038,2020-02-08,1
+2039,2020-02-09,1
+2040,2020-02-10,1
+2041,2020-02-11,1
+2042,2020-02-12,1
+2043,2020-02-13,1
+2044,2020-02-14,1
+2045,2020-02-15,1
+2046,2020-02-16,1
+2047,2020-02-17,1
+2048,2020-02-18,1
+2049,2020-02-19,1
+2050,2020-02-20,1
+2051,2020-02-21,1
+2052,2020-02-22,1
+2053,2020-02-23,1
+2054,2020-02-24,1
+2055,2020-02-25,1
+2056,2020-02-26,1
+2057,2020-02-27,1
+2058,2020-02-28,1
+2059,2020-02-29,1
+2060,2020-03-01,1
+2061,2020-03-02,1
+2062,2020-03-03,1
+2063,2020-03-04,1
+2064,2020-03-05,1
+2065,2020-03-06,1
+2066,2020-03-07,1
+2067,2020-03-08,1
+2068,2020-03-09,1
+2069,2020-03-10,1
+2070,2020-03-11,1
+2071,2020-03-12,1
+2072,2020-03-13,1
+2073,2020-03-14,1
+2074,2020-03-15,1
+2075,2020-03-16,1
+2076,2020-03-17,1
+2077,2020-03-18,1
+2078,2020-03-19,1
+2079,2020-03-20,1
+2080,2020-03-21,1
+2081,2020-03-22,1
+2082,2020-03-23,1
+2083,2020-03-24,1
+2084,2020-03-25,1
+2085,2020-03-26,1
+2086,2020-03-27,1
+2087,2020-03-28,1
+2088,2020-03-29,1
+2089,2020-03-30,1
+2090,2020-03-31,1
+2091,2020-04-01,1
+2092,2020-04-02,1
+2093,2020-04-03,1
+2094,2020-04-04,1
+2095,2020-04-05,1
+2096,2020-04-06,1
+2097,2020-04-07,1
+2098,2020-04-08,1
+2099,2020-04-09,1
+3000,2020-01-01,2
+3001,2020-01-02,2
+3002,2020-01-03,2
+3003,2020-01-04,2
+3004,2020-01-05,2
+3005,2020-01-06,2
+3006,2020-01-07,2
+3007,2020-01-08,2
+3008,2020-01-09,2
+3009,2020-01-10,2
+3010,2020-01-11,2
+3011,2020-01-12,2
+3012,2020-01-13,2
+3013,2020-01-14,2
+3014,2020-01-15,2
+3015,2020-01-16,2
+3016,2020-01-17,2
+3017,2020-01-18,2
+3018,2020-01-19,2
+3019,2020-01-20,2
+3020,2020-01-21,2
+3021,2020-01-22,2
+3022,2020-01-23,2
+3023,2020-01-24,2
+3024,2020-01-25,2
+3025,2020-01-26,2
+3026,2020-01-27,2
+3027,2020-01-28,2
+3028,2020-01-29,2
+3029,2020-01-30,2
+3030,2020-01-31,2
+3031,2020-02-01,2
+3032,2020-02-02,2
+3033,2020-02-03,2
+3034,2020-02-04,2
+3035,2020-02-05,2
+3036,2020-02-06,2
+3037,2020-02-07,2
+3038,2020-02-08,2
+3039,2020-02-09,2
+3040,2020-02-10,2
+3041,2020-02-11,2
+3042,2020-02-12,2
+3043,2020-02-13,2
+3044,2020-02-14,2
+3045,2020-02-15,2
+3046,2020-02-16,2
+3047,2020-02-17,2
+3048,2020-02-18,2
+3049,2020-02-19,2
+3050,2020-02-20,2
+3051,2020-02-21,2
+3052,2020-02-22,2
+3053,2020-02-23,2
+3054,2020-02-24,2
+3055,2020-02-25,2
+3056,2020-02-26,2
+3057,2020-02-27,2
+3058,2020-02-28,2
+3059,2020-02-29,2
+3060,2020-03-01,2
+3061,2020-03-02,2
+3062,2020-03-03,2
+3063,2020-03-04,2
+3064,2020-03-05,2
+3065,2020-03-06,2
+3066,2020-03-07,2
+3067,2020-03-08,2
+3068,2020-03-09,2
+3069,2020-03-10,2
+3070,2020-03-11,2
+3071,2020-03-12,2
+3072,2020-03-13,2
+3073,2020-03-14,2
+3074,2020-03-15,2
+3075,2020-03-16,2
+3076,2020-03-17,2
+3077,2020-03-18,2
+3078,2020-03-19,2
+3079,2020-03-20,2
+3080,2020-03-21,2
+3081,2020-03-22,2
+3082,2020-03-23,2
+3083,2020-03-24,2
+3084,2020-03-25,2
+3085,2020-03-26,2
+3086,2020-03-27,2
+3087,2020-03-28,2
+3088,2020-03-29,2
+3089,2020-03-30,2
+3090,2020-03-31,2
+3091,2020-04-01,2
+3092,2020-04-02,2
+3093,2020-04-03,2
+3094,2020-04-04,2
+3095,2020-04-05,2
+3096,2020-04-06,2
+3097,2020-04-07,2
+3098,2020-04-08,2
+3099,2020-04-09,2
+4000,2020-01-01,3
+4001,2020-01-02,3
+4002,2020-01-03,3
+4003,2020-01-04,3
+4004,2020-01-05,3
+4005,2020-01-06,3
+4006,2020-01-07,3
+4007,2020-01-08,3
+4008,2020-01-09,3
+4009,2020-01-10,3
+4010,2020-01-11,3
+4011,2020-01-12,3
+4012,2020-01-13,3
+4013,2020-01-14,3
+4014,2020-01-15,3
+4015,2020-01-16,3
+4016,2020-01-17,3
+4017,2020-01-18,3
+4018,2020-01-19,3
+4019,2020-01-20,3
+4020,2020-01-21,3
+4021,2020-01-22,3
+4022,2020-01-23,3
+4023,2020-01-24,3
+4024,2020-01-25,3
+4025,2020-01-26,3
+4026,2020-01-27,3
+4027,2020-01-28,3
+4028,2020-01-29,3
+4029,2020-01-30,3
+4030,2020-01-31,3
+4031,2020-02-01,3
+4032,2020-02-02,3
+4033,2020-02-03,3
+4034,2020-02-04,3
+4035,2020-02-05,3
+4036,2020-02-06,3
+4037,2020-02-07,3
+4038,2020-02-08,3
+4039,2020-02-09,3
+4040,2020-02-10,3
+4041,2020-02-11,3
+4042,2020-02-12,3
+4043,2020-02-13,3
+4044,2020-02-14,3
+4045,2020-02-15,3
+4046,2020-02-16,3
+4047,2020-02-17,3
+4048,2020-02-18,3
+4049,2020-02-19,3
+4050,2020-02-20,3
+4051,2020-02-21,3
+4052,2020-02-22,3
+4053,2020-02-23,3
+4054,2020-02-24,3
+4055,2020-02-25,3
+4056,2020-02-26,3
+4057,2020-02-27,3
+4058,2020-02-28,3
+4059,2020-02-29,3
+4060,2020-03-01,3
+4061,2020-03-02,3
+4062,2020-03-03,3
+4063,2020-03-04,3
+4064,2020-03-05,3
+4065,2020-03-06,3
+4066,2020-03-07,3
+4067,2020-03-08,3
+4068,2020-03-09,3
+4069,2020-03-10,3
+4070,2020-03-11,3
+4071,2020-03-12,3
+4072,2020-03-13,3
+4073,2020-03-14,3
+4074,2020-03-15,3
+4075,2020-03-16,3
+4076,2020-03-17,3
+4077,2020-03-18,3
+4078,2020-03-19,3
+4079,2020-03-20,3
+4080,2020-03-21,3
+4081,2020-03-22,3
+4082,2020-03-23,3
+4083,2020-03-24,3
+4084,2020-03-25,3
+4085,2020-03-26,3
+4086,2020-03-27,3
+4087,2020-03-28,3
+4088,2020-03-29,3
+4089,2020-03-30,3
+4090,2020-03-31,3
+4091,2020-04-01,3
+4092,2020-04-02,3
+4093,2020-04-03,3
+4094,2020-04-04,3
+4095,2020-04-05,3
+4096,2020-04-06,3
+4097,2020-04-07,3
+4098,2020-04-08,3
+4099,2020-04-09,3
+5000,2020-01-01,4
+5001,2020-01-02,4
+5002,2020-01-03,4
+5003,2020-01-04,4
+5004,2020-01-05,4
+5005,2020-01-06,4
+5006,2020-01-07,4
+5007,2020-01-08,4
+5008,2020-01-09,4
+5009,2020-01-10,4
+5010,2020-01-11,4
+5011,2020-01-12,4
+5012,2020-01-13,4
+5013,2020-01-14,4
+5014,2020-01-15,4
+5015,2020-01-16,4
+5016,2020-01-17,4
+5017,2020-01-18,4
+5018,2020-01-19,4
+5019,2020-01-20,4
+5020,2020-01-21,4
+5021,2020-01-22,4
+5022,2020-01-23,4
+5023,2020-01-24,4
+5024,2020-01-25,4
+5025,2020-01-26,4
+5026,2020-01-27,4
+5027,2020-01-28,4
+5028,2020-01-29,4
+5029,2020-01-30,4
+5030,2020-01-31,4
+5031,2020-02-01,4
+5032,2020-02-02,4
+5033,2020-02-03,4
+5034,2020-02-04,4
+5035,2020-02-05,4
+5036,2020-02-06,4
+5037,2020-02-07,4
+5038,2020-02-08,4
+5039,2020-02-09,4
+5040,2020-02-10,4
+5041,2020-02-11,4
+5042,2020-02-12,4
+5043,2020-02-13,4
+5044,2020-02-14,4
+5045,2020-02-15,4
+5046,2020-02-16,4
+5047,2020-02-17,4
+5048,2020-02-18,4
+5049,2020-02-19,4
+5050,2020-02-20,4
+5051,2020-02-21,4
+5052,2020-02-22,4
+5053,2020-02-23,4
+5054,2020-02-24,4
+5055,2020-02-25,4
+5056,2020-02-26,4
+5057,2020-02-27,4
+5058,2020-02-28,4
+5059,2020-02-29,4
+5060,2020-03-01,4
+5061,2020-03-02,4
+5062,2020-03-03,4
+5063,2020-03-04,4
+5064,2020-03-05,4
+5065,2020-03-06,4
+5066,2020-03-07,4
+5067,2020-03-08,4
+5068,2020-03-09,4
+5069,2020-03-10,4
+5070,2020-03-11,4
+5071,2020-03-12,4
+5072,2020-03-13,4
+5073,2020-03-14,4
+5074,2020-03-15,4
+5075,2020-03-16,4
+5076,2020-03-17,4
+5077,2020-03-18,4
+5078,2020-03-19,4
+5079,2020-03-20,4
+5080,2020-03-21,4
+5081,2020-03-22,4
+5082,2020-03-23,4
+5083,2020-03-24,4
+5084,2020-03-25,4
+5085,2020-03-26,4
+5086,2020-03-27,4
+5087,2020-03-28,4
+5088,2020-03-29,4
+5089,2020-03-30,4
+5090,2020-03-31,4
+5091,2020-04-01,4
+5092,2020-04-02,4
+5093,2020-04-03,4
+5094,2020-04-04,4
+5095,2020-04-05,4
+5096,2020-04-06,4
+5097,2020-04-07,4
+5098,2020-04-08,4
+5099,2020-04-09,4
+6000,2020-01-01,5
+6001,2020-01-02,5
+6002,2020-01-03,5
+6003,2020-01-04,5
+6004,2020-01-05,5
+6005,2020-01-06,5
+6006,2020-01-07,5
+6007,2020-01-08,5
+6008,2020-01-09,5
+6009,2020-01-10,5
+6010,2020-01-11,5
+6011,2020-01-12,5
+6012,2020-01-13,5
+6013,2020-01-14,5
+6014,2020-01-15,5
+6015,2020-01-16,5
+6016,2020-01-17,5
+6017,2020-01-18,5
+6018,2020-01-19,5
+6019,2020-01-20,5
+6020,2020-01-21,5
+6021,2020-01-22,5
+6022,2020-01-23,5
+6023,2020-01-24,5
+6024,2020-01-25,5
+6025,2020-01-26,5
+6026,2020-01-27,5
+6027,2020-01-28,5
+6028,2020-01-29,5
+6029,2020-01-30,5
+6030,2020-01-31,5
+6031,2020-02-01,5
+6032,2020-02-02,5
+6033,2020-02-03,5
+6034,2020-02-04,5
+6035,2020-02-05,5
+6036,2020-02-06,5
+6037,2020-02-07,5
+6038,2020-02-08,5
+6039,2020-02-09,5
+6040,2020-02-10,5
+6041,2020-02-11,5
+6042,2020-02-12,5
+6043,2020-02-13,5
+6044,2020-02-14,5
+6045,2020-02-15,5
+6046,2020-02-16,5
+6047,2020-02-17,5
+6048,2020-02-18,5
+6049,2020-02-19,5
+6050,2020-02-20,5
+6051,2020-02-21,5
+6052,2020-02-22,5
+6053,2020-02-23,5
+6054,2020-02-24,5
+6055,2020-02-25,5
+6056,2020-02-26,5
+6057,2020-02-27,5
+6058,2020-02-28,5
+6059,2020-02-29,5
+6060,2020-03-01,5
+6061,2020-03-02,5
+6062,2020-03-03,5
+6063,2020-03-04,5
+6064,2020-03-05,5
+6065,2020-03-06,5
+6066,2020-03-07,5
+6067,2020-03-08,5
+6068,2020-03-09,5
+6069,2020-03-10,5
+6070,2020-03-11,5
+6071,2020-03-12,5
+6072,2020-03-13,5
+6073,2020-03-14,5
+6074,2020-03-15,5
+6075,2020-03-16,5
+6076,2020-03-17,5
+6077,2020-03-18,5
+6078,2020-03-19,5
+6079,2020-03-20,5
+6080,2020-03-21,5
+6081,2020-03-22,5
+6082,2020-03-23,5
+6083,2020-03-24,5
+6084,2020-03-25,5
+6085,2020-03-26,5
+6086,2020-03-27,5
+6087,2020-03-28,5
+6088,2020-03-29,5
+6089,2020-03-30,5
+6090,2020-03-31,5
+6091,2020-04-01,5
+6092,2020-04-02,5
+6093,2020-04-03,5
+6094,2020-04-04,5
+6095,2020-04-05,5
+6096,2020-04-06,5
+6097,2020-04-07,5
+6098,2020-04-08,5
+6099,2020-04-09,5
+7000,2020-01-01,6
+7001,2020-01-02,6
+7002,2020-01-03,6
+7003,2020-01-04,6
+7004,2020-01-05,6
+7005,2020-01-06,6
+7006,2020-01-07,6
+7007,2020-01-08,6
+7008,2020-01-09,6
+7009,2020-01-10,6
+7010,2020-01-11,6
+7011,2020-01-12,6
+7012,2020-01-13,6
+7013,2020-01-14,6
+7014,2020-01-15,6
+7015,2020-01-16,6
+7016,2020-01-17,6
+7017,2020-01-18,6
+7018,2020-01-19,6
+7019,2020-01-20,6
+7020,2020-01-21,6
+7021,2020-01-22,6
+7022,2020-01-23,6
+7023,2020-01-24,6
+7024,2020-01-25,6
+7025,2020-01-26,6
+7026,2020-01-27,6
+7027,2020-01-28,6
+7028,2020-01-29,6
+7029,2020-01-30,6
+7030,2020-01-31,6
+7031,2020-02-01,6
+7032,2020-02-02,6
+7033,2020-02-03,6
+7034,2020-02-04,6
+7035,2020-02-05,6
+7036,2020-02-06,6
+7037,2020-02-07,6
+7038,2020-02-08,6
+7039,2020-02-09,6
+7040,2020-02-10,6
+7041,2020-02-11,6
+7042,2020-02-12,6
+7043,2020-02-13,6
+7044,2020-02-14,6
+7045,2020-02-15,6
+7046,2020-02-16,6
+7047,2020-02-17,6
+7048,2020-02-18,6
+7049,2020-02-19,6
+7050,2020-02-20,6
+7051,2020-02-21,6
+7052,2020-02-22,6
+7053,2020-02-23,6
+7054,2020-02-24,6
+7055,2020-02-25,6
+7056,2020-02-26,6
+7057,2020-02-27,6
+7058,2020-02-28,6
+7059,2020-02-29,6
+7060,2020-03-01,6
+7061,2020-03-02,6
+7062,2020-03-03,6
+7063,2020-03-04,6
+7064,2020-03-05,6
+7065,2020-03-06,6
+7066,2020-03-07,6
+7067,2020-03-08,6
+7068,2020-03-09,6
+7069,2020-03-10,6
+7070,2020-03-11,6
+7071,2020-03-12,6
+7072,2020-03-13,6
+7073,2020-03-14,6
+7074,2020-03-15,6
+7075,2020-03-16,6
+7076,2020-03-17,6
+7077,2020-03-18,6
+7078,2020-03-19,6
+7079,2020-03-20,6
+7080,2020-03-21,6
+7081,2020-03-22,6
+7082,2020-03-23,6
+7083,2020-03-24,6
+7084,2020-03-25,6
+7085,2020-03-26,6
+7086,2020-03-27,6
+7087,2020-03-28,6
+7088,2020-03-29,6
+7089,2020-03-30,6
+7090,2020-03-31,6
+7091,2020-04-01,6
+7092,2020-04-02,6
+7093,2020-04-03,6
+7094,2020-04-04,6
+7095,2020-04-05,6
+7096,2020-04-06,6
+7097,2020-04-07,6
+7098,2020-04-08,6
+7099,2020-04-09,6
+8000,2020-01-01,7
+8001,2020-01-02,7
+8002,2020-01-03,7
+8003,2020-01-04,7
+8004,2020-01-05,7
+8005,2020-01-06,7
+8006,2020-01-07,7
+8007,2020-01-08,7
+8008,2020-01-09,7
+8009,2020-01-10,7
+8010,2020-01-11,7
+8011,2020-01-12,7
+8012,2020-01-13,7
+8013,2020-01-14,7
+8014,2020-01-15,7
+8015,2020-01-16,7
+8016,2020-01-17,7
+8017,2020-01-18,7
+8018,2020-01-19,7
+8019,2020-01-20,7
+8020,2020-01-21,7
+8021,2020-01-22,7
+8022,2020-01-23,7
+8023,2020-01-24,7
+8024,2020-01-25,7
+8025,2020-01-26,7
+8026,2020-01-27,7
+8027,2020-01-28,7
+8028,2020-01-29,7
+8029,2020-01-30,7
+8030,2020-01-31,7
+8031,2020-02-01,7
+8032,2020-02-02,7
+8033,2020-02-03,7
+8034,2020-02-04,7
+8035,2020-02-05,7
+8036,2020-02-06,7
+8037,2020-02-07,7
+8038,2020-02-08,7
+8039,2020-02-09,7
+8040,2020-02-10,7
+8041,2020-02-11,7
+8042,2020-02-12,7
+8043,2020-02-13,7
+8044,2020-02-14,7
+8045,2020-02-15,7
+8046,2020-02-16,7
+8047,2020-02-17,7
+8048,2020-02-18,7
+8049,2020-02-19,7
+8050,2020-02-20,7
+8051,2020-02-21,7
+8052,2020-02-22,7
+8053,2020-02-23,7
+8054,2020-02-24,7
+8055,2020-02-25,7
+8056,2020-02-26,7
+8057,2020-02-27,7
+8058,2020-02-28,7
+8059,2020-02-29,7
+8060,2020-03-01,7
+8061,2020-03-02,7
+8062,2020-03-03,7
+8063,2020-03-04,7
+8064,2020-03-05,7
+8065,2020-03-06,7
+8066,2020-03-07,7
+8067,2020-03-08,7
+8068,2020-03-09,7
+8069,2020-03-10,7
+8070,2020-03-11,7
+8071,2020-03-12,7
+8072,2020-03-13,7
+8073,2020-03-14,7
+8074,2020-03-15,7
+8075,2020-03-16,7
+8076,2020-03-17,7
+8077,2020-03-18,7
+8078,2020-03-19,7
+8079,2020-03-20,7
+8080,2020-03-21,7
+8081,2020-03-22,7
+8082,2020-03-23,7
+8083,2020-03-24,7
+8084,2020-03-25,7
+8085,2020-03-26,7
+8086,2020-03-27,7
+8087,2020-03-28,7
+8088,2020-03-29,7
+8089,2020-03-30,7
+8090,2020-03-31,7
+8091,2020-04-01,7
+8092,2020-04-02,7
+8093,2020-04-03,7
+8094,2020-04-04,7
+8095,2020-04-05,7
+8096,2020-04-06,7
+8097,2020-04-07,7
+8098,2020-04-08,7
+8099,2020-04-09,7
+9000,2020-01-01,8
+9001,2020-01-02,8
+9002,2020-01-03,8
+9003,2020-01-04,8
+9004,2020-01-05,8
+9005,2020-01-06,8
+9006,2020-01-07,8
+9007,2020-01-08,8
+9008,2020-01-09,8
+9009,2020-01-10,8
+9010,2020-01-11,8
+9011,2020-01-12,8
+9012,2020-01-13,8
+9013,2020-01-14,8
+9014,2020-01-15,8
+9015,2020-01-16,8
+9016,2020-01-17,8
+9017,2020-01-18,8
+9018,2020-01-19,8
+9019,2020-01-20,8
+9020,2020-01-21,8
+9021,2020-01-22,8
+9022,2020-01-23,8
+9023,2020-01-24,8
+9024,2020-01-25,8
+9025,2020-01-26,8
+9026,2020-01-27,8
+9027,2020-01-28,8
+9028,2020-01-29,8
+9029,2020-01-30,8
+9030,2020-01-31,8
+9031,2020-02-01,8
+9032,2020-02-02,8
+9033,2020-02-03,8
+9034,2020-02-04,8
+9035,2020-02-05,8
+9036,2020-02-06,8
+9037,2020-02-07,8
+9038,2020-02-08,8
+9039,2020-02-09,8
+9040,2020-02-10,8
+9041,2020-02-11,8
+9042,2020-02-12,8
+9043,2020-02-13,8
+9044,2020-02-14,8
+9045,2020-02-15,8
+9046,2020-02-16,8
+9047,2020-02-17,8
+9048,2020-02-18,8
+9049,2020-02-19,8
+9050,2020-02-20,8
+9051,2020-02-21,8
+9052,2020-02-22,8
+9053,2020-02-23,8
+9054,2020-02-24,8
+9055,2020-02-25,8
+9056,2020-02-26,8
+9057,2020-02-27,8
+9058,2020-02-28,8
+9059,2020-02-29,8
+9060,2020-03-01,8
+9061,2020-03-02,8
+9062,2020-03-03,8
+9063,2020-03-04,8
+9064,2020-03-05,8
+9065,2020-03-06,8
+9066,2020-03-07,8
+9067,2020-03-08,8
+9068,2020-03-09,8
+9069,2020-03-10,8
+9070,2020-03-11,8
+9071,2020-03-12,8
+9072,2020-03-13,8
+9073,2020-03-14,8
+9074,2020-03-15,8
+9075,2020-03-16,8
+9076,2020-03-17,8
+9077,2020-03-18,8
+9078,2020-03-19,8
+9079,2020-03-20,8
+9080,2020-03-21,8
+9081,2020-03-22,8
+9082,2020-03-23,8
+9083,2020-03-24,8
+9084,2020-03-25,8
+9085,2020-03-26,8
+9086,2020-03-27,8
+9087,2020-03-28,8
+9088,2020-03-29,8
+9089,2020-03-30,8
+9090,2020-03-31,8
+9091,2020-04-01,8
+9092,2020-04-02,8
+9093,2020-04-03,8
+9094,2020-04-04,8
+9095,2020-04-05,8
+9096,2020-04-06,8
+9097,2020-04-07,8
+9098,2020-04-08,8
+9099,2020-04-09,8
+10000,2020-01-01,9
+10001,2020-01-02,9
+10002,2020-01-03,9
+10003,2020-01-04,9
+10004,2020-01-05,9
+10005,2020-01-06,9
+10006,2020-01-07,9
+10007,2020-01-08,9
+10008,2020-01-09,9
+10009,2020-01-10,9
+10010,2020-01-11,9
+10011,2020-01-12,9
+10012,2020-01-13,9
+10013,2020-01-14,9
+10014,2020-01-15,9
+10015,2020-01-16,9
+10016,2020-01-17,9
+10017,2020-01-18,9
+10018,2020-01-19,9
+10019,2020-01-20,9
+10020,2020-01-21,9
+10021,2020-01-22,9
+10022,2020-01-23,9
+10023,2020-01-24,9
+10024,2020-01-25,9
+10025,2020-01-26,9
+10026,2020-01-27,9
+10027,2020-01-28,9
+10028,2020-01-29,9
+10029,2020-01-30,9
+10030,2020-01-31,9
+10031,2020-02-01,9
+10032,2020-02-02,9
+10033,2020-02-03,9
+10034,2020-02-04,9
+10035,2020-02-05,9
+10036,2020-02-06,9
+10037,2020-02-07,9
+10038,2020-02-08,9
+10039,2020-02-09,9
+10040,2020-02-10,9
+10041,2020-02-11,9
+10042,2020-02-12,9
+10043,2020-02-13,9
+10044,2020-02-14,9
+10045,2020-02-15,9
+10046,2020-02-16,9
+10047,2020-02-17,9
+10048,2020-02-18,9
+10049,2020-02-19,9
+10050,2020-02-20,9
+10051,2020-02-21,9
+10052,2020-02-22,9
+10053,2020-02-23,9
+10054,2020-02-24,9
+10055,2020-02-25,9
+10056,2020-02-26,9
+10057,2020-02-27,9
+10058,2020-02-28,9
+10059,2020-02-29,9
+10060,2020-03-01,9
+10061,2020-03-02,9
+10062,2020-03-03,9
+10063,2020-03-04,9
+10064,2020-03-05,9
+10065,2020-03-06,9
+10066,2020-03-07,9
+10067,2020-03-08,9
+10068,2020-03-09,9
+10069,2020-03-10,9
+10070,2020-03-11,9
+10071,2020-03-12,9
+10072,2020-03-13,9
+10073,2020-03-14,9
+10074,2020-03-15,9
+10075,2020-03-16,9
+10076,2020-03-17,9
+10077,2020-03-18,9
+10078,2020-03-19,9
+10079,2020-03-20,9
+10080,2020-03-21,9
+10081,2020-03-22,9
+10082,2020-03-23,9
+10083,2020-03-24,9
+10084,2020-03-25,9
+10085,2020-03-26,9
+10086,2020-03-27,9
+10087,2020-03-28,9
+10088,2020-03-29,9
+10089,2020-03-30,9
+10090,2020-03-31,9
+10091,2020-04-01,9
+10092,2020-04-02,9
+10093,2020-04-03,9
+10094,2020-04-04,9
+10095,2020-04-05,9
+10096,2020-04-06,9
+10097,2020-04-07,9
+10098,2020-04-08,9
+10099,2020-04-09,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_H.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_H.csv
new file mode 100644
index 0000000..ba226a6
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_H.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01 00:00:00,0
+1001,2020-01-01 01:00:00,0
+1002,2020-01-01 02:00:00,0
+1003,2020-01-01 03:00:00,0
+1004,2020-01-01 04:00:00,0
+1005,2020-01-01 05:00:00,0
+1006,2020-01-01 06:00:00,0
+1007,2020-01-01 07:00:00,0
+1008,2020-01-01 08:00:00,0
+1009,2020-01-01 09:00:00,0
+1010,2020-01-01 10:00:00,0
+1011,2020-01-01 11:00:00,0
+1012,2020-01-01 12:00:00,0
+1013,2020-01-01 13:00:00,0
+1014,2020-01-01 14:00:00,0
+1015,2020-01-01 15:00:00,0
+1016,2020-01-01 16:00:00,0
+1017,2020-01-01 17:00:00,0
+1018,2020-01-01 18:00:00,0
+1019,2020-01-01 19:00:00,0
+1020,2020-01-01 20:00:00,0
+1021,2020-01-01 21:00:00,0
+1022,2020-01-01 22:00:00,0
+1023,2020-01-01 23:00:00,0
+1024,2020-01-02 00:00:00,0
+1025,2020-01-02 01:00:00,0
+1026,2020-01-02 02:00:00,0
+1027,2020-01-02 03:00:00,0
+1028,2020-01-02 04:00:00,0
+1029,2020-01-02 05:00:00,0
+1030,2020-01-02 06:00:00,0
+1031,2020-01-02 07:00:00,0
+1032,2020-01-02 08:00:00,0
+1033,2020-01-02 09:00:00,0
+1034,2020-01-02 10:00:00,0
+1035,2020-01-02 11:00:00,0
+1036,2020-01-02 12:00:00,0
+1037,2020-01-02 13:00:00,0
+1038,2020-01-02 14:00:00,0
+1039,2020-01-02 15:00:00,0
+1040,2020-01-02 16:00:00,0
+1041,2020-01-02 17:00:00,0
+1042,2020-01-02 18:00:00,0
+1043,2020-01-02 19:00:00,0
+1044,2020-01-02 20:00:00,0
+1045,2020-01-02 21:00:00,0
+1046,2020-01-02 22:00:00,0
+1047,2020-01-02 23:00:00,0
+1048,2020-01-03 00:00:00,0
+1049,2020-01-03 01:00:00,0
+1050,2020-01-03 02:00:00,0
+1051,2020-01-03 03:00:00,0
+1052,2020-01-03 04:00:00,0
+1053,2020-01-03 05:00:00,0
+1054,2020-01-03 06:00:00,0
+1055,2020-01-03 07:00:00,0
+1056,2020-01-03 08:00:00,0
+1057,2020-01-03 09:00:00,0
+1058,2020-01-03 10:00:00,0
+1059,2020-01-03 11:00:00,0
+1060,2020-01-03 12:00:00,0
+1061,2020-01-03 13:00:00,0
+1062,2020-01-03 14:00:00,0
+1063,2020-01-03 15:00:00,0
+1064,2020-01-03 16:00:00,0
+1065,2020-01-03 17:00:00,0
+1066,2020-01-03 18:00:00,0
+1067,2020-01-03 19:00:00,0
+1068,2020-01-03 20:00:00,0
+1069,2020-01-03 21:00:00,0
+1070,2020-01-03 22:00:00,0
+1071,2020-01-03 23:00:00,0
+1072,2020-01-04 00:00:00,0
+1073,2020-01-04 01:00:00,0
+1074,2020-01-04 02:00:00,0
+1075,2020-01-04 03:00:00,0
+1076,2020-01-04 04:00:00,0
+1077,2020-01-04 05:00:00,0
+1078,2020-01-04 06:00:00,0
+1079,2020-01-04 07:00:00,0
+1080,2020-01-04 08:00:00,0
+1081,2020-01-04 09:00:00,0
+1082,2020-01-04 10:00:00,0
+1083,2020-01-04 11:00:00,0
+1084,2020-01-04 12:00:00,0
+1085,2020-01-04 13:00:00,0
+1086,2020-01-04 14:00:00,0
+1087,2020-01-04 15:00:00,0
+1088,2020-01-04 16:00:00,0
+1089,2020-01-04 17:00:00,0
+1090,2020-01-04 18:00:00,0
+1091,2020-01-04 19:00:00,0
+1092,2020-01-04 20:00:00,0
+1093,2020-01-04 21:00:00,0
+1094,2020-01-04 22:00:00,0
+1095,2020-01-04 23:00:00,0
+1096,2020-01-05 00:00:00,0
+1097,2020-01-05 01:00:00,0
+1098,2020-01-05 02:00:00,0
+1099,2020-01-05 03:00:00,0
+2000,2020-01-01 00:00:00,1
+2001,2020-01-01 01:00:00,1
+2002,2020-01-01 02:00:00,1
+2003,2020-01-01 03:00:00,1
+2004,2020-01-01 04:00:00,1
+2005,2020-01-01 05:00:00,1
+2006,2020-01-01 06:00:00,1
+2007,2020-01-01 07:00:00,1
+2008,2020-01-01 08:00:00,1
+2009,2020-01-01 09:00:00,1
+2010,2020-01-01 10:00:00,1
+2011,2020-01-01 11:00:00,1
+2012,2020-01-01 12:00:00,1
+2013,2020-01-01 13:00:00,1
+2014,2020-01-01 14:00:00,1
+2015,2020-01-01 15:00:00,1
+2016,2020-01-01 16:00:00,1
+2017,2020-01-01 17:00:00,1
+2018,2020-01-01 18:00:00,1
+2019,2020-01-01 19:00:00,1
+2020,2020-01-01 20:00:00,1
+2021,2020-01-01 21:00:00,1
+2022,2020-01-01 22:00:00,1
+2023,2020-01-01 23:00:00,1
+2024,2020-01-02 00:00:00,1
+2025,2020-01-02 01:00:00,1
+2026,2020-01-02 02:00:00,1
+2027,2020-01-02 03:00:00,1
+2028,2020-01-02 04:00:00,1
+2029,2020-01-02 05:00:00,1
+2030,2020-01-02 06:00:00,1
+2031,2020-01-02 07:00:00,1
+2032,2020-01-02 08:00:00,1
+2033,2020-01-02 09:00:00,1
+2034,2020-01-02 10:00:00,1
+2035,2020-01-02 11:00:00,1
+2036,2020-01-02 12:00:00,1
+2037,2020-01-02 13:00:00,1
+2038,2020-01-02 14:00:00,1
+2039,2020-01-02 15:00:00,1
+2040,2020-01-02 16:00:00,1
+2041,2020-01-02 17:00:00,1
+2042,2020-01-02 18:00:00,1
+2043,2020-01-02 19:00:00,1
+2044,2020-01-02 20:00:00,1
+2045,2020-01-02 21:00:00,1
+2046,2020-01-02 22:00:00,1
+2047,2020-01-02 23:00:00,1
+2048,2020-01-03 00:00:00,1
+2049,2020-01-03 01:00:00,1
+2050,2020-01-03 02:00:00,1
+2051,2020-01-03 03:00:00,1
+2052,2020-01-03 04:00:00,1
+2053,2020-01-03 05:00:00,1
+2054,2020-01-03 06:00:00,1
+2055,2020-01-03 07:00:00,1
+2056,2020-01-03 08:00:00,1
+2057,2020-01-03 09:00:00,1
+2058,2020-01-03 10:00:00,1
+2059,2020-01-03 11:00:00,1
+2060,2020-01-03 12:00:00,1
+2061,2020-01-03 13:00:00,1
+2062,2020-01-03 14:00:00,1
+2063,2020-01-03 15:00:00,1
+2064,2020-01-03 16:00:00,1
+2065,2020-01-03 17:00:00,1
+2066,2020-01-03 18:00:00,1
+2067,2020-01-03 19:00:00,1
+2068,2020-01-03 20:00:00,1
+2069,2020-01-03 21:00:00,1
+2070,2020-01-03 22:00:00,1
+2071,2020-01-03 23:00:00,1
+2072,2020-01-04 00:00:00,1
+2073,2020-01-04 01:00:00,1
+2074,2020-01-04 02:00:00,1
+2075,2020-01-04 03:00:00,1
+2076,2020-01-04 04:00:00,1
+2077,2020-01-04 05:00:00,1
+2078,2020-01-04 06:00:00,1
+2079,2020-01-04 07:00:00,1
+2080,2020-01-04 08:00:00,1
+2081,2020-01-04 09:00:00,1
+2082,2020-01-04 10:00:00,1
+2083,2020-01-04 11:00:00,1
+2084,2020-01-04 12:00:00,1
+2085,2020-01-04 13:00:00,1
+2086,2020-01-04 14:00:00,1
+2087,2020-01-04 15:00:00,1
+2088,2020-01-04 16:00:00,1
+2089,2020-01-04 17:00:00,1
+2090,2020-01-04 18:00:00,1
+2091,2020-01-04 19:00:00,1
+2092,2020-01-04 20:00:00,1
+2093,2020-01-04 21:00:00,1
+2094,2020-01-04 22:00:00,1
+2095,2020-01-04 23:00:00,1
+2096,2020-01-05 00:00:00,1
+2097,2020-01-05 01:00:00,1
+2098,2020-01-05 02:00:00,1
+2099,2020-01-05 03:00:00,1
+3000,2020-01-01 00:00:00,2
+3001,2020-01-01 01:00:00,2
+3002,2020-01-01 02:00:00,2
+3003,2020-01-01 03:00:00,2
+3004,2020-01-01 04:00:00,2
+3005,2020-01-01 05:00:00,2
+3006,2020-01-01 06:00:00,2
+3007,2020-01-01 07:00:00,2
+3008,2020-01-01 08:00:00,2
+3009,2020-01-01 09:00:00,2
+3010,2020-01-01 10:00:00,2
+3011,2020-01-01 11:00:00,2
+3012,2020-01-01 12:00:00,2
+3013,2020-01-01 13:00:00,2
+3014,2020-01-01 14:00:00,2
+3015,2020-01-01 15:00:00,2
+3016,2020-01-01 16:00:00,2
+3017,2020-01-01 17:00:00,2
+3018,2020-01-01 18:00:00,2
+3019,2020-01-01 19:00:00,2
+3020,2020-01-01 20:00:00,2
+3021,2020-01-01 21:00:00,2
+3022,2020-01-01 22:00:00,2
+3023,2020-01-01 23:00:00,2
+3024,2020-01-02 00:00:00,2
+3025,2020-01-02 01:00:00,2
+3026,2020-01-02 02:00:00,2
+3027,2020-01-02 03:00:00,2
+3028,2020-01-02 04:00:00,2
+3029,2020-01-02 05:00:00,2
+3030,2020-01-02 06:00:00,2
+3031,2020-01-02 07:00:00,2
+3032,2020-01-02 08:00:00,2
+3033,2020-01-02 09:00:00,2
+3034,2020-01-02 10:00:00,2
+3035,2020-01-02 11:00:00,2
+3036,2020-01-02 12:00:00,2
+3037,2020-01-02 13:00:00,2
+3038,2020-01-02 14:00:00,2
+3039,2020-01-02 15:00:00,2
+3040,2020-01-02 16:00:00,2
+3041,2020-01-02 17:00:00,2
+3042,2020-01-02 18:00:00,2
+3043,2020-01-02 19:00:00,2
+3044,2020-01-02 20:00:00,2
+3045,2020-01-02 21:00:00,2
+3046,2020-01-02 22:00:00,2
+3047,2020-01-02 23:00:00,2
+3048,2020-01-03 00:00:00,2
+3049,2020-01-03 01:00:00,2
+3050,2020-01-03 02:00:00,2
+3051,2020-01-03 03:00:00,2
+3052,2020-01-03 04:00:00,2
+3053,2020-01-03 05:00:00,2
+3054,2020-01-03 06:00:00,2
+3055,2020-01-03 07:00:00,2
+3056,2020-01-03 08:00:00,2
+3057,2020-01-03 09:00:00,2
+3058,2020-01-03 10:00:00,2
+3059,2020-01-03 11:00:00,2
+3060,2020-01-03 12:00:00,2
+3061,2020-01-03 13:00:00,2
+3062,2020-01-03 14:00:00,2
+3063,2020-01-03 15:00:00,2
+3064,2020-01-03 16:00:00,2
+3065,2020-01-03 17:00:00,2
+3066,2020-01-03 18:00:00,2
+3067,2020-01-03 19:00:00,2
+3068,2020-01-03 20:00:00,2
+3069,2020-01-03 21:00:00,2
+3070,2020-01-03 22:00:00,2
+3071,2020-01-03 23:00:00,2
+3072,2020-01-04 00:00:00,2
+3073,2020-01-04 01:00:00,2
+3074,2020-01-04 02:00:00,2
+3075,2020-01-04 03:00:00,2
+3076,2020-01-04 04:00:00,2
+3077,2020-01-04 05:00:00,2
+3078,2020-01-04 06:00:00,2
+3079,2020-01-04 07:00:00,2
+3080,2020-01-04 08:00:00,2
+3081,2020-01-04 09:00:00,2
+3082,2020-01-04 10:00:00,2
+3083,2020-01-04 11:00:00,2
+3084,2020-01-04 12:00:00,2
+3085,2020-01-04 13:00:00,2
+3086,2020-01-04 14:00:00,2
+3087,2020-01-04 15:00:00,2
+3088,2020-01-04 16:00:00,2
+3089,2020-01-04 17:00:00,2
+3090,2020-01-04 18:00:00,2
+3091,2020-01-04 19:00:00,2
+3092,2020-01-04 20:00:00,2
+3093,2020-01-04 21:00:00,2
+3094,2020-01-04 22:00:00,2
+3095,2020-01-04 23:00:00,2
+3096,2020-01-05 00:00:00,2
+3097,2020-01-05 01:00:00,2
+3098,2020-01-05 02:00:00,2
+3099,2020-01-05 03:00:00,2
+4000,2020-01-01 00:00:00,3
+4001,2020-01-01 01:00:00,3
+4002,2020-01-01 02:00:00,3
+4003,2020-01-01 03:00:00,3
+4004,2020-01-01 04:00:00,3
+4005,2020-01-01 05:00:00,3
+4006,2020-01-01 06:00:00,3
+4007,2020-01-01 07:00:00,3
+4008,2020-01-01 08:00:00,3
+4009,2020-01-01 09:00:00,3
+4010,2020-01-01 10:00:00,3
+4011,2020-01-01 11:00:00,3
+4012,2020-01-01 12:00:00,3
+4013,2020-01-01 13:00:00,3
+4014,2020-01-01 14:00:00,3
+4015,2020-01-01 15:00:00,3
+4016,2020-01-01 16:00:00,3
+4017,2020-01-01 17:00:00,3
+4018,2020-01-01 18:00:00,3
+4019,2020-01-01 19:00:00,3
+4020,2020-01-01 20:00:00,3
+4021,2020-01-01 21:00:00,3
+4022,2020-01-01 22:00:00,3
+4023,2020-01-01 23:00:00,3
+4024,2020-01-02 00:00:00,3
+4025,2020-01-02 01:00:00,3
+4026,2020-01-02 02:00:00,3
+4027,2020-01-02 03:00:00,3
+4028,2020-01-02 04:00:00,3
+4029,2020-01-02 05:00:00,3
+4030,2020-01-02 06:00:00,3
+4031,2020-01-02 07:00:00,3
+4032,2020-01-02 08:00:00,3
+4033,2020-01-02 09:00:00,3
+4034,2020-01-02 10:00:00,3
+4035,2020-01-02 11:00:00,3
+4036,2020-01-02 12:00:00,3
+4037,2020-01-02 13:00:00,3
+4038,2020-01-02 14:00:00,3
+4039,2020-01-02 15:00:00,3
+4040,2020-01-02 16:00:00,3
+4041,2020-01-02 17:00:00,3
+4042,2020-01-02 18:00:00,3
+4043,2020-01-02 19:00:00,3
+4044,2020-01-02 20:00:00,3
+4045,2020-01-02 21:00:00,3
+4046,2020-01-02 22:00:00,3
+4047,2020-01-02 23:00:00,3
+4048,2020-01-03 00:00:00,3
+4049,2020-01-03 01:00:00,3
+4050,2020-01-03 02:00:00,3
+4051,2020-01-03 03:00:00,3
+4052,2020-01-03 04:00:00,3
+4053,2020-01-03 05:00:00,3
+4054,2020-01-03 06:00:00,3
+4055,2020-01-03 07:00:00,3
+4056,2020-01-03 08:00:00,3
+4057,2020-01-03 09:00:00,3
+4058,2020-01-03 10:00:00,3
+4059,2020-01-03 11:00:00,3
+4060,2020-01-03 12:00:00,3
+4061,2020-01-03 13:00:00,3
+4062,2020-01-03 14:00:00,3
+4063,2020-01-03 15:00:00,3
+4064,2020-01-03 16:00:00,3
+4065,2020-01-03 17:00:00,3
+4066,2020-01-03 18:00:00,3
+4067,2020-01-03 19:00:00,3
+4068,2020-01-03 20:00:00,3
+4069,2020-01-03 21:00:00,3
+4070,2020-01-03 22:00:00,3
+4071,2020-01-03 23:00:00,3
+4072,2020-01-04 00:00:00,3
+4073,2020-01-04 01:00:00,3
+4074,2020-01-04 02:00:00,3
+4075,2020-01-04 03:00:00,3
+4076,2020-01-04 04:00:00,3
+4077,2020-01-04 05:00:00,3
+4078,2020-01-04 06:00:00,3
+4079,2020-01-04 07:00:00,3
+4080,2020-01-04 08:00:00,3
+4081,2020-01-04 09:00:00,3
+4082,2020-01-04 10:00:00,3
+4083,2020-01-04 11:00:00,3
+4084,2020-01-04 12:00:00,3
+4085,2020-01-04 13:00:00,3
+4086,2020-01-04 14:00:00,3
+4087,2020-01-04 15:00:00,3
+4088,2020-01-04 16:00:00,3
+4089,2020-01-04 17:00:00,3
+4090,2020-01-04 18:00:00,3
+4091,2020-01-04 19:00:00,3
+4092,2020-01-04 20:00:00,3
+4093,2020-01-04 21:00:00,3
+4094,2020-01-04 22:00:00,3
+4095,2020-01-04 23:00:00,3
+4096,2020-01-05 00:00:00,3
+4097,2020-01-05 01:00:00,3
+4098,2020-01-05 02:00:00,3
+4099,2020-01-05 03:00:00,3
+5000,2020-01-01 00:00:00,4
+5001,2020-01-01 01:00:00,4
+5002,2020-01-01 02:00:00,4
+5003,2020-01-01 03:00:00,4
+5004,2020-01-01 04:00:00,4
+5005,2020-01-01 05:00:00,4
+5006,2020-01-01 06:00:00,4
+5007,2020-01-01 07:00:00,4
+5008,2020-01-01 08:00:00,4
+5009,2020-01-01 09:00:00,4
+5010,2020-01-01 10:00:00,4
+5011,2020-01-01 11:00:00,4
+5012,2020-01-01 12:00:00,4
+5013,2020-01-01 13:00:00,4
+5014,2020-01-01 14:00:00,4
+5015,2020-01-01 15:00:00,4
+5016,2020-01-01 16:00:00,4
+5017,2020-01-01 17:00:00,4
+5018,2020-01-01 18:00:00,4
+5019,2020-01-01 19:00:00,4
+5020,2020-01-01 20:00:00,4
+5021,2020-01-01 21:00:00,4
+5022,2020-01-01 22:00:00,4
+5023,2020-01-01 23:00:00,4
+5024,2020-01-02 00:00:00,4
+5025,2020-01-02 01:00:00,4
+5026,2020-01-02 02:00:00,4
+5027,2020-01-02 03:00:00,4
+5028,2020-01-02 04:00:00,4
+5029,2020-01-02 05:00:00,4
+5030,2020-01-02 06:00:00,4
+5031,2020-01-02 07:00:00,4
+5032,2020-01-02 08:00:00,4
+5033,2020-01-02 09:00:00,4
+5034,2020-01-02 10:00:00,4
+5035,2020-01-02 11:00:00,4
+5036,2020-01-02 12:00:00,4
+5037,2020-01-02 13:00:00,4
+5038,2020-01-02 14:00:00,4
+5039,2020-01-02 15:00:00,4
+5040,2020-01-02 16:00:00,4
+5041,2020-01-02 17:00:00,4
+5042,2020-01-02 18:00:00,4
+5043,2020-01-02 19:00:00,4
+5044,2020-01-02 20:00:00,4
+5045,2020-01-02 21:00:00,4
+5046,2020-01-02 22:00:00,4
+5047,2020-01-02 23:00:00,4
+5048,2020-01-03 00:00:00,4
+5049,2020-01-03 01:00:00,4
+5050,2020-01-03 02:00:00,4
+5051,2020-01-03 03:00:00,4
+5052,2020-01-03 04:00:00,4
+5053,2020-01-03 05:00:00,4
+5054,2020-01-03 06:00:00,4
+5055,2020-01-03 07:00:00,4
+5056,2020-01-03 08:00:00,4
+5057,2020-01-03 09:00:00,4
+5058,2020-01-03 10:00:00,4
+5059,2020-01-03 11:00:00,4
+5060,2020-01-03 12:00:00,4
+5061,2020-01-03 13:00:00,4
+5062,2020-01-03 14:00:00,4
+5063,2020-01-03 15:00:00,4
+5064,2020-01-03 16:00:00,4
+5065,2020-01-03 17:00:00,4
+5066,2020-01-03 18:00:00,4
+5067,2020-01-03 19:00:00,4
+5068,2020-01-03 20:00:00,4
+5069,2020-01-03 21:00:00,4
+5070,2020-01-03 22:00:00,4
+5071,2020-01-03 23:00:00,4
+5072,2020-01-04 00:00:00,4
+5073,2020-01-04 01:00:00,4
+5074,2020-01-04 02:00:00,4
+5075,2020-01-04 03:00:00,4
+5076,2020-01-04 04:00:00,4
+5077,2020-01-04 05:00:00,4
+5078,2020-01-04 06:00:00,4
+5079,2020-01-04 07:00:00,4
+5080,2020-01-04 08:00:00,4
+5081,2020-01-04 09:00:00,4
+5082,2020-01-04 10:00:00,4
+5083,2020-01-04 11:00:00,4
+5084,2020-01-04 12:00:00,4
+5085,2020-01-04 13:00:00,4
+5086,2020-01-04 14:00:00,4
+5087,2020-01-04 15:00:00,4
+5088,2020-01-04 16:00:00,4
+5089,2020-01-04 17:00:00,4
+5090,2020-01-04 18:00:00,4
+5091,2020-01-04 19:00:00,4
+5092,2020-01-04 20:00:00,4
+5093,2020-01-04 21:00:00,4
+5094,2020-01-04 22:00:00,4
+5095,2020-01-04 23:00:00,4
+5096,2020-01-05 00:00:00,4
+5097,2020-01-05 01:00:00,4
+5098,2020-01-05 02:00:00,4
+5099,2020-01-05 03:00:00,4
+6000,2020-01-01 00:00:00,5
+6001,2020-01-01 01:00:00,5
+6002,2020-01-01 02:00:00,5
+6003,2020-01-01 03:00:00,5
+6004,2020-01-01 04:00:00,5
+6005,2020-01-01 05:00:00,5
+6006,2020-01-01 06:00:00,5
+6007,2020-01-01 07:00:00,5
+6008,2020-01-01 08:00:00,5
+6009,2020-01-01 09:00:00,5
+6010,2020-01-01 10:00:00,5
+6011,2020-01-01 11:00:00,5
+6012,2020-01-01 12:00:00,5
+6013,2020-01-01 13:00:00,5
+6014,2020-01-01 14:00:00,5
+6015,2020-01-01 15:00:00,5
+6016,2020-01-01 16:00:00,5
+6017,2020-01-01 17:00:00,5
+6018,2020-01-01 18:00:00,5
+6019,2020-01-01 19:00:00,5
+6020,2020-01-01 20:00:00,5
+6021,2020-01-01 21:00:00,5
+6022,2020-01-01 22:00:00,5
+6023,2020-01-01 23:00:00,5
+6024,2020-01-02 00:00:00,5
+6025,2020-01-02 01:00:00,5
+6026,2020-01-02 02:00:00,5
+6027,2020-01-02 03:00:00,5
+6028,2020-01-02 04:00:00,5
+6029,2020-01-02 05:00:00,5
+6030,2020-01-02 06:00:00,5
+6031,2020-01-02 07:00:00,5
+6032,2020-01-02 08:00:00,5
+6033,2020-01-02 09:00:00,5
+6034,2020-01-02 10:00:00,5
+6035,2020-01-02 11:00:00,5
+6036,2020-01-02 12:00:00,5
+6037,2020-01-02 13:00:00,5
+6038,2020-01-02 14:00:00,5
+6039,2020-01-02 15:00:00,5
+6040,2020-01-02 16:00:00,5
+6041,2020-01-02 17:00:00,5
+6042,2020-01-02 18:00:00,5
+6043,2020-01-02 19:00:00,5
+6044,2020-01-02 20:00:00,5
+6045,2020-01-02 21:00:00,5
+6046,2020-01-02 22:00:00,5
+6047,2020-01-02 23:00:00,5
+6048,2020-01-03 00:00:00,5
+6049,2020-01-03 01:00:00,5
+6050,2020-01-03 02:00:00,5
+6051,2020-01-03 03:00:00,5
+6052,2020-01-03 04:00:00,5
+6053,2020-01-03 05:00:00,5
+6054,2020-01-03 06:00:00,5
+6055,2020-01-03 07:00:00,5
+6056,2020-01-03 08:00:00,5
+6057,2020-01-03 09:00:00,5
+6058,2020-01-03 10:00:00,5
+6059,2020-01-03 11:00:00,5
+6060,2020-01-03 12:00:00,5
+6061,2020-01-03 13:00:00,5
+6062,2020-01-03 14:00:00,5
+6063,2020-01-03 15:00:00,5
+6064,2020-01-03 16:00:00,5
+6065,2020-01-03 17:00:00,5
+6066,2020-01-03 18:00:00,5
+6067,2020-01-03 19:00:00,5
+6068,2020-01-03 20:00:00,5
+6069,2020-01-03 21:00:00,5
+6070,2020-01-03 22:00:00,5
+6071,2020-01-03 23:00:00,5
+6072,2020-01-04 00:00:00,5
+6073,2020-01-04 01:00:00,5
+6074,2020-01-04 02:00:00,5
+6075,2020-01-04 03:00:00,5
+6076,2020-01-04 04:00:00,5
+6077,2020-01-04 05:00:00,5
+6078,2020-01-04 06:00:00,5
+6079,2020-01-04 07:00:00,5
+6080,2020-01-04 08:00:00,5
+6081,2020-01-04 09:00:00,5
+6082,2020-01-04 10:00:00,5
+6083,2020-01-04 11:00:00,5
+6084,2020-01-04 12:00:00,5
+6085,2020-01-04 13:00:00,5
+6086,2020-01-04 14:00:00,5
+6087,2020-01-04 15:00:00,5
+6088,2020-01-04 16:00:00,5
+6089,2020-01-04 17:00:00,5
+6090,2020-01-04 18:00:00,5
+6091,2020-01-04 19:00:00,5
+6092,2020-01-04 20:00:00,5
+6093,2020-01-04 21:00:00,5
+6094,2020-01-04 22:00:00,5
+6095,2020-01-04 23:00:00,5
+6096,2020-01-05 00:00:00,5
+6097,2020-01-05 01:00:00,5
+6098,2020-01-05 02:00:00,5
+6099,2020-01-05 03:00:00,5
+7000,2020-01-01 00:00:00,6
+7001,2020-01-01 01:00:00,6
+7002,2020-01-01 02:00:00,6
+7003,2020-01-01 03:00:00,6
+7004,2020-01-01 04:00:00,6
+7005,2020-01-01 05:00:00,6
+7006,2020-01-01 06:00:00,6
+7007,2020-01-01 07:00:00,6
+7008,2020-01-01 08:00:00,6
+7009,2020-01-01 09:00:00,6
+7010,2020-01-01 10:00:00,6
+7011,2020-01-01 11:00:00,6
+7012,2020-01-01 12:00:00,6
+7013,2020-01-01 13:00:00,6
+7014,2020-01-01 14:00:00,6
+7015,2020-01-01 15:00:00,6
+7016,2020-01-01 16:00:00,6
+7017,2020-01-01 17:00:00,6
+7018,2020-01-01 18:00:00,6
+7019,2020-01-01 19:00:00,6
+7020,2020-01-01 20:00:00,6
+7021,2020-01-01 21:00:00,6
+7022,2020-01-01 22:00:00,6
+7023,2020-01-01 23:00:00,6
+7024,2020-01-02 00:00:00,6
+7025,2020-01-02 01:00:00,6
+7026,2020-01-02 02:00:00,6
+7027,2020-01-02 03:00:00,6
+7028,2020-01-02 04:00:00,6
+7029,2020-01-02 05:00:00,6
+7030,2020-01-02 06:00:00,6
+7031,2020-01-02 07:00:00,6
+7032,2020-01-02 08:00:00,6
+7033,2020-01-02 09:00:00,6
+7034,2020-01-02 10:00:00,6
+7035,2020-01-02 11:00:00,6
+7036,2020-01-02 12:00:00,6
+7037,2020-01-02 13:00:00,6
+7038,2020-01-02 14:00:00,6
+7039,2020-01-02 15:00:00,6
+7040,2020-01-02 16:00:00,6
+7041,2020-01-02 17:00:00,6
+7042,2020-01-02 18:00:00,6
+7043,2020-01-02 19:00:00,6
+7044,2020-01-02 20:00:00,6
+7045,2020-01-02 21:00:00,6
+7046,2020-01-02 22:00:00,6
+7047,2020-01-02 23:00:00,6
+7048,2020-01-03 00:00:00,6
+7049,2020-01-03 01:00:00,6
+7050,2020-01-03 02:00:00,6
+7051,2020-01-03 03:00:00,6
+7052,2020-01-03 04:00:00,6
+7053,2020-01-03 05:00:00,6
+7054,2020-01-03 06:00:00,6
+7055,2020-01-03 07:00:00,6
+7056,2020-01-03 08:00:00,6
+7057,2020-01-03 09:00:00,6
+7058,2020-01-03 10:00:00,6
+7059,2020-01-03 11:00:00,6
+7060,2020-01-03 12:00:00,6
+7061,2020-01-03 13:00:00,6
+7062,2020-01-03 14:00:00,6
+7063,2020-01-03 15:00:00,6
+7064,2020-01-03 16:00:00,6
+7065,2020-01-03 17:00:00,6
+7066,2020-01-03 18:00:00,6
+7067,2020-01-03 19:00:00,6
+7068,2020-01-03 20:00:00,6
+7069,2020-01-03 21:00:00,6
+7070,2020-01-03 22:00:00,6
+7071,2020-01-03 23:00:00,6
+7072,2020-01-04 00:00:00,6
+7073,2020-01-04 01:00:00,6
+7074,2020-01-04 02:00:00,6
+7075,2020-01-04 03:00:00,6
+7076,2020-01-04 04:00:00,6
+7077,2020-01-04 05:00:00,6
+7078,2020-01-04 06:00:00,6
+7079,2020-01-04 07:00:00,6
+7080,2020-01-04 08:00:00,6
+7081,2020-01-04 09:00:00,6
+7082,2020-01-04 10:00:00,6
+7083,2020-01-04 11:00:00,6
+7084,2020-01-04 12:00:00,6
+7085,2020-01-04 13:00:00,6
+7086,2020-01-04 14:00:00,6
+7087,2020-01-04 15:00:00,6
+7088,2020-01-04 16:00:00,6
+7089,2020-01-04 17:00:00,6
+7090,2020-01-04 18:00:00,6
+7091,2020-01-04 19:00:00,6
+7092,2020-01-04 20:00:00,6
+7093,2020-01-04 21:00:00,6
+7094,2020-01-04 22:00:00,6
+7095,2020-01-04 23:00:00,6
+7096,2020-01-05 00:00:00,6
+7097,2020-01-05 01:00:00,6
+7098,2020-01-05 02:00:00,6
+7099,2020-01-05 03:00:00,6
+8000,2020-01-01 00:00:00,7
+8001,2020-01-01 01:00:00,7
+8002,2020-01-01 02:00:00,7
+8003,2020-01-01 03:00:00,7
+8004,2020-01-01 04:00:00,7
+8005,2020-01-01 05:00:00,7
+8006,2020-01-01 06:00:00,7
+8007,2020-01-01 07:00:00,7
+8008,2020-01-01 08:00:00,7
+8009,2020-01-01 09:00:00,7
+8010,2020-01-01 10:00:00,7
+8011,2020-01-01 11:00:00,7
+8012,2020-01-01 12:00:00,7
+8013,2020-01-01 13:00:00,7
+8014,2020-01-01 14:00:00,7
+8015,2020-01-01 15:00:00,7
+8016,2020-01-01 16:00:00,7
+8017,2020-01-01 17:00:00,7
+8018,2020-01-01 18:00:00,7
+8019,2020-01-01 19:00:00,7
+8020,2020-01-01 20:00:00,7
+8021,2020-01-01 21:00:00,7
+8022,2020-01-01 22:00:00,7
+8023,2020-01-01 23:00:00,7
+8024,2020-01-02 00:00:00,7
+8025,2020-01-02 01:00:00,7
+8026,2020-01-02 02:00:00,7
+8027,2020-01-02 03:00:00,7
+8028,2020-01-02 04:00:00,7
+8029,2020-01-02 05:00:00,7
+8030,2020-01-02 06:00:00,7
+8031,2020-01-02 07:00:00,7
+8032,2020-01-02 08:00:00,7
+8033,2020-01-02 09:00:00,7
+8034,2020-01-02 10:00:00,7
+8035,2020-01-02 11:00:00,7
+8036,2020-01-02 12:00:00,7
+8037,2020-01-02 13:00:00,7
+8038,2020-01-02 14:00:00,7
+8039,2020-01-02 15:00:00,7
+8040,2020-01-02 16:00:00,7
+8041,2020-01-02 17:00:00,7
+8042,2020-01-02 18:00:00,7
+8043,2020-01-02 19:00:00,7
+8044,2020-01-02 20:00:00,7
+8045,2020-01-02 21:00:00,7
+8046,2020-01-02 22:00:00,7
+8047,2020-01-02 23:00:00,7
+8048,2020-01-03 00:00:00,7
+8049,2020-01-03 01:00:00,7
+8050,2020-01-03 02:00:00,7
+8051,2020-01-03 03:00:00,7
+8052,2020-01-03 04:00:00,7
+8053,2020-01-03 05:00:00,7
+8054,2020-01-03 06:00:00,7
+8055,2020-01-03 07:00:00,7
+8056,2020-01-03 08:00:00,7
+8057,2020-01-03 09:00:00,7
+8058,2020-01-03 10:00:00,7
+8059,2020-01-03 11:00:00,7
+8060,2020-01-03 12:00:00,7
+8061,2020-01-03 13:00:00,7
+8062,2020-01-03 14:00:00,7
+8063,2020-01-03 15:00:00,7
+8064,2020-01-03 16:00:00,7
+8065,2020-01-03 17:00:00,7
+8066,2020-01-03 18:00:00,7
+8067,2020-01-03 19:00:00,7
+8068,2020-01-03 20:00:00,7
+8069,2020-01-03 21:00:00,7
+8070,2020-01-03 22:00:00,7
+8071,2020-01-03 23:00:00,7
+8072,2020-01-04 00:00:00,7
+8073,2020-01-04 01:00:00,7
+8074,2020-01-04 02:00:00,7
+8075,2020-01-04 03:00:00,7
+8076,2020-01-04 04:00:00,7
+8077,2020-01-04 05:00:00,7
+8078,2020-01-04 06:00:00,7
+8079,2020-01-04 07:00:00,7
+8080,2020-01-04 08:00:00,7
+8081,2020-01-04 09:00:00,7
+8082,2020-01-04 10:00:00,7
+8083,2020-01-04 11:00:00,7
+8084,2020-01-04 12:00:00,7
+8085,2020-01-04 13:00:00,7
+8086,2020-01-04 14:00:00,7
+8087,2020-01-04 15:00:00,7
+8088,2020-01-04 16:00:00,7
+8089,2020-01-04 17:00:00,7
+8090,2020-01-04 18:00:00,7
+8091,2020-01-04 19:00:00,7
+8092,2020-01-04 20:00:00,7
+8093,2020-01-04 21:00:00,7
+8094,2020-01-04 22:00:00,7
+8095,2020-01-04 23:00:00,7
+8096,2020-01-05 00:00:00,7
+8097,2020-01-05 01:00:00,7
+8098,2020-01-05 02:00:00,7
+8099,2020-01-05 03:00:00,7
+9000,2020-01-01 00:00:00,8
+9001,2020-01-01 01:00:00,8
+9002,2020-01-01 02:00:00,8
+9003,2020-01-01 03:00:00,8
+9004,2020-01-01 04:00:00,8
+9005,2020-01-01 05:00:00,8
+9006,2020-01-01 06:00:00,8
+9007,2020-01-01 07:00:00,8
+9008,2020-01-01 08:00:00,8
+9009,2020-01-01 09:00:00,8
+9010,2020-01-01 10:00:00,8
+9011,2020-01-01 11:00:00,8
+9012,2020-01-01 12:00:00,8
+9013,2020-01-01 13:00:00,8
+9014,2020-01-01 14:00:00,8
+9015,2020-01-01 15:00:00,8
+9016,2020-01-01 16:00:00,8
+9017,2020-01-01 17:00:00,8
+9018,2020-01-01 18:00:00,8
+9019,2020-01-01 19:00:00,8
+9020,2020-01-01 20:00:00,8
+9021,2020-01-01 21:00:00,8
+9022,2020-01-01 22:00:00,8
+9023,2020-01-01 23:00:00,8
+9024,2020-01-02 00:00:00,8
+9025,2020-01-02 01:00:00,8
+9026,2020-01-02 02:00:00,8
+9027,2020-01-02 03:00:00,8
+9028,2020-01-02 04:00:00,8
+9029,2020-01-02 05:00:00,8
+9030,2020-01-02 06:00:00,8
+9031,2020-01-02 07:00:00,8
+9032,2020-01-02 08:00:00,8
+9033,2020-01-02 09:00:00,8
+9034,2020-01-02 10:00:00,8
+9035,2020-01-02 11:00:00,8
+9036,2020-01-02 12:00:00,8
+9037,2020-01-02 13:00:00,8
+9038,2020-01-02 14:00:00,8
+9039,2020-01-02 15:00:00,8
+9040,2020-01-02 16:00:00,8
+9041,2020-01-02 17:00:00,8
+9042,2020-01-02 18:00:00,8
+9043,2020-01-02 19:00:00,8
+9044,2020-01-02 20:00:00,8
+9045,2020-01-02 21:00:00,8
+9046,2020-01-02 22:00:00,8
+9047,2020-01-02 23:00:00,8
+9048,2020-01-03 00:00:00,8
+9049,2020-01-03 01:00:00,8
+9050,2020-01-03 02:00:00,8
+9051,2020-01-03 03:00:00,8
+9052,2020-01-03 04:00:00,8
+9053,2020-01-03 05:00:00,8
+9054,2020-01-03 06:00:00,8
+9055,2020-01-03 07:00:00,8
+9056,2020-01-03 08:00:00,8
+9057,2020-01-03 09:00:00,8
+9058,2020-01-03 10:00:00,8
+9059,2020-01-03 11:00:00,8
+9060,2020-01-03 12:00:00,8
+9061,2020-01-03 13:00:00,8
+9062,2020-01-03 14:00:00,8
+9063,2020-01-03 15:00:00,8
+9064,2020-01-03 16:00:00,8
+9065,2020-01-03 17:00:00,8
+9066,2020-01-03 18:00:00,8
+9067,2020-01-03 19:00:00,8
+9068,2020-01-03 20:00:00,8
+9069,2020-01-03 21:00:00,8
+9070,2020-01-03 22:00:00,8
+9071,2020-01-03 23:00:00,8
+9072,2020-01-04 00:00:00,8
+9073,2020-01-04 01:00:00,8
+9074,2020-01-04 02:00:00,8
+9075,2020-01-04 03:00:00,8
+9076,2020-01-04 04:00:00,8
+9077,2020-01-04 05:00:00,8
+9078,2020-01-04 06:00:00,8
+9079,2020-01-04 07:00:00,8
+9080,2020-01-04 08:00:00,8
+9081,2020-01-04 09:00:00,8
+9082,2020-01-04 10:00:00,8
+9083,2020-01-04 11:00:00,8
+9084,2020-01-04 12:00:00,8
+9085,2020-01-04 13:00:00,8
+9086,2020-01-04 14:00:00,8
+9087,2020-01-04 15:00:00,8
+9088,2020-01-04 16:00:00,8
+9089,2020-01-04 17:00:00,8
+9090,2020-01-04 18:00:00,8
+9091,2020-01-04 19:00:00,8
+9092,2020-01-04 20:00:00,8
+9093,2020-01-04 21:00:00,8
+9094,2020-01-04 22:00:00,8
+9095,2020-01-04 23:00:00,8
+9096,2020-01-05 00:00:00,8
+9097,2020-01-05 01:00:00,8
+9098,2020-01-05 02:00:00,8
+9099,2020-01-05 03:00:00,8
+10000,2020-01-01 00:00:00,9
+10001,2020-01-01 01:00:00,9
+10002,2020-01-01 02:00:00,9
+10003,2020-01-01 03:00:00,9
+10004,2020-01-01 04:00:00,9
+10005,2020-01-01 05:00:00,9
+10006,2020-01-01 06:00:00,9
+10007,2020-01-01 07:00:00,9
+10008,2020-01-01 08:00:00,9
+10009,2020-01-01 09:00:00,9
+10010,2020-01-01 10:00:00,9
+10011,2020-01-01 11:00:00,9
+10012,2020-01-01 12:00:00,9
+10013,2020-01-01 13:00:00,9
+10014,2020-01-01 14:00:00,9
+10015,2020-01-01 15:00:00,9
+10016,2020-01-01 16:00:00,9
+10017,2020-01-01 17:00:00,9
+10018,2020-01-01 18:00:00,9
+10019,2020-01-01 19:00:00,9
+10020,2020-01-01 20:00:00,9
+10021,2020-01-01 21:00:00,9
+10022,2020-01-01 22:00:00,9
+10023,2020-01-01 23:00:00,9
+10024,2020-01-02 00:00:00,9
+10025,2020-01-02 01:00:00,9
+10026,2020-01-02 02:00:00,9
+10027,2020-01-02 03:00:00,9
+10028,2020-01-02 04:00:00,9
+10029,2020-01-02 05:00:00,9
+10030,2020-01-02 06:00:00,9
+10031,2020-01-02 07:00:00,9
+10032,2020-01-02 08:00:00,9
+10033,2020-01-02 09:00:00,9
+10034,2020-01-02 10:00:00,9
+10035,2020-01-02 11:00:00,9
+10036,2020-01-02 12:00:00,9
+10037,2020-01-02 13:00:00,9
+10038,2020-01-02 14:00:00,9
+10039,2020-01-02 15:00:00,9
+10040,2020-01-02 16:00:00,9
+10041,2020-01-02 17:00:00,9
+10042,2020-01-02 18:00:00,9
+10043,2020-01-02 19:00:00,9
+10044,2020-01-02 20:00:00,9
+10045,2020-01-02 21:00:00,9
+10046,2020-01-02 22:00:00,9
+10047,2020-01-02 23:00:00,9
+10048,2020-01-03 00:00:00,9
+10049,2020-01-03 01:00:00,9
+10050,2020-01-03 02:00:00,9
+10051,2020-01-03 03:00:00,9
+10052,2020-01-03 04:00:00,9
+10053,2020-01-03 05:00:00,9
+10054,2020-01-03 06:00:00,9
+10055,2020-01-03 07:00:00,9
+10056,2020-01-03 08:00:00,9
+10057,2020-01-03 09:00:00,9
+10058,2020-01-03 10:00:00,9
+10059,2020-01-03 11:00:00,9
+10060,2020-01-03 12:00:00,9
+10061,2020-01-03 13:00:00,9
+10062,2020-01-03 14:00:00,9
+10063,2020-01-03 15:00:00,9
+10064,2020-01-03 16:00:00,9
+10065,2020-01-03 17:00:00,9
+10066,2020-01-03 18:00:00,9
+10067,2020-01-03 19:00:00,9
+10068,2020-01-03 20:00:00,9
+10069,2020-01-03 21:00:00,9
+10070,2020-01-03 22:00:00,9
+10071,2020-01-03 23:00:00,9
+10072,2020-01-04 00:00:00,9
+10073,2020-01-04 01:00:00,9
+10074,2020-01-04 02:00:00,9
+10075,2020-01-04 03:00:00,9
+10076,2020-01-04 04:00:00,9
+10077,2020-01-04 05:00:00,9
+10078,2020-01-04 06:00:00,9
+10079,2020-01-04 07:00:00,9
+10080,2020-01-04 08:00:00,9
+10081,2020-01-04 09:00:00,9
+10082,2020-01-04 10:00:00,9
+10083,2020-01-04 11:00:00,9
+10084,2020-01-04 12:00:00,9
+10085,2020-01-04 13:00:00,9
+10086,2020-01-04 14:00:00,9
+10087,2020-01-04 15:00:00,9
+10088,2020-01-04 16:00:00,9
+10089,2020-01-04 17:00:00,9
+10090,2020-01-04 18:00:00,9
+10091,2020-01-04 19:00:00,9
+10092,2020-01-04 20:00:00,9
+10093,2020-01-04 21:00:00,9
+10094,2020-01-04 22:00:00,9
+10095,2020-01-04 23:00:00,9
+10096,2020-01-05 00:00:00,9
+10097,2020-01-05 01:00:00,9
+10098,2020-01-05 02:00:00,9
+10099,2020-01-05 03:00:00,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_M.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_M.csv
new file mode 100644
index 0000000..a03721c
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_M.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-31,0
+1001,2020-02-29,0
+1002,2020-03-31,0
+1003,2020-04-30,0
+1004,2020-05-31,0
+1005,2020-06-30,0
+1006,2020-07-31,0
+1007,2020-08-31,0
+1008,2020-09-30,0
+1009,2020-10-31,0
+1010,2020-11-30,0
+1011,2020-12-31,0
+1012,2021-01-31,0
+1013,2021-02-28,0
+1014,2021-03-31,0
+1015,2021-04-30,0
+1016,2021-05-31,0
+1017,2021-06-30,0
+1018,2021-07-31,0
+1019,2021-08-31,0
+1020,2021-09-30,0
+1021,2021-10-31,0
+1022,2021-11-30,0
+1023,2021-12-31,0
+1024,2022-01-31,0
+1025,2022-02-28,0
+1026,2022-03-31,0
+1027,2022-04-30,0
+1028,2022-05-31,0
+1029,2022-06-30,0
+1030,2022-07-31,0
+1031,2022-08-31,0
+1032,2022-09-30,0
+1033,2022-10-31,0
+1034,2022-11-30,0
+1035,2022-12-31,0
+1036,2023-01-31,0
+1037,2023-02-28,0
+1038,2023-03-31,0
+1039,2023-04-30,0
+1040,2023-05-31,0
+1041,2023-06-30,0
+1042,2023-07-31,0
+1043,2023-08-31,0
+1044,2023-09-30,0
+1045,2023-10-31,0
+1046,2023-11-30,0
+1047,2023-12-31,0
+1048,2024-01-31,0
+1049,2024-02-29,0
+1050,2024-03-31,0
+1051,2024-04-30,0
+1052,2024-05-31,0
+1053,2024-06-30,0
+1054,2024-07-31,0
+1055,2024-08-31,0
+1056,2024-09-30,0
+1057,2024-10-31,0
+1058,2024-11-30,0
+1059,2024-12-31,0
+1060,2025-01-31,0
+1061,2025-02-28,0
+1062,2025-03-31,0
+1063,2025-04-30,0
+1064,2025-05-31,0
+1065,2025-06-30,0
+1066,2025-07-31,0
+1067,2025-08-31,0
+1068,2025-09-30,0
+1069,2025-10-31,0
+1070,2025-11-30,0
+1071,2025-12-31,0
+1072,2026-01-31,0
+1073,2026-02-28,0
+1074,2026-03-31,0
+1075,2026-04-30,0
+1076,2026-05-31,0
+1077,2026-06-30,0
+1078,2026-07-31,0
+1079,2026-08-31,0
+1080,2026-09-30,0
+1081,2026-10-31,0
+1082,2026-11-30,0
+1083,2026-12-31,0
+1084,2027-01-31,0
+1085,2027-02-28,0
+1086,2027-03-31,0
+1087,2027-04-30,0
+1088,2027-05-31,0
+1089,2027-06-30,0
+1090,2027-07-31,0
+1091,2027-08-31,0
+1092,2027-09-30,0
+1093,2027-10-31,0
+1094,2027-11-30,0
+1095,2027-12-31,0
+1096,2028-01-31,0
+1097,2028-02-29,0
+1098,2028-03-31,0
+1099,2028-04-30,0
+2000,2020-01-31,1
+2001,2020-02-29,1
+2002,2020-03-31,1
+2003,2020-04-30,1
+2004,2020-05-31,1
+2005,2020-06-30,1
+2006,2020-07-31,1
+2007,2020-08-31,1
+2008,2020-09-30,1
+2009,2020-10-31,1
+2010,2020-11-30,1
+2011,2020-12-31,1
+2012,2021-01-31,1
+2013,2021-02-28,1
+2014,2021-03-31,1
+2015,2021-04-30,1
+2016,2021-05-31,1
+2017,2021-06-30,1
+2018,2021-07-31,1
+2019,2021-08-31,1
+2020,2021-09-30,1
+2021,2021-10-31,1
+2022,2021-11-30,1
+2023,2021-12-31,1
+2024,2022-01-31,1
+2025,2022-02-28,1
+2026,2022-03-31,1
+2027,2022-04-30,1
+2028,2022-05-31,1
+2029,2022-06-30,1
+2030,2022-07-31,1
+2031,2022-08-31,1
+2032,2022-09-30,1
+2033,2022-10-31,1
+2034,2022-11-30,1
+2035,2022-12-31,1
+2036,2023-01-31,1
+2037,2023-02-28,1
+2038,2023-03-31,1
+2039,2023-04-30,1
+2040,2023-05-31,1
+2041,2023-06-30,1
+2042,2023-07-31,1
+2043,2023-08-31,1
+2044,2023-09-30,1
+2045,2023-10-31,1
+2046,2023-11-30,1
+2047,2023-12-31,1
+2048,2024-01-31,1
+2049,2024-02-29,1
+2050,2024-03-31,1
+2051,2024-04-30,1
+2052,2024-05-31,1
+2053,2024-06-30,1
+2054,2024-07-31,1
+2055,2024-08-31,1
+2056,2024-09-30,1
+2057,2024-10-31,1
+2058,2024-11-30,1
+2059,2024-12-31,1
+2060,2025-01-31,1
+2061,2025-02-28,1
+2062,2025-03-31,1
+2063,2025-04-30,1
+2064,2025-05-31,1
+2065,2025-06-30,1
+2066,2025-07-31,1
+2067,2025-08-31,1
+2068,2025-09-30,1
+2069,2025-10-31,1
+2070,2025-11-30,1
+2071,2025-12-31,1
+2072,2026-01-31,1
+2073,2026-02-28,1
+2074,2026-03-31,1
+2075,2026-04-30,1
+2076,2026-05-31,1
+2077,2026-06-30,1
+2078,2026-07-31,1
+2079,2026-08-31,1
+2080,2026-09-30,1
+2081,2026-10-31,1
+2082,2026-11-30,1
+2083,2026-12-31,1
+2084,2027-01-31,1
+2085,2027-02-28,1
+2086,2027-03-31,1
+2087,2027-04-30,1
+2088,2027-05-31,1
+2089,2027-06-30,1
+2090,2027-07-31,1
+2091,2027-08-31,1
+2092,2027-09-30,1
+2093,2027-10-31,1
+2094,2027-11-30,1
+2095,2027-12-31,1
+2096,2028-01-31,1
+2097,2028-02-29,1
+2098,2028-03-31,1
+2099,2028-04-30,1
+3000,2020-01-31,2
+3001,2020-02-29,2
+3002,2020-03-31,2
+3003,2020-04-30,2
+3004,2020-05-31,2
+3005,2020-06-30,2
+3006,2020-07-31,2
+3007,2020-08-31,2
+3008,2020-09-30,2
+3009,2020-10-31,2
+3010,2020-11-30,2
+3011,2020-12-31,2
+3012,2021-01-31,2
+3013,2021-02-28,2
+3014,2021-03-31,2
+3015,2021-04-30,2
+3016,2021-05-31,2
+3017,2021-06-30,2
+3018,2021-07-31,2
+3019,2021-08-31,2
+3020,2021-09-30,2
+3021,2021-10-31,2
+3022,2021-11-30,2
+3023,2021-12-31,2
+3024,2022-01-31,2
+3025,2022-02-28,2
+3026,2022-03-31,2
+3027,2022-04-30,2
+3028,2022-05-31,2
+3029,2022-06-30,2
+3030,2022-07-31,2
+3031,2022-08-31,2
+3032,2022-09-30,2
+3033,2022-10-31,2
+3034,2022-11-30,2
+3035,2022-12-31,2
+3036,2023-01-31,2
+3037,2023-02-28,2
+3038,2023-03-31,2
+3039,2023-04-30,2
+3040,2023-05-31,2
+3041,2023-06-30,2
+3042,2023-07-31,2
+3043,2023-08-31,2
+3044,2023-09-30,2
+3045,2023-10-31,2
+3046,2023-11-30,2
+3047,2023-12-31,2
+3048,2024-01-31,2
+3049,2024-02-29,2
+3050,2024-03-31,2
+3051,2024-04-30,2
+3052,2024-05-31,2
+3053,2024-06-30,2
+3054,2024-07-31,2
+3055,2024-08-31,2
+3056,2024-09-30,2
+3057,2024-10-31,2
+3058,2024-11-30,2
+3059,2024-12-31,2
+3060,2025-01-31,2
+3061,2025-02-28,2
+3062,2025-03-31,2
+3063,2025-04-30,2
+3064,2025-05-31,2
+3065,2025-06-30,2
+3066,2025-07-31,2
+3067,2025-08-31,2
+3068,2025-09-30,2
+3069,2025-10-31,2
+3070,2025-11-30,2
+3071,2025-12-31,2
+3072,2026-01-31,2
+3073,2026-02-28,2
+3074,2026-03-31,2
+3075,2026-04-30,2
+3076,2026-05-31,2
+3077,2026-06-30,2
+3078,2026-07-31,2
+3079,2026-08-31,2
+3080,2026-09-30,2
+3081,2026-10-31,2
+3082,2026-11-30,2
+3083,2026-12-31,2
+3084,2027-01-31,2
+3085,2027-02-28,2
+3086,2027-03-31,2
+3087,2027-04-30,2
+3088,2027-05-31,2
+3089,2027-06-30,2
+3090,2027-07-31,2
+3091,2027-08-31,2
+3092,2027-09-30,2
+3093,2027-10-31,2
+3094,2027-11-30,2
+3095,2027-12-31,2
+3096,2028-01-31,2
+3097,2028-02-29,2
+3098,2028-03-31,2
+3099,2028-04-30,2
+4000,2020-01-31,3
+4001,2020-02-29,3
+4002,2020-03-31,3
+4003,2020-04-30,3
+4004,2020-05-31,3
+4005,2020-06-30,3
+4006,2020-07-31,3
+4007,2020-08-31,3
+4008,2020-09-30,3
+4009,2020-10-31,3
+4010,2020-11-30,3
+4011,2020-12-31,3
+4012,2021-01-31,3
+4013,2021-02-28,3
+4014,2021-03-31,3
+4015,2021-04-30,3
+4016,2021-05-31,3
+4017,2021-06-30,3
+4018,2021-07-31,3
+4019,2021-08-31,3
+4020,2021-09-30,3
+4021,2021-10-31,3
+4022,2021-11-30,3
+4023,2021-12-31,3
+4024,2022-01-31,3
+4025,2022-02-28,3
+4026,2022-03-31,3
+4027,2022-04-30,3
+4028,2022-05-31,3
+4029,2022-06-30,3
+4030,2022-07-31,3
+4031,2022-08-31,3
+4032,2022-09-30,3
+4033,2022-10-31,3
+4034,2022-11-30,3
+4035,2022-12-31,3
+4036,2023-01-31,3
+4037,2023-02-28,3
+4038,2023-03-31,3
+4039,2023-04-30,3
+4040,2023-05-31,3
+4041,2023-06-30,3
+4042,2023-07-31,3
+4043,2023-08-31,3
+4044,2023-09-30,3
+4045,2023-10-31,3
+4046,2023-11-30,3
+4047,2023-12-31,3
+4048,2024-01-31,3
+4049,2024-02-29,3
+4050,2024-03-31,3
+4051,2024-04-30,3
+4052,2024-05-31,3
+4053,2024-06-30,3
+4054,2024-07-31,3
+4055,2024-08-31,3
+4056,2024-09-30,3
+4057,2024-10-31,3
+4058,2024-11-30,3
+4059,2024-12-31,3
+4060,2025-01-31,3
+4061,2025-02-28,3
+4062,2025-03-31,3
+4063,2025-04-30,3
+4064,2025-05-31,3
+4065,2025-06-30,3
+4066,2025-07-31,3
+4067,2025-08-31,3
+4068,2025-09-30,3
+4069,2025-10-31,3
+4070,2025-11-30,3
+4071,2025-12-31,3
+4072,2026-01-31,3
+4073,2026-02-28,3
+4074,2026-03-31,3
+4075,2026-04-30,3
+4076,2026-05-31,3
+4077,2026-06-30,3
+4078,2026-07-31,3
+4079,2026-08-31,3
+4080,2026-09-30,3
+4081,2026-10-31,3
+4082,2026-11-30,3
+4083,2026-12-31,3
+4084,2027-01-31,3
+4085,2027-02-28,3
+4086,2027-03-31,3
+4087,2027-04-30,3
+4088,2027-05-31,3
+4089,2027-06-30,3
+4090,2027-07-31,3
+4091,2027-08-31,3
+4092,2027-09-30,3
+4093,2027-10-31,3
+4094,2027-11-30,3
+4095,2027-12-31,3
+4096,2028-01-31,3
+4097,2028-02-29,3
+4098,2028-03-31,3
+4099,2028-04-30,3
+5000,2020-01-31,4
+5001,2020-02-29,4
+5002,2020-03-31,4
+5003,2020-04-30,4
+5004,2020-05-31,4
+5005,2020-06-30,4
+5006,2020-07-31,4
+5007,2020-08-31,4
+5008,2020-09-30,4
+5009,2020-10-31,4
+5010,2020-11-30,4
+5011,2020-12-31,4
+5012,2021-01-31,4
+5013,2021-02-28,4
+5014,2021-03-31,4
+5015,2021-04-30,4
+5016,2021-05-31,4
+5017,2021-06-30,4
+5018,2021-07-31,4
+5019,2021-08-31,4
+5020,2021-09-30,4
+5021,2021-10-31,4
+5022,2021-11-30,4
+5023,2021-12-31,4
+5024,2022-01-31,4
+5025,2022-02-28,4
+5026,2022-03-31,4
+5027,2022-04-30,4
+5028,2022-05-31,4
+5029,2022-06-30,4
+5030,2022-07-31,4
+5031,2022-08-31,4
+5032,2022-09-30,4
+5033,2022-10-31,4
+5034,2022-11-30,4
+5035,2022-12-31,4
+5036,2023-01-31,4
+5037,2023-02-28,4
+5038,2023-03-31,4
+5039,2023-04-30,4
+5040,2023-05-31,4
+5041,2023-06-30,4
+5042,2023-07-31,4
+5043,2023-08-31,4
+5044,2023-09-30,4
+5045,2023-10-31,4
+5046,2023-11-30,4
+5047,2023-12-31,4
+5048,2024-01-31,4
+5049,2024-02-29,4
+5050,2024-03-31,4
+5051,2024-04-30,4
+5052,2024-05-31,4
+5053,2024-06-30,4
+5054,2024-07-31,4
+5055,2024-08-31,4
+5056,2024-09-30,4
+5057,2024-10-31,4
+5058,2024-11-30,4
+5059,2024-12-31,4
+5060,2025-01-31,4
+5061,2025-02-28,4
+5062,2025-03-31,4
+5063,2025-04-30,4
+5064,2025-05-31,4
+5065,2025-06-30,4
+5066,2025-07-31,4
+5067,2025-08-31,4
+5068,2025-09-30,4
+5069,2025-10-31,4
+5070,2025-11-30,4
+5071,2025-12-31,4
+5072,2026-01-31,4
+5073,2026-02-28,4
+5074,2026-03-31,4
+5075,2026-04-30,4
+5076,2026-05-31,4
+5077,2026-06-30,4
+5078,2026-07-31,4
+5079,2026-08-31,4
+5080,2026-09-30,4
+5081,2026-10-31,4
+5082,2026-11-30,4
+5083,2026-12-31,4
+5084,2027-01-31,4
+5085,2027-02-28,4
+5086,2027-03-31,4
+5087,2027-04-30,4
+5088,2027-05-31,4
+5089,2027-06-30,4
+5090,2027-07-31,4
+5091,2027-08-31,4
+5092,2027-09-30,4
+5093,2027-10-31,4
+5094,2027-11-30,4
+5095,2027-12-31,4
+5096,2028-01-31,4
+5097,2028-02-29,4
+5098,2028-03-31,4
+5099,2028-04-30,4
+6000,2020-01-31,5
+6001,2020-02-29,5
+6002,2020-03-31,5
+6003,2020-04-30,5
+6004,2020-05-31,5
+6005,2020-06-30,5
+6006,2020-07-31,5
+6007,2020-08-31,5
+6008,2020-09-30,5
+6009,2020-10-31,5
+6010,2020-11-30,5
+6011,2020-12-31,5
+6012,2021-01-31,5
+6013,2021-02-28,5
+6014,2021-03-31,5
+6015,2021-04-30,5
+6016,2021-05-31,5
+6017,2021-06-30,5
+6018,2021-07-31,5
+6019,2021-08-31,5
+6020,2021-09-30,5
+6021,2021-10-31,5
+6022,2021-11-30,5
+6023,2021-12-31,5
+6024,2022-01-31,5
+6025,2022-02-28,5
+6026,2022-03-31,5
+6027,2022-04-30,5
+6028,2022-05-31,5
+6029,2022-06-30,5
+6030,2022-07-31,5
+6031,2022-08-31,5
+6032,2022-09-30,5
+6033,2022-10-31,5
+6034,2022-11-30,5
+6035,2022-12-31,5
+6036,2023-01-31,5
+6037,2023-02-28,5
+6038,2023-03-31,5
+6039,2023-04-30,5
+6040,2023-05-31,5
+6041,2023-06-30,5
+6042,2023-07-31,5
+6043,2023-08-31,5
+6044,2023-09-30,5
+6045,2023-10-31,5
+6046,2023-11-30,5
+6047,2023-12-31,5
+6048,2024-01-31,5
+6049,2024-02-29,5
+6050,2024-03-31,5
+6051,2024-04-30,5
+6052,2024-05-31,5
+6053,2024-06-30,5
+6054,2024-07-31,5
+6055,2024-08-31,5
+6056,2024-09-30,5
+6057,2024-10-31,5
+6058,2024-11-30,5
+6059,2024-12-31,5
+6060,2025-01-31,5
+6061,2025-02-28,5
+6062,2025-03-31,5
+6063,2025-04-30,5
+6064,2025-05-31,5
+6065,2025-06-30,5
+6066,2025-07-31,5
+6067,2025-08-31,5
+6068,2025-09-30,5
+6069,2025-10-31,5
+6070,2025-11-30,5
+6071,2025-12-31,5
+6072,2026-01-31,5
+6073,2026-02-28,5
+6074,2026-03-31,5
+6075,2026-04-30,5
+6076,2026-05-31,5
+6077,2026-06-30,5
+6078,2026-07-31,5
+6079,2026-08-31,5
+6080,2026-09-30,5
+6081,2026-10-31,5
+6082,2026-11-30,5
+6083,2026-12-31,5
+6084,2027-01-31,5
+6085,2027-02-28,5
+6086,2027-03-31,5
+6087,2027-04-30,5
+6088,2027-05-31,5
+6089,2027-06-30,5
+6090,2027-07-31,5
+6091,2027-08-31,5
+6092,2027-09-30,5
+6093,2027-10-31,5
+6094,2027-11-30,5
+6095,2027-12-31,5
+6096,2028-01-31,5
+6097,2028-02-29,5
+6098,2028-03-31,5
+6099,2028-04-30,5
+7000,2020-01-31,6
+7001,2020-02-29,6
+7002,2020-03-31,6
+7003,2020-04-30,6
+7004,2020-05-31,6
+7005,2020-06-30,6
+7006,2020-07-31,6
+7007,2020-08-31,6
+7008,2020-09-30,6
+7009,2020-10-31,6
+7010,2020-11-30,6
+7011,2020-12-31,6
+7012,2021-01-31,6
+7013,2021-02-28,6
+7014,2021-03-31,6
+7015,2021-04-30,6
+7016,2021-05-31,6
+7017,2021-06-30,6
+7018,2021-07-31,6
+7019,2021-08-31,6
+7020,2021-09-30,6
+7021,2021-10-31,6
+7022,2021-11-30,6
+7023,2021-12-31,6
+7024,2022-01-31,6
+7025,2022-02-28,6
+7026,2022-03-31,6
+7027,2022-04-30,6
+7028,2022-05-31,6
+7029,2022-06-30,6
+7030,2022-07-31,6
+7031,2022-08-31,6
+7032,2022-09-30,6
+7033,2022-10-31,6
+7034,2022-11-30,6
+7035,2022-12-31,6
+7036,2023-01-31,6
+7037,2023-02-28,6
+7038,2023-03-31,6
+7039,2023-04-30,6
+7040,2023-05-31,6
+7041,2023-06-30,6
+7042,2023-07-31,6
+7043,2023-08-31,6
+7044,2023-09-30,6
+7045,2023-10-31,6
+7046,2023-11-30,6
+7047,2023-12-31,6
+7048,2024-01-31,6
+7049,2024-02-29,6
+7050,2024-03-31,6
+7051,2024-04-30,6
+7052,2024-05-31,6
+7053,2024-06-30,6
+7054,2024-07-31,6
+7055,2024-08-31,6
+7056,2024-09-30,6
+7057,2024-10-31,6
+7058,2024-11-30,6
+7059,2024-12-31,6
+7060,2025-01-31,6
+7061,2025-02-28,6
+7062,2025-03-31,6
+7063,2025-04-30,6
+7064,2025-05-31,6
+7065,2025-06-30,6
+7066,2025-07-31,6
+7067,2025-08-31,6
+7068,2025-09-30,6
+7069,2025-10-31,6
+7070,2025-11-30,6
+7071,2025-12-31,6
+7072,2026-01-31,6
+7073,2026-02-28,6
+7074,2026-03-31,6
+7075,2026-04-30,6
+7076,2026-05-31,6
+7077,2026-06-30,6
+7078,2026-07-31,6
+7079,2026-08-31,6
+7080,2026-09-30,6
+7081,2026-10-31,6
+7082,2026-11-30,6
+7083,2026-12-31,6
+7084,2027-01-31,6
+7085,2027-02-28,6
+7086,2027-03-31,6
+7087,2027-04-30,6
+7088,2027-05-31,6
+7089,2027-06-30,6
+7090,2027-07-31,6
+7091,2027-08-31,6
+7092,2027-09-30,6
+7093,2027-10-31,6
+7094,2027-11-30,6
+7095,2027-12-31,6
+7096,2028-01-31,6
+7097,2028-02-29,6
+7098,2028-03-31,6
+7099,2028-04-30,6
+8000,2020-01-31,7
+8001,2020-02-29,7
+8002,2020-03-31,7
+8003,2020-04-30,7
+8004,2020-05-31,7
+8005,2020-06-30,7
+8006,2020-07-31,7
+8007,2020-08-31,7
+8008,2020-09-30,7
+8009,2020-10-31,7
+8010,2020-11-30,7
+8011,2020-12-31,7
+8012,2021-01-31,7
+8013,2021-02-28,7
+8014,2021-03-31,7
+8015,2021-04-30,7
+8016,2021-05-31,7
+8017,2021-06-30,7
+8018,2021-07-31,7
+8019,2021-08-31,7
+8020,2021-09-30,7
+8021,2021-10-31,7
+8022,2021-11-30,7
+8023,2021-12-31,7
+8024,2022-01-31,7
+8025,2022-02-28,7
+8026,2022-03-31,7
+8027,2022-04-30,7
+8028,2022-05-31,7
+8029,2022-06-30,7
+8030,2022-07-31,7
+8031,2022-08-31,7
+8032,2022-09-30,7
+8033,2022-10-31,7
+8034,2022-11-30,7
+8035,2022-12-31,7
+8036,2023-01-31,7
+8037,2023-02-28,7
+8038,2023-03-31,7
+8039,2023-04-30,7
+8040,2023-05-31,7
+8041,2023-06-30,7
+8042,2023-07-31,7
+8043,2023-08-31,7
+8044,2023-09-30,7
+8045,2023-10-31,7
+8046,2023-11-30,7
+8047,2023-12-31,7
+8048,2024-01-31,7
+8049,2024-02-29,7
+8050,2024-03-31,7
+8051,2024-04-30,7
+8052,2024-05-31,7
+8053,2024-06-30,7
+8054,2024-07-31,7
+8055,2024-08-31,7
+8056,2024-09-30,7
+8057,2024-10-31,7
+8058,2024-11-30,7
+8059,2024-12-31,7
+8060,2025-01-31,7
+8061,2025-02-28,7
+8062,2025-03-31,7
+8063,2025-04-30,7
+8064,2025-05-31,7
+8065,2025-06-30,7
+8066,2025-07-31,7
+8067,2025-08-31,7
+8068,2025-09-30,7
+8069,2025-10-31,7
+8070,2025-11-30,7
+8071,2025-12-31,7
+8072,2026-01-31,7
+8073,2026-02-28,7
+8074,2026-03-31,7
+8075,2026-04-30,7
+8076,2026-05-31,7
+8077,2026-06-30,7
+8078,2026-07-31,7
+8079,2026-08-31,7
+8080,2026-09-30,7
+8081,2026-10-31,7
+8082,2026-11-30,7
+8083,2026-12-31,7
+8084,2027-01-31,7
+8085,2027-02-28,7
+8086,2027-03-31,7
+8087,2027-04-30,7
+8088,2027-05-31,7
+8089,2027-06-30,7
+8090,2027-07-31,7
+8091,2027-08-31,7
+8092,2027-09-30,7
+8093,2027-10-31,7
+8094,2027-11-30,7
+8095,2027-12-31,7
+8096,2028-01-31,7
+8097,2028-02-29,7
+8098,2028-03-31,7
+8099,2028-04-30,7
+9000,2020-01-31,8
+9001,2020-02-29,8
+9002,2020-03-31,8
+9003,2020-04-30,8
+9004,2020-05-31,8
+9005,2020-06-30,8
+9006,2020-07-31,8
+9007,2020-08-31,8
+9008,2020-09-30,8
+9009,2020-10-31,8
+9010,2020-11-30,8
+9011,2020-12-31,8
+9012,2021-01-31,8
+9013,2021-02-28,8
+9014,2021-03-31,8
+9015,2021-04-30,8
+9016,2021-05-31,8
+9017,2021-06-30,8
+9018,2021-07-31,8
+9019,2021-08-31,8
+9020,2021-09-30,8
+9021,2021-10-31,8
+9022,2021-11-30,8
+9023,2021-12-31,8
+9024,2022-01-31,8
+9025,2022-02-28,8
+9026,2022-03-31,8
+9027,2022-04-30,8
+9028,2022-05-31,8
+9029,2022-06-30,8
+9030,2022-07-31,8
+9031,2022-08-31,8
+9032,2022-09-30,8
+9033,2022-10-31,8
+9034,2022-11-30,8
+9035,2022-12-31,8
+9036,2023-01-31,8
+9037,2023-02-28,8
+9038,2023-03-31,8
+9039,2023-04-30,8
+9040,2023-05-31,8
+9041,2023-06-30,8
+9042,2023-07-31,8
+9043,2023-08-31,8
+9044,2023-09-30,8
+9045,2023-10-31,8
+9046,2023-11-30,8
+9047,2023-12-31,8
+9048,2024-01-31,8
+9049,2024-02-29,8
+9050,2024-03-31,8
+9051,2024-04-30,8
+9052,2024-05-31,8
+9053,2024-06-30,8
+9054,2024-07-31,8
+9055,2024-08-31,8
+9056,2024-09-30,8
+9057,2024-10-31,8
+9058,2024-11-30,8
+9059,2024-12-31,8
+9060,2025-01-31,8
+9061,2025-02-28,8
+9062,2025-03-31,8
+9063,2025-04-30,8
+9064,2025-05-31,8
+9065,2025-06-30,8
+9066,2025-07-31,8
+9067,2025-08-31,8
+9068,2025-09-30,8
+9069,2025-10-31,8
+9070,2025-11-30,8
+9071,2025-12-31,8
+9072,2026-01-31,8
+9073,2026-02-28,8
+9074,2026-03-31,8
+9075,2026-04-30,8
+9076,2026-05-31,8
+9077,2026-06-30,8
+9078,2026-07-31,8
+9079,2026-08-31,8
+9080,2026-09-30,8
+9081,2026-10-31,8
+9082,2026-11-30,8
+9083,2026-12-31,8
+9084,2027-01-31,8
+9085,2027-02-28,8
+9086,2027-03-31,8
+9087,2027-04-30,8
+9088,2027-05-31,8
+9089,2027-06-30,8
+9090,2027-07-31,8
+9091,2027-08-31,8
+9092,2027-09-30,8
+9093,2027-10-31,8
+9094,2027-11-30,8
+9095,2027-12-31,8
+9096,2028-01-31,8
+9097,2028-02-29,8
+9098,2028-03-31,8
+9099,2028-04-30,8
+10000,2020-01-31,9
+10001,2020-02-29,9
+10002,2020-03-31,9
+10003,2020-04-30,9
+10004,2020-05-31,9
+10005,2020-06-30,9
+10006,2020-07-31,9
+10007,2020-08-31,9
+10008,2020-09-30,9
+10009,2020-10-31,9
+10010,2020-11-30,9
+10011,2020-12-31,9
+10012,2021-01-31,9
+10013,2021-02-28,9
+10014,2021-03-31,9
+10015,2021-04-30,9
+10016,2021-05-31,9
+10017,2021-06-30,9
+10018,2021-07-31,9
+10019,2021-08-31,9
+10020,2021-09-30,9
+10021,2021-10-31,9
+10022,2021-11-30,9
+10023,2021-12-31,9
+10024,2022-01-31,9
+10025,2022-02-28,9
+10026,2022-03-31,9
+10027,2022-04-30,9
+10028,2022-05-31,9
+10029,2022-06-30,9
+10030,2022-07-31,9
+10031,2022-08-31,9
+10032,2022-09-30,9
+10033,2022-10-31,9
+10034,2022-11-30,9
+10035,2022-12-31,9
+10036,2023-01-31,9
+10037,2023-02-28,9
+10038,2023-03-31,9
+10039,2023-04-30,9
+10040,2023-05-31,9
+10041,2023-06-30,9
+10042,2023-07-31,9
+10043,2023-08-31,9
+10044,2023-09-30,9
+10045,2023-10-31,9
+10046,2023-11-30,9
+10047,2023-12-31,9
+10048,2024-01-31,9
+10049,2024-02-29,9
+10050,2024-03-31,9
+10051,2024-04-30,9
+10052,2024-05-31,9
+10053,2024-06-30,9
+10054,2024-07-31,9
+10055,2024-08-31,9
+10056,2024-09-30,9
+10057,2024-10-31,9
+10058,2024-11-30,9
+10059,2024-12-31,9
+10060,2025-01-31,9
+10061,2025-02-28,9
+10062,2025-03-31,9
+10063,2025-04-30,9
+10064,2025-05-31,9
+10065,2025-06-30,9
+10066,2025-07-31,9
+10067,2025-08-31,9
+10068,2025-09-30,9
+10069,2025-10-31,9
+10070,2025-11-30,9
+10071,2025-12-31,9
+10072,2026-01-31,9
+10073,2026-02-28,9
+10074,2026-03-31,9
+10075,2026-04-30,9
+10076,2026-05-31,9
+10077,2026-06-30,9
+10078,2026-07-31,9
+10079,2026-08-31,9
+10080,2026-09-30,9
+10081,2026-10-31,9
+10082,2026-11-30,9
+10083,2026-12-31,9
+10084,2027-01-31,9
+10085,2027-02-28,9
+10086,2027-03-31,9
+10087,2027-04-30,9
+10088,2027-05-31,9
+10089,2027-06-30,9
+10090,2027-07-31,9
+10091,2027-08-31,9
+10092,2027-09-30,9
+10093,2027-10-31,9
+10094,2027-11-30,9
+10095,2027-12-31,9
+10096,2028-01-31,9
+10097,2028-02-29,9
+10098,2028-03-31,9
+10099,2028-04-30,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_MS.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_MS.csv
new file mode 100644
index 0000000..4ade6db
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_MS.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2020-02-01,0
+1002,2020-03-01,0
+1003,2020-04-01,0
+1004,2020-05-01,0
+1005,2020-06-01,0
+1006,2020-07-01,0
+1007,2020-08-01,0
+1008,2020-09-01,0
+1009,2020-10-01,0
+1010,2020-11-01,0
+1011,2020-12-01,0
+1012,2021-01-01,0
+1013,2021-02-01,0
+1014,2021-03-01,0
+1015,2021-04-01,0
+1016,2021-05-01,0
+1017,2021-06-01,0
+1018,2021-07-01,0
+1019,2021-08-01,0
+1020,2021-09-01,0
+1021,2021-10-01,0
+1022,2021-11-01,0
+1023,2021-12-01,0
+1024,2022-01-01,0
+1025,2022-02-01,0
+1026,2022-03-01,0
+1027,2022-04-01,0
+1028,2022-05-01,0
+1029,2022-06-01,0
+1030,2022-07-01,0
+1031,2022-08-01,0
+1032,2022-09-01,0
+1033,2022-10-01,0
+1034,2022-11-01,0
+1035,2022-12-01,0
+1036,2023-01-01,0
+1037,2023-02-01,0
+1038,2023-03-01,0
+1039,2023-04-01,0
+1040,2023-05-01,0
+1041,2023-06-01,0
+1042,2023-07-01,0
+1043,2023-08-01,0
+1044,2023-09-01,0
+1045,2023-10-01,0
+1046,2023-11-01,0
+1047,2023-12-01,0
+1048,2024-01-01,0
+1049,2024-02-01,0
+1050,2024-03-01,0
+1051,2024-04-01,0
+1052,2024-05-01,0
+1053,2024-06-01,0
+1054,2024-07-01,0
+1055,2024-08-01,0
+1056,2024-09-01,0
+1057,2024-10-01,0
+1058,2024-11-01,0
+1059,2024-12-01,0
+1060,2025-01-01,0
+1061,2025-02-01,0
+1062,2025-03-01,0
+1063,2025-04-01,0
+1064,2025-05-01,0
+1065,2025-06-01,0
+1066,2025-07-01,0
+1067,2025-08-01,0
+1068,2025-09-01,0
+1069,2025-10-01,0
+1070,2025-11-01,0
+1071,2025-12-01,0
+1072,2026-01-01,0
+1073,2026-02-01,0
+1074,2026-03-01,0
+1075,2026-04-01,0
+1076,2026-05-01,0
+1077,2026-06-01,0
+1078,2026-07-01,0
+1079,2026-08-01,0
+1080,2026-09-01,0
+1081,2026-10-01,0
+1082,2026-11-01,0
+1083,2026-12-01,0
+1084,2027-01-01,0
+1085,2027-02-01,0
+1086,2027-03-01,0
+1087,2027-04-01,0
+1088,2027-05-01,0
+1089,2027-06-01,0
+1090,2027-07-01,0
+1091,2027-08-01,0
+1092,2027-09-01,0
+1093,2027-10-01,0
+1094,2027-11-01,0
+1095,2027-12-01,0
+1096,2028-01-01,0
+1097,2028-02-01,0
+1098,2028-03-01,0
+1099,2028-04-01,0
+2000,2020-01-01,1
+2001,2020-02-01,1
+2002,2020-03-01,1
+2003,2020-04-01,1
+2004,2020-05-01,1
+2005,2020-06-01,1
+2006,2020-07-01,1
+2007,2020-08-01,1
+2008,2020-09-01,1
+2009,2020-10-01,1
+2010,2020-11-01,1
+2011,2020-12-01,1
+2012,2021-01-01,1
+2013,2021-02-01,1
+2014,2021-03-01,1
+2015,2021-04-01,1
+2016,2021-05-01,1
+2017,2021-06-01,1
+2018,2021-07-01,1
+2019,2021-08-01,1
+2020,2021-09-01,1
+2021,2021-10-01,1
+2022,2021-11-01,1
+2023,2021-12-01,1
+2024,2022-01-01,1
+2025,2022-02-01,1
+2026,2022-03-01,1
+2027,2022-04-01,1
+2028,2022-05-01,1
+2029,2022-06-01,1
+2030,2022-07-01,1
+2031,2022-08-01,1
+2032,2022-09-01,1
+2033,2022-10-01,1
+2034,2022-11-01,1
+2035,2022-12-01,1
+2036,2023-01-01,1
+2037,2023-02-01,1
+2038,2023-03-01,1
+2039,2023-04-01,1
+2040,2023-05-01,1
+2041,2023-06-01,1
+2042,2023-07-01,1
+2043,2023-08-01,1
+2044,2023-09-01,1
+2045,2023-10-01,1
+2046,2023-11-01,1
+2047,2023-12-01,1
+2048,2024-01-01,1
+2049,2024-02-01,1
+2050,2024-03-01,1
+2051,2024-04-01,1
+2052,2024-05-01,1
+2053,2024-06-01,1
+2054,2024-07-01,1
+2055,2024-08-01,1
+2056,2024-09-01,1
+2057,2024-10-01,1
+2058,2024-11-01,1
+2059,2024-12-01,1
+2060,2025-01-01,1
+2061,2025-02-01,1
+2062,2025-03-01,1
+2063,2025-04-01,1
+2064,2025-05-01,1
+2065,2025-06-01,1
+2066,2025-07-01,1
+2067,2025-08-01,1
+2068,2025-09-01,1
+2069,2025-10-01,1
+2070,2025-11-01,1
+2071,2025-12-01,1
+2072,2026-01-01,1
+2073,2026-02-01,1
+2074,2026-03-01,1
+2075,2026-04-01,1
+2076,2026-05-01,1
+2077,2026-06-01,1
+2078,2026-07-01,1
+2079,2026-08-01,1
+2080,2026-09-01,1
+2081,2026-10-01,1
+2082,2026-11-01,1
+2083,2026-12-01,1
+2084,2027-01-01,1
+2085,2027-02-01,1
+2086,2027-03-01,1
+2087,2027-04-01,1
+2088,2027-05-01,1
+2089,2027-06-01,1
+2090,2027-07-01,1
+2091,2027-08-01,1
+2092,2027-09-01,1
+2093,2027-10-01,1
+2094,2027-11-01,1
+2095,2027-12-01,1
+2096,2028-01-01,1
+2097,2028-02-01,1
+2098,2028-03-01,1
+2099,2028-04-01,1
+3000,2020-01-01,2
+3001,2020-02-01,2
+3002,2020-03-01,2
+3003,2020-04-01,2
+3004,2020-05-01,2
+3005,2020-06-01,2
+3006,2020-07-01,2
+3007,2020-08-01,2
+3008,2020-09-01,2
+3009,2020-10-01,2
+3010,2020-11-01,2
+3011,2020-12-01,2
+3012,2021-01-01,2
+3013,2021-02-01,2
+3014,2021-03-01,2
+3015,2021-04-01,2
+3016,2021-05-01,2
+3017,2021-06-01,2
+3018,2021-07-01,2
+3019,2021-08-01,2
+3020,2021-09-01,2
+3021,2021-10-01,2
+3022,2021-11-01,2
+3023,2021-12-01,2
+3024,2022-01-01,2
+3025,2022-02-01,2
+3026,2022-03-01,2
+3027,2022-04-01,2
+3028,2022-05-01,2
+3029,2022-06-01,2
+3030,2022-07-01,2
+3031,2022-08-01,2
+3032,2022-09-01,2
+3033,2022-10-01,2
+3034,2022-11-01,2
+3035,2022-12-01,2
+3036,2023-01-01,2
+3037,2023-02-01,2
+3038,2023-03-01,2
+3039,2023-04-01,2
+3040,2023-05-01,2
+3041,2023-06-01,2
+3042,2023-07-01,2
+3043,2023-08-01,2
+3044,2023-09-01,2
+3045,2023-10-01,2
+3046,2023-11-01,2
+3047,2023-12-01,2
+3048,2024-01-01,2
+3049,2024-02-01,2
+3050,2024-03-01,2
+3051,2024-04-01,2
+3052,2024-05-01,2
+3053,2024-06-01,2
+3054,2024-07-01,2
+3055,2024-08-01,2
+3056,2024-09-01,2
+3057,2024-10-01,2
+3058,2024-11-01,2
+3059,2024-12-01,2
+3060,2025-01-01,2
+3061,2025-02-01,2
+3062,2025-03-01,2
+3063,2025-04-01,2
+3064,2025-05-01,2
+3065,2025-06-01,2
+3066,2025-07-01,2
+3067,2025-08-01,2
+3068,2025-09-01,2
+3069,2025-10-01,2
+3070,2025-11-01,2
+3071,2025-12-01,2
+3072,2026-01-01,2
+3073,2026-02-01,2
+3074,2026-03-01,2
+3075,2026-04-01,2
+3076,2026-05-01,2
+3077,2026-06-01,2
+3078,2026-07-01,2
+3079,2026-08-01,2
+3080,2026-09-01,2
+3081,2026-10-01,2
+3082,2026-11-01,2
+3083,2026-12-01,2
+3084,2027-01-01,2
+3085,2027-02-01,2
+3086,2027-03-01,2
+3087,2027-04-01,2
+3088,2027-05-01,2
+3089,2027-06-01,2
+3090,2027-07-01,2
+3091,2027-08-01,2
+3092,2027-09-01,2
+3093,2027-10-01,2
+3094,2027-11-01,2
+3095,2027-12-01,2
+3096,2028-01-01,2
+3097,2028-02-01,2
+3098,2028-03-01,2
+3099,2028-04-01,2
+4000,2020-01-01,3
+4001,2020-02-01,3
+4002,2020-03-01,3
+4003,2020-04-01,3
+4004,2020-05-01,3
+4005,2020-06-01,3
+4006,2020-07-01,3
+4007,2020-08-01,3
+4008,2020-09-01,3
+4009,2020-10-01,3
+4010,2020-11-01,3
+4011,2020-12-01,3
+4012,2021-01-01,3
+4013,2021-02-01,3
+4014,2021-03-01,3
+4015,2021-04-01,3
+4016,2021-05-01,3
+4017,2021-06-01,3
+4018,2021-07-01,3
+4019,2021-08-01,3
+4020,2021-09-01,3
+4021,2021-10-01,3
+4022,2021-11-01,3
+4023,2021-12-01,3
+4024,2022-01-01,3
+4025,2022-02-01,3
+4026,2022-03-01,3
+4027,2022-04-01,3
+4028,2022-05-01,3
+4029,2022-06-01,3
+4030,2022-07-01,3
+4031,2022-08-01,3
+4032,2022-09-01,3
+4033,2022-10-01,3
+4034,2022-11-01,3
+4035,2022-12-01,3
+4036,2023-01-01,3
+4037,2023-02-01,3
+4038,2023-03-01,3
+4039,2023-04-01,3
+4040,2023-05-01,3
+4041,2023-06-01,3
+4042,2023-07-01,3
+4043,2023-08-01,3
+4044,2023-09-01,3
+4045,2023-10-01,3
+4046,2023-11-01,3
+4047,2023-12-01,3
+4048,2024-01-01,3
+4049,2024-02-01,3
+4050,2024-03-01,3
+4051,2024-04-01,3
+4052,2024-05-01,3
+4053,2024-06-01,3
+4054,2024-07-01,3
+4055,2024-08-01,3
+4056,2024-09-01,3
+4057,2024-10-01,3
+4058,2024-11-01,3
+4059,2024-12-01,3
+4060,2025-01-01,3
+4061,2025-02-01,3
+4062,2025-03-01,3
+4063,2025-04-01,3
+4064,2025-05-01,3
+4065,2025-06-01,3
+4066,2025-07-01,3
+4067,2025-08-01,3
+4068,2025-09-01,3
+4069,2025-10-01,3
+4070,2025-11-01,3
+4071,2025-12-01,3
+4072,2026-01-01,3
+4073,2026-02-01,3
+4074,2026-03-01,3
+4075,2026-04-01,3
+4076,2026-05-01,3
+4077,2026-06-01,3
+4078,2026-07-01,3
+4079,2026-08-01,3
+4080,2026-09-01,3
+4081,2026-10-01,3
+4082,2026-11-01,3
+4083,2026-12-01,3
+4084,2027-01-01,3
+4085,2027-02-01,3
+4086,2027-03-01,3
+4087,2027-04-01,3
+4088,2027-05-01,3
+4089,2027-06-01,3
+4090,2027-07-01,3
+4091,2027-08-01,3
+4092,2027-09-01,3
+4093,2027-10-01,3
+4094,2027-11-01,3
+4095,2027-12-01,3
+4096,2028-01-01,3
+4097,2028-02-01,3
+4098,2028-03-01,3
+4099,2028-04-01,3
+5000,2020-01-01,4
+5001,2020-02-01,4
+5002,2020-03-01,4
+5003,2020-04-01,4
+5004,2020-05-01,4
+5005,2020-06-01,4
+5006,2020-07-01,4
+5007,2020-08-01,4
+5008,2020-09-01,4
+5009,2020-10-01,4
+5010,2020-11-01,4
+5011,2020-12-01,4
+5012,2021-01-01,4
+5013,2021-02-01,4
+5014,2021-03-01,4
+5015,2021-04-01,4
+5016,2021-05-01,4
+5017,2021-06-01,4
+5018,2021-07-01,4
+5019,2021-08-01,4
+5020,2021-09-01,4
+5021,2021-10-01,4
+5022,2021-11-01,4
+5023,2021-12-01,4
+5024,2022-01-01,4
+5025,2022-02-01,4
+5026,2022-03-01,4
+5027,2022-04-01,4
+5028,2022-05-01,4
+5029,2022-06-01,4
+5030,2022-07-01,4
+5031,2022-08-01,4
+5032,2022-09-01,4
+5033,2022-10-01,4
+5034,2022-11-01,4
+5035,2022-12-01,4
+5036,2023-01-01,4
+5037,2023-02-01,4
+5038,2023-03-01,4
+5039,2023-04-01,4
+5040,2023-05-01,4
+5041,2023-06-01,4
+5042,2023-07-01,4
+5043,2023-08-01,4
+5044,2023-09-01,4
+5045,2023-10-01,4
+5046,2023-11-01,4
+5047,2023-12-01,4
+5048,2024-01-01,4
+5049,2024-02-01,4
+5050,2024-03-01,4
+5051,2024-04-01,4
+5052,2024-05-01,4
+5053,2024-06-01,4
+5054,2024-07-01,4
+5055,2024-08-01,4
+5056,2024-09-01,4
+5057,2024-10-01,4
+5058,2024-11-01,4
+5059,2024-12-01,4
+5060,2025-01-01,4
+5061,2025-02-01,4
+5062,2025-03-01,4
+5063,2025-04-01,4
+5064,2025-05-01,4
+5065,2025-06-01,4
+5066,2025-07-01,4
+5067,2025-08-01,4
+5068,2025-09-01,4
+5069,2025-10-01,4
+5070,2025-11-01,4
+5071,2025-12-01,4
+5072,2026-01-01,4
+5073,2026-02-01,4
+5074,2026-03-01,4
+5075,2026-04-01,4
+5076,2026-05-01,4
+5077,2026-06-01,4
+5078,2026-07-01,4
+5079,2026-08-01,4
+5080,2026-09-01,4
+5081,2026-10-01,4
+5082,2026-11-01,4
+5083,2026-12-01,4
+5084,2027-01-01,4
+5085,2027-02-01,4
+5086,2027-03-01,4
+5087,2027-04-01,4
+5088,2027-05-01,4
+5089,2027-06-01,4
+5090,2027-07-01,4
+5091,2027-08-01,4
+5092,2027-09-01,4
+5093,2027-10-01,4
+5094,2027-11-01,4
+5095,2027-12-01,4
+5096,2028-01-01,4
+5097,2028-02-01,4
+5098,2028-03-01,4
+5099,2028-04-01,4
+6000,2020-01-01,5
+6001,2020-02-01,5
+6002,2020-03-01,5
+6003,2020-04-01,5
+6004,2020-05-01,5
+6005,2020-06-01,5
+6006,2020-07-01,5
+6007,2020-08-01,5
+6008,2020-09-01,5
+6009,2020-10-01,5
+6010,2020-11-01,5
+6011,2020-12-01,5
+6012,2021-01-01,5
+6013,2021-02-01,5
+6014,2021-03-01,5
+6015,2021-04-01,5
+6016,2021-05-01,5
+6017,2021-06-01,5
+6018,2021-07-01,5
+6019,2021-08-01,5
+6020,2021-09-01,5
+6021,2021-10-01,5
+6022,2021-11-01,5
+6023,2021-12-01,5
+6024,2022-01-01,5
+6025,2022-02-01,5
+6026,2022-03-01,5
+6027,2022-04-01,5
+6028,2022-05-01,5
+6029,2022-06-01,5
+6030,2022-07-01,5
+6031,2022-08-01,5
+6032,2022-09-01,5
+6033,2022-10-01,5
+6034,2022-11-01,5
+6035,2022-12-01,5
+6036,2023-01-01,5
+6037,2023-02-01,5
+6038,2023-03-01,5
+6039,2023-04-01,5
+6040,2023-05-01,5
+6041,2023-06-01,5
+6042,2023-07-01,5
+6043,2023-08-01,5
+6044,2023-09-01,5
+6045,2023-10-01,5
+6046,2023-11-01,5
+6047,2023-12-01,5
+6048,2024-01-01,5
+6049,2024-02-01,5
+6050,2024-03-01,5
+6051,2024-04-01,5
+6052,2024-05-01,5
+6053,2024-06-01,5
+6054,2024-07-01,5
+6055,2024-08-01,5
+6056,2024-09-01,5
+6057,2024-10-01,5
+6058,2024-11-01,5
+6059,2024-12-01,5
+6060,2025-01-01,5
+6061,2025-02-01,5
+6062,2025-03-01,5
+6063,2025-04-01,5
+6064,2025-05-01,5
+6065,2025-06-01,5
+6066,2025-07-01,5
+6067,2025-08-01,5
+6068,2025-09-01,5
+6069,2025-10-01,5
+6070,2025-11-01,5
+6071,2025-12-01,5
+6072,2026-01-01,5
+6073,2026-02-01,5
+6074,2026-03-01,5
+6075,2026-04-01,5
+6076,2026-05-01,5
+6077,2026-06-01,5
+6078,2026-07-01,5
+6079,2026-08-01,5
+6080,2026-09-01,5
+6081,2026-10-01,5
+6082,2026-11-01,5
+6083,2026-12-01,5
+6084,2027-01-01,5
+6085,2027-02-01,5
+6086,2027-03-01,5
+6087,2027-04-01,5
+6088,2027-05-01,5
+6089,2027-06-01,5
+6090,2027-07-01,5
+6091,2027-08-01,5
+6092,2027-09-01,5
+6093,2027-10-01,5
+6094,2027-11-01,5
+6095,2027-12-01,5
+6096,2028-01-01,5
+6097,2028-02-01,5
+6098,2028-03-01,5
+6099,2028-04-01,5
+7000,2020-01-01,6
+7001,2020-02-01,6
+7002,2020-03-01,6
+7003,2020-04-01,6
+7004,2020-05-01,6
+7005,2020-06-01,6
+7006,2020-07-01,6
+7007,2020-08-01,6
+7008,2020-09-01,6
+7009,2020-10-01,6
+7010,2020-11-01,6
+7011,2020-12-01,6
+7012,2021-01-01,6
+7013,2021-02-01,6
+7014,2021-03-01,6
+7015,2021-04-01,6
+7016,2021-05-01,6
+7017,2021-06-01,6
+7018,2021-07-01,6
+7019,2021-08-01,6
+7020,2021-09-01,6
+7021,2021-10-01,6
+7022,2021-11-01,6
+7023,2021-12-01,6
+7024,2022-01-01,6
+7025,2022-02-01,6
+7026,2022-03-01,6
+7027,2022-04-01,6
+7028,2022-05-01,6
+7029,2022-06-01,6
+7030,2022-07-01,6
+7031,2022-08-01,6
+7032,2022-09-01,6
+7033,2022-10-01,6
+7034,2022-11-01,6
+7035,2022-12-01,6
+7036,2023-01-01,6
+7037,2023-02-01,6
+7038,2023-03-01,6
+7039,2023-04-01,6
+7040,2023-05-01,6
+7041,2023-06-01,6
+7042,2023-07-01,6
+7043,2023-08-01,6
+7044,2023-09-01,6
+7045,2023-10-01,6
+7046,2023-11-01,6
+7047,2023-12-01,6
+7048,2024-01-01,6
+7049,2024-02-01,6
+7050,2024-03-01,6
+7051,2024-04-01,6
+7052,2024-05-01,6
+7053,2024-06-01,6
+7054,2024-07-01,6
+7055,2024-08-01,6
+7056,2024-09-01,6
+7057,2024-10-01,6
+7058,2024-11-01,6
+7059,2024-12-01,6
+7060,2025-01-01,6
+7061,2025-02-01,6
+7062,2025-03-01,6
+7063,2025-04-01,6
+7064,2025-05-01,6
+7065,2025-06-01,6
+7066,2025-07-01,6
+7067,2025-08-01,6
+7068,2025-09-01,6
+7069,2025-10-01,6
+7070,2025-11-01,6
+7071,2025-12-01,6
+7072,2026-01-01,6
+7073,2026-02-01,6
+7074,2026-03-01,6
+7075,2026-04-01,6
+7076,2026-05-01,6
+7077,2026-06-01,6
+7078,2026-07-01,6
+7079,2026-08-01,6
+7080,2026-09-01,6
+7081,2026-10-01,6
+7082,2026-11-01,6
+7083,2026-12-01,6
+7084,2027-01-01,6
+7085,2027-02-01,6
+7086,2027-03-01,6
+7087,2027-04-01,6
+7088,2027-05-01,6
+7089,2027-06-01,6
+7090,2027-07-01,6
+7091,2027-08-01,6
+7092,2027-09-01,6
+7093,2027-10-01,6
+7094,2027-11-01,6
+7095,2027-12-01,6
+7096,2028-01-01,6
+7097,2028-02-01,6
+7098,2028-03-01,6
+7099,2028-04-01,6
+8000,2020-01-01,7
+8001,2020-02-01,7
+8002,2020-03-01,7
+8003,2020-04-01,7
+8004,2020-05-01,7
+8005,2020-06-01,7
+8006,2020-07-01,7
+8007,2020-08-01,7
+8008,2020-09-01,7
+8009,2020-10-01,7
+8010,2020-11-01,7
+8011,2020-12-01,7
+8012,2021-01-01,7
+8013,2021-02-01,7
+8014,2021-03-01,7
+8015,2021-04-01,7
+8016,2021-05-01,7
+8017,2021-06-01,7
+8018,2021-07-01,7
+8019,2021-08-01,7
+8020,2021-09-01,7
+8021,2021-10-01,7
+8022,2021-11-01,7
+8023,2021-12-01,7
+8024,2022-01-01,7
+8025,2022-02-01,7
+8026,2022-03-01,7
+8027,2022-04-01,7
+8028,2022-05-01,7
+8029,2022-06-01,7
+8030,2022-07-01,7
+8031,2022-08-01,7
+8032,2022-09-01,7
+8033,2022-10-01,7
+8034,2022-11-01,7
+8035,2022-12-01,7
+8036,2023-01-01,7
+8037,2023-02-01,7
+8038,2023-03-01,7
+8039,2023-04-01,7
+8040,2023-05-01,7
+8041,2023-06-01,7
+8042,2023-07-01,7
+8043,2023-08-01,7
+8044,2023-09-01,7
+8045,2023-10-01,7
+8046,2023-11-01,7
+8047,2023-12-01,7
+8048,2024-01-01,7
+8049,2024-02-01,7
+8050,2024-03-01,7
+8051,2024-04-01,7
+8052,2024-05-01,7
+8053,2024-06-01,7
+8054,2024-07-01,7
+8055,2024-08-01,7
+8056,2024-09-01,7
+8057,2024-10-01,7
+8058,2024-11-01,7
+8059,2024-12-01,7
+8060,2025-01-01,7
+8061,2025-02-01,7
+8062,2025-03-01,7
+8063,2025-04-01,7
+8064,2025-05-01,7
+8065,2025-06-01,7
+8066,2025-07-01,7
+8067,2025-08-01,7
+8068,2025-09-01,7
+8069,2025-10-01,7
+8070,2025-11-01,7
+8071,2025-12-01,7
+8072,2026-01-01,7
+8073,2026-02-01,7
+8074,2026-03-01,7
+8075,2026-04-01,7
+8076,2026-05-01,7
+8077,2026-06-01,7
+8078,2026-07-01,7
+8079,2026-08-01,7
+8080,2026-09-01,7
+8081,2026-10-01,7
+8082,2026-11-01,7
+8083,2026-12-01,7
+8084,2027-01-01,7
+8085,2027-02-01,7
+8086,2027-03-01,7
+8087,2027-04-01,7
+8088,2027-05-01,7
+8089,2027-06-01,7
+8090,2027-07-01,7
+8091,2027-08-01,7
+8092,2027-09-01,7
+8093,2027-10-01,7
+8094,2027-11-01,7
+8095,2027-12-01,7
+8096,2028-01-01,7
+8097,2028-02-01,7
+8098,2028-03-01,7
+8099,2028-04-01,7
+9000,2020-01-01,8
+9001,2020-02-01,8
+9002,2020-03-01,8
+9003,2020-04-01,8
+9004,2020-05-01,8
+9005,2020-06-01,8
+9006,2020-07-01,8
+9007,2020-08-01,8
+9008,2020-09-01,8
+9009,2020-10-01,8
+9010,2020-11-01,8
+9011,2020-12-01,8
+9012,2021-01-01,8
+9013,2021-02-01,8
+9014,2021-03-01,8
+9015,2021-04-01,8
+9016,2021-05-01,8
+9017,2021-06-01,8
+9018,2021-07-01,8
+9019,2021-08-01,8
+9020,2021-09-01,8
+9021,2021-10-01,8
+9022,2021-11-01,8
+9023,2021-12-01,8
+9024,2022-01-01,8
+9025,2022-02-01,8
+9026,2022-03-01,8
+9027,2022-04-01,8
+9028,2022-05-01,8
+9029,2022-06-01,8
+9030,2022-07-01,8
+9031,2022-08-01,8
+9032,2022-09-01,8
+9033,2022-10-01,8
+9034,2022-11-01,8
+9035,2022-12-01,8
+9036,2023-01-01,8
+9037,2023-02-01,8
+9038,2023-03-01,8
+9039,2023-04-01,8
+9040,2023-05-01,8
+9041,2023-06-01,8
+9042,2023-07-01,8
+9043,2023-08-01,8
+9044,2023-09-01,8
+9045,2023-10-01,8
+9046,2023-11-01,8
+9047,2023-12-01,8
+9048,2024-01-01,8
+9049,2024-02-01,8
+9050,2024-03-01,8
+9051,2024-04-01,8
+9052,2024-05-01,8
+9053,2024-06-01,8
+9054,2024-07-01,8
+9055,2024-08-01,8
+9056,2024-09-01,8
+9057,2024-10-01,8
+9058,2024-11-01,8
+9059,2024-12-01,8
+9060,2025-01-01,8
+9061,2025-02-01,8
+9062,2025-03-01,8
+9063,2025-04-01,8
+9064,2025-05-01,8
+9065,2025-06-01,8
+9066,2025-07-01,8
+9067,2025-08-01,8
+9068,2025-09-01,8
+9069,2025-10-01,8
+9070,2025-11-01,8
+9071,2025-12-01,8
+9072,2026-01-01,8
+9073,2026-02-01,8
+9074,2026-03-01,8
+9075,2026-04-01,8
+9076,2026-05-01,8
+9077,2026-06-01,8
+9078,2026-07-01,8
+9079,2026-08-01,8
+9080,2026-09-01,8
+9081,2026-10-01,8
+9082,2026-11-01,8
+9083,2026-12-01,8
+9084,2027-01-01,8
+9085,2027-02-01,8
+9086,2027-03-01,8
+9087,2027-04-01,8
+9088,2027-05-01,8
+9089,2027-06-01,8
+9090,2027-07-01,8
+9091,2027-08-01,8
+9092,2027-09-01,8
+9093,2027-10-01,8
+9094,2027-11-01,8
+9095,2027-12-01,8
+9096,2028-01-01,8
+9097,2028-02-01,8
+9098,2028-03-01,8
+9099,2028-04-01,8
+10000,2020-01-01,9
+10001,2020-02-01,9
+10002,2020-03-01,9
+10003,2020-04-01,9
+10004,2020-05-01,9
+10005,2020-06-01,9
+10006,2020-07-01,9
+10007,2020-08-01,9
+10008,2020-09-01,9
+10009,2020-10-01,9
+10010,2020-11-01,9
+10011,2020-12-01,9
+10012,2021-01-01,9
+10013,2021-02-01,9
+10014,2021-03-01,9
+10015,2021-04-01,9
+10016,2021-05-01,9
+10017,2021-06-01,9
+10018,2021-07-01,9
+10019,2021-08-01,9
+10020,2021-09-01,9
+10021,2021-10-01,9
+10022,2021-11-01,9
+10023,2021-12-01,9
+10024,2022-01-01,9
+10025,2022-02-01,9
+10026,2022-03-01,9
+10027,2022-04-01,9
+10028,2022-05-01,9
+10029,2022-06-01,9
+10030,2022-07-01,9
+10031,2022-08-01,9
+10032,2022-09-01,9
+10033,2022-10-01,9
+10034,2022-11-01,9
+10035,2022-12-01,9
+10036,2023-01-01,9
+10037,2023-02-01,9
+10038,2023-03-01,9
+10039,2023-04-01,9
+10040,2023-05-01,9
+10041,2023-06-01,9
+10042,2023-07-01,9
+10043,2023-08-01,9
+10044,2023-09-01,9
+10045,2023-10-01,9
+10046,2023-11-01,9
+10047,2023-12-01,9
+10048,2024-01-01,9
+10049,2024-02-01,9
+10050,2024-03-01,9
+10051,2024-04-01,9
+10052,2024-05-01,9
+10053,2024-06-01,9
+10054,2024-07-01,9
+10055,2024-08-01,9
+10056,2024-09-01,9
+10057,2024-10-01,9
+10058,2024-11-01,9
+10059,2024-12-01,9
+10060,2025-01-01,9
+10061,2025-02-01,9
+10062,2025-03-01,9
+10063,2025-04-01,9
+10064,2025-05-01,9
+10065,2025-06-01,9
+10066,2025-07-01,9
+10067,2025-08-01,9
+10068,2025-09-01,9
+10069,2025-10-01,9
+10070,2025-11-01,9
+10071,2025-12-01,9
+10072,2026-01-01,9
+10073,2026-02-01,9
+10074,2026-03-01,9
+10075,2026-04-01,9
+10076,2026-05-01,9
+10077,2026-06-01,9
+10078,2026-07-01,9
+10079,2026-08-01,9
+10080,2026-09-01,9
+10081,2026-10-01,9
+10082,2026-11-01,9
+10083,2026-12-01,9
+10084,2027-01-01,9
+10085,2027-02-01,9
+10086,2027-03-01,9
+10087,2027-04-01,9
+10088,2027-05-01,9
+10089,2027-06-01,9
+10090,2027-07-01,9
+10091,2027-08-01,9
+10092,2027-09-01,9
+10093,2027-10-01,9
+10094,2027-11-01,9
+10095,2027-12-01,9
+10096,2028-01-01,9
+10097,2028-02-01,9
+10098,2028-03-01,9
+10099,2028-04-01,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Q.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Q.csv
new file mode 100644
index 0000000..8ca1088
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Q.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-03-31,0
+1001,2020-06-30,0
+1002,2020-09-30,0
+1003,2020-12-31,0
+1004,2021-03-31,0
+1005,2021-06-30,0
+1006,2021-09-30,0
+1007,2021-12-31,0
+1008,2022-03-31,0
+1009,2022-06-30,0
+1010,2022-09-30,0
+1011,2022-12-31,0
+1012,2023-03-31,0
+1013,2023-06-30,0
+1014,2023-09-30,0
+1015,2023-12-31,0
+1016,2024-03-31,0
+1017,2024-06-30,0
+1018,2024-09-30,0
+1019,2024-12-31,0
+1020,2025-03-31,0
+1021,2025-06-30,0
+1022,2025-09-30,0
+1023,2025-12-31,0
+1024,2026-03-31,0
+1025,2026-06-30,0
+1026,2026-09-30,0
+1027,2026-12-31,0
+1028,2027-03-31,0
+1029,2027-06-30,0
+1030,2027-09-30,0
+1031,2027-12-31,0
+1032,2028-03-31,0
+1033,2028-06-30,0
+1034,2028-09-30,0
+1035,2028-12-31,0
+1036,2029-03-31,0
+1037,2029-06-30,0
+1038,2029-09-30,0
+1039,2029-12-31,0
+1040,2030-03-31,0
+1041,2030-06-30,0
+1042,2030-09-30,0
+1043,2030-12-31,0
+1044,2031-03-31,0
+1045,2031-06-30,0
+1046,2031-09-30,0
+1047,2031-12-31,0
+1048,2032-03-31,0
+1049,2032-06-30,0
+1050,2032-09-30,0
+1051,2032-12-31,0
+1052,2033-03-31,0
+1053,2033-06-30,0
+1054,2033-09-30,0
+1055,2033-12-31,0
+1056,2034-03-31,0
+1057,2034-06-30,0
+1058,2034-09-30,0
+1059,2034-12-31,0
+1060,2035-03-31,0
+1061,2035-06-30,0
+1062,2035-09-30,0
+1063,2035-12-31,0
+1064,2036-03-31,0
+1065,2036-06-30,0
+1066,2036-09-30,0
+1067,2036-12-31,0
+1068,2037-03-31,0
+1069,2037-06-30,0
+1070,2037-09-30,0
+1071,2037-12-31,0
+1072,2038-03-31,0
+1073,2038-06-30,0
+1074,2038-09-30,0
+1075,2038-12-31,0
+1076,2039-03-31,0
+1077,2039-06-30,0
+1078,2039-09-30,0
+1079,2039-12-31,0
+1080,2040-03-31,0
+1081,2040-06-30,0
+1082,2040-09-30,0
+1083,2040-12-31,0
+1084,2041-03-31,0
+1085,2041-06-30,0
+1086,2041-09-30,0
+1087,2041-12-31,0
+1088,2042-03-31,0
+1089,2042-06-30,0
+1090,2042-09-30,0
+1091,2042-12-31,0
+1092,2043-03-31,0
+1093,2043-06-30,0
+1094,2043-09-30,0
+1095,2043-12-31,0
+1096,2044-03-31,0
+1097,2044-06-30,0
+1098,2044-09-30,0
+1099,2044-12-31,0
+2000,2020-03-31,1
+2001,2020-06-30,1
+2002,2020-09-30,1
+2003,2020-12-31,1
+2004,2021-03-31,1
+2005,2021-06-30,1
+2006,2021-09-30,1
+2007,2021-12-31,1
+2008,2022-03-31,1
+2009,2022-06-30,1
+2010,2022-09-30,1
+2011,2022-12-31,1
+2012,2023-03-31,1
+2013,2023-06-30,1
+2014,2023-09-30,1
+2015,2023-12-31,1
+2016,2024-03-31,1
+2017,2024-06-30,1
+2018,2024-09-30,1
+2019,2024-12-31,1
+2020,2025-03-31,1
+2021,2025-06-30,1
+2022,2025-09-30,1
+2023,2025-12-31,1
+2024,2026-03-31,1
+2025,2026-06-30,1
+2026,2026-09-30,1
+2027,2026-12-31,1
+2028,2027-03-31,1
+2029,2027-06-30,1
+2030,2027-09-30,1
+2031,2027-12-31,1
+2032,2028-03-31,1
+2033,2028-06-30,1
+2034,2028-09-30,1
+2035,2028-12-31,1
+2036,2029-03-31,1
+2037,2029-06-30,1
+2038,2029-09-30,1
+2039,2029-12-31,1
+2040,2030-03-31,1
+2041,2030-06-30,1
+2042,2030-09-30,1
+2043,2030-12-31,1
+2044,2031-03-31,1
+2045,2031-06-30,1
+2046,2031-09-30,1
+2047,2031-12-31,1
+2048,2032-03-31,1
+2049,2032-06-30,1
+2050,2032-09-30,1
+2051,2032-12-31,1
+2052,2033-03-31,1
+2053,2033-06-30,1
+2054,2033-09-30,1
+2055,2033-12-31,1
+2056,2034-03-31,1
+2057,2034-06-30,1
+2058,2034-09-30,1
+2059,2034-12-31,1
+2060,2035-03-31,1
+2061,2035-06-30,1
+2062,2035-09-30,1
+2063,2035-12-31,1
+2064,2036-03-31,1
+2065,2036-06-30,1
+2066,2036-09-30,1
+2067,2036-12-31,1
+2068,2037-03-31,1
+2069,2037-06-30,1
+2070,2037-09-30,1
+2071,2037-12-31,1
+2072,2038-03-31,1
+2073,2038-06-30,1
+2074,2038-09-30,1
+2075,2038-12-31,1
+2076,2039-03-31,1
+2077,2039-06-30,1
+2078,2039-09-30,1
+2079,2039-12-31,1
+2080,2040-03-31,1
+2081,2040-06-30,1
+2082,2040-09-30,1
+2083,2040-12-31,1
+2084,2041-03-31,1
+2085,2041-06-30,1
+2086,2041-09-30,1
+2087,2041-12-31,1
+2088,2042-03-31,1
+2089,2042-06-30,1
+2090,2042-09-30,1
+2091,2042-12-31,1
+2092,2043-03-31,1
+2093,2043-06-30,1
+2094,2043-09-30,1
+2095,2043-12-31,1
+2096,2044-03-31,1
+2097,2044-06-30,1
+2098,2044-09-30,1
+2099,2044-12-31,1
+3000,2020-03-31,2
+3001,2020-06-30,2
+3002,2020-09-30,2
+3003,2020-12-31,2
+3004,2021-03-31,2
+3005,2021-06-30,2
+3006,2021-09-30,2
+3007,2021-12-31,2
+3008,2022-03-31,2
+3009,2022-06-30,2
+3010,2022-09-30,2
+3011,2022-12-31,2
+3012,2023-03-31,2
+3013,2023-06-30,2
+3014,2023-09-30,2
+3015,2023-12-31,2
+3016,2024-03-31,2
+3017,2024-06-30,2
+3018,2024-09-30,2
+3019,2024-12-31,2
+3020,2025-03-31,2
+3021,2025-06-30,2
+3022,2025-09-30,2
+3023,2025-12-31,2
+3024,2026-03-31,2
+3025,2026-06-30,2
+3026,2026-09-30,2
+3027,2026-12-31,2
+3028,2027-03-31,2
+3029,2027-06-30,2
+3030,2027-09-30,2
+3031,2027-12-31,2
+3032,2028-03-31,2
+3033,2028-06-30,2
+3034,2028-09-30,2
+3035,2028-12-31,2
+3036,2029-03-31,2
+3037,2029-06-30,2
+3038,2029-09-30,2
+3039,2029-12-31,2
+3040,2030-03-31,2
+3041,2030-06-30,2
+3042,2030-09-30,2
+3043,2030-12-31,2
+3044,2031-03-31,2
+3045,2031-06-30,2
+3046,2031-09-30,2
+3047,2031-12-31,2
+3048,2032-03-31,2
+3049,2032-06-30,2
+3050,2032-09-30,2
+3051,2032-12-31,2
+3052,2033-03-31,2
+3053,2033-06-30,2
+3054,2033-09-30,2
+3055,2033-12-31,2
+3056,2034-03-31,2
+3057,2034-06-30,2
+3058,2034-09-30,2
+3059,2034-12-31,2
+3060,2035-03-31,2
+3061,2035-06-30,2
+3062,2035-09-30,2
+3063,2035-12-31,2
+3064,2036-03-31,2
+3065,2036-06-30,2
+3066,2036-09-30,2
+3067,2036-12-31,2
+3068,2037-03-31,2
+3069,2037-06-30,2
+3070,2037-09-30,2
+3071,2037-12-31,2
+3072,2038-03-31,2
+3073,2038-06-30,2
+3074,2038-09-30,2
+3075,2038-12-31,2
+3076,2039-03-31,2
+3077,2039-06-30,2
+3078,2039-09-30,2
+3079,2039-12-31,2
+3080,2040-03-31,2
+3081,2040-06-30,2
+3082,2040-09-30,2
+3083,2040-12-31,2
+3084,2041-03-31,2
+3085,2041-06-30,2
+3086,2041-09-30,2
+3087,2041-12-31,2
+3088,2042-03-31,2
+3089,2042-06-30,2
+3090,2042-09-30,2
+3091,2042-12-31,2
+3092,2043-03-31,2
+3093,2043-06-30,2
+3094,2043-09-30,2
+3095,2043-12-31,2
+3096,2044-03-31,2
+3097,2044-06-30,2
+3098,2044-09-30,2
+3099,2044-12-31,2
+4000,2020-03-31,3
+4001,2020-06-30,3
+4002,2020-09-30,3
+4003,2020-12-31,3
+4004,2021-03-31,3
+4005,2021-06-30,3
+4006,2021-09-30,3
+4007,2021-12-31,3
+4008,2022-03-31,3
+4009,2022-06-30,3
+4010,2022-09-30,3
+4011,2022-12-31,3
+4012,2023-03-31,3
+4013,2023-06-30,3
+4014,2023-09-30,3
+4015,2023-12-31,3
+4016,2024-03-31,3
+4017,2024-06-30,3
+4018,2024-09-30,3
+4019,2024-12-31,3
+4020,2025-03-31,3
+4021,2025-06-30,3
+4022,2025-09-30,3
+4023,2025-12-31,3
+4024,2026-03-31,3
+4025,2026-06-30,3
+4026,2026-09-30,3
+4027,2026-12-31,3
+4028,2027-03-31,3
+4029,2027-06-30,3
+4030,2027-09-30,3
+4031,2027-12-31,3
+4032,2028-03-31,3
+4033,2028-06-30,3
+4034,2028-09-30,3
+4035,2028-12-31,3
+4036,2029-03-31,3
+4037,2029-06-30,3
+4038,2029-09-30,3
+4039,2029-12-31,3
+4040,2030-03-31,3
+4041,2030-06-30,3
+4042,2030-09-30,3
+4043,2030-12-31,3
+4044,2031-03-31,3
+4045,2031-06-30,3
+4046,2031-09-30,3
+4047,2031-12-31,3
+4048,2032-03-31,3
+4049,2032-06-30,3
+4050,2032-09-30,3
+4051,2032-12-31,3
+4052,2033-03-31,3
+4053,2033-06-30,3
+4054,2033-09-30,3
+4055,2033-12-31,3
+4056,2034-03-31,3
+4057,2034-06-30,3
+4058,2034-09-30,3
+4059,2034-12-31,3
+4060,2035-03-31,3
+4061,2035-06-30,3
+4062,2035-09-30,3
+4063,2035-12-31,3
+4064,2036-03-31,3
+4065,2036-06-30,3
+4066,2036-09-30,3
+4067,2036-12-31,3
+4068,2037-03-31,3
+4069,2037-06-30,3
+4070,2037-09-30,3
+4071,2037-12-31,3
+4072,2038-03-31,3
+4073,2038-06-30,3
+4074,2038-09-30,3
+4075,2038-12-31,3
+4076,2039-03-31,3
+4077,2039-06-30,3
+4078,2039-09-30,3
+4079,2039-12-31,3
+4080,2040-03-31,3
+4081,2040-06-30,3
+4082,2040-09-30,3
+4083,2040-12-31,3
+4084,2041-03-31,3
+4085,2041-06-30,3
+4086,2041-09-30,3
+4087,2041-12-31,3
+4088,2042-03-31,3
+4089,2042-06-30,3
+4090,2042-09-30,3
+4091,2042-12-31,3
+4092,2043-03-31,3
+4093,2043-06-30,3
+4094,2043-09-30,3
+4095,2043-12-31,3
+4096,2044-03-31,3
+4097,2044-06-30,3
+4098,2044-09-30,3
+4099,2044-12-31,3
+5000,2020-03-31,4
+5001,2020-06-30,4
+5002,2020-09-30,4
+5003,2020-12-31,4
+5004,2021-03-31,4
+5005,2021-06-30,4
+5006,2021-09-30,4
+5007,2021-12-31,4
+5008,2022-03-31,4
+5009,2022-06-30,4
+5010,2022-09-30,4
+5011,2022-12-31,4
+5012,2023-03-31,4
+5013,2023-06-30,4
+5014,2023-09-30,4
+5015,2023-12-31,4
+5016,2024-03-31,4
+5017,2024-06-30,4
+5018,2024-09-30,4
+5019,2024-12-31,4
+5020,2025-03-31,4
+5021,2025-06-30,4
+5022,2025-09-30,4
+5023,2025-12-31,4
+5024,2026-03-31,4
+5025,2026-06-30,4
+5026,2026-09-30,4
+5027,2026-12-31,4
+5028,2027-03-31,4
+5029,2027-06-30,4
+5030,2027-09-30,4
+5031,2027-12-31,4
+5032,2028-03-31,4
+5033,2028-06-30,4
+5034,2028-09-30,4
+5035,2028-12-31,4
+5036,2029-03-31,4
+5037,2029-06-30,4
+5038,2029-09-30,4
+5039,2029-12-31,4
+5040,2030-03-31,4
+5041,2030-06-30,4
+5042,2030-09-30,4
+5043,2030-12-31,4
+5044,2031-03-31,4
+5045,2031-06-30,4
+5046,2031-09-30,4
+5047,2031-12-31,4
+5048,2032-03-31,4
+5049,2032-06-30,4
+5050,2032-09-30,4
+5051,2032-12-31,4
+5052,2033-03-31,4
+5053,2033-06-30,4
+5054,2033-09-30,4
+5055,2033-12-31,4
+5056,2034-03-31,4
+5057,2034-06-30,4
+5058,2034-09-30,4
+5059,2034-12-31,4
+5060,2035-03-31,4
+5061,2035-06-30,4
+5062,2035-09-30,4
+5063,2035-12-31,4
+5064,2036-03-31,4
+5065,2036-06-30,4
+5066,2036-09-30,4
+5067,2036-12-31,4
+5068,2037-03-31,4
+5069,2037-06-30,4
+5070,2037-09-30,4
+5071,2037-12-31,4
+5072,2038-03-31,4
+5073,2038-06-30,4
+5074,2038-09-30,4
+5075,2038-12-31,4
+5076,2039-03-31,4
+5077,2039-06-30,4
+5078,2039-09-30,4
+5079,2039-12-31,4
+5080,2040-03-31,4
+5081,2040-06-30,4
+5082,2040-09-30,4
+5083,2040-12-31,4
+5084,2041-03-31,4
+5085,2041-06-30,4
+5086,2041-09-30,4
+5087,2041-12-31,4
+5088,2042-03-31,4
+5089,2042-06-30,4
+5090,2042-09-30,4
+5091,2042-12-31,4
+5092,2043-03-31,4
+5093,2043-06-30,4
+5094,2043-09-30,4
+5095,2043-12-31,4
+5096,2044-03-31,4
+5097,2044-06-30,4
+5098,2044-09-30,4
+5099,2044-12-31,4
+6000,2020-03-31,5
+6001,2020-06-30,5
+6002,2020-09-30,5
+6003,2020-12-31,5
+6004,2021-03-31,5
+6005,2021-06-30,5
+6006,2021-09-30,5
+6007,2021-12-31,5
+6008,2022-03-31,5
+6009,2022-06-30,5
+6010,2022-09-30,5
+6011,2022-12-31,5
+6012,2023-03-31,5
+6013,2023-06-30,5
+6014,2023-09-30,5
+6015,2023-12-31,5
+6016,2024-03-31,5
+6017,2024-06-30,5
+6018,2024-09-30,5
+6019,2024-12-31,5
+6020,2025-03-31,5
+6021,2025-06-30,5
+6022,2025-09-30,5
+6023,2025-12-31,5
+6024,2026-03-31,5
+6025,2026-06-30,5
+6026,2026-09-30,5
+6027,2026-12-31,5
+6028,2027-03-31,5
+6029,2027-06-30,5
+6030,2027-09-30,5
+6031,2027-12-31,5
+6032,2028-03-31,5
+6033,2028-06-30,5
+6034,2028-09-30,5
+6035,2028-12-31,5
+6036,2029-03-31,5
+6037,2029-06-30,5
+6038,2029-09-30,5
+6039,2029-12-31,5
+6040,2030-03-31,5
+6041,2030-06-30,5
+6042,2030-09-30,5
+6043,2030-12-31,5
+6044,2031-03-31,5
+6045,2031-06-30,5
+6046,2031-09-30,5
+6047,2031-12-31,5
+6048,2032-03-31,5
+6049,2032-06-30,5
+6050,2032-09-30,5
+6051,2032-12-31,5
+6052,2033-03-31,5
+6053,2033-06-30,5
+6054,2033-09-30,5
+6055,2033-12-31,5
+6056,2034-03-31,5
+6057,2034-06-30,5
+6058,2034-09-30,5
+6059,2034-12-31,5
+6060,2035-03-31,5
+6061,2035-06-30,5
+6062,2035-09-30,5
+6063,2035-12-31,5
+6064,2036-03-31,5
+6065,2036-06-30,5
+6066,2036-09-30,5
+6067,2036-12-31,5
+6068,2037-03-31,5
+6069,2037-06-30,5
+6070,2037-09-30,5
+6071,2037-12-31,5
+6072,2038-03-31,5
+6073,2038-06-30,5
+6074,2038-09-30,5
+6075,2038-12-31,5
+6076,2039-03-31,5
+6077,2039-06-30,5
+6078,2039-09-30,5
+6079,2039-12-31,5
+6080,2040-03-31,5
+6081,2040-06-30,5
+6082,2040-09-30,5
+6083,2040-12-31,5
+6084,2041-03-31,5
+6085,2041-06-30,5
+6086,2041-09-30,5
+6087,2041-12-31,5
+6088,2042-03-31,5
+6089,2042-06-30,5
+6090,2042-09-30,5
+6091,2042-12-31,5
+6092,2043-03-31,5
+6093,2043-06-30,5
+6094,2043-09-30,5
+6095,2043-12-31,5
+6096,2044-03-31,5
+6097,2044-06-30,5
+6098,2044-09-30,5
+6099,2044-12-31,5
+7000,2020-03-31,6
+7001,2020-06-30,6
+7002,2020-09-30,6
+7003,2020-12-31,6
+7004,2021-03-31,6
+7005,2021-06-30,6
+7006,2021-09-30,6
+7007,2021-12-31,6
+7008,2022-03-31,6
+7009,2022-06-30,6
+7010,2022-09-30,6
+7011,2022-12-31,6
+7012,2023-03-31,6
+7013,2023-06-30,6
+7014,2023-09-30,6
+7015,2023-12-31,6
+7016,2024-03-31,6
+7017,2024-06-30,6
+7018,2024-09-30,6
+7019,2024-12-31,6
+7020,2025-03-31,6
+7021,2025-06-30,6
+7022,2025-09-30,6
+7023,2025-12-31,6
+7024,2026-03-31,6
+7025,2026-06-30,6
+7026,2026-09-30,6
+7027,2026-12-31,6
+7028,2027-03-31,6
+7029,2027-06-30,6
+7030,2027-09-30,6
+7031,2027-12-31,6
+7032,2028-03-31,6
+7033,2028-06-30,6
+7034,2028-09-30,6
+7035,2028-12-31,6
+7036,2029-03-31,6
+7037,2029-06-30,6
+7038,2029-09-30,6
+7039,2029-12-31,6
+7040,2030-03-31,6
+7041,2030-06-30,6
+7042,2030-09-30,6
+7043,2030-12-31,6
+7044,2031-03-31,6
+7045,2031-06-30,6
+7046,2031-09-30,6
+7047,2031-12-31,6
+7048,2032-03-31,6
+7049,2032-06-30,6
+7050,2032-09-30,6
+7051,2032-12-31,6
+7052,2033-03-31,6
+7053,2033-06-30,6
+7054,2033-09-30,6
+7055,2033-12-31,6
+7056,2034-03-31,6
+7057,2034-06-30,6
+7058,2034-09-30,6
+7059,2034-12-31,6
+7060,2035-03-31,6
+7061,2035-06-30,6
+7062,2035-09-30,6
+7063,2035-12-31,6
+7064,2036-03-31,6
+7065,2036-06-30,6
+7066,2036-09-30,6
+7067,2036-12-31,6
+7068,2037-03-31,6
+7069,2037-06-30,6
+7070,2037-09-30,6
+7071,2037-12-31,6
+7072,2038-03-31,6
+7073,2038-06-30,6
+7074,2038-09-30,6
+7075,2038-12-31,6
+7076,2039-03-31,6
+7077,2039-06-30,6
+7078,2039-09-30,6
+7079,2039-12-31,6
+7080,2040-03-31,6
+7081,2040-06-30,6
+7082,2040-09-30,6
+7083,2040-12-31,6
+7084,2041-03-31,6
+7085,2041-06-30,6
+7086,2041-09-30,6
+7087,2041-12-31,6
+7088,2042-03-31,6
+7089,2042-06-30,6
+7090,2042-09-30,6
+7091,2042-12-31,6
+7092,2043-03-31,6
+7093,2043-06-30,6
+7094,2043-09-30,6
+7095,2043-12-31,6
+7096,2044-03-31,6
+7097,2044-06-30,6
+7098,2044-09-30,6
+7099,2044-12-31,6
+8000,2020-03-31,7
+8001,2020-06-30,7
+8002,2020-09-30,7
+8003,2020-12-31,7
+8004,2021-03-31,7
+8005,2021-06-30,7
+8006,2021-09-30,7
+8007,2021-12-31,7
+8008,2022-03-31,7
+8009,2022-06-30,7
+8010,2022-09-30,7
+8011,2022-12-31,7
+8012,2023-03-31,7
+8013,2023-06-30,7
+8014,2023-09-30,7
+8015,2023-12-31,7
+8016,2024-03-31,7
+8017,2024-06-30,7
+8018,2024-09-30,7
+8019,2024-12-31,7
+8020,2025-03-31,7
+8021,2025-06-30,7
+8022,2025-09-30,7
+8023,2025-12-31,7
+8024,2026-03-31,7
+8025,2026-06-30,7
+8026,2026-09-30,7
+8027,2026-12-31,7
+8028,2027-03-31,7
+8029,2027-06-30,7
+8030,2027-09-30,7
+8031,2027-12-31,7
+8032,2028-03-31,7
+8033,2028-06-30,7
+8034,2028-09-30,7
+8035,2028-12-31,7
+8036,2029-03-31,7
+8037,2029-06-30,7
+8038,2029-09-30,7
+8039,2029-12-31,7
+8040,2030-03-31,7
+8041,2030-06-30,7
+8042,2030-09-30,7
+8043,2030-12-31,7
+8044,2031-03-31,7
+8045,2031-06-30,7
+8046,2031-09-30,7
+8047,2031-12-31,7
+8048,2032-03-31,7
+8049,2032-06-30,7
+8050,2032-09-30,7
+8051,2032-12-31,7
+8052,2033-03-31,7
+8053,2033-06-30,7
+8054,2033-09-30,7
+8055,2033-12-31,7
+8056,2034-03-31,7
+8057,2034-06-30,7
+8058,2034-09-30,7
+8059,2034-12-31,7
+8060,2035-03-31,7
+8061,2035-06-30,7
+8062,2035-09-30,7
+8063,2035-12-31,7
+8064,2036-03-31,7
+8065,2036-06-30,7
+8066,2036-09-30,7
+8067,2036-12-31,7
+8068,2037-03-31,7
+8069,2037-06-30,7
+8070,2037-09-30,7
+8071,2037-12-31,7
+8072,2038-03-31,7
+8073,2038-06-30,7
+8074,2038-09-30,7
+8075,2038-12-31,7
+8076,2039-03-31,7
+8077,2039-06-30,7
+8078,2039-09-30,7
+8079,2039-12-31,7
+8080,2040-03-31,7
+8081,2040-06-30,7
+8082,2040-09-30,7
+8083,2040-12-31,7
+8084,2041-03-31,7
+8085,2041-06-30,7
+8086,2041-09-30,7
+8087,2041-12-31,7
+8088,2042-03-31,7
+8089,2042-06-30,7
+8090,2042-09-30,7
+8091,2042-12-31,7
+8092,2043-03-31,7
+8093,2043-06-30,7
+8094,2043-09-30,7
+8095,2043-12-31,7
+8096,2044-03-31,7
+8097,2044-06-30,7
+8098,2044-09-30,7
+8099,2044-12-31,7
+9000,2020-03-31,8
+9001,2020-06-30,8
+9002,2020-09-30,8
+9003,2020-12-31,8
+9004,2021-03-31,8
+9005,2021-06-30,8
+9006,2021-09-30,8
+9007,2021-12-31,8
+9008,2022-03-31,8
+9009,2022-06-30,8
+9010,2022-09-30,8
+9011,2022-12-31,8
+9012,2023-03-31,8
+9013,2023-06-30,8
+9014,2023-09-30,8
+9015,2023-12-31,8
+9016,2024-03-31,8
+9017,2024-06-30,8
+9018,2024-09-30,8
+9019,2024-12-31,8
+9020,2025-03-31,8
+9021,2025-06-30,8
+9022,2025-09-30,8
+9023,2025-12-31,8
+9024,2026-03-31,8
+9025,2026-06-30,8
+9026,2026-09-30,8
+9027,2026-12-31,8
+9028,2027-03-31,8
+9029,2027-06-30,8
+9030,2027-09-30,8
+9031,2027-12-31,8
+9032,2028-03-31,8
+9033,2028-06-30,8
+9034,2028-09-30,8
+9035,2028-12-31,8
+9036,2029-03-31,8
+9037,2029-06-30,8
+9038,2029-09-30,8
+9039,2029-12-31,8
+9040,2030-03-31,8
+9041,2030-06-30,8
+9042,2030-09-30,8
+9043,2030-12-31,8
+9044,2031-03-31,8
+9045,2031-06-30,8
+9046,2031-09-30,8
+9047,2031-12-31,8
+9048,2032-03-31,8
+9049,2032-06-30,8
+9050,2032-09-30,8
+9051,2032-12-31,8
+9052,2033-03-31,8
+9053,2033-06-30,8
+9054,2033-09-30,8
+9055,2033-12-31,8
+9056,2034-03-31,8
+9057,2034-06-30,8
+9058,2034-09-30,8
+9059,2034-12-31,8
+9060,2035-03-31,8
+9061,2035-06-30,8
+9062,2035-09-30,8
+9063,2035-12-31,8
+9064,2036-03-31,8
+9065,2036-06-30,8
+9066,2036-09-30,8
+9067,2036-12-31,8
+9068,2037-03-31,8
+9069,2037-06-30,8
+9070,2037-09-30,8
+9071,2037-12-31,8
+9072,2038-03-31,8
+9073,2038-06-30,8
+9074,2038-09-30,8
+9075,2038-12-31,8
+9076,2039-03-31,8
+9077,2039-06-30,8
+9078,2039-09-30,8
+9079,2039-12-31,8
+9080,2040-03-31,8
+9081,2040-06-30,8
+9082,2040-09-30,8
+9083,2040-12-31,8
+9084,2041-03-31,8
+9085,2041-06-30,8
+9086,2041-09-30,8
+9087,2041-12-31,8
+9088,2042-03-31,8
+9089,2042-06-30,8
+9090,2042-09-30,8
+9091,2042-12-31,8
+9092,2043-03-31,8
+9093,2043-06-30,8
+9094,2043-09-30,8
+9095,2043-12-31,8
+9096,2044-03-31,8
+9097,2044-06-30,8
+9098,2044-09-30,8
+9099,2044-12-31,8
+10000,2020-03-31,9
+10001,2020-06-30,9
+10002,2020-09-30,9
+10003,2020-12-31,9
+10004,2021-03-31,9
+10005,2021-06-30,9
+10006,2021-09-30,9
+10007,2021-12-31,9
+10008,2022-03-31,9
+10009,2022-06-30,9
+10010,2022-09-30,9
+10011,2022-12-31,9
+10012,2023-03-31,9
+10013,2023-06-30,9
+10014,2023-09-30,9
+10015,2023-12-31,9
+10016,2024-03-31,9
+10017,2024-06-30,9
+10018,2024-09-30,9
+10019,2024-12-31,9
+10020,2025-03-31,9
+10021,2025-06-30,9
+10022,2025-09-30,9
+10023,2025-12-31,9
+10024,2026-03-31,9
+10025,2026-06-30,9
+10026,2026-09-30,9
+10027,2026-12-31,9
+10028,2027-03-31,9
+10029,2027-06-30,9
+10030,2027-09-30,9
+10031,2027-12-31,9
+10032,2028-03-31,9
+10033,2028-06-30,9
+10034,2028-09-30,9
+10035,2028-12-31,9
+10036,2029-03-31,9
+10037,2029-06-30,9
+10038,2029-09-30,9
+10039,2029-12-31,9
+10040,2030-03-31,9
+10041,2030-06-30,9
+10042,2030-09-30,9
+10043,2030-12-31,9
+10044,2031-03-31,9
+10045,2031-06-30,9
+10046,2031-09-30,9
+10047,2031-12-31,9
+10048,2032-03-31,9
+10049,2032-06-30,9
+10050,2032-09-30,9
+10051,2032-12-31,9
+10052,2033-03-31,9
+10053,2033-06-30,9
+10054,2033-09-30,9
+10055,2033-12-31,9
+10056,2034-03-31,9
+10057,2034-06-30,9
+10058,2034-09-30,9
+10059,2034-12-31,9
+10060,2035-03-31,9
+10061,2035-06-30,9
+10062,2035-09-30,9
+10063,2035-12-31,9
+10064,2036-03-31,9
+10065,2036-06-30,9
+10066,2036-09-30,9
+10067,2036-12-31,9
+10068,2037-03-31,9
+10069,2037-06-30,9
+10070,2037-09-30,9
+10071,2037-12-31,9
+10072,2038-03-31,9
+10073,2038-06-30,9
+10074,2038-09-30,9
+10075,2038-12-31,9
+10076,2039-03-31,9
+10077,2039-06-30,9
+10078,2039-09-30,9
+10079,2039-12-31,9
+10080,2040-03-31,9
+10081,2040-06-30,9
+10082,2040-09-30,9
+10083,2040-12-31,9
+10084,2041-03-31,9
+10085,2041-06-30,9
+10086,2041-09-30,9
+10087,2041-12-31,9
+10088,2042-03-31,9
+10089,2042-06-30,9
+10090,2042-09-30,9
+10091,2042-12-31,9
+10092,2043-03-31,9
+10093,2043-06-30,9
+10094,2043-09-30,9
+10095,2043-12-31,9
+10096,2044-03-31,9
+10097,2044-06-30,9
+10098,2044-09-30,9
+10099,2044-12-31,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_QS.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_QS.csv
new file mode 100644
index 0000000..db576f4
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_QS.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2020-04-01,0
+1002,2020-07-01,0
+1003,2020-10-01,0
+1004,2021-01-01,0
+1005,2021-04-01,0
+1006,2021-07-01,0
+1007,2021-10-01,0
+1008,2022-01-01,0
+1009,2022-04-01,0
+1010,2022-07-01,0
+1011,2022-10-01,0
+1012,2023-01-01,0
+1013,2023-04-01,0
+1014,2023-07-01,0
+1015,2023-10-01,0
+1016,2024-01-01,0
+1017,2024-04-01,0
+1018,2024-07-01,0
+1019,2024-10-01,0
+1020,2025-01-01,0
+1021,2025-04-01,0
+1022,2025-07-01,0
+1023,2025-10-01,0
+1024,2026-01-01,0
+1025,2026-04-01,0
+1026,2026-07-01,0
+1027,2026-10-01,0
+1028,2027-01-01,0
+1029,2027-04-01,0
+1030,2027-07-01,0
+1031,2027-10-01,0
+1032,2028-01-01,0
+1033,2028-04-01,0
+1034,2028-07-01,0
+1035,2028-10-01,0
+1036,2029-01-01,0
+1037,2029-04-01,0
+1038,2029-07-01,0
+1039,2029-10-01,0
+1040,2030-01-01,0
+1041,2030-04-01,0
+1042,2030-07-01,0
+1043,2030-10-01,0
+1044,2031-01-01,0
+1045,2031-04-01,0
+1046,2031-07-01,0
+1047,2031-10-01,0
+1048,2032-01-01,0
+1049,2032-04-01,0
+1050,2032-07-01,0
+1051,2032-10-01,0
+1052,2033-01-01,0
+1053,2033-04-01,0
+1054,2033-07-01,0
+1055,2033-10-01,0
+1056,2034-01-01,0
+1057,2034-04-01,0
+1058,2034-07-01,0
+1059,2034-10-01,0
+1060,2035-01-01,0
+1061,2035-04-01,0
+1062,2035-07-01,0
+1063,2035-10-01,0
+1064,2036-01-01,0
+1065,2036-04-01,0
+1066,2036-07-01,0
+1067,2036-10-01,0
+1068,2037-01-01,0
+1069,2037-04-01,0
+1070,2037-07-01,0
+1071,2037-10-01,0
+1072,2038-01-01,0
+1073,2038-04-01,0
+1074,2038-07-01,0
+1075,2038-10-01,0
+1076,2039-01-01,0
+1077,2039-04-01,0
+1078,2039-07-01,0
+1079,2039-10-01,0
+1080,2040-01-01,0
+1081,2040-04-01,0
+1082,2040-07-01,0
+1083,2040-10-01,0
+1084,2041-01-01,0
+1085,2041-04-01,0
+1086,2041-07-01,0
+1087,2041-10-01,0
+1088,2042-01-01,0
+1089,2042-04-01,0
+1090,2042-07-01,0
+1091,2042-10-01,0
+1092,2043-01-01,0
+1093,2043-04-01,0
+1094,2043-07-01,0
+1095,2043-10-01,0
+1096,2044-01-01,0
+1097,2044-04-01,0
+1098,2044-07-01,0
+1099,2044-10-01,0
+2000,2020-01-01,1
+2001,2020-04-01,1
+2002,2020-07-01,1
+2003,2020-10-01,1
+2004,2021-01-01,1
+2005,2021-04-01,1
+2006,2021-07-01,1
+2007,2021-10-01,1
+2008,2022-01-01,1
+2009,2022-04-01,1
+2010,2022-07-01,1
+2011,2022-10-01,1
+2012,2023-01-01,1
+2013,2023-04-01,1
+2014,2023-07-01,1
+2015,2023-10-01,1
+2016,2024-01-01,1
+2017,2024-04-01,1
+2018,2024-07-01,1
+2019,2024-10-01,1
+2020,2025-01-01,1
+2021,2025-04-01,1
+2022,2025-07-01,1
+2023,2025-10-01,1
+2024,2026-01-01,1
+2025,2026-04-01,1
+2026,2026-07-01,1
+2027,2026-10-01,1
+2028,2027-01-01,1
+2029,2027-04-01,1
+2030,2027-07-01,1
+2031,2027-10-01,1
+2032,2028-01-01,1
+2033,2028-04-01,1
+2034,2028-07-01,1
+2035,2028-10-01,1
+2036,2029-01-01,1
+2037,2029-04-01,1
+2038,2029-07-01,1
+2039,2029-10-01,1
+2040,2030-01-01,1
+2041,2030-04-01,1
+2042,2030-07-01,1
+2043,2030-10-01,1
+2044,2031-01-01,1
+2045,2031-04-01,1
+2046,2031-07-01,1
+2047,2031-10-01,1
+2048,2032-01-01,1
+2049,2032-04-01,1
+2050,2032-07-01,1
+2051,2032-10-01,1
+2052,2033-01-01,1
+2053,2033-04-01,1
+2054,2033-07-01,1
+2055,2033-10-01,1
+2056,2034-01-01,1
+2057,2034-04-01,1
+2058,2034-07-01,1
+2059,2034-10-01,1
+2060,2035-01-01,1
+2061,2035-04-01,1
+2062,2035-07-01,1
+2063,2035-10-01,1
+2064,2036-01-01,1
+2065,2036-04-01,1
+2066,2036-07-01,1
+2067,2036-10-01,1
+2068,2037-01-01,1
+2069,2037-04-01,1
+2070,2037-07-01,1
+2071,2037-10-01,1
+2072,2038-01-01,1
+2073,2038-04-01,1
+2074,2038-07-01,1
+2075,2038-10-01,1
+2076,2039-01-01,1
+2077,2039-04-01,1
+2078,2039-07-01,1
+2079,2039-10-01,1
+2080,2040-01-01,1
+2081,2040-04-01,1
+2082,2040-07-01,1
+2083,2040-10-01,1
+2084,2041-01-01,1
+2085,2041-04-01,1
+2086,2041-07-01,1
+2087,2041-10-01,1
+2088,2042-01-01,1
+2089,2042-04-01,1
+2090,2042-07-01,1
+2091,2042-10-01,1
+2092,2043-01-01,1
+2093,2043-04-01,1
+2094,2043-07-01,1
+2095,2043-10-01,1
+2096,2044-01-01,1
+2097,2044-04-01,1
+2098,2044-07-01,1
+2099,2044-10-01,1
+3000,2020-01-01,2
+3001,2020-04-01,2
+3002,2020-07-01,2
+3003,2020-10-01,2
+3004,2021-01-01,2
+3005,2021-04-01,2
+3006,2021-07-01,2
+3007,2021-10-01,2
+3008,2022-01-01,2
+3009,2022-04-01,2
+3010,2022-07-01,2
+3011,2022-10-01,2
+3012,2023-01-01,2
+3013,2023-04-01,2
+3014,2023-07-01,2
+3015,2023-10-01,2
+3016,2024-01-01,2
+3017,2024-04-01,2
+3018,2024-07-01,2
+3019,2024-10-01,2
+3020,2025-01-01,2
+3021,2025-04-01,2
+3022,2025-07-01,2
+3023,2025-10-01,2
+3024,2026-01-01,2
+3025,2026-04-01,2
+3026,2026-07-01,2
+3027,2026-10-01,2
+3028,2027-01-01,2
+3029,2027-04-01,2
+3030,2027-07-01,2
+3031,2027-10-01,2
+3032,2028-01-01,2
+3033,2028-04-01,2
+3034,2028-07-01,2
+3035,2028-10-01,2
+3036,2029-01-01,2
+3037,2029-04-01,2
+3038,2029-07-01,2
+3039,2029-10-01,2
+3040,2030-01-01,2
+3041,2030-04-01,2
+3042,2030-07-01,2
+3043,2030-10-01,2
+3044,2031-01-01,2
+3045,2031-04-01,2
+3046,2031-07-01,2
+3047,2031-10-01,2
+3048,2032-01-01,2
+3049,2032-04-01,2
+3050,2032-07-01,2
+3051,2032-10-01,2
+3052,2033-01-01,2
+3053,2033-04-01,2
+3054,2033-07-01,2
+3055,2033-10-01,2
+3056,2034-01-01,2
+3057,2034-04-01,2
+3058,2034-07-01,2
+3059,2034-10-01,2
+3060,2035-01-01,2
+3061,2035-04-01,2
+3062,2035-07-01,2
+3063,2035-10-01,2
+3064,2036-01-01,2
+3065,2036-04-01,2
+3066,2036-07-01,2
+3067,2036-10-01,2
+3068,2037-01-01,2
+3069,2037-04-01,2
+3070,2037-07-01,2
+3071,2037-10-01,2
+3072,2038-01-01,2
+3073,2038-04-01,2
+3074,2038-07-01,2
+3075,2038-10-01,2
+3076,2039-01-01,2
+3077,2039-04-01,2
+3078,2039-07-01,2
+3079,2039-10-01,2
+3080,2040-01-01,2
+3081,2040-04-01,2
+3082,2040-07-01,2
+3083,2040-10-01,2
+3084,2041-01-01,2
+3085,2041-04-01,2
+3086,2041-07-01,2
+3087,2041-10-01,2
+3088,2042-01-01,2
+3089,2042-04-01,2
+3090,2042-07-01,2
+3091,2042-10-01,2
+3092,2043-01-01,2
+3093,2043-04-01,2
+3094,2043-07-01,2
+3095,2043-10-01,2
+3096,2044-01-01,2
+3097,2044-04-01,2
+3098,2044-07-01,2
+3099,2044-10-01,2
+4000,2020-01-01,3
+4001,2020-04-01,3
+4002,2020-07-01,3
+4003,2020-10-01,3
+4004,2021-01-01,3
+4005,2021-04-01,3
+4006,2021-07-01,3
+4007,2021-10-01,3
+4008,2022-01-01,3
+4009,2022-04-01,3
+4010,2022-07-01,3
+4011,2022-10-01,3
+4012,2023-01-01,3
+4013,2023-04-01,3
+4014,2023-07-01,3
+4015,2023-10-01,3
+4016,2024-01-01,3
+4017,2024-04-01,3
+4018,2024-07-01,3
+4019,2024-10-01,3
+4020,2025-01-01,3
+4021,2025-04-01,3
+4022,2025-07-01,3
+4023,2025-10-01,3
+4024,2026-01-01,3
+4025,2026-04-01,3
+4026,2026-07-01,3
+4027,2026-10-01,3
+4028,2027-01-01,3
+4029,2027-04-01,3
+4030,2027-07-01,3
+4031,2027-10-01,3
+4032,2028-01-01,3
+4033,2028-04-01,3
+4034,2028-07-01,3
+4035,2028-10-01,3
+4036,2029-01-01,3
+4037,2029-04-01,3
+4038,2029-07-01,3
+4039,2029-10-01,3
+4040,2030-01-01,3
+4041,2030-04-01,3
+4042,2030-07-01,3
+4043,2030-10-01,3
+4044,2031-01-01,3
+4045,2031-04-01,3
+4046,2031-07-01,3
+4047,2031-10-01,3
+4048,2032-01-01,3
+4049,2032-04-01,3
+4050,2032-07-01,3
+4051,2032-10-01,3
+4052,2033-01-01,3
+4053,2033-04-01,3
+4054,2033-07-01,3
+4055,2033-10-01,3
+4056,2034-01-01,3
+4057,2034-04-01,3
+4058,2034-07-01,3
+4059,2034-10-01,3
+4060,2035-01-01,3
+4061,2035-04-01,3
+4062,2035-07-01,3
+4063,2035-10-01,3
+4064,2036-01-01,3
+4065,2036-04-01,3
+4066,2036-07-01,3
+4067,2036-10-01,3
+4068,2037-01-01,3
+4069,2037-04-01,3
+4070,2037-07-01,3
+4071,2037-10-01,3
+4072,2038-01-01,3
+4073,2038-04-01,3
+4074,2038-07-01,3
+4075,2038-10-01,3
+4076,2039-01-01,3
+4077,2039-04-01,3
+4078,2039-07-01,3
+4079,2039-10-01,3
+4080,2040-01-01,3
+4081,2040-04-01,3
+4082,2040-07-01,3
+4083,2040-10-01,3
+4084,2041-01-01,3
+4085,2041-04-01,3
+4086,2041-07-01,3
+4087,2041-10-01,3
+4088,2042-01-01,3
+4089,2042-04-01,3
+4090,2042-07-01,3
+4091,2042-10-01,3
+4092,2043-01-01,3
+4093,2043-04-01,3
+4094,2043-07-01,3
+4095,2043-10-01,3
+4096,2044-01-01,3
+4097,2044-04-01,3
+4098,2044-07-01,3
+4099,2044-10-01,3
+5000,2020-01-01,4
+5001,2020-04-01,4
+5002,2020-07-01,4
+5003,2020-10-01,4
+5004,2021-01-01,4
+5005,2021-04-01,4
+5006,2021-07-01,4
+5007,2021-10-01,4
+5008,2022-01-01,4
+5009,2022-04-01,4
+5010,2022-07-01,4
+5011,2022-10-01,4
+5012,2023-01-01,4
+5013,2023-04-01,4
+5014,2023-07-01,4
+5015,2023-10-01,4
+5016,2024-01-01,4
+5017,2024-04-01,4
+5018,2024-07-01,4
+5019,2024-10-01,4
+5020,2025-01-01,4
+5021,2025-04-01,4
+5022,2025-07-01,4
+5023,2025-10-01,4
+5024,2026-01-01,4
+5025,2026-04-01,4
+5026,2026-07-01,4
+5027,2026-10-01,4
+5028,2027-01-01,4
+5029,2027-04-01,4
+5030,2027-07-01,4
+5031,2027-10-01,4
+5032,2028-01-01,4
+5033,2028-04-01,4
+5034,2028-07-01,4
+5035,2028-10-01,4
+5036,2029-01-01,4
+5037,2029-04-01,4
+5038,2029-07-01,4
+5039,2029-10-01,4
+5040,2030-01-01,4
+5041,2030-04-01,4
+5042,2030-07-01,4
+5043,2030-10-01,4
+5044,2031-01-01,4
+5045,2031-04-01,4
+5046,2031-07-01,4
+5047,2031-10-01,4
+5048,2032-01-01,4
+5049,2032-04-01,4
+5050,2032-07-01,4
+5051,2032-10-01,4
+5052,2033-01-01,4
+5053,2033-04-01,4
+5054,2033-07-01,4
+5055,2033-10-01,4
+5056,2034-01-01,4
+5057,2034-04-01,4
+5058,2034-07-01,4
+5059,2034-10-01,4
+5060,2035-01-01,4
+5061,2035-04-01,4
+5062,2035-07-01,4
+5063,2035-10-01,4
+5064,2036-01-01,4
+5065,2036-04-01,4
+5066,2036-07-01,4
+5067,2036-10-01,4
+5068,2037-01-01,4
+5069,2037-04-01,4
+5070,2037-07-01,4
+5071,2037-10-01,4
+5072,2038-01-01,4
+5073,2038-04-01,4
+5074,2038-07-01,4
+5075,2038-10-01,4
+5076,2039-01-01,4
+5077,2039-04-01,4
+5078,2039-07-01,4
+5079,2039-10-01,4
+5080,2040-01-01,4
+5081,2040-04-01,4
+5082,2040-07-01,4
+5083,2040-10-01,4
+5084,2041-01-01,4
+5085,2041-04-01,4
+5086,2041-07-01,4
+5087,2041-10-01,4
+5088,2042-01-01,4
+5089,2042-04-01,4
+5090,2042-07-01,4
+5091,2042-10-01,4
+5092,2043-01-01,4
+5093,2043-04-01,4
+5094,2043-07-01,4
+5095,2043-10-01,4
+5096,2044-01-01,4
+5097,2044-04-01,4
+5098,2044-07-01,4
+5099,2044-10-01,4
+6000,2020-01-01,5
+6001,2020-04-01,5
+6002,2020-07-01,5
+6003,2020-10-01,5
+6004,2021-01-01,5
+6005,2021-04-01,5
+6006,2021-07-01,5
+6007,2021-10-01,5
+6008,2022-01-01,5
+6009,2022-04-01,5
+6010,2022-07-01,5
+6011,2022-10-01,5
+6012,2023-01-01,5
+6013,2023-04-01,5
+6014,2023-07-01,5
+6015,2023-10-01,5
+6016,2024-01-01,5
+6017,2024-04-01,5
+6018,2024-07-01,5
+6019,2024-10-01,5
+6020,2025-01-01,5
+6021,2025-04-01,5
+6022,2025-07-01,5
+6023,2025-10-01,5
+6024,2026-01-01,5
+6025,2026-04-01,5
+6026,2026-07-01,5
+6027,2026-10-01,5
+6028,2027-01-01,5
+6029,2027-04-01,5
+6030,2027-07-01,5
+6031,2027-10-01,5
+6032,2028-01-01,5
+6033,2028-04-01,5
+6034,2028-07-01,5
+6035,2028-10-01,5
+6036,2029-01-01,5
+6037,2029-04-01,5
+6038,2029-07-01,5
+6039,2029-10-01,5
+6040,2030-01-01,5
+6041,2030-04-01,5
+6042,2030-07-01,5
+6043,2030-10-01,5
+6044,2031-01-01,5
+6045,2031-04-01,5
+6046,2031-07-01,5
+6047,2031-10-01,5
+6048,2032-01-01,5
+6049,2032-04-01,5
+6050,2032-07-01,5
+6051,2032-10-01,5
+6052,2033-01-01,5
+6053,2033-04-01,5
+6054,2033-07-01,5
+6055,2033-10-01,5
+6056,2034-01-01,5
+6057,2034-04-01,5
+6058,2034-07-01,5
+6059,2034-10-01,5
+6060,2035-01-01,5
+6061,2035-04-01,5
+6062,2035-07-01,5
+6063,2035-10-01,5
+6064,2036-01-01,5
+6065,2036-04-01,5
+6066,2036-07-01,5
+6067,2036-10-01,5
+6068,2037-01-01,5
+6069,2037-04-01,5
+6070,2037-07-01,5
+6071,2037-10-01,5
+6072,2038-01-01,5
+6073,2038-04-01,5
+6074,2038-07-01,5
+6075,2038-10-01,5
+6076,2039-01-01,5
+6077,2039-04-01,5
+6078,2039-07-01,5
+6079,2039-10-01,5
+6080,2040-01-01,5
+6081,2040-04-01,5
+6082,2040-07-01,5
+6083,2040-10-01,5
+6084,2041-01-01,5
+6085,2041-04-01,5
+6086,2041-07-01,5
+6087,2041-10-01,5
+6088,2042-01-01,5
+6089,2042-04-01,5
+6090,2042-07-01,5
+6091,2042-10-01,5
+6092,2043-01-01,5
+6093,2043-04-01,5
+6094,2043-07-01,5
+6095,2043-10-01,5
+6096,2044-01-01,5
+6097,2044-04-01,5
+6098,2044-07-01,5
+6099,2044-10-01,5
+7000,2020-01-01,6
+7001,2020-04-01,6
+7002,2020-07-01,6
+7003,2020-10-01,6
+7004,2021-01-01,6
+7005,2021-04-01,6
+7006,2021-07-01,6
+7007,2021-10-01,6
+7008,2022-01-01,6
+7009,2022-04-01,6
+7010,2022-07-01,6
+7011,2022-10-01,6
+7012,2023-01-01,6
+7013,2023-04-01,6
+7014,2023-07-01,6
+7015,2023-10-01,6
+7016,2024-01-01,6
+7017,2024-04-01,6
+7018,2024-07-01,6
+7019,2024-10-01,6
+7020,2025-01-01,6
+7021,2025-04-01,6
+7022,2025-07-01,6
+7023,2025-10-01,6
+7024,2026-01-01,6
+7025,2026-04-01,6
+7026,2026-07-01,6
+7027,2026-10-01,6
+7028,2027-01-01,6
+7029,2027-04-01,6
+7030,2027-07-01,6
+7031,2027-10-01,6
+7032,2028-01-01,6
+7033,2028-04-01,6
+7034,2028-07-01,6
+7035,2028-10-01,6
+7036,2029-01-01,6
+7037,2029-04-01,6
+7038,2029-07-01,6
+7039,2029-10-01,6
+7040,2030-01-01,6
+7041,2030-04-01,6
+7042,2030-07-01,6
+7043,2030-10-01,6
+7044,2031-01-01,6
+7045,2031-04-01,6
+7046,2031-07-01,6
+7047,2031-10-01,6
+7048,2032-01-01,6
+7049,2032-04-01,6
+7050,2032-07-01,6
+7051,2032-10-01,6
+7052,2033-01-01,6
+7053,2033-04-01,6
+7054,2033-07-01,6
+7055,2033-10-01,6
+7056,2034-01-01,6
+7057,2034-04-01,6
+7058,2034-07-01,6
+7059,2034-10-01,6
+7060,2035-01-01,6
+7061,2035-04-01,6
+7062,2035-07-01,6
+7063,2035-10-01,6
+7064,2036-01-01,6
+7065,2036-04-01,6
+7066,2036-07-01,6
+7067,2036-10-01,6
+7068,2037-01-01,6
+7069,2037-04-01,6
+7070,2037-07-01,6
+7071,2037-10-01,6
+7072,2038-01-01,6
+7073,2038-04-01,6
+7074,2038-07-01,6
+7075,2038-10-01,6
+7076,2039-01-01,6
+7077,2039-04-01,6
+7078,2039-07-01,6
+7079,2039-10-01,6
+7080,2040-01-01,6
+7081,2040-04-01,6
+7082,2040-07-01,6
+7083,2040-10-01,6
+7084,2041-01-01,6
+7085,2041-04-01,6
+7086,2041-07-01,6
+7087,2041-10-01,6
+7088,2042-01-01,6
+7089,2042-04-01,6
+7090,2042-07-01,6
+7091,2042-10-01,6
+7092,2043-01-01,6
+7093,2043-04-01,6
+7094,2043-07-01,6
+7095,2043-10-01,6
+7096,2044-01-01,6
+7097,2044-04-01,6
+7098,2044-07-01,6
+7099,2044-10-01,6
+8000,2020-01-01,7
+8001,2020-04-01,7
+8002,2020-07-01,7
+8003,2020-10-01,7
+8004,2021-01-01,7
+8005,2021-04-01,7
+8006,2021-07-01,7
+8007,2021-10-01,7
+8008,2022-01-01,7
+8009,2022-04-01,7
+8010,2022-07-01,7
+8011,2022-10-01,7
+8012,2023-01-01,7
+8013,2023-04-01,7
+8014,2023-07-01,7
+8015,2023-10-01,7
+8016,2024-01-01,7
+8017,2024-04-01,7
+8018,2024-07-01,7
+8019,2024-10-01,7
+8020,2025-01-01,7
+8021,2025-04-01,7
+8022,2025-07-01,7
+8023,2025-10-01,7
+8024,2026-01-01,7
+8025,2026-04-01,7
+8026,2026-07-01,7
+8027,2026-10-01,7
+8028,2027-01-01,7
+8029,2027-04-01,7
+8030,2027-07-01,7
+8031,2027-10-01,7
+8032,2028-01-01,7
+8033,2028-04-01,7
+8034,2028-07-01,7
+8035,2028-10-01,7
+8036,2029-01-01,7
+8037,2029-04-01,7
+8038,2029-07-01,7
+8039,2029-10-01,7
+8040,2030-01-01,7
+8041,2030-04-01,7
+8042,2030-07-01,7
+8043,2030-10-01,7
+8044,2031-01-01,7
+8045,2031-04-01,7
+8046,2031-07-01,7
+8047,2031-10-01,7
+8048,2032-01-01,7
+8049,2032-04-01,7
+8050,2032-07-01,7
+8051,2032-10-01,7
+8052,2033-01-01,7
+8053,2033-04-01,7
+8054,2033-07-01,7
+8055,2033-10-01,7
+8056,2034-01-01,7
+8057,2034-04-01,7
+8058,2034-07-01,7
+8059,2034-10-01,7
+8060,2035-01-01,7
+8061,2035-04-01,7
+8062,2035-07-01,7
+8063,2035-10-01,7
+8064,2036-01-01,7
+8065,2036-04-01,7
+8066,2036-07-01,7
+8067,2036-10-01,7
+8068,2037-01-01,7
+8069,2037-04-01,7
+8070,2037-07-01,7
+8071,2037-10-01,7
+8072,2038-01-01,7
+8073,2038-04-01,7
+8074,2038-07-01,7
+8075,2038-10-01,7
+8076,2039-01-01,7
+8077,2039-04-01,7
+8078,2039-07-01,7
+8079,2039-10-01,7
+8080,2040-01-01,7
+8081,2040-04-01,7
+8082,2040-07-01,7
+8083,2040-10-01,7
+8084,2041-01-01,7
+8085,2041-04-01,7
+8086,2041-07-01,7
+8087,2041-10-01,7
+8088,2042-01-01,7
+8089,2042-04-01,7
+8090,2042-07-01,7
+8091,2042-10-01,7
+8092,2043-01-01,7
+8093,2043-04-01,7
+8094,2043-07-01,7
+8095,2043-10-01,7
+8096,2044-01-01,7
+8097,2044-04-01,7
+8098,2044-07-01,7
+8099,2044-10-01,7
+9000,2020-01-01,8
+9001,2020-04-01,8
+9002,2020-07-01,8
+9003,2020-10-01,8
+9004,2021-01-01,8
+9005,2021-04-01,8
+9006,2021-07-01,8
+9007,2021-10-01,8
+9008,2022-01-01,8
+9009,2022-04-01,8
+9010,2022-07-01,8
+9011,2022-10-01,8
+9012,2023-01-01,8
+9013,2023-04-01,8
+9014,2023-07-01,8
+9015,2023-10-01,8
+9016,2024-01-01,8
+9017,2024-04-01,8
+9018,2024-07-01,8
+9019,2024-10-01,8
+9020,2025-01-01,8
+9021,2025-04-01,8
+9022,2025-07-01,8
+9023,2025-10-01,8
+9024,2026-01-01,8
+9025,2026-04-01,8
+9026,2026-07-01,8
+9027,2026-10-01,8
+9028,2027-01-01,8
+9029,2027-04-01,8
+9030,2027-07-01,8
+9031,2027-10-01,8
+9032,2028-01-01,8
+9033,2028-04-01,8
+9034,2028-07-01,8
+9035,2028-10-01,8
+9036,2029-01-01,8
+9037,2029-04-01,8
+9038,2029-07-01,8
+9039,2029-10-01,8
+9040,2030-01-01,8
+9041,2030-04-01,8
+9042,2030-07-01,8
+9043,2030-10-01,8
+9044,2031-01-01,8
+9045,2031-04-01,8
+9046,2031-07-01,8
+9047,2031-10-01,8
+9048,2032-01-01,8
+9049,2032-04-01,8
+9050,2032-07-01,8
+9051,2032-10-01,8
+9052,2033-01-01,8
+9053,2033-04-01,8
+9054,2033-07-01,8
+9055,2033-10-01,8
+9056,2034-01-01,8
+9057,2034-04-01,8
+9058,2034-07-01,8
+9059,2034-10-01,8
+9060,2035-01-01,8
+9061,2035-04-01,8
+9062,2035-07-01,8
+9063,2035-10-01,8
+9064,2036-01-01,8
+9065,2036-04-01,8
+9066,2036-07-01,8
+9067,2036-10-01,8
+9068,2037-01-01,8
+9069,2037-04-01,8
+9070,2037-07-01,8
+9071,2037-10-01,8
+9072,2038-01-01,8
+9073,2038-04-01,8
+9074,2038-07-01,8
+9075,2038-10-01,8
+9076,2039-01-01,8
+9077,2039-04-01,8
+9078,2039-07-01,8
+9079,2039-10-01,8
+9080,2040-01-01,8
+9081,2040-04-01,8
+9082,2040-07-01,8
+9083,2040-10-01,8
+9084,2041-01-01,8
+9085,2041-04-01,8
+9086,2041-07-01,8
+9087,2041-10-01,8
+9088,2042-01-01,8
+9089,2042-04-01,8
+9090,2042-07-01,8
+9091,2042-10-01,8
+9092,2043-01-01,8
+9093,2043-04-01,8
+9094,2043-07-01,8
+9095,2043-10-01,8
+9096,2044-01-01,8
+9097,2044-04-01,8
+9098,2044-07-01,8
+9099,2044-10-01,8
+10000,2020-01-01,9
+10001,2020-04-01,9
+10002,2020-07-01,9
+10003,2020-10-01,9
+10004,2021-01-01,9
+10005,2021-04-01,9
+10006,2021-07-01,9
+10007,2021-10-01,9
+10008,2022-01-01,9
+10009,2022-04-01,9
+10010,2022-07-01,9
+10011,2022-10-01,9
+10012,2023-01-01,9
+10013,2023-04-01,9
+10014,2023-07-01,9
+10015,2023-10-01,9
+10016,2024-01-01,9
+10017,2024-04-01,9
+10018,2024-07-01,9
+10019,2024-10-01,9
+10020,2025-01-01,9
+10021,2025-04-01,9
+10022,2025-07-01,9
+10023,2025-10-01,9
+10024,2026-01-01,9
+10025,2026-04-01,9
+10026,2026-07-01,9
+10027,2026-10-01,9
+10028,2027-01-01,9
+10029,2027-04-01,9
+10030,2027-07-01,9
+10031,2027-10-01,9
+10032,2028-01-01,9
+10033,2028-04-01,9
+10034,2028-07-01,9
+10035,2028-10-01,9
+10036,2029-01-01,9
+10037,2029-04-01,9
+10038,2029-07-01,9
+10039,2029-10-01,9
+10040,2030-01-01,9
+10041,2030-04-01,9
+10042,2030-07-01,9
+10043,2030-10-01,9
+10044,2031-01-01,9
+10045,2031-04-01,9
+10046,2031-07-01,9
+10047,2031-10-01,9
+10048,2032-01-01,9
+10049,2032-04-01,9
+10050,2032-07-01,9
+10051,2032-10-01,9
+10052,2033-01-01,9
+10053,2033-04-01,9
+10054,2033-07-01,9
+10055,2033-10-01,9
+10056,2034-01-01,9
+10057,2034-04-01,9
+10058,2034-07-01,9
+10059,2034-10-01,9
+10060,2035-01-01,9
+10061,2035-04-01,9
+10062,2035-07-01,9
+10063,2035-10-01,9
+10064,2036-01-01,9
+10065,2036-04-01,9
+10066,2036-07-01,9
+10067,2036-10-01,9
+10068,2037-01-01,9
+10069,2037-04-01,9
+10070,2037-07-01,9
+10071,2037-10-01,9
+10072,2038-01-01,9
+10073,2038-04-01,9
+10074,2038-07-01,9
+10075,2038-10-01,9
+10076,2039-01-01,9
+10077,2039-04-01,9
+10078,2039-07-01,9
+10079,2039-10-01,9
+10080,2040-01-01,9
+10081,2040-04-01,9
+10082,2040-07-01,9
+10083,2040-10-01,9
+10084,2041-01-01,9
+10085,2041-04-01,9
+10086,2041-07-01,9
+10087,2041-10-01,9
+10088,2042-01-01,9
+10089,2042-04-01,9
+10090,2042-07-01,9
+10091,2042-10-01,9
+10092,2043-01-01,9
+10093,2043-04-01,9
+10094,2043-07-01,9
+10095,2043-10-01,9
+10096,2044-01-01,9
+10097,2044-04-01,9
+10098,2044-07-01,9
+10099,2044-10-01,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_W.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_W.csv
new file mode 100644
index 0000000..72be30e
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_W.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-05,0
+1001,2020-01-12,0
+1002,2020-01-19,0
+1003,2020-01-26,0
+1004,2020-02-02,0
+1005,2020-02-09,0
+1006,2020-02-16,0
+1007,2020-02-23,0
+1008,2020-03-01,0
+1009,2020-03-08,0
+1010,2020-03-15,0
+1011,2020-03-22,0
+1012,2020-03-29,0
+1013,2020-04-05,0
+1014,2020-04-12,0
+1015,2020-04-19,0
+1016,2020-04-26,0
+1017,2020-05-03,0
+1018,2020-05-10,0
+1019,2020-05-17,0
+1020,2020-05-24,0
+1021,2020-05-31,0
+1022,2020-06-07,0
+1023,2020-06-14,0
+1024,2020-06-21,0
+1025,2020-06-28,0
+1026,2020-07-05,0
+1027,2020-07-12,0
+1028,2020-07-19,0
+1029,2020-07-26,0
+1030,2020-08-02,0
+1031,2020-08-09,0
+1032,2020-08-16,0
+1033,2020-08-23,0
+1034,2020-08-30,0
+1035,2020-09-06,0
+1036,2020-09-13,0
+1037,2020-09-20,0
+1038,2020-09-27,0
+1039,2020-10-04,0
+1040,2020-10-11,0
+1041,2020-10-18,0
+1042,2020-10-25,0
+1043,2020-11-01,0
+1044,2020-11-08,0
+1045,2020-11-15,0
+1046,2020-11-22,0
+1047,2020-11-29,0
+1048,2020-12-06,0
+1049,2020-12-13,0
+1050,2020-12-20,0
+1051,2020-12-27,0
+1052,2021-01-03,0
+1053,2021-01-10,0
+1054,2021-01-17,0
+1055,2021-01-24,0
+1056,2021-01-31,0
+1057,2021-02-07,0
+1058,2021-02-14,0
+1059,2021-02-21,0
+1060,2021-02-28,0
+1061,2021-03-07,0
+1062,2021-03-14,0
+1063,2021-03-21,0
+1064,2021-03-28,0
+1065,2021-04-04,0
+1066,2021-04-11,0
+1067,2021-04-18,0
+1068,2021-04-25,0
+1069,2021-05-02,0
+1070,2021-05-09,0
+1071,2021-05-16,0
+1072,2021-05-23,0
+1073,2021-05-30,0
+1074,2021-06-06,0
+1075,2021-06-13,0
+1076,2021-06-20,0
+1077,2021-06-27,0
+1078,2021-07-04,0
+1079,2021-07-11,0
+1080,2021-07-18,0
+1081,2021-07-25,0
+1082,2021-08-01,0
+1083,2021-08-08,0
+1084,2021-08-15,0
+1085,2021-08-22,0
+1086,2021-08-29,0
+1087,2021-09-05,0
+1088,2021-09-12,0
+1089,2021-09-19,0
+1090,2021-09-26,0
+1091,2021-10-03,0
+1092,2021-10-10,0
+1093,2021-10-17,0
+1094,2021-10-24,0
+1095,2021-10-31,0
+1096,2021-11-07,0
+1097,2021-11-14,0
+1098,2021-11-21,0
+1099,2021-11-28,0
+2000,2020-01-05,1
+2001,2020-01-12,1
+2002,2020-01-19,1
+2003,2020-01-26,1
+2004,2020-02-02,1
+2005,2020-02-09,1
+2006,2020-02-16,1
+2007,2020-02-23,1
+2008,2020-03-01,1
+2009,2020-03-08,1
+2010,2020-03-15,1
+2011,2020-03-22,1
+2012,2020-03-29,1
+2013,2020-04-05,1
+2014,2020-04-12,1
+2015,2020-04-19,1
+2016,2020-04-26,1
+2017,2020-05-03,1
+2018,2020-05-10,1
+2019,2020-05-17,1
+2020,2020-05-24,1
+2021,2020-05-31,1
+2022,2020-06-07,1
+2023,2020-06-14,1
+2024,2020-06-21,1
+2025,2020-06-28,1
+2026,2020-07-05,1
+2027,2020-07-12,1
+2028,2020-07-19,1
+2029,2020-07-26,1
+2030,2020-08-02,1
+2031,2020-08-09,1
+2032,2020-08-16,1
+2033,2020-08-23,1
+2034,2020-08-30,1
+2035,2020-09-06,1
+2036,2020-09-13,1
+2037,2020-09-20,1
+2038,2020-09-27,1
+2039,2020-10-04,1
+2040,2020-10-11,1
+2041,2020-10-18,1
+2042,2020-10-25,1
+2043,2020-11-01,1
+2044,2020-11-08,1
+2045,2020-11-15,1
+2046,2020-11-22,1
+2047,2020-11-29,1
+2048,2020-12-06,1
+2049,2020-12-13,1
+2050,2020-12-20,1
+2051,2020-12-27,1
+2052,2021-01-03,1
+2053,2021-01-10,1
+2054,2021-01-17,1
+2055,2021-01-24,1
+2056,2021-01-31,1
+2057,2021-02-07,1
+2058,2021-02-14,1
+2059,2021-02-21,1
+2060,2021-02-28,1
+2061,2021-03-07,1
+2062,2021-03-14,1
+2063,2021-03-21,1
+2064,2021-03-28,1
+2065,2021-04-04,1
+2066,2021-04-11,1
+2067,2021-04-18,1
+2068,2021-04-25,1
+2069,2021-05-02,1
+2070,2021-05-09,1
+2071,2021-05-16,1
+2072,2021-05-23,1
+2073,2021-05-30,1
+2074,2021-06-06,1
+2075,2021-06-13,1
+2076,2021-06-20,1
+2077,2021-06-27,1
+2078,2021-07-04,1
+2079,2021-07-11,1
+2080,2021-07-18,1
+2081,2021-07-25,1
+2082,2021-08-01,1
+2083,2021-08-08,1
+2084,2021-08-15,1
+2085,2021-08-22,1
+2086,2021-08-29,1
+2087,2021-09-05,1
+2088,2021-09-12,1
+2089,2021-09-19,1
+2090,2021-09-26,1
+2091,2021-10-03,1
+2092,2021-10-10,1
+2093,2021-10-17,1
+2094,2021-10-24,1
+2095,2021-10-31,1
+2096,2021-11-07,1
+2097,2021-11-14,1
+2098,2021-11-21,1
+2099,2021-11-28,1
+3000,2020-01-05,2
+3001,2020-01-12,2
+3002,2020-01-19,2
+3003,2020-01-26,2
+3004,2020-02-02,2
+3005,2020-02-09,2
+3006,2020-02-16,2
+3007,2020-02-23,2
+3008,2020-03-01,2
+3009,2020-03-08,2
+3010,2020-03-15,2
+3011,2020-03-22,2
+3012,2020-03-29,2
+3013,2020-04-05,2
+3014,2020-04-12,2
+3015,2020-04-19,2
+3016,2020-04-26,2
+3017,2020-05-03,2
+3018,2020-05-10,2
+3019,2020-05-17,2
+3020,2020-05-24,2
+3021,2020-05-31,2
+3022,2020-06-07,2
+3023,2020-06-14,2
+3024,2020-06-21,2
+3025,2020-06-28,2
+3026,2020-07-05,2
+3027,2020-07-12,2
+3028,2020-07-19,2
+3029,2020-07-26,2
+3030,2020-08-02,2
+3031,2020-08-09,2
+3032,2020-08-16,2
+3033,2020-08-23,2
+3034,2020-08-30,2
+3035,2020-09-06,2
+3036,2020-09-13,2
+3037,2020-09-20,2
+3038,2020-09-27,2
+3039,2020-10-04,2
+3040,2020-10-11,2
+3041,2020-10-18,2
+3042,2020-10-25,2
+3043,2020-11-01,2
+3044,2020-11-08,2
+3045,2020-11-15,2
+3046,2020-11-22,2
+3047,2020-11-29,2
+3048,2020-12-06,2
+3049,2020-12-13,2
+3050,2020-12-20,2
+3051,2020-12-27,2
+3052,2021-01-03,2
+3053,2021-01-10,2
+3054,2021-01-17,2
+3055,2021-01-24,2
+3056,2021-01-31,2
+3057,2021-02-07,2
+3058,2021-02-14,2
+3059,2021-02-21,2
+3060,2021-02-28,2
+3061,2021-03-07,2
+3062,2021-03-14,2
+3063,2021-03-21,2
+3064,2021-03-28,2
+3065,2021-04-04,2
+3066,2021-04-11,2
+3067,2021-04-18,2
+3068,2021-04-25,2
+3069,2021-05-02,2
+3070,2021-05-09,2
+3071,2021-05-16,2
+3072,2021-05-23,2
+3073,2021-05-30,2
+3074,2021-06-06,2
+3075,2021-06-13,2
+3076,2021-06-20,2
+3077,2021-06-27,2
+3078,2021-07-04,2
+3079,2021-07-11,2
+3080,2021-07-18,2
+3081,2021-07-25,2
+3082,2021-08-01,2
+3083,2021-08-08,2
+3084,2021-08-15,2
+3085,2021-08-22,2
+3086,2021-08-29,2
+3087,2021-09-05,2
+3088,2021-09-12,2
+3089,2021-09-19,2
+3090,2021-09-26,2
+3091,2021-10-03,2
+3092,2021-10-10,2
+3093,2021-10-17,2
+3094,2021-10-24,2
+3095,2021-10-31,2
+3096,2021-11-07,2
+3097,2021-11-14,2
+3098,2021-11-21,2
+3099,2021-11-28,2
+4000,2020-01-05,3
+4001,2020-01-12,3
+4002,2020-01-19,3
+4003,2020-01-26,3
+4004,2020-02-02,3
+4005,2020-02-09,3
+4006,2020-02-16,3
+4007,2020-02-23,3
+4008,2020-03-01,3
+4009,2020-03-08,3
+4010,2020-03-15,3
+4011,2020-03-22,3
+4012,2020-03-29,3
+4013,2020-04-05,3
+4014,2020-04-12,3
+4015,2020-04-19,3
+4016,2020-04-26,3
+4017,2020-05-03,3
+4018,2020-05-10,3
+4019,2020-05-17,3
+4020,2020-05-24,3
+4021,2020-05-31,3
+4022,2020-06-07,3
+4023,2020-06-14,3
+4024,2020-06-21,3
+4025,2020-06-28,3
+4026,2020-07-05,3
+4027,2020-07-12,3
+4028,2020-07-19,3
+4029,2020-07-26,3
+4030,2020-08-02,3
+4031,2020-08-09,3
+4032,2020-08-16,3
+4033,2020-08-23,3
+4034,2020-08-30,3
+4035,2020-09-06,3
+4036,2020-09-13,3
+4037,2020-09-20,3
+4038,2020-09-27,3
+4039,2020-10-04,3
+4040,2020-10-11,3
+4041,2020-10-18,3
+4042,2020-10-25,3
+4043,2020-11-01,3
+4044,2020-11-08,3
+4045,2020-11-15,3
+4046,2020-11-22,3
+4047,2020-11-29,3
+4048,2020-12-06,3
+4049,2020-12-13,3
+4050,2020-12-20,3
+4051,2020-12-27,3
+4052,2021-01-03,3
+4053,2021-01-10,3
+4054,2021-01-17,3
+4055,2021-01-24,3
+4056,2021-01-31,3
+4057,2021-02-07,3
+4058,2021-02-14,3
+4059,2021-02-21,3
+4060,2021-02-28,3
+4061,2021-03-07,3
+4062,2021-03-14,3
+4063,2021-03-21,3
+4064,2021-03-28,3
+4065,2021-04-04,3
+4066,2021-04-11,3
+4067,2021-04-18,3
+4068,2021-04-25,3
+4069,2021-05-02,3
+4070,2021-05-09,3
+4071,2021-05-16,3
+4072,2021-05-23,3
+4073,2021-05-30,3
+4074,2021-06-06,3
+4075,2021-06-13,3
+4076,2021-06-20,3
+4077,2021-06-27,3
+4078,2021-07-04,3
+4079,2021-07-11,3
+4080,2021-07-18,3
+4081,2021-07-25,3
+4082,2021-08-01,3
+4083,2021-08-08,3
+4084,2021-08-15,3
+4085,2021-08-22,3
+4086,2021-08-29,3
+4087,2021-09-05,3
+4088,2021-09-12,3
+4089,2021-09-19,3
+4090,2021-09-26,3
+4091,2021-10-03,3
+4092,2021-10-10,3
+4093,2021-10-17,3
+4094,2021-10-24,3
+4095,2021-10-31,3
+4096,2021-11-07,3
+4097,2021-11-14,3
+4098,2021-11-21,3
+4099,2021-11-28,3
+5000,2020-01-05,4
+5001,2020-01-12,4
+5002,2020-01-19,4
+5003,2020-01-26,4
+5004,2020-02-02,4
+5005,2020-02-09,4
+5006,2020-02-16,4
+5007,2020-02-23,4
+5008,2020-03-01,4
+5009,2020-03-08,4
+5010,2020-03-15,4
+5011,2020-03-22,4
+5012,2020-03-29,4
+5013,2020-04-05,4
+5014,2020-04-12,4
+5015,2020-04-19,4
+5016,2020-04-26,4
+5017,2020-05-03,4
+5018,2020-05-10,4
+5019,2020-05-17,4
+5020,2020-05-24,4
+5021,2020-05-31,4
+5022,2020-06-07,4
+5023,2020-06-14,4
+5024,2020-06-21,4
+5025,2020-06-28,4
+5026,2020-07-05,4
+5027,2020-07-12,4
+5028,2020-07-19,4
+5029,2020-07-26,4
+5030,2020-08-02,4
+5031,2020-08-09,4
+5032,2020-08-16,4
+5033,2020-08-23,4
+5034,2020-08-30,4
+5035,2020-09-06,4
+5036,2020-09-13,4
+5037,2020-09-20,4
+5038,2020-09-27,4
+5039,2020-10-04,4
+5040,2020-10-11,4
+5041,2020-10-18,4
+5042,2020-10-25,4
+5043,2020-11-01,4
+5044,2020-11-08,4
+5045,2020-11-15,4
+5046,2020-11-22,4
+5047,2020-11-29,4
+5048,2020-12-06,4
+5049,2020-12-13,4
+5050,2020-12-20,4
+5051,2020-12-27,4
+5052,2021-01-03,4
+5053,2021-01-10,4
+5054,2021-01-17,4
+5055,2021-01-24,4
+5056,2021-01-31,4
+5057,2021-02-07,4
+5058,2021-02-14,4
+5059,2021-02-21,4
+5060,2021-02-28,4
+5061,2021-03-07,4
+5062,2021-03-14,4
+5063,2021-03-21,4
+5064,2021-03-28,4
+5065,2021-04-04,4
+5066,2021-04-11,4
+5067,2021-04-18,4
+5068,2021-04-25,4
+5069,2021-05-02,4
+5070,2021-05-09,4
+5071,2021-05-16,4
+5072,2021-05-23,4
+5073,2021-05-30,4
+5074,2021-06-06,4
+5075,2021-06-13,4
+5076,2021-06-20,4
+5077,2021-06-27,4
+5078,2021-07-04,4
+5079,2021-07-11,4
+5080,2021-07-18,4
+5081,2021-07-25,4
+5082,2021-08-01,4
+5083,2021-08-08,4
+5084,2021-08-15,4
+5085,2021-08-22,4
+5086,2021-08-29,4
+5087,2021-09-05,4
+5088,2021-09-12,4
+5089,2021-09-19,4
+5090,2021-09-26,4
+5091,2021-10-03,4
+5092,2021-10-10,4
+5093,2021-10-17,4
+5094,2021-10-24,4
+5095,2021-10-31,4
+5096,2021-11-07,4
+5097,2021-11-14,4
+5098,2021-11-21,4
+5099,2021-11-28,4
+6000,2020-01-05,5
+6001,2020-01-12,5
+6002,2020-01-19,5
+6003,2020-01-26,5
+6004,2020-02-02,5
+6005,2020-02-09,5
+6006,2020-02-16,5
+6007,2020-02-23,5
+6008,2020-03-01,5
+6009,2020-03-08,5
+6010,2020-03-15,5
+6011,2020-03-22,5
+6012,2020-03-29,5
+6013,2020-04-05,5
+6014,2020-04-12,5
+6015,2020-04-19,5
+6016,2020-04-26,5
+6017,2020-05-03,5
+6018,2020-05-10,5
+6019,2020-05-17,5
+6020,2020-05-24,5
+6021,2020-05-31,5
+6022,2020-06-07,5
+6023,2020-06-14,5
+6024,2020-06-21,5
+6025,2020-06-28,5
+6026,2020-07-05,5
+6027,2020-07-12,5
+6028,2020-07-19,5
+6029,2020-07-26,5
+6030,2020-08-02,5
+6031,2020-08-09,5
+6032,2020-08-16,5
+6033,2020-08-23,5
+6034,2020-08-30,5
+6035,2020-09-06,5
+6036,2020-09-13,5
+6037,2020-09-20,5
+6038,2020-09-27,5
+6039,2020-10-04,5
+6040,2020-10-11,5
+6041,2020-10-18,5
+6042,2020-10-25,5
+6043,2020-11-01,5
+6044,2020-11-08,5
+6045,2020-11-15,5
+6046,2020-11-22,5
+6047,2020-11-29,5
+6048,2020-12-06,5
+6049,2020-12-13,5
+6050,2020-12-20,5
+6051,2020-12-27,5
+6052,2021-01-03,5
+6053,2021-01-10,5
+6054,2021-01-17,5
+6055,2021-01-24,5
+6056,2021-01-31,5
+6057,2021-02-07,5
+6058,2021-02-14,5
+6059,2021-02-21,5
+6060,2021-02-28,5
+6061,2021-03-07,5
+6062,2021-03-14,5
+6063,2021-03-21,5
+6064,2021-03-28,5
+6065,2021-04-04,5
+6066,2021-04-11,5
+6067,2021-04-18,5
+6068,2021-04-25,5
+6069,2021-05-02,5
+6070,2021-05-09,5
+6071,2021-05-16,5
+6072,2021-05-23,5
+6073,2021-05-30,5
+6074,2021-06-06,5
+6075,2021-06-13,5
+6076,2021-06-20,5
+6077,2021-06-27,5
+6078,2021-07-04,5
+6079,2021-07-11,5
+6080,2021-07-18,5
+6081,2021-07-25,5
+6082,2021-08-01,5
+6083,2021-08-08,5
+6084,2021-08-15,5
+6085,2021-08-22,5
+6086,2021-08-29,5
+6087,2021-09-05,5
+6088,2021-09-12,5
+6089,2021-09-19,5
+6090,2021-09-26,5
+6091,2021-10-03,5
+6092,2021-10-10,5
+6093,2021-10-17,5
+6094,2021-10-24,5
+6095,2021-10-31,5
+6096,2021-11-07,5
+6097,2021-11-14,5
+6098,2021-11-21,5
+6099,2021-11-28,5
+7000,2020-01-05,6
+7001,2020-01-12,6
+7002,2020-01-19,6
+7003,2020-01-26,6
+7004,2020-02-02,6
+7005,2020-02-09,6
+7006,2020-02-16,6
+7007,2020-02-23,6
+7008,2020-03-01,6
+7009,2020-03-08,6
+7010,2020-03-15,6
+7011,2020-03-22,6
+7012,2020-03-29,6
+7013,2020-04-05,6
+7014,2020-04-12,6
+7015,2020-04-19,6
+7016,2020-04-26,6
+7017,2020-05-03,6
+7018,2020-05-10,6
+7019,2020-05-17,6
+7020,2020-05-24,6
+7021,2020-05-31,6
+7022,2020-06-07,6
+7023,2020-06-14,6
+7024,2020-06-21,6
+7025,2020-06-28,6
+7026,2020-07-05,6
+7027,2020-07-12,6
+7028,2020-07-19,6
+7029,2020-07-26,6
+7030,2020-08-02,6
+7031,2020-08-09,6
+7032,2020-08-16,6
+7033,2020-08-23,6
+7034,2020-08-30,6
+7035,2020-09-06,6
+7036,2020-09-13,6
+7037,2020-09-20,6
+7038,2020-09-27,6
+7039,2020-10-04,6
+7040,2020-10-11,6
+7041,2020-10-18,6
+7042,2020-10-25,6
+7043,2020-11-01,6
+7044,2020-11-08,6
+7045,2020-11-15,6
+7046,2020-11-22,6
+7047,2020-11-29,6
+7048,2020-12-06,6
+7049,2020-12-13,6
+7050,2020-12-20,6
+7051,2020-12-27,6
+7052,2021-01-03,6
+7053,2021-01-10,6
+7054,2021-01-17,6
+7055,2021-01-24,6
+7056,2021-01-31,6
+7057,2021-02-07,6
+7058,2021-02-14,6
+7059,2021-02-21,6
+7060,2021-02-28,6
+7061,2021-03-07,6
+7062,2021-03-14,6
+7063,2021-03-21,6
+7064,2021-03-28,6
+7065,2021-04-04,6
+7066,2021-04-11,6
+7067,2021-04-18,6
+7068,2021-04-25,6
+7069,2021-05-02,6
+7070,2021-05-09,6
+7071,2021-05-16,6
+7072,2021-05-23,6
+7073,2021-05-30,6
+7074,2021-06-06,6
+7075,2021-06-13,6
+7076,2021-06-20,6
+7077,2021-06-27,6
+7078,2021-07-04,6
+7079,2021-07-11,6
+7080,2021-07-18,6
+7081,2021-07-25,6
+7082,2021-08-01,6
+7083,2021-08-08,6
+7084,2021-08-15,6
+7085,2021-08-22,6
+7086,2021-08-29,6
+7087,2021-09-05,6
+7088,2021-09-12,6
+7089,2021-09-19,6
+7090,2021-09-26,6
+7091,2021-10-03,6
+7092,2021-10-10,6
+7093,2021-10-17,6
+7094,2021-10-24,6
+7095,2021-10-31,6
+7096,2021-11-07,6
+7097,2021-11-14,6
+7098,2021-11-21,6
+7099,2021-11-28,6
+8000,2020-01-05,7
+8001,2020-01-12,7
+8002,2020-01-19,7
+8003,2020-01-26,7
+8004,2020-02-02,7
+8005,2020-02-09,7
+8006,2020-02-16,7
+8007,2020-02-23,7
+8008,2020-03-01,7
+8009,2020-03-08,7
+8010,2020-03-15,7
+8011,2020-03-22,7
+8012,2020-03-29,7
+8013,2020-04-05,7
+8014,2020-04-12,7
+8015,2020-04-19,7
+8016,2020-04-26,7
+8017,2020-05-03,7
+8018,2020-05-10,7
+8019,2020-05-17,7
+8020,2020-05-24,7
+8021,2020-05-31,7
+8022,2020-06-07,7
+8023,2020-06-14,7
+8024,2020-06-21,7
+8025,2020-06-28,7
+8026,2020-07-05,7
+8027,2020-07-12,7
+8028,2020-07-19,7
+8029,2020-07-26,7
+8030,2020-08-02,7
+8031,2020-08-09,7
+8032,2020-08-16,7
+8033,2020-08-23,7
+8034,2020-08-30,7
+8035,2020-09-06,7
+8036,2020-09-13,7
+8037,2020-09-20,7
+8038,2020-09-27,7
+8039,2020-10-04,7
+8040,2020-10-11,7
+8041,2020-10-18,7
+8042,2020-10-25,7
+8043,2020-11-01,7
+8044,2020-11-08,7
+8045,2020-11-15,7
+8046,2020-11-22,7
+8047,2020-11-29,7
+8048,2020-12-06,7
+8049,2020-12-13,7
+8050,2020-12-20,7
+8051,2020-12-27,7
+8052,2021-01-03,7
+8053,2021-01-10,7
+8054,2021-01-17,7
+8055,2021-01-24,7
+8056,2021-01-31,7
+8057,2021-02-07,7
+8058,2021-02-14,7
+8059,2021-02-21,7
+8060,2021-02-28,7
+8061,2021-03-07,7
+8062,2021-03-14,7
+8063,2021-03-21,7
+8064,2021-03-28,7
+8065,2021-04-04,7
+8066,2021-04-11,7
+8067,2021-04-18,7
+8068,2021-04-25,7
+8069,2021-05-02,7
+8070,2021-05-09,7
+8071,2021-05-16,7
+8072,2021-05-23,7
+8073,2021-05-30,7
+8074,2021-06-06,7
+8075,2021-06-13,7
+8076,2021-06-20,7
+8077,2021-06-27,7
+8078,2021-07-04,7
+8079,2021-07-11,7
+8080,2021-07-18,7
+8081,2021-07-25,7
+8082,2021-08-01,7
+8083,2021-08-08,7
+8084,2021-08-15,7
+8085,2021-08-22,7
+8086,2021-08-29,7
+8087,2021-09-05,7
+8088,2021-09-12,7
+8089,2021-09-19,7
+8090,2021-09-26,7
+8091,2021-10-03,7
+8092,2021-10-10,7
+8093,2021-10-17,7
+8094,2021-10-24,7
+8095,2021-10-31,7
+8096,2021-11-07,7
+8097,2021-11-14,7
+8098,2021-11-21,7
+8099,2021-11-28,7
+9000,2020-01-05,8
+9001,2020-01-12,8
+9002,2020-01-19,8
+9003,2020-01-26,8
+9004,2020-02-02,8
+9005,2020-02-09,8
+9006,2020-02-16,8
+9007,2020-02-23,8
+9008,2020-03-01,8
+9009,2020-03-08,8
+9010,2020-03-15,8
+9011,2020-03-22,8
+9012,2020-03-29,8
+9013,2020-04-05,8
+9014,2020-04-12,8
+9015,2020-04-19,8
+9016,2020-04-26,8
+9017,2020-05-03,8
+9018,2020-05-10,8
+9019,2020-05-17,8
+9020,2020-05-24,8
+9021,2020-05-31,8
+9022,2020-06-07,8
+9023,2020-06-14,8
+9024,2020-06-21,8
+9025,2020-06-28,8
+9026,2020-07-05,8
+9027,2020-07-12,8
+9028,2020-07-19,8
+9029,2020-07-26,8
+9030,2020-08-02,8
+9031,2020-08-09,8
+9032,2020-08-16,8
+9033,2020-08-23,8
+9034,2020-08-30,8
+9035,2020-09-06,8
+9036,2020-09-13,8
+9037,2020-09-20,8
+9038,2020-09-27,8
+9039,2020-10-04,8
+9040,2020-10-11,8
+9041,2020-10-18,8
+9042,2020-10-25,8
+9043,2020-11-01,8
+9044,2020-11-08,8
+9045,2020-11-15,8
+9046,2020-11-22,8
+9047,2020-11-29,8
+9048,2020-12-06,8
+9049,2020-12-13,8
+9050,2020-12-20,8
+9051,2020-12-27,8
+9052,2021-01-03,8
+9053,2021-01-10,8
+9054,2021-01-17,8
+9055,2021-01-24,8
+9056,2021-01-31,8
+9057,2021-02-07,8
+9058,2021-02-14,8
+9059,2021-02-21,8
+9060,2021-02-28,8
+9061,2021-03-07,8
+9062,2021-03-14,8
+9063,2021-03-21,8
+9064,2021-03-28,8
+9065,2021-04-04,8
+9066,2021-04-11,8
+9067,2021-04-18,8
+9068,2021-04-25,8
+9069,2021-05-02,8
+9070,2021-05-09,8
+9071,2021-05-16,8
+9072,2021-05-23,8
+9073,2021-05-30,8
+9074,2021-06-06,8
+9075,2021-06-13,8
+9076,2021-06-20,8
+9077,2021-06-27,8
+9078,2021-07-04,8
+9079,2021-07-11,8
+9080,2021-07-18,8
+9081,2021-07-25,8
+9082,2021-08-01,8
+9083,2021-08-08,8
+9084,2021-08-15,8
+9085,2021-08-22,8
+9086,2021-08-29,8
+9087,2021-09-05,8
+9088,2021-09-12,8
+9089,2021-09-19,8
+9090,2021-09-26,8
+9091,2021-10-03,8
+9092,2021-10-10,8
+9093,2021-10-17,8
+9094,2021-10-24,8
+9095,2021-10-31,8
+9096,2021-11-07,8
+9097,2021-11-14,8
+9098,2021-11-21,8
+9099,2021-11-28,8
+10000,2020-01-05,9
+10001,2020-01-12,9
+10002,2020-01-19,9
+10003,2020-01-26,9
+10004,2020-02-02,9
+10005,2020-02-09,9
+10006,2020-02-16,9
+10007,2020-02-23,9
+10008,2020-03-01,9
+10009,2020-03-08,9
+10010,2020-03-15,9
+10011,2020-03-22,9
+10012,2020-03-29,9
+10013,2020-04-05,9
+10014,2020-04-12,9
+10015,2020-04-19,9
+10016,2020-04-26,9
+10017,2020-05-03,9
+10018,2020-05-10,9
+10019,2020-05-17,9
+10020,2020-05-24,9
+10021,2020-05-31,9
+10022,2020-06-07,9
+10023,2020-06-14,9
+10024,2020-06-21,9
+10025,2020-06-28,9
+10026,2020-07-05,9
+10027,2020-07-12,9
+10028,2020-07-19,9
+10029,2020-07-26,9
+10030,2020-08-02,9
+10031,2020-08-09,9
+10032,2020-08-16,9
+10033,2020-08-23,9
+10034,2020-08-30,9
+10035,2020-09-06,9
+10036,2020-09-13,9
+10037,2020-09-20,9
+10038,2020-09-27,9
+10039,2020-10-04,9
+10040,2020-10-11,9
+10041,2020-10-18,9
+10042,2020-10-25,9
+10043,2020-11-01,9
+10044,2020-11-08,9
+10045,2020-11-15,9
+10046,2020-11-22,9
+10047,2020-11-29,9
+10048,2020-12-06,9
+10049,2020-12-13,9
+10050,2020-12-20,9
+10051,2020-12-27,9
+10052,2021-01-03,9
+10053,2021-01-10,9
+10054,2021-01-17,9
+10055,2021-01-24,9
+10056,2021-01-31,9
+10057,2021-02-07,9
+10058,2021-02-14,9
+10059,2021-02-21,9
+10060,2021-02-28,9
+10061,2021-03-07,9
+10062,2021-03-14,9
+10063,2021-03-21,9
+10064,2021-03-28,9
+10065,2021-04-04,9
+10066,2021-04-11,9
+10067,2021-04-18,9
+10068,2021-04-25,9
+10069,2021-05-02,9
+10070,2021-05-09,9
+10071,2021-05-16,9
+10072,2021-05-23,9
+10073,2021-05-30,9
+10074,2021-06-06,9
+10075,2021-06-13,9
+10076,2021-06-20,9
+10077,2021-06-27,9
+10078,2021-07-04,9
+10079,2021-07-11,9
+10080,2021-07-18,9
+10081,2021-07-25,9
+10082,2021-08-01,9
+10083,2021-08-08,9
+10084,2021-08-15,9
+10085,2021-08-22,9
+10086,2021-08-29,9
+10087,2021-09-05,9
+10088,2021-09-12,9
+10089,2021-09-19,9
+10090,2021-09-26,9
+10091,2021-10-03,9
+10092,2021-10-10,9
+10093,2021-10-17,9
+10094,2021-10-24,9
+10095,2021-10-31,9
+10096,2021-11-07,9
+10097,2021-11-14,9
+10098,2021-11-21,9
+10099,2021-11-28,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Y.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Y.csv
new file mode 100644
index 0000000..2d05f80
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_Y.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-12-31,0
+1001,2021-12-31,0
+1002,2022-12-31,0
+1003,2023-12-31,0
+1004,2024-12-31,0
+1005,2025-12-31,0
+1006,2026-12-31,0
+1007,2027-12-31,0
+1008,2028-12-31,0
+1009,2029-12-31,0
+1010,2030-12-31,0
+1011,2031-12-31,0
+1012,2032-12-31,0
+1013,2033-12-31,0
+1014,2034-12-31,0
+1015,2035-12-31,0
+1016,2036-12-31,0
+1017,2037-12-31,0
+1018,2038-12-31,0
+1019,2039-12-31,0
+1020,2040-12-31,0
+1021,2041-12-31,0
+1022,2042-12-31,0
+1023,2043-12-31,0
+1024,2044-12-31,0
+1025,2045-12-31,0
+1026,2046-12-31,0
+1027,2047-12-31,0
+1028,2048-12-31,0
+1029,2049-12-31,0
+1030,2050-12-31,0
+1031,2051-12-31,0
+1032,2052-12-31,0
+1033,2053-12-31,0
+1034,2054-12-31,0
+1035,2055-12-31,0
+1036,2056-12-31,0
+1037,2057-12-31,0
+1038,2058-12-31,0
+1039,2059-12-31,0
+1040,2060-12-31,0
+1041,2061-12-31,0
+1042,2062-12-31,0
+1043,2063-12-31,0
+1044,2064-12-31,0
+1045,2065-12-31,0
+1046,2066-12-31,0
+1047,2067-12-31,0
+1048,2068-12-31,0
+1049,2069-12-31,0
+1050,2070-12-31,0
+1051,2071-12-31,0
+1052,2072-12-31,0
+1053,2073-12-31,0
+1054,2074-12-31,0
+1055,2075-12-31,0
+1056,2076-12-31,0
+1057,2077-12-31,0
+1058,2078-12-31,0
+1059,2079-12-31,0
+1060,2080-12-31,0
+1061,2081-12-31,0
+1062,2082-12-31,0
+1063,2083-12-31,0
+1064,2084-12-31,0
+1065,2085-12-31,0
+1066,2086-12-31,0
+1067,2087-12-31,0
+1068,2088-12-31,0
+1069,2089-12-31,0
+1070,2090-12-31,0
+1071,2091-12-31,0
+1072,2092-12-31,0
+1073,2093-12-31,0
+1074,2094-12-31,0
+1075,2095-12-31,0
+1076,2096-12-31,0
+1077,2097-12-31,0
+1078,2098-12-31,0
+1079,2099-12-31,0
+1080,2100-12-31,0
+1081,2101-12-31,0
+1082,2102-12-31,0
+1083,2103-12-31,0
+1084,2104-12-31,0
+1085,2105-12-31,0
+1086,2106-12-31,0
+1087,2107-12-31,0
+1088,2108-12-31,0
+1089,2109-12-31,0
+1090,2110-12-31,0
+1091,2111-12-31,0
+1092,2112-12-31,0
+1093,2113-12-31,0
+1094,2114-12-31,0
+1095,2115-12-31,0
+1096,2116-12-31,0
+1097,2117-12-31,0
+1098,2118-12-31,0
+1099,2119-12-31,0
+2000,2020-12-31,1
+2001,2021-12-31,1
+2002,2022-12-31,1
+2003,2023-12-31,1
+2004,2024-12-31,1
+2005,2025-12-31,1
+2006,2026-12-31,1
+2007,2027-12-31,1
+2008,2028-12-31,1
+2009,2029-12-31,1
+2010,2030-12-31,1
+2011,2031-12-31,1
+2012,2032-12-31,1
+2013,2033-12-31,1
+2014,2034-12-31,1
+2015,2035-12-31,1
+2016,2036-12-31,1
+2017,2037-12-31,1
+2018,2038-12-31,1
+2019,2039-12-31,1
+2020,2040-12-31,1
+2021,2041-12-31,1
+2022,2042-12-31,1
+2023,2043-12-31,1
+2024,2044-12-31,1
+2025,2045-12-31,1
+2026,2046-12-31,1
+2027,2047-12-31,1
+2028,2048-12-31,1
+2029,2049-12-31,1
+2030,2050-12-31,1
+2031,2051-12-31,1
+2032,2052-12-31,1
+2033,2053-12-31,1
+2034,2054-12-31,1
+2035,2055-12-31,1
+2036,2056-12-31,1
+2037,2057-12-31,1
+2038,2058-12-31,1
+2039,2059-12-31,1
+2040,2060-12-31,1
+2041,2061-12-31,1
+2042,2062-12-31,1
+2043,2063-12-31,1
+2044,2064-12-31,1
+2045,2065-12-31,1
+2046,2066-12-31,1
+2047,2067-12-31,1
+2048,2068-12-31,1
+2049,2069-12-31,1
+2050,2070-12-31,1
+2051,2071-12-31,1
+2052,2072-12-31,1
+2053,2073-12-31,1
+2054,2074-12-31,1
+2055,2075-12-31,1
+2056,2076-12-31,1
+2057,2077-12-31,1
+2058,2078-12-31,1
+2059,2079-12-31,1
+2060,2080-12-31,1
+2061,2081-12-31,1
+2062,2082-12-31,1
+2063,2083-12-31,1
+2064,2084-12-31,1
+2065,2085-12-31,1
+2066,2086-12-31,1
+2067,2087-12-31,1
+2068,2088-12-31,1
+2069,2089-12-31,1
+2070,2090-12-31,1
+2071,2091-12-31,1
+2072,2092-12-31,1
+2073,2093-12-31,1
+2074,2094-12-31,1
+2075,2095-12-31,1
+2076,2096-12-31,1
+2077,2097-12-31,1
+2078,2098-12-31,1
+2079,2099-12-31,1
+2080,2100-12-31,1
+2081,2101-12-31,1
+2082,2102-12-31,1
+2083,2103-12-31,1
+2084,2104-12-31,1
+2085,2105-12-31,1
+2086,2106-12-31,1
+2087,2107-12-31,1
+2088,2108-12-31,1
+2089,2109-12-31,1
+2090,2110-12-31,1
+2091,2111-12-31,1
+2092,2112-12-31,1
+2093,2113-12-31,1
+2094,2114-12-31,1
+2095,2115-12-31,1
+2096,2116-12-31,1
+2097,2117-12-31,1
+2098,2118-12-31,1
+2099,2119-12-31,1
+3000,2020-12-31,2
+3001,2021-12-31,2
+3002,2022-12-31,2
+3003,2023-12-31,2
+3004,2024-12-31,2
+3005,2025-12-31,2
+3006,2026-12-31,2
+3007,2027-12-31,2
+3008,2028-12-31,2
+3009,2029-12-31,2
+3010,2030-12-31,2
+3011,2031-12-31,2
+3012,2032-12-31,2
+3013,2033-12-31,2
+3014,2034-12-31,2
+3015,2035-12-31,2
+3016,2036-12-31,2
+3017,2037-12-31,2
+3018,2038-12-31,2
+3019,2039-12-31,2
+3020,2040-12-31,2
+3021,2041-12-31,2
+3022,2042-12-31,2
+3023,2043-12-31,2
+3024,2044-12-31,2
+3025,2045-12-31,2
+3026,2046-12-31,2
+3027,2047-12-31,2
+3028,2048-12-31,2
+3029,2049-12-31,2
+3030,2050-12-31,2
+3031,2051-12-31,2
+3032,2052-12-31,2
+3033,2053-12-31,2
+3034,2054-12-31,2
+3035,2055-12-31,2
+3036,2056-12-31,2
+3037,2057-12-31,2
+3038,2058-12-31,2
+3039,2059-12-31,2
+3040,2060-12-31,2
+3041,2061-12-31,2
+3042,2062-12-31,2
+3043,2063-12-31,2
+3044,2064-12-31,2
+3045,2065-12-31,2
+3046,2066-12-31,2
+3047,2067-12-31,2
+3048,2068-12-31,2
+3049,2069-12-31,2
+3050,2070-12-31,2
+3051,2071-12-31,2
+3052,2072-12-31,2
+3053,2073-12-31,2
+3054,2074-12-31,2
+3055,2075-12-31,2
+3056,2076-12-31,2
+3057,2077-12-31,2
+3058,2078-12-31,2
+3059,2079-12-31,2
+3060,2080-12-31,2
+3061,2081-12-31,2
+3062,2082-12-31,2
+3063,2083-12-31,2
+3064,2084-12-31,2
+3065,2085-12-31,2
+3066,2086-12-31,2
+3067,2087-12-31,2
+3068,2088-12-31,2
+3069,2089-12-31,2
+3070,2090-12-31,2
+3071,2091-12-31,2
+3072,2092-12-31,2
+3073,2093-12-31,2
+3074,2094-12-31,2
+3075,2095-12-31,2
+3076,2096-12-31,2
+3077,2097-12-31,2
+3078,2098-12-31,2
+3079,2099-12-31,2
+3080,2100-12-31,2
+3081,2101-12-31,2
+3082,2102-12-31,2
+3083,2103-12-31,2
+3084,2104-12-31,2
+3085,2105-12-31,2
+3086,2106-12-31,2
+3087,2107-12-31,2
+3088,2108-12-31,2
+3089,2109-12-31,2
+3090,2110-12-31,2
+3091,2111-12-31,2
+3092,2112-12-31,2
+3093,2113-12-31,2
+3094,2114-12-31,2
+3095,2115-12-31,2
+3096,2116-12-31,2
+3097,2117-12-31,2
+3098,2118-12-31,2
+3099,2119-12-31,2
+4000,2020-12-31,3
+4001,2021-12-31,3
+4002,2022-12-31,3
+4003,2023-12-31,3
+4004,2024-12-31,3
+4005,2025-12-31,3
+4006,2026-12-31,3
+4007,2027-12-31,3
+4008,2028-12-31,3
+4009,2029-12-31,3
+4010,2030-12-31,3
+4011,2031-12-31,3
+4012,2032-12-31,3
+4013,2033-12-31,3
+4014,2034-12-31,3
+4015,2035-12-31,3
+4016,2036-12-31,3
+4017,2037-12-31,3
+4018,2038-12-31,3
+4019,2039-12-31,3
+4020,2040-12-31,3
+4021,2041-12-31,3
+4022,2042-12-31,3
+4023,2043-12-31,3
+4024,2044-12-31,3
+4025,2045-12-31,3
+4026,2046-12-31,3
+4027,2047-12-31,3
+4028,2048-12-31,3
+4029,2049-12-31,3
+4030,2050-12-31,3
+4031,2051-12-31,3
+4032,2052-12-31,3
+4033,2053-12-31,3
+4034,2054-12-31,3
+4035,2055-12-31,3
+4036,2056-12-31,3
+4037,2057-12-31,3
+4038,2058-12-31,3
+4039,2059-12-31,3
+4040,2060-12-31,3
+4041,2061-12-31,3
+4042,2062-12-31,3
+4043,2063-12-31,3
+4044,2064-12-31,3
+4045,2065-12-31,3
+4046,2066-12-31,3
+4047,2067-12-31,3
+4048,2068-12-31,3
+4049,2069-12-31,3
+4050,2070-12-31,3
+4051,2071-12-31,3
+4052,2072-12-31,3
+4053,2073-12-31,3
+4054,2074-12-31,3
+4055,2075-12-31,3
+4056,2076-12-31,3
+4057,2077-12-31,3
+4058,2078-12-31,3
+4059,2079-12-31,3
+4060,2080-12-31,3
+4061,2081-12-31,3
+4062,2082-12-31,3
+4063,2083-12-31,3
+4064,2084-12-31,3
+4065,2085-12-31,3
+4066,2086-12-31,3
+4067,2087-12-31,3
+4068,2088-12-31,3
+4069,2089-12-31,3
+4070,2090-12-31,3
+4071,2091-12-31,3
+4072,2092-12-31,3
+4073,2093-12-31,3
+4074,2094-12-31,3
+4075,2095-12-31,3
+4076,2096-12-31,3
+4077,2097-12-31,3
+4078,2098-12-31,3
+4079,2099-12-31,3
+4080,2100-12-31,3
+4081,2101-12-31,3
+4082,2102-12-31,3
+4083,2103-12-31,3
+4084,2104-12-31,3
+4085,2105-12-31,3
+4086,2106-12-31,3
+4087,2107-12-31,3
+4088,2108-12-31,3
+4089,2109-12-31,3
+4090,2110-12-31,3
+4091,2111-12-31,3
+4092,2112-12-31,3
+4093,2113-12-31,3
+4094,2114-12-31,3
+4095,2115-12-31,3
+4096,2116-12-31,3
+4097,2117-12-31,3
+4098,2118-12-31,3
+4099,2119-12-31,3
+5000,2020-12-31,4
+5001,2021-12-31,4
+5002,2022-12-31,4
+5003,2023-12-31,4
+5004,2024-12-31,4
+5005,2025-12-31,4
+5006,2026-12-31,4
+5007,2027-12-31,4
+5008,2028-12-31,4
+5009,2029-12-31,4
+5010,2030-12-31,4
+5011,2031-12-31,4
+5012,2032-12-31,4
+5013,2033-12-31,4
+5014,2034-12-31,4
+5015,2035-12-31,4
+5016,2036-12-31,4
+5017,2037-12-31,4
+5018,2038-12-31,4
+5019,2039-12-31,4
+5020,2040-12-31,4
+5021,2041-12-31,4
+5022,2042-12-31,4
+5023,2043-12-31,4
+5024,2044-12-31,4
+5025,2045-12-31,4
+5026,2046-12-31,4
+5027,2047-12-31,4
+5028,2048-12-31,4
+5029,2049-12-31,4
+5030,2050-12-31,4
+5031,2051-12-31,4
+5032,2052-12-31,4
+5033,2053-12-31,4
+5034,2054-12-31,4
+5035,2055-12-31,4
+5036,2056-12-31,4
+5037,2057-12-31,4
+5038,2058-12-31,4
+5039,2059-12-31,4
+5040,2060-12-31,4
+5041,2061-12-31,4
+5042,2062-12-31,4
+5043,2063-12-31,4
+5044,2064-12-31,4
+5045,2065-12-31,4
+5046,2066-12-31,4
+5047,2067-12-31,4
+5048,2068-12-31,4
+5049,2069-12-31,4
+5050,2070-12-31,4
+5051,2071-12-31,4
+5052,2072-12-31,4
+5053,2073-12-31,4
+5054,2074-12-31,4
+5055,2075-12-31,4
+5056,2076-12-31,4
+5057,2077-12-31,4
+5058,2078-12-31,4
+5059,2079-12-31,4
+5060,2080-12-31,4
+5061,2081-12-31,4
+5062,2082-12-31,4
+5063,2083-12-31,4
+5064,2084-12-31,4
+5065,2085-12-31,4
+5066,2086-12-31,4
+5067,2087-12-31,4
+5068,2088-12-31,4
+5069,2089-12-31,4
+5070,2090-12-31,4
+5071,2091-12-31,4
+5072,2092-12-31,4
+5073,2093-12-31,4
+5074,2094-12-31,4
+5075,2095-12-31,4
+5076,2096-12-31,4
+5077,2097-12-31,4
+5078,2098-12-31,4
+5079,2099-12-31,4
+5080,2100-12-31,4
+5081,2101-12-31,4
+5082,2102-12-31,4
+5083,2103-12-31,4
+5084,2104-12-31,4
+5085,2105-12-31,4
+5086,2106-12-31,4
+5087,2107-12-31,4
+5088,2108-12-31,4
+5089,2109-12-31,4
+5090,2110-12-31,4
+5091,2111-12-31,4
+5092,2112-12-31,4
+5093,2113-12-31,4
+5094,2114-12-31,4
+5095,2115-12-31,4
+5096,2116-12-31,4
+5097,2117-12-31,4
+5098,2118-12-31,4
+5099,2119-12-31,4
+6000,2020-12-31,5
+6001,2021-12-31,5
+6002,2022-12-31,5
+6003,2023-12-31,5
+6004,2024-12-31,5
+6005,2025-12-31,5
+6006,2026-12-31,5
+6007,2027-12-31,5
+6008,2028-12-31,5
+6009,2029-12-31,5
+6010,2030-12-31,5
+6011,2031-12-31,5
+6012,2032-12-31,5
+6013,2033-12-31,5
+6014,2034-12-31,5
+6015,2035-12-31,5
+6016,2036-12-31,5
+6017,2037-12-31,5
+6018,2038-12-31,5
+6019,2039-12-31,5
+6020,2040-12-31,5
+6021,2041-12-31,5
+6022,2042-12-31,5
+6023,2043-12-31,5
+6024,2044-12-31,5
+6025,2045-12-31,5
+6026,2046-12-31,5
+6027,2047-12-31,5
+6028,2048-12-31,5
+6029,2049-12-31,5
+6030,2050-12-31,5
+6031,2051-12-31,5
+6032,2052-12-31,5
+6033,2053-12-31,5
+6034,2054-12-31,5
+6035,2055-12-31,5
+6036,2056-12-31,5
+6037,2057-12-31,5
+6038,2058-12-31,5
+6039,2059-12-31,5
+6040,2060-12-31,5
+6041,2061-12-31,5
+6042,2062-12-31,5
+6043,2063-12-31,5
+6044,2064-12-31,5
+6045,2065-12-31,5
+6046,2066-12-31,5
+6047,2067-12-31,5
+6048,2068-12-31,5
+6049,2069-12-31,5
+6050,2070-12-31,5
+6051,2071-12-31,5
+6052,2072-12-31,5
+6053,2073-12-31,5
+6054,2074-12-31,5
+6055,2075-12-31,5
+6056,2076-12-31,5
+6057,2077-12-31,5
+6058,2078-12-31,5
+6059,2079-12-31,5
+6060,2080-12-31,5
+6061,2081-12-31,5
+6062,2082-12-31,5
+6063,2083-12-31,5
+6064,2084-12-31,5
+6065,2085-12-31,5
+6066,2086-12-31,5
+6067,2087-12-31,5
+6068,2088-12-31,5
+6069,2089-12-31,5
+6070,2090-12-31,5
+6071,2091-12-31,5
+6072,2092-12-31,5
+6073,2093-12-31,5
+6074,2094-12-31,5
+6075,2095-12-31,5
+6076,2096-12-31,5
+6077,2097-12-31,5
+6078,2098-12-31,5
+6079,2099-12-31,5
+6080,2100-12-31,5
+6081,2101-12-31,5
+6082,2102-12-31,5
+6083,2103-12-31,5
+6084,2104-12-31,5
+6085,2105-12-31,5
+6086,2106-12-31,5
+6087,2107-12-31,5
+6088,2108-12-31,5
+6089,2109-12-31,5
+6090,2110-12-31,5
+6091,2111-12-31,5
+6092,2112-12-31,5
+6093,2113-12-31,5
+6094,2114-12-31,5
+6095,2115-12-31,5
+6096,2116-12-31,5
+6097,2117-12-31,5
+6098,2118-12-31,5
+6099,2119-12-31,5
+7000,2020-12-31,6
+7001,2021-12-31,6
+7002,2022-12-31,6
+7003,2023-12-31,6
+7004,2024-12-31,6
+7005,2025-12-31,6
+7006,2026-12-31,6
+7007,2027-12-31,6
+7008,2028-12-31,6
+7009,2029-12-31,6
+7010,2030-12-31,6
+7011,2031-12-31,6
+7012,2032-12-31,6
+7013,2033-12-31,6
+7014,2034-12-31,6
+7015,2035-12-31,6
+7016,2036-12-31,6
+7017,2037-12-31,6
+7018,2038-12-31,6
+7019,2039-12-31,6
+7020,2040-12-31,6
+7021,2041-12-31,6
+7022,2042-12-31,6
+7023,2043-12-31,6
+7024,2044-12-31,6
+7025,2045-12-31,6
+7026,2046-12-31,6
+7027,2047-12-31,6
+7028,2048-12-31,6
+7029,2049-12-31,6
+7030,2050-12-31,6
+7031,2051-12-31,6
+7032,2052-12-31,6
+7033,2053-12-31,6
+7034,2054-12-31,6
+7035,2055-12-31,6
+7036,2056-12-31,6
+7037,2057-12-31,6
+7038,2058-12-31,6
+7039,2059-12-31,6
+7040,2060-12-31,6
+7041,2061-12-31,6
+7042,2062-12-31,6
+7043,2063-12-31,6
+7044,2064-12-31,6
+7045,2065-12-31,6
+7046,2066-12-31,6
+7047,2067-12-31,6
+7048,2068-12-31,6
+7049,2069-12-31,6
+7050,2070-12-31,6
+7051,2071-12-31,6
+7052,2072-12-31,6
+7053,2073-12-31,6
+7054,2074-12-31,6
+7055,2075-12-31,6
+7056,2076-12-31,6
+7057,2077-12-31,6
+7058,2078-12-31,6
+7059,2079-12-31,6
+7060,2080-12-31,6
+7061,2081-12-31,6
+7062,2082-12-31,6
+7063,2083-12-31,6
+7064,2084-12-31,6
+7065,2085-12-31,6
+7066,2086-12-31,6
+7067,2087-12-31,6
+7068,2088-12-31,6
+7069,2089-12-31,6
+7070,2090-12-31,6
+7071,2091-12-31,6
+7072,2092-12-31,6
+7073,2093-12-31,6
+7074,2094-12-31,6
+7075,2095-12-31,6
+7076,2096-12-31,6
+7077,2097-12-31,6
+7078,2098-12-31,6
+7079,2099-12-31,6
+7080,2100-12-31,6
+7081,2101-12-31,6
+7082,2102-12-31,6
+7083,2103-12-31,6
+7084,2104-12-31,6
+7085,2105-12-31,6
+7086,2106-12-31,6
+7087,2107-12-31,6
+7088,2108-12-31,6
+7089,2109-12-31,6
+7090,2110-12-31,6
+7091,2111-12-31,6
+7092,2112-12-31,6
+7093,2113-12-31,6
+7094,2114-12-31,6
+7095,2115-12-31,6
+7096,2116-12-31,6
+7097,2117-12-31,6
+7098,2118-12-31,6
+7099,2119-12-31,6
+8000,2020-12-31,7
+8001,2021-12-31,7
+8002,2022-12-31,7
+8003,2023-12-31,7
+8004,2024-12-31,7
+8005,2025-12-31,7
+8006,2026-12-31,7
+8007,2027-12-31,7
+8008,2028-12-31,7
+8009,2029-12-31,7
+8010,2030-12-31,7
+8011,2031-12-31,7
+8012,2032-12-31,7
+8013,2033-12-31,7
+8014,2034-12-31,7
+8015,2035-12-31,7
+8016,2036-12-31,7
+8017,2037-12-31,7
+8018,2038-12-31,7
+8019,2039-12-31,7
+8020,2040-12-31,7
+8021,2041-12-31,7
+8022,2042-12-31,7
+8023,2043-12-31,7
+8024,2044-12-31,7
+8025,2045-12-31,7
+8026,2046-12-31,7
+8027,2047-12-31,7
+8028,2048-12-31,7
+8029,2049-12-31,7
+8030,2050-12-31,7
+8031,2051-12-31,7
+8032,2052-12-31,7
+8033,2053-12-31,7
+8034,2054-12-31,7
+8035,2055-12-31,7
+8036,2056-12-31,7
+8037,2057-12-31,7
+8038,2058-12-31,7
+8039,2059-12-31,7
+8040,2060-12-31,7
+8041,2061-12-31,7
+8042,2062-12-31,7
+8043,2063-12-31,7
+8044,2064-12-31,7
+8045,2065-12-31,7
+8046,2066-12-31,7
+8047,2067-12-31,7
+8048,2068-12-31,7
+8049,2069-12-31,7
+8050,2070-12-31,7
+8051,2071-12-31,7
+8052,2072-12-31,7
+8053,2073-12-31,7
+8054,2074-12-31,7
+8055,2075-12-31,7
+8056,2076-12-31,7
+8057,2077-12-31,7
+8058,2078-12-31,7
+8059,2079-12-31,7
+8060,2080-12-31,7
+8061,2081-12-31,7
+8062,2082-12-31,7
+8063,2083-12-31,7
+8064,2084-12-31,7
+8065,2085-12-31,7
+8066,2086-12-31,7
+8067,2087-12-31,7
+8068,2088-12-31,7
+8069,2089-12-31,7
+8070,2090-12-31,7
+8071,2091-12-31,7
+8072,2092-12-31,7
+8073,2093-12-31,7
+8074,2094-12-31,7
+8075,2095-12-31,7
+8076,2096-12-31,7
+8077,2097-12-31,7
+8078,2098-12-31,7
+8079,2099-12-31,7
+8080,2100-12-31,7
+8081,2101-12-31,7
+8082,2102-12-31,7
+8083,2103-12-31,7
+8084,2104-12-31,7
+8085,2105-12-31,7
+8086,2106-12-31,7
+8087,2107-12-31,7
+8088,2108-12-31,7
+8089,2109-12-31,7
+8090,2110-12-31,7
+8091,2111-12-31,7
+8092,2112-12-31,7
+8093,2113-12-31,7
+8094,2114-12-31,7
+8095,2115-12-31,7
+8096,2116-12-31,7
+8097,2117-12-31,7
+8098,2118-12-31,7
+8099,2119-12-31,7
+9000,2020-12-31,8
+9001,2021-12-31,8
+9002,2022-12-31,8
+9003,2023-12-31,8
+9004,2024-12-31,8
+9005,2025-12-31,8
+9006,2026-12-31,8
+9007,2027-12-31,8
+9008,2028-12-31,8
+9009,2029-12-31,8
+9010,2030-12-31,8
+9011,2031-12-31,8
+9012,2032-12-31,8
+9013,2033-12-31,8
+9014,2034-12-31,8
+9015,2035-12-31,8
+9016,2036-12-31,8
+9017,2037-12-31,8
+9018,2038-12-31,8
+9019,2039-12-31,8
+9020,2040-12-31,8
+9021,2041-12-31,8
+9022,2042-12-31,8
+9023,2043-12-31,8
+9024,2044-12-31,8
+9025,2045-12-31,8
+9026,2046-12-31,8
+9027,2047-12-31,8
+9028,2048-12-31,8
+9029,2049-12-31,8
+9030,2050-12-31,8
+9031,2051-12-31,8
+9032,2052-12-31,8
+9033,2053-12-31,8
+9034,2054-12-31,8
+9035,2055-12-31,8
+9036,2056-12-31,8
+9037,2057-12-31,8
+9038,2058-12-31,8
+9039,2059-12-31,8
+9040,2060-12-31,8
+9041,2061-12-31,8
+9042,2062-12-31,8
+9043,2063-12-31,8
+9044,2064-12-31,8
+9045,2065-12-31,8
+9046,2066-12-31,8
+9047,2067-12-31,8
+9048,2068-12-31,8
+9049,2069-12-31,8
+9050,2070-12-31,8
+9051,2071-12-31,8
+9052,2072-12-31,8
+9053,2073-12-31,8
+9054,2074-12-31,8
+9055,2075-12-31,8
+9056,2076-12-31,8
+9057,2077-12-31,8
+9058,2078-12-31,8
+9059,2079-12-31,8
+9060,2080-12-31,8
+9061,2081-12-31,8
+9062,2082-12-31,8
+9063,2083-12-31,8
+9064,2084-12-31,8
+9065,2085-12-31,8
+9066,2086-12-31,8
+9067,2087-12-31,8
+9068,2088-12-31,8
+9069,2089-12-31,8
+9070,2090-12-31,8
+9071,2091-12-31,8
+9072,2092-12-31,8
+9073,2093-12-31,8
+9074,2094-12-31,8
+9075,2095-12-31,8
+9076,2096-12-31,8
+9077,2097-12-31,8
+9078,2098-12-31,8
+9079,2099-12-31,8
+9080,2100-12-31,8
+9081,2101-12-31,8
+9082,2102-12-31,8
+9083,2103-12-31,8
+9084,2104-12-31,8
+9085,2105-12-31,8
+9086,2106-12-31,8
+9087,2107-12-31,8
+9088,2108-12-31,8
+9089,2109-12-31,8
+9090,2110-12-31,8
+9091,2111-12-31,8
+9092,2112-12-31,8
+9093,2113-12-31,8
+9094,2114-12-31,8
+9095,2115-12-31,8
+9096,2116-12-31,8
+9097,2117-12-31,8
+9098,2118-12-31,8
+9099,2119-12-31,8
+10000,2020-12-31,9
+10001,2021-12-31,9
+10002,2022-12-31,9
+10003,2023-12-31,9
+10004,2024-12-31,9
+10005,2025-12-31,9
+10006,2026-12-31,9
+10007,2027-12-31,9
+10008,2028-12-31,9
+10009,2029-12-31,9
+10010,2030-12-31,9
+10011,2031-12-31,9
+10012,2032-12-31,9
+10013,2033-12-31,9
+10014,2034-12-31,9
+10015,2035-12-31,9
+10016,2036-12-31,9
+10017,2037-12-31,9
+10018,2038-12-31,9
+10019,2039-12-31,9
+10020,2040-12-31,9
+10021,2041-12-31,9
+10022,2042-12-31,9
+10023,2043-12-31,9
+10024,2044-12-31,9
+10025,2045-12-31,9
+10026,2046-12-31,9
+10027,2047-12-31,9
+10028,2048-12-31,9
+10029,2049-12-31,9
+10030,2050-12-31,9
+10031,2051-12-31,9
+10032,2052-12-31,9
+10033,2053-12-31,9
+10034,2054-12-31,9
+10035,2055-12-31,9
+10036,2056-12-31,9
+10037,2057-12-31,9
+10038,2058-12-31,9
+10039,2059-12-31,9
+10040,2060-12-31,9
+10041,2061-12-31,9
+10042,2062-12-31,9
+10043,2063-12-31,9
+10044,2064-12-31,9
+10045,2065-12-31,9
+10046,2066-12-31,9
+10047,2067-12-31,9
+10048,2068-12-31,9
+10049,2069-12-31,9
+10050,2070-12-31,9
+10051,2071-12-31,9
+10052,2072-12-31,9
+10053,2073-12-31,9
+10054,2074-12-31,9
+10055,2075-12-31,9
+10056,2076-12-31,9
+10057,2077-12-31,9
+10058,2078-12-31,9
+10059,2079-12-31,9
+10060,2080-12-31,9
+10061,2081-12-31,9
+10062,2082-12-31,9
+10063,2083-12-31,9
+10064,2084-12-31,9
+10065,2085-12-31,9
+10066,2086-12-31,9
+10067,2087-12-31,9
+10068,2088-12-31,9
+10069,2089-12-31,9
+10070,2090-12-31,9
+10071,2091-12-31,9
+10072,2092-12-31,9
+10073,2093-12-31,9
+10074,2094-12-31,9
+10075,2095-12-31,9
+10076,2096-12-31,9
+10077,2097-12-31,9
+10078,2098-12-31,9
+10079,2099-12-31,9
+10080,2100-12-31,9
+10081,2101-12-31,9
+10082,2102-12-31,9
+10083,2103-12-31,9
+10084,2104-12-31,9
+10085,2105-12-31,9
+10086,2106-12-31,9
+10087,2107-12-31,9
+10088,2108-12-31,9
+10089,2109-12-31,9
+10090,2110-12-31,9
+10091,2111-12-31,9
+10092,2112-12-31,9
+10093,2113-12-31,9
+10094,2114-12-31,9
+10095,2115-12-31,9
+10096,2116-12-31,9
+10097,2117-12-31,9
+10098,2118-12-31,9
+10099,2119-12-31,9
diff --git a/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_YS.csv b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_YS.csv
new file mode 100644
index 0000000..ac61443
--- /dev/null
+++ b/tests/test_dataset/different_freqs_datasets/simulated_data_to_check_YS.csv
@@ -0,0 +1,1001 @@
+value,date,id
+1000,2020-01-01,0
+1001,2021-01-01,0
+1002,2022-01-01,0
+1003,2023-01-01,0
+1004,2024-01-01,0
+1005,2025-01-01,0
+1006,2026-01-01,0
+1007,2027-01-01,0
+1008,2028-01-01,0
+1009,2029-01-01,0
+1010,2030-01-01,0
+1011,2031-01-01,0
+1012,2032-01-01,0
+1013,2033-01-01,0
+1014,2034-01-01,0
+1015,2035-01-01,0
+1016,2036-01-01,0
+1017,2037-01-01,0
+1018,2038-01-01,0
+1019,2039-01-01,0
+1020,2040-01-01,0
+1021,2041-01-01,0
+1022,2042-01-01,0
+1023,2043-01-01,0
+1024,2044-01-01,0
+1025,2045-01-01,0
+1026,2046-01-01,0
+1027,2047-01-01,0
+1028,2048-01-01,0
+1029,2049-01-01,0
+1030,2050-01-01,0
+1031,2051-01-01,0
+1032,2052-01-01,0
+1033,2053-01-01,0
+1034,2054-01-01,0
+1035,2055-01-01,0
+1036,2056-01-01,0
+1037,2057-01-01,0
+1038,2058-01-01,0
+1039,2059-01-01,0
+1040,2060-01-01,0
+1041,2061-01-01,0
+1042,2062-01-01,0
+1043,2063-01-01,0
+1044,2064-01-01,0
+1045,2065-01-01,0
+1046,2066-01-01,0
+1047,2067-01-01,0
+1048,2068-01-01,0
+1049,2069-01-01,0
+1050,2070-01-01,0
+1051,2071-01-01,0
+1052,2072-01-01,0
+1053,2073-01-01,0
+1054,2074-01-01,0
+1055,2075-01-01,0
+1056,2076-01-01,0
+1057,2077-01-01,0
+1058,2078-01-01,0
+1059,2079-01-01,0
+1060,2080-01-01,0
+1061,2081-01-01,0
+1062,2082-01-01,0
+1063,2083-01-01,0
+1064,2084-01-01,0
+1065,2085-01-01,0
+1066,2086-01-01,0
+1067,2087-01-01,0
+1068,2088-01-01,0
+1069,2089-01-01,0
+1070,2090-01-01,0
+1071,2091-01-01,0
+1072,2092-01-01,0
+1073,2093-01-01,0
+1074,2094-01-01,0
+1075,2095-01-01,0
+1076,2096-01-01,0
+1077,2097-01-01,0
+1078,2098-01-01,0
+1079,2099-01-01,0
+1080,2100-01-01,0
+1081,2101-01-01,0
+1082,2102-01-01,0
+1083,2103-01-01,0
+1084,2104-01-01,0
+1085,2105-01-01,0
+1086,2106-01-01,0
+1087,2107-01-01,0
+1088,2108-01-01,0
+1089,2109-01-01,0
+1090,2110-01-01,0
+1091,2111-01-01,0
+1092,2112-01-01,0
+1093,2113-01-01,0
+1094,2114-01-01,0
+1095,2115-01-01,0
+1096,2116-01-01,0
+1097,2117-01-01,0
+1098,2118-01-01,0
+1099,2119-01-01,0
+2000,2020-01-01,1
+2001,2021-01-01,1
+2002,2022-01-01,1
+2003,2023-01-01,1
+2004,2024-01-01,1
+2005,2025-01-01,1
+2006,2026-01-01,1
+2007,2027-01-01,1
+2008,2028-01-01,1
+2009,2029-01-01,1
+2010,2030-01-01,1
+2011,2031-01-01,1
+2012,2032-01-01,1
+2013,2033-01-01,1
+2014,2034-01-01,1
+2015,2035-01-01,1
+2016,2036-01-01,1
+2017,2037-01-01,1
+2018,2038-01-01,1
+2019,2039-01-01,1
+2020,2040-01-01,1
+2021,2041-01-01,1
+2022,2042-01-01,1
+2023,2043-01-01,1
+2024,2044-01-01,1
+2025,2045-01-01,1
+2026,2046-01-01,1
+2027,2047-01-01,1
+2028,2048-01-01,1
+2029,2049-01-01,1
+2030,2050-01-01,1
+2031,2051-01-01,1
+2032,2052-01-01,1
+2033,2053-01-01,1
+2034,2054-01-01,1
+2035,2055-01-01,1
+2036,2056-01-01,1
+2037,2057-01-01,1
+2038,2058-01-01,1
+2039,2059-01-01,1
+2040,2060-01-01,1
+2041,2061-01-01,1
+2042,2062-01-01,1
+2043,2063-01-01,1
+2044,2064-01-01,1
+2045,2065-01-01,1
+2046,2066-01-01,1
+2047,2067-01-01,1
+2048,2068-01-01,1
+2049,2069-01-01,1
+2050,2070-01-01,1
+2051,2071-01-01,1
+2052,2072-01-01,1
+2053,2073-01-01,1
+2054,2074-01-01,1
+2055,2075-01-01,1
+2056,2076-01-01,1
+2057,2077-01-01,1
+2058,2078-01-01,1
+2059,2079-01-01,1
+2060,2080-01-01,1
+2061,2081-01-01,1
+2062,2082-01-01,1
+2063,2083-01-01,1
+2064,2084-01-01,1
+2065,2085-01-01,1
+2066,2086-01-01,1
+2067,2087-01-01,1
+2068,2088-01-01,1
+2069,2089-01-01,1
+2070,2090-01-01,1
+2071,2091-01-01,1
+2072,2092-01-01,1
+2073,2093-01-01,1
+2074,2094-01-01,1
+2075,2095-01-01,1
+2076,2096-01-01,1
+2077,2097-01-01,1
+2078,2098-01-01,1
+2079,2099-01-01,1
+2080,2100-01-01,1
+2081,2101-01-01,1
+2082,2102-01-01,1
+2083,2103-01-01,1
+2084,2104-01-01,1
+2085,2105-01-01,1
+2086,2106-01-01,1
+2087,2107-01-01,1
+2088,2108-01-01,1
+2089,2109-01-01,1
+2090,2110-01-01,1
+2091,2111-01-01,1
+2092,2112-01-01,1
+2093,2113-01-01,1
+2094,2114-01-01,1
+2095,2115-01-01,1
+2096,2116-01-01,1
+2097,2117-01-01,1
+2098,2118-01-01,1
+2099,2119-01-01,1
+3000,2020-01-01,2
+3001,2021-01-01,2
+3002,2022-01-01,2
+3003,2023-01-01,2
+3004,2024-01-01,2
+3005,2025-01-01,2
+3006,2026-01-01,2
+3007,2027-01-01,2
+3008,2028-01-01,2
+3009,2029-01-01,2
+3010,2030-01-01,2
+3011,2031-01-01,2
+3012,2032-01-01,2
+3013,2033-01-01,2
+3014,2034-01-01,2
+3015,2035-01-01,2
+3016,2036-01-01,2
+3017,2037-01-01,2
+3018,2038-01-01,2
+3019,2039-01-01,2
+3020,2040-01-01,2
+3021,2041-01-01,2
+3022,2042-01-01,2
+3023,2043-01-01,2
+3024,2044-01-01,2
+3025,2045-01-01,2
+3026,2046-01-01,2
+3027,2047-01-01,2
+3028,2048-01-01,2
+3029,2049-01-01,2
+3030,2050-01-01,2
+3031,2051-01-01,2
+3032,2052-01-01,2
+3033,2053-01-01,2
+3034,2054-01-01,2
+3035,2055-01-01,2
+3036,2056-01-01,2
+3037,2057-01-01,2
+3038,2058-01-01,2
+3039,2059-01-01,2
+3040,2060-01-01,2
+3041,2061-01-01,2
+3042,2062-01-01,2
+3043,2063-01-01,2
+3044,2064-01-01,2
+3045,2065-01-01,2
+3046,2066-01-01,2
+3047,2067-01-01,2
+3048,2068-01-01,2
+3049,2069-01-01,2
+3050,2070-01-01,2
+3051,2071-01-01,2
+3052,2072-01-01,2
+3053,2073-01-01,2
+3054,2074-01-01,2
+3055,2075-01-01,2
+3056,2076-01-01,2
+3057,2077-01-01,2
+3058,2078-01-01,2
+3059,2079-01-01,2
+3060,2080-01-01,2
+3061,2081-01-01,2
+3062,2082-01-01,2
+3063,2083-01-01,2
+3064,2084-01-01,2
+3065,2085-01-01,2
+3066,2086-01-01,2
+3067,2087-01-01,2
+3068,2088-01-01,2
+3069,2089-01-01,2
+3070,2090-01-01,2
+3071,2091-01-01,2
+3072,2092-01-01,2
+3073,2093-01-01,2
+3074,2094-01-01,2
+3075,2095-01-01,2
+3076,2096-01-01,2
+3077,2097-01-01,2
+3078,2098-01-01,2
+3079,2099-01-01,2
+3080,2100-01-01,2
+3081,2101-01-01,2
+3082,2102-01-01,2
+3083,2103-01-01,2
+3084,2104-01-01,2
+3085,2105-01-01,2
+3086,2106-01-01,2
+3087,2107-01-01,2
+3088,2108-01-01,2
+3089,2109-01-01,2
+3090,2110-01-01,2
+3091,2111-01-01,2
+3092,2112-01-01,2
+3093,2113-01-01,2
+3094,2114-01-01,2
+3095,2115-01-01,2
+3096,2116-01-01,2
+3097,2117-01-01,2
+3098,2118-01-01,2
+3099,2119-01-01,2
+4000,2020-01-01,3
+4001,2021-01-01,3
+4002,2022-01-01,3
+4003,2023-01-01,3
+4004,2024-01-01,3
+4005,2025-01-01,3
+4006,2026-01-01,3
+4007,2027-01-01,3
+4008,2028-01-01,3
+4009,2029-01-01,3
+4010,2030-01-01,3
+4011,2031-01-01,3
+4012,2032-01-01,3
+4013,2033-01-01,3
+4014,2034-01-01,3
+4015,2035-01-01,3
+4016,2036-01-01,3
+4017,2037-01-01,3
+4018,2038-01-01,3
+4019,2039-01-01,3
+4020,2040-01-01,3
+4021,2041-01-01,3
+4022,2042-01-01,3
+4023,2043-01-01,3
+4024,2044-01-01,3
+4025,2045-01-01,3
+4026,2046-01-01,3
+4027,2047-01-01,3
+4028,2048-01-01,3
+4029,2049-01-01,3
+4030,2050-01-01,3
+4031,2051-01-01,3
+4032,2052-01-01,3
+4033,2053-01-01,3
+4034,2054-01-01,3
+4035,2055-01-01,3
+4036,2056-01-01,3
+4037,2057-01-01,3
+4038,2058-01-01,3
+4039,2059-01-01,3
+4040,2060-01-01,3
+4041,2061-01-01,3
+4042,2062-01-01,3
+4043,2063-01-01,3
+4044,2064-01-01,3
+4045,2065-01-01,3
+4046,2066-01-01,3
+4047,2067-01-01,3
+4048,2068-01-01,3
+4049,2069-01-01,3
+4050,2070-01-01,3
+4051,2071-01-01,3
+4052,2072-01-01,3
+4053,2073-01-01,3
+4054,2074-01-01,3
+4055,2075-01-01,3
+4056,2076-01-01,3
+4057,2077-01-01,3
+4058,2078-01-01,3
+4059,2079-01-01,3
+4060,2080-01-01,3
+4061,2081-01-01,3
+4062,2082-01-01,3
+4063,2083-01-01,3
+4064,2084-01-01,3
+4065,2085-01-01,3
+4066,2086-01-01,3
+4067,2087-01-01,3
+4068,2088-01-01,3
+4069,2089-01-01,3
+4070,2090-01-01,3
+4071,2091-01-01,3
+4072,2092-01-01,3
+4073,2093-01-01,3
+4074,2094-01-01,3
+4075,2095-01-01,3
+4076,2096-01-01,3
+4077,2097-01-01,3
+4078,2098-01-01,3
+4079,2099-01-01,3
+4080,2100-01-01,3
+4081,2101-01-01,3
+4082,2102-01-01,3
+4083,2103-01-01,3
+4084,2104-01-01,3
+4085,2105-01-01,3
+4086,2106-01-01,3
+4087,2107-01-01,3
+4088,2108-01-01,3
+4089,2109-01-01,3
+4090,2110-01-01,3
+4091,2111-01-01,3
+4092,2112-01-01,3
+4093,2113-01-01,3
+4094,2114-01-01,3
+4095,2115-01-01,3
+4096,2116-01-01,3
+4097,2117-01-01,3
+4098,2118-01-01,3
+4099,2119-01-01,3
+5000,2020-01-01,4
+5001,2021-01-01,4
+5002,2022-01-01,4
+5003,2023-01-01,4
+5004,2024-01-01,4
+5005,2025-01-01,4
+5006,2026-01-01,4
+5007,2027-01-01,4
+5008,2028-01-01,4
+5009,2029-01-01,4
+5010,2030-01-01,4
+5011,2031-01-01,4
+5012,2032-01-01,4
+5013,2033-01-01,4
+5014,2034-01-01,4
+5015,2035-01-01,4
+5016,2036-01-01,4
+5017,2037-01-01,4
+5018,2038-01-01,4
+5019,2039-01-01,4
+5020,2040-01-01,4
+5021,2041-01-01,4
+5022,2042-01-01,4
+5023,2043-01-01,4
+5024,2044-01-01,4
+5025,2045-01-01,4
+5026,2046-01-01,4
+5027,2047-01-01,4
+5028,2048-01-01,4
+5029,2049-01-01,4
+5030,2050-01-01,4
+5031,2051-01-01,4
+5032,2052-01-01,4
+5033,2053-01-01,4
+5034,2054-01-01,4
+5035,2055-01-01,4
+5036,2056-01-01,4
+5037,2057-01-01,4
+5038,2058-01-01,4
+5039,2059-01-01,4
+5040,2060-01-01,4
+5041,2061-01-01,4
+5042,2062-01-01,4
+5043,2063-01-01,4
+5044,2064-01-01,4
+5045,2065-01-01,4
+5046,2066-01-01,4
+5047,2067-01-01,4
+5048,2068-01-01,4
+5049,2069-01-01,4
+5050,2070-01-01,4
+5051,2071-01-01,4
+5052,2072-01-01,4
+5053,2073-01-01,4
+5054,2074-01-01,4
+5055,2075-01-01,4
+5056,2076-01-01,4
+5057,2077-01-01,4
+5058,2078-01-01,4
+5059,2079-01-01,4
+5060,2080-01-01,4
+5061,2081-01-01,4
+5062,2082-01-01,4
+5063,2083-01-01,4
+5064,2084-01-01,4
+5065,2085-01-01,4
+5066,2086-01-01,4
+5067,2087-01-01,4
+5068,2088-01-01,4
+5069,2089-01-01,4
+5070,2090-01-01,4
+5071,2091-01-01,4
+5072,2092-01-01,4
+5073,2093-01-01,4
+5074,2094-01-01,4
+5075,2095-01-01,4
+5076,2096-01-01,4
+5077,2097-01-01,4
+5078,2098-01-01,4
+5079,2099-01-01,4
+5080,2100-01-01,4
+5081,2101-01-01,4
+5082,2102-01-01,4
+5083,2103-01-01,4
+5084,2104-01-01,4
+5085,2105-01-01,4
+5086,2106-01-01,4
+5087,2107-01-01,4
+5088,2108-01-01,4
+5089,2109-01-01,4
+5090,2110-01-01,4
+5091,2111-01-01,4
+5092,2112-01-01,4
+5093,2113-01-01,4
+5094,2114-01-01,4
+5095,2115-01-01,4
+5096,2116-01-01,4
+5097,2117-01-01,4
+5098,2118-01-01,4
+5099,2119-01-01,4
+6000,2020-01-01,5
+6001,2021-01-01,5
+6002,2022-01-01,5
+6003,2023-01-01,5
+6004,2024-01-01,5
+6005,2025-01-01,5
+6006,2026-01-01,5
+6007,2027-01-01,5
+6008,2028-01-01,5
+6009,2029-01-01,5
+6010,2030-01-01,5
+6011,2031-01-01,5
+6012,2032-01-01,5
+6013,2033-01-01,5
+6014,2034-01-01,5
+6015,2035-01-01,5
+6016,2036-01-01,5
+6017,2037-01-01,5
+6018,2038-01-01,5
+6019,2039-01-01,5
+6020,2040-01-01,5
+6021,2041-01-01,5
+6022,2042-01-01,5
+6023,2043-01-01,5
+6024,2044-01-01,5
+6025,2045-01-01,5
+6026,2046-01-01,5
+6027,2047-01-01,5
+6028,2048-01-01,5
+6029,2049-01-01,5
+6030,2050-01-01,5
+6031,2051-01-01,5
+6032,2052-01-01,5
+6033,2053-01-01,5
+6034,2054-01-01,5
+6035,2055-01-01,5
+6036,2056-01-01,5
+6037,2057-01-01,5
+6038,2058-01-01,5
+6039,2059-01-01,5
+6040,2060-01-01,5
+6041,2061-01-01,5
+6042,2062-01-01,5
+6043,2063-01-01,5
+6044,2064-01-01,5
+6045,2065-01-01,5
+6046,2066-01-01,5
+6047,2067-01-01,5
+6048,2068-01-01,5
+6049,2069-01-01,5
+6050,2070-01-01,5
+6051,2071-01-01,5
+6052,2072-01-01,5
+6053,2073-01-01,5
+6054,2074-01-01,5
+6055,2075-01-01,5
+6056,2076-01-01,5
+6057,2077-01-01,5
+6058,2078-01-01,5
+6059,2079-01-01,5
+6060,2080-01-01,5
+6061,2081-01-01,5
+6062,2082-01-01,5
+6063,2083-01-01,5
+6064,2084-01-01,5
+6065,2085-01-01,5
+6066,2086-01-01,5
+6067,2087-01-01,5
+6068,2088-01-01,5
+6069,2089-01-01,5
+6070,2090-01-01,5
+6071,2091-01-01,5
+6072,2092-01-01,5
+6073,2093-01-01,5
+6074,2094-01-01,5
+6075,2095-01-01,5
+6076,2096-01-01,5
+6077,2097-01-01,5
+6078,2098-01-01,5
+6079,2099-01-01,5
+6080,2100-01-01,5
+6081,2101-01-01,5
+6082,2102-01-01,5
+6083,2103-01-01,5
+6084,2104-01-01,5
+6085,2105-01-01,5
+6086,2106-01-01,5
+6087,2107-01-01,5
+6088,2108-01-01,5
+6089,2109-01-01,5
+6090,2110-01-01,5
+6091,2111-01-01,5
+6092,2112-01-01,5
+6093,2113-01-01,5
+6094,2114-01-01,5
+6095,2115-01-01,5
+6096,2116-01-01,5
+6097,2117-01-01,5
+6098,2118-01-01,5
+6099,2119-01-01,5
+7000,2020-01-01,6
+7001,2021-01-01,6
+7002,2022-01-01,6
+7003,2023-01-01,6
+7004,2024-01-01,6
+7005,2025-01-01,6
+7006,2026-01-01,6
+7007,2027-01-01,6
+7008,2028-01-01,6
+7009,2029-01-01,6
+7010,2030-01-01,6
+7011,2031-01-01,6
+7012,2032-01-01,6
+7013,2033-01-01,6
+7014,2034-01-01,6
+7015,2035-01-01,6
+7016,2036-01-01,6
+7017,2037-01-01,6
+7018,2038-01-01,6
+7019,2039-01-01,6
+7020,2040-01-01,6
+7021,2041-01-01,6
+7022,2042-01-01,6
+7023,2043-01-01,6
+7024,2044-01-01,6
+7025,2045-01-01,6
+7026,2046-01-01,6
+7027,2047-01-01,6
+7028,2048-01-01,6
+7029,2049-01-01,6
+7030,2050-01-01,6
+7031,2051-01-01,6
+7032,2052-01-01,6
+7033,2053-01-01,6
+7034,2054-01-01,6
+7035,2055-01-01,6
+7036,2056-01-01,6
+7037,2057-01-01,6
+7038,2058-01-01,6
+7039,2059-01-01,6
+7040,2060-01-01,6
+7041,2061-01-01,6
+7042,2062-01-01,6
+7043,2063-01-01,6
+7044,2064-01-01,6
+7045,2065-01-01,6
+7046,2066-01-01,6
+7047,2067-01-01,6
+7048,2068-01-01,6
+7049,2069-01-01,6
+7050,2070-01-01,6
+7051,2071-01-01,6
+7052,2072-01-01,6
+7053,2073-01-01,6
+7054,2074-01-01,6
+7055,2075-01-01,6
+7056,2076-01-01,6
+7057,2077-01-01,6
+7058,2078-01-01,6
+7059,2079-01-01,6
+7060,2080-01-01,6
+7061,2081-01-01,6
+7062,2082-01-01,6
+7063,2083-01-01,6
+7064,2084-01-01,6
+7065,2085-01-01,6
+7066,2086-01-01,6
+7067,2087-01-01,6
+7068,2088-01-01,6
+7069,2089-01-01,6
+7070,2090-01-01,6
+7071,2091-01-01,6
+7072,2092-01-01,6
+7073,2093-01-01,6
+7074,2094-01-01,6
+7075,2095-01-01,6
+7076,2096-01-01,6
+7077,2097-01-01,6
+7078,2098-01-01,6
+7079,2099-01-01,6
+7080,2100-01-01,6
+7081,2101-01-01,6
+7082,2102-01-01,6
+7083,2103-01-01,6
+7084,2104-01-01,6
+7085,2105-01-01,6
+7086,2106-01-01,6
+7087,2107-01-01,6
+7088,2108-01-01,6
+7089,2109-01-01,6
+7090,2110-01-01,6
+7091,2111-01-01,6
+7092,2112-01-01,6
+7093,2113-01-01,6
+7094,2114-01-01,6
+7095,2115-01-01,6
+7096,2116-01-01,6
+7097,2117-01-01,6
+7098,2118-01-01,6
+7099,2119-01-01,6
+8000,2020-01-01,7
+8001,2021-01-01,7
+8002,2022-01-01,7
+8003,2023-01-01,7
+8004,2024-01-01,7
+8005,2025-01-01,7
+8006,2026-01-01,7
+8007,2027-01-01,7
+8008,2028-01-01,7
+8009,2029-01-01,7
+8010,2030-01-01,7
+8011,2031-01-01,7
+8012,2032-01-01,7
+8013,2033-01-01,7
+8014,2034-01-01,7
+8015,2035-01-01,7
+8016,2036-01-01,7
+8017,2037-01-01,7
+8018,2038-01-01,7
+8019,2039-01-01,7
+8020,2040-01-01,7
+8021,2041-01-01,7
+8022,2042-01-01,7
+8023,2043-01-01,7
+8024,2044-01-01,7
+8025,2045-01-01,7
+8026,2046-01-01,7
+8027,2047-01-01,7
+8028,2048-01-01,7
+8029,2049-01-01,7
+8030,2050-01-01,7
+8031,2051-01-01,7
+8032,2052-01-01,7
+8033,2053-01-01,7
+8034,2054-01-01,7
+8035,2055-01-01,7
+8036,2056-01-01,7
+8037,2057-01-01,7
+8038,2058-01-01,7
+8039,2059-01-01,7
+8040,2060-01-01,7
+8041,2061-01-01,7
+8042,2062-01-01,7
+8043,2063-01-01,7
+8044,2064-01-01,7
+8045,2065-01-01,7
+8046,2066-01-01,7
+8047,2067-01-01,7
+8048,2068-01-01,7
+8049,2069-01-01,7
+8050,2070-01-01,7
+8051,2071-01-01,7
+8052,2072-01-01,7
+8053,2073-01-01,7
+8054,2074-01-01,7
+8055,2075-01-01,7
+8056,2076-01-01,7
+8057,2077-01-01,7
+8058,2078-01-01,7
+8059,2079-01-01,7
+8060,2080-01-01,7
+8061,2081-01-01,7
+8062,2082-01-01,7
+8063,2083-01-01,7
+8064,2084-01-01,7
+8065,2085-01-01,7
+8066,2086-01-01,7
+8067,2087-01-01,7
+8068,2088-01-01,7
+8069,2089-01-01,7
+8070,2090-01-01,7
+8071,2091-01-01,7
+8072,2092-01-01,7
+8073,2093-01-01,7
+8074,2094-01-01,7
+8075,2095-01-01,7
+8076,2096-01-01,7
+8077,2097-01-01,7
+8078,2098-01-01,7
+8079,2099-01-01,7
+8080,2100-01-01,7
+8081,2101-01-01,7
+8082,2102-01-01,7
+8083,2103-01-01,7
+8084,2104-01-01,7
+8085,2105-01-01,7
+8086,2106-01-01,7
+8087,2107-01-01,7
+8088,2108-01-01,7
+8089,2109-01-01,7
+8090,2110-01-01,7
+8091,2111-01-01,7
+8092,2112-01-01,7
+8093,2113-01-01,7
+8094,2114-01-01,7
+8095,2115-01-01,7
+8096,2116-01-01,7
+8097,2117-01-01,7
+8098,2118-01-01,7
+8099,2119-01-01,7
+9000,2020-01-01,8
+9001,2021-01-01,8
+9002,2022-01-01,8
+9003,2023-01-01,8
+9004,2024-01-01,8
+9005,2025-01-01,8
+9006,2026-01-01,8
+9007,2027-01-01,8
+9008,2028-01-01,8
+9009,2029-01-01,8
+9010,2030-01-01,8
+9011,2031-01-01,8
+9012,2032-01-01,8
+9013,2033-01-01,8
+9014,2034-01-01,8
+9015,2035-01-01,8
+9016,2036-01-01,8
+9017,2037-01-01,8
+9018,2038-01-01,8
+9019,2039-01-01,8
+9020,2040-01-01,8
+9021,2041-01-01,8
+9022,2042-01-01,8
+9023,2043-01-01,8
+9024,2044-01-01,8
+9025,2045-01-01,8
+9026,2046-01-01,8
+9027,2047-01-01,8
+9028,2048-01-01,8
+9029,2049-01-01,8
+9030,2050-01-01,8
+9031,2051-01-01,8
+9032,2052-01-01,8
+9033,2053-01-01,8
+9034,2054-01-01,8
+9035,2055-01-01,8
+9036,2056-01-01,8
+9037,2057-01-01,8
+9038,2058-01-01,8
+9039,2059-01-01,8
+9040,2060-01-01,8
+9041,2061-01-01,8
+9042,2062-01-01,8
+9043,2063-01-01,8
+9044,2064-01-01,8
+9045,2065-01-01,8
+9046,2066-01-01,8
+9047,2067-01-01,8
+9048,2068-01-01,8
+9049,2069-01-01,8
+9050,2070-01-01,8
+9051,2071-01-01,8
+9052,2072-01-01,8
+9053,2073-01-01,8
+9054,2074-01-01,8
+9055,2075-01-01,8
+9056,2076-01-01,8
+9057,2077-01-01,8
+9058,2078-01-01,8
+9059,2079-01-01,8
+9060,2080-01-01,8
+9061,2081-01-01,8
+9062,2082-01-01,8
+9063,2083-01-01,8
+9064,2084-01-01,8
+9065,2085-01-01,8
+9066,2086-01-01,8
+9067,2087-01-01,8
+9068,2088-01-01,8
+9069,2089-01-01,8
+9070,2090-01-01,8
+9071,2091-01-01,8
+9072,2092-01-01,8
+9073,2093-01-01,8
+9074,2094-01-01,8
+9075,2095-01-01,8
+9076,2096-01-01,8
+9077,2097-01-01,8
+9078,2098-01-01,8
+9079,2099-01-01,8
+9080,2100-01-01,8
+9081,2101-01-01,8
+9082,2102-01-01,8
+9083,2103-01-01,8
+9084,2104-01-01,8
+9085,2105-01-01,8
+9086,2106-01-01,8
+9087,2107-01-01,8
+9088,2108-01-01,8
+9089,2109-01-01,8
+9090,2110-01-01,8
+9091,2111-01-01,8
+9092,2112-01-01,8
+9093,2113-01-01,8
+9094,2114-01-01,8
+9095,2115-01-01,8
+9096,2116-01-01,8
+9097,2117-01-01,8
+9098,2118-01-01,8
+9099,2119-01-01,8
+10000,2020-01-01,9
+10001,2021-01-01,9
+10002,2022-01-01,9
+10003,2023-01-01,9
+10004,2024-01-01,9
+10005,2025-01-01,9
+10006,2026-01-01,9
+10007,2027-01-01,9
+10008,2028-01-01,9
+10009,2029-01-01,9
+10010,2030-01-01,9
+10011,2031-01-01,9
+10012,2032-01-01,9
+10013,2033-01-01,9
+10014,2034-01-01,9
+10015,2035-01-01,9
+10016,2036-01-01,9
+10017,2037-01-01,9
+10018,2038-01-01,9
+10019,2039-01-01,9
+10020,2040-01-01,9
+10021,2041-01-01,9
+10022,2042-01-01,9
+10023,2043-01-01,9
+10024,2044-01-01,9
+10025,2045-01-01,9
+10026,2046-01-01,9
+10027,2047-01-01,9
+10028,2048-01-01,9
+10029,2049-01-01,9
+10030,2050-01-01,9
+10031,2051-01-01,9
+10032,2052-01-01,9
+10033,2053-01-01,9
+10034,2054-01-01,9
+10035,2055-01-01,9
+10036,2056-01-01,9
+10037,2057-01-01,9
+10038,2058-01-01,9
+10039,2059-01-01,9
+10040,2060-01-01,9
+10041,2061-01-01,9
+10042,2062-01-01,9
+10043,2063-01-01,9
+10044,2064-01-01,9
+10045,2065-01-01,9
+10046,2066-01-01,9
+10047,2067-01-01,9
+10048,2068-01-01,9
+10049,2069-01-01,9
+10050,2070-01-01,9
+10051,2071-01-01,9
+10052,2072-01-01,9
+10053,2073-01-01,9
+10054,2074-01-01,9
+10055,2075-01-01,9
+10056,2076-01-01,9
+10057,2077-01-01,9
+10058,2078-01-01,9
+10059,2079-01-01,9
+10060,2080-01-01,9
+10061,2081-01-01,9
+10062,2082-01-01,9
+10063,2083-01-01,9
+10064,2084-01-01,9
+10065,2085-01-01,9
+10066,2086-01-01,9
+10067,2087-01-01,9
+10068,2088-01-01,9
+10069,2089-01-01,9
+10070,2090-01-01,9
+10071,2091-01-01,9
+10072,2092-01-01,9
+10073,2093-01-01,9
+10074,2094-01-01,9
+10075,2095-01-01,9
+10076,2096-01-01,9
+10077,2097-01-01,9
+10078,2098-01-01,9
+10079,2099-01-01,9
+10080,2100-01-01,9
+10081,2101-01-01,9
+10082,2102-01-01,9
+10083,2103-01-01,9
+10084,2104-01-01,9
+10085,2105-01-01,9
+10086,2106-01-01,9
+10087,2107-01-01,9
+10088,2108-01-01,9
+10089,2109-01-01,9
+10090,2110-01-01,9
+10091,2111-01-01,9
+10092,2112-01-01,9
+10093,2113-01-01,9
+10094,2114-01-01,9
+10095,2115-01-01,9
+10096,2116-01-01,9
+10097,2117-01-01,9
+10098,2118-01-01,9
+10099,2119-01-01,9
diff --git a/tests/test_dataset/test_different_freqs.py b/tests/test_dataset/test_different_freqs.py
new file mode 100644
index 0000000..a969de1
--- /dev/null
+++ b/tests/test_dataset/test_different_freqs.py
@@ -0,0 +1,388 @@
+import numpy as np
+import pandas as pd
+import pytest
+
+from tsururu.dataset import IndexSlicer, Pipeline, TSDataset
+
+index_slicer = IndexSlicer()
+
+HORIZON = 3
+HISTORY = 7
+
+DATASET_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+}
+
+PIPELINE_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 3},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["y", "m", "d", "hour", "min", "sec", "ms"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 3},
+ },
+ },
+ "id": {
+ "columns": ["id"],
+ "features": {"LagTransformer": {"lags": 1}},
+ },
+}
+
+BASE_PATH = "./tests/test_dataset/different_freqs_datasets/"
+
+DF_PATH_YS = f"{BASE_PATH}simulated_data_to_check_YS.csv"
+DF_PATH_Y = f"{BASE_PATH}simulated_data_to_check_Y.csv"
+DF_PATH_QS = f"{BASE_PATH}simulated_data_to_check_QS.csv"
+DF_PATH_Q = f"{BASE_PATH}simulated_data_to_check_Q.csv"
+DF_PATH_MS = f"{BASE_PATH}simulated_data_to_check_MS.csv"
+DF_PATH_M = f"{BASE_PATH}simulated_data_to_check_M.csv"
+DF_PATH_W = f"{BASE_PATH}simulated_data_to_check_W.csv"
+DF_PATH_3D = f"{BASE_PATH}simulated_data_to_check_3D.csv"
+DF_PATH_D = f"{BASE_PATH}simulated_data_to_check_D.csv"
+DF_PATH_H = f"{BASE_PATH}simulated_data_to_check_H.csv"
+DF_PATH_30MIN = f"{BASE_PATH}simulated_data_to_check_30min.csv"
+DF_PATH_15MIN = f"{BASE_PATH}simulated_data_to_check_15min.csv"
+DF_PATH_5MIN = f"{BASE_PATH}simulated_data_to_check_5min.csv"
+DF_PATH_MIN = f"{BASE_PATH}simulated_data_to_check_1min.csv"
+DF_PATH_32S = f"{BASE_PATH}simulated_data_to_check_32s.csv"
+DF_PATH_S = f"{BASE_PATH}simulated_data_to_check_1s.csv"
+DF_PATH_1MS = f"{BASE_PATH}simulated_data_to_check_1ms.csv"
+
+DF_PATH_28D = f"{BASE_PATH}simulated_data_to_check_28D.csv" # wrong without pd.DateOffset
+
+
+@pytest.mark.parametrize(
+ "df_path, result_lag_2__season_y__date, \
+ result_lag_2__season_m__date, result_lag_2__season_d__date, \
+ result_lag_2__season_h__date, result_lag_2__season_min__date, \
+ result_lag_2__season_sec__date, result_lag_2__season_ms__date",
+ [
+ (
+ DF_PATH_YS,
+ np.array([2027, 2028, 2029, 2030, 2031]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_Y,
+ np.array([2027, 2028, 2029, 2030, 2031]),
+ np.array([12, 12, 12, 12, 12]),
+ np.array([31, 31, 31, 31, 31]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_QS,
+ np.array([2021, 2022, 2022, 2022, 2022]),
+ np.array([10, 1, 4, 7, 10]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_Q,
+ np.array([2021, 2022, 2022, 2022, 2022]),
+ np.array([12, 3, 6, 9, 12]),
+ np.array([31, 31, 30, 30, 31]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_MS,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([8, 9, 10, 11, 12]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_M,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([8, 9, 10, 11, 12]),
+ np.array([31, 30, 31, 30, 31]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_W,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([2, 3, 3, 3, 3]),
+ np.array([23, 1, 8, 15, 22]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_3D,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 2]),
+ np.array([22, 25, 28, 31, 3]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_D,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([8, 9, 10, 11, 12]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_H,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([7, 8, 9, 10, 11]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_30MIN,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([3, 4, 4, 5, 5]),
+ np.array([30, 0, 30, 0, 30]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_15MIN,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 2, 2, 2, 2]),
+ np.array([45, 0, 15, 30, 45]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_5MIN,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([35, 40, 45, 50, 55]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_MIN,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([7, 8, 9, 10, 11]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_32S,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([3, 4, 4, 5, 5]),
+ np.array([44, 16, 48, 20, 52]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_S,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([7, 8, 9, 10, 11]),
+ np.array([0, 0, 0, 0, 0]),
+ ),
+ (
+ DF_PATH_1MS,
+ np.array([2020, 2020, 2020, 2020, 2020]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([1, 1, 1, 1, 1]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([0, 0, 0, 0, 0]),
+ np.array([7000, 8000, 9000, 10000, 11000]),
+ ),
+ ],
+)
+def test_date_features(
+ df_path,
+ result_lag_2__season_y__date,
+ result_lag_2__season_m__date,
+ result_lag_2__season_d__date,
+ result_lag_2__season_h__date,
+ result_lag_2__season_min__date,
+ result_lag_2__season_sec__date,
+ result_lag_2__season_ms__date,
+):
+ df = pd.read_csv(df_path)
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="MIMOStrategy")
+ X, _ = pipeline.generate(data)
+
+ result_lag_2__season_y__date_idx = pipeline.output_features == "date__season_y__lag_2"
+ result_lag_2__season_m__date_idx = pipeline.output_features == "date__season_m__lag_2"
+ result_lag_2__season_d__date_idx = pipeline.output_features == "date__season_d__lag_2"
+ result_lag_2__season_h__date_idx = pipeline.output_features == "date__season_hour__lag_2"
+ result_lag_2__season_min__date_idx = pipeline.output_features == "date__season_min__lag_2"
+ result_lag_2__season_sec__date_idx = pipeline.output_features == "date__season_sec__lag_2"
+ result_lag_2__season_ms__date_idx = pipeline.output_features == "date__season_ms__lag_2"
+
+ assert np.array_equal(
+ X[:, result_lag_2__season_y__date_idx][:5].flatten(), result_lag_2__season_y__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_m__date_idx][:5].flatten(), result_lag_2__season_m__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_d__date_idx][:5].flatten(), result_lag_2__season_d__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_h__date_idx][:5].flatten(), result_lag_2__season_h__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_min__date_idx][:5].flatten(), result_lag_2__season_min__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_sec__date_idx][:5].flatten(), result_lag_2__season_sec__date
+ )
+ assert np.array_equal(
+ X[:, result_lag_2__season_ms__date_idx][:5].flatten(), result_lag_2__season_ms__date
+ )
+ assert index_slicer.ids_from_date(dataset.data, "date") == [
+ 100,
+ 200,
+ 300,
+ 400,
+ 500,
+ 600,
+ 700,
+ 800,
+ 900,
+ ]
+
+
+def test_custom_offset_28days():
+ df = pd.read_csv(DF_PATH_28D)
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ delta=pd.DateOffset(days=28),
+ )
+
+ PIPELINE_PARAMS["date"]["features"]["DateSeasonsGenerator"]["delta"] = pd.DateOffset(days=28)
+
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="MIMOStrategy")
+ X, _ = pipeline.generate(data)
+
+ result_lag_2__season_y__date_idx = pipeline.output_features == "date__season_y__lag_2"
+ result_lag_2__season_m__date_idx = pipeline.output_features == "date__season_m__lag_2"
+ result_lag_2__season_d__date_idx = pipeline.output_features == "date__season_d__lag_2"
+
+ assert np.array_equal(
+ X[:, result_lag_2__season_y__date_idx][:5].flatten(), [2020, 2020, 2020, 2020, 2020]
+ )
+ assert np.array_equal(X[:, result_lag_2__season_m__date_idx][:5].flatten(), [7, 8, 9, 10, 11])
+ assert np.array_equal(X[:, result_lag_2__season_d__date_idx][:5].flatten(), [15, 12, 9, 7, 4])
+
+ assert index_slicer.ids_from_date(dataset.data, "date", delta=pd.DateOffset(days=28)) == [
+ 100,
+ 200,
+ 300,
+ 400,
+ 500,
+ 600,
+ 700,
+ 800,
+ 900,
+ ]
diff --git a/tests/test_model_training/test_ml.py b/tests/test_model_training/test_ml.py
new file mode 100644
index 0000000..8ddc126
--- /dev/null
+++ b/tests/test_model_training/test_ml.py
@@ -0,0 +1,95 @@
+import logging
+
+import pandas as pd
+
+from tsururu.dataset import IndexSlicer, Pipeline, TSDataset
+from tsururu.model_training.trainer import MLTrainer
+from tsururu.model_training.validator import KFoldCrossValidator
+from tsururu.models import CatBoost
+from tsururu.strategies import MIMOStrategy
+
+index_slicer = IndexSlicer()
+
+
+HORIZON = 3
+HISTORY = 7
+
+DATASET_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+}
+
+PIPELINE_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "DifferenceNormalizer": {
+ "regime": "delta",
+ "transform_features": True,
+ "transform_target": False,
+ },
+ "LagTransformer": {"lags": 7},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ },
+}
+
+
+def test_assert_for_nans_in_nn_X(caplog):
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ # Configure the model parameters
+ model = CatBoost
+ model_params = {
+ "loss_function": "MultiRMSE",
+ "early_stopping_rounds": 100,
+ "n_estimators": 100,
+ "verbose": 1000,
+ }
+
+ # Configure the validation parameters
+ validation = KFoldCrossValidator
+ validation_params = {
+ "n_splits": 2,
+ }
+
+ trainer = MLTrainer(
+ model,
+ model_params,
+ validation,
+ validation_params,
+ )
+
+ strategy = MIMOStrategy(HORIZON, HISTORY, trainer, pipeline)
+
+ with caplog.at_level(logging.WARNING):
+ _, _ = strategy.fit(dataset)
+ assert "It seems that there are NaN values in the input data." in caplog.text
+ assert "Try to check pipeline configuration" in caplog.text
+ assert "NaN values can be caused by division by zero" in caplog.text
diff --git a/tests/test_model_training/test_nn.py b/tests/test_model_training/test_nn.py
new file mode 100644
index 0000000..8aaacc7
--- /dev/null
+++ b/tests/test_model_training/test_nn.py
@@ -0,0 +1,94 @@
+import logging
+
+import numpy as np
+import pandas as pd
+
+from tsururu.dataset import IndexSlicer, Pipeline, TSDataset
+from tsururu.model_training.trainer import DLTrainer
+from tsururu.model_training.validator import KFoldCrossValidator
+from tsururu.models.torch_based.dlinear import DLinear_NN
+from tsururu.strategies import MIMOStrategy
+
+index_slicer = IndexSlicer()
+
+
+HORIZON = 3
+HISTORY = 7
+
+DATASET_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+}
+
+PIPELINE_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "DifferenceNormalizer": {
+ "regime": "delta",
+ "transform_features": True,
+ "transform_target": False,
+ },
+ "LagTransformer": {"lags": 7},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ },
+}
+
+
+def test_assert_for_nans_in_nn_X(caplog):
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ # Configure the model parameters
+ model = DLinear_NN
+ model_params = {"moving_avg": 7, "individual": False, "enc_in": None}
+
+ # Configure the validation parameters
+ validation = KFoldCrossValidator
+ validation_params = {
+ "n_splits": 2,
+ }
+
+ trainer_params = {
+ "device": "cpu",
+ "num_workers": 0,
+ "best_by_metric": True,
+ "save_to_dir": False,
+ "n_epochs": 1,
+ }
+
+ trainer = DLTrainer(model, model_params, validation, validation_params, **trainer_params)
+
+ strategy = MIMOStrategy(HORIZON, HISTORY, trainer, pipeline)
+
+ with caplog.at_level(logging.WARNING):
+ _, _ = strategy.fit(dataset)
+ assert "It seems that there are NaN values in the input data." in caplog.text
+ assert "Try to check pipeline configuration" in caplog.text
+ assert "NaN values can be caused by division by zero" in caplog.text
diff --git a/tests/test_pipeline/conftest.py b/tests/test_pipeline/conftest.py
new file mode 100644
index 0000000..31e3aff
--- /dev/null
+++ b/tests/test_pipeline/conftest.py
@@ -0,0 +1,64 @@
+import pandas as pd
+import pytest
+
+
+
+@pytest.fixture(scope="package")
+def get_dataset():
+
+ from tsururu.dataset import TSDataset
+
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+
+ # Add some features with different names
+ for i, i_name in enumerate(
+ [
+ "Значение времени (ч)...проверка@123__",
+ "кол-во_клиентов#сегмент_A__тест?",
+ "прибыль_на_АКцию (%)-@финансы",
+ "объем Продаж! (Q3_2023)...анализ#данных",
+ "показатель/успешности_доход@услуги__OK?",
+ "add_feature_0",
+ "add_feature_1",
+ "add_feature_2",
+ ]
+ ):
+ df[f"{i_name}"] = df["value"] + 1000 * (i + 1)
+
+ dataset_params = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+ "exog_1": {
+ "columns": [
+ "Значение времени (ч)...проверка@123__",
+ "прибыль_на_АКцию (%)-@финансы",
+ "feature_0",
+ "feature_2",
+ ],
+ "type": "continuous",
+ },
+ "exog_2": {
+ "columns": [
+ "кол-во_клиентов#сегмент_A__тест?",
+ "объем Продаж! (Q3_2023)...анализ#данных",
+ "feature_1",
+ ],
+ "type": "continuous",
+ },
+ }
+
+ return TSDataset(
+ data=df,
+ columns_params=dataset_params,
+ print_freq_period_info=False,
+ )
diff --git a/tests/test_pipeline/test_X_with_from_target_date.py b/tests/test_pipeline/test_X_with_from_target_date.py
new file mode 100644
index 0000000..6ef5839
--- /dev/null
+++ b/tests/test_pipeline/test_X_with_from_target_date.py
@@ -0,0 +1,73 @@
+from copy import deepcopy
+
+import numpy as np
+import pytest
+
+from tsururu.dataset import IndexSlicer, Pipeline
+
+index_slicer = IndexSlicer()
+
+HORIZON = 3
+HISTORY = 3
+
+PIPELINE_FROM_TARGET_DATE_TRUE = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 1},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["d"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ },
+}
+
+PIPELINE_FROM_TARGET_DATE_FALSE = deepcopy(PIPELINE_FROM_TARGET_DATE_TRUE)
+PIPELINE_FROM_TARGET_DATE_FALSE["date"]["features"]["DateSeasonsGenerator"][
+ "from_target_date"
+] = False
+
+
+@pytest.mark.parametrize(
+ "pipeline_params, result",
+ [
+ (PIPELINE_FROM_TARGET_DATE_TRUE, np.array([6, 7, 8, 9, 10])),
+ (PIPELINE_FROM_TARGET_DATE_FALSE, np.array([3, 4, 5, 6, 7])),
+ ],
+)
+def test_features_names(get_dataset, pipeline_params, result):
+ dataset = get_dataset
+ pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)
+
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="MIMOStrategy")
+ X, _ = pipeline.generate(data)
+
+ day_column_name = pipeline.output_features == "date__season_d__lag_0"
+ day_column = X[:, day_column_name]
+
+ assert np.array_equal(day_column[:5].flatten(), result)
diff --git a/tests/test_pipeline/test_X_y_with_different_transformers_for_flatwidemimo.py b/tests/test_pipeline/test_X_y_with_different_transformers_for_flatwidemimo.py
new file mode 100644
index 0000000..05064a9
--- /dev/null
+++ b/tests/test_pipeline/test_X_y_with_different_transformers_for_flatwidemimo.py
@@ -0,0 +1,203 @@
+from copy import deepcopy
+from itertools import product
+
+import numpy as np
+import pandas as pd
+import pytest
+
+from tsururu.dataset import IndexSlicer, Pipeline
+
+index_slicer = IndexSlicer()
+
+HORIZON = 3
+HISTORY = 3
+
+PIPELINE_PARAMS_STANDARD = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 3},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 3},
+ },
+ },
+ "id": {
+ "columns": ["id"],
+ "features": {"LagTransformer": {"lags": 1}},
+ },
+}
+
+transformers = ["StandardScalerTransformer", "DifferenceNormalizer", "LastKnownNormalizer"]
+regimes = ["ratio", "delta"]
+transform_features_list = [True, False]
+transform_target_list = [True, False]
+
+PIPELINE_CONFIGURATIONS = {}
+
+for transformer, regime, transform_features, transform_target in product(
+ transformers, regimes, transform_features_list, transform_target_list
+):
+ current_config = deepcopy(PIPELINE_PARAMS_STANDARD)
+
+ if transform_target == False and transform_features == False:
+ continue
+
+ if transformer == "StandardScalerTransformer":
+ if regime == "ratio":
+ current_config["target"]["features"] = {
+ transformer: {
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ },
+ "LagTransformer": {"lags": 3},
+ }
+ else:
+ continue
+ elif transformer == "LastKnownNormalizer":
+ current_config["target"]["features"] = {
+ "LagTransformer": {"lags": 3},
+ transformer: {
+ "regime": regime,
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ },
+ }
+ elif transformer == "DifferenceNormalizer":
+ current_config["target"]["features"] = {
+ transformer: {
+ "regime": regime,
+ "transform_features": transform_features,
+ "transform_target": transform_target,
+ },
+ "LagTransformer": {"lags": 3},
+ }
+ PIPELINE_CONFIGURATIONS[f"{transformer}_{regime}_{transform_features}_{transform_target}"] = (
+ current_config
+ )
+
+
+@pytest.mark.parametrize(
+ "pipeline_params, result_lag_2__value, result_y",
+ [
+ (
+ PIPELINE_CONFIGURATIONS["StandardScalerTransformer_ratio_True_True"],
+ np.array([-1.729454, -1.729454, -1.729454, -1.725992, -1.725992]),
+ np.array([[-1.71906713], [-1.71560476], [-1.71214239]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["StandardScalerTransformer_ratio_True_False"],
+ np.array([-1.729454, -1.729454, -1.729454, -1.725992, -1.725992]),
+ np.array([[1003], [1004], [1005]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["StandardScalerTransformer_ratio_False_True"],
+ np.array([1000, 1000, 1000, 1001, 1001]),
+ np.array([[-1.71906713], [-1.71560476], [-1.71214239]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_ratio_True_True"],
+ np.array([np.nan, np.nan, np.nan, 1.001000, 1.001000]),
+ np.array([[1.000998], [1.00099701], [1.00099602]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_ratio_True_False"],
+ np.array([np.nan, np.nan, np.nan, 1.001000, 1.001000]),
+ np.array([[1003], [1004], [1005]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_ratio_False_True"],
+ np.array([1000, 1000, 1000, 1001, 1001]),
+ np.array([[1.000998], [1.00099701], [1.00099602]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_delta_True_True"],
+ np.array([np.nan, np.nan, np.nan, 1.0, 1.0]),
+ np.array([[1.0], [1.0], [1.0]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_delta_True_False"],
+ np.array([np.nan, np.nan, np.nan, 1.0, 1.0]),
+ np.array([[1003], [1004], [1005]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["DifferenceNormalizer_delta_False_True"],
+ np.array([1000, 1000, 1000, 1001, 1001]),
+ np.array([[1.0], [1.0], [1.0]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_ratio_True_True"],
+ np.array([0.998004, 0.998004, 0.998004, 0.998006, 0.998006]),
+ np.array([[1.000998], [1.00199601], [1.00299401]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_ratio_True_False"],
+ np.array([0.998004, 0.998004, 0.998004, 0.998006, 0.998006]),
+ np.array([[1003], [1004], [1005]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_ratio_False_True"],
+ np.array([1000, 1000, 1000, 1001, 1001]),
+ np.array([[1.000998], [1.00199601], [1.00299401]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_delta_True_True"],
+ np.array([-2.0, -2.0, -2.0, -2.0, -2.0]),
+ np.array([[1.0], [2.0], [3.0]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_delta_True_False"],
+ np.array([-2.0, -2.0, -2.0, -2.0, -2.0]),
+ np.array([[1003], [1004], [1005]]),
+ ),
+ (
+ PIPELINE_CONFIGURATIONS["LastKnownNormalizer_delta_False_True"],
+ np.array([1000, 1000, 1000, 1001, 1001]),
+ np.array([[1.0], [2.0], [3.0]]),
+ ),
+ ],
+)
+def test_features_names(get_dataset, pipeline_params, result_lag_2__value, result_y):
+ dataset = get_dataset
+ pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)
+
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="FlatWideMIMOStrategy")
+ X, y = pipeline.generate(data)
+
+ if pipeline_params["target"]["features"].get("StandardScalerTransformer"):
+ result_lag_2__value_idx = pipeline.output_features == "value__standard_scaler__lag_2"
+ elif pipeline_params["target"]["features"].get("DifferenceNormalizer"):
+ result_lag_2__value_idx = pipeline.output_features == "value__diff_norm__lag_2"
+ elif pipeline_params["target"]["features"].get("LastKnownNormalizer"):
+ result_lag_2__value_idx = pipeline.output_features == "value__lag_2__last_known_norm"
+
+
+ lag_2__value = X[:, result_lag_2__value_idx]
+
+ assert np.allclose(lag_2__value[:5].flatten(), result_lag_2__value, equal_nan=True)
+ assert np.allclose(y[:3], result_y)
diff --git a/tests/test_pipeline/test_categorical_encoding.py b/tests/test_pipeline/test_categorical_encoding.py
new file mode 100644
index 0000000..6707c98
--- /dev/null
+++ b/tests/test_pipeline/test_categorical_encoding.py
@@ -0,0 +1,210 @@
+import numpy as np
+import pandas as pd
+
+from tsururu.dataset import IndexSlicer, Pipeline, TSDataset
+
+index_slicer = IndexSlicer()
+
+
+HORIZON = 3
+HISTORY = 7
+
+DATASET_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+ "exog_1": {
+ "columns": ["id2"],
+ "type": "categorical",
+ },
+}
+
+PIPELINE_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 1},
+ },
+ },
+ "id": {
+ "columns": ["id"],
+ "features": {"LabelEncodingTransformer": {}, "LagTransformer": {"lags": 1}},
+ },
+ "exog_1": {
+ "columns": ["id2"],
+ "features": {
+ "OneHotEncodingTransformer": {"drop": np.array(["k"])},
+ "LagTransformer": {"lags": 1},
+ },
+ },
+}
+
+
+def int_to_str(x):
+ str_map_arr = "abcdefghijklmn"
+ return str_map_arr[x]
+
+
+def get_features_target_idx(dataset):
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ return features_idx, target_idx
+
+
+def test_categorical_encoding():
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+ df["id2"] = df["id"] + 2
+ df["id"] = df["id"].apply(int_to_str)
+ df["id2"] = df["id2"].apply(int_to_str)
+
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ features_idx, target_idx = get_features_target_idx(dataset)
+
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="MIMOStrategy")
+ X, _ = pipeline.generate(data)
+
+ id__label__lag_0_idx = pipeline.output_features == "id__label__lag_0"
+ assert np.all(
+ np.unique(X[:, id__label__lag_0_idx], return_counts=True)[0]
+ == np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0])
+ )
+ assert np.all(
+ np.unique(X[:, id__label__lag_0_idx], return_counts=True)[1]
+ == np.array([991, 991, 991, 991, 991, 991, 991, 991, 991, 991])
+ )
+
+ id2__g_ohe__lag_0_idx = pipeline.output_features == "id2__g_ohe__lag_0"
+ assert np.all(
+ np.unique(X[:, id2__g_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0, 1.0])
+ )
+ assert np.all(
+ np.unique(X[:, id2__g_ohe__lag_0_idx], return_counts=True)[1] == np.array([8919, 991])
+ )
+
+ assert np.all(
+ pipeline.output_features
+ == np.array(
+ [
+ "value__lag_0",
+ "id__label__lag_0",
+ "id2__c_ohe__lag_0",
+ "id2__d_ohe__lag_0",
+ "id2__e_ohe__lag_0",
+ "id2__f_ohe__lag_0",
+ "id2__g_ohe__lag_0",
+ "id2__h_ohe__lag_0",
+ "id2__i_ohe__lag_0",
+ "id2__j_ohe__lag_0",
+ "id2__l_ohe__lag_0",
+ ],
+ )
+ )
+
+
+def test_transform_method_not_all_categories_in_test():
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+ df["id2"] = df["id"] + 2
+ df["id"] = df["id"].apply(int_to_str)
+ df["id2"] = df["id2"].apply(int_to_str)
+
+ # Create train and test datasets
+ df_train = df[df["date"] < "2022-01-01"]
+ df_test = df[df["date"] >= "2022-01-01"]
+
+ # Remove id == "a" and id == "c" from test dataset
+ df_test = df_test[(df_test["id"] != "a") & (df_test["id"] != "c")]
+
+ train_dataset = TSDataset(
+ data=df_train,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ test_dataset = TSDataset(
+ data=df_test,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS, multivariate=False)
+
+ features_idx_train, target_idx_train = get_features_target_idx(train_dataset)
+ features_idx_test, target_idx_test = get_features_target_idx(test_dataset)
+
+ train_data = Pipeline.create_data_dict_for_pipeline(
+ train_dataset, features_idx_train, target_idx_train
+ )
+ train_data = pipeline.fit_transform(train_data, strategy_name="MIMOStrategy")
+ X_train, _ = pipeline.generate(train_data)
+
+ test_data = Pipeline.create_data_dict_for_pipeline(
+ test_dataset, features_idx_test, target_idx_test
+ )
+ test_data = pipeline.transform(test_data)
+ X_test, _ = pipeline.generate(test_data)
+
+ id__label__lag_0_idx = pipeline.output_features == "id__label__lag_0"
+ id2__c_ohe__lag_0_idx = pipeline.output_features == "id2__c_ohe__lag_0"
+ id2__d_ohe__lag_0_idx = pipeline.output_features == "id2__d_ohe__lag_0"
+ id2__e_ohe__lag_0_idx = pipeline.output_features == "id2__e_ohe__lag_0"
+
+ assert np.all(
+ np.unique(X_train[:, id__label__lag_0_idx], return_counts=True)[0]
+ == np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0])
+ )
+ assert np.all(
+ np.unique(X_test[:, id__label__lag_0_idx], return_counts=True)[0]
+ == np.array([1.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0])
+ )
+
+ assert np.all(
+ np.unique(X_train[:, id2__c_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0, 1.0])
+ )
+ assert np.all(
+ np.unique(X_test[:, id2__c_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0])
+ )
+
+ assert np.all(
+ np.unique(X_train[:, id2__d_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0, 1.0])
+ )
+ assert np.all(
+ np.unique(X_test[:, id2__d_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0, 1.0])
+ )
+
+ assert np.all(
+ np.unique(X_train[:, id2__e_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0, 1.0])
+ )
+ assert np.all(
+ np.unique(X_test[:, id2__e_ohe__lag_0_idx], return_counts=True)[0] == np.array([0.0])
+ )
diff --git a/tests/test_pipeline/test_output_features.py b/tests/test_pipeline/test_output_features.py
new file mode 100644
index 0000000..0782322
--- /dev/null
+++ b/tests/test_pipeline/test_output_features.py
@@ -0,0 +1,226 @@
+from copy import deepcopy
+
+import numpy as np
+import pytest
+
+from tsururu.dataset import IndexSlicer, Pipeline
+
+index_slicer = IndexSlicer()
+
+HORIZON = 3
+HISTORY = 7
+
+PIPELINE_PARAMS_STANDARD = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 3},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ },
+ "id": {
+ "columns": ["id"],
+ "features": {"LagTransformer": {"lags": 1}},
+ },
+}
+
+PIPELINE_PARAMS_WITH_ALL_EXOGS = deepcopy(PIPELINE_PARAMS_STANDARD)
+PIPELINE_PARAMS_WITH_ALL_EXOGS["exog_1"] = {
+ "columns": [
+ "Значение времени (ч)...проверка@123__",
+ "прибыль_на_АКцию (%)-@финансы",
+ "объем Продаж! (Q3_2023)...анализ#данных",
+ "add_feature_1",
+ ],
+ "features": {"LagTransformer": {"lags": 2}},
+}
+PIPELINE_PARAMS_WITH_ALL_EXOGS["exog_2"] = {
+ "columns": [
+ "кол-во_клиентов#сегмент_A__тест?",
+ "показатель/успешности_доход@услуги__OK?",
+ "add_feature_0",
+ "add_feature_2",
+ ],
+ "features": {"LagTransformer": {"lags": 1}},
+}
+
+PIPELINE_PARAMS_WITH_SOME_EXOGS = deepcopy(PIPELINE_PARAMS_STANDARD)
+PIPELINE_PARAMS_WITH_SOME_EXOGS["exog_1"] = {
+ "columns": [
+ "Значение времени (ч)...проверка@123__",
+ ],
+ "features": {"LagTransformer": {"lags": 2}},
+}
+PIPELINE_PARAMS_WITH_SOME_EXOGS["exog_2"] = {
+ "columns": [
+ "add_feature_0",
+ "add_feature_2",
+ ],
+ "features": {"LagTransformer": {"lags": 1}},
+}
+
+PIPELINE_WITH_VALUE_ONLY = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "LagTransformer": {"lags": 3},
+ },
+ },
+}
+
+PIPELINE_WITH_VALUE_AND_DATE = deepcopy(PIPELINE_PARAMS_STANDARD)
+PIPELINE_WITH_VALUE_AND_DATE.pop("id")
+
+PIPELINE_WITH_VALUE_AND_ID = deepcopy(PIPELINE_PARAMS_STANDARD)
+PIPELINE_WITH_VALUE_AND_ID.pop("date")
+
+PIPELINE_PARAMS_WITH_WRONG_EXOG_TRANSFORMER = deepcopy(PIPELINE_PARAMS_STANDARD)
+PIPELINE_PARAMS_WITH_WRONG_EXOG_TRANSFORMER["exog_1"] = {
+ "columns": [
+ "add_feature_1",
+ ],
+ "features": {
+ "StandardScalerTransformer": {"transform_features": True, "transform_target": True},
+ "LagTransformer": {"lags": 2},
+ },
+}
+
+
+@pytest.mark.parametrize(
+ "pipeline_params, result",
+ [
+ (
+ PIPELINE_PARAMS_STANDARD,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ "date__season_doy__lag_0",
+ "date__season_m__lag_0",
+ "date__season_wd__lag_0",
+ "id__lag_0",
+ ]
+ ),
+ ),
+ (
+ PIPELINE_PARAMS_WITH_ALL_EXOGS,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ "date__season_doy__lag_0",
+ "date__season_m__lag_0",
+ "date__season_wd__lag_0",
+ "id__lag_0",
+ "Значение времени (ч)...проверка@123____lag_1",
+ "Значение времени (ч)...проверка@123____lag_0",
+ "прибыль_на_АКцию (%)-@финансы__lag_1",
+ "прибыль_на_АКцию (%)-@финансы__lag_0",
+ "объем Продаж! (Q3_2023)...анализ#данных__lag_1",
+ "объем Продаж! (Q3_2023)...анализ#данных__lag_0",
+ "add_feature_1__lag_1",
+ "add_feature_1__lag_0",
+ "кол-во_клиентов#сегмент_A__тест?__lag_0",
+ "показатель/успешности_доход@услуги__OK?__lag_0",
+ "add_feature_0__lag_0",
+ "add_feature_2__lag_0",
+ ]
+ ),
+ ),
+ (
+ PIPELINE_PARAMS_WITH_SOME_EXOGS,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ "date__season_doy__lag_0",
+ "date__season_m__lag_0",
+ "date__season_wd__lag_0",
+ "id__lag_0",
+ "Значение времени (ч)...проверка@123____lag_1",
+ "Значение времени (ч)...проверка@123____lag_0",
+ "add_feature_0__lag_0",
+ "add_feature_2__lag_0",
+ ]
+ ),
+ ),
+ (
+ PIPELINE_WITH_VALUE_ONLY,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ ]
+ ),
+ ),
+ (
+ PIPELINE_WITH_VALUE_AND_DATE,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ "date__season_doy__lag_0",
+ "date__season_m__lag_0",
+ "date__season_wd__lag_0",
+ ]
+ ),
+ ),
+ (
+ PIPELINE_WITH_VALUE_AND_ID,
+ np.array(
+ [
+ "value__lag_2",
+ "value__lag_1",
+ "value__lag_0",
+ "id__lag_0",
+ ]
+ ),
+ ),
+ ],
+)
+def test_features_names(get_dataset, pipeline_params, result):
+ dataset = get_dataset
+ pipeline = Pipeline.from_dict(pipeline_params, multivariate=False)
+
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ HORIZON,
+ HISTORY,
+ step=1,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+ data = Pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = pipeline.fit_transform(data, strategy_name="MIMOStrategy")
+ X, _ = pipeline.generate(data)
+
+ assert np.array_equal(pipeline.output_features, result)
+ assert X.shape[1] == len(result)
+
+
+def test_wrong_exog_transformer(get_dataset):
+ with pytest.raises(AssertionError):
+ _ = Pipeline.from_dict(PIPELINE_PARAMS_WITH_WRONG_EXOG_TRANSFORMER, multivariate=False)
diff --git a/tests/test_strategies/test_fwm.py b/tests/test_strategies/test_fwm.py
new file mode 100644
index 0000000..1373fc2
--- /dev/null
+++ b/tests/test_strategies/test_fwm.py
@@ -0,0 +1,91 @@
+import pandas as pd
+import pytest
+
+from tsururu.dataset import IndexSlicer, Pipeline, TSDataset
+from tsururu.model_training.trainer import MLTrainer
+from tsururu.model_training.validator import KFoldCrossValidator
+from tsururu.models import CatBoost
+from tsururu.strategies import FlatWideMIMOStrategy
+
+index_slicer = IndexSlicer()
+
+
+HORIZON = 3
+HISTORY = 7
+
+DATASET_PARAMS = {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {
+ "columns": ["date"],
+ "type": "datetime",
+ },
+ "id": {
+ "columns": ["id"],
+ "type": "categorical",
+ },
+}
+
+PIPELINE_PARAMS_WRONG_DATE_LAGS = {
+ "target": {
+ "columns": ["value"],
+ "features": {
+ "DifferenceNormalizer": {
+ "regime": "delta",
+ "transform_features": True,
+ "transform_target": False,
+ },
+ "LagTransformer": {"lags": 7},
+ },
+ },
+ "date": {
+ "columns": ["date"],
+ "features": {
+ "DateSeasonsGenerator": {
+ "seasonalities": ["doy", "m", "wd"],
+ "from_target_date": True,
+ },
+ "LagTransformer": {"lags": 1},
+ },
+ },
+}
+
+
+def test_assert_date_lags_less_than_history():
+ df = pd.read_csv("./datasets/global/simulated_data_to_check.csv")
+
+ dataset = TSDataset(
+ data=df,
+ columns_params=DATASET_PARAMS,
+ print_freq_period_info=False,
+ )
+ pipeline = Pipeline.from_dict(PIPELINE_PARAMS_WRONG_DATE_LAGS, multivariate=False)
+
+ # Configure the model parameters
+ model = CatBoost
+ model_params = {
+ "loss_function": "MultiRMSE",
+ "early_stopping_rounds": 100,
+ "n_estimators": 100,
+ "verbose": 1000,
+ }
+
+ # Configure the validation parameters
+ validation = KFoldCrossValidator
+ validation_params = {
+ "n_splits": 2,
+ }
+
+ trainer = MLTrainer(
+ model,
+ model_params,
+ validation,
+ validation_params,
+ )
+
+ strategy = FlatWideMIMOStrategy(HORIZON, HISTORY, trainer, pipeline)
+
+ with pytest.raises(ValueError):
+ _, _ = strategy.fit(dataset)
diff --git a/tsururu/__init__.py b/tsururu/__init__.py
index 6687220..43e2605 100644
--- a/tsururu/__init__.py
+++ b/tsururu/__init__.py
@@ -1 +1,14 @@
-__all__ = ["dataset", "transformers", "models", "strategies", "validation"]
+import logging
+import sys
+
+_root_logger = logging.getLogger()
+_logger = logging.getLogger(__name__)
+_logger.setLevel("DEBUG")
+
+# if root logger has handlers, propagate messages up and let root logger process them
+if not _root_logger.hasHandlers():
+ _logger.addHandler(logging.StreamHandler(sys.stdout))
+ _logger.propagate = False
+
+
+__all__ = ["dataset", "transformers", "models", "strategies", "model_training"]
diff --git a/tsururu/dataset/__init__.py b/tsururu/dataset/__init__.py
index 22334db..ee29819 100644
--- a/tsururu/dataset/__init__.py
+++ b/tsururu/dataset/__init__.py
@@ -1,7 +1,7 @@
-"""Tools for data manipulation."""
-
-from .dataset import TSDataset
-from .pipeline import Pipeline
-from .slice import IndexSlicer
-
-__all__ = ["TSDataset", "IndexSlicer", "Pipeline"]
+"""Tools for data manipulation."""
+
+from .dataset import TSDataset
+from .pipeline import Pipeline
+from .slice import IndexSlicer
+
+__all__ = ["TSDataset", "IndexSlicer", "Pipeline"]
diff --git a/tsururu/dataset/dataset.py b/tsururu/dataset/dataset.py
index 957d9c6..88d57db 100644
--- a/tsururu/dataset/dataset.py
+++ b/tsururu/dataset/dataset.py
@@ -1,215 +1,291 @@
-"""Module for initializing and manipulating time series data."""
-
-from typing import Optional, Sequence, Union
-
-import numpy as np
-import pandas as pd
-
-from .slice import IndexSlicer
-
-slicer = IndexSlicer()
-
-
-class TSDataset:
- """Class for initializing data from pandas DataFrame.
-
- Args:
- data: source dataframe.
- columns_params: columns' roles and types:
- for example:
- {
- "target": {
- "columns": ["value"],
- "type": "continious",
- },
- "date": {...},
- ...
- }.
- delta: the pd.DateOffset class. Usually generated
- automatically, but can be externally specified. Needs to
- create datetime features and new values.
-
- Notes:
- 1. If the printed information about freq and period values is
- not correct for user's task, user should redefine `delta`
- parameter.
-
- """
-
- def _check_single_column(self):
- """Check that `target`, `id`, `date` columns contains only one
- column.
-
- Raises:
- AssertionError: if the `columns` container for one of the
- roles from `target`, `date`, `id` contains more than
- one column.
-
- """
- for role in ["target", "date", "id"]:
- assert (
- len(self.columns_params[role]["columns"]) == 1
- ), f"the `columns` container for role {role} should contain only one column"
-
- def _print_freq_period_info(self):
- """Print the frequency and period information for data for
- validation purposes.
-
- """
- info = slicer.timedelta(
- self.data[self.date_column], delta=self.delta, return_freq_period_info=True
- )[2]
-
- print(info)
-
- def __init__(
- self,
- data: pd.DataFrame,
- columns_params: dict,
- delta: pd.DateOffset = None,
- print_freq_period_info: bool = False,
- ):
- # Columns typing
- for _, role_dict in columns_params.items():
- column_name = role_dict["columns"][0]
- column_type = role_dict["type"]
- if column_type == "continious":
- data[column_name] = data[column_name].astype("float")
- elif column_type == "datetime":
- data[column_name] = pd.to_datetime(data[column_name])
-
- self.data = data
- self.columns_params = columns_params
- self.delta = delta
-
- self._check_single_column()
-
- self.id_column = columns_params["id"]["columns"][0]
- self.target_column = columns_params["target"]["columns"][0]
- self.date_column = columns_params["date"]["columns"][0]
-
- self.data = data.sort_values([self.id_column, self.date_column])
-
- if print_freq_period_info:
- self._print_freq_period_info()
-
- def _crop_segment(
- self,
- segment: np.ndarray,
- test_last: bool,
- horizon: int,
- history: int,
- ) -> np.ndarray:
- """Crop a segment of data based on the history and horizon.
-
- Args:
- segment: the input segment of data to crop.
- test_last: if True, return the last history elements of the
- segment. Otherwise, return the elements between history
- and history + horizon.
-
- Returns:
- the cropped segment of data.
-
- """
- if test_last:
- return segment[-history:]
-
- return segment[-history - horizon : -horizon]
-
- @staticmethod
- def _pad_segment(
- segment: np.ndarray,
- horizon: int,
- time_delta: Union[pd.Timedelta, pd.DateOffset],
- date_col_id: int,
- id_col_id: Sequence[int],
- ) -> np.ndarray:
- """Pad a segment of data with new rows based on the horizon.
-
- Args:
- segment: the input segment of data to pad.
- horizon: the number of new rows to add to the segment.
- time_delta: the time_delta to use for the new date values.
- date_col_id: the index of the date column in the segment.
- id_col_id: the index of the id columns in the segment.
-
- Returns:
- padded segment of data.
-
- """
- result = np.full((horizon, segment.shape[1]), np.nan)
-
- last_date = segment[-1, date_col_id]
- new_dates = pd.date_range(last_date + time_delta, periods=horizon, freq=time_delta)
- result[:, date_col_id] = new_dates
-
- if isinstance(id_col_id, np.ndarray):
- for i in range(len(id_col_id)):
- result[:, id_col_id[i]] = np.repeat(segment[0, id_col_id[i]], horizon)
- else:
- result[:, id_col_id] = np.repeat(segment[0, id_col_id], horizon)
-
- return result
-
- def make_padded_test(
- self,
- horizon: int,
- history: int,
- test_last: bool = True,
- id_column_name: Optional[Union[str, Sequence[str]]] = None,
- ):
- """Generate a test dataframe with new rows with NaN targets.
-
- Args:
- horizon: number of points to prediction
- (number of new rows to add to each segment).
- test_last: if True, return generated test data
- corresponding to the last observation only.
- id_column_name: name of the column(s) by which the data is
- split (in some cases it is different from the original
- id column(s)).
-
- Notes:
- 1. The new rows are filled with NaN target values,
- generated datetimes values (based on the time_delta)
- and the same id values as the last row of the segment.
-
- Returns:
- the padded test dataset.
-
- """
- index_slicer = IndexSlicer()
- columns = self.data.columns
- date_col_id = index_slicer.get_cols_idx(self.data, self.date_column)
- if id_column_name is None:
- id_column_name = self.id_column
- id_col_id = index_slicer.get_cols_idx(self.data, id_column_name)
-
- # Find indices for segments
- ids, time_delta = index_slicer.ids_from_date(
- self.data, self.date_column, delta=self.delta, return_delta=True
- )
-
- data = self.data.to_numpy()
-
- segments = np.split(data, ids)
- segments = [
- self._crop_segment(segment, test_last, horizon, history) for segment in segments
- ]
-
- # Find padded parts for each segment
- padded_segments_results = [
- self._pad_segment(segment, horizon, time_delta, date_col_id, id_col_id)
- for segment in segments
- ]
-
- # Concatenate together
- result = np.vstack(np.concatenate((segments, padded_segments_results), axis=1))
- result = pd.DataFrame(result, columns=columns)
- result[self.date_column] = pd.to_datetime(result[self.date_column])
- result[self.id_column] = result[self.id_column].astype("int")
- other = [col for col in columns if col not in [self.id_column, self.date_column]]
- result[other] = result[other].astype("float")
-
- return result
+"""Module for initializing and manipulating time series data."""
+
+from typing import Optional, Sequence, Union
+
+import numpy as np
+import pandas as pd
+
+from .slice import IndexSlicer
+
+slicer = IndexSlicer()
+
+import logging
+
+logger = logging.getLogger(__name__)
+
+
+class TSDataset:
+ """Class for initializing data from pandas DataFrame.
+
+ Args:
+ data: source dataframe.
+ columns_params: columns' roles and types:
+ for example:
+ {
+ "target": {
+ "columns": ["value"],
+ "type": "continuous",
+ },
+ "date": {...},
+ "id": {...},
+ "exog_1": {...},
+ "exog_2": {...},
+ ...,
+ }.
+ delta: the pd.DateOffset class. Usually generated
+ automatically, but can be externally specified. Needs to
+ create datetime features and new values.
+
+ Notes:
+ 1. If the printed information about freq and period values is
+ not correct for user's task, user should redefine `delta`
+ parameter.
+
+ """
+
+ def _auto_type_columns(self, columns_params, column_name, default_type):
+ if columns_params.get(column_name, None) is not None:
+ if columns_params[column_name].get("type", None) is None:
+ columns_params[column_name]["type"] = default_type
+
+ def _check_single_column(self):
+ """Check that `target`, `id`, `date` columns contains only one
+ column.
+
+ Raises:
+ AssertionError: if the `columns` container for one of the
+ roles from `target`, `date`, `id` contains more than
+ one column.
+
+ """
+ for role in ["target", "date", "id"]:
+ assert (
+ len(self.columns_params[role]["columns"]) == 1
+ ), f"the `columns` container for role {role} should contain only one column"
+
+ def _check_regular(self, print_freq_period_info):
+ """Check that the data is regular.
+
+ Raises:
+ AssertionError: if the data is not regular.
+
+ """
+ ts_count = self.data.loc[:, self.id_column].nunique()
+
+ _, delta, info = slicer.timedelta(
+ self.data[self.date_column], self.delta, return_freq_period_info=True
+ )
+
+ if print_freq_period_info:
+ logger.info(info)
+
+ # Try to reconstruct regular data
+ min_data = self.data.min()
+ max_data = self.data.max()
+
+ reconstructed_data = pd.date_range(
+ start=min_data[self.date_column],
+ end=max_data[self.date_column],
+ freq=delta,
+ )
+ reconstructed_data = np.tile(reconstructed_data, ts_count)
+
+ if reconstructed_data.shape[0] != self.data.shape[0] or not np.all(
+ reconstructed_data == self.data[self.date_column].values
+ ):
+ logger.warning(
+ f"""
+ It seems that the data is not regular. Please, check the data and the frequency info.
+ For multivariate regime it is critical to have regular data.
+ For global regime each regular part of time series will be processed as separate time series.
+ """
+ )
+
+ def __init__(
+ self,
+ data: pd.DataFrame,
+ columns_params: dict,
+ delta: pd.DateOffset = None,
+ print_freq_period_info: bool = True,
+ ):
+ # Columns typing
+ self._auto_type_columns(columns_params, "date", "datetime")
+ self._auto_type_columns(columns_params, "id", "categorical")
+ self._auto_type_columns(columns_params, "target", "continuous")
+
+ for _, role_dict in columns_params.items():
+ column_name = role_dict["columns"][0]
+ column_type = role_dict["type"]
+ if column_type == "continuous":
+ data[column_name] = data[column_name].astype("float")
+ elif column_type == "datetime":
+ data[column_name] = pd.to_datetime(data[column_name])
+
+ self.data = data
+ self.columns_params = columns_params
+ self.delta = delta
+
+ self._check_single_column()
+
+ self.id_column = columns_params["id"]["columns"][0]
+ self.target_column = columns_params["target"]["columns"][0]
+ self.date_column = columns_params["date"]["columns"][0]
+
+ self.data = data.sort_values([self.id_column, self.date_column])
+
+ self._check_regular(print_freq_period_info)
+
+ def _crop_segment(
+ self,
+ segment: np.ndarray,
+ test_last: bool,
+ horizon: int,
+ history: int,
+ ) -> np.ndarray:
+ """Crop a segment of data based on the history and horizon.
+
+ Args:
+ segment: the input segment of data to crop.
+ test_last: if True, return the last history elements of the
+ segment. Otherwise, return the elements between history
+ and history + horizon.
+
+ Returns:
+ the cropped segment of data.
+
+ """
+ if test_last:
+ return segment[-history:]
+
+ return segment[-history - horizon : -horizon]
+
+ @staticmethod
+ def _pad_segment(
+ segment: np.ndarray,
+ horizon: int,
+ time_delta: Union[pd.Timedelta, pd.DateOffset],
+ date_col_id: int,
+ id_col_id: Sequence[int],
+ ) -> np.ndarray:
+ """Pad a segment of data with new rows based on the horizon.
+
+ Args:
+ segment: the input segment of data to pad.
+ horizon: the number of new rows to add to the segment.
+ time_delta: the time_delta to use for the new date values.
+ date_col_id: the index of the date column in the segment.
+ id_col_id: the index of the id columns in the segment.
+
+ Returns:
+ padded segment of data.
+
+ """
+ result = np.full((horizon, segment.shape[1]), np.nan, dtype=object)
+
+ last_date = segment[-1, date_col_id]
+ new_dates = pd.date_range(last_date + time_delta, periods=horizon, freq=time_delta)
+ result[:, date_col_id] = new_dates
+
+ if isinstance(id_col_id, np.ndarray):
+ for i in range(len(id_col_id)):
+ result[:, id_col_id[i]] = np.repeat(segment[0, id_col_id[i]], horizon)
+ else:
+ result[:, id_col_id] = np.repeat(segment[0, id_col_id], horizon)
+
+ return result
+
+ def make_padded_test(
+ self,
+ horizon: int,
+ history: int,
+ test_last: bool = True,
+ test_all: bool = False,
+ step: Optional[int] = None,
+ id_column_name: Optional[Union[str, Sequence[str]]] = None,
+ ):
+ """Generate a test dataframe with new rows with NaN targets.
+
+ Args:
+ horizon: number of points to prediction
+ (number of new rows to add to each segment).
+ history: number of previous for feature generating.
+ test_last: if True, return generated test data built by
+ the last point.
+ test_all: if True, return generated test data for all
+ points (like rolling forecast).
+ step: in how many points to take the next observation while
+ making samples' matrix.
+ Needs for test_all=True.
+ id_column_name: name of the column(s) by which the data is
+ split (in some cases it is different from the originalß
+ id column(s)).
+
+ Notes:
+ 1. The new rows are filled with NaN target values,
+ generated datetimes values (based on the time_delta)
+ and the same id values as the last row of the segment.
+
+ Returns:
+ the padded test dataset.
+
+ """
+ if test_all:
+ current_test_ids = slicer.create_idx_data(
+ self.data,
+ horizon,
+ history,
+ step,
+ date_column=self.date_column,
+ )
+ extended_data = slicer.get_slice(self.data, (current_test_ids, None))
+ extended_data = pd.DataFrame(
+ extended_data.reshape(-1, extended_data.shape[-1]),
+ columns=self.data.columns,
+ )
+ extended_data_nrows = extended_data.shape[0]
+
+ extended_data["segment_col"] = np.repeat(
+ np.arange(extended_data_nrows // history), history
+ )
+ id_column_name = ["segment_col", self.id_column]
+ else:
+ extended_data = self.data
+
+ columns = self.data.columns
+ date_col_id = slicer.get_cols_idx(extended_data, self.date_column)
+ if id_column_name is None:
+ id_column_name = self.id_column
+ id_col_id = slicer.get_cols_idx(extended_data, id_column_name)
+
+ # Find indices for segments
+ ids, time_delta = slicer.ids_from_date(
+ extended_data, self.date_column, delta=self.delta, return_delta=True
+ )
+
+ if test_all:
+ ids = list(np.unique(extended_data.segment_col, return_index=True)[1])[1:]
+
+ data = extended_data.to_numpy()
+
+ segments = np.split(data, ids)
+ segments = [
+ self._crop_segment(segment, test_last, horizon, history) for segment in segments
+ ]
+
+ # Find padded parts for each segment
+ padded_segments_results = [
+ self._pad_segment(segment, horizon, time_delta, date_col_id, id_col_id)
+ for segment in segments
+ ]
+
+ # Concatenate together
+ result = np.vstack(np.concatenate((segments, padded_segments_results), axis=1))
+ if test_all:
+ result = pd.DataFrame(result, columns=list(columns) + ["segment_col"])
+ else:
+ result = pd.DataFrame(result, columns=columns)
+ result[self.date_column] = pd.to_datetime(result[self.date_column])
+ other = [col for col in columns if col not in [self.id_column, self.date_column]]
+ result[other] = result[other].astype("float")
+
+ return result
diff --git a/tsururu/dataset/pipeline.py b/tsururu/dataset/pipeline.py
index c1138d9..da1b7e1 100644
--- a/tsururu/dataset/pipeline.py
+++ b/tsururu/dataset/pipeline.py
@@ -1,526 +1,618 @@
-"""Module for Pipeline class, which is a wrapper for the transformers."""
-
-from itertools import product
-from typing import Tuple
-
-import numpy as np
-import pandas as pd
-
-from ..transformers import (
- SequentialTransformer,
- TargetGenerator,
- Transformer,
- TransformersFactory,
- UnionTransformer,
-)
-from .dataset import TSDataset
-from .slice import IndexSlicer
-
-transormers_factory = TransformersFactory()
-index_slicer = IndexSlicer()
-
-
-class Pipeline:
- """Class for creating and applying a pipeline of transformers.
-
- Args:
- transformers: an outer transformer to be applied.
- multivariate: whether to apply the pipeline to get
- multivariate data.
-
- """
-
- def __init__(self, transformers: Transformer, multivariate: bool = False):
- self.transformers = transformers
- self.multivariate = multivariate
-
- self.is_fitted = False
- self.strategy_name = None
- self.output_features = None
- self.y_original_shape = None
-
- @classmethod
- def from_dict(cls, columns_params: dict, multivariate: bool) -> "Pipeline":
- """Create a pipeline from a dict of column parameters.
-
- Args:
- columns_params: a dictionary containing the parameters
- for each column.
- multivariate: whether the pipeline is multivariate.
-
- Returns:
- the created pipeline.
-
- """
- # Resulting pipeline is a Union transformer with Sequential transformers
- result_union_transformers_list = []
-
- # For each column create a list of transformers for resulting Sequential transformer
- for role, columns_params in columns_params.items():
- current_sequential_transformers_list = []
-
- transformers_dict = columns_params["features"]
- for transformer_name, transformer_params in transformers_dict.items():
- if transformer_name == "LagTransformer" and role == "target":
- features_transformer = transormers_factory.create_transformer(
- transformer_name, transformer_params
- )
- target_transformer = TargetGenerator()
- transformer = UnionTransformer(
- transformers_list=[features_transformer, target_transformer]
- )
- else:
- transformer = transormers_factory.create_transformer(
- transformer_name, transformer_params
- )
- current_sequential_transformers_list.append(transformer)
-
- result_union_transformers_list.append(
- SequentialTransformer(
- transformers_list=current_sequential_transformers_list,
- input_features=columns_params["columns"],
- )
- )
-
- union = UnionTransformer(transformers_list=result_union_transformers_list)
-
- return cls(union, multivariate)
-
- @classmethod
- def easy_setup(cls, roles: dict, pipeline_params: dict, multivariate: bool) -> "Pipeline":
- """Create a pipeline semi-automatically from a dict of columns roles
- and a dict of small description of pipeline.
-
- Args:
- roles: columns' roles and types.
- pipeline_params: a dictionary containing the parameters
- for pipeline.
- multivariate: whether the pipeline is multivariate.
-
- Returns:
- the created pipeline.
-
- """
- # Resulting pipeline is a Union transformer with Sequential transformers
- result_union_transformers_list = []
-
- # For each column create a list of transformers for resulting Sequential transformer
- for role, columns_params in roles.items():
- # Some checks for params' correctness
- if pipeline_params["target_normalizer"] in ["standard_scaler", "none"]:
- assert (
- pipeline_params["normalizer_regime"] == "none"
- ), "normalizer_regime MUST BE `none` for this normalizer"
- else:
- assert (
- pipeline_params["normalizer_regime"] != "none"
- ), "normalizer_regime MUST BE NOT `none` for this normalizer"
- assert pipeline_params["normalizer_regime"] in [
- "none",
- "delta",
- "ratio",
- ], "there is no such normalizer_regime!"
-
- current_sequential_transformers_list = []
- if role == "target":
- target_lag = transormers_factory.create_transformer(
- "LagTransformer", {"lags": pipeline_params["target_lags"]}
- )
- target_generator = TargetGenerator()
- target_union = UnionTransformer(transformers_list=[target_lag, target_generator])
-
- if pipeline_params["normalizer_transform_regime"] == "features":
- transform_features = True
- transform_target = False
- elif pipeline_params["normalizer_transform_regime"] == "target":
- transform_features = False
- transform_target = True
- elif pipeline_params["normalizer_transform_regime"] == "features_target":
- transform_features = True
- transform_target = True
- else:
- assert ValueError("there is no such normalizer_transform_regime!")
-
- if pipeline_params["target_normalizer"] == "standard_scaler":
- target_normalizer = transormers_factory.create_transformer(
- "StandardScalerTransformer",
- {
- "transform_features": transform_features,
- "transform_target": transform_target,
- },
- )
- current_sequential_transformers_list.append(target_normalizer)
- current_sequential_transformers_list.append(target_union)
-
- elif pipeline_params["target_normalizer"] == "difference_normalizer":
- target_normalizer = transormers_factory.create_transformer(
- "DifferenceNormalizer",
- {
- "transform_features": transform_features,
- "transform_target": transform_target,
- "regime": pipeline_params["normalizer_regime"],
- },
- )
- current_sequential_transformers_list.append(target_normalizer)
- current_sequential_transformers_list.append(target_union)
-
- elif pipeline_params["target_normalizer"] == "last_known_normalizer":
- target_normalizer = transormers_factory.create_transformer(
- "LastKnownNormalizer",
- {
- "transform_features": transform_features,
- "transform_target": transform_target,
- "regime": pipeline_params["normalizer_regime"],
- },
- )
- current_sequential_transformers_list.append(target_union)
- current_sequential_transformers_list.append(target_normalizer)
-
- else:
- assert (
- pipeline_params["target_normalizer"] == "none"
- ), "there is no such target_normalizer!"
-
- elif role == "date":
- date_season = transormers_factory.create_transformer(
- "DateSeasonsGenerator",
- {
- "seasonalities": ["y", "m", "d", "doy", "wd"],
- "from_target_date": True,
- },
- )
- date_lag = transormers_factory.create_transformer(
- "LagTransformer", {"lags": pipeline_params["date_lags"]}
- )
- current_sequential_transformers_list.append(date_season)
- current_sequential_transformers_list.append(date_lag)
-
- elif role == "id":
- id_lag = transormers_factory.create_transformer("LagTransformer", {"lags": 1})
- current_sequential_transformers_list.append(id_lag)
-
- else:
- exog_lag = transormers_factory.create_transformer(
- "LagTransformer", {pipeline_params["exog_lags"]}
- )
- current_sequential_transformers_list.append(id_lag)
-
- result_union_transformers_list.append(
- SequentialTransformer(
- transformers_list=current_sequential_transformers_list,
- input_features=columns_params["columns"],
- )
- )
-
- union = UnionTransformer(transformers_list=result_union_transformers_list)
-
- return cls(union, multivariate)
-
- def create_data_dict_for_pipeline(
- self, dataset: TSDataset, features_idx: np.ndarray, target_idx: np.ndarray
- ) -> dict:
- """Create a data dictionary for the pipeline.
-
- Args:
- dataset: the input time series dataset.
- features_idx: the indices of the features in the dataset.
- target_idx: the indices of the target in the dataset.
-
- Returns:
- the created data dictionary.
-
- """
- data = {}
- data["raw_ts_X"] = dataset.data.copy()
- data["raw_ts_y"] = dataset.data.copy()
- data["X"] = np.array([])
- data["y"] = np.array([])
- data["id_column_name"] = dataset.id_column
- data["date_column_name"] = dataset.date_column
- data["target_column_name"] = dataset.target_column
- data["idx_X"] = features_idx
- data["idx_y"] = target_idx
-
- return data
-
- def fit_transform(self, data: dict, strategy_name: str) -> dict:
- """Fit the transformers to the data and transform
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- strategy_name: the name of the strategy to use.
-
- Returns:
- the transformed data dictionary.
-
- """
- self.strategy_name = strategy_name
-
- data = self.transformers.fit_transform(data)
- self.is_fitted = True
-
- return data
-
- def transform(self, data: dict) -> dict:
- """Transforms the input data using the transformers.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- the transformed data dictionary.
-
- """
- data = self.transformers.transform(data)
-
- return data
-
- def from_mimo_to_flatwidemimo(self, data: dict) -> dict:
- """
- Converts the input data from MIMO to FlatWideMIMO format.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- the dictionary containing the converted data and the
- column names of the converted data.
-
- """
- X = pd.DataFrame(data["X"], columns=self.transformers.output_features)
-
- date_features_mask = X.columns.str.contains(data["date_column_name"])
- id_features_mask = X.columns.str.contains(data["id_column_name"])
-
- horizon = data["idx_y"].shape[1]
- fh_array = np.arange(1, horizon + 1)
-
- direct_lag_index_dict = {}
-
- if sum(id_features_mask) > 0:
- id_count = len(X.loc[:, id_features_mask].value_counts())
- else:
- id_count = 1
- direct_lag_index_dict["ID"] = np.repeat(
- np.arange(id_count),
- repeats=(len(X) / id_count * len(fh_array)),
- )
- direct_lag_index_dict["FH"] = np.tile(fh_array, len(X.index))
- direct_lag_index_df = pd.DataFrame(direct_lag_index_dict)
-
- # get date features for each horizon (unfolding MIMO lags over time)
- new_date_features = np.empty(
- (X.shape[0] * horizon, X.loc[:, date_features_mask].shape[1] // horizon)
- )
- try:
- for i in range(horizon):
- new_date_features[i::horizon, :] = X.loc[:, date_features_mask].values[
- :, i::horizon
- ]
- except ValueError:
- raise ValueError(
- "Something is wrong while making FlatWideMIMO strategy's X. Check that you use number of lags equal to horizon for datetime features!"
- )
-
- # get unique date feature names without lag suffix
- date_feature_names = (
- X.columns[date_features_mask].str.replace("__lag_\d+$", "", regex=True).unique()
- )
-
- features_df = pd.DataFrame(
- np.repeat(X.loc[:, ~id_features_mask & ~date_features_mask].values, horizon, axis=0),
- columns=X.loc[:, ~id_features_mask & ~date_features_mask].columns,
- )
-
- X = pd.concat(
- [
- direct_lag_index_df,
- pd.DataFrame(new_date_features, columns=date_feature_names),
- features_df,
- ],
- axis=1,
- )
-
- data["X"] = X.values
-
- data["y"] = data["y"].reshape(-1, 1)
-
- return data, X.columns
-
- def _make_multivariate_X_y(self, data: dict) -> dict:
- """Converts the input data dictionary into a multivariate
- X and y arrays.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- the updated data dictionary and the columns of the X.
-
- """
- X = pd.DataFrame(data["X"], columns=self.output_features)
-
- date_features_colname = X.columns[X.columns.str.contains(data["date_column_name"])].values
- id_features_colname = X.columns[X.columns.str.contains(data["id_column_name"])].values
- other_features_colname = np.setdiff1d(
- X.columns.values,
- np.hstack((id_features_colname, date_features_colname)),
- )
-
- date_features_idx = index_slicer.get_cols_idx(X, date_features_colname)
- other_features_idx = index_slicer.get_cols_idx(X, other_features_colname)
-
- segments_ids = np.append(np.unique(X[id_features_colname], return_index=1)[1], len(X))
- segments_ids_array = np.array(
- [
- np.arange(segments_ids[segment_id - 1], segments_ids[segment_id])
- for segment_id in range(1, len(segments_ids))
- ]
- ).T
-
- date_features_array = index_slicer.get_slice(
- X, (segments_ids_array[:, 0], date_features_idx)
- ).reshape(len(segments_ids_array), len(date_features_colname))
- other_features_array = index_slicer.get_slice(
- X, (segments_ids_array, other_features_idx)
- ).reshape(
- len(segments_ids_array),
- len(other_features_colname) * (len(segments_ids) - 1),
- )
-
- final_other_features_colname = [
- f"{feat}__{i}"
- for i, feat in product(range(len(segments_ids) - 1), other_features_colname)
- ]
-
- data["X"] = np.hstack((date_features_array, other_features_array))
- new_columns = np.hstack((date_features_colname, final_other_features_colname))
-
- if data["y"] is not None:
- data["y"] = index_slicer.get_slice(data["y"], (segments_ids_array, None)).reshape(
- len(segments_ids_array), -1
- )
-
- return data, new_columns
-
- def _make_multivariate_X_y_flatwidemimo(self, data: dict) -> dict:
- """Converts the input data dictionary into a multivariate
- X and y arrays for FlatWideMIMO strategy.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- the updated data dictionary and the columns of the X.
-
- """
- X = pd.DataFrame(data["X"], columns=self.output_features)
-
- id_feature_colname = np.array(["ID"])
- fh_feature_colname = np.array(["FH"])
- date_features_colname = X.columns[X.columns.str.contains(data["date_column_name"])].values
- other_features_colname = np.setdiff1d(
- X.columns.values,
- np.hstack([id_feature_colname, date_features_colname, fh_feature_colname]),
- )
-
- date_features_idx = index_slicer.get_cols_idx(X, date_features_colname)
- other_features_idx = index_slicer.get_cols_idx(X, other_features_colname)
- fh_feature_idx = index_slicer.get_cols_idx(X, fh_feature_colname)
-
- segments_ids = np.append(np.unique(X[id_feature_colname], return_index=1)[1], len(X))
- segments_ids_array = np.array(
- [
- np.arange(segments_ids[segment_id - 1], segments_ids[segment_id])
- for segment_id in range(1, len(segments_ids))
- ]
- ).T
-
- date_features_array = index_slicer.get_slice(
- X, (segments_ids_array[:, 0], date_features_idx)
- ).reshape(len(segments_ids_array), len(date_features_colname))
- fh_feature_array = index_slicer.get_slice(
- X, (segments_ids_array[:, 0], fh_feature_idx)
- ).reshape(len(segments_ids_array), -1)
- other_features_array = index_slicer.get_slice(
- X, (segments_ids_array, other_features_idx)
- ).reshape(
- len(segments_ids_array),
- len(other_features_colname) * (len(segments_ids) - 1),
- )
-
- final_other_features_colname = [
- f"{feat}__{i}"
- for i, feat in product(range(len(segments_ids) - 1), other_features_colname)
- ]
-
- data["X"] = np.hstack((fh_feature_array, date_features_array, other_features_array))
- new_columns = np.hstack(
- (
- fh_feature_colname,
- date_features_colname,
- final_other_features_colname,
- )
- )
-
- if data["y"] is not None:
- data["y"] = index_slicer.get_slice(data["y"], (segments_ids_array, None)).reshape(
- len(segments_ids_array), -1
- )
-
- return data, new_columns
-
- def generate(self, data: dict) -> Tuple[np.ndarray]:
- """Generate the X and y arrays based on the provided data.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- tuple containing the generated dataset's input features (X)
- and targets (y).
- """
- data = self.transformers.generate(data)
- self.y_original_shape = data["y"].shape
-
- if self.strategy_name == "FlatWideMIMOStrategy":
- data, new_output_features = self.from_mimo_to_flatwidemimo(data)
- self.output_features = new_output_features
- else:
- self.output_features = self.transformers.output_features
-
- if self.multivariate:
- if self.strategy_name == "FlatWideMIMOStrategy":
- data, new_output_features = self._make_multivariate_X_y_flatwidemimo(data)
- else:
- data, new_output_features = self._make_multivariate_X_y(data)
- self.output_features = new_output_features
-
- return data["X"], data["y"]
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Applies the inverse transformation to the target variable.
-
- Args:
- y: the target variable to be transformed.
-
- Returns:
- the inverse transformed target variable.
-
- """
- y = y.reshape(self.y_original_shape)
- y = self.transformers.inverse_transform_y(y)
-
- return y.reshape(-1)
+"""Module for Pipeline class, which is a wrapper for the transformers."""
+
+from itertools import product
+from typing import Tuple
+
+import numpy as np
+import pandas as pd
+
+from ..transformers import (
+ SequentialTransformer,
+ TargetGenerator,
+ Transformer,
+ TransformersFactory,
+ UnionTransformer,
+)
+from .dataset import TSDataset
+from .slice import IndexSlicer
+
+transormers_factory = TransformersFactory()
+index_slicer = IndexSlicer()
+
+
+class Pipeline:
+ """Class for creating and applying a pipeline of transformers.
+
+ Args:
+ transformers: an outer transformer to be applied.
+ multivariate: whether to apply the pipeline to get
+ multivariate data.
+
+ """
+
+ def __init__(self, transformers: Transformer, multivariate: bool = False):
+ self.transformers = transformers
+ self.multivariate = multivariate
+
+ self.is_fitted = False
+ self.strategy_name = None
+ self.output_features = None
+ self.y_original_shape = None
+
+ @classmethod
+ def from_dict(cls, columns_params: dict, multivariate: bool) -> "Pipeline":
+ """Create a pipeline from a dict of column parameters.
+
+ Args:
+ columns_params: a dictionary containing the parameters
+ for each column.
+ multivariate: whether the pipeline is multivariate.
+
+ Returns:
+ the created pipeline.
+
+ """
+ # Resulting pipeline is a Union transformer with Sequential transformers
+ result_union_transformers_list = []
+
+ # For each column create a list of transformers for resulting Sequential transformer
+ for role, columns_params in columns_params.items():
+ current_sequential_transformers_list = []
+
+ transformers_dict = columns_params["features"]
+ for transformer_name, transformer_params in transformers_dict.items():
+ assert (
+ role != "target" and transformer_params.get("transform_target", False)
+ ) is False, "It is not possible to use transform_target=True with transformers for exogenous variables"
+
+ if transformer_name == "LagTransformer" and role == "target":
+ features_transformer = transormers_factory.create_transformer(
+ transformer_name, transformer_params
+ )
+ target_transformer = TargetGenerator()
+ transformer = UnionTransformer(
+ transformers_list=[features_transformer, target_transformer]
+ )
+ else:
+ transformer = transormers_factory.create_transformer(
+ transformer_name, transformer_params
+ )
+
+ current_sequential_transformers_list.append(transformer)
+
+ result_union_transformers_list.append(
+ SequentialTransformer(
+ transformers_list=current_sequential_transformers_list,
+ input_features=columns_params["columns"],
+ )
+ )
+
+ union = UnionTransformer(transformers_list=result_union_transformers_list)
+
+ return cls(union, multivariate)
+
+ @classmethod
+ def easy_setup(cls, roles: dict, pipeline_params: dict, multivariate: bool) -> "Pipeline":
+ """Create a pipeline semi-automatically from a dict of columns roles
+ and a dict of small description of pipeline.
+
+ Args:
+ roles: columns' roles and types.
+ pipeline_params: a dictionary containing the parameters
+ for pipeline.
+ multivariate: whether the pipeline is multivariate.
+
+ Returns:
+ the created pipeline.
+
+ Notes: pipeline_params is a dictionary with the following keys:
+ - target_lags (necessary): list of lags for target
+ - date_lags (optional, default False): list of lags for date
+ - exog_lags (optional, deafult False): list of lags for exogenous features
+ - target_normalizer (optional, default standard_scaler): type of target normalizer
+ (none, standard_scaler, difference_normalizer, last_known_normalizer)
+ - target_normalizer_regime (optional, default none): regime of target normalizer
+ (none, delta, ratio)
+
+ """
+ # Check if all necessary keys are in pipeline_params
+ assert "target_lags" in pipeline_params, "target_lags MUST BE in pipeline_params!"
+
+ # Add default values for pipeline_params if they are not provided
+ if "date_lags" not in pipeline_params:
+ pipeline_params["date_lags"] = False
+ if "exog_lags" not in pipeline_params:
+ pipeline_params["exog_lags"] = False
+ if "target_normalizer" not in pipeline_params:
+ pipeline_params["target_normalizer"] = "standard_scaler"
+ if "target_normalizer_regime" not in pipeline_params:
+ pipeline_params["target_normalizer_regime"] = "none"
+
+ # Check some params' correctness
+ assert pipeline_params["target_normalizer"] in [
+ "none",
+ "standard_scaler",
+ "difference_normalizer",
+ "last_known_normalizer",
+ ], "there is no such target_normalizer!"
+
+ assert pipeline_params["target_normalizer_regime"] in [
+ "none",
+ "delta",
+ "ratio",
+ ], "there is no such target_normalizer_regime!"
+
+ if pipeline_params["target_normalizer"] in ["standard_scaler", "none"]:
+ assert (
+ pipeline_params["target_normalizer_regime"] == "none"
+ ), "target_normalizer_regime MUST BE `none` for this normalizer"
+ else:
+ assert (
+ pipeline_params["target_normalizer_regime"] != "none"
+ ), "target_normalizer_regime MUST BE NOT `none` for this normalizer"
+
+ # Resulting pipeline is a Union transformer with Sequential transformers
+ result_union_transformers_list = []
+
+ # For each column create a list of transformers for resulting Sequential transformer
+ for role, columns_params in roles.items():
+ current_sequential_transformers_list = []
+ if role == "target":
+ target_lag = transormers_factory.create_transformer(
+ "LagTransformer", {"lags": pipeline_params["target_lags"]}
+ )
+ target_generator = TargetGenerator()
+ target_union = UnionTransformer(transformers_list=[target_lag, target_generator])
+
+ if pipeline_params["target_normalizer"] == "standard_scaler":
+ target_normalizer = transormers_factory.create_transformer(
+ "StandardScalerTransformer",
+ {
+ "transform_features": True,
+ "transform_target": True,
+ },
+ )
+ current_sequential_transformers_list.append(target_normalizer)
+ current_sequential_transformers_list.append(target_union)
+
+ elif pipeline_params["target_normalizer"] == "difference_normalizer":
+ target_normalizer = transormers_factory.create_transformer(
+ "DifferenceNormalizer",
+ {
+ "transform_features": True,
+ "transform_target": True,
+ "regime": pipeline_params["normalizer_regime"],
+ },
+ )
+ current_sequential_transformers_list.append(target_normalizer)
+ current_sequential_transformers_list.append(target_union)
+
+ elif pipeline_params["target_normalizer"] == "last_known_normalizer":
+ target_normalizer = transormers_factory.create_transformer(
+ "LastKnownNormalizer",
+ {
+ "transform_features": True,
+ "transform_target": True,
+ "regime": pipeline_params["normalizer_regime"],
+ },
+ )
+ current_sequential_transformers_list.append(target_union)
+ current_sequential_transformers_list.append(target_normalizer)
+
+ elif pipeline_params["target_normalizer"] == "none":
+ current_sequential_transformers_list.append(target_union)
+ current_sequential_transformers_list.append(target_lag)
+
+ else:
+ assert (
+ pipeline_params["target_normalizer"] == "none"
+ ), "there is no such target_normalizer!"
+
+ elif role == "date":
+ date_season = transormers_factory.create_transformer(
+ "DateSeasonsGenerator",
+ {
+ "seasonalities": ["y", "m", "d", "doy", "wd"],
+ "from_target_date": True,
+ },
+ )
+ date_scaler = transormers_factory.create_transformer(
+ "StandardScalerTransformer",
+ {
+ "transform_features": True,
+ "transform_target": False,
+ "agg_by_id": False,
+ },
+ )
+ date_lag = transormers_factory.create_transformer(
+ "LagTransformer", {"lags": pipeline_params["date_lags"]}
+ )
+
+ current_sequential_transformers_list.append(date_season)
+ current_sequential_transformers_list.append(date_scaler)
+ current_sequential_transformers_list.append(date_lag)
+
+ elif role == "id":
+ id_encoder = transormers_factory.create_transformer("LabelEncodingTransformer", {})
+ id_scaler = transormers_factory.create_transformer(
+ "StandardScalerTransformer",
+ {
+ "transform_features": True,
+ "transform_target": False,
+ "agg_by_id": False,
+ },
+ )
+ id_lag = transormers_factory.create_transformer("LagTransformer", {"lags": 1})
+ current_sequential_transformers_list.append(id_encoder)
+ current_sequential_transformers_list.append(id_scaler)
+ current_sequential_transformers_list.append(id_lag)
+
+ else:
+ exog_scaler = transormers_factory.create_transformer(
+ "StandardScalerTransformer",
+ {
+ "transform_features": True,
+ "transform_target": False,
+ },
+ )
+ exog_lag = transormers_factory.create_transformer(
+ "LagTransformer", {pipeline_params["exog_lags"]}
+ )
+ current_sequential_transformers_list.append(exog_scaler)
+ current_sequential_transformers_list.append(exog_lag)
+
+ result_union_transformers_list.append(
+ SequentialTransformer(
+ transformers_list=current_sequential_transformers_list,
+ input_features=columns_params["columns"],
+ )
+ )
+
+ union = UnionTransformer(transformers_list=result_union_transformers_list)
+
+ return cls(union, multivariate)
+
+ @staticmethod
+ def create_data_dict_for_pipeline(
+ dataset: TSDataset, features_idx: np.ndarray, target_idx: np.ndarray
+ ) -> dict:
+ """Create a data dictionary for the pipeline.
+
+ Args:
+ dataset: the input time series dataset.
+ features_idx: the indices of the features in the dataset.
+ target_idx: the indices of the target in the dataset.
+
+ Returns:
+ the created data dictionary.
+
+ """
+ data = {}
+ data["raw_ts_X"] = dataset.data.copy()
+ data["raw_ts_y"] = dataset.data.copy()
+ data["X"] = np.array([])
+ data["y"] = np.array([])
+ data["id_column_name"] = dataset.id_column
+ data["date_column_name"] = dataset.date_column
+ data["target_column_name"] = dataset.target_column
+ data["num_series"] = dataset.data[dataset.id_column].nunique()
+ data["idx_X"] = features_idx
+ data["idx_y"] = target_idx
+
+ return data
+
+ def fit_transform(self, data: dict, strategy_name: str) -> dict:
+ """Fit the transformers to the data and transform
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ strategy_name: the name of the strategy to use.
+
+ Returns:
+ the transformed data dictionary.
+
+ """
+ self.strategy_name = strategy_name
+
+ data = self.transformers.fit_transform(data)
+ self.is_fitted = True
+
+ return data
+
+ def transform(self, data: dict) -> dict:
+ """Transforms the input data using the transformers.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ the transformed data dictionary.
+
+ """
+ data = self.transformers.transform(data)
+
+ return data
+
+ def from_mimo_to_flatwidemimo(self, data: dict) -> dict:
+ """
+ Converts the input data from MIMO to FlatWideMIMO format.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ the dictionary containing the converted data and the
+ column names of the converted data.
+
+ """
+ X = pd.DataFrame(data["X"], columns=self.transformers.output_features)
+
+ date_features_mask = X.columns.str.contains(data["date_column_name"])
+ id_features_mask = X.columns.str.contains(data["id_column_name"])
+
+ horizon = data["idx_y"].shape[-1]
+ fh_array = np.arange(1, horizon + 1)
+
+ direct_lag_index_dict = {}
+
+ # TODO: Can we use only else?
+ if sum(id_features_mask) > 0:
+ id_count = len(X.loc[:, id_features_mask].value_counts())
+ else:
+ id_count = len(
+ data["raw_ts_X"].iloc[data["idx_X"][:, 0]][data["id_column_name"]].value_counts()
+ )
+
+ if self.multivariate:
+ direct_lag_index_dict["ID"] = np.repeat(
+ np.arange(id_count),
+ repeats=(len(X) / id_count * len(fh_array)),
+ )
+ else:
+ unique_id = np.unique(
+ [tuple(x) for x in X.loc[:, id_features_mask].values], axis=0, return_index=1
+ )
+ sort_unique_id = unique_id[0][np.argsort(unique_id[1])]
+
+ for id_idx, id_feature in enumerate(X.loc[:, id_features_mask].columns):
+ direct_lag_index_dict[id_feature] = np.repeat(
+ sort_unique_id[:, id_idx],
+ repeats=(len(X) / id_count * len(fh_array)),
+ )
+
+ direct_lag_index_dict["FH"] = np.tile(fh_array, len(X.index))
+ direct_lag_index_df = pd.DataFrame(direct_lag_index_dict)
+
+ # get date features for each horizon (unfolding MIMO lags over time)
+ new_date_features = np.empty(
+ (X.shape[0] * horizon, X.loc[:, date_features_mask].shape[1] // horizon)
+ )
+ try:
+ for i in range(horizon):
+ new_date_features[i::horizon, :] = X.loc[:, date_features_mask].values[
+ :, i::horizon
+ ]
+
+ # get unique date feature names without lag suffix
+ date_feature_names = (
+ X.columns[date_features_mask].str.replace("__lag_\d+$", "", regex=True).unique()
+ )
+
+ features_df = pd.DataFrame(
+ np.repeat(
+ X.loc[:, ~id_features_mask & ~date_features_mask].values, horizon, axis=0
+ ),
+ columns=X.loc[:, ~id_features_mask & ~date_features_mask].columns,
+ )
+
+ X = pd.concat(
+ [
+ direct_lag_index_df,
+ pd.DataFrame(new_date_features, columns=date_feature_names),
+ features_df,
+ ],
+ axis=1,
+ )
+
+ except ValueError:
+ raise ValueError(
+ "Something is wrong while making FlatWideMIMO strategy's X. Check that you use number of lags equal to horizon for datetime features!"
+ )
+
+ data["X"] = X.values
+
+ data["y"] = data["y"].reshape(-1, 1)
+
+ return data, X.columns
+
+ def _make_multivariate_X_y(self, data: dict) -> dict:
+ """Converts the input data dictionary into a multivariate
+ X and y arrays.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ the updated data dictionary and the columns of the X.
+
+ """
+ X = pd.DataFrame(data["X"], columns=self.output_features)
+
+ date_features_colname = X.columns[X.columns.str.contains(data["date_column_name"])].values
+ id_features_colname = X.columns[X.columns.str.contains(data["id_column_name"])].values
+
+ if id_features_colname.size == 0:
+ # add temporary column with id for make multivariate merging
+ id_idx = index_slicer.get_cols_idx(data["raw_ts_X"], data["id_column_name"])
+ X["temp_ID"] = index_slicer.get_slice(data["raw_ts_X"], (data["idx_X"][:, 0], id_idx))
+ id_features_colname = np.array(["temp_ID"])
+
+ other_features_colname = X.columns.difference(
+ np.hstack((id_features_colname, date_features_colname)), sort=False
+ )
+
+ date_features_idx = index_slicer.get_cols_idx(X, date_features_colname)
+ other_features_idx = index_slicer.get_cols_idx(X, other_features_colname)
+
+ segments_ids = np.append(
+ np.unique([tuple(x) for x in X[id_features_colname].values], axis=0, return_index=1)[
+ 1
+ ],
+ len(X),
+ )
+ segments_ids = np.sort(segments_ids)
+ segments_ids_array = np.array(
+ [
+ np.arange(segments_ids[segment_id - 1], segments_ids[segment_id])
+ for segment_id in range(1, len(segments_ids))
+ ]
+ ).T
+
+ date_features_array = index_slicer.get_slice(
+ X, (segments_ids_array[:, 0], date_features_idx)
+ ).reshape(len(segments_ids_array), len(date_features_colname))
+ other_features_array = index_slicer.get_slice(
+ X, (segments_ids_array, other_features_idx)
+ ).reshape(
+ len(segments_ids_array),
+ len(other_features_colname) * (len(segments_ids) - 1),
+ )
+
+ final_other_features_colname = [
+ f"{feat}__{i}"
+ for i, feat in product(range(len(segments_ids) - 1), other_features_colname)
+ ]
+
+ data["X"] = np.hstack((date_features_array, other_features_array))
+ new_columns = np.hstack((date_features_colname, final_other_features_colname))
+
+ if data["y"] is not None:
+ data["y"] = index_slicer.get_slice(data["y"], (segments_ids_array, None)).reshape(
+ len(segments_ids_array), -1
+ )
+
+ return data, new_columns
+
+ def _make_multivariate_X_y_flatwidemimo(self, data: dict) -> dict:
+ """Converts the input data dictionary into a multivariate
+ X and y arrays for FlatWideMIMO strategy.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ the updated data dictionary and the columns of the X.
+
+ """
+ X = pd.DataFrame(data["X"], columns=self.output_features)
+
+ id_feature_colname = np.array(["ID"])
+ fh_feature_colname = np.array(["FH"])
+ date_features_colname = X.columns[X.columns.str.contains(data["date_column_name"])].values
+ other_features_colname = [
+ col
+ for col in X.columns.values
+ if col
+ not in np.hstack([id_feature_colname, date_features_colname, fh_feature_colname])
+ ]
+
+ date_features_idx = index_slicer.get_cols_idx(X, date_features_colname)
+ other_features_idx = index_slicer.get_cols_idx(X, other_features_colname)
+ fh_feature_idx = index_slicer.get_cols_idx(X, fh_feature_colname)
+
+ segments_ids = np.append(np.unique(X[id_feature_colname], return_index=1)[1], len(X))
+ segments_ids = np.sort(segments_ids)
+ segments_ids_array = np.array(
+ [
+ np.arange(segments_ids[segment_id - 1], segments_ids[segment_id])
+ for segment_id in range(1, len(segments_ids))
+ ]
+ ).T
+
+ date_features_array = index_slicer.get_slice(
+ X, (segments_ids_array[:, 0], date_features_idx)
+ ).reshape(len(segments_ids_array), len(date_features_colname))
+ fh_feature_array = index_slicer.get_slice(
+ X, (segments_ids_array[:, 0], fh_feature_idx)
+ ).reshape(len(segments_ids_array), -1)
+ other_features_array = index_slicer.get_slice(
+ X, (segments_ids_array, other_features_idx)
+ ).reshape(
+ len(segments_ids_array),
+ len(other_features_colname) * (len(segments_ids) - 1),
+ )
+
+ final_other_features_colname = [
+ f"{feat}__{i}"
+ for i, feat in product(range(len(segments_ids) - 1), other_features_colname)
+ ]
+
+ data["X"] = np.hstack((fh_feature_array, date_features_array, other_features_array))
+ new_columns = np.hstack(
+ (
+ fh_feature_colname,
+ date_features_colname,
+ final_other_features_colname,
+ )
+ )
+
+ if data["y"] is not None:
+ data["y"] = index_slicer.get_slice(data["y"], (segments_ids_array, None)).reshape(
+ len(segments_ids_array), -1
+ )
+
+ return data, new_columns
+
+ def generate(self, data: dict) -> Tuple[np.ndarray]:
+ """Generate the X and y arrays based on the provided data.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ tuple containing the generated dataset's input features (X)
+ and targets (y).
+ """
+ data = self.transformers.generate(data)
+ self.y_original_shape = data["y"].shape
+
+ if self.strategy_name == "FlatWideMIMOStrategy":
+ data, new_output_features = self.from_mimo_to_flatwidemimo(data)
+ self.output_features = new_output_features
+ else:
+ self.output_features = self.transformers.output_features
+
+ if self.multivariate:
+ if self.strategy_name == "FlatWideMIMOStrategy":
+ data, new_output_features = self._make_multivariate_X_y_flatwidemimo(data)
+ else:
+ data, new_output_features = self._make_multivariate_X_y(data)
+ self.output_features = new_output_features
+
+ return data["X"], data["y"]
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Applies the inverse transformation to the target variable.
+
+ Args:
+ y: the target variable to be transformed.
+
+ Returns:
+ the inverse transformed target variable.
+
+ """
+ y = self.transformers.inverse_transform_y(y)
+
+ return y.reshape(-1)
diff --git a/tsururu/dataset/slice.py b/tsururu/dataset/slice.py
index 32a58df..0f63a1d 100644
--- a/tsururu/dataset/slice.py
+++ b/tsururu/dataset/slice.py
@@ -1,464 +1,464 @@
-"""Module for creating indexes and manipulating data."""
-
-import re
-from typing import List, Optional, Sequence, Tuple, Union
-
-import numpy as np
-import pandas as pd
-from pandas.api.types import is_datetime64_any_dtype as is_datetime
-from pandas.tseries.offsets import MonthEnd
-from scipy import stats as st
-
-
-class IndexSlicer:
- """Combines ways to create indexes and manipulate data."""
-
- @staticmethod
- def _timedelta_above_daily_freq(
- d_multiplier: int,
- check_end_regex: str,
- d_from_series: int,
- freq_name: str,
- inferred_freq: str,
- ) -> Tuple[Union[pd.DateOffset, MonthEnd], str]:
- """Calculate the timedelta based on the given parameters for
- the frequencies above daily.
-
- Args:
- d_multiplier: the multiplier for the number of months.
- check_end_regex: the regular expression to check if the
- inferred frequency is an end frequency.
- d_from_series: the number of periods from the series.
- freq_name: the name of the frequency.
- inferred_freq: the inferred frequency.
-
- Returns:
- the calculated timedelta and the information about the
- frequency and period.
-
- """
- if inferred_freq and re.match(check_end_regex, inferred_freq):
- delta = MonthEnd(d_multiplier * d_from_series)
- freq_period_info = f"freq: {freq_name}End; period: {d_from_series}"
- else:
- delta = pd.DateOffset(months=d_multiplier * d_from_series)
- freq_period_info = f"freq: {freq_name}; period: {d_from_series}"
-
- return delta, freq_period_info
-
- def timedelta(
- self,
- x: np.ndarray,
- delta: Optional[pd.DateOffset] = None,
- return_freq_period_info: bool = False,
- ) -> Union[Tuple[np.ndarray, pd.DateOffset], Tuple[np.ndarray, pd.DateOffset, str]]:
- """Returns the difference between neighboring observations in
- the array in terms of delta and the delta itself.
-
- Args:
- x: array with datetime points.
- delta: custom offset if needed.
- return_freq_period_info: either to return information about
- inferred frequency and period.
-
- Returns:
- difference between neighboring observations and the delta
- itself; if return_freq_period_info is True, return
- information about inferred frequency and period.
-
- Raises:
- AssertionError: if the frequency and period are failed
- to be defined.
-
- Notes:
- 1. It is used to correctly generate indexes for
- observations without mixing observations
- with different IDs.
-
- """
-
- if not is_datetime(x):
- x = pd.to_datetime(x)
-
- if delta is None:
- inferred_freq = pd.infer_freq(x[-3:]) # Need at least 3 dates to infer frequency
- delta = x.diff().iloc[-1]
-
- # N Years
- if delta > pd.Timedelta(days=360) and (delta.days % 365 == 0 or delta.days % 366 == 0):
- delta, freq_period_info = self._timedelta_above_daily_freq(
- d_multiplier=12,
- check_end_regex=r"\b\d*A-|\b\d*YE-",
- d_from_series=x.dt.year.diff().values[-1],
- freq_name="Year",
- inferred_freq=inferred_freq,
- )
-
- # N Quarters and Months
- elif delta > pd.Timedelta(days=27):
- if delta > pd.Timedelta(days=88):
- check_end_regex = r"\b\d*Q-|\b\d*QE-"
- else:
- check_end_regex = r"\b\d*M\b|\b\d*ME\b"
- delta, freq_period_info = self._timedelta_above_daily_freq(
- d_multiplier=1,
- check_end_regex=check_end_regex,
- d_from_series=st.mode(x.dt.month.diff())[0],
- freq_name="Month",
- inferred_freq=inferred_freq,
- )
-
- # N Days
- elif delta >= pd.Timedelta(days=1):
- freq_period_info = f"freq: Day; period: {delta.days}"
-
- # N Hours; Min; Sec; etc
- elif delta <= pd.Timedelta(days=1):
- freq_period_info = f"freq: less then Day (Hour, Min, Sec, etc); period: {delta.total_seconds()} seconds"
- else:
- freq_period_info = f"Custom OffSet: {delta}"
-
- assert delta, "either or both frequency and period are failed to be defined."
-
- if return_freq_period_info:
- return x.diff().fillna(delta).values, delta, freq_period_info
-
- return x.diff().fillna(delta).values, delta
-
- @staticmethod
- def get_cols_idx(
- data: pd.DataFrame, columns: Union[str, Sequence[str]]
- ) -> Union[int, np.ndarray]:
- """Get numeric index of columns by column names.
-
- Args:
- data: source dataframe.
- columns: sequence of columns or single column.
-
- Returns:
- sequence of int indexes or single int.
-
- """
- if type(columns) is str:
- idx = data.columns.get_loc(columns)
- else:
- idx = data.columns.get_indexer(columns)
-
- return idx
-
- @staticmethod
- def get_slice(data: pd.DataFrame, k: Tuple[np.ndarray]) -> np.ndarray:
- """Get 3d slice.
-
- Args:
- data: source dataframe.
- k: tuple of integer sequences.
-
- Returns:
- slice.
-
- """
- rows, cols = k
- if cols is None:
- if isinstance(data, np.ndarray):
- new_data = data[rows, :]
- else:
- # new_data = data.iloc[:, :].values[rows]
- new_data = data.values[rows]
- else:
- if isinstance(data, np.ndarray):
- new_data = data[rows, cols]
- else:
- new_data = data.iloc[:, cols].values[rows]
-
- if len(new_data.shape) == 2:
- return np.expand_dims(new_data, axis=0)
- return new_data
-
- def ids_from_date(
- self,
- data: pd.DataFrame,
- date_column: str,
- delta: Optional[bool] = None,
- return_delta: bool = False,
- ) -> List[int]:
- """Find indexes by which the dataset can be divided into
- segments that are "identical" in terms of time stamps, but
- different in terms of some identifier.
-
- Args:
- data: source dataframe.
- date_column: date column name in source dataframe.
- delta: custom offset if needed.
- return_delta: whether to return value of delta.
-
- Returns:
- indexes of the ends of segments; if return_delta is True,
- return value of delta.
-
- """
- _, time_delta = self.timedelta(data[date_column], delta=delta)
- ids = (
- np.argwhere(
- data[date_column][1:].values != (data[date_column] + time_delta)[:-1].values
- )
- + 1
- )
- if return_delta:
- return list(ids.reshape(-1)), time_delta
-
- return list(ids.reshape(-1))
-
- def _rolling_window(
- self,
- a: np.ndarray,
- window: int,
- step: int,
- from_last: bool = True,
- ) -> np.ndarray:
- """Generate a rolling window view of a numpy array.
-
- Args:
- a: the input array.
- window: the size of the window.
- step: the step size between windows.
- from_last: whether to start the window from last element.
-
- Returns:
- the rolling window view of the input array.
-
- """
- sliding_window = np.lib.stride_tricks.sliding_window_view(a, window)
-
- return sliding_window[(len(a) - window) % step if from_last else 0 :][::step]
-
- def _create_idx_data(
- self, data: np.ndarray, horizon: int, history: int, step: int, *_
- ) -> np.ndarray:
- """Create index data for train observations' windows.
-
- Args:
- data: the input data array.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: the step size between each window.
-
- Returns:
- the index data array for train observations' windows.
-
- """
- return self._rolling_window(np.arange(len(data))[:-horizon], history, step)
-
- def _create_idx_target(
- self,
- data: np.ndarray,
- horizon: int,
- history: int,
- step: int,
- n_last_horizon: Optional[int],
- ) -> np.ndarray:
- """Create index data for targets.
-
- Args:
- data: the input data array.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: the step size between each window.
- n_last_horizon: how many last points we wish to leave.
-
- Returns:
- the index data array for targets.
-
- """
- return self._rolling_window(np.arange(len(data))[history:], horizon, step)[
- :, -n_last_horizon:
- ]
-
- def _create_idx_test(
- self, data: np.ndarray, horizon: int, history: int, step: int, *_
- ) -> np.ndarray:
- """Create index data for test observations' windows.
-
- Args:
- data: the input data array.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: the step size between each window.
-
- Returns:
- the index data array for test observations' windows.
-
- """
- return self._rolling_window(np.arange(len(data)), history, step)[-(horizon + 1) : -horizon]
-
- def _get_ids(
- self,
- func,
- data: np.ndarray,
- horizon: int,
- history: int,
- step: int,
- ids: np.ndarray,
- cond: int = 0,
- n_last_horizon: Optional[int] = None,
- ) -> np.ndarray:
- """Get indices for creating windows of data.
-
- Args:
- func: the function to create index data.
- data: the input data array.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: the step size between each window.
- ids: indexes of the ends of segments.
- cond: the condition for segment length.
- n_last_horizon: how many last points to leave.
-
- Returns:
- the index data array.
-
- """
- prev = 0
- inds = []
- for i, split in enumerate(ids + [len(data)]):
- if isinstance(data, np.ndarray):
- segment = data[prev:split]
- else:
- segment = data.iloc[prev:split]
- if len(segment) >= cond:
- ind = func(segment, horizon, history, step, n_last_horizon) + prev
- inds.append(ind)
- prev = split
- inds = np.vstack(inds)
-
- return inds
-
- def create_idx_data(
- self,
- data: pd.DataFrame,
- horizon: int,
- history: int,
- step: int,
- ids: Optional[np.ndarray] = None,
- date_column: Optional[str] = None,
- delta: Optional[pd.DateOffset] = None,
- ):
- """Find indices that, when applied to the original dataset,
- can be used to obtain windows for building
- train observations' features.
-
- Args:
- data: source dataframe.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: number of points to take the next observation.
- ids: indexes of the ends of segments.
- date_column: date column name in source dataframe,
- needs in the absence of ids.
-
- Returns:
- indices of train observations' windows.
-
- """
- if ids is None:
- ids = self.ids_from_date(data, date_column, delta=delta)
-
- seq_idx_data = self._get_ids(
- self._create_idx_data,
- data,
- horizon,
- history,
- step,
- ids,
- history + horizon,
- )
-
- return seq_idx_data
-
- def create_idx_test(
- self,
- data: pd.DataFrame,
- horizon: int,
- history: int,
- step: int,
- ids: Optional[np.ndarray] = None,
- date_column: Optional[str] = None,
- delta: Optional[pd.DateOffset] = None,
- ):
- """Find indices that, when applied to the original dataset,
- can be used to obtain windows for building
- test observations' features.
-
- Arguments:
- data: source dataframe.
- horizon: the number of steps to predict into the future.
- history: the number of past steps to consider.
- step: number of points to take the next observation.
- ids: indexes of the ends of segments.
- date_column: date column name in source dataframe,
- needs in the absence of ids.
-
- Returns:
- indices of test observations' windows.
-
- """
- if ids is None:
- ids = self.ids_from_date(data, date_column, delta=delta)
-
- seq_idx_test = self._get_ids(
- self._create_idx_test,
- data,
- horizon,
- history,
- step,
- ids,
- history,
- )
-
- return seq_idx_test
-
- def create_idx_target(
- self,
- data: pd.DataFrame,
- horizon: int,
- history: int,
- step: int,
- ids: Optional[np.ndarray] = None,
- date_column: Optional[str] = None,
- delta: Optional[pd.DateOffset] = None,
- n_last_horizon: Optional[int] = None,
- ):
- """Find indices that, when applied to the original dataset,
- can be used to obtain targets.
-
- Arguments:
- data: source dataframe.
- horizon: number of points to prediction.
- history: number of points to use for prediction.
- step: number of points to take the next observation.
- ids: indexes of the ends of segments.
- date_column: date column name in source dataframe,
- needs in the absence of ids.
- n_last_horizon: how many last points we wish to leave.
-
- Returns:
- indices of targets.
- """
- if ids is None:
- ids = self.ids_from_date(data, date_column, delta=delta)
-
- if n_last_horizon is None:
- n_last_horizon = horizon
-
- seq_idx_target = self._get_ids(
- self._create_idx_target,
- data,
- horizon,
- history,
- step,
- ids,
- history + horizon,
- n_last_horizon,
- )
-
- return seq_idx_target
+"""Module for creating indexes and manipulating data."""
+
+import re
+from typing import List, Optional, Sequence, Tuple, Union
+
+import numpy as np
+import pandas as pd
+from pandas.api.types import is_datetime64_any_dtype as is_datetime
+from pandas.tseries.offsets import MonthEnd
+from scipy import stats as st
+
+
+class IndexSlicer:
+ """Combines ways to create indexes and manipulate data."""
+
+ @staticmethod
+ def _timedelta_above_daily_freq(
+ d_multiplier: int,
+ check_end_regex: str,
+ d_from_series: int,
+ freq_name: str,
+ inferred_freq: str,
+ ) -> Tuple[Union[pd.DateOffset, MonthEnd], str]:
+ """Calculate the timedelta based on the given parameters for
+ the frequencies above daily.
+
+ Args:
+ d_multiplier: the multiplier for the number of months.
+ check_end_regex: the regular expression to check if the
+ inferred frequency is an end frequency.
+ d_from_series: the number of periods from the series.
+ freq_name: the name of the frequency.
+ inferred_freq: the inferred frequency.
+
+ Returns:
+ the calculated timedelta and the information about the
+ frequency and period.
+
+ """
+ if inferred_freq and re.match(check_end_regex, inferred_freq):
+ delta = MonthEnd(d_multiplier * d_from_series)
+ freq_period_info = f"freq: {freq_name}End; period: {d_from_series}"
+ else:
+ delta = pd.DateOffset(months=d_multiplier * d_from_series)
+ freq_period_info = f"freq: {freq_name}; period: {d_from_series}"
+
+ return delta, freq_period_info
+
+ def timedelta(
+ self,
+ x: np.ndarray,
+ delta: Optional[pd.DateOffset] = None,
+ return_freq_period_info: bool = False,
+ ) -> Union[Tuple[np.ndarray, pd.DateOffset], Tuple[np.ndarray, pd.DateOffset, str]]:
+ """Returns the difference between neighboring observations in
+ the array in terms of delta and the delta itself.
+
+ Args:
+ x: array with datetime points.
+ delta: custom offset if needed.
+ return_freq_period_info: either to return information about
+ inferred frequency and period.
+
+ Returns:
+ difference between neighboring observations and the delta
+ itself; if return_freq_period_info is True, return
+ information about inferred frequency and period.
+
+ Raises:
+ AssertionError: if the frequency and period are failed
+ to be defined.
+
+ Notes:
+ 1. It is used to correctly generate indexes for
+ observations without mixing observations
+ with different IDs.
+
+ """
+
+ if not is_datetime(x):
+ x = pd.to_datetime(x)
+
+ if delta is None:
+ inferred_freq = pd.infer_freq(x[-3:]) # Need at least 3 dates to infer frequency
+ delta = x.diff().iloc[-1]
+
+ # N Years
+ if delta > pd.Timedelta(days=360) and (delta.days % 365 == 0 or delta.days % 366 == 0):
+ delta, freq_period_info = self._timedelta_above_daily_freq(
+ d_multiplier=12,
+ check_end_regex=r"\b\d*A-|\b\d*YE-",
+ d_from_series=x.dt.year.diff().values[-1],
+ freq_name="Year",
+ inferred_freq=inferred_freq,
+ )
+
+ # N Quarters and Months
+ elif delta > pd.Timedelta(days=27):
+ if delta > pd.Timedelta(days=88):
+ check_end_regex = r"\b\d*Q-|\b\d*QE-"
+ else:
+ check_end_regex = r"\b\d*M\b|\b\d*ME\b"
+ delta, freq_period_info = self._timedelta_above_daily_freq(
+ d_multiplier=1,
+ check_end_regex=check_end_regex,
+ d_from_series=st.mode(x.dt.month.diff())[0],
+ freq_name="Month",
+ inferred_freq=inferred_freq,
+ )
+
+ # N Days
+ elif delta >= pd.Timedelta(days=1):
+ freq_period_info = f"freq: Day; period: {delta.days}"
+
+ # N Hours; Min; Sec; etc
+ elif delta <= pd.Timedelta(days=1):
+ freq_period_info = f"freq: less then Day (Hour, Min, Sec, etc); period: {delta.total_seconds()} seconds"
+ else:
+ freq_period_info = f"Custom OffSet: {delta}"
+
+ assert delta, "either or both frequency and period are failed to be defined."
+
+ if return_freq_period_info:
+ return x.diff().fillna(delta).values, delta, freq_period_info
+
+ return x.diff().fillna(delta).values, delta
+
+ @staticmethod
+ def get_cols_idx(
+ data: pd.DataFrame, columns: Union[str, Sequence[str]]
+ ) -> Union[int, np.ndarray]:
+ """Get numeric index of columns by column names.
+
+ Args:
+ data: source dataframe.
+ columns: sequence of columns or single column.
+
+ Returns:
+ sequence of int indexes or single int.
+
+ """
+ if type(columns) is str:
+ idx = data.columns.get_loc(columns)
+ else:
+ idx = data.columns.get_indexer(columns)
+
+ return idx
+
+ @staticmethod
+ def get_slice(data: pd.DataFrame, k: Tuple[np.ndarray]) -> np.ndarray:
+ """Get 3d slice.
+
+ Args:
+ data: source dataframe.
+ k: tuple of integer sequences.
+
+ Returns:
+ slice.
+
+ """
+ rows, cols = k
+ if cols is None:
+ if isinstance(data, np.ndarray):
+ new_data = data[rows, :]
+ else:
+ # new_data = data.iloc[:, :].values[rows]
+ new_data = data.values[rows]
+ else:
+ if isinstance(data, np.ndarray):
+ new_data = data[rows, cols]
+ else:
+ new_data = data.iloc[:, cols].values[rows]
+
+ if len(new_data.shape) == 2:
+ return np.expand_dims(new_data, axis=0)
+ return new_data
+
+ def ids_from_date(
+ self,
+ data: pd.DataFrame,
+ date_column: str,
+ delta: Optional[bool] = None,
+ return_delta: bool = False,
+ ) -> List[int]:
+ """Find indexes by which the dataset can be divided into
+ segments that are "identical" in terms of time stamps, but
+ different in terms of some identifier.
+
+ Args:
+ data: source dataframe.
+ date_column: date column name in source dataframe.
+ delta: custom offset if needed.
+ return_delta: whether to return value of delta.
+
+ Returns:
+ indexes of the ends of segments; if return_delta is True,
+ return value of delta.
+
+ """
+ _, time_delta = self.timedelta(data[date_column], delta=delta)
+ ids = (
+ np.argwhere(
+ data[date_column][1:].values != (data[date_column] + time_delta)[:-1].values
+ )
+ + 1
+ )
+ if return_delta:
+ return list(ids.reshape(-1)), time_delta
+
+ return list(ids.reshape(-1))
+
+ def _rolling_window(
+ self,
+ a: np.ndarray,
+ window: int,
+ step: int,
+ from_last: bool = True,
+ ) -> np.ndarray:
+ """Generate a rolling window view of a numpy array.
+
+ Args:
+ a: the input array.
+ window: the size of the window.
+ step: the step size between windows.
+ from_last: whether to start the window from last element.
+
+ Returns:
+ the rolling window view of the input array.
+
+ """
+ sliding_window = np.lib.stride_tricks.sliding_window_view(a, window)
+
+ return sliding_window[(len(a) - window) % step if from_last else 0 :][::step]
+
+ def _create_idx_data(
+ self, data: np.ndarray, horizon: int, history: int, step: int, *_
+ ) -> np.ndarray:
+ """Create index data for train observations' windows.
+
+ Args:
+ data: the input data array.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: the step size between each window.
+
+ Returns:
+ the index data array for train observations' windows.
+
+ """
+ return self._rolling_window(np.arange(len(data))[:-horizon], history, step)
+
+ def _create_idx_target(
+ self,
+ data: np.ndarray,
+ horizon: int,
+ history: int,
+ step: int,
+ n_last_horizon: Optional[int],
+ ) -> np.ndarray:
+ """Create index data for targets.
+
+ Args:
+ data: the input data array.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: the step size between each window.
+ n_last_horizon: how many last points we wish to leave.
+
+ Returns:
+ the index data array for targets.
+
+ """
+ return self._rolling_window(np.arange(len(data))[history:], horizon, step)[
+ :, -n_last_horizon:
+ ]
+
+ def _create_idx_test(
+ self, data: np.ndarray, horizon: int, history: int, step: int, *_
+ ) -> np.ndarray:
+ """Create index data for test observations' windows.
+
+ Args:
+ data: the input data array.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: the step size between each window.
+
+ Returns:
+ the index data array for test observations' windows.
+
+ """
+ return self._rolling_window(np.arange(len(data)), history, step)[-(horizon + 1) : -horizon]
+
+ def _get_ids(
+ self,
+ func,
+ data: np.ndarray,
+ horizon: int,
+ history: int,
+ step: int,
+ ids: np.ndarray,
+ cond: int = 0,
+ n_last_horizon: Optional[int] = None,
+ ) -> np.ndarray:
+ """Get indices for creating windows of data.
+
+ Args:
+ func: the function to create index data.
+ data: the input data array.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: the step size between each window.
+ ids: indexes of the ends of segments.
+ cond: the condition for segment length.
+ n_last_horizon: how many last points to leave.
+
+ Returns:
+ the index data array.
+
+ """
+ prev = 0
+ inds = []
+ for i, split in enumerate(ids + [len(data)]):
+ if isinstance(data, np.ndarray):
+ segment = data[prev:split]
+ else:
+ segment = data.iloc[prev:split]
+ if len(segment) >= cond:
+ ind = func(segment, horizon, history, step, n_last_horizon) + prev
+ inds.append(ind)
+ prev = split
+ inds = np.vstack(inds)
+
+ return inds
+
+ def create_idx_data(
+ self,
+ data: pd.DataFrame,
+ horizon: int,
+ history: int,
+ step: int,
+ ids: Optional[np.ndarray] = None,
+ date_column: Optional[str] = None,
+ delta: Optional[pd.DateOffset] = None,
+ ):
+ """Find indices that, when applied to the original dataset,
+ can be used to obtain windows for building
+ train observations' features.
+
+ Args:
+ data: source dataframe.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: number of points to take the next observation.
+ ids: indexes of the ends of segments.
+ date_column: date column name in source dataframe,
+ needs in the absence of ids.
+
+ Returns:
+ indices of train observations' windows.
+
+ """
+ if ids is None:
+ ids = self.ids_from_date(data, date_column, delta=delta)
+
+ seq_idx_data = self._get_ids(
+ self._create_idx_data,
+ data,
+ horizon,
+ history,
+ step,
+ ids,
+ history + horizon,
+ )
+
+ return seq_idx_data
+
+ def create_idx_test(
+ self,
+ data: pd.DataFrame,
+ horizon: int,
+ history: int,
+ step: int,
+ ids: Optional[np.ndarray] = None,
+ date_column: Optional[str] = None,
+ delta: Optional[pd.DateOffset] = None,
+ ):
+ """Find indices that, when applied to the original dataset,
+ can be used to obtain windows for building
+ test observations' features.
+
+ Arguments:
+ data: source dataframe.
+ horizon: the number of steps to predict into the future.
+ history: the number of past steps to consider.
+ step: number of points to take the next observation.
+ ids: indexes of the ends of segments.
+ date_column: date column name in source dataframe,
+ needs in the absence of ids.
+
+ Returns:
+ indices of test observations' windows.
+
+ """
+ if ids is None:
+ ids = self.ids_from_date(data, date_column, delta=delta)
+
+ seq_idx_test = self._get_ids(
+ self._create_idx_test,
+ data,
+ horizon,
+ history,
+ step,
+ ids,
+ history,
+ )
+
+ return seq_idx_test
+
+ def create_idx_target(
+ self,
+ data: pd.DataFrame,
+ horizon: int,
+ history: int,
+ step: int,
+ ids: Optional[np.ndarray] = None,
+ date_column: Optional[str] = None,
+ delta: Optional[pd.DateOffset] = None,
+ n_last_horizon: Optional[int] = None,
+ ):
+ """Find indices that, when applied to the original dataset,
+ can be used to obtain targets.
+
+ Arguments:
+ data: source dataframe.
+ horizon: number of points to prediction.
+ history: number of points to use for prediction.
+ step: number of points to take the next observation.
+ ids: indexes of the ends of segments.
+ date_column: date column name in source dataframe,
+ needs in the absence of ids.
+ n_last_horizon: how many last points we wish to leave.
+
+ Returns:
+ indices of targets.
+ """
+ if ids is None:
+ ids = self.ids_from_date(data, date_column, delta=delta)
+
+ if n_last_horizon is None:
+ n_last_horizon = horizon
+
+ seq_idx_target = self._get_ids(
+ self._create_idx_target,
+ data,
+ horizon,
+ history,
+ step,
+ ids,
+ history + horizon,
+ n_last_horizon,
+ )
+
+ return seq_idx_target
diff --git a/tsururu/model_training/__init__.py b/tsururu/model_training/__init__.py
new file mode 100644
index 0000000..f66766d
--- /dev/null
+++ b/tsururu/model_training/__init__.py
@@ -0,0 +1,5 @@
+from .torch_based import metrics
+from .torch_based.data_provider import Dataset_NN
+from .torch_based import callbacks
+
+__all__ = ["Dataset_NN", "metrics", "callbacks"]
\ No newline at end of file
diff --git a/tsururu/model_training/torch_based/__init__.py b/tsururu/model_training/torch_based/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tsururu/model_training/torch_based/callbacks.py b/tsururu/model_training/torch_based/callbacks.py
new file mode 100644
index 0000000..5d84724
--- /dev/null
+++ b/tsururu/model_training/torch_based/callbacks.py
@@ -0,0 +1,314 @@
+"""Module for callbacks used in training process."""
+
+import heapq
+import logging
+import os
+from pathlib import Path
+from typing import Optional
+
+try:
+ import torch
+except ImportError:
+ torch = None
+
+
+logger = logging.getLogger(__name__)
+
+
+class Callback:
+ """Base class for callbacks, that are used in training process."""
+
+ def on_epoch_begin(self, epoch, logs=None):
+ pass
+
+ def on_epoch_end(self, epoch, logs=None):
+ pass
+
+ def on_batch_begin(self, logs=None):
+ pass
+
+ def on_batch_end(self, logs=None):
+ pass
+
+ def on_train_begin(self, logs=None):
+ pass
+
+ def on_train_end(self, logs=None):
+ pass
+
+
+class ES_Checkpoints_Manager(Callback):
+ """Manager for early stopping and checkpointing during training.
+
+ Args:
+ monitor: metric to monitor for early stopping and checkpointing.
+ verbose: verbosity mode, 0 or 1.
+ save_k_best: number of best checkpoints to keep.
+ early_stopping_patience: number of epochs to wait for an improvement before stopping.
+ mode: mode for monitoring, either 'min' or 'max'.
+ save_to_dir: whether to save checkpoints to a directory.
+ """
+
+ def __init__(
+ self,
+ monitor: str = "val_loss",
+ verbose: int = 1,
+ save_k_best: int = 1,
+ early_stopping_patience: int = 5,
+ mode: str = "min",
+ save_to_dir: bool = True,
+ ):
+ self.monitor = monitor
+ self.verbose = verbose
+ self.save_k_best = save_k_best
+ self.early_stopping_patience = early_stopping_patience
+ self.mode = mode
+ self.save_to_dir = save_to_dir
+
+ self.best_snapshots = []
+ self.best_score = None
+ self.early_stopping_counter = 0
+ self.stop_training = False
+
+ self.last_snapshot = None # Для сохранения последней эпохи
+
+ @staticmethod
+ def _safe_remove(file_path: str):
+ """Safely removes a file if it exists.
+
+ Args:
+ file_path: path to the file to be removed.
+
+ """
+ if os.path.exists(file_path):
+ os.remove(file_path)
+
+ def _del_inner_params(self):
+ """Deletes internal parameters to reset the manager."""
+ self.best_snapshots = []
+ self.best_score = None
+ self.early_stopping_counter = 0
+ self.stop_training = False
+ self.last_snapshot = None
+
+ def _is_improvement(self, current: float, best: float) -> bool:
+ """Checks if the current score is an improvement.
+
+ Args:
+ current: current score.
+ best: best score.
+
+ Returns:
+ whether the current score is an improvement.
+
+ """
+ if self.mode == "min":
+ return current < best
+ else:
+ return current > best
+
+ def _should_save_checkpoint(self, current_score: float) -> bool:
+ """Checks if the current checkpoint should be saved.
+
+ Args:
+ current_score: current score.
+
+ Returns:
+ whether the checkpoint should be saved.
+
+ """
+ if len(self.best_snapshots) < self.save_k_best:
+ return True
+
+ worst_best_score = (
+ -self.best_snapshots[0][0] if self.mode == "min" else self.best_snapshots[0][0]
+ )
+ return self._is_improvement(current_score, worst_best_score)
+
+ def _update_worst_best_score(self):
+ """Updates the worst best score from the saved checkpoints."""
+ if self.mode == "min":
+ self.worst_best_score = -self.best_snapshots[0][0]
+ else:
+ self.worst_best_score = self.best_snapshots[0][0]
+
+ def get_best_snapshot(self) -> dict:
+ """Returns the best saved snapshot.
+
+ Returns:
+ the best model snapshot.
+
+ """
+ best_snapshot = [
+ snapshot[1]["model"]
+ for snapshot in sorted(
+ self.best_snapshots, key=lambda x: -x[0] if self.mode == "min" else x[0]
+ )
+ ][-1]
+
+ if self.save_to_dir:
+ return torch.load(best_snapshot)
+ return best_snapshot
+
+ def get_average_snapshot(self) -> dict:
+ """Returns the average snapshot.
+
+ Returns:
+ the average model snapshot.
+
+ Notes:
+ - Use simple averaging to combine the weights of the saved checkpoints.
+ - Is called by trainer at the end of training if averaging_snapshots is True.
+
+ """
+ average_snapshot = None
+ num_snapshots = len(self.best_snapshots)
+
+ for snapshot in self.best_snapshots:
+ model_state = torch.load(snapshot[1]["model"])
+
+ if average_snapshot is None:
+ average_snapshot = {}
+ for key, value in model_state.items():
+ average_snapshot[key] = value.clone()
+ else:
+ for key, value in model_state.items():
+ average_snapshot[key] += value
+
+ for key in average_snapshot:
+ average_snapshot[key] /= num_snapshots
+
+ return average_snapshot
+
+ def get_last_snapshot(self, full_state: bool = False) -> dict:
+ """Returns the last saved snapshot.
+
+ Args:
+ full_state: Whether to return the full state (model, optimizer, scheduler) or only the model.
+
+ Returns:
+ dict: The last saved snapshot with model, optimizer, and scheduler if full_state is True.
+ Otherwise, only the model state.
+ """
+ if self.last_snapshot is None:
+ raise ValueError("No last snapshot saved.")
+
+ if self.save_to_dir:
+ model_state = torch.load(self.last_snapshot["model"])
+ if full_state:
+ optimizer_state = torch.load(self.last_snapshot["optimizer"])
+ scheduler_state = (
+ torch.load(self.last_snapshot["scheduler"])
+ if self.last_snapshot["scheduler"]
+ and os.path.exists(self.last_snapshot["scheduler"])
+ else None
+ )
+ return {
+ "model": model_state,
+ "optimizer": optimizer_state,
+ "scheduler": scheduler_state,
+ }
+ return model_state
+
+ # Если мы сохраняем без файловой системы
+ if full_state:
+ return {
+ "model": self.last_snapshot["model"],
+ "optimizer": self.last_snapshot["optimizer"],
+ "scheduler": self.last_snapshot["scheduler"],
+ }
+ return self.last_snapshot["model"]
+
+ def on_train_begin(self, logs: Optional[dict] = None):
+ """Called at the beginning of training."""
+ self._del_inner_params()
+
+ def on_epoch_end(self, epoch: int, logs: Optional[dict] = None):
+ """Called at the end of each epoch."""
+ current_score = logs.get(self.monitor)
+ if current_score is None:
+ return
+
+ model_state = logs["model_state_dict"]
+ optimizer_state = logs["optimizer_state_dict"]
+ scheduler_state = logs.get("scheduler_state_dict", None)
+
+ if self.save_to_dir:
+ model_path = Path(logs.get("filepath")) / f"model_{epoch}.pth"
+ opt_path = Path(logs.get("filepath")) / f"opt_{epoch}.pth"
+ sch_path = Path(logs.get("filepath")) / f"sch_{epoch}.pth"
+ model_path.parent.mkdir(parents=True, exist_ok=True)
+
+ # Save the last epoch's snapshot for resuming training
+ self.last_snapshot = {
+ "model": model_path if self.save_to_dir else model_state,
+ "optimizer": opt_path if self.save_to_dir else optimizer_state,
+ "scheduler": sch_path if self.save_to_dir else scheduler_state,
+ "epoch": epoch,
+ }
+
+ if self.save_to_dir:
+ torch.save(model_state, model_path)
+ torch.save(optimizer_state, opt_path)
+ if scheduler_state:
+ torch.save(scheduler_state, sch_path)
+ if self.verbose:
+ logger.info(f"Last epoch model saved to {model_path}")
+ logger.info(f"Last epoch optimizer saved to {opt_path}")
+
+ if scheduler_state:
+ logger.info(f"Last epoch scheduler saved to {sch_path}")
+
+ # Save top-k best snapshots
+ if self.save_k_best > 0 and self._should_save_checkpoint(current_score):
+ if len(self.best_snapshots) == self.save_k_best:
+ worst_snapshot = heapq.heappop(self.best_snapshots)
+ if self.save_to_dir:
+ self._safe_remove(worst_snapshot[1]["model"])
+ self._safe_remove(worst_snapshot[1]["optimizer"])
+ self._safe_remove(worst_snapshot[1]["scheduler"])
+ if self.verbose:
+ logger.info(
+ f"Removing worst model snapshot: from epoch {worst_snapshot[1]['epoch']}"
+ )
+
+ snapshot_info = {
+ "model": model_path if self.save_to_dir else model_state,
+ "optimizer": opt_path if self.save_to_dir else optimizer_state,
+ "scheduler": sch_path if self.save_to_dir else scheduler_state,
+ "epoch": epoch,
+ }
+
+ if self.mode == "min":
+ heapq.heappush(self.best_snapshots, (-current_score, snapshot_info))
+ else:
+ heapq.heappush(self.best_snapshots, (current_score, snapshot_info))
+
+ self._update_worst_best_score()
+ if self.save_to_dir:
+ if self.verbose:
+ logger.info(f"Best model snapshot saved to {model_path}")
+
+ # Early stopping logic
+ if self.early_stopping_patience > 0:
+ if self.best_score is None or self._is_improvement(current_score, self.best_score):
+ self.best_score = current_score
+ self.early_stopping_counter = 0
+ else:
+ self.early_stopping_counter += 1
+ logger.info(f"Early stopping counter: {self.early_stopping_counter}")
+ if self.early_stopping_counter >= self.early_stopping_patience:
+ if self.verbose:
+ logger.info("Early stopping triggered")
+ self.stop_training = True
+
+ if self.save_to_dir:
+ manager_path = Path(logs.get("filepath")) / "es_checkpoint_manager.pth"
+ torch.save(self, manager_path)
+ if self.verbose:
+ logger.info(f"Checkpoint manager saved to {manager_path}")
+
+ def on_train_end(self, logs: Optional[dict] = None):
+ """Called at the end of training."""
+ if self.verbose:
+ logger.info("Training finished.")
diff --git a/tsururu/model_training/torch_based/data_provider.py b/tsururu/model_training/torch_based/data_provider.py
new file mode 100644
index 0000000..f1b9013
--- /dev/null
+++ b/tsururu/model_training/torch_based/data_provider.py
@@ -0,0 +1,229 @@
+"""Module for creating a custom dataset for neural networks."""
+
+import numpy as np
+from pandas import to_datetime
+
+from ...dataset import Pipeline
+
+try:
+ import torch
+ from torch.utils.data import Dataset
+except ImportError:
+ from abc import ABC
+ torch = None
+ Dataset = ABC
+
+
+class Dataset_NN(Dataset):
+ """Custom Dataset for neural networks.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ pipeline: pipeline object for creating and applying a pipeline of transformers.
+
+ """
+
+ def __init__(self, data: dict, pipeline: Pipeline):
+ self.data = data
+ self.pipeline = pipeline
+ self.idx_X = self.data["idx_X"]
+ self.idx_y = self.data["idx_y"]
+
+ self.indices = self._create_indices()
+
+ def _create_date_indices(self):
+ """Creates indices for each unique date for multivariate data."""
+ unique_dates, inverse_indices = np.unique(
+ self.data["raw_ts_X"][self.data["date_column_name"]], return_inverse=True
+ )
+ unique_dates = to_datetime(unique_dates)
+ self.date_indices = {
+ date: np.where(inverse_indices == idx)[0] for idx, date in enumerate(unique_dates)
+ }
+
+ def _create_indices(self) -> np.ndarray:
+ """Creates indices for the dataset based on the pipeline configuration.
+
+ Returns:
+ array of indices.
+
+ """
+ # Create indices for the dataset
+ # If multivariate, we need to create indices for each unique date
+ # (we use a bunch of rows in the idx_X for each date)
+ if self.pipeline.multivariate:
+ arange_value = len(self.data["idx_X"]) // self.data["raw_ts_X"]["id"].nunique()
+ self._create_date_indices()
+ else:
+ # If global, we need to create indices for each row in the idx_X
+ arange_value = len(self.data["idx_X"])
+
+ if self.pipeline.strategy_name == "FlatWideMIMOStrategy":
+ horizon = self.idx_y.shape[1]
+ arange_value *= horizon
+
+ return np.arange(arange_value)
+
+ def _adjust_fvm_indices(self, index: int) -> tuple:
+ """Adjusts indices for the FlatWideMIMO strategy.
+
+ Args:
+ index: index to adjust.
+
+ Returns:
+ adjusted index and sample index for the horizon.
+
+ Notes: If the strategy is FlatWideMIMO, we need to adjust the index to get firstly get the
+ correct index for the MIMO sample and then the correct index for the sample in the horizon.
+
+ """
+ horizon = self.idx_y.shape[1]
+ index_of_sample = index % horizon
+ index = index // horizon
+ return index, index_of_sample
+
+ def _adjust_multivariate_indices(self, index: int) -> tuple:
+ """Adjusts indices for the current date in multivariate data.
+
+ Args:
+ index: index to get the date indices for.
+
+ Returns:
+ indices for features and targets.
+
+ Notes: If the data is multivariate, we need to get the indices for the current date and
+ then get the correct indices for the sample.
+
+ """
+ current_date = self.data["raw_ts_X"][self.data["date_column_name"]].iloc[
+ self.idx_X[index][0]
+ ]
+ current_date = to_datetime(current_date)
+ first_idx = self.date_indices[current_date]
+ idx_X = self.idx_X[np.isin(self.idx_X[:, 0], first_idx)]
+ idx_y = self.idx_y[np.isin(self.idx_X[:, 0], first_idx)]
+ return idx_X, idx_y
+
+ def _get_adjusted_data(self, idx_X: np.ndarray, idx_y: np.ndarray) -> dict:
+ """Adjusts raw time series data based on indices.
+
+ Args:
+ idx_X: indices for features.
+ idx_y: indices for targets.
+
+ Returns:
+ adjusted data and indices.
+
+ Notes: We want to get only the time series points that are necessary for the current sample
+
+ """
+ raw_ts_X_adjusted = self.data["raw_ts_X"].iloc[idx_X.flatten()].reset_index(drop=True)
+ raw_ts_y_adjusted = self.data["raw_ts_y"].iloc[idx_y.flatten()].reset_index(drop=True)
+
+ idx_X_adjusted = np.arange(np.size(idx_X)).reshape(idx_X.shape)
+ idx_y_adjusted = np.arange(np.size(idx_y)).reshape(idx_y.shape)
+
+ if self.pipeline.strategy_name == "FlatWideMIMOStrategy":
+ idx_X_adjusted = idx_X_adjusted.reshape(-1, idx_X_adjusted.shape[-1])
+ idx_y_adjusted = idx_y_adjusted.reshape(-1, idx_y_adjusted.shape[-1])
+
+ return {
+ "raw_ts_X": raw_ts_X_adjusted,
+ "raw_ts_y": raw_ts_y_adjusted,
+ "X": np.array([]),
+ "y": np.array([]),
+ "idx_X": idx_X_adjusted,
+ "idx_y": idx_y_adjusted,
+ "target_column_name": self.data["target_column_name"],
+ "date_column_name": self.data["date_column_name"],
+ "id_column_name": self.data["id_column_name"],
+ }
+
+ def _reshape_tensors(
+ self, X_tensor: "torch.Tensor", y_tensor: "torch.Tensor", index_of_sample: int
+ ) -> tuple:
+ """Reshapes and transposes tensors to fit the neural network input.
+
+ Args:
+ X_tensor: feature tensor.
+ y_tensor: target tensor.
+ index_of_sample: index of the sample in the horizon.
+
+ Returns:
+ reshaped feature and target tensors.
+ """
+ if self.pipeline.strategy_name == "FlatWideMIMOStrategy":
+ X_tensor = X_tensor[index_of_sample, :].reshape(-1, X_tensor.shape[1])
+ y_tensor = y_tensor[index_of_sample, :].reshape(-1, y_tensor.shape[1])
+
+ if self.pipeline.multivariate:
+ other_columns_idx_list = []
+ target_column_idx_list = []
+ for i, feature in enumerate(self.pipeline.output_features):
+ if feature.split("__")[0] != self.data["target_column_name"]:
+ other_columns_idx_list.append(i)
+ else:
+ target_column_idx_list.append(i)
+
+ num_series = self.data["num_series"]
+
+ X_tensor_target_column = X_tensor[:, target_column_idx_list]
+ X_tensor_other_column = X_tensor[:, other_columns_idx_list]
+
+ X_tensor_target_column = X_tensor_target_column.view(num_series, -1).T
+ X_tensor_other_column = torch.repeat_interleave(
+ X_tensor_other_column,
+ X_tensor_target_column.size(0) // X_tensor_other_column.size(0),
+ dim=0,
+ )
+ X_tensor = torch.cat([X_tensor_target_column, X_tensor_other_column], dim=1)
+
+ y_tensor = y_tensor.view(num_series, -1).T
+
+ else:
+ X_tensor = X_tensor.reshape(-1, 1)
+ y_tensor = y_tensor.reshape(-1, 1)
+
+ return X_tensor, y_tensor
+
+ def __getitem__(self, index: int) -> tuple:
+ """Gets a data sample for the given index.
+
+ Args:
+ index: index of the data sample to retrieve.
+
+ Returns:
+ a tuple containing the feature tensor and target tensor.
+
+ """
+ if self.pipeline.strategy_name == "FlatWideMIMOStrategy":
+ index, index_of_sample = self._adjust_fvm_indices(index)
+ else:
+ index_of_sample = None
+
+ if self.pipeline.multivariate:
+ idx_X, idx_y = self._adjust_multivariate_indices(index)
+ else:
+ idx_X = self.idx_X[index]
+ idx_y = self.idx_y[index]
+
+ data = self._get_adjusted_data(idx_X, idx_y)
+
+ X, y = self.pipeline.generate(data)
+
+ X_tensor = torch.from_numpy(X).float()
+ y_tensor = torch.from_numpy(y).float()
+
+ # Reshape and transpose tensors to fit the neaural network input
+ return self._reshape_tensors(X_tensor, y_tensor, index_of_sample)
+
+ def __len__(self) -> int:
+ """Returns the number of samples in the dataset.
+
+ Returns:
+ number of samples in the dataset.
+
+ """
+ return len(self.indices)
diff --git a/tsururu/model_training/torch_based/metrics.py b/tsururu/model_training/torch_based/metrics.py
new file mode 100644
index 0000000..bd8e70c
--- /dev/null
+++ b/tsururu/model_training/torch_based/metrics.py
@@ -0,0 +1,33 @@
+"""Module for creating custom metrics for neural networks."""
+
+try:
+ import torch
+ from torch.nn import Module, MSELoss
+except ImportError:
+ from abc import ABC
+ torch = None
+ Module = ABC
+ MSELoss = ABC
+
+
+class NegativeMSEMetric(Module):
+ """Custom metric that returns the negative of the Mean Squared Error (MSE)."""
+
+ def __init__(self):
+ super(NegativeMSEMetric, self).__init__()
+ self.mse_loss = MSELoss()
+
+ def forward(self, input: "torch.Tensor", target: "torch.Tensor") -> "torch.Tensor":
+ """Computes the negative mean squared error between input and target.
+
+ Args:
+ input: predicted tensor.
+ target: ground truth tensor.
+
+ Returns:
+ the negative mean squared error.
+
+ """
+ loss = self.mse_loss(input, target)
+ negative_loss = -1 * loss
+ return negative_loss
diff --git a/tsururu/model_training/trainer.py b/tsururu/model_training/trainer.py
new file mode 100644
index 0000000..7de3e6c
--- /dev/null
+++ b/tsururu/model_training/trainer.py
@@ -0,0 +1,615 @@
+"""Module for training and predicting using models and validation strategies."""
+
+import time
+from pathlib import Path
+from typing import Callable, Dict, List, Optional, Tuple, Union
+
+import numpy as np
+
+from ..dataset.pipeline import Pipeline
+from ..models.base import Estimator
+from .torch_based.callbacks import ES_Checkpoints_Manager
+from .torch_based.data_provider import Dataset_NN
+from .torch_based.metrics import NegativeMSEMetric
+from .validator import Validator
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.utils.data import Subset
+except ImportError:
+ torch = None
+ Subset = None
+ nn = None
+
+import logging
+
+logger = logging.getLogger(__name__)
+
+
+class MLTrainer:
+ """Class for training and predicting using a model and a validation strategy.
+
+ Args:
+ model: the model estimator to be used for training.
+ model_params: the parameters for the model.
+ validator: the validation strategy to be used for training.
+ validation_params: the parameters for the validation strategy.
+
+ """
+
+ def __init__(
+ self,
+ model: Estimator,
+ model_params: Dict = {},
+ validator: Optional[Validator] = None,
+ validation_params: Dict = {},
+ ):
+ self.model = model
+ self.model_params = model_params
+ self.validator = validator
+ self.validation_params = validation_params
+
+ # Provide by strategy if needed
+ self.history = None
+ self.horizon = None
+ self.models: List[Estimator] = []
+ self.scores: List[float] = []
+ self.columns: List[str] = []
+
+ def fit(self, data: dict, pipeline: Pipeline, val_data: Optional[dict] = None) -> "MLTrainer":
+ """Fits the models using the input data and pipeline.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ pipeline: fitted data preprocessing pipeline.
+ val_data: dictionary with validation data. Structure is similar
+ to `data`.
+
+ Returns:
+ the fitted models.
+
+ """
+ X, y = pipeline.generate(data)
+ if val_data:
+ X_val, y_val = pipeline.generate(val_data)
+ else:
+ X_val, y_val = None, None
+
+ if (
+ np.isnan(X).sum() != 0
+ or (X_val is not None and np.isnan(X_val).sum() != 0)
+ or np.isnan(y).sum() != 0
+ or (y_val is not None and np.isnan(y_val).sum() != 0)
+ ):
+ if np.isnan(X).sum() != 0 or np.isnan(X_val).sum() != 0:
+ logger.warning("It seems that there are NaN values in the input data.")
+ else:
+ logger.warning("It seems that there are NaN values in the target data.")
+ logger.warning(
+ "Try to check pipeline configuration (normalization part, especially)."
+ "NaN values can be caused by division by zero in DifferenceNormalizer or LastKnownNormalizer."
+ )
+
+ # Initialize columns' order and reorder columns
+ self.features_argsort = np.argsort(pipeline.output_features)
+ X = X[:, self.features_argsort]
+
+ for fold_i, (X_train, y_train, X_val, y_val) in enumerate(
+ self.validator(**self.validation_params).get_split(X, y, X_val, y_val)
+ ):
+ model = self.model(self.model_params)
+ model.fit_one_fold(X_train, y_train, X_val, y_val)
+ self.models.append(model)
+ self.scores.append(model.score)
+ logger.info(f"Fold {fold_i}. Score: {model.score}")
+
+ logger.info(f"Mean score: {np.mean(self.scores).round(4)}")
+ logger.info(f"Std: {np.std(self.scores).round(4)}")
+
+ def predict(self, data: dict, pipeline: Pipeline) -> np.ndarray:
+ """Generates predictions using the trained model.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ pipeline: fitted data preprocessing pipeline.
+
+ Returns:
+ array of predicted values.
+
+ """
+ X, _ = pipeline.generate(data)
+
+ # Reorder columns
+ X = X[:, self.features_argsort]
+
+ models_preds = [model.predict(X) for model in self.models]
+ y_pred = np.mean(models_preds, axis=0)
+
+ y_pred = y_pred.reshape(pipeline.y_original_shape)
+
+ return y_pred
+
+
+class DLTrainer:
+ """Class for training and predicting using a deep learning model and a validation strategy.
+
+ Args:
+ model: the model estimator to be used for training.
+ model_params: the parameters for the model.
+ validator: the validation strategy to be used for training.
+ validation_params: the parameters for the validation strategy.
+ n_epochs: the number of epochs to train the model.
+ batch_size: size of batches during training.
+ drop_last: whether to drop the last incomplete batch.
+ device: device to run the training on.
+ device_ids: list of device IDs for data parallelism.
+ num_workers: number of workers for data loading.
+ metric: metric function to evaluate the model.
+ criterion: loss function for training the model.
+ optimizer: optimizer for training the model.
+ optimizer_params: parameters for the optimizer.
+ scheduler: learning rate scheduler.
+ scheduler_params: parameters for the scheduler.
+ scheduler_after_epoch: whether to step the scheduler after each epoch.
+ pretrained_path: path to the pretrained checkpoints.
+ best_by_metric: whether to select the best model by metric instead of loss.
+ early_stopping_patience: number of epochs to wait for improvement before early stopping.
+ 0 for early stopping disable.
+ save_k_best: number of best checkpoints to save.
+ 0 for none, `n_epochs` for all.
+ averaging_snapshots: whether to average weights of saved checkpoints at the end of training.
+ save_to_dir: whether to save checkpoints to a directory.
+ checkpoint_path: path to save checkpoints.
+ train_shuffle: whether to shuffle the training data.
+ verbose: verbosity level.
+
+ """
+
+ def __init__(
+ self,
+ model: Estimator,
+ model_params: Dict,
+ validator: Optional[Validator] = None,
+ validation_params: Dict = {},
+ n_epochs: int = 10,
+ batch_size: int = 32,
+ drop_last: bool = False,
+ device: Optional["torch.device"] = None,
+ device_ids: List[int] = [0],
+ num_workers: int = 4,
+ metric: Callable = NegativeMSEMetric(),
+ criterion: Optional["torch.nn.Module"] = None,
+ optimizer: Optional["torch.optim.Optimizer"] = None,
+ optimizer_params: Dict = {},
+ scheduler: Optional["torch.optim.lr_scheduler.LRScheduler"] = None,
+ scheduler_params: Dict = {},
+ scheduler_after_epoch: bool = True,
+ pretrained_path: Optional[Union[Path, str]] = None,
+ # es_checkpoint_manager params
+ best_by_metric: bool = False,
+ early_stopping_patience: int = 5,
+ save_k_best: Union[int] = 5,
+ average_snapshots: bool = False,
+ save_to_dir: bool = True,
+ checkpoint_path: Union[Path, str] = "checkpoints/",
+ train_shuffle: bool = True,
+ verbose: int = 1,
+ ):
+ if device is None:
+ device = torch.device("cuda")
+
+ if criterion is None:
+ criterion = torch.nn.MSELoss()
+
+ if optimizer is None:
+ optimizer = torch.optim.Adam
+
+ self.model_base = model
+ self.model_params = model_params
+ self.validator_base = validator
+ self.validation_params = validation_params
+
+ self.n_epochs = n_epochs
+ self.batch_size = batch_size
+ self.drop_last = drop_last
+ self.device = device
+ self.device_ids = device_ids
+ self.num_workers = num_workers
+
+ self.metric = metric
+ self.criterion = criterion
+
+ self.optimizer_base = optimizer
+ self.optimizer_params = optimizer_params
+ self.scheduler_base = scheduler
+ self.scheduler_params = scheduler_params
+ self.scheduler_after_epoch = scheduler_after_epoch
+
+ self.pretrained_path = pretrained_path
+
+ self.train_shuffle = train_shuffle
+
+ self.es = ES_Checkpoints_Manager(
+ monitor="val_metric" if best_by_metric else "val_loss",
+ verbose=verbose,
+ save_k_best=save_k_best,
+ early_stopping_patience=early_stopping_patience,
+ mode="max" if best_by_metric else "min",
+ save_to_dir=save_to_dir,
+ )
+ if isinstance(checkpoint_path, str):
+ checkpoint_path = Path(checkpoint_path)
+ self.checkpoint_path = checkpoint_path
+
+ if isinstance(pretrained_path, str):
+ pretrained_path = Path(pretrained_path)
+ self.pretrained_path = pretrained_path
+
+ self.average_snapshots = average_snapshots
+
+ # Provide by strategy if needed
+ self.callbacks = [self.es]
+ self.history = None
+ self.horizon = None
+ self.target_len = None
+
+ self.models = []
+ self.optimizers = []
+ self.schedulers = []
+ self.scores = []
+
+ def init_trainer_one_fold(self, num_features: int):
+ """Initializes the model, optimizer, and scheduler for one fold.
+
+ Args:
+ num_features: Number of features in the input data.
+
+ Returns:
+ Initialized model, optimizer, and scheduler.
+
+ """
+ self.model_params["seq_len"] = num_features
+ self.model_params["pred_len"] = self.horizon
+
+ model = self.model_base(**self.model_params)
+ if len(self.device_ids) > 1:
+ model = torch.nn.DataParallel(model, device_ids=self.device_ids)
+ else:
+ model.to(self.device)
+
+ optimizer = self.optimizer_base(model.parameters(), **self.optimizer_params)
+ if self.scheduler_base is not None:
+ scheduler = self.scheduler_base(optimizer, **self.scheduler_params)
+ else:
+ scheduler = None
+
+ return model, optimizer, scheduler
+
+ def load_trainer_one_fold(
+ self,
+ fold_i: int,
+ model: "nn.Module",
+ optimizer: "torch.optim.Optimizer",
+ scheduler: Optional["torch.optim.lr_scheduler._LRScheduler"],
+ ):
+ """Loads pretrained model, optimizer, and scheduler states for one fold.
+
+ Args:
+ fold_i: fold index.
+ model: model to load the state into.
+ optimizer: optimizer to load the state into.
+ scheduler: scheduler to load the state into (if exists).
+
+ Returns:
+ model, optimizer, and scheduler with loaded states.
+
+ """
+ self.es = torch.load(self.pretrained_path / "es_checkpoint_manager.pth")
+ pretrained_weights = self.es.get_last_snapshot(full_state=True)
+
+ model.load_state_dict(pretrained_weights["model"])
+ optimizer.load_state_dict(pretrained_weights["optimizer"])
+ if scheduler:
+ scheduler.load_state_dict(pretrained_weights["scheduler"])
+
+ return model, optimizer, scheduler
+
+ def train_model(
+ self,
+ train_loader: "torch.utils.data.DataLoader",
+ val_loader: "torch.utils.data.DataLoader",
+ model: "nn.Module",
+ optimizer: "torch.optim.Optimizer",
+ scheduler: Optional["torch.optim.lr_scheduler._LRScheduler"],
+ ) -> Tuple[
+ "nn.Module", "torch.optim.Optimizer", Optional["torch.optim.lr_scheduler._LRScheduler"], float
+ ]:
+ """Trains the model for all epochs.
+
+ Args:
+ train_loader: dataLoader for the training data.
+ val_loader: dataLoader for the validation data.
+ model: model to be trained.
+ optimizer: optimizer for training.
+ scheduler: learning rate scheduler (if exists).
+
+ Returns:
+ trained model, optimizer, scheduler, and validation metric.
+ """
+ for cb in self.callbacks:
+ cb.on_train_begin()
+
+ for epoch in range(self.n_epochs):
+ for callback in self.callbacks:
+ callback.on_epoch_begin(epoch)
+
+ model.train()
+ running_loss = 0.0
+ start_time = time.time()
+
+ for inputs, targets in train_loader:
+ for callback in self.callbacks:
+ callback.on_batch_begin()
+
+ inputs, targets = inputs.to(self.device), targets.to(self.device)
+
+ optimizer.zero_grad()
+
+ if torch.isnan(inputs).sum() != 0 or torch.isnan(targets).sum() != 0:
+ if torch.isnan(inputs).sum() != 0:
+ logger.warning("It seems that there are NaN values in the input data.")
+ else:
+ logger.warning("It seems that there are NaN values in the target data.")
+ logger.warning(
+ "Try to check pipeline configuration (normalization part, especially)."
+ "NaN values can be caused by division by zero in DifferenceNormalizer or LastKnownNormalizer."
+ )
+
+ outputs = model(inputs)
+ if self.target_len is None:
+ self.target_len = targets.shape[2]
+ outputs = outputs[:, :, : self.target_len]
+ loss = self.criterion(outputs, targets)
+ loss.backward()
+ optimizer.step()
+ running_loss += loss.item() * inputs.size(0)
+
+ logs = {"loss": loss.item()}
+ for cb in self.callbacks:
+ cb.on_batch_end(logs)
+
+ if not self.scheduler_after_epoch and scheduler is not None:
+ scheduler.step()
+ logger.info(f"Updating learning rate to {scheduler.get_last_lr()[0]:.6f}.")
+
+ epoch_loss = running_loss / len(train_loader.dataset)
+ epoch_time = time.time() - start_time
+ logger.info(f"Epoch {epoch+1}/{self.n_epochs}, cost time: {epoch_time:.2f}s")
+ logger.info(f"train loss: {epoch_loss:.4f}")
+
+ val_loss, val_metric = self.validate_model(val_loader, model)
+ logger.info(f"val loss: {val_loss:.4f}, val metric: {val_metric:.4f}")
+
+ if self.scheduler_after_epoch and scheduler is not None:
+ scheduler.step()
+ logger.info(f"Updating learning rate to {scheduler.get_last_lr()[0]:.6f}.")
+
+ # Сохранение модели и проверка early stopping
+ logs = {
+ "epoch": epoch,
+ "filepath": self.checkpoint_path,
+ "loss": epoch_loss,
+ "val_loss": val_loss,
+ "val_metric": val_metric,
+ "model_state_dict": model.state_dict(),
+ "optimizer_state_dict": optimizer.state_dict(),
+ }
+
+ if scheduler:
+ logs["scheduler_state_dict"] = scheduler.state_dict()
+
+ for cb in self.callbacks:
+ cb.on_epoch_end(epoch, logs)
+ if getattr(cb, "stop_training", False):
+ for cb in self.callbacks:
+ cb.on_train_end()
+ return model, optimizer, scheduler, val_metric
+
+ for cb in self.callbacks:
+ cb.on_train_end({"filepath": self.checkpoint_path})
+
+ # return best_model or average_model if `n_epochs` = 0
+ if self.n_epochs > 0:
+ if self.average_snapshots:
+ model.load_state_dict(self.es.get_average_snapshot())
+ else:
+ model.load_state_dict(self.es.get_best_snapshot())
+ else:
+ val_metric = np.nan
+
+ return model, optimizer, scheduler, val_metric
+
+ def validate_model(
+ self,
+ val_loader: "torch.utils.data.DataLoader",
+ model: "nn.Module",
+ return_outputs: bool = False,
+ inference: bool = False,
+ ) -> Union[float, Tuple[float, float], Tuple[float, float, "torch.Tensor", "torch.Tensor"]]:
+ """Validates the model on the validation data.
+
+ Args:
+ val_loader: data loader for the validation data.
+ model: model to be validated.
+ return_outputs: whether to return the outputs and targets.
+ inference: if True, skips logging and assumes test data.
+
+ Returns:
+ validation loss, metric, and optionally the outputs and targets.
+
+ Note:
+ The same method for both validation and make predictions on test data.
+ The are NaN values in metric if test data is used.
+
+ """
+ model.eval()
+
+ all_outputs = []
+ all_targets = []
+
+ with torch.no_grad():
+ for inputs, targets in val_loader:
+ inputs, targets = inputs.to(self.device), targets.to(self.device)
+ outputs = model(inputs)
+ outputs = outputs[:, :, : self.target_len]
+ all_outputs.append(outputs)
+ all_targets.append(targets)
+
+ all_outputs = torch.cat(all_outputs)
+ all_targets = torch.cat(all_targets)
+ loss = self.criterion(all_outputs, all_targets).item()
+ metric = self.metric(all_outputs, all_targets).item() if self.metric else 0.0
+
+ if not inference:
+ logger.info(f"Validation, Loss: {loss:.4f}, Metric: {metric:.4f}")
+
+ if return_outputs:
+ return loss, metric, all_outputs, all_targets
+ else:
+ return loss, metric
+
+ def fit(self, data: dict, pipeline: Pipeline, val_data: Optional[dict] = None) -> "DLTrainer":
+ """Fits the models using the input data and pipeline.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ pipeline: fitted data preprocessing pipeline.
+ val_data: dictionary with validation data. Structure is similar
+ to `data`.
+
+ Returns:
+ the fitted models.
+
+ """
+ train_dataset = Dataset_NN(data, pipeline)
+ train_dataset_idx = np.arange(len(train_dataset))
+ if val_data:
+ val_dataset = Dataset_NN(val_data, pipeline)
+ val_dataset_all_idx = np.arange(len(val_dataset))
+ else:
+ val_dataset = None
+ val_dataset_all_idx = None
+
+ for fold_i, (train_dataset_idx, _, val_dataset_idx, _) in enumerate(
+ self.validator_base(**self.validation_params).get_split(
+ X=train_dataset_idx, X_val=val_dataset_all_idx
+ )
+ ):
+ checkpoint_path = self.checkpoint_path
+ pretrained_path = self.pretrained_path
+
+ self.checkpoint_path /= f"fold_{fold_i}"
+ if pretrained_path:
+ self.pretrained_path /= f"fold_{fold_i}"
+
+ train_subset = Subset(train_dataset, train_dataset_idx)
+ if val_dataset is not None:
+ val_subset = Subset(val_dataset, val_dataset_idx)
+ elif val_dataset_idx is not None:
+ val_subset = Subset(train_dataset, val_dataset_idx)
+ train_loader = torch.utils.data.DataLoader(
+ train_subset,
+ batch_size=self.batch_size,
+ shuffle=self.train_shuffle,
+ drop_last=self.drop_last,
+ num_workers=self.num_workers,
+ )
+ val_loader = torch.utils.data.DataLoader(
+ val_subset,
+ batch_size=self.batch_size,
+ shuffle=False,
+ drop_last=self.drop_last,
+ num_workers=self.num_workers,
+ )
+
+ logger.info(f"length of train dataset: {len(train_subset)}")
+ logger.info(f"length of val dataset: {len(val_subset)}")
+
+ num_features = train_dataset[0][0].shape[0]
+
+ # load or initialize model, optimizer, scheduler
+ model, optimizer, scheduler = self.init_trainer_one_fold(num_features)
+ if self.pretrained_path:
+ model, optimizer, scheduler = self.load_trainer_one_fold(
+ fold_i, model, optimizer, scheduler
+ )
+ model, optimizer, scheduler, score = self.train_model(
+ train_loader, val_loader, model, optimizer, scheduler
+ )
+
+ self.models.append(model)
+ self.optimizers.append(optimizer)
+ self.schedulers.append(scheduler)
+ self.scores.append(score)
+
+ logger.info(f"Fold {fold_i}. Score: {score}")
+ self.checkpoint_path = checkpoint_path
+ self.pretrained_path = pretrained_path
+
+ logger.info(f"Mean score: {np.mean(self.scores).round(4)}")
+ logger.info(f"Std: {np.std(self.scores).round(4)}")
+
+ def predict(self, data: dict, pipeline: Pipeline) -> np.ndarray:
+ """Generates predictions using the trained model.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ pipeline: fitted data preprocessing pipeline.
+
+ Returns:
+ array of predicted values.
+
+ """
+ test_dataset = Dataset_NN(data, pipeline)
+ test_loader = torch.utils.data.DataLoader(
+ test_dataset,
+ batch_size=self.batch_size,
+ shuffle=False,
+ drop_last=self.drop_last,
+ num_workers=self.num_workers,
+ )
+
+ logger.info(f"length of test dataset: {len(test_dataset)}")
+
+ models_preds = [
+ self.validate_model(test_loader, model, return_outputs=True, inference=True)[2].cpu()
+ for model in self.models
+ ]
+
+ y_pred = np.mean(models_preds, axis=0)
+ y_pred = torch.tensor(y_pred)
+
+ if pipeline.strategy_name == "FlatWideMIMOStrategy":
+ full_horizon = pipeline.y_original_shape[1]
+ num_series = y_pred.shape[0] // full_horizon
+ if pipeline.multivariate:
+ y_pred = y_pred.reshape(num_series, full_horizon, -1)
+ else:
+ y_pred = y_pred.reshape(num_series, full_horizon, 1)
+
+ if pipeline.multivariate:
+ y_pred = y_pred.permute(2, 0, 1)
+ y_pred = y_pred.reshape(-1, y_pred.shape[2])
+ else:
+ y_pred = y_pred.squeeze(-1)
+
+ return y_pred.numpy()
diff --git a/tsururu/model_training/validator.py b/tsururu/model_training/validator.py
new file mode 100644
index 0000000..503aec2
--- /dev/null
+++ b/tsururu/model_training/validator.py
@@ -0,0 +1,135 @@
+"""Module for validation strategy."""
+
+from typing import Dict, Iterator, Optional, Tuple, Union
+
+import numpy as np
+from sklearn.model_selection import KFold, TimeSeriesSplit
+
+from ..dataset import TSDataset
+
+
+class Validator:
+ """Base class for validation strategy.
+
+ Args:
+ validation_params: optional dictionary with validation parameters.
+ unique for each validation strategy.
+
+ """
+
+ def __init__(self, validation_params: Optional[Dict[str, Union[str, int]]] = None):
+ self.validation_params = validation_params
+
+ def get_split(
+ self,
+ X: np.ndarray,
+ y: Optional[np.ndarray] = None,
+ X_val: Optional[np.ndarray] = None,
+ y_val: Optional[np.ndarray] = None,
+ ) -> Iterator[
+ Tuple[np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray]]
+ ]:
+ """Get splits for training and validation data.
+
+ Args:
+ X: feature array.
+ y: target array.
+ X_val: validation feature array.
+ y_val: validation target array.
+
+ Returns:
+ iterator over tuples of training and validation data splits.
+
+ Notes:
+ For some purposes, the validation data is not needed, so it is optional.
+
+ """
+ raise NotImplementedError()
+
+
+class KFoldCrossValidator(Validator):
+ """K-Fold Cross-Validation strategy.
+
+ Args:
+ n_splits: number of folds. Must be at least 2.
+ shuffle: whether to shuffle the data before splitting into batches.
+ random_state: when shuffle is True, random_state affects the ordering of the indices.
+
+ """
+
+ def __init__(self, n_splits: int = 3, shuffle: bool = True, random_state: int = 42):
+ self.n_splits = n_splits
+ self.shuffle = shuffle
+ self.random_state = random_state
+
+ def get_split(
+ self,
+ X: np.ndarray,
+ y: Optional[np.ndarray] = None,
+ X_val: Optional[np.ndarray] = None,
+ y_val: Optional[np.ndarray] = None,
+ ) -> Iterator[
+ Tuple[np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray]]
+ ]:
+ cv = KFold(n_splits=self.n_splits, shuffle=self.shuffle, random_state=self.random_state)
+ for X_train_idx, X_val_idx in cv.split(X):
+ if y is None:
+ yield X[X_train_idx], None, X[X_val_idx], None
+ else:
+ yield X[X_train_idx], y[X_train_idx], X[X_val_idx], y[X_val_idx]
+
+
+class TimeSeriesValidator(Validator):
+ """Time Series Cross-Validation strategy.
+
+ Args:
+ n_splits: number of folds. Must be at least 2.
+
+ """
+
+ def __init__(self, n_splits: int = 3):
+ self.n_splits = n_splits
+
+ def get_split(
+ self,
+ X: np.ndarray,
+ y: Optional[np.ndarray] = None,
+ X_val: Optional[np.ndarray] = None,
+ y_val: Optional[np.ndarray] = None,
+ ) -> Iterator[
+ Tuple[np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray]]
+ ]:
+ cv = TimeSeriesSplit(n_splits=self.n_splits)
+ for X_train_idx, X_val_idx in cv.split(X):
+ if y is None:
+ yield X[X_train_idx], None, X[X_val_idx], None
+ else:
+ yield X[X_train_idx], y[X_train_idx], X[X_val_idx], y[X_val_idx]
+
+
+class HoldOutValidator(Validator):
+ """Hold-Out Validation strategy.
+
+ Args:
+ validation_data: validation dataset.
+
+ """
+
+ def __init__(self, validation_data: TSDataset):
+ self.validation_data = validation_data
+
+ def get_split(
+ self,
+ X: np.ndarray,
+ y: Optional[np.ndarray] = None,
+ X_val: Optional[np.ndarray] = None,
+ y_val: Optional[np.ndarray] = None,
+ ) -> Iterator[
+ Tuple[np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray]]
+ ]:
+ train_idx = np.arange(len(X))
+ val_idx = np.arange(len(X_val))
+ if y is None:
+ yield (X[train_idx], None, X_val[val_idx], None)
+ else:
+ yield (X[train_idx], y[train_idx], X_val[val_idx], y_val[val_idx])
diff --git a/tsururu/models/__init__.py b/tsururu/models/__init__.py
index 0d2f4d1..99865e7 100644
--- a/tsururu/models/__init__.py
+++ b/tsururu/models/__init__.py
@@ -1,27 +1,31 @@
-"""Algorithms for time series forecasting."""
-
-from .base import Estimator
-from .boost import CatBoostRegressor_CV
-
-
-# Factory Object
-class ModelsFactory:
- def __init__(self):
- self.models = {
- "CatBoostRegressor_CV": CatBoostRegressor_CV,
- }
-
- def get_allowed(self):
- return sorted(list(self.models.keys()))
-
- def __getitem__(self, params):
- return self.models[params["model_name"]](
- params["validation_params"],
- params["model_params"],
- )
-
- def create_model(self, model_name, model_params):
- return self.models[model_name](**model_params)
-
-
-__all__ = ["CatBoostRegressor_CV", "ModelsFactory", "Estimator"]
+"""Algorithms for time series forecasting."""
+
+from .base import Estimator
+from .boost import CatBoost
+from .torch_based.dlinear import DLinear_NN
+from .torch_based.patch_tst import PatchTST_NN
+
+
+# Factory Object
+class ModelsFactory:
+ def __init__(self):
+ self.models = {
+ "CatBoost": CatBoost,
+ "DLinear_NN": DLinear_NN,
+ "PatchTST_NN": PatchTST_NN,
+ }
+
+ def get_allowed(self):
+ return sorted(list(self.models.keys()))
+
+ def __getitem__(self, params):
+ return self.models[params["model_name"]](
+ params["validation_params"],
+ params["model_params"],
+ )
+
+ def create_model(self, model_name, model_params):
+ return self.models[model_name](**model_params)
+
+
+__all__ = ["CatBoost", "Estimator", "ModelsFactory", "DLinear_NN", "PatchTST_NN"]
diff --git a/tsururu/models/base.py b/tsururu/models/base.py
index 272e977..b439a9c 100644
--- a/tsururu/models/base.py
+++ b/tsururu/models/base.py
@@ -1,89 +1,52 @@
-from typing import Dict, Union
-
-import numpy as np
-from sklearn.model_selection import KFold, TimeSeriesSplit
-
-
-class Estimator:
- """Base class for all models.
-
- Args:
- validation_params: execution params (type, cv, loss),
- for example: {
- "type": "KFold",
- "n_splits": 3,
- "loss_function": "MAE",
- }.
- model_params: base model's params,
- for example: {
- "loss_function": "MultiRMSE",
- "early_stopping_rounds": 100,
- }.
-
- """
-
- def __init__(
- self,
- validation_params: Dict[str, Union[str, int]],
- model_params: Dict[str, Union[str, int]],
- ):
- self.validation_params = validation_params
- self.model_params = model_params
-
- self.models = []
- self.scores = []
- self.columns = None
-
- def initialize_validator(self):
- """Initialization of the sample generator.
-
- Returns:
- generator object.
-
- """
- if self.validation_params["type"] == "KFold":
- # Set default params if params are None
- for param, default_value in [
- ("n_splits", 3),
- ("shuffle", True),
- ("random_state", 42),
- ]:
- if self.validation_params.get(param) is None:
- self.validation_params[param] = default_value
-
- cv = KFold(**{k: v for k, v in self.validation_params.items() if k != "type"})
-
- elif self.validation_params["type"] == "TS_expanding_window":
- cv = TimeSeriesSplit(n_splits=self.validation_params["n_splits"])
-
- return cv
-
- def fit(self, data: dict, pipeline) -> "Estimator":
- """Fits the model using the input data and pipeline.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- pipeline: data preprocessing pipeline.
-
- Returns:
- the fitted model.
-
- """
- raise NotImplementedError()
-
- def predict(self, data: dict, pipeline) -> np.ndarray:
- """Generates predictions using the trained model.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- pipeline: data preprocessing pipeline.
-
- Returns:
- array of predicted values.
-
- """
- raise NotImplementedError()
+from typing import Dict, Any, Optional
+
+import numpy as np
+
+
+class Estimator:
+ """Base class for all models.
+
+ Args:
+ model_params: parameters for the model.
+ Individually defined for each model.
+
+ """
+
+ def __init__(self, model_params: Dict[str, Any]):
+ self.model_params = model_params
+
+ self.model = None
+ self.score = None
+
+ def fit_one_fold(
+ self,
+ X_train: np.ndarray,
+ y_train: np.ndarray,
+ X_val: Optional[np.ndarray],
+ y_val: Optional[np.ndarray],
+ ) -> "Estimator":
+ """Fits the model on one fold using the input data.
+
+ Args:
+ X_train: features array.
+ y_train: target array.
+ X_val: validation features array.
+ y_val: validation target array.
+
+ Returns:
+ the fitted model.
+
+ """
+ raise NotImplementedError()
+
+ def predict(self, X: np.ndarray) -> np.ndarray:
+ """Generates predictions using the trained model.
+
+ Args:
+ X: features array.
+
+ Returns:
+ array of predicted values.
+
+ """
+ return self.model.predict(X)
diff --git a/tsururu/models/boost.py b/tsururu/models/boost.py
index 20e82ef..680aecd 100644
--- a/tsururu/models/boost.py
+++ b/tsururu/models/boost.py
@@ -1,123 +1,71 @@
-from typing import Dict, Union
-
-import numpy as np
-
-try:
- from catboost import CatBoostRegressor, Pool
-except:
- Pool = None
- CatBoostRegressor = None
-
-from ..dataset import Pipeline
-from .base import Estimator
-
-
-class CatBoostRegressor_CV(Estimator):
- """CatBoostRegressor_CV is a class that performs cross-validation
- using CatBoostRegressor.
-
- Args:
- validation_params: execution params (type, cv, loss),
- for example: {
- "type": "KFold",
- "n_splits": 3,
- "loss_function": "MAE",
- }.
- model_params: parameters for the CatBoostRegressor model,
- for example: {
- "loss_function": "MultiRMSE",
- "early_stopping_rounds": 100,
- }.
-
- """
-
- def __init__(
- self,
- validation_params: Dict[str, Union[str, int]],
- model_params: Dict[str, Union[str, int]],
- ):
- super().__init__(validation_params, model_params)
-
- def fit(self, data: dict, pipeline: Pipeline) -> "CatBoostRegressor_CV":
- """Fits the CatBoostRegressor models using the input data and
- pipeline.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- pipeline: fitted data preprocessing pipeline.
-
- Returns:
- the fitted model.
-
- """
- X, y = pipeline.generate(data)
-
- # Initialize columns' order and reorder columns
- self.features_argsort = np.argsort(pipeline.output_features)
- X = X[:, self.features_argsort]
-
- # Initialize cv object
- cv = self.initialize_validator()
-
- # Fit models
- for i, (train_idx, test_idx) in enumerate(cv.split(X)):
- X_train, X_test = X[train_idx], X[test_idx]
- y_train, y_test = y[train_idx], y[test_idx]
-
- train_dataset = Pool(data=X_train, label=y_train)
- eval_dataset = Pool(data=X_test, label=y_test)
-
- # Set default params if params are None
- for param, default_value in [
- ("loss_function", "MultiRMSE"),
- ("thread_count", -1),
- ("random_state", 42),
- ("early_stopping_rounds", 100),
- ]:
- if self.model_params.get(param) is None:
- self.model_params[param] = default_value
-
- model = CatBoostRegressor(**self.model_params)
-
- model.fit(
- train_dataset,
- eval_set=eval_dataset,
- use_best_model=True,
- plot=False,
- )
-
- self.models.append(model)
-
- score = model.best_score_["validation"][f"{self.model_params['loss_function']}"]
- self.scores.append(score)
-
- print(f"Fold {i}:")
- print(f"{self.model_params['loss_function']}: {score}")
-
- print(f"Mean {self.model_params['loss_function']}: {np.mean(self.scores).round(4)}")
- print(f"Std: {np.std(self.scores).round(4)}")
-
- def predict(self, data: dict, pipeline: Pipeline) -> np.ndarray:
- """Generates predictions using the trained model.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- pipeline: fitted data preprocessing pipeline.
-
- Returns:
- array of predicted values.
-
- """
- X, _ = pipeline.generate(data)
-
- # Reorder columns
- X = X[:, self.features_argsort]
-
- models_preds = [model.predict(X) for model in self.models]
- y_pred = np.mean(models_preds, axis=0)
-
- return y_pred
+import logging
+from typing import Dict, Optional, Union
+
+import numpy as np
+
+from ..utils.logging import LoggerStream
+
+try:
+ from catboost import CatBoostRegressor, Pool
+except ImportError:
+ Pool = None
+ CatBoostRegressor = None
+from .base import Estimator
+
+logger = logging.getLogger(__name__)
+
+
+class CatBoost(Estimator):
+ """CatBoost is a class that performs cross-validation
+ using CatBoostRegressor.
+
+ Args:
+ model_params: parameters for the model,
+ for example: {
+ "loss_function": "MultiRMSE",
+ "early_stopping_rounds": 100,
+ }.
+
+ """
+
+ def __init__(self, model_params: Dict[str, Union[str, int]]):
+ super().__init__(model_params)
+ self.trainer_type = "MLTrainer"
+
+ def fit_one_fold(
+ self,
+ X_train: np.ndarray,
+ y_train: np.ndarray,
+ X_val: Optional[np.ndarray],
+ y_val: Optional[np.ndarray],
+ ) -> "CatBoost":
+ train_dataset = Pool(data=X_train, label=y_train)
+ eval_dataset = Pool(data=X_val, label=y_val)
+
+ # Set default params if params are None
+ for param, default_value in [
+ ("loss_function", "MultiRMSE"),
+ ("thread_count", -1),
+ ("random_state", 42),
+ ("early_stopping_rounds", 100),
+ ("verbose", 100),
+ ]:
+ if self.model_params.get(param) is None:
+ self.model_params[param] = default_value
+
+ self.model = CatBoostRegressor(**self.model_params)
+
+ self.model.fit(
+ train_dataset,
+ eval_set=eval_dataset,
+ use_best_model=True,
+ plot=False,
+ log_cout=LoggerStream(logger, verbose_eval=self.model_params["verbose"]),
+ )
+
+ self.score = self.model.best_score_["validation"][f"{self.model_params['loss_function']}"]
+
+ return self
+
+ def predict(self, X: np.ndarray) -> np.ndarray:
+ return self.model.predict(X)
diff --git a/tsururu/models/torch_based/__init__.py b/tsururu/models/torch_based/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tsururu/models/torch_based/dlinear.py b/tsururu/models/torch_based/dlinear.py
new file mode 100644
index 0000000..b23e1e4
--- /dev/null
+++ b/tsururu/models/torch_based/dlinear.py
@@ -0,0 +1,129 @@
+"""DLinear model for time series forecasting."""
+
+from .layers.decomposition import series_decomp
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Module = ABC
+
+
+class DLinear_NN(Module):
+ """DLInear model from the paper https://arxiv.org/pdf/2205.13504.pdf.
+
+ Args:
+ - seq_len: int, the length of the input sequence.
+ - pred_len: int, the length of the output sequence.
+ - moving_avg: int, the size of the moving average window.
+ - individual: bool, whether shared model among different variates.
+ true may be better for time series with different trend and seasonal patterns.
+ - enc_in: int, the number of input time series.
+ Needs for individual=True.
+
+ """
+
+ def __init__(
+ self,
+ seq_len: int,
+ pred_len: int,
+ moving_avg: int = 25,
+ individual: bool = False,
+ enc_in: int = 1,
+ ):
+ super(DLinear_NN, self).__init__()
+ # Params from model_params
+ self.seq_len = seq_len
+ self.pred_len = pred_len
+
+ # Decomposition
+ self.decompsition = series_decomp(moving_avg)
+ self.individual = individual
+ self.channels = enc_in
+
+ if self.individual:
+ self.Linear_Seasonal = nn.ModuleList()
+ self.Linear_Trend = nn.ModuleList()
+
+ for i in range(self.channels):
+ self.Linear_Seasonal.append(nn.Linear(self.seq_len, self.pred_len))
+ self.Linear_Trend.append(nn.Linear(self.seq_len, self.pred_len))
+
+ self.Linear_Seasonal[i].weight = nn.Parameter(
+ (1 / self.seq_len) * torch.ones([self.pred_len, self.seq_len])
+ )
+ self.Linear_Trend[i].weight = nn.Parameter(
+ (1 / self.seq_len) * torch.ones([self.pred_len, self.seq_len])
+ )
+ else:
+ self.Linear_Seasonal = nn.Linear(self.seq_len, self.pred_len)
+ self.Linear_Trend = nn.Linear(self.seq_len, self.pred_len)
+
+ self.Linear_Seasonal.weight = nn.Parameter(
+ (1 / self.seq_len) * torch.ones([self.pred_len, self.seq_len])
+ )
+ self.Linear_Trend.weight = nn.Parameter(
+ (1 / self.seq_len) * torch.ones([self.pred_len, self.seq_len])
+ )
+
+ self.trainer_type = "DLTrainer"
+
+ def encoder(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Encode the input sequence by decomposing it into seasonal and trend components.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ Encoded tensor of shape (batch_size, pred_len, num_features).
+
+ """
+ seasonal_init, trend_init = self.decompsition(x)
+ seasonal_init, trend_init = seasonal_init.permute(0, 2, 1), trend_init.permute(0, 2, 1)
+ if self.individual:
+ seasonal_output = torch.zeros(
+ [seasonal_init.size(0), seasonal_init.size(1), self.pred_len],
+ dtype=seasonal_init.dtype,
+ ).to(seasonal_init.device)
+ trend_output = torch.zeros(
+ [trend_init.size(0), trend_init.size(1), self.pred_len], dtype=trend_init.dtype
+ ).to(trend_init.device)
+ for i in range(self.channels):
+ seasonal_output[:, i, :] = self.Linear_Seasonal[i](seasonal_init[:, i, :])
+ trend_output[:, i, :] = self.Linear_Trend[i](trend_init[:, i, :])
+ else:
+ seasonal_output = self.Linear_Seasonal(seasonal_init)
+ trend_output = self.Linear_Trend(trend_init)
+ x = seasonal_output + trend_output
+
+ return x.permute(0, 2, 1)
+
+ def forecast(self, x_enc: "torch.Tensor") -> "torch.Tensor":
+ """Forecast the output sequence.
+
+ Args:
+ x_enc: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ Forecasted tensor of shape (batch_size, pred_len, num_features).
+
+ """
+ return self.encoder(x_enc)
+
+ def forward(self, x_enc: "torch.Tensor") -> "torch.Tensor":
+ """Forward pass of the model.
+
+ Args:
+ x_enc: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ Output tensor of shape (batch_size, pred_len, num_features).
+
+ """
+ dec_out = self.forecast(x_enc)
+
+ return dec_out[:, -self.pred_len :, :]
diff --git a/tsururu/models/torch_based/layers/__init__.py b/tsururu/models/torch_based/layers/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tsururu/models/torch_based/layers/convolution.py b/tsururu/models/torch_based/layers/convolution.py
new file mode 100644
index 0000000..4cc8c05
--- /dev/null
+++ b/tsururu/models/torch_based/layers/convolution.py
@@ -0,0 +1,64 @@
+"""Module for convolution layers."""
+
+try:
+ import torch
+ import torch.nn as nn
+except ImportError:
+ torch = None
+ nn = None
+
+
+class Inception_Block_V1(nn.Module):
+ """Inception Block Version 1.
+
+ Args:
+ in_channels: number of input channels.
+ out_channels: number of output channels.
+ num_kernels: number of convolutional kernels.
+ init_weight: whether to initialize weights.
+
+ """
+
+ def __init__(
+ self, in_channels: int, out_channels: int, num_kernels: int = 6, init_weight: bool = True
+ ):
+ super(Inception_Block_V1, self).__init__()
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.num_kernels = num_kernels
+ kernels = []
+
+ # Create a list of convolutional layers with varying kernel sizes
+ for i in range(self.num_kernels):
+ kernels.append(nn.Conv2d(in_channels, out_channels, kernel_size=2 * i + 1, padding=i))
+ self.kernels = nn.ModuleList(kernels)
+
+ # Initialize weights if specified
+ if init_weight:
+ self._initialize_weights()
+
+ def _initialize_weights(self):
+ """Initialize weights of the convolutional layers."""
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode="fan_out", nonlinearity="relu")
+ if m.bias is not None:
+ nn.init.constant_(m.bias, 0)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the Inception block.
+
+ Args:
+ x: input tensor of shape (batch_size, in_channels, height, width).
+
+ Returns:
+ output tensor after applying Inception block.
+
+ """
+ # Apply each convolutional kernel to the input and collect results
+ res_list = [kernel(x) for kernel in self.kernels]
+
+ # Stack the results along a new dimension and take the mean along that dimension
+ res = torch.stack(res_list, dim=-1).mean(-1)
+
+ return res
diff --git a/tsururu/models/torch_based/layers/decomposition.py b/tsururu/models/torch_based/layers/decomposition.py
new file mode 100644
index 0000000..7e13b1d
--- /dev/null
+++ b/tsururu/models/torch_based/layers/decomposition.py
@@ -0,0 +1,73 @@
+"""Module for decomposition layers."""
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Module = ABC
+
+
+class moving_avg(Module):
+ """Moving average block to highlight the trend of time series.
+
+ Args:
+ kernel_size: size of the kernel.
+ stride: stride for the moving average.
+
+ """
+
+ def __init__(self, kernel_size: int, stride: int):
+ super(moving_avg, self).__init__()
+ self.kernel_size = kernel_size
+ self.avg = nn.AvgPool1d(kernel_size=kernel_size, stride=stride, padding=0)
+
+ def forward(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Forward pass for computing the moving average.
+
+ Args:
+ x: input tensor.
+
+ Returns:
+ tensor with the moving average applied.
+
+ """
+ # padding on the both ends of time series
+ front = x[:, 0:1, :].repeat(1, (self.kernel_size - 1) // 2, 1)
+ end = x[:, -1:, :].repeat(1, (self.kernel_size - 1) // 2, 1)
+ x = torch.cat([front, x, end], dim=1)
+ x = self.avg(x.permute(0, 2, 1))
+ x = x.permute(0, 2, 1)
+
+ return x
+
+
+class series_decomp(Module):
+ """Series decomposition block.
+
+ Args:
+ kernel_size: size of the kernel for the moving average.
+
+ """
+
+ def __init__(self, kernel_size: int):
+ super(series_decomp, self).__init__()
+ self.moving_avg = moving_avg(kernel_size, stride=1)
+
+ def forward(self, x: "torch.Tensor") -> tuple["torch.Tensor", "torch.Tensor"]:
+ """Forward pass for decomposing the series into trend and remainder.
+
+ Args:
+ x: input tensor.
+
+ Returns:
+ tuple of tensors (remainder, trend).
+
+ """
+ moving_mean = self.moving_avg(x)
+ res = x - moving_mean
+
+ return res, moving_mean
diff --git a/tsururu/models/torch_based/layers/embedding.py b/tsururu/models/torch_based/layers/embedding.py
new file mode 100644
index 0000000..bdf8cae
--- /dev/null
+++ b/tsururu/models/torch_based/layers/embedding.py
@@ -0,0 +1,254 @@
+"""Module for embedding layers."""
+
+import math
+from typing import Optional
+
+try:
+ import torch
+ import torch.nn as nn
+except ImportError:
+ torch = None
+ nn = None
+
+
+class TokenEmbedding(nn.Module):
+ """Token embedding layer using 1D convolution.
+
+ Args:
+ c_in: number of input channels.
+ d_model: dimension of the model.
+
+ """
+
+ def __init__(self, c_in: int, d_model: int):
+ super(TokenEmbedding, self).__init__()
+ padding = 1 if torch.__version__ >= "1.5.0" else 2
+ self.tokenConv = nn.Conv1d(
+ in_channels=c_in,
+ out_channels=d_model,
+ kernel_size=3,
+ padding=padding,
+ padding_mode="circular",
+ bias=False,
+ )
+ for m in self.modules():
+ if isinstance(m, nn.Conv1d):
+ nn.init.kaiming_normal_(m.weight, mode="fan_in", nonlinearity="leaky_relu")
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the token embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, c_in, seq_len).
+
+ Returns:
+ tensor of shape (batch_size, seq_len, d_model).
+ """
+ x = self.tokenConv(x.permute(0, 2, 1)).transpose(1, 2)
+
+ return x
+
+
+class PositionalEmbedding(nn.Module):
+ """Positional encoding using sine and cosine functions.
+
+ Args:
+ d_model: dimension of the model.
+ max_len: maximum length of the sequence.
+
+ """
+
+ def __init__(self, d_model: int, max_len: int = 5000):
+ super(PositionalEmbedding, self).__init__()
+ # Compute the positional encodings once in log space.
+ pe = torch.zeros(max_len, d_model).float()
+ pe.require_grad = False
+
+ position = torch.arange(0, max_len).float().unsqueeze(1)
+ div_term = (torch.arange(0, d_model, 2).float() * -(math.log(10000.0) / d_model)).exp()
+
+ pe[:, 0::2] = torch.sin(position * div_term)
+ pe[:, 1::2] = torch.cos(position * div_term)
+
+ pe = pe.unsqueeze(0)
+ self.register_buffer("pe", pe)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the positional embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, d_model).
+
+ Returns:
+ positional encoding tensor of shape (1, seq_len, d_model).
+
+ """
+ return self.pe[:, : x.size(1)]
+
+
+class FixedEmbedding(nn.Module):
+ """Fixed embedding layer using precomputed sine and cosine values.
+
+ Args:
+ c_in: number of input channels.
+ d_model: dimension of the model.
+
+ """
+
+ def __init__(self, c_in: int, d_model: int):
+ super(FixedEmbedding, self).__init__()
+
+ w = torch.zeros(c_in, d_model).float()
+ w.require_grad = False
+
+ position = torch.arange(0, c_in).float().unsqueeze(1)
+ div_term = (torch.arange(0, d_model, 2).float() * -(math.log(10000.0) / d_model)).exp()
+
+ w[:, 0::2] = torch.sin(position * div_term)
+ w[:, 1::2] = torch.cos(position * div_term)
+
+ self.emb = nn.Embedding(c_in, d_model)
+ self.emb.weight = nn.Parameter(w, requires_grad=False)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the fixed embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len).
+
+ Returns:
+ embedding tensor of shape (batch_size, seq_len, d_model).
+
+ """
+ return self.emb(x).detach()
+
+
+class TemporalEmbedding(nn.Module):
+ """Temporal embedding layer for time-related features.
+
+ Args:
+ d_model: dimension of the model.
+ embed_type: type of embedding ('fixed' or 'learned').
+ freq: frequency of the time features ('h', 't', etc.).
+
+ """
+
+ def __init__(self, d_model: int, embed_type: str = "fixed", freq: str = "h"):
+ super(TemporalEmbedding, self).__init__()
+
+ minute_size = 4
+ hour_size = 24
+ weekday_size = 7
+ day_size = 32
+ month_size = 13
+
+ Embed = FixedEmbedding if embed_type == "fixed" else nn.Embedding
+ if freq == "t":
+ self.minute_embed = Embed(minute_size, d_model)
+ self.hour_embed = Embed(hour_size, d_model)
+ self.weekday_embed = Embed(weekday_size, d_model)
+ self.day_embed = Embed(day_size, d_model)
+ self.month_embed = Embed(month_size, d_model)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the temporal embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ embedding tensor of shape (batch_size, seq_len, d_model).
+
+ """
+ x = x.long()
+ minute_x = self.minute_embed(x[:, :, 4]) if hasattr(self, "minute_embed") else 0.0
+ hour_x = self.hour_embed(x[:, :, 3])
+ weekday_x = self.weekday_embed(x[:, :, 2])
+ day_x = self.day_embed(x[:, :, 1])
+ month_x = self.month_embed(x[:, :, 0])
+
+ return hour_x + weekday_x + day_x + month_x + minute_x
+
+
+class TimeFeatureEmbedding(nn.Module):
+ """Time feature embedding layer using linear transformation.
+
+ Args:
+ d_model: dimension of the model.
+ embed_type: type of embedding (default is 'timeF').
+ freq: frequency of the time features ('h', 't', etc.).
+
+ """
+
+ def __init__(self, d_model: int, embed_type: str = "timeF", freq: str = "h"):
+ super(TimeFeatureEmbedding, self).__init__()
+
+ freq_map = {"h": 4, "t": 5, "s": 6, "m": 1, "a": 1, "w": 2, "d": 3, "b": 3}
+ d_inp = freq_map[freq]
+ self.embed = nn.Linear(d_inp, d_model, bias=False)
+
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
+ """Forward pass of the time feature embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ embedding tensor of shape (batch_size, seq_len, d_model).
+
+ """
+ return self.embed(x)
+
+
+class DataEmbedding(nn.Module):
+ """Data embedding layer combining token, positional, and temporal embeddings.
+
+ Args:
+ c_in: number of input channels.
+ d_model: dimension of the model.
+ embed_type: type of temporal embedding ('fixed', 'learned', or 'timeF').
+ freq: frequency of the time features ('h', 't', etc.).
+ dropout: dropout rate.
+
+ """
+
+ def __init__(
+ self,
+ c_in: int,
+ d_model: int,
+ embed_type: str = "fixed",
+ freq: str = "h",
+ dropout: float = 0.1,
+ ):
+ super(DataEmbedding, self).__init__()
+
+ self.value_embedding = TokenEmbedding(c_in=c_in, d_model=d_model)
+ self.position_embedding = PositionalEmbedding(d_model=d_model)
+ self.temporal_embedding = (
+ TemporalEmbedding(d_model=d_model, embed_type=embed_type, freq=freq)
+ if embed_type != "timeF"
+ else TimeFeatureEmbedding(d_model=d_model, embed_type=embed_type, freq=freq)
+ )
+ self.dropout = nn.Dropout(p=dropout)
+
+ def forward(self, x: torch.Tensor, x_mark: Optional[torch.Tensor] = None) -> torch.Tensor:
+ """Forward pass of the data embedding.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, c_in).
+ x_mark: optional tensor for temporal features.
+
+ Returns:
+ embedding tensor of shape (batch_size, seq_len, d_model).
+
+ """
+ if x_mark is None:
+ x = self.value_embedding(x) + self.position_embedding(x)
+ else:
+ x = (
+ self.value_embedding(x)
+ + self.temporal_embedding(x_mark)
+ + self.position_embedding(x)
+ )
+
+ return self.dropout(x)
diff --git a/tsururu/models/torch_based/layers/patch_tst.py b/tsururu/models/torch_based/layers/patch_tst.py
new file mode 100644
index 0000000..404a0d1
--- /dev/null
+++ b/tsururu/models/torch_based/layers/patch_tst.py
@@ -0,0 +1,864 @@
+"""Module for PatchTST layers."""
+
+from typing import Optional, Tuple, Union
+
+import numpy as np
+
+from .positional_encoding import positional_encoding
+from .rev_in import RevIN
+from .utils import Transpose, get_activation_fn
+
+try:
+ import torch
+ import torch.nn as nn
+ import torch.nn.functional as F
+ from torch import Tensor
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Tensor = None
+ F = None
+ Module = ABC
+
+
+# Cell
+class PatchTST_backbone(Module):
+ """Backbone for Patch Time Series Transformer.
+
+ Args:
+ c_in: number of input channels.
+ context_window: length of the context window.
+ target_window: length of the target window.
+ patch_len: length of each patch.
+ stride: stride between patches.
+ max_seq_len: maximum sequence length.
+ n_layers: number of layers in the encoder.
+ d_model: dimension of the model.
+ n_heads: number of attention heads.
+ d_k: dimension of the key vectors.
+ d_v: dimension of the value vectors.
+ d_ff: dimension of the feed-forward network.
+ norm: type of normalization.
+ attn_dropout: dropout rate for attention.
+ dropout: dropout rate.
+ act: activation function.
+ key_padding_mask: use key padding mask.
+ padding_var: padding variable.
+ attn_mask: attention mask.
+ res_attention: use residual attention.
+ pre_norm: use pre-normalization.
+ store_attn: store attention weights.
+ pe: type of positional encoding.
+ learn_pe: learn positional encoding.
+ fc_dropout: dropout rate for fully connected layer.
+ head_dropout: dropout rate for head.
+ padding_patch: padding for patches.
+ pretrain_head: use pretrain head.
+ head_type: type of head.
+ individual: use individual head.
+ revin: use RevIN layer.
+ affine: use affine transformation in RevIN.
+ subtract_last: subtract last value in RevIN.
+ verbose: print additional information.
+ **kwargs: additional arguments.
+ """
+
+ def __init__(
+ self,
+ c_in: int,
+ context_window: int,
+ target_window: int,
+ patch_len: int,
+ stride: int,
+ max_seq_len: Optional[int] = 1024,
+ n_layers: int = 3,
+ d_model: int = 128,
+ n_heads: int = 16,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ d_ff: int = 256,
+ norm: str = "BatchNorm",
+ attn_dropout: float = 0.0,
+ dropout: float = 0.0,
+ act: str = "gelu",
+ key_padding_mask: Union[bool, str] = "auto",
+ padding_var: Optional[int] = None,
+ attn_mask: Optional[Tensor] = None,
+ res_attention: bool = True,
+ pre_norm: bool = False,
+ store_attn: bool = False,
+ pe: str = "zeros",
+ learn_pe: bool = True,
+ fc_dropout: float = 0.0,
+ head_dropout: float = 0,
+ padding_patch: Optional[str] = None,
+ pretrain_head: bool = False,
+ head_type: str = "flatten",
+ individual: bool = False,
+ revin: bool = True,
+ affine: bool = True,
+ subtract_last: bool = False,
+ verbose: bool = False,
+ **kwargs,
+ ):
+
+ super().__init__()
+
+ # RevIn
+ self.revin = revin
+ if self.revin:
+ self.revin_layer = RevIN(c_in, affine=affine, subtract_last=subtract_last)
+
+ # Patching
+ self.patch_len = patch_len
+ self.stride = stride
+ self.padding_patch = padding_patch
+ patch_num = int((context_window - patch_len) / stride + 1)
+ if padding_patch == "end": # can be modified to general case
+ self.padding_patch_layer = nn.ReplicationPad1d((0, stride))
+ patch_num += 1
+
+ # Backbone
+ self.backbone = TSTiEncoder(
+ c_in,
+ patch_num=patch_num,
+ patch_len=patch_len,
+ max_seq_len=max_seq_len,
+ n_layers=n_layers,
+ d_model=d_model,
+ n_heads=n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ act=act,
+ key_padding_mask=key_padding_mask,
+ padding_var=padding_var,
+ attn_mask=attn_mask,
+ res_attention=res_attention,
+ pre_norm=pre_norm,
+ store_attn=store_attn,
+ pe=pe,
+ learn_pe=learn_pe,
+ verbose=verbose,
+ **kwargs,
+ )
+
+ # Head
+ self.head_nf = d_model * patch_num
+ self.n_vars = c_in
+ self.pretrain_head = pretrain_head
+ self.head_type = head_type
+ self.individual = individual
+
+ if self.pretrain_head:
+ self.head = self.create_pretrain_head(
+ self.head_nf, c_in, fc_dropout
+ ) # custom head passed as a partial func with all its kwargs
+ elif head_type == "flatten":
+ self.head = Flatten_Head(
+ self.individual,
+ self.n_vars,
+ self.head_nf,
+ target_window,
+ head_dropout=head_dropout,
+ )
+
+ def forward(self, z: Tensor) -> Tensor:
+ """Forward pass of the PatchTST backbone.
+
+ Args:
+ z: input tensor of shape (batch_size, nvars, seq_len).
+
+ Returns:
+ output tensor of shape (batch_size, nvars, target_window).
+
+ """
+ # norm
+ if self.revin:
+ z = z.permute(0, 2, 1)
+ z = self.revin_layer(z, "norm")
+ z = z.permute(0, 2, 1)
+
+ # do patching
+ if self.padding_patch == "end":
+ z = self.padding_patch_layer(z)
+ z = z.unfold(
+ dimension=-1, size=self.patch_len, step=self.stride
+ ) # z: [bs x nvars x patch_num x patch_len]
+ z = z.permute(0, 1, 3, 2) # z: [bs x nvars x patch_len x patch_num]
+
+ # model
+ z = self.backbone(z) # z: [bs x nvars x d_model x patch_num]
+ z = self.head(z) # z: [bs x nvars x target_window]
+
+ # denorm
+ if self.revin:
+ z = z.permute(0, 2, 1)
+ z = self.revin_layer(z, "denorm")
+ z = z.permute(0, 2, 1)
+
+ return z
+
+ def create_pretrain_head(self, head_nf, vars, dropout):
+ """Create pretrain head.
+
+ Args:
+ head_nf: number of features in the head.
+ vars: number of variables.
+ dropout: dropout rate.
+
+ Returns:
+ pretrain head module.
+
+ """
+ return nn.Sequential(nn.Dropout(dropout), nn.Conv1d(head_nf, vars, 1))
+
+
+class Flatten_Head(Module):
+ """Flatten head for PatchTST.
+
+ Args:
+ individual: whether to use individual heads for each variable.
+ n_vars: number of variables.
+ nf: number of features.
+ target_window: length of the target window.
+ head_dropout: dropout rate for the head. Default is 0.
+
+ """
+
+ def __init__(self, individual, n_vars, nf, target_window, head_dropout=0):
+ super().__init__()
+
+ self.individual = individual
+ self.n_vars = n_vars
+
+ if self.individual:
+ self.linears = nn.ModuleList()
+ self.dropouts = nn.ModuleList()
+ self.flattens = nn.ModuleList()
+ for i in range(self.n_vars):
+ self.flattens.append(nn.Flatten(start_dim=-2))
+ self.linears.append(nn.Linear(nf, target_window))
+ self.dropouts.append(nn.Dropout(head_dropout))
+ else:
+ self.flatten = nn.Flatten(start_dim=-2)
+ self.linear = nn.Linear(nf, target_window)
+ self.dropout = nn.Dropout(head_dropout)
+
+ def forward(self, x):
+ """Forward pass of the flatten head.
+
+ Args:
+ x: input tensor of shape (batch_size, nvars, d_model, patch_num).
+
+ Returns:
+ output tensor of shape (batch_size, nvars, target_window).
+
+ """
+ if self.individual:
+ x_out = []
+ for i in range(self.n_vars):
+ z = self.flattens[i](x[:, i, :, :]) # z: [bs x d_model * patch_num]
+ z = self.linears[i](z) # z: [bs x target_window]
+ z = self.dropouts[i](z)
+ x_out.append(z)
+ x = torch.stack(x_out, dim=1) # x: [bs x nvars x target_window]
+ else:
+ x = self.flatten(x)
+ x = self.linear(x)
+ x = self.dropout(x)
+ return x
+
+
+class TSTiEncoder(Module):
+ """Time Series Transformer independent encoder.
+
+ Args:
+ c_in: number of input channels.
+ patch_num: number of patches.
+ patch_len: length of each patch.
+ max_seq_len: maximum sequence length. Default is 1024.
+ n_layers: number of layers in the encoder. Default is 3.
+ d_model: dimension of the model. Default is 128.
+ n_heads: number of attention heads. Default is 16.
+ d_k: dimension of the key vectors. Default is None.
+ d_v: dimension of the value vectors. Default is None.
+ d_ff: dimension of the feed-forward network. Default is 256.
+ norm: type of normalization. Default is "BatchNorm".
+ attn_dropout: dropout rate for attention. Default is 0.0.
+ dropout: dropout rate. Default is 0.0.
+ act: activation function. Default is "gelu".
+ store_attn: store attention weights. Default is False.
+ key_padding_mask: use key padding mask. Default is "auto".
+ padding_var: padding variable. Default is None.
+ attn_mask: attention mask. Default is None.
+ res_attention: use residual attention. Default is True.
+ pre_norm: use pre-normalization. Default is False.
+ pe: type of positional encoding. Default is "zeros".
+ learn_pe: learn positional encoding. Default is True.
+ verbose: print additional information. Default is False.
+ **kwargs: additional arguments.
+
+ """
+
+ def __init__(
+ self,
+ c_in: int,
+ patch_num: int,
+ patch_len: int,
+ max_seq_len: int = 1024,
+ n_layers: int = 3,
+ d_model: int = 128,
+ n_heads: int = 16,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ d_ff: int = 256,
+ norm: str = "BatchNorm",
+ attn_dropout: float = 0.0,
+ dropout: float = 0.0,
+ act: str = "gelu",
+ store_attn: bool = False,
+ key_padding_mask: Union[bool, str] = "auto",
+ padding_var: Optional[int] = None,
+ attn_mask: Optional[Tensor] = None,
+ res_attention: bool = True,
+ pre_norm: bool = False,
+ pe: str = "zeros",
+ learn_pe: bool = True,
+ verbose: bool = False,
+ **kwargs,
+ ):
+
+ super().__init__()
+
+ self.patch_num = patch_num
+ self.patch_len = patch_len
+
+ # Input encoding
+ q_len = patch_num
+ self.W_P = nn.Linear(
+ patch_len, d_model
+ ) # Eq 1: projection of feature vectors onto a d-dim vector space
+ self.seq_len = q_len
+
+ # Positional encoding
+ self.W_pos = positional_encoding(pe, learn_pe, q_len, d_model)
+
+ # Residual dropout
+ self.dropout = nn.Dropout(dropout)
+
+ # Encoder
+ self.encoder = TSTEncoder(
+ q_len,
+ d_model,
+ n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ norm=norm,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ pre_norm=pre_norm,
+ activation=act,
+ res_attention=res_attention,
+ n_layers=n_layers,
+ store_attn=store_attn,
+ )
+
+ def forward(self, x: Tensor) -> Tensor:
+ """Forward pass of the TSTi encoder.
+
+ Args:
+ x: input tensor of shape (batch_size, nvars, patch_len, patch_num).
+
+ Returns:
+ output tensor of shape (batch_size, nvars, d_model, patch_num).
+
+ """
+
+ n_vars = x.shape[1]
+ # Input encoding
+ x = x.permute(0, 1, 3, 2) # x: [bs x nvars x patch_num x patch_len]
+ x = self.W_P(x) # x: [bs x nvars x patch_num x d_model]
+
+ u = torch.reshape(
+ x, (x.shape[0] * x.shape[1], x.shape[2], x.shape[3])
+ ) # u: [bs * nvars x patch_num x d_model]
+ u = self.dropout(u + self.W_pos) # u: [bs * nvars x patch_num x d_model]
+
+ # Encoder
+ z = self.encoder(u) # z: [bs * nvars x patch_num x d_model]
+ z = torch.reshape(
+ z, (-1, n_vars, z.shape[-2], z.shape[-1])
+ ) # z: [bs x nvars x patch_num x d_model]
+ z = z.permute(0, 1, 3, 2) # z: [bs x nvars x d_model x patch_num]
+
+ return z
+
+
+# Cell
+class TSTEncoder(Module):
+ """Time Series Transformer encoder.
+
+ Args:
+ q_len: length of the query sequence.
+ d_model: dimension of the model.
+ n_heads: number of attention heads.
+ d_k: dimension of the key vectors. Default is None.
+ d_v: dimension of the value vectors. Default is None.
+ d_ff: dimension of the feed-forward network. Default is None.
+ norm: type of normalization. Default is "BatchNorm".
+ attn_dropout: dropout rate for attention. Default is 0.0.
+ dropout: dropout rate. Default is 0.0.
+ activation: activation function. Default is "gelu".
+ res_attention: use residual attention. Default is False.
+ n_layers: number of layers in the encoder. Default is 1.
+ pre_norm: use pre-normalization. Default is False.
+ store_attn: store attention weights. Default is False.
+
+ """
+
+ def __init__(
+ self,
+ q_len: int,
+ d_model: int,
+ n_heads: int,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ d_ff: Optional[int] = None,
+ norm: str = "BatchNorm",
+ attn_dropout: float = 0.0,
+ dropout: float = 0.0,
+ activation: str = "gelu",
+ res_attention: bool = False,
+ n_layers: int = 1,
+ pre_norm: bool = False,
+ store_attn: bool = False,
+ ):
+ super().__init__()
+
+ self.layers = nn.ModuleList(
+ [
+ TSTEncoderLayer(
+ q_len,
+ d_model,
+ n_heads=n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ norm=norm,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ activation=activation,
+ res_attention=res_attention,
+ pre_norm=pre_norm,
+ store_attn=store_attn,
+ )
+ for i in range(n_layers)
+ ]
+ )
+ self.res_attention = res_attention
+
+ def forward(
+ self,
+ src: Tensor,
+ key_padding_mask: Optional[Tensor] = None,
+ attn_mask: Optional[Tensor] = None,
+ ) -> Tensor:
+ """Forward pass of the TST encoder.
+
+ Args:
+ src: input tensor of shape (batch_size, seq_len, d_model).
+ key_padding_mask: optional tensor for key padding mask.
+ attn_mask: optional tensor for attention mask.
+
+ Returns:
+ output tensor of shape (batch_size, seq_len, d_model).
+
+ """
+ output = src
+ scores = None
+ if self.res_attention:
+ for mod in self.layers:
+ output, scores = mod(
+ output, prev=scores, key_padding_mask=key_padding_mask, attn_mask=attn_mask
+ )
+
+ return output
+ else:
+ for mod in self.layers:
+ output = mod(output, key_padding_mask=key_padding_mask, attn_mask=attn_mask)
+
+ return output
+
+
+class TSTEncoderLayer(Module):
+ """Encoder layer for the Time Series Transformer.
+
+ Args:
+ q_len: length of the query sequence.
+ d_model: dimension of the model.
+ n_heads: number of attention heads.
+ d_k: dimension of the key vectors. Default is None.
+ d_v: dimension of the value vectors. Default is None.
+ d_ff: dimension of the feed-forward network. Default is 256.
+ store_attn: store attention weights. Default is False.
+ norm: type of normalization. Default is "BatchNorm".
+ attn_dropout: dropout rate for attention. Default is 0.0.
+ dropout: dropout rate. Default is 0.0.
+ bias: use bias in linear layers. Default is True.
+ activation: activation function. Default is "gelu".
+ res_attention: use residual attention. Default is False.
+ pre_norm: use pre-normalization. Default is False.
+
+ """
+
+ def __init__(
+ self,
+ q_len: int,
+ d_model: int,
+ n_heads: int,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ d_ff: int = 256,
+ store_attn: bool = False,
+ norm: str = "BatchNorm",
+ attn_dropout: float = 0.0,
+ dropout: float = 0.0,
+ bias: bool = True,
+ activation: str = "gelu",
+ res_attention: bool = False,
+ pre_norm: bool = False,
+ ):
+ super().__init__()
+ assert (
+ not d_model % n_heads
+ ), f"d_model ({d_model}) must be divisible by n_heads ({n_heads})"
+ d_k = d_model // n_heads if d_k is None else d_k
+ d_v = d_model // n_heads if d_v is None else d_v
+
+ # Multi-Head attention
+ self.res_attention = res_attention
+ self.self_attn = _MultiheadAttention(
+ d_model,
+ n_heads,
+ d_k,
+ d_v,
+ attn_dropout=attn_dropout,
+ proj_dropout=dropout,
+ res_attention=res_attention,
+ )
+
+ # Add & Norm
+ self.dropout_attn = nn.Dropout(dropout)
+ if "batch" in norm.lower():
+ self.norm_attn = nn.Sequential(
+ Transpose(1, 2), nn.BatchNorm1d(d_model), Transpose(1, 2)
+ )
+ else:
+ self.norm_attn = nn.LayerNorm(d_model)
+
+ # Position-wise Feed-Forward
+ self.ff = nn.Sequential(
+ nn.Linear(d_model, d_ff, bias=bias),
+ get_activation_fn(activation),
+ nn.Dropout(dropout),
+ nn.Linear(d_ff, d_model, bias=bias),
+ )
+
+ # Add & Norm
+ self.dropout_ffn = nn.Dropout(dropout)
+ if "batch" in norm.lower():
+ self.norm_ffn = nn.Sequential(
+ Transpose(1, 2), nn.BatchNorm1d(d_model), Transpose(1, 2)
+ )
+ else:
+ self.norm_ffn = nn.LayerNorm(d_model)
+
+ self.pre_norm = pre_norm
+ self.store_attn = store_attn
+
+ def forward(
+ self,
+ src: Tensor,
+ prev: Optional[Tensor] = None,
+ key_padding_mask: Optional[Tensor] = None,
+ attn_mask: Optional[Tensor] = None,
+ ) -> Union[Tensor, Tuple[Tensor, Tensor]]:
+ """Forward pass of the TST encoder layer.
+
+ Args:
+ src: input tensor of shape (batch_size, seq_len, d_model).
+ prev: previous attention scores for residual attention.
+ key_padding_mask: optional tensor for key padding mask.
+ attn_mask: optional tensor for attention mask.
+
+ Returns:
+ output tensor of shape (batch_size, seq_len, d_model).
+ If res_attention is True, also returns attention scores.
+
+ """
+ # Multi-Head attention sublayer
+ if self.pre_norm:
+ src = self.norm_attn(src)
+ # Multi-Head attention
+ if self.res_attention:
+ src2, attn, scores = self.self_attn(
+ src, src, src, prev, key_padding_mask=key_padding_mask, attn_mask=attn_mask
+ )
+ else:
+ src2, attn = self.self_attn(
+ src, src, src, key_padding_mask=key_padding_mask, attn_mask=attn_mask
+ )
+ if self.store_attn:
+ self.attn = attn
+ # Add & Norm
+ src = src + self.dropout_attn(src2) # Add: residual connection with residual dropout
+ if not self.pre_norm:
+ src = self.norm_attn(src)
+
+ # Feed-forward sublayer
+ if self.pre_norm:
+ src = self.norm_ffn(src)
+ # Position-wise Feed-Forward
+ src2 = self.ff(src)
+ # Add & Norm
+ src = src + self.dropout_ffn(src2) # Add: residual connection with residual dropout
+ if not self.pre_norm:
+ src = self.norm_ffn(src)
+
+ if self.res_attention:
+ return src, scores
+ else:
+ return src
+
+
+class _MultiheadAttention(Module):
+ """Multi-Head Attention Layer.
+
+ Args:
+ d_model: dimension of the model.
+ n_heads: number of attention heads.
+ d_k: dimension of the key vectors. Default is None.
+ d_v: dimension of the value vectors. Default is None.
+ res_attention: use residual attention. Default is False.
+ attn_dropout: dropout rate for attention. Default is 0.0.
+ proj_dropout: dropout rate for projection. Default is 0.0.
+ qkv_bias: use bias in linear layers. Default is True.
+ lsa: use locality-sensitive attention. Default is False.
+
+ Notes:
+ Input shape:
+ Q: [batch_size (bs) x max_q_len x d_model]
+ K, V: [batch_size (bs) x q_len x d_model]
+ mask: [q_len x q_len]
+
+ """
+
+ def __init__(
+ self,
+ d_model: int,
+ n_heads: int,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ res_attention: bool = False,
+ attn_dropout: float = 0.0,
+ proj_dropout: float = 0.0,
+ qkv_bias: bool = True,
+ lsa: bool = False,
+ ):
+ super().__init__()
+ d_k = d_model // n_heads if d_k is None else d_k
+ d_v = d_model // n_heads if d_v is None else d_v
+
+ self.n_heads, self.d_k, self.d_v = n_heads, d_k, d_v
+
+ self.W_Q = nn.Linear(d_model, d_k * n_heads, bias=qkv_bias)
+ self.W_K = nn.Linear(d_model, d_k * n_heads, bias=qkv_bias)
+ self.W_V = nn.Linear(d_model, d_v * n_heads, bias=qkv_bias)
+
+ # Scaled Dot-Product Attention (multiple heads)
+ self.res_attention = res_attention
+ self.sdp_attn = _ScaledDotProductAttention(
+ d_model, n_heads, attn_dropout=attn_dropout, res_attention=self.res_attention, lsa=lsa
+ )
+
+ # Poject output
+ self.to_out = nn.Sequential(nn.Linear(n_heads * d_v, d_model), nn.Dropout(proj_dropout))
+
+ def forward(
+ self,
+ Q: Tensor,
+ K: Optional[Tensor] = None,
+ V: Optional[Tensor] = None,
+ prev: Optional[Tensor] = None,
+ key_padding_mask: Optional[Tensor] = None,
+ attn_mask: Optional[Tensor] = None,
+ ) -> Union[Tensor, Tuple[Tensor, Tensor]]:
+ """Forward pass of the multi-head attention layer.
+
+ Args:
+ Q: query tensor of shape (batch_size, max_q_len, d_model).
+ K: key tensor of shape (batch_size, seq_len, d_model). Default is None.
+ V: value tensor of shape (batch_size, seq_len, d_model). Default is None.
+ prev: previous attention scores for residual attention. Default is None.
+ key_padding_mask: optional tensor for key padding mask.
+ attn_mask: optional tensor for attention mask.
+
+ Returns:
+ output tensor of shape (batch_size, q_len, d_model).
+ If res_attention is True, also returns attention scores.
+
+ """
+
+ bs = Q.size(0)
+ if K is None:
+ K = Q
+ if V is None:
+ V = Q
+
+ # Linear (+ split in multiple heads)
+ q_s = (
+ self.W_Q(Q).view(bs, -1, self.n_heads, self.d_k).transpose(1, 2)
+ ) # q_s : [bs x n_heads x max_q_len x d_k]
+ k_s = (
+ self.W_K(K).view(bs, -1, self.n_heads, self.d_k).permute(0, 2, 3, 1)
+ ) # k_s : [bs x n_heads x d_k x q_len] - transpose(1,2) + transpose(2,3)
+ v_s = (
+ self.W_V(V).view(bs, -1, self.n_heads, self.d_v).transpose(1, 2)
+ ) # v_s : [bs x n_heads x q_len x d_v]
+
+ # Apply Scaled Dot-Product Attention (multiple heads)
+ if self.res_attention:
+ output, attn_weights, attn_scores = self.sdp_attn(
+ q_s, k_s, v_s, prev=prev, key_padding_mask=key_padding_mask, attn_mask=attn_mask
+ )
+ else:
+ output, attn_weights = self.sdp_attn(
+ q_s, k_s, v_s, key_padding_mask=key_padding_mask, attn_mask=attn_mask
+ )
+ # output: [bs x n_heads x q_len x d_v], attn: [bs x n_heads x q_len x q_len], scores: [bs x n_heads x max_q_len x q_len]
+
+ # back to the original inputs dimensions
+ output = (
+ output.transpose(1, 2).contiguous().view(bs, -1, self.n_heads * self.d_v)
+ ) # output: [bs x q_len x n_heads * d_v]
+ output = self.to_out(output)
+
+ if self.res_attention:
+ return output, attn_weights, attn_scores
+ else:
+ return output, attn_weights
+
+
+class _ScaledDotProductAttention(Module):
+ """Scaled Dot-Product Attention module.
+
+ Args:
+ d_model: dimension of the model.
+ n_heads: number of attention heads.
+ attn_dropout: dropout rate for attention. Default is 0.0.
+ res_attention: use residual attention. Default is False.
+ lsa: use locality-sensitive attention. Default is False.
+
+ Notes:
+ Scaled Dot-Product Attention module (Attention is all you need by Vaswani et al., 2017)
+ with optional residual attention from previous layer (Realformer: Transformer likes
+ residual attention by He et al, 2020) and locality self sttention (Vision Transformer for
+ Small-Size Datasets by Lee et al, 2021)
+
+ """
+
+ def __init__(
+ self,
+ d_model: int,
+ n_heads: int,
+ attn_dropout: float = 0.0,
+ res_attention: bool = False,
+ lsa: bool = False,
+ ):
+ super().__init__()
+ self.attn_dropout = nn.Dropout(attn_dropout)
+ self.res_attention = res_attention
+ head_dim = d_model // n_heads
+ self.scale = nn.Parameter(torch.tensor(head_dim**-0.5), requires_grad=lsa)
+ self.lsa = lsa
+
+ def forward(
+ self,
+ q: Tensor,
+ k: Tensor,
+ v: Tensor,
+ prev: Optional[Tensor] = None,
+ key_padding_mask: Optional[Tensor] = None,
+ attn_mask: Optional[Tensor] = None,
+ ) -> Union[Tensor, Tuple[Tensor, Tensor, Tensor]]:
+ """Forward pass of the scaled dot-product attention.
+
+ Args:
+ q: query tensor of shape (batch_size, n_heads, max_q_len, d_k).
+ k: key tensor of shape (batch_size, n_heads, d_k, seq_len).
+ v: value tensor of shape (batch_size, n_heads, seq_len, d_v).
+ prev: previous attention scores for residual attention. Default is None.
+ key_padding_mask: optional tensor for key padding mask.
+ attn_mask: optional tensor for attention mask.
+
+ Returns:
+ output tensor of shape (batch_size, n_heads, max_q_len, d_v).
+ If res_attention is True, also returns attention weights and scores.
+
+ Notes:
+ Input shape:
+ q : [bs x n_heads x max_q_len x d_k]
+ k : [bs x n_heads x d_k x seq_len]
+ v : [bs x n_heads x seq_len x d_v]
+ prev : [bs x n_heads x q_len x seq_len]
+ key_padding_mask: [bs x seq_len]
+ attn_mask : [1 x seq_len x seq_len]
+ Output shape:
+ output: [bs x n_heads x q_len x d_v]
+ attn : [bs x n_heads x q_len x seq_len]
+ scores : [bs x n_heads x q_len x seq_len]
+ """
+
+ # Scaled MatMul (q, k) - similarity scores for all pairs of positions in an input sequence
+ attn_scores = (
+ torch.matmul(q, k) * self.scale
+ ) # attn_scores : [bs x n_heads x max_q_len x q_len]
+
+ # Add pre-softmax attention scores from the previous layer (optional)
+ if prev is not None:
+ attn_scores = attn_scores + prev
+
+ # Attention mask (optional)
+ if (
+ attn_mask is not None
+ ): # attn_mask with shape [q_len x seq_len] - only used when q_len == seq_len
+ if attn_mask.dtype == torch.bool:
+ attn_scores.masked_fill_(attn_mask, -np.inf)
+ else:
+ attn_scores += attn_mask
+
+ # Key padding mask (optional)
+ if (
+ key_padding_mask is not None
+ ): # mask with shape [bs x q_len] (only when max_w_len == q_len)
+ attn_scores.masked_fill_(key_padding_mask.unsqueeze(1).unsqueeze(2), -np.inf)
+
+ # normalize the attention weights
+ attn_weights = F.softmax(
+ attn_scores, dim=-1
+ ) # attn_weights : [bs x n_heads x max_q_len x q_len]
+ attn_weights = self.attn_dropout(attn_weights)
+
+ # compute the new values given the attention weights
+ output = torch.matmul(attn_weights, v) # output: [bs x n_heads x max_q_len x d_v]
+
+ if self.res_attention:
+ return output, attn_weights, attn_scores
+ else:
+ return output, attn_weights
diff --git a/tsururu/models/torch_based/layers/positional_encoding.py b/tsururu/models/torch_based/layers/positional_encoding.py
new file mode 100644
index 0000000..f6585c9
--- /dev/null
+++ b/tsururu/models/torch_based/layers/positional_encoding.py
@@ -0,0 +1,153 @@
+"""Positional encoding for transformers."""
+
+import math
+from typing import Optional
+
+try:
+ import torch
+ import torch.nn as nn
+except ImportError:
+ torch = None
+ nn = None
+
+
+def PositionalEncoding(q_len: int, d_model: int, normalize: bool = True) -> "torch.Tensor":
+ """Generate positional encoding.
+
+ Args:
+ q_len: length of the query.
+ d_model: dimension of the model.
+ normalize: whether to normalize the positional encoding.
+
+ Returns:
+ positional encoding tensor.
+
+ """
+ pe = torch.zeros(q_len, d_model)
+ position = torch.arange(0, q_len).unsqueeze(1)
+ div_term = torch.exp(torch.arange(0, d_model, 2) * -(math.log(10000.0) / d_model))
+ pe[:, 0::2] = torch.sin(position * div_term)
+ pe[:, 1::2] = torch.cos(position * div_term)
+ if normalize:
+ pe = pe - pe.mean()
+ pe = pe / (pe.std() * 10)
+
+ return pe
+
+
+def Coord2dPosEncoding(
+ q_len: int,
+ d_model: int,
+ exponential: bool = False,
+ normalize: bool = True,
+ eps: float = 1e-3,
+ verbose: bool = False,
+) -> "torch.Tensor":
+ """Generate 2D coordinate positional encoding.
+
+ Args:
+ q_len: length of the query.
+ d_model: dimension of the model.
+ exponential: whether to use exponential scaling.
+ normalize: whether to normalize the positional encoding.
+ eps: tolerance for the mean value.
+ verbose: whether to print intermediate values.
+
+ Returns:
+ positional encoding tensor.
+
+ """
+ x = 0.5 if exponential else 1
+ i = 0
+ for i in range(100):
+ cpe = (
+ 2
+ * (torch.linspace(0, 1, q_len).reshape(-1, 1) ** x)
+ * (torch.linspace(0, 1, d_model).reshape(1, -1) ** x)
+ - 1
+ )
+ if abs(cpe.mean()) <= eps:
+ break
+ elif cpe.mean() > eps:
+ x += 0.001
+ else:
+ x -= 0.001
+ i += 1
+ if normalize:
+ cpe = cpe - cpe.mean()
+ cpe = cpe / (cpe.std() * 10)
+
+ return cpe
+
+
+def Coord1dPosEncoding(
+ q_len: int, exponential: bool = False, normalize: bool = True
+) -> "torch.Tensor":
+ """Generate 1D coordinate positional encoding.
+
+ Args:
+ q_len: length of the query.
+ exponential: whether to use exponential scaling.
+ normalize: whether to normalize the positional encoding.
+
+ Returns:
+ positional encoding tensor.
+
+ """
+ cpe = 2 * (torch.linspace(0, 1, q_len).reshape(-1, 1) ** (0.5 if exponential else 1)) - 1
+ if normalize:
+ cpe = cpe - cpe.mean()
+ cpe = cpe / (cpe.std() * 10)
+
+ return cpe
+
+
+def positional_encoding(
+ pe: Optional[str], learn_pe: bool, q_len: int, d_model: int
+) -> "nn.Parameter":
+ """Initialize positional encoding.
+
+ Args:
+ pe: type of positional encoding.
+ learn_pe: whether the positional encoding is learnable.
+ q_len: length of the query.
+ d_model: dimension of the model.
+
+ Returns:
+ positional encoding parameter.
+
+ """
+ if pe is None:
+ W_pos = torch.empty(
+ (q_len, d_model)
+ ) # pe = None and learn_pe = False can be used to measure impact of pe
+ nn.init.uniform_(W_pos, -0.02, 0.02)
+ learn_pe = False
+ elif pe == "zero":
+ W_pos = torch.empty((q_len, 1))
+ nn.init.uniform_(W_pos, -0.02, 0.02)
+ elif pe == "zeros":
+ W_pos = torch.empty((q_len, d_model))
+ nn.init.uniform_(W_pos, -0.02, 0.02)
+ elif pe == "normal" or pe == "gauss":
+ W_pos = torch.zeros((q_len, 1))
+ torch.nn.init.normal_(W_pos, mean=0.0, std=0.1)
+ elif pe == "uniform":
+ W_pos = torch.zeros((q_len, 1))
+ nn.init.uniform_(W_pos, a=0.0, b=0.1)
+ elif pe == "lin1d":
+ W_pos = Coord1dPosEncoding(q_len, exponential=False, normalize=True)
+ elif pe == "exp1d":
+ W_pos = Coord1dPosEncoding(q_len, exponential=True, normalize=True)
+ elif pe == "lin2d":
+ W_pos = Coord2dPosEncoding(q_len, d_model, exponential=False, normalize=True)
+ elif pe == "exp2d":
+ W_pos = Coord2dPosEncoding(q_len, d_model, exponential=True, normalize=True)
+ elif pe == "sincos":
+ W_pos = PositionalEncoding(q_len, d_model, normalize=True)
+ else:
+ raise ValueError(
+ f"{pe} is not a valid pe (positional encoder. Available types: 'gauss'=='normal', \
+ 'zeros', 'zero', uniform', 'lin1d', 'exp1d', 'lin2d', 'exp2d', 'sincos', None.)"
+ )
+ return nn.Parameter(W_pos, requires_grad=learn_pe)
diff --git a/tsururu/models/torch_based/layers/rev_in.py b/tsururu/models/torch_based/layers/rev_in.py
new file mode 100644
index 0000000..e02cf0d
--- /dev/null
+++ b/tsururu/models/torch_based/layers/rev_in.py
@@ -0,0 +1,118 @@
+"""Reversible Instance Normalization (RevIN) module."""
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Module = ABC
+
+
+class RevIN(Module):
+ def __init__(self, num_features: int, eps=1e-5, affine=True, subtract_last=False):
+ """Reversible Instance Normalization (RevIN) module.
+
+ Args:
+ num_features: number of features or channels.
+ eps: a value added for numerical stability. Default is 1e-5.
+ affine: if True, RevIN has learnable affine parameters. Default is True.
+ subtract_last: if True, subtracts the last value for normalization. Default is False.
+
+ Notes:
+ code from https://github.com/ts-kim/RevIN, with minor modifications
+
+ """
+ super(RevIN, self).__init__()
+ self.num_features = num_features
+ self.eps = eps
+ self.affine = affine
+ self.subtract_last = subtract_last
+ if self.affine:
+ self._init_params()
+
+ def forward(self, x, mode: str):
+ """Forward pass for RevIN.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+ mode: mode of operation, either "norm" for normalization or "denorm" for denormalization.
+
+ Returns:
+ normalized or denormalized tensor.
+
+ """
+ if mode == "norm":
+ self._get_statistics(x)
+ x = self._normalize(x)
+ elif mode == "denorm":
+ x = self._denormalize(x)
+ else:
+ raise NotImplementedError
+ return x
+
+ def _init_params(self):
+ """Initialize learnable affine parameters."""
+ # initialize RevIN params: (C,)
+ self.affine_weight = nn.Parameter(torch.ones(self.num_features))
+ self.affine_bias = nn.Parameter(torch.zeros(self.num_features))
+
+ def _get_statistics(self, x: "torch.Tensor"):
+ """Compute mean and standard deviation for normalization.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ """
+ dim2reduce = tuple(range(1, x.ndim - 1))
+ if self.subtract_last:
+ self.last = x[:, -1, :].unsqueeze(1)
+ else:
+ self.mean = torch.mean(x, dim=dim2reduce, keepdim=True).detach()
+ self.stdev = torch.sqrt(
+ torch.var(x, dim=dim2reduce, keepdim=True, unbiased=False) + self.eps
+ ).detach()
+
+ def _normalize(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Normalize the input tensor.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ normalized tensor.
+
+ """
+ if self.subtract_last:
+ x = x - self.last
+ else:
+ x = x - self.mean
+ x = x / self.stdev
+ if self.affine:
+ x = x * self.affine_weight
+ x = x + self.affine_bias
+
+ return x
+
+ def _denormalize(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Denormalize the input tensor.
+
+ Args:
+ x: input tensor of shape (batch_size, seq_len, num_features).
+
+ Returns:
+ denormalized tensor.
+
+ """
+ if self.affine:
+ x = x - self.affine_bias
+ x = x / (self.affine_weight + self.eps * self.eps)
+ x = x * self.stdev
+ if self.subtract_last:
+ x = x + self.last
+ else:
+ x = x + self.mean
+
+ return x
diff --git a/tsururu/models/torch_based/layers/utils.py b/tsururu/models/torch_based/layers/utils.py
new file mode 100644
index 0000000..65e90b9
--- /dev/null
+++ b/tsururu/models/torch_based/layers/utils.py
@@ -0,0 +1,65 @@
+"""Module containing utility functions and classes."""
+
+from typing import Callable, Union
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Module = ABC
+
+
+def get_activation_fn(activation: Union[str, Callable[[], Module]]) -> Module:
+ """Get the activation function based on the provided name or callable.
+
+ Args:
+ activation: activation function name ('relu', 'gelu') or a callable.
+
+ Returns:
+ activation function instance.
+
+ Raises:
+ ValueError: if the activation function is not available.
+
+ """
+ if callable(activation):
+ return activation()
+ elif activation.lower() == "relu":
+ return nn.ReLU()
+ elif activation.lower() == "gelu":
+ return nn.GELU()
+ raise ValueError(f'{activation} is not available. You can use "relu", "gelu", or a callable')
+
+
+class Transpose(Module):
+ """Module for transposing tensors with optional contiguous memory layout.
+
+ Args:
+ dims: dimensions to transpose.
+ contiguous: whether to make the tensor contiguous in memory after transposing.
+
+ """
+
+ def __init__(self, *dims: int, contiguous: bool = False):
+ super().__init__()
+ self.dims = dims
+ self.contiguous = contiguous
+
+ def forward(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Forward pass for transposing the tensor.
+
+ Args:
+ x: input tensor.
+
+ Returns:
+ transposed tensor.
+
+ """
+ if self.contiguous:
+ return x.transpose(*self.dims).contiguous()
+ else:
+ return x.transpose(*self.dims)
diff --git a/tsururu/models/torch_based/patch_tst.py b/tsururu/models/torch_based/patch_tst.py
new file mode 100644
index 0000000..f4720f6
--- /dev/null
+++ b/tsururu/models/torch_based/patch_tst.py
@@ -0,0 +1,270 @@
+"""PatchTST model for time series forecasting."""
+
+from typing import Optional, Union
+
+from .layers.decomposition import series_decomp
+from .layers.patch_tst import PatchTST_backbone
+
+try:
+ import torch
+ import torch.nn as nn
+ from torch.nn import Module
+except ImportError:
+ from abc import ABC
+ torch = None
+ nn = None
+ Module = ABC
+
+
+class PatchTST_NN(Module):
+ """PatchTST_NN model from the paper https://arxiv.org/abs/2211.14730.
+
+ Args:
+ seq_len: input sequence length
+ pred_len: prediction sequence length
+ enc_in: encoder input size
+ e_layers: number of encoder layers
+ n_heads: number of attention heads
+ d_model: dimension of model
+ d_ff: dimension of feedforward network
+ dropout: dropout rate
+ fc_dropout: fully connected dropout rate
+ head_dropout: head dropout rate
+ individual: individual head flag
+ patch_len: patch length
+ stride: stride length
+ padding_patch: padding type (None or "end")
+ revin: RevIN flag
+ affine: RevIN-affine flag
+ subtract_last: subtract last flag (0: subtract mean; 1: subtract last)
+ decomposition: decomposition flag
+ kernel_size: decomposition kernel size
+ max_seq_len: maximum sequence length
+ d_k: dimension of key
+ d_v: dimension of value
+ norm: normalization type
+ attn_dropout: attention dropout rate
+ act: activation function
+ key_padding_mask: key padding mask
+ padding_var: padding variable
+ attn_mask: attention mask
+ res_attention: residual attention flag
+ pre_norm: pre-norm flag
+ store_attn: store attention flag
+ pe: positional encoding type
+ learn_pe: learn positional encoding flag
+ pretrain_head: pretrain head flag
+ head_type: head type
+ verbose: verbose flag
+
+ """
+
+ def __init__(
+ self,
+ seq_len: int,
+ pred_len: int,
+ enc_in: int,
+ e_layers: int = 3,
+ n_heads: int = 4,
+ d_model: int = 16,
+ d_ff: int = 128,
+ dropout: float = 0.05,
+ fc_dropout: float = 0.05,
+ head_dropout: float = 0.0,
+ individual: int = 0,
+ patch_len: int = 16,
+ stride: int = 8,
+ padding_patch: str = "end",
+ revin: int = 1,
+ affine: int = 0,
+ subtract_last: int = 0,
+ decomposition: int = 0,
+ kernel_size: int = 25,
+ max_seq_len: Optional[int] = 1024,
+ d_k: Optional[int] = None,
+ d_v: Optional[int] = None,
+ norm: str = "BatchNorm",
+ attn_dropout: float = 0.0,
+ act: str = "gelu",
+ key_padding_mask: Union[str, bool] = "auto",
+ padding_var: Optional[int] = None,
+ attn_mask: Optional["torch.Tensor"] = None,
+ res_attention: bool = True,
+ pre_norm: bool = False,
+ store_attn: bool = False,
+ pe: str = "zeros",
+ learn_pe: bool = True,
+ pretrain_head: bool = False,
+ head_type: str = "flatten",
+ verbose: bool = False,
+ **kwargs
+ ):
+
+ super().__init__()
+
+ # load parameters
+ c_in = enc_in
+ context_window = seq_len
+ target_window = pred_len
+
+ n_layers = e_layers
+ n_heads = n_heads
+ d_model = d_model
+ d_ff = d_ff
+ dropout = dropout
+ fc_dropout = fc_dropout
+ head_dropout = head_dropout
+
+ individual = individual
+
+ patch_len = patch_len
+ stride = stride
+ padding_patch = padding_patch
+
+ revin = revin
+ affine = affine
+ subtract_last = subtract_last
+
+ decomposition = decomposition
+ kernel_size = kernel_size
+
+ # model
+ self.decomposition = decomposition
+ if self.decomposition:
+ self.decomp_module = series_decomp(kernel_size)
+ self.model_trend = PatchTST_backbone(
+ c_in=c_in,
+ context_window=context_window,
+ target_window=target_window,
+ patch_len=patch_len,
+ stride=stride,
+ max_seq_len=max_seq_len,
+ n_layers=n_layers,
+ d_model=d_model,
+ n_heads=n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ norm=norm,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ act=act,
+ key_padding_mask=key_padding_mask,
+ padding_var=padding_var,
+ attn_mask=attn_mask,
+ res_attention=res_attention,
+ pre_norm=pre_norm,
+ store_attn=store_attn,
+ pe=pe,
+ learn_pe=learn_pe,
+ fc_dropout=fc_dropout,
+ head_dropout=head_dropout,
+ padding_patch=padding_patch,
+ pretrain_head=pretrain_head,
+ head_type=head_type,
+ individual=individual,
+ revin=revin,
+ affine=affine,
+ subtract_last=subtract_last,
+ verbose=verbose,
+ **kwargs
+ )
+ self.model_res = PatchTST_backbone(
+ c_in=c_in,
+ context_window=context_window,
+ target_window=target_window,
+ patch_len=patch_len,
+ stride=stride,
+ max_seq_len=max_seq_len,
+ n_layers=n_layers,
+ d_model=d_model,
+ n_heads=n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ norm=norm,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ act=act,
+ key_padding_mask=key_padding_mask,
+ padding_var=padding_var,
+ attn_mask=attn_mask,
+ res_attention=res_attention,
+ pre_norm=pre_norm,
+ store_attn=store_attn,
+ pe=pe,
+ learn_pe=learn_pe,
+ fc_dropout=fc_dropout,
+ head_dropout=head_dropout,
+ padding_patch=padding_patch,
+ pretrain_head=pretrain_head,
+ head_type=head_type,
+ individual=individual,
+ revin=revin,
+ affine=affine,
+ subtract_last=subtract_last,
+ verbose=verbose,
+ **kwargs
+ )
+ else:
+ self.model = PatchTST_backbone(
+ c_in=c_in,
+ context_window=context_window,
+ target_window=target_window,
+ patch_len=patch_len,
+ stride=stride,
+ max_seq_len=max_seq_len,
+ n_layers=n_layers,
+ d_model=d_model,
+ n_heads=n_heads,
+ d_k=d_k,
+ d_v=d_v,
+ d_ff=d_ff,
+ norm=norm,
+ attn_dropout=attn_dropout,
+ dropout=dropout,
+ act=act,
+ key_padding_mask=key_padding_mask,
+ padding_var=padding_var,
+ attn_mask=attn_mask,
+ res_attention=res_attention,
+ pre_norm=pre_norm,
+ store_attn=store_attn,
+ pe=pe,
+ learn_pe=learn_pe,
+ fc_dropout=fc_dropout,
+ head_dropout=head_dropout,
+ padding_patch=padding_patch,
+ pretrain_head=pretrain_head,
+ head_type=head_type,
+ individual=individual,
+ revin=revin,
+ affine=affine,
+ subtract_last=subtract_last,
+ verbose=verbose,
+ **kwargs
+ )
+
+ def forward(self, x: "torch.Tensor") -> "torch.Tensor":
+ """Forward pass for the PatchTST_NN model.
+
+ Args:
+ x: input tensor of shape [Batch, Input length, Channel].
+
+ Returns:
+ Output tensor of shape [Batch, Input length, Channel].
+
+ """
+ if self.decomposition:
+ res_init, trend_init = self.decomp_module(x)
+ res_init, trend_init = res_init.permute(0, 2, 1), trend_init.permute(0, 2, 1)
+ res = self.model_res(res_init)
+ trend = self.model_trend(trend_init)
+ x = res + trend
+ x = x.permute(0, 2, 1)
+ else:
+ x = x.permute(0, 2, 1)
+ x = self.model(x)
+ x = x.permute(0, 2, 1)
+
+ return x
diff --git a/tsururu/strategies/__init__.py b/tsururu/strategies/__init__.py
index 63a3aa6..b108fc2 100644
--- a/tsururu/strategies/__init__.py
+++ b/tsururu/strategies/__init__.py
@@ -1,35 +1,35 @@
-"""Time series forecasting strategies."""
-
-from .direct import DirectStrategy
-from .flat_wide_mimo import FlatWideMIMOStrategy
-from .mimo import MIMOStrategy
-from .recursive import RecursiveStrategy
-
-
-# Factory Object
-class StrategiesFactory:
- def __init__(self):
- self.models = {
- "RecursiveStrategy": RecursiveStrategy,
- "DirectStrategy": DirectStrategy,
- "MIMOStrategy": MIMOStrategy,
- "FlatWideMIMOStrategy": FlatWideMIMOStrategy,
- }
-
- def get_allowed(self):
- return sorted(list(self.models.keys()))
-
- def __getitem__(self, params):
- return self.models[params["strategy_name"]](**params["strategy_params"])
-
- def create_strategy(self, strategy_name, strategy_params):
- return self.models[strategy_name](**strategy_params)
-
-
-__all__ = [
- "RecursiveStrategy",
- "DirectStrategy",
- "MIMOStrategy",
- "FlatWideMIMOStrategy",
- "StrategiesFactory",
-]
+"""Time series forecasting strategies."""
+
+from .direct import DirectStrategy
+from .flat_wide_mimo import FlatWideMIMOStrategy
+from .mimo import MIMOStrategy
+from .recursive import RecursiveStrategy
+
+
+# Factory Object
+class StrategiesFactory:
+ def __init__(self):
+ self.models = {
+ "RecursiveStrategy": RecursiveStrategy,
+ "DirectStrategy": DirectStrategy,
+ "MIMOStrategy": MIMOStrategy,
+ "FlatWideMIMOStrategy": FlatWideMIMOStrategy,
+ }
+
+ def get_allowed(self):
+ return sorted(list(self.models.keys()))
+
+ def __getitem__(self, params):
+ return self.models[params["strategy_name"]](**params["strategy_params"])
+
+ def create_strategy(self, strategy_name, strategy_params):
+ return self.models[strategy_name](**strategy_params)
+
+
+__all__ = [
+ "RecursiveStrategy",
+ "DirectStrategy",
+ "MIMOStrategy",
+ "FlatWideMIMOStrategy",
+ "StrategiesFactory",
+]
diff --git a/tsururu/strategies/base.py b/tsururu/strategies/base.py
index 59669fc..849a4fc 100644
--- a/tsururu/strategies/base.py
+++ b/tsururu/strategies/base.py
@@ -1,243 +1,270 @@
-from typing import List, Optional, Union
-
-import numpy as np
-import pandas as pd
-
-from ..dataset.dataset import TSDataset
-from ..dataset.pipeline import Pipeline
-from ..dataset.slice import IndexSlicer
-from ..models import Estimator
-from .utils import timing_decorator
-
-
-class Strategy:
- """Base class for strategies, that are needed for fitting and
- inference of base models.
-
- Args:
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from
- observations (y_{t-history}, ..., y_{t-1}).
- step: in how many points to take the next observation while
- making samples' matrix.
- model: base model.
- pipeline: pipeline for feature and target generation.
-
- Notes:
- 1. A type of strategy defines what features and targets will be
- built for subsequent training and inference of the base model.
- 2. Now the `step` param should be 1. It will be changed in the
- future.
-
- """
-
- @staticmethod
- def check_step_param(step: int):
- """Check if the given step parameter is valid.
-
- Args:
- step: the step parameter to be checked.
-
- Raises:
- AssertionError: if the step parameter is not equal to 1.
-
- """
- assert step == 1, "Step should be 1. It will be changed in the future."
-
- def __init__(
- self,
- horizon: int,
- history: int,
- step: int,
- model: Estimator,
- pipeline: Pipeline,
- ):
- self.check_step_param(step)
-
- self.horizon = horizon
- self.history = history
- self.step = step
- self.model = model
- self.pipeline = pipeline
-
- self.models = []
-
- @staticmethod
- def _make_preds_df(
- dataset: TSDataset, horizon: int, history: int, id_column_name: Optional[str] = None
- ) -> pd.DataFrame:
- """Create a DataFrame with predictions based on the given
- dataset.
-
- Args:
- dataset: the input time series dataset.
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from
- observations (y_{t-history}, ..., y_{t-1}).
- historical data.
- id_column_name: the name of the column containing the IDs.
- If not provided, the ID column name from the dataset
- will be used. Defaults to None.
-
- Returns:
- A DataFrame with the predicted values,
- including the ID, date, and target columns.
-
- """
- if id_column_name is None:
- id_column_name = dataset.id_column
-
- columns_list = [id_column_name, dataset.date_column, dataset.target_column]
-
- index_slicer = IndexSlicer()
- # Get dataframe with predictions only
- target_ids = index_slicer.create_idx_target(
- data=dataset.data,
- horizon=horizon,
- history=history,
- step=horizon + history,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- columns_ids = index_slicer.get_cols_idx(dataset.data, columns_list)
- data = index_slicer.get_slice(dataset.data, (target_ids, columns_ids))
- pred_df = pd.DataFrame(np.vstack(data), columns=columns_list)
-
- return pred_df
-
- @staticmethod
- def _backtest_generator(dataset: TSDataset, cv: int, horizon: int):
- """Generate train-test splits for cross-validation.
-
- Args:
- dataset: the time series dataset.
- cv: the number of cross-validation folds.
- horizon: the forecast horizon.
-
- Yields:
- a tuple containing the train and test indices for each fold.
-
- """
- index_slicer = IndexSlicer()
- segments_ids = index_slicer.ids_from_date(
- dataset.data, dataset.date_column, delta=dataset.delta
- )
- segments_ids = [0] + segments_ids + [len(dataset.data)]
-
- for val_idx in range(cv):
- full_train = np.array([])
- full_test = np.array([])
-
- for i in range(len(segments_ids) - 1):
- if len(full_train) > 0:
- full_train = np.vstack(
- (
- full_train,
- np.arange(
- segments_ids[i],
- segments_ids[i + 1] - horizon * (val_idx + 1),
- ),
- )
- )
- full_test = np.vstack(
- (
- full_test,
- np.arange(
- segments_ids[i + 1] - horizon * (val_idx + 1),
- segments_ids[i + 1] - horizon * (val_idx),
- ),
- )
- )
- else:
- full_train = np.arange(
- segments_ids[i], segments_ids[i + 1] - horizon * (val_idx + 1)
- )
- full_test = np.arange(
- segments_ids[i + 1] - horizon * (val_idx + 1),
- segments_ids[i + 1] - horizon * (val_idx),
- )
-
- yield (full_train, full_test)
-
- def make_step(self, dataset: TSDataset):
- """Make a step in the strategy.
-
- Args:
- step: the step number.
- dataset: the dataset to make the step on.
-
- Returns:
- the updated dataset.
-
- """
- raise NotImplementedError()
-
- @timing_decorator
- def fit(self, dataset: TSDataset):
- """Fits the strategy to the given dataset.
-
- Args:
- dataset: The dataset to fit the strategy on.
-
- Returns:
- self.
-
- """
- raise NotImplementedError()
-
- def back_test(self, dataset: TSDataset, cv: int) -> Union[List, np.ndarray]:
- """Perform backtesting on the given dataset using
- cross-validation.
-
- Args:
- dataset: the dataset to perform backtesting on.
- cv: the number of cross-validation folds.
-
- Returns:
- a tuple containing the following lists:
- ids_list: IDs of the predictions.
- test_list: actual test values.
- preds_list: predicted values.
- fit_time_list: fit times for each fold.
- forecast_time_list: forecast times for each fold.
-
- """
- ids_list = []
- test_list = []
- preds_list = []
- fit_time_list = []
- forecast_time_list = []
-
- for train_idx, test_idx in self._backtest_generator(dataset, cv, self.horizon):
- current_train = dataset.data.iloc[train_idx.reshape(-1)]
- current_test = dataset.data.iloc[test_idx.reshape(-1)]
- current_dataset = TSDataset(current_train, dataset.columns_params, dataset.delta)
-
- fit_time, _ = self.fit(current_dataset)
- forecast_time, current_pred = self.predict(current_dataset)
-
- test_list.append(np.asarray(current_test[dataset.target_column].values))
- preds_list.append(np.asarray(current_pred[dataset.target_column].values))
- fit_time_list.append(fit_time)
- forecast_time_list.append(forecast_time)
-
- if dataset.data[dataset.id_column].nunique() > 1:
- ids_list.append(np.asarray(current_pred[dataset.id_column].values))
-
- return (ids_list, test_list, preds_list, fit_time_list, forecast_time_list)
-
- @timing_decorator
- def predict(self, dataset: TSDataset) -> np.ndarray:
- """Predicts the target values for the given dataset.
-
- Args:
- dataset: the dataset to make predictions on.
-
- Returns:
- a pandas DataFrame containing the predicted target values.
-
- """
- raise NotImplementedError()
+import logging
+from typing import List, Optional, Union
+
+import numpy as np
+import pandas as pd
+
+from ..dataset.dataset import TSDataset
+from ..dataset.pipeline import Pipeline
+from ..dataset.slice import IndexSlicer
+from ..model_training.trainer import DLTrainer, MLTrainer
+from ..utils.logging import set_stdout_level, verbosity_to_loglevel
+from .utils import timing_decorator
+
+logger = logging.getLogger(__name__)
+
+
+class Strategy:
+ """Base class for strategies, that are needed for fitting and
+ inference of base models.
+
+ Args:
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from
+ observations (y_{t-history}, ..., y_{t-1}).
+ trainer: trainer with model params and validation params.
+ pipeline: pipeline for feature and target generation.
+ step: in how many points to take the next observation while
+ making samples' matrix.
+
+ Notes:
+ 1. A type of strategy defines what features and targets will be
+ built for subsequent training and inference of the base model.
+ 2. Now the `step` param should be 1. It will be changed in the
+ future.
+
+ """
+
+ @staticmethod
+ def set_verbosity_level(verbose):
+ """Verbosity level setter.
+
+ Args:
+ verbose: Controls the verbosity: the higher, the more messages.
+ <1 : messages are not displayed;
+ >=1 : the common information about training and testing is displayed;
+ >=2 : the information about folds processing is also displayed;
+ >=3 : the training process for every algorithm is displayed;
+ >=4 : the debug information is displayed;
+ """
+ level = verbosity_to_loglevel(verbose)
+ set_stdout_level(level)
+
+ logger.info(f"Stdout logging level is {logging._levelToName[level]}.")
+
+ @staticmethod
+ def check_step_param(step: int):
+ """Check if the given step parameter is valid.
+
+ Args:
+ step: the step parameter to be checked.
+
+ Raises:
+ AssertionError: if the step parameter is not equal to 1.
+
+ """
+ assert step == 1, "Step should be 1. It will be changed in the future."
+
+ def __init__(
+ self,
+ horizon: int,
+ history: int,
+ trainer: Union[MLTrainer, DLTrainer],
+ pipeline: Pipeline,
+ step: int = 1,
+ ):
+ self.check_step_param(step)
+
+ self.horizon = horizon
+ self.history = history
+ self.step = step
+ self.trainer = trainer
+ self.pipeline = pipeline
+
+ self.trainers = []
+ self.is_fitted = False
+
+ @staticmethod
+ def _make_preds_df(
+ dataset: TSDataset, horizon: int, history: int, id_column_name: Optional[str] = None
+ ) -> pd.DataFrame:
+ """Create a DataFrame with predictions based on the given
+ dataset.
+
+ Args:
+ dataset: the input time series dataset.
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from
+ observations (y_{t-history}, ..., y_{t-1}).
+ historical data.
+ id_column_name: the name of the column containing the IDs.
+ If not provided, the ID column name from the dataset
+ will be used. Defaults to None.
+
+ Returns:
+ A DataFrame with the predicted values,
+ including the ID, date, and target columns.
+
+ """
+ if id_column_name is None:
+ id_column_name = dataset.id_column
+
+ columns_list = [id_column_name, dataset.date_column, dataset.target_column]
+
+ index_slicer = IndexSlicer()
+ # Get dataframe with predictions only
+ target_ids = index_slicer.create_idx_target(
+ data=dataset.data,
+ horizon=horizon,
+ history=history,
+ step=horizon + history,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ columns_ids = index_slicer.get_cols_idx(dataset.data, columns_list)
+ data = index_slicer.get_slice(dataset.data, (target_ids, columns_ids))
+ pred_df = pd.DataFrame(np.vstack(data), columns=columns_list)
+
+ return pred_df
+
+ @staticmethod
+ def _backtest_generator(dataset: TSDataset, cv: int, horizon: int):
+ """Generate train-test splits for cross-validation.
+
+ Args:
+ dataset: the time series dataset.
+ cv: the number of cross-validation folds.
+ horizon: the forecast horizon.
+
+ Yields:
+ a tuple containing the train and test indices for each fold.
+
+ """
+ index_slicer = IndexSlicer()
+ segments_ids = index_slicer.ids_from_date(
+ dataset.data, dataset.date_column, delta=dataset.delta
+ )
+ segments_ids = [0] + segments_ids + [len(dataset.data)]
+
+ for val_idx in range(cv):
+ full_train = np.array([])
+ full_test = np.array([])
+
+ for i in range(len(segments_ids) - 1):
+ if len(full_train) > 0:
+ full_train = np.vstack(
+ (
+ full_train,
+ np.arange(
+ segments_ids[i],
+ segments_ids[i + 1] - horizon * (val_idx + 1),
+ ),
+ )
+ )
+ full_test = np.vstack(
+ (
+ full_test,
+ np.arange(
+ segments_ids[i + 1] - horizon * (val_idx + 1),
+ segments_ids[i + 1] - horizon * (val_idx),
+ ),
+ )
+ )
+ else:
+ full_train = np.arange(
+ segments_ids[i], segments_ids[i + 1] - horizon * (val_idx + 1)
+ )
+ full_test = np.arange(
+ segments_ids[i + 1] - horizon * (val_idx + 1),
+ segments_ids[i + 1] - horizon * (val_idx),
+ )
+
+ yield (full_train, full_test)
+
+ def make_step(self, dataset: TSDataset):
+ """Make a step in the strategy.
+
+ Args:
+ step: the step number.
+ dataset: the dataset to make the step on.
+
+ Returns:
+ the updated dataset.
+
+ """
+ raise NotImplementedError()
+
+ @timing_decorator
+ def fit(
+ self,
+ dataset: TSDataset,
+ ):
+ """Fits the strategy to the given dataset.
+
+ Args:
+ dataset: The dataset to fit the strategy on.
+
+ Returns:
+ self.
+
+ """
+ raise NotImplementedError()
+
+ def back_test(self, dataset: TSDataset, cv: int) -> Union[List, np.ndarray]:
+ """Perform backtesting on the given dataset using
+ cross-validation.
+
+ Args:
+ dataset: the dataset to perform backtesting on.
+ cv: the number of cross-validation folds.
+
+ Returns:
+ a tuple containing the following lists:
+ ids_list: IDs of the predictions.
+ test_list: actual test values.
+ preds_list: predicted values.
+ fit_time_list: fit times for each fold.
+ forecast_time_list: forecast times for each fold.
+
+ """
+ ids_list = []
+ test_list = []
+ preds_list = []
+ fit_time_list = []
+ forecast_time_list = []
+
+ for train_idx, test_idx in self._backtest_generator(dataset, cv, self.horizon):
+ current_train = dataset.data.iloc[train_idx.reshape(-1)]
+ current_test = dataset.data.iloc[test_idx.reshape(-1)]
+ current_dataset = TSDataset(current_train, dataset.columns_params, dataset.delta)
+
+ fit_time, _ = self.fit(current_dataset)
+ forecast_time, current_pred = self.predict(current_dataset)
+
+ test_list.append(np.asarray(current_test[dataset.target_column].values))
+ preds_list.append(np.asarray(current_pred[dataset.target_column].values))
+ fit_time_list.append(fit_time)
+ forecast_time_list.append(forecast_time)
+
+ if dataset.data[dataset.id_column].nunique() > 1:
+ ids_list.append(np.asarray(current_pred[dataset.id_column].values))
+
+ return (ids_list, test_list, preds_list, fit_time_list, forecast_time_list)
+
+ @timing_decorator
+ def predict(self, dataset: TSDataset, test_all: bool = False) -> np.ndarray:
+ """Predicts the target values for the given dataset.
+
+ Args:
+ dataset: the dataset to make predictions on.
+ test_all: whether to predict all the target values
+ (like rolling forecast) or only the last one.
+
+ Returns:
+ a pandas DataFrame containing the predicted target values.
+
+ """
+ raise NotImplementedError()
diff --git a/tsururu/strategies/direct.py b/tsururu/strategies/direct.py
index 732c489..e31aa2f 100644
--- a/tsururu/strategies/direct.py
+++ b/tsururu/strategies/direct.py
@@ -1,173 +1,286 @@
-from copy import deepcopy
-
-from ..dataset.dataset import TSDataset
-from ..dataset.pipeline import Pipeline
-from ..dataset.slice import IndexSlicer
-from ..models import Estimator
-from .recursive import RecursiveStrategy
-from .utils import timing_decorator
-
-index_slicer = IndexSlicer()
-
-
-class DirectStrategy(RecursiveStrategy):
- """A strategy that uses an individual model for each point in the
- forecast horizon.
-
- Args:
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from observations
- (y_{t-history}, ..., y_{t-1}).
- step: in how many points to take the next observation while making
- samples' matrix.
- model: base model.
- pipeline: pipeline for feature and target generation.
- model_horizon: how many points to predict at a time,
- if model_horizon > 1, then it's an intermediate strategy between
- RecursiveStrategy and MIMOStrategy.
- equal_train_size: if true, all models are trained with the same
- training sample (which is equal to the training sample
- of the last model if equal_train_size=false).
-
- Notes:
- 1. Fit: the models is fitted to predict certain point in the
- forecasting horizon (number of models = horizon).
- 2. Inference: each model predict one point.
-
- """
-
- def __init__(
- self,
- horizon: int,
- history: int,
- step: int,
- model: Estimator,
- pipeline: Pipeline,
- model_horizon: int = 1,
- equal_train_size: bool = False,
- ):
- super().__init__(horizon, history, step, model, pipeline, model_horizon)
- self.equal_train_size = equal_train_size
- self.strategy_name = "direct"
-
- @timing_decorator
- def fit(self, dataset: TSDataset) -> "DirectStrategy":
- """Fits the direct strategy to the given dataset.
-
- Args:
- dataset: The dataset to fit the strategy on.
-
- Returns:
- self.
-
- """
- self.models = []
-
- if self.equal_train_size:
- features_idx = index_slicer.create_idx_data(
- dataset.data,
- self.model_horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.model_horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
- data = self.pipeline.fit_transform(data, self.strategy_name)
-
- for horizon in range(1, self.horizon // self.model_horizon + 1):
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )[:, (horizon - 1) * self.model_horizon : horizon * self.model_horizon]
-
- data["target_idx"] = target_idx
-
- current_model = deepcopy(self.model)
- current_model.fit(data, self.pipeline)
- self.models.append(current_model)
-
- else:
- for horizon in range(1, self.horizon // self.model_horizon + 1):
- features_idx = index_slicer.create_idx_data(
- dataset.data,
- self.model_horizon * horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.model_horizon * horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- n_last_horizon=self.model_horizon,
- )
-
- data = self.pipeline.create_data_dict_for_pipeline(
- dataset, features_idx, target_idx
- )
- data = self.pipeline.fit_transform(data, self.strategy_name)
-
- current_model = deepcopy(self.model)
- current_model.fit(data, self.pipeline)
- self.models.append(current_model)
-
- return self
-
- def make_step(self, step, dataset):
- """Make a step in the direct strategy.
-
- Args:
- step: the step number.
- dataset: the dataset to make the step on.
-
- Returns:
- the updated dataset.
-
- """
- test_idx = index_slicer.create_idx_test(
- dataset.data,
- self.horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )[:, self.model_horizon * step : self.model_horizon * (step + 1)]
-
- data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)
- data = self.pipeline.transform(data)
-
- pred = self.models[step].predict(data, self.pipeline)
- pred = self.pipeline.inverse_transform_y(pred)
-
- dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)
-
- return dataset
+from copy import deepcopy
+from typing import Union
+
+from ..dataset.dataset import TSDataset
+from ..dataset.pipeline import Pipeline
+from ..dataset.slice import IndexSlicer
+from ..model_training.trainer import DLTrainer, MLTrainer
+from .recursive import RecursiveStrategy
+from .utils import timing_decorator
+
+index_slicer = IndexSlicer()
+
+
+class DirectStrategy(RecursiveStrategy):
+ """A strategy that uses an individual model for each point in the
+ forecast horizon.
+
+ Args:
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from observations
+ (y_{t-history}, ..., y_{t-1}).
+ trainer: trainer with model params and validation params.
+ pipeline: pipeline for feature and target generation.
+ step: in how many points to take the next observation while making
+ samples' matrix.
+ model_horizon: how many points to predict at a time,
+ if model_horizon > 1, then it's an intermediate strategy between
+ RecursiveStrategy and MIMOStrategy.
+ equal_train_size: if true, all models are trained with the same
+ training sample (which is equal to the training sample
+ of the last model if equal_train_size=false).
+
+ Notes:
+ 1. Fit: the models is fitted to predict certain point in the
+ forecasting horizon (number of models = horizon).
+ 2. Inference: each model predict one point.
+
+ """
+
+ def __init__(
+ self,
+ horizon: int,
+ history: int,
+ trainer: Union[MLTrainer, DLTrainer],
+ pipeline: Pipeline,
+ step: int = 1,
+ model_horizon: int = 1,
+ equal_train_size: bool = False,
+ ):
+ super().__init__(horizon, history, trainer, pipeline, step, model_horizon)
+ self.equal_train_size = equal_train_size
+ self.strategy_name = "direct"
+
+ @timing_decorator
+ def fit(
+ self,
+ dataset: TSDataset,
+ ) -> "DirectStrategy":
+ """Fits the direct strategy to the given dataset.
+
+ Args:
+ dataset: The dataset to fit the strategy on.
+
+ Returns:
+ self.
+
+ """
+ self.trainers = []
+
+ if self.equal_train_size:
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = self.pipeline.fit_transform(data, self.strategy_name)
+
+ val_dataset = self.trainer.validation_params.get("validation_data")
+
+ if val_dataset:
+ val_features_idx = index_slicer.create_idx_data(
+ val_dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=val_dataset.date_column,
+ delta=val_dataset.delta,
+ )
+
+ val_target_idx = index_slicer.create_idx_target(
+ val_dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=val_dataset.date_column,
+ delta=val_dataset.delta,
+ )
+
+ val_data = self.pipeline.create_data_dict_for_pipeline(
+ val_dataset, val_features_idx, val_target_idx
+ )
+ val_data = self.pipeline.transform(val_data)
+ else:
+ val_data = None
+
+ for model_i, horizon in enumerate(range(1, self.horizon // self.model_horizon + 1)):
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )[:, (horizon - 1) * self.model_horizon : horizon * self.model_horizon]
+
+ data["target_idx"] = target_idx
+
+ if val_dataset:
+ val_target_idx = index_slicer.create_idx_target(
+ val_dataset.data,
+ self.horizon,
+ self.history,
+ self.step,
+ date_column=val_dataset.date_column,
+ delta=val_dataset.delta,
+ )[:, (horizon - 1) * self.model_horizon : horizon * self.model_horizon]
+
+ val_data["target_idx"] = val_target_idx
+
+ if isinstance(self.trainer, DLTrainer):
+ self.trainer.horizon = self.model_horizon
+ self.trainer.history = self.history
+
+ current_trainer = deepcopy(self.trainer)
+
+ # In Direct strategy, we train several models, one for each model_horizon
+ if isinstance(current_trainer, DLTrainer):
+ checkpoint_path = current_trainer.checkpoint_path
+ pretrained_path = current_trainer.pretrained_path
+
+ current_trainer.checkpoint_path /= f"trainer_{model_i}"
+ if pretrained_path:
+ current_trainer.pretrained_path /= f"trainer_{model_i}"
+
+ current_trainer.fit(data, self.pipeline, val_data)
+
+ if isinstance(current_trainer, DLTrainer):
+ current_trainer.checkpoint_path = checkpoint_path
+ current_trainer.pretrained_path = pretrained_path
+
+ self.trainers.append(current_trainer)
+
+ else:
+ for model_i, horizon in enumerate(range(1, self.horizon // self.model_horizon + 1)):
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ self.model_horizon * horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.model_horizon * horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ n_last_horizon=self.model_horizon,
+ )
+
+ data = self.pipeline.create_data_dict_for_pipeline(
+ dataset, features_idx, target_idx
+ )
+ data = self.pipeline.fit_transform(data, self.strategy_name)
+
+ val_dataset = self.trainer.validation_params.get("validation_data")
+
+ if val_dataset:
+ val_features_idx = index_slicer.create_idx_data(
+ val_dataset.data,
+ self.model_horizon * horizon,
+ self.history,
+ self.step,
+ date_column=val_dataset.date_column,
+ delta=val_dataset.delta,
+ )
+
+ val_target_idx = index_slicer.create_idx_target(
+ val_dataset.data,
+ self.model_horizon * horizon,
+ self.history,
+ self.step,
+ date_column=val_dataset.date_column,
+ delta=val_dataset.delta,
+ n_last_horizon=self.model_horizon,
+ )
+
+ val_data = self.pipeline.create_data_dict_for_pipeline(
+ val_dataset, val_features_idx, val_target_idx
+ )
+ val_data = self.pipeline.transform(val_data)
+ else:
+ val_data = None
+
+ if isinstance(self.trainer, DLTrainer):
+ self.trainer.horizon = self.model_horizon
+ self.trainer.history = self.history
+
+ current_trainer = deepcopy(self.trainer)
+
+ # In Direct strategy, we train several models, one for each model_horizon
+ if isinstance(current_trainer, DLTrainer):
+ checkpoint_path = current_trainer.checkpoint_path
+ pretrained_path = current_trainer.pretrained_path
+
+ current_trainer.checkpoint_path /= f"trainer_{model_i}"
+ if pretrained_path:
+ current_trainer.pretrained_path /= f"trainer_{model_i}"
+
+ current_trainer.fit(data, self.pipeline, val_data)
+
+ if isinstance(current_trainer, DLTrainer):
+ current_trainer.checkpoint_path = checkpoint_path
+ current_trainer.pretrained_path = pretrained_path
+
+ self.trainers.append(current_trainer)
+
+ self.is_fitted = True
+
+ return self
+
+ def make_step(self, step, dataset):
+ """Make a step in the direct strategy.
+
+ Args:
+ step: the step number.
+ dataset: the dataset to make the step on.
+
+ Returns:
+ the updated dataset.
+
+ """
+ test_idx = index_slicer.create_idx_test(
+ dataset.data,
+ self.horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )[:, self.model_horizon * step : self.model_horizon * (step + 1)]
+
+ data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)
+ data = self.pipeline.transform(data)
+
+ pred = self.trainers[step].predict(data, self.pipeline)
+ pred = self.pipeline.inverse_transform_y(pred)
+
+ dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)
+
+ return dataset
diff --git a/tsururu/strategies/flat_wide_mimo.py b/tsururu/strategies/flat_wide_mimo.py
index 9c2508b..4a2ac5b 100644
--- a/tsururu/strategies/flat_wide_mimo.py
+++ b/tsururu/strategies/flat_wide_mimo.py
@@ -1,36 +1,38 @@
-from ..dataset.pipeline import Pipeline
-from ..models import Estimator
-from .mimo import MIMOStrategy
-
-
-class FlatWideMIMOStrategy(MIMOStrategy):
- """A strategy that uses a single model for all points
- in the prediction horizon.
-
- Arguments:
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from observations
- (y_{t-history}, ..., y_{t-1}).
- step: in how many points to take the next observation while making
- samples' matrix.
- model: base model.
- pipeline: pipeline for feature and target generation.
-
- Notes:
- 1. Fit: mixture of DirectStrategy and MIMOStrategy, fit one
- model, but uses deployed over horizon DirectStrategy's features.
- 2. Inference: similarly.
-
- """
-
- def __init__(
- self,
- horizon: int,
- history: int,
- step: int,
- model: Estimator,
- pipeline: Pipeline,
- ):
- super().__init__(horizon, history, step, model, pipeline)
- self.strategy_name = "FlatWideMIMOStrategy"
+from typing import Union
+
+from ..dataset.pipeline import Pipeline
+from ..model_training.trainer import DLTrainer, MLTrainer
+from .mimo import MIMOStrategy
+
+
+class FlatWideMIMOStrategy(MIMOStrategy):
+ """A strategy that uses a single model for all points
+ in the prediction horizon.
+
+ Arguments:
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from observations
+ (y_{t-history}, ..., y_{t-1}).
+ trainer: trainer with model params and validation params.
+ pipeline: pipeline for feature and target generation.
+ step: in how many points to take the next observation while making
+ samples' matrix.
+
+ Notes:
+ 1. Fit: mixture of DirectStrategy and MIMOStrategy, fit one
+ model, but uses deployed over horizon DirectStrategy's features.
+ 2. Inference: similarly.
+
+ """
+
+ def __init__(
+ self,
+ horizon: int,
+ history: int,
+ trainer: Union[MLTrainer, DLTrainer],
+ pipeline: Pipeline,
+ step: int = 1,
+ ):
+ super().__init__(horizon, history, trainer, pipeline, step)
+ self.strategy_name = "FlatWideMIMOStrategy"
diff --git a/tsururu/strategies/mimo.py b/tsururu/strategies/mimo.py
index 4051914..9eb14dc 100644
--- a/tsururu/strategies/mimo.py
+++ b/tsururu/strategies/mimo.py
@@ -1,40 +1,42 @@
-from ..dataset.pipeline import Pipeline
-from ..models import Estimator
-from .recursive import RecursiveStrategy
-
-
-class MIMOStrategy(RecursiveStrategy):
- """A strategy that uses one model that learns to predict
- the entire prediction horizon.
-
- Arguments:
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from observations
- (y_{t-history}, ..., y_{t-1}).
- step: in how many points to take the next observation while making
- samples' matrix.
- model: base model.
- pipeline: pipeline for feature and target generation.
-
- Notes:
- 1. Technically, `MIMOStrategy` is a `RecursiveStrategy` or
- `DirectStrategy` for which the horizon of the individual model
- (`model_horizon`) coincides with the full prediction horizon
- (`horizon`).
- 2. Fit: the model is fitted to predict a vector which length is equal
- to the length of the prediction horizon.
- 3. Inference: the model makes a vector of predictions.
-
- """
-
- def __init__(
- self,
- horizon: int,
- history: int,
- step: int,
- model: Estimator,
- pipeline: Pipeline,
- ):
- super().__init__(horizon, history, step, model, pipeline, model_horizon=horizon)
- self.strategy_name = "MIMOStrategy"
+from typing import Union
+
+from ..dataset.pipeline import Pipeline
+from ..model_training.trainer import DLTrainer, MLTrainer
+from .recursive import RecursiveStrategy
+
+
+class MIMOStrategy(RecursiveStrategy):
+ """A strategy that uses one model that learns to predict
+ the entire prediction horizon.
+
+ Arguments:
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from observations
+ (y_{t-history}, ..., y_{t-1}).
+ trainer: trainer with model params and validation params.
+ pipeline: pipeline for feature and target generation.
+ step: in how many points to take the next observation while making
+ samples' matrix.
+
+ Notes:
+ 1. Technically, `MIMOStrategy` is a `RecursiveStrategy` or
+ `DirectStrategy` for which the horizon of the individual model
+ (`model_horizon`) coincides with the full prediction horizon
+ (`horizon`).
+ 2. Fit: the model is fitted to predict a vector which length is equal
+ to the length of the prediction horizon.
+ 3. Inference: the model makes a vector of predictions.
+
+ """
+
+ def __init__(
+ self,
+ horizon: int,
+ history: int,
+ trainer: Union[MLTrainer, DLTrainer],
+ pipeline: Pipeline,
+ step: int = 1,
+ ):
+ super().__init__(horizon, history, trainer, pipeline, step, model_horizon=horizon)
+ self.strategy_name = "MIMOStrategy"
diff --git a/tsururu/strategies/recursive.py b/tsururu/strategies/recursive.py
index 489f0a6..0b8d892 100644
--- a/tsururu/strategies/recursive.py
+++ b/tsururu/strategies/recursive.py
@@ -1,182 +1,248 @@
-from copy import deepcopy
-
-import pandas as pd
-
-from ..dataset import IndexSlicer, Pipeline, TSDataset
-from ..models import Estimator
-from .base import Strategy
-from .utils import timing_decorator
-
-index_slicer = IndexSlicer()
-
-
-class RecursiveStrategy(Strategy):
- """Strategy that uses a single model to predict all points in the
- forecast horizon.
-
- Arguments:
- horizon: forecast horizon.
- history: number of previous for feature generating
- (i.e., features for observation y_t are counted from
- observations (y_{t-history}, ..., y_{t-1}).
- step: in how many points to take the next observation while
- making samples' matrix.
- model: base model.
- pipeline: pipeline for feature and target generation.
- model_horizon: how many points to predict at a time,
- if model_horizon > 1, then it's an intermediate strategy
- between RecursiveStrategy and MIMOStrategy.
- reduced: whether to form features for all test observations at
- once, in this case, unavailable values are replaced by NaN.
-
- Notes:
- 1. Fit: the model is fitted to predict one point ahead.
- 2. Inference: the model iteratively predicts the next point and
- - use this prediction to build further features
- (`reduced` == False);
- - use NaN instead of prediction (`reduced` == True).
-
- """
-
- def __init__(
- self,
- horizon: int,
- history: int,
- step: int,
- model: Estimator,
- pipeline: Pipeline,
- model_horizon: int = 1,
- reduced: bool = False,
- ):
- super().__init__(horizon, history, step, model, pipeline)
- self.model_horizon = model_horizon
- self.reduced = reduced
- self.strategy_name = "recursive"
-
- @timing_decorator
- def fit(self, dataset: TSDataset) -> "RecursiveStrategy":
- """Fits the recursive strategy to the given dataset.
-
- Args:
- dataset: The dataset to fit the strategy on.
-
- Returns:
- self.
-
- """
- features_idx = index_slicer.create_idx_data(
- dataset.data,
- self.model_horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.model_horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
- data = self.pipeline.fit_transform(data, self.strategy_name)
-
- model = deepcopy(self.model)
- model.fit(data, self.pipeline)
-
- self.models.append(model)
- return self
-
- def make_step(self, step: int, dataset: TSDataset) -> TSDataset:
- """Make a step in the recursive strategy.
-
- Args:
- step: the step number.
- dataset: the dataset to make the step on.
-
- Returns:
- the updated dataset.
-
- """
- test_idx = index_slicer.create_idx_test(
- dataset.data,
- self.horizon - step * self.model_horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- target_idx = index_slicer.create_idx_target(
- dataset.data,
- self.horizon,
- self.history,
- self.step,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )[:, self.model_horizon * step : self.model_horizon * (step + 1)]
-
- data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)
- data = self.pipeline.transform(data)
-
- pred = self.models[0].predict(data, self.pipeline)
- pred = self.pipeline.inverse_transform_y(pred)
-
- dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)
-
- return dataset
-
- @timing_decorator
- def predict(self, dataset: TSDataset) -> pd.DataFrame:
- """Predicts the target values for the given dataset.
-
- Args:
- dataset: the dataset to make predictions on.
-
- Returns:
- a pandas DataFrame containing the predicted target values.
-
- """
- new_data = dataset.make_padded_test(self.horizon, self.history)
- new_dataset = TSDataset(new_data, dataset.columns_params, dataset.delta)
-
- if self.reduced:
- current_test_ids = index_slicer.create_idx_data(
- new_dataset.data,
- self.model_horizon,
- self.history,
- step=self.model_horizon,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- target_ids = index_slicer.create_idx_target(
- new_dataset.data,
- self.horizon,
- self.history,
- step=self.model_horizon,
- date_column=dataset.date_column,
- delta=dataset.delta,
- )
-
- data = self.pipeline.create_data_dict_for_pipeline(
- new_dataset, current_test_ids, target_ids
- )
- data = self.pipeline.transform(data)
-
- pred = self.models[0].predict(data, self.pipeline)
- pred = self.pipeline.inverse_transform_y(pred)
-
- new_dataset.data.loc[target_ids.reshape(-1), dataset.target_column] = pred.reshape(-1)
-
- else:
- for step in range(self.horizon // self.model_horizon):
- new_dataset = self.make_step(step, new_dataset)
-
- # Get dataframe with predictions only
- pred_df = self._make_preds_df(new_dataset, self.horizon, self.history)
- return pred_df
+from copy import deepcopy
+from typing import Union
+
+import pandas as pd
+
+from ..dataset import IndexSlicer, Pipeline, TSDataset
+from ..model_training.trainer import DLTrainer, MLTrainer
+from .base import Strategy
+from .utils import timing_decorator
+
+index_slicer = IndexSlicer()
+
+
+class RecursiveStrategy(Strategy):
+ """Strategy that uses a single model to predict all points in the
+ forecast horizon.
+
+ Arguments:
+ horizon: forecast horizon.
+ history: number of previous for feature generating
+ (i.e., features for observation y_t are counted from
+ observations (y_{t-history}, ..., y_{t-1}).
+ step: in how many points to take the next observation while
+ making samples' matrix.
+ trainer: trainer with model params and validation params.
+ pipeline: pipeline for feature and target generation.
+ model_horizon: how many points to predict at a time,
+ if model_horizon > 1, then it's an intermediate strategy
+ between RecursiveStrategy and MIMOStrategy.
+ reduced: whether to form features for all test observations at
+ once, in this case, unavailable values are replaced by NaN.
+
+ Notes:
+ 1. Fit: the model is fitted to predict one point ahead.
+ 2. Inference: the model iteratively predicts the next point and
+ - use this prediction to build further features
+ (`reduced` == False);
+ - use NaN instead of prediction (`reduced` == True).
+
+ """
+
+ def __init__(
+ self,
+ horizon: int,
+ history: int,
+ trainer: Union[MLTrainer, DLTrainer],
+ pipeline: Pipeline,
+ step: int = 1,
+ model_horizon: int = 1,
+ reduced: bool = False,
+ ):
+ super().__init__(horizon, history, trainer, pipeline, step)
+ self.model_horizon = model_horizon
+ self.reduced = reduced
+ self.strategy_name = "recursive"
+
+ @timing_decorator
+ def fit(
+ self,
+ dataset: TSDataset,
+ ) -> "RecursiveStrategy":
+ """Fits the recursive strategy to the given dataset.
+
+ Args:
+ dataset: The dataset to fit the strategy on.
+
+ Returns:
+ self.
+
+ """
+ features_idx = index_slicer.create_idx_data(
+ dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ data = self.pipeline.create_data_dict_for_pipeline(dataset, features_idx, target_idx)
+ data = self.pipeline.fit_transform(data, self.strategy_name)
+
+ val_dataset = self.trainer.validation_params.get("validation_data")
+
+ if val_dataset:
+ val_features_idx = index_slicer.create_idx_data(
+ val_dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ val_target_idx = index_slicer.create_idx_target(
+ val_dataset.data,
+ self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ val_data = self.pipeline.create_data_dict_for_pipeline(
+ val_dataset, val_features_idx, val_target_idx
+ )
+ val_data = self.pipeline.transform(val_data)
+ else:
+ val_data = None
+
+ if isinstance(self.trainer, DLTrainer):
+ if self.strategy_name == "FlatWideMIMOStrategy":
+ self.trainer.horizon = 1
+ else:
+ self.trainer.horizon = self.model_horizon
+ self.trainer.history = self.history
+
+ current_trainer = deepcopy(self.trainer)
+
+ # In Recursive strategy, we train the individual model
+ if isinstance(current_trainer, DLTrainer):
+ checkpoint_path = current_trainer.checkpoint_path
+ pretrained_path = current_trainer.pretrained_path
+
+ current_trainer.checkpoint_path /= "trainer_0"
+ if pretrained_path:
+ current_trainer.pretrained_path /= "trainer_0"
+
+ current_trainer.fit(data, self.pipeline, val_data)
+
+ if isinstance(current_trainer, DLTrainer):
+ current_trainer.checkpoint_path = checkpoint_path
+ current_trainer.pretrained_path = pretrained_path
+
+ self.trainers.append(current_trainer)
+
+ self.is_fitted = True
+
+ return self
+
+ def make_step(self, step: int, dataset: TSDataset) -> TSDataset:
+ """Make a step in the recursive strategy.
+
+ Args:
+ step: the step number.
+ dataset: the dataset to make the step on.
+
+ Returns:
+ the updated dataset.
+
+ """
+ test_idx = index_slicer.create_idx_test(
+ dataset.data,
+ self.horizon - step * self.model_horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_idx = index_slicer.create_idx_target(
+ dataset.data,
+ self.horizon,
+ self.history,
+ self.step,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )[:, self.model_horizon * step : self.model_horizon * (step + 1)]
+
+ data = self.pipeline.create_data_dict_for_pipeline(dataset, test_idx, target_idx)
+ data = self.pipeline.transform(data)
+
+ pred = self.trainers[0].predict(data, self.pipeline)
+ pred = self.pipeline.inverse_transform_y(pred)
+
+ dataset.data.loc[target_idx.reshape(-1), dataset.target_column] = pred.reshape(-1)
+
+ return dataset
+
+ @timing_decorator
+ def predict(self, dataset: TSDataset, test_all: bool = False) -> pd.DataFrame:
+ """Predicts the target values for the given dataset.
+
+ Args:
+ dataset: the dataset to make predictions on.
+
+ Returns:
+ a pandas DataFrame containing the predicted target values.
+
+ """
+ if not self.is_fitted:
+ raise ValueError("The strategy is not fitted yet.")
+
+ new_data = dataset.make_padded_test(
+ self.horizon, self.history, test_all=test_all, step=self.step
+ )
+ new_dataset = TSDataset(new_data, dataset.columns_params, dataset.delta)
+
+ if test_all:
+ new_dataset.data = new_dataset.data.sort_values(
+ [dataset.id_column, "segment_col", dataset.date_column]
+ )
+
+ if self.reduced:
+ current_test_ids = index_slicer.create_idx_data(
+ new_dataset.data,
+ self.model_horizon,
+ self.history,
+ step=self.model_horizon,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ target_ids = index_slicer.create_idx_target(
+ new_dataset.data,
+ self.horizon,
+ self.history,
+ step=self.model_horizon,
+ date_column=dataset.date_column,
+ delta=dataset.delta,
+ )
+
+ data = self.pipeline.create_data_dict_for_pipeline(
+ new_dataset, current_test_ids, target_ids
+ )
+ data = self.pipeline.transform(data)
+
+ pred = self.trainers[0].predict(data, self.pipeline)
+ pred = self.pipeline.inverse_transform_y(pred)
+
+ new_dataset.data.loc[target_ids.reshape(-1), dataset.target_column] = pred.reshape(-1)
+
+ else:
+ for step in range(self.horizon // self.model_horizon):
+ new_dataset = self.make_step(step, new_dataset)
+
+ # Get dataframe with predictions only
+ pred_df = self._make_preds_df(new_dataset, self.horizon, self.history)
+ return pred_df
diff --git a/tsururu/strategies/utils.py b/tsururu/strategies/utils.py
index 4b1050c..82cec5d 100644
--- a/tsururu/strategies/utils.py
+++ b/tsururu/strategies/utils.py
@@ -1,13 +1,13 @@
-import time
-from typing import Callable
-
-
-def timing_decorator(func: Callable) -> Callable:
- def wrapper(*args, **kwargs):
- start_time = time.time()
- result = func(*args, **kwargs)
- end_time = time.time()
- execution_time = end_time - start_time
- return execution_time, result
-
- return wrapper
+import time
+from typing import Callable
+
+
+def timing_decorator(func: Callable) -> Callable:
+ def wrapper(*args, **kwargs):
+ start_time = time.time()
+ result = func(*args, **kwargs)
+ end_time = time.time()
+ execution_time = end_time - start_time
+ return execution_time, result
+
+ return wrapper
diff --git a/tsururu/transformers/__init__.py b/tsururu/transformers/__init__.py
index 2d72e57..e001ca6 100644
--- a/tsururu/transformers/__init__.py
+++ b/tsururu/transformers/__init__.py
@@ -1,58 +1,61 @@
-"""Algorithms for time series forecasting."""
-
-from .base import SequentialTransformer, UnionTransformer, Transformer
-from .categorical import LabelEncodingTransformer, OneHotEncodingTransformer
-from .datetime import DateSeasonsGenerator, TimeToNumGenerator
-from .numeric import (
- DifferenceNormalizer,
- LastKnownNormalizer,
- StandardScalerTransformer,
-)
-from .seq import LagTransformer, TargetGenerator
-
-
-# Factory Object
-class TransformersFactory:
- def __init__(self):
- self.transformers = {
- "Transformer": Transformer, # "base" transformer
- "UnionTransformer": UnionTransformer,
- "SequentialTransformer": SequentialTransformer,
- "StandardScalerTransformer": StandardScalerTransformer,
- "LastKnownNormalizer": LastKnownNormalizer,
- "DifferenceNormalizer": DifferenceNormalizer,
- "LabelEncodingTransformer": LabelEncodingTransformer,
- "OneHotEncodingTransformer": OneHotEncodingTransformer,
- "TimeToNumGenerator": TimeToNumGenerator,
- "DateSeasonsGenerator": DateSeasonsGenerator,
- "LagTransformer": LagTransformer,
- "TargetGenerator": TargetGenerator,
- }
-
- def get_allowed(self):
- return sorted(list(self.transformers.keys()))
-
- def __getitem__(self, params):
- return self.transformers[params["transformer_name"]](
- **params["transformer_params"]
- )
-
- def create_transformer(self, transformer_name, transformer_params):
- return self.transformers[transformer_name](**transformer_params)
-
-
-__all__ = [
- "Transformer"
- "UnionTransformer",
- "SequentialTransformer",
- "StandardScalerTransformer",
- "LastKnownNormalizer",
- "DifferenceNormalizer",
- "LabelEncodingTransformer",
- "OneHotEncodingTransformer",
- "TimeToNumGenerator",
- "DateSeasonsGenerator",
- "LagTransformer",
- "TargetGenerator",
- "TransformersFactory",
-]
+"""Algorithms for time series forecasting."""
+
+from .base import SequentialTransformer, UnionTransformer, Transformer
+from .categorical import LabelEncodingTransformer, OneHotEncodingTransformer
+from .datetime import DateSeasonsGenerator, TimeToNumGenerator
+from .numeric import (
+ DifferenceNormalizer,
+ LastKnownNormalizer,
+ StandardScalerTransformer,
+)
+from .seq import LagTransformer, TargetGenerator
+from .impute import MissingValuesImputer
+
+
+# Factory Object
+class TransformersFactory:
+ def __init__(self):
+ self.transformers = {
+ "Transformer": Transformer, # "base" transformer
+ "UnionTransformer": UnionTransformer,
+ "SequentialTransformer": SequentialTransformer,
+ "StandardScalerTransformer": StandardScalerTransformer,
+ "LastKnownNormalizer": LastKnownNormalizer,
+ "DifferenceNormalizer": DifferenceNormalizer,
+ "LabelEncodingTransformer": LabelEncodingTransformer,
+ "OneHotEncodingTransformer": OneHotEncodingTransformer,
+ "TimeToNumGenerator": TimeToNumGenerator,
+ "DateSeasonsGenerator": DateSeasonsGenerator,
+ "LagTransformer": LagTransformer,
+ "TargetGenerator": TargetGenerator,
+ "MissingValuesImputer": MissingValuesImputer,
+ }
+
+ def get_allowed(self):
+ return sorted(list(self.transformers.keys()))
+
+ def __getitem__(self, params):
+ return self.transformers[params["transformer_name"]](
+ **params["transformer_params"]
+ )
+
+ def create_transformer(self, transformer_name, transformer_params):
+ return self.transformers[transformer_name](**transformer_params)
+
+
+__all__ = [
+ "Transformer"
+ "UnionTransformer",
+ "SequentialTransformer",
+ "StandardScalerTransformer",
+ "LastKnownNormalizer",
+ "DifferenceNormalizer",
+ "LabelEncodingTransformer",
+ "OneHotEncodingTransformer",
+ "TimeToNumGenerator",
+ "DateSeasonsGenerator",
+ "LagTransformer",
+ "TargetGenerator",
+ "TransformersFactory",
+ "MissingValuesImputer",
+]
diff --git a/tsururu/transformers/base.py b/tsururu/transformers/base.py
index 1c7ed8d..ff1e5c0 100644
--- a/tsururu/transformers/base.py
+++ b/tsururu/transformers/base.py
@@ -1,600 +1,598 @@
-"""Base classes for transformers, that are needed for feature generating."""
-
-from copy import deepcopy
-from typing import Optional, Sequence
-
-import numpy as np
-
-
-class Transformer:
- """Base class for transformers, that are needed for feature generating.
-
- Args:
- input_features: array with names of columns to transform.
-
- Note: there are two categories of transformers:
-
- 1. Transformers that are used to collect pipelines:
- - "Union" transformers;
- - "Sequential" transformers.
-
- 2. Transformers that are used to transform raw rows:
- and generate features and targets:
- - "FeaturesGenerator" transformers;
- - "SeriesToSeries" transformers;
- - "SeriesToFeatures" transformers;
- - "FeaturesToFeatures" transformers.
-
- 3. In methods `fit`, `transform`, `fit_transform` and `generate`,
- all transformers take as input and pass as output the dictionary
- named `data`, which contains 7 objects:
- - `raw_ts_X` and `raw_ts_y`: pd.DataFrame - "elongated series";
- - `X` and `y`: np.ndarray - arrays with features and targets;
- - `id_column_name`: str - name of id column;
- - `idx_X` and `idx_y`: np.ndarray - arrays with indices of
- time series' points for features and targets generating.
-
- Though each method uses and modifies only part of them:
- 1. `fit` is trained on `raw_ts_X`;
- 2. `transform` changes `raw_ts_X` and `raw_ts_y` (depending on the
- flags `transform_features`, `transform_targets`);
- 3. `generate` uses `raw_ts_X` and `raw_ts_y` and
- modifies `X` and `y`.
- 4. `transform` and `generate` can use `idx_X` and `idx_y` to update
- transformer params and generate features and targets.
- 5. all methods can use `id_column_name`.
-
- """
-
- def __init__(self, input_features: Optional[Sequence[str]] = None):
- self.input_features = input_features
- self.output_features = None # array with names of resulting columns
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "Transformer":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- if input_features is not None:
- self.input_features = input_features
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Transform "elongated series" for feautures' and targets' further
- generation and update self.params if needed.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- raise NotImplementedError()
-
- def fit_transform(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> dict:
- """Default implementation of fit_transform - fit and then transform.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- current states of `data` dictionary.
-
- """
- self.fit(data, input_features)
-
- return self.transform(data)
-
- def generate(self, data: dict) -> dict:
- """Generate or transform features and targets in X, y arrays.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- raise NotImplementedError()
-
-
-class SequentialTransformer(Transformer):
- """Transformer that contains the sequence of transformers
- and apply them one by one sequentially.
-
- Args:
- transformers_list: Sequence of transformers.
- input_features: array with names of columns to transform.
-
- Notes:
- 1. In this transformer, the names of the input columns should be
- provided at initialisation rather than at fitting.
-
- """
-
- def __init__(
- self, transformers_list: Sequence[Transformer], input_features: Sequence[str]
- ):
- super().__init__(input_features=input_features)
- self.transformers_list = transformers_list
- self.inverse_transformers_list = []
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "SequentialTransformer":
- """Fit not supported. Needs output to fit next transformer.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Raises:
- NotImplementedError: raised if called.
-
- """
- raise NotImplementedError(
- "Sequential supports only fit_transform since needs output"
- "to fit next transformer."
- )
-
- def transform(self, data: dict) -> dict:
- """Apply the sequence of transformers to data containers
- one after the other and transform "elongated series".
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- self.inverse_transformers_list = []
-
- for trf in self.transformers_list:
- data = trf.transform(data)
- if hasattr(trf, "transform_target") and trf.transform_target:
- self.inverse_transformers_list.append(trf)
-
- self.inverse_transformers_list = self.inverse_transformers_list[::-1]
-
- return data
-
- def fit_transform(
- self, data, input_features: Optional[Sequence[str]] = None
- ) -> dict:
- """Fit and apply the sequence of transformers to data containers
- one after the other and transform "elongated series".
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- current states of `data` dictionary.
-
- """
- self.inverse_transformers_list = []
-
- if input_features is not None:
- self.input_features = input_features
-
- current_input_features = self.input_features
-
- for trf in self.transformers_list:
- data = trf.fit_transform(data, current_input_features)
- current_input_features = trf.output_features
- if hasattr(trf, "transform_target") and trf.transform_target:
- # Check that transform_target corresponding to transformer for target column
- assert self.input_features == [data["target_column_name"]], f"`transform_target` can't be used with exogenous features. You try use it on {self.input_features}, while target column is `{data['target_column_name']}`"
- self.inverse_transformers_list.append(trf)
- elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
- self.inverse_transformers_list.extend(trf.inverse_transformers_list)
-
- self.inverse_transformers_list = self.inverse_transformers_list[::-1]
- self.output_features = current_input_features
-
- return data
-
- def generate(self, data: dict) -> dict:
- """Apply the sequence of transformers to containers with data
- one after the other and generate or transform features and
- targets in X, y arrays.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- for trf in self.transformers_list:
- data = trf.generate(data)
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- for trf in self.inverse_transformers_list:
- y = trf.inverse_transform_y(y)
-
- return y
-
-
-class UnionTransformer(Transformer):
- """Transformer that contains the sequence of transformers
- and apply them `in parallel` and concatenate the result.
-
- Args:
- transformer_list: Sequence of transformers.
-
- Notes:
- 1. There is no true parallelism, but the idea is to apply all
- transformers to the same dataset and concatenate the results.
-
- """
-
- def __init__(self, transformers_list: Sequence[Transformer]):
- super().__init__()
- self.transformers_list = transformers_list
- self.inverse_transformers_list = []
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "UnionTransformer":
- """Fit transformers on "elongated series" in parallel and return
- their instances.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- for trf in self.transformers_list:
- trf.fit(data, input_features)
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Apply the sequence of transformers to data containers in parallel
- and transform "elongated series".
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- self.inverse_transformers_list = []
-
- for trf in self.transformers_list:
- data = trf.transform(data)
- if hasattr(trf, "transform_target") and trf.transform_target:
- self.inverse_transformers_list.append(trf)
- elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
- self.inverse_transformers_list.extend(trf.inverse_transformers_list)
-
- return data
-
- def fit_transform(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> dict:
- """Fit and apply the sequence of transformers to data containers
- in parallel and transform "elongated series".
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- current states of `data` dictionary.
-
- """
- self.inverse_transformers_list = []
- output_features_list = []
-
- for trf in self.transformers_list:
- data = trf.fit_transform(data, input_features)
- if trf.output_features is not None:
- output_features_list.append(trf.output_features)
- if hasattr(trf, "transform_target") and trf.transform_target:
- # Check that transform_target corresponding to transformer for target column
- assert self.input_features == [data["target_column_name"]], f"`transform_target` can't be used with exogenous features. You try use it on {self.input_features}, while target column is `{data['target_column_name']}`"
- self.inverse_transformers_list.append(trf)
- elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
- self.inverse_transformers_list.extend(trf.inverse_transformers_list)
-
- self.output_features = np.concatenate(output_features_list)
-
- return data
-
- def generate(self, data: dict) -> dict:
- """Apply the sequence of transformers to containers with data
- in parallel and generate or transform features and targets
- in X, y arrays
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- for trf in self.transformers_list:
- copy_X = data["X"]
- data["X"] = np.array([])
-
- data = trf.generate(data)
-
- if copy_X.shape != (0,) and data["X"].shape != (0,):
- data["X"] = np.hstack((copy_X, data["X"]))
- elif data["X"].shape == (0,):
- data["X"] = copy_X
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- for trf in self.inverse_transformers_list:
- y = trf.inverse_transform_y(y)
-
- return y
-
-
-class FeaturesGenerator(Transformer):
- """A transformer that is trained on the "elongated series"
- and uses them to generate new columns.
-
- Notes:
- 1. For this transformer, the active method is `transform`, which
- changes the state of raw_ts_X, raw_ts_y; `generate` does nothing
- and just passes data through it.
-
- """
-
- def generate(self, data: dict) -> dict:
- """For FeaturesGenerator `generate` does nothing and just
- passes data through it.
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- return data
-
-
-class SeriesToSeriesTransformer(Transformer):
- """A transformer that is trained on the "elongated series"
- and applied to them.
-
- Args:
- transform_features: whether to transform features.
- transform_target: whether to transform targets.
-
- Notes:
- 1. For this transformer, the active method is `transform`, which
- changes the state of raw_ts_X, raw_ts_y; `generate` does nothing
- and just passes data through it.
-
- 2. This transformer has flags `transform_features`, `transform_target`.
-
- 3. This transformer has inverse_transform_y method.
-
- """
-
- def __init__(self, transform_features: bool, transform_target: bool):
- super().__init__()
- self.transform_features = transform_features
- self.transform_target = transform_target
- self.params = {}
-
- def _transform(self, data: dict, data_key: str) -> dict:
- """A method to transform the data based on the given data key
- (`raw_ts_X` or `raw_ts_y`).
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- data_key: A string representing the key in the data dictionary:
- either `raw_ts_X` or `raw_ts_y`.
-
- Returns:
- A dictionary with the transformed data.
-
- """
- data[data_key] = (
- data[data_key]
- .groupby(data["id_column_name"], sort=False)
- .apply(self._transform_segment, data["id_column_name"])
- .reset_index(level=data["id_column_name"], drop=True)
- )
-
- return data
-
- def transform(self, data: dict) -> dict:
- """Transform "elongated series" for feautures' and targets' further
- generation and update self.params if needed.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- if self.transform_features:
- self._transform(data, "raw_ts_X")
- else:
- for i, column_name in enumerate(self.input_features):
- data["raw_ts_X"].loc[:, self.output_features[i]] = data["raw_ts_X"].loc[:, column_name]
- if self.transform_target:
- self._transform(data, "raw_ts_y")
- else:
- for i, column_name in enumerate(self.input_features):
- data["raw_ts_y"].loc[:, self.output_features[i]] = data["raw_ts_y"].loc[:, column_name]
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- assert NotImplementedError()
-
- def generate(self, data: dict) -> dict:
- """For SeriesToSeriesTransformer `generate` does nothing and just
- passes data through it.
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- return data
-
-
-class SeriesToFeaturesTransformer(Transformer):
- """Transformer that is trained on the "elongated series" and applied
- to them to generate or transform features and targets in X, y arrays.
-
- Notes:
- 1. For this transformer, the active method is `generate`, which
- changes the state of X, y arrays; `transform` does nothing and
- just passes data through it.
-
- """
-
- def transform(self, data: dict) -> dict:
- """For SeriesToFeaturesTransformer transform does nothing and just
- passes data through it.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- return data
-
-
-class FeaturesToFeaturesTransformer(Transformer):
- """A transformer that is trained on generated features in X, y arrays
- and applied to them to transform features and targets.
-
- Notes:
- 1. For this transformer, the active method is `generate`, which
- changes the state of X, y arrays; `transform` does nothing and
- just passes data through it.
-
- 2. This transformer has flags `transform_features`, `transform_target`.
-
- 3. This transformer has inverse_transform_y method.
-
- """
-
- def __init__(self, transform_features: bool, transform_target: bool):
- super().__init__()
- self.transform_features = transform_features
- self.transform_target = transform_target
-
- def transform(self, data: dict) -> dict:
- """For FeaturesToFeaturesTransformer `transform` update
- self.params if needed.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- assert NotImplementedError()
+"""Base classes for transformers, that are needed for feature generating."""
+
+from typing import Optional, Sequence
+
+import numpy as np
+
+
+class Transformer:
+ """Base class for transformers, that are needed for feature generating.
+
+ Args:
+ input_features: array with names of columns to transform.
+
+ Note: there are two categories of transformers:
+
+ 1. Transformers that are used to collect pipelines:
+ - "Union" transformers;
+ - "Sequential" transformers.
+
+ 2. Transformers that are used to transform raw rows:
+ and generate features and targets:
+ - "FeaturesGenerator" transformers;
+ - "SeriesToSeries" transformers;
+ - "SeriesToFeatures" transformers;
+ - "FeaturesToFeatures" transformers.
+
+ 3. In methods `fit`, `transform`, `fit_transform` and `generate`,
+ all transformers take as input and pass as output the dictionary
+ named `data`, which contains 7 objects:
+ - `raw_ts_X` and `raw_ts_y`: pd.DataFrame - "elongated series";
+ - `X` and `y`: np.ndarray - arrays with features and targets;
+ - `id_column_name`: str - name of id column;
+ - `idx_X` and `idx_y`: np.ndarray - arrays with indices of
+ time series' points for features and targets generating.
+
+ Though each method uses and modifies only part of them:
+ 1. `fit` is trained on `raw_ts_X`;
+ 2. `transform` changes `raw_ts_X` and `raw_ts_y` (depending on the
+ flags `transform_features`, `transform_targets`);
+ 3. `generate` uses `raw_ts_X` and `raw_ts_y` and
+ modifies `X` and `y`.
+ 4. `transform` and `generate` can use `idx_X` and `idx_y` to update
+ transformer params and generate features and targets.
+ 5. all methods can use `id_column_name`.
+
+ """
+
+ def __init__(self, input_features: Optional[Sequence[str]] = None):
+ self.input_features = input_features
+ self.output_features = None # array with names of resulting columns
+
+ def fit(self, data: dict, input_features: Optional[Sequence[str]] = None) -> "Transformer":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ if input_features is not None:
+ self.input_features = input_features
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Transform "elongated series" for feautures' and targets' further
+ generation and update self.params if needed.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ raise NotImplementedError()
+
+ def fit_transform(self, data: dict, input_features: Optional[Sequence[str]] = None) -> dict:
+ """Default implementation of fit_transform - fit and then transform.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ self.fit(data, input_features)
+
+ return self.transform(data)
+
+ def generate(self, data: dict) -> dict:
+ """Generate or transform features and targets in X, y arrays.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ raise NotImplementedError()
+
+
+class SequentialTransformer(Transformer):
+ """Transformer that contains the sequence of transformers
+ and apply them one by one sequentially.
+
+ Args:
+ transformers_list: Sequence of transformers.
+ input_features: array with names of columns to transform.
+
+ Notes:
+ 1. In this transformer, the names of the input columns should be
+ provided at initialisation rather than at fitting.
+
+ """
+
+ def __init__(self, transformers_list: Sequence[Transformer], input_features: Sequence[str]):
+ super().__init__(input_features=input_features)
+ self.transformers_list = transformers_list
+ self.inverse_transformers_list = []
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "SequentialTransformer":
+ """Fit not supported. Needs output to fit next transformer.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Raises:
+ NotImplementedError: raised if called.
+
+ """
+ raise NotImplementedError(
+ "Sequential supports only fit_transform since needs output" "to fit next transformer."
+ )
+
+ def transform(self, data: dict) -> dict:
+ """Apply the sequence of transformers to data containers
+ one after the other and transform "elongated series".
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ self.inverse_transformers_list = []
+
+ for trf in self.transformers_list:
+ data = trf.transform(data)
+ if hasattr(trf, "transform_target") and trf.transform_target:
+ self.inverse_transformers_list.append(trf)
+
+ self.inverse_transformers_list = self.inverse_transformers_list[::-1]
+
+ return data
+
+ def fit_transform(self, data, input_features: Optional[Sequence[str]] = None) -> dict:
+ """Fit and apply the sequence of transformers to data containers
+ one after the other and transform "elongated series".
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ self.inverse_transformers_list = []
+
+ if input_features is not None:
+ self.input_features = input_features
+
+ current_input_features = self.input_features
+
+ for trf in self.transformers_list:
+ data = trf.fit_transform(data, current_input_features)
+ current_input_features = trf.output_features
+ if hasattr(trf, "transform_target") and trf.transform_target:
+ # Check that transform_target corresponding to transformer for target column
+ assert self.input_features == [
+ data["target_column_name"]
+ ], f"`transform_target` can't be used with exogenous features. You try use it on {self.input_features}, while target column is `{data['target_column_name']}`"
+ self.inverse_transformers_list.append(trf)
+ elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
+ self.inverse_transformers_list.extend(trf.inverse_transformers_list)
+
+ self.inverse_transformers_list = self.inverse_transformers_list[::-1]
+ self.output_features = current_input_features
+
+ return data
+
+ def generate(self, data: dict) -> dict:
+ """Apply the sequence of transformers to containers with data
+ one after the other and generate or transform features and
+ targets in X, y arrays.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ for trf in self.transformers_list:
+ data = trf.generate(data)
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ for trf in self.inverse_transformers_list:
+ y = trf.inverse_transform_y(y)
+
+ return y
+
+
+class UnionTransformer(Transformer):
+ """Transformer that contains the sequence of transformers
+ and apply them `in parallel` and concatenate the result.
+
+ Args:
+ transformer_list: Sequence of transformers.
+
+ Notes:
+ 1. There is no true parallelism, but the idea is to apply all
+ transformers to the same dataset and concatenate the results.
+
+ """
+
+ def __init__(self, transformers_list: Sequence[Transformer]):
+ super().__init__()
+ self.transformers_list = transformers_list
+ self.inverse_transformers_list = []
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "UnionTransformer":
+ """Fit transformers on "elongated series" in parallel and return
+ their instances.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ for trf in self.transformers_list:
+ trf.fit(data, input_features)
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Apply the sequence of transformers to data containers in parallel
+ and transform "elongated series".
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ self.inverse_transformers_list = []
+
+ for trf in self.transformers_list:
+ data = trf.transform(data)
+ if hasattr(trf, "transform_target") and trf.transform_target:
+ self.inverse_transformers_list.append(trf)
+ elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
+ self.inverse_transformers_list.extend(trf.inverse_transformers_list)
+
+ return data
+
+ def fit_transform(self, data: dict, input_features: Optional[Sequence[str]] = None) -> dict:
+ """Fit and apply the sequence of transformers to data containers
+ in parallel and transform "elongated series".
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ self.inverse_transformers_list = []
+ output_features_list = []
+
+ for trf in self.transformers_list:
+ data = trf.fit_transform(data, input_features)
+ if trf.output_features is not None:
+ output_features_list.append(trf.output_features)
+ if hasattr(trf, "transform_target") and trf.transform_target:
+ # Check that transform_target corresponding to transformer for target column
+ assert self.input_features == [
+ data["target_column_name"]
+ ], "`transform_target` can't be used with exogenous features. You try use it on"
+ f"{self.input_features}, while target column is `{data['target_column_name']}`"
+ self.inverse_transformers_list.append(trf)
+ elif hasattr(trf, "inverse_transformers_list") and trf.inverse_transformers_list:
+ self.inverse_transformers_list.extend(trf.inverse_transformers_list)
+
+ self.output_features = np.concatenate(output_features_list)
+
+ return data
+
+ def generate(self, data: dict) -> dict:
+ """Apply the sequence of transformers to containers with data
+ in parallel and generate or transform features and targets
+ in X, y arrays
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ for trf in self.transformers_list:
+ copy_X = data["X"]
+ data["X"] = np.array([])
+
+ data = trf.generate(data)
+
+ if copy_X.shape != (0,) and data["X"].shape != (0,):
+ data["X"] = np.hstack((copy_X, data["X"]))
+ elif data["X"].shape == (0,):
+ data["X"] = copy_X
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ for trf in self.inverse_transformers_list:
+ y = trf.inverse_transform_y(y)
+
+ return y
+
+
+class FeaturesGenerator(Transformer):
+ """A transformer that is trained on the "elongated series"
+ and uses them to generate new columns.
+
+ Notes:
+ 1. For this transformer, the active method is `transform`, which
+ changes the state of raw_ts_X, raw_ts_y; `generate` does nothing
+ and just passes data through it.
+
+ """
+
+ def generate(self, data: dict) -> dict:
+ """For FeaturesGenerator `generate` does nothing and just
+ passes data through it.
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ return data
+
+
+class SeriesToSeriesTransformer(Transformer):
+ """A transformer that is trained on the "elongated series"
+ and applied to them.
+
+ Args:
+ transform_features: whether to transform features.
+ transform_target: whether to transform targets.
+
+ Notes:
+ 1. For this transformer, the active method is `transform`, which
+ changes the state of raw_ts_X, raw_ts_y; `generate` does nothing
+ and just passes data through it.
+
+ 2. This transformer has flags `transform_features`, `transform_target`.
+
+ 3. This transformer has inverse_transform_y method.
+
+ """
+
+ def __init__(self, transform_features: bool, transform_target: bool):
+ super().__init__()
+ self.transform_features = transform_features
+ self.transform_target = transform_target
+ self.params = {}
+
+ def _transform(self, data: dict, data_key: str) -> dict:
+ """A method to transform the data based on the given data key
+ (`raw_ts_X` or `raw_ts_y`).
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ data_key: A string representing the key in the data dictionary:
+ either `raw_ts_X` or `raw_ts_y`.
+
+ Returns:
+ A dictionary with the transformed data.
+
+ """
+ data[data_key] = (
+ data[data_key]
+ .groupby(data["id_column_name"], sort=False)
+ .apply(lambda group: self._transform_segment(group, group.name), include_groups=False)
+ .reset_index(level=data["id_column_name"], drop=False)
+ )
+
+ return data
+
+ def transform(self, data: dict) -> dict:
+ """Transform "elongated series" for feautures' and targets' further
+ generation and update self.params if needed.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ if self.transform_features:
+ self._transform(data, "raw_ts_X")
+ else:
+ for i, column_name in enumerate(self.input_features):
+ data["raw_ts_X"].loc[:, self.output_features[i]] = data["raw_ts_X"].loc[
+ :, column_name
+ ]
+ if self.transform_target:
+ self._transform(data, "raw_ts_y")
+ else:
+ for i, column_name in enumerate(self.input_features):
+ if column_name.split("__")[0] == data["target_column_name"]:
+ data["raw_ts_y"].loc[:, self.output_features[i]] = data["raw_ts_y"].loc[
+ :, column_name
+ ]
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ assert NotImplementedError()
+
+ def generate(self, data: dict) -> dict:
+ """For SeriesToSeriesTransformer `generate` does nothing and just
+ passes data through it.
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ return data
+
+
+class SeriesToFeaturesTransformer(Transformer):
+ """Transformer that is trained on the "elongated series" and applied
+ to them to generate or transform features and targets in X, y arrays.
+
+ Notes:
+ 1. For this transformer, the active method is `generate`, which
+ changes the state of X, y arrays; `transform` does nothing and
+ just passes data through it.
+
+ """
+
+ def transform(self, data: dict) -> dict:
+ """For SeriesToFeaturesTransformer transform does nothing and just
+ passes data through it.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ return data
+
+
+class FeaturesToFeaturesTransformer(Transformer):
+ """A transformer that is trained on generated features in X, y arrays
+ and applied to them to transform features and targets.
+
+ Notes:
+ 1. For this transformer, the active method is `generate`, which
+ changes the state of X, y arrays; `transform` does nothing and
+ just passes data through it.
+
+ 2. This transformer has flags `transform_features`, `transform_target`.
+
+ 3. This transformer has inverse_transform_y method.
+
+ """
+
+ def __init__(self, transform_features: bool, transform_target: bool):
+ super().__init__()
+ self.transform_features = transform_features
+ self.transform_target = transform_target
+
+ def transform(self, data: dict) -> dict:
+ """For FeaturesToFeaturesTransformer `transform` update
+ self.params if needed.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ assert NotImplementedError()
diff --git a/tsururu/transformers/categorical.py b/tsururu/transformers/categorical.py
index cd88820..8d185d9 100644
--- a/tsururu/transformers/categorical.py
+++ b/tsururu/transformers/categorical.py
@@ -1,142 +1,154 @@
-"""Module for transformers for categorical features."""
-
-from typing import Optional, Sequence
-
-import numpy as np
-from sklearn.preprocessing import LabelEncoder, OneHotEncoder
-
-from .base import FeaturesGenerator
-
-
-class LabelEncodingTransformer(FeaturesGenerator):
- """A transformer that encodes categorical features into integer values."""
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "LabelEncodingTransformer":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
-
- self.output_features = [f"{column_name}__label" for column_name in self.input_features]
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Generate features in `raw_ts_X`.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- new_arr = np.empty((len(data["raw_ts_X"]), len(self.output_features)), np.int32)
- for i, column_name in enumerate(self.input_features):
- new_arr[:, i] = LabelEncoder().fit_transform(data["raw_ts_X"][column_name])
- data["raw_ts_X"][self.output_features] = new_arr
-
- return data
-
-
-class OneHotEncodingTransformer(FeaturesGenerator):
- """A transformer that encodes categorical features as a one-hot
- numeric array.
-
- Args:
- drop: one from ['first', 'if_binary', None] or
- array-list of shape (n_features, ):
- 1. if None: retain all features.
- 2. if "first": drop the first category in each feature.
- 3. if "if_binary": drop the first category in each feature with
- two categories.
- 4. if `array`: drop[i] is the category in feature X[:, i] that
- should be dropped.
-
- """
-
- def __init__(self, drop: str = None):
- super().__init__()
- self.drop = drop
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "LabelEncodingTransformer":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
- self.output_features = []
-
- if self.drop == "first":
- for column_name in self.input_features:
- for id_name in data["raw_ts_X"][column_name].unique()[1:]:
- self.output_features.append(f"{column_name}__{id_name}_ohe")
-
- elif self.drop == "is_binary":
- for column_name in self.input_features:
- if data["raw_ts_X"][column_name].nunique() == 2:
- for id_name in data["raw_ts_X"][column_name].unique()[1:]:
- self.output_features.append(f"{column_name}__{id_name}_ohe")
- else:
- for id_name in data["raw_ts_X"][column_name].unique():
- self.output_features.append(f"{column_name}__{id_name}_ohe")
-
- elif isinstance(self.drop, np.ndarray):
- for column_i, column_name in enumerate(self.input_features):
- for id_name in np.delete(
- data["raw_ts_X"][column_name].unique(),
- np.where(data["raw_ts_X"][column_name].unique() == self.drop[column_i]),
- ):
- self.output_features.append(f"{column_name}__{id_name}_ohe")
-
- else:
- for column_i, column_name in enumerate(self.input_features):
- for id_name in data["raw_ts_X"][column_name].unique():
- self.output_features.append(f"{column_name}__{id_name}_ohe")
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Generate features in `raw_ts_X`.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- result_data = [
- OneHotEncoder(drop=self.drop)
- .fit_transform(data["raw_ts_X"][column_name].values.reshape(-1, 1))
- .todense()
- for column_name in self.input_features
- ]
- data["raw_ts_X"][self.output_features] = np.hstack(result_data)
-
- return data
+"""Module for transformers for categorical features."""
+
+from typing import Optional, Sequence
+
+import numpy as np
+from sklearn.preprocessing import LabelEncoder, OneHotEncoder
+
+from .base import FeaturesGenerator
+
+
+class LabelEncodingTransformer(FeaturesGenerator):
+ """A transformer that encodes categorical features into integer values."""
+
+ def __init__(self):
+ super().__init__()
+ self.les = {}
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "LabelEncodingTransformer":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+ for column_name in self.input_features:
+ self.les[column_name] = LabelEncoder().fit(data["raw_ts_X"][column_name])
+
+ self.output_features = [f"{column_name}__label" for column_name in self.input_features]
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Generate features in `raw_ts_X`.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ new_arr = np.empty((len(data["raw_ts_X"]), len(self.output_features)), np.int32)
+ for i, column_name in enumerate(self.input_features):
+ new_arr[:, i] = self.les[column_name].transform(data["raw_ts_X"][column_name])
+ data["raw_ts_X"][self.output_features] = new_arr
+
+ return data
+
+
+class OneHotEncodingTransformer(FeaturesGenerator):
+ """A transformer that encodes categorical features as a one-hot
+ numeric array.
+
+ Args:
+ drop: one from ['first', 'if_binary', None] or
+ array-list of shape (n_features, ):
+ 1. if None: retain all features.
+ 2. if "first": drop the first category in each feature.
+ 3. if "if_binary": drop the first category in each feature with
+ two categories.
+ 4. if `array`: drop[i] is the category in feature X[:, i] that
+ should be dropped.
+
+ """
+
+ def __init__(self, drop: str = None):
+ super().__init__()
+ self.drop = drop
+ self.ohes = {}
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "LabelEncodingTransformer":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+ self.output_features = []
+
+ for column_name in self.input_features:
+ self.ohes[column_name] = OneHotEncoder(drop=self.drop).fit(
+ data["raw_ts_X"][column_name].values.reshape(-1, 1)
+ )
+
+ if self.drop == "first":
+ for column_name in self.input_features:
+ for id_name in data["raw_ts_X"][column_name].unique()[1:]:
+ self.output_features.append(f"{column_name}__{id_name}_ohe")
+
+ elif self.drop == "is_binary":
+ for column_name in self.input_features:
+ if data["raw_ts_X"][column_name].nunique() == 2:
+ for id_name in data["raw_ts_X"][column_name].unique()[1:]:
+ self.output_features.append(f"{column_name}__{id_name}_ohe")
+ else:
+ for id_name in data["raw_ts_X"][column_name].unique():
+ self.output_features.append(f"{column_name}__{id_name}_ohe")
+
+ elif isinstance(self.drop, np.ndarray):
+ for column_i, column_name in enumerate(self.input_features):
+ for id_name in np.delete(
+ data["raw_ts_X"][column_name].unique(),
+ np.where(data["raw_ts_X"][column_name].unique() == self.drop[column_i]),
+ ):
+ self.output_features.append(f"{column_name}__{id_name}_ohe")
+
+ else:
+ for column_i, column_name in enumerate(self.input_features):
+ for id_name in data["raw_ts_X"][column_name].unique():
+ self.output_features.append(f"{column_name}__{id_name}_ohe")
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Generate features in `raw_ts_X`.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ result_data = [
+ self.ohes[column_name]
+ .transform(data["raw_ts_X"][column_name].values.reshape(-1, 1))
+ .todense()
+ for column_name in self.input_features
+ ]
+ data["raw_ts_X"][self.output_features] = np.hstack(result_data)
+
+ return data
diff --git a/tsururu/transformers/datetime.py b/tsururu/transformers/datetime.py
index 66d1e0e..f44fb57 100644
--- a/tsururu/transformers/datetime.py
+++ b/tsururu/transformers/datetime.py
@@ -1,204 +1,209 @@
-"""Module for transformers for datetime features."""
-
-from typing import List, Optional, Sequence
-
-import holidays
-import numpy as np
-import pandas as pd
-
-from ..dataset.slice import IndexSlicer
-from .base import FeaturesGenerator
-from .utils import date_attrs
-
-index_slicer = IndexSlicer()
-
-
-class TimeToNumGenerator(FeaturesGenerator):
- """A transformer that converts datetime to difference with basic_date.
-
- Args:
- basic_date: date relating to which normalization takes place.
- from_target_date: if True, features are built from the targets' dates;
- otherwise, features are built from the last training dates.
- horizon: forecast horizon.
- delta: frequency of the time series.
-
- """
-
- def __init__(
- self,
- basic_date: Optional[str] = "2020-01-01",
- from_target_date: Optional[bool] = False,
- delta: Optional[pd.DateOffset] = None,
- ):
- super().__init__()
- self.basic_date = basic_date
- self.from_target_date = from_target_date
- self.delta = delta
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "TimeToNumGenerator":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
-
- self.output_features = [
- f"{column_name}__time_to_num" for column_name in self.input_features
- ]
- return self
-
- def transform(self, data: dict) -> dict:
- """Generate features in `raw_ts_X`.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- result_data = []
- for column_name in self.input_features:
- time_col = data["raw_ts_X"][column_name]
-
- _, time_delta = index_slicer.timedelta(time_col, delta=self.delta)
- if self.from_target_date:
- horizon = data["target_idx"][0, -1] - data["features_idx"][0, -1]
- time_col = time_col + horizon * time_delta
-
- data = pd.to_datetime(time_col.to_numpy().reshape(-1), origin="unix")
- data_transformed = (
- (data - np.datetime64(self.basic_date)) / np.timedelta64(1, self.delta)
- ).values.astype(np.float32)
-
- result_data.append(data_transformed)
-
- data["raw_ts_X"][:, self.output_features] = result_data
-
- return data
-
-
-class DateSeasonsGenerator(FeaturesGenerator):
- """A transformer that generates features that reflect seasonality.
-
- Args:
- seasonalities: features to build.
- from_target_date: features are built from the targets' dates.
- horizon: forecast horizon.
- country: country code ("RU" for Russia).
- prov: province inside country.
- state: state inside country.
-
- Notes:
- 1. In case when country is provided (it is possible to specify prov
- and state) indicator 'there is a holiday at that moment' will be
- generated.
-
- """
-
- def __init__(
- self,
- seasonalities: Optional[List[str]] = ["doy", "m", "wd", "d", "y"],
- from_target_date: Optional[bool] = False,
- country: Optional[str] = None,
- prov: Optional[str] = None,
- state: Optional[str] = None,
- delta: Optional[pd.DateOffset] = None,
- ):
- super().__init__()
- self.seasonalities = seasonalities
- self.from_target_date = from_target_date
- self._country = country
- self._prov = prov
- self._state = state
- self.delta = delta
-
- def fit(
- self, data: dict, input_features: Optional[Sequence[str]] = None
- ) -> "DateSeasonsGenerator":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
-
- self.output_features = []
-
- for s in self.seasonalities:
- self.output_features.extend(
- [f"{column_name}__season_{s}" for column_name in self.input_features]
- )
- if self._country is not None:
- self.output_features.extend(
- [f"{column_name}__season_hol" for column_name in self.input_features]
- )
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Generate features in `raw_ts_X`.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- result_data = []
-
- for column_name in self.input_features:
- time_col = data["raw_ts_X"][column_name]
-
- _, time_delta = index_slicer.timedelta(time_col, delta=self.delta)
- if self.from_target_date:
- horizon = data["idx_y"][0, -1] - data["idx_X"][0, -1]
- time_col = time_col + horizon * time_delta
- time_col = pd.to_datetime(time_col.to_numpy(), origin="unix")
-
- new_arr = np.empty((time_col.shape[0], len(self.output_features)), np.int32)
-
- n = 0
- for seas in self.seasonalities:
- new_arr[:, n] = getattr(time_col, date_attrs[seas])
- n += 1
-
- if self._country is not None:
- # get years
- years = np.unique(time_col.year)
- hol = holidays.CountryHoliday(
- self._country,
- years=years,
- prov=self._prov,
- state=self._state,
- )
- new_arr[:, n] = time_col.date.isin(hol)
- n += 1
- result_data.append(new_arr)
-
- data["raw_ts_X"][self.output_features] = np.hstack(result_data)
-
- return data
+"""Module for transformers for datetime features."""
+
+from typing import List, Optional, Sequence
+
+import holidays
+import numpy as np
+import pandas as pd
+
+from ..dataset.slice import IndexSlicer
+from .base import FeaturesGenerator
+from .utils import date_attrs
+
+index_slicer = IndexSlicer()
+
+
+class TimeToNumGenerator(FeaturesGenerator):
+ """A transformer that converts datetime to difference with basic_date.
+
+ Args:
+ basic_date: date relating to which normalization takes place.
+ from_target_date: if True, features are built from the targets' dates;
+ otherwise, features are built from the last training dates.
+ horizon: forecast horizon.
+ delta: frequency of the time series.
+
+ """
+
+ def __init__(
+ self,
+ basic_date: Optional[str] = "2020-01-01",
+ from_target_date: Optional[bool] = False,
+ delta: Optional[pd.DateOffset] = None,
+ ):
+ super().__init__()
+ self.basic_date = basic_date
+ self.from_target_date = from_target_date
+ self.delta = delta
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "TimeToNumGenerator":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+
+ self.output_features = [
+ f"{column_name}__time_to_num" for column_name in self.input_features
+ ]
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Generate features in `raw_ts_X`.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ result_data = []
+ for column_name in self.input_features:
+ time_col = data["raw_ts_X"][column_name]
+
+ _, time_delta = index_slicer.timedelta(time_col, delta=self.delta)
+ if self.from_target_date:
+ horizon = data["target_idx"][0, -1] - data["features_idx"][0, -1]
+ time_col = time_col + horizon * time_delta
+
+ new_arr = pd.to_datetime(time_col.to_numpy().reshape(-1), origin="unix")
+ data_transformed = (
+ (new_arr - np.datetime64(self.basic_date)) / np.timedelta64(1, self.delta)
+ ).values.astype(np.float32)
+
+ result_data.append(data_transformed)
+
+ result_data = np.hstack(result_data)
+ if result_data.ndim == 1:
+ result_data = result_data.reshape(-1, 1)
+
+ data["raw_ts_X"][self.output_features] = result_data
+
+ return data
+
+
+class DateSeasonsGenerator(FeaturesGenerator):
+ """A transformer that generates features that reflect seasonality.
+
+ Args:
+ seasonalities: features to build.
+ from_target_date: features are built from the targets' dates.
+ horizon: forecast horizon.
+ country: country code ("RU" for Russia).
+ prov: province inside country.
+ state: state inside country.
+
+ Notes:
+ 1. In case when country is provided (it is possible to specify prov
+ and state) indicator 'there is a holiday at that moment' will be
+ generated.
+
+ """
+
+ def __init__(
+ self,
+ seasonalities: Optional[List[str]] = ["doy", "m", "wd", "d", "y"],
+ from_target_date: Optional[bool] = False,
+ country: Optional[str] = None,
+ prov: Optional[str] = None,
+ state: Optional[str] = None,
+ delta: Optional[pd.DateOffset] = None,
+ ):
+ super().__init__()
+ self.seasonalities = seasonalities
+ self.from_target_date = from_target_date
+ self._country = country
+ self._prov = prov
+ self._state = state
+ self.delta = delta
+
+ def fit(
+ self, data: dict, input_features: Optional[Sequence[str]] = None
+ ) -> "DateSeasonsGenerator":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+
+ self.output_features = []
+
+ for s in self.seasonalities:
+ self.output_features.extend(
+ [f"{column_name}__season_{s}" for column_name in self.input_features]
+ )
+ if self._country is not None:
+ self.output_features.extend(
+ [f"{column_name}__season_hol" for column_name in self.input_features]
+ )
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Generate features in `raw_ts_X`.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ result_data = []
+
+ for column_name in self.input_features:
+ time_col = data["raw_ts_X"][column_name]
+
+ _, time_delta = index_slicer.timedelta(time_col, delta=self.delta)
+ if self.from_target_date:
+ horizon = data["idx_y"][0, -1] - data["idx_X"][0, -1]
+ time_col = time_col + horizon * time_delta
+ time_col = pd.to_datetime(time_col.to_numpy(), origin="unix")
+
+ new_arr = np.empty((time_col.shape[0], len(self.output_features)), np.int32)
+
+ n = 0
+ for seas in self.seasonalities:
+ new_arr[:, n] = getattr(time_col, date_attrs[seas])
+ n += 1
+
+ if self._country is not None:
+ # get years
+ years = np.unique(time_col.year)
+ hol = holidays.CountryHoliday(
+ self._country,
+ years=years,
+ prov=self._prov,
+ state=self._state,
+ )
+ dates, names = zip(*hol.items())
+ new_arr[:, n] = np.isin(time_col.date, dates)
+ n += 1
+ result_data.append(new_arr)
+
+ data["raw_ts_X"][self.output_features] = np.hstack(result_data)
+
+ return data
diff --git a/tsururu/transformers/impute.py b/tsururu/transformers/impute.py
new file mode 100644
index 0000000..788f21a
--- /dev/null
+++ b/tsururu/transformers/impute.py
@@ -0,0 +1,203 @@
+from typing import Optional, Sequence
+
+import numpy as np
+import pandas as pd
+
+from .base import SeriesToSeriesTransformer
+
+
+class MissingValuesImputer(SeriesToSeriesTransformer):
+ """Imputes missing values in time series data using various strategies.
+
+ Args:
+ impute_inf: whether to impute infinite values additionally to missing values.
+ regime: the strategy to use for imputation. Options are 'mean' or 'lag'.
+ if None, the transformer will fill missing values with a constant value.
+ constant_value: the constant value to fill remaining missing values
+ after applying the chosen regime.
+ transform_features: whether to transform features.
+ transform_target: whether to transform target.
+ window: the size of the window for the mean imputation strategy.
+ if -1, the window size is the length of the series.
+ if window size is bigger than the length of the series, the window size
+ is the length of the series.
+ weighted_alpha: the alpha value for weighting in the mean imputation strategy.
+ the bigger the alpha, the more recent values are weighted.
+ lag: the lag value for the lag imputation strategy.
+
+ """
+
+ def __init__(
+ self,
+ impute_inf: bool = False,
+ regime: Optional[str] = None,
+ constant_value: Optional[float] = None,
+ transform_features: bool = True,
+ transform_target: bool = True,
+ window: Optional[int] = None,
+ weighted_alpha: Optional[float] = None,
+ lag: Optional[int] = None,
+ ):
+ super().__init__(transform_features=transform_features, transform_target=transform_target)
+ self.impute_inf = impute_inf
+ self.regime = regime
+ self.constant_value = constant_value
+ self.window = window if window is not None else -1
+ self.weighted_alpha = weighted_alpha if weighted_alpha is not None else 0
+ self.lag = lag if lag is not None else 1
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> SeriesToSeriesTransformer:
+ """Fit transformer on 'elongated series' and return its instance.
+
+ Args:
+ data: dictionary with current states of 'elongated series',
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+ """
+ super().fit(data, input_features)
+ self.output_features = [f"{column}__imputed" for column in self.input_features]
+ return self
+
+ def _transform_segment(self, segment: pd.Series, id_column_name: str) -> pd.Series:
+ """Transform segment (points with similar id) of 'elongated series'
+ for features' and targets' further generation.
+
+ Args:
+ segment: segment of 'elongated series' to transform.
+ id_column_name: name of id column.
+
+ Returns:
+ transformed segment of 'elongated series'.
+ """
+ for i, column_name in enumerate(self.input_features):
+ if self.regime == "mean":
+ segment.loc[:, self.output_features[i]] = segment.loc[:, column_name].copy()
+ segment.loc[:, self.output_features[i]] = self._fill_mean(
+ segment.loc[:, self.output_features[i]]
+ )
+ elif self.regime == "lag":
+ segment.loc[:, self.output_features[i]] = segment.loc[:, column_name].copy()
+ segment.loc[:, self.output_features[i]] = self._fill_lag(
+ segment.loc[:, self.output_features[i]]
+ )
+ # Fill remaining missing values with constant value
+ if self.output_features[i] in segment.columns:
+ segment.loc[:, self.output_features[i]] = segment.loc[:, self.output_features[i]].fillna(
+ self.constant_value
+ )
+ if self.impute_inf:
+ segment.loc[:, self.output_features[i]] = segment.loc[:, self.output_features[i]].replace(
+ [np.inf, -np.inf], self.constant_value
+ )
+ else:
+ segment.loc[:, self.output_features[i]] = segment.loc[:, column_name].fillna(
+ self.constant_value
+ )
+ if self.impute_inf:
+ segment.loc[:, self.output_features[i]] = segment.loc[:, self.output_features[i]].replace(
+ [np.inf, -np.inf], self.constant_value
+ )
+
+ return segment
+
+ def _fill_mean(self, series: pd.Series) -> pd.Series:
+ """Fill missing values using mean with optional weighting.
+
+ Args:
+ series: series with missing values to be filled.
+
+ Returns:
+ series with missing values filled using mean.
+
+ """
+ filled_series = series.copy()
+ if self.window == -1:
+ window_size = len(series)
+ else:
+ window_size = self.window
+
+ idx_list = series[series.isnull()].index
+ if self.impute_inf:
+ idx_list = idx_list.union(series.index[~np.isfinite(series)])
+
+ for idx in idx_list:
+ if idx >= window_size:
+ window = series.loc[idx - window_size : idx]
+ else:
+ window = series.loc[:idx]
+
+ try:
+ if self.weighted_alpha > 0:
+ weights = np.exp(np.linspace(-self.weighted_alpha, 0, len(window)))
+ mean_value = np.average(
+ window.dropna(), weights=weights[: len(window.dropna())]
+ )
+ else:
+ mean_value = window.mean()
+ except:
+ mean_value = series.loc[idx]
+
+ filled_series.at[idx] = mean_value
+
+ return filled_series
+
+ def _fill_lag(self, series: pd.Series) -> pd.Series:
+ """Fill missing values using lagged values.
+
+ Args:
+ series: series with missing values to be filled.
+
+ Returns:
+ series with missing values filled using lagged values.
+
+ """
+ filled_series = series.copy()
+
+ idx_list = series[series.isnull()].index
+ if self.impute_inf:
+ idx_list = idx_list.union(series.index[~np.isfinite(series)])
+
+ for idx in idx_list:
+ try:
+ current_lag = series.loc[idx - self.lag]
+ except:
+ current_lag = series.loc[idx]
+
+ filled_series.at[idx] = current_lag
+
+ return filled_series
+
+ def transform(self, data: dict) -> dict:
+ """Transform 'elongated series' for features' and targets' further
+ generation and update self.params.
+
+ Args:
+ data: dictionary with current states of 'elongated series',
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+ """
+ data = super().transform(data)
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ Notes:
+ This method does not perform any transformation on the target variable
+ as it is not needed for this transformer.
+
+ """
+ return y
diff --git a/tsururu/transformers/numeric.py b/tsururu/transformers/numeric.py
index 96ed9ac..095412e 100644
--- a/tsururu/transformers/numeric.py
+++ b/tsururu/transformers/numeric.py
@@ -1,416 +1,431 @@
-"""Module for transformers for numeric features."""
-
-import re
-from typing import Sequence
-
-import numpy as np
-import pandas as pd
-
-from ..dataset.slice import IndexSlicer
-from .base import FeaturesToFeaturesTransformer, SeriesToSeriesTransformer
-
-index_slicer = IndexSlicer()
-
-
-class StandardScalerTransformer(SeriesToSeriesTransformer):
- """Transformer that standardizes features by removing the mean and scaling.
-
- Args:
- transform_features: whether to transform features.
- transform_target: whether to transform target.
-
- Notes:
- 1. Transformer has a parameter self.fitted_params = {
- id_1: {
- (colname_1, 'mean'): mean, (colname_2, 'std'): std, ...
- },
- id_2: {
- (colname_1, 'mean'): mean, (colname_2, 'std'): std, ...
- },
- ...
- }.
- 2. self.params: np.ndarray len(idx_y) x 2.
-
- """
-
- def __init__(self, transform_features: bool, transform_target: bool):
- super().__init__(
- transform_features=transform_features,
- transform_target=transform_target,
- )
-
- self.fitted_params = {}
-
- def fit(self, data: dict, input_features: Sequence[str]) -> SeriesToSeriesTransformer:
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
- stat_df = (
- data["raw_ts_X"]
- .groupby(data["id_column_name"])[self.input_features]
- .agg(["mean", "std"])
- )
- self.fitted_params = stat_df.to_dict(orient="index")
- self.output_features = [f"{column}__standard_scaler" for column in self.input_features]
-
- return self
-
- def _get_mask_mean_std(self, segment, column_name, current_id):
- """
- Calculate the column_mask, mean and standard deviation of a segment
- for a given column name and current id.
-
- Args:
- segment: segment of "elongated series" to transform to calculate
- the mean and standard deviation for.
- column_name: the name of the column to calculate the mean and
- standard deviation for.
- current_id: the name of id column of the segment.
-
- Returns:
- column mask, mean, and standard deviation.
-
- """
- column_mask = [segment.columns.str.contains(column_name)][0]
- mean = self.fitted_params[current_id][(column_name, "mean")]
- std = self.fitted_params[current_id][(column_name, "std")]
-
- return column_mask, mean, std
-
- def _transform_segment(self, segment: pd.Series, id_column_name: str) -> pd.Series:
- """Transform segment (points with similar id) of "elongated series"
- for feautures' and targets' further generation.
-
- Args:
- segment: segment of "elongated series" to transform.
- id_column_name: name of id column.
-
- Returns:
- transformed segment of "elongated series".
-
- """
- current_id = segment[id_column_name].values[0]
-
- for i, column_name in enumerate(self.input_features):
- column_mask, mean, std = self._get_mask_mean_std(
- segment=segment,
- column_name=column_name,
- current_id=current_id,
- )
- segment.loc[:, self.output_features[i]] = (segment.loc[:, column_mask] - mean) / std
-
- return segment
-
- def transform(self, data: dict) -> dict:
- """Transform "elongated series" for feautures' and targets' further
- generation and update self.params.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- data = super().transform(data)
-
- # Update the params if self.transform_target is True
- if self.transform_target:
- id_from_target_idx = index_slicer.get_slice(
- data["raw_ts_y"][data["id_column_name"]], (data["idx_y"][:, 0], None)
- )
- self.params = [
- list(self.fitted_params[current_id].values()) for current_id in id_from_target_idx
- ]
- self.params = np.array(self.params)
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- if self.transform_target:
- if len(y.shape) == 1 or y.shape[0] == 1:
- y = y * self.params[:, 1] + self.params[:, 0]
- else:
- y = y * self.params[:, np.newaxis, 1] + self.params[:, np.newaxis, 0]
-
- return y
-
-
-class DifferenceNormalizer(SeriesToSeriesTransformer):
- """Transformer that normalizes values by the previous value.
-
- Args:
- regime: "delta" to take the difference or "ratio" to take the ratio
- between the current and the previous value.
- transform_features: whether to transform features.
- transform_target: whether to transform target.
-
- Notes:
- 1. self.params: np.ndarray len(idx_y) x 1.
-
- """
-
- def __init__(self, regime: str, transform_features: bool, transform_target: bool):
- super().__init__(
- transform_features=transform_features,
- transform_target=transform_target,
- )
- self.regime = regime
-
- def fit(self, data: dict, input_features: Sequence[str]) -> SeriesToSeriesTransformer:
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
- last_values_df = (
- data["raw_ts_X"].groupby(data["id_column_name"])[self.input_features].last()
- )
- self.params = last_values_df.to_dict(orient="index")
- self.output_features = [f"{column}__diff_norm" for column in self.input_features]
-
- return self
-
- def _transform_segment(self, segment: pd.Series, *_):
- """Transform segment (points with similar id) of "elongated series"
- for feautures' and targets' further generation.
-
- Args:
- segment: segment of "elongated series" to transform.
-
- Returns:
- transformed segment of "elongated series".
-
- """
- for i, column_name in enumerate(self.input_features):
- if self.regime == "delta":
- segment.loc[:, self.output_features[i]] = segment.loc[
- :, column_name
- ] - segment.loc[:, column_name].shift(1)
- elif self.regime == "ratio":
- segment.loc[:, self.output_features[i]] = segment.loc[
- :, column_name
- ] / segment.loc[:, column_name].shift(1)
-
- return segment
-
- def transform(self, data: dict) -> dict:
- """Transform "elongated series" for feautures' and targets' further
- generation and update self.params.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id column and
- arrays with indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- data = super().transform(data)
-
- # Update the params if self.transform_target is True
- if self.transform_target:
- self.params = index_slicer.get_slice(
- data["raw_ts_y"][self.input_features], (data["idx_y"][:, 0] - 1, None)
- )
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- if len(y.shape) == 1:
- y = y.reshape(-1, 1)
-
- if len(self.params.shape) == 3:
- self.params = self.params[0]
-
- if self.transform_target:
- if self.regime == "delta":
- y = np.cumsum(np.hstack((self.params, y)), axis=1)[:, 1:]
- elif self.regime == "ratio":
- y = np.cumprod(np.hstack((self.params, y)), axis=1)[:, 1:]
-
- return y
-
-
-class LastKnownNormalizer(FeaturesToFeaturesTransformer):
- """Transformer that normalizes values by the last known value.
-
- Args:
- regime: "delta" to take the difference or "ratio" -- the ratio
- between the current and the last known value in the future.
- last_lag_substring: a substring that is included in the name
- of any columns in the feature table and denotes
- the last known (nearest) lag features.
-
- Notes:
- 1. self.params: np.ndarray len(idx_y) x 1.
-
- """
-
- def __init__(
- self,
- regime: str,
- transform_features: bool,
- transform_target: bool,
- last_lag_substring: str = "lag_0",
- ):
- super().__init__(
- transform_features=transform_features,
- transform_target=transform_target,
- )
- self.regime = regime
- self.last_lag_substring = last_lag_substring
-
- def fit(self, data: dict, input_features: Sequence[str]) -> FeaturesToFeaturesTransformer:
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
- self.output_features = [f"{column}__last_known_norm" for column in self.input_features]
-
- return self
-
- def transform(self, data: dict) -> dict:
- """Update self.params.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- # Update the params if self.transform_target is True
- if self.transform_target:
- try:
- feature = re.compile("^(.*)__(lag_\d+)$").findall(self.input_features[0])[0][0]
- except IndexError:
- raise ValueError(
- "There is no lags in data['raw_ts_X']! Make sure that you initialize LastKnownNormalizer AFTER LagTransformer!"
- )
- self.params = index_slicer.get_slice(
- data["raw_ts_X"][feature], (data["idx_X"][:, -1], None)
- )
-
- return data
-
- def generate(self, data: dict) -> dict:
- """Generate or transform features and targets in X, y arrays.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- """
- assert (
- len(data["X"]) != 0
- ), "X is empty! Make sure that you initialize LastKnownNormalizer AFTER LagTransformer!"
-
- last_lag_idx_by_feature = {}
- feature_by_idx = {}
- for i, column in enumerate(self.input_features):
- feature, lag_suffix = re.compile("^(.*)__(lag_\d+)$").findall(column)[0]
- feature_by_idx[i] = feature
- if lag_suffix == self.last_lag_substring:
- last_lag_idx_by_feature[feature] = i
-
- if self.transform_target:
- feature = feature_by_idx[0]
- last_lag_idx = last_lag_idx_by_feature[feature]
-
- if self.regime == "delta":
- data["y"] = data["y"] - data["X"][:, last_lag_idx].reshape(-1, 1)
- elif self.regime == "ratio":
- data["y"] = data["y"] / data["X"][:, last_lag_idx].reshape(-1, 1)
-
- for i, column in enumerate(self.input_features):
- feature = feature_by_idx[i]
- last_lag_idx = last_lag_idx_by_feature[feature]
-
- if self.regime == "delta":
- if self.transform_features:
- data["X"][:, i] = data["X"][:, i] - data["X"][:, last_lag_idx]
- elif self.regime == "ratio":
- if self.transform_features:
- data["X"][:, i] = data["X"][:, i] / data["X"][:, last_lag_idx]
-
- return data
-
- def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
- """Inverse transforms on the target variable y.
-
- Args:
- y: the target variable to be inversed.
-
- Returns:
- the inversed target variable.
-
- """
- if len(y.shape) == 1:
- y = y.reshape(-1, 1)
- if len(self.params.shape) == 1:
- self.params = self.params.reshape(-1, 1)
- elif len(self.params.shape) == 3:
- self.params = self.params[0]
-
- if self.transform_target:
- if self.regime == "delta":
- y = y + self.params
- elif self.regime == "ratio":
- y = y * self.params
-
- return y
+"""Module for transformers for numeric features."""
+
+import re
+from typing import Sequence
+
+import numpy as np
+import pandas as pd
+
+from ..dataset.slice import IndexSlicer
+from .base import FeaturesToFeaturesTransformer, SeriesToSeriesTransformer
+
+index_slicer = IndexSlicer()
+
+
+class StandardScalerTransformer(SeriesToSeriesTransformer):
+ """Transformer that standardizes features by removing the mean and scaling.
+
+ Args:
+ transform_features: whether to transform features.
+ transform_target: whether to transform target.
+ agg_by_id: whether to aggregate statistics by id or over the entire dataset.
+
+ Notes:
+ 1. Transformer has a parameter self.fitted_params = {
+ id_1: {
+ (colname_1, 'mean'): mean, (colname_2, 'std'): std, ...
+ },
+ id_2: {
+ (colname_1, 'mean'): mean, (colname_2, 'std'): std, ...
+ },
+ ...
+ }.
+ 2. self.params: np.ndarray len(idx_y) x 2.
+
+ """
+
+ def __init__(self, transform_features: bool, transform_target: bool, agg_by_id: bool = True):
+ super().__init__(
+ transform_features=transform_features,
+ transform_target=transform_target,
+ )
+ self.agg_by_id = agg_by_id
+ self.fitted_params = {}
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> SeriesToSeriesTransformer:
+ """Fit transformer on "elongated series" and return its instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+
+ if self.agg_by_id:
+ stat_df = (
+ data["raw_ts_X"]
+ .groupby(data["id_column_name"])[self.input_features]
+ .agg(["mean", "std"])
+ )
+ else:
+ overall_mean_std = data["raw_ts_X"][self.input_features].agg(["mean", "std"])
+ ids = data["raw_ts_X"][data["id_column_name"]].unique()
+ stat_df = pd.DataFrame(
+ index=ids,
+ columns=pd.MultiIndex.from_product([self.input_features, ["mean", "std"]]),
+ )
+ for column in self.input_features:
+ stat_df[(column, "mean")] = overall_mean_std.loc["mean", column]
+ stat_df[(column, "std")] = overall_mean_std.loc["std", column]
+
+ self.fitted_params = stat_df.to_dict(orient="index")
+ self.output_features = [f"{column}__standard_scaler" for column in self.input_features]
+
+ return self
+
+ def _get_mask_mean_std(self, segment, column_name, current_id):
+ """
+ Calculate the column_mask, mean and standard deviation of a segment
+ for a given column name and current id.
+
+ Args:
+ segment: segment of "elongated series" to transform to calculate
+ the mean and standard deviation for.
+ column_name: the name of the column to calculate the mean and
+ standard deviation for.
+ current_id: the name of id column of the segment.
+
+ Returns:
+ column mask, mean, and standard deviation.
+
+ """
+ column_mask = [column for column in segment.columns if column == column_name]
+ mean = self.fitted_params[current_id][(column_name, "mean")]
+ std = self.fitted_params[current_id][(column_name, "std")]
+
+ return column_mask, mean, std
+
+ def _transform_segment(self, segment: pd.Series, current_id: str) -> pd.Series:
+ """Transform segment (points with similar id) of "elongated series"
+ for features' and targets' further generation.
+
+ Args:
+ segment: segment of "elongated series" to transform.
+ current_id: id of current segment.
+
+ Returns:
+ transformed segment of "elongated series".
+
+ """
+
+ for i, column_name in enumerate(self.input_features):
+ column_mask, mean, std = self._get_mask_mean_std(
+ segment=segment,
+ column_name=column_name,
+ current_id=current_id,
+ )
+ segment.loc[:, self.output_features[i]] = (
+ (segment.loc[:, column_mask] - mean) / std
+ ).values
+
+ return segment
+
+ def transform(self, data: dict) -> dict:
+ """Transform "elongated series" for features' and targets' further
+ generation and update self.params.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ data = super().transform(data)
+
+ # Update the params if self.transform_target is True
+ if self.transform_target:
+ id_from_target_idx = index_slicer.get_slice(
+ data["raw_ts_y"][data["id_column_name"]], (data["idx_y"][:, 0], None)
+ )
+ self.params = [
+ list(self.fitted_params[current_id].values()) for current_id in id_from_target_idx
+ ]
+ self.params = np.array(self.params)
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ if self.transform_target:
+ if len(y.shape) == 1 or y.shape[0] == 1:
+ y = y * self.params[:, 1] + self.params[:, 0]
+ else:
+ y = y * self.params[:, np.newaxis, 1] + self.params[:, np.newaxis, 0]
+
+ return y
+
+
+class DifferenceNormalizer(SeriesToSeriesTransformer):
+ """Transformer that normalizes values by the previous value.
+
+ Args:
+ regime: "delta" to take the difference or "ratio" to take the ratio
+ between the current and the previous value.
+ transform_features: whether to transform features.
+ transform_target: whether to transform target.
+
+ Notes:
+ 1. self.params: np.ndarray len(idx_y) x 1.
+
+ """
+
+ def __init__(self, regime: str, transform_features: bool, transform_target: bool):
+ super().__init__(
+ transform_features=transform_features,
+ transform_target=transform_target,
+ )
+ self.regime = regime
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> SeriesToSeriesTransformer:
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+ last_values_df = (
+ data["raw_ts_X"].groupby(data["id_column_name"])[self.input_features].last()
+ )
+ self.params = last_values_df.to_dict(orient="index")
+ self.output_features = [f"{column}__diff_norm" for column in self.input_features]
+
+ return self
+
+ def _transform_segment(self, segment: pd.Series, *_):
+ """Transform segment (points with similar id) of "elongated series"
+ for feautures' and targets' further generation.
+
+ Args:
+ segment: segment of "elongated series" to transform.
+
+ Returns:
+ transformed segment of "elongated series".
+
+ """
+ for i, column_name in enumerate(self.input_features):
+ if self.regime == "delta":
+ segment.loc[:, self.output_features[i]] = (
+ segment.loc[:, column_name] - segment.loc[:, column_name].shift(1)
+ ).values
+ elif self.regime == "ratio":
+ segment.loc[:, self.output_features[i]] = (
+ segment.loc[:, column_name] / segment.loc[:, column_name].shift(1)
+ ).values
+
+ return segment
+
+ def transform(self, data: dict) -> dict:
+ """Transform "elongated series" for feautures' and targets' further
+ generation and update self.params.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id column and
+ arrays with indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ data = super().transform(data)
+
+ # Update the params if self.transform_target is True
+ if self.transform_target:
+ self.params = index_slicer.get_slice(
+ data["raw_ts_y"][self.input_features], (data["idx_y"][:, 0] - 1, None)
+ )
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ if len(y.shape) == 1:
+ y = y.reshape(-1, 1)
+
+ if len(self.params.shape) == 3:
+ self.params = self.params[0]
+
+ if self.transform_target:
+ if self.regime == "delta":
+ y = np.cumsum(np.hstack((self.params, y)), axis=1)[:, 1:]
+ elif self.regime == "ratio":
+ y = np.cumprod(np.hstack((self.params, y)), axis=1)[:, 1:]
+
+ return y
+
+
+class LastKnownNormalizer(FeaturesToFeaturesTransformer):
+ """Transformer that normalizes values by the last known value.
+
+ Args:
+ regime: "delta" to take the difference or "ratio" -- the ratio
+ between the current and the last known value in the future.
+ last_lag_substring: a substring that is included in the name
+ of any columns in the feature table and denotes
+ the last known (nearest) lag features.
+
+ Notes:
+ 1. self.params: np.ndarray len(idx_y) x 1.
+
+ """
+
+ def __init__(
+ self,
+ regime: str,
+ transform_features: bool,
+ transform_target: bool,
+ last_lag_substring: str = "lag_0",
+ ):
+ super().__init__(
+ transform_features=transform_features,
+ transform_target=transform_target,
+ )
+ self.regime = regime
+ self.last_lag_substring = last_lag_substring
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> FeaturesToFeaturesTransformer:
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+ self.output_features = [f"{column}__last_known_norm" for column in self.input_features]
+
+ return self
+
+ def transform(self, data: dict) -> dict:
+ """Update self.params.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ # Update the params if self.transform_target is True
+ if self.transform_target:
+ try:
+ feature = re.compile(r"^(.*)__(lag_\d+)$").findall(self.input_features[0])[0][0]
+ except IndexError:
+ raise ValueError(
+ "There is no lags in data['raw_ts_X']! Make sure that you initialize LastKnownNormalizer AFTER LagTransformer!"
+ )
+ self.params = index_slicer.get_slice(
+ data["raw_ts_X"][feature], (data["idx_X"][:, -1], None)
+ )
+
+ return data
+
+ def generate(self, data: dict) -> dict:
+ """Generate or transform features and targets in X, y arrays.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ """
+ assert (
+ len(data["X"]) != 0
+ ), "X is empty! Make sure that you initialize LastKnownNormalizer AFTER LagTransformer!"
+
+ last_lag_idx_by_feature = {}
+ feature_by_idx = {}
+ for i, column in enumerate(self.input_features):
+ feature, lag_suffix = re.compile(r"^(.*)__(lag_\d+)$").findall(column)[0]
+ feature_by_idx[i] = feature
+ if lag_suffix == self.last_lag_substring:
+ last_lag_idx_by_feature[feature] = i
+
+ if self.transform_target:
+ feature = feature_by_idx[0]
+ last_lag_idx = last_lag_idx_by_feature[feature]
+
+ if self.regime == "delta":
+ data["y"] = data["y"] - data["X"][:, last_lag_idx].reshape(-1, 1)
+ elif self.regime == "ratio":
+ data["y"] = data["y"] / data["X"][:, last_lag_idx].reshape(-1, 1)
+
+ for i, column in enumerate(self.input_features):
+ feature = feature_by_idx[i]
+ last_lag_idx = last_lag_idx_by_feature[feature]
+
+ if self.regime == "delta":
+ if self.transform_features:
+ data["X"][:, i] = data["X"][:, i] - data["X"][:, last_lag_idx]
+ elif self.regime == "ratio":
+ if self.transform_features:
+ data["X"][:, i] = data["X"][:, i] / data["X"][:, last_lag_idx]
+
+ return data
+
+ def inverse_transform_y(self, y: np.ndarray) -> np.ndarray:
+ """Inverse transforms on the target variable y.
+
+ Args:
+ y: the target variable to be inversed.
+
+ Returns:
+ the inversed target variable.
+
+ """
+ if len(y.shape) == 1:
+ y = y.reshape(-1, 1)
+ if len(self.params.shape) == 1:
+ self.params = self.params.reshape(-1, 1)
+ elif len(self.params.shape) == 3:
+ self.params = self.params[0]
+
+ if self.transform_target:
+ if self.regime == "delta":
+ y = y + self.params
+ elif self.regime == "ratio":
+ y = y * self.params
+
+ return y
diff --git a/tsururu/transformers/seq.py b/tsururu/transformers/seq.py
index 640ee0b..3266e3a 100644
--- a/tsururu/transformers/seq.py
+++ b/tsururu/transformers/seq.py
@@ -1,160 +1,160 @@
-"""Module for transformers which generate features and targets from "elongated" series."""
-
-from itertools import product
-from typing import Sequence, Union
-
-import numpy as np
-import pandas as pd
-
-from ..dataset.slice import IndexSlicer
-from .base import SeriesToFeaturesTransformer
-from .utils import _seq_mult_ts
-
-index_slicer = IndexSlicer()
-
-
-class LagTransformer(SeriesToFeaturesTransformer):
- """A transformer that generates lag features.
-
- Args:
- lags: lags features to build.
-
- Notes:
- 1. Lags can be represented either as an integer value or as a sequnece
- with specific values.
-
- 2. Maximum lag must be less than history, otherwise it is impossible
- to generate features.
-
- """
-
- def __init__(self, lags: Union[int, Sequence[int]]):
- super().__init__()
- if isinstance(lags, Sequence):
- self.lags = np.array(lags)
- if isinstance(lags, int):
- self.lags = np.arange(lags)
-
- def fit(self, data: dict, input_features: Sequence[str]) -> "LagTransformer":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
-
- self.output_features = [
- f"{column}__lag_{lag}" for column, lag in product(self.input_features, self.lags[::-1])
- ]
-
- return self
-
- def _check_lags_less_than_history(
- self,
- data: pd.DataFrame,
- idx: np.ndarray,
- input_features_idx: np.ndarray,
- ) -> None:
- """Check if the maximum value of the lags is less than the history.
-
- Args:
- data: the source "elongated series" raw_ts_X.
- idx: the indices to take one observation.
- input_features_idx: the indices of the input features.
-
- Raises:
- AssertionError: If the maximum value of the lags is not less
- than the number of columns in the sample data (history).
- """
- sample_data = index_slicer.get_slice(data, (idx, input_features_idx))
- assert self.lags.max() < sample_data.shape[1], "lags must be less than history"
-
- def generate(self, data: dict) -> dict:
- """Generate lag features in X array.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- Notes:
- 1. Either both idx_X or idx_y must be specified,
- LagTransformer uses only idx_X.
-
- """
- input_features_idx = index_slicer.get_cols_idx(data["raw_ts_X"], self.input_features)
-
- if len(data["idx_X"].shape) == 3:
- self._check_lags_less_than_history(
- data["raw_ts_X"], data["idx_X"][0], input_features_idx
- )
- X = _seq_mult_ts(data["raw_ts_X"], data["idx_X"], input_features_idx)
- else:
- self._check_lags_less_than_history(data["raw_ts_X"], data["idx_X"], input_features_idx)
- X = index_slicer.get_slice(data["raw_ts_X"], (data["idx_X"], input_features_idx))
-
- X = X[:, (X.shape[1] - 1) - self.lags[::-1], :]
- X = np.moveaxis(X, 1, 2).reshape(len(X), -1)
-
- if data["X"].shape == (0,):
- data["X"] = X
- else:
- data["X"] = np.hstack((data["X"], X))
-
- return data
-
-
-class TargetGenerator(SeriesToFeaturesTransformer):
- """A transformer that selects specific indices from "elongated" raw_ts_y
- and generates values for y array.
- """
-
- def fit(self, data: dict, input_features: Sequence[str]) -> "LagTransformer":
- """Fit transformer on "elongated series" and return it's instance.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
- input_features: array with names of columns to transform.
-
- Returns:
- self.
-
- """
- super().fit(data, input_features)
-
- self.output_features = None
-
- def generate(self, data: dict) -> dict:
- """Generate features in y array.
-
- Args:
- data: dictionary with current states of "elongated series",
- arrays with features and targets, name of id, date and target
- columns and indices for features and targets.
-
- Returns:
- current states of `data` dictionary.
-
- Notes:
- 1. Either both idx_X or idx_y must be specified,
- TargetGenerator uses only idx_y.
-
- """
- input_features_idx = index_slicer.get_cols_idx(data["raw_ts_y"], self.input_features)
- data["y"] = index_slicer.get_slice(
- data["raw_ts_y"], (data["idx_y"], input_features_idx)
- ).squeeze(-1)
-
- return data
+"""Module for transformers which generate features and targets from "elongated" series."""
+
+from itertools import product
+from typing import Sequence, Union
+
+import numpy as np
+import pandas as pd
+
+from ..dataset.slice import IndexSlicer
+from .base import SeriesToFeaturesTransformer
+from .utils import _seq_mult_ts
+
+index_slicer = IndexSlicer()
+
+
+class LagTransformer(SeriesToFeaturesTransformer):
+ """A transformer that generates lag features.
+
+ Args:
+ lags: lags features to build.
+
+ Notes:
+ 1. Lags can be represented either as an integer value or as a sequnece
+ with specific values.
+
+ 2. Maximum lag must be less than history, otherwise it is impossible
+ to generate features.
+
+ """
+
+ def __init__(self, lags: Union[int, Sequence[int]]):
+ super().__init__()
+ if isinstance(lags, Sequence):
+ self.lags = np.array(lags)
+ if isinstance(lags, int):
+ self.lags = np.arange(lags)
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> "LagTransformer":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+
+ self.output_features = [
+ f"{column}__lag_{lag}" for column, lag in product(self.input_features, self.lags[::-1])
+ ]
+
+ return self
+
+ def _check_lags_less_than_history(
+ self,
+ data: pd.DataFrame,
+ idx: np.ndarray,
+ input_features_idx: np.ndarray,
+ ) -> None:
+ """Check if the maximum value of the lags is less than the history.
+
+ Args:
+ data: the source "elongated series" raw_ts_X.
+ idx: the indices to take one observation.
+ input_features_idx: the indices of the input features.
+
+ Raises:
+ AssertionError: If the maximum value of the lags is not less
+ than the number of columns in the sample data (history).
+ """
+ sample_data = index_slicer.get_slice(data, (idx, input_features_idx))
+ assert self.lags.max() < sample_data.shape[1], "lags must be less than history"
+
+ def generate(self, data: dict) -> dict:
+ """Generate lag features in X array.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ Notes:
+ 1. Either both idx_X or idx_y must be specified,
+ LagTransformer uses only idx_X.
+
+ """
+ input_features_idx = index_slicer.get_cols_idx(data["raw_ts_X"], self.input_features)
+
+ if len(data["idx_X"].shape) == 3:
+ self._check_lags_less_than_history(
+ data["raw_ts_X"], data["idx_X"][0], input_features_idx
+ )
+ X = _seq_mult_ts(data["raw_ts_X"], data["idx_X"], input_features_idx)
+ else:
+ self._check_lags_less_than_history(data["raw_ts_X"], data["idx_X"], input_features_idx)
+ X = index_slicer.get_slice(data["raw_ts_X"], (data["idx_X"], input_features_idx))
+
+ X = X[:, (X.shape[1] - 1) - self.lags[::-1], :]
+ X = np.moveaxis(X, 1, 2).reshape(len(X), -1)
+
+ if data["X"].shape == (0,):
+ data["X"] = X
+ else:
+ data["X"] = np.hstack((data["X"], X))
+
+ return data
+
+
+class TargetGenerator(SeriesToFeaturesTransformer):
+ """A transformer that selects specific indices from "elongated" raw_ts_y
+ and generates values for y array.
+ """
+
+ def fit(self, data: dict, input_features: Sequence[str]) -> "LagTransformer":
+ """Fit transformer on "elongated series" and return it's instance.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+ input_features: array with names of columns to transform.
+
+ Returns:
+ self.
+
+ """
+ super().fit(data, input_features)
+
+ self.output_features = None
+
+ def generate(self, data: dict) -> dict:
+ """Generate features in y array.
+
+ Args:
+ data: dictionary with current states of "elongated series",
+ arrays with features and targets, name of id, date and target
+ columns and indices for features and targets.
+
+ Returns:
+ current states of `data` dictionary.
+
+ Notes:
+ 1. Either both idx_X or idx_y must be specified,
+ TargetGenerator uses only idx_y.
+
+ """
+ input_features_idx = index_slicer.get_cols_idx(data["raw_ts_y"], self.input_features)
+ data["y"] = index_slicer.get_slice(
+ data["raw_ts_y"], (data["idx_y"], input_features_idx)
+ ).squeeze(-1)
+
+ return data
diff --git a/tsururu/transformers/utils.py b/tsururu/transformers/utils.py
index 272556d..b48a89a 100644
--- a/tsururu/transformers/utils.py
+++ b/tsururu/transformers/utils.py
@@ -1,38 +1,38 @@
-import numpy as np
-
-from ..dataset.slice import IndexSlicer
-
-transformers_masks = {
- "raw": r"^",
- "LAG": r"lag_\d+__",
- "SEASON": r"season_\w+__",
- "TIMETONUM": r"time_to_num__",
- "LABEL": r"label_encoder__",
- "OHE": r"ohe_encoder_\S+__",
-}
-
-date_attrs = {
- "y": "year",
- "m": "month",
- "d": "day",
- "wd": "weekday",
- "doy": "dayofyear",
- "hour": "hour",
- "min": "minute",
- "sec": "second",
- "ms": "microsecond",
- "ns": "nanosecond",
-}
-
-
-def _seq_mult_ts(data, idx_data):
- index_slicer = IndexSlicer()
- data_seq = np.array([])
-
- for idx in range(len(data)):
- current_data_seq = index_slicer.get_slice(data[idx], (idx_data[idx], None))
- if data_seq.shape[0] == 0:
- data_seq = current_data_seq
- else:
- data_seq = np.hstack((data_seq, current_data_seq))
- return data_seq
+import numpy as np
+
+from ..dataset.slice import IndexSlicer
+
+transformers_masks = {
+ "raw": r"^",
+ "LAG": r"lag_\d+__",
+ "SEASON": r"season_\w+__",
+ "TIMETONUM": r"time_to_num__",
+ "LABEL": r"label_encoder__",
+ "OHE": r"ohe_encoder_\S+__",
+}
+
+date_attrs = {
+ "y": "year",
+ "m": "month",
+ "d": "day",
+ "wd": "weekday",
+ "doy": "dayofyear",
+ "hour": "hour",
+ "min": "minute",
+ "sec": "second",
+ "ms": "microsecond",
+ "ns": "nanosecond",
+}
+
+
+def _seq_mult_ts(data, idx_data):
+ index_slicer = IndexSlicer()
+ data_seq = np.array([])
+
+ for idx in range(len(data)):
+ current_data_seq = index_slicer.get_slice(data[idx], (idx_data[idx], None))
+ if data_seq.shape[0] == 0:
+ data_seq = current_data_seq
+ else:
+ data_seq = np.hstack((data_seq, current_data_seq))
+ return data_seq
diff --git a/tsururu/utils/__init__.py b/tsururu/utils/__init__.py
new file mode 100644
index 0000000..7c94be0
--- /dev/null
+++ b/tsururu/utils/__init__.py
@@ -0,0 +1 @@
+"""Common util tools."""
\ No newline at end of file
diff --git a/tsururu/utils/logging.py b/tsururu/utils/logging.py
new file mode 100644
index 0000000..52c4c9f
--- /dev/null
+++ b/tsururu/utils/logging.py
@@ -0,0 +1,193 @@
+"""Utils for logging."""
+
+import io
+import logging
+import os
+import sys
+
+from .. import _logger
+
+formatter_debug = logging.Formatter(
+ "%(asctime)s\t[%(levelname)s]\t%(pathname)s.%(funcName)s:%(lineno)d\t%(message)s"
+)
+formatter_default = logging.Formatter("[%(asctime)s] %(message)s", "%H:%M:%S")
+
+INFO2 = 17
+INFO3 = 13
+
+
+def add_logging_level(levelName, levelNum, methodName=None):
+ """Comprehensively adds a new logging level to the `logging` module and the currently configured logging class.
+
+ `levelName` becomes an attribute of the `logging` module with the value
+ `levelNum`. `methodName` becomes a convenience method for both `logging`
+ itself and the class returned by `logging.getLoggerClass()` (usually just
+ `logging.Logger`). If `methodName` is not specified, `levelName.lower()` is
+ used.
+
+ To avoid accidental clobberings of existing attributes, this method will
+ raise an `AttributeError` if the level name is already an attribute of the
+ `logging` module or if the method name is already present
+
+ Example:
+ -------
+ >>> addLoggingLevel('TRACE', logging.DEBUG - 5)
+ >>> logging.getLogger(__name__).setLevel("TRACE")
+ >>> logging.getLogger(__name__).trace('that worked')
+ >>> logging.trace('so did this')
+ >>> logging.TRACE
+ 5
+
+
+ Args:
+ levelName: Level name.
+ levelNum: Level number.
+ methodName: Method name.
+
+ """
+ assert (levelNum > 0) and (levelNum < 50)
+ if not methodName:
+ methodName = levelName.lower()
+
+ if hasattr(logging, levelName):
+ raise AttributeError("{} already defined in logging module".format(levelName))
+ if hasattr(logging, methodName):
+ raise AttributeError("{} already defined in logging module".format(methodName))
+ if hasattr(logging.getLoggerClass(), methodName):
+ raise AttributeError("{} already defined in logger class".format(methodName))
+
+ def logForLevel(self, message, *args, **kwargs):
+ if self.isEnabledFor(levelNum):
+ self._log(levelNum, message, args, **kwargs)
+
+ def logToRoot(message, *args, **kwargs):
+ logging.log(levelNum, message, *args, **kwargs)
+
+ logging.addLevelName(levelNum, levelName)
+ setattr(logging, levelName, levelNum)
+ setattr(logging.getLoggerClass(), methodName, logForLevel)
+ setattr(logging, methodName, logToRoot)
+
+
+add_logging_level("INFO2", INFO2)
+add_logging_level("INFO3", INFO3)
+
+
+class LoggerStream(io.IOBase):
+ def __init__(self, logger, verbose_eval=100) -> None:
+ super().__init__()
+ self.logger = logger
+ self.verbose_eval = verbose_eval
+ self.counter = 1
+
+ def write(self, message):
+ if message == "\n":
+ return
+ iter_num = message.split("\t")[0]
+ if (
+ (iter_num == "[1]")
+ or (iter_num == "0:")
+ or ((iter_num[-1] != "]") and (iter_num[-1] != ":"))
+ ):
+ self.logger.info3(message.rstrip())
+ return
+
+ if self.counter < self.verbose_eval - 1:
+ self.logger.debug(message.rstrip())
+ self.counter += 1
+ else:
+ self.logger.info3(message.rstrip())
+ self.counter = 0
+
+
+def verbosity_to_loglevel(verbosity: int, extended=True):
+ if extended:
+ if verbosity <= 0:
+ log_level = logging.ERROR
+ elif verbosity == 1:
+ log_level = logging.INFO
+ elif verbosity == 2:
+ log_level = logging.INFO2
+ elif verbosity == 3:
+ log_level = logging.INFO3
+ else:
+ log_level = logging.DEBUG
+ else:
+ if verbosity <= 0:
+ log_level = logging.ERROR
+ elif verbosity == 1:
+ log_level = logging.INFO
+ else:
+ log_level = logging.DEBUG
+
+ return log_level
+
+
+def get_stdout_level():
+ for handler in _logger.handlers:
+ if type(handler) == logging.StreamHandler:
+ return handler.level
+ return _logger.getEffectiveLevel()
+
+
+def set_stdout_level(level):
+ _logger.setLevel(logging.DEBUG)
+
+ has_console_handler = False
+
+ for handler in _logger.handlers:
+ if type(handler) == logging.StreamHandler:
+ if handler.level == level:
+ has_console_handler = True
+ else:
+ _logger.handlers.remove(handler)
+
+ if not has_console_handler:
+ handler = logging.StreamHandler(sys.stdout)
+ handler.setFormatter(formatter_default)
+ handler.setLevel(level)
+
+ _logger.addHandler(handler)
+
+
+def add_filehandler(filename: str, level=logging.DEBUG):
+ if filename:
+ has_file_handler = False
+
+ for handler in _logger.handlers:
+ if type(handler) == logging.FileHandler:
+ if handler.baseFilename == filename or handler.baseFilename == os.path.join(
+ os.getcwd(), filename
+ ):
+ has_file_handler = True
+ else:
+ _logger.handlers.remove(handler)
+
+ if not has_file_handler:
+ file_handler = logging.FileHandler(filename, mode="w")
+
+ if level == logging.DEBUG:
+ file_handler.setFormatter(formatter_debug)
+ else:
+ file_handler.setFormatter(formatter_default)
+
+ file_handler.setLevel(level)
+
+ # if handler_filter:
+ # file_handler.addFilter(handler_filter)
+
+ _logger.addHandler(file_handler)
+ else:
+ for handler in _logger.handlers:
+ if type(handler) == logging.FileHandler:
+ _logger.handlers.remove(handler)
+
+
+class DuplicateFilter(object):
+ def __init__(self):
+ self.msgs = set()
+
+ def filter(self, record):
+ rv = record.msg not in self.msgs
+ self.msgs.add(record.msg)
+ return rv