求期望

  数学 概率论 随机过程    浏览次数:397        分享
3

设$X_0=1$,$X_1$服从$[0, X_0]$的均匀分布,$X_2$服从$[0, X_1]$的均匀分布,如此类推,$X_i$服从$[0, X_{i-1}]$的均匀分布。那么给定常数$a$,满足$X_n \lt a \lt X_{n-1}$,请问$n$的期望是多少?

 

AlloAllo   2019-07-25 15:23



   2个回答 
7

1. 从$x_1$到$x_2$

$x_1$概率密度函数pdf $f_{x_1}=1$

条件pdf $f_{x_2|x_1}=\frac{1}{x_1}$

联合pdf $f_{x_2,x_1}=\frac{1}{x_1}*1=\frac{1}{x_1}$

$x_2$ pdf $f_{x_2}=\int_{x_2}^{1}\frac{1}{x_1}dx_1=-ln(x_2)$

2. 从$x_2$到$x_3$

条件pdf $f_{x_3|x_2}=\frac{1}{x_2}$

联合pdf $f_{x_3,x_2}=\frac{1}{x_2}*-ln(x_2)$

$x_3$ pdf $f_{x_3}=\int_{x_3}^{1}\frac{1}{x_2}*-ln(x_2)dx_2=\frac{ln^2(x_3)}{2}$

同理可得$f_{x_4,x_3}=\frac{ln^2(x_3)}{2x_3}$

推理得$f_{x_{n+1},x_n}=\frac{ln^{n-1}(1/x_{n})}{(n-1)!x_{n}}$

只有满足条件$x_{n+1}<a<x_{n}$时才考虑$n$,此时的概率是联合pdf在$0<x_{n+1}<a$和$a<x_n<1$上的积分

$\int_0^a\int_a^1f_{x_{n+1},x_n}dx_ndx_{n+1}$

根据均值定义

$\sum_{n=1}^{\inf}n*\int_0^a\int_a^1f_{x_{n+1},x_n}dx_ndx_{n+1}+1$

$=\sum_{n=1}^{\inf}\int_0^a\int_a^1\frac{nln^{n-1}(1/x_{n})}{(n-1)!x_{n}}dx_ndx_{n+1}+1$

$=\sum_{n=1}^{\inf}\frac{naln^n(1/a)}{n!}+1$

最后一步化简暂时没做出,用实验验证应该没错。


import numpy as np
import matplotlib.pyplot as plt
def GetN(a):
    result = 1
    n=10000
    for i in range(n):
        t=0
        x = np.random.uniform(0., 1.)
        while a < x:
            x=np.random.uniform(0., x)
            t+=1
        result += (t*1. / n)
    return result

def GetN_my(a):
    result=1.
    n=20
    ln_a=np.log(1/a)
    for i in range(1,n):
        temp=i*a*np.power(ln_a,i)/np.math.factorial(i)
        result+=temp
    return result

a = np.linspace(0.02, 0.98, 40)
expN = [GetN(i) for i in a]
expN_my = [GetN_my(i) for i in a]

plt.plot(a,expN,'-o',label='Sim')
plt.plot(a,expN_my,'-*',label='My')
plt.legend()
plt.show()


SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-09-22 05:57

2

没有什么思路,只能解一个简单的情况,假如$X$不是随机的,是固定的在每个区间的中间,$X_1=2^{-1}, X_2=2^{-2}, X_n=2^{-n}$,那么对于给定的$a$,$n$的值也是可以确定的,等于

$$\lfloor 1-\log_2^a\rfloor$$

但问题就是这里的$X$都是随机的,所以我就只能用代码试试了

def GetN(a):
    result = 0
    for i in range(100000):
        x = [1]
        while a < x[-1]:
            x.append(np.random.uniform(0, x[-1]))
        result += ((len(x) - 1) / 100000)
    return result
a = np.linspace(0.02, 0.98, 49)
expN = [GetN(i) for i in a]

下图横轴是$a$,纵轴是$n$。蓝色的线是模拟的结果,绿色是按照固定X计算的结果。感觉差不了太多。


SofaSofa数据科学社区DS面试题库 DS面经

我小宋   2019-09-10 09:55



  相关主题

概率论中的鞅是什么?   1回答

一个关于病毒分裂的概率题   2回答

伯努利过程和泊松过程   1回答

已知概率转移矩阵,怎么求平稳概率分布?   1回答

贝叶斯网络中的markov blanket是什么意思?   2回答

用一个骰子生成1到7的随机数?   5回答

什么是Jensen不等式?有什么直观的解释?   2回答

证明马尔可夫不等式   1回答

对于独立正态变量X, Y ~ N(0,1),X+Y和X-Y是否独立?   2回答

柯西分布没有数学期望   1回答

一个骰子平均扔多少回才能把六个数字都扔出来至少一次   2回答

今天明天都下雨的概率   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!