合成數據的六種技法
紫式晦澀每日一篇文章第36天
前言
-
今天是2022年第34天, 全年第5週, 二月的第1個週四. 今天對「合成數據方法(Methods for Synthesizing Data)」做系列學習思考.
-
今天的素材主要來自文章:
- 2021: Practical Synthetic Data Generation 的第五單元
- PSDF引用
- Google talk
- How do you generate synthetic data?
方法一: 從理論合成數據
現象模型: 多變量高斯, 共變異, 耦合
現象模型(Model of the phenomenon):
- 分析師沒有實際數據, 但有「對現象的模型」, 因此可以建立模型去產生數據.
- 例子1: Gaussian, bell-shaped分佈 –> 多變量常態分佈.
- 例子2: 引入「取樣過程的共變異(Correlation during the sampling process)」.
- 例子3: 使用「耦合(Copulas)」方法.
多變量常態分佈:
- 用各種統計package可以很容易產生.
帶有特定邊緣分佈的共變異(Correlations with Specified Marginal Distributions):
- 例子: 「病人體重」與「住院長度(Length of Stay;LOS).
- 此例子明顯不是常態分佈. 他的目的是想保留著「共變異(Correlations)」
- 指定「共變異矩陣(Correlation Matrix)」後來產生樣本. 見Chapter 3 對這些參數化分佈的生成技巧.
具已知邊緣分佈的耦合(Copulas with Known Marginal Distributions):
- 耦合: 建模「邊緣分佈」, 且保留「共變結構」.
- 耦合的優點:分離「邊緣分佈定義」與「共變結構」.
對Copula相關的理論理解的不多, 之後可以寫寫來學習.
高斯耦合, 機率積分轉換
高斯耦合(Gaussian copula):
- 兩個邊緣分佈: 常態分佈, 指數分佈.
- 高斯耦合: Step 1: 產生標準多變數常態分佈, 帶有共變0.1. Step 2: 利用「機率積分轉換(Probability Integral Transform)」藉由CDF來產生「常態分佈」與「指數分佈」.
- 先利用標準多維常態分佈計算CDF, 再計算分位數回到「住院時間與病患體重」的常態分佈與指數分佈.
方法二: 從真實資料合成數據 (Generating Realistic Synthetic Data)
無法分辨度量: 高斯, 共變耦合, 決策樹
基於真實數據的合成數據:
- 當「真實數據」存在, 那可以基於真實數據來合成數據, 擺脫基於理論關係產生的合成數據.
出院資料集(Hospital Discharge Dataset):
- 當一個病人出現, 所有「病患醫院體驗」會聚合進入「邊準出現資料庫(Standardized Discharge Databases)」
- 這些資料庫是分析「保健(Healthcare)」系統的表現,花費, 品質改良, 公共健康中藥的資源.
- 這些資料成為「出院總結(Discharge abstracts or summaries)」.
- 考慮三種變數: (1) 出院年紀 (0表達出生) (2) 上次住院間隔 (0表示第一次住院) (3) 住院長度 (0表達沒有住院)
- 三種變數明顯不是常態分佈…
作法: 其實就是統計的做法?:
- 擬合「資料邊緣分佈」到一些經典分佈.
- 我們從「最靠近真實資料」的「經典分佈」來合成數據.
- 共變矩陣, 從實際數據上取得. 再去算合成數據的共變結構.
合成數據看中原本的「共變結構(Correlation Structure)」
使用機器學習fit分佈:
- 利用機器學習, 可以更faithfully的反應「資料真實分佈(Real distributions in the data)」.
- 有了ML fitted的分佈, 再去執行「共變」與「耦合」的方法.
衡量法:無法分辨度量(distinguishability metric):
- 在utility章節, 使用了「無法分辨度量(distinguishability metric)」
- 具體有三種度量: 「共變」, 「高斯耦合」, 「決策樹」
機器學習方法, 會比經典分佈方法, 得到好非常多的合成數據.
方法三: 混血合成數據 (Hybrid Synthetic Data)
混血合成 = 真實資訊 + 假說資訊
混血合成使用背景:
- 混血合成(Hybrid Synthetic): 一部分使用真實數據, 一部分使用合成數據.
- 可「在數據增加訊號(add signal to the data)
例子:醫院數據:
- 增加「抽雪茄數目」來表達「抽菸(Smoking)」的程度
- 增加後用高斯耦合, 產生86%的不抽菸個體的指數分佈合成數據.
- 加入「共變(Correlations)」到原始數據中. 共變結構要靠自己假設.
混血合成好處:
- 一部分是真實數據.
- 有額外增加的訊號.
- 維持原本的共變結構.
混血合成數據集: 真實資訊(Real Information)+假說資訊(Hypothetical Information)
這種的確蠻有道理, 藉由「假說(Hypothesis)」去補missing的資料, 產生的合成數據, 來看實際表現.
序貫機器學習合成(Sequential ML Synthesis):
- 使用迴歸與分類算法(regression, classification)
- 實例1: CARTs: classification and regression treees.
- 實例2: 支撐向量機: Support vector machines.
- 五個變數要合成: 可以靠各種關係持續去做出來.
這些與Gibbs sampling相關的方法很有關係…不知道誰是這方面的專家.
方法四: 機器學習合成數據 (Machine Learning Methods)
序貫合成變數(Sequentially synthesize variables)
序貫合成變數(Sequentially synthesize variables):
- 使用決策樹
- 原則: 使用分類與迴歸模型, 序貫合成變數(sequentially synthesize variables)
方法五: 深度學習合成數據 (Deep Learning Methods)
變分自動編碼器 : 非線性的主成分分析
變分自動編碼器(Variational Autoencoder; VAE):
變分自動編碼器 : 非線性的主成分分析
- 無監督方法, 從多維數據集學習「表徵」
- 步驟一 (Encoder): 壓縮資料集, 到低維度更緊緻的表現, 以多維度高斯分佈
- 步驟二 (Decoder): 將壓縮的表現, 重新造出原始輸入數據.
- 訓練VAE: 優化「解碼數據(Decoded data)」與「輸入數據(Input data)」之間的「相似性(Similarity)」.
- 線性版本: 主成分分析
對抗生成網路: 生成與鑑別的輪迴
對抗生成網路 (Generative Adversarial Network; GAN):
- 步驟一: 生成網路(Generator networks): 輸入隨機數據(從高斯分佈或均勻分布取樣), 生成「合成數據」
- 步驟二: 鑑別器 (Discriminator): 比較「合成數據」與「真實數據」, 計算「傾向分數(Propensity score)」
- 步驟三: 回傳傾向分數來訓練生成網路.
方法六: 序列合成數據 (Synthesizing Sequences)
服務是事件的序列, 需合成轉移矩陣
事件串:
- 許多資料集, 都有「事件串(Sequences of events)」需要建模.
- 例子: 離散事件序列(Series of discrete events).
- 保健使用者: 看醫生, 做診斷檢查, 拿藥.
- 每個階段可能都還有多重子事件.
合成轉移矩陣(Synthesize transition matrix):
- 需要計算「所有事件之間的轉移矩陣」
- 可以用排隊理論等等的東西加進來, 很OR風格的研究.
用成熟的Tabular RL算法可以試著解決這些事情? 感覺這邊的確很多東西可以玩, 而且用Deep RL做計算可以搞些研究, 但要商用可能還要很多engineering efforts.
後記
大概花了90分鐘, 把合成數據方法章節寫過了一遍. 仔細比較一下, 這個章節寫得蠻好的! 從最「心智」的模型到最「計算」的模型, 展現人與機器的結合程度由淺至深.
方法編號 | 研究範式 | 實踐技巧 |
---|---|---|
方法一 | 數理機率範式 | 多變量高斯, 共變異,耦合 |
方法二 | 應用機率範式 | 多變量高斯, 共變耦合, 決策樹 |
方法三 | 統計科學範式 | 混血合成=真實資訊+假說資訊 |
方法四 | 機器學習範式 | 決策樹, 序貫合成 |
方法五 | 深度學習範式 | 變分自動編碼器, 對抗生成網路 |
方法六 | 強化學習範式 | 服務是事件的序列, 合成轉移矩陣 |
過去的經驗都還能支撐這六種做法, 非常棒! 我想所謂的工程師, 就是要能很快速實踐各種研究範式裡面的方法, 來認識複雜的世界. 非常有趣!期待之後經驗累積! 天天向上, 共勉之!
2022.02.03. 紫蕊 於 西拉法葉, 印第安納, 美國.
評論