[R] Determining model parameters
Ben Bolker
bolker at ufl.edu
Fri Aug 8 22:08:17 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
rkevinburton at charter.net wrote:
| 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?
~ I don't think you're doing anything wrong. The warnings are
about the optimizer within fitdistr trying a few negative
values for shape or scale -- one way to double-check this is:
n = normalize(c(93,34,16,120,53,75))
mle2(n~dweibull(shape=sh,scale=sc),start=list(sh=0.5,sc=10),
~ method="L-BFGS-B",lower=c(0.002,0.002))
~ which runs a bounded search.
~ I can't really say anything about the discrepancy between
fitdistr/bbmle and your manual search without knowing more
about your method ...
~ Ben
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFInKexc5UpGjwzenMRAsXYAJ9vJmsuZKfYdqo9cgxZtcp6kbY/0wCffTFW
vlJlUdLusMHcuO1iipqaMLc=
=rbUl
-----END PGP SIGNATURE-----
More information about the R-help
mailing list