Який розподіл


17

У мене є чотири незалежні рівномірно розподілені змінні a,b,c,d , кожна в [0,1] . Я хочу обчислити розподіл (ad)2+4bc . Я обчислив розподіл u2=4bc щоб було

f2(u2)=14lnu24
(отже,u2(0,4]), аu1=(ad)2буде
f1(u1)=1u1u1.
Тепер розподіл сумиu1+u2дорівнює (u1,u2 також незалежні)
fu1+u2(x)=+f1(xy)f2(y)dy=14041xyxylny4dy,
тому щоy(0,4]. Тут має бутиx>yтому інтеграл дорівнює
fu1+u2(x)=140x1xyxylny4dy.
Тепер я вставляю його в Mathematica і отримую, що
fu1+u2(x)=14[x+xlnx42x(2+lnx)].

Я склав чотири незалежні множини a,b,c,d що складаються з 106 чисел кожен, і намалював гістограму (ad)2+4bc :

введіть тут опис зображення

і намалював графік fu1+u2(x) :

введіть тут опис зображення

Взагалі графік схожий на гістограму, але на проміжку більшість є негативним (корінь знаходиться на рівні 2,27034). А інтеграл додатної частини - 0,77 .(0,5)0.77

Де помилка? Або де я щось пропускаю?

EDIT: Я змінив масштаб гістограми, щоб показати PDF.

введіть тут опис зображення

EDIT 2: Я думаю, я знаю, де проблема в моїх міркуваннях - в межах інтеграції. Оскільки і x - y ( 0 , 1 ] , я не можу просто x 0. Сюжет показує область, в яку я повинен інтегруватися:y(0,4]xy(0,1]0x

введіть тут опис зображення

Це означає, що у мене для y ( 0 , 1 ] (тому частина моєї f була правильною), x x - 1 в y ( 1 , 4 ] , і 4 x - 1 в y ( 4 , 5. ] На жаль, Mathematica не в змозі обчислити два останні інтеграли (ну, він обчислює другий, маючи уявну одиницю на виході, яка все псує ...).0xy(0,1]fx1xy(1,4]x14y(4,5]

EDIT 3: Схоже, що Mathematica МОЖЕ обчислити три останні інтеграли із наступним кодом:

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,0,u1}, Assumptions ->0 <= u2 <= u1 && u1 > 0]

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,u1-1,u1}, Assumptions -> 1 <= u2 <= 3 && u1 > 0]

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,u1-1,4}, Assumptions -> 4 <= u2 <= 4 && u1 > 0]

що дає правильну відповідь :)


2
Мені подобається, що ви спробували перевірити розумність своєї відповіді за допомогою симуляції. Ваша проблема полягає в тому, що ви знаєте, що ви допустили помилку, але не можете бачити, де саме. Чи вважали ви, що ви можете перевірити кожен етап свого методу, щоб усунути неполадки, де лежить помилка? Наприклад, чи помилка лежить у вашому ? Що ж, ви можете перевірити обчислений PDF в порівнянні з імітованими результатами, як і для остаточної відповіді. Дітто для f 2 . Якщо f 1 і f 2 є правильними, то ви допустили помилку, комбінуючи їх. Така покрокова перевірка дозволяє точно визначити, де ви помилилися!f1(u1)f2f1f2
Срібна рибка

Я кинув свою першу спробу і перерахував її з нуля. Я вважаю, що і f 2 є правильними, хоча мені довелося вручну помножити свій початковий f 1 на 2, щоб нормалізувати його до єдності. Але це просто змінює висоту і не пояснює, чому я маю негативну f . f1f2f1f
corey979

Створюючи такі гістограми для порівняння з обчисленими алгебраїчними величинами, масштабуйте гістограму до дійсної щільності (і накладайте їх, якщо можете). Зробіть аналогічну перевірку своїх f1 і f2, щоб переконатися, що ви маєте право; якщо вони праві (я ще не бачив жодної вагомої причини підозрювати їх, але найкраще перевірити), то проблема повинна бути пізніше.
Glen_b -Встановити Моніку

Відповіді:


19

Часто це допомагає використовувати функції кумулятивного розподілу.

Спочатку,

F(x)=Pr((ad)2x)=Pr(|ad|x)=1(1x)2=2xx.

Далі,

G(y)=Pr(4bcy)=Pr(bcy4)=0y/4dt+y/41ydt4t=y4(1log(y4)).

Let δ range between the smallest (0) and largest (5) possible values of (ad)2+4bc. Writing x=(ad)2 with CDF F and y=4bc with PDF g=G, we need to compute

