Generating Synthetic Relational Tabular Data via Structural Causal Models¶
会议: ACL 2025
arXiv: 2507.03528
代码: 无
领域: 数据生成 / 表格数据
关键词: synthetic data, relational tables, structural causal models, DAG, tabular foundation model
一句话总结¶
本文扩展了 TabPFN 的基于结构因果模型(SCM)的合成数据生成方法,提出了一个能够生成多表关联(relational)合成表格数据的框架,通过耦合节点和隐因果关系实现跨表依赖建模。
研究背景与动机¶
合成表格数据生成在近年来受到越来越多关注,尤其在基础模型训练中扮演关键角色。TabPFN 利用大量基于 SCM 生成的合成数据集取得了突破性成果,证明了合成数据对表格基础模型的重要性。然而,当前的生成方法存在一个核心局限:
现实中的表格数据绝大多数是关系型的——由多张相互关联的表组成(如数据库中的主表和从表),但现有方法仅能生成单张独立表
基于学习的方法(如 Synthetic Data Vault、GNN+扩散模型)需要真实世界数据集作为基础提取统计和关系模式,而可访问的真实关系型数据集稀缺
TabPFN 的 SCM 方法虽然独立于真实数据、能自然建模因果依赖,但被限制在单表场景
本文的动机明确:将 SCM 方法从单表扩展到关系型多表,使得可以无限量生成具有复杂跨表因果依赖的合成数据,用于训练关系型表格基础模型。
方法详解¶
整体框架¶
方法基于 SCM 的有向无环图(DAG),分三步执行:(1)结构采样——构建图拓扑;(2)预采样——校准噪声尺度和分类边界;(3)主采样——传播数据并读出表格。在此基础上扩展到关系数据生成,通过耦合节点连接多个 DAG。
关键设计¶
-
结构采样(Structure Sampling):使用 Barabási-Albert 模型采样有向图,去除孤立节点和反向边后得到 DAG。根节点数据用多维向量初始化(从正态/伽马分布采样),每个节点定义传播函数 \(g_i: \mathbb{R}^{|\text{pa}(i)| \cdot n} \to \mathbb{R}^n\)(单层全连接神经网络 + 随机非线性激活函数如 ReLU、logabs)。与 TabPFN 的关键区别:分类特征的生成不嵌入传播函数中,而是在读出阶段才离散化——这保证了后续节点接收到连续向量而非被类别数限制的状态。读出通过 pooling 函数(norm、mean、median 等)将 n 维向量投影为标量。
-
预采样(Pre-Sampling):为了让噪声尺度与数据分布匹配,先进行一次无噪声的"预跑":独立采样根节点数据并传播到全图,计算每个节点的 10% 和 90% 分位数 \(q_{0.1}(i), q_{0.9}(i)\)。主采样中,噪声按分位数差缩放: $\(x_i = g_i(x_{\text{pa}(i)}) + (q_{0.9}(i) - q_{0.1}(i)) \varepsilon_i\)$ 这确保传播信号 \(g_i\) 仍是主要信息源,噪声是适度扰动。对分类节点,使用 k-means 将预采样数据聚类为 K 个类别,定义分类 pooling 函数为最近质心分配。
-
关系数据扩展(核心贡献):独立采样两个 DAG \(\mathcal{G}_{\text{main}}\) 和 \(\mathcal{G}_{\text{add}}\),引入耦合节点 C 连接二者(C 由 \(\mathcal{G}_{\text{add}}\) 的汇节点导致,指向 \(\mathcal{G}_{\text{main}}\) 的特征节点)。为建模隐因果影响,额外将 \(\mathcal{G}_{\text{add}}\) 的特征节点连接到 \(\mathcal{G}_{\text{main}}\) 的目标节点(黄色边)。数据分两次采样:一次在合并图上(生成主表),一次仅在 \(\mathcal{G}_{\text{add}}\)+C 上(生成附加表),两表通过 C 列关联,样本量可不同。
-
分类节点 C 的设计:耦合节点使用较多类别数(如 175 类),模拟外键列,使两表之间的关联更贴近真实数据库的外键约束。
损失函数 / 训练策略¶
本文是数据生成方法,不涉及模型训练或损失函数。生成过程完全基于随机采样和确定性传播,所有参数(图结构、分布参数、激活函数)均随机初始化。
实验关键数据¶
主实验(表格)¶
基于 Fig. 2 的示例图生成两张关联表(主表 100,000 行、附加表 500 行),使用 EmbDI 嵌入方法 + k-NN 预测,对比仅用主表 vs. 联合两表:
| 目标节点 | 任务类型 | 仅主表 | 主表+附加表 | 趋势 |
|---|---|---|---|---|
| M4 | 分类 (AUC) | ~0.55 | ~0.65 | 联合更好 |
| M6 | 回归 (RMSE) | ~0.45 | ~0.35 | 联合更好 |
(具体数值随嵌入维度变化,在高嵌入维度下联合方法持续优于单表方法)
消融实验——参数影响分析¶
| 参数 | 影响 |
|---|---|
| 隐维度 n | n 越大,从特征预测目标越难(信息压缩损失更大) |
| 激活函数类型 | 影响数据复杂度和非线性关系的多样性 |
| 噪声比例(分位数选择) | 控制信号 vs 噪声的平衡 |
| 类别数 K | 影响分类任务的难度和类间可分性 |
关键发现¶
- 跨表依赖有效性验证:附加表包含的隐因果信息确实影响主表的目标列,且这些信息无法仅从主表的 C 列推断——这正是真实关系型数据的核心特征
- 在嵌入维度足够高时,联合两表的预测质量稳定优于仅用主表
- 隐因果连接(黄色边)是关键:没有它们,C 列传播的信息就足以表示所有关系,附加表将不提供额外信息
亮点与洞察¶
- 方法简洁但目标明确:通过耦合节点和隐因果边将单表 SCM 框架自然扩展至多表,概念清晰、实现直接
- 对 TabPFN 原框架的改进值得注意:将分类特征生成从传播函数中分离出来,在读出阶段才离散化,这避免了类别数限制后续节点的信息流——这一设计修改对单表场景也适用
- 可扩展性强:同样的方法可以串联更多 DAG 生成三张及以上的关联表
局限与展望¶
- 实验规模不足:仅在一个示例数据集上验证,缺乏大规模系统性实验和参数敏感性分析
- 数据类型单一:仅支持数值和分类特征,未涵盖文本、图像等多模态数据
- 关系结构简单:仅验证了两张表的关系,三张及以上表的交叉连接、循环依赖等复杂场景未探索
- 下游任务评估有限:仅用 EmbDI + k-NN 的简单基线验证,未测试在 tabular foundation model 训练中的实际效果
- 未与现有关系数据生成方法(如 Synthetic Data Vault、Hudovernik 2024)进行直接对比
相关工作与启发¶
- 直接建立在 TabPFN (Hollmann et al. 2025) 的 SCM 数据生成框架之上
- Synthetic Data Vault (Patki et al. 2016) 是首个基于学习的关系数据生成方法,但依赖真实数据
- Hudovernik (2024) 结合 GNN 嵌入和扩散模型处理关系结构,但同样需要真实数据
- 本文的优势在于完全独立于真实数据、可大规模生成,适合基础模型预训练
评分¶
- 新颖性: ⭐⭐⭐ — 扩展方向明确且合理,但核心思想是 TabPFN 框架的自然延伸,增量较小
- 实验充分度: ⭐⭐ — 仅一个示例数据集、数据量化指标不够系统,属于 short paper 级别的验证
- 写作质量: ⭐⭐⭐⭐ — 结构紧凑、概念阐述清楚,算法伪代码和图示都很直观
- 价值: ⭐⭐⭐ — 对 tabular foundation model 社区有潜在价值,但需要更充分的实验来证明实际影响
相关论文¶
- [NeurIPS 2025] Radar: Benchmarking Language Models on Imperfect Tabular Data
- [ACL 2025] Theorem Prover as a Judge for Synthetic Data Generation
- [ACL 2025] TARGA: Targeted Synthetic Data Generation for Practical Reasoning over Structured Data
- [ACL 2025] PersonaBench: Evaluating AI Models on Understanding Personal Information through Accessing (Synthetic) Private User Data
- [ACL 2025] Causal Estimation of Tokenisation Bias