model.matrix {npreg} | R Documentation |
Construct Design Matrix for Fit Model
Description
model.matrix
returns the design (or model) matrix used by the input object
to produce the fitted values (for objects of class ss
or sm
) or the linear predictors (for objects of class gsm
).
Usage
## S3 method for class 'ss'
model.matrix(object, ...)
## S3 method for class 'sm'
model.matrix(object, ...)
## S3 method for class 'gsm'
model.matrix(object, ...)
Arguments
object |
|
... |
additional arguments (currently ignored) |
Details
For ss
objects, the basis.poly
function is used to construct the design matrix.
For sm
objects, the predict.sm
function with option design = TRUE
is used to construct the design matrix.
For gsm
objects, the predict.gsm
function with option design = TRUE
is used to construct the design matrix.
Value
The design matrix that is post-multiplied by the coefficients to produce the fitted values (or linear predictors).
Author(s)
Nathaniel E. Helwig <helwig@umn.edu>
References
Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
Helwig, N. E. (2020). Multiple and Generalized Nonparametric Regression. In P. Atkinson, S. Delamont, A. Cernat, J. W. Sakshaug, & R. A. Williams (Eds.), SAGE Research Methods Foundations. doi:10.4135/9781526421036885885
See Also
basis.poly
for the smoothing spline basis
predict.sm
for predicting from smooth models
predict.gsm
for predicting from generalized smooth models
Examples
# generate data
set.seed(1)
n <- 100
x <- seq(0, 1, length.out = n)
fx <- 2 + 3 * x + sin(2 * pi * x)
y <- fx + rnorm(n, sd = 0.5)
# smoothing spline
mod.ss <- ss(x, y, nknots = 10)
X.ss <- model.matrix(mod.ss)
mean((mod.ss$y - X.ss %*% mod.ss$fit$coef)^2)
# smooth model
mod.sm <- sm(y ~ x, knots = 10)
X.sm <- model.matrix(mod.sm)
mean((mod.sm$fitted.values - X.sm %*% mod.sm$coefficients)^2)
# generalized smooth model (family = gaussian)
mod.gsm <- gsm(y ~ x, knots = 10)
X.gsm <- model.matrix(mod.gsm)
mean((mod.gsm$linear.predictors - X.gsm %*% mod.gsm$coefficients)^2)