[R] how to use quadrature to integrate some complicated	functions
    David Winsemius 
    dwinsemius at comcast.net
       
    Tue Nov  8 17:20:57 CET 2011
    
    
  
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.Shang.5 at 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
    
    
More information about the R-help
mailing list