Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/optweight.svy.fit.R
optweight.svy.fit
performs the optimization (via osqp; Anderson, 2018) for optweight.svy
and should, in most coses, not be used directly. No processing of inputs is performed, so they must be given exactly as described below.
1 2 3 4 5 6 7 8 9 10 |
covs |
A matrix of covariates to be targeted. Should must be numeric but does not have to be full rank. |
tols |
A vector of target balance tolerance values. |
targets |
A vector of target populaton mean values for each covariate. The resulting weights will yield sample means within |
s.weights |
A vector of sampling weights. Optimization occurs on the product of the sampling weights and the estimated weights. |
norm |
A string containing the name of the norm corresponding to the objective function to minimize. The options are |
std.binary, std.cont |
|
min.w |
A single |
verbose |
Whether information on the optimization problem solution should be printed. This information contains how many iterations it took to estimate the weights and whether the solution is optimal. |
... |
Options that are passed to |
optweight.svy.fit
transforms the inputs into the required inputs for solve_osqp
, which are (sparse) matrices and vectors, and then supplies the outputs (the weights, duals variables, and convergence information) back to optweight.svy
. No processing of inputs is performed, as this is normally handled by optweight.svy
.
An optweight.svy.fit
object with the following elements:
w |
The estimated weights, one for each unit. |
duals |
A data.frame containing the dual variables for each covariate. See Zubizarreta (2015) for interpretation of these values. |
info |
The |
Noah Greifer
Anderson, E. (2018). osqp: Quadratic Programming Solver using the 'OSQP' Library. R package version 0.1.0. https://CRAN.R-project.org/package=osqp
Wang, Y., & Zubizarreta, J. R. (2017). Approximate Balancing Weights: Characterizations from a Shrinkage Estimation Perspective. ArXiv:1705.00998 [Math, Stat]. Retrieved from http://arxiv.org/abs/1705.00998
Zubizarreta, J. R. (2015). Stable Weights that Balance Covariates for Estimation With Incomplete Outcome Data. Journal of the American Statistical Association, 110(511), 910–922. doi: 10.1080/01621459.2015.1023805
optweight.svy
which you should use for estimating the balancing weights, unless you know better.
https://osqp.org/docs/index.html for more information on osqp, the underlying solver, and the options for solve_osqp
.
osqpSettings
for details on options for solve_osqp
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | library("cobalt")
data("lalonde", package = "cobalt")
covs <- splitfactor(lalonde[c("age", "educ", "race",
"married", "nodegree")],
drop.first = FALSE)
targets <- c(23, 9, .3, .3, .4, .2, .5)
tols <- rep(0, 7)
ows.fit <- optweight.svy.fit(covs,
tols = tols,
targets = targets,
norm = "l2")
#Unweighted means
apply(covs, 2, mean)
#Weighted means; same as targets
apply(covs, 2, weighted.mean, w = ows.fit$w)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.