This function estimate weights to apply to the rows of a data matrix to make the resulting weighted matrix as close to multivariate normality as possible. This method is usually not called directly by the user.
dr.estimate.weights(object, sigma=1, covmethod="mve", nsamples=NULL, ...) robust.center.scale(x, method,... )
object |
a dimension reduction regression object name, or an n by p matrix |
sigma |
A tuning parameter, with default 1, usually in the range .2 to 1.0 |
covmethod |
covmethod is passed as the argument method
to the function cov.rob in the required package
lqs . The choices are "classical" ,
"mve" and "mcd" . This probably will not work with Splus.
If classical is selected, the usual estimate of the covariance matrix is
used, but the center is the medians, not the means. |
nsamples |
The weights are determined by random sampling from a data-determined normal distribution. This controls the number of samples |
x |
An n by p data matrix with no missing values |
method |
see covmethod above |
... |
Additional args are passed to cov.rob |
The basic outline is: (1) Estimate a mean m and covariance matrix S using a
possibly robust method; (2) For each iteration, obtain a random vector
from N(m,sigma*S). Add 1 to a counter for observation i if the i-th row
of the data matrix is closest to the random vector; (3) return as weights
the sample faction allocated to each observation. If you set the keyword
weights.only
to T
on the call to dr
, then only the
list of weights will be returned.
Returns a list of n weights, some of which may be zero.
Sanford Weisberg, sandy@stat.umn.edu
R. D. Cook and C. Nachtsheim (1994), Reweighting to achieve elliptically contoured predictors in regression. Journal of the American Statistical Association, 89, 592599.