ich hänge fest bei dem T-Test und dessen Interpretation. Folgenden Versuch habe ich in Python unternommen:
1) Erstellung einer normalverteilten Stichprobe mit der Größe 30 um den Mittelwert 40 mit einer Standardabweichung von 1% um den Mittelwert
2) Vergleich dieser Stichprobe ob der Mittelwert von dem zu erwartenden Mittelwert von 40 signifikant abweicht;
3) Testmethodik: Einstichproben-t-Test zweiseitig angewendet
3) Das Signifikanzniveau soll bei 5% liegen
Meine Hypothese:
H0: Die Differenz zwischen dem Mittelwert aus der Stichprobe und dem geschätzten Populationsmittelwert ist null
Den gesamten Versuch wiederhole ich 100 mal.
Das ist der Code:
- Code: Alles auswählen
from scipy import stats
import numpy as np
import math
dataset_size = 30
expected_mean = 40
dataset_mean = 40
iterations = 100
hypothesis_rejected_count = 0
#T Schwellen berechnen
t_low_threshold = stats.t.ppf(q=0.025, df=dataset_size-1)
t_high_threshold = stats.t.ppf(q=0.975, df=dataset_size-1)
for i in range(0, iterations):
# erzeugen von zwei normalverteilten Datensätzen mit der Größe von 'dataset_size'
dataset_1 = stats.norm.rvs(loc=dataset_mean,scale=0.01*dataset_mean,size=dataset_size)
result_t_test = stats.ttest_1samp(dataset_1,expected_mean)
# Prüfen ob Nullhypothese wahr/falsch ist
if t_low_threshold < result_t_test[0] < t_high_threshold:
pass
else:
hypothesis_rejected_count += 1
Erwartetes Ergebnis:
Der Mittelwert der Stichproben (100 Versuche) weicht nie signifikant vom geschätzten Mittelwert ab.
Ergebnis aus Code:
hypothesis_rejected_count ist >0, bei einzelnen Proben kommt es immer wieder zu einer Ablehnung der Hypothese
Wie kann dies sein?? Auch wenn die Standardabweichung wesentlich verkleinert wird und der Stichprobenumfang wesentlich erhöht wird ergbit sich ein ähnliches Resultat.
Vielen Dank für jegliche Hilfe!! =)
Euer Bücherwurm