跳到主要內容
MedCalc

邏輯斯迴歸

邏輯斯迴歸是分析由一個或多個自變數決定結局的資料集的統計方法。結局用二類別變數(只有兩種可能結局的變數)測量。

在 邏輯斯迴歸中,依變數為二類別變數,即只包含編碼為 1(TRUE、成功、妊娠等)或 0(FALSE、失敗、未妊娠等)的資料。

邏輯斯迴歸的目的是找到最佳配適(且在生物學上合理)的模型,以描述感興趣的二分類特徵(依變數 = 反應變數或結局變數)與一組自變數(預測變數或解釋變數)之間的關係。邏輯斯迴歸求出一個方程式的係數(及其標準誤和顯著水準),用於預測感興趣特徵存在機率的 logit 轉換:

邏輯斯迴歸方程式$$ logit(p) = b_0 + b_1 X_1 + b_2 X_2 + b_3 X_3 + … + b_k X_k $$

其中 p 為感興趣特徵存在的機率。logit 轉換定義為對數比值:

Odds=p/(1-p)$$ \text{odds} = \frac {p}{1-p} = \frac {\text{特徵存在的機率}} {\text{特徵不存在的機率}} $$

以及

Logit(p)=ln(p/(1-p))$$ logit(p) = \ln \left ( \frac {p} {1-p} \right ) $$

邏輯斯迴歸估計不是(像普通迴歸那樣)選擇使誤差平方和最小的參數,而是選擇使觀測到樣本值的概似最大的參數。

如何輸入資料

以下示例有兩個預測變數 AGE 和 SMOKING。依變數(反應變數)為 OUTCOME,編碼為 0(陰性)和 1(陽性)。

資料
A1
19
 ABCD
AGESMOKINGOUTCOME
11900
22000
32100
42110
52200
62200
72200
82200
92310
102300
112410

所需輸入

邏輯斯迴歸分析

依變數

要預測其值的變數。依變數必須是二類別變數,只能包含編碼為 0 或 1 的資料。如果資料編碼不同,可以使用定義狀態工具對資料重新編碼。

自變數

選擇可能影響依變數的變數。

篩選條件

(可選)輸入資料篩選條件,只在分析中包含所選個案次群組。

選項

  • 方法:選擇將自變數引入模型的方式。
    • 輸入:不做任何檢查,一步將所有變數引入模型。
    • 向前:將有顯著性的變數逐個依次引入模型。
    • 向後:先將所有變數引入模型,然後逐個依次剔除無顯著性的變數。
    • 逐步:將有顯著性的變數逐個依次引入,但每引入一個變數後,檢查是否有變數變得無顯著性,如有則將其剔除。
  • P< 時引入變數

    如果某變數對應的顯著水準小於該 P 值,則將該變數引入模型。
  • P> 時剔除變數

    如果某變數對應的顯著水準大於該 P 值,則將該變數從模型中剔除。
  • 分類表截斷值:用作分類表截斷值的 0 至 1 之間的值。分類表是評價 邏輯斯迴歸模型的一種方法。在此表中,將依變數結局的觀察值與(在所選截斷值下的)預測值進行交叉分類。
  • 分類:按一下此按鈕可識別類別變數。

圖表

只有在只有一個自變數時,才能使用建立 邏輯斯迴歸曲線圖的選項。

結果

按一下 確定 後,將顯示以下結果:

邏輯斯迴歸分析

相依變數 Y

OUTCOME

方法

輸入

樣本數

100

陽性個案 a

44 (44.00%)

陰性個案 b

56 (56.00%)

a OUTCOME = 1
b OUTCOME = 0

整體模型適配度

虛無模型的 -2 對數概似

137.186

完整模型的 -2 對數概似

118.338

卡方值

18.848

自由度

2

顯著水準

P = 0.0001

Cox & Snell R2

0.1718

Nagelkerke R2

0.2302

係數和標準誤

變數

係數

標準誤

Wald

P

AGE

0.11231

0.038619

8.4568

0.0036

SMOKING

1.16384

0.45374

6.5792

0.0103

常數

-4.47775

1.34565

11.0728

0.0009

勝算比和 95% 信賴區間

變數

勝算比

95% CI

AGE

1.1189

