使用pymc进行贝叶斯网络推断(初学者的困惑)


12

我目前正在Daphne Koller在Coursera上参加PGM课程。这样,我们通常将贝叶斯网络建模为变量的因果关系图,这些变量是观察数据的一部分。但是在PyMC教程和示例中,我通常看到它的建模方式与PGM或至少我感到困惑。在PyMC中,任何观察到的真实世界变量的父母通常都是您用来对变量建模的分布参数。

现在我的问题确实是一个实际的问题。假设我有3个变量用于观察数据(A,B,C)(仅出于此目的,假设它们都是连续变量)。从某些领域的知识来看,可以说A和B导致C。因此,我们在这里有一个BN-A,B是父母,C是孩子。现在从BN方程P(A,B,C)= P(C | A,B)* P(A)* P(B)

我可以说A和B是一些具有一定mu和sigma的正态分布,但是如何建模P(C | A,B)?我想学习的一般想法是如何使用PyMC学习此BN,以便可以查询BN。还是我必须以某种方式用模型的参数来增加BN。

使用pymc可以解决此问题吗?还是我的基本原理有误?

任何帮助,将不胜感激!

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.