为什么scipy规范对于非标准化分布是不同的

时间:2017-05-10 14:49:31

标签: python scipy normal-distribution

我有一个正态分布,平均值为71,方差为20.25。这个例子来自“Heads first statistics”。

当我将正态分布标准化为均值为零时,我得到了正确的结果,但根据我对scipy和正态分布的理解,我应该得到非标准化分布的相同概率。

from scipy.stats import norm
import math

# prints 0.539337742276
print(norm(71, 20.25).sf(69))

zscore = (69-71) / math.sqrt(20.25)
print(norm(0,1).sf(zscore))
# prints 0.671639356718

1 个答案:

答案 0 :(得分:3)

请注意,norm使用均值和比例进行参数化,而不是均值和平方比例。因此,

>>> from scipy.stats import norm
>>> norm(71, pow(20.25,0.5)).sf(69)
0.6716393567181147
>>> zscore = (69-71) / pow(20.25,0.5)
>>> norm(0,1).sf(zscore)
0.6716393567181147