confint.fderiv {gratia} | R Documentation |
Point-wise and simultaneous confidence intervals for derivatives of smooths
Description
Calculates point-wise confidence or simultaneous intervals for the first derivatives of smooth terms in a fitted GAM.
Usage
## S3 method for class 'fderiv'
confint(
object,
parm,
level = 0.95,
type = c("confidence", "simultaneous"),
nsim = 10000,
ncores = 1L,
...
)
Arguments
object |
an object of class |
parm |
which parameters (smooth terms) are to be given intervals as a vector of terms. If missing, all parameters are considered. |
level |
numeric, |
type |
character; the type of interval to compute. One of |
nsim |
integer; the number of simulations used in computing the simultaneous intervals. |
ncores |
number of cores for generating random variables from a
multivariate normal distribution. Passed to |
... |
additional arguments for methods |
Value
a data frame with components:
-
term
; factor indicating to which term each row relates, -
lower
; lower limit of the confidence or simultaneous interval, -
est
; estimated derivative -
upper
; upper limit of the confidence or simultaneous interval.
Author(s)
Gavin L. Simpson
Examples
load_mgcv()
dat <- data_sim("eg1", n = 1000, dist = "normal", scale = 2, seed = 2)
mod <- gam(y ~ s(x0) + s(x1) + s(x2) + s(x3), data = dat, method = "REML")
# new data to evaluate the derivatives at, say over the middle 50% of range
# of each covariate
middle <- function(x, n = 25, coverage = 0.5) {
v <- (1 - coverage) / 2
q <- quantile(x, prob = c(0 + v, 1 - v), type = 8)
seq(q[1], q[2], length = n)
}
new_data <- sapply(dat[c("x0", "x1", "x2", "x3")], middle)
new_data <- data.frame(new_data)
## first derivatives of all smooths...
fd <- fderiv(mod, newdata = new_data)
## point-wise interval
ci <- confint(fd, type = "confidence")
ci
## simultaneous interval for smooth term of x2
x2_sint <- confint(fd,
parm = "x2", type = "simultaneous",
nsim = 10000, ncores = 2
)
x2_sint