In the GAMLSS implementation in R, the function gamlss() allows modelling all the distribution parameters μ, σ, ν and τ as linear and/or non-linear and/or ‘non- parametric’ smoothing functions of the explanatory variables. This allows the explanatory variables to effect the predictors, (the η’s), of the specific parameters and therefore the parameters themselves. As a result the shape of the distribution of the response variable, (not only the mean), is effected by the explanatory variables.
All the standard linear terms as used in the lm() and glm() functions can be used here. In addition the following smoothing additive term functions can be used:
- pb(), pbm(), pbz(), pbc(), and pvc(): based on P-splines,
- cs() and scs(): based on cubic splines,
- fp(): fractional polynomials,
- fk(): free knot smoothing (break points) in package gamlss.add,
- gmrf(): Gaussian Markov random fields (in package gamlss.spatial),
- lo(): local regression based on the loess() R function,
- nn(): neural network based on the function nnet() of the package nnet (in package gamlss.add),
- nl(), non-linear term fitting based on the nlm() R function (in package gamlss.nl),
- random() : simple random effect,
- re() : an interface for the lme() function of the package nlme,
- ri(): for ridge and lasso regression,
- ga(): an interface for the function gam() of Simon Wood from the package mvcv (in package gamlss.add),
- tr() : an interface for the function rpart() of package rpart (in package gamlss.add).
New additive terms can be added relatively easily to the gamlss() function.