¿Quién creó la primera tabla normal estándar?

61

Estoy a punto de presentar la tabla normal estándar en mi clase introductoria de estadísticas, y eso me hizo preguntarme: ¿quién creó la primera tabla normal estándar? ¿Cómo lo hicieron antes de que aparecieran las computadoras? Me estremezco al pensar en alguien con fuerza bruta que calcula mil sumas de Riemann a mano.

Daniel Smolkin
fuente
55
Es bueno ver a alguien que quiere tener una enseñanza históricamente informada.
mdewey

Respuestas:

62

Laplace fue el primero en reconocer la necesidad de tabulación, llegando a la aproximación:

G(x)=xet2dt(1)=1x12x3+134x51358x7+135716x9+

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 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 hex2 por

1hx+13(2x21)h216(2x33x)h3.
Por lo tanto, enx=0este producto se reduce a
.01(113×.0001)=.00999967,
modo que enG(.01)=.88622692.00999967=.87622725.


ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pero ... ¿qué tan preciso podría ser? Bien, tomemos 2.97 como ejemplo:

ingrese la descripción de la imagen aquí

¡Asombroso!

Pasemos a la expresión moderna (normalizada) del pdf gaussiano:

N(0,1)

fX(X=x)=12πex22=12πe(x2)2=12πe(z)2

z=x2x=z×2

PZ(Z>z=2.97)eax1/ax2

2π

