在 Python 中,我们可以使用 SciPy 库中的
scipy.stats.norm
模块来计算正态分布的概率密度函数和累积分布函数。如果我们已经有了正态分布的均值和标准差,我们可以使用该模块计算出某个特定值的概率密度和累积分布。
下面是一个示例代码,演示如何使用
scipy.stats.norm
模块来计算正态分布的累积分布函数和 p 值:
from scipy.stats import norm
# 假设我们有一个均值为 0,标准差为 1 的正态分布
# 我们想要计算 x = 1 的 p 值
mu = 0
sigma = 1
x = 1
# 计算 x 的标准分数
z = (x - mu) / sigma
# 计算 z 对应的累积分布函数值
p_value = 1 - norm.cdf(z)
print(f"p 值为: {p_value}")
在上面的代码中,我们首先计算 x 的标准分数 z,然后使用 norm.cdf()
函数计算 z 对应的累积分布函数值。由于正态分布是对称的,所以我们可以使用 1 减去累积分布函数的值来计算 p 值。
注意,计算 p 值的方式取决于研究者的假设检验方向和显著性水平。在双侧假设检验中,p 值等于 z 值两侧的累积分布函数值之和。在单侧假设检验中,p 值等于 z 值一侧的累积分布函数值。