Main Content

# CovariateModel object

Define relationship between parameters and covariates

## Description

`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.

## Construction

`CovModelObj = CovariateModel` creates an empty `CovariateModel` object.

`CovModelObj = CovariateModel(Expression)` creates a `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:

 ```Expression = {'volume = theta1 + theta2*weight'};```

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 RelationshipExpression 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.

## Method Summary

 constructDefaultFixedEffectValues (covmodel) Create initial estimate vector needed for fit verify (covmodel) Check covariate model for errors

## Properties

 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

## Examples

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'};```

## See Also

### Topics

Introduced in R2011b

## Support Get trial now