前段時(shí)間在幫女朋友做基于MIMICIII的臨床數(shù)據(jù)分析蝇摸,需要用到傾向性分析办陷,下面總結(jié)一下個(gè)人在這個(gè)過(guò)程中積累的知識(shí)和學(xué)習(xí)的R包律歼。
1.什么是傾向性分析:
2.PSM,CBPS制圈,IPTW畔况,DR的聯(lián)系與區(qū)別
3.具體的實(shí)現(xiàn)過(guò)程:PSM,CBPS,IPTW,DR
4.總結(jié)
一、什么是傾向性分析:
在醫(yī)學(xué)研究中跷跪,我們常常需要研究某種treatment如新藥,新手術(shù)葛菇,對(duì)于outcome如死亡率的影響效果橡羞,最常使用的方法就是隨機(jī)試驗(yàn)(randomized controlled trials (RCTs)),通過(guò)隨機(jī)抽取實(shí)驗(yàn)個(gè)體控制變量尉姨,從而達(dá)到研究目的。隨機(jī)對(duì)照實(shí)驗(yàn)?zāi)軌蜃畲笙薅鹊亟档推渌茄芯恳蛩貙?duì)實(shí)驗(yàn)結(jié)果的干擾,比如研究某一種新藥降低死亡率的效果時(shí)椎瘟,病人的年齡,性別煌妈,BMI宣羊,基礎(chǔ)疾病的患病情況,都會(huì)影響死亡率仇冯,這就會(huì)干擾我們對(duì)于這款新藥效果的判斷,通過(guò)隨機(jī)對(duì)照實(shí)驗(yàn)可以盡可能地保證這些非研究因素的隨機(jī)分布比被,這樣實(shí)驗(yàn)組和對(duì)照組就只收到研究因素的影響。
能夠進(jìn)行隨機(jī)實(shí)驗(yàn)當(dāng)然是最好的等缀,但有時(shí)候沒(méi)有這個(gè)條件進(jìn)行,大樣本的隨機(jī)試驗(yàn)要耗費(fèi)大量人力物力笤妙。對(duì)于新藥研發(fā)過(guò)程中的臨床實(shí)驗(yàn)來(lái)說(shuō)噪裕,隨機(jī)雙盲實(shí)驗(yàn)時(shí)必不可少的,也是不可能被別的什么方式替代的州疾,但是,如果是研究一些目前已經(jīng)被廣泛使用的藥物或者手術(shù)的效果薄嫡,就有著足夠多的詳細(xì)的臨床資料。這些病人的數(shù)據(jù)產(chǎn)生自普通的治療過(guò)程毫深,并沒(méi)有帶著任何研究的目的去控制毒姨,因此,當(dāng)你手上有1000個(gè)病人的臨床數(shù)據(jù)闸迷,你想研究心電圖檢測(cè)對(duì)于冠心病的預(yù)后影響時(shí)俘枫,你不可能簡(jiǎn)單地直接對(duì)比1000個(gè)病人中男性和女性冠心病患者的28天死亡率或者其他指標(biāo),因?yàn)檫@些病人的其他非研究因素比如年齡還有基礎(chǔ)疾病患病情況都不一定是隨機(jī)分布的鸠蚪,這樣的比較并不符合控制變量的思想。但是盾舌,如果我們仔細(xì)挑選,從1000個(gè)病人里妖谴,挑出非研究因素基本相似的病人棚贾,然后再用這群病人的臨床資料進(jìn)行研究榆综,就能大大降低非研究因素(協(xié)變量:covariates铸史;混雜因素:confounding factors)對(duì)于結(jié)果的影響。
由Rosenbaum和Rubin定義的傾向評(píng)分(Propensity score)是根據(jù)其他混雜因素的水平計(jì)算出來(lái)的接受某種治療(通常就是你研究的treatment)的概率判沟。簡(jiǎn)而言之我們把一個(gè)病人的混雜因素看作他們的基礎(chǔ)特征崭篡,通過(guò)這個(gè)基礎(chǔ)特征計(jì)算出一個(gè)score,有著相近score的病人就有著相似的基礎(chǔ)特征琉闪,就可以看兩個(gè)或多個(gè)病人被控制變量了。
用學(xué)術(shù)的語(yǔ)言來(lái)說(shuō)斯入,就是:
Propensity score (PS), as defined by Rosenbaum and Rubin, is the probability of receiving certain treatments, conditional on observed baseline covariates (6), and is estimated by using modeling to predict treatment allocation with covariates. In simple terms, PSA is based on the hypothesis that two patients with similar PSs have covariates which come from similar distributions. This means that by selecting or reweighting samples based on PS, researchers create new datasets where covariates are similar between treatment and control groups.
二蛀蜜、machit包進(jìn)行傾向性評(píng)分匹配(PSM)
傾向性分析的方法包括:matching, weighting, stratification, covariate adjustment. 這里我要分享的是傾向性分?jǐn)?shù)匹配:PSM(propensity score matching)。
data("nhanes")#survey包的自帶數(shù)據(jù)集
#machit的使用可以參照知乎回答:https://zhuanlan.zhihu.com/p/145170602
# recode the "treatment" (male) to a 0/1 indicator
nhanes$male <- as.numeric(nhanes$RIAGENDR==1)#這就是我們的treatment
nhanes$male <- as.factor(nhanes$male)
# make "race" a factor with descriptive labels
nhanes$race <- factor(nhanes$race,
levels=c(1,2,3,4),
labels=c("Hispanic","non-Hispanic white",
"non-Hispanic black","other"))
psm<-matchit(male~race+agecat,#格式:treatment~covariate1+covariate2+...+covariate2n
data=nhanes, method="nearest",distance = "glm", #這里使用的model是“Nearest neighbor matching”磅摹,The default is "glm" for propensity scores estimated with logistic regression using glm().
link = "probit",caliper = 0.2,ratio = 1)
mchdata <- match.data(psm)#匹配后的數(shù)據(jù)
tabmchdata <- CreateTableOne(vars = colnames(mchdata),strata = "male",data = mchdata,
factorVars = c("agecat","race","subclass","male"),test = T,smd = T)
print(tabmchdata,smd=T)
需要說(shuō)明的是caliper值霎奢,也就是卡鉗值。類似于給每個(gè)病人設(shè)定一個(gè)范圍厅克,超出這個(gè)范圍后就算某一個(gè)病人的PS與這個(gè)病人的PS是最接近的橙依,也不會(huì)匹配成功硕旗。可見下圖:
Red color is used for emphasis, and the red cross on the arrow means that matching will not be made as a result of the specified caliper.
如果需要計(jì)算HR或者OR漆枚,可以參考http://www.reibang.com/p/6486d2466044
HI_chol <- mchdata$HI_CHOL
glmmatched <- glm(formula = (HI_chol == 1) ~ male,
family = binomial(link = "logit"),
data = mchdata)
print(ShowRegTable(glmmatched, printToggle = FALSE), quote = FALSE)
未完待續(xù)墙基。刷喜。立砸。