大數據研究的魔法:三種傾向分析後的的迴歸模型怎麼跑?

更新 發佈閱讀 8 分鐘

在流行病學與大數據分析領域,我們常面臨一個挑戰:如何從非隨機的觀察性資料中,準確地評估一個暴露因素(如:某種治療、生活習慣)對結果(如:疾病發生)的真實影響?

這時,傾向分數分析(Propensity Score Analysis, PSA)就像一根魔杖,能幫助我們在混亂的資料中,為研究個案找到一群「天生我才、與你相似」的對照組。

但找到對照組或調整好資料後,下一步該怎麼做?這篇文章將為你解鎖三種最常見的傾向分數後續分析方法,並附上簡單的 R 程式碼,讓你一步步掌握這個強大的工具。


方法一:傾向分數配對法(Propensity Score Matching)

概念:為每個個案尋找「雙胞胎」,後續分析:使用「條件式」迴歸

配對法是最直觀的方式。它為你的每個研究個案,從龐大的資料庫中尋找一個或多個傾向分數最接近的對照組。這個過程就像為你的個案找到一個「雙胞胎」,兩者除了暴露狀態不同外,在其他重要特徵上幾乎一樣。

由於配對後的資料,個案組與對照組不再是完全獨立的,而是以「配對組」(matched sets)的形式存在,因此我們需要使用能夠處理這種相依性的模型:條件式羅吉斯迴歸條件式 Cox 迴歸

R 程式碼範例

# 假設你已使用 matchit() 完成配對,並創建了 matched_df 資料框
# matched_df 包含一個由 matchit 自動生成的 "subclass" 變數,用來識別配對組別

# 羅吉斯回歸 (針對二元結果)
# outcome 為你的二元結果變數,exposed_status 為暴露變數
# strata(subclass) 告訴模型將每個配對組視為一個獨立層次
library(survival)
clogit_model <- clogit(outcome ~ exposed_status + strata(subclass), data = matched_df)
summary(clogit_model)

# Cox 回歸 (針對時間至事件結果)
# time_to_event 和 event_status 為你的時間與事件變數
ccox_model <- coxph(Surv(time_to_event, event_status) ~ exposed_status + strata(subclass), data = matched_df)
summary(ccox_model)

方法二:傾向分數加權法(IPTW Weighting)

概念:用權重創造「理想世界」,後續分析:使用「加權」迴歸

加權法(最常見的是 IPTW, Inverse Probability of Treatment Weighting)則採取另一種思路。它不配對,而是為每個觀察對象賦予一個權重。這個權重會調整資料的分布,讓暴露組和對照組在所有共變量上都達到完美的平衡。想像一下,這就像在一個假想的世界中,兩組的基線特徵完全一樣。

在這種方法下,你只需在一般的迴歸模型中加入一個 weights 參數即可。但為了得到更可靠的結果,一般建議使用強健標準誤(Robust Standard Errors)來處理權重所引起的變異。

R 程式碼範例

# 假設你已計算好 iptw_weight 變數,並存放在你的資料框 df 中

# 加權羅吉斯回歸 (針對二元結果)
weighted_logit_model <- glm(outcome ~ exposed_status,
data = df,
weights = iptw_weight,
family = "binomial")
# 使用 coeftest 取得強健標準誤
library(lmtest)
library(sandwich)
coeftest(weighted_logit_model, vcov = vcovHC(weighted_logit_model, type = "HC1"))

# 加權 Cox 回歸 (針對時間至事件結果)
weighted_cox_model <- coxph(Surv(time_to_event, event_status) ~ exposed_status,
data = df,
weights = iptw_weight)
# 同樣使用強健標準誤
coeftest(weighted_cox_model, vcov = vcovHC(weighted_cox_model, type = "HC1"))

方法三:傾向分數分層法(Stratification)

概念:將相似者分組,後續分析:使用「分層」迴歸

分層法是另一種簡單直觀的方式。它將所有研究對象根據其傾向分數的高低,分成數個子群(通常是 5 等分或 10 等分)。在每個子群內部,個案組與對照組的特徵會非常相似。

在最終的迴歸模型中,你需要將分層變數作為一個調整項納入,以控制分層內的差異。

R 程式碼範例

# 假設你已計算好傾向分數,並根據它將資料分層,創建了 `ps_strata` 變數

# 分層羅吉斯回歸 (針對二元結果)
# 將 ps_strata 作為類別變數納入模型
stratified_logit_model <- glm(outcome ~ exposed_status + as.factor(ps_strata),
data = df,
family = "binomial")
summary(stratified_logit_model)

# 分層 Cox 回歸 (針對時間至事件結果)
# 使用 strata() 函數將分層變數納入模型
stratified_cox_model <- coxph(Surv(time_to_event, event_status) ~ exposed_status + strata(ps_strata),
data = df)
summary(stratified_cox_model)

三種方法比較

raw-image

結語

