Las tablas Z se encuentran habitualmente en Internet. Sin embargo, estoy escribiendo un programa de precisión para ello, por lo que me gustaría averiguar cómo calcular mis propios valores porcentuales.
Respuestas
¿Demasiados anuncios?Aquí tienes un código python para hacer tu propia tabla z (por si te resulta útil)
from scipy.integrate import quad
import numpy as np
import pandas as pd
def normalProbabilityDensity(x):
constant = 1.0 / np.sqrt(2*np.pi)
return(constant * np.exp((-x**2) / 2.0) )
standard_normal_table = pd.DataFrame(data = [],
index = np.round(np.arange(0, 3.5, .1),2),
columns = np.round(np.arange(0.00, .1, .01), 2))
for index in standard_normal_table.index:
for column in standard_normal_table.columns:
z = np.round(index + column, 2)
value, _ = quad(normalProbabilityDensity, np.NINF, z)
standard_normal_table.loc[index, column] = value
# Formatting to make the table look like a z-table
standard_normal_table.index = standard_normal_table.index.astype(str)
standard_normal_table.columns = [str(column).ljust(4,'0') for column in standard_normal_table.columns]
También derivé las matemáticas que explican cómo hacerlo ici .
Las tablas Z son sólo valores de la FCD $$ F(x)=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^{x} e^{-y^{2}/2}dy $$ en varios puntos $x$ . Si quiere generar una tabla Z, elija alguna $x$ puntos y evalúa esa integral (utilizando un método numérico de tu elección).
Como se menciona en los comentarios a tu pregunta, MATLAB (y otros programas numéricos) ya lo hacen por ti. Probablemente sea mejor no reinventar la rueda.
Apéndice : Como mencionó @Ian, debemos truncar la integral ya que está en un dominio no limitado. Es decir, debemos buscar calcular en su lugar
$$ F(x)\approx\frac{1}{\sqrt{2\pi}}\int_{w(x)}^{x}e^{-y^{2}/2}dy. $$ La cuestión es, pues, cómo elegir $w(x)$ ? Digamos que sólo le interesa calcular la integral hasta $\epsilon$ precisión. Por lo tanto, podría ser razonable elegir $w(x)$ tal que $$ F(w(x))=\frac{1}{2}\text{erfc}(-w(x)/\sqrt{2})\leq\epsilon. $$ Un límite bien conocido para la función erf es $$ \text{erfc}(x)\leq e^{-x^{2}}. $$ Conectando esto con lo anterior, $$ F(w(x))\leq\frac{1}{2}e^{-w(x)^{2}/2} $$ por lo que se deduce que $$ w(x)\leq-\sqrt{-2\log(2\epsilon)}. $$
Por ejemplo, si $\epsilon=10^{-6}$ , $w(x)\leq-5.1230$ (aproximadamente). Esto tiene sentido, ya que los eventos de 5 sigmas no deberían contribuir mucho en el cálculo.
Este límite es muy conservador, sin embargo, y se podría/debería idear uno más ajustado, o uno que tenga en cuenta el error relativo en lugar del absoluto (también mencionado en los comentarios).
@henry y @user104111 Voy a compartir la misma respuesta que el hilo aquí porque entiendo lo que dices. No quieres un software o una herramienta para construir una tabla, sino que necesitas la fórmula y los métodos utilizados para crear la tabla desde cero y encontrar los valores en ella.
Así que para encontrar los valores, puedes proceder con más de un método. Puede utilizar el método La regla de Simpson y aproximar cada valor individual en un tabla de puntuación z tanto para el lado negativo como para el positivo. También se puede utilizar la aproximación en serie o la integración numérica. Como añadió @whuber en el otro hilo, Mills Ratio funciona bien en las colas: véase stats.stackexchange.com/questions/7200.
Espero que esto aclare sus dudas. No dudes en preguntar si tienes alguna duda y elaboraré mi respuesta.
Disco: Estoy afiliado al sitio enlazado arriba