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.
a scalar for left and right truncation or a vector of the type c(left.value, right.value) for interval truncation
what type of truncation is required,
a character string to be added to name of the created object i.e. with
if TRUE the function will try to find the environment of
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
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
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
This function is experimental and could be changed. The function
the first derivatives of the original gamlss family
d function to numerical derivatives
for the new truncated
d function. The default increment
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
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/).
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.