引用本文: 許汝福. Logistic回歸變量篩選及回歸方法選擇實例分析. 中國循證醫學雜志, 2016, 16(11): 1360-1364. doi: 10.7507/1672-2531.20160205 復制
危險因素研究,常常需要使用多因素Logistic回歸分析方法,從調查的自變量中篩選危險因素[1-8]。但在進行多因素Logistic回歸分析時,常由于變量及方法選擇等原因,得出的回歸分析結果有時不一致。筆者結合實例,就多因素Logistic回歸分析中自變量篩選及逐步回歸方法選擇應注意的問題進行探討。現報告如下。
1 資料與方法
1.1 資料
資料來源于冠心病危險因素病例對照調查數據[2],26例冠心病患者和28例對照者,記錄年齡X1( < 45歲=1,45~54歲=2,55~64歲=3,≥65歲=4)、高血壓史X2(無=0,有=1)、高血壓家族史X3(無=0,有=1)、吸煙X4(不吸煙=0,吸煙=1)、高血脂史X5(無=0,有=1)、動物脂肪攝入X6(低=0,高=1)、體重指數X7( < 24=1,24~26=2, > 26=3)、A型性格X8(否=0,是=1)、冠心病Y(否=0,是=1)。原始數據詳見文獻[2]。
1.2 方法
采用SPSS 18.0軟件進行統計分析,采用列聯表χ2檢驗進行單因素分析,探討各因素與冠心病的關系;以是否發生冠心病為應變量Y,以年齡X1、高血壓史X2、高血壓家族史X3、吸煙X4、高血脂史X5、動物脂肪攝入X6、體重指數X7、A型性格X8為自變量,采用6種逐步回歸變量篩選方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)[9],進行多因素Logistic回歸分析,篩選冠心病的危險因素;比較納入全部變量的分析結果與納入單因素分析有統計學意義變量的分析結果之間的差別;比較多分類變量當作連續性變量的分析結果與定義為分類協變量的分析結果之間的差別;比較幾種逐步回歸分析方法篩選出的危險因素的差異性。
2 結果
2.1 納入單因素分析有意義的變量與納入全部變量的Logistic回歸結果的區別
文獻[2]冠心病危險因素病例對照調查數據的單因素分析結果見表 1,冠心病Y與年齡X1無明顯關系(P=0.116),冠心病Y與其他指標(X2~X8)均有統計學意義(P < 0.05)。而按照SPSS軟件Logistic回歸分析方法,將年齡和體重指數定義為分類協變量,采用逐步回歸向后-條件法進行多因素Logistic回歸分析結果見表 2,冠心病的危險因素為動物脂肪攝入X6(OR=51.571,P=0.006),A型性格X8(OR=12.176,P=0.008),高血壓家族史X3(OR=7.597,P=0.023);相對于65歲以上人群,低年齡組為保護因素,OR分別為0.10、0.051、0.046,P值分別為0.020、0.048和0.063。顯然,如果在多因素Logistic回歸分析時,只納入單因素分析中有統計意義的自變量,年齡X1對冠心病的作用就會被忽略。


2.2 多分類變量當作連續性變量的分析結果與定義為分類協變量的分析結果之間的差別
文獻[2]中年齡X1和體重指數X7屬于多分類變量。按照SPSS軟件Logistic回歸分析方法,將年齡和體重指數定義為分類協變量[9],采用逐步回歸向后-條件法進行分析,結果見表 2,有統計學意義的危險因素包括:動物脂肪攝入X6、A型性格X8、高血壓史X5和年齡X1。如果將年齡X1、體重指數X7當作連續性變量進行分析,結果見表 3,冠心病危險因素為動物脂肪攝入X6、A型性格X8、高血脂史X5,OR值分別為23.000、7.008、4.464,年齡X1無統計學意義(P=0.053)。顯然,把多分類變量當作連續性變量進行分析,會損失部分信息,甚至可能漏掉重要的危險因素。

