贝叶斯网络:图合成和数据采样

时间:2021-01-29 16:37:21

标签: optimization bayesian estimation synthesis dirichlet

输入(我拥有的):一些贝叶斯网络(图形结构和条件概率分布(cpd))和相应的分类数据集(例如bnlearn repo ).

输出(我想要的): 合成图形和数据,使它们类似于给定的数据集。就相似而言,我指的是从合成数据到给定数据集的泛化,包括图结构偏差、cpd 偏差、条件独立性测试值偏差等属性。

如何(我做了什么):

  • 图合成:使用 Erdős–Rényi 和 Barabási–Albert 模型生成骨架,然后随机定向到 DAG。
  • 数据采样:我尝试了两种方法:
    • SEM:来自线性或非线性模型的数值。然后将随机基数分配给节点,并将它们数字化(从最小值到最大值统一分箱)。
    • 前向采样:需要随机生成基数,每个节点的 cpd 使用狄利克雷分布。

为什么(我遇到的问题:) 模拟数据未能很好地推广到测试集(给定的数据集)。将这两个步骤分开,看看为什么:

  • 图形:从给定数据集的图形中重新采样数据,但使用我的新采样参数。效果很好。
  • 数据:所以问题出在数据采样程序上(或者这个归纳是否错误?)
    • SEM:有没有更好的方法来制作样本数据(例如 SEM 参数、离散化方法)。
    • 前向采样:对于节点$X_i$及其父节点$PA_i$的可能值组合$pa_i$,$P(X_i|PA_i=pa_i)$由狄利克雷分布$Dir(\alpha_1, \ cdots, \alpha_{n_i})$,其中 $n_i$ 是 $X_i$ 和 $\alpha_1=\cdots=\alpha_{n_i}, ~U[0.1,1.2]$ 的基数。然后将针对每个可能的值组合重复对 cpd 的这种随机分配(对于 $\Pi_{j\in PA_i}{n_j}$ 次)。
      • 这是前向采样的好方法吗?在狄利克雷分布中微调 $\alpha$ 参数有什么更好的方法吗?我曾尝试使用 MLE 来估计给定数据集的 cpd 中的 $\alpha$,但未能收敛。

感谢任何可能的帮助:)

0 个答案:

没有答案