資料保真度評測

衡量合成資料與原始資料的相似程度,評估資料分佈和變量關係的保持程度。

使用範例

請點擊下方按鈕在 Colab 中執行範例:

Open In Colab

Splitter:
  external_split:
    method: custom_data
    filepath:
      ori: benchmark://adult-income_ori
      control: benchmark://adult-income_control
    schema:
      ori: benchmark://adult-income_schema
      control: benchmark://adult-income_schema
Synthesizer:
  external_data:
    method: custom_data
    filepath: benchmark://adult-income_syn
    schema: benchmark://adult-income_schema
Evaluator:
  fidelity_check:
    method: sdmetrics-qualityreport

主要參數

  • method (string, 必要參數)
    • 固定值:sdmetrics-qualityreport

評估指標

指標說明建議標準
Score保真度總分(欄位形態和欄位對趨勢的算術平均)≥ 0.75
Column Shapes欄位形態≥ 0.75
- KSComplementK-S 補數(數值欄位)
- TVComplement全變差距離補數(類別欄位)
Column Pair Trends欄位對趨勢≥ 0.75
- Correlation Similarity相關相似度(數值對)
- Contingency Similarity列聯相似度(類別對)

指標計算說明

Column Shapes(欄位形態)

各欄位形態保真度的算術平均,依欄位特性計算:

  • KSComplement:數值或日期欄位

    • 使用 K-S test(柯爾莫哥洛夫-斯米爾諾夫檢定)
    • 以累積分布函數(CDF)檢查兩經驗分布差異
    • 計算 1 - K-S value 作為指標
    • 數值從 0 到 1,越大形態越相似
  • TVComplement:類別或布林欄位

    • 計算全變差距離(Total Variation Distance, TVD)
    • 測量所有基數的機率差
    • 計算 1 - TVD 作為指標
    • 數值從 0 到 1,越大形態越相似

Column Pair Trends(欄位對趨勢)

各欄位間兩兩相關性保真度的算術平均:

  • CorrelationSimilarity:兩個欄位皆為數值或日期

    • 分別計算原始和合成資料的皮爾森相關係數
    • 公式:1 - |r_合成 - r_原始| / 2
    • 數值從 0 到 1,越大趨勢越相似
  • ContingencySimilarity:兩個欄位皆為類別或布林

    • 計算歸一化列聯表的全變差距離
    • 公式:1 - 1/2 * ΣΣ |r_合成 - r_原始|
    • 數值從 0 到 1,越大趨勢越相似
  • 混合型欄位對:一個數值/日期,一個類別/布林

    • 先將數值/日期欄位離散化為區間
    • 區間數量依循 numpy 預設(Sturges’ rule 或 FD rule)
    • 再計算列聯相似度

適用情境

  • 評估合成過程的有效性
  • 比較不同合成方法的品質
  • 確認重要特徵和模式的保留程度

建議標準

  • 0.75 以上為可接受¹
  • Score、Column Shapes、Column Pair Trends 都應 ≥ 0.75
  • 如果分數偏低,可能需要調整合成方法或參數

技術參考

  • Sturges’ rule:最佳區間數 = log₂(n) + 1
  • FD rule:最佳區間寬度 = 2 × IQR / n^(1/3)
  • 轉換點約在樣本數 1,000

參考文獻

¹ Tao, Y., McKenna, R., Hay, M., Machanavajjhala, A., & Miklau, G. (2021). Benchmarking differentially private synthetic data generation algorithms. arXiv preprint arXiv:2112.09238. https://doi.org/10.48550/arXiv.2112.09238