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


R bs 多项式样条的 B 样条基础


R语言 bs 位于 splines 包(package)。

说明

生成多项式样条的 B-spline 基础矩阵。

用法

bs(x, df = NULL, knots = NULL, degree = 3, intercept = FALSE,
   Boundary.knots = range(x), warn.outside = TRUE)

参数

x

预测变量。允许缺失值。

df

自由度;可以指定 df 而不是 knotsbs() 然后在 x 的合适分位数处选择 df-degree(如果有截距则减一)结(这将忽略缺失值)。默认值 NULL ,将内部结的数量视为 length(knots) 。如果默认为零,则对应于 df = degree - intercept

knots

定义样条线的内部断点。默认值为 NULL ,这会产生普通多项式回归的基础。典型值是一个结的平均值或中位数,更多结的分位数。另请参阅Boundary.knots

degree

分段多项式的次数 - 对于三次样条,默认值为 3

intercept

如果 TRUE ,则基础中包含截距;默认为 FALSE

Boundary.knots

锚定 B-spline 基础的边界点(默认非 NA 数据的范围)。如果同时提供了knotsBoundary.knots,则基本参数不依赖于x。数据可以超出 Boundary.knots

warn.outside

logical 指示在某些 x 值位于边界结之外的情况下是否应发出 warning 信号。

细节

bs 基于函数 splineDesign 。它生成一个基础矩阵,用于表示具有指定内部结和次数的分段多项式族,并在 x 的值处进行评估。主要用途是在建模公式中直接指定模型中的分段多项式项。

什么时候Boundary.knots已设置里面 range(x),bs()现在在相应的边界结内使用‘pivot’,这对于导数评估很重要。在R版本 3.2.2中,边界结本身被用作枢轴,这导致了一些错误的外推。

维度为 c(length(x), df) 的矩阵,其中提供了 df,或者如果提供了 knots,则 df = length(knots) + degree 如果存在截距则加一。返回与 bs 的参数相对应的属性,并显式给出 knotsBoundary.knots 等以供 predict.bs() 使用。

例子

require(stats); require(graphics)
bs(women$height, df = 5)
summary(fm1 <- lm(weight ~ bs(height, df = 5), data = women))

## example of safe prediction
plot(women, xlab = "Height (in)", ylab = "Weight (lb)")
ht <- seq(57, 73, length.out = 200)
lines(ht, predict(fm1, data.frame(height = ht)))

作者

Douglas Bates and Bill Venables. Tweaks by R Core, and a patch fixing extrapolation “outside” Boundary.knots by Trevor Hastie.

参考

Hastie, T. J. (1992) Generalized additive models. Chapter 7 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

也可以看看

ns , poly , smooth.spline , predict.bs , SafePrediction

相关用法


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