當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。