Estimate weights for elliptical symmetry

Share:

Description

This function estimate weights to apply to the rows of a data matrix to make the resulting weighted matrix as close to elliptically symmetric as possible.

Usage

1
2

Arguments

formula

A one-sided or two-sided formula. The right hand side is used to define the design matrix.

data

An optional data frame.

subset

A list of cases to be used in computing the weights.

na.action

The default is na.fail, to prohibit computations. If set to na.omit, the function will return a list of weights of the wrong length for use with dr.

nsamples

The weights are determined by random sampling from a data-determined normal distribution. This controls the number of samples. The default is 10 times the number of cases.

sigma

Scale factor, set to one by default; see the paper by Cook and Nachtsheim for more information on choosing this parameter.

...

Arguments are passed to cov.rob to compute a robust estimate of the covariance matrix.

Details

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.

Value

Returns a list of n weights, some of which may be zero.

Author(s)

Sanford Weisberg, sandy@stat.umn.edu

References

R. D. Cook and C. Nachtsheim (1994), Reweighting to achieve elliptically contoured predictors in regression. Journal of the American Statistical Association, 89, 592–599.

See Also

dr, cov.rob

Examples

1
2
3
data(ais)
w1 <- dr.weights(~ Ht +Wt +RCC, data = ais)
m1 <- dr(LBM~Ht+Wt+RCC,data=ais,weights=w1)