Laplace è stato il primo a riconoscere la necessità della tabulazione, presentando l'approssimazione:
G(x)=∫∞xe−t2dt=1x−12x3+1⋅34x5−1⋅3⋅58x7+1⋅3⋅5⋅716x9+⋯(1)
Il primo tavolo moderno della distribuzione normale fu in seguito costruito dall'astronomo francese Christian Kramp in Analizza le riforme astronomiche e terrestri (Par citoyen Kramp, Professeur de Chymie et of Physique expérimentale at the central center of Département de la Roer, 1799) . Da tabelle relative alla distribuzione normale: una breve storia Autore / i: Herbert A. David Fonte: The American Statistician, Vol. 59, n. 4 (novembre 2005), pagg. 309-311 :
Ambiziosamente, Kramp ha fornito tabelle otto decimali ( D) fino a D a D a e da D a insieme alle differenze necessarie per l'interpolazione. Scrivendo le prime sei derivate di usa semplicemente un'espansione della serie di Taylor di su con fino al termine inQuesto gli consente di procedere passo dopo passo da a moltiplicando per8x=1.24, 91.50, 101.99,113.00G(x),G(x+h)G(x),h=.01,h3.x=0x=h,2h,3h,…,he−x21−hx+13(2x2−1)h2−16(2x3−3x)h3.
Pertanto, a questo prodotto si riduce a
quindi ax=0.01(1−13×.0001)=.00999967,
G(.01)=.88622692−.00999967=.87622725.
⋮
Ma ... quanto potrebbe essere accurato? OK, prendiamo come esempio:2.97
Sorprendente!
Passiamo all'espressione moderna (normalizzata) del pdf gaussiano:
Il pdf di è:N(0,1)
fX(X=x)=12π−−√e−x22=12π−−√e−(x2√)2=12π−−√e−(z)2
dove . E quindi, .z=x2√x=z×2–√
Quindi andiamo su R e cerchiamo ... OK, non così in fretta. Innanzitutto dobbiamo ricordare che quando c'è una costante che moltiplica l'esponente in una funzione esponenziale , l'integrale verrà diviso per quell'esponente: . Dato che miriamo a replicare i risultati nelle vecchie tabelle, stiamo moltiplicando il valore di per , che dovrà apparire nel denominatore.PZ(Z>z=2.97)eax1/ax2–√
Inoltre, Christian Kramp non si è normalizzato, quindi dobbiamo correggere i risultati forniti da R di conseguenza, moltiplicando per . La correzione finale sarà simile a questa:2π−−√
2π−−√2–√P(X>x)=π−−√P(X>x)
Nel caso sopra, e . Ora andiamo a R:z=2.97x=z×2–√=4.200214
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.00002363235e-05
Fantastico!
Andiamo in cima al tavolo per divertimento, diciamo ...0.06
z = 0.06
(x = z * sqrt(2))
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.8262988
Cosa dice Kramp? .0.82629882
Così vicino...
Il fatto è ... quanto vicino, esattamente? Dopo aver ricevuto tutti i voti positivi, non ho potuto lasciare in sospeso la risposta effettiva. Il problema era che tutte le applicazioni di riconoscimento ottico dei caratteri (OCR) che ho provato erano incredibilmente fuori - non sorprende se hai dato un'occhiata all'originale. Così, ho imparato ad apprezzare Christian Kramp per la tenacia del suo lavoro mentre scrivevo personalmente ogni cifra nella prima colonna del suo Table Première .
Dopo un prezioso aiuto da parte di @Glen_b, ora potrebbe benissimo essere accurato, ed è pronto per essere copiato e incollato sulla console R in questo link GitHub .
Ecco un'analisi della precisione dei suoi calcoli. Preparati...
- Differenza cumulativa assoluta tra i valori [R] e l'approssimazione di Kramp:
0.000001200764 - nel corso di calcoli, è riuscito ad accumulare un errore di circa milionesimo!3011
- Errore assoluto medio (MAE) o
mean(abs(difference))
condifference = R - kramp
:
0.000000003989249 - è riuscito a fare un oltraggiosamente ridicolo errori un miliardesimo in media!3
Alla voce in cui i suoi calcoli erano più divergenti rispetto a [R], il primo diverso valore decimale era in ottava posizione (centomilionesimo). In media (mediana) il suo primo "errore" è stato nella decima cifra decimale (decima miliardesima!). E, sebbene non fosse pienamente d'accordo con [R] in nessun caso, la voce più vicina non diverge fino alla tredici voce digitale.
- Differenza relativa media o
mean(abs(R - kramp)) / mean(R)
(uguale a all.equal(R[,2], kramp[,2], tolerance = 0)
):
0.00000002380406
- Errore quadratico medio di radice (RMSE) o deviazione (dà più peso agli errori di grandi dimensioni), calcolato come
sqrt(mean(difference^2))
:
0.000000007283493
Se trovi una foto o un ritratto di Chistian Kramp, modifica questo post e inseriscilo qui.