DPSynth 解説・実証デモ

MST(Maximum Spanning Tree)— ペア相関の最大全域木を DP で選ぶデフォルト機構の解説

MST 機構の解説(Maximum Spanning Tree)

手法選定ガイドAIM の解説INDEPENDENT の解説Private-PGM の解説メインレポート

📘 本ページのアルゴリズム・実装の記述は、原論文 arXiv:2108.04978google/dpsynth のソースコード(dpsynth/discrete_mechanisms/mst.py、2026-06 時点の main ブランチ)に基づく。 実験数値の節(🔎)のみ本デモの実測である。


1. 位置づけ

MST(Maximum Spanning Tree)機構は、NIST の合成データコンテスト優勝手法として知られる DP 合成データ生成アルゴリズムである arXiv:2108.04978。 属性間のペア相関(2-way マージナル)のうち「最も相関の強い組み合わせで作る 1 本の木(最大全域木)」だけを 差分プライバシーを満たしつつ選んで測定し、Private-PGM で同時分布を推定する。

DPSynth の In-Memory API dpsynth.generate() のデフォルト機構は MST であるdiscrete_config 引数のデフォルト値が MSTConfig())。 ただしこれは引数の既定値にすぎず、データに応じた自動選定ではない点に注意 (→ 手法選定ガイド)。

2. アルゴリズムの仕組み

flowchart LR A["① 1-way マージナル測定
ガウス機構(予算 1/3)"] --> B["② ペア相関の重み計算
独立モデルからの L1 乖離"] B --> C["③ DP 版クラスカル法
指数機構(予算 1/3)で
最大全域木を構築"] C --> D["④ 木の辺の 2-way マージナル測定
ガウス機構(予算 1/3)"] D --> E["⑤ Private-PGM で
同時分布を推定"] E --> F([合成データを
サンプリング])
  1. 1-way 測定: 全列の周辺分布をガウス機構(集計値に正規ノイズを加える DP の基本機構)で測定する。
  2. ペア相関のスコアリング: ノイズ付き 1-way から独立モデルを作り、各属性ペア (a, b) について 「真の 2-way マージナル」と「1-way 同士の外積(独立を仮定した場合の予測)」の L1 距離を重みとする。 独立仮定から乖離しているペアほど「相関が強い」とみなす(感度 1 の統計量になるよう設計されている)。
  3. DP 版クラスカル法: 重み最大の辺を貪欲に選ぶ代わりに、各ラウンドで指数機構 (スコアに応じた確率で候補を選ぶ DP 機構)により 1 辺ずつ選び、列数 −1 本の辺からなる全域木を作る。
  4. 2-way 測定: 木に選ばれた辺(属性ペア)の 2-way マージナルをガウス機構で測定する。
  5. 推定と生成: すべてのノイズ付き測定値を Private-PGM(mbi)に渡し、 測定値と整合する同時分布(マルコフ確率場)を mirror descent で推定し、そこからサンプリングする。

選定は最初に 1 回だけ行われ、AIM のような反復・適応はない。

3. プライバシー予算の使われ方

MSTConfig のデフォルトでは、zCDP 換算の総予算 ρ を 3 等分して使う。

ステップ 予算配分(既定) 機構
1-way マージナル測定 ρ × 1/3(one_way_budget_fraction ガウス機構
全域木の辺の選定 ρ × 1/3(select_budget_fraction 指数機構(辺ごとに ε = √(8ρ′/(d−1)) を機械的に分配)
2-way マージナル測定 ρ × 残り 1/3 ガウス機構

4. 主なパラメータ(MSTConfig

パラメータ 既定値 意味
pgm_iters 5000 Private-PGM(mirror descent)の反復回数
seed 0 乱数シード
maximum_marginal_size 10,000,000 候補に含める 2-way マージナルのセル数上限(高カーディナリティ対策)
one_way_budget_fraction / select_budget_fraction 1/3, 1/3 上記の予算配分

5. 得意なケース・苦手なケース

得意:

苦手:

6. 本デモでの実験結果

🔎 以下は本デモ(UCI Adult、20,000 行、9 列、δ=1e-5)の実測。詳細は各リンク先を参照。

全域木制約による「ペアの崩れ」(アルゴリズム由来の解釈)

🔎 以下は、上記 2-way 忠実度の結果に対する、MST アルゴリズム arXiv:2108.04978 の 構造的制約からの解釈である。検証対象 DPSynth についての「列間依存が下流有用性に効く」という要約は メインレポート §6.1 にある。

MST が保持できる 2-way 依存は、最大全域木に選ばれた d−1 本の辺だけである。 推定エンジン(Private-PGM)には木構造のクリークしか渡されないため、 木から外れた属性ペアは独立として推定される。

これは MST の欠陥というより「強い相関が木状につながっている」という前提が崩れたときの構造的限界である。 広いペア相関を木の制約なしに拾える AIM が、同じペアで大きく上回った(0.034)のと対照的である。 MST 採用時は、関心のあるペアの 2-way 分布を実データと突き合わせて検証することが望ましい。

7. 参考リンク


手法選定ガイドに戻る