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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
iddatevalue
002022-09-271997.088714
102022-09-281997.191979
202022-09-291995.496356
312022-09-272997.475196
412022-09-282997.553282
512022-09-292995.826568
622022-09-273997.392796
722022-09-283997.46765
822022-09-293995.743526
932022-09-274997.548721
1032022-09-284997.572455
1132022-09-294995.842271
1242022-09-275997.700033
1342022-09-285997.725905
1442022-09-295995.998695
1552022-09-276997.694582
1652022-09-286997.722867
1752022-09-296995.997412
1862022-09-277997.620737
1962022-09-287997.648131
2062022-09-297995.923171
2172022-09-278997.53187
2272022-09-288997.559264
2372022-09-298995.845535
2482022-09-279997.5219
2582022-09-289997.546915
2682022-09-299995.828639
2792022-09-2710997.380235
2892022-09-2810997.403622
2992022-09-2910995.683994
\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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
y_true_1y_pred_1id_1
01997.01993.687040
11998.01994.2028830
21999.01994.6694450
32997.02993.9919011
42998.02994.5862881
52999.02995.0829261
63997.03993.9147172
73998.03994.5096972
83999.03995.0150132
94997.04994.0221143
104998.04994.6159173
114999.04995.1704713
125997.05994.1759964
135998.05994.7797344
145999.05995.3193294
156997.06994.1794215
166998.06994.7841675
176999.06995.3123315
187997.07994.1133586
197998.07994.7055416
207999.07995.2363416
218997.08993.8391567
228998.08994.4313387
238999.08995.1477417
249997.09993.8388218
259998.09994.42688
269999.09995.13788
2710997.010993.6873979
2810998.010994.2709719
2910999.010994.9903139
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271992.837874
102022-09-281993.026917
202022-09-291981.524299
312022-09-272993.408144
412022-09-282993.582053
512022-09-292982.066608
622022-09-273993.473395
722022-09-283993.639452
822022-09-293982.13657
932022-09-274993.459173
1032022-09-284993.613307
1132022-09-294982.113216
1242022-09-275993.457714
1342022-09-285993.606981
1442022-09-295982.113868
1552022-09-276993.463906
1652022-09-286993.614611
1752022-09-296982.121499
1862022-09-277993.419185
1962022-09-287993.569889
2062022-09-297982.076777
2172022-09-278993.367361
2272022-09-288993.518065
2372022-09-298982.024953
2482022-09-279993.261674
2582022-09-289993.413249
2682022-09-299981.921657
2792022-09-2710993.141321
2892022-09-2810993.292934
2992022-09-2910981.801303
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_true_1y_pred_1id_1y_true_2y_pred_2id_2y_true_3y_pred_3id_3
01997.01993.46661201994.01989.66086501991.01985.5700090
11998.01993.8918301995.01989.90611501992.01986.3090390
21999.01994.65318801996.01990.06835601993.01984.2642020
32997.02994.04006312994.02990.18963912991.02986.1089311
42998.02994.4576612995.02990.46063212992.02986.85041
52999.02995.22147112996.02990.63085512993.02984.8452481
63997.03994.11675323994.03990.25262323991.03986.1861642
73998.03994.5353623995.03990.53610423992.03986.918422
83999.03995.28990323996.03990.70717223993.03984.9099122
94997.04994.10535734994.04990.23848634991.04986.1748363
104998.04994.52396334995.04990.52474234992.04986.9050193
114999.04995.2764234996.04990.6958134993.04984.8958183
125997.05994.10669145994.05990.23347145991.05986.1788334
135998.05994.52670845995.05990.52666345992.05986.9034864
145999.05995.27360145996.05990.6971445993.05984.8956424
156997.06994.11602156994.06990.24105656991.06986.1881085
166998.06994.53603856995.06990.53424856992.06986.9105655
176999.06995.28072356996.06990.7042456993.06984.9017795
187997.07994.07262967994.07990.19660367991.07986.1449766
197998.07994.49264667995.07990.48979467992.07986.8662456
207999.07995.23613567996.07990.65978767993.07984.8574596
218997.08994.02096178994.08990.14508978991.08986.0936187
228998.08994.44097778995.08990.43828178992.08986.8148887
238999.08995.18446678996.08990.60827378993.08984.8061017
249997.09993.91797489994.09990.04090189991.09985.9921368
259998.09994.33888189995.09990.33560489992.09986.7098418
269999.09995.07878489996.09990.50559789993.09984.7013658
2710997.010993.797982910994.010989.921308910991.010985.8728669
2810998.010994.218889910995.010990.215972910992.010986.590579
2910999.010994.958791910996.010990.385965910993.010984.5820949
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002020-01-081008.4361
102020-01-091008.769569
202020-01-101009.748942
302020-01-091008.769569
402020-01-101009.71512
............
2972592022-09-2410996.789104
2972692022-09-2510997.211277
2972792022-09-2410996.789104
2972892022-09-2510997.211277
2972992022-09-2610997.953405
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
010002020-01-010
110012020-01-020
210022020-01-030
310032020-01-040
410042020-01-050
510052020-01-060
610062020-01-070
710072020-01-080
810082020-01-090
910092020-01-100
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
200030002020-01-012
200130012020-01-022
200230022020-01-032
200330032020-01-042
200430042020-01-052
200530052020-01-062
200630062020-01-072
200730072020-01-082
200830082020-01-092
200930092020-01-102
\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": [ + "\"local" + ] + }, + { + "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": [ + "\"global" + ] + }, + { + "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": [ + "\"multivariate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## [Multi-point-ahead prediction strategies:](#toc0_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Представим, что у нас есть временной ряд:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"time" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Пусть на картинках у нас будет пример для следующих параметров (он не будет совпадать с примерами кода!):\n", + "\n", + "$N=11$ (всего видим 11 точек)\n", + "\n", + "$history=7$ (для предсказания следующей точки используем 7 предыдущих)\n", + "\n", + "$horizon=3$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"time" + ] + }, + { + "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": [ + "\"mimo\"" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201556-1.150365-1.557466-1.228139-1.6514561.5009260-1.566621
101001.02020-01-02-1.72599220201660-1.150365-1.557466-1.114169-1.641528-1.4989260-1.566621
201002.02020-01-03-1.72253020201771-1.150365-1.557466-1.000199-1.631600-0.9989510-1.566621
301003.02020-01-04-1.71906720201882-1.150365-1.557466-0.886229-1.621673-0.4989750-1.566621
401004.02020-01-05-1.71560520201993-1.150365-1.557466-0.772259-1.6117450.0010000-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271988.156501
102022-09-281989.156504
202022-09-291990.156503
302022-09-301991.156504
412022-09-272988.130075
512022-09-282989.130078
612022-09-292990.130077
712022-09-302991.130078
822022-09-273988.124939
922022-09-283989.124942
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201556-1.150365-1.557466-1.228139-1.6514561.5009260-1.566621
101001.02020-01-02-1.72599220201660-1.150365-1.557466-1.114169-1.641528-1.4989260-1.566621
201002.02020-01-03-1.72253020201771-1.150365-1.557466-1.000199-1.631600-0.9989510-1.566621
301003.02020-01-04-1.71906720201882-1.150365-1.557466-0.886229-1.621673-0.4989750-1.566621
401004.02020-01-05-1.71560520201993-1.150365-1.557466-0.772259-1.6117450.0010000-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1date__season_y__standard_scaler__lag_0date__season_m__standard_scaler__lag_3date__season_m__standard_scaler__lag_2date__season_m__standard_scaler__lag_1date__season_m__standard_scaler__lag_0date__season_d__standard_scaler__lag_3date__season_d__standard_scaler__lag_2...value__standard_scaler__lag_2__8value__standard_scaler__lag_1__8value__standard_scaler__lag_0__8value__standard_scaler__lag_6__9value__standard_scaler__lag_5__9value__standard_scaler__lag_4__9value__standard_scaler__lag_3__9value__standard_scaler__lag_2__9value__standard_scaler__lag_1__9value__standard_scaler__lag_0__9
0-1.150365-1.150365-1.150365-1.150365-1.557466-1.557466-1.557466-1.557466-0.886229-0.772259...-1.715605-1.712142-1.708680-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680
1-1.150365-1.150365-1.150365-1.150365-1.557466-1.557466-1.557466-1.557466-0.772259-0.658290...-1.712142-1.708680-1.705218-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218
2-1.150365-1.150365-1.150365-1.150365-1.557466-1.557466-1.557466-1.557466-0.658290-0.544320...-1.708680-1.705218-1.701755-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755
3-1.150365-1.150365-1.150365-1.150365-1.557466-1.557466-1.557466-1.557466-0.544320-0.430350...-1.705218-1.701755-1.698293-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293
4-1.150365-1.150365-1.150365-1.150365-1.557466-1.557466-1.557466-1.557466-0.430350-0.316380...-1.701755-1.698293-1.694831-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1date__season_y__standard_scaler__lag_0date__season_m__standard_scaler__lag_3date__season_m__standard_scaler__lag_2date__season_m__standard_scaler__lag_1date__season_m__standard_scaler__lag_0date__season_d__standard_scaler__lag_3date__season_d__standard_scaler__lag_2...value__standard_scaler__lag_2__8value__standard_scaler__lag_1__8value__standard_scaler__lag_0__8value__standard_scaler__lag_6__9value__standard_scaler__lag_5__9value__standard_scaler__lag_4__9value__standard_scaler__lag_3__9value__standard_scaler__lag_2__9value__standard_scaler__lag_1__9value__standard_scaler__lag_0__9
01.3751341.3751341.3751341.3751340.8703840.8703840.8703840.8703841.2791971.393167...1.722531.7259921.7294541.708681.7121421.7156051.7190671.722531.7259921.729454
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271991.03783
102022-09-281992.037829
202022-09-291993.037832
302022-09-301994.037829
412022-09-272991.03783
512022-09-282992.037829
612022-09-292993.037832
712022-09-302994.037829
822022-09-273991.03783
922022-09-283992.037829
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
101001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
201002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
301003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
401004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
100012000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
100112001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
100212002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
100312003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
100412004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
200023000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
200123001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
200223002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
200323003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
200423004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
300034000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
300134001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
300234002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
300334003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
300434004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
400045000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
400145001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
400245002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
400345003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
400445004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
500056000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
500156001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
500256002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
500356003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
500456004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
600067000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
600167001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
600267002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
600367003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
600467004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
700078000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
700178001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
700278002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
700378003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
700478004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
800089000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
800189001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
800289002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
800389003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
800489004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
9000910000.02020-01-01-1.72945420201556-1.149847-1.556765-1.227586-1.6507131.5002500NaN
9001910001.02020-01-02-1.72599220201660-1.149847-1.556765-1.113667-1.640789-1.4982510NaN
9002910002.02020-01-03-1.72253020201771-1.149847-1.556765-0.999749-1.630866-0.9985010NaN
9003910003.02020-01-04-1.71906720201882-1.149847-1.556765-0.885830-1.620943-0.4987510NaN
9004910004.02020-01-05-1.71560520201993-1.149847-1.556765-0.771912-1.6110190.0010000NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.149847-1.149847-1.149847...-0.544075-1.620943-1.611019-1.601096-1.591173-0.4987510.0010000.5007501.000500NaN
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.149847-1.149847-1.149847...-0.430156-1.611019-1.601096-1.591173-1.5812490.0010000.5007501.0005001.500250NaN
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.149847-1.149847-1.149847...-0.316238-1.601096-1.591173-1.581249-1.5713260.5007501.0005001.500250-1.498251NaN
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.149847-1.149847-1.149847...-0.202319-1.591173-1.581249-1.571326-1.5614031.0005001.500250-1.498251-0.998501NaN
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.149847-1.149847-1.149847...-0.088401-1.581249-1.571326-1.561403-1.5514801.500250-1.498251-0.998501-0.498751NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3745151.3745151.374515...1.6203770.9789640.9888870.9988111.008734-0.998501-0.4987510.0010.50075NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271982.81454
102022-09-281983.814539
202022-09-291984.814543
302022-09-301985.814539
012022-09-272982.81454
112022-09-282983.814539
212022-09-292984.814543
312022-09-302985.814539
022022-09-273982.81454
122022-09-283983.814539
\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": [ + "\"recursive\"" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201223-1.143795-1.546358-1.561575-1.668794-0.0005000-1.566621
101001.02020-01-02-1.72599220201334-1.143795-1.546358-1.447574-1.6588930.4992880-1.566621
201002.02020-01-03-1.72253020201445-1.143795-1.546358-1.333574-1.6489910.9990760-1.566621
301003.02020-01-04-1.71906720201556-1.143795-1.546358-1.219574-1.6390901.4988630-1.566621
401004.02020-01-05-1.71560520201660-1.143795-1.546358-1.105574-1.629188-1.4998630-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.143795-1.143795-1.143795...-0.877573-1.639090-1.629188-1.619287-1.6093851.498863-1.499863-1.000075-0.500287-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.143795-1.143795-1.143795...-0.763573-1.629188-1.619287-1.609385-1.599484-1.499863-1.000075-0.500287-0.000500-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.143795-1.143795-1.143795...-0.649573-1.619287-1.609385-1.599484-1.589582-1.000075-0.500287-0.0005000.499288-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.143795-1.143795-1.143795...-0.535573-1.609385-1.599484-1.589582-1.579681-0.500287-0.0005000.4992880.999076-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.143795-1.143795-1.143795...-0.421573-1.599484-1.589582-1.579681-1.569779-0.0005000.4992880.9990761.498863-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3839291.3839291.383929...1.288430.9550960.9649970.9748990.98480.9990761.498863-1.499863-1.000075-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3839291.3839291.383929...1.288430.9550960.9649970.9748990.98480.9990761.498863-1.499863-1.000075-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3839291.3839291.383929...1.288430.9550960.9649970.9748990.98480.9990761.498863-1.499863-1.000075-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3839291.3839291.383929...1.288430.9550960.9649970.9748990.98480.9990761.498863-1.499863-1.000075-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3839291.3839291.383929...1.288430.9550960.9649970.9748990.98480.9990761.498863-1.499863-1.000075-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.4591372022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.7121421.7156051.7190671.722531.7259921.7294541.7206571.3839291.3839291.383929...1.402430.9649970.9748990.98480.9947021.498863-1.499863-1.000075-0.500287-1.566621
11.7121421.7156051.7190671.722531.7259921.7294541.7206641.3839291.3839291.383929...1.402430.9649970.9748990.98480.9947021.498863-1.499863-1.000075-0.500287-1.218483
21.7121421.7156051.7190671.722531.7259921.7294541.7207591.3839291.3839291.383929...1.402430.9649970.9748990.98480.9947021.498863-1.499863-1.000075-0.500287-0.870345
31.7121421.7156051.7190671.722531.7259921.7294541.7210671.3839291.3839291.383929...1.402430.9649970.9748990.98480.9947021.498863-1.499863-1.000075-0.500287-0.522207
41.7121421.7156051.7190671.722531.7259921.7294541.7210811.3839291.3839291.383929...1.402430.9649970.9748990.98480.9947021.498863-1.499863-1.000075-0.500287-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.4591372022-09-270
81994.2741642022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.7156051.7190671.722531.7259921.7294541.7206571.7130921.3839291.3839291.383929...1.5164310.9748990.98480.9947021.004603-1.499863-1.000075-0.500287-0.0005-1.566621
11.7156051.7190671.722531.7259921.7294541.7206641.7130991.3839291.3839291.383929...1.5164310.9748990.98480.9947021.004603-1.499863-1.000075-0.500287-0.0005-1.218483
21.7156051.7190671.722531.7259921.7294541.7207591.7131941.3839291.3839291.383929...1.5164310.9748990.98480.9947021.004603-1.499863-1.000075-0.500287-0.0005-0.870345
31.7156051.7190671.722531.7259921.7294541.7210671.7135061.3839291.3839291.383929...1.5164310.9748990.98480.9947021.004603-1.499863-1.000075-0.500287-0.0005-0.522207
41.7156051.7190671.722531.7259921.7294541.7210811.7135201.3839291.3839291.383929...1.5164310.9748990.98480.9947021.004603-1.499863-1.000075-0.500287-0.0005-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.4591372022-09-270
81994.2741642022-09-280
91993.5286532022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.7190671.722531.7259921.7294541.7206571.7130921.7105101.3839291.3839291.383929...1.6304310.98480.9947021.0046031.014505-1.000075-0.500287-0.00050.499288-1.566621
11.7190671.722531.7259921.7294541.7206641.7130991.7105181.3839291.3839291.383929...1.6304310.98480.9947021.0046031.014505-1.000075-0.500287-0.00050.499288-1.218483
21.7190671.722531.7259921.7294541.7207591.7131941.7106131.3839291.3839291.383929...1.6304310.98480.9947021.0046031.014505-1.000075-0.500287-0.00050.499288-0.870345
31.7190671.722531.7259921.7294541.7210671.7135061.7109251.3839291.3839291.383929...1.6304310.98480.9947021.0046031.014505-1.000075-0.500287-0.00050.499288-0.522207
41.7190671.722531.7259921.7294541.7210811.7135201.7109391.3839291.3839291.383929...1.6304310.98480.9947021.0046031.014505-1.000075-0.500287-0.00050.499288-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271996.459137
102022-09-281994.274164
202022-09-291993.528653
302022-09-301992.581575
412022-09-272996.461299
512022-09-282994.276326
612022-09-292993.530815
712022-09-302992.583707
822022-09-273996.488771
922022-09-283994.303798
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201223-1.143795-1.546358-1.561575-1.668794-0.0005000-1.566621
101001.02020-01-02-1.72599220201334-1.143795-1.546358-1.447574-1.6588930.4992880-1.566621
201002.02020-01-03-1.72253020201445-1.143795-1.546358-1.333574-1.6489910.9990760-1.566621
301003.02020-01-04-1.71906720201556-1.143795-1.546358-1.219574-1.6390901.4988630-1.566621
401004.02020-01-05-1.71560520201660-1.143795-1.546358-1.105574-1.629188-1.4998630-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.143795-1.143795-1.143795...-0.877573-1.639090-1.629188-1.619287-1.6093851.498863-1.499863-1.000075-0.500287-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.143795-1.143795-1.143795...-0.763573-1.629188-1.619287-1.609385-1.599484-1.499863-1.000075-0.500287-0.000500-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.143795-1.143795-1.143795...-0.649573-1.619287-1.609385-1.599484-1.589582-1.000075-0.500287-0.0005000.499288-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.143795-1.143795-1.143795...-0.535573-1.609385-1.599484-1.589582-1.579681-0.500287-0.0005000.4992880.999076-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.143795-1.143795-1.143795...-0.421573-1.599484-1.589582-1.579681-1.569779-0.0005000.4992880.9990761.498863-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.7086801.7121421.7156051.7190671.7225301.7259921.7294541.3839291.3839291.383929...1.6304310.9848000.9947021.0046031.014505-1.000075-0.500287-0.0005000.499288-1.566621
11.7121421.7156051.7190671.7225301.7259921.729454NaN1.3839291.3839291.383929...-1.6755750.9947021.0046031.0145051.024406-0.500287-0.0005000.4992880.999076-1.566621
21.7156051.7190671.7225301.7259921.729454NaNNaN1.3839291.3839291.383929...-1.5615751.0046031.0145051.0244061.034308-0.0005000.4992880.9990761.498863-1.566621
31.7190671.7225301.7259921.729454NaNNaNNaN1.3839291.3839291.383929...-1.4475741.0145051.0244061.0343081.0442090.4992880.9990761.498863-1.499863-1.566621
41.7086801.7121421.7156051.7190671.7225301.7259921.7294541.3839291.3839291.383929...1.6304310.9848000.9947021.0046031.014505-1.000075-0.500287-0.0005000.499288-1.218483
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271992.750094
102022-09-281826.62222
202022-09-291708.359827
302022-09-301629.943595
412022-09-272992.752225
512022-09-282826.61879
612022-09-292708.356397
712022-09-302629.936806
822022-09-273992.778393
922022-09-283826.647477
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201334-1.145979-1.550044-1.450887-1.6630560.4997250-1.566621
101001.02020-01-02-1.72599220201445-1.145979-1.550044-1.336860-1.6531450.9994500-1.566621
201002.02020-01-03-1.72253020201556-1.145979-1.550044-1.222832-1.6432351.4991760-1.566621
301003.02020-01-04-1.71906720201660-1.145979-1.550044-1.108804-1.633324-1.4991760-1.566621
401004.02020-01-05-1.71560520201771-1.145979-1.550044-0.994777-1.623414-0.9994500-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.145979-1.145979-1.145979...-0.766722-1.633324-1.623414-1.613504-1.603593-1.499176-0.999450-0.4997250.000000-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.145979-1.145979-1.145979...-0.652694-1.623414-1.613504-1.603593-1.593683-0.999450-0.4997250.0000000.499725-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.145979-1.145979-1.145979...-0.538666-1.613504-1.603593-1.593683-1.583772-0.4997250.0000000.4997250.999450-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.145979-1.145979-1.145979...-0.424639-1.603593-1.593683-1.583772-1.5738620.0000000.4997250.9994501.499176-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.145979-1.145979-1.145979...-0.310611-1.593683-1.583772-1.573862-1.5639520.4997250.9994501.499176-1.499176-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3809871.3809871.380987...1.3998030.9632020.9731130.9830230.9929341.499176-1.499176-0.99945-0.499725-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3809871.3809871.380987...1.3998030.9632020.9731130.9830230.9929341.499176-1.499176-0.99945-0.499725-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3809871.3809871.380987...1.3998030.9632020.9731130.9830230.9929341.499176-1.499176-0.99945-0.499725-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3809871.3809871.380987...1.3998030.9632020.9731130.9830230.9929341.499176-1.499176-0.99945-0.499725-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3809871.3809871.380987...1.3998030.9632020.9731130.9830230.9929341.499176-1.499176-0.99945-0.499725-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71993.3632362022-09-270
81994.3632372022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.7156051.7190671.722531.7259921.7294541.7099381.7134001.3809871.3809871.380987...1.6278580.9830230.9929341.0028441.012755-0.99945-0.4997250.00.499725-1.566621
11.7156051.7190671.722531.7259921.7294541.7099471.7134091.3809871.3809871.380987...1.6278580.9830230.9929341.0028441.012755-0.99945-0.4997250.00.499725-1.218483
21.7156051.7190671.722531.7259921.7294541.7099431.7134051.3809871.3809871.380987...1.6278580.9830230.9929341.0028441.012755-0.99945-0.4997250.00.499725-0.870345
31.7156051.7190671.722531.7259921.7294541.7100091.7134711.3809871.3809871.380987...1.6278580.9830230.9929341.0028441.012755-0.99945-0.4997250.00.499725-0.522207
41.7156051.7190671.722531.7259921.7294541.7100471.7135091.3809871.3809871.380987...1.6278580.9830230.9929341.0028441.012755-0.99945-0.4997250.00.499725-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271993.363236
102022-09-281994.363237
202022-09-291993.611981
302022-09-301994.61198
412022-09-272993.365944
512022-09-282994.365946
612022-09-292993.613661
712022-09-302994.613661
822022-09-273993.364635
922022-09-283994.364637
\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": [ + "\"direct\"" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.143795-1.143795-1.143795...-0.877573-1.639090-1.629188-1.619287-1.6093851.498863-1.499863-1.000075-0.500287-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.143795-1.143795-1.143795...-0.763573-1.629188-1.619287-1.609385-1.599484-1.499863-1.000075-0.500287-0.000500-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.143795-1.143795-1.143795...-0.649573-1.619287-1.609385-1.599484-1.589582-1.000075-0.500287-0.0005000.499288-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.143795-1.143795-1.143795...-0.535573-1.609385-1.599484-1.589582-1.579681-0.500287-0.0005000.4992880.999076-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.143795-1.143795-1.143795...-0.421573-1.599484-1.589582-1.579681-1.569779-0.0005000.4992880.9990761.498863-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.145979-1.145979-1.145979...-0.766722-1.633324-1.623414-1.613504-1.603593-1.499176-0.999450-0.4997250.000000-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.145979-1.145979-1.145979...-0.652694-1.623414-1.613504-1.603593-1.593683-0.999450-0.4997250.0000000.499725-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.145979-1.145979-1.145979...-0.538666-1.613504-1.603593-1.593683-1.583772-0.4997250.0000000.4997250.999450-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.145979-1.145979-1.145979...-0.424639-1.603593-1.593683-1.583772-1.5738620.0000000.4997250.9994501.499176-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.145979-1.145979-1.145979...-0.310611-1.593683-1.583772-1.573862-1.5639520.4997250.9994501.499176-1.499176-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.148169-1.148169-1.148169...-0.655600-1.627519-1.617600-1.607680-1.597761-0.999076-0.4992880.0005000.500287-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.148169-1.148169-1.148169...-0.541583-1.617600-1.607680-1.597761-1.587842-0.4992880.0005000.5002871.000075-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.148169-1.148169-1.148169...-0.427565-1.607680-1.597761-1.587842-1.5779230.0005000.5002871.0000751.499863-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.148169-1.148169-1.148169...-0.313548-1.597761-1.587842-1.577923-1.5680040.5002871.0000751.499863-1.498863-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.148169-1.148169-1.148169...-0.199531-1.587842-1.577923-1.568004-1.5580851.0000751.499863-1.498863-0.999076-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.5497712022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.5497712022-09-270
81994.3632372022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71996.5497712022-09-270
81994.3632372022-09-280
91994.8415202022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271996.549771
102022-09-281994.363237
202022-09-291994.84152
302022-09-301991.156717
412022-09-272996.551933
512022-09-282994.365946
612022-09-292994.840157
712022-09-302991.131408
822022-09-273996.579405
922022-09-283994.364637
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.2791970.9496220.9595490.9694770.9794051.000951.500926-1.498926-0.998951-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71993.5835712022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71993.5835712022-09-270
81991.0358702022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.5071370.9694770.9794050.9893330.999261-1.498926-0.998951-0.4989750.001-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71993.5835712022-09-270
81991.0358702022-09-280
91991.9524632022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271993.583571
102022-09-281991.03587
202022-09-291991.952463
302022-09-301991.156717
412022-09-272993.558036
512022-09-282991.00616
612022-09-292991.926037
712022-09-302991.131408
822022-09-273993.548053
922022-09-283990.99943
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.145979-1.145979-1.145979...-0.766722-1.633324-1.623414-1.613504-1.603593-1.499176-0.999450-0.4997250.000000-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.145979-1.145979-1.145979...-0.652694-1.623414-1.613504-1.603593-1.593683-0.999450-0.4997250.0000000.499725-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.145979-1.145979-1.145979...-0.538666-1.613504-1.603593-1.593683-1.583772-0.4997250.0000000.4997250.999450-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.145979-1.145979-1.145979...-0.424639-1.603593-1.593683-1.583772-1.5738620.0000000.4997250.9994501.499176-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.145979-1.145979-1.145979...-0.310611-1.593683-1.583772-1.573862-1.5639520.4997250.9994501.499176-1.499176-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
0-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.150365-1.150365-1.150365...-0.544320-1.621673-1.611745-1.601817-1.591889-0.4989750.0010000.5009751.000950-1.566621
1-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.150365-1.150365-1.150365...-0.430350-1.611745-1.601817-1.591889-1.5819620.0010000.5009751.0009501.500926-1.566621
2-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.150365-1.150365-1.150365...-0.316380-1.601817-1.591889-1.581962-1.5720340.5009751.0009501.500926-1.498926-1.566621
3-1.719067-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.150365-1.150365-1.150365...-0.202410-1.591889-1.581962-1.572034-1.5621061.0009501.500926-1.498926-0.998951-1.566621
4-1.715605-1.712142-1.708680-1.705218-1.701755-1.698293-1.694831-1.150365-1.150365-1.150365...-0.088441-1.581962-1.572034-1.562106-1.5521781.500926-1.498926-0.998951-0.498975-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.3931670.9595490.9694770.9794050.9893331.500926-1.498926-0.998951-0.498975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.0000002022-09-210
21995.0000002022-09-220
31996.0000002022-09-230
41997.0000002022-09-240
51998.0000002022-09-250
61999.0000002022-09-260
71993.3632362022-09-270
81994.3632372022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0date__season_y__standard_scaler__lag_3date__season_y__standard_scaler__lag_2date__season_y__standard_scaler__lag_1...date__season_d__standard_scaler__lag_0date__season_doy__standard_scaler__lag_3date__season_doy__standard_scaler__lag_2date__season_doy__standard_scaler__lag_1date__season_doy__standard_scaler__lag_0date__season_wd__standard_scaler__lag_3date__season_wd__standard_scaler__lag_2date__season_wd__standard_scaler__lag_1date__season_wd__standard_scaler__lag_0id__label__standard_scaler__lag_0
01.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.566621
11.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-1.218483
21.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.870345
31.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.522207
41.708681.7121421.7156051.7190671.722531.7259921.7294541.3751341.3751341.375134...1.6211070.9794050.9893330.9992611.009188-0.998951-0.4989750.0010.500975-0.174069
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271993.363236
102022-09-281994.363237
202022-09-291990.156503
302022-09-301991.156504
412022-09-272993.365944
512022-09-282994.365946
612022-09-292990.130077
712022-09-302991.130078
822022-09-273993.364635
922022-09-283994.364637
\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": [ + "\"flatwidemimo\"" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idvaluedatevalue__standard_scalerdate__season_ydate__season_mdate__season_ddate__season_doydate__season_wddate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalerid__labelid__label__standard_scaler
001000.02020-01-01-1.72945420201556-1.150365-1.557466-1.228139-1.6514561.5009260-1.566621
101001.02020-01-02-1.72599220201660-1.150365-1.557466-1.114169-1.641528-1.4989260-1.566621
201002.02020-01-03-1.72253020201771-1.150365-1.557466-1.000199-1.631600-0.9989510-1.566621
301003.02020-01-04-1.71906720201882-1.150365-1.557466-0.886229-1.621673-0.4989750-1.566621
401004.02020-01-05-1.71560520201993-1.150365-1.557466-0.772259-1.6117450.0010000-1.566621
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
id__label__standard_scaler__lag_0FHdate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalervalue__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0
0-1.5666211.0-1.150365-1.557466-0.886229-1.621673-0.498975-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680
1-1.5666212.0-1.150365-1.557466-0.772259-1.6117450.001000-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680
2-1.5666213.0-1.150365-1.557466-0.658290-1.6018170.500975-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680
3-1.5666214.0-1.150365-1.557466-0.544320-1.5918891.000950-1.729454-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680
4-1.5666211.0-1.150365-1.557466-0.772259-1.6117450.001000-1.725992-1.722530-1.719067-1.715605-1.712142-1.708680-1.705218
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
valuedateid
11994.02022-09-210
21995.02022-09-220
31996.02022-09-230
41997.02022-09-240
51998.02022-09-250
61999.02022-09-260
7NaN2022-09-270
8NaN2022-09-280
9NaN2022-09-290
10NaN2022-09-300
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
id__label__standard_scaler__lag_0FHdate__season_y__standard_scalerdate__season_m__standard_scalerdate__season_d__standard_scalerdate__season_doy__standard_scalerdate__season_wd__standard_scalervalue__standard_scaler__lag_6value__standard_scaler__lag_5value__standard_scaler__lag_4value__standard_scaler__lag_3value__standard_scaler__lag_2value__standard_scaler__lag_1value__standard_scaler__lag_0
0-1.5666211.01.3751340.8703841.2791970.979405-0.9989511.708681.7121421.7156051.7190671.722531.7259921.729454
1-1.5666212.01.3751340.8703841.3931670.989333-0.4989751.708681.7121421.7156051.7190671.722531.7259921.729454
2-1.5666213.01.3751340.8703841.5071370.9992610.0010001.708681.7121421.7156051.7190671.722531.7259921.729454
3-1.5666214.01.3751340.8703841.6211071.0091880.5009751.708681.7121421.7156051.7190671.722531.7259921.729454
4-1.2184831.01.3751340.8703841.2791970.979405-0.9989511.708681.7121421.7156051.7190671.722531.7259921.729454
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271996.132986
102022-09-281996.605203
202022-09-291996.949984
302022-09-301996.912386
412022-09-272996.133539
512022-09-282996.605755
612022-09-292996.950536
712022-09-302996.912938
822022-09-273996.16268
922022-09-283996.634896
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-01480
12013-01-02440
22013-01-03600
32013-01-04560
42013-01-05500
............
36472017-12-27141
36482017-12-28191
36492017-12-29151
36502017-12-30271
36512017-12-31231
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevaluevalue__standard_scaler
002013-01-0148.0-0.254108
102013-01-0244.0-0.275840
202013-01-0360.0-0.188914
302013-01-0456.0-0.210645
402013-01-0550.0-0.243242
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueidvalue__standard_scaler
02013-01-0148.0048.0
12013-01-0244.0044.0
22013-01-0360.0060.0
32013-01-0456.0056.0
42013-01-0550.0050.0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueidvalue_1
02013-01-0148.0048.0
12013-01-0244.0044.0
22013-01-0360.0060.0
32013-01-0456.0056.0
42013-01-0550.0050.0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueidvalue_1
02013-01-0148.0048.0
12013-01-0244.0044.0
22013-01-0360.0060.0
32013-01-0456.0056.0
42013-01-0550.0050.0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevaluevalue_1value__diff_normvalue_1__diff_norm
002013-01-0148.048.0NaNNaN
102013-01-0244.044.0-4.00.916667
202013-01-0360.060.016.01.363636
302013-01-0456.056.0-4.00.933333
402013-01-0550.050.0-6.00.892857
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevaluevalue_1value__diff_norm
002013-01-0148.048.0NaN
102013-01-0244.044.0-4.0
202013-01-0360.060.016.0
302013-01-0456.056.0-4.0
402013-01-0550.050.0-6.0
\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+3t6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X9Qbb7yhd999V7Nnz1bLli3Vp08flZeX+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+tnztUcavbsAeOOJH5Zq2IxMSVLm830Tm5l6xs53Jk/naGndurVee+01vfbaa2G3SUlJ0VNPPaWnnnoq7Dbt27fXiBEjIh7r6KOP1rRp05xmNazyKuddtwEAAAAAAIBQlTXhhyEEADftKKlMdBYaBcLlAAAASLiNGzeqVatWpv9SU1OVmpoadv3GjRs9ydPnn38e9phHHHGEJ8cE0LhRFwIAANRPnvZoaQhSlJLoLAAAADR4Xbp00YIFCxzv64W///3v6tmzp+m6PfbYw5NjAmjcqAuBxoMpgQGgYSHQAgAAgIRr0qSJDjrooERnI0jr1q3VunXrRGcDQCNCXQgAAFA/MXQYAACACwxeS0QSolwi3ihzSEaUSySjFAZQAYAGhUALAABADGqHTSktLU1wToC6asslw/vAa9SFSGbUhUhGxP8AoGFh6DAAAIAYpKWlqV27dsrNzZUktWjRQim8oogEMwxDpaWlys3NVbt27ZSWlpboLKGBoy5EMqIuRH1BbQkA9R+Blmj4tAMAAFFkZGRIkr+BEUgW7dq185dPwGvUhUhW1IWAM4ZhKLuwXBltmhE8B4AoCLQAAADEKCUlRZ07d1bHjh1VVVWV6OwAknYNkcPb24gn6kIkI+pC1AfJOorYO5PX6qXxK3X/3w7RveccnOjsAEBSI9ACAADgkrS0NBpzADR61IUA0DC8NH6lJOnVCasItAD1mMGkUHGRmugMAAAAAAAAAAAA1FcEWgAAAAAAAIC44g1zAPHBHEvxQaAlCoohAAAAAAAAvMKoPgC8xNBh8UGgBQAAAAAAAIgrXu0FgIaEQAsAAAAAAAAQV7xhDiA+GDosPgi0AAAAAAAAAAAAOESgBQAAAAAAAACABog5WuKDQEsUdK0CAAAAAACAVwyGEQOAeo9ACwAAAAAAAAAADRAdCeKDQAsAAAAAAAAAAA0QQ4fFB4EWAAAAAAAAAAAAhwi0AAAAAAAAAAnCy+YAUP8RaImCEewAAAAAAAAAAEA4BFoAAAAAAAAAAAAcItACAAAAAAAAxBHDhQFAw0KgBQAAAAAAAAAAwCECLQAAAAAAAAAAAA4RaIkiJSXROQAAAAAAAAAAAMmKQAsAAAAAAAAAAIBDBFoAAAAAAAAAAAAcItACAAAAAAAAJIhhJDoHAIBYEWgBAAAAAAAAAABwiEBLFClKSXQWAAAAAAAAAABAkiLQAgAAAAAAAMQRo4UBQMNCoAUAAAAAAABIEIOwCwDUewRaAAAAAAAAgDhioHoAaFgItAAAAAAAAABxFGsfluKKak1emauqGp8r+QEAxIZASxQpvGIAAAAAAACAJHLL0Dm6eehcvfbLqkRnBQAgAi2mDIOxMQEAAAAAAJCc5mbulCR9NW9TgnMCAJAItAAAAAAAAAAJw/u+AFD/EWgBAAAAAAAAAABwiECLCd4kAAAAAAAAAAAAVhBoiSIl0RkAAAAAAAAATNBuBQDJgUCLCTq0AAAAAKhPBg0apJNOOkmtW7dWx44ddckll2jlypVB25SXl6tfv37aa6+91KpVK11++eXKyclJUI4BALVohwKA+o9ACwAAAADUc1OmTFG/fv00a9YsTZgwQVVVVTr33HNVUlLi3+a+++7T6NGj9fXXX2vKlCnasmWLLrvssgTmGgAAAGgYmiQ6AwAAAACA2IwbNy7o92HDhqljx46aP3++Tj/9dBUUFOijjz7SiBEjdPbZZ0uShg4dqsMPP1yzZs3SX//610RkGwAAAGgQ6NFiwjDotAkAAACg/iooKJAktW/fXpI0f/58VVVVqXfv3v5tDjvsMO23336aOXOmaRoVFRUqLCwM+gcAcAdNTwDiheomPgi0RMOsYgAAAADqEZ/Pp/79++uUU07RkUceKUnKzs5W06ZN1a5du6BtO3XqpOzsbNN0Bg0apLZt2/r/de3a1eusAwAAAPUSgRYTRPkAAAAA1Ff9+vXTkiVL9MUXX8SUzoABA1RQUOD/l5WV5VIOAQCBYhlZJYUXhAFEQTURH8zRAgAAAAANxN13360ff/xRU6dO1b777utfnpGRocrKSuXn5wf1asnJyVFGRoZpWunp6UpPT/c6ywAAAEC9R48WAAAAAKjnDMPQ3XffrVGjRmnixInq3r170PoTTjhBe+yxh3799Vf/spUrV2rjxo3q1atXvLMLAAAANCj0aDHBhGQAAAAA6pN+/fppxIgR+v7779W6dWv/vCtt27ZV8+bN1bZtW9122226//771b59e7Vp00b33HOPevXqpb/+9a8Jzj0AAABQv3neo2Xz5s26/vrrtddee6l58+Y66qijNG/ePP96wzA0cOBAde7cWc2bN1fv3r21evXqoDTy8vJ03XXXqU2bNmrXrp1uu+02FRcXB22zaNEinXbaaWrWrJm6du2qF1980ZX8pzCKHQAAAIAkN2TIEBUUFOjMM89U586d/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+/uuqp35uG1ZSkugpA6tArwlf6lOWnugroYZr6l0uSCnOzDd8fUVeazOog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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}__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/bVffdd59OOeUUDRw4MIo9DzZs2DB17NhR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Fm0qimdxAKSZ1QUliS4CgDRSUVXr/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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueiddate__time_to_numdate__season_ddate__season_m
02013-01-0148.00-2556.011
12013-01-0244.00-2555.021
22013-01-0360.00-2554.031
32013-01-0456.00-2553.041
42013-01-0550.00-2552.051
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-0148.00
12013-01-0244.00
22013-01-0360.00
32013-01-0456.00
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueidid__labelid__0_oheid__1_ohe
02013-01-0148.0001.00.0
12013-01-0244.0001.00.0
22013-01-0360.0001.00.0
32013-01-0456.0001.00.0
42013-01-0550.0001.00.0
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datevalueid
02013-01-01NaN0
12013-01-0244.00
22013-01-0360.00
32013-01-04NaN0
42013-01-0550.00
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevaluevalue__imputed
002013-01-01NaN0.000000
102013-01-0244.044.000000
202013-01-0360.060.000000
302013-01-04NaN52.665128
402013-01-0550.050.000000
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271996.918457
102022-09-281997.491211
202022-09-291997.960571
302022-09-301998.343872
402022-10-011998.670898
............
6592022-09-2911004.71582
6692022-09-3011006.132812
6792022-10-0111007.585938
6892022-10-0211009.080078
6992022-10-0311010.646484
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddatevalue
002022-09-271997.147827
102022-09-281997.578491
202022-09-291997.824463
302022-09-301998.122559
402022-10-011998.426758
............
6592022-09-2911004.701172
6692022-09-3011006.19043
6792022-10-0111007.738281
6892022-10-0211009.234375
6992022-10-0311010.298828
\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