gpt4 book ai didi

python - python中计算高斯分布错误

转载 作者:行者123 更新时间:2023-12-01 05:15:13 25 4
gpt4 key购买 nike

我对 python 还很陌生,现在我正在使用 python 做一个计算高斯分布的练习。

在示例中,均值是 100,标准差是 10,那么我需要计算 90 和 110 的 pdf。

我的代码就像

def gaussian_distribution(x , mean, dev):
k = 1.0/ (dev * math.sqrt(2*math.pi))
s = -1.0/ ( 2* dev*dev )
return k * math.exp( (x-mean)*(x-mean) * s )

print gaussian_distribution( 110, 100, 10), gaussian_distribution( 90, 100, 10)

但值都是 0.0241970724519,这是错误的,与 o nline calculator 的答案 0.84 和 0.1 不同.

我不知道 python 中的函数出了什么问题

最佳答案

您的pdf是正确的,而您的在线计算器为您提供了cdf,即累积分布函数。

根据定义,后者是 pdf 从负无穷大到参数的积分,因此:

>>> from scipy.integrate import quad
>>> quad(gaussian_distribution, -np.inf, 110, args=(100., 10.))
(0.841344746068544, 1.1360408153147754e-08)

除非这是一个 self 造成的学习练习,否则只需使用scipy.stats:

>>> from scipy.stats import norm
>>> norm.pdf(110, loc=100., scale=10.)
0.024197072451914336
>>> norm.cdf(110, loc=100., scale=10.)
0.84134474606854293

关于python - python中计算高斯分布错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23367093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com