calibrate: Constrained Convex Optimization of Bregman Distances

View source: R/calibrate.R

calibrateR Documentation

Constrained Convex Optimization of Bregman Distances

Description

The calibrate() function solves a convex program with linear equality constraints determined by the constraint matrix constraint, the estimand (estimand), and the sampling weights (base_weights). The function calibrate() provides a more direct means to solving the convex optimization program. However, the constraint matrix and target margins must be determined by the user.

Usage

calibrate(
  constraint,
  target,
  distance = c("entropy", "binary", "shifted"),
  base_weights = NULL,
  coefs_init = NULL,
  optim_ctrl = list(maxit = 500, reltol = 1e-10),
  ...
)

Arguments

constraint

a matrix that forms the basis of a linear subspace which define the equality constraints of the convex program.

target

the target margins of the linear equality constraints. This vector should have a length equal to the number of columns in constraint.

distance

the Bregman distance to be optimized. Can either be "entropy" for the relative entropy, "binary" for the binary relative entropy, or "shifted" for the shifted relative entropy.

base_weights

a vector of optional base weights with length equal to the number of rows in constraint.

coefs_init

the optional initialization values for the dual variables. Default is a vector of zeros with length equal to number of columns in X.

optim_ctrl

a list of arguments that will be passed to optim().

...

additional arguments.

References

Censor Y, Zenios SA (1998). Parallel Optimization: Theory, Algorithms, and Applications. 1st ed. New York: Oxford University Press.


kevjosey/cbal documentation built on July 22, 2023, 11:04 a.m.