【发布时间】:2014-06-17 05:26:54
【问题描述】:
我有 2 个分布 - 1 个 beta 和 1 个正态分布,我需要找到它们的 pdf 的交集。我知道两者的参数,并且能够直观地看到交叉点,但我正在寻找 R 计算确切点的方法。有人知道如何做到这一点吗?
【问题讨论】:
标签: r distribution normal-distribution beta-distribution
我有 2 个分布 - 1 个 beta 和 1 个正态分布,我需要找到它们的 pdf 的交集。我知道两者的参数,并且能够直观地看到交叉点,但我正在寻找 R 计算确切点的方法。有人知道如何做到这一点吗?
【问题讨论】:
标签: r distribution normal-distribution beta-distribution
使用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 字段为您提供答案(或多或少准确)。
【讨论】:
2.71e020 实际上等于 0。你的参数是什么?如果您确定它在 0.6 左右,您可能希望寻找解决方案,例如在区间 [0.5,0.7] 内。顺便说一句,x 可以,它是一个变量,用于搜索解决方案。