{ "cells": [ { "cell_type": "markdown", "id": "7ba05a39", "metadata": {}, "source": [ "# Simulationsstudie: Diebstahlerkennung eines Autos in Echtzeit\n", "\n", "**Name:** Yann Ahlgrim \n", "\n", "In dieser Simulationsstudie wird ein Modell entwickelt, das anhand von Fahrverhaltensdaten erkennt, ob ein anderer Fahrer als üblich am Steuer sitzt. Ziel ist es, eine Wahrscheinlichkeit für einen Fahrerwechsel zu schätzen und bei hoher Wahrscheinlichkeit eine Diebstahlwarnung auszugeben. Die Studie umfasst die Generierung einer synthetischen Grundgesamtheit, die Simulation der Data Scientist Perspektive und die Analyse der Modellgüte." ] }, { "cell_type": "markdown", "id": "f8d794f6", "metadata": {}, "source": [ "## 1. Themenbeschreibung und Zielsetzung\n", "\n", "Im Fahrzeug werden zahlreiche Daten zum Fahrverhalten erfasst, z.B. Schaltpunkte, Drehzahlen, Fahrzeiten, Strecken und Fahrdauern. Ziel ist es, ein Modell zu entwickeln, das anhand dieser Daten erkennt, ob ein anderer als der übliche Fahrer am Steuer sitzt. Bei hoher Wahrscheinlichkeit soll eine Diebstahlwarnung erfolgen. Die Variablen werden so gewählt, dass sie das Fahrverhalten möglichst realistisch abbilden." ] }, { "cell_type": "markdown", "id": "99146c58", "metadata": {}, "source": [ "## 2. Definition der Variablen\n", "\n", "Für die Simulationsstudie werden folgende Variablen definiert:\n", "\n", "- **Zielvariable (y):** Fahrerwechsel (0 = üblicher Fahrer, 1 = anderer Fahrer)\n", "- **Erklärende Variablen:**\n", " 1. Schaltverhalten (nominal, 3 Ausprägungen: früh, normal, spät)\n", " 2. Fahrzeitpunkt (ordinal, 4 Ausprägungen: Nacht, Morgen, Nachmittag, Abend)\n", " 3. Durchschnittliche Drehzahl (metrisch)\n", " 4. Durchschnittliche Geschwindigkeit (metrisch)\n", "- **Weitere Variablen:**\n", " 5. Außentemperatur (metrisch)\n", " 6. Streckenlänge (metrisch)\n", " 7. Anzahl Stopps (diskret)\n", " 8. Fahrtdauer (metrisch)\n", "\n", "Zwischen \"Durchschnittliche Geschwindigkeit\" und \"Streckenlänge\" sowie zwischen \"Fahrtdauer\" und \"Anzahl Stopps\" werden inhaltlich sinnvolle Abhängigkeiten modelliert." ] }, { "cell_type": "code", "execution_count": 6, "id": "97ba29a9", "metadata": {}, "outputs": [], "source": [ "# Import der benötigten Bibliotheken\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from scipy.stats import norm, multinomial, randint\n", "\n", "np.random.seed(11)" ] }, { "cell_type": "code", "execution_count": null, "id": "61247da5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | shift_behavior | \n", "fahrzeitpunkt | \n", "drehzahl | \n", "geschwindigkeit | \n", "aussentemperatur | \n", "streckenlaenge | \n", "anzahl_stopps | \n", "unterwegszeit | \n", "fahrerwechsel | \n", "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "früh | \n", "Morgen | \n", "2557.800274 | \n", "67.054530 | \n", "16.623300 | \n", "27.687826 | \n", "3 | \n", "33.513323 | \n", "1 | \n", "
| 1 | \n", "früh | \n", "Nachmittag | \n", "2860.370321 | \n", "63.434024 | \n", "14.982375 | \n", "26.801979 | \n", "1 | \n", "30.810679 | \n", "1 | \n", "
| 2 | \n", "normal | \n", "Morgen | \n", "2549.535818 | \n", "49.982986 | \n", "31.091349 | \n", "28.343674 | \n", "1 | \n", "21.583173 | \n", "0 | \n", "
| 3 | \n", "normal | \n", "Abend | \n", "2258.839676 | \n", "55.057456 | \n", "13.142864 | \n", "33.245207 | \n", "0 | \n", "16.583198 | \n", "1 | \n", "
| 4 | \n", "normal | \n", "Nacht | \n", "2108.225539 | \n", "73.767328 | \n", "1.654390 | \n", "42.152370 | \n", "2 | \n", "19.775207 | \n", "1 | \n", "