R语言计算我的妻子是否怀孕的贝叶斯模型(4)

post <- sample_from_posterior(33, days_between_periods, n_samples = 100000)

post这里是一个长数据框,其中数值的表示基于这些参数得出的后验分布信息。

head(post)

##      mean_period sd_period is_fertile is_pregnant next_period
## 33231          28      2.8          0          0          37
## 22386          27      2.4          1          1          NA
## 47489          27      2.1          1          1          NA
## 68312          28      2.3          1          1          NA
## 37341          29      2.9          1          1          NA
## 57957          30      2.6          1          0          36

让我们来看看各个周期中间隔天数的均值和方差的变化吧。

R语言计算我的妻子是否怀孕的贝叶斯模型

像期望的那样,后验分布的图像比先验数据更狭长;并且观察后验数据,大致得出平均的经期周期天数在29天左右,其标准差在2-3天左右。那么重要问题来了:我们是可育夫妻的概率为多少,以及我们在2月21日确定已经怀孕的概率为多少?为了计算这个我们取 postisfertile与post is_pregnant,并计算众数。当然一个捷径是直接采用均值。

图12:一个计算我的妻子是否怀孕的贝叶斯模型

因此这是一个相当好的消息:我们极有可能是可孕的夫妻,并且我们已经受孕的可能性高达84%!用这个模型我可以了解到:当经期的来临再多延迟几天,我们确定怀孕的概率是如何随之而变化的。

图13:一个计算我的妻子是否怀孕的贝叶斯模型

图14:一个计算我的妻子是否怀孕的贝叶斯模型

是的,既然我们已经得到了好消息,为何不看看在我们之前尝试受孕的数月中我们可孕和受孕成功的可能性是如何变动的呢?

R语言计算我的妻子是否怀孕的贝叶斯模型

因此,这能够解释得通了。在距离“最后一次经期”的时间变长时,我们在当前周期怀孕成功的几率增加了,但是一旦这里有经期发生时可能性会跌回至基线。我们看到的可孕率曲线是几乎相同的,但在我们没有怀孕成功的每一个周期里,可孕率曲线稍稍有所下降。这两个指标的图像均呈轻微的锯齿状,但这只是由重要性抽样算法的偏差导致的。另外需指出的是,虽然上述的图像非常美观,但是查看未怀孕期间的概率是无效的,唯一具重要性和信息价值的是当前的概率。

R语言计算我的妻子是否怀孕的贝叶斯模型

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8f33d7f26b0c20cd2564c41be2044754.html