_______________________________________________________________________________________
Inhalt....: Hypothesentest
Kategorie.: Arbeitsblatt
Mathematik: Stochastik, Statistik
MuPAD.....: 3.0.0
Datum.....: 2002-01-17
Autoren...: Julia Faflek <faflek@upb.de>
Funktionen: random, _plus, stats::chisquareCDF, stats::chisquareQuantile, stats::csGOFT
_______________________________________________________________________________________
Der Chi-Quadrat-Test oder "Wie zufällig ist random"
Zufallsgeneratoren sind in vielen Anwendungen wie z.B. der Kryptographie von großem Interesse.
Der Zufall ist ein kostbares Gut, daher sollte die Qualität solcher Generatoren sorgfältig überprüft
werden.
Wir wollen hier mittels eines Hypothesentests MuPADs Zufallsgenerator random
für gleichverteilte ganze Zahlen überprüfen. Folgender Aufruf erzeugt einen Zufalls-
generator für die ganzen Zahlen von 1 bis 6:
Wuerfel := random(1..6)
![]()
Durch den Aufruf Wuerfel() wird jeweils eine dieser Zahlen zufällig ausgewählt:
Wuerfel(), Wuerfel(), Wuerfel(), Wuerfel()
![]()
Nun simulieren wir 600maliges würfeln:
Experiment := [Wuerfel() $ i = 1..600]:
Wir bestimmen die absoluten Häufigkeiten Hi (i = 1,...,6) der sechs
möglichen Zahlen in dieser Liste und schreiben diese in eine Tabelle H:
H := table():
for i from 1 to 6 do
H[i] := nops(select(Experiment, Wurf -> Wurf=i))
end_for:
H

Bei einer Gleichverteilung wären im Mittel für jede der 6 möglichen Augen-
zahlen jeweils 100 Würfe mit der jeweiligen Augenzahl zu erwarten gewesen.
In unserem Experiment betragen die absoluten Häufigkeiten jedoch nicht genau
100 für jede Augenzahl. Wir können eine Schwankung der Häufigkeiten fest-
stellen.
Die Frage ist nun, ob diese beobachteten Schwankungen im Rahmen der
'normalen' Schwankungen einer Gleichverteilung liegen oder ungewöhnlich
stark sind. Im letzteren Fall würde man die Hypothese einer Gleichverteilung
verwerfen, also den Würfel als manipuliert ansehen (bzw. dem MuPAD-
Generator random absprechen, gleichverteilte Zahlen zu erzeugen).
Wir testen die Nullhypothese H0 "pi = 1/6 für i = 1,..,6", wobei pi die
Wahrscheinlichkeit für die Augenzahl i im Einzelexperiment ist.
Als Testgröße dient die (approximativ) Chi-Quadrat-verteilte Zufalls-
variable

wobei Hi die im Experiment beobachtete Häufigkeit für i, n = 600
die Anzahl der Versuchsdurchführungen und n * pi = 600 * 1/6 = 100
die bei Gleichverteilung zu erwartenden mittleren Häufigkeiten sind.
In MuPAD können wir das folgenderweise mit Hilfe des Befehls
_plus, der die Summe berechnet, umsetzen:
chiquadrat := _plus((H[i] - 100)^2 / 100 $ i = 1..6)
![]()
Je größer dieser beobachtete Wert ist, desto stärker weicht das
Experiment vom bei Gleichverteilung im Mittel zu erwartenden
Ergebnis ab.
Wir müssen uns also fragen, ob der von uns beobachtete Wert
ungewöhnlich groß ist, oder ob er im Rahmen der zu erwartenden
Abweichungen liegt.
Um diese Frage zu beantworten, betrachten wir genauer die Chi-
Quadrat-Verteilung:
Das Einzelexperiment kann k = 6 verschiedene Ergebnisse liefern.
Die hier vorliegende Chi-Quadrat-Verteilung hat k -1 = 5 Freiheits-
grade. Die Wahrscheinlichkeit, Werte

