我有一个函数,一个高斯函数,我已经将它与数据文件中的数据相匹配。我现在需要集成高斯函数来给出它下面的区域。
这是我的高斯函数
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))))
答案 0 :(得分:0)
你的答案是无限积分。如果您想要两个x限制之间的数字答案,您可以在两个点评估该函数并获取差异。
您的高斯函数是在所有实数(-∞,+∞)上定义的,但实际上,您只对中间部分感兴趣,因为尾部非常接近0。你可以做的总面积的数值估计:在高斯峰的每一边的两个点上评估误差函数,并且取差值。
如果Phi(z | mu, sigma, n)
返回您可以执行的功能:
integral = Phi(z | mu, sigma, n)
area = integral(X_HIGH) - integral(X_LOW)