Ожидание произведения зависимых случайных величин при


18

Пусть и , . Каково ожидание как ?X1U[0,1]XiU[Xi1,1]i=2,3,...X1X2Xnn


7
Педантичный замечание: это XiU[Xi1,1] означает XiX1,,Xi1U[Xi1,1] ? В качестве альтернативы это может означать кондиционирование только на Xi1 , то есть XiXi1U[Xi1,1]. Но так как последний не полностью определяет совместное распределениеXi , не сразу ясно, однозначно ли определено ожидание.
Юхо Коккала

Я думаю, что теоретически это должно быть обусловлено всеми предыдущими Xi до Xi1 . Однако, учитывая Xi1 мы можем получить распределение для Xi . Так что я не совсем уверен в этом.
используется

@JuhoKokkala Как сказано это не имеет значения , если вы условие на переменных перед Xi1 , потому что они не меняет того факта , что Xi равномерная [Xi1,1] . Распределение (X1,,Xn) кажется мне совершенно определенным.
dsaxton

@dsaxton Если только предположить , что и X я | X я - 1 ~ U ( X я - 1 , 1 ) , я = 2 , 3 , . , , , остается возможным, что X 1 и X 3 не являются условно независимыми условно на X 2 . Таким образом, распределение ( X 1X1U(0,1)XiXi1U(Xi1,1),i=2,3,...X1X3X2 не является четко определенным. (X1,X2,X3)
Юхо Коккала

@JuhoKokkala Если я скажу вам, что , каково распределение X 3 ? Если вы можете ответить на вопрос, даже не задумываясь о X 1 , как X 1 и X 3 могут быть зависимыми от X 2 ? Также обратите внимание, что другие постеры без проблем симулировали эту последовательность. X2=tX3X1X1X3X2
dsaxton

Ответы:


12

Ответ действительно ,1/e как и предполагалось в предыдущих ответах, основанных на моделировании и конечных приближениях.

Решение легко достигается введением последовательности функций . Хотя мы могли бы немедленно перейти к этому шагу, он может показаться довольно загадочным. Первая часть этого решения объясняет, как можно приготовить эти f n ( t ) . Вторая часть показывает, как они используются для нахождения функционального уравнения, удовлетворяемого предельной функцией f ( t ) = lim n f n ( t )fn:[0,1][0,1]fn(t)f(t)=limnfn(t), Третья часть отображает (обычные) вычисления, необходимые для решения этого функционального уравнения.


1. Мотивация

Мы можем прийти к этому, применив некоторые стандартные математические методы решения проблем. В этом случае, когда какая-то операция повторяется до бесконечности, предел будет существовать как фиксированная точка этой операции. Ключ, поэтому, должен идентифицировать операцию.

Сложность в том, что переход от к E [ X 1 X 2X n - 1 X n ] выглядит сложным. Проще рассматривать этот шаг как результат присоединения X 1 к переменным ( X 2 , , X n ), а не присоединения X n к переменным ( X 1 ,E[X1X2Xn1]E[X1X2Xn1Xn]X1(X2,,Xn)Xn . Если бы мы рассматривали ( X 2 , , X n ) как конструируемые, как описано в вопросе - с X 2, равномерно распределенным на [ 0 , 1 ] , X 3, условно равномерно распределенным на [ X 2 , 1 ] , и так далее - то введения X 1 будет вызывать каждый из последующего X I к(X1,X2,,Xn1)(X2,,Xn)X2[0,1]X3[X2,1]X1Xishrink by a factor of 1X1 towards the upper limit 1. This reasoning leads naturally to the following construction.

As a preliminary matter, since it's a little simpler to shrink numbers towards 0 than towards 1, let Yi=1Xi. Thus, Y1 is uniformly distributed in [0,1] and Yi+1 is uniformly distributed in [0,Yi] conditional on (Y1,Y2,,Yi) for all i=1,2,3,. We are interested in two things:

  1. The limiting value of E[X1X2Xn]=E[(1Y1)(1Y2)(1Yn)].

  2. How these values behave when shrinking all the Yi uniformly towards 0: that is, by scaling them all by some common factor t, 0t1.

To this end, define

fn(t)=E[(1tY1)(1tY2)(1tYn)].

Clearly each fn is defined and continuous (infinitely differentiable, actually) for all real t. We will focus on their behavior for t[0,1].


2. The Key Step

The following are obvious:

  1. Each fn(t) is a monotonically decreasing function from [0,1] to [0,1].

  2. fn(t)>fn+1(t) for all n.

  3. fn(0)=1 for all n.

  4. E(X1X2Xn)=fn(1).

These imply that f(t)=limnfn(t) exists for all t[0,1] and f(0)=1.

Observe that, conditional on Y1, the variable Y2/Y1 is uniform in [0,1] and variables Yi+1/Y1 (conditional on all preceding variables) are uniform in [0,Yi/Y1]: that is, (Y2/Y1,Y3/Y1,,Yn/Y1) satisfy precisely the conditions satisfied by (Y1,,Yn1). Consequently

fn(t)=E[(1tY1)E[(1tY2)(1tYn)|Y1]]=E[(1tY1)E[(1tY1Y2Y1)(1tY1YnY1)|Y1]]=E[(1tY1)fn1(tY1)].

This is the recursive relationship we were looking for.

In the limit as n it must therefore be the case that for Y uniformly distributed in [0,1] independently of all the Yi,

f(t)=E[(1tY)f(tY)]=01(1ty)f(ty)dy=1t0t(1x)f(x)dx.

That is, f must be a fixed point of the functional L for which

L[g](t)=1t0t(1x)g(x)dx.

3. Calculation of the Solution

Clear the fraction 1/t by multiplying both sides by t. Because the right hand side is an integral, we may differentiate it with respect to t, giving

f(t)+tf(t)=(1t)f(t).

Equivalently, upon subtracting f(t) and dividing both sides by t,

f(t)=f(t)

for 0<t1. We may extend this by continuity to include t=0. With the initial condition (3) f(0)=1, the unique solution is

f(t)=et.

Consequently, by (4), the limiting expectation of X1X2Xn is f(1)=e1=1/e, QED.


Because Mathematica appears to be a popular tool for studying this problem, here is Mathematica code to compute and plot fn for small n. The plot of f1,f2,f3,f4 displays rapid convergence to et (shown as the black graph).

a = 0 <= t <= 1;
l[g_] := Function[{t}, (1/t) Integrate[(1 - x) g[x], {x, 0, t}, Assumptions -> a]];
f = Evaluate@Through[NestList[l, 1 - #/2 &, 3][t]]
Plot[f, {t,0,1}]

Figure


3
(+1) Beautiful analysis.
cardinal

Thank you for sharing that with us. There are some really brilliant people out there!
Felipe Gerard

4

Update

I think it's a safe bet that the answer is 1/e. I ran the integrals for the expected value from n=2 to n=100 using Mathematica and with n=100 I got

0.367879441171442321595523770161567628159853507344458757185018968311538556667710938369307469618599737077005261635286940285462842065735614

(to 100 decimal places). The reciprocal of that value is

2.718281828459045235360287471351873636852026081893477137766637293458245150821149822195768231483133554

The difference with that reciprocal and e is

-7.88860905221011806482437200330334265831479532397772375613947042032873*10^-31

I think that's too close, dare I say, to be a rational coincidence.

The Mathematica code follows:

Do[
 x = Table[ToExpression["x" <> ToString[i]], {i, n}];
 integrand = Expand[Simplify[(x[[n - 1]]/(1 - x[[n - 1]])) Integrate[x[[n]], {x[[n]], x[[n - 1]], 1}]]];
 Do[
   integrand = Expand[Simplify[x[[i - 1]] Integrate[integrand, {x[[i]], x[[i - 1]], 1}]/(1 - x[[i - 1]])]],
   {i, n - 1, 2, -1}]
  Print[{n, N[Integrate[integrand, {x1, 0, 1}], 100]}],
 {n, 2, 100}]

End of update

This is more of an extended comment than an answer.

If we go a brute force route by determining the expected value for several values of n, maybe someone will recognize a pattern and then be able to take a limit.

For n=5, we have the expected value of the product being

μn=01x11x21x31x41x1x2x3x4x5(1x1)(1x2)(1x3)(1x4)dx5dx4dx3dx2dx1

which is 96547/259200 or approximately 0.3724807098765432.

If we drop the integral from 0 to 1, we have a polynomial in x1 with the following results for n=1 to n=6 (and I've dropped the subscript to make things a bit easier to read):

x

(x+x2)/2

(5x+5x2+2x3)/12

(28x+28x2+13x3+3x4)/72

(1631x+1631x2+791x3+231x4+36x5)/4320

(96547x+96547x2+47617x3+14997x4+3132x5+360x6)/259200

If someone recognizes the form of the integer coefficients, then maybe a limit as n can be determined (after performing the integration from 0 to 1 that was removed to show the underlying polynomial).


1/e is beautifully elegant! :)
wolfies

4

Nice question. Just as a quick comment, I would note that:

  • Xn will converge to 1 rapidly, so for Monte Carlo checking, setting n=1000 will more than do the trick.

  • If Zn=X1X2Xn, then by Monte Carlo simulation, as n, E[Zn]0.367.

  • The following diagram compares the simulated Monte Carlo pdf of Zn to a Power Function distribution [ i.e. a Beta(a,1) pdf) ]

f(z)=aza1

... here with parameter a=0.57:


(source: tri.org.au)

where:

  • the blue curve denotes the Monte Carlo 'empirical' pdf of Zn
  • the red dashed curve is a PowerFunction pdf.

The fit appears pretty good.

Code

Here are 1 million pseudorandom drawings of the product Zn (say with n=1000), here using Mathematica:

data = Table[Times @@ NestList[RandomReal[{#, 1}] &, RandomReal[], 1000], {10^6}];

The sample mean is:

 Mean[data]

0.367657


can you share your entire code? My solution differs from yours.

1
The first bullet point, which is crucial, does not appear to be sufficiently well justified. Why can you dismiss the effect of, say, the next 10100 values of xn? Despite "rapid" convergence, their cumulative effect could considerably decrease the expectation.
whuber

1
Good use of simulation here. I have similar questions as @whuber. How can we be sure the value converges to 0.367 but not something lower, which is potentially possible if n is larger?
usedbywho

In reply to the above 2 comments: (a) The series Xi converges very rapidly to 1. Even starting with an initial value of X1=0.1, within about 60 iterations, X60 will be numerically indistinguishable from numerical 1.0 to a computer. So, simulating Xn with n=1000 is overkill. (b) As part of the Monte Carlo test, I also checked the same simulation (with 1 million runs) but using n=5000 rather than 1000, and the results were indistinguishable. Thus, it seem unlikely that larger values of n will make any discernible difference: above n=100, Xn is effectively 1.0.
wolfies

0

Purely intuitively, and based on Rusty's other answer, I think the answer should be something like this:

n = 1:1000
x = (1 + (n^2 - 1)/(n^2)) / 2
prod(x)

Which gives us 0.3583668. For each X, you are splitting the (a,1) range in half, where a starts out at 0. So it's a product of 1/2,(1+3/4)/2,(1+8/9)/2, etc.

This is just intuition.


The problem with Rusty's answer is that U[1] is identical in every single simulation. The simulations are not independent. A fix for this is easy. Move the line with U[1] = runif(1,0,1) to inside the first loop. The result is:

set.seed(3)    #Just for reproducibility of my solution

n = 1000    #Number of random variables
S = 1000    #Number of Monte Carlo samples

Z = rep(NA,S)
U = rep(NA,n)

for(j in 1:S){
    U[1] = runif(1,0,1)
    for(i in 2:n){
        U[i] = runif(1,U[i-1],1)
    }
    Z[j] = prod(U)
}

mean(Z)

This gives 0.3545284.


1
Very simple fix! I guess it is true, there is always a bug in the code! I'll take down my answer.

1
Yea, that was exactly what I was expecting to happen given that you plug in the expected values as the lower bounds.

1
I run your code with S=10000 and got 0.3631297 as the answer. Isn't that a little weird since if it does converge to a value wouldn't more runs get us closer to that value?
usedbywho
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.