Calibrate sample weights

Usage

dss(X, d, totals, q = NULL, method = c("raking", "linear", "logit"), bounds = NULL, maxit = 500, ginv = gginv(), tol = 1e-06, attributes = FALSE)

Arguments

X
a matrix of calibration variables.
d
a numeric vector giving the initial sample (or design) weights.
totals
a numeric vector of population totals corresponding to the calibration variables in X.
q
a numeric vector of positive values accounting for heteroscedasticity. Small values reduce the variation of the g-weights.
method
a character string specifying the calibration method to be used. Possible values are "linear" for the linear method, "raking" for the multiplicative method known as raking and "logit" for the logit method.
bounds
a numeric vector of length two giving bounds for the g-weights to be used in the logit method. The first value gives the lower bound (which must be smaller than or equal to 1) and the second value gives the upper bound (which must be larger than or equal to 1). If NULL, the bounds are set to c(0, 10).
maxit
a numeric value giving the maximum number of iterations.
ginv
a function that computes the Moore-Penrose generalized inverse (default: an optimized version of ginv). In some cases it is possible to speed up the process by using a function that computes a "regular" matrix inverse such as {solve.default}.
tol
relative tolerance; convergence is achieved if the difference of all residuals (relative to the corresponding total) is smaller than this tolerance.
attributes
should additional attributes (currently success, iterations, method and bounds) be added to the result? If FALSE (default), a warning is given if convergence within the given relative tolerance could not be achieved.

Calibrate sample weights

Value

A numeric vector containing the g-weights.

Description

Calibrate sample weights according to known marginal population totals. Based on initial sample weights, the so-called g-weights are computed by generalized raking procedures. The final sample weights need to be computed by multiplying the resulting g-weights with the initial sample weights.

Note

This is a faster implementation of parts of calib from package sampling. Note that the default calibration method is raking and that the truncated linear method is not yet implemented.

References

Deville, J.-C. and Särndal, C.-E. (1992) Calibration estimators in survey sampling. Journal of the American Statistical Association, 87(418), 376--382.

Deville, J.-C., Särndal, C.-E. and Sautory, O. (1993) Generalized raking procedures in survey sampling. Journal of the American Statistical Association, 88(423), 1013--1020.

Examples

obs <- 1000 vars <- 100 Xs <- matrix(runif(obs * vars), nrow = obs) d <- runif(obs) / obs totals <- rep(1, vars) g <- dss(Xs, d, totals, method = "linear", ginv = solve) g2 <- dss(Xs, d, totals, method = "raking")

Author

Andreas Alfons, with improvements by Kirill Müller