Разница двух iid логнормальных случайных величин


23

Пусть и X 2 будут 2 iidrv, где log ( X 1 ) , log ( X 2 ) N ( μ , σ ) . Я хотел бы знать распределение для X 1 - X 2 .X1X2log(X1),log(X2)N(μ,σ)X1X2

Лучшее, что я могу сделать, - это взять ряд Тейлора обоих и получить, что разница представляет собой сумму разности между двумя нормальными и двумя квадратами хи-квадрат в дополнение к остальной разнице между остальными терминами. Есть ли более простой способ получить распределение разницы между 2 iid log-normal rv's?


Вот соответствующий документ. Вы найдете больше бумаг, прибегая к помощи! apers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen

1
Я бросил беглый взгляд на эту статью, и она, похоже, не отвечает на мой вопрос удовлетворительно. Похоже, они касаются численных приближений к более сложной задаче нахождения распределения суммы / разности между коррелированными логнормальными rv. Я надеялся, что для независимого случая будет более простой ответ.
frayedchef

2
Это может быть более простой ответ в независимом случае, но не простой! Логнормальный случай - это известный известный трудный случай - генерирующая момент функция логнормального распределения не существует - то есть она не сходится на открытом интервале, содержащем ноль. Таким образом, вы не найдете легкого решения.
kjetil b halvorsen

Понятно ... Так будет ли подход, который я изложил выше, разумным? (т. е. если , X 1 - X 2( Y 1 - Y 2 ) + ( Y 2 1 - Y 2 2 ) / 2 +Yi=log(Xi)Знаем ли мы что-нибудь о терминах высшего порядка или как их связать? X1X2(Y1Y2)+(Y12Y22)/2+...
frayedchef

1
Чтобы проиллюстрировать сложность --- логнормальное значение mgf определено только на . Для аппроксимации разностного распределения методами седловой точки нам нужно (K = кумулянт gf) K ( s ) + K ( - s ) и эта сумма определяется только в одной точке, ноль. Так что, похоже, не работает. Сумма или среднее было бы проще!(,0]K(s)+K(s)
kjetil b halvorsen

Ответы:


15

Это сложная проблема. Сначала я подумал об использовании (некоторой аппроксимации) производящей момент функции логнормального распределения. Это не работает, как я объясню. Но сначала несколько обозначений:

Пусть - стандартная нормальная плотность, а Φ - соответствующая кумулятивная функция распределения. Мы будем только анализировать случай логнормального распределения l n N ( 0 , 1 ) , которое имеет функцию плотности f ( x ) = 1ϕΦlnN(0,1) и кумулятивная функция распределения F(x)=Φ(lnx). Предположим, чтоXиY- независимые случайные величины с приведенным выше логнормальным распределением. Нас интересует распределениеD=X-Y, которое является симметричным распределением со средним нулем. ПустьM(t)=Eet(-,0]

f(x)=12πxe12(lnx)2
F(x)=Φ(lnx)
XYD=XY функциягенерирующий моментаX. Определяется только длятM(t)=EetXXt(,0] , поэтому не определено в открытом интервале, содержащем ноль. Функция генерирования момента для имеет вид M D ( t ) = E e t ( X - Y ) = E e t X E e - t Y = M ( t ) M ( - t ) . Таким образом, производящая момент функция для D определена только для t = 0DMD(t)=Eet(XY)=EetXEetY=M(t)M(t)Dt=0так что не очень полезно.

Dt0

P(Dt)=P(XYt)=0P(Xyt|Y=y)f(y)dy=0P(Xt+y)f(y)dy=0F(t+y)f(y)dy
(and the case t<0 is solved by symmetry, we get P(Dt)=1P(D|t|)).

This expression can be used for numerical integration or as a basis for simulation. First a test:

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

which is clearly correct. Let us wrap this up inside a function:

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)

which gives:

cumulative distribution function found by numerical integration

Then we can find the density function by differentiating under the integral sign, obtaining

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)
}

which we can test:

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

And plotting the density we get:

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

density function found by numerical integration

I did also try to get some analytic approximation, but so far didn't succeed, it is not an easy problem. But numerical integration as above, programmed in R is very fast on modern hardware, so is a good alternative which probably should be used much more.


1

This does not strictly answer your question, but wouldn't it be easier to look at the ratio of the X and Y? You then simply arrive at

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

Depending on your application, this may serve your needs.


3
But aren't we looking at X-Y instead of log(X) - log(Y) ?
Sextus Empiricus

Yes, of course. This is just in case somebody would be interested in knowing how two lognormal variables differ from each other without it necessarily needing to be a difference. That's why I also say it doesn't the answer the question.
Vincent Traag
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.