這三種方法各有優缺點,但它們共同的目標都是為了得到一個無偏(Unbiased)的因果效應估計。研究中,可以根據資料特性和研究目的來選擇最合適的方法。

下次當你面對一個大型觀察性資料集時,別再只用傳統的迴歸分析了。試試傾向分數分析,它會讓你的研究結果更具說服力!





留言
avatar-img
留言分享你的想法!
avatar-img
慵懶貓系的小墨魚:數據外的日常觀察
0會員
28內容數
小墨魚,一位白天擅長資料分析與統計建模的數據工作者,夜裡則沉浸在書本與文字裡,透過閱讀與寫作與世界對話。工作之餘,也兼職統計家教,協助學生理解複雜的統計概念與軟體操作。這裡記錄我的書評、生活觀察、科技碎念,有時也寫下關於時間與情緒的小片段。願這些文字,成為我們在日常中相遇的溫柔片刻。
2025/09/26
你是不是覺得統計學很複雜?別擔心,其實統計學就像我們生活中的指南針,幫助我們更清楚地看見事物的全貌。今天,我們不講理論,直接用一個貼近生活的例子,帶你一次搞懂統計學中三個常見的離散指標:平均差、標準差和變異係數。
Thumbnail
2025/09/26
你是不是覺得統計學很複雜?別擔心,其實統計學就像我們生活中的指南針,幫助我們更清楚地看見事物的全貌。今天,我們不講理論,直接用一個貼近生活的例子,帶你一次搞懂統計學中三個常見的離散指標:平均差、標準差和變異係數。
Thumbnail
2025/09/26
在實際臨床或觀察性研究中,研究者常面臨一個問題:無法進行隨機分派治療或暴露組,如何在數據中找出一組真正能和案組相匹配、彼此可比的對照組?這時,傾向分數分析(Propensity Score Analysis, PSA)成為一種有效的統計方法,幫助研究者透過數據重現隨機化試驗的效果,降低混淆因子干擾,
Thumbnail
2025/09/26
在實際臨床或觀察性研究中,研究者常面臨一個問題:無法進行隨機分派治療或暴露組,如何在數據中找出一組真正能和案組相匹配、彼此可比的對照組?這時,傾向分數分析(Propensity Score Analysis, PSA)成為一種有效的統計方法,幫助研究者透過數據重現隨機化試驗的效果,降低混淆因子干擾,
Thumbnail
2025/09/26
在臨床研究和流行病學中,我們常常想要回答這樣的問題:「新藥是否比傳統治療更有效?」 一個常見的衡量方式是 勝算比 (Odds Ratio, OR)。然而,如果我們只看整體數據,很可能會掉入陷阱,得到一個誤導性的結論。這時候,「分層分析 (Stratified analysis)」和 Mantel–
Thumbnail
2025/09/26
在臨床研究和流行病學中,我們常常想要回答這樣的問題:「新藥是否比傳統治療更有效?」 一個常見的衡量方式是 勝算比 (Odds Ratio, OR)。然而,如果我們只看整體數據,很可能會掉入陷阱,得到一個誤導性的結論。這時候,「分層分析 (Stratified analysis)」和 Mantel–
Thumbnail
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
在實際臨床或觀察性研究中,研究者常面臨一個問題:無法進行隨機分派治療或暴露組,如何在數據中找出一組真正能和案組相匹配、彼此可比的對照組?這時,傾向分數分析(Propensity Score Analysis, PSA)成為一種有效的統計方法,幫助研究者透過數據重現隨機化試驗的效果,降低混淆因子干擾,
Thumbnail
在實際臨床或觀察性研究中,研究者常面臨一個問題:無法進行隨機分派治療或暴露組,如何在數據中找出一組真正能和案組相匹配、彼此可比的對照組?這時,傾向分數分析(Propensity Score Analysis, PSA)成為一種有效的統計方法,幫助研究者透過數據重現隨機化試驗的效果,降低混淆因子干擾,
Thumbnail
  前面說明了所謂「假設檢定」的邏輯,也就是推論統計的基礎。但前面都還只是概念的階段,目前沒有真正進行任何的操作──還沒有提到推論統計的技術。   這篇其實有點像是一個過渡,是將前面的概念銜接到下一篇t分數之間的過程,也可以說是稍微解釋一下t檢定怎麼發展出來的。
Thumbnail
  前面說明了所謂「假設檢定」的邏輯,也就是推論統計的基礎。但前面都還只是概念的階段,目前沒有真正進行任何的操作──還沒有提到推論統計的技術。   這篇其實有點像是一個過渡,是將前面的概念銜接到下一篇t分數之間的過程,也可以說是稍微解釋一下t檢定怎麼發展出來的。
