求兩個隨機變數的差的絕對值的期望

2022-04-01 02:59:38 字數 2122 閱讀 2074

問題1:給定離散隨機變數 x 均勻分布在區間 [a, b] 的整點上,y 均勻分布在區間 [c, d] 的整點上,求期望 e(|x-y|)。

問題很簡單,顯然最直接的辦法就是列舉 x 和 y 然後進行統計即可。如果再稍稍思考一下,那麼可以發現其實只用列舉其中乙個變數就行了,因為若固定 x = i,那麼求 e(|i-y|) 只需要對 i <=y 和 i > y 兩種情況分別進行討論即可。上面兩個方法的執行時間都是與區間的大小相關的,對於這樣簡單的乙個問題,有理由相信一定有 o(1) 的方法存在,事實上也的確如此,推導如下。

首先可以交換 x , y 的順序以保證 a <= c,那麼 a, b, c, d 之間的順序可以分成 3 種情況:

a <= b <= c <= d

a <= c < b <= d

a <= c <= d < b

對於第 1 種情況,因為 y 始終大於等於 x,因此 e(|x-y|) = e(y) – e(x);

對於第 2 種情況,除了 cb 段以外 y 始終大於 x, 因此 e(|x-y|) = e(y) – e(x) + p_cb_cb * e_cb_cb,這裡的p_cb_cb 表示 x 和 y 都分布在 cb 段的概率,e_cb_cb 表示當 x 和 y 都分布在 cb 段時,|x-y|的期望。

對於第 3 種情況,可以將第 ab 拆成 ad 和 d』b 兩段,這裡 d』 = d + 1。於是 e(|x-y|) = p_ad_cd * e_ad_cd + p_d』b_cd * e_d』b_cd,而 e_ad_cd 可以按第 2 種情況來求, e_d』b_cd 可以按第 1 種情況來求,問題解決。

現在唯一剩下的問題就是如果求 e_cb_cb,顯然若 b – c + 1 = n,那麼 e_cb_cb = e_[1, n]_[1, n]. 於是問題可以轉換為:

問題2:給定離散隨機變數 x 和 y 均勻分布在區間 [1, n] 的整點上,求期望 e(|x-y|)。

問題 2 簡單地做乙個求和就可以得到乙個 closed form:

利用上式可以得到解決問題 1 的**如下:

double eabs(int a, int b, int c, int d)

if (b > d)

int n = max(b - c + 1, 1);

double e_ab_cd = (c + d - a - b) / 2.0;

double e_cb_cb = (n - 1.0 / n) / 3.0;

double p_cb_cb = (double)n / (b - a + 1) * (double)n / (d - c + 1);

return e_ab_cd + e_cb_cb * p_cb_cb;

}

再來看如果隨機變數是連續分布的那情況又如何:

問題3:給定連續隨機變數 x 均勻分布在區間 [a, b) 上,y 均勻分布在區間 [c, d) 上,求期望 e(|x-y|)。

問題 3 同樣可以根據 a, b, c, d 的順序分成 3 種情況進行討論,而在情況 2 中仍然還要碰到求 e_cb_cb 的問題。若 n = b - c,對於連續隨機變數顯然有 e_cb_cb = n * e_[0,1)_[0,1),於是問題就轉化成了:

問題4:給定連續隨機變數 x 和 y 均勻分布在區間 [0, 1) 上,求期望 e(|x-y|)。

對於問題 4,可以直接求乙個積分(實際上如果畫出函式影象的話就是兩個三稜錐),也可以直接求極限:

由上式可以得到解決問題 3 的**如下:

double eabs(double a, double b, double c, double d)

if (b > d)

double n = max(b - c, 0.0);

double e_ab_cd = (c + d - a - b) / 2.0;

double e_cb_cb = n / 3.0;

double p_cb_cb = n / (b - a) * n / (d - c);

return e_ab_cd + e_cb_cb * p_cb_cb;

}

最後祝大家兔年快樂!

求BST中任意兩節點差的絕對值最小值

這道題考察的是二叉搜尋樹的遍歷,二叉搜尋樹常用的遍歷有前序遍歷,中序遍歷,後序遍歷,其中中序遍歷的結果是有序的,這道題利用的是中序遍歷。private int min int.maxvalue int temp null int getminimumdifference testmethod.tre...

求兩個時間的差

直接上 注 中的model.recenttime就是你自己要計算的時間 nsstring newtime model.recenttime substringtoindex 19 取特定的字串與系統給的格式匹配 nslog newtime newtime dateand日曆 nstimezone z...

隨機變數數學期望的乙個例項

以下是網上看到的乙個例子 按規定,某車站每天 8 00 9 00,9 00 10 00 都恰有一輛客車到站 但到站時刻是隨機的 且兩者 到站的時間相互獨立。其規律為 到站時刻 8 10 8 30 8 50 9 10 9 30 9 50 概率 1 6 3 6 2 6 一旅客8 20 到車站,求他候車時...