Kỳ vọng về một sản phẩm của


18

Đặt X1U[0,1]XiU[Xi1,1] , i=2,3,.... Kỳ vọng của là gì? n X1X2Xnn


7
Một nhận xét pedantic: là XiU[Xi1,1] nhằm bình XiX1,,Xi1U[Xi1,1] ? Ngoài ra nó có thể có nghĩa là điều duy nhất trên Xi1 , có nghĩa là, XiXi1U[Xi1,1]. Nhưng vì cái sau không hoàn toàn chỉ định phân phối chung củaXi s, nên không rõ ngay lập tức liệu kỳ vọng có được xác định duy nhất hay không.
Juho Kokkala

Tôi nghĩ về mặt lý thuyết nó nên được điều chỉnh trên tất cả các trước đó Xicho đến Xi1 . Tuy nhiên, với Xi1 chúng ta có thể nhận được phân phối cho Xi . Vì vậy, tôi không chắc chắn về điều này.
usedbywho 3/12/2015

@JuhoKokkala Như đã nói, không có vấn đề gì nếu bạn đặt điều kiện vào các biến trước vì chúng sẽ không thay đổi thực tế rằng X i là đồng nhất [ X i - 1 , 1 ] . Phân phối của ( X 1 , Hoài , X n ) dường như được xác định hoàn toàn rõ ràng đối với tôi. Xi1Xi[Xi1,1](X1,,Xn)
DSaxton

@dsaxton Nếu chúng ta chỉ giả X i | X i - 1 ~ U ( X i - 1 , 1 ) , i = 2 , 3 , . . . , vẫn có thể X 1X 3 không có điều kiện độc lập có điều kiện trên X 2 . Do đó, phân phối của ( X 1X1U(0,1)XiXi1U(Xi1,1),i=2,3,...X1X3X2 không được xác định rõ. (X1,X2,X3)
Juho Kokkala 4/12/2015

@JuhoKokkala Nếu tôi nói với bạn rằng , phân phối của X 3 là gì? Nếu bạn có thể trả lời câu hỏi mà không cần suy nghĩ về X 1 , làm thế nào X 1X 3 có thể phụ thuộc vào X 2 ? Cũng lưu ý cách các áp phích khác không gặp khó khăn khi mô phỏng trình tự này. X2=tX3X1X1X3X2
DSaxton

Câu trả lời:


12

Câu trả lời thực sự là ,1/e như đã đoán trong các câu trả lời trước đó dựa trên mô phỏng và các xấp xỉ hữu hạn.

Giải pháp dễ dàng được đưa ra bằng cách giới thiệu một chuỗi các hàm . Mặc dù chúng ta có thể tiến hành bước đó ngay lập tức, nhưng nó có vẻ khá bí ẩn. Phần đầu tiên của giải pháp này giải thích cách người ta có thể nấu những f n ( t ) này . Các chương trình phần thứ hai cách thức chúng được khai thác để tìm một phương trình chức năng thoả mãn bởi chức năng giới hạn f ( t ) = lim n f n ( t )fn:[0,1][0,1]fn(t)f(t)=limnfn(t). Phần thứ ba hiển thị các tính toán (thường trình) cần thiết để giải phương trình hàm này.


1. Động lực

Chúng ta có thể đạt được điều này bằng cách áp dụng một số kỹ thuật giải quyết vấn đề toán học tiêu chuẩn. Trong trường hợp này, khi một số loại hoạt động được lặp lại quảng cáo vô hạn, giới hạn sẽ tồn tại như một điểm cố định của hoạt động đó. Chìa khóa, sau đó, là để xác định các hoạt động.

Sự khó khăn là di chuyển từ để E [ X 1 X 2X n - 1 X n ] có vẻ phức tạp. Nó là đơn giản để xem bước này là phát sinh từ liền kề X 1 để các biến ( X 2 , ... , X n ) chứ không phải là liền kề X n các biến ( X 1 ,E[X1X2Xn1]E[X1X2Xn1Xn]X1(X2,,Xn)Xn . Nếu chúng ta xem xét ( X 2 , ... , X n ) như được xây dựng như mô tả trong câu hỏi - với X 2 phân bố đều trên [ 0 , 1 ] , X 3 có điều kiện phân bố đều trên [ X 2 , 1 ] , và vân vân - sau đó giới thiệu X 1 sẽ gây ra mỗi một trong những tiếp theo X i để(X1,X2,,Xn1)(X2,,Xn)X2[0,1]X3[X2,1]X1Xico lại theo hệ số về giới hạn trên 11X11 . Lý do này dẫn tự nhiên để xây dựng sau đây.

Như một vấn đề sơ bộ, vì đơn giản hơn một chút để thu nhỏ các số về so với 1 , hãy để Y i = 1 - X i . Như vậy, Y 1 được phân bố đều trong [ 0 , 1 ]Y i + 1 được phân bố đều trong [ 0 , Y i ] có điều kiện trên ( Y 1 , Y 2 , ... , Y i ) cho tất cả i01Yi=1XiY1[0,1]Yi+1[0,Yi](Y1,Y2,,Yi)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}]

Nhân vật


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 3/12/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.