2π2P(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...

  1. Diferencia acumulativa absoluta entre los valores [R] y la aproximación de Kramp:

0.0000012007643011

  1. Error absoluto medio (MAE) , omean(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.

  1. Diferencia relativa media o mean(abs(R - kramp)) / mean(R)(igual que all.equal(R[,2], kramp[,2], tolerance = 0)):

0.00000002380406

  1. Error cuadrático medio de raíz (RMSE) o desviación (da más peso a errores grandes), calculado comosqrt(mean(difference^2)):

0.000000007283493


Si encuentra una foto o retrato de Chistian Kramp, edite esta publicación y colóquela aquí.

Antoni Parellada
fuente
44
Es bueno tener las dos referencias diferentes, y creo que los detalles adicionales (como la expansión explícita que Laplace dio para la cola superior) aquí son buenos.
Glen_b
1
Esto es aún mejor con la última edición, pero no puedo votar dos veces, algo excelente. Tenga en cuenta que el artículo de David explica por qué la tabla de Kramp no tenía precisión en todos los dígitos mostrados (se realizó un error muy pequeño en el primer paso), pero aún es más que suficiente para la mayoría de las aplicaciones estadísticas
Glen_b,
2
@ OlivierGrégoire Gracias por señalar mi dígito decimal mal escrito. Ahora está corregido. Crecí en una época en que el francés era imprescindible, y de ninguna manera significaba ninguna falta de respeto con mi uso peculiar del idioma (hay una referencia allí, pero no importa), que he revertido. En cuanto a "citoyen Kramp" - un intento de destacar formas históricas de introducción en el documento.
Antoni Parellada
1
Oye, lo siento, sentiste que este era un comentario contundente. Solo estaba señalando cosas, de ninguna manera estoy diciendo que faltaste el respeto a nada. Puede jugar un juego de palabras o exagerar (o incluso hacer una referencia), por supuesto. Pero como chico de habla francesa, no entendí eso (al menos eso es lo que intenté transmitir). "Le citoyen Kramp" no tuvo problema: simplemente copié y puse comillas, porque no era inglés. Lo siento si sentiste que era un comentario contundente, no lo es. También falta mi uso del inglés. ^^ ¡Tu comparación fue bien hecha!
Olivier Grégoire
1
@ P.Windridge Lo siento ... me di cuenta de que tenía un montón de hipervínculos rotos ...
Antoni Parellada
32

Según HA David [1] Laplace reconoció la necesidad de tablas de distribución normal "ya en 1783" y Kramp produjo la primera tabla normal en 1799.

0xet212

Sin embargo, Kramp no usó estas series de Laplace, ya que había una brecha en los intervalos para que pudieran aplicarse de manera útil.

xG(x+h)G

Para ser específicos, citando el par de frases relevantes:

G(x+h)G(x)h=.01h3x=0x=h,2h,3h,...hex2

1hx+13(2x21)h216(2x33x)h3.
x=0
.01(113×.0001)=.00999967,(4)
G(.01)=.88622692.00999967=.87622725109

David indica que las tablas fueron ampliamente utilizadas.

Entonces, en lugar de miles de sumas de Riemann, fueron cientos de expansiones de Taylor.


En una nota más pequeña, en un apuro (atascado con solo una calculadora y algunos valores recordados de la tabla normal) he aplicado con bastante éxito la regla de Simpson (y las reglas relacionadas para la integración numérica) para obtener una buena aproximación a otros valores; no es todo lo que tedioso para producir una tabla * abreviado a algunas figuras de precisión. [Sin embargo, producir tablas de la escala y precisión de Kramp sería una tarea bastante grande, incluso utilizando un método más inteligente, como lo hizo.]

* Por una tabla abreviada, me refiero a una en la que básicamente puedes salirte con la interpolación entre valores tabulados sin perder demasiada precisión. Si sólo quiere decir que alrededor de 3 numérica de precisión que realmente no es necesario calcular todos los que muchos valores. He utilizado efectivamente la interpolación polinómica (más precisamente, técnicas de diferencia finita aplicadas), lo que permite una tabla con menos valores que la interpolación lineal, si es un poco más de esfuerzo en el paso de interpolación, y también he hecho la interpolación con una transformación logit, que hace que la interpolación lineal sea mucho más efectiva, pero solo es útil si tienes una buena calculadora).

[1] Herbert A. David (2005),
"Tablas relacionadas con la distribución normal: una breve historia"
The American Statistician , vol. 59, núm. 4 (noviembre), págs. 309-311

[2] Kramp (1799),
Analyze des Réfractions Astronomiques et Terrestres,
Leipzig: Schwikkert

Glen_b
fuente
0

Cuestión interesante! Creo que la primera idea no surgió de la integración de fórmulas complejas; más bien, el resultado de aplicar los asintóticos en combinatoria. El método de lápiz y papel puede llevar varias semanas; No es tan difícil para Karl Gauss en comparación con el cálculo del pastel para sus predecesores. Creo que la idea de Gauss fue valiente; El cálculo fue fácil para él.

Ejemplo de crear una tabla z estándar desde cero-
1. Tome una población de n (digamos que n es 20) números y enumere todas las muestras posibles de tamaño r (digamos que r es 5) a partir de eso.
2. Calcule las medias muestrales. Obtiene medias de muestra nCr (aquí, 20c5 = 15504 medias).
3. Su media es la misma que la media de la población. Encuentre el estándar de medias de muestra.
4. Encuentre puntajes z de medias muestrales utilizando esas medias pop y stdev de medias muestrales.
5. Ordene z en orden ascendente y encuentre la probabilidad de que z esté en un rango en sus valores nCr z.
6. Comparar valores con tablas normales. Menor n es bueno para cálculos manuales. Mayor n producirá aproximaciones más cercanas de los valores normales de la tabla.

El siguiente código está en r:

n <- 20  
r <- 5  

p <- sample(1:40,n)  # Don't be misled!! Here, 'sample' is an r function  
                     used to produce n random numbers between 1 and 40.  
                     You can take any 20 numbers, possibly all different.  

c <- combn(p, r)     # all the nCr samples listed  
cmean <- array(0)  

for(i in 1:choose(n,r)) {  
    cmean[i] <- mean(c[,i])  
                }  

z <- array(0)  
for(i in 1:choose(n,r)) {  
    z[i] <- (cmean[i]-mean(c))/sd(cmean)  
                }  

ascend <- sort(z, decreasing = FALSE)  

Probabilidad de que z caiga entre 0 y el valor positivo q a continuación; comparar con una tabla conocida. Manipule q a continuación entre 0 y 3.5 para comparar.

q <- 1  
probability <- (length(ascend[ascend<q])-length(ascend[ascend<0]))/choose(n,r)   
probability   # For example, if you use n=30 and r=5, then for q=1, you  
              will get probability is 0.3413; for q=2, prob is 0.4773
Md Towhidul Islam
fuente
3
No veo cómo se puede usar el muestreo de esta manera para generar las tablas. Creo que el OP solo quería saber quién fue la primera persona
Michael Chernick, el
Gracias por tu valioso comentario Michael Chernick. 1) El OP escribe "¿Cómo lo hicieron antes de que aparecieran las computadoras? Me estremezco al pensar en alguien que fuerza bruta computando mil sumas de Riemann a mano". Traté de responder esa parte. 2) El término 'muestra' no es muestra per se, es una función r para producir una lista de números aleatorios. También podemos tomar 20 números en su lugar. Vea el enlace r de apoyo aquí stackoverflow.com/questions/17773080/…
Md Towhidul Islam