ttest_rel#
- scipy.stats.ttest_rel(a, b, axis=0, nan_policy='propagate', alternative='two-sided', *, keepdims=False)[Quellcode]#
Berechnet den t-Test für ZWEI VERBUNDENE Stichproben von Werten, a und b.
Dies ist ein Test für die Nullhypothese, dass zwei verbundene oder wiederholte Stichproben identische Durchschnittswerte (erwartete Werte) haben.
- Parameter:
- a, barray_like
Die Arrays müssen die gleiche Form haben.
- axisint oder None, Standard: 0
Wenn es sich um eine ganze Zahl handelt, ist dies die Achse des Eingabearrays, entlang der die Statistik berechnet wird. Die Statistik jedes Achsen-Slices (z. B. Zeile) der Eingabe erscheint dann in einem entsprechenden Element der Ausgabe. Wenn
None, wird die Eingabe vor der Berechnung der Statistik geglättet.- nan_policy{‘propagate’, ‘omit’, ‘raise’}
Definiert, wie Eingabe-NaNs behandelt werden.
propagate: Wenn ein NaN in der Achsen-Slice (z. B. Zeile) vorhanden ist, entlang der die Statistik berechnet wird, wird der entsprechende Eintrag der Ausgabe NaN sein.omit: NaNs werden bei der Berechnung weggelassen. Wenn im Achsen-Slice, entlang dem die Statistik berechnet wird, nicht genügend Daten verbleiben, wird der entsprechende Eintrag der Ausgabe NaN sein.raise: Wenn ein NaN vorhanden ist, wird einValueErrorausgelöst.
- alternative{‘zweiseitig’, ‘kleiner’, ‘größer’}, optional
Definiert die alternative Hypothese. Die folgenden Optionen sind verfügbar (Standard ist ‚two-sided‘)
„two-sided“: Die Mittelwerte der Verteilungen, die den Stichproben zugrunde liegen, sind ungleich.
„less“: Der Mittelwert der Verteilung, die der ersten Stichprobe zugrunde liegt, ist kleiner als der Mittelwert der Verteilung, die der zweiten Stichprobe zugrunde liegt.
„greater“: Der Mittelwert der Verteilung, die der ersten Stichprobe zugrunde liegt, ist größer als der Mittelwert der Verteilung, die der zweiten Stichprobe zugrunde liegt.
Hinzugefügt in Version 1.6.0.
- keepdimsbool, Standard: False
Wenn dies auf True gesetzt ist, bleiben die reduzierten Achsen im Ergebnis als Dimensionen mit der Größe eins erhalten. Mit dieser Option wird das Ergebnis korrekt gegen das Eingabearray gestreut (broadcasted).
- Rückgabe:
- Ergebnis
TtestResult Ein Objekt mit den folgenden Attributen
- Statistikfloat oder Array
Die t-Statistik.
- p-Wertfloat oder Array
Der p-Wert, der mit der angegebenen Alternative verbunden ist.
- dffloat oder Array
Die Anzahl der Freiheitsgrade, die bei der Berechnung der t-Statistik verwendet werden; dies ist eins weniger als die Größe der Stichprobe (
a.shape[axis]).Hinzugefügt in Version 1.10.0.
Das Objekt hat auch die folgende Methode
- confidence_interval(confidence_level=0.95)
Berechnet ein Konfidenzintervall um die Differenz der Populationsmittelwerte für das angegebene Konfidenzniveau. Das Konfidenzintervall wird in einem
namedtuplemit den Feldern low und high zurückgegeben.Hinzugefügt in Version 1.10.0.
- Ergebnis
Hinweise
Beispiele für die Anwendung sind die Ergebnisse desselben Satzes von Studenten in verschiedenen Prüfungen oder wiederholte Stichproben von denselben Einheiten. Der Test misst, ob der durchschnittliche Wert signifikant zwischen den Stichproben (z.B. Prüfungen) abweicht. Wenn wir einen großen p-Wert beobachten, zum Beispiel größer als 0,05 oder 0,1, dann können wir die Nullhypothese identischer Durchschnittswerte nicht verwerfen. Wenn der p-Wert kleiner als der Schwellenwert ist, z.B. 1%, 5% oder 10%, dann verwerfen wir die Nullhypothese gleicher Mittelwerte. Kleine p-Werte sind mit großen t-Statistiken verbunden.
Die t-Statistik wird berechnet als
np.mean(a - b)/se, wobeiseder Standardfehler ist. Daher wird die t-Statistik positiv sein, wenn der Stichprobenmittelwert vona - bgrößer als Null ist, und negativ, wenn der Stichprobenmittelwert vona - bkleiner als Null ist.Seit SciPy 1.9 werden
np.matrix-Eingaben (für neuen Code nicht empfohlen) vor der Berechnung innp.ndarraykonvertiert. In diesem Fall ist die Ausgabe eine Skalar- odernp.ndarraymit geeigneter Form anstelle eines 2D-np.matrix. Ebenso werden, während maskierte Elemente von Masked Arrays ignoriert werden, die Ausgabe eine Skalar- odernp.ndarrayanstelle eines Masked Arrays mitmask=Falsesein.ttest_relhat experimentelle Unterstützung für Backends, die mit dem Python Array API Standard kompatibel sind, zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
⛔
JAX
⚠️ kein JIT
⚠️ kein JIT
Dask
⚠️ berechnet Graph
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Referenzen
https://en.wikipedia.org/wiki/T-test#Dependent_t-test_for_paired_samples
Beispiele
>>> import numpy as np >>> from scipy import stats >>> rng = np.random.default_rng()
>>> rvs1 = stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng) >>> rvs2 = (stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng) ... + stats.norm.rvs(scale=0.2, size=500, random_state=rng)) >>> stats.ttest_rel(rvs1, rvs2) TtestResult(statistic=-0.4549717054410304, pvalue=0.6493274702088672, df=499) >>> rvs3 = (stats.norm.rvs(loc=8, scale=10, size=500, random_state=rng) ... + stats.norm.rvs(scale=0.2, size=500, random_state=rng)) >>> stats.ttest_rel(rvs1, rvs3) TtestResult(statistic=-5.879467544540889, pvalue=7.540777129099917e-09, df=499)