18

및 , 이라고합시다 . 을 로 기대하는 것은 무엇입니까 ?X1U[0,1]XiU[Xi1,1]i=2,3,...X1X2Xnn


7
현학적 인 말은 :입니다 XiU[Xi1,1] 목적에 평균 XiX1,,Xi1U[Xi1,1] ? 또는 , 즉 에서만 컨디셔닝을 의미 할 수 있습니다. 그러나 후자는 의 공동 분포를 완전히 지정하지 않기 때문에Xi1XiXi1U[Xi1,1]Xi기대가 유일하게 결정되는지는 명확하지 않다.
Juho Kokkala

나는 이론적으로는 모든 이전 조건으로해야한다고 생각 Xi 까지 최대 Xi1 . 그러나 주어진 Xi1 에 대한 우리가 얻을 수있는 유통 Xi . 그래서 나는 이것에 대해 확실하지 않습니다.
usedbywho

@JuhoKokkala 언급 한 바와 같이 이전의 변수에 대해 조건을 설정하더라도 X i 가 균일 Xi1하다는 사실을 변경하지 않기 때문에 중요하지 않습니다 [ X i - 1 , 1 ] . ( X 1 , , X n ) 의 분포는 나에게 완벽하게 정의 된 것처럼 보입니다. Xi[Xi1,1](X1,,Xn)
dsaxton

@dsaxton 우리는 가정하면 X1U(0,1)XiXi1U(Xi1,1),i=2,3,...그것은 가능성이 남아 X1X3 조건에 독립적 인 조건부없는 X2 . 따라서 ( X 1 의 분포 이 잘 정의되지 않았습니다. (X1,X2,X3)
Juho Kokkala

@JuhoKokkala 라고하면 X 3 의 분포는 무엇 입니까? 당신은 약조차 생각하지 않고 질문에 대답 할 수 있다면 X (1) 어떻게, X 1X 3 BE 따라 주어진 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]X1Xi배 축소 상한쪽으로 11X11 . 이 추론은 자연스럽게 다음과 같은 구성으로 이어집니다.

예비 문제로서, 1 보다 숫자를 축소하는 것이 조금 더 간단하므로 Y i = 1 - X i로 하자 . 따라서, Y 1은 균일하게 분포되어있다 [ 0 , 1 ]Y는 I + 1에 균일하게 분포한다 [ 0 , Y I ] 조건에 ( Y 1 , Y 2 , ... , Y I ) 모든 01Yi=1XiY1[0,1]Yi+1[0,Yi](Y1,Y2,,Yi) 우리는 두 가지에 관심이 있습니다.i=1,2,3,.

  1. 의 한계 값 .E[X1X2Xn]=E[(1Y1)(1Y2)(1Yn)]

  2. 어떻게 모든 축소 할 때이 값 행동 향해 균일 0 : 즉, 몇 가지 일반적인 요인에 의해 그들 모두를 확장하여 t , 0 t 1 .Yi0t0t1

이를 위해

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

분명히 각 은 모든 실수 t에 대해 정의되고 연속적입니다 (실제로 미분 가능합니다) . 우리는 그들의 행동에 초점을 맞출 것이다 t [ 0 , 1 ] .fntt[0,1]


2. 핵심 단계

다음은 분명합니다.

  1. 에서 단조 감소 함수이고 [ 0 , 1 ][ 0 , 1 ] .fn(t)[0,1][0,1]

  2. 모든 n에 대해 f n ( t ) > f n + 1 ( t ) .fn(t)>fn+1(t)n

  3. 모든 n에 대해 f n ( 0 ) = 1 입니다.fn(0)=1n

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

이것은 모든 t [ 0 , 1 ]f ( 0 ) = 1에 대해 가 존재 함을 의미합니다 .f(t)=limnfn(t)t[0,1]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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.