Define relationship between parameters and covariates
CovariateModel
defines the relationship between
estimated parameters and covariates.
Tip
Use a CovariateModel
object as an input argument
to sbiofitmixed
to fit a model
with covariate dependencies. Before using the CovariateModel
object,
set the FixedEffectValues
property
to specify the initial estimates for the fixed effects.
creates
an empty CovModelObj
= CovariateModelCovariateModel
object.
creates a CovModelObj
= CovariateModel(Expression
)CovariateModel
object with its
Expression
property set to Expression
,
a character vector, string, string vector, or cell array of character vectors, where
each character vector or string represents the relationship between a parameter being
estimated and one or more covariates. Expression
must denote
fixed effects with the prefix theta
, and random effects with the
prefix eta
. Each character vector or string in
Expression
must be in the form:
parameterName = relationship |
This example of an expression defines the relationship between
a parameter (volume
) and a covariate (weight
),
with fixed effects, but no random effects:
|
If a model component name or covariate name is not a valid
MATLAB® variable name, surround it by square brackets when referring to it in the
expression. For example, if the name of a species is DNA
polymerase+, write [DNA polymerase+]
. If a covariate name
itself contains square brackets, you cannot use it in the expression.
This table illustrates expression formats for some common parameter-covariate relationships.
Parameter-Covariate Relationship | Expression Format |
---|---|
Linear with random effect | Cl = theta1 + theta2*WEIGHT + eta1 |
Exponential without random effect | Cl = exp(theta_Cl + theta_Cl_WT*WEIGHT) |
Exponential, WEIGHT centered by mean, has random effect | Cl = exp(theta1 + theta2*(WEIGHT - mean(WEIGHT)) +
eta1) |
Exponential, log(WEIGHT), which is equivalent to power model | Cl = exp(theta1 + theta2*log(WEIGHT) + eta1) |
Exponential, dependent on WEIGHT and AGE, has random effect | Cl = exp(theta1 + theta2*WEIGHT + theta3*AGE + eta1) |
Inverse of probit, dependent on WEIGHT and AGE, has random effect | Cl = probitinv(theta1 + theta2*WEIGHT + theta3*AGE
+ eta1) |
Inverse of logit, dependent on WEIGHT and AGE, has random effect | Cl = logitinv(theta1 + theta2*WEIGHT + theta3*AGE
+ eta1) |
Tip
To simultaneously fit data from multiple dose levels, use a CovariateModel
object
as an input argument to sbiofitmixed
,
and omit the random effect (eta
) from the Expression
property
in the CovariateModel
object.
constructDefaultFixedEffectValues (covmodel) | Create initial estimate vector needed for fit |
verify (covmodel) | Check covariate model for errors |
CovariateLabels (CovariateModel) | Labels for covariates in CovariateModel object |
Expression (CovariateModel) | Define relationship between parameters and covariates |
FixedEffectDescription (CovariateModel) | Descriptions of fixed effects in CovariateModel object |
FixedEffectNames (CovariateModel) | Names of fixed effects in CovariateModel object |
FixedEffectValues (CovariateModel) | Values for initial estimates of fixed effects in CovariateModel object |
ParameterNames (CovariateModel) | Names of parameters in CovariateModel object |
RandomEffectNames (CovariateModel) | Names of random effects in CovariateModel object |
Create a CovariateModel
object and set the Expression
property
to define the relationship between two parameters (clearance and volume)
and two covariates (weight and age) using fixed effects (thetas
)
and random effects (etas
):
covModelObj = CovariateModel covModelObj.Expression = {'CL = theta1 + theta2*WT + eta1', 'V = theta3 + theta4*AGE + eta2'};
construct
| getCovariateData
| PKData object
| PKModelDesign
object
| sbionlmefit
| sbionlmefitsa