BinAgg 再現追試

比較手法 AdaSSP・他データセット・反復数

発展実験: 比較手法と他データセット

レポート本体(E3)は論文 [1] の D7(Air Quality)を予測誤差 RelMSE で再現した。ここでは カバレッジを広げる発展実験として、(1) 比較手法 AdaSSP の追加、(2) 同定できた他データセットでの 追試(§2: Abalone/Wine/Appliances、§4: 新たに同定した D1/D2/D5/D9)、(3) 反復回数の影響、 (4) Wine の乖離の原因切り分けと解消(§5)、(5) 係数レベルの比較(§6)、 (6) 合成データの下流 ML 評価(論文 §5.2.2 / Table 3)(§7)を best-effort でまとめる。 (1)–(5) は論文 Table 2、(6) は Table 3 の報告値と並べて評価する。

📘 best-effort の注記: 競合手法の再実装や他データの前処理は、論文 Appendix の詳細が完全には公開されていないため、 絶対値の厳密一致は保証しない。優劣の傾向と桁を確認する目的で実施する。

1. 比較手法: AdaSSP(D7, μ=1, 100 反復)

論文は BinAgg を AdaSSP(Wang 2018)・DP-GD と比較する。いずれも BinAgg パッケージ外のため、AdaSSP を μ-GDP 版で自前実装し(scripts/06_adassp.py、3 つの Gaussian 機構に予算分割)、D7 で比較した。DP-GD は チューニング感度が高く高コストと論文も述べているため対象外とする。

E6: D7 method comparison (RelMSE)

手法 本追試 RelMSE (μ=1) 論文 D7 報告値
非プライベート OLS 0.441 0.441
BinAgg 0.450 0.463
AdaSSP(best-effort) 0.595 0.682
DP-GD — (対象外) 0.852

2. 他データセット(μ=1, 30 反復)

論文の D1–D9 のうち \((n,d)\) で同定できた 3 件(D4=Abalone, D6=Wine Quality, D8=Appliances Energy)を fetch_openml で取得し、E3 と同じ手順(RelMSE・non-private bounds)で追試した(scripts/05_other_datasets.py)。 \((n,d)\) はいずれも論文と一致した。

E5: other datasets RelMSE vs paper

データ (n, d) 本追試 OLS 本追試 BinAgg 論文 OLS 論文 BinAgg
Abalone (4177, 10) 0.044 0.057±0.009 0.044 0.059
Wine Quality (6497, 12) 0.027 0.037±0.005 0.016 0.022
Appliances (19735, 27) 0.438 0.497±0.009 0.438 0.507

3. 反復回数の影響

本体 E3 は当初 30 反復だったが、論文と同じ 100 反復に増やしても D7 の結果は実質変わらなかった (μ=1 で BinAgg RelMSE = 0.450±0.006、30 反復時の 0.450±0.005 とほぼ同一)。RelMSE が反復に対して安定であることを確認した。

4. 追加同定したデータセット D1/D2/D5/D9(best-effort, μ=1)

論文の D1–D9 のうち §2 で未同定だった 5 件について、\((n,d)\) と論文の参照データから同定を進めた。 本追試環境では OpenML と UCI が遮断されているため、fetch_openml ではなく GitHub ミラーから取得し、 E3/E5 と同じ手順(予測 RelMSE・non-private bounds)で追試した(scripts/07_more_datasets.py)。

ID データ (n, d) 同定 状態
D1 (182, 4) LT-FS-ID: Intrusion Detection in WSNs(UCI 715, k-barriers 回帰) 同定済・データ取得不可
D2 (345, 6) BUPA Liver Disorders 追試済
D3 (2043, 8) 未同定
D5 (5875, 21) Parkinsons Telemonitoring 追試済
D9 (21263, 81) Superconductivity 追試済

E7: identified D2/D5/D9 RelMSE

データ (n, d) 本追試 OLS 本追試 BinAgg (μ=1) 反復
D2 BUPA Liver (345, 6) 0.406 0.770 ± 0.320 30
D5 Parkinsons Telemon. (5875, 21) 0.011 0.015 ± 0.002 30
D9 Superconductivity (21263, 81) 0.131 0.201 ± 0.010 5

📘 best-effort の限界: 論文 Table 2 の D2/D5/D9 の数値は本環境(arXiv 遮断)で参照できないため、上表は本追試値と 一致した \((n,d)\) のみを示す。前処理仮定(特に \(d\) を合わせるための target/列選択)が差異の主因になり得る。

5. Wine Quality の乖離解消(前処理の切り分け)

§2 で Wine(D6)のみ OLS RelMSE が論文の約 1.7 倍(0.027 vs 0.016)だった。原因を scripts/08_wine_preprocessing.py で 切り分けた。鍵となる事実は、OLS の予測 RelMSE は特徴量の列ごとのスケーリングに対して不変\(X\) の列空間と \(y\) のみに依存)という点である。 したがってズレは「標準化の有無」では説明できず、設計行列にどの列が入るか(切片・型列)か、結合するデータ自体に起因する。

設計(n=6497) d OLS RelMSE
11 化学 + type, 切片なし(E5 と同じ) 12 0.0156
11 化学 + type + 切片 13 0.0155
11 化学 + 切片, type なし 12 0.0156
11 化学のみ, 切片なし 11 0.0156

6. 係数レベルの比較(OLS vs BinAgg)

§2・§4 は予測誤差 RelMSE だったが、追加実験として回帰係数そのものを OLS と BinAgg で比べた(scripts/09_coefficients.py)。 実データには真の \(\beta\) が無いので非プライベート OLS の係数を基準に、DP 実行(μ=1)の以下を、生データと標準化データの両方で測った: relL2(補正) \(=\lVert\beta_{\text{BinAgg}}-\beta_{\text{OLS}}\rVert/\lVert\beta_{\text{OLS}}\rVert\)、relL2(naive)(補正なし)、 95% CI が \(\beta_{\text{OLS}}\) を含む割合(CI 被覆)、設計の条件数 \(\mathrm{cond}(X^\top X)\)

