Diferença de duas variáveis ​​aleatórias lognormal iid


23

Seja e dois locais onde . Gostaria de saber a distribuição para .X 2 log ( X 1 ) , log ( X 2 ) N ( μ , σ ) X 1 - X 2X1X2registro(X1),registro(X2)N(μ,σ)X1-X2

O melhor que posso fazer é pegar a série Taylor de ambos e entender que a diferença é a soma da diferença entre dois rv normais e dois qui-quadrado, além do restante da diferença entre os demais termos. Existe uma maneira mais direta de obter a distribuição da diferença entre 2 rv log-id normais?


Aqui está um artigo relevante. Você encontrará mais artigos pesquisando no Google! papers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen

1
Dei uma olhada superficial naquele artigo e não parece responder à minha pergunta de maneira satisfatória. Eles parecem estar preocupados com aproximações numéricas para o problema mais difícil de encontrar a distribuição para a soma / diferença entre rvs lognormais correlacionados . Eu esperava que houvesse uma resposta mais simples para o caso independente.
Frayedchef 18/05/19

2
Pode ser uma resposta mais simples no caso independente, mas não simples! O caso lognormal é um caso difícil conhecido como --- a função geradora de momento da distribuição lognormal não existe --- ou seja, não converge para um intervalo aberto que contém zero. Portanto, você não encontrará uma solução fácil.
Kjetil b halvorsen

Entendo ... Então, a abordagem que descrevi acima seria razoável? (isto é, se , X 1 - X 2( Y 1 - Y 2 ) + ( Y 2 1 - Y 2 2 ) / 2 +YEu=registro(XEu)Sabemos alguma coisa sobre os termos de ordem superior ou como vinculá-los? X1-X2(Y1-Y2)+(Y12-Y22)/2+...
Freddchef 18/05/19

1
Para ilustrar a dificuldade --- o logf normal mgf é definido apenas em . Para aproximar a distribuição das diferenças pelos métodos do ponto de sela, precisamos (K = cumulante de gf) K ( s ) + K ( - s ) , e . essa soma só é definida em um só ponto, zero, de modo, não parece ao trabalho soma ou média seria mais simples.!(-,0 0]K(s)+K(-s)
b Kjetil Halvorsen

Respostas:


15

Este é um problema difícil. Pensei primeiro em usar (alguma aproximação) a função geradora de momento da distribuição lognormal. Isso não funciona, como explicarei. Mas primeiro alguma notação:

Deixe ser a densidade normal padrão e Φ a correspondente função de distribuição cumulativa. Nós só irá analisar a distribuição log-normal caso l n N ( 0 , 1 ) , que tem a função de densidade de f ( x ) = 1ϕΦlnN(0,1) e função de distribuição cumulativa F(x)=Φ(lnx) Suponha queXeYsejam variáveis ​​aleatórias independentes com a distribuição lognormal acima. Estamos interessados ​​na distribuição deD=X-Y, que é uma distribuição simétrica com média zero. VamosM(t)=Ede etXser a função geradora momento deX. É definido apenas parat

f(x)=12πxe12(lnx)2
F(x)=Φ(emx)
XYD=XYM(t)=EetXX , portanto não definido em um intervalo aberto contendo zero. A função geradora de momentos para D é M D ( t ) = E e t ( X - Y ) = E e t X E e - t Y = M ( t ) M ( - t ) Portanto, a função geradora de momento para D é definida apenas para t = 0t(,0]DMD(t)=Eet(XY)=EetXEe-tY=M(t)M(-t)Dt=0 0, então não é muito útil.

Dt0 0

P(Dt)=P(X-Yt)=0 0P(X-yt|Y=y)f(y)dy=0 0P(Xt+y)f(y)dy=0 0F(t+y)f(y)dy
t<0 0P(Dt)=1-P(D|t|)

Esta expressão pode ser usada para integração numérica ou como base para simulação. Primeiro um teste:

 integrate(function(y) plnorm(y)*dlnorm(y), lower=0,  upper=+Inf)
  0.5 with absolute error < 2.3e-06

o que é claramente correto. Vamos encerrar isso dentro de uma função:

pDIFF  <-  function(t) {
    d  <-  t
    for (tt in seq(along=t)) {
        if (t[tt] >= 0.0) d[tt] <- integrate(function(y) plnorm(y+t[tt])*dlnorm(y),
                                         lower=0.0,  upper=+Inf)$value else
                          d[tt] <- 1-integrate(function(y) plnorm(y+abs(t[tt]))*dlnorm(y),
                                         lower=0.0, upper=+Inf)$value
    }
    return(d)
}

> plot(pDIFF,  from=-5,  to=5)

que dá:

função de distribuição cumulativa encontrada pela integração numérica

Então podemos encontrar a função densidade, diferenciando-se sob o sinal integral, obtendo

dDIFF  <-  function(t) {
       d  <- t; t<- abs(t)
       for (tt in seq(along=t)) {
           d[tt]  <-  integrate(function(y) dlnorm(y+t[tt])*dlnorm(y),
                                lower=0.0,  upper=+Inf)$value
       }
       return(d)
}

que podemos testar:

> integrate(dDIFF,  lower=-Inf,  upper=+Inf)
0.9999999 with absolute error < 1.3e-05

E plotando a densidade que obtemos:

plot(dDIFF,  from=-5,  to=5)

função densidade encontrada por integração numérica

Também tentei obter alguma aproximação analítica, mas até agora não obtive sucesso, não é um problema fácil. Mas a integração numérica como acima, programada em R, é muito rápida no hardware moderno, por isso é uma boa alternativa que provavelmente deve ser usada muito mais.


1

XY

Pr(XYt)=Pr(registro(XY)registro(t))=Pr(registro(X)-registro(Y)registro(t))N(0 0,2σ2)

Dependendo da sua aplicação, isso pode atender às suas necessidades.


3
Mas não estamos olhando para XY em vez de log (X) - log (Y)?
Sextus Empiricus

Sim, claro. Isso é apenas no caso de alguém estar interessado em saber como duas variáveis ​​lognormais diferem uma da outra, sem que necessariamente seja uma diferença. É por isso que também digo que não responde à pergunta.
Vincent Traag 03/02
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.