小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

真實世界研究中,如何獲得“靠譜”的科研結論?這個SAS實操講解,科研小白都能學會!

 醫(yī)學abeycd 2023-05-16 發(fā)布于湖北
這篇文章我們通過一個具體的例子來展示SAS中的實現方法。
 
我們用的數據來源是荷蘭格羅寧根市腎臟和血管終末期疾病預防(PREVEND)的隊列研究(Joosten, 2014)。
 
原數據含有較多變量,小編自己對數據進行了簡化。其中RFFT是結局指標,是一個連續(xù)型變量;我們想要研究的自變量是是否使用他汀類藥物(Statin)。此外,還包括了年齡(Age),性別(Gender),種族(Ethnicity),教育(Education),心血管疾病(CVD),糖尿病(DM),吸煙情況(Smoking),高血壓(Hypertension)這些協變量。其中,除了Age是連續(xù)型變量外,其他均為分類變量。
 
數據共有4,095名患者,其中904名在治療組(statin =1),3,190名在對照組 (statin=0)。以下是數據的部分截圖:
圖片
圖1. 原數據部分截圖
SAS中,傾向性評分匹配和逆概率加權都可以在PROC PSMATCH下實現,所以放在一起說。
 
傾向性評分匹配
 
圖片
PROC PSMATCH data = statin region = cs;
CLASS statin gender ethnicity education cvd dm hypertension smoking;
PSMODEL statin(treated='1') = age gender ethnicity education cvd dm hypertension smoking;
MATCH distance = lps method = greedy(k=1) exact = (gender) caliper = 0.25 weight = none;
ASSESS ps var = (age gender rfft cvd dm hypertension) /stddev = treated stdbinvar = yes
plots = (boxplot(display = (RFFT)) barchart(display = (gender)) cloudplot(display = (age)) stddiffplot(ref=0.1));
OUTPUT out(obs = match) = psm_output;
RUN;
這是實現傾向性評分匹配部分的完整代碼,我們一步步來看。
 
/* PROC PSMATCH data  = statin region = cs; */
 
??這一條是調用PSMATCH這個procedure。
 
data= 告訴SAS我們要分析的數據文件是statin; region= 是明確匹配的數據范圍。這里的“cs”代表common support,就是我們之前提到的重疊區(qū)域。這里除了cs外還可以改成allobs,這樣匹配范圍就是所有個體了。
 
/* CLASS statin gender ethnicity education cvd dm hypertension smoking;*/
 
??這一步定義了分類變量statin, gender等。
 
/* PSMODEL statin(treated='1') = age gender ethnicity education cvd dm hypertension smoking; */
 
??這一步就是根據我們選定的協變量計算每個個體相應的PS值。
 
PSMODEL默認使用的模型是logistic regression。等號左側是我們的分組變量statin or not,括號里treated = '1’ 告訴SAS當statin = 1表示治療組。等號右側是協變量,注意這里我們不能把結局變量 (RFFT) 也納入模型。
 
/* MATCH distance = lps method = greedy(k=1) exact = (gender) caliper = 0.25 weight = none; */
 
??上一步中我們計算出了PS,而MATCH這一步就是實施匹配的具體細則。
 
Distance = 選定指定距離,可選值有ps, lps, mah,分別表示PS, logit PS, 和馬氏距離(對PS進行的某種處理)。這里我們選擇了lps。
 
Method = 則選定匹配方法,greedy表示貪婪算法也即我們之前所述的最近鄰匹配,k = 1表示治療組與對照組按照1:1匹配,若k = 2則表示按照1 : 2匹配etc。除了greedy外,還有optimal, full, 和varratio等方法。
 
Exact = 指定必須精確匹配的變量,這里我們選擇了gender,即要求匹配對象的性別必須是完全一致的,exact = 可以指定多個變量。
 
Caliper = 定義了卡鉗值,我們之前提到過,即匹配對象PS或LPS的差值不能超過某個數,一般默認值是0.25。
 