Thumbnail
選舉民調是預測選舉結果的重要工具。然而,如果我們不了解樣本和母體的概念,就很容易被民調結果誤導。 在本文中,我們將介紹樣本和母體的概念,以及它們對民調結果的影響。我們還將提供一些在閱讀民調報告時的注意事項。
Thumbnail
選舉民調是預測選舉結果的重要工具。然而,如果我們不了解樣本和母體的概念,就很容易被民調結果誤導。 在本文中,我們將介紹樣本和母體的概念,以及它們對民調結果的影響。我們還將提供一些在閱讀民調報告時的注意事項。
Thumbnail
接續上一篇,繼續來講如何從常態分布的機率進行假設檢定,進而推論母體的平均數吧! 這篇會提到否證的邏輯、魔法數字0.5以及統計檢定到底是什麼這三個主題。
Thumbnail
接續上一篇,繼續來講如何從常態分布的機率進行假設檢定,進而推論母體的平均數吧! 這篇會提到否證的邏輯、魔法數字0.5以及統計檢定到底是什麼這三個主題。
Thumbnail
 當開啟試算表(EXCEL等)的累加(SUM)及離散度,標準差(STDEV)的運算功能後,逐一統計的累進報票式選票統計表就可以退休了,而且全國一萬七千多所的數據不待一所所列出,就可以用較小選區(例如嘉義市198所,宜蘭縣431所等)的統計過程證明統計結果都是正確的,尤其是將計算式列出(隱藏前面的
Thumbnail
 當開啟試算表(EXCEL等)的累加(SUM)及離散度,標準差(STDEV)的運算功能後,逐一統計的累進報票式選票統計表就可以退休了,而且全國一萬七千多所的數據不待一所所列出,就可以用較小選區(例如嘉義市198所,宜蘭縣431所等)的統計過程證明統計結果都是正確的,尤其是將計算式列出(隱藏前面的
Thumbnail
  在上一篇文章解釋了常態分布怎麼幫助我們計算事件發生的機率,而更之前也看過了抽樣分布是如何形成常態分布的過程,現在就要利用這兩件事情來慢慢帶出什麼是統計學中的「假設檢定」了。
Thumbnail
  在上一篇文章解釋了常態分布怎麼幫助我們計算事件發生的機率,而更之前也看過了抽樣分布是如何形成常態分布的過程,現在就要利用這兩件事情來慢慢帶出什麼是統計學中的「假設檢定」了。
Thumbnail
依照中央極限定理,我們可以得知(獨立且隨機樣本的)抽樣分布最終會形成常態分佈,那麼這件事情到底為什麼很重要呢? 這篇文章就來介紹一些常態分布的基本特性,以及最重要的──常態分布怎麼幫助我們計算機率。
Thumbnail
依照中央極限定理,我們可以得知(獨立且隨機樣本的)抽樣分布最終會形成常態分佈,那麼這件事情到底為什麼很重要呢? 這篇文章就來介紹一些常態分布的基本特性,以及最重要的──常態分布怎麼幫助我們計算機率。
Thumbnail
潛在類別模式(latent class modeling, LCM)和潛在剖面分析(Latent Profile Analysis, LPA)是探討潛在類別變項的統計技術。兩者與因素分析最大的不同在於潛在變項(因素)的形式。本文將介紹潛在類別/剖面/混合分析操作1:找出最佳組數
Thumbnail
潛在類別模式(latent class modeling, LCM)和潛在剖面分析(Latent Profile Analysis, LPA)是探討潛在類別變項的統計技術。兩者與因素分析最大的不同在於潛在變項(因素)的形式。本文將介紹潛在類別/剖面/混合分析操作1:找出最佳組數
Thumbnail
篩選特定觀察值有多種原因。下面是一些常見的原因:數據清理: 如果在數據錄入過程中出現錯誤,或者有些觀察值缺失,那麼篩選出這些數據可能會有助於數據清理;研究目標: 篩選特定觀察值可以幫助你更好地研究你感興趣的特定群體;數據分析: 篩選出特定觀察值可以幫助你限制分析範圍,從而更好地理解結果。
Thumbnail
篩選特定觀察值有多種原因。下面是一些常見的原因:數據清理: 如果在數據錄入過程中出現錯誤,或者有些觀察值缺失,那麼篩選出這些數據可能會有助於數據清理;研究目標: 篩選特定觀察值可以幫助你更好地研究你感興趣的特定群體;數據分析: 篩選出特定觀察值可以幫助你限制分析範圍,從而更好地理解結果。
Thumbnail
本文章想分享給你,我在閱讀有效合成數據的文章後,產生的理解與思考。 首先,本文章有三個有趣的實驗問題: 資料前處理(Data-Preprocession)對合成數據效度的影響。 是否需要對合成的機器學習模型調參(Tuning)。 效度測量是否能預測合成數據訓練的機器學習模型的準確度。
Thumbnail
本文章想分享給你,我在閱讀有效合成數據的文章後,產生的理解與思考。 首先,本文章有三個有趣的實驗問題: 資料前處理(Data-Preprocession)對合成數據效度的影響。 是否需要對合成的機器學習模型調參(Tuning)。 效度測量是否能預測合成數據訓練的機器學習模型的準確度。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News