Mean Estimation
rm(list = ls())
#- Generate Example Data
set.seed(42)
dat <- IPD::simdat()
form <- Y - Yhat ~ X1
Y_l <- dat[dat$set == "labeled", all.vars(form)[1]] |> matrix(ncol = 1)
f_l <- dat[dat$set == "labeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_u <- dat[dat$set == "unlabeled", all.vars(form)[2]] |> matrix(ncol = 1)
IPD::popinf_mean(Y_l, f_l, f_u)
## $est
## [1] 12.4554
##
## $se
## [1] 0.1654749
Linear regression
rm(list = ls())
#- Generate Example Data
set.seed(42)
dat <- IPD::simdat()
form <- Y - Yhat ~ X1
X_l <- model.matrix(form, data = dat[dat$set == "labeled",])
Y_l <- dat[dat$set == "labeled", all.vars(form)[1]] |> matrix(ncol = 1)
f_l <- dat[dat$set == "labeled", all.vars(form)[2]] |> matrix(ncol = 1)
X_u <- model.matrix(form, data = dat[dat$set == "unlabeled",])
f_u <- dat[dat$set == "unlabeled", all.vars(form)[2]] |> matrix(ncol = 1)
IPD::popinf_ols(X_l, Y_l, f_l, X_u, f_u)
## $est
## [1] 11.6936575 0.8064982
##
## $se
## [1] 0.2190285 0.1519738
Logistic regression
rm(list = ls())
#- Generate Example Data
set.seed(42)
dat <- IPD::simdat()
form <- Y - Yhat ~ X1
X_l <- model.matrix(form, data = dat[dat$set == "labeled",])
Y_l <- dat[dat$set == "labeled", all.vars(form)[1]] |> matrix(ncol = 1)
Y_l <- ifelse(Y_l > quantile(Y_l, 0.75), 1, 0)
f_l <- dat[dat$set == "labeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_l <- ifelse(f_l > quantile(f_l, 0.75), 1, 0)
X_u <- model.matrix(form, data = dat[dat$set == "unlabeled",])
f_u <- dat[dat$set == "unlabeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_u <- ifelse(f_u > quantile(f_u, 0.75), 1, 0)
IPD::popinf_logistic(X_l, Y_l, f_l, X_u, f_u)
## $est
## [1] -1.7615489 0.5975317
##
## $se
## [1] 0.2187251 0.1412411
Poisson regression
rm(list = ls())
#- Generate Example Data
set.seed(42)
dat <- IPD::simdat()
form <- Y - Yhat ~ X1
X_l <- model.matrix(form, data = dat[dat$set == "labeled",])
Y_l <- dat[dat$set == "labeled", all.vars(form)[1]] |> matrix(ncol = 1)
Y_l <- round(Y_l - min(Y_l))
f_l <- dat[dat$set == "labeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_l <- round(f_l - min(f_l))
X_u <- model.matrix(form, data = dat[dat$set == "unlabeled",])
f_u <- dat[dat$set == "unlabeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_u <- round(f_u - min(f_u))
IPD::popinf_poisson(X_l, Y_l, f_l, X_u, f_u)
## $est
## [1] 2.14598868 0.09371846
##
## $se
## [1] 0.02586625 0.01665662
Quantile Estimation
rm(list = ls())
#- Generate Example Data
set.seed(42)
dat <- IPD::simdat()
form <- Y - Yhat ~ X1
Y_l <- dat[dat$set == "labeled", all.vars(form)[1]] |> matrix(ncol = 1)
f_l <- dat[dat$set == "labeled", all.vars(form)[2]] |> matrix(ncol = 1)
f_u <- dat[dat$set == "unlabeled", all.vars(form)[2]] |> matrix(ncol = 1)
IPD::popinf_quantile(Y_l, f_l, f_u, q = 0.5)
## $est
## [1] 12.37386
##
## $se
## [1] 0.2353643