This function can be used to fit truncated distributions. It takes as an argument an existing GAMLSS family distribution and
a parameter vector, of the type c(left.value, right.value), and generates a `gamlss.family`

object which then can be used to fit
a truncated distribution.

1 2 |

`par` |
a scalar for left and right truncation or a vector of the type c(left.value, right.value) for interval truncation |

`family` |
an existing |

`type` |
what type of truncation is required, |

`name` |
a character string to be added to name of the created object i.e. with |

`local` |
if TRUE the function will try to find the environment of |

`delta` |
the delta increment used in the numerical derivatives |

`...` |
for extra arguments |

This function is created to help the user to fit a truncated form of existing `gamlss`

distribution.
It does this by taking an existing `gamlss.family`

and changing some of the components of the distribution to help the fitting process.
It particular it i) creates a pdf (`d`

) and a cdf (`p`

) function within `gamlss`

,
ii) changes the global deviance function `G.dev.incr`

, the first derivative functions (see note below) and the quantile residual function.

It returns a `gamlss.family`

object which has all the components needed for fitting a distribution in `gamlss`

.

This function is experimental and could be changed. The function `trun`

changes
the first derivatives of the original gamlss family `d`

function to numerical derivatives
for the new truncated `d`

function. The default increment `delta`

,
for this numerical derivatives function, is `eps * pmax(abs(x), 1)`

where
`eps<-sqrt(.Machine$double.eps)`

. The default `delta`

could be inappropriate
for specific applications and can be overwritten by using the argument `delta`

.

Mikis Stasinopoulos d.stasinopoulos@londonmet.ac.uk and Bob Rigby r.rigby@londonmet.ac.uk

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. and Akantziliotou C. (2003) Instructions on how to use the GAMLSS package in R. Accompanying documentation in the current GAMLSS help files, (see also http://www.gamlss.com/).

`trun.d`

, `trun.p`

, `trun.q`

, `trun.r`

, `gen.trun`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ```
# generate a left truncated zero t family
gen.trun(0,family="TF")
# take a random sample of 1000 observations
sam<-rTFtr(1000,mu=10,sigma=5, nu=5 )
hist(sam)
# fit the distribution to the data
mod1<-gamlss(sam~1, family=trun(0,TF))
mod1
# now create a gamlss.family object before the fitting
Ttruc.Zero<- trun(par=0,family=TF, local=FALSE)
mod2<-gamlss(sam~1, family=Ttruc.Zero)
# now check the sensitivity of delta
Ttruc.Zero<- trun(par=0,family=TF, local=FALSE, delta=c(0.01,0.01, 0.01))
mod3<-gamlss(sam~1, family=Ttruc.Zero)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.