Learn R Programming

BAMBI (version 2.3.5)

rvmcosmix: The bivariate von Mises cosine model mixtures

Description

The bivariate von Mises cosine model mixtures

Usage

rvmcosmix(n, kappa1, kappa2, kappa3, mu1, mu2, pmix, method = "naive", ...)

dvmcosmix(x, kappa1, kappa2, kappa3, mu1, mu2, pmix, log = FALSE, ...)

Value

dvmcosmix computes the density and rvmcosmix generates random deviates from the mixture density.

Arguments

n

number of observations.

kappa1, kappa2, kappa3

vectors of concentration parameters; kappa1, kappa2 > 0 for each component.

mu1, mu2

vectors of mean parameters.

pmix

vector of mixture proportions.

method

Rejection sampling method to be used. Available choices are "naive" (default) or "vmprop". See details.

...

additional arguments to be passed to dvmcos. See details.

x

matrix of angles (in radians) where the density is to be evaluated, with each row being a single bivariate vector of angles.

log

logical. Should the log density be returned instead?

Details

All the argument vectors pmix, kappa1, kappa2, kappa3, mu1 and mu2 must be of the same length ( = component size of the mixture model), with \(j\)-th element corresponding to the \(j\)-th component of the mixture distribution.

The bivariate von Mises cosine model mixture distribution with component size K = length(pmix) has density $$g(x) = \sum p[j] * f(x; \kappa_1[j], \kappa_2[j], \kappa_3[j], \mu_1[j], \mu_2[j])$$ where the sum extends over \(j\); \(p[j]; \kappa_1[j], \kappa_2[j], \kappa_3[j]\); and \(\mu_1[j], \mu_2[j]\) respectively denote the mixing proportion, the three concentration parameters and the two mean parameter for the \(j\)-th cluster, \(j = 1, ..., K\), and \(f(. ; \kappa_1, \kappa_2, \kappa_3, \mu_1, \mu_2)\) denotes the density function of the von Mises cosine model with concentration parameters \(\kappa_1, \kappa_2, \kappa_3\) and mean parameters \(\mu_1, \mu_2\).

Examples

Run this code
kappa1 <- c(1, 2, 3)
kappa2 <- c(1, 6, 5)
kappa3 <- c(0, 1, 2)
mu1 <- c(1, 2, 5)
mu2 <- c(0, 1, 3)
pmix <- c(0.3, 0.4, 0.3)
x <- diag(2, 2)
n <- 10

# mixture densities calculated at the rows of x
dvmcosmix(x, kappa1, kappa2, kappa3, mu1, mu2, pmix)

# number of observations generated from the mixture distribution is n
rvmcosmix(n, kappa1, kappa2, kappa3, mu1, mu2, pmix)

Run the code above in your browser using DataLab