我正在学习使用R包bnlearn的动态贝叶斯网络模型。为此,我遵循本论文,它们以6层的形式施加某些约束(文件中的表1):
1 Gender, age at ALS onset
2 Onset site, onset delta (start of the trial - onset)
3 Riluzole intake, placebo/treatment
4 Variables at time t-1
5 Variables at time t, TSO
6 Survival 在本例中,由于gender和age位于顶层,所以它们不能受Riluzole intake的影响,而是受Riluzole intake的影响(或有因果关系),并最终受到survival的影响。这保证了网络的非周期性,也就是说,在变量之间没有无终止的反馈循环。
我的问题是,我们如何使用R包bnlearn来建模这些先验知识。
发布于 2021-06-04 20:31:47
您可以通过几种方式为结构学习添加领域知识或约束。
custom.fit手动构建网络。whitelist和blacklist参数对边缘方向和边缘存在施加约束。prior="cs",其中“如果先验是cs,则beta是由指定一组弧的先验概率的列组成的数据帧,假定其余的弧具有一致的概率分布”)。还有其他的前科可以使用。https://stackoverflow.com/questions/67785734
复制相似问题