2.3 幾種逐步回歸變量篩選方法所得到的多因素Logistic回歸分析結果的比較
文獻[2]冠心病危險因素病例對照調查數據,分別使用SPSS軟件提供的6種逐步回歸變量篩選方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)進行分析,結果見表 4,篩選出的危險因素不盡相同。向前-條件、向前-LR、向前-Wald三種方法篩選出的危險因素是相同的;向后-條件、向后-LR兩種方法篩選出的危險因素是相同的。幾種方法篩選出的共同危險因素是動物脂肪攝入X6和A型性格X8,向前-條件、向前-LR、向前-Wald法篩選出的危險因素還有高血脂史X5,向后-條件、向后-LR法篩選出的危險因素還有高血壓家族史X3和年齡X1,向后-Wald法篩選出的危險因素還有高血壓史X2。從模型系數綜合檢驗和擬合優度檢驗[9]結果來看,向后-條件、向后-LR法的擬合效果最好,向前-條件、向前-LR、向前-Wald三種方法的擬合效果次之,向后-Wald法的擬合效果相對較差。

3 討論
3.1 多因素Logistic回歸分析最好納入全部自變量,不要隨意舍棄單因素分析無統計意義的自變量
危險因素研究,很多文獻都是通常先進行單因素分析,單因素分析有統計學意義的變量納入多因素Logistic回歸分析,無意義的變量不納入分析[10-18]。如在藏族居民早發冠心病危險因素的橫斷面研究中,對兩組患者性別、家族史、吸煙、飲酒、高血壓、糖尿病和血脂水平進行單因素分析,提取有統計學意義的因素進一步進行多因素Logistic回歸分析[18]。但只將單因素分析有統計學意義的因素作為自變量,納入多因素Logistic回歸分析,很可能會將重要的危險因素漏掉。如文獻2,單因素分析可見,冠心病組與非冠心病組的年齡分布無明顯差異(P=0.116),而多因素Logistic回歸分析顯示,相對于65歲以上人群,低年齡組為保護因素,OR分別為0.100、0.051,P值分別為0.020、0.048。如果多因素Logistic回歸分析時,只納入單因素分析有統計學意義的自變量,年齡X1就沒有機會進入Logistic回歸模型,年齡對冠心病的影響就會被漏掉。因此,在危險因素較少時宜納入全部變量,采用逐步回歸方法,進行多因素Logistic回歸分析,自動篩選有意義的變量,不要隨意舍棄單因素分析無統計意義的自變量。當危險因素較多時可采用單因素分析進行初篩,但應注意適當調整檢驗水準并結合專業選擇納入多因素分析的變量,不要隨意舍棄單因素分析無統計意義的自變量,避免漏掉重要的危險因素。
3.2 使用SPSS軟件進行Logistic回歸分析時應注意連續性變量與多分類變量的區別
使用SPSS軟件進行Logistic回歸分析時,對于兩分類(二值)的數字變量,如(0,1)或(1,2),模型自動以低水平作為參照,對高水平進行對比分析。但對于多分類的數字變量,應區分是連續性變量還是多分類變量;對多分類變量要使用“分類”按鈕,將其定義為“分類協變量”,模型給出各水平與最低水平比較的OR值,或給出各水平與最高水平比較的OR值[9]。對于多分類變量,也有文獻使用啞變量的形式,將一個自變量分為多個自變量[19, 20]。如果不將多分類變量定義為“分類協變量”,模型將默認為連續性變量,只給出了一個總的OR值,不能體現各等級之間的差異性,往往會損失部分信息,甚至可能漏掉重要的危險因素。如“ ICU患者醫院感染Logistic回歸模型預測” [21]中描述,抗菌藥物使用天數(d)分為5個等級(0=未用,1=1~3,2=4~7,3=8~10,4≥10),但給出的Logistic回歸分析結果中,將表示抗菌藥物使用天數(d)5個等級的數據0~4,當作連續變量進行分析,只給出了一個總的OR值,忽略了抗菌藥物使用天數各等級之間的差異性。如果將文獻2中的年齡X1當作連續變量進行分析,各年齡組之間的差異性就被忽略,最終年齡X1對冠心病的影響就會被漏掉。因此,使用SPSS軟件進行Logistic回歸分析時,對于多分類變量一定要定義為分類協變量或啞變量,不能簡單地當作連續性變量進行分析。對于連續性變量,擬合Logistic回歸模型時,既可以用實測值作為連續性變量,也可以用適宜尺度分組后作為分類變量或者啞變量納入模型,不同的賦值方式得到的回歸分析結果往往也有所不同。實際資料處理過程中,宜比較作為連續性變量和分類變量納入模型時是否存在線性趨勢及其好壞,并結合專業及結果的可解釋性,選擇恰當的變量納入賦值方式(連續變量、分類變量、啞變量),得出較為合理的回歸分析結果。
3.3 采用逐步回歸變量篩選的幾種方法進行Logistic回歸分析應結合專業知識確定危險因素
多因素Logistic回歸分析的變量選擇包括多種方法,常用逐步回歸方法篩選自變量。如《喀什市維吾爾族和漢族重度嬰幼兒齲危險因素的橫斷面研究》 [22]中,在選入變量的顯著性水準為0.05和剔除變量的顯著性水準為0.10標準下,選擇“Forward:Conditional”方法篩選SECC易感因素;《血清膽紅素水平與冠脈支架植入術后患者冠脈事件復發的相關性研究》 [23]中,對冠脈支架植入術后患者的基線資料及復查時的臨床資料進行二分類Logistic向前逐步回歸分析。《成都市城鄉男性居民COPD患病情況及危險因素調查》 [20],通過單因素Logistic回歸先判斷各因素與COPD的關系,后將可能與COPD發病有關的因素(P < 0.1)納入模型進行多因素分析,變量進入模型的方式采用逐步回歸,采用先建立全模型然后逐個篩選的方法。
SPSS軟件中多因素Logistic回歸分析的變量選擇,提供了條件參數估計似然比檢驗、最大偏似然估計似然比檢驗、Wald檢驗3種模型假設檢驗方法和向前選擇法、向后剔除法兩種變量進出方法,組合成6種逐步回歸變量選擇方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)[9]。似然比檢驗是基于整個模型的擬合情況進行的,結果最可靠;Wald檢驗沒有考慮各因素的綜合作用,當自變量間存在共線性時,結果不可靠[1, 2, 9]。如文獻[2]冠心病危險因素病例對照調查數據的分析結果說明,使用不同變量篩選方法,可能得到不同的回歸分析結果,篩選出的危險因素也不盡相同。分析原因,主要是高血壓史X2、高血壓家族史X3、高血脂史X5之間存在一定的相關性。
因此,最好結合臨床和流行病學的意義以及生物學機制等專業知識[1, 2],對幾種逐步回歸方法的計算結果進行綜合分析,選擇較為合理的結果。
危險因素研究,常常需要使用多因素Logistic回歸分析方法,從調查的自變量中篩選危險因素[1-8]。但在進行多因素Logistic回歸分析時,常由于變量及方法選擇等原因,得出的回歸分析結果有時不一致。筆者結合實例,就多因素Logistic回歸分析中自變量篩選及逐步回歸方法選擇應注意的問題進行探討。現報告如下。
1 資料與方法
1.1 資料
資料來源于冠心病危險因素病例對照調查數據[2],26例冠心病患者和28例對照者,記錄年齡X1( < 45歲=1,45~54歲=2,55~64歲=3,≥65歲=4)、高血壓史X2(無=0,有=1)、高血壓家族史X3(無=0,有=1)、吸煙X4(不吸煙=0,吸煙=1)、高血脂史X5(無=0,有=1)、動物脂肪攝入X6(低=0,高=1)、體重指數X7( < 24=1,24~26=2, > 26=3)、A型性格X8(否=0,是=1)、冠心病Y(否=0,是=1)。原始數據詳見文獻[2]。
1.2 方法
采用SPSS 18.0軟件進行統計分析,采用列聯表χ2檢驗進行單因素分析,探討各因素與冠心病的關系;以是否發生冠心病為應變量Y,以年齡X1、高血壓史X2、高血壓家族史X3、吸煙X4、高血脂史X5、動物脂肪攝入X6、體重指數X7、A型性格X8為自變量,采用6種逐步回歸變量篩選方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)[9],進行多因素Logistic回歸分析,篩選冠心病的危險因素;比較納入全部變量的分析結果與納入單因素分析有統計學意義變量的分析結果之間的差別;比較多分類變量當作連續性變量的分析結果與定義為分類協變量的分析結果之間的差別;比較幾種逐步回歸分析方法篩選出的危險因素的差異性。
2 結果
2.1 納入單因素分析有意義的變量與納入全部變量的Logistic回歸結果的區別
文獻[2]冠心病危險因素病例對照調查數據的單因素分析結果見表 1,冠心病Y與年齡X1無明顯關系(P=0.116),冠心病Y與其他指標(X2~X8)均有統計學意義(P < 0.05)。而按照SPSS軟件Logistic回歸分析方法,將年齡和體重指數定義為分類協變量,采用逐步回歸向后-條件法進行多因素Logistic回歸分析結果見表 2,冠心病的危險因素為動物脂肪攝入X6(OR=51.571,P=0.006),A型性格X8(OR=12.176,P=0.008),高血壓家族史X3(OR=7.597,P=0.023);相對于65歲以上人群,低年齡組為保護因素,OR分別為0.10、0.051、0.046,P值分別為0.020、0.048和0.063。顯然,如果在多因素Logistic回歸分析時,只納入單因素分析中有統計意義的自變量,年齡X1對冠心病的作用就會被忽略。


