Verständnis T-Test
Verfasst: Fr 12. Feb 2021, 16:46
Hallo zusammen,
ich arbeite mich gerade etwas in T-Tests ein. Und habe ein kleines Problem:
Ich habe mir einen Code geschrieben, der mir zwei normalverteilte, gleich große Datensätze mit derselben Streuung erzeugt. Diese beiden Datensätze verwende ich um den T-Test zu speisen. Der T-Test soll zweiseitig durchgeführt werden.
Im Folgenden findest Du meinen geschriebenen Code. Diesen habe ich öfters durchlaufen lassen und bekomme für jeden Durchlauf einen komplett anderen P-Wert (schwankt zwischen fast 0 und 1).
Ich hätte erwartet, dass der P-Wert mit einer geringen Schwankung auf einem sehr hohen Niveau (nahe 1) liegt, da beide Datensätze um den gleichen Mittelwert gebildet wurden und gleiche Streuung haben.
Ich habe ebenfalls die Größe der Datensätze um einige Potenzen nach oben korrigiert. Die Ergebnisse bleiben ähnlich.
Wo liegt mein Denkfehler?
Vielen Dank!
ich arbeite mich gerade etwas in T-Tests ein. Und habe ein kleines Problem:
Ich habe mir einen Code geschrieben, der mir zwei normalverteilte, gleich große Datensätze mit derselben Streuung erzeugt. Diese beiden Datensätze verwende ich um den T-Test zu speisen. Der T-Test soll zweiseitig durchgeführt werden.
Im Folgenden findest Du meinen geschriebenen Code. Diesen habe ich öfters durchlaufen lassen und bekomme für jeden Durchlauf einen komplett anderen P-Wert (schwankt zwischen fast 0 und 1).
Ich hätte erwartet, dass der P-Wert mit einer geringen Schwankung auf einem sehr hohen Niveau (nahe 1) liegt, da beide Datensätze um den gleichen Mittelwert gebildet wurden und gleiche Streuung haben.
Ich habe ebenfalls die Größe der Datensätze um einige Potenzen nach oben korrigiert. Die Ergebnisse bleiben ähnlich.
Wo liegt mein Denkfehler?
- Code: Alles auswählen
from scipy import stats
list_drift = []
dataset_size = 1000
#Generierung eines Datensatzes mit 1000 Werten; normalverteilt um 5 mit Standardabweichung 0.5
dataset_1 = stats.norm.rvs(loc=5,scale=0.5,size=dataset_size)
#Generierung eines Datensatzes mit 1000 Werten; normalverteilt um 5 mit Standardabweichung 0.5
dataset_2 = stats.norm.rvs(loc=5,scale=0.5,size=dataset_size)
result_t_test = stats.ttest_ind(dataset_1,dataset_2)
print(result_t_test[1])
Vielen Dank!