Kursinhalt
Fortgeschrittene Wahrscheinlichkeitstheorie
Fortgeschrittene Wahrscheinlichkeitstheorie
Was Ist der p-Wert?
Der P-Wert ist ein Wahrscheinlichkeitswert, der in der statistischen Hypothesentestung verwendet wird. Es ist die Wahrscheinlichkeit, einen Teststatistikwert zu erhalten, der mindestens so extrem ist wie derjenige, der aus den Stichprobendaten berechnet wurde, unter der Annahme, dass die Nullhypothese wahr ist. Dank des P-Werts können wir bestimmen, ob der Wert unseres Kriteriums in den kritischen Bereich gefallen ist.
Richtlinie für Hypothesentests
Schritt 1. Wir haben Stichproben und Formulierungen der Haupt- und Alternativhypothesen. Zuerst definieren wir das Signifikanzniveau (Wahrscheinlichkeit eines Fehlers 1. Art), das uns zufriedenstellt;
Schritt 2. Wir wählen das Kriterium, nach dem wir die Hypothese testen werden. Wenn wir die Verteilung unserer Ausgangsdaten kennen, bestimmen wir, wie die Werte dieses Kriteriums verteilt werden;
Schritt 3. Wir betrachten den Wert des Kriteriums (es wird auch Teststatistik genannt) für unsere speziellen Stichproben, danach bestimmen wir den p-Wert;
Hinweis
Wenn wir die reale Verteilung des Kriteriums nicht bestimmen können, können wir die empirische verwenden. Eine der Methoden zur Konstruktion der empirischen Verteilung wird im vorletzten Kapitel dieses Abschnitts besprochen.
Schritt 4. Wir verwerfen die Hauptannahme, wenn der erhaltene p-Wert kleiner als das Signifikanzniveau ist. Wenn der p-Wert größer als das Signifikanzniveau ist - schließen wir, dass die Hauptannahme richtig ist. Wir verwerfen die Hauptannahme auch, wenn der p-Wert nur sehr wenig vom gegebenen Signifikanzniveau abweicht.
Nichtsdestotrotz wurden die entsprechenden Methoden zur Überprüfung der meisten Hypothesen bereits implementiert, sodass wir nicht alle Schritte durchführen müssen, sondern nur den p-Wert erhalten und ihn mit einem gewählten Signifikanzniveau vergleichen müssen.
Beispiel
Schauen wir uns ein Beispiel an. In Abschnitt 3 Kapitel 2 haben wir die Parameter der Population basierend auf den Stichproben geschätzt und die Annahme über die Verteilung der Population getroffen. Lassen Sie uns nun überprüfen, ob unsere Daten normal / exponentiell verteilt sind mit den gefundenen Parametern.
from scipy.stats import kstest, norm, expon import pandas as pd import numpy as np gaussian_samples = np.array(pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/gaussian_samples.csv', names=['Value'])) expon_samples = np.array(pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/expon_samples.csv', names=['Value'])) # Specify significance level alpha = 0.05 # Perform Kolmogorov-Smirnov test for normal distribution with estimated params. Main hypothesis is that distibutions are equal # By default two-tailed hypothesis is tested: the alternative hypothesis is that distributions are not equal test_statistic, p_value = kstest(gaussian_samples.flatten(), cdf=norm(loc=-0.042, scale=3.964).cdf) if p_value > alpha: print('Data follows a normal distribution') else: print('Data does not follow a normal distribution') # Perform Kolmogorov-Smirnov test for exponential distribution with estimated param test_statistic, p_value = kstest(expon_samples.flatten(), cdf=expon(scale=1/ 0.497).cdf) if p_value > alpha: print('Data follows an exponential distribution') else: print('Data does not follow an exponential distribution')
Im obigen Code haben wir:
- Notwendige Datensätze importiert und das Signifikanzniveau
alpha
festgelegt; - Das Kolmogorov-Smirnov-Kriterium verwendet, um die Hypothese über die Verteilung unserer Stichproben zu überprüfen;
- die Funktion
kstest
verwendet, um den Kriteriumswert und den p-Wert zu erhalten; - unsere Daten als erstes Argument der Funktion
kstest
und die CDF der Normal-/Exponentialverteilung mit angegebenen Parametern als zweites Argument verwendet.
- die Funktion
p_value
mitalpha
verglichen, um die Haupthypothese anzunehmen/abzulehnen.
Hinweis
Es gibt viele statistische Tests, um die Verteilung von Stichproben zu testen. Die beliebtesten sind der Shapiro-Wilk-Test (
scipy.stats.shapiro
), der Anderson-Darling-Test (scipy.stats.anderson
), der Chi-Quadrat-Anpassungstest (scipy.stats.chisquare
).
Danke für Ihr Feedback!