2.2 多分類變量當作連續性變量的分析結果與定義為分類協變量的分析結果之間的差別
文獻[2]中年齡X1和體重指數X7屬于多分類變量。按照SPSS軟件Logistic回歸分析方法,將年齡和體重指數定義為分類協變量[9],采用逐步回歸向后-條件法進行分析,結果見表 2,有統計學意義的危險因素包括:動物脂肪攝入X6、A型性格X8、高血壓史X5和年齡X1。如果將年齡X1、體重指數X7當作連續性變量進行分析,結果見表 3,冠心病危險因素為動物脂肪攝入X6、A型性格X8、高血脂史X5,OR值分別為23.000、7.008、4.464,年齡X1無統計學意義(P=0.053)。顯然,把多分類變量當作連續性變量進行分析,會損失部分信息,甚至可能漏掉重要的危險因素。

2.3 幾種逐步回歸變量篩選方法所得到的多因素Logistic回歸分析結果的比較
文獻[2]冠心病危險因素病例對照調查數據,分別使用SPSS軟件提供的6種逐步回歸變量篩選方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)進行分析,結果見表 4,篩選出的危險因素不盡相同。向前-條件、向前-LR、向前-Wald三種方法篩選出的危險因素是相同的;向后-條件、向后-LR兩種方法篩選出的危險因素是相同的。幾種方法篩選出的共同危險因素是動物脂肪攝入X6和A型性格X8,向前-條件、向前-LR、向前-Wald法篩選出的危險因素還有高血脂史X5,向后-條件、向后-LR法篩選出的危險因素還有高血壓家族史X3和年齡X1,向后-Wald法篩選出的危險因素還有高血壓史X2。從模型系數綜合檢驗和擬合優度檢驗[9]結果來看,向后-條件、向后-LR法的擬合效果最好,向前-條件、向前-LR、向前-Wald三種方法的擬合效果次之,向后-Wald法的擬合效果相對較差。