1.0373至 1.2068

SMOKING

3.2022

1.3159至 7.7926

Hosmer & Lemeshow 檢定

卡方值

14.8881

自由度

8

顯著水準

P = 0.0614

Hosmer & Lemeshow 檢定的列聯表 [隱藏]

群組

Y=0

Y=1

全部

觀察的

預期的

觀察的

預期的

1

10

8.813

0

1.187

10

2

7

9.560

5

2.440

12

3

8

8.510

4

3.490

12

4

9

7.365

3

4.635

12

5

5

5.566

5

4.434

10

6

8

4.625

1

4.375

9

7

2

4.677

8

5.323

10

8

4

3.541

6

6.459

10

9

3

2.597

7

7.403

10

10

0

0.747

5

4.253

5

分類表 (閾值 p=0.5)

真實群組

預測群組

正確率

0

1

Y = 0        

44

12

78.57%

Y = 1        

18

26

59.09%

正確分類的個案百分比

70.00%

ROC 曲線分析

ROC 曲線下面積 (AUC) 

0.737

標準誤

0.0498

95% 信賴區間

0.639 至 0.820

樣本數及陰性和陽性結局的個案

首先,程式給出樣本數,以及陰性(Y=0)和陽性(Y=1)結局的個案數及比例。

模型整體配適度

零模型 −2 對數概似由 −2 * ln(L0) 給出,其中 L0 為自變數對結局完全沒有影響時得到觀察值的概似。

全模型 −2 對數概似由 −2 * ln(L) 給出,其中 L 為模型中包含所有自變數時得到觀察值的概似。

兩者之差為卡方統計量,是衡量自變數對結局(依變數)影響程度的指標。

如果模型整體配適度統計量的 P 值小於通常的 0.05,則有證據表明至少有一個自變數對結局的預測有貢獻。

Cox & Snell R2 和 Nagelkerke R2 是另外的適合度指標,稱為偽 R 方。請注意,Cox & Snell 偽 R 方的最大值不是 1。Nagelkerke R2 對 Cox & Snell R2 進行了調整,使其取值範圍可達 1。

迴歸係數

邏輯斯迴歸係數是以下迴歸方程式中的係數 b0、b1、b2、… bk:

邏輯斯迴歸方程式$$ logit(p) = b_0 + b_1 X_1 + b_2 X_2 + b_3 X_3 + … + b_k X_k $$

迴歸係數與 0 無顯著差異(P>0.05)的自變數可以從迴歸模型中刪除(按功能鍵 F7 可重複 邏輯斯迴歸過程)。如果 P<0.05,則該變數對結局變數的預測有顯著貢獻。

邏輯斯迴歸係數表示自變數每變化一個單位時,感興趣特徵的預測對數比值的變化(bi>0 時增加,bi<0 時減少)。

當自變數 Xa 和 Xb 為二類別變數(例如吸菸、性別)時,比較迴歸係數 ba 和 bb 即可輕鬆比較這些變數對依變數的影響。

Wald 統計量是迴歸係數與其標準誤之比的平方:(b/SE)2。

勝算比及 95% 信賴區間

對上述迴歸方程式兩邊取指數(以 e 為底),方程式可以改寫為:

邏輯斯迴歸方程式$$ \text{odds}\ =\ \frac {p}{1-p}\ =\ e^{b_0} \times e^{b_1 X_1} \times e^{b_2 X_2} \times e^{b_3 X_3} \times … \times e^{b_k X_k} $$

顯然,當變數 Xi 增加 1 個單位、而所有其他因素保持不變時,比值將增加到原來的 ebi 倍。

邏輯斯迴歸方程式 - 比值$$ e^{b_i ( 1 + X_i ) } - e^{b_i X_i} = e ^{ b_i ( 1 + X_i) - b_i X_i} = e^{b_i + b_i X_i - b_i X_i} = e^{b_i} $$

這個係數 ebi 是自變數 Xi 的「調整」勝算比(O.R.),它給出自變數值每增加 1 個單位時結局比值增加(O.R. 大於 1)或減少(O.R. 小於 1)的相對程度。

例如,變數 SMOKING 編碼為 0(= 不吸菸者)和 1(= 吸菸者),該變數的勝算比為 2.64。這意味著在該模型中,吸菸者出現陽性結局的比值是不吸菸者的 2.64 倍。

