Creates fixed-X knockoff variables.

create.fixed(
  X,
  method = c("sdp", "equi"),
  sigma = NULL,
  y = NULL,
  randomize = F
)

Arguments

X

normalized n-by-p matrix of original variables.(\(n \geq p\)).

method

either "equi" or "sdp" (default: "sdp"). This determines the method that will be used to minimize the correlation between the original variables and the knockoffs.

sigma

the noise level, used to augment the data with extra rows if necessary (default: NULL).

y

vector of length n, containing the observed responses. This is needed to estimate the noise level if the parameter sigma is not provided, in case \(p \leq n < 2p\) (default: NULL).

randomize

whether the knockoffs are constructed deterministically or randomized (default: F).

Value

An object of class "knockoff.variables". This is a list containing at least the following components:

X

n-by-p matrix of original variables (possibly augmented or transformed).

Xk

n-by-p matrix of knockoff variables.

y

vector of observed responses (possibly augmented).

Details

Fixed-X knockoffs assume a homoscedastic linear regression model for \(Y|X\). Moreover, they only guarantee FDR control when used in combination with statistics satisfying the "sufficiency" property. In particular, the default statistics based on the cross-validated lasso does not satisfy this property and should not be used with fixed-X knockoffs.

References

Barber and Candes, Controlling the false discovery rate via knockoffs. Ann. Statist. 43 (2015), no. 5, 2055–2085.