Scipy - 两个尾部ppf函数的az值?

5 python scipy

使用ppf函数from scipy.stat.norm,我得到一个单尾结果,例如,ppf(.95)发出1.644...而不是1.96...双尾分布应该得到.

scipy中是否有一个函数根据p值给出双尾z分数?

mir*_*ulo 10

您正在寻找的是非常简单的

In [12]: def normz(val):
   ....:     return scipy.stats.norm.ppf((1+val)/2)
   ....: 
In [13]: normz(0.95)
Out[13]: 1.959963984540054
Run Code Online (Sandbox Code Playgroud)

这是因为正态分布的对称性.95%置信区间覆盖正常曲线的95%,因此获得超过95%的值的概率小于5%(由于其形状).然后回想起正常曲线是对称的,每个尾部的面积相当于

在此输入图像描述

所以在你的情况下,每个尾部的区域是0.025.

其结果是,为了使用scipy.stats.normal.ppf()C,则必须使用对称正态分布的性质和

在此输入图像描述

以获得合适的低/高尾概率0.975与使用scipy.stats.norm.ppf().此图可以帮助您可视化概念.

在此输入图像描述