3 討論
3.1 多因素Logistic回歸分析最好納入全部自變量,不要隨意舍棄單因素分析無統計意義的自變量
危險因素研究,很多文獻都是通常先進行單因素分析,單因素分析有統計學意義的變量納入多因素Logistic回歸分析,無意義的變量不納入分析[10-18]。如在藏族居民早發冠心病危險因素的橫斷面研究中,對兩組患者性別、家族史、吸煙、飲酒、高血壓、糖尿病和血脂水平進行單因素分析,提取有統計學意義的因素進一步進行多因素Logistic回歸分析[18]。但只將單因素分析有統計學意義的因素作為自變量,納入多因素Logistic回歸分析,很可能會將重要的危險因素漏掉。如文獻2,單因素分析可見,冠心病組與非冠心病組的年齡分布無明顯差異(P=0.116),而多因素Logistic回歸分析顯示,相對于65歲以上人群,低年齡組為保護因素,OR分別為0.100、0.051,P值分別為0.020、0.048。如果多因素Logistic回歸分析時,只納入單因素分析有統計學意義的自變量,年齡X1就沒有機會進入Logistic回歸模型,年齡對冠心病的影響就會被漏掉。因此,在危險因素較少時宜納入全部變量,采用逐步回歸方法,進行多因素Logistic回歸分析,自動篩選有意義的變量,不要隨意舍棄單因素分析無統計意義的自變量。當危險因素較多時可采用單因素分析進行初篩,但應注意適當調整檢驗水準并結合專業選擇納入多因素分析的變量,不要隨意舍棄單因素分析無統計意義的自變量,避免漏掉重要的危險因素。
3.2 使用SPSS軟件進行Logistic回歸分析時應注意連續性變量與多分類變量的區別
使用SPSS軟件進行Logistic回歸分析時,對于兩分類(二值)的數字變量,如(0,1)或(1,2),模型自動以低水平作為參照,對高水平進行對比分析。但對于多分類的數字變量,應區分是連續性變量還是多分類變量;對多分類變量要使用“分類”按鈕,將其定義為“分類協變量”,模型給出各水平與最低水平比較的OR值,或給出各水平與最高水平比較的OR值[9]。對于多分類變量,也有文獻使用啞變量的形式,將一個自變量分為多個自變量[19, 20]。如果不將多分類變量定義為“分類協變量”,模型將默認為連續性變量,只給出了一個總的OR值,不能體現各等級之間的差異性,往往會損失部分信息,甚至可能漏掉重要的危險因素。如“ ICU患者醫院感染Logistic回歸模型預測” [21]中描述,抗菌藥物使用天數(d)分為5個等級(0=未用,1=1~3,2=4~7,3=8~10,4≥10),但給出的Logistic回歸分析結果中,將表示抗菌藥物使用天數(d)5個等級的數據0~4,當作連續變量進行分析,只給出了一個總的OR值,忽略了抗菌藥物使用天數各等級之間的差異性。如果將文獻2中的年齡X1當作連續變量進行分析,各年齡組之間的差異性就被忽略,最終年齡X1對冠心病的影響就會被漏掉。因此,使用SPSS軟件進行Logistic回歸分析時,對于多分類變量一定要定義為分類協變量或啞變量,不能簡單地當作連續性變量進行分析。對于連續性變量,擬合Logistic回歸模型時,既可以用實測值作為連續性變量,也可以用適宜尺度分組后作為分類變量或者啞變量納入模型,不同的賦值方式得到的回歸分析結果往往也有所不同。實際資料處理過程中,宜比較作為連續性變量和分類變量納入模型時是否存在線性趨勢及其好壞,并結合專業及結果的可解釋性,選擇恰當的變量納入賦值方式(連續變量、分類變量、啞變量),得出較為合理的回歸分析結果。
3.3 采用逐步回歸變量篩選的幾種方法進行Logistic回歸分析應結合專業知識確定危險因素
多因素Logistic回歸分析的變量選擇包括多種方法,常用逐步回歸方法篩選自變量。如《喀什市維吾爾族和漢族重度嬰幼兒齲危險因素的橫斷面研究》 [22]中,在選入變量的顯著性水準為0.05和剔除變量的顯著性水準為0.10標準下,選擇“Forward:Conditional”方法篩選SECC易感因素;《血清膽紅素水平與冠脈支架植入術后患者冠脈事件復發的相關性研究》 [23]中,對冠脈支架植入術后患者的基線資料及復查時的臨床資料進行二分類Logistic向前逐步回歸分析。《成都市城鄉男性居民COPD患病情況及危險因素調查》 [20],通過單因素Logistic回歸先判斷各因素與COPD的關系,后將可能與COPD發病有關的因素(P < 0.1)納入模型進行多因素分析,變量進入模型的方式采用逐步回歸,采用先建立全模型然后逐個篩選的方法。
SPSS軟件中多因素Logistic回歸分析的變量選擇,提供了條件參數估計似然比檢驗、最大偏似然估計似然比檢驗、Wald檢驗3種模型假設檢驗方法和向前選擇法、向后剔除法兩種變量進出方法,組合成6種逐步回歸變量選擇方法(向前-條件、向前-LR、向前-Wald、向后-條件、向后-LR、向后-Wald)[9]。似然比檢驗是基于整個模型的擬合情況進行的,結果最可靠;Wald檢驗沒有考慮各因素的綜合作用,當自變量間存在共線性時,結果不可靠[1, 2, 9]。如文獻[2]冠心病危險因素病例對照調查數據的分析結果說明,使用不同變量篩選方法,可能得到不同的回歸分析結果,篩選出的危險因素也不盡相同。分析原因,主要是高血壓史X2、高血壓家族史X3、高血脂史X5之間存在一定的相關性。
因此,最好結合臨床和流行病學的意義以及生物學機制等專業知識[1, 2],對幾種逐步回歸方法的計算結果進行綜合分析,選擇較為合理的結果。