lo: Specify a loess fit in a GAMLSS formula

Description Usage Arguments Details Value Warning Note Author(s) References See Also Examples

View source: R/lo_new.R

Description

Allows the user to specify a loess fit within a GAMLSS model. This function is similar to the lo function in the gam implementation of package gam see Chambers and Hastie (1991).

The function vis.lo() allows plotting the results.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
lo(formula, control = lo.control(...), ...)
lo.control(span = 0.75, enp.target = NULL, 
          degree = 2, parametric = FALSE, drop.square = FALSE, 
          normalize = TRUE, family = c("gaussian", "symmetric"), 
          method = c("loess", "model.frame"), 
          surface = c("interpolate", "direct"), 
          statistics = c("approximate", "exact", "none"), 
          trace.hat = c("exact", "approximate"), 
          cell = 0.2, iterations = 4,iterTrace = FALSE, ...)
vis.lo(obj, se=-1, rug = FALSE, partial.resid = FALSE, 
          col.term = "darkred",  col.shaded = "gray", 
          col.res = "lightblue", col.rug = "gray", lwd.term = 1.5, 
          cex.res = 1, pch.res = par("pch"), 
          type = c("persp", "contour"), col.surface = "gray", 
          nlevels = 30, n.grid = 30, image = TRUE, ...)

Arguments

formula

a formula specifying the explanatory variables

control

a control to be passed to the loess function

...

extra arguments

span

the number of observations in a neighbourhood. This is the smoothing parameter for a loess fit.

enp.target

an alternative way to specify span, as the approximate equivalent number degrees of freedom to be used. See also the help file of the R function loess. For consistency with the older version of lo the effective degrees of freedom df can be also specified instead of span, e.g. df=5

degree

the degree of local polynomial; can be 1 or 2. See also the help file of loess

parametric

should any terms be fitted globally rather than locally? See the help file of loess

drop.square

for fits with more than one predictor and degree=2, should the quadratic term be dropped for particular predictors?. See also help file of loess

normalize

should the predictors be normalized to a common scale if there is more than one? See the help file of loess

family

if "gaussian" fitting is by least-squares, and if "symmetric" a re-descending M estimator is used with Tukey's biweight function. See the help file of loess

method

fit the model or just extract the model frame. See the help file of loess

surface

should the fitted surface be computed exactly or via interpolation from a kd tree? See also the help file of loess.control

statistics

should the statistics be computed exactly or approximately? See the help file of loess.control

trace.hat

should the trace of the smoother matrix be computed exactly or approximately? See the help file of loess.control

cell

if interpolation is used this controls the accuracy of the approximation via the maximum number of points in a cell in the kd tree. See the help file of loess.control

iterations

the number of iterations used in robust fitting. See the help file of loess.control

iterTrace

logical (or integer) determining if tracing information during the robust iterations (iterations>= 2) is produced. See the help file of loess.control

obj

an lowss object fitted within gamlss

se

if se>0 then stadard erros surfanes are drawn in the 3-dimentional plot. Set se at the required level i.e se=1.96 will be an approximated 95% CI.

rug

whether to plot a rug in the plot

partial.resid

whether to plot the partial residuals

col.term

the colour of the line of fitted term

cex.res

the shading of standard

col.shaded

the shading of standard error intervals

col.res

the colour of partial residuals

col.rug

the colour of the rug

lwd.term

the width of the line

pch.res

The character for the partial residuals

type

The type of the plot if the x's are two dimensional

col.surface

the colour of the fitted surface

nlevels

the number of levels used in cotour() plot.

n.grid

The number of points to evaluate the surface

image

whether to use image() or just contour

Details

Note that lo itself does no smoothing; it simply sets things up for the function gamlss.lo() which is used by the backfitting function gamlss.add().

Value

a loess object is returned.

Warning

In this version the first argument is a formula NOT a list as in the previous one

Note

Note that lo itself does no smoothing; it simply sets things up for gamlss.lo() to do the backfitting.

Author(s)

Mikis Stasinopoulos d.stasinopoulos@londonmet.ac.uk, Bob Rigby, (The original lo() function was based on the Trevor Hastie's S-plus lo() function. See also the documentation of the loess function for the authorship of the function.

References

Chambers, J. M. and Hastie, T. J. (1991). Statistical Models in S, Chapman and Hall, London.

Rigby, R. A. and Stasinopoulos D. M. (2005). Generalized additive models for location, scale and shape,(with discussion), Appl. Statist., 54, part 3, pp 507-554.

Rigby, R. A., Stasinopoulos, D. M., Heller, G. Z., and De Bastiani, F. (2019) Distributions for modeling location, scale, and shape: Using GAMLSS in R, Chapman and Hall/CRC. An older version can be found in https://www.gamlss.com/.

Stasinopoulos D. M. Rigby R.A. (2007) Generalized additive models for location scale and shape (GAMLSS) in R. Journal of Statistical Software, Vol. 23, Issue 7, Dec 2007, https://www.jstatsoft.org/v23/i07/.

Stasinopoulos D. M., Rigby R.A., Heller G., Voudouris V., and De Bastiani F., (2017) Flexible Regression and Smoothing: Using GAMLSS in R, Chapman and Hall/CRC.

(see also https://www.gamlss.com/).

See Also

cs, random,

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# fitting a loess curve with span=0.4 plus the a quarterly  effect 
aids1<-gamlss(y~lo(~x,span=0.4)+qrt,data=aids,family=PO) # 
term.plot(aids1, page=1)
## Not run: 
r1 <- gamlss(R~lo(~Fl)+lo(~A), data=rent, family=GA)
 term.plot(r1, pages=1)
 vis.lo(getSmo(r1, which=1), partial=T)
r2 <- gamlss(R~lo(~Fl+A), data=rent, family=GA)
 term.plot(r2, pages=1)
 vis.lo(getSmo(r2, which=1))
 vis.lo(getSmo(r2, which=1), se=1.97)
 vis.lo(getSmo(r2, which=1), partial.res=T)

## End(Not run)

gamlss documentation built on March 31, 2021, 5:10 p.m.