www.mikrocontroller.net

Forum: Offtopic Verteilungsfunktion


Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

oefters benutzt und von mir doch nie verstanden, die kumulative 
Normalverteilungsfunktion. Insbesondere interessieren mich die im 
nachstehenden Code benutzten Faktoren a, woher kommen sie?
Kann man die auch noch genauer berechnen?
Und kann man k * (a1 + k * (-0.356563782 + k * (1.781477937 + k * 
(-1.821255978 + k * 1.330274429)))) eventuell vereinfachen?

Bitte nicht all zu mathematisch, sollte auch für Hauptschulabsolventen 
wie mich verständlich sein.

MbD, Iwan


/* The cummulative Normal distribution function: */

function CND(x){

var a1, a2, a3, a4 ,a5, k ;

a1 = 0.31938153, a2 =-0.356563782, a3 = 1.781477937, a4= -1.821255978 , a5= 1.330274429;

if(x<0.0)
return 1-CND(-x);
else
k = 1.0 / (1.0 + 0.2316419 * x);
return 1.0 - Math.exp(-x * x / 2.0)/ Math.sqrt(2*Math.PI) * k
* (a1 + k * (-0.356563782 + k * (1.781477937 + k * (-1.821255978 + k * 1.330274429)))) ;
}

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Normalverteilungsfunktion ist nicht als geschlossener Term darstell-
bar, deswegen arbeitet man mit Näherungen wir der von dir gezeigten
Funktion. Die Koeffizienten in dieser Näherungsfunktion sind eben so
angepasst, dass der Fehler (nach irgendwelchen Kriterien) möglichst
gering wird.

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, dann muß ich das wohl so hinnehmen. Danke jedenfalls.
Mich wundert nur, daß man Ausdrücke der folgenden Form nicht irgendwie 
vereinfachen kann: k * (1.781477937 + k * (-1.821255978 + k * 
1.330274429)))

Autor: Unbekannt Unbekannt (unbekannter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso, kann man doch...

Ob das aber zur numerischen Berechnung sinnvoll ist, darfst Du selbst 
darüber nachdenken!

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://mathworld.wolfram.com/NormalDistributionFunction.html
liefert noch einige weitere Näherungen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.