Comment convertir un score Z de la distribution Z (distribution normale standard, distribution gaussienne) en p - valeur ? Je n'ai pas encore trouvé la fonction magique dans module stats
de Scipy pour ce faire, mais il faut y être.
J'aime un peu mieux la fonction de survie (probabilité de queue supérieure) de la distribution normale, car le nom de la fonction est plus informatif:
p_values = scipy.stats.norm.sf(abs(z_scores)) #one-sided
p_values = scipy.stats.norm.sf(abs(z_scores))*2 #twosided
la distribution normale "norm" est l'une des 90 distributions dans scipy.stats
norm.sf appelle également la fonction correspondante dans scipy.special comme dans l'exemple gotgenes
petit avantage de la fonction de survie, sf: la précision numérique devrait être meilleure pour des quantiles proches de 1 que l'utilisation du cdf
Je pense que la fonction de distribution cumulative (cdf) est préférée à la fonction de survivant. La fonction de survivant est définie comme 1-cdf et peut communiquer de manière incorrecte les hypothèses que le modèle de langage utilise pour les centiles directionnels. De plus, la fonction de point de pourcentage (ppf) est l'inverse du cdf, ce qui est très pratique.
>>> import scipy.stats as st
>>> st.norm.ppf(.95)
1.6448536269514722
>>> st.norm.cdf(1.64)
0.94949741652589625
Ah! Je l'ai trouvé: scipy.special.ndtr
! Cela semble également être sous scipy.stats.stats.zprob
(Qui n'est qu'un pointeur vers ndtr
).
Plus précisément, étant donné une instance unidimensionnelle de numpy.array
z_scores
, On peut obtenir les valeurs p comme
p_values = 1 - scipy.special.ndtr(z_scores)
ou bien
p_values = scipy.special.ndtr(-z_scores)
De la formule:
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)))
p_value = scipy.stats.norm.pdf(abs(z_score_max)) #one-sided test
p_value = scipy.stats.norm.pdf(abs(z_score_max))*2 # two - sided test
La fonction de densité de probabilité (pdf) dans python produit des valeurs p-values qui sont tirées d'un tableau de z-score dans un livre de statistiques intro/AP.