{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "b96078c8-43de-48e0-aa1c-393bc7825fe9", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "---------------------------------\n", "Working on the host: Joachims-MacBook-Pro.local\n", "\n", "---------------------------------\n", "Python version: 3.10.2 | packaged by conda-forge | (main, Feb 1 2022, 19:30:18) [Clang 11.1.0 ]\n", "\n", "---------------------------------\n", "Python interpreter: /opt/miniconda3/envs/srh/bin/python\n" ] } ], "source": [ "%matplotlib inline\n", "# Load the \"autoreload\" extension\n", "%load_ext autoreload\n", "# always reload modules\n", "%autoreload 2\n", "# black formatter for jupyter notebooks\n", "#%load_ext nb_black\n", "# black formatter for jupyter lab\n", "%load_ext lab_black\n", "\n", "%run ../../src/notebook_env.py" ] }, { "cell_type": "markdown", "id": "89fbead3-183a-4341-93ef-4ea16c793357", "metadata": {}, "source": [ "# Logistische Regression" ] }, { "cell_type": "code", "execution_count": 2, "id": "4d17e1c2-a862-4911-8096-05b771be3936", "metadata": {}, "outputs": [], "source": [ "import math\n", "import folium\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import statsmodels.api as sm" ] }, { "cell_type": "markdown", "id": "3e26688b-9061-4cc6-bcd4-362e6880162c", "metadata": {}, "source": [ "Die logistische Regression, auch bekannt als **Logit-Regression** oder **Logit-Modell**, ist ein probabilistisches lineares Modell für dichotome Daten. Die Antwortvariable ist eine binäre Variable (Nominalvariable), d. h. die Variable hat zwei Kategorien oder zwei Werte: Wahr vs. Falsch oder $1$ vs. $0$ oder Erfolg vs. Misserfolg, mit den Wahrscheinlichkeiten $\\pi$ bzw. $1-\\pi$. Somit folgt die Antwortvariable einer Binomialverteilung, die wie folgt geschrieben wird" ] }, { "cell_type": "markdown", "id": "2559f9d2-ec57-4dea-93e9-7b0ca659fc79", "metadata": {}, "source": [ "$$y \\sim B(\\eta,\\pi)\\text{,} $$" ] }, { "cell_type": "markdown", "id": "c027bfec-94ba-4444-800c-52b3c012f007", "metadata": {}, "source": [ "wobei $\\eta$ der binomische Nenner ist, der für eine binäre Variable $0$ oder $1$ ist, und $\\pi$ die Erfolgswahrscheinlichkeit ist." ] }, { "cell_type": "markdown", "id": "df311389-967f-4f35-b45f-520869ef252a", "metadata": {}, "source": [ "## Die Logit-Funktion" ] }, { "cell_type": "markdown", "id": "f0ac01e6-651e-4001-9477-c0b1b54bf349", "metadata": {}, "source": [ "Das Ergebnis einer logistischen Regression ist eine Wahrscheinlichkeit ($\\pi$), also ein Wert zwischen $0$ und $1$. Außerdem ist dieses Ergebnis eine lineare Funktion bekannter Kovariaten $x_i$, was nur ein anderes Wort für die Beobachtungen in unserem Datensatz ist. " ] }, { "cell_type": "markdown", "id": "9c32ce5a-eb8d-4951-8c5c-68f5239273ec", "metadata": {}, "source": [ "$$\\pi =\\beta_0+ \\beta_1x_1+ \\beta_2x_2+ ... +\\beta_kx_k$$" ] }, { "cell_type": "markdown", "id": "86121617-85bb-430d-ac0c-e863f18c9d71", "metadata": {}, "source": [ "Für ein einfaches logistisches Regressionsmodell mit einer Vorhersagevariablen vereinfacht sich die obige Gleichung zu" ] }, { "cell_type": "markdown", "id": "7b70dcfe-8c7f-47a2-b3b8-45729627bb9d", "metadata": {}, "source": [ "$$\\pi = \\beta_0+ \\beta_1x_1\\text{.}$$" ] }, { "cell_type": "markdown", "id": "87fbc88a-bdcd-458c-9e49-3f8505373a99", "metadata": {}, "source": [ "Der rechte Term der Gleichung kann jedoch jeden reellen Wert annehmen, während der linke Term der Gleichung eine Wahrscheinlichkeit auf der Skala von $0$ bis $1$ ist. Um die Skala der Daten (rechter Term) in eine Wahrscheinlichkeit zwischen $0$ und $1$ abzubilden wenden wir eine so genannte **Verknüpfungsfunktion** an.\n", "\n", "Für das logistische Regressionsmodell ist diese Verknüpfungsfunktion die Logit-Funktion. Die Logit-Funktion bildet Wahrscheinlichkeiten aus dem Bereich ($0,1$)\n", "auf den gesamten reellen Zahlenbereich ($-\\infty,\\infty$). Sie wird geschrieben als" ] }, { "cell_type": "markdown", "id": "2259e441-d35e-4587-b0ab-6a1524a6df7d", "metadata": {}, "source": [ "$$\\eta = logit(\\pi)\\text{,}$$" ] }, { "cell_type": "markdown", "id": "34ee9051-2b02-4133-9efe-3a48efcedf59", "metadata": {}, "source": [ "wobei $\\pi$ die Wahrscheinlichkeit ist.\n", "\n", "Um den Logit zu verstehen, führen wir zunächst die Chance oder kurz **Odds** ein. Die Odds ($o$) können geschrieben werden als" ] }, { "cell_type": "markdown", "id": "08fb84fa-0b75-4be7-98f9-14c4f0d51a2c", "metadata": {}, "source": [ "$$o = \\frac{\\pi}{1-\\pi}\\text{,}$$" ] }, { "cell_type": "markdown", "id": "8e8cbacd-60ca-44b4-afda-0c56cd4188a7", "metadata": {}, "source": [ "wobei $\\pi$ die Wahrscheinlichkeit ist, dass ein Ereignis eintritt. Wenn die Wahrscheinlichkeit eines Ereignisses $0,5$ beträgt, ist die Wahrscheinlichkeit eins zu eins oder gerade $\\left(\\frac{0.5}{1-0.5}=1\\right)$. Wenn die Wahrscheinlichkeit $1/3$ beträgt, ist die Wahrscheinlichkeit eins zu zwei $\\left(\\frac{1/3}{1-1/3}=1/2\\right)$. Die Odds können jeden positiven Wert annehmen und unterliegen daher keiner Beschränkung nach oben $[0 \\ $,$ \\ \\infty[$. Daher definieren wir weiter die **Log-Odds**, die der Logarithmus der Odds ist: " ] }, { "cell_type": "markdown", "id": "5fb5f5f2-9e46-49cd-a60f-c960306a8f1c", "metadata": {}, "source": [ "$$\\eta = logit(\\pi) = log \\left( \\frac{\\pi}{1-\\pi}\\right)$$" ] }, { "cell_type": "markdown", "id": "d3fc42c5-13c4-4591-8532-be7021d47dfb", "metadata": {}, "source": [ "Diese logarithmische Funktion bewirkt, dass die Beschränkung der Untergrenze aufgehoben wird, so dass die Funktion, die Logit-Funktion, unsere Verknüpfungsfunktion, Werte im Bereich von $0$ bis $1$ in Werte über den gesamten realen Zahlenbereich $]-\\infty \\ $,$ \\ +\\infty[$ umwandelt. Wenn die Wahrscheinlichkeit $1/2$ beträgt sind die Odds gerade und der Logit ist Null. Negative Logits stehen für Wahrscheinlichkeiten unter der Hälfte und positive Logits für Wahrscheinlichkeiten über der Hälfte.\n", "\n", "Die umgekehrte Form der Logitfunktion wird auch als logistische Funktion bezeichnet, die aufgrund ihrer charakteristischen $S$-Form manchmal einfach als **Sigmoidfunktion** abgekürzt wird. Sie ermöglicht es uns, von Logits auf Wahrscheinlichkeiten umzuschalten." ] }, { "cell_type": "markdown", "id": "d4e29af1-a093-491e-91ba-29989548f305", "metadata": {}, "source": [ "$$\\pi = logit^{-1}(\\eta) = \\frac{e^{\\eta}}{1+e^{\\eta}} = \\frac{1}{1+e^{-\\eta}} = \\frac{1}{1+e^{-(\\beta_0+ \\beta_1x_1+ \\beta_2x_2+ ... +\\beta_kx_k)}}$$" ] }, { "cell_type": "markdown", "id": "23bb4fb7-334c-47f9-ba40-e2d4cd8d742e", "metadata": {}, "source": [ "Die logistische Funktion für das Intervall $[-6 \\ $,$ \\ 6]$ ist unten dargestellt. Für Werte von $\\eta$ im Bereich von $-\\infty$ bis $\\infty$ liegt $\\pi$ im Bereich von $0$ bis $1$." ] }, { "cell_type": "code", "execution_count": 3, "id": "1b19d7a7-20a4-4bcd-a21e-0acab39e9c38", "metadata": { "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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jMANAPXk9VndMjtDi7fkOupn922tqT85heX/AAB1InADQD1Ya/XAu99q3uq9jnp65xYs/wcAOCZ+QgBAPfzts016efF2R61n6wS9OPFUxUdHutQVAKApIHADwHd4bckOTftog6PWNjlGL//qNLVMiHapKwBAU0HgBoBjeDtjl+6usbFNcmykXr72NHVsEedSVwCApoTADQBH8cGaPbp1zkrZw/vaKCbSo79fc6r6tktyrzEAQJNC4AaAOny2fr9uenWFvL7DaTvCY/SXnw3VyO6tXOwMANDUELgBoIavNuVoco0t242Rnrw8XT8c2M7FzgAATRGBGwCOsGTrAf36paWqqPI56o9dOlgXD2EXSQDA8SNwA0BARla+rp35jUorvY76g5cM0k9HdHapKwBAU8fisQAgacWOPF3zzyU6WF7lqN97QX9ddXpXl7oCADQHBG4AYe+bbQf0yxe/qRW2b/9hH/36zB4udQUAaC4I3ADC2qJNOfrVS0trTSO58exeuvGc3i51BQBoTgjcAMLW5xuyNenlpSqvcYHkTef00q0/6ONSVwCA5obADSAsLVi3T9e9slwVXmfYvu0HfXTTWM5sAwAaDoEbQNiZv3qPbnp1haqO2NRGku45v58mfb+nS10BAJorAjeAsDL7mx265801jh0kJen+iwZo4hndXeoKANCcEbgBhAVrrf722SZN+2iDo26M9PAlp+jnp3VxqTMAQHNH4AbQ7Hl9Vg+8+61eXrzdUfcY6bEJQzRheCeXOgMAhAMCN4BmrazSq1vnZGje6r2OenSkR09fka7zBrV3qTMAQLggcANotgrLKjXp5aX6essBRz0pNlJ/v3qETuuR6lJnAIBwQuAG0CztKSjVL1/8Ruv3FjnqbZNj9NK1I9WvXbJLnQEAwg2BG0Czk5GVr9+8vFTZReWOes/WCXrp2pHq1DLepc4AAOGIwA2gWXln5W7d8frKWrtHDuvSQv+45lS1TIh2qTMAQLgicANoFnw+qxmfbNDTn26qNTauf1v95WdDFRcd4UJnAIBwR+AG0OSVVFTptjkrNX/N3lpjk8/qod+f208RHuNCZwAAELgBNHG780s1adZSrdlV6KhHR3g09SensMY2AMB1BG4ATdbnG7I15bUVyiupdNRTE6L1/FXDNaJbK5c6AwDgMAI3gCbH67N6esFGPf3pRlnrHOvb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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots()\n", "x = np.linspace(-6, 6, 100)\n", "z = 1 / (1 + np.exp(-x))\n", "ax.plot(x, z, linewidth=4)\n", "\n", "ax.set_yticks([0, 0.5, 1])\n", "ax.set_xlabel(\"$\\eta$\")\n", "ax.set_ylabel(\"$\\pi$\")\n", "ax.axvline(0, color=\"k\")\n", "for _y in [0, 0.5, 1]:\n", " ax.axhline(_y, color=\"k\", linestyle=\"--\")" ] }, { "cell_type": "markdown", "id": "ad7656bb-c918-4a73-9c3c-6997fa1be4a0", "metadata": {}, "source": [ "## Das logistische Regressionsmodell" ] }, { "cell_type": "markdown", "id": "339d54f9-b957-49ea-a86d-49d11f9de871", "metadata": {}, "source": [ "Die Logit-Funktion bildet Wahrscheinlichkeiten auf Werte über den gesamten realen Zahlenbereich ab. Die Wahrscheinlichkeit, dass ein Ereignis/Ergebnis/Erfolg wahr ist ($y=1$), wenn die Menge der unabhängigen Variablen $x_i$, unsere Daten, gegeben ist, wird also geschrieben als" ] }, { "cell_type": "markdown", "id": "d8ffd008-7019-4cdd-877e-786b4b434186", "metadata": {}, "source": [ "$$logit(P(y=1|x_i)) = \\beta_0+ \\beta_1x_1+ \\beta_2x_2 + ... + \\beta_kx_k\\text{,}$$" ] }, { "cell_type": "markdown", "id": "08f26a78-3036-4fb1-80a8-a899bdc37add", "metadata": {}, "source": [ "Der Einfachheit halber drücken wir das Inverse der obigen Funktion wie folgt aus" ] }, { "cell_type": "markdown", "id": "a11a4aec-4317-4a3d-b22e-327568c81e4f", "metadata": {}, "source": [ "$$\\phi(\\eta) = \\frac{1}{1+e^{-\\eta}}\\text{,}$$" ] }, { "cell_type": "markdown", "id": "4f02feef-dba4-4f59-b2e0-8f0a1837aa0e", "metadata": {}, "source": [ "wobei $\\eta$ die Linearkombination von Koeffizienten ($\\beta_i$) und unabhängiger Variablen ($x_i$) ist, berechnet als $\\eta = \\beta_0 + \\beta_1x_1 + \\beta_2x_2 + ... + \\beta_kx_k$." ] }, { "cell_type": "markdown", "id": "1c0c315a-2d90-4e66-b547-9f70e0dc2140", "metadata": {}, "source": [ "Die Parameter ($\\beta_i$) des Logit-Modells werden nach der Methode der maximalen Wahrscheinlichkeit geschätzt. Es gibt jedoch keine geschlossene Lösung, so dass die Maximum-Likelihood-Schätzungen u. a. durch iterative Algorithmen wie Newton-Raphson, iterativ neu gewichtete kleinste Quadrate oder Gradientenverfahren ermittelt werden.\n", "\n", "Das Ergebnis der Sigmoidfunktion wird als die Wahrscheinlichkeit interpretiert, dass eine bestimmte Beobachtung zur Klasse $1$ gehört. Sie wird geschrieben als $\\phi(\\eta)=P(y=1|x_i,\\beta_i)$, die Erfolgswahrscheinlichkeit ($y=1$) bei den durch die Koeffizienten $\\beta_i$ parametrisierten Prädiktorvariablen $x_i$. Wenn wir beispielsweise für eine bestimmte Beobachtung $\\phi(\\eta)=0,65$ berechnen, bedeutet dies, dass die Wahrscheinlichkeit, dass diese Beobachtung zur Klasse $1$ gehört, $65 \\%$ beträgt. In ähnlicher Weise wird die Wahrscheinlichkeit, dass diese Beobachtung zu Klasse $2$ gehört, berechnet als $$\\phi(\\eta) = P(y=0|x_i,\\beta_i) = 1 - P(y=1|x_i,\\beta_i) = 1 - 0,65=0,35$$ oder $35 \\%$. Für die Klassenzuordnung wird die vorhergesagte Wahrscheinlichkeit dann über eine Einheitssprungfunktion in ein binäres Ergebnis umgewandelt:" ] }, { "cell_type": "markdown", "id": "3b0cfdfe-7138-473f-96df-03c79eb3137f", "metadata": {}, "source": [ "$$\n", "\\hat{y} =\n", "\\begin{cases}\n", "1, & \\text{wenn $\\phi(\\eta) \\ge$ 0,5} \\\\\n", "0, & \\text{sonst}\n", "\\end{cases}$$" ] }, { "cell_type": "markdown", "id": "fd88f442-dddd-43b2-bb65-e53d4d59efb1", "metadata": {}, "source": [ "## Logistische Regression in Python - ein Beispiel" ] }, { "cell_type": "markdown", "id": "82e242b9-2e68-4f21-bfca-7567a3ee971e", "metadata": {}, "source": [ "Die logistische Regressionsanalyse gehört zur Klasse der verallgemeinerten linearen Modelle. In Python werden verallgemeinerte lineare Modelle mit der Funktion `GLM()` verarbeitet. Die Funktion wird als `GLM(y=Antwort, X=Prädiktor, family=sm.families.Binomial())` geschrieben. Bitte beachten Sie, dass `logit` die Vorgabe für binomial ist; wir müssen es also nicht explizit eingeben. Die Funktion `GLM()` gibt ein Modellobjekt zurück, auf das wir Extraktormethoden wie `summary()`, `fitted()` oder `predict()` anwenden können. " ] }, { "cell_type": "markdown", "id": "3d2ff801-5d92-427d-a847-fcb9c15b13ce", "metadata": {}, "source": [ "### Einführung und explorative Datenanalyse" ] }, { "cell_type": "markdown", "id": "98c2228f-b855-4001-9725-3760943335ed", "metadata": {}, "source": [ "Dieses Beispiel ist inspiriert von der Arbeit von James B. Elsner und seinen Kollegen (Elsner et al. 1996 und Kimberlain und Elsner 1998), die an der **Klassifizierung der nordatlantischen Hurrikane** auf der Grundlage von Entstehungs- und Entwicklungsmechanismen gearbeitet haben. Die Klassifizierung ergibt drei verschiedene Gruppen: tropische Wirbelstürme, Wirbelstürme unter baroklinem Einfluss und Wirbelstürme mit baroklinem Ursprung. Der Begriff \"baroklin\" bezieht sich auf die Tatsache, dass diese Hurrikane von Störungen der äußeren Tropen beeinflusst werden oder sogar in den äußeren Tropen entstehen. Die stärkeren tropischen Wirbelstürme entwickeln sich weiter südlich und treten hauptsächlich im August und September auf. Die schwächeren außertropischen Wirbelstürme treten während einer längeren Saison auf. Der ursprüngliche Datensatz zur objektiven Hurrikan-Klassifizierung kann hier abgerufen werden. Die Analyse von James B. Elsner kann hier eingesehen werden.\n", "\n", "**Ziel der Übung ist es, ein Modell zu erstellen, das die Gruppenzugehörigkeit eines Hurrikans, entweder tropisch oder aussertropisch, auf der Grundlage des Breitengrades seiner Entstehung vorhersagt.**" ] }, { "cell_type": "markdown", "id": "14be31d3-2eb1-44a6-9b05-bdcffc92a246", "metadata": {}, "source": [ "Wir beginnen die Analyse mit dem Laden des Datensatzes. Laden Sie die Daten auf Ihren Computer herunter und öffnen Sie die Datei. Bitte beachten Sie, dass es sich bei der Datei um ein *Excel*-Tabelle handelt. Um mit *Excel*-Tabellen umgehen zu können benutzen wir `read_excel()` aus dem `Pandas` Paket." ] }, { "cell_type": "code", "execution_count": 4, "id": "6ce0d73d-66d7-48b9-be8c-8af4c3b5a70c", "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", "
NumberNameYearTypeFirstLatFirstLonMaxLatMaxLonLastLatLastLonMaxInt
RowNames
1430NOTNAMED1944130.2-76.132.1-74.835.1-69.280
2432NOTNAMED1944025.6-74.931.0-78.132.6-78.280
3433NOTNAMED1944014.2-65.216.6-72.220.6-88.5105
4436NOTNAMED1944020.8-58.026.3-72.342.1-71.5120
5437NOTNAMED1944020.0-84.220.6-84.919.1-93.970
\n", "
" ], "text/plain": [ " Number Name Year Type FirstLat FirstLon MaxLat MaxLon \\\n", "RowNames \n", "1 430 NOTNAMED 1944 1 30.2 -76.1 32.1 -74.8 \n", "2 432 NOTNAMED 1944 0 25.6 -74.9 31.0 -78.1 \n", "3 433 NOTNAMED 1944 0 14.2 -65.2 16.6 -72.2 \n", "4 436 NOTNAMED 1944 0 20.8 -58.0 26.3 -72.3 \n", "5 437 NOTNAMED 1944 0 20.0 -84.2 20.6 -84.9 \n", "\n", " LastLat LastLon MaxInt \n", "RowNames \n", "1 35.1 -69.2 80 \n", "2 32.6 -78.2 80 \n", "3 20.6 -88.5 105 \n", "4 42.1 -71.5 120 \n", "5 19.1 -93.9 70 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hurricanes = pd.read_excel(\"../../data/hurricanes.xlsx\", index_col=0)\n", "hurricanes.head(5)" ] }, { "cell_type": "markdown", "id": "ce0478be-7486-443c-8e94-442ab0ae5952", "metadata": {}, "source": [ "Zunächst untersuchen wir die Struktur des Datensatzes, indem wir die Methode `info()` anwenden." ] }, { "cell_type": "code", "execution_count": 5, "id": "e3fcfecf-c427-4222-bbcc-8c405dac55ed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 337 entries, 1 to 337\n", "Data columns (total 11 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Number 337 non-null int64 \n", " 1 Name 337 non-null object \n", " 2 Year 337 non-null int64 \n", " 3 Type 337 non-null int64 \n", " 4 FirstLat 337 non-null float64\n", " 5 FirstLon 337 non-null float64\n", " 6 MaxLat 337 non-null float64\n", " 7 MaxLon 337 non-null float64\n", " 8 LastLat 337 non-null float64\n", " 9 LastLon 337 non-null float64\n", " 10 MaxInt 337 non-null int64 \n", "dtypes: float64(6), int64(4), object(1)\n", "memory usage: 31.6+ KB\n" ] } ], "source": [ "hurricanes.info()" ] }, { "cell_type": "markdown", "id": "cbbc207e-63f6-4627-9c99-ee711125c9cd", "metadata": {}, "source": [ "Der Datensatz besteht aus $337$ Beobachtungen und $12$ Variablen. Wir interessieren uns in erster Linie für die Variable `Type`, die unsere Antwortvariable ist, und für die Variable `FirstLat`, die dem Breitengrad der Entstehung entspricht und somit unsere Prädiktorvariable ist. Um jedoch ein Gefühl für den Datensatz zu bekommen, stellen wir die Anzahl der Hurrikane für jedes Jahr als Balkendiagramm mit dem `mathplotlib`-Paket dar." ] }, { "cell_type": "code", "execution_count": 6, "id": "d0e55eba-e685-4090-93e2-c58e65a86cba", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hurricanes[\"Year\"].value_counts().sort_index().plot.bar(figsize=(18, 6))" ] }, { "cell_type": "markdown", "id": "53965e33-0eef-47b2-8d3a-98f57db1768b", "metadata": {}, "source": [ "Das ist eine schöne Darstellung. Indem wir den Datensatz umformen können wir die Balken zusätzlich entsprechend der Variable `Type` einfärben." ] }, { "cell_type": "code", "execution_count": 7, "id": "c4a0f467-8069-41f9-a917-366a0adc6e72", "metadata": {}, "outputs": [], "source": [ "hurricane_types = (\n", " hurricanes.groupby(\"Type\")[\"Year\"].value_counts().unstack().transpose()\n", ")\n", "hurricane_types = hurricane_types.rename(\n", " columns={0: \"Tropisch\", 1: \"Baroklinisch beeinflusst\", 3: \"Barokline Entstehung\"}\n", ")" ] }, { "cell_type": "code", "execution_count": 8, "id": "3ea030a6-5022-44e7-b9e3-9178734adc86", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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J3LuuefStGlTtttuOyZPnkzfvn0BGDx4MDvuuCNNmzalc+fOLFmypH42XJK2URbGklSLFi3+c42i8rJyQgj/uV9ezrp16yrvVxTQFcuaNm26QV/f+ta3KC0t5dhjj+XZZ5/l4IMPZvXq1RQVFW3Q77vvvsuyZcsAaNasWWV7CKFyioUkKT8sjCWpDnof3ZtHf/ko69ato7y8nHvvvZdjjz22cvmvfvUrABYsWMBzzz3HwIEDN3h8r169eOWVVxg2bBhjxoxhxYoVLF68mH79+jFu3DjKy8tZs2YNp5xySuVUCklS/bIwlqQ6+NZ3vsWuu+3KKUedQocOHVi3bh1333135fJ58+bRs2dPBgwYwOjRoznwwAM3ePxtt93GDTfcQPfu3enbty833ngjxcXF3HjjjWy33XZ07dqV7t27c9xxx3HyySfX9+ZJkoDQ0B/NlZSUxOnTpzdoDpLyb/bs2XTo0KGh08jZ60tf/1xbp107bXC/uLiYxx9/fMPTvKlRaayvT0m5CSHMiDHW+sfaI8aSJEkSXuBDkrbY/PnzGzoFSVIGPGIsSZIkYWEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRLgWSkahS7jutTYXnp2aT1nImVoZKs8978yv/1LUiNgDZEbjxhL2qbNnz+fpk2b0q1bN7p160aXLl34yle+wpQpUzJdTwiBpUuX1tr+1FNPcdlll220j/fee49evXpt1vpHjhzJJZdckllcXdVluwBuvvlm2rVrxze/+U369u3L448/nlkOACtXruToo4/OtE9JWx+PGEva5u2www7MnDmz8v748eMZNmwYc+bMqbccBg0axKBBgzYas9deezF16tR6yigbddkugAcffJBHHnmEPn360Ldv38zzWL58OdOmTcu8X0lbF48YS1I1y5YtY8899wSgvLycH137I07vfzqDeg/ixF4nVh5NHjZsGIMGDaJTp05cffXVrFy5kjPPPJPOnTvTpUsXrrrqKtavX79B34sXL6Zz587ce++9G7SPHTuWE044AYC+ffsyYsQIjjjiCIqLiznvvPMoLy9n/vz5tGjRAoA333yT3r1707NnT3r06MF9990HwPr16/nOd75D+/bt6dixI+eddx5r166tfMxRRx3FQQcdxJFHHsn7779f4/bPnj2bI444gs6dO3PWWWexatUqABYtWsSQIUPo2bMnBx98MLfcckvlY6ZOncrhhx9Ojx49+PKXv8zTTz9d5+069dRTWbhwIeeeey6PPvpoZZ9Vt7f6/cWLF/PVr36VHj160KNHD66//vqNtp9zzjl89tlndOvWjbKysk29BCRtoyyMJW3zKgqmbt26sffee3P55ZczYsQIAGbNmMUHiz/g4QkP89SUpzjp1JMYNWpU5WM//fRTXn/9dW699VYuu+wyWrduTWlpKdOnT+fVV1/lxz/+cWXswoULOeaYYxgxYgQXX3zxRnOaO3cukyZNYtasWUyYMIHJkydvsPz222/nxBNPZMaMGfzhD3/ghRdeoLy8nPvuu48ZM2bw6quv8tprr7Fq1arKYvPtt99m/PjxvPnmm3zhC1/g5z//eY3r/te//sUTTzxBaWkpMUZuuukmAM466yy++c1vMmPGDKZNm8bEiRMZP348y5cv55xzzuGhhx7iH//4B08++SQXXXQRCxYsqNN2Pfroo+y11148/PDDnHrqqXUYMfjZz37Gvvvuyz/+8Q9efPFF5syZw8qVK2tt/+Uvf1n5yUDTpk3rtA5J2x6nUkja5lWfSjFx4kQGDx5MaWkp3b7cjVZfaMX4ceN5d/67vDzlZXb7wm6VsX369Kn8fcKECUyZMoUQAs2bN+fCCy/krrvu4pprrgHguOOOo23btnz961/fZE4nnngiTZo0oWXLluy///58+OGH7LPPPpXLhwwZwje+8Q2mTZtGv379GD16NE2aNGHixImcddZZ7LDDDgCVRfHIkSM59thjadOmDQBdu3ZlyZIlNa775JNProw755xzGD58ODfccAOTJ0/mww8/rDwK+/HHHzNz5kxatGjB+++/z+DBgyv7CCEwa9asOm3X5hgwYADHHXccCxYsoF+/fowaNYpWrVrV2r58+fLNWo+kbYtHjCWpmn79+rH//vszbdo0Jj83mW+f/m0Ajh5wNEPPHkqMsTK26kf95eXlhBA2uL9u3brK+w888ABNmjThzjvv3GQOFYUtJEVm1XUCnHDCCcyZM4ehQ4fyyiuv0KVLFxYuXEhRUdEGOfz73/+unDLRrFmzjfZZoeoR1fLycpo1a0ZZWRkxRqZOncrMmTOZOXMmf/vb37j22mspKyujQ4cOle0Vy/r375/zdlVVfXnFlBCAL3/5y8ybN48LLriA+fPnc8ghhzBjxoxa2yWpLiyMJamat956i/nz59O9e3demvwSffv35bRzTqNTt048P+H5Wueo9u/fn3vuuYcYI2vWrGHMmDEce+yxlcsPO+wwxo0bx0033cRrr722RTl+/etf59FHH+W0007jvvvuo2XLlsydO5d+/frxyCOPsGbNGsrLy7nooov49a9/nVPfTz31FMuXL6esrIyf/exnDBw4kJYtW3LooYdWFvUrVqygd+/ePPnkkxx66KHMmTOHF154AYCZM2dywAEHsGjRoi3axl122YW1a9fyxhtvAGywHddccw0//OEPGTx4MHfffTedOnXitddeq7W9qKiosriXpNo4lULSNq9ijnGF8vJyxowZQ/v27Rk6bChXXXAVQ44Ywvr16+nVtxeT/jCJ8vLyz/UzevRoLr30Urp06cLatWsZMGAA11133QYxBx54INdffz1nnnnmFp0l4frrr+e8887jgQceoGnTpgwZMoQjjjiCPn36MH/+fHr27EmMkb59+3LZZZdVzhOui44dO3LCCSewfPly+vTpUzkV5JFHHuGSSy6p3L7TTz+dM844A4AnnniC4cOHs3r1asrLy3nooYcoLi7e7O0DaNWqFbfddhsDBw5kt91242tf+1rlsv/+7//m7LPPpnPnzjRv3pyuXbty2mmnsXz58hrbi4qKOOSQQ+jUqRMvvvgirVu33qLcJG2dQkO/ey4pKYnTp09v0BwKnSfn1tZg9uzZdOjQoaHTyNnrS1//XFunXTs1QCbKp8b6+pQ2xRpiQyGEGTHGktqWO5VCkiRJwsJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwAt8SGogtZ1bMyt1PUfn/Pnz2W+//ejSJcmnrKyMHXfckTvvvJPevXtnlk8IgQ8++IBdd921xvapU6cyceJERo8encn6+vbtyzvvvEOrVq02aP/e977HKaecUuvjVq5cyZAhQ3j++ec32v8PfvADunbtykknnbTRuOLiYh5//HFKSmo9bagkFQwLY0nbvB122IGZM2dW3h8/fjzDhg1jzpw59ZbDoEGDGDRoUKZ93n777RstgmuyfPnyOl2R7/nnn6djx46bm5okFSSnUkhSNcuWLWPPPfcEkstD/+jaH3F6/9MZ1HsQJ/Y6kSlTpgAwbNgwBg0aRKdOnbj66qtZuXIlZ555Jp07d6ZLly5cddVVrF+/foO+Fy9eTOfOnbn33ns3aB87diwnnHACkBztHTFiBEcccQTFxcWcd955lZegnjp1Kocffjg9evTgy1/+Mk8//fRmbeP222/PyJEj6dWrF/vssw/3338/AOecc07lJbLLysq48cYbOfjggykpKaF///68//773HvvvUyfPp3hw4fzu9/9jrVr13LFFVfQo0cPunbtyrBhw/joo48q1/XAAw9QUlJCu3btKi+RPWnSJDp37lwZU/X+yJEjGTZsGP379+eggw7imGOO4f333wfg5ZdfpqSkhIMPPpghQ4bQo0cPJk2atFnPgSRVl3NhHEIYFEJYVa0thBCuCyEsCCF8GkL4UwjhoOzSlKT8qSgEu3Xrxt57783ll1/OiBEjAJg1YxYfLP6Ahyc8zFNTnuKkU09i1KhRlY/99NNPef3117n11lu57LLLaN26NaWlpUyfPp1XX32VH//4x5WxCxcu5JhjjmHEiBFcfPHFG81p7ty5TJo0iVmzZjFhwgQmT57M8uXLOeecc3jooYf4xz/+wZNPPslFF13EggULauxj+PDhldtVcVu2bBkAa9asYdddd2Xq1Kk8/vjjXHHFFaxevZpf/vKXlUfQ33vvPe666y5efvllpk+fzle/+lX+/ve/c/HFF1NSUsLtt9/OkCFDGDVqFEVFRcyYMYNXX32Vvfbai2uuuaYyj+23357p06czbdo07rjjDt59991NjsmLL77IY489xptvvslOO+3ET3/6U9avX8/JJ5/MD3/4Q2bNmsVll122wZF+SdpSOU2lCCH0Av4XCNUW3QBcA1wNzAe+B/w5hNAxxrgygzwlKW+qT6WYOHEigwcPprS0lG5f7karL7Ri/LjxvDv/XV6e8jK7fWG3ytg+ffpU/j5hwgSmTJlCCIHmzZtz4YUXctddd1UWiccddxxt27bl61//+iZzOvHEE2nSpAktW7Zk//3358MPP+Sll17i/fffZ/DgwZVxIQRmzZpFu3btPtfHpqZSVMwP7tGjB2vWrOGTTz7ZYPmXvvQlunbtSo8ePRg4cCADBw7kmGOO+Vw/Tz/9NCtWrOBPf/oTAGvXrmW33f7zHFVs7x577MHuu+/OkiVLNrn9ffv2pWXLlgB0796dDz/8kNLSZN74wIEDATjqqKM2OOosSVuqTkeMQwjNQwhXAX8B1ldbtjNwJTAyxjg6xvgU0B/YGTg343wlKe/69evH/vvvz7Rp05j83GS+ffq3ATh6wNEMPXsoMcbK2BYtWlT+Xl5eTghhg/vr1q2rvP/AAw/QpEkT7rzzzk3msMMOO1T+HkIgxkhZWRkdOnRg5syZlbe//e1v9O/ff7O2s2IdFTlX3S6AJk2aMHnyZMaOHUvr1q254ooruOqqqz7XT1lZGXfffXdlTtOmTePxxx+vXN6sWbPPbUvFzwpr167d5PYXFRV9LsemTZvmutmSVKu6TqUYCIwAhgM/qbbsUKAF8FRFQ4xxOTAZGJBBjpJUr9566y3mz59P9+7deWnyS/Tt35fTzjmNTt068fyE5ykrK6vxcf379+eee+4hxsiaNWsYM2YMxx57bOXyww47jHHjxnHTTTfx2muv5ZzXoYceypw5c3jhhRcAmDlzJgcccACLFi3avA2tQVFREWVlZcQYefXVV+ncuTMdOnRgxIgRXHHFFbz88suVcRVFf8V2r127lvLycs4///zKqSi1adOmDQsWLGDJkiXEGPnNb36zydw6dOhA8+bN+eMf/wjAtGnTKC0t3eDNiCRtibpOpXgZ2CfGuCKEMLLasvbpz7nV2t8GNn4eH0kqABVzjCuUl5czZswY2rdvz9BhQ7nqgqsYcsQQ1q9fT6++vZj0h0mVX4aravTo0Vx66aV06dKFtWvXMmDAgMovm1U48MADuf766znzzDPrdPaHqtq0acMTTzzB8OHDWb16NeXl5Tz00EMUFxfXGD98+HBuuummDdpOPvlkbrjhhlrXseeee3LIIYfQqVMnXnzxRYYOHUpJSQktWrRghx12qDyd3KBBgxgxYgRr167l+uuv58orr6R79+6UlZXRrVs37rjjjo1uS8eOHfnWt75FSUkJe+65JyeccMImn4+ioiKeeOIJLrzwQkaMGEH79u3ZY4892HHHHTf6OEmqq1D9Y6lNPiApjK+MMbZI748Abowxbl8t7ibg2zHGL9bQxwXABQDt2rXr+c4772xe9tuKka1qaXf6thqP2bNn06FDh4ZOI2evL339c22ddu3UAJkIkmL/yiuvZPfdd+fdd9+la9euvP322+yyyy5b1G9jfX1Km1RANURt56+v63nnsxBCmBFjrPXE6lmcxzgANVXXAfj8IRUgxjgGGANQUlKSW2UuSdpm7b333hxzzDE0a9aMGCM///nPt7golqQKWRTGK4HmIYRmMcZ1VdpbpMskScrEJZdcwiWXXNLQaUjaSmVxgY85JEeH96nWvi/wzwz6lyRJkvIui8J4KrAaGFzREEL4AnAk8OcM+pckSZLybounUsQYPw4h/AS4KYRQDrwFXAd8BPx8S/uXtPWoOH+tVEhy/RK6pK1XFnOMAa4l+aLdlSRzi6cCZ3vVO0kVtt9+e5YtW0br1q0tjlUwYowsW7aM7bffftPBkrZ6ORfGMcaRwMhqbetJLgl9TSZZSdrqtG3bloULF/LBBx80dCo5Wfzx4s+1Nfkgi1loKhTbb789bdu2beg0JBWArI4YS9JGNWvWjH32qf4d3cI3dNzQz7XV5zk3JUn1x8MekiRJEhbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBUNTQCUhVFV/zTI3t80cdX8+ZSFKiy7guNbaXnl1az5lIuSte/UiN7fNre8DIVrW0r8winYLnEWNJkiQJC2NJkiQJsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZIAC2NJkiQJsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZIAC2NJkiQJsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZKADAvjEELTEMJVIYR/hRA+DiH8PYRwdFb9S5IkSfmU5RHj4cAtwC+AwcBc4I8hhO4ZrkOSJEnKiywL47OBR2KMt8QYJwJnAYuBczNchyRJkpQXWRbGzYGPKu7EGMuAlcAXM1yHJEmSlBdZFsb3AmeFEI4JIbQKIVwOdAJ+k+E6JEmSpLwoyrCv+4GjgYlV2r4XY3wqw3VIkiRJeZFJYRxCCMCzQEfg28BsoB9wYwhhRYzx3mrxFwAXALRr1y6LFLZqxasfqbF9fi3xXcZ1qbG99OzSbBLKQSHl0tjV9Fz6POZf6bwFDZ2CpIz5v6l2udYcucj57+nIVrW0r6yxOYtxzeqIcW+gDzA0xvhY2jYphFAE3BZCGBdj/LgiOMY4BhgDUFJSEjPKQZIkSdpsWc0x/q/059+qtf8V2BEozmg9kiRJUl5kVRi/lf7sXa39K8B6YGFG65EkSZLyIpOpFDHGGSGEZ4D7QghfJJlj3Be4Grg7xrgii/VIkiRJ+ZLlWSm+BtwEXEdy7uI5wGXAAxmuQ5IkScqLzArjGONnwHfTmyRJktSoZHmBD0mSJKnRsjCWJEmSsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZIAC2NJkiQJsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZIAC2NJkiQJsDCWJEmSAAtjSZIkCbAwliRJkgALY0mSJAmwMJYkSZIAKGroBDYwslUt7SvrN496UHzNM59rmz/q+AbIJL9K5y1o6BQ2W01jBLWPU5dxXWpsLz27NJN8Vs0elUk/Ncl37rkopFykzVHTa7ixvH4bc+411hBbYf2wLSle/UiN7fPzuE6PGEuSJElYGEuSJEmAhbEkSZIEWBhLkiRJgIWxJEmSBFgYS5IkSYCFsSRJkgRYGEuSJEmAhbEkSZIEWBhLkiRJgIWxJEmSBFgYS5IkSYCFsSRJkgRYGEuSJEmAhbEkSZIEWBhLkiRJgIWxJEmSBFgYS5IkSYCFsSRJkgRkXBiHEI4JIfw9hPBZCOGdEML3QwhNs1yHJEmSlA+ZFcYhhN7ABGA2cDxwD3A18L2s1iFJkiTlS1GGfY0CnosxDkvvPx9CaA0cBXw/w/VIkiRJmcukMA4htAF6A4OrtscYr8mif0mSJCnfsppK0QUIwCchhN+HEFaHEJaEEEaGEPyCnyRJkgpeVkVrm/Tnr4A3gYHAfSTzi4dntA5JkiQpb7KaY9ws/flsjLGiEP5LCGFX4HshhB/HGMsqgkMIFwAXALRr1y6jFBrYyFa1tK+s3zyA0nkLcoovvuaZGtvnjzq+zvG1xapxyPU1U0iv9y7jutTYXnp2aT1nkrttKffGvK257h8570+SMpHFvpfVEeOP059/rNb+J6AFUFy1McY4JsZYEmMsadOmDZIkSVJDy6ow/lf6c7tq7RVHkmNG65EkSZLyIqvC+A1gEfC1au3HA+8B8zNajyRJkpQXmcwxjjGWhxCuBcaFEO4HHgf6AWcDF8UYy7NYjyRJkpQvmV3gI8b4qxDCOuBa4BzgXeDCGOOYrNYhSZIk5UuWV74jxvhr4NdZ9ilJkiTVBy++IUmSJGFhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEgBFDZ1AVcWrH6mxfX5tDxjZqpb2lVueyzXP1JzLqONrjs81922Ez0vjkOs4NeZx7TKuS43tpWeX1the07bOz6jvxqx03oK8xtf0XNb2POb8vOfxf0ehyfW5yXWc8imf+2ohbee2JN//O7Lo3yPGkiRJEhbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkAXkojEMIzUMIs0MIY7PuW5IkScqXfBwxvhE4KA/9SpIkSXmTaWEcQugOXAYszbJfSZIkKd8yK4xDCEXAL4DbgUVZ9StJkiTVhyyPGF8NbAf8KMM+JUmSpHpRlEUnIYSDgOuAY2KMa0MIWXQrSZIk1ZstLoxDCE2AB4EHY4wv1fExFwAXALRr126z1128+pEa2+dvdo9bh23qeRnZqpb2lfWbB1A6b0FO8V3Gdam5n7NLs0insNQ0ThmNUa7P+7akptdYra+vHPelfP+dyWVc8/0ayHVba4qvLbbQ5JJ7vv+GrZo9KpN+spDrtub83OTxb6Ryk8VUikuBvYEbQghF6VxjgFDl9w3EGMfEGEtijCVt2rTJIAVJkiRpy2RRGA8BvgR8CKxLb12BbwDrQgjFGaxDkiRJyqss5hh/C9i5WtvDwFvA94H3MliHJEmSlFdbXBjHGP9ZvS2E8BmwLMY4fUv7lyRJkupDPq58J0mSJDU6mZyurboYY7d89CtJkiTli0eMJUmSJCyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAqCooROoNyNb1dK+sn7zUKaKVz9SY/v8WuK7jOvyubbSs0uzS6hA1LSd0Di2tXTegkbbf6595xqf67jm0n+u+5IaRmPetwsp98b8ei+k57GQcsmKR4wlSZIkLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCMiyMQwhNQwjfCSHMDiF8EkJ4I4RwSQghZLUOSZIkKV+KMuzreuAa4IfA34DDgbuAHYHbMlyPJEmSlLlMCuMQQhPgO8DtMcab0+Y/hxDaAFdiYSxJkqQCl9VUilbAr4DfVmv/J9AmhLBTRuuRJEmS8iKTI8YxxuXAJTUsOhFYGGP8JIv1SJIkSfmS5RzjDYQQzgP6AZflax2SJElSVvJSGIcQzgB+CjwO3FPD8guACwDatWuXjxQ+p3j1IzW2z6+XtatQrJo9qqFTqJTPXErnLchb3/mW677amPftxpx7IWnUr5mRrWppX1m/eWyGxvx3RqpN5ucxDiFcATwEPA2cEWOM1WNijGNijCUxxpI2bdpknYIkSZKUs0wL4xDCLcCdJIXxKTHGtVn2L0mSJOVLlhf4uBwYAdwNDIsxrs+qb0mSJCnfsjqP8Z7ArUAp8BvgK9UueDfdQlmSJEmFLKsv3/UHmgNdgJdqWN4GWJrRuiRJkqTMZTKVIsY4NsYYNnKzKJYkSVJBy/ysFJIkSVJjZGEsSZIkYWEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRJgYSxJkiQBFsaSJEkSYGEsSZIkARbGkiRJEmBhLEmSJAEWxpIkSRIARQ2dgLS1KF79SI3t8+s3jYJU03Mzv/7TAPI7Tvl+DZTOW5BT/LbyvG9Lcn0N5BqfT6tmj2roFOpNPvfVQnoeCymXrHjEWJIkScLCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJMDCWJIkSQIsjCVJkiTAwliSJEkCLIwlSZIkwMJYkiRJAiyMJUmSJCDjwjiEcH4IYU4I4bMQwkshhMOy7F+SJEnKl8wK4xDCN4CfAv8L/D9gBfBsCGGfrNYhSZIk5UsmhXEIIQA/AMbEGL8fY/wDMAhYClyRxTokSZKkfMrqiPH+wN7AUxUNMcZ1wDPAgIzWIUmSJOVNVoVx+/Tnv6q1vw3sF0JomtF6JEmSpLzIqjBumf5cVa19VbqOnTJajyRJkpQXIca45Z2E8HXgYWCPGOO/q7SfD4wBdo4xflyl/QLggvTugcA/a+h2V5I5ynWVS3w++853fCHlkmt8IeWSa3wh5ZJrfCHlkmt8IeWSa7y5ZBNfSLnkGl9IueQaX0i55BpfSLnkGl9IueQaX0i5bCx+7xhjm1ofFWPc4htwPBCB/au1XwGUkRbgOfY5PV/x+ezb3BtHLubeOOILKZfGnHsh5WLujSO+kHIx98YRX0i5bE58xS2rqRRz0p/7VmvfF/hnTDOUJEmSClWWhfG7wOCKhhBCM5IjyX/OaB2SJElS3hRl0UmMMYYQRgH3hBCWA1OAS0jmd/zPZnY7Jo/x+ew73/GFlEuu8YWUS67xhZRLrvGFlEuu8YWUS67x5pJNfCHlkmt8IeWSa3wh5ZJrfCHlkmt8IeWSa3wh5bI58UBGX76r7CyE7wKXkxTEM4HvxhhfymwFkiRJUp5kWhhLkiRJjVVWc4wlSZKkRs3CWJIkScLCWJIkSQIyOiuFJEmSVN9CCN2AAUB7oCVQDqwkuaryn2OMr+TUX6F++S6E0ASYCHwrxjgnbTsO+GuM8aMqce2B4UBXkkv/TQLuiTF+WmX5MTHG+9P77YCrgC4kV+ubAowGHgF+FmP8TQ45BqA78MU0r9UhhH2BG4COwNvArVUHJYQwgGQAi4GdgE+BD0nO4vGHim1NY7uR4WBXy70YuBDYB5gNPBBjfL9aTHvgxzHGQen9vYDmMcZ56f0uwGXAl4BZwP/EKpcEr2Gd9TqmMcZ/hxD+TA7jmu8xTeO7kYdxbYgxTR+zxeOazzFN+3NfdV91X3VfdV/divbVEMLOwMPACcBHwHxgFRCAFuljdwaeBs6IMX5cl3xzvlReljfgiI3cjiJ5wZ5Xpa0MOKTK4w8BPgYWA78FJqRPzlygLXB0+mS+XmV9HwPvp/G/B5aRvEjK0/5/Aexah9zbAFPTx5QD84BOwKJ0kB8D/pWuvwuwPfDHNHYJsC5d9tc0fl16+0k6kE+lsSvSF8KLaezMtK0MeBJosRnPe/f0xbMEmAGsSfs8sVrcV9L17AT8Lv29DHgWODh9rt8F/pQ+j4uArxXQmHbMZVzzPKYhn+Oa5zHdeyNjmsW4Ds3XmLqvuq9uxpi6r7qvuq82jn31Z8C/0/xDDesOwDFpzJg6j2Wug5/lrcoLouIJ29itIqbqYE9NX9gtqrTtAZQCvwH+ng5qs3TZK+mLb8cq8bukfUTgauAdknclVwEtN5L7r9IX1bFAT5J3bB+kP5unMdul6/sD8GPgTaB9lfU+CdyS3m8FXJMO+Mu5DDbJEe+63u4m2eGeA3ZI+9sHeB5YC5xWww58F/Ae8A3g9PRF/EH64q3Y1tbp81sxVoUwps+m/ddpXPM8pteS406c47guyOOYPkp+99Vl+RpT91X31c0YU/dV91X31caxr34KnFXb66lKDt8AlmwqrjK+roH5uAF90xfDApJ3RF2r3HqmT/5pVdqqD/Za4IQa+v0asBz4BOhXpX0dcGwN8ceRFMaHkLyr/FH6hK8kecEfVsNjFgMnV7nfLs1vQLW440ne9SwCTqm2bG/gs6ovKOA76Qu7zoOdvqDLSd7hzdvE7e30hVw9z2bA/5G8yz2+2g68GPh6tXErB75arY9TSN6FFsqYrqrovy7jmucxnZs+7/ka17I8jumH5HdfjfkaU/dV99XNGFP3VfdV99XGsa+WVe17I2N6GrByU3EVtwb98l2McVIIoTNwM8kh+ZuB22OMZSGEpmnYWzHGVwGSaSrEKl28R/JkVbea5AlbCuxbpX0OsFsN8XtWyWkVMCKEcBdwEXAucEkI4d/ANJJ5SMtJzuhRNZeqv1fVhOSjgRYkL87qeTZP118xF2gWyTvXT2rpr6q1JO+4Tg4h3AZcDAyJMc7c2INCCItIPsb5T/IxrgshDCV5xzs+hPBVYH26uDnJkYIKfyOZy7OeDX1KskMVyph+XLGddRzXFuRvTHcleW7yMq55HtOY5321nPyNqfuq+6r7qvuq++rWua+WAT8OISyIMU6vqdMQQglwG8nR6LqpawWd7xvJu49Skrk+PYGmJDthjyox5SQTxm8heQcwjuRjh6ZVYnYj+cjkKeD7JO9ihqTL/h/JO67e6f0mwEkkL4pIlXdYNeR2Pck8m3kkL4zxwFvAkUCPNI8lwF/4z0cpOwKTgWdIPlKZAXyxSr8/SQe5aXp/V5KPY94jeQdaspHnqyTdll9XaXsamFaH5/ph4DVgnxqWtQReTZ+3W0heeE+TfBTTeiN97pxu69MFNKZ3U+2d8ybGdV0ex/TPwNh8jWt9jWmexvWfeRxT91X3VfdV91X31a1zX52cxpeRzId+kaQAfgZ4AViYLnuJOsxxr1xfXQPr40byscMPSN7V3ZVuUNXB/m46wK+QvPupmE9zXLr8VJJ3FkuAg9IXzH1pzJL0iVqc3l9F8k6sLH2Cax3oWnJtS/KOpSKHGemLdFU6QH8imau0nOSdXs90YJenA/lW+tgL0v6Gpi+gBSQfteQ82CRzmn4HdKhD7rPTPu6sYXlrkjlHFdvWnuTLAGuAnjXEn0jyJYOlQMcCGtMdcxnXPI9pR5K5UnkZ1/oc0zyMa8d8jan7qvvqZoyp+6r7qvtqI9lX07ajSI6ijycpvJ9Nf78ZOLqur7+KW0Geri09XckvSJ6gkhjjP2qIaUoyoAeTnGJlSQjhcJLJ8xucIiWEsD8wmOQbj21IXlQfk8zZeS7G+KcQwi+BH8T0lCl1zLOI5B1Qc2BqTD7W6ApcSvJieAu4K8b4dhp/AMlpWA4g2SEejjFOSpd1ALoBv4/pKUVCCEel29Oe5B1nIHlXNyfd5ufrmmsNuW9PcoqTFTHGibVs26XAoBjjUSGEXUi+IPBIjHFltdivkDy/98UY361lfbmO6fMxOS3MZo9pGpfTuNYypt2AS8hgTNP2vIxrOqYnAsvrY0zTuMzGNX0uTyLjMa2y7Xkb1218X93iv79pXBb76sb+/rZPlxXKvlpvY5rGZTauW8G+2i+Nz8e+Wm9/g3MY0w4kY7Wp/6t5Gdf6+L+apYIsjKHy3Hz/BSyKMVafc6NGyDHdOjmuW58qY/pejHFdQ+ejbLivbn229TENyYTqk6j93NQTgSdjLsVuroeY6+tGMqflbaBTQ8fXdy7At4E21WKOJPnIYQnwBsnHHl8qtPhCyqXQcq+y/OYq979CMtfsHZIvXjwMdM4xvlOusYUWn8/nJY/xnUnOYHBNXfbztJ+CiS+kXAot9/QxOwInk5wfds+07RCSuZtLSD4WP76W+L02Fp9LbB3j/7a5ueTafx76zmpbz63D815EcgGO/yOZozuHZO7vX4A7gaOqvQY2Fv8/9RnfwLlvUf/56pvky3j/IJmiMSuNfwj43/T3ii/ozQD2qPO+n8sfiqxvJKdFqe02jKTqv34TcVnFP1BAuWwwfwcYSPJN1dL0RXQ/yT/oipNtlxVQfCHlUmi5fy19zF/S+JPT+zPT+J+QvMP9DOidY/z38th3vuMbc+7lJGM+ETioDn/zCia+kHIpwNz3ISmmy9PbcpJ5jCtJvjB1O8kc1fXA4TnGD81j3/mOb8y5H0dSXH1EcsaE90n24UdJ5rIuIdnPf09ydoQvFlD8ngWUSyHl/gTJNIz9N7IvH5DGPLqp/b7yMXUNzMct3dgyaj9pdVm13/MZHwssl6oF16sk736aVGnbgf98eaB6Id2Q8eZee/wskjldFcveIjnyGKq0NU37mJpj/Cd57Dvf8Y059wicDUwn+RLNfcC+G/mbV14o8YWUSwHm/n8kR5kOIPnS1MPp6/Q31eIeJjkymUv80jz2ne/4xpz7+yRHm1tX2YfHAA+m9wPJGRxWkRTUPy+g+FkFlEsh5b6Gup3H+BTgw03FVcbXNTAfN+BAksv8vQsMIrmiScWtNckfsyOqtOUzvmcB5VK94FpLtZN+p+2DqHKy7QKJr15cmvt/4j9lw4+X1lLtI6S0/askf9xziY957Dvf8Y0990NIpkN9i+SUUOtIToF0OtUuLVvxmimE+ELKpQBzX0b6Df70/m5pH8fU8BpYnmN8eR77znd8Y8/9+Grte6Svg9ZV2s4l+T+9pIDiywool0LKvYy6XbTlPGDppuIqbk1oQDHGf8YY+5CcfPkh4FagPCbfzlyRhn0cY1yZ3vIZP6NQcql4eqo8VfOgxouxbE/yjdFCii+kXAot94Uk58msUEryZYHqOpEcmcklfn0e+853fGPOHYAYY3mM8QGSj3bPJ3mz+7/AshDCzBDCoyGEnxZSPMmRl4LIpQBzXw18ocpYV/y+MxtqSfI3IJd4cojNte98xzfm3EMN7duRHJGs2scikotMbF9A8U0KKJdCyn0dcGcI4ZQQwg7VHkMIoXkI4RSSI9GPV19eq7pW0Pm+AcUkV4dZSHKKkqYk7/B61Hd8Q+eS/v5P4BGSa4KPJ5lrU/WISVf+8xFvIcXHAsql0HK/lOSjnytI/lAfSXLk6gySE5bvBVxOctTyxhzjn8lj3/mOb8y5b/CpQbX9fDeS7wz8hORLI68VWHwsoFwKLfefkXz0fjbJHPMZJKesepX0Szzp62AWydzHXOLn5rHvfMc35twXpcvap+3NgcdIzqFbcYaubmkfvwOeLKD49wsol0LK/f+AX5IcXFlHcsT5DeB1kvMcryXZ9x8lvZhIXW4NXhDX8EfqmyTXHP8/qp20ur7jGyoXkqvOfD99kczlP3OTB6TLz00H+02SsykUUvz5BZRLQeWetl1FcvS44gTly6s8rmKe+c9J5ynnEp/Pvs291vhaC65a9vmCiS+kXAow911ILhRQnt6eJDnK/G+So5RzSN48vUNyqqxc4jvlse98xzfm3PuQvMFdT3IWqI9IvvtzUjrm56R9TCc5t+5+BRTfu4ByKajc07b9SP5/3wb8lORkCrelbbV+l6C2W0GexziEsCfJlyNOopaTVtdXfCHkEkLYieSE62/EGFemJ8buBjwWY/ykkOMLKZdCyT2EsDPQn9pPoj6nWr91js9n3+b++fgQwo3Az2KM71EHhRRfSLnkGp/vXKo8rg2wfUwvsBBC2IvkgEZbkk+CfhFjXLE58fns29xrjg8hfJGksDqA5OjiYzHGt9LHtCM54PH3GGN52lYw8YWUS6HlnrWCLIwlSZKkjUkPYJzLxi/w8WCMcVWdO831EHPWN5LJ1KNIzhG6guSjy5UkX2T6Lcm7hqL6iG9Eufwux77rNb6QcjF3czd3cy+0+ELKxdzNvbHmTnK2r3fTZU8BdwE/BG5Kf38qXfYO6Zzlutwa9IhxCGFvYArJRr8M7Esyh+lnJN9OPJjk+tqvkJxupUUe479J8iUgczH3QsjF3M3d3M3d3M3d3GuP/4jkyof9Y5WpNVWFEL5AMg/9wxjjwJpiPifLo7+53ki+afgMsF2VtpEk17WuuH8YyUTsn+c5/m1zMfcCysXczd3czd3czd3ca49fB5xQ0V7bjeRaAh9tKq4yvq6B+biRnJHhq9XaWpN863vPKm2nknzLNJ/x5eZi7gWUi7mbu7mbu7mbu7nXHl8GXFw1tqYb8F3gvU3FVdxquhhBffuvavfbkJyIu3mVtjVQeTGSfMWbi7kXUi7mbu7mbu7mbu7mXnv8auC29OIevwfmxhjXA4QQmpKcum8wyZzjO6mrulbQ+biRXHHo30C/9AlpS3L987np8h3TjZoLjM1z/FxzMfcCysXczd3czd3czd3cNx5/I8lc47L09inJxZfWV7l/K9C0zrVpAxfGbUgut1pGcoWSMpLrZPdKl59Nchj+dyQn8s5n/H7mYu4FlIu5m7u5m7u5m7u5byQ+bWtBMo/42yRXoR2R/n4ssBPJ1YW/WNfatMHPYxxCaEayQQeQnHbjjzHGZemy1iQTsN+vj3hzMfdCysXczd3czb3Q4gspF3M39xDClcCVJAX1QuDWGON9VBFC+AowNcbYlDpo8MJYkiRJykUI4WKS8xU/QHIxj0HA0SRntjgz/me+sYWxJEmStl4hhNeBR2OMP6jSdh5wP8nFPb4Wk0tS51QYN+hZKUIIH+UQHkm+lZiv+J2BVeayxfHm3jDx5t4w8ebeMPHm3jDx5t4w8eZee98vbtBBjD8PIXwG/IrkvMjfzKE/oIELY+BM4CGSkzTfQ/KkbMwreYw/EDjeXMy9QHIxd3M3d3M3d3M399pdDHwF+EvVxhjjwyGE3YA7QgjLgfGbWOeGqn8br75vQC+Sc9Ft8iTN+Y43F3MvpFzMvXHEF1Iu5t444gspF3NvHPGFlEuh5A58h+R0bCOBrjUsv4XkDBYzgbK6rDvG2PCFcZr8VcAyoGVDx5uLuRdSLubeOOILKRdzbxzxhZSLuTeO+ELKpRByJznP8UhgJTC6lpjLgc9ohIXxdsBJVLncX0PFm4u5F1Iu5t444gspF3NvHPGFlIu5N474QsqlkHInmZe8y0aW7wGcXZf1xlgA5zGWJEmSCkGTTYdIkiRJWz8LY0mSJAkLY0lqECGE+0MIMYRwRC3L7wohrA8h9Kzv3CRpW+UcY0lqACGElsBsYAXQLca4rsqynsDfgdtijNc2TIaStO2xMJakBhJCGAL8Frgmxnhr2taUpCjeEegeY1zTgClK0jbFqRSS1EBijL8DfgfcEEJolzZfDHQHvhljXBNCOD2EUBpCWB1CmBtCuLRqHyGEliGEu0MI74QQ1oYQPgghjAsh7FIlJoYQrg0hvB5CWBZCOKW+tlGSGhOPGEtSAwoh7AW8AfwRuBR4C3gwxnhlCOFsYCxwL/AUcChwAzAixnh7+vingc7ACOB9kkuk3kRywvvvpjGR5BKrlwNLgRdijP+ur22UpMbCwliSGlgI4ULgfmAKsBvQFVgDvAv8JcZ4ZpXY64HhwJ5AGUnBfGeM8Y9VYp4EvhRjLEnvR+CZGOMJ9bNFktQ4FTV0ApIkHgDOAHoDR8QYPwshHATsBTwTQqj6t3oC8APgkBjjX4CvAoQQioH2JEePOwKrq63jjbxugSRtBZxjLEkNLCYf3f0Z+DTG+Ne0uXX68xGSaRAVt5fT9j0BQgiDQghzgXnAw8CxwKckl0mtakneNkCSthIeMZakwrQy/XkxMK2G5fNCCAcAjwHjgCNjjAsBQgjjSY4aS5Jy4BFjSSpMbwLLgLYxxukVN5IjyT8EWgE9gO2AUVWK4p2APnz+iLEkaRM8YixJBSjGuD6EMBK4M4QAyVSLfYAfAXNIpk4UkXwB79YQwv3ArsCVwB4kX96TJOXAI8aSVKBijPcAFwKDgD+QfOnuMeD4mHgL+AZwcLr8NmA68G2gXXoqOElSHXm6NkmSJAmPGEuSJEmAhbEkSZIEWBhLkiRJgIWxJEmSBFgYS5IkSYCFsSRJkgRYGEuSJEmAhbEkSZIEWBhLkiRJAPx/+HDjTHaxBsoAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hurricane_types.plot.bar(stacked=True)" ] }, { "cell_type": "markdown", "id": "82a7db79-6db0-4fb9-a7c0-eb89b5b117da", "metadata": {}, "source": [ "Für eine numerische Darstellung der Hurricane-Klassen verwenden wir die Methode `sum()`." ] }, { "cell_type": "code", "execution_count": 9, "id": "8d46e204-5bbb-4aa4-af73-1ed066c7c6df", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Klasse 0 (tropische Wirbelstürme) Hurrikans: 187.0\n", "Klasse 1 (barokline Einflüsse) Hurrikans: 77.0\n", "Klasse 3 (barokline Auslösung) Hurrikans: 73.0\n" ] } ], "source": [ "print(\n", " f\"Klasse 0 (tropische Wirbelstürme) Hurrikans: {hurricane_types['Tropisch'].sum()}\"\n", ")\n", "print(\n", " f\"Klasse 1 (barokline Einflüsse) Hurrikans: {hurricane_types['Baroklinisch beeinflusst'].sum()}\"\n", ")\n", "print(\n", " f\"Klasse 3 (barokline Auslösung) Hurrikans: {hurricane_types['Barokline Entstehung'].sum()}\"\n", ")" ] }, { "cell_type": "markdown", "id": "ba44c1c2-69eb-438c-92db-99a900617564", "metadata": {}, "source": [ "Für die **Klasse** $0$, *tropische Wirbelstürme*, gibt es $187$ Beobachtungen, für die **Klasse** $1$, *barokline Einflüsse*, gibt es $77$ Beobachtungen und für die **Klasse** $3$, *barokline Auslösung*, gibt es $73$ Beobachtungen. Bei der logistischen Regression haben wir es mit dichotomen Daten zu tun; der Einfachheit halber kodieren wir die Klassen neu und weisen der Klasse $1$ und der Klasse $3$, die beide von den äußeren Tropen beeinflusst werden, die Bezeichnung `aussertropisch` zu." ] }, { "cell_type": "code", "execution_count": 10, "id": "da266546-2993-44fb-8a4d-c36fb2fd3558", "metadata": {}, "outputs": [], "source": [ "hurricanes[\"Origins\"] = hurricanes[\"Type\"].replace(\n", " {0: \"tropisch\", 1: \"aussertropisch\", 3: \"aussertropisch\"}\n", ")" ] }, { "cell_type": "markdown", "id": "faf5c3b2-1dcc-4a23-b342-c6fb6d1fdd15", "metadata": {}, "source": [ "Wir haben nun eine binäre Antwortvariable mit zwei Klassen: Tropische und aussertropische Wirbelstürmen." ] }, { "cell_type": "code", "execution_count": 11, "id": "0cc1b873-cefa-41cf-8feb-7c361e88b37d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tropisch 187\n", "aussertropisch 150\n", "Name: Origins, dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hurricanes[\"Origins\"].value_counts()" ] }, { "cell_type": "markdown", "id": "279f583b-787d-447c-b818-ff0a3445daef", "metadata": {}, "source": [ "Um diesen Teil der explorativen Datenanalyse abzuschließen, stellen wir die Daten auf einer interaktiven Karte dar, indem wir das `folium`-Paket verwenden." ] }, { "cell_type": "code", "execution_count": 12, "id": "729da249-c8a9-4b2a-8422-74968d52db4c", "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", "
NumberNameYearTypeFirstLatFirstLonMaxLatMaxLonLastLatLastLonMaxIntOrigins
RowNames
1430NOTNAMED1944130.2-76.132.1-74.835.1-69.280aussertropisch
2432NOTNAMED1944025.6-74.931.0-78.132.6-78.280tropisch
3433NOTNAMED1944014.2-65.216.6-72.220.6-88.5105tropisch
4436NOTNAMED1944020.8-58.026.3-72.342.1-71.5120tropisch
5437NOTNAMED1944020.0-84.220.6-84.919.1-93.970tropisch
\n", "
" ], "text/plain": [ " Number Name Year Type FirstLat FirstLon MaxLat MaxLon \\\n", "RowNames \n", "1 430 NOTNAMED 1944 1 30.2 -76.1 32.1 -74.8 \n", "2 432 NOTNAMED 1944 0 25.6 -74.9 31.0 -78.1 \n", "3 433 NOTNAMED 1944 0 14.2 -65.2 16.6 -72.2 \n", "4 436 NOTNAMED 1944 0 20.8 -58.0 26.3 -72.3 \n", "5 437 NOTNAMED 1944 0 20.0 -84.2 20.6 -84.9 \n", "\n", " LastLat LastLon MaxInt Origins \n", "RowNames \n", "1 35.1 -69.2 80 aussertropisch \n", "2 32.6 -78.2 80 tropisch \n", "3 20.6 -88.5 105 tropisch \n", "4 42.1 -71.5 120 tropisch \n", "5 19.1 -93.9 70 tropisch " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hurricanes.head()" ] }, { "cell_type": "code", "execution_count": 13, "id": "013f767a-b17d-4adc-86fd-826db1227438", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create the map\n", "hurricane_map = folium.Map(location=[25, -50], zoom_start=4)\n", "# add marker one by one on the map\n", "colors = {\"aussertropisch\": \"green\", \"tropisch\": \"red\"}\n", "for row in hurricanes.itertuples():\n", " m = folium.Marker(\n", " location=[row.FirstLat, row.FirstLon], icon=folium.Icon(colors[row.Origins])\n", " )\n", " m.add_to(hurricane_map)\n", "# Show the map\n", "hurricane_map" ] }, { "cell_type": "markdown", "id": "1e108668-1cf0-41c7-aed9-720959b87cbd", "metadata": {}, "source": [ "### Logistische Regression: Modellanpassung" ] }, { "cell_type": "markdown", "id": "6054a333-44d1-4e41-82d7-d7797c31c6c9", "metadata": {}, "source": [ "Erinnern Sie sich an das Ziel der Übung: Wir wollen ein Modell erstellen, das die Gruppenzugehörigkeit eines Hurrikans vorhersagt, entweder tropisch ($0$) oder aussertropisch ($1$), basierend auf dem Breitengrad der Entstehung des Hurrikans. Die Antwortvariable ist die binäre Variable `Origins` und die Prädiktorvariable ist `FirstLat`. Wir erstellen ein Logit-Modell, indem wir die Funktion `GLM()` anwenden. Für das logistische Regressionsmodell geben wir `family = sm.families.Binomial()` an. Statsmodel erwartet numerischen Inputvariablen, deshalb wandeln wir `tropisch` zu $0$ und `aussertropisch` zu $1$ um." ] }, { "cell_type": "code", "execution_count": 14, "id": "e4c2d8a7-e3c5-4e81-a825-077f7bc44a32", "metadata": {}, "outputs": [], "source": [ "X = hurricanes[\"FirstLat\"].values\n", "X = sm.add_constant(X)\n", "y = hurricanes[\"Origins\"].replace({\"tropisch\": 0, \"aussertropisch\": 1}).values\n", "log_model = sm.GLM(y, X, family=sm.families.Binomial()).fit()" ] }, { "cell_type": "markdown", "id": "fd7c936d-ce95-46dd-a851-780d60ec6349", "metadata": {}, "source": [ "Wir verwenden die Extraktormethode `summary()`, um die Modelleigenschaften zu überprüfen." ] }, { "cell_type": "code", "execution_count": 15, "id": "adbaa582-765d-4a7c-ad7f-01906a24d300", "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", "
Generalized Linear Model Regression Results
Dep. Variable: y No. Observations: 337
Model: GLM Df Residuals: 335
Model Family: Binomial Df Model: 1
Link Function: Logit Scale: 1.0000
Method: IRLS Log-Likelihood: -116.02
Date: Sat, 13 Aug 2022 Deviance: 232.03
Time: 06:44:55 Pearson chi2: 430.
No. Iterations: 6 Pseudo R-squ. (CS): 0.4963
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [0.025 0.975]
const -9.0826 0.961 -9.446 0.000 -10.967 -7.198
x1 0.3728 0.039 9.447 0.000 0.295 0.450
" ], "text/plain": [ "\n", "\"\"\"\n", " Generalized Linear Model Regression Results \n", "==============================================================================\n", "Dep. Variable: y No. Observations: 337\n", "Model: GLM Df Residuals: 335\n", "Model Family: Binomial Df Model: 1\n", "Link Function: Logit Scale: 1.0000\n", "Method: IRLS Log-Likelihood: -116.02\n", "Date: Sat, 13 Aug 2022 Deviance: 232.03\n", "Time: 06:44:55 Pearson chi2: 430.\n", "No. Iterations: 6 Pseudo R-squ. (CS): 0.4963\n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -9.0826 0.961 -9.446 0.000 -10.967 -7.198\n", "x1 0.3728 0.039 9.447 0.000 0.295 0.450\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "log_model.summary()" ] }, { "cell_type": "markdown", "id": "2985781b-9eef-49e3-b399-18971316b136", "metadata": {}, "source": [ "Schauen wir uns die Koeffizienten genauer an:" ] }, { "cell_type": "code", "execution_count": 16, "id": "61c39ba2-f404-4aa2-91f2-ec8bba02c4c1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-9.08263355, 0.37282953])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "log_model.params" ] }, { "cell_type": "markdown", "id": "fd6f3863-4849-4391-aab9-977748e9c983", "metadata": {}, "source": [ "Beachten Sie, dass die Ausgabe des logistischen Modells auf der Link-Skala (*logit*) erfolgt; die numerische Ausgabe des Modells entspricht also den **Log-Odds**! Der Einfachheit halber schreiben wir das logistische Regressionsmodell mit dem berechneten Achsenabschnitt und Koeffizienten auf." ] }, { "cell_type": "markdown", "id": "fe6ddd85-3a55-447a-80e0-545d31817c47", "metadata": {}, "source": [ "$$\\phi(\\eta) = \\frac{1}{1+e^{-\\eta}}= \\frac{1}{1+e^{-(\\beta_0+\\beta_1x)}}= \\frac{1}{1+e^{-(-9,0826335+ 0,3728295x)}}$$" ] }, { "cell_type": "markdown", "id": "103f97c3-4112-4acc-8f6a-490781bd7f64", "metadata": {}, "source": [ "Konzentrieren wir uns zunächst auf den Koeffizienten des Achsenabschnitts. Der Koeffizient des Achsenabschnitts entspricht der logarithmischen Wahrscheinlichkeit der Beobachtung eines Hurrikans auf dem Breitengrad Null, der als Äquator bekannt ist. Um die Wahrscheinlichkeit der Beobachtung eines aussertropischen Hurrikans bei einem Breitengrad von Null zu berechnen, exponentzieren wir die log-odds $e^{-9,0826335} \\approx 1,1362198\\times 10^{-4}$. \n", "\n", "Dies ist eine sehr niedrige Zahl! Und sie macht durchaus Sinn, da es sehr unwahrscheinlich ist, einen aussertropischen Hurrikan am Äquator zu beobachten.\n", "\n", "Der Koeffizient der Variable für die Bildungsbreite (`FirstLat`) hat einen numerischen Wert von $0,3728295$. Das positive Vorzeichen dieses Wertes zeigt an, dass die Wahrscheinlichkeit, einen außertropischen Wirbelsturm zu beobachten, mit dem Breitengrad zunimmt. Die Größe des Koeffizienten bedeutet, dass die Log-Odds für jedes Grad Zunahme der geografischen Breite im Durchschnitt um konstant $0,3728295$ Einheiten zunimmt. Wenn man den Koeffizientenwertes als Exponenten nimmt, erhält man das Odds Verhältnis." ] }, { "cell_type": "code", "execution_count": 17, "id": "674d77df-7539-45d8-bbf5-9753a1c1b5db", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.4518368266008623" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "math.exp(log_model.params[1])" ] }, { "cell_type": "code", "execution_count": 18, "id": "ff2b665c-6d48-4399-a2ed-b2d9f7655e3c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.37282953171362" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "log_model.params[1]" ] }, { "cell_type": "markdown", "id": "11fe36a8-6d8b-4d88-8567-e631d02c39ce", "metadata": {}, "source": [ "Somit erhöht sich das Chancenverhältnis für jedes Grad Zunahme der Bildungsbreite im Durchschnitt um einen konstanten Faktor von $1,4518368$ (oder $45 \\%$). Die Interpretation gilt nur für den Bereich der Breitengrade in den Daten und ist für Breitengrade außerhalb des Bereichs, in dem Hurrikane auftreten, physikalisch bedeutungslos.\n", "\n", "Die obige Koeffiziententabelle enthält einen Standardfehler und den $p$-Wert. Je kleiner der $p$-Wert ist, desto geringer ist die Unterstützung für die Nullhypothese angesichts der Daten und des Modells. Zur Erinnerung: Die Nullhypothese besagt, dass der Koeffizient gleich $0$ ist,\n", "mit anderen Worten, die Nullhypothese besagt, dass es keinen Zusammenhang zwischen dem Auftreten eines nichttropischen Hurrikans und der Entstehungsbreite gibt. Der sehr kleine $p$-Wert stützt die Nullhypothese nicht und erlaubt uns, das Modell zu akzeptieren.\n", "\n", "Wir haben gelernt, dass jede Punktschätzung von einem Konfidenzniveau bezüglich dieser Punktschätzung begleitet sein sollte. Daher konstruieren wir ein $95 \\%$-Konfidenzintervall für den geschätzten Modellkoeffizienten. Wir exponentzieren das Ergebnis, um das Odds-Ratio zu erhalten, eine Größe, die leichter zu interpretieren ist als die Log-Odds." ] }, { "cell_type": "code", "execution_count": 19, "id": "2f624e32-1051-4cbb-bc80-c7f0699c3e51", "metadata": {}, "outputs": [], "source": [ "lci = log_model.conf_int()[1][0]\n", "uci = log_model.conf_int()[1][1]" ] }, { "cell_type": "code", "execution_count": 20, "id": "115d8cbd-0f9d-4f70-a759-89b176d55eab", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2,5%: 0.2955\n", "97,5%: 0.4502\n" ] } ], "source": [ "print(f\"2,5%: {round(lci,4)}\")\n", "print(f\"97,5%: {round(uci,4)}\")" ] }, { "cell_type": "code", "execution_count": 21, "id": "d3b7a92c-7778-4c08-a834-015c3843677a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2,5%: 1.3438\n", "97,5%: 1.5686\n" ] } ], "source": [ "print(f\"2,5%: {round(math.exp(lci),4)}\")\n", "print(f\"97,5%: {round(math.exp(uci),4)}\")" ] }, { "cell_type": "markdown", "id": "48f39be7-0515-4642-9302-6956c27291dc", "metadata": {}, "source": [ "Wir können also mit $95 \\%$iger Sicherheit sagen, dass für jedes Grad Zunahme der geographischen Breite die Beobachtung eines aussertropischen Hurrikans im Durchschnitt zwischen $34$ und $57 \\%$ wahrscheinlicher wird. Macht Sinn, oder? In anderen Worten je weiter nördlich Wirbestürme entstehen, umso eher is dieser aussertropischen Einflüssen unterworfen. " ] }, { "cell_type": "markdown", "id": "aa27d40d-7383-4438-93ae-983aeac5ff8a", "metadata": {}, "source": [ "### Logistische Regression: Modellvorhersage" ] }, { "cell_type": "markdown", "id": "a407c494-fd17-45a1-bd15-f0b05cbdbc3d", "metadata": { "tags": [] }, "source": [ "Im vorangegangenen Abschnitt haben wir ein logistisches Regressionsmodell für die Beziehung zwischen der Entstehungsbreite und der Art des Hurrikans (tropisch/aussertropisch) erstellt. In diesem Abschnitt wenden wir dieses Modell an, um Vorhersagen über die Wahrscheinlichkeit der Beobachtung eines aussertropischen Hurrikans in Abhängigkeit von der Entstehungsbreite zu machen.\n", "\n", "Um die Wahrscheinlichkeit vorherzusagen, dass ein zufällig ausgewählter Hurrikan, der sich auf einem bestimmten Breitengrad bildet, vom Typ aussertropisch ist, wenden wir die Funktion `predict()` an. Berechnen wir die Wahrscheinlichkeit, einen aussertropischen Hurrikan zu beobachten, der sich bei folgenden Breitengraden gebildet hat : $10^\\circ, 23,5^\\circ \\text{und }30^\\circ$" ] }, { "cell_type": "code", "execution_count": 22, "id": "48b06a50-9ee9-49cd-8d52-3bab5110b261", "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", "
meanmean_semean_ci_lowermean_ci_upper
00.0047050.0027010.0015240.01443
10.4203980.0406450.3434230.50145
20.8911220.0280450.8228410.93516
\n", "
" ], "text/plain": [ " mean mean_se mean_ci_lower mean_ci_upper\n", "0 0.004705 0.002701 0.001524 0.01443\n", "1 0.420398 0.040645 0.343423 0.50145\n", "2 0.891122 0.028045 0.822841 0.93516" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred = [10.0, 23.5, 30.0] #\n", "pred = sm.add_constant(pred)\n", "predictions = log_model.get_prediction(exog=pred).summary_frame()\n", "predictions" ] }, { "cell_type": "markdown", "id": "5d0557a4-5089-4ae4-b47c-80d7186b17cf", "metadata": {}, "source": [ "Die Ergebnisse machen durchaus Sinn. Mit zunehmender geografischer Breite nimmt die Wahrscheinlichkeit, die Bildung eines nichttropischen Hurrikans zu beobachten, deutlich zu. Bei einem Breitengrad von $10^\\circ$ beträgt die Wahrscheinlichkeit der Beobachtung eines außertropischen Hurrikans $0,005$, während sie bei einem Breitengrad von $30^\\circ \\ 0,891$ beträgt.\n", "\n", "Zum besseren Verständnis wollen wir die Wahrscheinlichkeit der Beobachtung eines nichttropischen Hurrikans, der sich bei einem Breitengrad von $23,5^\\circ$\n", "von Hand. Erinnern wir uns an die Gleichung für das Regressionsmodell von oben:" ] }, { "cell_type": "markdown", "id": "a933c911-9ecf-494b-b7e0-1790fd1b2f84", "metadata": {}, "source": [ "\n", "$\\phi(\\eta) = \\frac{1}{1+e^{-\\eta}} = \\frac{1}{1+e^{-(\\beta_0+\\beta_1x_1)}}$\n", "\n", "$ = \\frac{1}{1+e^{-(-9,0826335+ 0,3728295 \\times 23,5)}}$\n", "\n", "$ =\\frac{1}{1+e^{-(-0,3211396)}} $\n", "\n", "$ = \\frac{1}{2,378698} = 0,4203981 $" ] }, { "cell_type": "markdown", "id": "dbe2e901-9d3d-431b-b23f-f367779c5e99", "metadata": {}, "source": [ "Zur Veranschaulichung unserer Ergebnisse erstellen wir ein Diagramm der Vorhersagen über eine Reihe von Breitengraden. Dazu erstellen wir zunächst einen Vektor der Breitengrade, `lats`. Wir geben eine Schrittweite von $0,1$ Grad an, damit die resultierende Vorhersagekurve glatt ist. Wir wenden die Funktion `predict()` an und verwenden die Methode `get_prediction()`, um den **Standardfehler** der Vorhersage zu erhalten. Die Kenntnis des Standardfehlers ermöglicht die Berechnung der **Fehlermarge** und damit des **Konfidenzintervalls**. Mit der Methode `summary_frame()` können wir die Werte in einem Dataframe ausgeben und darauf zugreifen. Schließlich zeichnen wir die Datenpunkte (Beobachtungen) bei $0$ und $1$ ein." ] }, { "cell_type": "code", "execution_count": 23, "id": "332a4aa4-9831-4cb3-a5dd-4e76e6d4463e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAF9CAYAAAA3Ab+/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAACbK0lEQVR4nOzdd5xcV3n4/8+ZPrM7O9v7alfFkmXLBVs27pawwQbbFIeYgBNiQk0glAABvqFXJ2BKSEKJExzA/MAQSozBYBvLvclGNm6Srbq9T2+3nN8fd2e1TdLO7OxqV3reL+1rVvfOvffsmTszz5x57nOU1hohhBBCCCHE4nAd7QYIIYQQQghxLJOAWwghhBBCiEUkAbcQQgghhBCLSAJuIYQQQgghFpEE3EIIIYQQQiwiCbiFEEIIIYRYRJ6j3YDFVF9fr7u6uhb9OKlUioqKikU/zvFE+rT8pE8Xh/Rr+Umflp/0aflJny6Oldyvjz/++IjWumGudcd0wN3V1cX27dsX/Tjbtm1jy5Yti36c44n0aflJny4O6dfykz4tP+nT8pM+XRwruV+VUvsPtU5SSoQQQgghhFhEEnALIYQQQgixiCTgFkIIIYQQYhFJwC2EEEIIIcQikoBbCCGEEEKIRSQBtxBCCCGEEItIAm4hhBBCCCEW0VENuJVSr1ZKJeZxv01KqbuUUkml1AGl1EeUUmop2iiEEEIIIcRCHLWJb5RS5wE/BA4bOCulGoE7gaeBa4AzgC8AFvCVRW6mEEIIIYQQC7LkAbdSyg+8D/gckAJ8R9jk3TjtfLXWOg38ZmIfH1NKfUNrbSxqg4u0dzjJ/btHGYxlaYoEuGBtHasbKo92s44rpT4GR+Oxu2/nED95vIf+WIaWSJA3nNnOhRsa57Xt1PYmMnn2j6dJZM0j7udwf+fe4SS/3NHLju4ooHhJR4TXnN4GwP27R3m+L04sa+DG+cQbCXg5sbVqVl8ttC+nbu92OZ/KTRs8LtCAZTNtv3Mdr9DmmfvoGUvyTH+CaNrA43KxsbmCrSe10FUTZPuBcXZ0R8nkTUJ+D22REB4X7B9PMxLPg4LGSi+hgA8XGhvFeaEMX7tj5+T+Zx5/+55Rdo+ksLVNYzhAZ20IS0M0Y0zrv+17R/mfhw8wksxRFfCwsSWMbcPe0TR5w8bndbG6LsTZa+u5YG0dPWNpfvJ4Dzv74yRzFhU+N+11QTprnP3vGowzEM9hWDaVfg8d1QFCAR9KawYTOQbjWfKmpsLvpsKnODCWJZU3AaivDLCxOUzQ75nzMf6Pu3by3w8dIJ4x8LldnLOmhstOaua2ZwbYM5zCMC18Hjdet4uA101jpY9QwEsk4KU+7EMBI8n8rD4A+MadO9lAgr/9xG9xKUXY76Y+HKCx0stIyqBnPE3e1AS8bk5tC3NqR820c6KrJsi+8QzP98XpjaZJ5y2CPg8v6Yhw5qoa7nxukAf2jJHKGlQGPGxsDnPWmvppj9nO/vhk247U3qnnXeHYg7HsIc/Vmed44TlVOJ/m+9ya2saGsA89sW7PSBo01Ff56KwJEQ76aIoEaDJtfvro/slzrL7Sz1+fs4o/P7uTnz66n+/ct5ehRA6/x8UF6+p47yXrZz3vq4NeNrRUzXl+xzN5DAsq/G5ObKma9Ro087Xu4nV1ZG1mPWe/98BeHtwzSjJrUBXwsrG5iq6GilnPr5nP+8P195Fe8+ZaV8xrWDneO47Uxl/t6OWP3TFAc3pHNa89vU1iizks5xhMaa2X9oBKvRb4HvApoA74oNb6kL2hlHoA6NFav2HKsjOB7cD5WusHD7Xt5s2b9VJO7b53OMlPtvdQHfRSGfCQzJpEMwZv2Ny+bB7wlaLUqV1LfQyOxmN3384hbrjzBaqDXqqCHuIZ55gfvPSEIwbdU9s7EEvzu2cG8bgVJzRWYms15362bdtG58mbD/l3Anzn3j3sG0lRFfKiJoLChkoflQEvVX4Pzw0myBkWvdEMbdVB/F43G5vCuNyuyb5aaF9O3T5rmDy8ZwwNbGyu5LmBJAo4Z00tAa+HaMbg/DW1PLBnbNrx9o2mUAo6ayum7SPsVzy0J4pLOcE7uDBtm9M7IowkDXxuRTjgoWc8g6U1fo+LWMbE41J43AqtIZYxaK7ykzE0rdUBLqsb5/8Gqwh4PZy3tha/x8P+sRRag9Y29784it/tHCdvaSxb0xj20xAOYGnNxqYwzw/Eebo/TnXAi8etGIxnyZo2fpeiqsJHImMQDnpBK85bU0vKsNgznMLjUhwYS+NSCtO28XtcKKUIehXjaROlAK3RKCwb2iJ+xjIGGcPCrRRuBVnTJmtqFBM5hgpsDV4XbGiuorrCN+0x/u1TvXzj7t0oDV6PC9PW5EwbnwtqKvx4XJqhhIGtNV63i6qAl2TeZHVdCJ/HjWnbaK3weRSVfu9kH8RzJnsG4zwzkOTdG/Pc8KQbjRNEhX0ushN953aBS4HWzpejLZEAzZEg56ypJZ23eHTfOOsbKtg9kmIokcOtFO01ARI5i7FkjqxpU+FzEc9ZWJZNwOvh4vX1uN0utIaqgIfn+hO4XYpkzsAwbVAKj0sRDkxvb+Ecqwx4ODCa4tF945zdWUNFwM2Du8dmnasznyO2ZTvPqbxFXyxLTcjLWDp/xOeWbdvT2pg3bXKmRTRtUuFz+tiwnPf2y05uojkSIjDyPP/6nJfqgJeKgIdU1iSZt7h4bQ137RrFsjVBnxvDtMmaNptawqxuDE8+791KYdmajS1hEjlz2vltWjbRtIHf60KhWFUbwu12Tb4GzXytG4hm2TeWZuuGek5pryGZNdk/lqJ3LM2LQ0k8HkVy4vFxuxSNVQEiQd/k82vm8z5nmofsb+Cwr3lzrZvrNWWu17AjvabO973jcK+ZAN+9bw97hlNUB71oBfG0QVd9Be+8aM0xGVss9ft/OSmlHtdab55r3dFIKXkMWK21jiqlPj2P+68Hts1YtmfKukMG3Evt/t2jEy8oXoDJ2/t3jx6TT4rlqNTH4Gg8dj953HlhqA45X/IUbn/yeM8RA+6p7b3t6SjhgBeP28VIymBNfeUh93O4vxNgLJUnEvIR9LoBUErx4nCKVbUh0nmLkM9DLGNQ4fOQNW1qKvwMJHKc1FI12VcL7cup2z/bHycSckYYHz8Qo606iAb2jKQ5Z03d5N+5qTUy7XhjKWc0+pS26mn7eHD3CAGvG8OysYAqv4eMYfFkT5ymKj/gJp6zqPB70UDPeJqAx41WYFjgdil8HjeDyTzN4QBZ00ZrTd7StER87B5Jc87qOkZTedDQH8tS4fMQ8nkYiGcBhVKa0VSeE5qqyBgWA4kcO4ecDxJVQR/DyRwhv5eMkSVrQVgr/F4PWitCPjfPDSYwLI1l28SzFn6vG5/bRTSTJ29pAl7FUMKgKugla1igFErhjGyn8ti2xqUULqWwFZj2wUEXNXFVjwuwNIyl87TWhKY9xj94pAe3Ungngnu3C3KGTdYCjSKes/B5XeRNG0trsqaF3+NmNG0QCShQGoXGzEN7TcVkH2QNi+eGUgS8brQGj8eFZWtsW5M2bWztfEvhVi60Ar/HRdYwGUsbbGiJOCO7CqqDXp4bTGBaUBVwzol4zsK0bMbTBiGfB8NW+D1u8LixbCfobYkEQUPasKjwewh43QwmsqAVStkYFnTUTm9v4RwDGEjknA/AiRwkoSbkm3WuznyOPNsfn3xOhXxuxtL5eT23nh2IT2uj0opYxgmCq4I+BhIZQFEV8PB4d5Q3NkeImzYKRVXQN/E88QF5bn16iEqfG7/Pg9ul8PhcKGXx7ECCSIV/8nkf9LrJTv3bp5zfg4ksHrcLl3Lh87gYS+c5oTE8+Ro087Uua9lU+tw825/ktI5aqoJeRlN5dg4lqQp4yeQt/G7n8UlkDaJpk666ysnn18zn/cN744fsb+Cwr3lzrZvrNeVQr2HleO840uvyaCpPTchHoPC6HFKMpfJHPIbWGq3B1hp74ham/1/boDn4f1trcP456wu/2we31TPWw8Flzu3E/6ccc+pyZ4uJ9k2sc5Y4v+8atwjtHaMwIFx4hSrsY+rCqevufG6QTN4iZ1pAYNnFYEs+wj3t4E7A/aEjjHDngE9pra+fsswDGMD7tNb/OuP+7wDeAdDU1HTmj3/848Vo+jTJZJLKykoG4zm87tkp6YalJ97MxXwV+rRYpT4GR+Ox2z2cwudWMPX6X60xLM2ahorDbju1vcNJZxRPTYxMBrzuOfeTTCZJ2d5D/p3A5Mjn1Csr0jkT/8QLvVspsqaFUs4LXMDjxtKaqoBnsq8W2pdTt49nzcn2pPMmIZ8HNJPHBIimDapD3mn7iGdNQFMV8E7bRyxj4HGpyTcPt0uhcYJOv3si2lTOCCpA1rBxTfTtVJbtjH5roMZrMZ53E/C5sWynXfGsAShypoXbpVAoDNPm4KutpjLgnfxb0nkTBfg8zocBBRiWDYDH7ULhvLF4XApr4jXbhTOq7ZponGU7b0UupbBsG6/bCVgPHvGgqX+ONeU9YOrywvEKo9CFx3gkmXPuO+XO9sSxC8csnB96Yp9ul0Jrjcc1/Tr9gM892QcAyZzzbUKdz2Yoq2a94SqcD4GF49u2RilF1cTIM4BbOUGzC+U8jhPPCzTkrYOPZ6H5tgaXywngC0vdEydANm8dtr2FcwwK56rzQWVyHzPO1ZnPkcK5mTWc55Rh2Xg9riM+t+JZc1YbTdsGFD6P6+C5M3G+NFT6sXIZRnJOQDz5GGtNxrDwuFyT53yBYdtU+r0TfXqww6xCZ045v3OGPfFtivN321pT6fdMvgbNfK3L5p2/t9A2p/8M0nkLn9v51qTQHNPWuBRUBryTzy+Y/ryPZw2njRT62/nAbFr2xHnpfDtlaY2lwbQga2lMyzmRLBtM7aSsmFoTy1oEvG5s7aSoWNr5yVuakM/j7MeGdC5P1nbOG0szEbQ69zVtjc/jnvx/Ici1JvZpT7RHa8hZBwNPW4M99ffJ+6nJb3y0BhtnWeF1X0/ZTk+5PV69cb2Ls5qc962ljMG2bt26rEa4i1V4r5mLPXOB1vq7wHfBSSkp5WuJYhW+/vjBw/sZz5qTn6oA4hmDioCHLed0Lno7jiWlfqVU6mNwNB67n/3oCZIJc3LUByCazlMZ8PA3W8447LZT2/vrvfvJ5W08bhcet2JNfeWc+9m2bRvjgdWH/DsBHtw1PJGS4LxQZQ2LfaPOCHfA6yZn2vTHMmTzFgGfm5ZIEL/HxUl1VZN9tdC+nLr9E3tGyZlOAFpIY9E4wdE57XXEMwZPx2JsqohMO96DO4dAwZb2xmn7eHD3CF73RECioMrvJWNYGJZNU5Ufj8uN16OwJt4ACyPcLjegFW6XExwZtk1zOEDA5+bVjVF+PlBFZ20FPq/Trgd3DU2OAOYMa8oIN9jaCfrOWVNPxrDwe1w8stf5Wr6jpoLhZA5ba0aTzoh4QzjgBGJuFyGfm4DXNTnCnc5bGJaeHOF2KUXA6yKeMQ+OcAMosCyN2z3lw4ZSaOV8oDLtQmDs3L0QTzZHAmxqq572GP/w6ReJZfJ43a7J4DeeMbCB5qoAGcPE1pq86bw8B71u3C4Xfq+LSMA3McLtWD8xyu+MVls8tGcUn9vF36zN8K/PeidHuF0uJke4fW5nhNvndka4A14P566tdwLmia/bR1M5TOvgBye3W2FaNgdG04R8Hrwe1+TIm2XbNEUCkyPcAZ+bvGET8LrZORifGOHWc7a3cI4BPLF3lHja+WYBBXnDnnWuznyOPBuPT3tOpfImFT7PEZ9bzybi09qotGIsncO2obU66Ixwa2eE2+9z8cauTuJ7n+TGFwN01ISmPC/z9MWyVPrceD3ug0G84YwSnru2joDHRda0CXrdZAwnIM7kTVAwEMuRMy2GEnlMy8brVvjcCo/bxZq6EBV+F1dtWcfNt75AMm8S9nsAzYHxHKmcRcjn4ooTa7C1zUMDCXYNZwl5XaQNZ6RV43zo9boUjZVuUFAXdJMxNGMZDxU+hQLGMm5Mu7CNC5/bSamxtHaCaNsJdudPMUd4MWHqZWOuiQ+BGrdi4pujiXPO5aLC56RtuZXzf5dyPpC4Xc79vBPpUdm0hdbg9Rz8MGhrJ+1NoRjPmCilnDQ4dfA53FjpYU2ND6WclqiJwQKXKnww1UxswsRnz8kPys7HBA1KTaSS6cn7MPW+Wk9srybuf3Bd4QNw4UP/1GUKcE10xlzrDx5j4m+e2AZgbHSUuvq6ye1m7WPK9lN/eaQ7TdaEkFfR1FBDtrZqWcVgKyHgjgHhGcvCU9YtGxesreMn23sApuUPXXZy01Fu2fGj1MfgaDx2bziznRvufAFgWg73W8/vOuK2U9t7Zkf1tBzuaDp/yP0c6e98pjfGvpEUekoO97qGimk53AGPi9FkjuqQl3TepLMmPG0fC+3LqduvqQ9N5l+fuSoyLYc7njGc/Lwz23lgz9i049VWOG9C8YwxbR9nd0UO5nArSOXMGTncEPa7J3O4G8M+YhkTpRUetzMimDctmqucr9qrQ16UcoKM8XSe89Y67aqr8KE11IQ8kzmuPrczQqY11FX6iKbzWFrTWRNmQ2MlT/fHiWfyVPhcDMazKKXwu5xgL2eY+DzOV+0vaY9M5nDXhtwcGEtjTHyg8E2M5DWGvdNzuLWzvKnCN5nDrQA3zihoIa1EO4OkkznctSHfrMc4kcryjbt3YxvWZA43CgIu5w28yu+alsMd8LhJ5k1aI358Hte0HO6pfRDPmWxsrOCZgSRKgTnxjYAGQp6DOdyWtnEBOUOjUNSGvMTS+ckc7gOjaTY2hefI4YaakJesaeN16Wk53BubwrNyuLOGcyGqk8PtwuOa3d7COVYZ8NAc9nNgNM36xspZOdyFc3Xmc6Q57HeeU24XY/k8tSEfY+n8EZ9bzWH/tDbmTZtI0EM0bRLP5PG5FHnTJp41uLSrjpF4mrDHhWXbjKeyVPgUybzzgW3rmkoe3J8gZ5r4PArT0uQszdoaLyqXxG27GIkaqIlvhrpqfM4HVq1pC8GO/ixu2yZtOOdN3oBIwMXu4QRntgT5xp27SGdyPDuUO/jNkekcw+NS/OsD/ZhTYtvx7OxAN29r9kadQHfvuPMtld+jiOWcIN+twLCdoKw64Fysq4HVNX68HkV3NE/Qqwh6XFjaGfE8rSWEx614eiBDhU9R4XNhWE7bTm4MsGskR9jvotLnImtq0obNK9ZH6Kj243E7Of17XnyByqYubns+SpXfRYXPRSpvE8/ZXHFiNe3VB0dVnfQO58e27clvb2zbpjeW5/YX4lT6XIQ8ipRhk8xZXLq2AqUUP382Tm/cpHLiA0Yir2kLe7j65CraquauO+EEss6Py+WavAWm/X+u+0zdduZ2U/c91+/zuT3Suvvvv58LL9w85/1n/j7VS2fkcM983h1tKyGl5EFgn9b6TVOWFS6afKnW+tFDbbvUF03C8r5CdiUpdYQbVmaVkoFYluZIYMFVSpJZ65D7mXpx74KrlEx8dX7sVimxCPndh61S4kZjoTgvNMhgxZpDVynZO8ru4RRaaxrCfjprQ9gaxg9RpWQ0lSPsn1GlxLTxeeauUrJrIE4iO71Kia1hZxFVSip9LvaPZcpYpcRpr8/twu910xj2EfJPr1IymszP6gMoVCnp45vPelBqEauU5Awq/R5Oag6zeUaVkl398cm2Ham95apSUjifZj63zl9b61S2sSwsy2LPUIIHdo+yazBJNGNQ4VHUBF1Ylk13NEdPPI/Wmpqgh+YKNxV+DzVBFycForyQq+K2F9LEsjY1QRdXrQ9z2Yk1/H5XlJ89E2MsbeH1KE5vCvKqk2qJZW129KXojuWIZ21cyvlQ5/O4SOQsRlImKcPCOtRg8AS/R01cOKzRaAIeF40VTnqbraEq4GZNrR+/x8VT/UkOjBvkLIuQz01XxE9rxIvP7UK5FI0VHs7qCNNe7acnmmN7T5LRtJPOo7VT6aUu5GFze+VkwDv1fvNdV1g+nDSoC7l5SWuQ1rB3WtDc3d1NW1sbfQmDHQM5xtIWtSE3pzf7pwXCWmtcLtfkj9vtnnbrcrnojeUn29EQ9nPu6mq66pyAu3s8y23PDPFUrzNtyWltVbz6tBZWN1TOCo7nCmBXmqPx/l8uh7tociUE3J8D3olzoWVqyrK/BVq11vlDbXs0Am5RHtKn5Sd9ujikX8vveOlTy7IwTXPyxzCMWT+mac7aTmsnd93tds85OumakSsPsGvXLrrWrmM0ZTKaNhlJGRO3JqNpY+LWZDRlkMzPHUEHPC4iATeRoJtIwOP8Hpj+e1XATYXPTaXPTYXPRaXPjWeOazqWkm3bk6PKhd8L/y/0ZUHh/4Ug2ePxTAbHbrcbj8cz+ftTTz3F5s2bJ4PmQz0WUwNhcWQr+fm/3KqUHJZSai3QoLV+eGLRfwB/j1N/+8vAacDHgI8eLtgWQgghjqaZAXU+nyebzZLP58nlctj2wcB2ahBdCOC8Xi9+v3/ewZqtNSMpk/54hr54noGEQV88T388z4Fxg/gfnpu1jcfljAjXVXjorPZxRlsF9SEPdRVe6kIeqqcE137P7ED+aJgZOE/9KQTLU/usEDh7PB78fv/k71OD57lGoI/U7263m0gksth/rjhGLLuAG/gE8NdMpMFrrfuVUpcC3wB+BgwC/6S1llkmhRBCHHWF0el8Pk8mk5n8sazpVU6mjpQGAoE5R6KPxLI1/Yk8+8Zy9E4E031xg/6JANuYWuYRJwWqpcrLKXWK9W311Fd4qa/wUBdybqsC7mkXpx1ttm1jWdZkAD21D6cG0l6vd/IDSeF3r9c7LV2j8COjy2I5OKoBt9b608CnZyy7DrhuxrLtwPlL1CwhhBBilqlpH9lsllQqRTabxTTNyaCuMJpaakBdoLVmKGmwbzzH3rEce8ey7B3PsX88R848GFRX+ly0VvlYUxfggtVhmsM+Wqt8tFR5aar04p0oPbNr1y7Wr5/f9SGLqZCLXviZGkRrrXG73fh8PoLBID6fD5/PN200upDiIUG0WGmW4wi3EEIIcVTZtk0ulyObzZJIJEilUpMBIjAZ/Pn9foLB4IKOlchZ7BrOTAbWhSA7bRxMOakPeeiq9fPqk2pZXeunq8ZPR7WfsN+9oGOXm9Ya0zQnA+pCmkdhXeHDSGVlJYFAAK/XOyuYFuJYJAG3EEKI455hGORyOdLpNIlEgkwmMzn66vF48Pl8uN0LD24tW7N/PMezg2meHcrwzGCG/eO5yfVVATera/y8Yn01q2v9k8F1YcKX5cK27cncdMuypl1o6Pf7qaioIBAITI5QFwJrCajF8Wp5PYOFEEKIRaa1nryAMZlMkkwmMQxjMmD0+XxUVFSUJW0hmjF5bijDM4Npnh3M8PxQZnLkuirg5qTGIJesi3BSY5A1dQFqgssr53iuwBqc1JlAIEBVVRXBYHAyh9rj8Syr9guxXEjALYQQ4phnWRaZTIZYLEYsFpu8GK8weu33l2fq56GkwaMHEjw1kOaZgQy9caeYlkvBuroAr1gf4aSmECc1BWmr8i2r4NSyrGmlCAspIMFgkOrqavx+Pz6fb/LixOXUdiGWOwm4hRBCHJMMwyCVShGLxUgkEtNyiMuV2pC3bJ7qT/Nod5JHDyTZN5EeUhP0cHJTkCs31nBSU5D1DUGC3uWTTjFXcO31eqmoqKCiogK/3z9ZQk8IsXDyTBJCCHFM0FqTy+VIJpNEo1EymQxAWVNEAPrieR45kODR7iR/7E2RNTVel+LUlhCvOrGaszsq6ayZf/3sxVaY5CWZTAISXAtxNMizSwghxIqltSaTyRCPx4lGoxiGgVIKv99POBwuyzGyhs2T/SkeOZDk0e4kPTEnTaS1ysvlG2o4e1UlL2mtWDYj2LZtT5YvBCZnOmxpaZkstyfBtRBLS55xQgghVhzDMIjFYgwPD2Oa5uRFfIFAoCz7Ny3NYz1J7nghygP7EuRMjd+jeElrBVdvquXsjkraq8uT971Qtm2Tz+cnP2wopaisrKShoYFgMIjf72d4eJi6urqj3VQhjlsScAshhFgRtNak02lGR0eJxWIopQgEAguugz11/88NZbjjhRh/eDFGLGtRFXBz+fpqLlhdxaktoWUxvXkhdaYwgu12u6msrCQcDk8G2MslnUUI4ZCAWwghxLJmmiaxWIyRkRHy+Twej4fKysqyBZW9sTx3vBDljl0xeuN5vG7FBV1hXn5CNWd1VEzO1ng0WZZFLpebLM0XDodpbm6eTBGRAFuI5U0CbiGEEMtOITd7bGyMaDQKQCAQKFtedjRjsm13nDteiPLMYAYFnN5awbVn1HPR6ioqj/IMjlprDMMgn89PVlepra0lHA4TCATKMgmPEGLpSMAthBBi2ShMCf7CCy+Qy+XweDyEQqGylPGztebhA0l+/ew4j3QnsGxYXevnnS9t4pITIjRWesvwFyygfVNysQFCoRAtLS2TlURkFFuIlUsCbiGEEEedbduMj48zODhIPp+fTJsoh5xpc+cLMX7y5AgHonnqQh5ef0odr1hfzdq68lxkWSrbtifzsd1uN1VVVUQikcnZG4UQxwYJuIUQQhw1tm0Tj8fp7+/HNE1CoRBut7sswWYiZ/GrZ8b43z+NMZ4xWVcX4OOXtLFlTQSP++iNFhemli98sKiurqa6urpsI/lCiOVHAm4hhBBLTmtNIpFgYGCAXC5HMBgsW7WR/nienz01ym3PR8maNmd1VPIXp9VxRlv5Jr8phWEYZLNZACorK2lubqayslLysYU4DkjALYQQYskUSvv19/eTTqcJBoNlSx3ZOZzhJ0+OsG13HKXgknUR3nBa/VFNG7Esi0wmg9aaQCBAW1sb4XBY0kWEOM5IwC2EEGJJZDIZBgYGSCQS+P1+qqqqFrxPrTWPdif58Y5R/tiXIuR18een1vFnp9QdtYsgbdsmm81iWRYej4fGxkaqqqrkwkchjmMScAshhFhUuVyOoaEhxsfH8fl8ZQm0AR7rTvLthwfYPZqjvsLDu85p4sqNNUetpF9hNBugpqaGmpoagsGgBNlCCAm4hRBCLA7TNBkcHGRsbAy32004HC5L8HkgmuNbDw3w0P4krVVePra1jZetqzpqE9Tk83lyuRxut5vm5mYikYikjAghppGAWwghRNklEgl6enqwbbtss0Imchb/s32IXzwzht/t4l3nNHH1KbX4jkKgrbUmm81imibBYJBVq1YRDoelyogQYk4ScAshhCgby7IYHBxkZGSkbLWkTVtz67NjfO+xYZJ5iytOrOEtZzVSG1r6tzDLsshms9i2TXV1NXV1dZI2IoQ4omM64B4dHeWmm26atuzkk0/mrLPOwjAMbr755lnbnH766Zx++umk02luueWWWes3b97Mpk2biMVi/OIXvwAgGo2yb98+AM4991w2bNjAyMgIv/71r2dtf9FFF7FmzRoGBga4/fbbZ62/5JJL6OjooLu7m7vuumvW+ssvv5zm5mb27NnDvffeO2v9lVdeSX19PTt37uShhx6atf51r3sdkUiEp59+mu3bt89af8011xAKhdixYwc7duyYtf7aa6/F6/Xy2GOP8cwzz8xaf9111wHw4IMPsmvXrmnrvF4v1157LQD33HMPe/funbY+FApxzTXXALBnz57JPi2oqqri6quvBuD2229nYGBg2vq6ujquuuoqAG699VZGR0enrW9ububyyy8H4Oc//znxeHza+vb2di699FIAbrnlFtLp9LT1q1ev5uKLLwbg5ptvnpwNrmD9+vWcd955ALPOO1icc2+qI517kUgEQM69I5x7d955Jz09PdPWH+7ci0ajJBIJOfc2bKC7u5tbb70VrfW0Unennnoqra2tjI2N8eijj87a/owzzqCxsZGhoSGeeOIJMpkMe/bsAZxR7XvSbTwd83JhQ54zfP0EM908OuUUPPfcc4lEInR3d895blx44YVUVFSwd+9edu7cOWv9li1bCAQCvPji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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Berechne Vorhersagen für lats\n", "X = hurricanes[\"FirstLat\"].values\n", "X = sm.add_constant(X)\n", "y = hurricanes[\"Origins\"].replace({\"tropisch\": 0, \"aussertropisch\": 1}).values\n", "\n", "lats_grid = np.linspace(min(hurricanes[\"FirstLat\"]), max(hurricanes[\"FirstLat\"]))\n", "\n", "\n", "log_model = sm.GLM(y, X, family=sm.families.Binomial()).fit()\n", "predictions = log_model.get_prediction(exog=sm.add_constant(lats_grid)).summary_frame()\n", "\n", "# Ploting\n", "fig, ax = plt.subplots()\n", "ax.plot(lats_grid, predictions[\"mean\"])\n", "ax.fill_between(\n", " lats_grid,\n", " predictions[\"mean_ci_lower\"],\n", " predictions[\"mean_ci_upper\"],\n", " color=\"grey\",\n", " alpha=0.25,\n", ")\n", "outer = hurricanes.loc[hurricanes.Origins == \"aussertropisch\", \"FirstLat\"].values\n", "ax.scatter(outer, np.repeat(1, repeats=len(outer)), label=\"aussertropisch\", alpha=0.4)\n", "tropical = hurricanes.loc[hurricanes.Origins == \"tropisch\", \"FirstLat\"].values\n", "ax.scatter(tropical, np.repeat(0, repeats=len(tropical)), label=\"tropisch\", alpha=0.4)\n", "\n", "ax.grid()\n", "for _y in [0.1, 0.5, 0.9]:\n", " ax.axhline(y=_y, color=\"gray\", linestyle=\"dashed\")\n", "ax.set_xlabel(\"Geografische Breite\")\n", "ax.set_ylabel(\"Wahrscheinlichkeit\")\n", "ax.legend()" ] }, { "cell_type": "markdown", "id": "db9a342f-b9da-4587-ab7d-eb17bb74e8a8", "metadata": {}, "source": [ "Die Beobachtungen tropischer und aussertropischer Hurrikane sind entlang der Linien $y=0$ bzw. $y=1$ Linien dargestellt. Das graue Band ist das $95 \\%$ige punktweise Konfidenzintervall.\n", "\n", "Die Modellvorhersagen zeigen, dass die Wahrscheinlichkeit eines nichttropischen Hurrikans bei Breitengraden südlich von $20^\\circ N$ weniger als $10 \\%$ beträgt. Bis zum Breitengrad $26^\\circ N$ übersteigt die Wahrscheinlichkeit jedoch $50 \\%$ und bis zum Breitengrad $33^\\circ N$ übersteigt die Wahrscheinlichkeit $90 \\%$. Das Chancenverhältnis ist konstant, aber die Wahrscheinlichkeit ist eine nichtlineare Funktion des Breitengrads." ] } ], "metadata": { "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.10.2" } }, "nbformat": 4, "nbformat_minor": 5 }