Kurs
Beim Hypothesentesten ziehst du durch statistische Tests an einer Stichprobe Schlussfolgerungen über die Gesamtpopulation oder den gesamten Datensatz. Dieselben Schlussfolgerungen lassen sich für verschiedene Machine-Learning-Modelle mit dem T-Test ziehen, den ich in diesem Tutorial vorstelle.
Um belastbare Aussagen zu treffen, brauchen wir Annahmen. Daraus ergeben sich zwei Begriffe, die im Hypothesentesten verwendet werden.
-
Nullhypothese: Die Annahme, dass kein auffälliges Muster vorliegt beziehungsweise dass die getroffene Annahme gilt.
-
Alternativhypothese: Im Gegensatz zur Nullhypothese besagt sie, dass die Beobachtung auf einen echten Effekt zurückzuführen ist.
p-Wert
Der p-Wert lässt sich als Evidenz beziehungsweise Signifikanzniveau in Bezug auf die Nullhypothese verstehen — auch in Machine-Learning-Algorithmen. Er misst, wie stark die Prädiktoren in Richtung Zielvariable wirken.
Üblicherweise wählen wir ein Signifikanzniveau von 5 %, wobei das je nach Kontext diskutiert werden kann. Wenn du solides Vorwissen über die Daten und ihre Funktionsweise hast, kannst du das Signifikanzniveau entsprechend festlegen.
Umgekehrt gilt: Ist der p-Wert in einem Machine-Learning-Modell für eine unabhängige Variable kleiner als 0,05, wird diese Variable als relevant betrachtet. Das bedeutet, sie zeigt ein heterogenes Verhalten zum Target, das nützlich ist und von Machine-Learning-Algorithmen gelernt werden kann.
Die Schritte eines Hypothesentests sind:
-
Formuliere eine Nullhypothese. In Machine-Learning-Algorithmen gehen wir meist davon aus, dass es keinen Zusammenhang zwischen Ziel und unabhängiger Variable gibt.
-
Ziehe eine Stichprobe
-
Berechne die Teststatistik
-
Entscheide, ob die Nullhypothese verworfen oder beibehalten wird
Berechnung der Test- bzw. T-Statistik
Zur Berechnung der T-Statistik konstruieren wir ein Beispiel.
Angenommen, ein Hersteller von Schiffscontainern behauptet, jeder Container wiege genau 1.000 kg — nicht weniger, nicht mehr. Das klingt zweifelhaft, also sammeln wir Daten und ziehen eine Stichprobe.
In einer Stichprobe von 30 Containern stellen wir fest: Das durchschnittliche Gewicht beträgt 990 kg, die Standardabweichung liegt bei 12,5 kg.
Die Teststatistik berechnet sich zu:
T = (Mittelwert - Behauptung) / (Standardabweichung / Stichprobengröße^(1/2))
Nach Einsetzen der Werte ergibt sich -4,3818.
Als Nächstes bestimmen wir den t-Kritischen Wert für ein 0,05-Signifikanzniveau und die Freiheitsgrade.
Hinweis: Freiheitsgrade = Stichprobengröße - 1
Aus der T-Tabelle ergibt sich der Wert -1,699.
Im Vergleich sehen wir: Die berechnete Teststatistik ist kleiner als der kritische Wert auf dem gewählten Signifikanzniveau. Wir können die Behauptung also verwerfen.
Den t-Kritischen Wert kannst du mit der Funktion stats.t.ppf() aus der stats-Klasse der scipy-Bibliothek berechnen.
Fehlerarten
Da Hypothesentests auf Stichproben und nicht auf der gesamten Population basieren — oft aus Daten- oder Ressourcenmangel — können Fehler auftreten. Diese lassen sich in zwei Typen einteilen:
-
Fehler 1. Art (Typ-I-Fehler): Die Nullhypothese wird verworfen, obwohl sie wahr ist.
-
Fehler 2. Art (Typ-II-Fehler): Die Nullhypothese wird beibehalten, obwohl sie falsch ist.
Weitere Ansätze
Es gibt viele Wege, die Hypothese für zwei Modelle zu testen. Ein gängiger Ansatz: Wir trainieren zwei Modelle auf denselben Features — eines mit allen Merkmalen, eines mit einem Merkmal weniger. So prüfen wir die Signifikanz einzelner Features. Allerdings können Feature-Abhängigkeiten solche einfachen Methoden verzerren.
In Regressionsproblemen orientieren wir uns oft am p-Wert: Features, die das Signifikanzniveau nicht erfüllen, werden entfernt. So verbessert sich das Modell iterativ.
Für verschiedene Algorithmen gibt es unterschiedliche Verfahren, um Hypothesen für einzelne Merkmale zu testen.
Wenn du mehr über die Grundlagen bayesscher Inferenz lernen möchtest, schau dir den DataCamp-Kurs Fundamentals of Bayesian Data Analysis in R an.
Sieh dir auch unser Tutorial Machine Learning Basics an.