# do.mixture.sample: Internal function. sample from the mixture distribution... In optismixture: Optimal Mixture Weights in Multiple Importance Sampling

## Description

Internal function. sample from the mixture distribution q_{α}

## Usage

 1 2 do.mixture.sample(seed, b, n, J, mixture.param, alpha, fname, rpname, rqname, dpname, dqname) 

## Arguments

 seed seed for sampling b batch index for the samples n total number of samples J number of mixture components, including the defensive one mixture.param mixture.param = list(p, J, ...), where p is the dimension of the sample, and J is the number of mixture components, including the defensive one. mixture.param should be compatible with user defined functions f(n, j, mixture.param), rp(n, mixture.param), rq(n, j, mixture.param), dp(xmat, mixture.param), dq(xmat, j, mixture.param) alpha vector of mixture proportions fname name of user defined function fname(xmat, j, mixture.param). xmat is an n \times p matrix of n samples with p dimensions. fname returns a vector of function values for each row in xmat. fname is defined for j = 1, \cdots, J. j = 1, \cdots, J - 1 corresponds to different proposal mixture components, and j = J corresponds to the defensive mixture component. rpname name of user definded function rpname(n, mixture.param). It generates n random samples from target distribution pname. Parameters can be specified in mixture.param. rpname returns an n \times p matrix. rqname name of user defined function rqname(n, j, mixture.param). It generate n random samples from the j^{th} mixture component of proposal mixture distribution. rqname returns an n \times p matrix. rqname is defined for j = 1, \cdots, J - 1. dpname name of user defined function dpname(xmat, mixture.param). It returns the density of xmat from the target distribution pname as a vector of length nrow(xmat). Note that only the ratio between dpname and dqname matters. So dpname and dqname can return values of C \timesdpname and C \timesdqname respectively. dqname name of user defined function dqname(xmat, j, mixture.param). It returns the density of xmat from the proposal distribution q_j as a vector of length nrow(xmat). dqname is defined for j = 1, \cdots, J - 1. Note that only the ratio between dpname and dqname matters. So dpname and dqname can return values of C \timesdpname and C \timesdqname respectively.

## Value

a list of

x

the matrix(size n \times p) of samples from the mixture distribution q_{α}

fx

the vector of fname evaluated at sample matrix x

qx

the matrix of densities under each mixture component, i.e. qx[,j] is the density under q_j. The defensive component is the J^{th} column

px

the vector of densities under proposal distribution pname

alpha

the rounded alpha used for sampling, i.e. alpha2N(n, alpha)/n

optismixture documentation built on May 29, 2017, 1:02 p.m.