查找 beta 和正态分布之间的交集
Posted
技术标签:
【中文标题】查找 beta 和正态分布之间的交集【英文标题】:Find intersection between a beta and a normal distribution 【发布时间】:2014-06-17 05:26:54 【问题描述】:我有 2 个分布 - 1 个 beta 和 1 个正态分布,我需要找到它们的 pdf 的交集。我知道两者的参数,并且能够直观地看到交叉点,但我正在寻找 R 计算确切点的方法。有人知道如何做到这一点吗?
【问题讨论】:
【参考方案1】:使用uniroot()
。
uniroot(function(x) dbeta(x, 1, 2)-dnorm(x, 0, 1), c(0, 1))
## $root
## [1] 0.862456
##
## $f.root
## [1] 5.220165e-05
##
## $iter
## [1] 3
##
## $estim.prec
## [1] 6.103516e-05
这解决了一个方程dbeta(x, ...) == dnorm(x, ...)
w.r.t。 x
(在 inverval [0,1] 中,因为这是对 beta 分布的支持),即找到 dbeta(x, ...) - dnorm(x, ...)
的根。结果列表的 root
字段为您提供答案(或多或少准确)。
【讨论】:
感谢您的回复!这可能是一个愚蠢的问题,但我应该为 x 输入一些东西吗?我使用我的参数尝试了上面的代码,当我期待大约 0.6 的值时,我得到了 2.710505e-20 的答案。是否有可能有多个交叉点,而这只给出了第一个?2.71e020
实际上等于 0。你的参数是什么?如果您确定它在 0.6 左右,您可能希望寻找解决方案,例如在区间 [0.5,0.7] 内。顺便说一句,x
可以,它是一个变量,用于搜索解决方案。
是的,我只需要将区间从 c(0,1) 更改为 c(.2,.8) 并得到 0.58 的答案。感谢您的帮助!以上是关于查找 beta 和正态分布之间的交集的主要内容,如果未能解决你的问题,请参考以下文章