使用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().此图可以帮助您可视化概念.
