# loglikLOOCVVAR2: Leave-one-out (minus) cross-validated log-likelihood of... In ragt2ridges: Ridge Estimation of Vector Auto-Regressive (VAR) Processes

## Description

Evaluation of the (minus) leave-one-out cross-validated log-likelihood of the VAR(2) model for given choices of the ridge penalty parameters (λ_{a1}, λ_{a2} and λ_{ω} for the lag one autoregression coefficient matrix \mathbf{A}_1, lag two autoregression coefficient matrix \mathbf{A}_2 of time-varying covariates, and the inverse error covariance matrix \mathbf{Ω}_{\varepsilon} (=\mathbf{Σ_{\varepsilon}^{-1}}), respectively). The functions also works with a (possibly) unbalanced experimental set-up. The VAR(2)-process is assumed to have mean zero.

## Usage

 1 loglikLOOCVVAR2(lambdas, Y, unbalanced=matrix(nrow=0, ncol=2), ...) 

## Arguments

 lambdas A numeric of length three, comprising positive values only. It contains the ridge penalty parameters to be used in the estimation of \mathbf{A}_1, \mathbf{A}_2 and the precision matrix of the errors. Y Three-dimensional array containing the response data. The first, second and third dimensions correspond to variates, time and samples, respectively. The data are assumed to be centered covariate-wise. unbalanced A matrix with two columns, indicating the unbalances in the design. Each row represents a missing design point in the (time x individual)-layout. The first and second column indicate the time and individual (respectively) specifics of the missing design point. ... Other arguments to be passed to the ridgeVAR2-function.

## Value

A numeric of length one: the minus (!) LOOCV log-likelihood.

## Note

The minus LOOCV log-likelihood is returned as standard optimization procedures in R like nlminb and constrOptim minimize (rather then maximize). Hence, by providing the minus LOOCV log-likelihood the function loglikLOOCVVAR2 can directly used by these optimization procedures.

## Author(s)

Wessel N. van Wieringen <[email protected]>

## References

Miok, V., Wilting, S.M., Van Wieringen, W.N. (2018), “Ridge estimation of network models from time-course omics data”, Biometrical Journal, <DOI:10.1002/bimj.201700195>.

ridgeP and ridgeVAR2.
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # set dimensions (p=covariates, n=individuals, T=time points) p <- 3; n <- 12; T <- 10 # set model parameters SigmaE <- diag(p)/4 A1 <- createA(p, topology="clique", nonzeroA=0.1, nClique=1) A2 <- createA(p, topology="hub", nonzeroA=0.1, nHubs=1) # generate data Y <- dataVAR2(n, T, A1, A2, SigmaE) ## determine optimal values of the penalty parameters ## Not run: optLambdas <- constrOptim(c(1,1, 1), loglikLOOCVVAR2, gr=NULL, ## Not run: ui=diag(3), ci=c(0,0,0), Y=Y, ## Not run: control=list(reltol=0.01))\$par # ridge ML estimation of the VAR(2) parameter estimates with # optimal penalty parameters optLambdas <- c(0.1, 0.1, 0.1) ridgeVAR2(Y, optLambdas[1], optLambdas[2], optLambdas[3])