| ad {SOP} | R Documentation |
Adaptive smooth terms in a SOP model formula
Description
Auxiliary function used to define adaptive smooth terms in a sop model formula. The function does not do any fitting but is used as part of a sop() model formula.
Usage
ad(..., nseg = 10, pord = 2, degree = 3, nseg.sp = 5, degree.sp = 3)
Arguments
... |
the x-variable (continuous) to be used for adaptive smoothing. Currently, only one dimensional adaptive smoothers are allowed. |
nseg |
the number of segments for the B-spline basis used to represent the smooth term. The default value is 10. |
pord |
penalty order. The defauly value is 2 (second order penalty). |
degree |
the order of the polynomial for the B-spline basis for this term. The default value is 3 (cubic B-splines). |
nseg.sp |
the number of segments for the B-spline basis used to ‘smooth’ the smoothing parameters. The default value is 5. |
degree.sp |
the order of the polynomial for the B-spline basis used for smoothing of the smoothing parameters. The default value is 3 (cubic B-splines). |
Details
The function ad() can be use to fit an adaptive smooth function of x.
An ‘adaptive’ smooth function is one in which the smoothing parameter is allowed to vary over the range of the explanatory variable x. Details can be found in Rodriguez-Alvarez at. al (2019).
Value
The function is interpreted in the formula of a sop model and creates the right framework for fitting the adaptive smoother. List containing the following objects:
vars |
name of the covariates involved in the adaptive smooth term. |
nseg |
the number of segments for the B-spline basis. |
pord |
the penalty order. |
degree |
the order of the polynomial for the B-Spline basis for this term. |
nseg.sp |
the number of segments for the B-spline basis used to ‘smooth’ the smoothing parameters. |
degree.sp |
the order of the polynomial for the B-spline basis used for smoothing of the smoothing parameters. |
dim |
The dimension of the smoother - i.e. the number of covariates that it is a function of. |
label |
labels terms. |
References
Rodriguez-Alvarez, M.X., Durban, M., Lee, D. J. and Eilers, P. (2019). On the estimation of variance parameters in non-standard generalised linear mixed models: application to penalised smoothing. Statistics and Computing, 29 (3), 483–500.
See Also
Examples
library(SOP)
# Simulate the data
set.seed(123)
n <- 1000
x <- runif(n, 0.0001, 1)
doppler.function <- function(x) sin(4 / (x + 0.1)) + 1.5
mu <- doppler.function(x)
sigma <- 0.2
y <- mu + sigma*rnorm(n)
dat <- data.frame(x = x, y = y)
# Fit the models
# With addaptive smoothing
m0 <- sop(formula = y ~ ad(x, nseg = 197, nseg.sp = 17), data = dat,
control = list(trace = FALSE, epsilon = 1e-03))
# Without addaptive smoothing
m1 <- sop(formula = y ~ f(x, nseg = 197), data = dat,
control = list(trace = FALSE, epsilon = 1e-03))
# Plot results
plot(y ~ x, data = dat)
ox <- order(dat$x)
lines(fitted(m0)[ox] ~ dat$x[ox], col = 2, lwd = 2)
lines(fitted(m1)[ox] ~ dat$x[ox], col = 4, lwd = 2)
legend("topright", c("Theoretical", "Adaptive", "Non Adaptive"),
col = c(1,2,4), lty = 1, lwd = 2, bty = "n")