Specify a Smoothing Spline Fit in a GAM Formula
A symbolic wrapper to indicate a smooth term in a formala argument to gam
s(x, df=4, spar=1) gam.s(x, y, w, df, spar, xeval)
x |
the univariate predictor, or expression, that evaluates to a numeric vector. |
df |
the target equivalent degrees of freedom, used as a smoothing
parameter. The real smoothing parameter ( |
spar |
can be used as smoothing parameter, with values typically in
|
y |
a response variable passed to |
w |
weights |
xeval |
If this argument is present, then |
s
returns the vector x
, endowed with a number of
attributes. The vector itself is used in the construction of the model
matrix, while the attributes are needed for the backfitting algorithms
general.wam
(weighted additive model) or s.wam
.
Since smoothing splines reproduces linear fits, the linear
part will be efficiently computed with the other parametric linear parts
of the model.
Note that s
itself does no smoothing; it simply sets things up
for gam
.
One important attribute is named call
. For example, s(x)
has a call component
gam.s(data[["s(x)"]], z, w, spar = 1, df = 4)
.
This is an expression that gets evaluated repeatedly in general.wam
(the backfitting algorithm).
gam.s
returns an object with components
residuals |
The residuals from the smooth fit. Note that the
smoother removes the parametric part of the fit (using a linear fit
in |
nl.df |
the nonlinear degrees of freedom |
var |
the pointwise variance for the nonlinear fit |
When gam.s
is evaluated with an xeval
argument, it returns a
vector of predictions.
Written by Trevor Hastie, following closely the design in the "Generalized Additive Models" chapter (Hastie, 1992) in Chambers and Hastie (1992).
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.
Hastie, T. and Tibshirani, R. (1990) Generalized Additive Models. London: Chapman and Hall.
Cantoni, E. and hastie, T. (2002) Degrees-of-freedom tests for smoothing splines, Biometrika 89(2), 251-263
lo
, smooth.spline
, bs
, ns
, poly
# fit Start using a smoothing spline with 4 df. y ~ Age + s(Start, 4) # fit log(Start) using a smoothing spline with 5 df. y ~ Age + s(log(Start), df=5)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.