Convert Z-score (Z-value, standard score) to p-value for normal distribution in Python

后端 未结 7 1824
野趣味
野趣味 2020-12-12 18:19

How does one convert a Z-score from the Z-distribution (standard normal distribution, Gaussian distribution) to a p-value? I have yet to find the magical function in Scipy\'

7条回答
  •  轮回少年
    2020-12-12 18:42

    I like the survival function (upper tail probability) of the normal distribution a bit better, because the function name is more informative:

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

    normal distribution "norm" is one of around 90 distributions in scipy.stats

    norm.sf also calls the corresponding function in scipy.special as in gotgenes example

    small advantage of survival function, sf: numerical precision should better for quantiles close to 1 than using the cdf

提交回复
热议问题