当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R pspline 使用 pspline 基础平滑样条线


R语言 pspline 位于 survival 包(package)。

说明

指定预测变量的惩罚样条基础。这是通过拟合相对较小的一组样条曲线并惩罚积分二阶导数来完成的。传统的平滑样条每次观察使用一个基,但几位作者指出,对于大于约 2-3 倍自由度的任意数量的基函数,拟合的最终结果是无法区分的。 Eilers 和 Marx 指出,如果基函数均匀分布,这会导致计算显著简化,他们将结果称为p-spline。

用法

pspline(x, df=4, theta, nterm=2.5 * df, degree=3, eps=0.1, method,
   Boundary.knots=range(x), intercept=FALSE, penalty=TRUE, combine, ...)

psplineinverse(x)

参数

x

对于 psline:协变量向量。该函数不适用于因子变量。对于 psplineinverse x 将是 pspline 调用的结果。

df

所需的自由度。必须给出参数 dftheta ' 之一,但不能同时给出两者。如果 df=0 ,则 AIC = (loglik -df) 用于选择 "optimal" 自由度。如果选择 AIC,则可以使用可选参数“caic=T”来指定 Hurvich 等人的修正后的 AIC。等人。

theta

配合的粗糙度惩罚。它是自由度的单调函数,其中 theta=1 对应于线性拟合,theta=0 对应于 nterm 自由度的无约束拟合。

nterm

基础中样条的数量

degree

样条阶数

eps

df 的准确性

method

选择调整参数的方法theta。如果给出了 theta,则假定'fixed'。如果给出自由度,则假定'df'。如果 method='aic' 则使用 Akaike 信息准则自动选择自由度。

...

控制函数的可选参数

Boundary.knots

样条线在边界结之外是线性的。这些默认为数据范围。

intercept

如果为 TRUE,则基函数包括截距。

penalty

如果为 FALSE,则排除大量与惩罚拟合有关的属性。这对于创建用于其他用途的 pspline 基础矩阵很有用。

combine

可选的递增整数向量。如果combine 的两个相邻值相等,则拟合的相应系数被迫相等。这对于单调配合很有用,请参阅插图了解更多详细信息。

包含样条基础的 pspline, coxph.penalty 类对象,具有被 coxph 或 survreg 函数识别为惩罚项的适当属性。

对于 psplineinverse,原始 x 向量被重建。

例子

lfit6 <- survreg(Surv(time, status)~pspline(age, df=2), lung)
plot(lung$age, predict(lfit6), xlab='Age', ylab="Spline prediction")
title("Cancer Data")
fit0 <- coxph(Surv(time, status) ~ ph.ecog + age, lung)
fit1 <- coxph(Surv(time, status) ~ ph.ecog + pspline(age,3), lung)
fit3 <- coxph(Surv(time, status) ~ ph.ecog + pspline(age,8), lung)
fit0
fit1
fit3

参考

Eilers, Paul H. and Marx, Brian D. (1996). Flexible smoothing with B-splines and penalties. Statistical Science, 11, 89-121.

Hurvich, C.M. and Simonoff, J.S. and Tsai, Chih-Ling (1998). Smoothing parameter selection in nonparametric regression using an improved Akaike information criterion, JRSSB, volume 60, 271-293.

也可以看看

coxphsurvregridgefrailty

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Smoothing splines using a pspline basis。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。