H(δ)=Pr((ad)2+4bcδ)=Pr(xδy)=04F(δy)g(y)dy.

We can expect this to be nasty--the uniform distribution PDF is discontinuous and thus ought to produce breaks in the definition of H--so it is somewhat amazing that Mathematica obtains a closed form (which I will not reproduce here). Differentiating it with respect to δ gives the desired density. It is defined piecewise within three intervals. In 0<δ<1,

H(δ)=h(δ)=18(8δ+δ((2+log(16)))+2(δ2δ)log(δ)).

In 1<δ<4,

h(δ)=14((δ+1)log(δ1)+δlog(δ)4δcoth1(δ)+3+log(4)).

And in 4<δ<5,

h(δ)=14(δ4δ4+(δ+1)log(4δ1)+4δtanh1((δ4)δδδδ4)1).

Figure

This figure overlays a plot of h on a histogram of 106 iid realizations of (ad)2+4bc. The two are almost indistinguishable, suggesting the correctness of the formula for h.


The following is a nearly mindless, brute-force Mathematica solution. It automates practically everything about the calculation. For instance, it will even compute the range of the resulting variable:

ClearAll[ a, b, c, d, ff, gg, hh, g, h, x, y, z, zMin, zMax, assumptions];
assumptions = 0 <= a <= 1 && 0 <= b <= 1 && 0 <= c <= 1 && 0 <= d <= 1; 
zMax = First@Maximize[{(a - d)^2 + 4 b c, assumptions}, {a, b, c, d}];
zMin = First@Minimize[{(a - d)^2 + 4 b c, assumptions}, {a, b, c, d}];

Here is all the integration and differentiation. (Be patient; computing H takes a couple of minutes.)

ff[x_] := Evaluate@FullSimplify@Integrate[Boole[(a - d)^2 <= x], {a, 0, 1}, {d, 0, 1}];
gg[y_] := Evaluate@FullSimplify@Integrate[Boole[4 b c <= y], {b, 0, 1}, {c, 0, 1}];
g[y_]  := Evaluate@FullSimplify@D[gg[y], y];
hh[z_] := Evaluate@FullSimplify@Integrate[ff[-y + z] g[y], {y, 0, 4}, 
          Assumptions -> zMin <= z <= zMax];
h[z_]  :=  Evaluate@FullSimplify@D[hh[z], z];

Finally, a simulation and comparison to the graph of h:

x = RandomReal[{0, 1}, {4, 10^6}];
x = (x[[1, All]] - x[[4, All]])^2 + 4 x[[2, All]] x[[3, All]];
Show[Histogram[x, {.1}, "PDF"], 
 Plot[h[z], {z, zMin, zMax}, Exclusions -> {1, 4}], 
 AxesLabel -> {"\[Delta]", "Density"}, BaseStyle -> Medium, 
 Ticks -> {{{0, "0"}, {1, "1"}, {4, "4"}, {5, "5"}}, Automatic}]

8
(+1), especially for reminding people that, instead say of density convolutions, "Often it helps to use cumulative distribution functions" -especially when they have such a simple form as here. And you were damn quick, also.
Alecos Papadopoulos

That looks like a neat solution that I'd love to accept - right after I understand it. I'm more a calculus man than a probabilist; at this moment I have three questions: i) how did you use the CDF to get F(x) and G(y), ii) why there's F and g under the integral for H, and iii) how do you from its form that the solution result will be piecewise?
corey979

(1) F and G are the CDFs. They are computed from the definition of a CDF, as indicated by the first equalities following their first appearances. The details should be apparent in the code I have inserted. (2) This is the convolution formula for a sum (more fully explained in a similar calculation at stats.stackexchange.com/a/144237). (3) I inserted a link to another thread about properties of uniform distributions.
whuber

7

Like the OP and whuber, I would use independence to break this up into simpler problems:

Let X=(ad)2. Then the pdf of X, say f(x) is:

enter image description here

Let Y=4bc. Then the pdf of Y, say g(y) is:

enter image description here

The problem reduces to now finding the pdf of X+Y. There may be many ways of doing this, but the simplest for me is to use a function called TransformSum from the current developmental version of mathStatica. Unfortunately, this is not available in a public release at the present time, but here is the input:

TransformSum[{f,g}, z]

which returns the pdf of Z=X+Y as the piecewise function:

enter image description here

Here is a plot of the pdf just derived, say h(z):

enter image description here

Quick Monte Carlo check

The following diagram compares an empirical Monte Carlo approximation of the pdf (squiggly blue) to the theoretical pdf derived above (red dashed). Looks fine.

enter image description here

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.