配適的 邏輯斯迴歸方程式的解釋

邏輯斯迴歸方程式為:

$$ logit(p) = -8.986 + 0.251 \times Age + 0.972 \times Smoking $$

因此,對於 40 歲的吸菸者,logit(p) 為 2.026。logit(p) 可以用以下公式逆轉換為 p:

logit(p) 的逆轉換$$ p = \frac {1} { 1 + e^{-logit(p)}} $$

也可以使用 logit 表或 ALOGIT 函數計算機。當 logit(p)=2.026 時,陽性結局的機率 p 為 0.88。

Hosmer–Lemeshow 檢定

Hosmer–Lemeshow 檢定是 邏輯斯迴歸模型的統計適合度檢定。它將資料按估計風險遞增的順序分為約十組,求出每組的觀測個案數和期望個案數,並按如下方式計算卡方統計量:

Hosmer–Lemeshow 公式$$\chi^2_{HL} = \sum_{g=1}^{G}{\frac {(O_g-E_g)^2} {E_g(1-E_g/n_g) } } $$

其中 Og、Eg 和 ng 分別為第 g 個風險十分位組中的觀測事件數、期望事件數和觀察值數,G 為組數。檢定統計量服從自由度為 G−2 的卡方分布。

卡方值較大(P 值較小,< 0.05)表示配適不佳,卡方值較小(P 值較大且接近 1)表示 邏輯斯迴歸模型配適良好。

Hosmer–Lemeshow 檢定的列聯表給出檢定的詳細資訊,包括每組的觀測次數和期望次數。

分類表

分類表是評價 邏輯斯迴歸模型預測準確度的另一種方法。在此表中,將依變數結局的觀察值與(在使用者定義的截斷值,例如 p=0.50 下的)預測值進行交叉分類。在本例中,模型正確預測了 74% 的個案。

ROC 曲線分析

評價 邏輯斯迴歸模型的另一種方法是使用 ROC 曲線分析。在此分析中,用 ROC 曲線下面積(AUC)量化模型的預測值區分陽性和陰性個案的能力。AUC 也稱為 c 統計量(或一致性指數),取值範圍為 0.5(隨機水準的判別能力)至 1.0(完美的判別能力)。

要對預測機率進行完整的 ROC 曲線分析,請儲存預測機率,然後在 ROC 曲線分析中使用這個新變數。此時,邏輯斯迴歸中使用的依變數在 ROC 曲線對話方塊中用作類別變數。

傾向性評分

傾向性評分是 邏輯斯迴歸模型預測的機率。要將傾向性評分儲存到試算表中,請按一下結果視窗中的「儲存預測機率」超連結。

樣本數方面的考慮

邏輯斯迴歸的樣本數計算是一個複雜的問題,但根據 Peduzzi et al. (1996) 的研究,可以提出以下關於研究所需最少個案數的建議。

設 p 為總體中陰性個案和陽性個案所佔比例中較小的一個,k 為共變數(自變數)個數,則應納入的最少個案數為:

N = 10 k / p

例如,如果模型中要納入 3 個共變數,且總體中陽性個案的比例為 0.20(20%),則所需最少個案數為:

N = 10 × 3 / 0.20 = 150

如果所得數字小於 100,應按照 Long (1997) 的建議將其增加到 100。

圖表

只有一個自變數時,MedCalc 可以繪製 邏輯斯迴歸曲線。

邏輯斯迴歸曲線

參考文獻

  • Hosmer DW Jr, Lemeshow S, Sturdivant RX (2013) Applied Logistic Regression. Third Edition. New Jersey: John Wiley & Sons.
  • Long JS (1997) Regression Models for categorical and limited dependent variables. Thousand Oaks, CA: Sage Publications.
  • Pampel FC (2020) Logistic regression: A primer. Quantitative Applications in the Social Sciences, 132. Thousand Oaks, CA: Sage Publications.
  • Peduzzi P, Concato J, Kemper E, Holford TR, Feinstein AR (1996) A simulation study of the number of events per variable in logistic regression analysis. Journal of Clinical Epidemiology 49:1373-1379. PubMed

另請參閱