DPSynth 解説・実証デモ

MST / AIM / INDEPENDENT をどう選ぶか — 公式ドキュメントの記述と本デモの実験結果に基づく実践ガイド

手法選定ガイド: MST / AIM / INDEPENDENT をどう選ぶか

各機構の詳細: MSTAIMINDEPENDENTPrivate-PGM(共有推定エンジン)メインレポート

⚠️ 免責: DPSynth は機構を自動選定しない。どの機構を採用するか、またプライバシー予算 (ε, δ)が要件を満たすかの最終判断は、利用者自身の責任である。本ページは google/dpsynth 公式ドキュメントの記述と本デモの実験結果に基づく 参考情報であり、結果は単一データセット(UCI Adult)・特定バージョンでの実測に基づく点に注意されたい。


1. 大前提: ライブラリは選んでくれない

まず押さえるべき事実が 3 つある。

  1. DPSynth に機構の自動選定機能はない。In-Memory API dpsynth.generate()discrete_config 引数に渡された設定(MSTConfig / AIMConfig / IndependentConfig)の型を見て 実行する機構を決めるだけで、データ特性・予算・列数に応じた分岐は実装されていない。
  2. デフォルトは MSTdiscrete_config=MSTConfig())。何も指定しなければ MST が動くが、 これは「MST が最適と判断された」のではなく、単なる引数の既定値である。
  3. 公式ドキュメントに体系的な選定ガイドはない。あるのは断片的な記述 (INDEPENDENT は "baseline"、AIM は "time consuming (hours)"、SWIFT は高次元データで AIM を改善、など)のみで、 「データと目的に応じてベンチマークして選ぶ」のが前提の設計になっている。

本ページは、この公式ドキュメントの隙間を本デモの実験結果で補う実践ガイドである。

2. 選定フローチャート

flowchart TD Q1{"列間の相関を
保持する必要があるか?"} Q1 -->|"不要
(単変量の集計・形式だけのテストデータ)"| IND["INDEPENDENT
最速・最小予算"] Q1 -->|必要| Q2{"重視するペア相関・
下流タスクが明確か?"} Q2 -->|"明確で、計算時間にも
余裕がある"| AIM["AIM
(workload 指定を検討)"] Q2 -->|"不明確 / まず試したい"| MST["MST(デフォルト)
から始める"] MST --> Q3{"関心のあるペアの
2-way 忠実度は十分か?
(実データと比較して検証)"} Q3 -->|不足| AIM Q3 -->|十分| DONE([MST を採用]) AIM --> DONE2([AIM を採用]) IND --> DONE3([INDEPENDENT を採用])

要点は次の 3 行に要約できる。

3. 観点別の比較表

📑 実験値は本デモ(UCI Adult 20,000 行・9 列・ε=1.0・δ=1e-5)の実測。 「±」付きは複数シード(追加実験B)、単一値は単一シード(メインレポート §5.1)。

観点 MST AIM INDEPENDENT
モデル化する依存関係 2-way(最大全域木の d−1 ペアのみ) 1〜3-way を適応選択(木の制約なし) なし(全列独立)
ワークロード(重視マージナル)指定 不可 AIMConfig.workload 不可
生成時間(本デモ) 約 10 秒 約 70 秒(ε=1。高 ε で約 420 秒、公式注記では数時間もありうる) 約 6 秒
平均 1-way TVD(複数シード)↓ 0.084 ± 0.022 0.099 ± 0.022 0.091 ± 0.017
下流タスク TSTR AUC(複数シード)↑ 0.651 ± 0.106 0.709 ± 0.051 0.506 ± 0.065
2-way 忠実度(実験C)↓ ペア依存(0.02〜0.36) 4 ペア中 3 ペア最良(0.03〜0.16) 中位(0.13〜0.22)
主なチューニング項目 ほぼ不要 max_rounds / max_model_size / workload なし
公式での位置づけ デフォルト機構 高精度だが高コスト ベースライン

4. 観点別の考え方

4.1 相関の保持(最大の分かれ目)

4.2 計算時間・スケール

4.3 プライバシー予算 ε との関係

4.4 数値列が多いデータ

4.5 複数シードで検証する

5. まとめ

ユースケース 推奨
とりあえず試す・ベンチマークの起点 MST(デフォルト)
重視するクロス集計・予測タスクが明確、時間に余裕あり AIM(+ workload 指定)
周辺分布のみで十分・最速・比較基準 INDEPENDENT
数値列の再現性が悪い 機構変更の前に numerical_bins を調整(実験A)
機構間の僅差で迷う 複数シードで再評価(実験B)

⚠️ 繰り返しになるが、最終的な手法選定と、プライバシー要件(ε, δ、プライバシー単位、前提条件)の妥当性判断は 利用者の責任である。本ガイドの実験値は UCI Adult・特定バージョン・限られたシード数での結果であり、 別のデータ・条件では順位が変わりうる。重要な意思決定の前には、対象データでの再評価と google/dpsynth 公式ドキュメント・原論文の確認を推奨する。

6. 参考リンク


各機構の詳細: MST の解説AIM の解説INDEPENDENT の解説Private-PGM の解説