Пусть и , . Каково ожидание как ?
Пусть и , . Каково ожидание как ?
Ответы:
Ответ действительно , как и предполагалось в предыдущих ответах, основанных на моделировании и конечных приближениях.
Решение легко достигается введением последовательности функций . Хотя мы могли бы немедленно перейти к этому шагу, он может показаться довольно загадочным. Первая часть этого решения объясняет, как можно приготовить эти f n ( t ) . Вторая часть показывает, как они используются для нахождения функционального уравнения, удовлетворяемого предельной функцией f ( t ) = lim n → ∞ f n ( t ), Третья часть отображает (обычные) вычисления, необходимые для решения этого функционального уравнения.
Мы можем прийти к этому, применив некоторые стандартные математические методы решения проблем. В этом случае, когда какая-то операция повторяется до бесконечности, предел будет существовать как фиксированная точка этой операции. Ключ, поэтому, должен идентифицировать операцию.
Сложность в том, что переход от к E [ X 1 X 2 ⋯ X n - 1 X n ] выглядит сложным. Проще рассматривать этот шаг как результат присоединения X 1 к переменным ( X 2 , … , X n ), а не присоединения X n к переменным ( X 1 , . Если бы мы рассматривали ( X 2 , … , X n ) как конструируемые, как описано в вопросе - с X 2, равномерно распределенным на [ 0 , 1 ] , X 3, условно равномерно распределенным на [ X 2 , 1 ] , и так далее - то введения X 1 будет вызывать каждый из последующего X I кshrink by a factor of towards the upper limit . This reasoning leads naturally to the following construction.
As a preliminary matter, since it's a little simpler to shrink numbers towards than towards , let . Thus, is uniformly distributed in and is uniformly distributed in conditional on for all We are interested in two things:
The limiting value of .
How these values behave when shrinking all the uniformly towards : that is, by scaling them all by some common factor , .
To this end, define
Clearly each is defined and continuous (infinitely differentiable, actually) for all real . We will focus on their behavior for .
The following are obvious:
Each is a monotonically decreasing function from to .
for all .
for all .
These imply that exists for all and .
Observe that, conditional on , the variable is uniform in and variables (conditional on all preceding variables) are uniform in : that is, satisfy precisely the conditions satisfied by . Consequently
This is the recursive relationship we were looking for.
In the limit as it must therefore be the case that for uniformly distributed in independently of all the ,
That is, must be a fixed point of the functional for which
Clear the fraction by multiplying both sides by . Because the right hand side is an integral, we may differentiate it with respect to , giving
Equivalently, upon subtracting and dividing both sides by ,
for . We may extend this by continuity to include . With the initial condition (3) , the unique solution is
Consequently, by (4), the limiting expectation of is , QED.
Because Mathematica appears to be a popular tool for studying this problem, here is Mathematica code to compute and plot for small . The plot of displays rapid convergence to (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}]
Update
I think it's a safe bet that the answer is . I ran the integrals for the expected value from to using Mathematica and with I got
0.367879441171442321595523770161567628159853507344458757185018968311538556667710938369307469618599737077005261635286940285462842065735614
(to 100 decimal places). The reciprocal of that value is
2.718281828459045235360287471351873636852026081893477137766637293458245150821149822195768231483133554
The difference with that reciprocal and 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 , maybe someone will recognize a pattern and then be able to take a limit.
For , we have the expected value of the product being
which is 96547/259200 or approximately 0.3724807098765432.
If we drop the integral from 0 to 1, we have a polynomial in with the following results for to (and I've dropped the subscript to make things a bit easier to read):
If someone recognizes the form of the integer coefficients, then maybe a limit as can be determined (after performing the integration from 0 to 1 that was removed to show the underlying polynomial).
Nice question. Just as a quick comment, I would note that:
will converge to 1 rapidly, so for Monte Carlo checking, setting will more than do the trick.
If , then by Monte Carlo simulation, as , .
The following diagram compares the simulated Monte Carlo pdf of to a Power Function distribution [ i.e. a Beta(a,1) pdf) ]
... here with parameter :
(source: tri.org.au)
where:
The fit appears pretty good.
Code
Here are 1 million pseudorandom drawings of the product (say with ), here using Mathematica:
data = Table[Times @@ NestList[RandomReal[{#, 1}] &, RandomReal[], 1000], {10^6}];
The sample mean is:
Mean[data]
0.367657
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 , you are splitting the range in half, where starts out at . So it's a product of , 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
.