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

这里数据有标量days_since_last_period以及向量days_between_periods,而其他的参数将会被被估计出来。使用这个函数,我能从任意一个数据+参数的组合中得出对数似然函数值。但是,到这里我只完成了建模的一半工作,我还需要先验信息!

关于经期,受孕和生育的先验信息

为了完善这个模型,我需要所有参数的先验信息。换言之,我需要明确在获取数据之前这个模型包含了哪些信息。具体上,我需要实验开始前mean_period, sd_period, is_fertile, and is_pregnant的初始值。(虽然next_period也是一个参数,我不需要给出一个它的确切初始值,因为它的分布完全由mean_period 和sd_period确定。另外,我还需要找到在一个周期内能受孕的可能值(上文中我设定为0.19)。这里我使用了模糊、主观的数据吗?不!我到生育文献中去寻找了更加有信息价值的依据!

对于days_between_periods的分布,其参数为mean_period和sd_period。这里我使用了来自文章The normal variabilities of the menstrual cycle Cole et al, 2009 中的估计值,该文测量了184个年龄来自18-36岁的女性的经期规律。相邻经期间天数的总平均值为27.7天。每一个参与实验者的标准差的平均值为2.4。总体样本的间隔天数的标准差为1.6。给定了这些估计值以后我令mean_period服从(27.7,2.4)的正态分布,令sd_period服从均值为1.6,标准差为2.05的半正态分布。如下:

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

对于参数is_fertile a以及参数is_pregnant我考虑了受精频率作为先验。想要确定可育的夫妻的比例几乎是不可能的事情,因为这里对于不育有各种不同的定义。 Van Geloven et al. (2013)做了一个小范围的文献回顾然后得出结论所有夫妻中有2%至5%的人被认为是不孕的。因为曾看到高达10%的情况,我决定取该范围的上限。设定初始数据100%-5%=95%的夫妻是可孕的。

is_pregnant 是 0 1变量表示这对夫妻在最近的一轮周期中是否将要(或者说已经)受孕。在这里我使用的先验值是在一个周期内成功受孕的概率。当这对夫妇没有生育能力时这个概率值显然为0.0,但是积极地尝试、可育的夫妇在一个周期内成功受孕的比例有多大呢?不幸的是我并没有找到明确说明这一数据的文献,但是我找到了比较接近的参照依据。在Increased Infertility With Age in Men and Women Dunson et al. (2004) 一书的第53页,给出了在12个月中一直尝试受孕但是没有怀上的夫妻的比例,同时该数据也提供了女性不同年龄段的数据。

prop_not_preg_12_cycles <- c("19-26 years" = 0.08,
                            "27-34 years" = 0.13,
                            "35-39 years" = 0.18)

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

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

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

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