Learn R Programming

SDModels (version 1.0.10)

get_W: Estimation of anchor transformation

Description

Estimates the anchor transformation for the Anchor-Objective. The anchor transformation is \(W = I-(1-\sqrt{\gamma}))\Pi_A\), where \(\Pi_A = A(A^TA)^{-1}A^T\). For \(\gamma = 1\) this is just the identity. For \(\gamma = 0\) this corresponds to residuals after orthogonal projecting onto A. For large \(\gamma\) this is close to the orthogonal projection onto A, scaled by \(\gamma\). The estimator \(\text{argmin}_f ||W(Y - f(X))||^2\) corresponds to the Anchor-Regression Estimator Rothenhausler2021AnchorCausalitySDModels, Buhlmann2020InvarianceRobustnessSDModels.

Usage

get_W(A, gamma, intercept = FALSE, gpu = FALSE)

Value

W of class matrix, the anchor transformation matrix.

Arguments

A

Numerical Anchor of class matrix.

gamma

Strength of distributional robustness, \(\gamma \in [0, \infty]\).

intercept

Logical, whether to include an intercept in the anchor.

gpu

If TRUE, the calculations are performed on the GPU. If it is properly set up.

Author

Markus Ulmer

References

Examples

Run this code
set.seed(1)
n <- 50
X <- matrix(rnorm(n * 1), nrow = n)
Y <- 3 * X + rnorm(n)
W <- get_W(X, gamma = 0)
resid <- W %*% Y

Run the code above in your browser using DataLab