R: Extract Predictor Values and Standard Errors For New Data In...

predict.gamlss {gamlss} | R Documentation

## Extract Predictor Values and Standard Errors For New Data In a GAMLSS Model

### Description

`predict.gamlss` is the GAMLSS specific method which produce predictors for a new data set for a specified parameter from a GAMLSS objects. The `predict.gamlss` can be used to extract the linear predictors, fitted values and specific terms in the model at new data values in the same way that the `predict.lm()` and `predict.glm()` functions can be used for `lm` or `glm` objects. Note that linear predictors, fitted values and specific terms in the model at the current data values can also be extracted using the function `lpred()` (which is called from predict if new data is NULL).

### Usage

    ## S3 method for class 'gamlss'
    predict(object, what = c("mu", "sigma", "nu", "tau"),
                    parameter= NULL,
                    newdata = NULL, type = c("link", "response", "terms"),
                    terms = NULL, se.fit = FALSE, data = NULL, ...)
    predictAll(object, newdata = NULL, type = c("response", "link", "terms"),
                    terms = NULL, se.fit = FALSE, use.weights = FALSE,
                    data = NULL, y.value = "median",
                    set.to = .Machine$double.xmin,
                    output = c("list", "matrix"), ...)

### Arguments

`object` | a GAMLSS fitted model
`what` | which distribution parameter is required, default `what="mu"`
`parameter` | equivalent to `what`
`newdata` | a data frame containing new values for the explanatory variables used in the model
`type` | the default, gets the linear predictor for the specified distribution parameter. `type="response"` gets the fitted values for the parameter while `type="terms"` gets the fitted terms contribution
`terms` | if `type="terms"`, which terms to be selected (default is all terms)
`se.fit` | if TRUE the approximate standard errors of the appropriate type are extracted if exist
`use.weights` | if `use.weights=TRUE` the old data and the `newdata` are merged and the model is refitted with weights equal to the prior weights for the old data observationa and equal to a very small value (see option `set.to`) for the .`newdata` values. This trick allows to obtain standard errors for all parameters
`data` | the data frame used in the original fit if is not defined in the call
`y.value` | how to get the response values for the `newdata` if they do not exist. The default is taking the median, `y.value="median"`. Other function like "max", "min" are alloed. Also numerical values.
`set.to` | what values the weights for the `newdata` should take
`output` | whether the output to be a ‘list’ (default) or a 'matrix'
`...` | for extra arguments

### Details

The predict function assumes that the object given in `newdata` is a data frame containing the right x-variables used in the model. This could possible cause problems if transformed variables are used in the fitting of the original model. For example, let us assume that a transformation of age is needed in the model i.e. `nage<-age^.5`. This could be fitted as `mod<-gamlss(y~cs(age^.5),data=mydata)` or as `nage<-age^.5; mod<-gamlss(y~cs(nage), data=mydata)`. The later could more efficient if the data are in thousands rather in hundreds. In the first case, the code `predict(mod,newdata=data.frame(age=c(34,56)))` would produce the right results. In the second case a new data frame has to be created containing the old data plus any new transform data. This data frame has to be declared in the `data` option. The option `newdata` should contain a data.frame with the new names and the transformed values in which prediction is required, (see the last example).

### Value

A vector or a matrix depending on the options.

### Note

This function is under development

### Author(s)

Mikis Stasinopoulos

### References

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.

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, http://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 http://www.gamlss.org/).

### See Also

`lp`, `lpred`

### Examples

    data(aids)
    a<-gamlss(y~poly(x,3)+qrt, family=PO, data=aids) #
    newaids<-data.frame(x=c(45,46,47), qrt=c(2,3,4))
    ap <- predict(a, newdata=newaids, type = "response")
    ap
    # now getting all the parameters
    predictAll(a, newdata=newaids)
    rm(a, ap)
    data(abdom)
    # transform x
    aa<-gamlss(y~cs(x^.5),data=abdom)
    # predict at old values
    predict(aa)[610]
    # predict at new values
    predict(aa,newdata=data.frame(x=42.43))
    # now transform x first
    nx<-abdom$x^.5
    aaa<-gamlss(y~cs(nx),data=abdom)
    # create a new data frame
    newd<-data.frame( abdom, nx=abdom$x^0.5)
    # predict at old values
    predict(aaa)[610]
    # predict at new values
    predict(aaa,newdata=data.frame(nx=42.43^.5), data=newd)

[Package gamlss version 5.0-2 Index]