init ergebnisbericht
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
# Latex
|
||||
*.aux
|
||||
*.log
|
||||
*.toc
|
||||
*.out
|
||||
*.synctex.gz
|
||||
*.fls
|
||||
*.fdb_latexmk
|
||||
*.bbl
|
||||
*.blg
|
||||
*.bcf
|
||||
*.run.xml
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 121 KiB |
@@ -0,0 +1,50 @@
|
||||
@report{nhtsa2006,
|
||||
title = {100-Car Naturalistic Driving Study},
|
||||
author = {NHTSA},
|
||||
year = {2006},
|
||||
url = {https://www.nhtsa.gov/sites/nhtsa.gov/files/100carmain.pdf},
|
||||
note = {National Highway Traffic Safety Administration, USA}
|
||||
}
|
||||
|
||||
@inproceedings{gearshift2023,
|
||||
author = {Deng, Tiancheng and He, Xin and Xu, Li},
|
||||
year = {2022},
|
||||
month = {08},
|
||||
pages = {4361-4366},
|
||||
title = {Driver Identification Based on Gear Shift Events and Attention-Based Bidirectional Long Short-Term Memory for Manual Transmission System},
|
||||
doi = {10.1109/CCDC55256.2022.10034086}
|
||||
}
|
||||
|
||||
@misc{aaa2016,
|
||||
title = {87 Percent of Drivers Engage in Unsafe Behaviors While Behind the Wheel},
|
||||
author = {AAA},
|
||||
year = {2016},
|
||||
url = {https://newsroom.aaa.com/2016/02/87-percent-of-drivers-engage-in-unsafe-behaviors-while-behind-the-wheel/},
|
||||
note = {AAA Traffic Safety Study}
|
||||
}
|
||||
|
||||
@report{mobilitaet2017,
|
||||
title = {Mobilität in Deutschland 2017},
|
||||
author = {BMVI},
|
||||
year = {2017},
|
||||
institution = {Bundesministerium für Verkehr und digitale Infrastruktur},
|
||||
note = {German National Travel Survey},
|
||||
url = {https://www.bmv.de/SharedDocs/DE/Anlage/G/mid-ergebnisbericht.pdf}
|
||||
}
|
||||
|
||||
@misc{tesla_safety_score_2023,
|
||||
title = {Tesla Safety Score Beta Explained},
|
||||
author = {{Find My Electric}},
|
||||
year = {2023},
|
||||
month = {March},
|
||||
url = {https://www.findmyelectric.com/blog/tesla-safety-score-beta-explained},
|
||||
note = {Last updated: March 27, 2023}
|
||||
}
|
||||
|
||||
@misc{openumwelt2024,
|
||||
title = {Klimaschutzinstrumente im Verkehr},
|
||||
author = {Philipp Klöckner},
|
||||
year = {2022},
|
||||
url = {https://openumwelt.de/server/api/core/bitstreams/07bd23f9-ff0a-41e5-b89b-8d7baf0a5c36/content},
|
||||
note = {Available from OpenUmwelt Environmental Data Repository}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,185 @@
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{caption}
|
||||
\usepackage{hyperref}
|
||||
\usepackage[style=authoryear,backend=biber]{biblatex}
|
||||
\addbibresource{references.bib}
|
||||
|
||||
\title{Simulationsstudie: Diebstahlerkennung eines Autos in~Echtzeit}
|
||||
\author{Yann Ahlgrim}
|
||||
\date{\today}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
\begin{center}
|
||||
\vfill
|
||||
\textbf{Statistical Learning SoSe 2025 -- Ergebnisbericht}
|
||||
\vfill
|
||||
\end{center}
|
||||
\clearpage
|
||||
|
||||
\tableofcontents
|
||||
\clearpage
|
||||
|
||||
\section{Fachthema: Diebstahlerkennung im Auto}
|
||||
Moderne Fahrzeuge erfassen in Echtzeit vielfältige Daten zum Fahrverhalten. Diese Studie untersucht, inwiefern sich anhand dieser Daten mit einem statistischen Modell erkennen lässt, ob statt des gewöhnlichen Fahrers eine andere Person am Steuer sitzt -- was auf einen \emph{Diebstahl} hindeuten würde. Konkret soll ein Modell die Wahrscheinlichkeit $P(\text{Diebstahl})$ schätzen und bei Überschreiten eines Schwellwerts einen Alarm auslösen. Die \textbf{Zielvariable} (abhängige Variable) ist dabei binär (0 = kein Diebstahl, 1 = Diebstahl). Ein Diebstahl wird angenommen, wenn das Fahrverhalten signifikant vom üblichen Fahrerprofil abweicht.
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Für das Fachthema wurden insgesamt \textbf{8 Einflussgrößen} (potenziell erklärende Variablen) definiert, welche typische Aspekte des Fahrverhaltens und Umfelds repräsentieren. Davon sind 4 Variablen als tatsächlich erklärungsrelevant für die Zielvariable angenommen, während die übrigen 4 Variablen keinen Einfluss auf einen Fahrerwechsel (Diebstahl) haben. Zur Erfüllung der Aufgabenstellung sind unter den relevanten Prädiktoren zwei Variablen kategorial (ordinal) mit mindestens 3 Ausprägungen, die übrigen relevanten Variablen sind metrisch. Im Folgenden werden alle Variablen beschrieben:
|
||||
|
||||
\begin{description}
|
||||
\item[\textbf{Durchschnittsgeschwindigkeit} (metrisch, \textit{erklärend})] Mittlere Fahrgeschwindigkeit (z.\,B.~über einen Tag). Unterschiedliche Fahrer weisen charakteristische Tempoprofile auf. Ein deutlich höheres Durchschnittstempo kann somit auf einen fremden, ggf.\ aggressiveren Fahrer hinweisen. Typische Werte liegen um etwa 47~km/h mit großer Streuung (basierend auf natürlichen Fahrstudien der \cite{nhtsa2006}).
|
||||
\item[\textbf{Schaltverhalten} (ordinal, \textit{erklärend})] Gewohnheiten beim Gangwechsel (bei Schaltgetriebe), insbesondere der Drehzahlbereich, bei dem hochgeschaltet wird. Es werden drei Ausprägungen unterschieden: \emph{früh} (sehr niedrige Drehzahlen, ökonomisch), \emph{normal} und \emph{spät} (hohe Drehzahlen, sportlich). Diese Variable ist relevant, da Fahrende ein individuelles Schaltmuster haben. Studien zeigen, dass das Schaltverhalten zur Fahreridentifikation genutzt werden kann (vgl. \cite{gearshift2023}).
|
||||
\item[\textbf{Harte Bremsmanöver} (metrisch, \textit{erklärend})] Anzahl starker Bremsungen (mit Verzögerung $>0{,}3g$) pro Strecke (vgl. \cite{tesla_safety_score_2023}). Dieses Maß korreliert mit einer aggressiven Fahrweise -- viele Vollbremsungen deuten auf einen ungewohnten bzw.\ risikoreicheren Fahrer hin. g ist eine Einheit der Beschleunigung (1g $\approx 9{,}81$~m/s²).
|
||||
\item[\textbf{Geschwindigkeitsüberschreitungen} (ordinal, \textit{erklärend})] Häufigkeit \newline bzw.\ Ausmaß von Tempoverstößen. Kategorisiert als \emph{selten}, \emph{manchmal} oder \emph{häufig} zu schnell. Ein fremder Fahrer könnte andere Risikoneigungen beim Schnellfahren zeigen. Laut einer AAA-Verkehrssicherheitsstudie geben rund 50\,\% der Fahrer an, in letzter Zeit auf Autobahnen mindestens 24~km/h über dem Limit gefahren zu sein (vgl.\ \cite{aaa2016}) -- was die allgemeine Relevanz dieser Variable für das Fahrverhalten unterstreicht.
|
||||
\item[\textbf{Wetterbedingungen} (nominal)] Wetter während der Fahrt: \emph{trocken}, \emph{nass} oder \emph{winterlich} (Glätte/Schnee). Diese Kontextvariable dient zur Kontrolle äußerer Bedingungen. Erwartungsgemäß hat das Wetter keinen direkten Einfluss auf einen Fahrerwechsel.
|
||||
\item[\textbf{Fahrstrecke} (metrisch)] Die zurückgelegte Distanz einer Fahrt (in km). Diese Variable (etwa lognormal verteilt um 16~km) repräsentiert typische Wege. Sie steht nicht in direktem Zusammenhang mit der Fahreridentität, sondern charakterisiert den Nutzungskontext (\cite{mobilitaet2017}).
|
||||
\item[\textbf{Straßentyp} (nominal)] Vorherrschender Streckentyp: \emph{Autobahn}, \emph{Außerorts} oder \emph{Innerorts}. Diese Variable bietet Kontext (Stadtverkehr vs.\ Fernstraße), hat aber für sich genommen keinen Einfluss bezüglich eines Fahrerwechsels (\cite{openumwelt2024})
|
||||
\item[\textbf{Wochentag} (nominal)] Tag der Woche bzw.\ Kategorie \emph{Werktag} vs \emph{Wochenende} (vgl. \cite{mobilitaet2017}). Auch dies ist eine Kontextgröße ohne direkten Einfluss auf die Diebstahlwahrscheinlichkeit (daher ebenfalls nicht erklärend).
|
||||
\end{description}
|
||||
|
||||
\noindent
|
||||
Zusammenfassend stellen \emph{Durchschnittsgeschwindigkeit}, \emph{Schaltverhalten}, \emph{Harte Bremsmanöver} und \emph{Geschwindigkeitsüberschreitungen} die fachlich ausgewählten Schlüsselvariablen dar, die einen Fahrerwechsel anzeigen können. Die übrigen vier Größen (Wetter, Fahrstrecke, Straßentyp, Wochentag) dienen als Kontrolle und potentielle Störgrößen, besitzen aber per Annahme keinen Erklärungsgehalt für die Zielvariable. Dieses Setting erlaubt die Überprüfung, ob ein Statistical-Learning-Ansatz die relevanten Merkmale korrekt identifizieren kann.
|
||||
|
||||
\section{Erzeugung der Grundgesamtheit}
|
||||
Für die Simulation wurde eine \textbf{Grundgesamtheit} von $N = 1.000.000$ Fahrten generiert. Jede Fahrt hat einen binären Indikator (Zielvariable \emph{Diebstahl ja/nein}) und 8 zugehörige Merkmalswerte (die oben definierten Variablen). Die Werte wurden mittels geeigneter Zufallsverteilungen erzeugt, basierend auf realistischen Annahmen und empirischen Daten, jedoch so, dass die Abhängigkeitsstruktur kontrolliert vorgegeben ist. Die Zielvariable hängt funktional von genau 4 der 8 Variablen ab (den erklärenden), während die restlichen 4 keinen Einfluss auf den Diebstahl haben. Zudem wurden zwei inhaltlich sinnvolle Korrelationen zwischen ausgewählten Variablen eingeführt, ohne jedoch Multikollinearität zu verursachen (alle Varianzinflationsfaktoren $\text{VIF} < 5$).
|
||||
|
||||
\subsubsection*{Verteilungen der Variablen}
|
||||
Die Verteilungen der einzelnen Merkmale wurden in Anlehnung an empirische Daten gewählt. Insbesondere:
|
||||
\begin{itemize}
|
||||
\item \textbf{Durchschnittsgeschwindigkeit:} Normalverteilung mit $\mu \approx 47$~km/h und $\sigma \approx 10$~km/h, begrenzt auf plausible Werte $[10,130]$~km/h (keine negativen oder extrem hohen Geschwindigkeiten).
|
||||
\item \textbf{Schaltverhalten:} Kategorisch (ordinal) mit drei Stufen \emph{früh}, \emph{normal}, \emph{spät}. Es wurden 40\,\% für \emph{früh}, 40\,\% \emph{normal} und 20\,\% \emph{spät} simuliert, d.\,h. die meisten Fahrer schalten gewöhnlich früh oder durchschnittlich, während nur etwa jeder fünfte spät schaltet.
|
||||
\item \textbf{Harte Bremsmanöver:} Poisson-verteilte Zufallsvariable mit $\lambda = 2$ pro definierter Strecke (z.\,B.~pro 100\,km). Diese Verteilung ergibt meist wenige bis keine harten Bremsungen pro Fahrt, aber mit einer gewissen Wahrscheinlichkeit auch Ausreißer mit mehreren Bremsmanövern (rechtsschiefe Verteilung).
|
||||
\item \textbf{Geschwindigkeitsüberschreitungen:} Ordinal mit drei Stufen (\emph{selten}, \emph{manchmal}, \emph{häufig}). Diese Variable wurde \emph{nicht unabhängig} gezogen, sondern \textbf{abhängig von der Durchschnittsgeschwindigkeit} generiert: Fahrer mit höherer \texttt{avg\_speed} erhielten mit größerer Wahrscheinlichkeit die Kategorie \emph{häufig} zu schnell, während sehr langsame Fahrer überwiegend als \emph{selten} zu schnell eingeordnet wurden. Die Umsetzung erfolgte über eine gewichtete Zufallsauswahl (Softmax-Funktion auf Basis von \texttt{avg\_speed}). Dadurch besteht eine inhaltlich sinnvolle Korrelation zwischen \texttt{avg\_speed} und \texttt{speeding}, die jedoch moderat genug ist (VIF $\approx 2.57$ für \texttt{avg\_speed}, $< 2$ für \texttt{speeding}-Dummies), um Multikollinearität nicht zum Problem werden zu lassen.
|
||||
\item \textbf{Wetterbedingungen:} Für jedes Fahrt wurde das Wetter zufällig gemäß empirischer Häufigkeiten zugeordnet: ca.~75\,\% \emph{trocken}, 20\,\% \emph{nass} (Regen) und 5\,\% \emph{winterlich} (Schnee/Eis). Dies entspricht etwa den in Mitteleuropa beobachteten Anteilen trockener bzw.\ widriger Fahrbedingungen.
|
||||
\item \textbf{Fahrstrecke:} Lognormalverteilung mit $\mu_{\log} = \ln(16)$ und $\sigma_{\log} = 0{,}7$, um die Verteilung typischer Fahrtlängen abzubilden. Diese Parameter führen zu einer rechtsschiefen Verteilung: Viele kürzere Fahrten um einige wenige Kilometer, und seltener auch sehr lange Fahrten ($>50$~km). (Die Annahmen basieren auf Studien zur täglichen Weglänge \cite{mobilitaet2017}.)
|
||||
\item \textbf{Straßentyp:} Diese Variable wurde \textbf{abhängig von der Fahrstrecke} generiert. Intuitiv werden sehr lange Fahrten eher auf Autobahnen stattfinden, während kurze Fahrten überproportional innerorts sind. Um dies zu modellieren, wurde ein stochastischer Zusammenhang erzeugt: Zunächst wurde \texttt{trip\_distance} auf $[0,1]$ skaliert; dann wurde mittels einer Softmax-Wahrscheinlichkeitsfunktion daraus der Straßentyp gezogen, sodass z.\,B.\ bei sehr großen Distanzen die Wahrscheinlichkeit für \emph{Autobahn} deutlich höher ist als für \emph{Innerorts}. Dadurch ergibt sich eine leichte Korrelation zwischen \texttt{trip\_distance} und \texttt{road\_type} (z.\,B.\ $VIF \approx 1.68$ für \texttt{trip\_distance}), ohne die beiden Größen stark redundant zu machen.
|
||||
\item \textbf{Wochentag:} Festgelegte Verteilung von ca.~70\,\% \emph{Werktag} (Mo-Fr) und je 15\,\% \emph{Samstag} und \emph{Sonntag}. Damit wird berücksichtigt, dass die meisten Fahrten werktags stattfinden. Diese Variable wurde unabhängig von den übrigen generiert.
|
||||
\end{itemize}
|
||||
Durch diese Vorgehensweise bilden die generierten Daten realistische Verteilungen und Beziehungen der Variablen ab, wobei genau zwei inhaltlich plausible Korrelationen eingebaut wurden (\texttt{speeding}-\texttt{avg\_speed} und \newline \texttt{road\_type}-\texttt{trip\_distance}). Beide Abhängigkeiten sind so kalibriert, dass im optimalen Regressionsmodell keine Multikollinearität auftritt ($\text{VIF} < 5$ in allen Fällen).
|
||||
|
||||
\subsubsection*{Modellierung der Zielvariable und der $\pi$-Werte}
|
||||
Die \textbf{Zielvariable} \texttt{Diebstahl} wurde als Zufallsvariable auf Basis eines logistischen Regressionsmodells generiert. Dazu wurde zunächst für jede Fahrt $i$ die Diebstahl-Wahrscheinlichkeit $\pi_i = P(Y_i=1)$ berechnet als
|
||||
\[
|
||||
\pi_i = \frac{1}{1 + \exp(- ( \beta_0 + \beta_1 x_{1i} + \cdots + \beta_8 x_{8i} + \varepsilon_i ) )}~,
|
||||
\]
|
||||
wobei $x_{1},\dots,x_{8}$ die Merkmalswerte (erklärende Variablen) der Fahrt sind, $\beta_0,\dots,\beta_8$ die zugrunde liegenden Regressionskoeffizienten und $\varepsilon_i$ ein zufälliger Fehlerterm. Für den vorliegenden Klassifikationsfall entspricht $\varepsilon_i$ einem impliziten Rauschen, das die Nicht-Deterministik der Fahrerwechsel abbildet (nicht jeder ungewöhnliche Wert führt zwangsweise zum Diebstahl). In der Simulation wurde $\varepsilon_i \sim \mathcal{N}(0, 0.2^2)$ als additive Störung zur linearen Prädiktor-Summe gezogen. Anschließend wurde $Y_i$ durch einen Bernoulli-Zufall mit Parameter $\pi_i$ realisiert (d.\,h. \texttt{Diebstahl}~=~1 mit Wahrscheinlichkeit $\pi_i$).
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Die \textbf{gewählten Koeffizienten ($\beta$-Werte)} für das Generierungsmodell sind in Tabelle~\ref{tab:true_betas} aufgeführt. Diese wurden so festgelegt, dass sie plausible Einflussstärken der erklärenden Variablen widerspiegeln, ohne die Zielvariable extrem zu dominieren. Insbesondere wurde ein relativ niedriger Basiswert (\emph{Intercept} $\beta_0=-2$) gewählt, sodass bei unauffälligen Merkmalen die Diebstahl-Wahrscheinlichkeit sehr gering ist. Die erklärenden Variablen erhöhen bzw.\ verringern diese Grundwahrscheinlichkeit wie folgt:
|
||||
\begin{itemize}
|
||||
\item \textbf{Durchschnittsgeschwindigkeit:} $\beta_{avg\_speed} = 0{,}015$. Ein leicht positiver Koeffizient - eine ungewöhnlich hohe Durchschnittsgeschwindigkeit erhöht also geringfügig die Diebstahl-Wkt., da sie auf einen anderen (rasanteren) Fahrstil hindeuten kann.
|
||||
\item \textbf{Harte Bremsmanöver:} $\beta_{hard\_brakes} = 0{,}1$. Häufige Vollbremsungen haben einen deutlichen positiven Effekt auf $P(\text{Diebstahl})$, da sie ein Indiz für einen risikoreicheren Fahrstil sind.
|
||||
\item \textbf{Schaltverhalten:} Das Schaltverhalten ist ein starker Prädiktor für den Fahrer. Für die kategorialen Ausprägungen wurden Dummy-Variablen erstellt: $\beta_{\text{früh}} = -0{,}3$, $\beta_{\text{normal}} = -0{,}3$ und $\beta_{\text{spät}} = +0{,}5$. Besonders \emph{spät} schalten wird mit einem hohen positiven Beta gewichtet, da es einen aggressiveren Fahrstil beschreibt. \emph{Früh} und \emph{normal} schalten erhalten einen negativen Einfluss, da sie auf einen defensiveren oder gewohnten Fahrstil hindeuten.
|
||||
\item \textbf{Geschwindigkeitsüberschreitungen:} Die Häufigkeit von Geschwindigkeitsüberschreitungen ist ein wichtiger Indikator für den Fahrstil. Die Koeffizienten wurden festgelegt als: $\beta_{\text{selten}} = -0{,}3$, $\beta_{\text{manchmal}} = -0{,}3$ und $\beta_{\text{häufig}} = +0{,}5$. Besonders \emph{häufig} zu schnell fahren ist ein starkes Signal für einen Fahrerwechsel, da dies ein sehr auffälliges Verhalten darstellt. \emph{Selten} und \emph{manchmal} werden negativ gewichtet, da sie auf einen defensiveren Fahrstil hindeuten.
|
||||
\item \textbf{Kontextvariablen (Wetter, Strecke, Straßentyp, Wochentag):} Diese wurden \emph{alle mit $\beta=0$} angesetzt, d.\,h.\ sie haben per Konstruktion keinen Einfluss auf die Diebstahl-Wahrscheinlichkeit.
|
||||
\end{itemize}
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\caption{Übersicht der verwendeten Regressionskoeffizienten im Generierungsmodell der Zielvariable. Kategorische Effekte beziehen sich auf die jeweilige Referenzkategorie (in Klammern).}
|
||||
\label{tab:true_betas}
|
||||
\begin{tabular}{lcl}
|
||||
\toprule
|
||||
\textbf{Variable} & \textbf{Kategorie (Ref.)} & \textbf{Beta-Wert}\\
|
||||
\midrule
|
||||
Intercept & -- & $-2{,}0$ \\
|
||||
Durchschnittsgeschwindigkeit & -- & $+0{,}015$ \\
|
||||
Harte Bremsmanöver & -- & $+0{,}10$ \\
|
||||
Schaltverhalten & früh & $-0{,}30$ \\
|
||||
~ & normal & $-0{,}30$ \\
|
||||
~ & spät (Ref.) & $+0{,}00$ \\
|
||||
Geschwindigkeitsüberschreitung & selten & $-0{,}30$ \\
|
||||
~ & manchmal & $-0{,}30$ \\
|
||||
~ & häufig (Ref.) & $+0{,}00$ \\
|
||||
Wetter & trocken, nass, winterlich (alle) & $0{,}00$ \\
|
||||
Straßentyp & Autobahn, Außerorts, Innerorts (alle) & $0{,}00$ \\
|
||||
Wochentag & Mo–Fr, Sa, So (alle) & $0{,}00$ \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
\noindent
|
||||
Durch die gewählten $\beta$-Gewichte resultiert eine \textbf{Verteilung der Zielvariable}, bei der Diebstahl relativ selten vorkommt, aber nicht vernachlässigbar: Im generierten Datensatz sind etwa 23\,\% der Fahrten als Diebstahl deklariert worden (d.\,h. $Y=1$ in 229.150 von 1.000.000 Fällen). Diebstähle sollen deutlich seltener als normale Fahrten sein, jedoch häufig genug, um ein Modell daran zu trainieren. Die zugrunde liegenden individuellen Diebstahl-Wahrscheinlichkeiten $\pi_i$ waren überwiegend niedrig: Für eine typische Fahrt (alle Merkmale unauffällig) lag $\pi\approx 0,1$, während extreme Kombinationen (z.\,B.\ sehr hohe Geschwindigkeit, viele harte Bremsungen, spät geschaltet und häufig zu schnell zugleich) $\pi$-Werte von bis zu $\sim 0,8$ erreichten. Im Mittel ergaben sich $\bar{\pi} \approx 0,23$ und eine rechtsschiefe Verteilung der $\pi_i$ über alle Fahrten. Insgesamt war also gewährleistet, dass das generierte Modell weder trivial (zu seltene 1-Fälle) noch stark im Ungleichgewicht war.
|
||||
|
||||
\section{Simulation der Perspektive des Data Scientist}
|
||||
In einem realen Anwendungsszenario würde ein Data Scientist lediglich einen \emph{Stichprobendatensatz} der Grundgesamtheit vorfinden - ohne Kenntnis des zugrundeliegenden wahren Modells. Um diese Perspektive zu simulieren, wurde aus den 1.000.000 generierten Fällen eine \textbf{Zufallsstichprobe} von $n = 20.000$ Fahrten gezogen. Der Data Scientist würde zunächst eine explorative Datenanalyse und Vorverarbeitung durchführen, dann ein geeignetes Regressionsmodell (logistische Regression im Klassifikationsfall) schätzen und mittels Variablenselektion optimieren. Abschließend würde er die Modellgüte bewerten. All diese Schritte wurden in der Simulation nachvollzogen.
|
||||
|
||||
\subsection*{Datenexploration und Aufbereitung}
|
||||
Zunächst wurde die Stichprobe auf Vollständigkeit und Ausreißer geprüft. Es traten keine fehlenden Werte auf (da simuliert). Ein \emph{Abgleich der Verteilungen} bestätigte, dass die Stichprobe die Grundgesamtheits-Charakteristika widerspiegelt. Beispielsweise sind die Verteilungen der metrischen Variablen in Abb.~\ref{fig:dist_vars} dargestellt (Histogramme und Boxplots): Man erkennt die angenommene Normalverteilung der \texttt{avg\_speed} (mit Mittelwert ca.~47~km/h), die rechtschiefe Poisson-Verteilung von \texttt{hard\_brakes} (häufig 0 oder 1 harte Bremsung, selten mehr) und die ausgeprägte Schiefe der lognormal verteilten \texttt{trip\_distance} (viele kurze Fahrten, wenige sehr lange). Die Boxplots zeigen, dass es bei \texttt{trip\_distance} einige Ausreißer (sehr lange Fahrten) gibt, während \texttt{avg\_speed} symmetrisch verteilt ist. Diese Beobachtungen stimmen mit der Datengenerierung überein und geben dem Data Scientist keinen Hinweis auf Anomalien im Datensatz.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{fig_variable_distributions.png}
|
||||
\caption{Verteilungen der metrischen Variablen in der Stichprobe ($n=20.000$): Durchschnittsgeschwindigkeit, harte Bremsmanöver und Fahrstrecke (oben: Histogramme, unten: Boxplots). Die erwartete Normalverteilung von \texttt{avg\_speed}, Poisson-Verteilung von \texttt{hard\_brakes} und Rechtsschiefe von \texttt{trip\_distance} sind deutlich zu erkennen.}
|
||||
\label{fig:dist_vars}
|
||||
\end{figure}
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Für die kategorialen Merkmale (Schaltverhalten, Geschwindigkeitsüberschreitungen, Wetter, Straßentyp, Wochentag) wurden Häufigkeitstabellen und Balkendiagramme betrachtet (nicht abgebildet). Auch diese entsprachen den Simulationseinstellungen (z.\,B.\ 20\,\% der Fahrer in der Stichprobe hatten \emph{spätes} Schaltverhalten; ca.~5\,\% der Fahrten fanden bei \emph{winterlichem} Wetter statt etc.). Zur Vorbereitung der Regression wurde ein \textbf{One-Hot-Encoding} der kategorialen Variablen durchgeführt (mit geeigneten Referenzkategorien, z.\,B.\ \emph{spät} für Schaltverhalten, \emph{häufig} für Speeding, etc.) und eine Konstante für den Interzept ergänzt. Anschließend standen 1 Zielvariable und 19 Regressoren (inkl.~Dummies und Interzept) für die Modellierung bereit.
|
||||
|
||||
\subsection*{Logistische Regression und Variablenselektion}
|
||||
Ohne Kenntnis des wahren generativen Modells würde der Data Scientist zunächst alle verfügbaren Variablen als Prädiktoren in ein Modell einbeziehen. Daher wurde auf den Trainingsdaten (z.\,B.\ 70\,\% der Stichprobe) eine \textbf{logistische Regressionsanalyse} mit allen 8 ursprünglichen Merkmalen (entsprechend 1 Interzept + 3 Dummies für Schaltverhalten + 2 Dummies für Speeding + 2 Dummies für Wetter + 2 Dummies für Straßentyp + 2 Dummies für Wochentag + 3 metrische Variablen = 1 + 3+2+2+2+2+3 = 15 Parametern) durchgeführt. Dieses initiale Modell zeigte erwartungsgemäß, dass einige Prädiktoren keinen signifikanten Einfluss besitzen. Ein schrittweises Selektionsverfahren (\textbf{Backward Elimination}) wurde angewandt, um ein optimales Modell zu finden: beginnend mit dem vollen Modell wurden die am wenigsten signifikanten Variablen sukzessive entfernt, bis nur noch prädiktive (p-Wert $<0,05$) Variablen verblieben.
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Das Ergebnis der Variablenselektion war, dass genau die 4 fachlich erwarteten Einflüsse im Modell verblieben, während die irrelevanten Merkmale entfernt wurden. Konkret blieben \texttt{avg\_speed}, \texttt{hard\_brakes}, \texttt{shift\_behavior} (mit zwei Dummy-Variablen) und \texttt{speeding} (ebenfalls zwei Dummies) im finalen Modell. Ausgeschlossen wurden dagegen \texttt{weather}, \texttt{trip\_distance}, \texttt{road\_type} und \texttt{weekday}, da deren Effekt auf die Zielvariable statistisch insignifikant war (p-Werte weit über 0,1). Dieses Resultat deckt sich mit der Konstruktion der Daten: Die irrelevanten Kontextvariablen bieten keine Erklärungskraft und wurden richtigerweise vom modellselektiven Ansatz eliminiert.
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Das \textbf{finale Regressionsmodell} wurde anschließend neu auf der gesamten Stichprobe ($n=20.000$) geschätzt. Die geschätzten Regressionskoeffizienten (im Folgenden $\hat{\beta}$) stimmten weitgehend mit den wahren Werten aus dem Generierungsmodell überein. Insbesondere waren alle verbleibenden Prädiktoren hochsignifikant ($p<0,001$). Ein Vergleich der Koeffizienten zeigt nur geringe Abweichungen aufgrund von Stichprobenfluktuation:
|
||||
\begin{itemize}
|
||||
\item Für \texttt{avg\_speed} ergab sich $\hat{\beta}_{avg\_speed} \approx 0{,}0174$ (gegenüber wahr $0{,}015$). Dieser leichte Überschätzung ist mit dem Stichprobenzufall erklärbar, liegt aber in derselben Größenordnung.
|
||||
\item Für \texttt{hard\_brakes} wurde $\hat{\beta}_{hard\_brakes} \approx 0{,}0817$ geschätzt (wahr $0{,}10$). Auch hier ist der Unterschied gering; das Vorzeichen und die Effektstärke (positiv, deutlicher Einfluss) wurden korrekt erkannt.
|
||||
\item Die Dummyeffekte für das Schaltverhalten wurden zu $\hat{\beta}_{frueh} \approx -0{,}815$ und $\hat{\beta}_{normal} \approx -0{,}808$ geschätzt (Referenz \emph{spät} mit $\hat{\beta}_{spaet} = 0$). Die wahren Unterschiede (Früh/Normal vs.~Spät) betrugen $-0{,}8$. Somit liegen die Schätzungen praktisch genau auf den erwarteten Werten.
|
||||
\item Für die Speeding-Kategorien ergaben sich $\hat{\beta}_{selten} \approx -0{,}834$ und \newline $\hat{\beta}_{manchmal} \approx -0{,}834$ (Referenz \emph{häufig}). Die wahren Unterschiede zu \emph{häufig} waren $-0{,}8$. Auch hier stimmen Richtung und Größe nahezu überein.
|
||||
\item Den Interzept schätzte das Modell mit $\hat{\beta}_{0} \approx -1{,}05$ (wahr $-2$). Diese Abweichung erklärt sich durch die Dummy-Kodierung der Kategorien: Im generativen Modell hatten die Referenzkategorien \emph{spät} und \emph{häufig} jeweils einen positiven Beitrag von $+0{,}5$, welcher im geschätzten Modell im Interzept aufgefangen wird. Berücksichtigt man diese Verschiebung, liegt der Interzept im Rahmen.
|
||||
\end{itemize}
|
||||
Somit hat der Data Scientist durch das systematische Vorgehen tatsächlich \textbf{das zugrunde liegende Modell (bis auf Zufallsschwankungen) wiederentdeckt}. Insbesondere wurden keine falschen Variablen im Endmodell behalten und keine echten Einflüsse übersehen. Die logistische Regressionsgleichung aus der Stichprobe stimmt inhaltlich mit der zur Datengenerierung überein.
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Abschließend wurde die Güte des Modells anhand der Testdaten (30\,\% der Stichprobe) überprüft. Die Vorhersagen der Diebstahlwahrscheinlichkeit zeigten eine gute Trennschärfe zwischen Diebstahl- und Normalfahrten (AUC $>0,8$; ca.~77\,\% richtige Klassifikationen bei geeignetem Schwellenwert). Dies verdeutlicht, dass die identifizierten Merkmale tatsächlich die Variation in der Zielvariable erklären können.
|
||||
|
||||
\section{Güte der Modellparameter}
|
||||
In einem letzten Schritt wurde untersucht, wie verlässlich die Modellschätzung bei unterschiedlicher Datenmenge ist. Insbesondere stellt sich die Frage, welchen Einfluss der Stichprobenumfang $n$ auf die Präzision der geschätzten Regressionskoeffizienten hat. Hierzu wurde ein Monte-Carlo-Simulationsansatz gewählt: Aus der Grundgesamtheit wurden für verschiedene Umfangswerte $n$ jeweils $k = 1000$ Zufallsstichproben gezogen, darauf jeweils das optimale Modell aus Abschnitt~3 (mit den 4 relevanten Variablen) erneut trainiert, und die Verteilungen der resultierenden $\hat{\beta}$-Koeffizienten analysiert.
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Untersucht wurde exemplarisch der Koeffizient $\beta_{avg\_speed}$, der Effekt der Durchschnittsgeschwindigkeit. Die Ergebnisse sind in Abbildung~\ref{fig:beta_dist} dargestellt, welche die Verteilungen von $\hat{\beta}_{avg\_speed}$ für drei verschiedene Stichprobenumfänge gegenüberstellt. Man erkennt deutlich, dass \textbf{mit wachsendem $n$ die Verteilung der Koeffizientenschätzungen immer schmaler wird} und sich enger um den wahren Wert konzentriert. Für kleine Stichproben ($n=1000$) schwanken die geschätzten $\beta$ noch sehr stark -- die Verteilung ist breit und umfasst Werte von nahe 0 bis etwa 0,03. Bei mittlerer Stichprobe ($n=11000$) ist die Streuung bereits deutlich geringer. Im Fall $n=46000$ liegen nahezu alle Schätzungen dicht bei $\beta\approx0{,}015$; die Kurve ist stark konzentriert. Diese Beobachtung entspricht der erwarteten Verbesserung der Schätzgenauigkeit: Je mehr Daten zur Verfügung stehen, desto weniger zufällig streuen die geschätzten Parameter um den wahren Wert.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{fig_beta_distribution.png}
|
||||
\caption{Verteilungen des geschätzten Koeffizienten $\hat{\beta}_{avg\_speed}$ aus 1000 Simulationen für drei Stichprobenumfänge ($n=1000$, $n=11000$, $n=46000$). Mit größerem $n$ wird die Verteilung deutlich schmaler und konzentriert sich stärker um den wahren Wert ($\beta_{avg\_speed}=0{,}015$, gestrichelte Linie).}
|
||||
\label{fig:beta_dist}
|
||||
\end{figure}
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Zur Quantifizierung wurde für jede Stichprobengröße $n$ die \textbf{empirische Standardabweichung} der $\hat{\beta}_{avg\_speed}$-Schätzungen aus den 1000 Wiederholungen bestimmt. Abbildung~\ref{fig:std_n} zeigt die Entwicklung dieser Streuung in Abhängigkeit von $n$. Deutlich ist ein abnehmender Verlauf erkennbar. Die Kurve folgt näherungsweise der theoretischen Proportionalität $\sigma(\hat{\beta}) \sim \frac{1}{\sqrt{n}}$ (rot eingezeichnet). Die in der Simulation gemessenen Werte (blaue Punkte) liegen dicht auf der $1/\sqrt{n}$-Linie, was die theoretische Erwartung bestätigt.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{fig_std_vs_n.png}
|
||||
\caption{Standardabweichung von $\hat{\beta}_{avg\_speed}$ in Abhängigkeit des Stichprobenumfangs $n$. Gezeigte Punkte basieren auf $k=1000$ Simulationen je Umfang; die rote Kurve visualisiert ein $1/\sqrt{n}$-Gesetz. Man erkennt, dass die Streuung der Schätzungen mit wachsendem $n$ deutlich abnimmt und sich näherungsweise nach $\propto n^{-1/2}$ verhält.}
|
||||
\label{fig:std_n}
|
||||
\end{figure}
|
||||
|
||||
\noindent
|
||||
\newline
|
||||
Diese Ergebnisse illustrieren den wichtigen Zusammenhang zwischen Datenmenge und \textbf{Modelllernqualität}. Bereits zwischen $n=1000$ und $n=10000$ verbessert sich die Präzision der Koeffizientenschätzung erheblich. Noch größere Datenmengen führen zu weiter sinkender Unsicherheit, allerdings mit abnehmendem Grenznutzen (die Kurve flacht ab). Insgesamt zeigt die Simulation, dass zur zuverlässigen Identifikation kleiner Effekte (wie $\beta_{avg\_speed}\approx0{,}015$) eine ausreichend große Stichprobe notwendig ist. Mit $n \to 50.000$ nähert sich die Streuung einem Wert an, der durch die inhärente Ergebnisvarianz (bedingt durch den Rauschterm $\varepsilon$) begrenzt ist. Für das vorliegende Problem bedeutet dies: Je mehr Fahrten der Data Scientist zur Verfügung hat, desto genauer kann er die wahren Fahrerwechsel-Einflüsse schätzen und desto vertrauenswürdiger sind die vom Modell ausgegebenen Diebstahlwahrscheinlichkeiten.
|
||||
|
||||
\clearpage
|
||||
\printbibliography[title=Literaturverzeichnis]
|
||||
|
||||
\end{document}
|
||||
@@ -67,7 +67,7 @@
|
||||
" Die Einteilung basiert auf Daten des Statistischen Bundesamtes: Etwa 70–75 % aller Fahrten finden unter trockenen Bedingungen statt, 20–25 % bei Nässe und unter 5 % bei Schnee oder Glätte.\n",
|
||||
"\n",
|
||||
"6. **Fahrstrecke (metrisch):** \n",
|
||||
" Länge der Fahrt (z.B. lognormalverteilt um 12 km). Kontextvariable, nicht direkt erklärend. \n",
|
||||
" Länge der Fahrt (z.B. lognormalverteilt um 16 km). Kontextvariable, nicht direkt erklärend. \n",
|
||||
" → Quelle: [Mobilität in Deutschland 2017 – Ergebnisbericht](https://www.bmv.de/SharedDocs/DE/Anlage/G/mid-ergebnisbericht.pdf)\n",
|
||||
"\n",
|
||||
" \n",
|
||||
@@ -121,7 +121,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 42,
|
||||
"execution_count": null,
|
||||
"id": "61247da5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -153,7 +153,7 @@
|
||||
"weather = np.random.choice(['trocken', 'nass', 'winterlich'], size=N, p=[0.75, 0.2, 0.05])\n",
|
||||
"\n",
|
||||
"# 6. Fahrstrecke (metrisch, lognormal)\n",
|
||||
"mu, sigma = np.log(12), 0.7\n",
|
||||
"mu, sigma = np.log(16), 0.7\n",
|
||||
"trip_distance = np.random.lognormal(mean=mu, sigma=sigma, size=N)\n",
|
||||
"\n",
|
||||
"# 7. Straßentyp (nominal, Kontext) – Abhängigkeit von trip_distance mit Softmax-Funktion\n",
|
||||
@@ -740,7 +740,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 48,
|
||||
"execution_count": null,
|
||||
"id": "75318d77",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
@@ -794,6 +794,8 @@
|
||||
"# Zielvariable simulieren\n",
|
||||
"target = np.random.binomial(1, pi)\n",
|
||||
"\n",
|
||||
"print(\"Anzahl Diebstähle:\", np.sum(target))\n",
|
||||
"\n",
|
||||
"plt.figure(figsize=(10, 6))\n",
|
||||
"sns.countplot(x=target, palette='viridis')\n",
|
||||
"plt.title('Verteilung der Zielvariable (Diebstahl: ja/nein)')\n",
|
||||
@@ -845,7 +847,7 @@
|
||||
"Alle Beta-Werte wurden bewusst reduziert (unterhalb von 0.1), um eine Übergewichtung einzelner Faktoren zu vermeiden und die Zielvariable `Diebstahl` in einem nahe zu realistischen Bereich zu halten. Eine stärkere Gewichtung hätte zu einer zu häufigen Klassifikation als Diebstahl geführt.\n",
|
||||
"\n",
|
||||
"```visualisierung\n",
|
||||
"Die grafische Darstellung zeigt, dass rund 25 % der Fahrten als potenzielle Diebstähle klassifiziert wurden - ein geeignetes Trainingsverhältnis für ein Klassifikationsmodell.\n",
|
||||
"Die grafische Darstellung zeigt, dass rund 20 % der Fahrten als potenzielle Diebstähle klassifiziert wurden - ein geeignetes Trainingsverhältnis für ein Klassifikationsmodell.\n",
|
||||
"```\n",
|
||||
"\n"
|
||||
]
|
||||
@@ -1411,7 +1413,7 @@
|
||||
"\n",
|
||||
"- **hard_brakes**: Poisson-Verteilung mit λ ≈ 2, erkennbar an der rechtschiefen Verteilung mit einem Peak bei niedrigen Werten (0-2 harte Bremsmanöver). Die meisten Fahrten haben wenige bis gar keine harten Bremsmanöver, was realistisch ist.\n",
|
||||
"\n",
|
||||
"- **trip_distance**: Lognormalverteilung mit deutlicher Rechtsschiefe. Die meisten Fahrten sind kurz (um 12 km), aber es gibt einen langen Schwanz mit wenigen sehr langen Fahrten. Dies entspricht typischen Fahrtmustern, bei denen viele kurze Fahrten und wenige lange Strecken gefahren werden.\n",
|
||||
"- **trip_distance**: Lognormalverteilung mit deutlicher Rechtsschiefe. Die meisten Fahrten sind kurz (um 16 km), aber es gibt einen langen Schwanz mit wenigen sehr langen Fahrten. Dies entspricht typischen Fahrtmustern, bei denen viele kurze Fahrten und wenige lange Strecken gefahren werden.\n",
|
||||
"\n",
|
||||
"Die Boxplots zeigen zusätzlich die Quartile und identifizieren Ausreißer, die bei allen drei Variablen vorhanden sind, aber besonders bei trip_distance aufgrund der Lognormalverteilung."
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user