valor tabla sirve que puntuacion puntaje para estandar estadistica ejercicios ejemplos como calcular calculadora python statistics scipy

python - tabla - que es puntuacion zy para que sirve



Convertir puntaje Z(valor Z, puntaje estándar) en valor p para distribución normal en Python (4)

¿Cómo se convierte un Z-score de la distribución Z (distribución normal estándar, distribución Gaussiana) a un valor p ? Todavía tengo que encontrar la función mágica en el módulo de stats de Scipy para hacer esto, pero uno debe estar allí.


Aha! Lo encontré: scipy.special.ndtr ! Esto también parece estar bajo scipy.stats.stats.zprob también (que es solo un puntero a ndtr ).

Específicamente, dado un ejemplo unidimensional numpy.array z_scores , uno puede obtener los p-values ​​como

p_values = 1 - scipy.special.ndtr(z_scores)

o alternativamente

p_values = scipy.special.ndtr(-z_scores)


Creo que la función de distribución acumulativa (cdf) es preferible a la función de sobreviviente. La función de sobreviviente se define como 1-cdf, y puede comunicar incorrectamente las suposiciones que el modelo de lenguaje usa para los percentiles direccionales. Además, la función de punto porcentual (ppf) es la inversa de la cdf, que es muy conveniente.

>>> import scipy.stats as st >>> st.norm.ppf(.95) 1.6448536269514722 >>> st.norm.cdf(1.64) 0.94949741652589625


Me gusta un poco mejor la función de supervivencia (probabilidad de cola superior) de la distribución normal, porque el nombre de la función es más informativo:

p_values = scipy.stats.norm.sf(abs(z_scores)) #one-sided p_values = scipy.stats.norm.sf(abs(z_scores))*2 #twosided

La "norma" de distribución normal es una de alrededor de 90 distribuciones en scipy.stats

norm.sf también llama a la función correspondiente en scipy.special como en el ejemplo de gotgenes

pequeña ventaja de la función de supervivencia, sf: la precisión numérica debería ser mejor para los cuantiles cercanos a 1 que el uso del cdf


De la fórmula:

import numpy as np import scipy.special as scsp def z2p(z): """From z-score return p-value.""" return 0.5 * (1 + scsp.erf(z / np.sqrt(2)))