On Nov 8, 2011, at 9:43 AM, R. Michael Weylandt wrote:

Have you tried wrapping it in a function and using integrate()? R is pretty good at handling numerical integration. If integrate() isn't good for you, can you say more as to why?

Michael


On Nov 6, 2011, at 4:15 PM, JeffND <zuofeng.shan...@nd.edu> wrote:

Hello to all,

I am having trouble with intregrating a complicated uni-dimensional function
of the following form

Phi(x-a_1)*Phi(x-a_2)*...*Phi(x-a_{n-1})*phi(x-a_n).

Here n is about 5000, Phi is the cumulative distribution function of
standard normal,
phi is the density function of standard normal, and x ranges over
(-infty,infty).


The density of a standard normal is very tractable mathematically. Why wouldn't you extract the arguments and sum them before submitting to integration ... which also might not be needed since pnorm could economically provide the answer. Perhaps with limits a, b:

suitable_norm_factor*
   pnorm(
dnorm( sum(x-a_1, x-a_2, ..., x-a_{n-1}, x-a_n) ), a, lower.tail=FALSE) ) -
   pnorm(
dnorm( sum(x-a_1, x-a_2, ..., x-a_{n-1}, x-a_n) ), b, lower.tail=FALSE) ) )


My idea is to to use quadrature to handle this integral. But since Phi has
not cloaed form,
I don't know how to do this effeciently. I appreciate very much if someone
has any ideas about it.

If efficiency is desired ... use mathematical theory to maximum extent before resorting to pickaxes.

--
David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to