scat: GAM scaled t family for heavy tailed data

scatR Documentation

GAM scaled t family for heavy tailed data

Description

Family for use with gam or bam, implementing regression for the heavy tailed response variables, y, using a scaled t model. The idea is that (y-\mu)/\sigma \sim t_\nu where mu is determined by a linear predictor, while \sigma and \nu are parameters to be estimated alongside the smoothing parameters.

Usage

scat(theta = NULL, link = "identity",min.df=3)

Arguments

theta

the parameters to be estimated \nu = b + \exp(\theta_1) (where ‘b’ is min.df) and \sigma = \exp(\theta_2). If supplied and both positive, then taken to be fixed values of \nu and \sigma. If any negative, then absolute values taken as starting values.

link

The link function: one of "identity", "log" or "inverse".

min.df

minimum degrees of freedom. Should not be set to 2 or less as this implies infinite response variance.

Details

Useful in place of Gaussian, when data are heavy tailed. min.df can be modified, but lower values can occasionally lead to convergence problems in smoothing parameter estimation. In any case min.df should be >2, since only then does a t random variable have finite variance.

Value

An object of class extended.family.

Author(s)

Natalya Pya (nat.pya@gmail.com)

References

Wood, S.N., N. Pya and B. Saefken (2016), Smoothing parameter and model selection for general smooth models. Journal of the American Statistical Association 111, 1548-1575 \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/01621459.2016.1180986")}

Examples

library(mgcv)
## Simulate some t data...
set.seed(3);n<-400
dat <- gamSim(1,n=n)
dat$y <- dat$f + rt(n,df=4)*2

b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=scat(link="identity"),data=dat)

b
plot(b,pages=1)


mgcv documentation built on May 29, 2024, 4:34 a.m.