{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Defaulting to user installation because normal site-packages is not writeable\n", "Requirement already satisfied: matplotlib in /usr/lib/python3/dist-packages (3.5.1)\n", "Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (1.21.5)\n", "Requirement already satisfied: ipywidgets in /home/basti/.local/lib/python3.10/site-packages (8.0.6)\n", "Collecting ipympl\n", " Downloading ipympl-0.9.3-py2.py3-none-any.whl (511 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m511.6/511.6 KB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", "\u001b[?25hRequirement already satisfied: seaborn in /home/basti/.local/lib/python3.10/site-packages (0.12.2)\n", "Requirement already satisfied: pandas in /home/basti/.local/lib/python3.10/site-packages (2.0.1)\n", "Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.10/dist-packages (from ipywidgets) (5.5.0)\n", "Requirement already satisfied: ipython>=6.1.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets) (8.6.0)\n", "Requirement already satisfied: widgetsnbextension~=4.0.7 in /home/basti/.local/lib/python3.10/site-packages (from ipywidgets) (4.0.7)\n", "Requirement already satisfied: jupyterlab-widgets~=3.0.7 in /home/basti/.local/lib/python3.10/site-packages (from ipywidgets) (3.0.7)\n", "Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.10/dist-packages (from ipywidgets) (6.17.1)\n", "Requirement already satisfied: pillow in /home/basti/.local/lib/python3.10/site-packages (from ipympl) (9.5.0)\n", "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.10/dist-packages (from ipympl) (0.2.0)\n", "Requirement already satisfied: tzdata>=2022.1 in /home/basti/.local/lib/python3.10/site-packages (from pandas) (2023.3)\n", "Requirement already satisfied: pytz>=2020.1 in /usr/lib/python3/dist-packages (from pandas) (2022.1)\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2)\n", "Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (6.2)\n", "Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (1.6.3)\n", "Requirement already satisfied: psutil in /usr/lib/python3/dist-packages (from ipykernel>=4.5.1->ipywidgets) (5.9.0)\n", "Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from ipykernel>=4.5.1->ipywidgets) (21.3)\n", "Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (7.4.7)\n", "Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (0.1.6)\n", "Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (1.5.6)\n", "Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=4.5.1->ipywidgets) (24.0.1)\n", "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (0.2.0)\n", "Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (0.18.2)\n", "Requirement already satisfied: pygments>=2.4.0 in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (2.13.0)\n", "Requirement already satisfied: decorator in /usr/lib/python3/dist-packages (from ipython>=6.1.0->ipywidgets) (4.4.2)\n", "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (4.8.0)\n", "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (0.7.5)\n", "Requirement already satisfied: prompt-toolkit<3.1.0,>3.0.1 in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (3.0.33)\n", "Requirement already satisfied: stack-data in /usr/local/lib/python3.10/dist-packages (from ipython>=6.1.0->ipywidgets) (0.6.1)\n", "Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n", "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.3)\n", "Requirement already satisfied: jupyter-core>=4.9.2 in /usr/local/lib/python3.10/dist-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (5.0.0)\n", "Requirement already satisfied: entrypoints in /usr/local/lib/python3.10/dist-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (0.4)\n", "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\n", "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit<3.1.0,>3.0.1->ipython>=6.1.0->ipywidgets) (0.2.5)\n", "Requirement already satisfied: executing>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from stack-data->ipython>=6.1.0->ipywidgets) (1.2.0)\n", "Requirement already satisfied: asttokens>=2.1.0 in /usr/local/lib/python3.10/dist-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.1.0)\n", "Requirement already satisfied: pure-eval in /usr/local/lib/python3.10/dist-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2)\n", "Requirement already satisfied: platformdirs in /usr/local/lib/python3.10/dist-packages (from jupyter-core>=4.9.2->jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (2.5.4)\n", "Installing collected packages: ipympl\n", "Successfully installed ipympl-0.9.3\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "###### Install those packages (simply change cell type to code and run)\n", "%pip install matplotlib numpy ipywidgets ipympl seaborn pandas" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib widget\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def values():\n", " return np.linspace(0.0, 40.0, 41)**2 / 100" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def error(values, mean=0, sigma=1.0, seed=0):\n", " np.random.RandomState(seed)\n", " values += np.random.normal(loc=mean, scale=sigma, size=values.shape)\n", " return values" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def mean_filter(x, filter_len=4):\n", " filtered = np.zeros_like(x)\n", " for t in range(len(x)):\n", " lower_bound = max([0, t-filter_len])\n", " filtered[t] = np.mean(x[lower_bound:t+1])\n", " return filtered" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | t | \n", "truth | \n", "error | \n", "value | \n", "filter | \n", "
---|---|---|---|---|---|
0 | \n", "0 | \n", "0.00 | \n", "0.000000 | \n", "0.000000 | \n", "perfect | \n", "
1 | \n", "1 | \n", "0.01 | \n", "0.000000 | \n", "0.010000 | \n", "perfect | \n", "
2 | \n", "2 | \n", "0.04 | \n", "0.000000 | \n", "0.040000 | \n", "perfect | \n", "
3 | \n", "3 | \n", "0.09 | \n", "0.000000 | \n", "0.090000 | \n", "perfect | \n", "
4 | \n", "4 | \n", "0.16 | \n", "0.000000 | \n", "0.160000 | \n", "perfect | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
118 | \n", "36 | \n", "12.96 | \n", "-2.185448 | \n", "10.774552 | \n", "meanfilter | \n", "
119 | \n", "37 | \n", "13.69 | \n", "-1.850239 | \n", "11.839761 | \n", "meanfilter | \n", "
120 | \n", "38 | \n", "14.44 | \n", "-1.425048 | \n", "13.014952 | \n", "meanfilter | \n", "
121 | \n", "39 | \n", "15.21 | \n", "-1.652103 | \n", "13.557897 | \n", "meanfilter | \n", "
122 | \n", "40 | \n", "16.00 | \n", "-1.634335 | \n", "14.365665 | \n", "meanfilter | \n", "
123 rows × 5 columns
\n", "