Learn R Programming

crmPack (version 1.0.6)

LogisticNormalFixedMixture-class: Standard logistic model with fixed mixture of multiple bivariate (log) normal priors

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.

Arguments

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?

Details

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

$$logit[p(x)] = \alpha + \beta \cdot \log(x/x^{*})$$ where \(p(x)\) is the probability of observing a DLT for a given dose \(x\).

The prior is $$(\alpha, \beta) \sim \sum_{j=1}^{K} w_{j} Normal(\mu_{j}, \Sigma_{j})$$ if a normal prior is used and $$(\alpha, \log(\beta)) \sim \sum_{j=1}^{K} w_{j} Normal(\mu_{j}, \Sigma_{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.

Examples

Run this code

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)


Run the code above in your browser using DataLab