zu beobachten, ist durch die kumulative Verteilungsfunktion (CDF)
gegeben:
stats::chisquareCDF(5)(float(chiquadrat))
![]()
Der beobachtete Wert chiquadrat ist also keineswegs unge-
wöhnlich:
Mit einer Wahrscheinlichkeit von
stats::chisquareCDF(5)(float(chiquadrat)) * 100
![]()
Prozent sind Werte bis zur beobachteten Grösse
float(chiquadrat)
![]()
zu erwarten.
Nun stellt sich die Frage: Wie groß muss der beobachtete Wert
chiquadrat werden, damit man ihn als 'ungewöhnlich' bezeichnen
und Zweifel an der Nullhypothese der Gleichverteilung haben sollte?
Dazu geben wir uns ein Niveau a = 0.01 vor und verwerfen die Hypo-
these H0, wenn die Wahrscheinlichkeit

das Niveau a unterschreitet.
Es ist also nach dem (1-a)-Quantil (hier 0.99-Quantil) der Chi-Quadrat-
Verteilung mit 5 Freiheitsgraden gefragt:
stats::chisquareQuantile(5)(0.99)
![]()
Damit darf chiquadrat Werte bis zu 15.086.. annehmen, ohne dass die
Hypothese H0 auf dem 0.01-Niveau abgelehnt werden sollte.
Der von uns beobachtete Wert
float(chiquadrat)
![]()
liegt weit unterhalb der kritischen Grenze 15.086.
Daher wird H0 nicht abgelehnt und wir gehen davon aus, dass es sich
bei dem simulierten Würfel mittels der Funktion random um einen idealen
Würfel handelt.
Abschließend sei angemerkt, dass die stats-Bibliothek den Chi-Quadrat-
Test in der Routine stats::csGoft (chi-square goodness of fit test) direkt
zur Verfügung stellt. Man benötigt dafür eine Zelleinteilung der reellen
Achse, die die möglichen Werte der Einzelexperiment umfasst.
Für unser Beispiel wählen wir die 6 Intervalle [i - 0.1, i + 0.1], von denen
jedes gena eine der 6 möglichen Zahlen i = 1, 2, ..., 6 enthält:
Zellen := [[i - 0.1, i + 0.1] $ i = 1..6]
![]()
Die kumulative Verteilungsfunktion einer Gleichverteilung auf den ganzen
Zahlen i = 1, 2, ..., 6 wird zwar nicht von MuPADs stats-Bibliothek zur Ver-
fügung gestellt, ist aber trivial zu definieren, da es sich um eine Treppen-
funktion handelt:
kumVerteilungsfkt := x -> trunc(x)/6:
plotfunc2d(XTicksDistance = 1, YTicksDistance = 0.1,
kumVerteilungsfkt(x), x = 0..7)

Hiermit kann der Chi-Quadrat-Test nun einfach durchgeführt werden.
Er vergleicht die im Experiment beobachteten Häufigkeiten in den
Zellen mit den erwarteten Häufigkeiten, falls die Daten der hypothetischen
Verteilungsfunktion kumVerteilungsfkt genügen:
stats::csGOFT(Experiment, Zellen, CDF = kumVerteilungsfkt)
![]()
Der erste Wert in der Rückgabeliste ist der schon oben berechnete Wert
chiquadrat, ebenso die zweite Zahl in der Liste, die die Wahrscheinlich-
keit für das Auftreten von Werten

darstellt.
________________________________________________________________________________
Anmerkungen:
1. Für weitere Informationen lesen Sie die Hilfeseite von stats::csGOFT (?stats::csGOFT)
2. Beachten Sie auch den Artikel "The new stats-library in MuPAD 2.5" in MathPAD Band 11,
im Internet verfügbar unter www.mupad.de/schule+studium/literatur/.
3. Weitere Anregungen finden Sie unter: http://schule.mupad.de bzw. http://studium.mupad.de
_______________________________________________________________________________