【发布时间】:2013-11-19 14:16:42
【问题描述】:
我有一个函数,一个高斯函数,我已经将它拟合到来自数据文件的数据中。我现在需要整合高斯函数来给出它下面的区域。
这是我的高斯函数
def I(theta,max_x,max_y,sigma):
return (max_y/(sigma*(math.sqrt(2*pi))))*np.exp(-((theta-max_x)**2)/(2*sigma**2))
与一般公式比较
N(x | mu, sigma, n) := (n/(sigma*sqrt(2*pi))) * exp((-(x-mu)^2)/(2*sigma^2) )
即 n = max_y , MU = max_x , x = theta
这是另一个页面上给出的内容:
如果 Phi(z) = 积分(N(x|0,1,1), -inf, z);也就是说,Phi(z) 是标准正态分布从 >- 无穷大到 z 的积分,那么根据误差函数的定义,它是真的 Phi(z) = 0.5 + 0.5 * erf(z / sqrt(2))。
同样,如果 Phi(z | mu, sigma, n) = 积分( N(x|sigma, mu, n), -inf, z);也就是说,Phi(z | mu, sigma, n) 是给定参数 mu、sigma 和 n 从负无穷向上的正态分布的积分 到z,那么根据误差函数的定义是真的
Phi(z | mu, sigma, n) = (n/2) * (1 + erf((x - mu) / (sigma * sqrt(2))))。
我不确定这有什么帮助??我只想将我的函数整合到曲线下的绘制值上。是不是说这是积分:
Phi(z | mu, sigma, n) = (n/2) * (1 + erf((x - mu) / (sigma * sqrt(2))))
【问题讨论】:
-
目前还不清楚您要的是什么。如果您想要高斯下的区域(即
|R上的积分),则为Phi(inf)。由于erf(inf) = 1),结果为(n/2) * sqrt(2) / sigma,在一维情况下为1 / (sigma sqrt(2))。要评估不定积分,您可以使用math模块中的erf实现。 -
谢谢,仍然不确定要使用的正确代码