6. 二元随机变量中的条件概率

到了二元随机变量的部分,概率论就变得抽象了起来,只剩下了各种难以琢磨的理论公式。还好,我们还有一个有趣的例子,可以通过模拟来验证理论分析的结果。

1. 题目

设有一件工作需要甲乙两人接力完成,完成时间不能超过30分钟,设甲先干了X分钟,再由乙完成,加起来总共用了Y分钟。
若𝑋~𝑈(0, 30),在X=x的条件下,𝑌~𝑈(𝑥, 30)。若两人总共花了25分钟完成工作时,求甲工作时间不超过10分钟的概率。

2. 分析

根据课堂上的分析,我们知道甲工作时间不超过10分钟的概率:P(X<10|Y=25)=ln1.5/ln6=0.2263

3. Python 模拟思路

那么我们怎么使用Python对这一过程进行模拟呢?在python的numpy库中,我们可以生成均匀分布的函数numpy.random.uniform(low, high, num),其中low与high是生成的随机数的区间,num是生成的随机数的个数。
因此,甲工作时间X~U(0, 30), 即甲工作时间t_甲=numpy.random.uniform(0, 30),而总时间T=numpy.random.uniform(t, 30), 那么乙工作的t_乙时间即为总时间T减去甲工作的时间t: t_乙=T-t
而在我们需要求解的条件概率中,我们知道,对于连续型随机变量,P(X=a)=0,即随机变量取得的为一定值的概率=0,因此我们可以认为的定一个小区间,即|T-25|<\varepsilon, 然后统计其中t_甲\leq10的概率。

4. Python 程序

# the 1 st worker spent X min, then the other worker spent n min
# X~U(0,30), the total time Y ~U(X, 30)
# What is the distribution of Y?

import math
import numpy as np 
from matplotlib import pyplot as plt 

num = 100000

# x = np.arange(num)
# y = np.random.uniform(0, 30, num)
sigma = 0.1


x = np.arange(num)
first_time = np.zeros(num)
count = 0
flag = 0
second_time = np.zeros(num)
for i in range(num):
    first_time[i] = np.random.uniform(0, 30)
    total_time = np.random.uniform(first_time[i], 30)
    second_time[i] = total_time - first_time[i]
    if abs(total_time - 25) <= 0.2:
        count += 1
        if first_time[i] <= 10:
            flag += 1

plt.style.use('seaborn')
f = plt.figure(1)
plt.scatter(x, first_time, alpha = 0.5, color = 'g')
print(count, flag, flag/count*1.0)
plt.title("The time first worker spent")

g = plt.figure(2)
plt.scatter(x, second_time, alpha = 0.5, color = 'r')
plt.title("The time second worker spent")
#plt.show()

最后,模拟了100000次,得到的结果大概是0.2257,与理论值也算比较接近了。我觉得也算是圆满解决了这个问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每一次,遇到不开心,都会问自己,是不是自己所坚持这些真的有错吗? 难过玩,跑完步,又会继续坚持。无需去解释什么,无...
    希雅的花园阅读 536评论 0 0
  • 今天来谈谈我上班的路上。在这条路上,每天往返四次,已经有5年多来,一年250天都在这条路上,每天基本要花上1小时~...
    披袄雪阅读 675评论 0 1
  • 那双不合适的鞋,不止是要扔掉,还要早早扔掉,否则伤痕累累,走一程痛苦的路,回头,苦笑 为自己曾经的在乎难过
    姜与小岛阅读 205评论 0 1
  • 雨后的清晨 我听见了一朵花开的声音
    画予抒阅读 291评论 2 3
  • 历时一年多的时间,数次北上南下的学习,我终于完成了OMEGA生命教练的四个模块的培训,成为一名中国首批OMEGA生...
    九九随笔阅读 2,237评论 8 2