回复 第9楼 的 yanlinlin82:是益辉写的。
我的那个pdf中有一个离散序列概率的通用程序,根据ROSS书总结写的:
<br />
coinE <- function(res.seq, p.seq){<br />
E <- 1/prod(p.seq)<br />
n <- length(res.seq)<br />
for(i in 1:(n-1)){<br />
f <- 1*!sum(abs(diff(res.seq,i)))<br />
if(f==1) E <- E + 1/prod(p.seq[1:(n-i)])<br />
}<br />
return(E)<br />
}</p>
<p>> coinE (c(1,0,0), rep(0.5,3)) ## HTT 首次发生时间期望<br />
[1] 8<br />
> coinE (c(1,0,1), rep(0.5,3)) ## HTH 首次发生时间期望<br />
[1] 10<br />
</p>
代码中 res.seq 是输入花样,需用整数表示;p.seq 和res.seq 等长,表示对应花样元素的单次概率.
用该程序计算 HTT 和 HTH 的首次发生时间期望,得到期望值分别为 8、10.
这里想说的是能得到解析解是很幸福的,模拟在数量大的时候速度太慢。
<br />
> ## 抛掷均匀骰子,得到 123456123456 首次时间期望<br />
> coinE (c(1:6,1:6), rep(1/6,12))<br />
[1] 2176828992<br />
> ## 抛掷不均匀硬币 (正反面概率分别为 0.4,0.6),得到 HTHTHTHT 首次时间期望<br />
> coinE (rep(1:2,4), rep(c(0.4,0.6),4))<br />
[1] 395.2739<br />
</p>