[R] Fitting weibull, exponential and lognormal distributions to left-truncated data.
lgxlg1 at nottingham.ac.uk
Tue Oct 7 12:11:54 CEST 2008
I have two questions regarding distribution fitting.
I have several datasets, all left-truncated at x=1, that I am attempting
to fit distributions to (lognormal, weibull and exponential). I had
been using fitdistr in the MASS package as follows:
However, this does not take into consideration the truncation at x=1. I
read another posting in this forum that suggested using the argument
"lower" to truncate the distribution fitting. However, this does not
seem to be working. For example, when I attempt to fit a weibull
distribution truncated at x=1 using "lower", it seems to set the
best-fit shape parameter at 1:
(0.02358731) (0.40649570) ##I have tried this on other datasets also
truncated at x=1 and get the same result (i.e. shape=1).
Does anyone know how to successfully fit the exponential, weibull and
lognormal distributions to truncated data?
Secondly, as my datasets are large (>1000 data points) assessing the fit
of the distribution with kolmogorov smirnov goodness of fit tests is
routinely showing statistical significance for all distributions.
Therefore, I would like to plot the observed data with the theoretical
best fit distributions (weibull, exponential and lognormal) to visually
assess which fits the observed data best. So far I have been doing this
>D1<-density(x) ##density distribution of observed data
>D2<-density(rweibull(1500,shape=a,scale=b)) ##density of a random
variable following the theoretical best fit weibull distribution with
shape parameter =a, scale parameter = b.
This successfully plots the two density curves on the same graph, but it
plots data below the x=1 threshold - even for the observed data! I have
tried limiting the scale of x-axis using xlim=c(1,150) but the graph
still plots the origin of the graph as (0,0). I can only get different
origins if I limit x more extremely e.g. xlim=c(50,150). Does anyone
know how I can successfully change the origin of the graph to (1,0)?
Sorry for the long e-mail! Any help would be greatly appreciated.
This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
More information about the R-help