Weight = 是權重,在1:1的匹配情況下,每個個體所占權重是等價的,即都等于1。
/* ASSESS ps var = (age gender rfft cvd dm hypertension) /stddev = treated stdbinvar = yes
plots = (boxplot(display = (RFFT)) barchart(display = (gender)) cloudplot(display = (age)) stddiffplot(ref=0.1)); */
 
??ASSESS statement是評估匹配效果的。

“/”之前的psvar = 明確了想要評估的對象,“/”之后則告訴SAS我們想要以怎樣的方式對這些對象進行評估。SAS會自動生成一個表格,顯示匹配前后的PS值和變量組間差異的平均值、方差和標準均值差 (SMD) 等。
 
Stddev = 明確了在計算SMD時用到的方差是所有個體pooled還是僅治療組treated的方差。
 
Stdbinvar = yes表明對二分類變量的SMD進行標準化。
 
plots = 里,我們可以根據自己的需求生成箱線圖、條形圖和云圖。Stddiffplot (ref=0.1)描述了各變量SMD的分布,然后將推薦范圍限定為±0.1。
 
/* OUTPUT out(obs = match) = psm_output; */
??最后將匹配成功的數據輸出,命名為psm_output。
下面我們來看一看這一通操作下來結果長什么樣:
 
圖片
這是一個對PSM結果總結的表,告訴我們輸入和輸出表格的基本情況??梢钥吹轿覀兿薅ㄆヅ鋮^(qū)域CS后,重疊區(qū)域的上限和下限分別是0.03和0.96,共匹配成功了720對,匹配前后PS的均值和均值差。
 
圖片
圖片
這兩張圖和表其實說的是一件事,展示了匹配前后PS值以及我們選定的各變量的均值差及其方差,以及SMD。我們可以看到匹配后所有變量和PS值的差值都在±0.1范圍內,說明我們的匹配效果很好。
圖片
 
這些就是部分變量的箱線圖、條形圖云圖,同樣是對其匹配前后的分布進行可視化。總體上看來,匹配后的兩組達到了非常好的平衡。
 
逆概率加權
 
下面簡單說一說SAS中逆概率加權的實現。大致上和PSM非常像,只是把MATCH statement換成了PSWEIGHT,語句也更加簡單。
weight = 明確了加權方式,分為atewgt和attwgt兩種,根據逆概率加權的權重定義(研究組權重為1/PStreatment,對照組,權重為1/(1- PStreatment)),應選擇atewgt。在ASSESS statement中,我們在plots里又加了一個wgtcloud即權重的云圖。最后output里,注意這里我們沒有做match,所以無法output matched sets,要把obs = 換成all,輸出全部觀察值。
圖片
PROC PSMATCH data = statin region = cs;
CLASS statin gender ethnicity education cvd dm hypertension smoking;
PSMODEL statin(treated='1') = age gender ethnicity education cvd dm hypertension smoking;
PSWEIGHT weight = atewgt;
ASSESS ps var = (age gender rfft cvd dm hypertension) /stddev = treated stdbinvar = yes
plots = (boxplot(display = (RFFT)) barchart(display = (gender)) cloudplot(display = (age)) stddiffplot(ref=0.1) wgtcloud);
OUTPUT out(obs = all) = ipw_output;
RUN;
生成的結果也和之前大同小異,這里不再贅述。
 
圖片
這里可以看到輸出的數據里多了一列atewgt,即每個個體被賦予的權重。我們看一下權重云圖:
 
圖片
可以看到無論是治療組還是對照組,其權重分布幾乎都在推薦的limit (兩條灰色虛線)以內,表明我們的weighting沒有太大問題。
通過以上學習我們發(fā)現,SAS中PSMATCH Procedure功能強大,可以非常完整地完成傾向性評分匹配和逆概率加權,并且根據我們的需求設定不同參數和計算方法,語言簡潔直接,很好上手。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多