MFKnockoffs.knocks.solve_asdp: Optimization for SDP knockoffs

Description Usage Arguments Details Value See Also

Description

Solves the optimization problem needed to create approximate SDP knockoffs

Usage

1
2
MFKnockoffs.knocks.solve_asdp(Sigma, nBlocks = 10, cores = 1,
  gaptol = 1e-06, maxit = 1000)

Arguments

Sigma

A positive-definite correlation matrix

nBlocks

Number of blocks in the block-diagonal approximation of Sigma (default: 10)

cores

Number of cores used to solve the smaller SDPs (default: 1)

gaptol

Tolerance for duality gap as a fraction of the value of the objective functions (default 1e-6)

maxit

The maximum number of iterations for the solver (default: 1000)

Details

Solves the following two-step semidefinite programming problem:

(step 1)

\mathrm{maximize} \; \mathrm{sum}(s) \quad \mathrm{subject} \; \mathrm{to:} \; 0 <= s <= 1, \; 2 Σ_{\mathrm{approx}} - \mathrm{diag}(s) >= 0

(step 2)

\mathrm{maximize} \; γ \quad \mathrm{subject} \; \mathrm{to:} \; \mathrm{diag}(γ s) <= 2 Σ

If the matrix Sigma supplied by the user is a non-scaled covariance matrix (i.e. its diagonal entries are not all equal to 1), then the appropriate scaling is applied before solving the SDP defined above. The result is then scaled back before being returned, as to match the original scaling of the covariance matrix supplied by the user.

Value

The solution s to the semidefinite programming problem defined above

See Also

Other Optimize knockoffs: MFKnockoffs.knocks.solve_equi, MFKnockoffs.knocks.solve_sdp


MFKnockoffs documentation built on May 2, 2019, 6:33 a.m.