[R] What are the pros and cons of the log.p parameter in (p|q)norm and similar?
Michael Dewey
||@t@ @end|ng |rom dewey@myzen@co@uk
Fri Aug 6 18:02:42 CEST 2021
Sent off-list
Thanks Bill and Duncan. I only asked for advice but I got an education too.
Michael
On 03/08/2021 21:24, Bill Dunlap wrote:
> In maximum likelihood problems, even when the individual density values
> are fairly far from zero, their product may underflow to zero.
> Optimizers have problems when there is a large flat area.
> > q <- runif(n=1000, -0.1, +0.1)
> > prod(dnorm(q))
> [1] 0
> > sum(dnorm(q, log=TRUE))
> [1] -920.6556
>
> A more minor advantage for some probability-related functions is speed.
> E.g., dnorm(log=TRUE,...) does not need to evaluate exp().
> > q <- runif(1e6, -10, 10)
> > system.time(for(i in 1:100)dnorm(q, log=FALSE))
> user system elapsed
> 9.13 0.11 9.23
> > system.time(for(i in 1:100)dnorm(q, log=TRUE))
> user system elapsed
> 4.60 0.19 4.78
>
> -Bill
>
> On Tue, Aug 3, 2021 at 11:53 AM Duncan Murdoch <murdoch.duncan using gmail.com
> <mailto:murdoch.duncan using gmail.com>> wrote:
>
> On 03/08/2021 12:20 p.m., Michael Dewey wrote:
> > Short version
> >
> > Apart from the ability to work with values of p too small to be
> of much
> > practical use what are the advantages and disadvantages of
> setting this
> > to TRUE?
> >
> > Longer version
> >
> > I am contemplating upgrading various functions in one of my
> packages to
> > use this and as far as I can see it would only have the advantage of
> > allowing people to use very small p-values but before I go ahead
> have I
> > missed anything? I am most concerned with negatives but if there
> is any
> > other advantage I would mention that in the vignette. I am not
> concerned
> > about speed or the extra effort in coding and expanding the
> documentation.
> >
>
> These are often needed in likelihood problems. In just about any
> problem where the normal density shows up in the likelihood, you're
> better off working with the log likelihood and setting log = TRUE in
> dnorm, because sometimes you want to evaluate the likelihood very far
> from its mode.
>
> The same sort of thing happens with pnorm for similar reasons. Some
> likelihoods involve normal integrals and will need it.
>
> I can't think of an example for qnorm off the top of my head, but I
> imagine there are some: maybe involving simulation way out in the
> tails.
>
> The main negative about using logs is that they aren't always needed.
>
> Duncan Murdoch
>
> ______________________________________________
> R-help using r-project.org <mailto:R-help using r-project.org> mailing list --
> To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> <https://stat.ethz.ch/mailman/listinfo/r-help>
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> <http://www.R-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
>
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> Virus-free. www.avg.com
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
--
Michael
http://www.dewey.myzen.co.uk/home.html
More information about the R-help
mailing list