该方法norm.ppf()
采用百分比并返回该百分比出现的值的标准偏差乘数。
它相当于密度图上的“单尾检验”。
来自 scipy.stats.norm:
ppf(q, loc=0, scale=1) 百分比点函数(cdf 的倒数 - 百分位数)。
标准正态分布
编码:
norm.ppf(0.95, loc=0, scale=1)
返回标准正态分布的单尾检验的95% 显着性区间(即均值为 0 且标准差为 1 的正态分布的特殊情况)。
我们的例子
为了计算 95% 显着性区间所在的 OP 提供的示例的值(对于单尾检验),我们将使用:
norm.ppf(0.95, loc=172.7815, scale=4.1532)
这将返回一个值(用作“标准偏差乘数”),如果我们的数据是正态分布,则该值将包含 95% 的数据点。
为了得到准确的数字,我们将norm.ppf()
输出乘以我们所讨论分布的标准偏差。
双尾测试
如果我们需要计算“双尾检验”(即我们关心大于和小于平均值的值),那么我们需要拆分显着性(即我们的 alpha 值),因为我们仍在使用计算方法为一尾。分成两半象征着两个尾部的显着性水平。95% 的显着性水平具有 5% 的 alpha;将 5% 的 alpha 分成两条尾巴会得到 2.5%。从 100% 中取 2.5% 返回 97.5% 作为显着性水平的输入。
因此,如果我们关注均值两侧的值,我们的代码将输入 .975 来表示双尾的 95% 显着性水平:
norm.ppf(0.975, loc=172.7815, scale=4.1532)
误差范围
误差幅度是在使用样本统计量估计总体参数时使用的显着性水平。我们希望使用双尾输入来生成 95% 的置信区间,norm.ppf()
因为我们关心的是大于和小于平均值的值:
ppf = norm.ppf(0.975, loc=172.7815, scale=4.1532)
接下来,我们将 ppf 乘以我们的标准差以返回间隔值:
interval_value = std * ppf
最后,我们通过从平均值中添加和减去区间值来标记置信区间:
lower_95 = mean - interval_value
upper_95 = mean + interval_value
用垂直线绘制:
_ = plt.axvline(lower_95, color='r', linestyle=':')
_ = plt.axvline(upper_95, color='r', linestyle=':')