计算两条曲线(正态分布)之间的面积
我需要计算两条曲线之间的面积。因为我有很多数据,所以我想用程序来处理。
简单来说,我总是有两个正态分布,这些分布是根据一个平均值和标准差计算出来的。接下来,我想知道这两个分布之间有多少部分是重叠的。这里有一个例子,可以帮助你理解我的意思,还有一些我不太懂的R语言代码。
在matplotlib
、scipy
或者其他模块里,有没有现成的函数可以帮我完成这个计算?如果我需要自己实现的话,我觉得我应该这样做:
- 找出交点(最多会有两个交点)
- 看看在交点之前、交点之间和交点之后,哪条函数的值更低
- 计算较低的那条函数的积分,然后把所有的结果加起来
这样做对吗?我该如何一步步进行?有没有什么函数、模块等可以帮助我?
1 个回答
3
我也不太懂R语言,不过你提供的链接里好像有答案:只需要对你的分布的最小值进行积分就可以了。你不需要找交点,只要把 min(f(x), g(x))
这个表达式放进 scipy.integrate.quad
里就行。