Квантильная функция для смешанных распределений фон Мизеса

Я хочу вычислить функцию квантили для смеси распределения фон Мизеса. Я использую пакет круговой в R, который поддерживает плотность, кумулятивную вероятность и выборку из такой модели с помощью dmixedvonmises (), pmixedvonmises () и rmixedvonmises () соответственно. Однако нет qmixedvonmises () (что я и хочу). Для одного распределения фон Мизеса все они существуют; rvonmises (), dvonmises (), pvonmises () и qvonmises (). Сложно ли получить функцию для квантилей смеси распределений фон Мизеса (при условии, что все параметры модели известны)? Может ли кто-нибудь помочь мне с тем, как будет выглядеть эта функция? Есть ли другие пакеты в R, которые предоставляют эту функцию?


person Erik    schedule 04.02.2019    source источник


Ответы (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

Подробнее см., Например, здесь, здесь и здесь.

qmixedvonmises использует тот факт, что pmixedvonmises уже доступен, и просто решает численно для таких q, что

pmixedvonmises(q) == p
person Julius Vainora    schedule 04.02.2019