ich haeb bei einer Programmieraufgabe das Problem, dass ich die y-Achse
(rel. Summenhäufigkeit) eines Diagramms nach der Projektion einer
Gauss-Kurve skalieren muss.
D.h. man nimmt die y-Achse und denkt sich eine Gausskurve an diese Achse als
x-Achse angetragen und projiziert jeden Wert der Gesamtfläche an die
y-Achse.
Bei der Umsetzung dieser Vorgabe habe ich nun leider Schwierigkeiten.
Zur Darstellung des y-Wertes "70%" brauche ich doch eigentlich nur den
Anteil unterhalb der Normalverteilungskurve, der 70% der Gesamtfläche
entspricht - doch wie bekomme ich den?
Mit einer Tabelle geht das ja fein, aber ich brauche das ja für jeden
beliebigen Wert..?
Angenommen meine y-Achse ist 10cm lang. Was ich also suche, ist sowas wie
eine explizite Formel, die mir zu jedem Wahrscheinlichkeitswert aus ]0;1[
angibt, wieviel cm das auf der Gauss-skalierten y-Achse entspricht. Oder
mathematisch: ich habe eine normalverteilte Stichprobe der Länge 100 - gibt
es eine Formel, die mir sagt, welchem Wert aus [0;100] z.B. 85% der Fläche
der Gausskurve entsprechen?
Bin ziemlich planlos, ist alles doch schon etwas länger her...
Danke für jeden Tipp!
Gruß, Heiko.
>Hallo zusammen,
>ich haeb bei einer Programmieraufgabe das Problem, dass ich die y-Achse
>(rel. Summenhaeufigkeit) eines Diagramms nach der Projektion einer
>Gauss-Kurve skalieren muss.
Das habe ich nicht verstanden, aber moeglicherweise behindert mich
das Wissen darueber, was Du eigentlich wollen solltest.
>D.h. man nimmt die y-Achse und denkt sich eine Gausskurve an diese Achse als
>x-Achse angetragen und projiziert jeden Wert der Gesamtflaeche an die
>y-Achse.
Auch das habe ich nicht verstanden. Nehmen wir einmal an Phi(z) sei
die Verteilungsfunktion der Standardnormalverteiung, d.h wenn Z
standardnormalverteilt ist, dann ist Phi(z) = P(Z \le z).
Nehmen wir weiter an, wird koennten die Umkehrfunktion von Phi(z)
ebenfalls einfach hinschreiben. Fuer welche der beiden Funktionen
willst Du denn eine Approximation haben, fuer die Verteilungsfunktion
oder deren Umkehrfunktion?
Um in deinen Worten zu sprechen: Phi(z) ist das Integral von -\infty
bis z ueber die Dichtefunktion der Standardnormaverteilung (die Du
vermutlich Gausskurve nennst)
>Bei der Umsetzung dieser Vorgabe habe ich nun leider Schwierigkeiten.
>Zur Darstellung des y-Wertes "70%" brauche ich doch eigentlich nur den
>Anteil unterhalb der Normalverteilungskurve, der 70% der Gesamtflaeche
>entspricht - doch wie bekomme ich den?
Die Frage verwirrt mich weiter. Vermutlich suchst du das 0,7-Quantil der
Standardnormalverteilung. Dafuer gibt es mehr oder weniger gute
und aufwendige Polynomapproximationen.
>Angenommen meine y-Achse ist 10cm lang. Was ich also suche, ist sowas wie
>eine explizite Formel, die mir zu jedem Wahrscheinlichkeitswert aus ]0;1[
>angibt, wieviel cm das auf der Gauss-skalierten y-Achse entspricht. Oder
>mathematisch: ich habe eine normalverteilte Stichprobe der Laenge 100 - gibt
>es eine Formel, die mir sagt, welchem Wert aus [0;100] z.B. 85% der Flaeche
>der Gausskurve entsprechen?
Was ist eine Stichprobe der Laenge 100? Dir ist grundsaetzlich klar, dass
die Standardnormalverteilung keinen beschraenkten Traeger hat? Will sagen,
dass das oben erwaehnte Phi die reelen Zahlen auf das Einheitsintervall
abbildet und damit zur Skalierung eher ungeeignet ist? Es gibt keine
Normalverteilung auf dem Intervall [0; 100]. Alle Normalverteilungen
sind Verteilungen auf den "Intervall" ]-\infty; \infty[.
Eine geschlossene From (vulgo explizite Formel) gibt es weder fuer die
Verteilungsfunktion der Standardnormalverteilung noch fuer denern Umkehr-
funktion.
So wie die Aufgabe gestellt ist ist sie aus prinzipiellen Gruenden nicht
loesbar. Gemeint ist vermutlich etwas anderes. Ich koennte mir z.B.
vorstellen, dass die Aufgabe lautet, Quantile der empirischen Verteilung
gegen die Quantile einer Normalverteilung (nicht: Standardnormalverteilung)
mit dem Stichprobenmittelwert als Erwartungswert und der Stichproben-
varianz als Varianz zu plotten. Das ist ein bekanntes und nuetzliches
Verfahren um die Anpassung einer empirischen Verteilung an eine
Normalverteilung "mit dem Auge" zu begutachten.
Dazu brauchst Du aber nur Quantile der Standardnormalverteilung (fuer
die es aber wieder keine geschlossene Form gibt) und Du musst die
Standardisierungstransformation umkehren koennen.
Wenn ich richtig geraten habe, bin ich auch bereit, eine Quelle fuer
einfache Polynomapproximationen zu nennen (fuer einen Plot sollten
die von der Qualitaet her reichen)
Kurt Watzka
--
| Kurt Watzka
| wat...@stat.uni-muenchen.de
Wenn ich Deine Frage richtig verstanden habe, möchtest Du aus der monoton
steigenden S-Kurve der Verteilungsfunktion p(X<x)= Phi(x) einer
normalverteilten Zufallsgröße X durch andere Skalierung der y-Achse einen
linearen Graphen machen (mit x waagerecht und y=g(p) senkrecht) oder ggf
umgekehrt.
In dieser Aufgabe stecken zwei Probleme:
1. Finden der Verteilungsfunktion Phi(z) einer Standard-Normal-verteilung,
die der üblichen Tabellendarstellung entspricht (z.B. Phi(1.22) = 0.8888 =
88.88%).
2. Aufstellen der Umkehrfunktion z=Phi^-1(p) der gefundenen
Verteilungs-Funktion Phi(z); Du willst die Tabelle ja umgekehrt aufschlagen
Phi^-1(67%)=+0.44 .
Für Aufg. 1 gibt es Näherungen, die auf der Auswertung von Potenzreihen
beruhen.
(z.B. in PASCAL geschrieben, auf 4-5 Stellen genau:
FUNCTION phi(z: real):real;
VAR i,j: INTEGER; s,t: real; b: ARRAY[1..5] OF real;
BEGIN
t :=1/(1+0.231642*abs((z)));
b[1]:=0.319382; b[2]:=-0.356564; b[3]:=1.78148;
b[4]:=-1.82126; b[5]:= 1.33027;
s:=0; FOR i:=5 DOWNTO 1 DO s:=(s+ b[i])*t;
s:=s*exp(-z*z/2)/sqrt(2*pi); IF z>0 THEN s:=1-s;
phi:=s;
END; )
Für Aufg. 2 kann mann die (eindeutige) Nullstelle von Phi(z)- p = 0 unter
Benutzung eines geeigneten Startwertes (z.B z[0]=0) mit dem Newton-Verfahren
durch folgende Iteration gewinnen:
z[n+1] = z[n]-p/Phi'(z[n]) wenn man benutzt, dass
Phi'(z)= phi(z) = exp(z*z/2)/sqrt(2*pi) ist.
Je nach benutzter Programmiersprache gibt es für Phi(z) auch fest gegebene
Implementierungen (ich glaube Erf o.ä. in C??).
Gruß
Karl-Josef
Ufff, Danke für die ausführliche Info - bin erst mal erschlagen.
Das mit der Stichprobenlänge = 100 war nur ein Beispiel.
Aber vielleicht anstelle vieler verwirrender Worte eine Beispielgrafik, wie
sie aussehen sollte:
rel. Summhäufigkeit [%]
11cm ^
99,99 -| *
10cm |
|
9cm 99,5 -| *
|
8cm |
95 -| *
7cm | *
|
6cm 70 -| *
|
5cm 40 -| *
|
4cm 10 -| *
|
3cm 1 -| *
|
2cm |
0,01-| *
1cm |
1E-4-|
0cm -----------------------------------------------> Messwert
Ich habe also einfach n Messpunkte, denen per Formel ihre rel.
Summenhäufigkeit zugewiesen wird. Diese Wertepaare sollen darsgestellt
werden, dummerweise aber eben nicht mit linear oder logarithmisch skalierter
y-Achse, sondern "Gauss-skaliert".
Konkrete Fragen:
a) 100% sollen 11cm auf der y-Achse entsprechen. Wieviel cm sind dann z.B.
40%? (In meinem gepinselten Diagramm wären es 5cm.)
b) Welcher Messwert würde bei 70% liegen?
Irgendwie denke ich schon, dass ich genau ->
> 2. Aufstellen der Umkehrfunktion z=Phi^-1(p) der gefundenen
> Verteilungs-Funktion Phi(z); Du willst die Tabelle ja umgekehrt
aufschlagen
> Phi^-1(67%)=+0.44 .
>
> Für Aufg. 2 kann mann die (eindeutige) Nullstelle von Phi(z)- p = 0 unter
> Benutzung eines geeigneten Startwertes (z.B z[0]=0) mit dem
Newton-Verfahren
> durch folgende Iteration gewinnen:
>
> z[n+1] = z[n]-p/Phi'(z[n]) wenn man benutzt, dass
>
> Phi'(z)= phi(z) = exp(z*z/2)/sqrt(2*pi) ist.
> Je nach benutzter Programmiersprache gibt es für Phi(z) auch fest gegebene
> Implementierungen (ich glaube Erf o.ä. in C??).
>
.... das brauche, bin mir aber nicht sicher!? Die Phi-Näherung ist super -
woher weisst du, dass ich das in Delhpi programmiere und daher das ideal
passt?? ;-)
Vielen Dank - Heiko!
;-)
> Auch das habe ich nicht verstanden. Nehmen wir einmal an Phi(z) sei
> die Verteilungsfunktion der Standardnormalverteiung, d.h wenn Z
> standardnormalverteilt ist, dann ist Phi(z) = P(Z \le z).
>
ok.
> Nehmen wir weiter an, wird koennten die Umkehrfunktion von Phi(z)
> ebenfalls einfach hinschreiben. Fuer welche der beiden Funktionen
> willst Du denn eine Approximation haben, fuer die Verteilungsfunktion
> oder deren Umkehrfunktion?
>
Ich brauche wohl beide Richtungen.
> Um in deinen Worten zu sprechen: Phi(z) ist das Integral von -\infty
> bis z ueber die Dichtefunktion der Standardnormaverteilung (die Du
> vermutlich Gausskurve nennst)
Ist das nicht korrekt? Huiii, sorry wenn ich da mit malapropistisch
verwendeten Begriffen zusätzliche Verwirrung schaffe!
> >Bei der Umsetzung dieser Vorgabe habe ich nun leider Schwierigkeiten.
> >Zur Darstellung des y-Wertes "70%" brauche ich doch eigentlich nur den
> >Anteil unterhalb der Normalverteilungskurve, der 70% der Gesamtflaeche
> >entspricht - doch wie bekomme ich den?
>
> Die Frage verwirrt mich weiter.
... gut, ich werde mich zusammenreißen...
>
> So wie die Aufgabe gestellt ist ist sie aus prinzipiellen Gruenden nicht
> loesbar. Gemeint ist vermutlich etwas anderes. Ich koennte mir z.B.
> vorstellen, dass die Aufgabe lautet, Quantile der empirischen Verteilung
> gegen die Quantile einer Normalverteilung (nicht:
Standardnormalverteilung)
> mit dem Stichprobenmittelwert als Erwartungswert und der Stichproben-
> varianz als Varianz zu plotten. Das ist ein bekanntes und nuetzliches
> Verfahren um die Anpassung einer empirischen Verteilung an eine
> Normalverteilung "mit dem Auge" zu begutachten.
>
> Dazu brauchst Du aber nur Quantile der Standardnormalverteilung (fuer
> die es aber wieder keine geschlossene Form gibt) und Du musst die
> Standardisierungstransformation umkehren koennen.
>
> Wenn ich richtig geraten habe, bin ich auch bereit, eine Quelle fuer
> einfache Polynomapproximationen zu nennen (fuer einen Plot sollten
> die von der Qualitaet her reichen)
Kurt - Danke. Ich glaube, du meinst das, was ich sollen wollte. Wollen
sollte. Auf jeden Fall das Richtige :-)
Für die Quellenangabe der Approximation wäre ich superdankbar. In der
anderen Antwort habe ich einen Beispielgraphen gezeichnet, dann wird
hoffentlich klarer, was ich möchte.
Vielen Dank für die Ausführungen!
Gruß, Heiko!
"Heiko Baumann" <bauman...@web.de> schrieb im Newsbeitrag
news:agubn1$dl3$03$1...@news.t-online.com...
> Hallo!
[gekürzt]
> Konkrete Fragen:
> a) 100% sollen 11cm auf der y-Achse entsprechen. Wieviel cm sind dann z.B.
> 40%? (In meinem gepinselten Diagramm wären es 5cm.)
Ich würde die 50%- Linie auf halbe Höhe setzen (also h50 = 5,5cm) und für
alle p aus [1%...99%] die Höhe
hp = 5,5cm + 2cm*g(p) wählen, wobei g(p) = Phi^-1(p) sein soll. Daraus
folgt:
h40 = 5,5cm+2cm*g(0,4) = 5,5cm+2cm*(-0.253342) = 4,99 cm
> b) Welcher Messwert würde bei 70% liegen?
h70 = 5,5cm+2cm*g(0,7) = 5,5cm+2cm*(+0.524397) = 6,55 cm
weitere Werte zum Vergleich
h01 = 5,5cm+2cm*g(0,05) = 5,5cm+2cm*(-2.326347) = 0,85cm
h05 = 5,5cm+2cm*g(0,05) = 5,5cm+2cm*(-1.644852) = 2,21cm
h10 = 5,5cm+2cm*g(0,1) = 5,5cm+2cm*(-1.281550) = 2,94cm
h99,5 = 5,5cm+2cm*g(0,995) = 5,5cm+2cm*(+2.575831) = 10,65cm
> > Newton-Verfahren
> > durch folgende Iteration gewinnen:
> >
> > z[n+1] = z[n]-p/Phi'(z[n])
Da habe ich mich vertan, es muss heißen:
z[n+1] = z[n] - (Phi(z[n])-p)/Phi'(z[n]) mit Phi'(z)= phi(z) =
exp(-z*z/2)/sqrt(2*pi)
Bei Nrmalverteiltung müssen die Punkte der Wertepaare (x, g(p)) annähern auf
einer steigenden Geraden liegen. Aus diesem Diagramm kann man dann auf der
(waagerechten) 50%-Linie die Schnittstelle my ablesen und auf der 84%-Linie
(0,84.. = g(1)) die Stelle my+sigma und damit grafisch Erwartungswert my und
Streuung sigma auswerten.
Gruß Karl-Josef
P.S. Wenn Du mit der Newton-Iteration nicht zurechtkommst, melde Dich
nochmal auf kjs...@gmx.de
vielen Dank für deine Infos bzgl. meines Skalierungs-Problems! Wie du
richtig erwartet hast *g*, ist mir das von dir genannte Newtonverfahren
nicht geläufig :-(
> Ich würde die 50%- Linie auf halbe Höhe setzen (also h50 = 5,5cm) und für
> alle p aus [1%...99%] die Höhe
> hp = 5,5cm + 2cm*g(p) wählen, wobei g(p) = Phi^-1(p) sein soll.
So, dazu brauche ich also Phi^-1 (p).
Hier kommt das Newton-Verfahren ins Spiel...
> z[n+1] = z[n] - (Phi(z[n])-p)/Phi'(z[n]) mit Phi'(z)= phi(z) =
exp(-z*z/2)/sqrt(2*pi)
Also: ich kann Phi(z) mit dem Algorithmus aus deinem letzten Posting
berechnen, ok. phi(z) ist ebenfalls nach
exp(-z*z/2)/sqrt(2*pi) kein Problem.
Ich beginne meine Iteration mit z[0] = 0, beispielsweise für p=0,7.
Dann ist z[1] = 0 - Phi(0-p)/phi(z(n)), also
z[1] = Phi(-0,7)/phi(0) = 0,6065.
Damit kann ich dann nun z[2] = Wann wird abgebrochen? Ausprobieren zeigt
mir, dass sich in der Regel nach 4 Durchgängen nicht mehr viel (10^-4) tut.
Also mach ich das genau wie bei der Näherung von Phi mit 5 Durchgängen bzw.
sag while z[i] - z[i-1] > 0,000001 do.... und fertig?
Aber sonst ist das genau das, was ich brauchte - Danke.
Jetzt noch die Preisfrage: Ist das das für p=0,7 das "0,7-Quantil der
Standardnormalverteilung", von dem Kurt gesprochen hat??
Viele Grüße, Heiko!
Das Newtonverfahren (=Tangenten-Verf.) bedeutet geometrisch, bei Kenntnis
von Wert f und Steigung f' an der Stelle a lässt sich die Tangentengleichung
t(x) = f(a)+f'(a)*(x-a) aufstellen und (wenn f'(x)<>0) nach der Nullstelle x
auflösen:
t(x) = 0 = f(a)+f'(a)*(x-a)
-f(a) = f'(a)*(x-a)
-f(a)/f'(a)= x-a => x = a - f(a)/f'(a)
woraus für x=z[n+1], a=z[n] und f=Phi die Iterationsformel folgt.
> > z[n+1] = z[n] - (Phi(z[n])-p)/Phi'(z[n]) mit Phi'(z)= phi(z) =
> exp(-z*z/2)/sqrt(2*pi)
>
> Also: ich kann Phi(z) mit dem Algorithmus aus deinem letzten Posting
> berechnen, ok. phi(z) ist ebenfalls nach
>
> exp(-z*z/2)/sqrt(2*pi) kein Problem.
>
> Ich beginne meine Iteration mit z[0] = 0, beispielsweise für p=0,7.
>
> Dann ist z[1] = 0 - Phi(0-p)/phi(z(n)), also
Hier hat sich ein Fehler eingeschlichen, es muss heißen:
z[1] = 0 - (Phi(0)-p)/phi(0) = 0 - (Phi(0)-p)/exp(-0*0/2)*sqrt(2*pi)
z[1] = - (0.5-0,7)/1*sqrt(2*pi)= +0.2* 2.5066
= 0,50131952 Zur Kontrolle gebe ich die weiteren Stellen der
Iteration an:
z[2] = 0.52426190
z[3] = 0.52439700
z[4] = 0.52439700 was sich um weniger als 1e-8 gegenüber z[3] verändert
hat.
Hier eine fertige Iterations-Prozedur in PASCAL/Delphi:
FUNCTION inv_Phi(p,eps:real):real; VAR z,zn:real;
BEGIN zn:=0;
repeat
z:=zn; zn:=z-(Phi(z)-p)/exp(-z*z/2)*sqrt(2*pi);
{writeln(zn:12:8); zur Kontrolle der Iteration}
until abs(zn-z)<eps;
inv_Phi:=zn;
END;
> Jetzt noch die Preisfrage: Ist das das für p=0,7 das "0,7-Quantil der
> Standardnormalverteilung", von dem Kurt gesprochen hat??
>
Ja, z=Phi^-1(0,7) nennt man 7. Dezil oder 70. Perzentil oder 0,7-Quantil der
Standard-Normalverteilung, was bedeutet, dass 7/10 bzw. 70/100 oder ein
Anteil von 0,7 der Glockenkurven-Fläche links von dieser Abszisse
eingeschlossen wird, für die allg. NV müssen die z-Quantile natürlich noch
zu x-Quantilen transformiert werden (x = my + z*sigma).
Gruß Karl-Josef
Die Umkehrfunktion der Standardnormalverteilung gibt es doch sogar in EXCEL,
und es würde mich wundern, wenn das in anderen Standardprodukten nicht aucht
so ist. Wozu willst du denn unbedingt polynomial interpolieren?
Tschö, Markus
--
Markus Diehl und Gesa Schoeyen
Gruitener Strasse 5c
40822 Mettmann
Germany
"Heiko Baumann" <bauman...@web.de> schrieb im Newsbeitrag
news:aguc4v$2m5$00$1...@news.t-online.com...
> >
> > Das habe ich nicht verstanden, aber moeglicherweise behindert mich
> > das Wissen darueber, was Du eigentlich wollen solltest.
>
> ;-)
>
> > Auch das habe ich nicht verstanden. Nehmen wir einmal an Phi(z) sei
> > die Verteilungsfunktion der Standardnormalverteiung, d.h wenn Z
> > standardnormalverteilt ist, dann ist Phi(z) = P(Z \le z).
> >
> ok.
>
> > Nehmen wir weiter an, wird koennten die Umkehrfunktion von Phi(z)
> > ebenfalls einfach hinschreiben. Fuer welche der beiden Funktionen
> > willst Du denn eine Approximation haben, fuer die Verteilungsfunktion
> > oder deren Umkehrfunktion?
> >
> Ich brauche wohl beide Richtungen.
> (...)
Weil ich das in einem Delphi-Programm brauche und daher auf Excel nicht
zugreifen will/kann, in den Standard-Libraries ist das meines Wissens nicht
implementiert.
Du meinst ein Excel die Funktion NORMINV(p;Mittelwert;Standardabw), oder?
Trotzdem Danke! Gruß, Heiko.
>> Dazu brauchst Du aber nur Quantile der Standardnormalverteilung (fuer
>> die es aber wieder keine geschlossene Form gibt) und Du musst die
>> Standardisierungstransformation umkehren koennen.
>>
>> Wenn ich richtig geraten habe, bin ich auch bereit, eine Quelle fuer
>> einfache Polynomapproximationen zu nennen (fuer einen Plot sollten
>> die von der Qualitaet her reichen)
>Fuer die Quellenangabe der Approximation waere ich superdankbar. In der
>anderen Antwort habe ich einen Beispielgraphen gezeichnet, dann wird
>hoffentlich klarer, was ich moechte.
Einige Polynomapproximationen zur Auswahl bietet Abramowitz und Stegun,
Handbook of Mathematical Functions, 1964, wobei 26.2.23 mit Vorsicht zu
behandeln ist. 26.2.22 oder Nullstellensuche mit Hilfe von einer der
Approximationen von 26.2.16 bis 26.2.19 ist wohl die Methode der
Wahl. Die Nullstellensuche in Phi(z) - p ist besonders dann sinnvoll,
wenn das Ergebnis konsistent umkehrbar sein muss.
bin noch am Kämpfen... ein kleines Probleme ist noch übrig:
> > > hp = 5,5cm + 2cm*g(p) wählen, wobei g(p) = Phi^-1(p) sein soll.
>
weshalb die "2cm*"?
>
> >
> > Hier kommt das Newton-Verfahren ins Spiel...
Abgehakt. Funktioniert prima!
> > Jetzt noch die Preisfrage: Ist das das für p=0,7 das "0,7-Quantil der
> > Standardnormalverteilung", von dem Kurt gesprochen hat??
> >
> Ja, z=Phi^-1(0,7) nennt man 7. Dezil oder 70. Perzentil oder 0,7-Quantil
der
> Standard-Normalverteilung, was bedeutet, dass 7/10 bzw. 70/100 oder ein
> Anteil von 0,7 der Glockenkurven-Fläche links von dieser Abszisse
> eingeschlossen wird, für die allg. NV müssen die z-Quantile natürlich noch
> zu x-Quantilen transformiert werden (x = my + z*sigma).
Tja, da waren sie wieder, meine kleinen Problemchen :-))
Hier mal eine Liste von Werte mit p (in %) und die entspr. Werte für
inv_phi(p,0.001):
0.0001 -3,71909014668979
20 -0,841618555339554
40 -0,253342615096554
60 0,253342615096617
80 0,841618555339573
99.9999 8,50212454304239
Excel spuckt mir für die p-Quantile (wieder was gelernt *g*) die Werte
0,00001 -1,095002163
0,2 0,185156188
0,4 0,405109748
0,6 0,594560252
0,8 0,814513812
0,999 1,655264926
aus, was sicher die "richtigen" sind, da hier noch der Mittelwert und die
Stabw. mit eingerechnet sind. Du hast bereits die Transformation
angesprochen:
anstelle von inv_phi(z) berechne ich inv_phi(mittelwert + z*standardabw).
Dann erhalte ich für obige z die Werte
-0,000398084168685241
0,188129039449257
0,383679337525076
0,595278762737671
0,837880143701627
1,14240286212591
.. was der Sache schon recht nahe kommt. Der letzte Wert (z=0.999) ist etwas
stark abweichend - woran kann das liegen?
Das Ziel (hoffentlich!) vor Augen grüßt dich herzlich
Heiko!
Damit der Bereich zwischen 0cm und 11cm, den Du vorgeschlagen hast,
möglichst voll genutzt wird;
er gilt dann für die meisten %-Anteile von p nämlich für p aus [0,3%..99,7].
> > > Jetzt noch die Preisfrage: Ist das das für p=0,7 das "0,7-Quantil der
> > > Standardnormalverteilung", von dem Kurt gesprochen hat??
> > >
> > Ja, z=Phi^-1(0,7) nennt man 7. Dezil oder 70. Perzentil oder 0,7-Quantil
> der
> > Standard-Normalverteilung, was bedeutet, dass 7/10 bzw. 70/100 oder ein
> > Anteil von 0,7 der Glockenkurven-Fläche links von dieser Abszisse
> > eingeschlossen wird, für die allg. NV müssen die z-Quantile natürlich
noch
> > zu x-Quantilen transformiert werden (x = my + z*sigma).
>
> Tja, da waren sie wieder, meine kleinen Problemchen :-))
>
> Hier mal eine Liste von Werte mit p (in %) und die entspr. Werte für
> inv_phi(p,0.001):
>
> 0.0001 -3,71909014668979
> 20 -0,841618555339554
> 40 -0,253342615096554
> 60 0,253342615096617
> 80 0,841618555339573
> 99.9999 8,50212454304239
Die stimmen bis auf den letzten Wert ganz gut.
> Excel spuckt mir für die p-Quantile (wieder was gelernt *g*) die Werte
>
> 0,00001 -1,095002163
> 0,2 0,185156188
> 0,4 0,405109748
> 0,6 0,594560252
> 0,8 0,814513812
> 0,999 1,655264926
Wenn Du eine Excel-Tabelle anlegtst und in Spalte A die Werte links und in
Spalte B
jeweils den notwendigen Formelausdruck
=NORMINV(A..;0;1) (* 0=my; 1=sigma für die Standard-NV *)schreibst, erhältst
Du Werte, die in den ersten 5-6 Nachkommastellen mit den aus den Funktionen
Phi und inv_Phi berechneten übereinstimmen.
Die Excel-Funktion QUANTIL macht etwas anderes:
Zu einer gegebenen empirischen Datenreihe
(z.B. A3..A10) als erstes und einem p als zweites Argument berechnet es
intern Mittelwert m und Standardabweichung s und berechnet daraus nach x = m
+ s*g(p) die Lage des gesuchten p-Quantils (als x-Wert).
> aus, was sicher die "richtigen" sind, da hier noch der Mittelwert und die
> Stabw. mit eingerechnet sind. Du hast bereits die Transformation
> angesprochen:
> anstelle von inv_phi(z) berechne ich inv_phi(mittelwert + z*standardabw).
> Dann erhalte ich für obige z die Werte
>
> -0,000398084168685241
> 0,188129039449257
> 0,383679337525076
> 0,595278762737671
> 0,837880143701627
> 1,14240286212591
>
> .. was der Sache schon recht nahe kommt. Der letzte Wert (z=0.999) ist
etwas
> stark abweichend - woran kann das liegen?
Das liegt am Newton-Verfahren, das ungenau wird, wenn f'(x) der Null zu nahe
kommt:
Wenn z nach - oder + Unendlich strebt, verläuft die Funktion Phi immer
flacher, d.h. die Steigung geht nach 0 und damit wächst die Empfindlichkeit
des Terms (Phi(z)-p)/Phi'(z). Die Tangenten schneiden die x-Achse immer
flacher und das Verfahren konvergiert schlecht und wird ungenau.
Gruß Karl-Josef
Ziel war, die lineare Achse normalverteilt zu skalieren. Das geht mit
hp = 5,5cm + 2cm*g(x), wobei g(x) = Phi^-1(x)
und x transformiert wird mit x = my + z*sigma(p), p aus ]0;1[.
Lassen wir die Konstanten mal weg, das ist nur zur Streckung, also
hp = g(x)
Damit bekomme ich für die Daten
p= 1E-5 0,2 0,4 0,6 0,8 0,999
die Werte
hp=-0,000398 0,1881 0,38367 0,595278 0,8378801 1,1424028
mit my = 0,499835 und sigma = 0,373895931176043
Wie geht das jetzt in die andere Richtung???
Eigentlich hätte ich gedacht, dass phi(hp) = p, aber dem ist leider nicht
so. Sind das jetzt alles nur Unzulänglichkeiten, die sich aus den
Näherungsverfahren ergeben oder bin ich inzwischen vor lauter Ringen um
Einsicht und Respekt vor deinen Ausführungen komplett abgedreht??
Ein planloser Gruß - Heiko!
Waagerecht sollen die Werte einer NV-verteilten Variablen x aufgetragen
werden.
Senkrecht soll anstelle der linear angetragenen summierten
Wahrscheinlichkeit p(X<x) die normalverteilte Skalierung z=Phi^-1(p) benutzt
werden. Man kann dies unmittelbar machen und erhält dann statt der p-Werte
aus [0,003 .. 0,997] ein z-Intervall von [-2,75..+2,75] oder ein h-Intervall
von [0cm..11cm](nach Streckung von z auf z*2cm und anschließender
Verschiebung nach hp = z*2cm + 5,5cm.
Wenn Du die z-Werte unmittelbar auf der vertikalen Achse anträgst, dann gilt
natürlich genau
Phi(z)= p als Umkehrung von z = Phi^-1(p)
Sonst muß hp erst standardisiert werden ( z = (hp-5,5cm)/2cm) und dann gilt:
Phi(z) = Phi((hp-5.5cm)/2cm) = p
> hp = g(x)
Falsch!! g wird nie auf die x angewendet, sondern immer nur auf die x
zugeordneten p-Werte!
> Wie geht das jetzt in die andere Richtung???
> Eigentlich hätte ich gedacht, dass Phi(hp) = p, aber dem ist leider nicht
> so.
Vergleiche mit oben, es gilt Phi(z) = p = Phi((hp-5.5cm)/2cm).
Hoffentlich ist es jetzt klarer geworden.
Gruß Karl-Josef
Merci, H!