diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55800ae..31e010f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,31 +11,60 @@ on: - master jobs: - build: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: 3.9 + cache: "pip" + cache-dependency-path: pyproject.toml + + - name: Install Python dependencies + run: | + pip install . + + - name: ruff-lint + uses: chartboost/ruff-action@v1 + + - name: ruff-format + uses: chartboost/ruff-action@v1 + with: + args: "format --check" + + test: + needs: lint + name: Test runs-on: ubuntu-latest strategy: matrix: - python-version: [3.9, "3.10", "3.11"] + python-version: [3.9, "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + cache: "pip" + cache-dependency-path: pyproject.toml + - name: Install dependencies run: | python -m pip install --upgrade pip pip install -e .[ci] - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=80 --statistics + + - name: Run pytest run: | pytest + - name: Run codacy-coverage-reporter uses: codacy/codacy-coverage-reporter-action@master with: diff --git a/.readthedocs.yml b/.readthedocs.yml index eaf0e55..3a374e9 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,15 +8,12 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.9" + python: "3.11" # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py -# Optionally build your docs in additional formats such as PDF and ePub -formats: all - # Optionally set the version of Python and requirements required to build your docs python: install: diff --git a/docs/conf.py b/docs/conf.py index ec09b5c..833df79 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,15 +13,14 @@ import os import sys -sys.path.insert(0, os.path.abspath('.')) +sys.path.insert(0, os.path.abspath(".")) from traval import __version__ - # -- Project information ----------------------------------------------------- -project = 'traval' -copyright = '2021, Artesia' -author = 'Artesia' +project = "traval" +copyright = "2024, Artesia" +author = "Artesia" # The short X.Y version version = __version__ @@ -34,29 +33,29 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.autosummary', - 'sphinx.ext.napoleon', - 'sphinx.ext.doctest', - 'sphinx.ext.intersphinx', - 'sphinx.ext.todo', - 'sphinx.ext.coverage', - 'sphinx.ext.mathjax', - 'sphinx.ext.ifconfig', - 'sphinx.ext.viewcode', - 'IPython.sphinxext.ipython_console_highlighting', # lowercase didn't work - 'sphinx.ext.autosectionlabel', - 'nbsphinx', - 'nbsphinx_link' + "sphinx.ext.autodoc", + "sphinx.ext.autosummary", + "sphinx.ext.napoleon", + "sphinx.ext.doctest", + "sphinx.ext.intersphinx", + "sphinx.ext.todo", + "sphinx.ext.coverage", + "sphinx.ext.mathjax", + "sphinx.ext.ifconfig", + "sphinx.ext.viewcode", + "IPython.sphinxext.ipython_console_highlighting", # lowercase didn't work + "sphinx.ext.autosectionlabel", + "nbsphinx", + "nbsphinx_link", ] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # -- Options for HTML output ------------------------------------------------- @@ -64,24 +63,24 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" html_theme_options = { - 'display_version': True, - 'prev_next_buttons_location': 'bottom', + "display_version": True, + "prev_next_buttons_location": "bottom", # 'style_external_links': False, # 'vcs_pageview_mode': '', # 'style_nav_header_background': 'white', # Toc options - 'collapse_navigation': False, - 'sticky_navigation': False, - 'navigation_depth': 4, - 'includehidden': True, - 'titles_only': False, + "collapse_navigation": False, + "sticky_navigation": False, + "navigation_depth": 4, + "includehidden": True, + "titles_only": False, "github_url": "https://github.com/ArtesiaWater/traval", } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] diff --git a/docs/examples.rst b/docs/examples.rst index d10fa86..fc7aba7 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -3,8 +3,12 @@ Examples The following notebooks contain examples showcasing traval. -The first example shows how to apply the tools contained in traval to detect errors in a single timeseries. -The second example shows how the same can be done for a full dataset with lots of timeseries. +- The first example shows how to apply the tools contained in traval to detect errors in + a single time series. +- The second example shows how the same can be done for a full + dataset with lots of time series. +- The third notebook contains small examples for each of the error detection rules + contained in traval. .. toctree:: :maxdepth: 1 diff --git a/docs/examples/ex03_rules.nblink b/docs/examples/ex03_rules.nblink new file mode 100644 index 0000000..cb2b3cb --- /dev/null +++ b/docs/examples/ex03_rules.nblink @@ -0,0 +1,3 @@ +{ + "path": "../../examples/notebooks/ex03_testing_rules.ipynb" +} diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 25d695e..5b8ed3e 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -5,11 +5,8 @@ Getting Started Installation ------------ -To install traval, a working version of Python 3.7 or 3.8 has to be installed on -your computer. We recommend using the Anaconda Distribution with Python 3.7 as -it includes most of the python package dependencies and the Jupyter Notebook -software to run the notebooks. However, you are free to install any -Python distribution you want. +To install traval, a working version of Python 3.9 or higher has to be installed on +your computer. To install traval, use: @@ -71,10 +68,10 @@ Take a look at the ruleset by just typing `ruleset`: 1: rule1 0 -Next define a Detector object. This object is designed to store a timeseries +Next define a Detector object. This object is designed to store a time series and the intermediate and final results after applying an error detection -algorithm. Initialize the Detector object with some timeseries. In this example -we assume there is a timeseries called `raw_series`: +algorithm. Initialize the Detector object with some time series. In this example +we assume there is a time series called `raw_series`: .. code:: python @@ -82,7 +79,7 @@ we assume there is a timeseries called `raw_series`: detect = traval.Detector(raw_series) -Apply our first algorithm to the timeseries. +Apply our first algorithm to the time series. .. code:: python diff --git a/docs/index.rst b/docs/index.rst index 6d602ad..801d02e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,20 +6,20 @@ Welcome to traval's documentation! ================================== -Python package for applying automatic error detection algorithms to timeseries. +Python package for applying automatic error detection algorithms to time series. This module is set up to provide tools for applying any error detection -algorithm to any timeseries. The module consists of three main components: +algorithm to any time series. The module consists of three main components: -- `Detector`: a data management object for storing timeseries and error detection results. +- `Detector`: a data management object for storing time series and error detection results. - `RuleSet`: the RuleSet object is a highly flexible object for defining error detection algorithms based on (user-defined) functions. -- `SeriesComparison*`: objects for comparing timeseries. These objects include plots for visualizing the comparisons. +- `SeriesComparison*`: objects for comparing time series. These objects include plots for visualizing the comparisons. The general workflow consists of the following steps: 1. Define error detection algorithm(s). -2. Load data, i.e. raw timeseries data and optionally timeseries representing the "truth" to see how well the algorithms perform. -3. Initialize Detector objects and apply algorithms to timeseries. +2. Load data, i.e. raw time series data and optionally time series representing the "truth" to see how well the algorithms perform. +3. Initialize Detector objects and apply algorithms to time series. 4. Store and analyze the results. For more detailed information and examples, please refer to the notebooks in diff --git a/docs/modules.rst b/docs/modules.rst index 85a1eaa..ae111b2 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -25,15 +25,15 @@ Rule Library :members: -Timeseries Comparison ---------------------- +Time Series Comparison +---------------------- .. automodule:: traval.ts_comparison :members: -Timeseries Utilities --------------------- +Time series Utilities +--------------------- .. automodule:: traval.ts_utils :members: diff --git a/examples/notebooks/ex01_applying_automatic_error_detection_algorithms_to_a_timeseries.ipynb b/examples/notebooks/ex01_applying_automatic_error_detection_algorithms_to_a_timeseries.ipynb index fd40799..a3e0e6f 100644 --- a/examples/notebooks/ex01_applying_automatic_error_detection_algorithms_to_a_timeseries.ipynb +++ b/examples/notebooks/ex01_applying_automatic_error_detection_algorithms_to_a_timeseries.ipynb @@ -4,12 +4,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Example 1: Applying an automatic error detection algorithm to a timeseries\n", + "# Example 1: Applying an automatic error detection algorithm to a time series\n", "_Created by DavĂ­d Brakenhoff, Artesia, May 2020_\n", "\n", "
\n", "\n", - "This notebook contains a simple example how to set up an automatic error detection algorithm based on a few simple rules and applies those rules to a groundwater timeseries.\n", + "This notebook contains a simple example how to set up an automatic error detection algorithm based on a few simple rules and applies those rules to a groundwater time series.\n", "\n", "First import the requisite packages:" ] @@ -21,6 +21,7 @@ "outputs": [], "source": [ "import os\n", + "\n", "import numpy as np\n", "import pandas as pd\n", "\n", @@ -86,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -124,7 +125,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -138,7 +139,7 @@ " 4: combine (1, 2, 3)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -159,7 +160,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -177,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -186,14 +187,6 @@ "text": [ "RuleSet written to file: 'test.json'\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/david/Github/traval/traval/ruleset.py:436: UserWarning: Custom functions will not be preserved when storing RuleSet as JSON file!\n", - " warnings.warn(msg)\n" - ] } ], "source": [ @@ -210,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -229,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -238,7 +231,7 @@ "Detector: " ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -257,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -273,19 +266,17 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -302,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -396,7 +387,7 @@ "2012-09-24 19:00:00 29.6158 29.6158 29.6158 29.6158 29.6158" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -415,7 +406,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -447,179 +438,179 @@ " \n", " \n", " \n", - " 2012-09-24 15:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 2015-06-27 14:30:41\n", + " 99\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", - " 2015-06-27 14:30:41\n", - " NaN\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 2012-09-24 15:00:00\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 10:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 11:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 12:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 13:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 14:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 15:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 16:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 17:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 18:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 19:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 20:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 21:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 22:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-23 23:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 00:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 01:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 02:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 03:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 04:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 05:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 06:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 07:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", " 2016-12-24 08:00:00\n", - " 0.0\n", - " NaN\n", - " 0.0\n", - " 0.0\n", + " 0\n", + " -2\n", + " 0\n", + " 0\n", " \n", " \n", "\n", @@ -627,40 +618,40 @@ ], "text/plain": [ " spikes dry hardmax combine\n", - "2012-09-24 15:00:00 0.0 NaN 0.0 0.0\n", - "2015-06-27 14:30:41 NaN NaN 0.0 0.0\n", - "2016-12-23 10:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 11:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 12:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 13:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 14:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 15:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 16:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 17:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 18:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 19:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 20:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 21:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 22:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-23 23:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 00:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 01:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 02:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 03:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 04:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 05:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 06:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 07:00:00 0.0 NaN 0.0 0.0\n", - "2016-12-24 08:00:00 0.0 NaN 0.0 0.0" + "2015-06-27 14:30:41 99 -2 0 0\n", + "2012-09-24 15:00:00 0 -2 0 0\n", + "2016-12-23 10:00:00 0 -2 0 0\n", + "2016-12-23 11:00:00 0 -2 0 0\n", + "2016-12-23 12:00:00 0 -2 0 0\n", + "2016-12-23 13:00:00 0 -2 0 0\n", + "2016-12-23 14:00:00 0 -2 0 0\n", + "2016-12-23 15:00:00 0 -2 0 0\n", + "2016-12-23 16:00:00 0 -2 0 0\n", + "2016-12-23 17:00:00 0 -2 0 0\n", + "2016-12-23 18:00:00 0 -2 0 0\n", + "2016-12-23 19:00:00 0 -2 0 0\n", + "2016-12-23 20:00:00 0 -2 0 0\n", + "2016-12-23 21:00:00 0 -2 0 0\n", + "2016-12-23 22:00:00 0 -2 0 0\n", + "2016-12-23 23:00:00 0 -2 0 0\n", + "2016-12-24 00:00:00 0 -2 0 0\n", + "2016-12-24 01:00:00 0 -2 0 0\n", + "2016-12-24 02:00:00 0 -2 0 0\n", + "2016-12-24 03:00:00 0 -2 0 0\n", + "2016-12-24 04:00:00 0 -2 0 0\n", + "2016-12-24 05:00:00 0 -2 0 0\n", + "2016-12-24 06:00:00 0 -2 0 0\n", + "2016-12-24 07:00:00 0 -2 0 0\n", + "2016-12-24 08:00:00 0 -2 0 0" ] }, - "execution_count": 13, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "corrections = detector.get_corrections_dataframe()\n", + "corrections = detector.get_corrections_dataframe(as_correction_codes=True)\n", "corrections" ] }, @@ -668,13 +659,325 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The comparison objects are stored as a dictionary under `detector.comparisons`:" + "Getting the status code names is more informative and can be done with\n", + "`traval.ts_utils.get_correction_status_name`. Note that NaNs mean that a specific rule\n", + "did not flag that particular observation as suspect. The status codes and their meanings can be derived from `traval.ts_utils.CorrectionCode`: " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(traval.ts_utils.CorrectionCode)" ] }, { "cell_type": "code", "execution_count": 14, "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", + "
spikesdryhardmaxcombine
2015-06-27 14:30:41UNKNOWN_COMPARISON_VALUEBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2012-09-24 15:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 10:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 11:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 12:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 13:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 14:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 15:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 16:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 17:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 18:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 19:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 20:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 21:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 22:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-23 23:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 00:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 01:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 02:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 03:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 04:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 05:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 06:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 07:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
2016-12-24 08:00:00NO_CORRECTIONBELOW_THRESHOLDNO_CORRECTIONNO_CORRECTION
\n", + "
" + ], + "text/plain": [ + " spikes dry hardmax \\\n", + "2015-06-27 14:30:41 UNKNOWN_COMPARISON_VALUE BELOW_THRESHOLD NO_CORRECTION \n", + "2012-09-24 15:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 10:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 11:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 12:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 13:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 14:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 15:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 16:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 17:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 18:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 19:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 20:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 21:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 22:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-23 23:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 00:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 01:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 02:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 03:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 04:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 05:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 06:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 07:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "2016-12-24 08:00:00 NO_CORRECTION BELOW_THRESHOLD NO_CORRECTION \n", + "\n", + " combine \n", + "2015-06-27 14:30:41 NO_CORRECTION \n", + "2012-09-24 15:00:00 NO_CORRECTION \n", + "2016-12-23 10:00:00 NO_CORRECTION \n", + "2016-12-23 11:00:00 NO_CORRECTION \n", + "2016-12-23 12:00:00 NO_CORRECTION \n", + "2016-12-23 13:00:00 NO_CORRECTION \n", + "2016-12-23 14:00:00 NO_CORRECTION \n", + "2016-12-23 15:00:00 NO_CORRECTION \n", + "2016-12-23 16:00:00 NO_CORRECTION \n", + "2016-12-23 17:00:00 NO_CORRECTION \n", + "2016-12-23 18:00:00 NO_CORRECTION \n", + "2016-12-23 19:00:00 NO_CORRECTION \n", + "2016-12-23 20:00:00 NO_CORRECTION \n", + "2016-12-23 21:00:00 NO_CORRECTION \n", + "2016-12-23 22:00:00 NO_CORRECTION \n", + "2016-12-23 23:00:00 NO_CORRECTION \n", + "2016-12-24 00:00:00 NO_CORRECTION \n", + "2016-12-24 01:00:00 NO_CORRECTION \n", + "2016-12-24 02:00:00 NO_CORRECTION \n", + "2016-12-24 03:00:00 NO_CORRECTION \n", + "2016-12-24 04:00:00 NO_CORRECTION \n", + "2016-12-24 05:00:00 NO_CORRECTION \n", + "2016-12-24 06:00:00 NO_CORRECTION \n", + "2016-12-24 07:00:00 NO_CORRECTION \n", + "2016-12-24 08:00:00 NO_CORRECTION " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traval.ts_utils.get_correction_status_name(corrections)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The comparison objects are stored as a dictionary under `detector.comparisons`:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, "outputs": [], "source": [ "detect = detector" @@ -682,19 +985,19 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{1: ,\n", - " 2: ,\n", - " 3: ,\n", - " 4: }" + "{1: ,\n", + " 2: ,\n", + " 3: ,\n", + " 4: }" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -712,7 +1015,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -728,24 +1031,24 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "kept_in_both 37212\n", - "flagged_in_s1 0\n", - "flagged_in_s2 0\n", - "flagged_in_both 25\n", - "in_all_nan 0\n", - "introduced_in_s1 0\n", - "introduced_in_s2 0\n", - "introduced_in_both 0\n", - "Name: N_obs, dtype: int64" + "kept_in_both 37212.0\n", + "flagged_in_s1 0.0\n", + "flagged_in_s2 0.0\n", + "flagged_in_both 25.0\n", + "in_all_nan 0.0\n", + "introduced_in_s1 0.0\n", + "introduced_in_s2 0.0\n", + "introduced_in_both 0.0\n", + "Name: N_obs, dtype: float64" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -763,19 +1066,17 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAFyCAYAAADoN3vRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAACynElEQVR4nOzdd3gUZdcH4N/spvdKEhIghFASakgooXcEpUhRpH6KYm/YsLwWsKGIwqu+NhRRKQpIL1JC770HEggQEiAhpPfd5/tjmXFmS7K7ma0593VxsTs75cns7uw87RyOMQZCCCGEEEIIIXWnsHUBCCGEEEIIIcRZUAWLEEIIIYQQQmRCFSxCCCGEEEIIkQlVsAghhBBCCCFEJlTBIoQQQgghhBCZuNi6APocPXq0gYuLy08A2oAqgYQQQpyTGsCZ6urqxxMTE2/bujCEEELkYZcVLBcXl5/Cw8PjQkND7yoUCoojTwghxOmo1WouJycn/ubNmz8BGG7r8hBCCJGHvfYOtQkNDS2kyhUhhBBnpVAoWGhoaAE0ozUIIYQ4CXutYCmockUIIcTZ3futs9ffYkIIIWagizohhBBCCCGEyIQqWFbi5eWVoG/5Sy+91HDVqlW+1i4PkZo/f37w5MmTG8u5n88++yz066+/DtZeJzU11a158+ata9pPamqq23fffRfEP9+1a5fX//3f/zWqa/kckTHny17U5+/zhx9+2CAmJqb18OHDm8r1fTKXoettQkJCK1P207lz55a7du3yMnb9devW+W7ZssWbfz569OjoX375JdCUYxJCCHF8dhnkoj756quvsmxdBmIZr7/+eo652166dMl92bJlQU899VQeAPTq1au0V69epfKVjsiturq6Xn+fFyxYELp169aLzZo1q5o/f75Ow4I9OH78+AVL7n/79u2+Pj4+qoEDB5ZY8jiEEELsG/VgGfD1118Ht2jRIr5ly5bxI0eObJqamurWtWvXFi1atIhPTk5ucenSJTdA00I5YcKExu3bt28VFRXVdt26db5jx46NjomJaT169Oho8T6nTp3aKDY2tnVycnKLrKwsF357voUzMjKy7csvv9wwPj4+rkWLFvHHjx/3AIDCwkLF2LFjo9u2bRsXFxcX//vvvwdY92xYRmpqqlvTpk1bjx49Ojo6OrrN8OHDm65atcq3Y8eOrZo0adImJSXFCwBSUlK8OnTo0CouLi4+ISGh1cmTJ90BTW/RoEGDmvXs2bN5kyZN2jz11FNR/L7FLdi//PJLIP9eLF682L9du3at4uLi4rt169bi+vXrBhsZVCoVIiMj2+bm5ir5ZU2aNGlz/fp1F2P2M3369IbvvvtuGADs3r3bq2XLlvEtW7aMnzt3bgPxOUhMTGwZHx8fFx8fH8e3fr/99tuRR44c8WnVqlX8Bx980GDdunW+ffv2jQWAW7duKQcMGNCsRYsW8e3bt2918OBBT/54Y8eOje7cuXPLqKioth9++GED7TI5qurqagwfPrxpTExM6/vuuy+mqKhIAQCvvvpqRJs2beKaN2/e+pFHHmmiVqsBaHpTmjVr1rpFixbxDzzwQAxg3Pfo6tWrrklJSS1btWoV37x589abNm3yAYCVK1f6dejQoVV8fHzckCFDYgoKChSA5jv79NNPR8bHx8f9/PPPgeLv8+7du706derUsnXr1nE9evRofvXqVVdDZbO2w9/cCLu6K1/oabu6K9/38Dc3wszd3/jx4xtnZma6DxkypPkHH3wg+dwZ+q5kZWW5dOvWrXlsbGzrhx9+uEnDhg3bZmdnuwDAa6+9FhEdHd0mMTGx5bBhw5ry36OzZ8+69+zZs3nr1q3jEhMTW/LXyAsXLrh16NChVYsWLeJfeOGFhobKyV8X1q1b59u5c+eW9913X0zTpk1bDx8+vCn/2dH2yy+/BPOfB/6apO87mJqa6rZo0aLQ7777LqxVq1bx/Gdn586dPgkJCa2ioqLaUm8WIYTUD3bfg7V69epGt2/fNnqIhjEaNGhQOmLEiOuGXj9y5IjHnDlzIvbv338hIiKi+tatW8pHHnmk6YQJE+48//zzd7766qvgp59+utHWrVvTAaCgoMDl+PHjFxYvXhwwbty42O3bt19ITEwsa9euXdy+ffs8u3XrVlZWVqZISkoqWbBgwfVXX301YsaMGQ0XLVp0TfvYISEh1efOnTv/6aefhn766adhy5Ytu/rWW29F9O3bt/Cvv/7KyM3NVSYlJcUNHz680M/PT/8dgZk6d+7cUnvZqFGj8mbMmJFTVFSk6N+/f3Pt1ydOnJj7wgsv3MnOznYZMWJEM/Frhw4dSq3tmNevX/dYtmzZ5cTExIx27drF/fHHH8FHjhy5sHjx4oCPPvooom/fvunt27cvP3z48AVXV1esWrXK9/XXX4/avHlzOgCcO3fO6+TJk+c8PT3VsbGxbV599dVbsbGxVYaON3DgwOJx48ZdUCgUmDt3bsjMmTPDf/zxx0x96yqVSgwaNCj/jz/+CHjxxRfvbN++3TsyMrKyUaNG1absBwCmTp0aPW/evGtDhgwpfvLJJ4WKYMOGDat379590cvLi50+fdr9kUceiTlz5sz5jz766MYXX3wRlpKSkgZobgj5bV5//fWG7du3L926dWv6mjVrfKdMmdL0woUL5wAgLS3NY9++fan5+fnKuLi4Nq+99lqOu7u7wweMycjI8Pj+++8zBg0aVDJ27Njozz//PHTmzJm3Xnvttdtz5szJBoCRI0c2Xbp0qf/48eML5s+fH3716tXTnp6ejK8gG/M9+vnnn4P69+9fMHv27JvV1dUoKipSZGdnu3z88ccRu3btuujn56d+++23w2fNmhXGHzc4OLj63Llz5wFg8+bN/gBQUVHBvfDCC43Xr1+f1rBhw+off/wx8NVXX43866+/MvSVzdoatPUuTXk3I6bvzOjLACB+bI7Fixdf27lzp//OnTsvRkREVIt7sAx9V2bMmNGwd+/eRZ988snN5cuX+/35558hALBz506vtWvXBp47d+5sRUUF16FDh/iEhIRSAHj88ceb/PDDD1fbtm1bsX37du+nn3668YEDBy4+88wzjR9//PGc55577s4nn3wSakyZz58/73nixInL0dHRVYmJia22bNniM3jw4GLt9crKyhQXLlw4t3HjRp9p06Y1vXTp0llD38HJkyfn+Pj4qGbOnHkLAH788ceQW7duuR45cuTCiRMnPB588MHYRx999K6555kQQohjsPsKli1s3rzZb9iwYXcjIiKqASAsLEx1/Phx740bN6YDwNNPP533wQcfCDfJ999/f75CoUDHjh1Lg4ODqzp37lwGAC1atChLT09379atW5lCocDjjz+eBwCPPfbYnVGjRsXqO/b48ePvAkDnzp1L16xZEwgAO3bs8Nu8eXPA/PnzwwHNzVtaWppbx44dyy15HqwhMjKyQny++vXrV8ifyw8//LAhAOTl5SkffvjhphkZGR4cx7GqqiqO375Hjx6FwcHBKgCIjY0tT09Pd6+pgnXlyhW3kSNHRuXk5LhWVlYqGjVqVFFT+caPH583c+bMhi+++OKdP/74I2j06NF5pu4n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\n", + "image/png": "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YL0rKSmRlpcvX+6KsIiIiIiIiDwKk1JE5HE2bNiAsLAwi21Tpkyp92fKysqk5b/97W8uiYuIiIiIiMiTMCmlUuy+R+Q6QUFBuHz5Mp566ilp29q1a+ttLVVVVSUtx8TEuDQ+IiIiIiIiT8CkFBF5LPNEEwD8+uuvdu1rMBhcFhMREREREZGnYFJKhTimFJE8HnvsMYv1hIQEm/uaJ6W8vb1dFRIREREREZHHYFJKpdh9j8j1YmNj0alTJ4ttJ0+etLpvaGgoxo0bhzvuuANeXvzTSURERERE1FR8siIij5aYmGixPmvWLKv76XQ66PV6+Pn5yRAVERERERGR9jEppULsvkcknxYtWlis7927F5WVlXX2q6mpgSAI0Ov1coVGRERERESkaUxKqRS77xHJ57PPPrNYP336dJ19cnNzcejQIezdu1eusIiIiIiIiDSNSSki8nh33XWXxXq/fv1gMpkstuXn5+PSpUtWE1ZERERERETkOCalVIjd94jkZTAY8N1330nrZWVl+Mc//mGxT3V1NQC2YiQiIiIiInIWJqWIiADccccdFutvvPGGRWspcZlJKSIiIiIiIudgUkql+OBLpLz4+HhkZGQAuN5SysuLfzaJiIiIiIicgU9XKsTue0TKuHTpksV6ZmYmhg8fDuB6SykmpYiIiIiIiJyDT1dERP8nOjoab7/9tsW28+fPA+CYUkRERERERM7GpJRK8cGXSBlz5861up1jShERERERETmXt9IBUF3svkekLKPRiIqKCmk9OTkZ3bp1w4ABAzBo0CAFIyMiIiIiItIOtpQiIqqld+/eFuv33HMP9Ho9DAYDQkJClAmKiIiIiIhIY5iUUil2ESJSTqtWrSzW//rrL6SmpqKmpgbe3mxgSkRERERE5AxMSqkQu+8RKatv3751tv3tb3/D2bNnsWfPHgUiIiIiIiIi0h4mpYiIanniiSfw8MMP19menZ2Nw4cPKxARERERERGR9jAppVLsvkekHG9vb6xcuRI9e/as85ler1cgIiIiIiIiIu1hUkqF2H2PSB0OHTpUZ1tWVpYCkRAREREREWkPk1JERPV49tlnLdZramoUioSIiIiIiEhbmJRSKXbfI1KH559/HpMmTVI6DCIiIiIiIs1hUoqIqAFnz56VLcIKkAAAEplJREFUltu3b69gJERERERERNrhrXQAVBfH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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -794,37 +1095,35 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "\u001b[0;31mType:\u001b[0m BinaryClassifier\n", - "\u001b[0;31mString form:\u001b[0m \n", - "\u001b[0;31mFile:\u001b[0m ~/Github/traval/traval/binary_classifier.py\n", - "\u001b[0;31mDocstring:\u001b[0m Class for calculating binary classification statistics.\n", - "\u001b[0;31mInit docstring:\u001b[0m\n", - "Initialize class for calculating binary classification statistics.\n", - "\n", - "Parameters\n", - "----------\n", - "tp : int\n", - " number of True Positives (TP)\n", - "fp : int\n", - " number of False Positives (FP)\n", - "tn : int\n", - " number of True Negatives (TN)\n", - "fn : int\n", - " number of False Negatives (FN)\n" - ] - }, - "metadata": {}, - "output_type": "display_data" + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[0;31mType:\u001b[0m BinaryClassifier\n", + "\u001b[0;31mString form:\u001b[0m \n", + "\u001b[0;31mFile:\u001b[0m ~/github/traval/traval/binary_classifier.py\n", + "\u001b[0;31mDocstring:\u001b[0m Class for calculating binary classification statistics.\n", + "\u001b[0;31mInit docstring:\u001b[0m\n", + "Initialize class for calculating binary classification statistics.\n", + "\n", + "Parameters\n", + "----------\n", + "tp : int\n", + " number of True Positives (TP)\n", + "fp : int\n", + " number of False Positives (FP)\n", + "tn : int\n", + " number of True Negatives (TN)\n", + "fn : int\n", + " number of False Negatives (FN)" + ] } ], "source": [ - "comp.bc?" + "?comp.bc" ] }, { @@ -836,58 +1135,56 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "\u001b[0;31mSignature:\u001b[0m \u001b[0mcomp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconfusion_matrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mas_array\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mDocstring:\u001b[0m\n", - "Calculate confusion matrix.\n", - "\n", - "Confusion matrix shows the performance of the algorithm given a\n", - "certain truth. An abstract example of the confusion matrix:\n", - "\n", - " | Algorithm |\n", - " |-------------------|\n", - " | error | correct |\n", - "------|---------|---------|---------|\n", - " | error | TP | FN |\n", - "Truth |---------|---------|---------|\n", - " | correct | FP | TN |\n", - "------|---------|---------|---------|\n", - "\n", - "where:\n", - "- TP: True Positives = errors correctly detected by algorithm\n", - "- TN: True Negatives = correct values correctly not flagged by algorithm\n", - "- FP: False Positives = correct values marked as errors by algorithm\n", - "- FN: False Negatives = errors not detected by algorithm\n", - "\n", - "Parameters\n", - "----------\n", - "as_array : bool, optional\n", - " return data as array instead of DataFrame, by default False\n", - "\n", - "Returns\n", - "-------\n", - "data : pd.DataFrame or np.array\n", - " confusion matrix\n", - "\u001b[0;31mFile:\u001b[0m ~/Github/traval/traval/binary_classifier.py\n", - "\u001b[0;31mType:\u001b[0m method\n" - ] - }, - "metadata": {}, - "output_type": "display_data" + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[0;31mSignature:\u001b[0m \u001b[0mcomp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconfusion_matrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mas_array\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mDocstring:\u001b[0m\n", + "Calculate confusion matrix.\n", + "\n", + "Confusion matrix shows the performance of the algorithm given a\n", + "certain truth. An abstract example of the confusion matrix:\n", + "\n", + " | Algorithm |\n", + " |-------------------|\n", + " | error | correct |\n", + "------|---------|---------|---------|\n", + " | error | TP | FN |\n", + "Truth |---------|---------|---------|\n", + " | correct | FP | TN |\n", + "------|---------|---------|---------|\n", + "\n", + "where:\n", + "- TP: True Positives = errors correctly detected by algorithm\n", + "- TN: True Negatives = correct values correctly not flagged by algorithm\n", + "- FP: False Positives = correct values marked as errors by algorithm\n", + "- FN: False Negatives = errors not detected by algorithm\n", + "\n", + "Parameters\n", + "----------\n", + "as_array : bool, optional\n", + " return data as array instead of DataFrame, by default False\n", + "\n", + "Returns\n", + "-------\n", + "data : pd.DataFrame or np.array\n", + " confusion matrix\n", + "\u001b[0;31mFile:\u001b[0m ~/github/traval/traval/binary_classifier.py\n", + "\u001b[0;31mType:\u001b[0m method" + ] } ], "source": [ - "comp.bc.confusion_matrix?" + "?comp.bc.confusion_matrix" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -944,7 +1241,7 @@ " correct 0 37212" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -969,38 +1266,36 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "\u001b[0;31mType:\u001b[0m property\n", - "\u001b[0;31mString form:\u001b[0m \n", - "\u001b[0;31mDocstring:\u001b[0m \n", - "Specificity or True Negative Rate.\n", - "\n", - "Statistic describing ratio of true negatives identified,\n", - "which also says something about the avoidance of false positives.\n", - "\n", - " Specificity = TN / (TN + FP)\n", - "\n", - "where\n", - "- TN : True Negatives\n", - "- FP : False Positives\n" - ] - }, - "metadata": {}, - "output_type": "display_data" + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[0;31mType:\u001b[0m property\n", + "\u001b[0;31mString form:\u001b[0m \n", + "\u001b[0;31mDocstring:\u001b[0m \n", + "Specificity or True Negative Rate.\n", + "\n", + "Statistic describing ratio of true negatives identified,\n", + "which also says something about the avoidance of false positives.\n", + "\n", + " Specificity = TN / (TN + FP)\n", + "\n", + "where\n", + "- TN : True Negatives\n", + "- FP : False Positives" + ] } ], "source": [ - "comp.bc.specificity?" + "?comp.bc.specificity" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1016,16 +1311,20 @@ ], "source": [ "print(\n", - " f\"- True Positive Rate = {comp.bc.true_positive_rate} = Sensitivity = {comp.bc.sensitivity}\"\n", + " f\"- True Positive Rate = {comp.bc.true_positive_rate} = \"\n", + " f\" Sensitivity = {comp.bc.sensitivity}\"\n", ")\n", "print(\n", - " f\"- True Negative Rate = {comp.bc.true_negative_rate} = Specificity = {comp.bc.specificity}\"\n", + " f\"- True Negative Rate = {comp.bc.true_negative_rate} = \"\n", + " f\" Specificity = {comp.bc.specificity}\"\n", ")\n", "print(\n", - " f\"- False Positive Rate = {comp.bc.false_positive_rate} = (1 - Specificity) = {1 - comp.bc.specificity}\"\n", + " f\"- False Positive Rate = {comp.bc.false_positive_rate} = \"\n", + " f\"(1 - Specificity) = {1 - comp.bc.specificity}\"\n", ")\n", "print(\n", - " f\"- False Negative Rate = {comp.bc.false_negative_rate} = (1 - Sensitivity) = {1 - comp.bc.sensitivity}\"\n", + " f\"- False Negative Rate = {comp.bc.false_negative_rate} = \"\n", + " f\"(1 - Sensitivity) = {1 - comp.bc.sensitivity}\"\n", ")" ] }, @@ -1070,19 +1369,17 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { - "image/png": "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37JRo0YB0KxZs6JlvXr1AmD48OH7rbt27dpy99myZUv69etX9PiZZ55hwIAB9OjRgw8//JAlS5YUPXf++ecD0KtXL1asWAHArFmzGDp0KABnnnkm3/nOdwCYPXs25513HvXq1aN+/fqcf/75RZWQ1q1b06VLF2rUqEFOTg6nnHIKZkaXLl2Kthtv9uzZXHrppQB07tyZrl27lvu+pk2bxo033kj37t05++yz2bJlC9u2bSM3N5ef/vSnPPjgg2zatImDDjqIPn368OSTTzJq1CgWLVqUcdfwUWJTRcaNG8f111/P5s2bow5FRCQtjBo1ar+/tHv16kWvXr32W1aY2Kxdu7Zo2fz58wF47LHH9lu3WbNm5e6zXr16Rfc//fRT7rvvPiZPnszChQs588wz97umSu3atQGoWbMme/furfT7LNwOQI0aNYoe16hRo8LbjT89Oj7WgoIC3n77bRYsWMCCBQtYs2YN9evXZ+TIkTz++OPs3LmT3Nxcli5dysCBA5k1axZHHXUUw4YN46mnnqr0e0tFSmyqQBAEjBgxgqlTp5KTkxN1OCIikoAtW7ZQr149GjVqxJdffsnLL79c7msGDhzIuHHjAHj55Zf5+uuvARgwYACTJk1ix44dbN++neeff54BAwZUKq7c3FyeeeYZAJYsWcKiRYuKnjviiCPIz8+noKCA559/vmj5aaedxkMPPVT0eMGCBQB8/PHHdOnShTvvvJM+ffqwdOlSVq5cyRFHHMG1117LNddcw3vvvVepOFOVLtBXBRo1aqTr1IiIpJlu3brRo0cPevXqRcuWLcnNzS33NXfffTeXXXYZOTk59O/fn6OPPhqAnj17MmzYMI477jgArrnmGnr06FHiUFN5rr/+eq644go6depEx44dycnJoVGjRgD87ne/Y8iQITRt2pTevXuzbds2AB588EFuuOEGunbtyt69exk4cCCPPvoof/zjH5kxY0bRMNgZZ5zB+PHjGTNmDLVq1aJ+/foZV7Exj+voTgcdOnTwZcuWRR0GEKvUrF+/nptuuinqUCKXl5fHoEGDog5D4uiYpKZsPi75+fkce+yxUYfxLak2V9S+ffvYs2cPderU4eOPP+bUU09l2bJlHHzwwVGHlhQlfS/MbL67967M9lSxqaT4aRJERESqyo4dOzjppJPYs2cP7s4jjzySsUlNMiixqYSpU6cWJTUafhIRkarUoEGDouvWSMUpsamg3bt3k5uby8yZMzVLt4iISIrRWVEVEAQBp5xyCnXr1lVSIyIikoJUsUlQfE9NMqZZFxERkQOnik0CvvzyS37+85+rp0ZERCTFKbEpx5IlS4ouiKSkRkREAL755htOPfVUunfvztNPP80111yz33QM5Zk0aVKF1pfEKbEpQxAEnHrqqaxfv546depEHY6IiKSI999/H4hd4feSSy7h8ccfp1OnTt9ab9++fSW+/kATm+JTMSQ6NcOBTA2RLpTYlKKwp+a1116jSZMmUYcjIiIHaMWKFXTs2JFhw4bRvn17fvjDHzJt2jS+973v0a5dO+bOnUtBQQHt2rVj3bp1QGwOprZt2xY9Bvjqq68YOnQo7777Lt27d+fjjz9m0KBBRado169fnxEjRtCtWzfeeustRo4cSadOnejatSu33XYbc+bMYfLkydx+++1Fr4+3bt06LrjgAvr06UOfPn148803gdjcWpdffjm5ublcfvnl33q8YsUKTj75ZLp27copp5zCZ599BsCwYcO47rrr6Nu3L3fccUd1fNSRUvNwCdydV155RT01IiIZZvny5UyYMIEnnniCPn36MG7cOF577TVmzJjBb37zGyZNmsTQoUMZO3Yst9xyC9OmTaNbt240bdq0aBuHH344jz/+OPfddx9Tpkz51j62b99O3759+cMf/sCGDRu4+uqrWbp0KWbGpk2baNy4MWeffTZDhgzhwgsv/Nbrf/KTn3Drrbdywgkn8Nlnn3H66aeTn58PxNojZs+eTd26dRk1atR+j8866yyuuOIKrrjiCp544gluvvlmJk2aBMDq1auZM2cONWvWTM4Hm0KU2BTz/PPP06tXL/75z39GHYqIiFSx1q1b06VLFwBycnI45ZRTMDO6dOlSNK/TVVddxTnnnMMtt9zCE088wZVXXlmhfdSsWZMLLrgAiM0lWKdOHa6++mqGDBnCkCFDyn39tGnT9hum2rJlS9GcUGeffTZ169Ytei7+8VtvvcXEiRMBuPzyy/erzlx00UVZkdSAhqL2EwQB119/PVu3bo06FBERSYLatWsX3a9Ro0bR4xo1ahT1n7Ro0YIjjjiC119/nblz53LGGWdUaB916tQpSiIOOugg5s6dy4UXXsiUKVMYPHhwua8vKCjg7bffZsGCBSxYsIA1a9ZQv359AOrVq7ffusUflybR9TKBEptQ/HVqcnJyog5HREQidM011zB06NADrnRs27aNzZs38/3vf58HHniADz74AIhNm1DaH9GnnXYaDz30UNHjBQsWJLSv/v37M378eADGjh3LgAEDKh13OlNiEzr00EPVUyMiIkBsiGfbtm0VHoYqbuvWrQwZMoSuXbtywgkncP/99wNw6aWXMmbMGHr06PGt5uEHH3yQefPm0bVrVzp16sSjjz6a0L4eeughnnzySbp27cq//vUv/vSnPx1Q7OnK3D3qGCqkQ4cOvmzZsirbXhAEfPnll9xyyy1Vts1slJeXx6BBg6IOQ+LomKSmbD4u+fn5HHvssQmvP+n9NYx5dRlrN+2kWeO63H56B87tcVSVx7V161YaNGiw37J58+Zx66238sYbb1T5/mR/JX0vzGy+u/euzPayunk4fvhJRERSx6T31/CziYvYuSd2HZg1m3bys4mLAJKS3MT73e9+x1/+8hfGjh2b1P1IcmTtUNT06dOLkhoNP4mIpJYxry4rSmoK7dyzjzGvVl3FvjQjR45k5cqVnHDCCUnfl1S9rKzYfPPNN+Tm5jJr1izatWsXdTgiIlLM2k07K7RcpFDWVWyCIODkk0+mdu3aSmpERFJUs8Z1K7S8MkaNGsV9991X5joHMvXBpk2beOSRR4oer127tsQL8lWlYcOG8eyzz1bJtubNm8fNN98MxHrD5syZk5T9VLWsSmwKe2r++te/YmZRhyMiIqW4/fQO1K21/2nWdWvV5PbTO1RrHFWZ2DRr1ixlk4Hi9u7dS+/evXnwwQeBbyc2qSxrEpuvvvqKu+66Sz01IiJp4NweR/Hb87twVOO6GHBU47r89vwuB9w4fO+999K+fXtOOOEE4s+w/fjjjxk8eDC9evViwIABLF26tMQ5nUpaD+DLL7/kvPPOo1u3bnTr1o05c+YwcuRIPv74Y7p3787tt9/OihUrin7/7Nq1iyuvvJIuXbrQo0cPZsyYAcA//vEPzj//fAYPHky7du1Kndtp9OjR9OnTh86dOzN8+HBKOsP5pZdeomPHjvTq1Yubb7656KrHGzdu5Nxzz6Vr167069ePhQsXAt+eiyovL48hQ4awYsUKHn30UR544AG6d+9edKbYrFmz6N+/P23atClK2PLy8jjxxBM555xzaNOmDSNHjmTs2LEcd9xxdOnS5VuntieFu6fVrX379l5RixYtcnf3Xbt2Vfi1kpgZM2ZEHYIUo2OSmrL5uCxZsiTS/c+bN887d+7s27dv982bN/sxxxzjY8aM8S1btvjJJ5/sH330kbu7v/32237SSSe5u/sVV1zhEyZMKNpGaetdfPHF/sADD7i7+969e33Tpk3+6aefek5OTtFr4x/fd999fuWVV7q7e35+vrdo0cJ37tzpTz75pLdu3do3bdrkO3fu9KOPPto/++yzb72XDRs2FN0fOnSoT548eb94d+7c6c2bN/dPPvnE3d0vvfRSP/PMM93d/cYbb/RRo0a5u/v06dO9W7du7u5+9913e8+ePX3Hjh3uHvuuFr7m7rvv9jFjxhTt84orrvALL7zQ9+3b5x9++KEfc8wxRa9p1KiRr1271nft2uXNmjXzX/3qV+7u/sc//tF/8pOffOu9lPS9AOZ5JfOEjG8eLhx++uCDDzj88MOjDkdERCLyxhtvcN5553HIIYcAsYvwQezqwHPmzOGiiy4qWvebb7751uvLWu/111/nqaeeAmJzRTVq1Iivv/661Fhmz57NTTfdBEDHjh1p2bIlH330EQCnnHIKjRo1AqBTp06sXLmSFi1a7Pf6GTNm8Pvf/54dO3awceNGcnJyOOuss4qeX7p0KW3atKF169YAXHbZZTz22GNF+37uuecAOPnkk9mwYQNbtmwp+kzi56Iqy7nnnkuNGjXo1KkTX375ZdHyPn36cOSRRwJwzDHHcNpppwHQpUuXospUMmV0YhN/nRolNSIiUpKCggIaN25c7tQFia53oOLns6pZs2bRHFaFdu3axfXXX8+8efNo0aIFo0aNYteuXVWy74rMKRUfp8cNhSUyH1cyZWyPjbszdepU9dSIiAgAAwcOZNKkSezcuZOtW7fy4osvAtCwYUNat27NhAkTgNjvj5LmdCprvVNOOYW//OUvAOzbt4/NmzeXOR/UgAEDii4A+NFHH/HZZ5/RoUNijdGFSUyTJk3Ytm1biQ3JHTp04JNPPimasfzpp58ucd95eXk0adKEhg0blrnPst5LqsnIxGbixImsXLmSJ554QkmNiIgA0LNnTy655BK6devGGWecQZ8+fYqeGzt2LH//+9/p1q0bOTk5vPDCC8C353Qqbb0//elPzJgxgy5dutCrVy+WLFnCYYcdRm5uLp07d+b222/f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\n", + "image/png": "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nDmTbptIrmDBgna3fX19Jcn2HBITE9WqVSudOnVKb7/9th544AEFBgYqMTFR9erVS/W5plZn165dtW7dOr399tt66KGHFBQUJIvForZt29rtw5Hab+es9/Z2+fLl08aNG/Wf//xHb775pi5cuKDixYurd+/eeuutt1Lt5pKejHxu7+RO7Tw1d2pzqfXnB5A6Ajnggm4/u12oUCFZLBZt3rzZFpCSS1qWdCWI5P3Fb5fUx3vYsGF66qmnUl3nvvvuS3N7T09PvfDCC5o4caIuXryoL774Qjdv3lSPHj1SPMakSZPSvJrE7T8uMjpIrGDBgoqKikqx/NSpU3aPneT06dMp1j19+rQteGbm9Uit1nnz5qlbt25677337JafPXtWwcHBaTybfyXVk9Zz8/DwUP78+e9YR2oKFy6cbptwxK+//qr9+/drzpw56t69u215agN9k9xe56VLl/Tdd99p5MiReuONN2zLb968qfPnzzutdme9t6l54IEH9OWXX8owDP3yyy+aM2eOxowZI39/f7vnlBEZ+dzeyZ3aeWqSt7nbfwycOnUqxWcJQNrosgK4gccff1yGYejvv/9W7dq1U/z3wAMPSJIaNGigfPnyadq0aTIMI9V93XfffapQoYL279+f6r5q166tvHnzpltPjx49dOPGDS1YsEBz5sxR/fr1ValSJdv9DRs2VHBwsA4ePJjmY/j4+GTqtWjevLnWr19vC+BJIiMjFRAQkOIHwIIFC+xei+PHj2vbtm22K1444/WQbgW5238sff/99/r777/tlt1+xjnJfffdp5IlS+qLL76wq/fatWtavHix7cormdGmTRtt2LAh3a5IGZUUWG9/rtOnT3doH4ZhpNjHzJkz7QaPShmrPb3X1Bnv7Z2eS7Vq1TRhwgQFBwdrz549dnVl5K8jFStWVEhIiGbNmqWbN29mqo47tfPUPPLII5Ju/ZhMbufOnTp06JCaN29uW5bR5wK4K86QA26gYcOGevHFF9WjRw/t2rVLTZo0UWBgoKKiorRlyxY98MADeumll5QnTx59/PHHCgsLU4sWLdS7d28VLVpUhw8f1v79+zV58mRJt8JTmzZt1Lp1a4WGhqpkyZI6f/68Dh06pD179ujrr79Ot55KlSqpfv36Gjt2rE6ePKkZM2bY3Z8nTx5NmjRJ3bt31/nz59WxY0cVKVJEZ86c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LQcAACATDMPQiy++SBjHXTO99UyZMkVly5aVn5+fatWqpc2bN6e7/vz581WtWjUFBASoePHi6tGjh86dO5dN1QIAAHe3f/9+SVJoaChhHE5hagtauHChBg4cqOHDh2vv3r1q3Lix2rRpoxMnTqS6/pYtW9StWzf16tVL//3vf/X1119r586dCgsLy+bKAQCAO4qMjFSNGjX07bffml0KXIipgXz8+PHq1auXwsLCVLlyZUVERKhUqVKaOnVqquv/9NNPKlOmjPr376+yZcuqUaNG6tOnj3bt2pXNlQMAAHezfv169e7dW2FhYXrsscfMLgcuxMusB46NjdXu3bv1xhtv2C1v1aqVtm3bluo2DRo00PDhw7VixQq1adNG0dHRWrRoUbofips3b+rmzZu225cvX5YkxcXFKS4uzm7dpNu3L4d7oR1Aoh3gX7QFSNLs2bM1adIkhYaGatKkSUpISFBCQoLZZSGbpXc8uJtjhMUwDCPTW9+FU6dOqWTJktq6dasaNGhgW/7ee+/JarXq999/T3W7pClpb9y4ofj4eLVv316LFi2St7d3quuPGjVKo0ePTrH8iy++UEBAgHOeDAAAcFmJiYkaPXq0ihQpopdeeok+40hVTEyMunbtqkuXLikoKMihbU07Q57EYrHY3TYMI8WyJAcPHlT//v01YsQItW7dWlFRURo8eLD69u2rzz//PNVthg0bpvDwcNvty5cvq1SpUmrVqlWKFysuLk5r165Vy5Yt0wz4cH20A0i0A/yLtuDerly5orx586pp06bauHGjWrduTTtwY+kdD5J6YWSGaYG8UKFC8vT01OnTp+2WR0dHq2jRoqluM3bsWDVs2FCDBw+WJD344IMKDAxU48aN9e6776p48eIptvH19ZWvr2+K5d7e3ml+oNK7D+6DdgCJdoB/0Rbcj9Vq1dChQ7Vjxw4VL15cHh4etANISv14cDftwrS/ufj4+KhWrVpau3at3fK1a9fadWFJLiYmJsWfiTw9PSXdOrMOAADgDEmT/rRv31733HOP2eXAxZnaCSo8PFwzZ87UrFmzdOjQIQ0aNEgnTpxQ3759Jd3qbtKtWzfb+u3atdOSJUs0depUHTlyRFu3blX//v1Vp04dlShRwqynAQAAXAgzcCK7mdqHvHPnzjp37pzGjBmjqKgoVa1aVStWrFDp0qUlSVFRUXbX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77/X2rVrNWnSpDSf49atW9W3b18NGDBA+/btU8uWLfWf//zH4dfqrbfe0uzZszV16lT997//1aBBg/T8889r48aNkqS3335bBw8e1MqVK3Xo0CFNnTrVdmnliRMnavny5frqq6/0+++/a968eSpTpozDNbgqBnW6sMaNG2vatGkKCwsjjAMAsl1UVJTdWWNJyp8/v8qWLasbN27o4MGDKbapWbOmJOn333/XtWvX7O4rU6aMChQooDNnzujkyZN29+XNm1cVKlRwuMby5ctr3LhxdssGDhxo+3fZsmX1zjvv6KWXXrI7oxsXF6dp06YpJCREkvTKK69ozJgxtvsjIiI0bNgwPf3005KkadOmafXq1bb7r127pqlTp2rOnDlq06aNpFtnsdeuXavPP/9cgwcPtq377rvvqmHDhpKkXr16adiwYfrzzz9Vrlw5SVLHjh21YcOGFD8akkyaNElt2rSx/WCoWLGitm3bpu+++y7Dr9O1a9c0fvx4rV+/XvXr15cklStXTlu2bNH06dPVtGlTnThxQjVq1FDt2rUlyS5wnzhxQhUqVFCjRo1ksVhUunTpDD+2OyCQu6B58+apXLlyatCggV588UWzywEAuKnp06dr9OjRdsuee+45zZs3T3/99Zdq1aqVYpukbh2hoaH66aef7O6bO3eunn/+eX311Vd65ZVX7O5r1aqVXeDNqKTwmNyGDRv03nvv6eDBg7p8+bLi4+N148YNXbt2TUFBQZKkgIAAWxiXpOLFiys6OlqSdOnSJUVFRdmCqyR5eXmpdu3atuf3559/Ki4uzha0Jcnb21t16tTRoUOH7Op58MEHbf8uWrSoAgICbGE8admOHTvSfI6///67nnzySbtlderUcSiQHzx4UDdu3LB160kSGxurGjVqSJJeeuklPf3009qzZ49atWqlDh06qEGDBpJuvZ8tW7bUfffdp0cffVSPP/64WrVqleHHd3UEcheTNOnPgAEDbB8CAADM0KdPH7Vv395uWf78+SVJ99xzj3bv3p3mtnPmzEn1DLkkderUyS7sSrfOkGdGYGCg3e3jx4+rbdu26tu3r9555x0VKFBAW7ZsUa9evRQfH29bz9vb2247i8Xi0IUTkta9fTIlwzBSLEv+WBaLJdXHTm8q99T2eXutHh4eKZbFxcXZ/p20/++//14lS5a0Wy9pxso2bdro+PHj+v777/XDDz+oefPmevnll/XRRx+pZs2aOnr0qFauXKkffvhBnTp1UosWLez6oLszArkLST4D58cff2x2OQAAN1e8eHEVL1481fv8/Pxs3VNSc99996V5X+HChVW4cOG7ri81u3btUnx8vD7++GNbd8+vvvrKoX3ky5dPxYsX108//aQmTZpIkuLj47V7927bcy5fvrx8fHy0ZcsWde3aVdKtALxr1y67LjPOUKlSpRRn0Hft2mV3u3Dhwvr111/tlu3bt88W/qtUqSJfX1+dOHFCTZs2TfOxChcurNDQUIWGhqpx48YaPHiwPvroI0lSUFCQOnfurM6dO6tjx4569NFHdf78eRUoUMAZTzNXI5C7iC+++MIWxpmBEwCAzAkJCVF8fLwmTZqkdu3aaevWrZo2bZrD+xkwYIDef/99VahQQZUrV9b48eN18eJF2/2BgYF66aWXNHjwYBUoUED33nuvxo0bp5iYGPXq1cuJz0h69dVX1aRJE40fP17t2rXT+vXrtXLlSruz5o888og+/PBDRUZGqn79+po3b55+/fVXW3eUvHnz6vXXX9egQYOUmJioRo0a6fLly9q2bZvy5Mmj7t27a8SIEapVq5buv/9+3bx5U999950qV64sSZowYYKKFy+u6tWry8PDQ19//bWKFStmd6UXd0ZqcxFVq1bVa6+9RhgHAOAuVK9eXePHj9cHH3ygqlWrav78+Zm6PN9rr72mbt26KTQ0VPXr11fevHlT9ON+//339fTTT+uFF15QzZo1dfjwYa1evdrWrcdZGjZsqGnTpmn8+PGqVq2aVq1apUGDBsnPz8+2TuvWrfX2229ryJAheuihh3TlyhV169bNbj/vvPOORowYobFjx6py5cpq3bq1vv32W5UtW1aS5OPjo2HDhunBBx9UkyZN5OnpqS+//FKSlCdPHn3wwQeqXbu2HnroIR07dkwrVqwgs/w/i+FmM8VcvnxZ+fLl06VLl2wDM5LExcVpxYoVatu2bYr+WTnVqlWr1LRpU/n7+5tdisvIje0Azkc7QBLawp3duHFDR48eVdmyZe1CnitJTEzU5cuXFRQU5BIhsnfv3vrtt9+0efNms0vJVWJiYnTo0CFVrFgxxbiF9DLmneT+FuXGrFar2rZtq88++8zsUgAAQA720Ucfaf/+/Tp8+LAmTZokq9Wq7t27m10W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zRr9+OOP2r17t906PXr00NatW/XFF19oy5Yt6tixox599FH98ccfatCggSIiIhQUFKSoqChFRUXp9ddft9vuyy+/1C+//KJnnnnGtp0k7du3T82bN9f999+v7du3a8uWLWrXrp0SEhL0ySefqH79+urdu7dtv6VKlUpR/+7du9WpUyd16dJFBw4c0KhRo/T2229rzpw5dut9/PHHql27tvbu3at+/frppZde0m+//Zbm63Lt2jWFh4dr586dWrdunTw8PPTkk08qMTEx1fWPHTumjh07qkOHDtq3b5/69Omj4cOHZ6rWDz/8UFWrVtXu3bv19ttv291XqlQpLV68WJL0+++/KyoqSp988ontfqvVqsDAQP38888aN26cxowZo7Vr19rt45133lG3bt20b98+VapUSV27dlWfPn00bNgw7dq1S5L0yiuvpPnaZBnDzVy6dMmQZFy6dCnFfbGxscayZcuM2NhYh/Z58uRJwzAMIzEx0UhISHBKnTBPZtsBXAvtAEloC3d2/fp14+DBg8b169czvY+VB04Z9d77wSg99Dvbf/Xe+8FYeeCUEyv915UrVwwfHx/jyy+/tC07d+6c4e/vbwwYMMAwDMM4fPiwYbFYjL///ttISEgwLly4YCQkJBjNmzc3hg0bZhiGYcyePdvIly+f3b6Tb5dc8u2effZZo2HDhmnW17RpU1sdSTZs2GBIMi5cuGAYhmF07drVaNmypd06gwcPNqpUqWK7Xbp0aeP555+33U5MTDSKFCliTJ06Ne0X5zbR0dGGJOPAgQOGYRjG0aNHDUnG3r17DcMwjKFDhxpVq1a122b48OGZqrVDhw5269z+WLe/BkmaNm1qNGrUyG7ZQw89ZAwdOtR2W5Lx1ltv2W5v377dkGR8/vnntmULFiww/Pz80nwtrl27Zuzatcu4fPlyivvSy5h3Qh/yu2S1WvXiiy9q69atql27tiwW5/+CBwDA1T1atbhaVimmHUfPK/rKDRXJe6ubSlacGZekP//8U7Gxsapfv75tWYECBXTffffZbu/Zs0eGYahixYp22968eVMFCxZMc98Z2W7fvn165pln7uo5HDp0SE888YTdsoYNGyoiIkIJCQny9PSUJD344IO2+y0Wi4oVK6bo6Og09/vnn3/q7bff1k8//aSzZ8/azoyfOHHCNrgyud9//10PPfSQ3bI6depkqtbatWvf6WmnKfnzlKTixYuneJ7J10maZfWBBx6wW3bjxg1dvnxZQUFBma7FUQTyu5B8Bs6aNWuaXQ4AALmap4dF9UPSDrrOdOuEafoSExPl6emp3bt3y2Kx6OrVq8qTJ488PDyUJ0+eDG2XFDSTJG3n7+9/d09At57D7ScCU3te3t7edrctFkua3U8kqV27dipVqpQ+++wzlShRQomJiapatapiY2MzXUdGaw0MDEyzrjvJyPNMvk5SPaktS+/1yQp0dM6k5GGcSX8AAMhdypcvL29vb/3000+2ZRcuXND//vc/2+0aNWooISFB0dHRKl++vMqVK6fy5curfPnytit/+Pj4KCEhwW7ft2+X/L+k7R588EGtW7cuzfpS2+/tqlSpoi1bttgt27ZtmypWrJjih0BGnTt3TocOHdJbb72l5s2bq3Llyrpw4UK621SqVEk7d+60W5bUH9vZtfr4+EjSHV+b3IYUmQk3b97Uf/7zH8I4AAC5VJ48edSrVy8NHjxY69at06+//qrQ0FC77/SKFSvqueeeU7du3bRkyRIdP35cO3fu1AcffKAVK1ZIunVlkKtXr2rdunU6e/asYmJiUmx39OjRFNsNGzZMO3fuVL9+/fTLL7/ot99+09SpU3X27Fnbfn/++WcdO3bMrttIcq+99prWrVund955R//73/9ktVo1efJk28DSzMifP78KFiyoGTNm6PDhw1q/fr3Cw8PT3aZPnz767bffNHToUP3vf//TV199ZRusmXTG2Vm1li5dWhaLRd99953OnDmjq1evZup55jQkSQfFx8fL19dX27ZtI4wDAJCLffjhh2rSpInat2+vFi1aqFGjRqpVq5bdOrNnz1a3bt00ePBgPfTQQ+rQoYN+/vln21VPGjRooL59+6pz584qXLiwxo0bZ7fda6+9pvvuu0/t27e3265ixYpas2aN9u/frzp16qh+/fr65ptv5OV1qzfx66+/Lk9PT1WpUkWFCxfWiRMnUtRfs2ZNffXVV/ryyy9VtWpVjRgxQmPGjLG7FKCjPDw89OWXX2r37t2qWrWqBg0apA8//DDdbcqWLatFixZpyZIlevDBBzV16lTbVVZ8fX2dWmvJkiU1evRovfHGGypatKg5V0TJAhYjI52oXMjly5eVL18+Xbp0KUVn/bi4OK1YsUJt27ZN0Q9JunWd8YiI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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1090,8 +1387,17 @@ "label = \"my first error \\ndetection algorithm\"\n", "ax = traval.plots.roc_plot(\n", " comp.bc.true_positive_rate, comp.bc.false_positive_rate, labels=label\n", - ")" + ")\n", + "ax.axis([-0.01, 1.01, -0.01, 1.01])\n", + "ax.legend(loc=\"lower right\");" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1110,7 +1416,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.10.12" } }, "nbformat": 4, diff --git a/examples/notebooks/ex02_full_dataset_test.ipynb b/examples/notebooks/ex02_full_dataset_test.ipynb index 265c52d..1bf1851 100644 --- a/examples/notebooks/ex02_full_dataset_test.ipynb +++ b/examples/notebooks/ex02_full_dataset_test.ipynb @@ -21,12 +21,12 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", + "import hydropandas as hpd\n", "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "import pystore\n", "from tqdm.notebook import tqdm\n", - "import hydropandas as hpd\n", + "\n", "import traval\n", "from traval import rulelib as rlib" ] @@ -116,9 +116,9 @@ " \"\"\"Get level below which sensor is dry from pystore.\"\"\"\n", " coll = store.collection(name)\n", " inhangdiepte_df = coll.item(\"Inhang.diepte\").to_pandas()\n", - " inhangdiepte = inhangdiepte_df.value.iloc[0]\n", + " # inhangdiepte = inhangdiepte_df.value.iloc[0]\n", " meetpuntNAP_df = coll.item(\"Meetpunt.hoogte\").to_pandas()\n", - " meetpuntNAP = meetpuntNAP_df.value.iloc[0]\n", + " # meetpuntNAP = meetpuntNAP_df.value.iloc[0]\n", " threshold_series = meetpuntNAP_df.value - inhangdiepte_df.value\n", " return threshold_series" ] @@ -265,7 +265,7 @@ "# initialize empty BinaryClassifier\n", "bc_sum = traval.BinaryClassifier(0, 0, 0, 0)\n", "\n", - "for k, dct in dlist.items():\n", + "for _, dct in dlist.items():\n", " # get TPR and FPR\n", " itpr = dct.comparisons[4].bc.true_positive_rate\n", " ifpr = dct.comparisons[4].bc.false_positive_rate\n", diff --git a/examples/notebooks/ex03_testing_rules.ipynb b/examples/notebooks/ex03_testing_rules.ipynb new file mode 100644 index 0000000..f2061e5 --- /dev/null +++ b/examples/notebooks/ex03_testing_rules.ipynb @@ -0,0 +1,2171 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Error detection rules included in traval\n", + "\n", + "This notebook shows simple examples of the error detection rules in `traval`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import traval\n", + "from traval import rulelib as rlib" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a very simple time series:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2020-01-01 0\n", + "2020-01-02 1\n", + "2020-01-03 2\n", + "2020-01-04 3\n", + "2020-01-05 4\n", + "2020-01-06 5\n", + "2020-01-07 6\n", + "2020-01-08 7\n", + "2020-01-09 8\n", + "2020-01-10 9\n", + "Freq: D, dtype: int64" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "s1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_ufunc_threshold`: float threshold\n", + "\n", + "Rule comparing series to threshold value." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-0625.05.0
2020-01-0726.05.0
2020-01-0827.05.0
2020-01-0928.05.0
2020-01-1029.05.0
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 2 5.0 5.0\n", + "2020-01-07 2 6.0 5.0\n", + "2020-01-08 2 7.0 5.0\n", + "2020-01-09 2 8.0 5.0\n", + "2020-01-10 2 9.0 5.0" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c1 = rlib.rule_ufunc_threshold(s1, (np.greater_equal,), 5)\n", + "assert (c1[\"correction_code\"] == 2).sum() == 5\n", + "c1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_ufunc_threshold`: threshold series\n", + "\n", + "Rule comparing series to threshold series." + ] + }, + { + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-0625.05.0
2020-01-0726.05.0
2020-01-0827.05.0
2020-01-0928.05.0
2020-01-1029.05.0
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 2 5.0 5.0\n", + "2020-01-07 2 6.0 5.0\n", + "2020-01-08 2 7.0 5.0\n", + "2020-01-09 2 8.0 5.0\n", + "2020-01-10 2 9.0 5.0" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_ufunc_threshold: series\n", + "idx = date_range[:3].to_list() + date_range[-4:-1].to_list()\n", + "thresh_series = pd.Series(index=idx, data=5.0)\n", + "full_threshold_series = traval.ts_utils.resample_short_series_to_long_series(\n", + " thresh_series, s1\n", + ")\n", + "c2 = rlib.rule_ufunc_threshold(s1, (np.greater_equal,), thresh_series)\n", + "assert (c2[\"correction_code\"] == 2).sum() == 5\n", + "c2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_diff_ufunc_threshold`\n", + "\n", + "Rule comparing diff of series to threshold value." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-0525.01.1
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-100NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 2 5.0 1.1\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 0 NaN NaN" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_diff_ufunc_threshold\n", + "s1.loc[date_range[4]] += 1\n", + "c3 = rlib.rule_diff_ufunc_threshold(s1, (np.greater_equal,), 1.1)\n", + "assert (c3[\"correction_code\"] == 2).sum() == 1\n", + "c3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_other_ufunc_threshold`\n", + "\n", + "Rule comparing other series to threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-01-20.05.0
2020-01-02-21.05.0
2020-01-03-22.05.0
2020-01-04-23.05.0
2020-01-05-24.05.0
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-100NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 -2 0.0 5.0\n", + "2020-01-02 -2 1.0 5.0\n", + "2020-01-03 -2 2.0 5.0\n", + "2020-01-04 -2 3.0 5.0\n", + "2020-01-05 -2 4.0 5.0\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 0 NaN NaN" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_other_ufunc_threshold\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "val = s1.copy()\n", + "c4 = rlib.rule_other_ufunc_threshold(s1, val, (np.less,), 5)\n", + "assert (c4[\"correction_code\"] == -2).sum() == 5\n", + "c4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_max_gradient`\n", + "\n", + "Rule that checks the maximum gradient between two values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-0525.01.0
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-100NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 2 5.0 1.0\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 0 NaN NaN" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_max_gradient\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "s1.loc[date_range[4]] += 1\n", + "c5 = rlib.rule_max_gradient(s1, max_step=1.0, max_timestep=\"1D\")\n", + "assert (c5[\"correction_code\"] == 2).sum() == 1\n", + "c5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_spike_detection`\n", + "\n", + "Rule that detects spikes, single observations that differ significantly from both\n", + "neighbors." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-05997.0NaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-100NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 99 7.0 NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 0 NaN NaN" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_spike_detection\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "s1.iloc[4] += 3\n", + "c6 = rlib.rule_spike_detection(s1, threshold=2, spike_tol=2)\n", + "assert (c6[\"correction_code\"] == 99).sum() == 1\n", + "c6" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_offset_detection`\n", + "\n", + "Rule that looks for periods that are offset relative to the rest of the time series." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010.0NaNNaN
2020-01-020.0NaNNaN
2020-01-030.0NaNNaN
2020-01-0499.0NaNNaN
2020-01-0599.0NaNNaN
2020-01-0699.0NaNNaN
2020-01-0799.0NaNNaN
2020-01-080.0NaNNaN
2020-01-090.0NaNNaN
2020-01-100.0NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0.0 NaN NaN\n", + "2020-01-02 0.0 NaN NaN\n", + "2020-01-03 0.0 NaN NaN\n", + "2020-01-04 99.0 NaN NaN\n", + "2020-01-05 99.0 NaN NaN\n", + "2020-01-06 99.0 NaN NaN\n", + "2020-01-07 99.0 NaN NaN\n", + "2020-01-08 0.0 NaN NaN\n", + "2020-01-09 0.0 NaN NaN\n", + "2020-01-10 0.0 NaN NaN" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_offset_detection\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "s1.iloc[3:7] += 10\n", + "c7 = rlib.rule_offset_detection(s1, threshold=5, updown_diff=2.0)\n", + "assert (c7[\"correction_code\"] == 99).sum() == 4\n", + "c7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_outside_n_sigma`\n", + "\n", + "Rule that checks if measurements are outside $N$ standard deviations of the time series." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-01-20.01.47235
2020-01-02-21.01.47235
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-0928.07.52765
2020-01-1029.07.52765
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 -2 0.0 1.47235\n", + "2020-01-02 -2 1.0 1.47235\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 2 8.0 7.52765\n", + "2020-01-10 2 9.0 7.52765" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_outside_n_sigma\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "c8 = rlib.rule_outside_n_sigma(s1, n=1.0)\n", + "assert (c8[\"correction_code\"] == -2).sum() == 2\n", + "assert (c8[\"correction_code\"] == 2).sum() == 2\n", + "c8" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_diff_outside_of_n_sigma`\n", + "\n", + "Rule that checks if the diff of a series lies outside of $N$ standard deviations of the\n", + "differences." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-0722.01.054093
2020-01-0822.01.054093
2020-01-0922.01.054093
2020-01-1022.01.054093
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 2 2.0 1.054093\n", + "2020-01-08 2 2.0 1.054093\n", + "2020-01-09 2 2.0 1.054093\n", + "2020-01-10 2 2.0 1.054093" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_diff_outside_of_n_sigma\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "s1.iloc[5:] += np.arange(5)\n", + "c9 = rlib.rule_diff_outside_of_n_sigma(s1, 2.0)\n", + "assert (c9[\"correction_code\"] == 2).sum() == 4\n", + "c9" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_outside_bandwidth`\n", + "\n", + "Rule checking values lie outside some given upper and lower thresholds." + ] + }, + { + "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", + "
correction_codeseries_valuescomparison_values
2020-01-01-20.01.000000
2020-01-02-21.01.111111
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-0928.07.888889
2020-01-1029.08.000000
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 -2 0.0 1.000000\n", + "2020-01-02 -2 1.0 1.111111\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 2 8.0 7.888889\n", + "2020-01-10 2 9.0 8.000000" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_outside_bandwidth\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "lb = pd.Series(index=date_range[[0, -1]], data=[1, 2])\n", + "ub = pd.Series(index=date_range[[0, -1]], data=[7, 8])\n", + "c10 = rlib.rule_outside_bandwidth(s1, lb, ub)\n", + "assert (c10[\"correction_code\"] == -2).sum() == 2\n", + "assert (c10[\"correction_code\"] == 2).sum() == 2\n", + "c10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_shift_to_manual_obs`\n", + "\n", + "Rule that corrects observations and shifts them to manual observations using linear\n", + "interpolation of the differences between the time series and the manual observations." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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RURExOmooIiIiIjTUUERERERp6OCIiIiIk5HBUVEREScjgqKiIiIOJ0qLyj33nsvgwYNqurdioiIiAvRERQRERFxOqYWlMWLF9O5c2dq165N3bp16devH/v27Tv3fHp6OhaLhdmzZ9OtWzd8fX1p1aoVa9asMTG1iIiIVDZTC0pBQQHPPPMMGzZs4Oeff8ZqtTJ48ODfLaU9evRonnvuObZu3UqzZs24/fbbKS8vNym1iIiIVDZ3M3f+pz/96bzPP/74Y0JCQkhNTSUxMfHc48899xx9+/YFYPz48SQkJLB3715iY2OrNK+IiIhUDVOPoOzbt4877riDxo0bExAQQHR0NACHDh0673UtW7Y899/h4eEAZGVlVV1QERERqVKmHkHp378/kZGRfPjhh0RERGC320lMTKS0tPS813l4eJz7b4vFAvC700AiIiJSfZhWUE6dOsXOnTv54IMPuOGGGwD45ZdfzIojIiIiTsS0glKnTh3q1q3LzJkzCQ8P59ChQ4wcOdKsOCIiIuJEqvwaFLvdjru7O1arla+++opNmzaRmJjI008/zauvvlrVcURERMQJWQzDMKpyh71796Zp06bMmDGjKncrIiIiLqTKjqBkZ2ezaNEili9fTvfu3atqtyIiIuKCquwalPvvv58NGzbw7LPPMnDgwKrarYiIiLigKj/FIyIiInIpWixQREREnI4KioiIiDidSikokydPpl27dvj7+xMSEsKgQYPYvXv3ea8xDIOXXnqJiIgIfHx86Nq1Kzt27Dj3/OnTp3niiSdo3rw5vr6+NGzYkCeffJKcnJzztpOdnc3QoUMJDAwkMDCQoUOHcubMmcoYloiIiFSRSikoK1asYNiwYaxdu5YlS5ZQXl5Oz549KSgoOPeaV155hWnTpjFjxgw2bNhAWFgYPXr0IC8vD4CjR49y9OhRXnvtNbZv387f//53Fi9ezAMPPHDevu644w62bt3K4sWLWbx4MVu3bmXo0KGVMSwRERGpIlVykeyJEycICQlhxYoV3HjjjRiGQUREBMOHD2fEiBEAlJSUEBoaytSpU3nkkUcuuJ1vvvmGu+66i4KCAtzd3dm5cyfx8fGsXbuWDh06ALB27Vquu+46du3aRfPmzSt7aCIiIlIJquQalP+clgkKCgLgwIEDZGZm0rNnz3Ov8fLyokuXLqxevfqi2wkICMDd/ezd0WvWrCEwMPBcOQHo2LEjgYGBF92OiIiIOLdKLyiGYfDMM8/QuXNnEhMTAcjMzAQgNDT0vNeGhoaee+5/nTp1iokTJ553dCUzM5OQkJDfvTYkJOQPtyMiIiLOr9Inanv88cf57bffLrhSscViOe9zwzB+9xhAbm4uffv2JT4+nnHjxl10GxfbjoiIiLiGSj2C8sQTTzB//nyWLVtGgwYNzj0eFhYG8LujHFlZWb87qpKXl0fv3r2pVasWc+bMwcPD47ztHD9+/Hf7PXHixO+2IyIiIq6jUgqKYRg8/vjjzJ49m6VLlxIdHX3e89HR0YSFhbFkyZJzj5WWlrJixQo6dep07rHc3Fx69uyJp6cn8+fPx9vb+7ztXHfddeTk5LB+/fpzj61bt46cnJzztiMiIiKupVLu4nnsscf44osvmDdv3nl30gQGBuLj4wPA1KlTmTx5MrNmzSImJoZJkyaxfPlydu/ejb+/P3l5efTo0YPCwkLmzJmDn5/fue3Uq1cPNzc3APr06cPRo0f54IMPAHj44YeJiopiwYIFjh6WiIiIVJFKKSh/dP3HrFmzuPfee4GzR1nGjx/PBx98QHZ2Nh06dOCdd945dyHt8uXL6dat2wW3c+DAARo1agScndDtySefZP78+QAMGDCAGTNmULt2bYeOSURERKqOFgsUERERp6O1eERERMTpqKCIiIiI01FBEREREaejgiIiIiJORwVFREREnI4KioiIiDgdFRQRERFxOiooIiIi4nRUUERERMTpqKCIiIiI01FBEREREafz/wC8+WnJLnL50AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# rule_shift_to_manual_obs\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "h = pd.Series(index=date_range[[1, -1]], data=[2, 10])\n", + "a = rlib.rule_shift_to_manual_obs(s1, h, max_dt=\"2D\", method=\"linear\")\n", + "assert (a.iloc[1:] == s1.iloc[1:] + 1).all()\n", + "assert a.iloc[0] == s1.iloc[0]\n", + "ax = s1.plot()\n", + "h.plot(ax=ax, marker=\"x\", ls=\"none\")\n", + "a.plot(ax=ax, ls=\"dashed\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_compare_to_manual_obs`\n", + "\n", + "Rule that compares a time series to manual observations. Values are marked as suspect\n", + "when the linear interpolated difference between the time series and the manual\n", + "observations exceeds some threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-08-2-1.250-1.0
2020-01-09-2-1.625-1.0
2020-01-10-2-2.000-1.0
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 -2 -1.250 -1.0\n", + "2020-01-09 -2 -1.625 -1.0\n", + "2020-01-10 -2 -2.000 -1.0" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAHTCAYAAACHn3qDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABZ0klEQVR4nO3deVxVdeL/8de9l1U2RRYFQcEdCUwrM1OrcSs1y63RpnJqWrXGNDOzzPSb5JI5ZTbpr21mWtxT09Gx0rSsdCwB9w3FDQkMEEG2+/n94cTEuIECh+X9fDx4FOeee+77c+/h3refc+69NmOMQURERKSS2K0OICIiIrWLyoeIiIhUKpUPERERqVQqHyIiIlKpVD5ERESkUql8iIiISKVS+RAREZFKpfIhIiIilUrlQ0RERCqVyoeIiIhUKpUPERERqVQqHyIiIlKpVD5ERESkUql8iIiISKVS+Shn3t7epKamWh3j6jiLIGkjJC46919nkdWJKs0tt9zCp59+WubrNWnShO+//74CElWMGrGfSoWYOHEijz32mNUxSu2xxx5j5syZVseQMnKxOkBNk52dbXWEq7NzOaweC1nH/7vMNwR6TYWoO63LJVds2LBhtGrViueee654WbXfTy/i5zdng8NO4BNPnH/ZnDlQ5CTwyREWJKtct9xyC4899hi///3vrY5SrtavX89jjz3G7t27i5f99a9/tTCRXCnNfJSTgoICqyNcvZ3LYcH9JYsHQNaJc8t3Lrcml1BYWGh1hOrBYSftjTfPFY3f+HnOHNLeeBMcesqzWo14rpSrZulfojGGnPzCCv8xxlw2i9Pp5KmnniIgIABfX1/atWtHWloaycnJ9O7dm/r169O6dWtWr15dfJ0mTZowbdo0WrZsSVRUFAA2m42UlBQATp06xdChQwkKCiIyMpIPP/yw+LrvvfcejRs3xtvbm6ZNm7Ju3bpyvnfLyFl0bsaDC91X/1m2+rmrPgRjs9l4++23CQ8PJyAggPnz5/P5558TGRlJUFAQ8+fPL1533rx5NG/eHB8fH2JiYli/fn3xZbfccguTJk3iuuuuw9fXlyFDhpCfnw/ABx98QK9evYrXPXToEB4eHsW/T548mcaNG+Pr60vHjh1JSEgoVfbExEQ6depE3bp1ue666847zPL111/TrFkzAgMDmThxYvHyzz//nJYtW+Lj40NYWBiffPIJAEVFRbz00ks0btyYBg0aMHr06OKSMXHiRO69917uuusuvL29iYuLo2nTpiVu74UXXmDEiBGXvK8+/PBDPvroI1566SW8vb2L1//tfpqcnEyvXr2oV68ebdq0YcWKFaW6n/fu3cvNN9+Mr68vAQEBjB49ulT3Y0UKfOIJAp56skQB+bV4BDz15AVnRMrqYs8VUPJ+hZKH8S62HwwbNoynnnqKTp064efnx+DBg0vMTC1atIg2bdrg7+/PnXfeWeJw2VdffVX82DRv3pyNGzcyefJkNm7cyLBhw/D29mbatGnnjSE3N5fHH3+cBg0aEB4eziuvvFLiefL06dP06dMHX19funfvzsmTJ8/dlz//zO23307dunWpV69eiZmVr7/+mvbt21O3bl1uueUWDhw4APz372/27NmEhITwyCOP0KxZMzZs2FB83QMHDuDv709BQQH79u2jS5cu1K1bl5CQEJ5//nng3N/L7bffzt69e/H29qZu3brF99+rr75avM6LL75IWFgYDRs2ZOTIkSWeF3r06MHjjz+Or68vbdq0Ydu2bZd9TKWCGAudySswjcd+XuE/Z/IKLpvln//8p2nfvr3JzMw0hYWFZuvWrSYzM9PExMSY2bNnm4KCArNp0yZTv359c+LECWOMMY0bNzYdO3Y0J0+eNLm5ucYYY4Diy++44w7z7LPPmrNnz5pdu3aZhg0bmm3btpns7Gzj4+Nj9u7da4wx5tChQ+bgwYMVdC+X0sENxrzke/mfgxuu6mYAc++995rc3FyzYMEC4+/vb4YNG2bOnDljli9fbgICAkxhYaExxpjPP//cHD582BQVFZm5c+ea4OBgc/bsWWOMMV27djXR0dHm8OHD5pdffjFRUVHmb3/7mzHGmPfff9/07Nmz+DaTkpKMu7t78e+LFi0yqamppqCgwLz44osmNja2+LKuXbuaTz755LzceXl5pnHjxmb27NkmPz/ffPLJJ6Z+/fomIyPDGHNuX7j++utNamqqOXDggGnUqJFZsWKFMcaY4OBg88033xhjjDlx4oTZsWOHMcaYadOmmW7dupmff/7Z/PLLL+aWW24xb7zxhjHGmJdeesl4eHiYtWvXGqfTac6ePWtCQ0PNli1bijO1aNHCbNiw4bL31QMPPGDi4uLOexx+3U87duxoxo4da86ePWu++uor4+PjU7w/Xup+vueee8yUKVOM0+k02dnZ5ocffijNLlApUt96y+xs2crsir7G7GzZyqS+9Va5bftCzxWnT582xpS8X40puT9dbD944IEHjL+/f/F2evToYUaPHm2MMeaHH34wYWFhJjEx0eTn55sxY8aY/v37G2OMOXDggPH19TUrVqwwhYWF5vDhw2bfvn3n3e6FPPfcc+a2224zp06dMocOHTLNmzc3f//7340x5/Y9Nzc3s2bNGpObm2v++Mc/mgEDBhhjjBk7dqx5/PHHTUFBgTl79qz59ttvjTHGHD582AQGBpqNGzeawsJC88Ybb5j27dsbp9NpkpKSjM1mM48//rjJzc01ubm5Zty4cWb48OHFeV555RXz4IMPGmOM2bt3r/n6669NQUGB2bt3rwkLCzNLly41xhizbt0607JlyxJj+e3+/de//tVER0ebo0ePmrS0NHPTTTeZyZMnG2POPS+4uLiYhQsXmsLCQjN+/Hhz2223XfYxlYqhOcj/cHV1JSsri927d2O322nXrh07d+6koKCA4cOH4+LiQseOHbnlllv45z//WXy9p59+mqCgoBL/sgZISUlh48aNTJkyBXd3d1q1asXQoUNZsmQJcO5fSImJieTl5dG4cWMiIiIqdbznyT5ZvutdwrPPPouHhwf9+/cnIyODJ554gjp16tC3b19Onz7N8ePnDvv07t2b8PBw7HY7Dz/8MDabjX379hVv5+GHHyY8PJy6devSu3dv4uPjS3X7AwYMIDAwEBcXF55//nkSEhIuew7E999/j8PhYPjw4bi6uvL73/+e5s2b869//at4nZEjRxIYGEhkZCSPPvooixcvBs7tW9u3byc7O5sGDRoUz5K9++67vPLKKwQEBFC3bl1Gjx7NokWLird322230a1bN2w2G+7u7gwaNIgFCxYAsG3bNs6cOcPNN99cqvvqYpKTk4mPj+fll1/G3d2dW2+9ld69e5fIcbH72dXVlaSkJFJSUvDy8uKGG24ozd1fKQKfeAKbqyumoACbq2u5zHj86kLPFd7e3qW63oX2Azi3T/66nRdffLF433nvvfcYMWIE0dHRuLq6MmHCBJYvX05hYSGffPIJ/fr1o0+fPjgcDsLDw2nWrFmpxjB//nwmTpxIvXr1aNy4MaNHjy6eiQHo2rUrPXr0wMPDg0mTJrFs2TIKCwtxdXXl2LFj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t7wSP+fD19eX6dOn0717dxo0aEB6enqpj2e3aNGC5557jptuuonY2Fh69vzvob3o6GgeeeQRYmJiaNKkCREREbi5uV12m25ubixbtoy///3v1K9fn1dffZXly5fj5+dXvM7dd9/NjTfeyPXXX8+wYcOKD0F8+OGHNG7cmHr16rF27Vr+8pe/APDMM89www03cNNNN+Hn50ffvn3Pm135X/fccw9fffVViUMul7uvHnzwQb799lvq1q3LU089dd42P/30U7Zu3UpQUBCPPvoof/vb3857Z82FbN68mfbt2+Pt7c3jjz/Oxx9/bP00dZHzgu9q+bWAUFS6v91LudBzxa8vnrNmzeKjjz7C39+frVu3Fp8TARffDwCGDh3K8OHDCQ0NxcvLq/jdUh07dmTq1Kncd999xe/C+PbbbwGIiIhg8eLFjB8/Hj8/P373u98VH6558skn+X//7/9Rr149ZsyYcd4YXnrpJSIjI4vzDx06lHvvvbf48gEDBjBr1iwCAgJISkpi9uzZwLl3ON166634+PjQu3dvZs2aRWhoKBEREXz88ceMHj0af39/WrVqxWeffXbJ+zEqKorAwEDS09Pp2rVr8fIJEybw5Zdf4uvry1NPPVVcxABat25Nnz59aNSoEQEBAedt85FHHqFPnz5cf/31tGnThmuvvZZnn332kjng0o+pVAybKc0/+6R2cRbB4U3nTi71Dj53qKWSZjxEapsLfQicSE2nTziV89kdENHZ6hQiIlJD6bCLiIiIVCoddhEREZFKpZkPERERqVSVfs6H0+nk+PHj+Pj4WP62PBERESkdYwynT58mJCQEu/3q5i4qvXwcP36csLCwyr5ZERERKQdHjhy56Kd7l1allw8fHx/gXHhfX9/KvnkRERG5AllZWYSFhRW/jl+NSi8fv/1gJJUPERGR6qU8TpnQCaciIiJSqVQ+REREpFKpfIiIiEilUvkQERGRSqXyISIiIpVK5UNEREQqlcqHiIiIVCqVDxEREalUKh8iIiJSqVQ+REREpFKpfIiIiMgF/fzmbH6eM6fct1vp3+0iIiIi1YTDTtobbwLg/oc/lNtmVT5ERETkggKfeAKAtDfe5Oyp0+W2XZUPERERuaj6jz3O1sO/UP/Dd8ttmzrnQ0RERC4oOT2H38/7nsdsbSmwO8ptu5r5EBERkRKMMXz0QzJTVu0i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O++8Ez8/P3x8fLjxxhtJTk62KG3ZXGps//uY/fozffp0CxOX3qXGlp2dzYgRI2jUqBGenp60bt2at99+28K0ZXOpsZ08eZJhw4YREhJCnTp16NWrF/v27bMwbRVkpMw+/fRT4+rqaubNm2d27txp/vznPxsvLy9z+PBhk5GRYbp162bmz59vdu/ebb777jvToUMH0759e6tjl8qlxmaMMR999JFZu3atOXDggNm+fbt56KGHjK+vr0lNTbU4+eVdbmy/Wrp0qYmNjTUhISHm9ddftyZsGV1ubA888IDp1auXOXHiRPFPenq6xalL53Jj279/v/H39zdjxowxP/74ozlw4ID5/PPPzcmTJy1OfnmXG9tvH68TJ06Y9957z9hsNnPgwAGLk1/e5cb2pz/9yTRt2tSsW7fOJCUlmXfeecc4HA7z2WefWZz88i41NqfTaW688UbTuXNns3nzZrN7927zyCOPmPDwcJOdnW119CpD5eMK3HDDDeaxxx4rsaxVq1bmueeeu+D6mzdvNsB5L3JVUVnHlpmZaQDzxRdfVEa8q1KasR09etSEhoaa7du3m8aNG1eb8nG5sT3wwAOmX79+FiS7epcb2z333GP+8Ic/WBHtqpX1761fv37mtttuq4xoV+1yY2vTpo2ZNGlSicvbtWtnXnjhhUrLeKUuNbY9e/YYwGzfvr34ssLCQuPv72/mzZtX2VGrrAo97HKpaaklS5bQs2dPAgICsNlsbNu2rSKjlJv8/Hy2bt1Kjx49Sizv0aMHmzZtuuB1MjMzsdls1K1btxISXrmyji0/P5+5c+fi5+dHbGxsZcW8IqUZm9Pp5L777mPMmDG0adPGiphXpLSP2/r16wkKCqJFixY8/PDDpKamVnbUMrvc2JxOJytXrqRFixb07NmToKAgOnTowGeffWZN4DIo69/byZMnWblyJQ899FBlRbxipRnbzTffzPLlyzl27BjGGNatW8fevXvp2bOnFZFL7XJjy8vLA8DDw6P4MofDgZubG998802lZr0SGzZsoG/fvoSEhGCz2c77WzLGMHHiREJCQvD09OSWW25hx44dZb6dCisf8+fPZ+TIkYwfP56ffvqJzp07c/vttxcfhz1z5gydOnXi1VdfragIFSItLY2ioiKCg4NLLA8ODiYlJeW89c+ePctzzz3H0KFDq/yHqpV2bJ9//jne3t54eHjw+uuvs3btWgICAio7bpmUZmxTp07FxcWFp556yoqIV6w0Y7v99tv56KOP+Oqrr3jttdfYsmULt912W/ETZVV1ubGlpqaSnZ3Nq6++Sq9evfjXv/7F3XffTf/+/fn6668tSl06ZX0u+fDDD/Hx8aF///6VFfGKlWZsb7zxBlFRUTRq1Ag3Nzd69erFnDlzuPnmm62IXGqXG1urVq1o3Lgx48aN45dffiE/P59XX32VlJQUTpw4YVHq0jtz5gyxsbHMnj37gpdPmzaNmTNnMnv2bLZs2UKDBg3o3r07p0+fLtPtVNh3u8ycOZOHHnqIP/3pTwDMmjWLNWvW8PbbbxMXF8d9990HwKFDhyoqQoWy2WwlfjfGnLesoKCA3//+9zidTubMmVOZ8a7K5cZ26623sm3bNtLS0pg3bx6DBw/mhx9+ICgoqLKjltnFxrZ161b+8pe/8OOPP563TnVxqcftnnvuKV4eHR3NddddR+PGjVm5cmW1eDG72NicTicA/fr14+mnnwagbdu2bNq0ib/+9a907dq10rOWVWmeSwDee+897r333hL/oq7qLjW2N954g++//57ly5fTuHFjNmzYwBNPPEHDhg3p1q2bFXHL5GJjc3V1ZfHixTz00EP4+/vjcDjo1q0bt99+u0VJy+b222+/aFZjDLNmzWL8+PHFzxsffvghwcHBfPzxxzz66KOlvp0Kmfm4kkMT1UVAQAAOh+O8f5mkpqaWaMIFBQUMHjyYpKQk1q5dW+VnPaD0Y/Py8qJZs2bceOONvPvuu7i4uPDuu+9WdtwyudzYNm7cSGpqKuHh4bi4uODi4sLhw4cZPXo0TZo0sSZ0KZX2cfuthg0b0rhx4yp/Bv7lxhYQEICLiwtRUVElLm/dunWVf7dLWR63jRs3smfPnuJ/zFV1lxtbbm4uzz//PDNnzqRv377ExMQwYsQI7rnnHmbMmGFR6tIpzePWvn17tm3bRkZGBidOnGD16tWkp6cTERFhReRyk5SUREpKSonXdnd3d7p27Vrm1/YKKR9lnU6sTtzc3Gjfvj1r164tsXzt2rXcdNNNwH+Lx759+/jiiy+oX7++FVHLrDRjuxBjTJWfvr/c2O677z4SEhLYtm1b8U9ISAhjxoxhzZo1FqUunSt53NLT0zly5AgNGzasjIhX7HJjc3Nz4/rrr2fPnj0lLt+7dy+NGzeuzKhlVpbH7d1336V9+/ZV/tyqX11ubAUFBRQUFJz37agOh6N4NquqKsvj5ufnR2BgIPv27ePf//43/fr1q8yo5e7X1+9yeW2viLNYjx07ZgCzadOmEsv/7//+z7Rs2bLEsqSkJAOYn376qSKiVIhf32b17rvvmp07d5qRI0caLy8vc+jQIVNQUGDuvPNO06hRI7Nt27YSb5PLy8uzOvplXWps2dnZZty4cea7774zhw4dMlu3bjUPPfSQcXd3L3Fmd1V1qbFdSHV6t8ulxnb69GkzevRos2nTJpOUlGTWrVtnOnbsaEJDQ01WVpbV0S/rco/bkiVLjKurq5k7d67Zt2+fefPNN43D4TAbN260OPnllWafzMzMNHXq1DFvv/22hUnL7nJj69q1q2nTpo1Zt26dOXjwoHn//feNh4eHmTNnjsXJL+9yY1uwYIFZt26dOXDggPnss89M48aNTf/+/S1OXXaAWbp0afHv3377rQHM8ePHS6z3pz/9yfTs2bNs2y6PgP8rLy/POBwOs2TJkhLLn3rqKdOlS5cSy6pj+TDGmLfeess0btzYuLm5mXbt2pmvv/7aGPPf8VzoZ926ddaGLqWLjS03N9fcfffdJiQkxLi5uZmGDRuaO++802zevNnixKV3sbFdSHUqH8ZcfGw5OTmmR48eJjAw0Li6uprw8HDzwAMPmOTkZIsTl97lHrd3333XNGvWzHh4eJjY2Nhq8VkRv7rc2N555x3j6elpMjIyLEp45S41thMnTphhw4aZkJAQ4+HhYVq2bGlee+0143Q6LUxcepca21/+8hfTqFGj4r+3F154oVr84/N//W/5OHDggAHMjz/+WGK9O++809x///1l2naFfbFchw4daN++fYkTLaOioujXrx9xcXHFyw4dOkRERAQ//fQTbdu2rYgoIiIiUkY2m42lS5dy1113AecOsYeEhPD000/z7LPPAufO8QwKCmLq1KllOuG0wt7tMmrUKO677z6uu+46OnbsyNy5c0lOTuaxxx4D4NSpUyQnJxd/7Pivx2wbNGhAgwYNKiqWiIiIXER2djb79+8v/j0pKYlt27bh7+9PeHg4I0eOZMqUKTRv3pzmzZszZcoU6tSpw9ChQ8t2Q1c9L3MJl5qWev/99y94aOKll16qyEgiIiJyEevWrbvga/MDDzxgjDHG6XSal156yTRo0MC4u7ubLl26mMTExDLfToUddhERERG5EH2rrYiIiFQqlQ8RERGpVCofIiIiUqlUPkRERKRSqXyIiIhIpSrX8jFs2LDiDyMRERERuRDNfIiIiEilqrDysXr1am6++Wbq1q1L/fr16dOnDwcOHCi+/NChQ9hsNpYsWcKtt95KnTp1iI2N5bvvvquoSCIiIlIFVFj5OHPmDKNGjWLLli18+eWX2O127r777vO+Lnn8+PE888wzbNu2jRYtWjBkyBAKCwsrKpaIiIhYrMK+22XAgAElfn/33XcJCgpi586dREdHFy9/5pln6N27NwAvv/wybdq0Yf/+/bRq1aqioomIiIiFKmzm48CBAwwdOpTIyEh8fX2JiIgAIDk5ucR6MTExxf/fsGFDAFJTUysqloiIiFiswmY++vbtS1hYGPPmzSMkJASn00l0dDT5+fkl1nN1dS3+f5vNBnDeoRkRERGpOSqkfKSnp7Nr1y7eeecdOnfuDMA333xTETclIiIi1UyFlI969epRv3595s6dS8OGDUlOTua5556riJsSERGRaqZcz/lwOp24uLhgt9v59NNP2bp1K9HR0Tz99NNMnz69PG9KREREqimbMcaU18Z69epFs2bNmD17dnltUkRERGqYcpn5+OWXX1i5ciXr16+nW7du5bFJERERqaHK5ZyPBx98kC1btjB69Gj69etXHpsUERGRGqpcD7uIiIiIXI6+WE5EREQqlcqHiIiIVKoyl4+4uDiuv/56fHx8CAoK4q677mLPnj0l1jHGMHHiREJCQvD09OSWW25hx44dxZefOnWKJ598kpYtW1KnTh3Cw8N56qmnyMzMLLGdX375hfvuuw8/Pz/8/Py47777yMjIuLKRioiISJVQ5vLx9ddfM3z4cL7//nvWrl1LYWEhPXr04MyZM8XrTJs2jZkzZzJ79my2bNlCgwYN6N69O6dPnwbg+PHjHD9+nBkzZpCYmMgHH3zA6tWreeihh0rc1tChQ9m2bRurV69m9erVbNu2jfvuu+8qhywiIiJWuuoTTn/++WeCgoL4+uuv6dKlC8YYQkJCGDlyJGPHjgUgLy+P4OBgpk6dyqOPPnrB7SxcuJA//OEPnDlzBhcXF3bt2kVUVBTff/89HTp0AOD777+nY8eO7N69m5YtW15NbBEREbHIVZ/z8euhEn9/fwCSkpJISUmhR48exeu4u7vTtWtXNm3adMnt+Pr64uJy7t2/3333HX5+fsXFA+DGG2/Ez8/vktsRERGRqu2qyocxhlGjRnHzzTcTHR0NQEpKCgDBwcEl1g0ODi6+7H+lp6czefLkErMiKSkpBAUFnbduUFDQRbcjIiIiVd9VfcjYiBEjSEhIuOA31tpsthK/G2POWwaQlZVF7969iYqK4qWXXrrkNi61HREREakernjm48knn2T58uWsW7eORo0aFS9v0KABwHmzE6mpqefNhpw+fZpevXrh7e3N0qVLcXV1LbGdkydPnne7P//883nbERERkeqjzOXDGMOIESNYsmQJX331FRERESUuj4iIoEGDBqxdu7Z4WX5+Pl9//TU33XRT8bKsrCx69OiBm5sby5cvx8PDo8R2OnbsSGZmJps3by5e9sMPP5CZmVliOyIiIlK9lPndLk888QQff/wxy5YtK/GOEz8/Pzw9PQGYOnUqcXFxvP/++zRv3pwpU6awfv169uzZg4+PD6dPn6Z79+7k5OSwdOlSvLy8ircTGBiIw+EA4Pbbb+f48eO88847ADzyyCM0btyYFStWXPXARURExBplLh8XO9/i/fffZ9iwYcC52ZGXX36Zd955h19++YUOHTrw1ltvFZ+Uun79em699dYLbicpKYkmTZoA5z6M7KmnnmL58uUA3HnnncyePZu6deuWJbKIiIhUIfpiOREREalU+m4XERERqVQqHyIiIlKpVD5ERESkUql8iIiISKVS+RAREZFKpfIhIiIilUrlQ0RERCqVyoeIiIhUKpUPERERqVQqHyIiIlKpVD5ERESkUv1/AYOT60h23fwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# rule compare_to_manual_obs\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "h = pd.Series(index=date_range[[1, -1]], data=[2, 7])\n", + "c11 = rlib.rule_compare_to_manual_obs(\n", + " s1, h, threshold=1.0, max_dt=\"2D\", method=\"linear\"\n", + ")\n", + "ax = s1.plot(label=\"series\")\n", + "h.plot(ax=ax, marker=\"o\", ls=\"none\", label=\"manual observations\")\n", + "s1.loc[c11[\"correction_code\"] != 0].plot(\n", + " ax=ax, marker=\"x\", ls=\"none\", label=\"suspect observations\", c=\"C3\"\n", + ")\n", + "ax.legend(loc=(0, 1), frameon=False, ncol=3, fontsize=\"small\")\n", + "c11" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_combine_corrections_or`\n", + "\n", + "Rule for combining results of any number of other rules. Observations are suspect if\n", + "ANY rule flags an observation as suspect." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-0199NaNNaN
2020-01-020NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-1099NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 99 NaN NaN\n", + "2020-01-02 0 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 99 NaN NaN" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_combine_corrections_or\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.DataFrame(index=date_range, columns=[\"correction_code\"], data=0)\n", + "s2 = s1.copy()\n", + "s1.iloc[0] = 99\n", + "s2.iloc[-1] = -2\n", + "c11 = rlib.rule_combine_corrections_or(s1, s2)\n", + "assert (c11[\"correction_code\"] == 99).sum() == 2\n", + "c11" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_combine_corrections_and`\n", + "\n", + "Rule for combining results of any number of other rules. Observations are suspect if\n", + "ALL rules flag an observation as suspect." + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-010NaNNaN
2020-01-0299NaNNaN
2020-01-030NaNNaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-090NaNNaN
2020-01-100NaNNaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 0 NaN NaN\n", + "2020-01-02 99 NaN NaN\n", + "2020-01-03 0 NaN NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 0 NaN NaN\n", + "2020-01-10 0 NaN NaN" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_combine_corrections_and\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.DataFrame(index=date_range, columns=[\"correction_code\"], data=0)\n", + "s2 = s1.copy()\n", + "s1.iloc[0:2] = 99\n", + "s2.iloc[1:3] = -2\n", + "c12 = rlib.rule_combine_corrections_and(s1, s2)\n", + "assert (c12[\"correction_code\"] == 99).sum() == 1\n", + "c12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_funcdict`\n", + "\n", + "Rule that takes a dictionary of functions and applies those iteratively to the original\n", + "time series. Observations are suspect if any rule flags an observation as suspect." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-01990.0NaN
2020-01-02991.0NaN
2020-01-03992.0NaN
2020-01-040NaNNaN
2020-01-050NaNNaN
2020-01-060NaNNaN
2020-01-070NaNNaN
2020-01-080NaNNaN
2020-01-09998.0NaN
2020-01-10999.0NaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 99 0.0 NaN\n", + "2020-01-02 99 1.0 NaN\n", + "2020-01-03 99 2.0 NaN\n", + "2020-01-04 0 NaN NaN\n", + "2020-01-05 0 NaN NaN\n", + "2020-01-06 0 NaN NaN\n", + "2020-01-07 0 NaN NaN\n", + "2020-01-08 0 NaN NaN\n", + "2020-01-09 99 8.0 NaN\n", + "2020-01-10 99 9.0 NaN" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_funcdict_to_nan\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "s1 = pd.Series(index=date_range, data=np.arange(10))\n", + "fdict = {\"lt_3\": lambda s: s < 3.0, \"gt_7\": lambda s: s > 7.0}\n", + "c13 = rlib.rule_funcdict(s1, fdict)\n", + "assert (c13[\"correction_code\"] == 99).sum() == 5\n", + "c13" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `rule_keep_comments`\n", + "\n", + "Rule that keeps observations that have some comment associated with it. Can be used to\n", + "filter validated time series comments to obtain specific observations." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "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", + "
correction_codeseries_valuescomparison_values
2020-01-01990.0keep
2020-01-02991.0keep
2020-01-03992.0keep
2020-01-04993.0keep
2020-01-050NaN
2020-01-060NaN
2020-01-070NaN
2020-01-080NaN
2020-01-090NaN
2020-01-100NaN
\n", + "
" + ], + "text/plain": [ + " correction_code series_values comparison_values\n", + "2020-01-01 99 0.0 keep\n", + "2020-01-02 99 1.0 keep\n", + "2020-01-03 99 2.0 keep\n", + "2020-01-04 99 3.0 keep\n", + "2020-01-05 0 NaN \n", + "2020-01-06 0 NaN \n", + "2020-01-07 0 NaN \n", + "2020-01-08 0 NaN \n", + "2020-01-09 0 NaN \n", + "2020-01-10 0 NaN " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# rule_keep_comments\n", + "date_range = pd.date_range(\"2020-01-01\", freq=\"D\", periods=10)\n", + "raw = pd.Series(index=date_range, data=np.arange(10), dtype=float)\n", + "comments = [\"keep\"] * 4 + [\"\"] * 3 + [\"discard\"] * 3\n", + "comment_series = pd.Series(index=raw.index, data=comments)\n", + "c14 = rlib.rule_keep_comments(raw, [\"keep\"], comment_series)\n", + "assert (c14[\"correction_code\"] == 99).sum() == 4\n", + "assert (c14[\"comparison_values\"] == \"keep\").sum() == 4\n", + "c14" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "artesia", + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/pyproject.toml b/pyproject.toml index a0db3bb..0477869 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "traval" dynamic = ["version"] -description = "Python package for applying automatic error detection algorithms to timeseries. Create custom error detection algorithms to support data validation workflows." +description = "Python package for applying automatic error detection algorithms to time series. Create custom error detection algorithms to support data validation workflows." license = { file = "LICENSE" } readme = "readme.md" authors = [{ name = "D.A. Brakenhoff" }] @@ -66,10 +66,23 @@ packages = ["traval"] [tool.setuptools.dynamic] version = { attr = "traval.version.__version__" } -[tool.black] +[tool.ruff] line-length = 88 +extend-include = ["*.ipynb"] -[tool.isort] -profile = "black" -src_paths = ["traval"] -line_length = 88 +[tool.ruff.lint] +# See: https://docs.astral.sh/ruff/rules/ +select = [ + "C4", # flake8-comprehensions + "E", # pycodestyle + "F", # pyflakes + "I", # isort + "PT", # pytest-style + "D", # pydocstyle + "B", # flake8-bugbear + "NPY", # numpy +] +ignore = ["D100", "D102", "D103", "D401"] + +[tool.ruff.lint.pydocstyle] +convention = "numpy" diff --git a/readme.md b/readme.md index f3e57de..6e34fa1 100644 --- a/readme.md +++ b/readme.md @@ -6,63 +6,71 @@ # traval -Tools for applying automatic error detection algorithms to timeseries. +Tools for applying automatic error detection algorithms to time series. ## Introduction -This module is set up to provide tools for applying any error detection -algorithm to any timeseries. The module consists of three main components: +This module is set up to provide tools for applying any error detection +algorithm to any time series. The module consists of three main components: -- `RuleSet`: the RuleSet object is a highly flexible object for defining error detection algorithms based on (user-defined) functions. -- `Detector`: a data management object for storing timeseries and error detection results. -- `SeriesComparison*`: objects for comparing timeseries. These objects include plots for visualizing the comparisons. +- `RuleSet`: the RuleSet object is a highly flexible object for defining error + detection algorithms based on (user-defined) functions. +- `Detector`: a data management object for storing time series and error detection + results. +- `SeriesComparison*`: objects for comparing time series. These objects include plots + for visualizing the comparisons. The general workflow consists of the following steps: -1. Define error detection algorithm(s). -2. Load data, i.e. raw timeseries data and optionally timeseries representing the "truth" to see how well the algorithms perform. -3. Initialize Detector objects and apply algorithms to timeseries. -4. Store and analyze the results. +1. Define error detection algorithm(s). +2. Load data, i.e. raw time series data and optionally time series representing the + "truth" to see how well the algorithms perform. +3. Initialize Detector objects and apply algorithms to time series. +4. Store and analyze the results. -For more detailed information and examples, please refer to the notebooks in +For more detailed information and examples, please refer to the notebooks in the examples directory. ## Installation To install the traval module, follow these steps: -1. Clone the repository from GitHub. -2. Open a terminal and navigate to the module root directory: `/traval` -3. Type `pip install -e .` +1. Clone the repository from GitHub. +2. Open a terminal and navigate to the module root directory: `/traval` +3. Type `pip install -e .` ## Usage -The basic usage of the module is described below. To start using the module, +The basic usage of the module is described below. To start using the module, import the package: ```python ->>> import traval +import traval ``` -The first step is generally to define an error detection algorithm. This is +The first step is generally to define an error detection algorithm. This is done with the `RuleSet` object: ```python ->>> ruleset = traval.RuleSet("my_first_algorithm") +ruleset = traval.RuleSet("my_first_algorithm") ``` -Add a detection rule (using a general rule from the library contained within +Add a detection rule (using a general rule from the library contained within the module). In this case the rule states any value above 10.0 is suspect: ```python ->>> ruleset.add_rule("rule1", traval.rulelib.rule_ufunc_threshold , apply_to=0, - kwargs={"ufunc": (np.greater,), "threshold": 10.0}) +ruleset.add_rule( + "rule1", + traval.rulelib.rule_ufunc_threshold, + apply_to=0, + kwargs={"ufunc": (np.greater,), "threshold": 10.0} +) ``` Take a look at the ruleset by just typing `ruleset`: ```python ->>> ruleset +ruleset ``` ```text @@ -71,25 +79,25 @@ RuleSet: 'my_first_algorithm' 1: rule1 0 ``` -Next define a Detector object. This object is designed to store a timeseries -and the intermediate and final results after applying an error detection -algorithm. Initialize the Detector object with some timeseries. In this example -we assume there is a timeseries called `raw_series`: +Next define a Detector object. This object is designed to store a time series +and the intermediate and final results after applying an error detection +algorithm. Initialize the Detector object with some time series. In this example +we assume there is a time series called `raw_series`: ```python >>> detect = traval.Detector(raw_series) ``` -Apply our first algorithm to the timeseries. +Apply our first algorithm to the time series. ```python >>> detect.apply_ruleset(ruleset) ``` -By default, the result of each step in the algorithm is compared to the -original series and stored in the `detect.comparisons` attribute. Take a -look at the comparison between the raw data and the result of the error -detection algorithm. +By default, the result of each step in the algorithm is compared to the +original series and stored in the `detect.comparisons` attribute. Take a +look at the comparison between the raw data and the result of the error +detection algorithm. Since we only defined one step, step 1 represents the final result. @@ -97,7 +105,7 @@ Since we only defined one step, step 1 represents the final result. >>> cp = detect.comparisons[1] # result of step 1 = final result ``` -The `SeriesComparison*` objects contain methods to visualize the comparison, +The `SeriesComparison*` objects contain methods to visualize the comparison, or summarize the number of observations in each category: ```python @@ -105,9 +113,9 @@ or summarize the number of observations in each category: >>> cp.summary # series containing number of observations in each category ``` -For more detailed explanation and more complex examples, see the notebook(s) +For more detailed explanation and more complex examples, see the notebook(s) in the examples directory. ## Author -- D.A. Brakenhoff, Artesia, 2020 +- D.A. Brakenhoff, Artesia, 2020 diff --git a/tests/test_001.py b/tests/test_001.py index b83ffc9..ba2dea7 100644 --- a/tests/test_001.py +++ b/tests/test_001.py @@ -1,2 +1,3 @@ +# ruff: noqa: D100 D103 def test_import(): - import traval + pass diff --git a/tests/test_002_ruleset.py b/tests/test_002_ruleset.py index f95790d..0306bcc 100644 --- a/tests/test_002_ruleset.py +++ b/tests/test_002_ruleset.py @@ -1,19 +1,21 @@ +# ruff: noqa: D100 D103 import numpy as np import pandas as pd + import traval from traval.ruleset import RuleSet def func1(s): mask = s > 10 - s = pd.Series(index=s.index, data=0.0) + s = pd.DataFrame(index=s.index, data=0.0, columns=["correction_code"]) s.loc[mask] = np.nan return s def func2(s, val): mask = s < val - s = pd.Series(index=s.index, data=0.0) + s = pd.DataFrame(index=s.index, data=0.0, columns=["correction_code"]) s.loc[mask] = np.nan return s @@ -32,76 +34,80 @@ def func4(*args): return result -def test_init(): +def get_empty_ruleset(): + return RuleSet(name="test") + + +def get_filled_ruleset(): rset = traval.RuleSet(name="test") + rset.add_rule("gt10", func1, apply_to=0) + rset.add_rule("less_than_value", func2, apply_to=1, kwargs={"val": 0}) return rset +def test_init(): + _ = traval.RuleSet(name="test") + + def test_add_rules(): - rset = test_init() + rset = traval.RuleSet(name="test") rset.add_rule("gt10", func1, apply_to=0) rset.add_rule("less_than_value", func2, apply_to=1, kwargs={"val": 0}) - return rset def test_update_rules(): - rset = test_add_rules() + rset = traval.RuleSet(name="test") + rset.add_rule("gt10", func1, apply_to=0) + rset.add_rule("less_than_value", func2, apply_to=1, kwargs={"val": 0}) rset.update_rule("less_than_value", func2, apply_to=1, kwargs={"val": func3}) - return rset def test_to_dataframe(): - rset = test_add_rules() - rdf = rset.to_dataframe() - return rdf + rset = get_filled_ruleset() + _ = rset.to_dataframe() def test_applyself_static_kwargs(): series = pd.Series(index=range(10), data=range(-5, 23, 3), name="test_series") - rset = test_add_rules() + rset = get_filled_ruleset() _, _ = rset(series) - return def test_applyself_callable_kwargs(): series = pd.Series(index=range(10), data=range(-5, 23, 3), name="test_series") - rset = test_update_rules() + rset = get_filled_ruleset() + rset.update_rule("less_than_value", func2, apply_to=1, kwargs={"val": func3}) _, _ = rset(series) - return def test_applyself_combine(): - rset = test_init() + rset = traval.RuleSet(name="test") rset.add_rule("+1", lambda s: s + 1, apply_to=0) rset.add_rule("add 0+1", func4, apply_to=(0, 1)) series = pd.Series(index=range(10), data=0.0, name="test_series") d, _ = rset(series) assert (d[len(d) - 1] == 1.0).all() - return d def test_del_rules(): - rset = test_add_rules() + rset = get_filled_ruleset() rset.del_rule("gt10") assert len(rset.rules) == 1 - return def test_to_from_pickle(): - rset = test_add_rules() + rset = get_filled_ruleset() rset.to_pickle("test.pkl") rset = RuleSet.from_pickle("test.pkl") import os os.remove("test.pkl") - return def test_to_from_json(): - rset = test_add_rules() + rset = get_filled_ruleset() rset.to_json("test.json") rset = RuleSet.from_json("test.json") import os os.remove("test.json") - return diff --git a/tests/test_003_detector.py b/tests/test_003_detector.py index 1b91318..e8588d1 100644 --- a/tests/test_003_detector.py +++ b/tests/test_003_detector.py @@ -1,22 +1,42 @@ +# ruff: noqa: D100 D103 import numpy as np import pandas as pd +from test_002_ruleset import get_filled_ruleset + import traval -from test_002_ruleset import test_add_rules + +def get_detector(): + s = pd.Series( + index=range(10), data=np.arange(-5, 23, 3, dtype=float), name="test_series" + ) + return traval.Detector(s) + + +def get_detector_with_result(): + d = get_detector() + rset = get_filled_ruleset() + t = pd.Series( + index=range(10), data=np.arange(-5, 23, 3, dtype=float), name="test_series" + ) + t[t < 0] = np.nan + t[t > 10] = np.nan + d = get_detector() + d.set_truth(t) + d.apply_ruleset(rset) + return d def test_init_detector(): s = pd.Series( index=range(10), data=np.arange(-5, 23, 3, dtype=float), name="test_series" ) - d = traval.Detector(s) - return d + traval.Detector(s) def test_repr(): - d = test_init_detector() + d = get_detector() d.__repr__() - return d def test_add_truth(): @@ -25,56 +45,53 @@ def test_add_truth(): ) t[t < 0] = np.nan t[t > 10] = np.nan - d = test_init_detector() + d = get_detector() d.set_truth(t) - return d def test_apply_ruleset(): - rset = test_add_rules() - d = test_add_truth() + rset = get_filled_ruleset() + t = pd.Series( + index=range(10), data=np.arange(-5, 23, 3, dtype=float), name="test_series" + ) + t[t < 0] = np.nan + t[t > 10] = np.nan + d = get_detector() + d.set_truth(t) d.apply_ruleset(rset) - return d def test_reset(): - d = test_apply_ruleset() + d = get_detector_with_result() d.reset() assert not hasattr(d, "ts_result") - return def test_confusion_matrix(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.confusion_matrix() - return def test_uniqueness(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.uniqueness() - return def test_plot_overview(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.plot_overview() - return def test_get_series(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.get_series(2, category="tp") - return def test_get_corrections(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.get_corrections_dataframe() - return def test_get_final_result(): - d = test_apply_ruleset() + d = get_detector_with_result() _ = d.get_final_result() - return diff --git a/tests/test_004_comparison.py b/tests/test_004_comparison.py index b7199cc..082fbae 100644 --- a/tests/test_004_comparison.py +++ b/tests/test_004_comparison.py @@ -1,5 +1,7 @@ +# ruff: noqa: D100 D103 import numpy as np import pandas as pd + import traval @@ -12,8 +14,7 @@ def test_series_comparison(): s2 = pd.Series(index=idx2, data=2.0) s2.loc["2020-04-01":"2020-04-30"] = np.nan - sc = traval.SeriesComparison(s1, s2) - return sc + _ = traval.SeriesComparison(s1, s2) def test_series_relative_comparison(): @@ -72,8 +73,6 @@ def test_series_relative_comparison(): for k, v in checkresult.items(): assert summary.loc[k] == v - return scr - def test_relative_comparison_stats(): base_idx = pd.date_range("2020-01-01", periods=110, freq="D") @@ -94,9 +93,6 @@ def test_relative_comparison_stats(): assert scr.bc.false_positive_rate + scr.bc.specificity == 1 assert scr.bc.false_negative_rate + scr.bc.sensitivity == 1 - return scr - -def test_confusion_matrix(): - cp = test_relative_comparison_stats() - return cp.bc.confusion_matrix() + # test confusion matrix + scr.bc.confusion_matrix() diff --git a/tests/test_005_plots.py b/tests/test_005_plots.py index 1181485..b8996dc 100644 --- a/tests/test_005_plots.py +++ b/tests/test_005_plots.py @@ -1,5 +1,7 @@ +# ruff: noqa: D100 D103 import numpy as np import pandas as pd + from traval import SeriesComparison, SeriesComparisonRelative @@ -20,10 +22,9 @@ def test_series_comparison_plot(): sc = SeriesComparison(s1, s2) - ax = sc.plots.plot_series_comparison( + sc.plots.plot_series_comparison( mark_different=True, mark_identical=True, mark_unique=True ) - return ax def test_relative_series_comparison_plot(): @@ -43,8 +44,6 @@ def test_relative_series_comparison_plot(): scr = SeriesComparisonRelative(s1, s2, b) - ax = scr.plots.plot_relative_comparison( + scr.plots.plot_relative_comparison( mark_unique=True, mark_different=True, mark_identical=True, mark_introduced=True ) - - return ax diff --git a/tests/test_006_rulelib.py b/tests/test_006_rulelib.py index efd945b..d37cbeb 100644 --- a/tests/test_006_rulelib.py +++ b/tests/test_006_rulelib.py @@ -1,6 +1,7 @@ +# ruff: noqa: D100 D103 import numpy as np import pandas as pd -import pytest + from traval import rulelib as rlib @@ -9,8 +10,7 @@ def test_rule_ufunc_threshold_float(): date_range = pd.date_range("2020-01-01", freq="D", periods=10) s1 = pd.Series(index=date_range, data=np.arange(10)) c1 = rlib.rule_ufunc_threshold(s1, (np.greater_equal,), 5) - assert c1.iloc[5:].isna().sum() == 5 - return c1 + assert (c1["correction_code"] == 2).sum() == 5 def test_rule_ufunc_threshold_series(): @@ -20,8 +20,7 @@ def test_rule_ufunc_threshold_series(): idx = date_range[:3].to_list() + date_range[-4:-1].to_list() thresh_series = pd.Series(index=idx, data=5.0) c2 = rlib.rule_ufunc_threshold(s1, (np.greater_equal,), thresh_series) - assert c2.iloc[5:].isna().sum() == 5 - return c2 + assert (c2["correction_code"] == 2).sum() == 5 def test_rule_diff_ufunc_threshold(): @@ -30,8 +29,7 @@ def test_rule_diff_ufunc_threshold(): s1 = pd.Series(index=date_range, data=np.arange(10)) s1.loc[date_range[4]] += 1 c3 = rlib.rule_diff_ufunc_threshold(s1, (np.greater_equal,), 1.1) - assert c3.iloc[4:5].isna().all() - return c3 + assert (c3["correction_code"] == 2).sum() == 1 def test_rule_other_ufunc_threshold(): @@ -40,8 +38,7 @@ def test_rule_other_ufunc_threshold(): s1 = pd.Series(index=date_range, data=np.arange(10)) val = s1.copy() c4 = rlib.rule_other_ufunc_threshold(s1, val, (np.less,), 5) - assert c4.iloc[:5].isna().sum() == 5 - return c4 + assert (c4["correction_code"] == -2).sum() == 5 def test_rule_max_gradient(): @@ -50,8 +47,7 @@ def test_rule_max_gradient(): s1 = pd.Series(index=date_range, data=np.arange(10)) s1.loc[date_range[4]] += 1 c5 = rlib.rule_max_gradient(s1, max_step=1.0, max_timestep="1D") - assert c5.iloc[4:5].isna().all() - return c5 + assert (c5["correction_code"] == 2).sum() == 1 def test_rule_spike_detection(): @@ -60,8 +56,7 @@ def test_rule_spike_detection(): s1 = pd.Series(index=date_range, data=np.arange(10)) s1.iloc[4] += 3 c6 = rlib.rule_spike_detection(s1, threshold=2, spike_tol=2) - assert c6.iloc[4:5].isna().all() - return c6 + assert (c6["correction_code"] == 99).sum() == 1 def test_offset_detection(): @@ -70,8 +65,7 @@ def test_offset_detection(): s1 = pd.Series(index=date_range, data=np.arange(10)) s1.iloc[3:7] += 10 c7 = rlib.rule_offset_detection(s1, threshold=5, updown_diff=2.0) - assert c7.iloc[3:7].isna().sum() == 4 - return c7 + assert (c7["correction_code"] == 99).sum() == 4 def test_rule_outside_n_sigma(): @@ -79,8 +73,8 @@ def test_rule_outside_n_sigma(): date_range = pd.date_range("2020-01-01", freq="D", periods=10) s1 = pd.Series(index=date_range, data=np.arange(10)) c8 = rlib.rule_outside_n_sigma(s1, n=1.0) - assert c8.iloc[[0, 1, 8, 9]].isna().sum() == 4 - return c8 + assert (c8["correction_code"] == -2).sum() == 2 + assert (c8["correction_code"] == 2).sum() == 2 def test_rule_diff_outside_of_n_sigma(): @@ -88,9 +82,8 @@ def test_rule_diff_outside_of_n_sigma(): date_range = pd.date_range("2020-01-01", freq="D", periods=10) s1 = pd.Series(index=date_range, data=np.arange(10)) s1.iloc[5:] += np.arange(5) - c9 = rlib.rule_diff_outside_of_n_sigma(s1, 1.0) - assert c9.iloc[6:].isna().sum() == 4 - return c9 + c9 = rlib.rule_diff_outside_of_n_sigma(s1, 2.0) + assert (c9["correction_code"] == 2).sum() == 4 def test_rule_outside_bandwidth(): @@ -100,8 +93,19 @@ def test_rule_outside_bandwidth(): lb = pd.Series(index=date_range[[0, -1]], data=[1, 2]) ub = pd.Series(index=date_range[[0, -1]], data=[7, 8]) c10 = rlib.rule_outside_bandwidth(s1, lb, ub) - assert c10.iloc[[0, 1, 8, 9]].isna().sum() == 4 - return c10 + assert (c10["correction_code"] == -2).sum() == 2 + assert (c10["correction_code"] == 2).sum() == 2 + + +def test_rule_compare_to_manual_obs(): + # rule_shift_to_manual_obs + date_range = pd.date_range("2020-01-01", freq="D", periods=10) + s1 = pd.Series(index=date_range, data=np.arange(10)) + h = pd.Series(index=date_range[[1, -1]], data=[2, 7]) + c11 = rlib.rule_compare_to_manual_obs( + s1, h, threshold=1.0, max_dt="2D", method="linear" + ) + assert (c11["correction_code"] == -2).sum() == 3 def test_rule_shift_to_manual_obs(): @@ -112,7 +116,6 @@ def test_rule_shift_to_manual_obs(): a = rlib.rule_shift_to_manual_obs(s1, h, max_dt="2D") assert (a.iloc[1:] == s1.iloc[1:] + 1).all() assert a.iloc[0] == s1.iloc[0] - return a def test_rule_combine_nan_or(): @@ -122,9 +125,18 @@ def test_rule_combine_nan_or(): s2 = s1.copy() s1.iloc[0] = np.nan s2.iloc[-1] = np.nan - c11 = rlib.rule_combine_nan_or(s1, s2) - assert c11.iloc[[0, -1]].isna().sum() == 2 - return c11 + c11a = rlib.rule_combine_nan_or(s1, s2) + assert c11a.iloc[[0, -1]].isna().sum() == 2 + + +def test_rule_combine_corrections_or(): + date_range = pd.date_range("2020-01-01", freq="D", periods=10) + s1 = pd.DataFrame(index=date_range, columns=["correction_code"], data=0) + s2 = s1.copy() + s1.iloc[0] = 99 + s2.iloc[-1] = -2 + c11b = rlib.rule_combine_corrections_or(s1, s2) + assert (c11b["correction_code"] == 99).sum() == 2 def test_rule_combine_nan_and(): @@ -134,9 +146,19 @@ def test_rule_combine_nan_and(): s2 = s1.copy() s1.iloc[0:2] = np.nan s2.iloc[1:3] = np.nan - c11 = rlib.rule_combine_nan_and(s1, s2) - assert c11.isna().sum() == 2 - return c11 + c12a = rlib.rule_combine_nan_and(s1, s2) + assert c12a.isna().sum() == 2 + + +def test_rule_combine_corrections_and(): + # rule_combine_nan + date_range = pd.date_range("2020-01-01", freq="D", periods=10) + s1 = pd.DataFrame(index=date_range, columns=["correction_code"], data=0) + s2 = s1.copy() + s1.iloc[0:2] = 99 + s2.iloc[1:3] = -2 + c12b = rlib.rule_combine_corrections_and(s1, s2) + assert (c12b["correction_code"] == 99).sum() == 1 def test_rule_funcdict_to_nan(): @@ -144,9 +166,8 @@ def test_rule_funcdict_to_nan(): date_range = pd.date_range("2020-01-01", freq="D", periods=10) s1 = pd.Series(index=date_range, data=np.arange(10)) fdict = {"lt_3": lambda s: s < 3.0, "gt_7": lambda s: s > 7.0} - c12 = rlib.rule_funcdict_to_nan(s1, fdict) - assert c12.iloc[[0, 1, 2, -2, -1]].isna().sum() == 5 - return c12 + c13 = rlib.rule_funcdict(s1, fdict) + assert (c13["correction_code"] == 99).sum() == 5 def test_rule_keep_comments(): @@ -155,16 +176,6 @@ def test_rule_keep_comments(): raw = pd.Series(index=date_range, data=np.arange(10), dtype=float) comments = ["keep"] * 4 + [""] * 3 + ["discard"] * 3 comment_series = pd.Series(index=raw.index, data=comments) - val = raw.copy() - val += 1.0 - val.loc[comment_series == "keep"] = np.nan - f = rlib.rule_keep_comments(raw, ["keep"], comment_series, val) - assert (f.loc[comment_series == "keep"] == 0).all() - assert (f.loc[comment_series != "keep"] == 1).all() - - -@pytest.mark.skip -def test_rule_pastas_outside_pi(): - # rule_pastas_outside_pi - # skip for now - pass + c14 = rlib.rule_keep_comments(raw, ["keep"], comment_series) + assert (c14["correction_code"] == 99).sum() == 4 + assert (c14["comparison_values"] == "keep").sum() == 4 diff --git a/tests/test_007_binaryclassifier.py b/tests/test_007_binaryclassifier.py index b8467c0..b548b3f 100644 --- a/tests/test_007_binaryclassifier.py +++ b/tests/test_007_binaryclassifier.py @@ -1,14 +1,15 @@ +# ruff: noqa: D100 D103 from pandas import Series + from traval import BinaryClassifier -def test_bc(): - bc = BinaryClassifier(9, 1, 9, 1) - return bc +def get_bc(): + return BinaryClassifier(9, 1, 9, 1) def test_all_stats(): - bc = test_bc() + bc = get_bc() stats = bc.get_all_statistics() answer = { "tp": 9.0, @@ -31,14 +32,12 @@ def test_all_stats(): "mcc": 0.8, } assert (stats == Series(answer)).all() - return def test_add(): - bc = test_bc() + bc = get_bc() bcsum = bc + bc assert bcsum.tp == 18 assert bcsum.fp == 2 assert bcsum.tn == 18 assert bcsum.fn == 2 - return diff --git a/tests/test_008_travalparameters.py b/tests/test_008_travalparameters.py index 85a2e8f..4910959 100644 --- a/tests/test_008_travalparameters.py +++ b/tests/test_008_travalparameters.py @@ -1,6 +1,8 @@ +# ruff: noqa: D100 D103 import os import numpy as np + from traval import RuleSet, TravalParameters, rulelib @@ -51,18 +53,17 @@ def get_ruleset2(): def test_tp_from_ruleset(): rset = get_ruleset1() - tp = TravalParameters.from_ruleset(rset) - return tp + TravalParameters.from_ruleset(rset) def test_tp_from_ruleset_w_locations(): rset = get_ruleset1() - tp = TravalParameters.from_ruleset(rset, locations=["loc1"]) - return tp + TravalParameters.from_ruleset(rset, locations=["loc1"]) def test_tp_get_parameters_defaults(): - tp = test_tp_from_ruleset() + rset = get_ruleset1() + tp = TravalParameters.from_ruleset(rset) _ = tp.get_parameters() # return all defaults _ = tp.get_parameters(rulename="gt10") # return all params for rule p3 = tp.get_parameters(rulename="gt10", parameter="threshold") # value @@ -76,11 +77,11 @@ def test_tp_get_parameters_defaults(): tp.get_parameters(rulename="gt10", parameter="non-existent-param") except KeyError: pass - return def test_tp_get_parameters_location_specific(): - tp = test_tp_from_ruleset_w_locations() + rset = get_ruleset1() + tp = TravalParameters.from_ruleset(rset, locations=["loc1"]) _ = tp.get_parameters() # return all defaults _ = tp.get_parameters(location="loc1") # return all for location # return loc params for rule @@ -100,7 +101,6 @@ def test_tp_get_parameters_location_specific(): ) except KeyError: pass - return def test_tp_to_from_csv(): @@ -112,7 +112,6 @@ def test_tp_to_from_csv(): mask = tp.defaults["value"].apply(lambda s: tp._test_callable(s)) assert (tp.defaults.loc[~mask].index == tp2.defaults.index).all() assert (tp.defaults.loc[~mask, "value"] == tp2.defaults.loc[~mask, "value"]).all() - return def test_tp_to_from_json(): @@ -124,7 +123,6 @@ def test_tp_to_from_json(): mask = tp.defaults["value"].apply(lambda s: tp._test_callable(s)) assert (tp.defaults.loc[~mask].index == tp2.defaults.index).all() assert (tp.defaults.loc[~mask, "value"] == tp2.defaults.loc[~mask, "value"]).all() - return def test_tp_to_from_pickle(): @@ -135,4 +133,3 @@ def test_tp_to_from_pickle(): os.remove("test.pkl") assert (tp.defaults.index == tp2.defaults.index).all() assert (tp.defaults["value"] == tp2.defaults["value"]).all() - return diff --git a/traval/binary_classifier.py b/traval/binary_classifier.py index bb653e7..563b3d8 100644 --- a/traval/binary_classifier.py +++ b/traval/binary_classifier.py @@ -53,7 +53,7 @@ def from_series_comparison_relative(cls, comparison): Parameters ---------- comparison : traval.SeriesComparisonRelative - object comparing two timeseries with base timeseries + object comparing two time series with base time series Returns ------- @@ -89,7 +89,7 @@ def from_confusion_matrix(cls, cmat): BinaryClassifier BinaryClassifier object based on values in confusion matrix. - See also + See Also -------- BinaryClassifier.confusion_matrix : for explanation (of abbreviations) """ @@ -154,7 +154,6 @@ def confusion_matrix(self, as_array=False): data : pd.DataFrame or np.array confusion matrix """ - # create array with data data = np.zeros((2, 2), dtype=int) # true positives = errors correctly identified @@ -192,7 +191,7 @@ def matthews_correlation_coefficient(self): phi : float the Matthews correlation coefficient - See also + See Also -------- mcc : convenience method for calculating MCC """ @@ -218,7 +217,7 @@ def mcc(self): phi : float the Matthews correlation coefficient - See also + See Also -------- matthews_correlation_coefficient : more information about the statistic """ @@ -268,7 +267,7 @@ def specificity(self): def true_positive_rate(self): """True Positive Rate. Synonym for sensitivity. - See sensitiviy for description. + See sensitivity for description. """ return self.sensitivity @@ -349,7 +348,7 @@ def accuracy(self): @property def prevalence(self): - """Prevalance of true errors in total population. + """Prevalence of true errors in total population. Prevalence = (TP + FN) / (TP + FP + FN + TN) @@ -434,7 +433,6 @@ def get_all_statistics(self, use_abbreviations=True): s : pandas.Series series containing all statistics """ - sdict = {} for k, v in self.stats_abbreviations.items(): if use_abbreviations: diff --git a/traval/detector.py b/traval/detector.py index 8762bf6..005b9e7 100755 --- a/traval/detector.py +++ b/traval/detector.py @@ -5,23 +5,29 @@ import pandas as pd from .ts_comparison import SeriesComparison, SeriesComparisonRelative -from .ts_utils import unique_nans_in_series +from .ts_utils import ( + corrections_as_float, + corrections_as_nan, + mask_corrections_modified_value, + mask_corrections_no_comparison_value, + unique_nans_in_series, +) class Detector: - """Detector object for applying error detection algorithms to timeseries. + """Detector object for applying error detection algorithms to time series. - The Detector is used to apply error detection algorithms to a timeseries + The Detector is used to apply error detection algorithms to a time series and optionally contains a 'truth' series, to which the error detection result can be compared. An example of a 'truth' series is a manually - validated timeseries. Custom error detection algorithms can be defined + validated time series. Custom error detection algorithms can be defined using the RuleSet object. Parameters ---------- series : pd.Series or pd.DataFrame - timeseries to check + time series to check truth : pd.Series or pd.DataFrame, optional series that represents the 'truth', i.e. a benchmark to which the error detection result can be compared, by default None @@ -29,15 +35,14 @@ class Detector: Examples -------- - - Given a timeseries 'series' and some ruleset 'rset': + Given a time series 'series' and some ruleset 'rset': >>> d = Detector(series) >>> d.apply_ruleset(rset) >>> d.plot_overview() - See also + See Also -------- traval.RuleSet : object for defining detection algorithms """ @@ -48,7 +53,7 @@ def __init__(self, series, truth=None): Parameters ---------- series : pd.Series or pd.DataFrame - timeseries to check + time series to check truth : pd.Series or pd.DataFrame, optional series that represents the 'truth', i.e. a benchmark to which the error detection result can be compared, by default None @@ -77,7 +82,7 @@ def _validate_input_series(series): Parameters ---------- series : object - timeseries to check, must be pd.Series or pd.DataFrame. Datatype + time series to check, must be pd.Series or pd.DataFrame. Datatype of series or first column of DataFrame must be float. Raises @@ -85,7 +90,6 @@ def _validate_input_series(series): TypeError if series or dtype of series does not comply """ - # check pd.Series or pd.DataFrame if isinstance(series, pd.Series): dtype = series.dtypes @@ -123,7 +127,7 @@ def apply_ruleset(self, ruleset, compare=True): for convenience. - See also + See Also -------- traval.RuleSet : object for defining detection algorithms """ @@ -238,8 +242,8 @@ def confusion_matrix(self, steps=None, truth=None): def uniqueness(self, truth=None): """Calculate unique contribution per rule to stats. - Note: the calculated statistics per rule contain an undercount, - i.e. when multiple rules mark the same observatin as suspect it is + Note: the calculated statistics per rule are under counted, + i.e. when multiple rules mark the same observation as suspect it is not contained in this result. Parameters @@ -388,7 +392,7 @@ def get_comment_series(self, steps=None): rulenames = [self.ruleset.get_step_name(i) for i in steps] # get corrections - corr = self.get_corrections_dataframe() + corr = self.get_corrections_dataframe(as_correction_codes=True) if corr.empty: corr = pd.DataFrame(index=self.series.index, columns=rulenames, data=0.0) @@ -397,8 +401,8 @@ def get_comment_series(self, steps=None): comments = [] for col in corr.columns: - s = corr[col].copy() - s = s.replace(0.0, "").replace(np.nan, col) + s = pd.Series(index=corr.index, data=col) + s.loc[corr[col] == 0] = "" comments.append(s) comments = pd.concat(comments, axis=1).apply( @@ -422,12 +426,12 @@ def get_results_dataframe(self): return df def get_final_result(self): - """Get final timeseries with flagged values set to NaN. + """Get final time series with flagged values set to NaN. Returns ------- series : pandas.Series - Timeseries produced by final step in RuleSet with flagged + time series produced by final step in RuleSet with flagged values set to NaN. """ key = len(self.results.keys()) - 1 @@ -435,29 +439,54 @@ def get_final_result(self): s.name = self.name return s - def get_corrections_dataframe(self): + def get_corrections_dataframe(self, as_correction_codes=False, as_addable_df=False): """Get DataFrame containing corrections. + Parameters + ---------- + as_correction_codes : bool, optional + return DataFrame with correction codes, by default False + as_addable_df : bool, optional + return DataFrame with corrections dataframe that you can add to the original + time series to obtain the final result. Corrections are NaN when errors are + detected, and nonzero where observations are shifted, and zero everywhere + else. + Returns ------- df : pandas.DataFrame - DataFrame containing corrections. NaN means value is flagged - as suspicious, 0.0 means no correction. + DataFrame containing corrections. """ + if as_correction_codes and as_addable_df: + raise ValueError( + "Only one of 'as_correction_codes' and 'as_addable_df' can be True!" + ) clist = [] for s in self.corrections.values(): if isinstance(s, np.ndarray): - s = pd.Series(dtype=float) - clist.append(s.fillna(-9999)) - - # corrections are nan, 0.0 means nothing is changed - df = ( - pd.concat(clist, axis=1) - .isna() - .astype(float) - .replace(0.0, np.nan) - .replace(1.0, 0.0) - ) + if as_addable_df: + s = pd.Series() + else: + s = pd.Series(name="correction_code") + elif isinstance(s, pd.DataFrame) and "correction_code" in s.columns: + if as_addable_df: + s = corrections_as_nan(s) + corrections_as_float(s) + else: + s = s["correction_code"] + elif isinstance(s, pd.Series): + if as_correction_codes: + s = mask_corrections_no_comparison_value(s, s.isna()).add( + mask_corrections_modified_value(s, s, (s.notnull() & s != 0.0)), + fill_value=0, + ) + s = s["correction_code"] + + clist.append(s) + + # corrections, 0 means nothing is changed, nan means value is missing + df = pd.concat(clist, axis=1) + if as_correction_codes: + df = df.infer_objects(copy=False).fillna(0).astype(int) df.columns = list(self.ruleset.rules.keys()) return df @@ -506,7 +535,7 @@ def get_corrections_comparison(self, truth=None): return df def plot_overview(self, mark_suspects=True, **kwargs): - """Plot timeseries with flagged values per applied rule. + """Plot time series with flagged values per applied rule. Parameters ---------- @@ -518,8 +547,6 @@ def plot_overview(self, mark_suspects=True, **kwargs): ax : list of matplotlib.pyplot.Axes axes objects """ - resultsdf = self.get_results_dataframe() - if "figsize" in kwargs: figsize = kwargs.pop("figsize") else: @@ -534,16 +561,17 @@ def plot_overview(self, mark_suspects=True, **kwargs): **kwargs, ) - for iax, icol in zip(axes, resultsdf): - iax.plot(resultsdf.index, resultsdf[icol], label=icol) + for icol, iax in enumerate(axes): + iresult = self.results[icol] + iax.plot(iresult.index, iresult, label=self.ruleset.get_step_name(icol)) if mark_suspects: - if icol != resultsdf.columns[0]: - corr = self.corrections[resultsdf.columns.get_loc(icol)] - if isinstance(corr, pd.Series): + if icol != 0: + icorr = self.corrections[icol] + if isinstance(icorr, pd.DataFrame): iax.plot( - corr.index, - resultsdf.loc[corr.index].iloc[:, 0], + icorr.index, + self.results[0].loc[icorr.index], marker="x", c="C3", ls="none", diff --git a/traval/params.py b/traval/params.py index d61e2a3..90a2749 100644 --- a/traval/params.py +++ b/traval/params.py @@ -409,7 +409,7 @@ def _combine_parameter_dfs(self): @staticmethod def _test_callable(f): - """Method to test whether parameter value is a callable. + """Test whether parameter value is a callable. Also returns True if callable is stored in a tuple. diff --git a/traval/plots.py b/traval/plots.py index 4d761fd..7edf91f 100755 --- a/traval/plots.py +++ b/traval/plots.py @@ -6,7 +6,7 @@ class ComparisonPlots: - """Mix-in class for plots for comparing timeseries.""" + """Mix-in class for plots for comparing time series.""" color_dict = { "only_in_s1": {"color": "orange"}, @@ -60,16 +60,16 @@ def reset_color_dict(self): def plot_series_comparison( self, mark_unique=True, mark_different=True, mark_identical=True, ax=None ): - """Plot comparison between two timeseries. + """Plot comparison between two time series. Parameters ---------- mark_unique : bool, optional mark unique values with colored X's, by default True mark_different : bool, optional - highlight where timeseries differ with red, by default True + highlight where time series differ with red, by default True mark_identical : bool, optional - highlight where timeseries are identical with green, + highlight where time series are identical with green, by default True ax : axis, optional axis object to plot on, by default None @@ -79,7 +79,6 @@ def plot_series_comparison( ax : axis axis object """ - if ax is None: fig, ax = plt.subplots(1, 1, figsize=(12, 5)) else: @@ -174,7 +173,7 @@ def plot_relative_comparison( mark_introduced=False, ax=None, ): - """Plot comparison between two timeseries relative to base timeseries. + """Plot comparison between two time series relative to base time series. Parameters ---------- @@ -185,7 +184,7 @@ def plot_relative_comparison( mark_identical : bool, optional highlight where series are identical with green, by default True mark_introduced : bool, optional - mark observations that are not in the base timeseries with X's, + mark observations that are not in the base time series with X's, by default False ax : axis, optional axis to plot on, by default None @@ -195,7 +194,6 @@ def plot_relative_comparison( ax : axis axis handle """ - ax = self.plot_series_comparison( mark_unique=mark_unique, mark_different=mark_different, @@ -479,7 +477,6 @@ def det_plot(fpr, fnr, labels, ax=None, **kwargs): ax : matplotlib.pyplot.Axes axes handle """ - if not isinstance(fpr, list): fpr = [fpr] if not isinstance(fnr, list): diff --git a/traval/rulelib.py b/traval/rulelib.py index 04024cb..6e12c9d 100755 --- a/traval/rulelib.py +++ b/traval/rulelib.py @@ -5,9 +5,16 @@ import pandas as pd from .ts_utils import ( + CorrectionCode, diff_with_gap_awareness, + get_empty_corrections_df, interpolate_series_to_new_index, - mask_corrections_as_nan, + mask_corrections_above_below, + mask_corrections_above_threshold, + mask_corrections_below_threshold, + mask_corrections_equal_value, + mask_corrections_no_comparison_value, + mask_corrections_not_equal_value, resample_short_series_to_long_series, smooth_lower_bound, smooth_upper_bound, @@ -15,7 +22,18 @@ ) -def rule_funcdict_to_nan(series, funcdict): +def _ufunc_corrections(series, ufunc, threshold, mask): + if "greater" in ufunc.__name__: + return mask_corrections_above_threshold(series, threshold, mask) + elif "less" in ufunc.__name__: + return mask_corrections_below_threshold(series, threshold, mask) + elif ufunc.__name__ == "equal": + return mask_corrections_equal_value(series, threshold, mask) + else: + return mask_corrections_not_equal_value(series, threshold, mask) + + +def rule_funcdict(series, funcdict): """Detection rule, flag values with dictionary of functions. Use dictionary of functions to identify suspect values and set @@ -24,17 +42,17 @@ def rule_funcdict_to_nan(series, funcdict): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified funcdict : dict dictionary with function names as keys and functions/methods as - values. Each function is applied to each value in the timeseries + values. Each function is applied to each value in the time series using `series.apply(func)`. Suspect values are those where the function evaluates to True. Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values (according to the provided functions) are set to np.nan. """ @@ -43,19 +61,19 @@ def rule_funcdict_to_nan(series, funcdict): mask = series.apply(func) else: mask = or_(mask, series.apply(func)) - return mask_corrections_as_nan(series, mask) + return mask_corrections_no_comparison_value(series, mask) def rule_max_gradient(series, max_step=0.5, max_timestep="1D"): """Detection rule, flag values when maximum gradient exceeded. - Set values tot NaN when maximum gradient between two - observations is exceeded. + Flag values when maximum gradient between two observations is exceeded. + Use negative max_step to flag values with negative gradient. Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified max_step : float, optional max jump between two observations within given timestep, by default 0.5 @@ -66,15 +84,19 @@ def rule_max_gradient(series, max_step=0.5, max_timestep="1D"): Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ - conversion = pd.Timedelta(max_timestep) / pd.Timedelta("1S") + conversion = pd.Timedelta(max_timestep) / pd.Timedelta("1s") grad = ( series.diff() / series.index.to_series().diff().dt.total_seconds() * conversion ) - mask = grad.abs() > max_step - return mask_corrections_as_nan(series, mask) + if max_step > 0.0: + mask = grad > max_step + return mask_corrections_above_threshold(series, max_step, mask) + else: + mask = grad < -max_step + return mask_corrections_below_threshold(series, max_step, mask) def rule_hardmax(series, threshold, offset=0.0): @@ -100,13 +122,13 @@ def rule_ufunc_threshold(series, ufunc, threshold, offset=0.0): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified ufunc : tuple tuple containing ufunc (i.e. (numpy.greater_equal,) ). The function must be callable according to `ufunc(series, threshold)`. The function is passed as a tuple to bypass RuleSet logic. threshold : float or pd.Series - value or timeseries to compare series with + value or time series to compare series with offset : float, optional value that is added to the threshold, e.g. if some extra tolerance is allowable. Default value is 0.0. @@ -114,16 +136,18 @@ def rule_ufunc_threshold(series, ufunc, threshold, offset=0.0): Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ ufunc = ufunc[0] if isinstance(threshold, pd.Series): full_threshold_series = resample_short_series_to_long_series(threshold, series) + threshold = full_threshold_series.add(offset) mask = ufunc(series, full_threshold_series.add(offset)) else: - mask = ufunc(series, threshold + offset) - return mask_corrections_as_nan(series, mask) + threshold = threshold + offset + mask = ufunc(series, threshold) + return _ufunc_corrections(series, ufunc, threshold, mask) def rule_diff_ufunc_threshold(series, ufunc, threshold, max_gap="7D"): @@ -142,13 +166,13 @@ def rule_diff_ufunc_threshold(series, ufunc, threshold, max_gap="7D"): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified ufunc : tuple tuple containing ufunc (i.e. (numpy.greater_equal,) ). The function must be callable according to `ufunc(series, threshold)`. The function is passed as a tuple to bypass RuleSet logic. threshold : float - value to compare diff of timeseries to + value to compare diff of time series to max_gap : str, optional only considers observations within this maximum gap between measurements to calculate diff, by default "7D". @@ -156,21 +180,20 @@ def rule_diff_ufunc_threshold(series, ufunc, threshold, max_gap="7D"): Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ ufunc = ufunc[0] # identify gaps and set diff value after gap to nan diff = diff_with_gap_awareness(series, max_gap=max_gap) - mask = ufunc(diff.abs(), threshold) - return mask_corrections_as_nan(series, mask) + mask = ufunc(diff, threshold) + return _ufunc_corrections(series, ufunc, threshold, mask) def rule_other_ufunc_threshold(series, other, ufunc, threshold): """Detection rule, flag values based on other series and threshold. - Set values to Nan based on comparison of another timeseries with a - threshold value. + Correct values based on comparison of another time series with a threshold value. The argument ufunc is a tuple containing an operator function (i.e. '>', '<', '>=', '<='). These are passed using their named equivalents, e.g. in @@ -181,44 +204,45 @@ def rule_other_ufunc_threshold(series, other, ufunc, threshold): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified, only used + time series in which suspect values are identified, only used to test if index of other overlaps other : pd.Series - other timeseries based on which suspect values are identified + other time series based on which suspect values are identified ufunc : tuple tuple containing ufunc (i.e. (numpy.greater_equal,) ). The function must be callable according to `ufunc(series, threshold)`. The function is passed as a tuple to bypass RuleSet logic. threshold : float - value to compare timeseries to + value to compare time series to Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ ufunc = ufunc[0] mask = ufunc(other, threshold) shared_idx = series.index.intersection(other.loc[mask].index) - return mask_corrections_as_nan(series, shared_idx) + other_values = other.reindex(series.index).loc[series.index] + return _ufunc_corrections(other_values, ufunc, threshold, shared_idx) def rule_spike_detection(series, threshold=0.15, spike_tol=0.15, max_gap="7D"): - """Detection rule, identify spikes in timeseries and set to NaN. + """Detection rule, identify spikes in time series and set to NaN. - Spikes are sudden jumps in the value of a timeseries that last 1 timestep. + Spikes are sudden jumps in the value of a time series that last 1 timestep. They can be both negative or positive. Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified threshold : float, optional the minimum size of the jump to qualify as a spike, by default 0.15 spike_tol : float, optional - offset between value of timeseries before spike and after spike, - by default 0.15. After a spike, the value of the timeseries is usually + offset between value of time series before spike and after spike, + by default 0.15. After a spike, the value of the time series is usually close to but not identical to the value that preceded the spike. Use this parameter to control how close the value has to be. max_gap : str, optional @@ -228,14 +252,14 @@ def rule_spike_detection(series, threshold=0.15, spike_tol=0.15, max_gap="7D"): Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ upspikes, downspikes = spike_finder( series, threshold=threshold, spike_tol=spike_tol, max_gap=max_gap ) mask = upspikes.index.union(downspikes.index) - return mask_corrections_as_nan(series, mask) + return mask_corrections_no_comparison_value(series, mask) def rule_offset_detection( @@ -257,7 +281,7 @@ def rule_offset_detection( Parameters ---------- series : pd.Series - timeseries in which to look for offset errors + time series in which to look for offset errors threshold : float, optional minimum jump to consider as offset error, by default 0.35 updown_diff : float, optional @@ -278,7 +302,7 @@ def rule_offset_detection( Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ verbose = False @@ -356,11 +380,19 @@ def rule_offset_detection( ] periods = [jump_df.index[0], series.index[-1]] - corrections = pd.Series( - index=series.index, data=np.zeros(series.index.size), fastpath=True + # manually compute corrections dataframe + corrections = pd.DataFrame( + index=series.index, + data={ + "correction_code": np.zeros(series.size, dtype=float), + "series_values": np.full(series.size, np.nan), + "comparison_values": np.full(series.size, np.nan), + }, ) for j in range(0, len(periods), 2): - corrections.loc[periods[j] : periods[j + 1] - pd.Timedelta(seconds=30)] = np.nan + corrections.loc[ + periods[j] : periods[j + 1] - pd.Timedelta(seconds=30), "correction_code" + ] = 99 if return_df: return corrections, df, jump_df else: @@ -368,27 +400,34 @@ def rule_offset_detection( def rule_outside_n_sigma(series, n=2.0): - """Detection rule, set values outside of n * standard deviation to NaN + """Detection rule, set values outside of n * standard deviation to NaN. Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified n : float, optional number of standard deviations to use, by default 2 Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ - - mask = (series > series.mean() + n * series.std()) | ( - series < series.mean() - n * series.std() + threshold_above = series.mean() + n * series.std() + mask_above = series > threshold_above + threshold_below = series.mean() - n * series.std() + mask_below = series < threshold_below + + return mask_corrections_above_below( + series, + mask_above, + threshold_above, + mask_below, + threshold_below, ) - return mask_corrections_as_nan(series, mask) def rule_diff_outside_of_n_sigma(series, n=2.0, max_gap="7D"): @@ -400,7 +439,7 @@ def rule_diff_outside_of_n_sigma(series, n=2.0, max_gap="7D"): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified n : float, optional number of standard deviations to use, by default 2 max_gap : str, optional @@ -410,15 +449,14 @@ def rule_diff_outside_of_n_sigma(series, n=2.0, max_gap="7D"): Returns ------- corrections: pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ - # identify gaps and set diff value after gap to nan diff = diff_with_gap_awareness(series, max_gap=max_gap) nsigma = n * diff.std() - mask = (diff.abs() - diff.mean()) > nsigma - return mask_corrections_as_nan(series, mask) + mask = diff.abs() > nsigma + return mask_corrections_above_threshold(diff, nsigma, mask) def rule_outside_bandwidth(series, lowerbound, upperbound): @@ -427,18 +465,18 @@ def rule_outside_bandwidth(series, lowerbound, upperbound): Parameters ---------- series : pd.Series - timeseries in which suspect values are identified + time series in which suspect values are identified lowerbound : pd.Series - timeseries containing the lower bound, if bound values are less + time series containing the lower bound, if bound values are less frequent than series, bound is interpolated to series.index upperbound : pd.Series - timeseries containing the upper bound, if bound values are less + time series containing the upper bound, if bound values are less frequent than series, bound is interpolated to series.index Returns ------- corrections : pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ if series.index.symmetric_difference(lowerbound.index).size > 0: @@ -446,8 +484,11 @@ def rule_outside_bandwidth(series, lowerbound, upperbound): if series.index.symmetric_difference(upperbound.index).size > 0: upperbound = interpolate_series_to_new_index(upperbound, series.index) - mask = (series > upperbound) | (series < lowerbound) - return mask_corrections_as_nan(series, mask) + mask_above = series > upperbound + mask_below = series < lowerbound + return mask_corrections_above_below( + series, mask_above, upperbound, mask_below, lowerbound + ) def rule_pastas_outside_pi( @@ -463,15 +504,15 @@ def rule_pastas_outside_pi( ): """Detection rule, flag values based on pastas model prediction interval. - Flag suspect outside prediction interval calculated by pastas timeseries + Flag suspect outside prediction interval calculated by pastas time series model. Uses a pastas.Model and a confidence interval as input. Parameters ---------- series : pd.Series - timeseries to identify suspect observations in + time series to identify suspect observations in ml : pastas.Model - timeseries model for series + time series model for series ci : float, optional confidence interval for calculating bandwidth, by default 0.95. Higher confidence interval means that bandwidth is wider and more @@ -495,34 +536,30 @@ def rule_pastas_outside_pi( Returns ------- corrections : pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Suspect values are set to np.nan. """ # no model if ml is None: if verbose: print("Warning: No Pastas model found!") - corrections = mask_corrections_as_nan( - series, pd.Series(index=series.index, data=False) - ) - corrections.name = "sim" - # no fit - elif ml.fit is None: + corrections = get_empty_corrections_df(series) + corrections.columns = ["sim", "series_values", "comparison_values"] + # no solver + elif ml.solver is None: if verbose: - print("Warning: Pastas model fit attribute is None!") - corrections = mask_corrections_as_nan( - series, pd.Series(index=series.index, data=False) - ) - corrections.name = "sim" + print("Warning: Model has no attribute solver!") + corrections = get_empty_corrections_df(series) + corrections.columns = ["sim", "series_values", "comparison_values"] # calculate pi else: - if tmin is not None: - ml.settings["tmin"] = tmin - if tmax is not None: - ml.settings["tmax"] = tmax + if tmin is None: + tmin = series.first_valid_index() + if tmax is None: + tmax = series.last_valid_index() # calculate prediction interval - pi = ml.fit.prediction_interval(alpha=(1 - ci)) + pi = ml.solver.prediction_interval(alpha=(1 - ci), tmin=tmin, tmax=tmax) # prediction interval empty if pi.empty: @@ -531,10 +568,8 @@ def rule_pastas_outside_pi( "Warning: calculated prediction interval with " "Pastas model is empty!" ) - corrections = mask_corrections_as_nan( - series, pd.Series(index=series.index, data=False) - ) - corrections.name = "sim" + corrections = get_empty_corrections_df(series) + corrections.columns = ["sim", "series_values", "comparison_values"] else: lower = pi.iloc[:, 0] upper = pi.iloc[:, 1] @@ -553,9 +588,15 @@ def rule_pastas_outside_pi( lower = lower - min_ci / 2.0 corrections = rule_outside_bandwidth(series, lower, upper) - corrections.name = "sim (r^2={0:.3f})".format(ml.stats.rsq()) + corrections.columns = [ + "correction_code", + "series_values", + "comparison_values", + ] + corrections.index.name = f"sim (r^2={ml.stats.rsq():.3f})" if savedir: + savedir.mkdir(exist_ok=True) pi.to_pickle(os.path.join(savedir, f"pi_{ml.name}.pkl")) return corrections @@ -567,80 +608,117 @@ def rule_pastas_percentile_pi( if ml is None: if verbose: print("Warning: No Pastas model found!") - corrections = mask_corrections_as_nan( - series, pd.Series(index=series.index, data=False) - ) - corrections.name = "sim" - # no fit - elif ml.fit is None: + corrections = get_empty_corrections_df(series) + corrections.columns = ["sim", "series_values", "comparison_values"] + # no solver + elif ml.solver is None: if verbose: - print("Warning: Pastas model fit attribute is None!") - corrections = mask_corrections_as_nan( - series, pd.Series(index=series.index, data=False) - ) - corrections.name = "sim" + print("Warning: Model has no solver attribute!") + corrections = get_empty_corrections_df(series) + corrections.columns = ["sim", "series_values", "comparison_values"] # calculate realizations # TODO: work in progress -def rule_keep_comments(series, keep_comments, comment_series, other_series): - """Filter rule, modify timeseries to keep data with certain comments. +def rule_keep_comments(series, keep_comments, comment_series): + """Filter rule, modify time series to keep data with certain comments. - This rule was invented to extract timeseries only containing certain + This rule was invented to extract time series only containing certain types of errors, based on labeled data. For example, to get only erroneous observations caused by sensors above the groundwater level: - - series: the raw timeseries + - series: the raw time series - keep_comments: list of comments to keep, e.g. ['dry sensor'] - - comment_series: timeseries containing the comments for erroneous obs - - other_series: the validated timeseries where the commented observations - were removed (set to NaN). + - comment_series: time series containing the comments for erroneous obs Parameters ---------- series : pd.Series - timeseries to filter + time series to filter keep_comments : list of str list of comments to keep comment_series : pd.Series - timeseries containing comments, should have same index as series - other_series : pd.Series - timeseries containing corrected/adjusted values corresponding - to the commmented entries. + time series containing comments, should have same index as series Returns ------- - corrections : pd.Series - timeseries containing NaN values where comment is in keep_comments + corrections : pd.DataFrame + dataframe containing correction code 99 where comment is in keep_comments and 0 otherwise. """ - new_series = series.copy() - for c in keep_comments: - mask = comment_series.str.startswith(c) - new_series.where(mask, other=other_series, inplace=True) + c = get_empty_corrections_df(series) + c["comparison_values"] = "" + for comment in keep_comments: + mask = comment_series.str.contains(comment) + c.loc[mask, "correction_code"] = CorrectionCode.UNKNOWN_COMPARISON_VALUE + c.loc[mask, "series_values"] = series.loc[mask] + c.loc[mask, "comparison_values"] = comment - corrections = new_series - series - corrections.name = "_".join(keep_comments) + return c - return corrections + +def rule_compare_to_manual_obs( + series, manual_obs, threshold=0.05, method="linear", max_dt="1D" +): + # check if time between manual obs and sensor obs + # are further apart than max_dt: + nearest = series.index.get_indexer(manual_obs.index, method="nearest") + mask = np.abs((series.index[nearest] - manual_obs.index).total_seconds()) <= ( + pd.Timedelta(max_dt) / pd.Timedelta("1s") + ) + + # interpolate raw obs to manual obs times + s_obs = ( + series.reindex(series.index.join(manual_obs.index, how="outer")) + .interpolate(method="time") + .loc[manual_obs.index] + ) + + # calculate diff (manual - sensor, i.e. positive value means + # manual observation is higher) + diff = -(s_obs - manual_obs) + + # use only diff where mask is True (= time between obs < max_dt) + diff = diff.loc[mask] + + # interpolate w/ method + if method == "linear": + diff_full_index = ( + diff.reindex(series.index.join(diff.index, how="outer"), method=None) + .interpolate(method="linear") + .fillna(0.0) + ) + else: + diff_full_index = diff.reindex(series.index, method=method).fillna(0.0) + + mask_above = diff_full_index.loc[series.index] > threshold + mask_below = diff_full_index.loc[series.index] < -threshold + + return mask_corrections_above_below( + diff_full_index.loc[series.index], + mask_above, + threshold, + mask_below, + -threshold, + ) def rule_shift_to_manual_obs( series, hseries, method="linear", max_dt="1D", reset_dates=None ): - """Adjustment rule, for shifting timeseries onto manual observations. + """Adjustment rule, for shifting time series onto manual observations. - Used for shifting timeseries based on sensor observations onto manual + Used for shifting time series based on sensor observations onto manual verification measurements. By default uses linear interpolation between two manual verification observations. Parameters ---------- series : pd.Series - timeseries to adjust + time series to adjust hseries : pd.Series - timeseries containing manual observations + time series containing manual observations method : str, optional method to use for interpolating between two manual observations, by default "linear". Other options are those that are accepted by @@ -656,15 +734,14 @@ def rule_shift_to_manual_obs( Returns ------- adjusted_series : pd.Series - timeseries containing adjustments to shift series onto manual + time series containing adjustments to shift series onto manual observations. """ # check if time between manual obs and sensor obs # are further apart than max_dt: - # nearest = hseries.index.map(lambda t: series.index[series.index.get_indexer([t], method="nearest")]) nearest = series.index.get_indexer(hseries.index, method="nearest") mask = np.abs((series.index[nearest] - hseries.index).total_seconds()) <= ( - pd.Timedelta(max_dt) / pd.Timedelta("1S") + pd.Timedelta(max_dt) / pd.Timedelta("1s") ) # interpolate raw obs to manual obs times @@ -674,8 +751,9 @@ def rule_shift_to_manual_obs( .loc[hseries.index] ) - # calculate diff - diff = s_obs - hseries + # calculate diff (manual - sensor, i.e. positive value means + # manual observation is higher) + diff = -(s_obs - hseries) # use only diff where mask is True (= time between obs < max_dt) diff = diff.loc[mask] @@ -694,13 +772,13 @@ def rule_shift_to_manual_obs( else: diff_full_index = diff.reindex(series.index, method=method).fillna(0.0) - adjusted_series = series - diff_full_index + adjusted_series = series + diff_full_index return adjusted_series def rule_combine_nan_or(*args): - """Combination rule, combine NaN values for any number of timeseries. + """Combination rule, combine NaN values for any number of time series. Used for combining intermediate results in branching algorithm trees to create one final result, i.e. (s1.isna() OR s2.isna()) @@ -708,7 +786,7 @@ def rule_combine_nan_or(*args): Returns ------- corrections : pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Contains NaNs where any of the input series values is NaN. """ @@ -720,8 +798,28 @@ def rule_combine_nan_or(*args): return result +def rule_combine_corrections_or(*args): + """Combination rule, combine corrections for any number of time series. + + Used for combining intermediate results in branching algorithm trees to + create one final result, i.e. (corr_s1 OR corr_s2) + + Returns + ------- + corrections : pd.Series + a series with same index as the input time series containing + corrections. Contains corrections where all of the input series + values contain corrections. + """ + for i, series in enumerate(args): + if i == 0: + c = get_empty_corrections_df(series) + c.loc[series["correction_code"] != 0, "correction_code"] = 99 + return c + + def rule_combine_nan_and(*args): - """Combination rule, combine NaN values for any number of timeseries. + """Combination rule, combine NaN values for any number of time series. Used for combining intermediate results in branching algorithm trees to create one final result, i.e. (s1.isna() AND s2.isna()) @@ -729,7 +827,7 @@ def rule_combine_nan_and(*args): Returns ------- corrections : pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Contains NaNs where any of the input series values is NaN. """ @@ -743,6 +841,29 @@ def rule_combine_nan_and(*args): return result +def rule_combine_corrections_and(*args): + """Combination rule, combine corrections for any number of time series. + + Used for combining intermediate results in branching algorithm trees to + create one final result, i.e. (corr_s1 AND corr_s2) + + Returns + ------- + corrections : pd.Series + a series with same index as the input time series containing + corrections. Contains corrections where all of the input series + values contain corrections. + """ + for i, series in enumerate(args): + if i == 0: + mask = series["correction_code"] != 0 + else: + mask = mask & (series["correction_code"] != 0) + c = get_empty_corrections_df(args[0]) + c.loc[mask, "correction_code"] = 99 + return c + + def rule_flat_signal( series, window, @@ -762,7 +883,7 @@ def rule_flat_signal( Parameters ---------- series : pd.Series - timeseries to analyse + time series to analyse window : int number of days in window min_obs : int @@ -779,16 +900,16 @@ def rule_flat_signal( limit. Only search for flat signals above this limit. By default None. hbelow : float, optional - absolute value in units of timeseries signifying an upper limit. + absolute value in units of time series signifying an upper limit. Only search for flat signals below this limit. By default None. habove : float, optional - absolute value in units of timeseries signifying a lower limit. + absolute value in units of time series signifying a lower limit. Only search for flat signals above this limit. By default None. Returns ------- corrections : pd.Series - a series with same index as the input timeseries containing + a series with same index as the input time series containing corrections. Contains NaNs where the signal is considered flat or dead. """ @@ -817,4 +938,4 @@ def rule_flat_signal( mask = stdmask & quantilemask & levelmask mask = mask.reindex(series.index, fill_value=False) - return mask_corrections_as_nan(series, mask) + return mask_corrections_no_comparison_value(series, mask) diff --git a/traval/ruleset.py b/traval/ruleset.py index 6839c90..d4e766b 100755 --- a/traval/ruleset.py +++ b/traval/ruleset.py @@ -12,6 +12,8 @@ class RuleSetEncoder(json.JSONEncoder): + """Encode values in RuleSet to JSON.""" + def default(self, o): if callable(o): return "func:" + o.__name__ @@ -39,7 +41,8 @@ def ruleset_hook(obj): val = getattr(rulelib, funcname) except AttributeError: warnings.warn( - f"Could not load function {funcname} " "from `traval.rulelib`!" + f"Could not load function {funcname} " "from `traval.rulelib`!", + stacklevel=1, ) val = funcname obj[key] = val @@ -49,7 +52,9 @@ def ruleset_hook(obj): try: val = getattr(np, funcname) except AttributeError: - warnings.warn(f"Could not load function {funcname} " "from `numpy`!") + warnings.warn( + f"Could not load function {funcname} " "from `numpy`!", stacklevel=1 + ) val = (funcname,) obj[key] = (val,) elif str(value).startswith("series:"): @@ -83,7 +88,7 @@ class RuleSet: The RuleSet object stores detection rules and other relevant information in a dictionary. The order in which rules are carried out, the functions - that parse the timeseries, the extra arguments required by those functions + that parse the time series, the extra arguments required by those functions are all stored together. The detection functions must take a series as the first argument, and @@ -103,7 +108,6 @@ class RuleSet: Examples -------- - Given two detection functions 'foo' and 'bar': >>> rset = RuleSet(name="foobar") @@ -144,21 +148,20 @@ def __call__(self, series): Parameters ---------- series : pandas.Series or pandas.DataFrame - timeseries to apply rules to + time series to apply rules to Returns ------- d : OrderedDict - Dictionary containing resulting timeseries after applying rules. + Dictionary containing resulting time series after applying rules. Keys represent step numbers (0 is the original series, 1 the outcome of rule #1, etc.) c : OrderedDict - Dictionary containing corrections to timeseries based on rules + Dictionary containing corrections to time series based on rules Keys represent step numbers (1 contains the corrections based on rule #1, etc.). When no correction is available, step contains the value 0. """ - return self._applyself(series) def add_rule(self, name, func, apply_to=None, kwargs=None): @@ -272,7 +275,7 @@ def get_parameters(self, name=None): @staticmethod def _parse_kwargs(kwargs, name=None): - """Internal method, parse keyword arguments dictionary. + """Internal method to parse keyword arguments dictionary. Iterates over keys, values in kwargs dictionary. If value is callable, calls value with 'name' as function argument. The result is stored @@ -290,7 +293,7 @@ def _parse_kwargs(kwargs, name=None): dict dictionary of parsed arguments """ - new_args = dict() + new_args = {} if kwargs is not None: for k, v in kwargs.items(): if callable(v): @@ -300,21 +303,21 @@ def _parse_kwargs(kwargs, name=None): return new_args def _applyself(self, series): - """Internal method, apply ruleset to series. + """Internal method to apply ruleset to series. Parameters ---------- series: pandas.Series or pandas.DataFrame - timeseries to apply rules to + time series to apply rules to Returns ------- d: OrderedDict - Dictionary containing resulting timeseries after applying rules. + Dictionary containing resulting time series after applying rules. Keys represent step numbers (0 is the original series, 1 the outcome of rule # 1, etc.) c: OrderedDict - Dictionary containing corrections to timeseries based on rules + Dictionary containing corrections to time series based on rules Keys represent step numbers(1 contains the corrections based on rule # 1, etc.). When no correction is available, step contains the value 0. @@ -329,8 +332,21 @@ def _applyself(self, series): arg_dict = self._parse_kwargs(irule["kwargs"], name) corr = irule["func"](d[int(irule["apply_to"])], **arg_dict) # store both correction and result - d[i] = d[int(irule["apply_to"])] + corr - c[i] = corr.loc[corr != 0.0].copy() + # support correction code based corrections + if isinstance(corr, pd.DataFrame) and "correction_code" in corr.columns: + d[i] = d[int(irule["apply_to"])].where( + corr["correction_code"] == 0, np.nan + ) + c[i] = corr.loc[corr["correction_code"] != 0.0].copy() + elif isinstance(corr, pd.Series): + # support nan-based corrections + d[i] = d[int(irule["apply_to"])] + corr + c[i] = corr.loc[corr != 0.0] + else: + raise TypeError( + "Corrections computed by rules must be pd.Series containing " + "NaNs or DataFrame containing a column named 'correction_code'." + ) # if apply_to is tuple, collect series as kwargs to func elif isinstance(irule["apply_to"], tuple): # collect results @@ -383,7 +399,7 @@ def to_pickle(self, fname, verbose=True): verbose : bool, optional prints message when operation complete, default is True - See also + See Also -------- from_pickle : load RuleSet from pickle file to_json : store RuleSet as json file (does not support custom functions) @@ -412,7 +428,7 @@ def from_pickle(cls, fname): RuleSet RuleSet object, including custom functions and parameters - See also + See Also -------- to_pickle : store RuleSet as pickle (supports custom functions) to_json : store RuleSet as json file (does not support custom functions) @@ -443,7 +459,7 @@ def to_json(self, fname=None, verbose=True): prints message when operation complete, default is True - See also + See Also -------- from_json : load RuleSet from json file to_pickle : store RuleSet as pickle (supports custom functions) @@ -453,7 +469,7 @@ def to_json(self, fname=None, verbose=True): "Custom functions will not be preserved when storing " "RuleSet as JSON file!" ) - warnings.warn(msg) + warnings.warn(msg, stacklevel=1) rules = deepcopy(self.rules) rules["name"] = self.name if fname is not None: @@ -486,7 +502,7 @@ def from_json(cls, fname): RuleSet: RuleSet object - See also + See Also -------- to_json : store RuleSet as JSON file (does not support custom functions) to_pickle : store RuleSet as pickle (supports custom functions) @@ -520,9 +536,9 @@ def get_resolved_ruleset(self, name): new_ruleset = deepcopy(self.rules) for rule in new_ruleset.values(): rule["kwargs"] = self._parse_kwargs(rule["kwargs"], name=name) - + # create new object with resolved parameters rset = RuleSet(name) rset.rules = new_ruleset - + return rset diff --git a/traval/ts_comparison.py b/traval/ts_comparison.py index 9a4689f..6c5a833 100755 --- a/traval/ts_comparison.py +++ b/traval/ts_comparison.py @@ -53,7 +53,7 @@ def idx_in_idx2(self): class SeriesComparison: - """Object for comparing two timeseries. + """Object for comparing two time series. Comparison yields the following categories: @@ -77,7 +77,7 @@ class SeriesComparison: """ def __init__(self, s1, s2, names=None, diff_threshold=0.0): - """Compare two timeseries. + """Compare two time series. Parameters ---------- @@ -86,7 +86,7 @@ def __init__(self, s1, s2, names=None, diff_threshold=0.0): s2 : pd.Series or pd.DataFrame second series to compare names : list of str, optional - list of names of timeseries, by default None, which + list of names of time series, by default None, which uses series name, or dataframe column name diff_threshold : float, optional value beyond which a difference is considered significant, by @@ -127,7 +127,7 @@ def __init__(self, s1, s2, names=None, diff_threshold=0.0): @staticmethod def _parse_series(series): - """Internal method to parse timeseries input. + """Internal method to parse time series input. Parameters ---------- @@ -138,7 +138,7 @@ def _parse_series(series): Returns ------- series, comments : pd.Series, pd.Series - returns timeseries and comment series. Comment series is empty + returns time series and comment series. Comment series is empty series if no comments are included in input Raises @@ -248,7 +248,6 @@ def compare_by_comment(self): ValueError if no comment series is found """ - if self.c2n.empty: raise ValueError("No comment series!") @@ -339,64 +338,63 @@ def _check_idx_comparison(self, return_missing=False): class SeriesComparisonRelative(SeriesComparison): - """Object for comparing two timeseries relative to a third timeseries. + """Object for comparing two time series relative to a third time series. Extends the SeriesComparison object to include a comparison between - two timeseries and a third base timeseries. This is used for example, when + two time series and a third base time series. This is used for example, when comparing the results of two error detection outcomes to the original - raw timeseries. + raw time series. Comparison yields both the results from SeriesComparison as well as the - following categories for the relative comparison to the base timeseries: + following categories for the relative comparison to the base time series: - - kept_in_both: both timeseries and the base timeseries contain values + - kept_in_both: both time series and the base time series contain values - flagged_in_s1: value is NaN/missing in series #1 - flagged_in_s2: value is NaN/missing in series #2 - flagged_in_both: value is NaN/missing in both series #1 and series #2 - - in_all_nan: value is NaN in all timeseries (series #1, #2 and base) + - in_all_nan: value is NaN in all time series (series #1, #2 and base) - introduced_in_s1: value is NaN/missing in base but has value in series #1 - introduced_in_s2: value is NaN/missing in base but has value in series #2 - introduced_in_both: value is NaN/missing in base but has value in both - timeseries + time series Parameters ---------- s1 : pd.Series or pd.DataFrame first series to compare truth : pd.Series or pd.DataFrame - second series to compare, if a "truth" timeseries is available - pass it as the second timeseries. Stored in object as 's2'. + second series to compare, if a "truth" time series is available + pass it as the second time series. Stored in object as 's2'. base : pd.Series or pd.DataFrame - timeseries to compare other two series with + time series to compare other two series with diff_threshold : float, optional value beyond which a difference is considered significant, by default 0.0. Two values whose difference is smaller than threshold are considered identical. - See also + See Also -------- - SeriesComparison : Comparison of two timeseries relative to each other + SeriesComparison : Comparison of two time series relative to each other """ def __init__(self, s1, truth, base, diff_threshold=0.0): - """Compare two timeseries relative to a base timeseries. + """Compare two time series relative to a base time series. Parameters ---------- s1 : pd.Series or pd.DataFrame first series to compare truth : pd.Series or pd.DataFrame - second series to compare, if a "truth" timeseries is available - pass it as the second timeseries. Stored in object as 's2'. + second series to compare, if a "truth" time series is available + pass it as the second time series. Stored in object as 's2'. base : pd.Series or pd.DataFrame - timeseries to compare other two series with + time series to compare other two series with diff_threshold : float, optional value beyond which a difference is considered significant, by default 0.0. Two values whose difference is smaller than threshold are considered identical. """ - # Do the original comparison between s1 and s2 super().__init__(s1, truth, diff_threshold=diff_threshold) @@ -417,9 +415,8 @@ def __init__(self, s1, truth, base, diff_threshold=0.0): self.bc = BinaryClassifier.from_series_comparison_relative(self) def _compare_series_to_base(self): - """Internal method for comparing two timseries to base timeseries.""" - - # where Nans in base timeseries + """Internal method for comparing two timseries to base time series.""" + # where Nans in base time series nanmask = self.basen.isna() # prepare some indices @@ -439,7 +436,7 @@ def _compare_series_to_base(self): self.idx_r_in_all_nan = self.basen.loc[nanmask].index.difference(s1s2_union) # self.idx_r_in_all_nan = self.basen.loc[nanmask].index.intersection( # self.idx_in_both_nan) # only where all are NaN - # counts for both NaNs and missing in base timeseries + # counts for both NaNs and missing in base time series self.idx_r_introduced_in_s1 = ( self.basen.loc[nanmask] .index.intersection(only_in_s1) @@ -457,13 +454,13 @@ def _compare_series_to_base(self): ) def _summarize_comparison_to_base(self): - """Internal method for summarizing comparison with base timeseries. + """Internal method for summarizing comparison with base time series. Returns ------- summary : pandas.Series Series summarizing the series comparison relative to base - timeseries, containing counts per category + time series, containing counts per category """ categories = [ "kept_in_both", @@ -496,7 +493,6 @@ def compare_to_base_by_comment(self): ValueError if no comment series is available. """ - if self.c2n.empty: raise ValueError("No comment series!") diff --git a/traval/ts_utils.py b/traval/ts_utils.py index abf26fb..9243182 100644 --- a/traval/ts_utils.py +++ b/traval/ts_utils.py @@ -1,45 +1,247 @@ +from enum import IntEnum + import numpy as np import pandas as pd -def mask_corrections_as_nan(series, mask): - """Get corrections series with NaNs where mask == True. +class CorrectionCode(IntEnum): + """Codes and labels for labeling error detection results.""" + + NO_CORRECTION = 0 + BELOW_THRESHOLD = -2 + NOT_EQUAL_VALUE = -1 + EQUAL_VALUE = 1 + ABOVE_THRESHOLD = 2 + MODIFIED_VALUE = 4 + UNKNOWN_COMPARISON_VALUE = 99 + + +def get_empty_corrections_df(series): + """Method to get corrections empty dataframe. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + """ + c = pd.DataFrame( + index=series.index, + data={ + "correction_code": CorrectionCode.NO_CORRECTION, + "series_values": np.full(series.size, np.nan), + "comparison_values": np.full(series.size, np.nan), + }, + ) + return c + + +def _mask_corrections(series, values, mask, correction_code): + c = get_empty_corrections_df(series) + c.loc[mask, "series_values"] = series + if values is not None: + if isinstance(values, pd.Series): + c.loc[mask, "comparison_values"] = values.loc[mask] + else: + c.loc[mask, "comparison_values"] = values + c.loc[mask, "correction_code"] = correction_code + return c + + +def mask_corrections_above_below( + series, + mask_above, + threshold_above, + mask_below, + threshold_below, +): + """Get corrections where above threshold. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + threshold_above : pd.Series + time series with values to compare with + mask_above : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + threshold_below : pd.Series + time series with values to compare with + mask_below : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + c_above = mask_corrections_above_threshold(series, threshold_above, mask_above) + c_below = mask_corrections_below_threshold(series, threshold_below, mask_below) + return c_above.add(c_below, fill_value=0) + + +def mask_corrections_above_threshold(series, threshold, mask): + """Get corrections where below threshold. Parameters ---------- series : pd.Series - timeseries to provide corrections for + time series to apply corrections to + threshold : pd.Series + time series with values to compare with mask : DateTimeIndex or boolean np.array DateTimeIndex containing timestamps where value should be set to NaN, or boolean array with same length as series set to True where value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections(series, threshold, mask, CorrectionCode.ABOVE_THRESHOLD) + + +def mask_corrections_below_threshold(series, threshold, mask): + """Get corrections where below threshold. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + threshold : pd.Series + time series with values to compare with + mask : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections(series, threshold, mask, CorrectionCode.BELOW_THRESHOLD) + + +def mask_corrections_equal_value(series, values, mask): + """Get corrections where equal to value. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + values : pd.Series + time series with values to compare with + mask : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections(series, values, mask, CorrectionCode.EQUAL_VALUE) + + +def mask_corrections_modified_value(series, values, mask): + """Get corrections where value was modified. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + values : pd.Series + time series with values to compare with + mask : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections(series, values, mask, CorrectionCode.MODIFIED_VALUE) + + +def mask_corrections_not_equal_value(series, values, mask): + """Get corrections where not equal to value. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + values : pd.Series + time series with values to compare with + mask : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections(series, values, mask, CorrectionCode.NOT_EQUAL_VALUE) + + +def mask_corrections_no_comparison_value(series, mask): + """Get corrections where equal to value. + + Parameters + ---------- + series : pd.Series + time series to apply corrections to + mask : DateTimeIndex or boolean np.array + DateTimeIndex containing timestamps where value should be set to NaN, + or boolean array with same length as series set to True where + value should be set to NaN. (Uses pandas .loc[mask] to set values.) + """ + return _mask_corrections( + series, None, mask, CorrectionCode.UNKNOWN_COMPARISON_VALUE + ) + + +def corrections_as_nan(corrections): + """Convert correction code series to NaNs. + + Excludes codes 0 and 4, which are used to indicate no correction and a modification + of the value, respectively. + + Parameters + ---------- + corrections : pd.Series or pd.DataFrame + series or dataframe with correction code Returns ------- c : pd.Series - return corrections series + return corrections series with nans where value is corrected """ - c = pd.Series( - index=series.index, - data=np.zeros(series.index.size), - fastpath=True, - dtype=float, + if isinstance(corrections, pd.DataFrame): + corrections = corrections["correction_code"] + c = pd.Series(index=corrections.index, data=0.0) + # set values where correction code is *not* 0 or 4 to NaN + # (meaning a correction was applied) + c.loc[(corrections != 0) | (corrections != 4)] = np.nan + return c + + +def corrections_as_float(corrections): + """Convert correction code series to NaNs. + + Excludes codes 0 and 4, which are used to indicate no correction and a modification + of the value, respectively. + + Parameters + ---------- + corrections : pd.DataFrame + dataframe with correction code and original + modified values + + Returns + ------- + c : pd.Series + return corrections series with floats where value is modified + """ + c = pd.Series(index=corrections.index, data=0.0) + # set values where correction code is 4 to difference between original and modified + mask = corrections["correction_code"] == 4 + c.loc[mask] = ( + corrections.loc[mask, "comparison_values"] + - corrections.loc[mask, "series_values"] ) - c.loc[mask] = np.nan return c def resample_short_series_to_long_series(short_series, long_series): - """Resample a short timeseries to index from a longer timeseries. + """Resample a short time series to index from a longer time series. First uses 'ffill' then 'bfill' to fill new series. Parameters ---------- short_series : pd.Series - short timeseries + short time series long_series : pd.Series - long timeseries + long time series Returns ------- @@ -55,17 +257,17 @@ def resample_short_series_to_long_series(short_series, long_series): first_date_after = long_series.loc[mask].index[0] new_series.loc[first_date_after] = short_series.iloc[i] - new_series = new_series.fillna(method="ffill").fillna(method="bfill") + new_series = new_series.ffill().bfill() return new_series def diff_with_gap_awareness(series, max_gap="7D"): - """Get diff of timeseries with a limit on gap between two values. + """Get diff of time series with a limit on gap between two values. Parameters ---------- series : pd.Series - timeseries to calculate diff for + time series to calculate diff for max_gap : str, optional maximum period between two observations for calculating diff, otherwise set value to NaN, by default "7D" @@ -73,7 +275,7 @@ def diff_with_gap_awareness(series, max_gap="7D"): Returns ------- diff : pd.Series - timeseries with diff, with NaNs whenever two values are farther apart + time series with diff, with NaNs whenever two values are farther apart than max_gap. """ diff = series.diff() @@ -86,20 +288,20 @@ def diff_with_gap_awareness(series, max_gap="7D"): def spike_finder(series, threshold=0.15, spike_tol=0.15, max_gap="7D"): - """Find spikes in timeseries. + """Find spikes in time series. - Spikes are sudden jumps in the value of a timeseries that last 1 timestep. + Spikes are sudden jumps in the value of a time series that last 1 timestep. They can be both negative or positive. Parameters ---------- series : pd.Series - timeseries to find spikes in + time series to find spikes in threshold : float, optional the minimum size of the jump to qualify as a spike, by default 0.15 spike_tol : float, optional - offset between value of timeseries before spike and after spike, - by default 0.15. After a spike, the value of the timeseries is usually + offset between value of time series before spike and after spike, + by default 0.15. After a spike, the value of the time series is usually close to but not identical to the value that preceded the spike. Use this parameter to control how close the value has to be. max_gap : str, optional @@ -112,7 +314,6 @@ def spike_finder(series, threshold=0.15, spike_tol=0.15, max_gap="7D"): pandas DateTimeIndex objects containing timestamps of upward and downward spikes. """ - # identify gaps and set diff value after gap to nan diff = diff_with_gap_awareness(series, max_gap=max_gap) @@ -140,7 +341,7 @@ def spike_finder(series, threshold=0.15, spike_tol=0.15, max_gap="7D"): def bandwidth_moving_avg_n_sigma(series, window, n): - """Calculate bandwidth around timeseries based moving average + n * std. + """Calculate bandwidth around time series based moving average + n * std. Parameters ---------- @@ -165,7 +366,7 @@ def bandwidth_moving_avg_n_sigma(series, window, n): def interpolate_series_to_new_index(series, new_index): - """Interpolate timeseries to new DateTimeIndex. + """Interpolate time series to new DateTimeIndex. Parameters ---------- @@ -183,7 +384,7 @@ def interpolate_series_to_new_index(series, new_index): s_interp = np.interp( new_index, series.index.asi8, series.values, left=np.nan, right=np.nan ) - si = pd.Series(index=new_index, data=s_interp, dtype=float, fastpath=True) + si = pd.Series(index=new_index, data=s_interp, dtype=float) return si @@ -202,7 +403,6 @@ def unique_nans_in_series(series, *args): mask : pd.Series mask with value True where NaN is unique to series """ - mask = series.isna() for s in args: @@ -214,30 +414,29 @@ def unique_nans_in_series(series, *args): return mask -def create_synthetic_raw_timeseries(raw_series, truth_series, comments): - """Create synthetic raw timeseries. +def create_synthetic_raw_time_series(raw_series, truth_series, comments): + """Create synthetic raw time series. Updates 'truth_series' (where values are labelled with a comment) with values from raw_series. Used for removing unlabeled changes between - a raw and validated timeseries. + a raw and validated time series. Parameters ---------- raw_series : pd.Series - timeseries with raw data + time series with raw data truth_series : pd.Series - timeseries with validated data + time series with validated data comments : pd.Series - timeseries with comments. Index must be same as 'truth_series'. + time series with comments. Index must be same as 'truth_series'. When value does not have a comment it must be an empty string: ''. Returns ------- s : pd.Series - synthetic raw timeseries, same as truth_series but updated with + synthetic raw time series, same as truth_series but updated with raw_series where value has been commented. """ - if truth_series.index.symmetric_difference(comments.index).size > 0: raise ValueError("'truth_series' and 'comments' must have same index!") @@ -265,7 +464,7 @@ def shift_series_forward_backward(s, freqstr="1D"): def smooth_upper_bound(b, smoothfreq="1D"): smoother = shift_series_forward_backward(b, freqstr=smoothfreq) smoother.iloc[:, 0] = smoother.iloc[:, 0].interpolate(method="linear") - smoother.iloc[:, 2] = smoother.iloc[:, 1].interpolate(method="linear") + smoother.iloc[:, 2] = smoother.iloc[:, 2].interpolate(method="linear") return smoother.max(axis=1).loc[smoother.iloc[:, 1].dropna().index] @@ -274,3 +473,19 @@ def smooth_lower_bound(b, smoothfreq="1D"): smoother.iloc[:, 0] = smoother.iloc[:, 0].interpolate(method="linear") smoother.iloc[:, 2] = smoother.iloc[:, 2].interpolate(method="linear") return smoother.min(axis=1).loc[smoother.iloc[:, 1].dropna().index] + + +def get_correction_status_name(corrections): + """Get correction status name from correction codes. + + Parameters + ---------- + correction_code : pd.DataFrame or pd.Series + dataframe or series containing corrections codes + + Returns + ------- + pd.DataFrame or pd.Series + dataframe or series filled with correction status name + """ + return corrections.fillna(0).map(lambda c: CorrectionCode(c).name) diff --git a/traval/version.py b/traval/version.py index 3d26edf..3d18726 100644 --- a/traval/version.py +++ b/traval/version.py @@ -1 +1 @@ -__version__ = "0.4.1" +__version__ = "0.5.0"