________________________________________________________________________________
Inhalt....: Hypothesentest, linksseitig, allgemein, erweitert
Kategorie.: Unterrichtsmaterial
Mathematik: Stochastik
MuPAD.....: 3.1.0
Datum.....: 2005-04-04
Autoren...: Achim Burgermeister <a.burgermeister@web.de>
Funktionen: proc, while, binomial, print, Unquoted, _plus
Funktionen: stats::binomialPF, stats::binomialCDF, plot::Bars2d
________________________________________________________________________________
Bestimmung der Parameter alpha, beta oder der Grenzen des Annahmebereichs bzw. Ablehnungsbereichs
aus der Binomialverteilung
Hypothesentest:
Signifikanzniveau (alpha), Ablehnungbereich (0..Zahl), oder Annahmebereich (Zahl..N) nennt
man linksseitigen Test.
Die Wahrscheinlichkeit die richtige Nullhypothese abzulehnen bezeichnet man mit
Fehler 1.Art= alpha.
Einseitiger linksseitiger Signifikanztest
linksseitig heißt, dass der Ablehnungsbereich links ist.

--------------------------------------------------------------------------
1. Fall: Signifikanzniveau ist gegeben,
Grenze ist gesucht
Eingabe:
n=Gesamtzahl in der Stichprobe
p= Wahrscheinlichkeit
alpha=Signifikanzniveau
n:=100:p:=0.5:alpha:=0.05:
print(Unquoted,"n= ".expr2text(n).
", p=".expr2text(p).
", alpha=".expr2text(alpha))
n= 100, p=0.5, alpha=0.05
Die Verteilungsfunktion:
B3:=stats::binomialCDF(n,p):float(B3(x))$x=0..n:
Zeichnen der Binomialverteilung:
B:= (n, p, k) -> binomial(n,k) * p^k * (1-p)^(n-k):
plot(plot::Bars2d([float(B(n,p,k)) $ k=0..n],BarStyle=Lines))

Prozedur, die bei Aufruf mit Alpha die Grenze des Ablehnungsbereich liefert:
Loesung:=proc(a)
begin
i:=0:
while (B3(i)<=a)
do i:=i+1;
end_while;
return(i-1);
end_proc:
Grenze:=Loesung(alpha):
a:=float(B3(Loesung(alpha))):
b:=100*float(B3(Loesung(alpha))):
print(Unquoted,
"Grenze des Ablehnungsbereichs= ".expr2text(Grenze).
"\nSignifikanzniveau alpha mit: ".expr2text(a).
" oder ".expr2text(b)."%".
"\nAblehnungsbereich: 0 - ".expr2text(Grenze).
", Annahmebereich: ".expr2text(Grenze+1)." - ".expr2text(n));
Grenze des Ablehnungsbereichs= 41
Signifikanzniveau alpha mit: 0.044313 oder 4.4313%
Ablehnungsbereich: 0 - 41, Annahmebereich: 42 - 100
Zeichnen des Hypothesentests mit Annahme- und Ablehnungsbereich
GrenzeP:= plot::Line2d([Grenze+0.5,0],[Grenze+0.5,float(B(n,p,Grenze+1))],
LineColor=RGB::Red,
LineWidth=0.7,
LineStyle=Solid):
plot(GrenzeP,plot::Bars2d([float(B(n,p,k)) $ k=0..Grenze],
BarStyle=Boxes,
Color=RGB::Red,
FillPatterns=XCrossedLines),
plot::Bars2d([0 $ Grenze+1,float(B(n,p,k)) $ k=Grenze+1..n],
BarStyle=Boxes,
Color=RGB::Blue,
FillPatterns=DiagonalLines),GridVisible=TRUE); //Lines

