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.