E9: coefficient agreement (raw vs standardized)

データ (n, d) 設計 cond(XᵀX) relL2(補正) relL2(naive) CI が OLS を含む割合
D2 BUPA (345, 6) 7.1e4 3.97 ± 3.11 3.41 0.97
標準化 1.0e1 5.91 ± 3.40 5.03 1.00
D5 Parkinsons (5875, 21) 2.5e15 1.20 ± 0.43 1.20 0.83
標準化 5.4e8 1.00 ± 0.03 1.00 0.91
D9 Superconduct. (21263, 81) 1.0e13 1.02 ± 0.03 1.02 0.85
標準化 6.4e5 1.04 ± 0.07 1.04 1.00
D6 Wine (6497, 12) 2.9e7 1.30 ± 0.38 1.29 1.00
標準化 1.6e2 3.32 ± 1.72 3.27 1.00

📘 解釈: 係数レベルの有用性が要るなら (1) 標準化に加えて共線性の整理・次元削減、(2) 十分な \(n\)、(3) 締まった bounds が必要。 単に予測したいだけなら RelMSE が頑健(§2/§4)。用途で指標を選ぶという本レポートの方針を裏づける結果である。

7. 合成データの下流 ML 評価(論文 §5.2.2 / Table 3, ε=1)

レポート本体(E1–E3)と上の発展は、いずれも回帰(係数・線形予測)で有用性を測った。論文 [1]もう一つの主眼合成データで非線形 ML を学習し実テストで予測する評価(§5.2.2, Table 3)である。本節はこの未カバー軸を best-effort で 追試する(scripts/07_downstream_ml.py、計画 docs/plans/E4-downstream-ml.md)。手順は論文に準拠する: 各データを 80/20 に分割し、train 区画のみから BinAgg 合成データ(Algorithm 3)を生成、4 つの下流モデルを学習し実 test で評価 (train-on-synthetic / test-on-real)。予算は論文と同じ ε=1, δ=1/n^1.1 を μ-GDP に換算(mu_from_eps_delta → μ≈0.28–0.31)。 合成データは 10 本生成して平均する。

📘 best-effort・逸脱の注記: - 指標の正規化: 論文 Table 3 の Original 列(例 Abalone 0.487, Air Quality 0.489)のスケールは、E3/E5 で用いた \(\lVert y\rVert^2\) 正規化(Abalone で 0.044)では再現できず、分散正規化 RelMSE\(_\text{var}\) = MSE/Var\((y)\)(= \(1-R^2\)、目的変数の標準化と等価)で 両データとも論文と同スケールになる。よって本節は RelMSE\(_\text{var}\)主指標とし(\(\lVert y\rVert^2\) 版は JSON に併記)、これを Table 3 と照合する。 - 下流モデル: 論文は XGBoost / RandomForest / SVR / MLP。本追試は依存追加を避け XGBoost を sklearn の HistGradientBoosting で代替、残り 3 つは同一。SVR/MLP は学習を 5000 標本にサブサンプル(計算量、木系は全件)、SVR/MLP のみ標準化。 - 比較手法: 論文の競合(AIM・DP-CTGAN・PATE-CTGAN・DPGAN・PATEGAN, SmartNoise)は重い別系統のため未実装で、 Table 3 の報告値を文脈として引用する(別 Issue 連携)。

E4: downstream-ML utility of synthetic data vs paper Table 3

データ (n, d) Original 本追試 Original 論文 BinAgg 本追試 BinAgg 論文
Abalone (4177, 10) 0.43 0.487 0.90 0.731
Wine Quality (6497, 12) 0.34 0.628 0.97 1.195
Air Quality (9357, 12) 0.46 0.489 0.86 0.584
Appliances (19735, 27) 0.73 0.683 1.82 1.490

表: 下流 ML の RelMSE\(_\text{var}\)(4 モデル×合成 10 本の平均, ε=1)。小さいほど良い。Original=実データ学習の非プライベート参照。

BinAgg 合成データ学習時のモデル別 RelMSE\(_\text{var}\)(参考):

データ GradBoost(XGB代替) RandomForest SVR MLP
Abalone 0.87 0.85 0.73 1.16
Wine 0.80 0.75 0.73 1.59
Air Quality 0.87 0.88 0.84 0.85
Appliances 1.66 1.35 1.01 3.25

まとめと残課題

参照

  1. Lin, S., Slavković, A., & Bhoomireddy, D. R. (2026). Differentially Private Linear Regression and Synthetic Data Generation with Statistical Guarantees. AISTATS 2026 (PMLR). arXiv:2510.16974. https://arxiv.org/abs/2510.16974
  2. Wang, Y.-X. (2018). Revisiting differentially private linear regression: optimal and adaptive prediction & estimation in unbounded domain. UAI 2018.(AdaSSP)
  3. UCI Machine Learning Repository — Abalone / Wine Quality / Appliances Energy Prediction / Air Quality / BUPA Liver Disorders / Parkinsons Telemonitoring / Superconductivity / LT-FS-ID Intrusion Detection in WSNs (dataset 715).
  4. 本環境では OpenML / UCI が遮断されているため、§4・§5 のデータは GitHub ミラーから取得した(BUPA: PepeAlex/BUPA_Liver_Disorders、Parkinsons: pqrst/ParkinsonsDiseaseDataAnalysis、Superconductivity: saranggalada/ML_Superconductivity、Wine: zygmuntz/wine-quality)。