{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Grundlagen der eindimensionalen gaußschen Wahrscheinlichkeitsrechnung\n", "8.4.2024, S. Mack" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# display plots inside this notebook\n", "%matplotlib inline \n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Einleitung\n", "\n", "Im voran gegangenem Notebook zum Bayes-Filter wurden Nachteile dieses Filters angesprochen: Der Bayes-Filter sieht die Welt *multimodal* und *diskret*. D.h. die Umwelt hat für ihn diskrete Zustände, für die er nach jeder Iteration, also nach jedem Zeitschritt, eine neue Auftrittswahrscheinlichkeit berechnet. Dabei kann es passieren, dass mehrere Zustände eine gleiche Wahrscheinlichkeit aufweisen. \n", "Beim Beispiel des Roboterfahrzeugs im Flur gab es nur zehn Zustände, die den zehn möglichen Positionen des Fahrzeugs vor einer der zehn Türen entsprachen. Der Output des Bayes-Filters war eine Wahrscheinlichkeitsverteilung des Aufenthalts, die als Histogramm dargestellt wurde. Bei großen Messunsicherheiten konnte es vorkommen, dass dieses Histogramm zwei getrennte Häufungspunkte aufwies, das Fahrzeug also mit ähnlichen Wahrscheinlichkeiten an zwei verschiedenen Orten vermutet wurde. \n", "\n", "In der Technik liegen aber oft andere Anforderungen vor: Man möchte beispielsweise die xy-Position eines Roboterfahrzeugs in der Ebene bestimmen. Dabei ist sowohl die x- als auch die y-Koordinate ein kontinuierlicher Wert, der durch eine Fließkommazahl repräsentiert wird. Der gewünschte Filter soll dann die wahrscheinlichste xy-Postion zusammen mit entsprechenden Vertrauensintervallen ausgeben. \n", "**Beispiel:** \"*Das Fahrzeug befindet sich an der Position x = 10,003 m, y = 2,223 m mit einer Unsicherheit (eine Standardabweichung) von jeweils $\\pm$ 15 mm.*\"\n", "\n", ">Gewünscht ist also vielmehr ein *unimodaler* und *kontinuierlicher* Filteroutput. Dafür eignet sich die Gaußsche Wahrscheinlichkeitsrechnung viel besser als die Bayessche, zumal das Rechnen mit Gaußfunktionen auch effizienter ist." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kenngrößen der Wahrscheinlichkeitsrechnung\n", "\n", "Im folgenden Notebook zum Kalman-Filter wird Vieles aus der Gaußschen Statistik verwendet. Daher werden nun die Begrifflichkeiten hierfür eingeführt und die grundlegenden Sachverhalte dazu erklärt. \n", "Ein Verständnis der Statistik scheitert leider oft an der verwendeten Notation, die von Lehrbuch zu Lehrbuch oder Internetquelle zu Internetquelle unterschiedlich ist. *In diesem Notebook wird die gleiche Notation wie auf den deutschen Wikipedia-Seiten verwendet.*\n", "\n", "### Zufallsvariablen\n", "\n", "Das prominenteste Beispiel für eine Zufallsvariable sind die Augen eines Würfels. Wenn man unendlich oft würfelt, dann wird jede Augenzahl mit einer Häufigkeit von 1/6 auftreten. Hierzu sagt man, \"die Wahrscheinlichkeit einer bestimmten Augenzahl beträgt 1/6\". \n", "Die **Zufallsvariable** ist in diesem Beispiel die Augenzahl. Man nennt sie so, weil deren Wert vom Zufall abhängig ist. \n", "Die sogenannten **Funktionswerte** der Zufallsvariable \"Augenzahl\" lauten 1, 2, 3, 4, 5 und 6. Hier handelt es sich um diskrete Werte, die die Zufallsvariable annehmen kann. Andere Zufallsvariablen wie beispielsweise die Körpergröße eines Menschen sind hingegen wertkontinuierlich. \n", "Die Funktionswerte bilden einen sogenannten **Ergebnisraum**, der entweder wie bei den Würfelaugen abzählbare Elemente beinhaltet \\[1,2,3,4,5,6\\] oder wie bei der Körpergröße ein Zahlenintervall ist wie z.B. \\[1.500, 2.200\\] m. \n", "\n", "Zufallsvariable werden durch Großbuchstaben aus dem hinteren Teil des Alphabets bezeichnet, meistens mit $X$, $Y$ oder $Z$. \n", "Mit den entsprechenden Kleinbuchstaben also z.B. $x$ werden die Ergebnisse einer **Stichprobe** bezeichnet. $x=(1,1,2,6,6)$ bedeutet beispielsweise, es wurde je zweimal eine Eins und eine Sechs und einmal eine Zwei gewürfelt. Hier besteht die Stichprobe also aus den Messwerten der Zufallsvariable \"Augenzahl\". Wobei \"Messen\" in diesem Fall \"Würfeln\" bedeutet.\n", "\n", "Die verschiedenen Funktionswerte von $X$ werden mit $x_i$ bezeichnet. Im Fall es Würfels gilt $x_i \\in [1,2,3,4,5,6]$. \n", "Bei der Bayes-Statistik der vorangegangenen Notebooks waren die Funktionswerte die verschiedenen Türpositionen." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Wahrscheinlichkeitsverteilung\n", "\n", "\n", "Die **Wahrscheinlichkeitsverteilung** gibt an, mit welcher Wahrscheinlichkeit der jeweilige Funktionswert auftritt. Bei diskreten Verteilungen wie die Würfelaugen, wird die Wahrscheinlichkeitsverteilung als Tabelle angegeben:\n", "\n", "|Wert (Anzahl Augen)|Wahrscheinlichkeit|\n", "|-----|-----------|\n", "|1|1/6|\n", "|2|1/6|\n", "|3|1/6|\n", "|4|1/6|\n", "|5|1/6|\n", "|6|1/6|\n", "\n", "Bei kontinuierlichen Verteilungen wird die Wahrscheinlichkeit als xy-Grafik angegeben. Man nennt sie dann \"Wahrscheinlichkeitsdichteverteilung\". \n", "Die Wahrscheinlichkeitsverteilung kann als Funktion angesehen werden. Sie wird durch den Buchstaben $P$ (engl. Probability) oder $f()$ repräsentiert. Für das Beispiel eine Würfelereignisses von vier Augen $x_4 = 4$ ergibt sich folgende Notation:\n", "\n", "$$P(X{=}4) = f(4) = \\frac{1}{6}$$\n", "\n", "Die Gleichung oben drückt aus, dass die Wahrscheinlichkeit, eine Vier zu würfeln, den Wert 1/6 besitzt. \n", "\n", "Bei einem Münzwurf besteht der Ergebnisraum aus den beiden Ereignissen Kopf und Zahl \\[K, Z\\]. Die Wahrscheinlichkeitsverteilung für diese beiden Zustände ist 50/50, also jeweils 1/2. \n", "Die mathematische Schreibweise dieses Sachverhalts lautet: \n", "\n", "$$\\begin{gathered}P(X{=}K) = 0.5\\\\P(X{=}Z)=0.5\\end{gathered}$$\n", "\n", "Diskrete Zufallsvariablen besitzen diskrete Zufallsverteilungen, kontinuierliche Zufallsvariablen besitzen folglich kontinuierliche Zufallsverteilungen. \n", "\n", "Die Wahrscheinlichkeit für jedes Ereignis muss immer größer Null sein. Die Summe der Wahrscheinlichkeiten für alle Elemente des Ergebnisraums muss immer gleich Eins sein. Denn irgendeinen Wert muss die Zufallsvariable ja haben.\n", "\n", "Es gilt also für diskrete Wahrscheinlichkeitsverteilungen mit N verschiedenen Funktionswerten\n", "\n", "$$\\sum\\limits_{i=1}^N P(X{=}x_i)= 1$$\n", "\n", "Für kontinuierliche Wahrscheinlichkeitsverteilungen mit einem kontinuierlichen Bereich von Funktionswerten wird die Summe durch ein Integral ersetzt:\n", "\n", "$$\\int_{-\\infty}^\\infty P(X{=}x) \\,dx=\\int_{-\\infty}^\\infty f(x) \\,dx = 1$$\n", "\n", "Bei einer kontinuierlichen Wahrscheinlichkeitsverteilung ist die Wahrscheinlichkeit für einen bestimmten Wert x gleich Null. Hier gibt es nur nichtverschwindende Wahrscheinlichkeiten für Intervalle um einen bestimmten Wert x." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mittelwert und Median\n", "\n", "Die bei einer Messung einer Zufallsvariable sich ergebenen Werte werden wie erwähnt als Stichprobe bezeichnet. Anders als beim Würfeln würde man bei der Zufallsvariable \"Körpergröße\" selbige tatsächlich mit einem Zollstock messen. Die Stichprobe hier bilden die Körpergrößen z.B. aller Studierenden einer Lehrveranstaltung. \n", "\n", "Möchte man die durchschnittliche Körpergröße aller Studierenden einer Lehrveranstaltung wissen, so berechnet man aus dieser Stichprobe den *Mittelwert*. Genauer gesagt den *arithmetischen Mittelwert*, denn es gibt auch noch andere Mittelwertdefinitionen wie den \"quadratischen\" oder \"geometrischen\". Spricht man nur von \"Mittelwert\" dann ist jedoch immer der arithmetische Mittelwert gemeint. \n", "\n", "Beispielsweise kann diese Stichprobe aus fünf Personen bestehen, deren gemessene Körpergrößen durch die Menge $X$ repräsentiert werden: \n", "\n", "$$X = \\{1.8, 2.0, 1.7, 1.9, 1.6\\}$$\n", "\n", "Der *arithmetische* Mittelwert $\\bar x$ berechnet sich wie folgt:\n", "\n", "$$\\bar x = \\frac{1.8 + 2.0 + 1.7 + 1.9 + 1.6}{5} = 1.8$$\n", "\n", "Allgemein berechnet sich der Mittelwert einer Stichprobe zu\n", "\n", "$$ \\bar x = \\frac{1}{n}\\sum^n_{i=1} x_i$$\n", "\n", "Das Package ``NumPy`` enthält die Funktion ``numpy.mean()``, um den Mittelwert aus einer Stichprobe zu berechnen, die in Form einer Liste oder eines Arrays vorliegt." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.8\n" ] } ], "source": [ "x = [1.8, 2.0, 1.7, 1.9, 1.6]\n", "print(np.mean(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Der *Modus* einer Stichprobe ist der Wert, welcher am häufigsten vorkommt. Wenn es nur einen Häufungspunkt in einer Verteilung gibt, dann nennt man diese *unimodal*. Gibt es mehrere Häufungspunkte, so spricht man von einer *multimodalen* Verteilung. \n", "\n", "**Beispiel:** Die Stichprobe {1, 2, 2, 2, 3, 4, 4, 4} hat die Modi 2 und 4. Beide Zahlen treten sogar gleich häufig auf. Eine andere Stichprobe {1, 1, 2, 2, 2, 1, 3, 3, 4} ist hingegen unimodal: Die Zahl 2 tritt am häufigsten auf.\n", "\n", "Der *Median* $\\bar x_{med}$ wird in politischen Diskussionen leider oft mit dem Mittelwert $\\bar x$ verwechselt: Das Durchschnittseinkommen einer Bevölkerung kann z.B. sehr komfortabel sein. Trotzdem kann die Mehrheit der Bevölkerung arm sein, wenn z.B. 5 % der Menschen über ein Einkommen wie Bill Gates verfügen. \n", "Aussagekräftiger ist hier der Median: Er bezeichnet die Mitte der Verteilung, also das Einkommen, für das es genau so viele Menschen gibt die darüber wie darunter liegen. \n", "\n", "Das Package ``NumPy`` enthält die Funktion ``numpy.median()`` zur Berechnung des Medians. Im Fall der studentischen Körpergrößen {1.8, 2.0, 1.7, 1.9, 1.6} ist der Median 1.8, denn diese Körpergröße liegt genau in der Mitte, falls man die einzelnen Werte der Reihe nach ordnet." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.8\n" ] } ], "source": [ "print(np.median(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Erwartungswert einer Zufallsvariable\n", "\n", "Der *Erwartungswert* darf nicht mit dem Mittelwert verwechselt werden. Dies passiert aber leider allzu häufig, zumal die Bezeichnung $\\mu$ oft sowohl für den Mittelwert als auch für den Erwartungswert verwendet wird. \n", "In dem hier vorliegenden Jupyter Notebook wird die Bezeichnung $E$ für die Funktion verwendet, die für eine Zufallsvariable $X$ den Erwartungswert berechnet. Das Ergebnis dieser Berechnung, also der Erwartungswert selbst wird mit $\\mu$ bezeichnet. \n", "\n", "Der Mittelwert konvergiert gegen den Erwartungswert für eine unendlich große Stichprobe. Bei einer Messung einer verrauschten Messgröße ist dies anschaulich: Wenn man oft genug misst und die Messwerte mittelt, dann erhält man am Ende den \"wahren Wert\", also den \"erwarteten\" Wert für diese Messgröße. \n", "\n", "Der Erwartungswert lässt sich über die Wahrscheinlichkeitsverteilung berechnen. Sei $x_i$ das i-te Element der Zufallsvariable $X$ und $p_i$ dessen Auftrittswahrscheinlichkeit (also das i-te Element von $P(X)$), dann gilt für den Erwartungswert $E$:\n", "\n", "$$E[X] = \\sum_{i=1}^n p_ix_i$$\n", "\n", "Beim Würfel gilt $X = [1,2,3,4,5,6]$ und $P(X)=[1/6,1/6,1/6,1/6,1/6,1/6]$. Daraus folgt: $E[X] = 3,5$.\n", "\n", "Bei einer kontinuierlichen Wahrscheinlichkeitsverteilung $f(x)$ gilt entsprechend:\n", "\n", "$$ E[X] = \\int_{-\\infty}^\\infty x\\, f(x) \\,dx$$\n", "\n", "> Nochmals zur Klarstellung: Der Begriff **Erwartungswert bezieht sich auf eine unendlich große Stichprobe**. Dann spricht man auch von einem **Erwartungswert einer Wahrscheinlichkeitsverteilung**. \n", "Von einer Stichprobe im eigentlichen Sinn, also einer **endlich große Stichprobe kann man nur einen Mittelwert berechnen**. Dieser Mittelwert weicht in der Regel vom Erwartungswert ab." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Varianz einer Zufallsvariable\n", "\n", "Der Mittelwert und der Median charakterisieren eine Zufallsverteilung natürlich nur annähernd. \n", "Angenommen es gibt drei verschiedene Lehrveranstaltungen mit je fünf Studierenden, deren Körpergrößen gemessen wurden. Dadurch erhält man drei unterschiedliche Stichproben $x_a$, $x_b$ und $x_c$, für die im nachfolgenden Code jeweils der Mittelwert und der Median berechnet wird." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mittelwert: 1.8, Median: 1.8\n", "Mittelwert: 1.8, Median: 1.7\n", "Mittelwert: 1.8, Median: 1.8\n" ] } ], "source": [ "x_a = [1.8, 2.0, 1.7, 1.9, 1.6]\n", "x_b = [2.2, 1.5, 2.3, 1.7, 1.3]\n", "x_c = [1.8, 1.8, 1.8, 1.8, 1.8]\n", "print('Mittelwert: {}, Median: {}'.format(np.mean(x_a),np.median(x_a)))\n", "print('Mittelwert: {}, Median: {}'.format(np.mean(x_b),np.median(x_b)))\n", "print('Mittelwert: {}, Median: {}'.format(np.mean(x_c),np.median(x_c)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die Mittelwerte sind alle gleich und der Median unterscheidet sich nur gering. \n", "Schaut man auf die Messdaten, dann fällt aber die Stichprobe $x_b$ auf: Hier gibt es besonders große und besonders kleine Studierende. Bei den anderen Stichproben streuen die Körpergrößen nicht so stark. \n", "Die Streuung einer Zufallsvariable wird in der Statistik als *Varianz* $\\mathit{Var}$ bezeichnet. Sie ist der Erwartungswert der quadratischen Abweichung vom Erwartungswert der Zufallsvariable: \n", "$$\\mathit{Var}(X) = E[(X - \\mu)^2]$$\n", "Klingt kompliziert ist es aber nicht. Bei der Messung einer verrauschten Messgröße wäre dies die quadratische Abweichung vom wahren Wert. Die *quadratische* und nicht die normale Abweichung wird für die Quantifizierung der Streubreite herangezogen, da der Erwartungswert der normalen Abweichung meistens Null ist. Denn statistische Messabweichungen sind meistens symmetrisch um den wahren Wert, also heben sich die positiven und negativen Abweichungen gegenseitig auf. \n", "\n", "Bei einer endlich großen Stichprobe wie im Beispiel der Körpergrößen kann man auch eine \"Varianz\" berechnen, wobei hier statt des Erwartungswerts der Mittelwert verwendet wird:\n", "$$\\mathit{Var}(x) = \\frac{1}{n}\\sum_{i=1}^n (x_i - \\bar x)^2$$\n", " \n", "> Die Varianz einer Stichprobe und die Varianz einer Wahrscheinlichkeitsverteilung sind also zwei verschiedene Dinge. Nur falls die Stichprobe unendlich groß wird, haben beide Größen den selben Wert. Will man die Varianz der gesamten Wahrscheinlichkeitsverteilung über die Werte aus einer Stichprobe abschätzen, so wird statt $1 \\over n$ der Vorfaktor $1 \\over (n-1)$ vor dem Summenzeichen verwendet. \n", "\n", "Der Anschaulichkeit halber wird nachfolgend die Varianz der Stichprobe $x_a$ explizit berechnet:\n", "\n", "Der Mittelwert von $x_a$ beträgt 1.8 ($\\bar x_a = 1.8$), also gilt\n", "\n", "$$ \n", "\\begin{aligned}\n", "\\mathit{Var}(x_a) &=\\frac{(1.8-1.8)^2 + (2-1.8)^2 + (1.7-1.8)^2 + (1.9-1.8)^2 + (1.6-1.8)^2} {5} \\\\\n", "&= \\frac{0 + 0.04 + 0.01 + 0.01 + 0.04}{5} \\\\\n", "\\mathit{Var}(x_a) &= 0.02 \\, m^2\n", "\\end{aligned}$$\n", "\n", "Einfacher geht die Berechnung mit der ``NumPy``-Funktion ``numpy.var()``:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Varianz x_a: 0.020 m²\n", "Varianz x_b: 0.152 m²\n", "Varianz x_c: 0.000 m²\n" ] } ], "source": [ "print('Varianz x_a: {:.3f} m²'.format(np.var(x_a)))\n", "print('Varianz x_b: {:.3f} m²'.format(np.var(x_b)))\n", "print('Varianz x_c: {:.3f} m²'.format(np.var(x_c)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mit dem Blick auf die Varianz wird nun ersichtlich, dass in der Stichprobe $x_b$ die Körpergrößen besonders stark streuen. \n", "Bemerkung: Soll mit der Funktion ``numpy.var()`` basierend auf einer Stichprobe weniger Studierenden die Varianz der gesamten Wahrscheinlichkeitsverteilung (also die von sehr vielen Studierenden) abgeschätzt werden, so muss im Argument ``ddof=1`` angegeben werden. Der Befehl lautet dann ``numpy.var(ddof=1)`` und es wird der Vorfaktor $1 \\over (n-1)$ verwendet." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Die Standardabweichung einer Zufallsvariable\n", "Die Varianzen der Stichproben aus Körpergrößen haben die Einheit m², was nicht verwunderlich ist, denn darin steckt ja die *quadratische* Abweichung vom Erwartungswert. Will man daraus eine Größe für die Streubreite einer Verteilung berechnen, so muss noch die Wurzel aus der Varianz gezogen werden. Damit erhält man dann die sogenannte \"Standardabweichung\" $\\sigma$: \n", "\n", "$$\\sigma = \\sqrt{\\mathit{Var}(X)} = \\sqrt{E[(X - \\mu)^2]}$$\n", "\n", "Die Standardabweichung einer Stichprobe wie im Beispiel der Körpergrößen wird berechnet als: \n", "\n", "$$\\sigma = \\sqrt{\\mathit{Var}(X)}=\\sqrt{\\frac{1}{n}\\sum_{i=1}^n(x_i - \\bar x)^2}$$\n", "\n", "Wie bei der Varianz macht es einen Unterschied, ob die Standardabweichung der Stichprobe berechnet oder die Standardabweichung der Verteilung (ganz viele Studierende) abgeschätzt wird. \n", "Wenn es nur um Genauigkeiten im Prozentbereich geht, werden für $n > 200$ (ab 200 Studierende) beide Standardabweichungen als identisch betrachtet. \n", "Bei dem Beispiel mit den Körpergrößen von fünf Studierenden ist das natürlich nicht der Fall, und es müsste die sogenannte \"empirische Standardabweichung\" $\\sigma_{n-1}$ verwendet werden. Sie ist durch den Vorfaktor $1 \\over (n-1)$ (siehe Varianz) ein Schätzwert für die \"echte\" Standardabweichung. Dieser Umstand wird hier aber der Einfachheit halber ignoriert. Denn im Zusammenhang mit dem Kalman-Filter geht es nicht um die Standardabweichung von Stichproben sondern um die Standardabweichung von Wahrscheinlichkeitsverteilungen. \n", "\n", "Für die Varianz wird übrigens oft die Bezeichnung $\\sigma^2$ anstelle von $var(X)$ verwendet.\n", "\n", "Das Package ``NumPy`` stellt mit ``numpy.std()`` eine Funktion zur Berechnung der Standardabweichung zur Verfügung." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vertrauensintervall und Vertrauensniveau\n", "Die Standardabweichung gibt wie die Varianz umgangssprachlich die \"Streubreite\" einer Verteilung an. Ist die Verteilung gaußförmig, dann kann über den Wert von $\\sigma$ für ein *Vertrauensintervall* ein entsprechendes *Vertrauensniveau* berechnet werden. \n", "Beispielsweise entspricht einem Vertrauensintervall von $[\\mu -\\sigma, \\mu +\\sigma]$ ein Vertrauensniveau von 68 %. \n", "Dies bedeutet Folgendes: Werden viele Messungen durchgeführt, dann liegen 68 % der Messwerte innerhalb dieses Vertrauensintervalls. Die restlichen 32 % liegen außerhalb. \n", "Beispielsweise liegen im Intervall $[\\mu -2\\sigma, \\mu +2\\sigma]$ 95 % und im Intervall $[\\mu -3\\sigma, \\mu +3\\sigma]$ 99,7 % aller Messwerte. \n", "\n", "In folgendem Plot ist dies visualisiert: \n", "Zuerst wird eine Stichprobe von 200 Körpergrößen erzeugt mit $\\mu = 1,80\\ m$ und $\\sigma = 0,1414\\ m$. Dies simuliert z.B. die Verteilung der Körpergrößen von 200 Studierenden in einer großen Grundlagenvorlesung. \n", "Diese Stichprobe wird im ersten Plot als Folge von Messwerten und im zweiten Plot als Histogramm dargestellt." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from numpy import random\n", "random.seed(10)\n", "\n", "mu = 1.6 # expected Value\n", "sigma = 0.1414 # standard deviation\n", "\n", "data = [mu + sigma*random.randn() for i in range(200)] # generate sample of 200 students height values\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(14, 4))\n", "\n", "for i, height in enumerate(data):\n", " ax[0].plot([i+1, i+1], [0, height], color='k', lw=1)\n", "ax[0].set_xlim(0,len(data)+1)\n", "ax[0].set_ylim(1.2,2.4)\n", "ax[0].fill_between((0, len(data)+1), mu-2*sigma, mu+2*sigma, facecolor='y', alpha=0.3, label = '$\\pm 2 \\sigma$')\n", "ax[0].fill_between((0, len(data)+1), mu-sigma, mu+sigma, facecolor='g', alpha=0.3, label = '$\\pm 1 \\sigma$')\n", "ax[0].grid()\n", "ax[0].legend()\n", "ax[0].set_xlabel('Studierender Nr.')\n", "ax[0].set_ylabel('Körpergröße (m)')\n", "\n", "ax[1].grid(zorder=0)\n", "ax[1].hist(data, histtype='bar', color='grey', rwidth=0.8, zorder=1)\n", "ax[1].set_ylim(0,50)\n", "ax[1].set_xlim(1.2,2.4)\n", "ax[1].set(xlabel='Körpergröße (m)', ylabel='Häufigkeit')\n", "ax[1].fill_between((mu-sigma, mu+sigma), 0, 50, facecolor='g', alpha=0.3, label = '$\\pm 1 \\sigma$')\n", "ax[1].fill_between((mu-2*sigma, mu+2*sigma), 0, 50, facecolor='y', alpha=0.3, label = '$\\pm 2 \\sigma$')\n", "ax[1].legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Beide Plots zeigen die selbe Wahrscheinlichkeitsverteilung. Im linken Plot steht für jeden Studierenden eine vertikale Nadel, die dessen Körpergröße angibt. Im rechten Plot ist die Häufigkeitsverteilung der verschiedenen Körpergrößen dargestellt. \n", "Der Erwartungswert beträgt 1,80 m. Der grün hinterlegte Bereich entspricht einem Vertrauensintervall von $\\pm 1 \\sigma$, der gelb hinterlegte Bereich einem Vertrauensintervall von $\\pm 2 \\sigma$. \n", "Es ist gut sichtbar, dass im grünen Bereich ca. 68 % und im gelben Bereich ca. 95 % aller Werte liegen. Dies war auch so zu erwarten, denn die Stichprobe wurde ja mit der Funktion ``random.randn()`` als Gaußsche Normalverteilung generiert. \n", "\n", "In den voran gegangenen Abschnitten ging es immer ganz allgemein um Wahrscheinlichkeitsrechnung. Dieser Abschnitt hier bezieht sich erstmalig nur auf eine spezielle Wahrscheinlichkeitsverteilung - die sogenannte \"Gaußsche Normalverteilung\". Sie wird auch \"Gaußverteilung\" oder \"Normalverteilung\" genannt." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Die Gaußsche Normalverteilung\n", "\n", "Am Anfang dieses Notebooks wurde die Gaußverteilung schon als optimale Wahrscheinlichkeitsverteilung für einen unimodalen und kontinuierlichen Filter erwähnt. \n", "Die folgenden Abschnitte stellen die Gaußverteilung vor und zeigen wie man mit ihr rechnerisch umgeht. Dabei wird deutlich, dass das Rechnen mit Gaußverteilungen wesentlich einfacher ist als mit anderen beliebigen Wahrscheinlichkeitsverteilungen. Dies ist unter Anderem der Grund, wieso ein gewisser Hr. Kalman genau die Gaußverteilung für seinen Filter auswählte. \n", "Die Gaußfunktion lautet: \n", "\n", "$$ f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} \\exp\\big [{-\\frac{(x-\\mu)^2}{2\\sigma^2} }\\big ]$$\n", "\n", "Die Gaußfunktion kann mit dem ``SciPy``-Package generiert werden. Sie besitzt nur zwei Parameter: Der Erwartungswert $\\mu$ und die Varianz $\\sigma^2$. Nachfolgend wird ihr Verlauf für das Beispiel der studentischen Körpergrößen in einem Plot dargestellt." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.stats import norm\n", "x = np.arange(1.2,2.4,0.01)\n", "mu = 1.8\n", "sigma = 0.1414\n", "pdf_gauss = norm.pdf(x,mu,sigma)\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(x,pdf_gauss)\n", "ax.set_xlabel('Körpergröße (m)')\n", "ax.set_ylabel('Wahrscheinlichkeitsdichte')\n", "ax.set_ylim(0,3)\n", "ax.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die Gaußverteilung ist eine Wahrscheinlichkeitsverteilung für eine Zufallsvariable mit *kontinuierlichen* Werten. Genau genommen ist sie eine *Wahrscheinlichkeitsdichtefunktion* (engl. \"Probability Density Function\" abgekürzt pdf). \n", "Auf der y-Achse ist daher auch nicht die Wahrscheinlichkeit sondern die Wahrscheinlichkeits*dichte* aufgetragen: Die Wahrscheinlichkeitsdichte für eine Körpergröße von genau 2,000000 m beträgt im Plot 1,0. Die Wahrscheinlichkeit, dass ein Studierender genau 2,000000 m groß ist, ist jedoch praktisch Null. Dass jemand auf einen µm genau 2 m groß ist, kann als sehr unwahrscheinlich angesehen werden. \n", "Es macht auch sicher keinen Sinn die Körpergröße auf ein µm genau messen zu wollen. Eine Messgenauigkeit von $\\pm$ 5 mm ist sicher wesentlich realitätsnäher. \n", "\n", "Daher sollte die Frage besser lauten: \n", "*Wie hoch ist die Wahrscheinlichkeit einer Körpergröße zwischen 1,995 m und 2,005 m?* \n", "Diese Frage lässt sich mit der Wahrscheinlichkeitsdichte rechnerisch beantworten. Die Wahrscheinlichkeit P beträgt: \n", "\n", "$$ P = f(2\\ m)\\cdot(2,005\\ m-1,995\\ m)$$\n", "\n", "Hierbei ist $f(x)$ die Gaußsche Wahrscheinlichkeitsdichtefunktion - oder einfacher gesagt die Gaußfunktion - aus dem Plot oben. Für die Gaußfunktion gibt es im Package ``SciPy`` die Funktion ``norm.pdf()``:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wahrscheinlichkeit Körpergröße im Intervall [1,995 m, 2,005 m]: 0.010\n" ] } ], "source": [ "P = norm.pdf(2,mu,sigma)*0.01 # probability density of height 2 m * interval width\n", "print('Wahrscheinlichkeit Körpergröße im Intervall [1,995 m, 2,005 m]: {:0.3f}'.format(P))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Möchte man die Wahrscheinlichkeit für ein größeres Intervall berechnen, so muss man die Gaußfunktion entsprechend integrieren. Beispielsweise beträgt die Wahrscheinlichkeit einer Körpergröße z kleiner gleich 1,60 m: \n", "$$P(z< 1,6 m) = \\int_{-\\infty}^{1,6\\ m} f(x) \\,dx$$\n", "Dieses Integral in allgemeiner Form als Funktion $F(x)$ nennt man \"Verteilungsfunktion\" im Gegensatz zur Gaußfunktion $f(x)$, die als \"Dichtefunktion\" bezeichnet wird. $F(x)$ gibt die Wahrscheinlichkeit an, dass die Zufallsvariable z kleiner x ist.\n", "$$ P(z" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(-10,10,0.01)\n", "mu = 0\n", "sigma = 3\n", "pdf_gauss = norm.pdf(x,mu,sigma)\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(x,pdf_gauss)\n", "\n", "for x in [sigma,2*sigma,3*sigma]:\n", " y = norm.pdf(x,mu,sigma)\n", " ax.plot ([x,x], [0,y],'g',linestyle=':')\n", " ax.plot ([-x, -x], [0,y],'g',linestyle=':')\n", "\n", "x = 0\n", "y = norm.pdf(x,mu,sigma)\n", "ax.plot ([0,0],[0,y],'b')\n", "\n", "ax.annotate('68%', xy=(0.3, 0.085))\n", "ax.annotate('', xy=(-sigma,0.08), xytext=(sigma,0.08),arrowprops=dict(arrowstyle=\"<->\",ec=\"r\",shrinkA=2, shrinkB=2))\n", "ax.annotate('95%', xy=(0.3, 0.022))\n", "ax.annotate('', xy=(-2*sigma,0.017), xytext=(2*sigma,0.017),arrowprops=dict(arrowstyle=\"<->\",ec=\"r\",shrinkA=2, shrinkB=2))\n", "ax.annotate('99,7%', xy=(0.3, 0.005))\n", "ax.annotate('', xy=(-3*sigma,0.00), xytext=(3*sigma,0.0),arrowprops=dict(arrowstyle=\"<->\",ec=\"r\",shrinkA=2, shrinkB=2))\n", "\n", "ax.xaxis.set_ticks ([-3*sigma, -2*sigma, -sigma, 0, sigma, 2*sigma, 3*sigma])\n", "ax.xaxis.set_ticklabels(['$-3\\sigma$','$-2\\sigma$', '$-1\\sigma$','$\\mu$','$1\\sigma$','$2\\sigma$','$3\\sigma$'])\n", "ax.yaxis.set_ticks([])\n", "ax.set_title('Vertrauensintervalle')\n", "ax.grid(None, 'both', lw=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Plausibilitätscheck:** \n", "Die Verteilungsfunktion $F(x)$ der Körpergrößenverteilung für $x=\\mu$ sollte den Wert 1/2 ergeben. Für $x=3\\ m$ sollte sich nahezu der Wert 1 ergeben. Denn die Wahrscheinlichkeitsverteilung ist symmetrisch zum Erwartungswert, d.h. die Hälfte aller Studierenden ist kleiner gleich 1,8 m, und irgendeine Größe kleiner 3 m wird ein Studierender sicher haben, d.h. alle Studierenden sind kleiner 3,0 m." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Verteilungsfunktion x = µ: 0.5, x = 3 m: 1.0\n" ] } ], "source": [ "mu = 1.8\n", "sigma = 0.1414\n", "print('Verteilungsfunktion x = µ: {}, x = 3 m: {}'.format(norm.cdf(1.8,mu,sigma),norm.cdf(3,mu,sigma)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die Gaußsche Dichtefunktion und damit auch die Verteilungsfunktion sind also beide normiert. Dies sieht man auch eindrücklich, wenn man wie im folgenden Plot drei Gaußfunktionen mit selbem Erwartungswert aber unterschiedlicher Standardabweichung vergleicht. Je kleiner die Streubreite ist, desto höher ist die Wahrscheinlichkeitsdichte für den Erwartungswert, denn die Fläche unterhalb der Gausskurve ist immer gleich Eins." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(-10,10,0.01)\n", "mu = 0\n", "\n", "pdf_gauss_1 = norm.pdf(x,mu,1)\n", "pdf_gauss_2 = norm.pdf(x,mu,2)\n", "pdf_gauss_3 = norm.pdf(x,mu,4)\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(x,pdf_gauss_1,x,pdf_gauss_2,x,pdf_gauss_3)\n", "ax.set_xlabel('Wert Zufallsvariable')\n", "ax.set_ylabel('Wahrscheinlichkeitsdichte')\n", "ax.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dass eine Zufallsvariable $X$ einer Normalverteilung mit Erwartungswert $\\mu$ und Standardabweichung $\\sigma$ folgt, wird mathematisch allgemein in der Form $X \\sim \\mathcal N (\\mu,\\sigma)$ oder $X \\sim \\mathcal N (\\mu,\\sigma^2)$ ausgedrückt. \n", "\n", "In diesem Notebook wird ausschließlich die zweite Variante verwendet. Die zweite Zahl in der Klammer steht also für die Varianz. Der Ausdruck $\\mathcal{N}(22,4)$ bedeutet beispielsweise eine Gaußverteilung mit Erwartungswert 22 und Standardabweichung 2 bzw. Varianz 4." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Die Gaußverteilung und Messunsicherheiten\n", "\n", "Wenn ein Messwert verrauscht ist, weil er durch viele unterschiedliche Einflüsse gestört wird, dann ist seine Wahrscheinlichkeitsdichteverteilung gaußförmig. Dies ist mit anderen Worten der \"zentrale Grenzwertsatz der Statistik\". \n", "Die Gaußfunktion ist also nicht nur praktisch, weil sie nur durch zwei Parameter spezifiziert wird, und weil das Rechnen mit ihr recht einfach ist. \n", ">Sensormesswerte zeigen eine Gaußverteilung, da die Messunsicherheit dieser Messwerte vielen (unbekannten) Einflüssen unterliegen.\n", "\n", "In den Notebooks zum Bayes-Filter wurde daher angenommen, dass die Bewegungsabweichungen und Abstandsmesswerte gaußförmig streuen. Mit dadurch hatten die Histogramme der Bayes-Wahrscheinlichkeitsverteilungen auch oft gaußförmige Hüllkurven. Hr. Kalman hat also bestimmt nicht zufällig die Gaußverteilung als Grundlage für seinen Filter verwendet! \n", "\n", "Die Gaußverteilung hat aber auch Eigenschaften, die realtitätsfern sind: Wenn die Körpergrößenverteilung von Studierenden wirklich eine Gaußverteilung wäre, dann sollte es mit einer sehr sehr geringen aber nicht verschwindenden Wahrscheinlichkeit auch Studierende geben, die größer als 2,6 m sind. Doch selbst bei weltweit geschätzten 500 Millionen Studierenden wird wohl niemand mit dieser Körpergröße dabei sein. \n", "Ähnlich wie in den 1970er Jahren bei den Wahrscheinlichkeiten eines Atomkraftwerks-Supergaus, ignoriert man üblicherweise die Wahrscheinlichkeiten jenseits von ca. 6 $\\sigma$. Gleiches gilt für typische 6$\\sigma$-Qualitätsoffensiven in der Fertigung, was im Vergleich zu Atomkraftwerken sicher gerechtfertigt ist." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Am Beispiel der Sensormesswerte soll hier nochmals der Unterschied zwischen der Bayesschen und der Gaußschen Sichtweise auf die Wahrscheinlichkeitsrechnung verdeutlicht werden: \n", "Angenommen die Körpergröße eines einzelnen Studierendern wird mit einem Sensor gemessen: \n", "* In der Bayes-Statistik gibt es nur N diskrete Körpergrößen, beispielsweise in 5 mm Schritten von 1,50 bis 2,50 m also N = 21. Die Messung der Körpergröße eines einzelnen Studierenden erzeugt in der Bayes-Statistik eine Annahme der Körpergröße. Die Annahme wird von dem Array \"belief\" repräsentiert, dessen einzelne Elemente die Wahrscheinlichkeit angeben, dass die Körpergröße tatsächlich den entsprechenden Wert besitzt. Die Information über die Messunsicherheit des Sensors steckt den N Elementen des Arrays \"belief\". \n", "* In der Gauß-Statistik ist die Körpergröße ein kontinuierlicher Wert. Die Sensormessung wird gedanklich unendlich oft wiederholt, wodurch die Sensorwerte am Ende eine Gaußverteilung um den wahren Wert herum beschreiben. Die Information über die Messunsicherheit des Sensors steckt dann nur in der Standardabweichung dieser Gaußverteilung. \n", "\n", "**Letztlich sind beide Statistiksichtweisen gar nicht so unterschiedlich, wenn es sich bei der Bayes-Statistik auch um eine *unimodale* Wahrscheinlichkeitsverteilung handelt.** Bei einem einfachen Abstandssensor ist dies der Fall. Hier bietet sich die Gaußverteilung an, um die Mathematik eines Filters einfacher zu gestalten. Statt Vektormultiplikationen und Faltungen, kommt man in diesem Fall mit einfacheren Multiplikationen und Additionen von Gaußverteilungen aus. \n", "Geht es beispielsweise aber um einen Radarsensor, der gleichzeitig mehrere Echos von unterschiedlichen Reichweiten empfängt, dann ist die Verteilung multimodal, und man kann nicht mehr nur mit Gaußverteilungen rechnen. \n", "\n", "> Filter für Sensoren, die unimodale Messwertverteilungen liefern (d.h. es gibt nur einen wahren Wert, um den die Messwerte streuen), werden effizienter und mathematisch einfacher mit Gaußscher als mit Bayesscher Wahrscheinlichkeitsrechnung beschrieben. Der Kalman-Filter geht genau diesen Weg." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Rechnen mit Gaußverteilungen\n", "\n", "Ein Bayes-Filter rechnet mit beliebigen (auch multimodalen) Wahrscheinlichkeitsverteilungen. Der Kalman-Filter verwendet nur Gaußsche Wahrscheinlichkeitsverteilungen, welche multipliziert und addiert werden. **Der Filteralgorithmus selbst ist aber identisch bei beiden Filtern.** \n", "\n", "Die einfache Mathematik der Gaußverteilungen (neben dem Gauß-\"konformen\" Verhalten der Sensoren) sind es, was den Kalman-Filter auszeichnet. Denn die Summe oder das Produkt zweier Gaußverteilungen sind wieder Gaußverteilungen. Letztlich muss man beim Kalmanfilter also nur Erwartungswerte und Varianzen im Blick behalten! Dies macht den Kalman-Filter so attraktiv. Denn er kommt mit weitaus weniger Rechenzeit und Speicherplatz aus als ein entsprechender Bayes-Filter.\n", "\n", "Meisten ergibt das Produkt zweier Funktion aus der selben Funktionsklasse eine Funktion aus einer anderen Funktionsklasse: Beispielsweise ist das Produkt zweier Sinusfunktionen $sin(x) \\cdot sin(x)$ keine trigonometrische Funktion mehr. Bei Gaußverteilungen ist das anders: \n", "\n", "Das Produkt zweier voneinander unabhängigen Gaußverteilungen $\\mathcal{N}(\\mu_1,\\sigma^2_1)$ und $\\mathcal{N}(\\mu_2,\\sigma^2_2)$ergibt (bis auf die Normierung) wieder eine Gaußverteilung $\\mathcal{N}(\\mu_3,\\sigma^2_3)$ mit:\n", "\n", "$$\\begin{aligned}\\mu_3 &=\\frac{\\sigma_1^2\\mu_2 + \\sigma_2^2\\mu_1}{\\sigma_1^2+\\sigma_2^2}\\\\\n", "\\sigma^2_3 &=\\frac{\\sigma_1^2\\sigma_2^2}{\\sigma_1^2+\\sigma_2^2} \n", "\\end{aligned}$$\n", "\n", "Die Summe zweier voneinander unabhängigen Gaußverteilungen ergibt auch wieder eine Gaußverteilung mit:\n", "\n", "$$\\begin{gathered}\\mu_3 = \\mu_1 + \\mu_2 \\\\\n", "\\sigma^2_3 = \\sigma^2_1 + \\sigma^2_2\n", "\\end{gathered}$$\n", " \n", "**Unabhängig** bedeutet in diesem Zusammenhang (genau wie bei der Fehlerrechnung), dass beide Gaußverteilungen **unabhängig voneinander rauschen**. Beim Kalman-Filter bedeutet dies: Die Wahrscheinlichkeitsverteilung des Zustandswerts ist unabhängig von der Wahrscheinlichkeitsverteilung des Messwerts." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Zusammenfassung Wahrscheinlichkeitsrechnung mit Gaußverteilungen\n", "\n", "Dieses Notebook ist als Auffrischung oder Crash-Kurs in Sachen Wahrscheinlichkeitsrechnung gedacht. Es wurde bewusst auf theoretische Herleitungen und auf komplexere Mathematik verzichtet. Denn es geht nicht um das Fach Wahrscheinlichkeitsrechnung an sich, sondern nur darum, die Gaußsche Wahrscheinlichkeitsrechnung *als Werkzeug* für einen Kalman-Filter einzusetzen. \n", "\n", "Die folgenden Basics **sollten unbedingt verstanden sein**, bevor es im nächsten Notebook dann endlich um den Kalman-Filter selbst geht:\n", "\n", "* Gaußverteilungen repräsentieren unimodale und kontinuierliche Wahrscheinlichkeitsverteilungen.\n", "* Gaußverteilungen werden komplett identifiziert über deren Erwartungswert ($\\mu$) und ihre Varianz ($\\sigma^2$).\n", "* Der Erwartungswert $\\mu$ ist der Mittelwert einer großen Stichprobe. Er steht für den wahren Wert (Mess- bzw. Zustandswert)\n", "* Die Varianz $\\sigma^2$ repräsentiert die Unsicherheit einer Messung bzw. eines Zustandswertes.\n", "* Die Standardabweichung ($\\sigma$) ist nichts Anderes als die Wurzel der Varianz ($\\sigma^2$)\n", "* Das Rauschen von Sensoren ist näherungsweise gaußförmig." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "3046dfeaf42e4e42a4515c0a1d124af4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "375ef8db345347d5ac2cf25a0d1725d9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_f57e44c73c214d6782939f94442f4bef", "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAusAAAEgCAYAAAANPj3XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3XlclNX+B/DPDDPs+yoDCioqsrsi\nZrmlpWZukWuZYq6Zeu9Pu6nXtE1avIU3TVITuiqWW2Wppea+4E6AOyggoOz7OjPP7w+UREEdQ55n\n4PN+vXhBZ55n5jsdmfnM4TznyARBEEBERERERJIjF7sAIiIiIiKqHcM6EREREZFEMawTEREREUkU\nwzoRERERkUQxrBMRERERSRTDOhERERGRRDGsExERERFJFMM6EREREZFEMawTEREREUmUzmG9sLAQ\n8+bNQ//+/eHg4ACZTIbFixc/9vkZGRl44403YG9vD1NTUwQFBWHfvn26lkFERERE1OjpHNazs7Px\nzTffoLy8HEOHDtXp3PLycvTt2xf79u1DWFgYfvrpJzg5OeHFF1/EwYMHdS2FiIiIiKhRU+h6gpub\nG3JzcyGTyZCVlYU1a9Y89rlr165FXFwcjh07hqCgIABA79694e/vj3nz5iE6Orr6WK1WC61WW+N8\nmUwGmUyma8lERERERKITBAGCINRok8vlkMvrHj/XOaz/nbC8fft2tGvXrjqoA4BCocC4ceMwf/58\npKamwsXFBUBVWC8uLn7ixyIiIiIikjozM7OHhvUGvcA0Li4Ofn5+D7TfbYuPj2/IcoiIiIiIJK1B\nw3p2djZsbW0faL/blp2d3ZDlEBERERFJWoMv3fiwaTScj05ERERE9Bed56z/HXZ2drWOnufk5ABA\njVH32oL7o+b0PA3x8fFQq9VQKBTw9vZu0Mcm3bCv9Af7Sr+wv/QH+0p/sK/0R332VW3XZD5qsLpB\nw7qvry9iY2MfaL/b5uPjU91WW+GPulr2adBqtdBoNKI8NumGfaU/2Ff6hf2lP9hX+oN9pT+edl89\nKqw36L+OYcOG4dKlSzWWaFSr1Vi/fj0CAwOhUqkashwiIiIiIkl7opH1Xbt2obi4GIWFhQCACxcu\nYMuWLQCAgQMHwtTUFCEhIYiMjERCQgLc3NwAABMnTsSKFSsQHByM0NBQODo6YuXKlbh8+TL27t1b\nT0+JiIiIiKhxeKKwPm3aNCQlJVX/9+bNm7F582YAwPXr1+Hu7g6NRgONRlNj4XcjIyPs27cP8+bN\nw8yZM1FSUoKAgADs2rULPXv2/JtPhYiIiIiocXmisH7jxo1HHhMREYGIiIgH2p2cnBAZGfkkD0tE\nRERE1KTwigYiIiIiIoliWCciIiIikiiGdSIiIiIiiWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIo\nhnUiIiIiIoliWCciIiIikiiGdSIiIiIiiWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIohnUiIiIi\nIoliWCciIiIikiiGdSIiIiIiiWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIohnUiIiIiIoliWCci\nIiIikiiGdSIiIiIiiWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIohnUiIiIiIoliWCciIiIikiiG\ndSIiIiIiiWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIohnUiIiIiIoliWCciIiIikiiGdSIiIiIi\niWJYJyIiIiKSKIZ1IiIiIiKJYlgnIiIiIpIoncN6UVERZs+eDZVKBWNjYwQEBGDTpk2Pde7+/fvR\nr18/ODo6wtzcHH5+fli+fDk0Go3OhRMRERERNXYKXU8YPnw4Tp06hdDQULRt2xYbN27E6NGjodVq\nMWbMmDrP27t3L1544QU899xzWL16NczMzPDzzz9j1qxZSEhIQFhY2N96IkREREREjY1OYX3nzp3Y\ns2dPdUAHgN69eyMpKQlz587FyJEjYWBgUOu5ERERUCqV+OWXX2BmZgYAeP7553H58mVEREQwrBMR\nERER3UenaTDbt2+Hubk5goODa7RPmDABaWlpiI6OrvNcpVIJQ0NDmJiY1Gi3traGsbGxLmUQERER\nETUJMkEQhMc9OCgoCBqNBidPnqzRHh8fDx8fH4SHh2Py5Mm1nhsdHY2ePXti0qRJmD9/PkxNTbFj\nxw6EhIRg6dKl+Oc//1njeK1Wi8LCwhptycnJ0Gq1j1tuvaisrKz+WalUNuhjk27YV/qDfaVf2F/6\ng32lP9hX+qM++0oul6NFixY12iwsLCCX1z1+rtM0mOzsbLRq1eqBdltb2+rb6xIYGIg//vgDwcHB\nWLFiBQDAwMCg1qBeF7VaLerFqPd2Fkkb+0p/sK/0C/tLf7Cv9Af7Sn/83b6qa7r4w+h8galMJnui\n286cOYNhw4YhMDAQ4eHhMDMzwx9//IGFCxeirKwM//73vx9drELx0E8eTwM/+eoP9pX+YF/pF/aX\n/mBf6Q/2lf6o75F1XekU1u3s7GodPc/JyQHw1wh7bWbMmAEnJyds3769+lNF7969IZfLsXjxYowd\nO7bWUft7eXt7N3hYj4mJQWVlJZRKJfz9/Rv0sUk37Cv9wb7SL+wv/cG+0h/sK/1Rn31V2zTvR9Ep\n+fr6+uLixYtQq9U12mNjYwEAPj4+dZ57/vx5dOrU6YHh/y5dukCr1eLixYu6lEJERERE1OjpFNaH\nDRuGoqIibN26tUZ7ZGQkVCoVAgMD6zxXpVLh9OnTD8w5P378OADA1dVVl1KIiIiIiBo9nabBDBgw\nAP369cO0adNQUFAADw8PREVFYffu3Vi/fn31qHlISAgiIyORkJAANzc3AMCcOXPw9ttvY/DgwZgy\nZQpMTU2xb98+LFu2DM8//zz/BEREREREdB+dLzDdtm0bFixYgEWLFiEnJweenp6IiorCqFGjqo/R\naDTQaDS4d1XImTNnwsXFBV988QUmTZqE0tJSuLu747333sOcOXPq59kQERERETUiOod1c3NzhIWF\nPXTH0YiICERERDzQPnz4cAwfPlzXhyQiIiIiapIadmkVIiIiIiJ6bAzrREREREQSxbBORERERCRR\nDOtERERERBLFsE5EREREJFEM60REREREEsWwTkREREQkUQzrREREREQSxbBORERERCRRDOtERERE\nRBLFsE5EREREJFEM60REREREEsWwTkREREQkUQzrREREREQSxbBORERERCRRDOtERERERBLFsE5E\nREREJFEM60REREREEsWwTkREREQkUQzrREREREQSxbBORERERCRRDOtERERERBLFsE5EREREJFEM\n60REREREEsWwTkREREQkUQzrREREREQSxbBORERERCRRDOtERERERBLFsE5EREREJFEM60RERERE\nEsWwTkREREQkUQzrREREREQSxbBORERERCRRDOtERERERBLFsE5EREREJFE6h/WioiLMnj0bKpUK\nxsbGCAgIwKZNmx77/J9++gk9e/aEpaUlzMzM4O3tjW+++UbXMoiIiIiIGj2FricMHz4cp06dQmho\nKNq2bYuNGzdi9OjR0Gq1GDNmzEPPDQ0NxYIFCzB16lS8++67UCqVuHTpEioqKp74CRARERERNVY6\n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\nYII=\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] } }, "5a6d31d1aa6544988edbcd3479975581": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.0.0", "model_name": "SliderStyleModel", "state": { "description_width": "" } }, "86a55c14715c4eb798d0fa4d41abedde": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.0.0", "model_name": "SliderStyleModel", "state": { "description_width": "" } }, "8ee89db8e5544f15aa6b0bf6e711a1c7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.0.0", "model_name": "FloatSliderModel", "state": { "description": "mu", "layout": "IPY_MODEL_fd4892b626814b2c91e6d4745513949b", "max": 10, "step": 0.1, "style": "IPY_MODEL_86a55c14715c4eb798d0fa4d41abedde", "value": 5 } }, "b97d99edf2a6473c96060354d83952bb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "ca45591540ed4bdbb79da6bcbdecb7aa": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.0.0", "model_name": "VBoxModel", "state": { "_dom_classes": [ "widget-interact" ], "children": [ "IPY_MODEL_8ee89db8e5544f15aa6b0bf6e711a1c7", "IPY_MODEL_e17521d55ef04c6ea4cf54f3efc44a93", "IPY_MODEL_375ef8db345347d5ac2cf25a0d1725d9" ], "layout": "IPY_MODEL_b97d99edf2a6473c96060354d83952bb" } }, "e17521d55ef04c6ea4cf54f3efc44a93": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.0.0", "model_name": "FloatSliderModel", "state": { "description": "variance", "layout": "IPY_MODEL_3046dfeaf42e4e42a4515c0a1d124af4", "max": 1, "min": 0.2, "step": 0.1, "style": "IPY_MODEL_5a6d31d1aa6544988edbcd3479975581", "value": 0.6000000000000001 } }, "f57e44c73c214d6782939f94442f4bef": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "fd4892b626814b2c91e6d4745513949b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 1 }