Karl Ove Hufthammer

Utrekning av z-verdiar med Casio-lommereknarar

Casio-lommereknarane fx-9750G, fx-9850 og liknande modellar har fleire fine funksjonar sannsynsrekning innebygd, blant anna den kumulative fordelingsfunksjonen til ein standard normalfordelt variabel. Men dei har ikkje den inverse av denne funksjonen – korleis finna z-verdi gitt eit visst sannsyn. Her er eit lite, ekstremt enkelt og kjapt Casio-program for utrekning av nettopp dette.

Først eit par definisjonar, for ordens skyld. La Z vera ein standard normalfordelt variabel. Me definerer so zα til å vera det talet sånn at: P(Z > zα) = α. (zα som ein funksjon av α er altso minus den inverse funksjonen nemnt ovanfor.)

Programmet reknar ut zα på grunnlag av α. Her er programmet (linjeskift symboliserer teiknet du får fram med EXE-knappen):

?->O~P
P>.5=>1-P->O
-ln(2O->Y
√((4Y^4+100Y^3+205^Y2)÷(2Y^3+56Y2+192Y+131->Z
P>.5=>-Z->Z

La oss ta ein rask sjekk på at programmet fungerer. Kjør programmet og skriv 0.05. Me får svaret 1.644937876. Sannsynet for at ein standard normalfordelt variabel er større enn 1,645 er altso tilnærma 0,05 (5 %).

Programmet er basert på algoritme (7) i denne artikkelen:

Approximations for Hand Calculators Using Small Integer Coefficients
Stephen E. Derenzo
Mathematics of Computation, 1977, volum 31, nummer 137, side 214–222.
DOI: 10.2307/2005791

Det finst sjølvsagt betre algoritmar (som er store og tunge å implementera på ein lommereknar), men denne her er overraskande nøyaktig. Han vil alltid gje ein feil mindre enn 0,00013 for alle α-verdiar større enn 2 ∙ 10–7 (0,0000002) og mindre enn 0,9999999. Med andre ord gjev han tal som avrunda er nøyaktige til 3 desimalar, med unntak av nokre få tilfelle der tredje desimal blir 1 for stor eller for liten (eksempelvis gjev α  = 0,0075 svaret 2,433, mens rett svar er 2,432). For alle praktiske formål er dette altso ein nær perfekt algoritme!

4 kommentarar

  1. Grafen vart laga i det fantastiske statistikkprogrammet R, men eg synest å hugsa eg gjorde nokre endringar i eit bildemanipuleringsprogram etterpå. Men heile bildet kan lagast i R. Beklagar seint svar, for øvrig.

  2. Det skal sies at disse kalkulatorene allerede har ypperlig funksjon for både normal-pdf og invers-normal-pdf innebygget. Gå inn i STAT-funksjonen (statistikk), velg DIST (fordelinger), NORM (normalfordeilng) og derfra har du både sannsynlighetstetthet (Npd), kumulativ sannsynlighetstetthet (Ncd) og invers kumulativ sannsynlighetstetthet (InvN). Den siste (om du setter mu=0 og sigma=1) tilsvarer programmet ditt her.

Legg til kommentar

E-postadressa vert ikkje synleg for andre. Obligatoriske felt er merkte med *.