Laplace fue el primero en reconocer la necesidad de tabulación, llegando a la aproximación:
G ( x )= ∫∞Xmi- t2ret= 1X- 12 x3+ 1 ⋅ 34 x5 5- 1 ⋅ 3 ⋅ 58 x7 7+ 1 ⋅ 3 ⋅ 5 ⋅ 716 x9 9+ ⋯(1)
La primera tabla moderna de la distribución normal fue construida posteriormente por el astrónomo francés Christian Kramp en Analyze des Réfractions Astronomiques et Terrestres (Par le citoyen Kramp, Profesor de Chymie y de Physique expérimentale à l'école centrale du Département de la Roer, 1799) . De tablas relacionadas con la distribución normal: una breve historia Autor (es): Herbert A. David Fuente: The American Statistician, vol. 59, núm. 4 (noviembre de 2005), págs. 309-311 :
Ambiciosa, Kramp dio ocho decimal ( 8 mesas D) hasta x = 1.24 , 9 9 D a 1,50 , 10 D a 1.99 , y 11 D a 3.00 , junto con las diferencias necesarias para la interpolación. Al escribir las primeras seis derivadas de G(x), simplemente usa una expansión de la serie Taylor de G(x+h) sobre G(x), con h=.01,hasta el término en h3.Esto le permite proceder paso a paso de x=0 a x=h,2h,3h,…, al multiplicar he−x2 por1−hx+13(2x2−1)h2−16(2x3−3x)h3.
Por lo tanto, enx=0este producto se reduce a
.01(1−13×.0001)=.00999967,
modo que enG(.01)=.88622692−.00999967=.87622725.
⋮
Pero ... ¿qué tan preciso podría ser? Bien, tomemos 2.97 como ejemplo:
¡Asombroso!
Pasemos a la expresión moderna (normalizada) del pdf gaussiano:
N(0,1)
fX(X=x)=12π−−√e−x22=12π−−√e−(x2√)2=12π−−√e−(z)2
z=x2√x=z×2–√
PZ(Z>z=2.97)eax1/ax2–√
2π−−√
2π−−√2–√P(X>x)=π−−√P(X>x)
z=2.97x=z×2–√=4.200214
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.00002363235e-05
¡Fantástico!
0.06
z = 0.06
(x = z * sqrt(2))
(R = sqrt(pi) * pnorm(x, lower.tail = F))
[1] 0.8262988
0.82629882
Tan cerca...
La cosa es ... ¿qué tan cerca, exactamente? Después de todos los votos recibidos, no pude dejar la respuesta real pendiente. El problema era que todas las aplicaciones de reconocimiento óptico de caracteres (OCR) que probé estaban increíblemente apagadas, lo que no es sorprendente si has echado un vistazo al original. Entonces, aprendí a apreciar a Christian Kramp por la tenacidad de su trabajo mientras escribía personalmente cada dígito en la primera columna de su Table Première .
Después de una valiosa ayuda de @Glen_b, ahora puede ser muy precisa y está lista para copiar y pegar en la consola R en este enlace de GitHub .
Aquí hay un análisis de la precisión de sus cálculos. Prepárate...
- Diferencia acumulativa absoluta entre los valores [R] y la aproximación de Kramp:
0.0000012007643011
- Error absoluto medio (MAE) , o
mean(abs(difference))
condifference = R - kramp
:
0.0000000039892493
En la entrada en la que sus cálculos eran más divergentes en comparación con [R], el primer valor decimal diferente estaba en la octava posición (centésima millonésima). En promedio (mediana) su primer "error" fue en el décimo dígito decimal (¡décimo billonésimo!). Y, aunque no estuvo totalmente de acuerdo con [R] en ningún caso, la entrada más cercana no diverge hasta la entrada digital trece.
- Diferencia relativa media o
mean(abs(R - kramp)) / mean(R)
(igual que all.equal(R[,2], kramp[,2], tolerance = 0)
):
0.00000002380406
- Error cuadrático medio de raíz (RMSE) o desviación (da más peso a errores grandes), calculado como
sqrt(mean(difference^2))
:
0.000000007283493
Si encuentra una foto o retrato de Chistian Kramp, edite esta publicación y colóquela aquí.