# MFKnockoffs.create.approximate_gaussian: Sample approximate second-order multivariate Gaussian... In MFKnockoffs: Model-Free Knockoff Filter for Controlled Variable Selection

## Description

Samples approximate second-order multivariate Gaussian knockoff variables for the original variables.

## Usage

 ```1 2``` ```MFKnockoffs.create.approximate_gaussian(X, method = c("asdp", "equi", "sdp"), shrink = F) ```

## Arguments

 `X` normalized n-by-p realization of the design matrix `method` either 'equi', 'sdp' or 'asdp' (default:'asdp') This will be computed according to 'method', if not supplied `shrink` whether to shrink the estimated covariance matrix (default: FALSE)

## Details

If the argument `shrink` is set to TRUE, a James-Stein-type shrinkage estimator for the covariance matrix is used instead of the traditional maximum-likelihood estimate. This option requires the package `corpcor`. Type `?corpcor::cov.shrink` for more details.

Even if the argument `shrink` is set to FALSE, in the case that the estimated covariance matrix is not positive-definite, this function will apply some shrinkage.

To use SDP knockoffs, you must have a Python installation with CVXPY. For more information, see the vignette on SDP knockoffs: `vignette('sdp', package='MFKnockoffs')`

## Value

n-by-p matrix of knockoff variables

## References

Candes et al., Panning for Gold: Model-free Knockoffs for High-dimensional Controlled Variable Selection, arXiv:1610.02351 (2016). https://statweb.stanford.edu/~candes/MF_Knockoffs/index.html

Other methods for creating knockoffs: `MFKnockoffs.create.fixed`, `MFKnockoffs.create.gaussian`