-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ~ thanks! ~ Poisson+warning seems very sensible. ~ Looks like things start to get wonky around size=5e14 (this is for mu=1) but thinking a little harder about the numerical analysis will probably give a more precise criterion.
curve(dnbinom(1,mu=1,size=x),from=5e14,to=1e16,log="x",ylim=c(0.32,0.37)) ~ Ben Bolker Prof Brian Ripley wrote: | On Fri, 4 Jul 2008, Martin Maechler wrote: | |>>>>>> "BDR" == Prof Brian Ripley <[EMAIL PROTECTED]> |>>>>>> on Fri, 4 Jul 2008 09:02:21 +0100 (BST) writes: |> |> BDR> On Thu, 3 Jul 2008, Ben Bolker wrote: |> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 |> >> |> >> |> >> ~ turns out I don't need to look at the C code. |> >> |> >> ~ if one uses the mu/size parameterization of the |> >> negative binomial, R computes size/(size+mu) to switch |> >> parameterizations. If size>>mu this gets rounded to 1 |> >> ... should be easy enough to test and return NA under |> >> these circumstances? |> |> BDR> It is all vectorized, so not so easy. But why is NA |> BDR> appropriate, when a Poisson approximation seems more |> BDR> appropriate? |> |> yes, definitely more appropriate. |> |> BDR> The same issue affects [pqr]nbinom, of course. |> |> indeed. |> |> BDR> The short-term advice is of course 'don't do that' |> :-) |> |> BDR> but use a suitable approximation such as Poisson. Maybe |> BDR> there are reasons to support values of size > 1e10, but |> BDR> I suspect only for completeness and maybe it is better |> BDR> to at least give a warning. |> |> As you know I'm very much in favor of "completeness" here (and |> have already spent an unreasonable/unpayable amount of hours to |> achieve that in quite a few cases for R in the past). |> |> I'd much prefer a solution without a warning that used the |> appropriate approximation when needed. | | The argument for warning is that one possible reason for doing this is | to explore the difference between negative binomial and Poisson, and so | it would be helpful to be warned that a Poisson had been used (as we | warn in some other cases where accuracy is lost, if not entirely | consistently). | |> I'm now between a workshop and a week of vacation, so I am not |> promising anything, but I'd plan to get this fixed before the |> end of the summer. |> |> >> - -------------------------- |> >> ~ Check it out: |> >> |> >> curve(dnbinom(1,mu=0.5,size=x),log="x",from=1,to=1e18) |> >> abline(h=dpois(1,lambda=0.5),col=2,lty=2) |> >> text(1,dpois(1,lambda=0.5)+0.02,"Poisson",col=2,pos=4) |> |> a very nice example, thank you, Ben! |> |> Regards, Martin |> |> >> |> >> ~ I will take a look in the C code when I get a chance to |> >> see if I can offer a patch, but in the meantime wanted to |> >> alert people to this "feature" ... (it looks like I will |> >> have to go through dnbinom and dbinom_raw to see where |> >> the problem is ...) |> >> |> >> ~ Ben Bolker |> | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIbhrpc5UpGjwzenMRAmCsAJ91HwBzzl29NiJ+LyqpMEr9ROC2DgCeNoMC n+2CjBTgBn7uPXfr2lo5ydc= =Kcj0 -----END PGP SIGNATURE----- ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel