bioducklily的个人博客分享 http://blog.sciencenet.cn/u/bioducklily

博文

随机过程 精选

已有 8745 次阅读 2013-1-9 20:46 |系统分类:科研笔记

一直对贝叶斯理论和MCMC 过程理解不明了,在查资料的过程中,看到一个有趣的问题:
“东方随机过程
大小姐蕾米最喜欢B型血。
女仆长咲夜每天一早会到野外搜集新鲜的血液。从每个人身上可以采集到一个单位的血液。咲夜每天采集到若干个人的血液后返回红魔馆。假设人群中B型血的概率为四分之一。
蕾米每天对B型血的需求量是随心情而定的。我们假设需求量服从均值为一的指数分布。
如果咲夜采集到的B型血不能满足蕾米的需求,咲夜会受到训斥。在受到训斥之后的一天,咲夜会多采集一个人的血液。如果某天B型血的消耗量不到采集量的一半,第二天咲夜会少采集一个人的血液。如果这两件事情都没有发生,第二天采集人数和前一天相同。
请问在长时间之下:
1. 咲夜平均每天要采集几个人的血液?
2. 咲夜受到训斥的天数占多少比例?”
心里也不知道用纯数学的方法该怎么解这个问题,不过学过一点点的编程知识,顺便就用R写了一个代码,把它解了出来,但是还是希望能有数学教好的朋友能帮忙给出纯数学上的解答。
根据已知条件可知: 蕾米对血的需求量服从均值为1的指数分布:我们假设10000天的血需求量为:
R 编写代码如下: 
eat_blood <- rexp(10000,rate=1)
#初始采集血液的人数 
N=6
#获得B型血量
B_blood <- N *1/4
#初始是否被骂:
sad <- F
#统计被骂次数
sadtimes <- 0
#统计10000天的采血人数
num_person <- NULL
#随机模型开始
for (i in 1:length(eat_blood)) {
#依据条件
if (B_blood < eat_blood[i]) {
N <- N+1
sad = T
sadtimes <- sadtimes +1 
} else {
if (eat_blood[i] < 1/2 * B_blood) {
N <- N-1
sad=F
} else { sad =F}
}
B_blood <- 1/4*N
num_person <- c(num_person,N)
}
print(sadtimes/length(eat_blood))
plot(num_person,type='l',col=blue)


10000次随机过程所采集血的人图示

#采血人数的期望值

summary(num_person)

N=4.088

#被责骂的比例

print(sadtimes/length(eat_blood))

#0.386



https://blog.sciencenet.cn/blog-846085-651473.html


收藏 IP: 218.64.17.*| 热度|

3 杨华磊 徐绍辉 詹德明

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-23 19:47

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部