April 30th, 2018

Automatic search of the best covariate model. Two methods for covariate model building are proposed

SCM: stepwise covariate modeling method In the forward selection, at each step, each of the remaining (i.e not yet included) parameter-covariate relationships are added to the model in an univariate model (one model per relationship), and run. Among all models, the model that improves some criteria (LRT, BIC or AIC) most is selected and taken forward to the next step. During backward elimination, parameter-covariate relationships are removed in an univariate manner.

COSSAC: COnditional Sampling use for Stepwise Approach based on Correlation tests method COSSAC makes use of the information contained in the base model run to choose which covariate to try first (instead of trying all covariates “blindly” as in SCM). Indeed, the correlation between the individual parameters (or random effects) and the covariates hints at possibly relevant parameter-covariate relationships. If the EBEs (empirical Bayes estimates) are used, shrinkage may bias the result. COSSAC instead uses samples from the a posteriori conditional distribution (available as “conditional distribution” task in MonolixSuite2018) to calculate the correlation between the random effects and covariates. A p-value can be derived using the Pearson’s correlation test for continuous covariate and ANOVA for categorical covariate. The p-values are used to sort all the random effect-covariate relationships. Relationships with the lowest p-value are added first, run and confirmed using a likelihood ratio test, AIC or BIC criteria.

`r <- covariateSearch(project, final.project=NULL, method = NULL, covToTest = NULL, covToTransform=NULL, paramToUse = NULL, testRelations = NULL, settings = NULL) `

To run COSSAC on a project, you just have to run

```
project <- "projects/remifentanil.mlxtran"
covariateSearch(project)
```

If you want to use the SCM method,

```
project <- "projects/remifentanil.mlxtran"
covariateSearch(project, method = 'SCM')
```

The remifentanil project contains 6 parameters (3-cpt PK model with infusion). If you want to constrain the selection to only some parameters, for example, V1 and Cl, you can do it using the argument paramToUse

```
project <- "projects/remifentanil.mlxtran"
covariateSearch(project, paramToUse = c("V1", "Cl"))
```

By the same way, the remifentanil project contains 4 covariates (AGE, SEX, LBM, and TINFCAT). If you want to constrain the selection to only some covariate, for example, AGE, SEX, and LBM, as TINFCAT is mainly used for display purpose, you can do it using the argument paramToUse

```
project <- "projects/remifentanil.mlxtran"
covariateSearch(project, covToTest = c("AGE", "SEX", "LBM"))
```

If you have a deeper knowledge on what relationships make sense, you can do it using the argument testRelations. If for example, you want to only test - AGE and LBM on V1, - AGE and SEX on Cl you can do it as the following

```
project <- "projects/remifentanil.mlxtran"
covariateSearch(project, testRelations = list(V1 = c("AGE", "LBM"), Cl=c("AGE","SEX"))
```

Notice that it cannot be used if covToTest or paramToUse is defined.

```
project <- "projects/warfarinPK3.mlxtran"
covariateSearch(project, settings = list(criteria = "BIC")
```

By default, a stepwise approach is used, i.e. both forward and backward. You can choose a different option using the setting direction

```
project <- "projects/warfarinPK3.mlxtran"
covariateSearch(project, settings = list(direction = "forward")
```

On the LRT test the accepatance and rejection of a new model is based on the p-value associated to the LRT (loglikelihood ratio test). By default, these values are .1 during the forward phase and .05 during the backward phase. If you want to be more selective, you can play with these p-values. For example, you can be more restrictive.

```
project <- "projects/warfarinPK3.mlxtran"
covariateSearch(project, settings = list(pElimination = .025, pInclusion = .05)
```