LogisticNormalMixture
is the class for standard logistic regression model
with a mixture of two bivariate normal priors on the intercept and slope parameters.
Arguments
- comp1
(
ModelParamsNormal
)
bivariate normal prior specification of the first component. SeeModelParamsNormal
for more details.- comp2
(
ModelParamsNormal
)
bivariate normal prior specification of the second component. SeeModelParamsNormal
for more details.- weightpar
(
numeric
)
the beta parameters for the weight of the first component. It must a be a named vector of length 2 with namesa
andb
and with strictly positive values.- ref_dose
(
number
)
the reference dose \(x*\) (strictly positive number).
Details
The covariate is the natural logarithm of the dose \(x\) divided by
the reference dose \(x*\), i.e.:
$$logit[p(x)] = alpha0 + alpha1 * log(x/x*),$$
where \(p(x)\) is the probability of observing a DLT for a given dose \(x\).
The prior
$$(alpha0, alpha1) ~ w * Normal(mean1, cov1) + (1 - w) * Normal(mean2, cov2).$$
The weight w for the first component is assigned a beta prior B(a, b)
.
Slots
comp1
(
ModelParamsNormal
)
bivariate normal prior specification of the first component.comp2
(
ModelParamsNormal
)
bivariate normal prior specification of the second component.weightpar
(
numeric
)
the beta parameters for the weight of the first component. It must a be a named vector of length 2 with namesa
andb
and with strictly positive values.ref_dose
(
positive_number
)
the reference dose.
Note
The weight of the two normal priors is a model parameter, hence it is a flexible mixture. This type of prior is often used with a mixture of a minimal informative and an informative component, in order to make the CRM more robust to data deviations from the informative component.
Typically, end-users will not use the .DefaultLogisticNormalMixture()
function.
Examples
my_model <- LogisticNormalMixture(
comp1 = ModelParamsNormal(
mean = c(-0.85, 1),
cov = matrix(c(1, -0.5, -0.5, 1), nrow = 2)
),
comp2 = ModelParamsNormal(
mean = c(1, 1.5),
cov = matrix(c(1.2, -0.45, -0.45, 0.6), nrow = 2)
),
weightpar = c(a = 1, b = 1),
ref_dose = 50
)