Learn R Programming

RXshrink (version 1.0-5)

RXridge: Maximum Likelihood Shrinkage in Regression

Description

Identify and display TRACEs for the Q-shaped shrinkage path, including the M-extent of shrinkage along that path, that are most likely under normal distribution theory to yield optimal reducions in MSE Risk.

Usage

RXridge(form, data, rscale = 1, Q = "qmse", steps = 8, nq = 21,
              qmax = 5, qmin = -5, omdmin = 9.9e-13)

Arguments

form
A regression formula [y~x1+x2+...] suitable for use with lm().
data
Data frame containing observations on all variables in the formula.
rscale
One of three possible choices (0, 1 or 2) for rescaling of variables as they are being "centered" to remove non-essential ill-conditioning: 0 implies no rescaling; 1 implies divide each variable by its standard error; 2 implies rescale as in
Q
Shape parameter that controls the curvature of the shrinkage path through regression-coefficient likelihood space (default = "qmse" implies use the value found most likely to be optimal.) Use Q = 0 to specify Hoerl-Kennard "ordinary" ridge regre
steps
Number of equally spaced values per unit change along the horizontal M-extent-of-shrinkage axis for estimates to be calculated and displayed in TRACES (default = 8.)
nq
Number of equally spaced values on the lattice of all possible values for shrinkage Q-shape between the "qmin" and "qmax" parameter settings (default = 21.)
qmax
Maximum allowed Q-shape (default = +5.)
qmin
Minimum allowed Q-shape (default = -5.)
omdmin
Strictly positive minimum allowed value for one-minus-delta (default = 9.9e-013.)

Value

  • An output list object of class RXridge:
  • formThe regression formula specified as the first argument.
  • dataName of the data.frame object specified as the second argument.
  • pNumber of regression predictor variables.
  • nNumber of complete observations after removal of all missing values.
  • r2Numerical value of R-square goodness-of-fit statistic.
  • s2Numerical value of the residual mean square estimate of error.
  • prinstatListing of principal statistics.
  • crlqstatListing of criteria for maximum likelihood selection of path Q-shape.
  • qmseNumerical value of Q-shape most likely to be optimal.
  • qpNumerical value of the Q-shape actually used for shrinkage.
  • coefMatrix of shrinkage-ridge regression coefficient estimates.
  • riskMatrix of MSE risk estimates for fitted coefficients.
  • exevMatrix of excess MSE eigenvalues (ordinary least squares minus ridge.)
  • infdMatrix of direction cosines for the estimated inferior direction, if any.
  • spatMatrix of shrinkage pattern multiplicative delta factors.
  • mlikListing of criteria for maximum likelihood selection of M-extent-of-shrinkage.
  • sextListing of summary statistics for all M-extents-of-shrinkage.

Details

Illconditioned and/or nearly multicollinear regression models are unlikely to produce Ordinary Least Squares (OLS) regression coefficient estimates that are very close, numerically, to their unknown true values. Specifically, OLS estimates can then tend to have "wrong" numerical signs and/or unreasable relative magnitudes, while shrunken (generalized ridge) estimates chosen to maximize their likelihood of reducing Mean Squared Error (MSE) Risk (expected loss) can be much more stable and reasonable, numerically. On the other hand, because only OLS estimates are quaranteed to be minimax when risk is matrix valued (truly multivariate), no guarantee of an actual reduction in MSE Risk is necessarily associated with shrinkage.

References

Goldstein M, Smith AFM. (1974) Ridge-type estimators for regression analysis. J. Roy. Stat. Soc. B 36, 284-291. (2-parameter shrinkage family.) Burr TL, Fry HA. (2005) Biased Regression: The Case for Cautious Application. Technometrics 47, 284-296. Obenchain RL. (2005) Shrinkage Regression: ridge, BLUP, Bayes, spline and Stein. Electronic book-in-progress (200+ pages.) http://members.iquest.net/~softrx/. Obenchain RL. (2010) RXshrink-R.PDF ../R_HOME/library/RXshrink/doc

See Also

RXtrisk and RXtsimu.

Examples

Run this code
data(longley2)
  form <- GNP~GNP.deflator+Unemployed+Armed.Forces+Population+Year+Employed
  rxrobj <- RXridge(form, data=longley2)
  rxrobj
  names(rxrobj)
  plot(rxrobj)

Run the code above in your browser using DataLab