14 votos

Cálculo del percentil de la distribución normal

Véase esta página de Wikipedia: Intervalo de confianza de la proporción binomial .

Para obtener el intervalo de Agresti-Coull, hay que calcular un percentil de la distribución normal, llamado $z$ . ¿Cómo se calcula el percentil? ¿Existe una función ya hecha que haga esto en Wolfram Mathematica y/o Python/NumPy/SciPy?

1 votos

Lamentablemente, la expresión integral de la "fdc normal que obtuve exactamente de Wiki" está desfasada por un factor de $1/\sqrt{\pi}$ . No se conoce ninguna fórmula exacta para la CDF normal o su inversa utilizando un número finito de términos que impliquen funciones estándar ( $\exp, \log, \sin \cos$ etc) pero tanto la fdc normal como su inversa se han estudiado mucho y las fórmulas aproximadas para ambas están programadas en muchas calculadoras, hojas de cálculo, por no hablar de paquetes estadísticos. No estoy familiarizado con R, pero me sorprendería que no tuviera ya incorporado lo que estás buscando.

0 votos

@DilipSarwate, ¡ya está arreglado! Estoy haciendo esto usando tranformación inversa, también "no se permite" utilizar demasiado construido en. Es por el bien de aprendizaje supongo.

1 votos

@Dilip: No sólo no se conoce la fórmula exacta, mejor aún, es conocido que tal fórmula no puede existir.

22voto

Omar Kooheji Puntos 384

Página de John Cook, Distribuciones en Scipy es una buena referencia para este tipo de cosas:

In [15]: import scipy.stats

In [16]: scipy.stats.norm.ppf(0.975)
Out[16]: 1.959963984540054

4voto

Scott Cowan Puntos 1564

Bueno, no has preguntado por R, pero en R lo haces usando ?qnorm

(En realidad es el cuantil, no el percentil, o eso creo)

> qnorm(.5)
[1] 0
> qnorm(.95)
[1] 1.644854

1 votos

Cuantil vs. percentil (es una mera cuestión de terminología), j.mp/dsYz9z .

1 votos

Ya que estamos, en R los IC ajustados por Wald (p. ej. Agresti-Coull) están disponibles en la función PropCIs paquete. El método de Wilson es el predeterminado en Hmisc::binconf (como sugieren Agresti y Coull).

4voto

DavLink Puntos 101

En Python, se puede utilizar la función estadísticas del módulo scipy (busque cdf() , como en lo siguiente ejemplo ).

(Parece que el transcendental también incluye las distribuciones acumulativas habituales).

3voto

Markus Dulghier Puntos 1227

Para Mathematica $VersionNumber > 5 puede utilizar

Quantile[NormalDistribution[, ], 100 q]

para el q -percentil.

De lo contrario, tendrá que cargar primero el paquete de estadísticas correspondiente.

0 votos

(Tengo la versión 7.) No tengo ningún problema para cargar el paquete Estadísticas. Pero, ¿cómo se llama la función que hay ahí? Porque me da la impresión de que Quantile hará el cálculo manualmente en lugar de utilizar una fórmula.

0 votos

Evalúelo con parámetros simbólicos (es decir, no asigne valores a mu , sigma y q ); debería obtener una expresión que incluya la función de error inversa.

1voto

Jordy Boom Puntos 256

Puede utilizar el función erf inversa que está disponible en MatLab y Mathematica, por ejemplo.

Para la FCD normal, a partir de

$$y=\Phi\left(x\right)=\frac{1}{2}\left[1+\text{erf}\left(\frac{x}{\sqrt{2}}\right)\right]$$

Obtenemos

$$x=\sqrt{2}\ \text{erf}^{-1}\left(2y-1\right)$$

Para la FCD logarítmica normal, a partir de

$$y=F_{x}(x;\mu,\sigma)=\frac{1}{2}\text{erfc}\left(\frac{-\log x-\mu}{\sigma\sqrt{2}}\right)$$

Obtenemos

$$-\log \left(x\right)=\mu+\sigma\sqrt{2}\ \text{erfc}^{-1}\left(2y\right)$$

2 votos

¿no es esto más un comentario que una respuesta?

0 votos

Mi idea era que si tienes inversas para las funciones erf y erfc, entonces el problema está resuelto. MatLab, por ejemplo, tiene tales funciones preprogramadas.

0 votos

@Jean-VictorCôté Por favor, desarrolle sus ideas en su respuesta. De lo contrario, parece simplemente un comentario, como se sugiere más arriba.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X