混合冯·米塞斯分布的分位数函数

时间:2019-02-04 12:35:28

标签: r statistics distribution quantile

我想为冯·米塞斯分布的混合物计算分位数函数。我在R中使用了 circular 软件包,该软件包支持 dmixedvonmises() pmixedvonmises()这样的模型的密度,累积概率和采样em>和 rmixedvonmises()。但是,没有qmixedvonmises()(我想要的是)。 对于单一的von Mises分布,它们都存在。 rvonmises() dvonmises() pvonmises() qvonmises()。 很难获得冯·米塞斯分布混合的分位数的函数(假设所有模型参数都是已知的)?谁能帮我了解此功能的外观? R中是否还有其他提供此功能的软件包?

1 个答案:

答案 0 :(得分:1)

即使在诸如正态分布这样的方便情况下,也没有封闭形式的表达式。但是,我们可以使用数值方法。

library(circular)
qmixedvonmises <- function(p, mu1, mu2, kappa1, kappa2, prop) {
  fun <- function(q) pmixedvonmises(q, mu1, mu2, kappa1, kappa2, prop) - p
  suppressWarnings(uniroot(fun, c(0, 2 * pi - 1e-8))$root)
}
qmixedvonmises(0.05, mu1 = circular(0), mu2 = circular(pi), kappa1 = 15, kappa2 = 15, prop = 0.5)
# [1] 0.06599235
qmixedvonmises(0.95, mu1 = circular(0), mu2 = circular(pi), kappa1 = 15, kappa2 = 15, prop = 0.5)
# [1] 6.217193

有关更多详细信息,请参见hereherehere

qmixedvonmises利用了pmixedvonmises已经可用的事实,并简单地用数字方法求解了这样的q

pmixedvonmises(q) == p