Learn R Programming

robustbase (version 0.92-5)

BYlogreg: Bianco-Yohai Estimator for Robust Logistic Regression

Description

Computation of the estimator of Bianco and Yohai (1996) in logistic regression. Now provides both the weighted and regular (unweighted) BY-estimator.

By default, an intercept term is included and p parameters are estimated. For more details, see the reference.

Note: This function is for back-compatibility with the BYlogreg() code web-published at http://www.econ.kuleuven.be/public/NDBAE06/programs/roblog/; instead, the recommended interface is glmrob(*, method = "BY") or ... method = "WBY" .., see glmrob.

Usage

BYlogreg(x0, y, initwml = TRUE, addIntercept = TRUE,
         const = 0.5, kmax = 1000, maxhalf = 10, sigma.min = 1e-4,
         trace.lev = 0)

Arguments

x0
a numeric $n \times (p-1)$ matrix containing the explanatory variables.
y
numeric $n$-vector of binomial (0 - 1) responses.
initwml
logical for selecting one of the two possible methods for computing the initial value of the optimization process.

If initwml is true (default), a weighted ML estimator is computed with weights derived from the MCD estimator

addIntercept
logical indicating that a column of 1 must be added the $x$ matrix.
const
tuning constant used in the computation of the estimator (default=0.5).
kmax
maximum number of iterations before convergence (default=1000).
maxhalf
max number of step-halving (default=10).
sigma.min
smallest value of the scale parameter before implosion (and hence non-convergence) is assumed.
trace.lev
logical (or integer) indicating if intermediate results should be printed; defaults to 0 (the same as FALSE).

Value

  • a list with components
  • convergencelogical indicating if convergence was achieved
  • objectivethe value of the objective function at the minimum
  • coefficientsvector of parameter estimates
  • vcovvariance-covariance matrix of the coefficients (if convergence is TRUE).
  • sterrorstandard errors, i.e., simply sqrt(diag(.$vcov)), if convergence.

encoding

utf8

References

Croux, C., and Haesbroeck, G. (2003) Implementing the Bianco and Yohai estimator for Logistic Regression, Computational Statistics and Data Analysis 44, 273--295.

Ana M. Bianco and Víctor J. Yohai (1996) Robust estimation in the logistic regression model. In Helmut Rieder, Robust Statistics, Data Analysis, and Computer Intensive Methods, Lecture Notes in Statistics 109, pages 17--34.

See Also

The more typical way to compute BY-estimates (via formula and methods): glmrob(*, method = "WBY") and .. method = "BY".

Examples

Run this code
set.seed(17)
x0 <- matrix(rnorm(100,1))
y  <- rbinom(100, size=1, prob= 0.5) # ~= as.numeric(runif(100) > 0.5)
BY <- BYlogreg(x0,y)
BY <- BYlogreg(x0,y, trace.lev=TRUE)

## The "Vaso Constriction"  aka "skin" data:
data(vaso)
vX <- model.matrix( ~ log(Volume) + log(Rate), data=vaso)
vY <- vaso[,"Y"]
head(cbind(vX, vY))# 'X' does include the intercept

vWBY <- BYlogreg(x0 = vX, y = vY, addIntercept=FALSE) # as 'vX' has it already
v.BY <- BYlogreg(x0 = vX, y = vY, addIntercept=FALSE, initwml=FALSE)
## they are relatively close:
stopifnot( all.equal(vWBY, v.BY, tolerance = 2e-4) )

Run the code above in your browser using DataLab