Berechnung des Fehlers 2. Art:
Dazu muss die Wahrscheinlichkeit für die Gegenhypothese bekannt sein
p1:=0.4:
print(Unquoted,"n= ".expr2text(n).
", p=".expr2text(p).
", p1=".expr2text(p1))
n= 100, p=0.5, p1=0.4
B1:= (n, p1, k) -> binomial(n,k) * p1^k * (1-p1)^(n-k):
Hinweis1:="blau für p=".expr2text(p):
Hinweis2:="rot für p=".expr2text(p1):
plot(plot::Bars2d([float(B(n,p,k)) $ k=0..n],BarStyle=Lines,
Legend=Hinweis1),
plot::Bars2d([float(B1(n,p1,k)) $ k=0..n],BarStyle=Lines,
Color=RGB::Red, Legend=Hinweis2))

Verteilungsfunktion für p1
DIGITS:=7:B4:=stats::binomialCDF(n,p1):
print(Unquoted,"n= ".expr2text(n).
", p1=".expr2text(p1).
"\nAnnahmebereich: ".expr2text(Grenze+1)." - ".n.
" => beta=".expr2text(1-float(B4(Grenze))))
n= 100, p1=0.4
Annahmebereich: 42 - 100 => beta=0.3774673
--------------------------------------------------------------------------
2. Fall: Grenze ist gegeben,
Signifikanzniveau ist gesucht
Eingabe:
n= Anzahl der Stichprobe
p= Wahrscheinlichkeit
Grenze= Grenze des Ablehnungsbereichs
n:=100:p:=0.3:Grenze:=22:
hold(n) = n, hold(p) = p, `Grenze des Ablehnungsbereichs`= Grenze
![]()
Berechnen der Verteilungsfunktion
B3:=stats::binomialCDF(n,p):
`Alpha für Ablehnungsbereich = `
.expr2text(float(B3(Grenze)))." = "
.expr2text(float(B3(Grenze))*100)."%";
Ablehnungsbereich = [0 .. Grenze],
Annahmebereich = [Grenze+1 ..n]
![]()
![]()
Zeichnen der Binomialverteilung einschließlich der Grenzlinie
B:= (n, p, k) -> binomial(n,k) * p^k * (1-p)^(n-k):
GrenzeP:= plot::Line2d([Grenze+0.5,0],[Grenze+0.5,float(B(n,p,Grenze)*2)],
LineColor=RGB::Red,
LineWidth=0.7,
LineStyle=Solid):
plot(GrenzeP,plot::Bars2d([float(B(n,p,k)) $ k=0..Grenze],
BarStyle=Boxes,
Color=RGB::Red,
FillPatterns=XCrossedLines),
plot::Bars2d([0 $ Grenze+1,float(B(n,p,k)) $ k=Grenze+1..n],
BarStyle=Boxes,
Color=RGB::Blue,
FillPatterns=DiagonalLines,
GridVisible=TRUE)); //Lines

Berechnung des Fehlers 2. Art:
Dazu muss die Wahrscheinlichkeit für die Gegenhypothese bekannt sein
p1:=1/3:
hold(n)= n, hold(p) = p, hold(p1) = p1
![]()
B1:= (n, p1, k) -> binomial(n,k) * p1^k * (1-p1)^(n-k):
Hinweis1:="blau für p=".expr2text(p):
Hinweis2:="rot für p=".expr2text(p1):
plot(plot::Bars2d([float(B(n,p,k)) $ k=0..n],BarStyle=Lines,
Legend=Hinweis1),
plot::Bars2d([float(B1(n,p1,k)) $ k=0..n],BarStyle=Lines,
Color=RGB::Red, Legend=Hinweis2)):

Verteilungsfunktion für p1
DIGITS:=7:
B4:=stats::binomialCDF(n,p1):
hold(n) = n, hold(p1) = p1,
`Annahmebereich = [`.expr2text(Grenze+1)."-".expr2text(n)."]" ==>
hold(beta) = 1-float(B4(Grenze))
![]()
________________________________________________________________________________
Anmerkungen:
1. Weitere Anregungen zum Einsatz von MuPAD in der Lehre finden Sie auf unserem WebPortal
MuPAD in Schule und Studium unter: http://schule.mupad.de bzw. http://studium.mupad.de.
________________________________________________________________________________