ridge
Ridge regression
Description
When used in a coxph or survreg model formula, specifies a ridge regression term. The likelihood is penalised by theta
/2 time the sum of squared coefficients. If scale=T
the penalty is calculated for coefficients based on rescaling the predictors to have unit variance. If df
is specified then theta
is chosen based on an approximate degrees of freedom.
Usage
ridge(..., theta, df=nvar/2, eps=0.1, scale=TRUE)
Arguments
... | predictors to be ridged |
theta | penalty is |
df | Approximate degrees of freedom |
eps | Accuracy required for |
scale | Scale variables before applying penalty? |
Value
An object of class coxph.penalty
containing the data and control functions.
Note
If the expression ridge(x1, x2, x3, ...)
is too many characters long then the internal terms() function will add newlines to the variable name and then the coxph routine simply gets lost. (Some labels will have the newline and some won't.) One solution is to bundle all of the variables into a single matrix and use that matrix as the argument to ridge
so as to shorten the call, e.g. mdata$many <- as.matrix(mydata[,5:53])
.
References
Gray (1992) "Flexible methods of analysing survival data using splines, with applications to breast cancer prognosis" JASA 87:942–951
See Also
Examples
coxph(Surv(futime, fustat) ~ rx + ridge(age, ecog.ps, theta=1), ovarian) lfit0 <- survreg(Surv(time, status) ~1, lung) lfit1 <- survreg(Surv(time, status) ~ age + ridge(ph.ecog, theta=5), lung) lfit2 <- survreg(Surv(time, status) ~ sex + ridge(age, ph.ecog, theta=1), lung) lfit3 <- survreg(Surv(time, status) ~ sex + age + ph.ecog, lung)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.