【问题标题】:Scipy - two tail ppf function for a z value?Scipy - z 值的两个尾部 ppf 函数?
【发布时间】:2023-03-03 07:19:18
【问题描述】:

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

scipy 中是否有基于 p 值给出双尾 z 分数的函数?

【问题讨论】:

    标签: python scipy


    【解决方案1】:

    你要找的很简单

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

    这是因为正态分布的对称性。 95% 的置信区间覆盖了 95% 的正态曲线,因此获得 95% 之外的值的概率小于 5%(由于其形状)。然后回想一下正态曲线是对称的,每条尾巴的面积相当于

    所以在你的情况下,每条尾巴的面积是0.025

    因此,要将scipy.stats.normal.ppf()C 一起使用,您必须使用正态分布的对称性质和

    获得合适的下/上尾概率0.975scipy.stats.norm.ppf() 一起使用。这张图可以帮助你形象化这个概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-25
      • 2016-09-16
      • 1970-01-01
      • 2022-09-19
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      相关资源
      最近更新 更多