邏輯迴歸公式

邏輯迴歸公式

邏輯迴歸是統計和資料科學中最常用的方法之一,用於建模多個自變量(預測變量)與分類因變量(尤其是二元因變量,例如,是/否、成功/失敗、生病/健康)之間的關係。與產生連續值的線性迴歸不同,邏輯迴歸旨在估計事件發生的機率,因此最終結果介於 0 到 1 之間。本文將討論邏輯迴歸公式、各組成部分的意義以及如何解釋結果。

為什麼需要邏輯迴歸?

如果我們使用線性迴歸來預測機率,模型可能會產生小於 0 或大於 1 的值,這顯然不符合機率的實際情況。邏輯回歸透過使用非線性函數來解決這個問題,該函數將計算結果(可以是任何值)映射到 0 到 1 之間的機率值。最常用的函數是邏輯函數或 Sigmoid 函數。

例如,假設我們想根據客戶的年齡、訂閱時間和使用頻率來預測其是否會流失。預測結果只有兩種可能:流失 (1) 或不流失 (0)。邏輯迴歸非常適合這種情況。

邏輯迴歸的基本公式

邏輯迴歸的本質是,在給定預測變數 \( X \) 的值的情況下,對 \( Y = 1 \)(事件發生)的機率 \( p \) 進行建模。

邏輯迴歸模型通常以兩種重要形式表示:

1)機率形式(S型曲線)

\[
p = P(Y=1 \mid X) = \frac{1}{1 + e^{-z}}
\]

同

\[
z = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k
\]

信息:
– \( p \) 是事件發生的機率(例如:流失 = 1)。
– \( e \) 是歐拉數(約 2,71828)。
– \( z \) 是預測變數的線性組合。
– \( \beta_0 \) 是截距(常數)。
– \( \beta_1, \beta_2, \ldots, \beta_k \) 是迴歸係數。
– \( X_1, X_2, \ldots, X_k \) 是獨立變數。

sigmoid 函數保證無論 \( z \) 的值為何,\( p \) 的值都保持在 0 到 1 之間。

2) Logit 形式(對數比值)

另一種非常重要的形式是logit形式,即賠率的對數:

\[
\text{logit}(p) = \ln\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k
\]

信息:
– \( \frac{p}{1-p} \) 稱為賠率(相對機會)。
– \( \ln \) 是自然對數。

邏輯迴歸模型中的logit形式解釋了邏輯迴歸實際上是將對數比值建模為預測變數的線性函數。這使得係數的解釋更加清晰,尤其是在比值比的背景下。

理解賠率和賠率比

為了真正理解邏輯迴歸公式,我們需要區分機率和比值。

– 機率 \( p \): 事件發生的機會(0 到 1)。
賠率:某事發生的機率與某事不發生的機率的比較:

\[
賠率 = p/(1-p)
\]

例如:如果 \( p = 0{,}8 \),則:

\[
賠率 = 0.8 / 0.2 = 4
\]

這意味著該事件發生的可能性是不發生的4倍。

在邏輯迴歸中,係數 \( \beta \) 通常以優勢比來解釋:

\[
\text{OR} = e^{\beta}
\]

– 如果 \( \beta > 0 \),則 \( e^{\beta} > 1 \):預測因子增加了事件發生的幾率。
– 如果 \( \beta < 0 \),則 \( e^{\beta} < 1 \):預測因子降低了事件發生的幾率。
– 如果 \( \beta = 0 \),則 \( e^{\beta} = 1 \):對賠率沒有影響。

例如,如果 \( \beta_1 = 0{,}7 \),則:

\[
e^{0{,}7} \approx 2{,}01
\]

這意味著 \( X_1 \) 每增加 1 個單位,事件發生的幾率就會增加約 2,01 倍(假設其他變數不變)。

簡單邏輯迴歸模型範例

假設我們只有一個預測變數 \( X \),例如每週學習小時數,用來預測考試通過情況(通過 = 1,不通過 = 0)。模型如下:

\[
\text{logit}(p) = \beta_0 + \beta_1
\]

若估算結果為:
– \( \beta_0 = -4 \)
– \( \beta_1 = 0{,}8 \)

所以:

\[
z = -4 + 0{,}8X
\]
\[
p = \frac{1}{1 + e^{-(-4 + 0{,}8X)}} = \frac{1}{1 + e^{4 – 0{,}8X}}
\]

若學習時間為 \( X = 6 \) 小時:

\[
z = -4 + 0{,}8(6) = 0{,}8
\]
\[
p = \frac{1}{1 + e^{-0{,}8}} \approx 0{,}69
\]

解讀:每週學習 6 小時,通過的機率約為 69%。

係數估計:為什麼不選擇最小平方法?

在線性迴歸中,係數通常使用最小平方法計算。然而,在邏輯迴歸中,預測變數與機率之間的關係是非線性的,因此最小平方法並不適用。邏輯迴歸通常使用最大似然估計(MLE)來尋找觀測資料似然性最大化的係數 β。

總之,二元觀測值 \( y_i \in \{0,1\} \) 和預測值 \( p_i \) 的似然函數為:

\[
L(\beta) = \prod_{i=1}^{n} p_i^{y_i}(1-p_i)^{(1-y_i)}
\]

然後通常會將其轉換為對數似然值,以便於計算:

\[
\ell(\beta) = \sum_{i=1}^{n} \left[ y_i \ln(p_i) + (1-y_i)\ln(1-p_i) \right]
\]

選擇 \( \beta \) 的值是為了使 \( \ell(\beta) \) 最大化。統計軟體通常使用牛頓-拉夫遜法或梯度下降法等數值方法。

邏輯迴歸的優點和局限性

克萊比漢
1. 結果以機率的形式呈現,因此很容易轉化為決策。
2. 透過比值比可以清楚解釋係數。
3. 適用於二元分類問題,並可擴展到多項式/序數分類問題。

限制
1. 假設預測變數與對數幾率之間存在線性關係,而不是直接與機率相關。
2. 如果存在多重共線性或資料非常不平衡,則可能會出現問題。
3. 對於非常複雜的關係模式,其他非線性方法(例如隨機森林或神經網路)可能更優。

關閉

邏輯迴歸公式本質上是將預測變數的線性組合與 sigmoid 函數結合,從而產生機率值。最常見的形式是:

\[
p = \frac{1}{1 + e^{-(\beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k)}}
\]

或用logit形式表示:

\[
\ln\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k
\]

透過理解公式的這兩種形式,我們可以建構各種二元分類問題的預測模型,並透過優勢比 \( e^{\beta} \) 來解釋變數的影響。邏輯迴歸仍然是資料分析的重要基礎,因為它簡單、強大且易於解釋,通常是嘗試更複雜模型的第一步。

如果您需要,我可以添加一個包含少量資料(表格)的範例計算,或者一個用 Python/R 實現的邏輯回歸範例以及對輸出結果的解釋。

請留言