已停止隨機過程的期望值和變異數
考慮您不斷從中抽取樣本的隨機過程
$$ 0,1 $$只要目前樣本大於前一個樣本,就均勻隨機。您抽取的樣本數量的期望值和變異數是多少? 我試圖用步長為 0.1 的 Wald 等式來考慮離散情況。總結 p * (1 - p) 其中 p 為 0.1, 0.2 …,等於 0.327,符合我的模擬
mean=array([0.359285]), variance=array([0.05881588])
。import numpy as np import matplotlib.pyplot as plt from scipy import stats cur_num = None M = 1000000 li =[] for i in range(M): if cur_num is None: cur_num = np.random.uniform(0,1,1) tmp = 0 while tmp < cur_num: tmp = cur_num cur_num = np.random.uniform(0,1,1) # print(f" while loop: {cur_num}") # print(f" for loop: {cur_num}") li.append(cur_num) cur_num =None print(stats.describe(li)) ## DescribeResult(nobs=10000000, minmax=(array([1.29312049e-08]), array([0.9996544])), ## mean=array([0.359285]), variance=array([0.05881588]), skewness=array([0.44984084]), kurtosis=array([-0.76854895]))
這給了我將 p * (1 - p) dp 從 0 積分到 1 的想法。但它給出了 1/2 - 1/3,0.16667,而不是 0.35
雖然 Math SE 可能更適合這個,但我想試一試。
答案依賴於總期望定律、總變異數定律和歐拉數之間的關係 $ e $ 和涉及階乘函式的級數 $ n! $ .
在答案的前半部分,我將介紹 $ E(n) $ 和 $ Var(n) $ ,即停止時間的均值和變異數,下半部分我將展示如何推導 $ E(x_n) $ 和 $ Var(x_n) $ ,即停止過程的期望值和變異數。最後,在附錄中,我提供了已停止程序的完整分佈, $ f(x_n) $ 為了 $ x_k $ 來自統一分佈和通用分佈。
第一部分:停車時間分佈 $ n $
鑑於 $ n $ 抽獎 $ x_{n} $ 從單位區間 $ (0,1) $ , 我們接受 ( $ n+1 $ )抽獎 $ x_{n+1} $ 如果 $ x_n<x_{n+1} $ ; 否則我們停在 $ n $ 抽籤,據說該過程在 $ n $ 有價值 $ x_n $ . 我們說 $ n $ 是停止時間。
假設我們要畫 $ k $ 數字 $ x_1, x_2, \ldots x_k $ 均勻地從 $ (0,1) $ 並按升序排列結果,例如
$$ \begin{align} x_1&<x_2<\ldots<x_k \end{align} $$
然後有 $ k!=k\times(k-1)\times(k-2)\ldots\times2\times1 $ 抽籤順序的可能排列,每個排列具有相同的機率 $ 1/k! $ - 但只有一個排列代表必要的排序 $ x_1<x_2<\ldots<x_k $ 在此過程中尚未在抽籤時停止 $ k $ (當然,如果 $ x_k>x_{k+1} $ )。因此,無條件機率 $ n\geq k $ ,即至少繪製 $ k $ 次,是
$$ \begin{align} P(n\geq k)&=\frac{1}{k!} \ \Rightarrow P(n=k)&=P(n\geq k)-P(n\geq k+1)\ &=\frac{1}{k!}-\frac{1}{(k+1)!} \end{align} $$
計算預期停止時間
我們計算 $ E(n)=\sum_k k\times P(n=k) $ ,同時重新排列階乘:
$$ \begin{align} E(n)&=\sum\limits_{k=1}^\infty \frac{k}{k!}-\frac{k}{(k+1)!}\ &=\left(\frac{1}{1!}+\frac{2}{2!}+\frac{3}{3!}+\ldots\right)-\left(\frac{1}{2!}+\frac{2}{3!}+\frac{3}{4!}+\ldots\right)\ &=\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+\ldots\ &=\sum\limits_{k=1}^{\infty}\frac{1}{k!}\ &=\sum\limits_{k=0}^{\infty}\frac{1}{k!}-1 \end{align} $$
在最後一行,我們認識了歐拉常數的定義 $ e=\sum_k 1/k!=2.718282\ldots $ ; 因此:
$$ E(n)=e-1 $$
計算停車時間的變異數
作為 $ Var(x)=E(x^2)-E(x)^2 $ ,我們現在嘗試估計 $ E(n^2) $ ,再次應用一些重新排列,並觀察與定義的關係 $ e $ :
$$ \begin{align} E(n^2)&=\sum\limits_{k=1}^\infty k^2\times P(n=k)\ &=\sum\limits_{k=1}^\infty\frac{k^2}{k!}-\frac{k^2}{(k+1)!}\ &=\left(\frac{1^2}{1!}+\frac{2^2}{2!}+\frac{3^2}{3!}+\ldots\right)-\left(\frac{1^2}{2!}+\frac{2^2}{3!}+\frac{3^2}{4!}+\ldots\right)\ &=\sum\limits_{k=1}^{\infty}\frac{k^2-(k-1)^2}{k!}\ &=\sum\limits_{k=1}^{\infty}\frac{2k-1}{k!}\ &=2\sum\limits_{k=1}^{\infty}\frac{k}{k!}-\left(e-1\right)\ &=2\sum\limits_{k=0}^{\infty}\frac{1}{k!}-\left(e-1\right)\ &=e+1 \end{align} $$
因此
$$ \begin{align} Var(n)=&E(n^2)-E(n)^2\ &=e+1-(e-1)^2\ &=3e-e^2 \end{align} $$
停止時間的模擬 $ n $
讓我們使用
R
. 我選擇了一個截止水平n=14
,對應的機率如下1E-10
。set.seed(42) nSim <- 1E6 k <- 14 mu <- exp(1)-1 v <- 3*exp(1)-exp(2) u<-sapply(1:nSim,function(i){ x <- rle( diff( runif(k) ) > 0 ) 1 + x$values[1] * x$lengths[1] }) print( mean(u)- mu ) print( var(u) - v )
帶輸出
[1] -0.0001078285 [1] -0.0003605153
第二部分:期望和變異數 $ x_n $
期望 $ x_n $
我們從總期望定律開始,將其應用於 $ x_n $ 作為
$$ \begin{align} E(x_n)&=E\left(E\left(x_n|n=k\right)\right)\ &=\sum\limits_{k=1}^{\infty}E\left(x_n|n=k\right)P(n=k) \end{align} $$
我們已經知道分佈 $ n $ ,剩下的就是計算 $ E(x_n|n=k) $ .
對於(固定的)停止時間 $ k $ ,它必須認為 $ x_1\leq x_2\leq\ldots \leq x_{k-1}\leq x_k > x_{k+1} $ ,即 $ k $ 第一個組件來自 $ k+1 $ 平局代表最大超過 $ (k+1) $ 畫。最大值的分佈是:
$$ \begin{align} F^{max}{k+1}(x)&\equiv P(\max(x_1,x_2,\ldots,x_k,x{k+1})\leq x)\ &=P(x_1\leq x, x_2\leq x, \ldots x_{k-1}\leq x,x_{k+1}\leq x)\ &=F(x)^{k+1}\ &=x^{k+1} \end{align} $$
對應的密度, $ f^{max}{k+1}(x)=\partial F^{max}{k+1}(x)/\partial x $ , 是 $$ f^{max}_{k+1}(x)=(k+1)x^k $$
和期望 $ x_n $ 鑑於停在 $ k $ 是
$$ \begin{align} E(x_n|n=k)&=\int\limits_0^1 xf^{max}_{k+1}(x)\mathrm{d}x\ &=(k+1)\int\limits_0^1 x^{k+1}\mathrm{d}x\ &=\frac{k+1}{k+2} \end{align} $$
我們現在擁有期望的兩種成分:
$$ \begin{align} E(x_n)&=\sum\limits_{k=1}^{\infty}E\left(x_n|n=k\right)P(n=k)\ &=\sum\limits_{k=1}^{\infty}\frac{k+1}{k+2}\left(\frac{1}{k!}-\frac{1}{(k+1)!}\right)\ &=\left(\frac{2/3}{1!}+\frac{3/4}{2!}+\frac{4/5}{3!}+\frac{5/6}{4!}+\ldots\right)-\left(\frac{2/3}{2!}+\frac{3/4}{3!}+\frac{4/5}{4!}+\frac{5/6}{5!}+\ldots\right)\ &=0.5+\sum\limits_{k=1}^{\infty}\frac{1}{(k+2)!}\ &=0.5+\sum\limits_{k=1}^{\infty}\frac{1}{k!}-1.5\ &=\sum\limits_{k=1}^{\infty}\frac{1}{(k)!}-1\ &=e-2 \end{align} $$ 我們在上面重用了逆階乘和與歐拉數之間的關係。
變異數 $ x_n $
我們利用總變異數定律
$$ Var(x_n)=E(Var(x_n|n=k))+Var(E(x_n|n=k)) $$
並從第一個術語開始:
$$ \begin{align} E(Var(x_n|n=k))&=\sum\limits_{k=1}^{\infty}\left(E(x_n^2|n=k)-E(x_n|n_k)^2\right)P(n=k)\ &=\sum\limits_{k=1}^{\infty}\left((n+1)\int_{x=0}^1x^2f^{max}{k+1}(x)\mathrm{d}x-\left(\frac{k+1}{k+2}\right)^2\right)P(n=k)\ &=\sum\limits{k=1}^{\infty}\left(\frac{k+1}{k+3}-\left(\frac{k+1}{k+2}\right)^2\right)P(n=k) \end{align} $$
並停在這裡。對於第二項,我們得到
$$ \begin{align} Var(E(x_n|n=k))&=E(E(x_n|n=k)^2)-E(E(x_n|n=k))^2\ &=\sum_{k=1}^{\infty}\left(\frac{k+1}{k+2}\right)^2P(n=k)-\left(\sum_{k=1}^{\infty}\frac{k+1}{k+2}P(n=k)\right)^2\end{align} $$
結合這兩個術語產生
$$ \begin{align} Var(x_n)&=E(Var(x_n|n=k))+Var(E(x_n|n=k))\ &=\sum\limits_{k=1}^{\infty}\frac{k+1}{k+3}P(n=k)-\left(\sum_{k=1}^{\infty}\frac{k+1}{k+2}P(n=k)\right)^2 \end{align} $$
其中,經過一些更多的重新安排收益
$$ Var(x_n)=2+2e-e^2 $$
模擬研究 $ x_n $
set.seed(42) nSim <- 1e6 k <- 14 u <- sapply(1:nSim,function(i){ x <- runif(k) z <- rle(diff(x)>0) x[1 + z$values[1]*z$lengths[1]] }) cat("Variable : " ,"\t", "simulation", "\t", "theoretical" , "\n") cat("mean(x_n) : " ,"\t", mean(u) , "\t", exp(1)-2 , "\n") cat("var(x_n) : " ,"\t", var(u) , "\t", 2+2*exp(1)-exp(2), "\n")
導致
Variable : simulation theoretical mean(x_n) : 0.7182006 0.7182818 var(x_n) : 0.04752103 0.04750756
附錄
我們甚至可以產生分佈 $ x_n $ 通過組合 PMF 以封閉形式 $ n $ 和密度 $ f^{max}_{k+1}(x) $ :
$$ \begin{align} f(x)&=\sum\limits_{k=1}^{\infty}f(x_n|n=k)P(n=k)\ &=\sum\limits_{k=1}^{\infty}(k+1)(x)^k\left(\frac{1}{k!}-\frac{1}{(k+1)!}\right)\ &=\sum\limits_{k=1}^{\infty}(x)^k\frac{1}{(k-1)!}\ &=x\sum\limits_{k=0}^{\infty}(x)^k\frac{1}{k!}\ &=xe^{x} \end{align} $$
通過同樣的推理,我們可以證明 $ x_n $ 給定從連續分佈中抽取 $ \Phi $ (和相應的密度 $ \phi $ ) 等於
$$ f(x)=\phi(x)\Phi(x)e^{\Phi(x)} $$