Learn R Programming

lrmest (version 3.0)

rid: Ordinary Ridge Regression Estimator

Description

This function can be used to find the Ordinary Ridge Regression Estimated values and corresponding scalar Mean Square Error (MSE) value. Further the variation of MSE can be determined graphically.

Usage

rid(formula, k, data = NULL, na.action, ...)

Arguments

formula
in this section interested model should be given. This should be given as a formula.
k
a single numeric value or a vector of set of numeric values. See Examples.
data
an optional data frame, list or environment containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which the function is called.
na.action
if the dataset contain NA values, then na.action indicate what should happen to those NA values.
...
currently disregarded.

Value

  • If k is a single numeric values then rid returns the Ordinary Ridge Regression Estimated values, standard error values, t statistic values, p value and corresponding scalar MSE value. If k is a vector of set of numeric values then rid returns all the scalar MSE values and corresponding parameter values of Ordinary Ridge Regression Estimator.

Details

Since formula has an implied intercept term, use either y ~ x - 1 or y ~ 0 + x to remove the intercept. Use plot so as to obtain the variation of scalar MSE values graphically. See Examples.

References

Hoerl, A.E. and Kennard, R.W. (1970) Ridge Regression Biased estimation for non orthogonal problem, 12, pp.55--67.

See Also

plot

Examples

Run this code
## Portland cement data set is used.
data(pcd)
k<-0.01
rid(Y~X1+X2+X3+X4-1,k,data=pcd)  # Model without the intercept is considered.
 
 ## To obtain the variation of MSE of Ordinary Ridge Regression Estimator.
data(pcd)
k<-c(0:10/10)
plot(rid(Y~X1+X2+X3+X4-1,k,data=pcd),
main=c("Plot of MSE of Ordinary Ridge Regression Estimator"),
type="b",cex.lab=0.6,adj=1,cex.axis=0.6,cex.main=1,las=1,lty=3,cex=0.6)
mseval<-data.frame(rid(Y~X1+X2+X3+X4-1,k,data=pcd))
smse<-mseval[order(mseval[,2]),]
points(smse[1,],pch=16,cex=0.6)

Run the code above in your browser using DataLab