Standard logistic model with fixed mixture of multiple bivariate (log) normal priors

Share:

Description

This is standard logistic regression model with a mixture of multiple bivariate (log) normal priors on the intercept and slope parameters. The weights of the normal priors are fixed, hence no additional model parameters are introduced. This type of prior is often used to better approximate a given posterior distribution, or when the information is given in terms of a mixture.

Details

The covariate is the natural logarithm of the dose x divided by the reference dose x^{*}:

logit[p(x)] = α + β \cdot \log(x/x^{*})

where p(x) is the probability of observing a DLT for a given dose x.

The prior is

(α, β) \sim ∑_{j=1}^{K} w_{j} Normal(μ_{j}, Σ_{j})

if a normal prior is used and

(α, \log(β)) \sim ∑_{j=1}^{K} w_{j} Normal(μ_{j}, Σ_{j})

if a log normal prior is used.

The weight w_{j} of the components are fixed and sum to 1.

The (additional) slots of this class comprise two lists, containing the mean vector, the covariance and precision matrices of the two bivariate normal distributions each, the parameters of the beta prior for the first component weight, as well as the reference dose. Moreover, a slot specifies whether a log normal prior is used.

Slots

components

a list with one entry per component of the mixture. Each entry is a list with mean, cov and prec for the bivariate normal prior

weights

the weights of the components, these must be positive and sum to 1

refDose

the reference dose x^{*}

logNormal

is a log normal prior specified for each of the components?

Examples

1
2
3
4
5
6
7
8
9
model <- LogisticNormalFixedMixture(components = 
                                      list(comp1 = list(mean = c(-0.85, 1),
                                                        cov = matrix(c(1, -0.5, -0.5, 1), 
                                                                     nrow = 2)),
                                           comp2 = list(mean = c(1, 1.5),
                                                        cov = matrix(c(1.2, -0.45, -0.45, 0.6), 
                                                                     nrow = 2))),
                                    weights = c(0.3,0.7),
                                    refDose = 50)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.