I am trying to fit a set of data to a Weibull distribution. Because the implementation requires that I put the data in the range of 0 < x < 1 I have a "normailze" function:
normalize <- function(x) { y <- (x-min(x)) / (max(x) - min(x)) y = y + 0.5 * (y == 0) -0.5 * (y == 1) return (y) } So the output to this normalize function is: normalize(c(93,34,16,120,53,75)) [1] 0.7403846 0.1730769 0.5000000 0.5000000 0.3557692 0.5673077 If I calculate the model parameters by hand (basically through a line fit) I get: $shape [1] 2.022953 $scale [1] 0.5528019 $r [1] 0.9661575 When I run fitdistr I get: fitdistr(normalize(c(93,34,16,120,53,75)), "weibull") shape scale 3.02746335 0.52969005 (1.01520182) (0.07482737) Warning messages: 1: In dweibull(x, shape, scale, log) : NaNs produced 2: In dweibull(x, shape, scale, log) : NaNs produced My first concern is the warnings. Why are the NaNs produced? Next is that values produced. I have used my "manual" method for some time now and I think it produces an accurate fit. The numbers produced by fitdistr are of the same order but they are still different than I would expect. So the combination of the warnings and the questionable response doesn't inspire my confidence. Am I doing something wrong? Thank you. Kevin ---- Ben Bolker <[EMAIL PROTECTED]> wrote: > > ~ The beta distribution only applies to data that are bounded > between 0 and 1 (in some cases strictly bounded, i.e. 0<x<1 not > just 0<=x<=1). > > ~ As a start, try something like > > d2 = (Diff-min(Diff)+0.001)/(max(Diff)-min(Diff)+0.002) > fitdistr(d2,densfun="beta",start=list(shape1=3,shape2=2)) > > ~ [cc'ing back to R-help for posterity ...] > > ~ Ben Bolker > > [EMAIL PROTECTED] wrote: > | OK. I see in the documentation that "start" is required for certain > distributions. Now I get: > | > | fitdistr(Diff, densfun="beta", list(shape1=3,shape2=2)) > | Error in optim(x = c(0, 516, 968, 703, 960, 32, 956, 1417, -92, 471, > 531, : > | initial value in 'vmmin' is not finite > | > | Any idea what vmmin is? And what the cause of the error is? > | > | Thanks again. > | > | Kevin > | ---- Ben Bolker <[EMAIL PROTECTED]> wrote: > |> <rkevinburton <at> charter.net> writes: > |> > |>> If I have some data that based on the historgram and other plots it > "looks" > |> like a beta distribution. Is there > |>> a function or functions within R to help me determine the model > parameters for > |> such a distirbution? > |> > |> > |> library(MASS) > |> ?fitdistr > |> ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.