get_W {SDModels}R Documentation

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 (Rothenhäusler et al. 2021), (Bühlmann 2020).

Usage

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

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.

Value

W of class matrix, the anchor transformation matrix.

Author(s)

Markus Ulmer

References

Bühlmann P (2020). “Invariance, Causality and Robustness.” Statistical Science, 35(3). ISSN 0883-4237, doi:10.1214/19-STS721.

Rothenhäusler D, Meinshausen N, Bühlmann P, Peters J (2021). “Anchor Regression: Heterogeneous Data Meet Causality.” Journal of the Royal Statistical Society Series B: Statistical Methodology, 83(2), 215–246. ISSN 1369-7412, doi:10.1111/rssb.12398.

Examples

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

[Package SDModels version 1.0.13 Index]