rlm                   package:MASS                   R Documentation

_R_o_b_u_s_t _F_i_t_t_i_n_g _o_f _L_i_n_e_a_r _M_o_d_e_l_s

_D_e_s_c_r_i_p_t_i_o_n:

     Fit a linear model by robust regression using an M estimator.

_U_s_a_g_e:

     rlm(x, ...)
     rlm.formula(formula, data, weights, ..., subset, na.action = na.fail,
                 method = c("M", "MM", "model.frame"),
                 wt.method = c("case", "inv.var"),
                 model = TRUE, x = TRUE, y = FALSE, contrasts = NULL)
     rlm.default(x, y, weights, ..., w = rep(1, nrow(x)),
                 init, psi = psi.huber, scale.est, k2 = 1.345, 
                 method = c("M", "MM"), wt.method = c("case", "inv.var"),
                 maxit = 20, acc = 1e-4, test.vec = "resid")

_A_r_g_u_m_e_n_t_s:

 formula: a formula of the form `y ~ x1 + x2 + ...'. 

    data: data frame from which variables specified in `formula' are
          preferentially to be taken. 

 weights: prior weights for each case. 

  subset: An index vector specifying the cases to be used in fitting. 

na.action: A function to specify the action to be taken if `NA's are
          found. The default action is for the procedure to fail. An
          alternative is `na.omit', which leads to omission of cases
          with missing values on any required variable. 

       x: a matrix or data frame containing the explanatory variables. 

       y: the response: a vector of length the number of rows of `x'. 

  method: currently either M-estimation or find the model frame. MM
          estimation is M-estimation with Tukey's biweight initialized
          by a specific S-estimator. See the details section. 

wt.method: are the weights case weights (giving the relative importance
          of case, so a weight of 2 means there are two of these) or
          the inverse of the variances, so a weight of two means this
          error is twice as variable? 

       w: (optional) initial down-weighting for each case. 

    init: (optional) initial values for the coefficients OR a method to
          find initial values OR the result of a fit with a `coef'
          component. Known methods are `"ls"' (the default) for an
          initial least-squares fit using weights `w*weights', and
          `"lqs"' for an unweighted least-trimmed squares fit with 200
          samples. 

     psi: the psi function is specified by this argument. It must give
          (possibly by name) a function `g(x, ..., deriv)' that for
          `deriv=0' returns psi(x)/x and for `deriv=1' returns psi'(x).
          Tuning constants will be passed in via `...'. 

scale.est: method of scale estimation: re-scaled MAD of the residuals
          or Huber's proposal 2. 

      k2: tuning constant used for Huber proposal 2 scale estimation. 

   maxit: the limit on the number of IWLS iterations. 

     acc: the accuracy for the stopping criterion. 

test.vec: the stopping criterion is based on changes in this vector. 

     ...: additional arguments to be passed to `rlm.default' or to the
          `psi' function. 

_D_e_t_a_i_l_s:

     Fitting is done by iterated re-weighted least squares (IWLS).

     Psi functions are supplied for the Huber, Hampel and Tukey
     bisquare proposals as `psi.huber', `psi.hampel' and
     `psi.bisquare'. Huber's corresponds to a convex optimization
     problem and gives a unique solution (up to collinearity). The
     other two will have multiple local minima, and a good starting
     point is desirable.

     Selecting `method = "MM"' selects a specific set of options which
     ensures that the estimator has a high breakdown point. The initial
     set of coefficients and the final scale are selected by an
     S-estimator with `k0 = 1.548'; this gives (for n >> p) breakdown
     point 0.5. The final estimator is an M-estimator with Tukey's
     biweight and fixed scale that will inherit this breakdown point
     provided `c > k0'; this is true for the default value of `c' that
     corresponds to 95% relative efficiency at the normal.

_V_a_l_u_e:

     An object of class `"rlm"' inheriting from `"lm"'. The additional
     components not in an `lm' object are

       s: the robust scale estimate used 

       w: the weights used in the IWLS process 

     psi: the psi function with parameters substituted 

    conv: the convergence criteria at each iteration 

converged: did the IWLS converge? 

_R_e_f_e_r_e_n_c_e_s:

     P. J. Huber (1981)  Robust Statistics.  Wiley.

     F. R. Hampel, E. M. Ronchetti, P. J. Rousseeuw and W. A. Stahel
     (1986) Robust Statistics: The Approach based on Influence
     Functions.  Wiley.

     A. Marazzi (1993) Algorithms, Routines and S Functions for Robust
     Statistics.  Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     `lm', `lqs'.

_E_x_a_m_p_l_e_s:

     data(stackloss)
     summary(rlm(stack.loss ~ ., stackloss))
     library(lqs) # for lts
     rlm(stack.loss ~ ., stackloss, psi=psi.hampel, init="lts") 
     rlm(stack.loss ~ ., stackloss, psi=psi.bisquare)

