É possível integrar analiticamente


10

Em primeiro lugar, ao integrar analiticamente, quero dizer, existe uma regra de integração para resolver isso, em oposição às análises numéricas (como as regras trapezoidal, Gauss-Legendre ou Simpson)?

Eu tenho uma função onde g ( x ; μ , σ ) = 1f(x)=xg(x;μ,σ) é a função de densidade de probabilidade de uma distribuição lognormal com os parâmetrosμeσ. Abaixo, abreviarei a notação parag(x)e usareiG(x)para a função de distribuição cumulativa.

g(x;μ,σ)=1σx2πe12σ2(log(x)μ)2
μσg(x)G(x)

Preciso calcular a integral

umabf(x)dx.

Atualmente, estou fazendo isso com integração numérica usando o método Gauss-Legendre. Como eu preciso executar isso várias vezes, o desempenho é importante. Antes de procurar otimizar as análises numéricas / outras partes, gostaria de saber se existem regras de integração para resolver isso.

Tentei aplicar a regra de integração por partes e cheguei a isso, onde estou preso novamente,

  1. .vocêdv=vocêv-vdvocê

  2. você=xdvocê=dx

  3. dv=g(x)dxv=G(x)

  4. vocêv-vdx=xG(x)-G(x)dx

Estou preso, pois não posso avaliar .G(x)dx

Isto é para um pacote de software que estou construindo.


@Rosh, por te de densidade da probabilidade média de distribuição log-normal? euognormumaeu
precisa saber é o seguinte

11
Isso é expressável como tempos constantes, uma diferença de dois cdfs normais. Os cdfs normais são eficientemente calculados usando a aproximação racional de Chebyshev de W. Cody. Você não deve precisar e, quase sem dúvida, não deve preferir alternativas de integração numérica a isso. Se você precisar de mais detalhes, eu posso publicá-los.
cardeal

@mpiktas, Sim, lognormal é a função de densidade de probabilidade e lognormalCDF é a função de densidade cumulativa.
Rosh

3
@Rosh tem uma distribuição lognormal significa que o log ( x ) é normalmente distribuído. Assim, substitua x = exp ( y ) na sua integral original . O integrando é um exponencial cujo argumento é uma função quadrática de y . A conclusão do quadrado transforma-o em um múltiplo de um PDF normal; portanto, sua resposta é escrita em termos do CDF normal e dos exponenciais dos pontos de extremidade originais. Existem muitas boas aproximações ao CDF normal (um múltiplo da função de erro). xregistro(x)x=exp(y)y
whuber

11
Sim, @whuber e eu estávamos descrevendo a mesma coisa. Você deve obter algo como ondeβ=(log(b)-(μ+σ2))/σeα=(log(a)-(μ+σ2))/σeΦ()eμ+1 12σ2(Φ(β)-Φ(α))β=(registro(b)-(μ+σ2))/σα=(registro(uma)-(μ+σ2))/σΦ()denota o cdf normal. Observe que, dependendo dos valores de , b , μ e σ , há maneiras de reescrever essa expressão para ser mais numericamente estável. umabμσ
cardeal

Respostas:


15

Resposta curta : Não, não é possível, pelo menos em termos de funções elementares. No entanto, existem algoritmos numéricos muito bons (e razoavelmente rápidos!) Para calcular essa quantidade e devem ser preferidos a qualquer técnica de integração numérica nesse caso.

Quantidade de interesse em termos de cdf normal

A quantidade na qual você está interessado está realmente relacionada à média condicional de uma variável aleatória lognormal. Isto é, se é distribuído como um log-normal com parâmetros μ e σ , em seguida, utilizando a sua notação, b um f ( x ) d x = b um 1Xμσ

umabf(x)dx=umab1 1σ2πe-1 12σ2(registro(x)-μ)2dx=P(umaXb)E(XumaXb).

z=(registro(x)-(μ+σ2))/σx=eμ+σ2eσz

umabf(x)dx=eμ+1 12σ2αβ1 12πe-1 12z2dz,
α=(registro(uma)-(μ+σ2))/σβ=(registro(b)-(μ+σ2))/σ .

umabf(x)dx=eμ+1 12σ2(Φ(β)-Φ(α)),
Φ(x)=-x1 12πe-z2/2dz

Aproximação numérica

Φ(x)

Assim, resta usar um algoritmo numérico para aproximar a quantidade desejada. Isso pode ser feito dentro do ponto flutuante de precisão dupla IEEE através de um algoritmo do WJ Cody's. É o algoritmo padrão para esse problema e, utilizando expressões racionais de uma ordem bastante baixa, também é bastante eficiente.

Aqui está uma referência que discute a aproximação:

WJ Cody, aproximações do Rational Chebyshev para a função de erro , matemática. Comp. , 1969, pp.631-637.

R

Aqui está uma pergunta relacionada, caso você esteja interessado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.