Skip to contents

Helper function for Chen & Chen logistic regression estimation.

Usage

chen_logistic(X_l, Y_l, f_l, X_u, f_u, intercept = TRUE)

Arguments

X_l

(matrix): n x p matrix of covariates in the labeled data.

Y_l

(vector): n-vector of labeled outcomes.

f_l

(vector): n-vector of predictions in the labeled data.

X_u

(matrix): N x p matrix of covariates in the unlabeled data.

f_u

(vector): N-vector of predictions in the unlabeled data.

intercept

(Logical): Do the design matrices include intercept columns? Default is TRUE.

Value

(list): A list containing the following:

est

(vector): vector of Chen & Chen logistic regression coefficient estimates.

se

(vector): vector of standard errors of the coefficients.

Details

Another look at statistical inference with machine learning-imputed data (Gronsbell et al., 2026) doi:10.48550/arXiv.2411.19908

Examples


dat <- simdat(model = "logistic")
#> Loading required package: ggplot2
#> Loading required package: lattice

form <- Y - f ~ X1

X_l <- model.matrix(form, data = dat[dat$set_label == "labeled", ])

Y_l <- dat[dat$set_label == "labeled", all.vars(form)[1]] |>
  matrix(ncol = 1)

f_l <- dat[dat$set_label == "labeled", all.vars(form)[2]] |>
  matrix(ncol = 1)

X_u <- model.matrix(form, data = dat[dat$set_label == "unlabeled", ])

f_u <- dat[dat$set_label == "unlabeled", all.vars(form)[2]] |>
  matrix(ncol = 1)

chen_logistic(X_l, Y_l, f_l, X_u, f_u, intercept = TRUE)
#> $est
#> [1] 0.498323 1.047256
#> 
#> $se
#> (Intercept)          X1 
#>   0.1314948   0.1537046 
#>