第二节 —— 统计回归分析中的逻辑斯蒂
设X是随机变量。逻辑分布指满足如下累计分布函数和概率密度函数的分布:
F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) s F(x) = P(X \leq x) = \frac{1}{1+e^{ \frac{-(x- \mu )}{s}}} F(x)=P(X≤x)=1+es−(x−μ)1
f ( x ) = F ′ ( x ) = e − ( x − μ ) s s ( 1 + e − ( x − μ ) s ) 2 f(x) = F'(x) = \frac{e^{ \frac{-(x- \mu )}{s}}}{s(1+e^{ \frac{-(x- \mu )}{s}})^2} f(x)=F′(x)=s(1+es−(x−μ))2es−(x−μ)
μ
\mu
μ:位置参数,决定函数图像沿x轴方向的位移
s
s
s:形状参数,决定函数图像的高矮胖瘦
大家可以用几何画板画一下
μ
\mu
μ和
s
s
s取不同值时的图像,直观的理解一下这两个参数的作用。
F ( x ) F(x) F(x)是以点 ( μ , 1 2 ) (\mu,\frac{1}{2}) (μ,21) 中心对称的曲线。它越靠近中心增长越快。 s s s越小,在中心附近的增长越快。
特别地,当 μ \mu μ=0, s s s=1 时, F ( x ) = 1 1 + e − x = σ ( x ) F(x) = \frac{1}{1+e^{-x}} \color{red}= \sigma(x) F(x)=1+e−x1=σ(x)
逻辑斯蒂分布有和广泛的而应用。它最早来源于生长曲线的需要,现在还用于经济(例如描述一个产品在广告上投入与最后销售额的关系)、人口统计等领域。
对一个二元分类问题建模。
假设一个工厂生产的产品:达标/不达标 ~
B
e
r
n
o
u
l
l
i
(
p
)
Bernoulli(p)
Bernoulli(p), p是产品达标的概率。
其中这个p受工厂其他各项指标的影响,比如流水线个数,员工人数,已投入使用时长,当日温度等等。假如我们就把举例的这四个作为特征,也就是说每一条数据(代表一个工厂)的特征向量有四维。
x i ⃗ = { x i 1 x i 2 x i 3 x i 4 } \vec{x_i} = \left\{ \begin{matrix} x_{i1}\\x_{i2}\\x_{i3}\\x_{i4} \end{matrix} \right\} xi=⎩⎪⎪⎨⎪⎪⎧xi1xi2xi3xi4⎭⎪⎪⎬⎪⎪⎫
角标的含义:
x
i
j
x_{ij}
xij代表第 i 条数据的第 j 维。整个数据集的sample总数是N(i = 1, 2, …, N)
逻辑斯蒂回归的dataset应该是这个亚子的:
Index(i) | r i r_i ri | n i n_i ni | P i P_i Pi | x i ⃗ \vec{x_i} xi |
---|---|---|---|---|
1 | r 1 r_1 r1 | n 1 n_1 n1 | P 1 = r 1 n 1 P_1=\frac{r_1}{n_1} P1=n1r1 | ( x 11 x 12 x 13 x 14 ) (x_{11} \ \ \ x_{12} \ \ \ x_{13} \ \ \ x_{14}) (x11 x12 x13 x14) |
2 | r 2 r_2 r2 | n 2 n_2 n2 | P 2 = r 2 n 2 P_2=\frac{r_2}{n_2} P2=n2r2 | ( x 21 x 22 x 23 x 24 ) (x_{21} \ \ \ x_{22} \ \ \ x_{23} \ \ \ x_{24}) (x21 x22 x23 x24) |
… | … | … | … | … |
… | … | … | … | … |
N | r N r_N rN | n N n_N nN | P N = r N n N P_N=\frac{r_N}{n_N} PN=nNrN | ( x N 1 x N 2 x N 3 x N 4 ) (x_{N1} \ \ \ x_{N2} \ \ \ x_{N3} \ \ \ x_{N4}) (xN1 xN2 xN3 xN4) |
其中, P i P_i Pi的计算方法就是从这个工厂的产品中抽出n个然后检测出当中有r个达标,用 r n \frac{r}{n} nr 作为该工厂产品Bernoulli分布的 p . 刚才我们讲p受工厂的四个特征影响,那么我们的目标就是让p用 x ⃗ \vec{x} x 来表示。
Goal: Regress P i P_i Pi on x i ⃗ \vec{x_i} xi
第一个当然想到的是直接把 P i P_i Pi 当做线性回归里面的 “y“
⇒ M o d e l : P i = β 0 + β 1 x i 1 + . . . + β 4 x i 4 + ϵ i \Rightarrow Model: P_i=\beta_0 + \beta_1x_{i1} + ... + \beta_4x_{i4} + \epsilon_i ⇒Model:Pi=β0+β1xi1+...+β4xi4+ϵi
不过这个不太行,因为 0 ≤ P i ≤ 1 0\leq P_i \leq1 0≤Pi≤1,而 x i ⃗ T β ⃗ \vec {x_i}^T \vec{\beta} xiTβ 可能落在这个区间外。这样用 x i ⃗ T β ⃗ \vec {x_i}^T \vec{\beta} xiTβ 表示 P i P_i Pi 就没有意义。
Idea: Do transformation on P i P_i Pi(统计学中 logistic regression 的精髓呀呀呀!)
⇒ M o d e l : l o g ( P i 1 − P i ) = β 0 + β 1 x i 1 + . . . + β 4 x i 4 + ϵ i \Rightarrow Model: log(\frac{P_i}{1-P_i})=\beta_0 + \beta_1x_{i1} + ... + \beta_4x_{i4} + \epsilon_i ⇒Model:log(1−PiPi)=β0+β1xi1+...+β4xi4+ϵi
⇔ M o d e l : l o g ( P i 1 − P i ) = x i ⃗ T β ⃗ + ϵ ⃗ \Leftrightarrow Model: log(\frac{P_i}{1-P_i})=\vec {x_i}^T \vec{\beta} + \vec \epsilon ⇔Model:log(1−PiPi)=xiTβ+ϵ
⇔ F i t t e d m o d e l : l o g ( P i ^ 1 − P i ^ ) = x i ⃗ T β ⃗ ^ \Leftrightarrow Fitted \ model: log(\frac{\hat{P_i}}{1-\hat{P_i}})=\vec {x_i}^T \hat{\vec{\beta}} ⇔Fitted model:log(1−Pi^Pi^)=xiTβ^
有 ^ 符号的代表是根据样本数据算出来的参数estimates。对上式做一点变形:
F i t t e d m o d e l : P i ^ = e x p ( x i ⃗ T β ⃗ ) 1 + e x p ( x i ⃗ T β ⃗ ) = 1 1 + e x p ( − x i ⃗ T β ⃗ ) = σ ( x i ⃗ T β ⃗ ) Fitted \ model: \hat{P_i} = \frac{exp(\vec {x_i}^T \vec{\beta})}{1+exp(\vec {x_i}^T \vec{\beta})} = \frac{1}{1+exp(- \ \vec {x_i}^T \vec{\beta})} \color{red}= \sigma(\vec {x_i}^T \vec{\beta}) Fitted model:Pi^=1+exp(xiTβ)exp(xiTβ)=1+exp(− xiTβ)1=σ(xiTβ)
Index(i) | r i r_i ri | n i n_i ni | P i P_i Pi | y = l o g ( P i 1 − P i ) y=log(\frac{P_i}{1-P_i}) y=log(1−PiPi) | x i ⃗ \vec{x_i} xi |
---|---|---|---|---|---|
1 | r 1 r_1 r1 | n 1 n_1 n1 | P 1 = r 1 n 1 P_1=\frac{r_1}{n_1} P1=n1r1 | l o g ( P 1 1 − P 1 ) log(\frac{P_1}{1-P_1}) log(1−P1P1) | ( x 11 x 12 x 13 x 14 ) (x_{11} \ \ \ x_{12} \ \ \ x_{13} \ \ \ x_{14}) (x11 x12 x13 x14) |
2 | r 2 r_2 r2 | n 2 n_2 n2 | P 2 = r 2 n 2 P_2=\frac{r_2}{n_2} P2=n2r2 | l o g ( P 2 1 − P 2 ) log(\frac{P_2}{1-P_2}) log(1−P2P2) | ( x 21 x 22 x 23 x 24 ) (x_{21} \ \ \ x_{22} \ \ \ x_{23} \ \ \ x_{24}) (x21 x22 x23 x24) |
… | … | … | … | … | … |
… | … | … | … | … | … |
N | r N r_N rN | n N n_N nN | P N = r N n N P_N=\frac{r_N}{n_N} PN=nNrN | l o g ( P N 1 − P N ) log(\frac{P_N}{1-P_N}) log(1−PNPN) | ( x N 1 x N 2 x N 3 x N 4 ) (x_{N1} \ \ \ x_{N2} \ \ \ x_{N3} \ \ \ x_{N4}) (xN1 xN2 xN3 xN4) |
具体在计算的时候,把上面那个表格里每一行的
P
i
P_i
Pi 都算一个相应的
l
o
g
(
P
i
1
−
P
i
)
log(\frac{P_i}{1-P_i})
log(1−PiPi),并把这个当成线性回归里面的 “y”,剩下的回归就都清楚啦~
下面简单说一下为什么要这么做 transformation。
在统计学中一个事件A的几率:odds = P ( A ) 1 − P ( A ) \frac{P(A)}{1-P(A)} 1−P(A)P(A)
对数几率 = l o g ( P ( A ) 1 − P ( A ) ) log(\frac{P(A)}{1-P(A)}) log(1−P(A)P(A))
对数几率这个函数叫做 l o g i t logit logit 函数: l o g i t ( y ) = y 1 − y logit(y) = \frac{y}{1-y} logit(y)=1−yy
回到刚才的例子中,那么A =“达标”。 P i = P ( A ∣ x i ⃗ ) P_i= P(A \ |\ \vec{x_i}) Pi=P(A ∣ xi)
o d d s o f A a t x i ⃗ = P ( A ∣ x i ⃗ ) 1 − P ( A ∣ x i ⃗ ) = P i 1 − P i odds \ of \ A \ at \ \vec{x_i} = \frac{P(A \ |\ \vec{x_i})}{1-P(A \ |\ \vec{x_i})} = \frac{P_i}{1-P_i} odds of A at xi=1−P(A ∣ xi)P(A ∣ xi)=1−PiPi
l o g o d d s o f A a t x i ⃗ = l o g ( P i 1 − P i ) = x i ⃗ T β ⃗ + ϵ ⃗ log\ odds\ of\ A\ at\ \vec{x_i} = log\Big(\frac{P_i}{1-P_i}\Big) = \vec {x_i}^T \vec{\beta} + \vec \epsilon log odds of A at xi=log(1−PiPi)=xiTβ+ϵ
于是,逻辑斯蒂回归用一句话概括就是:用 x ⃗ \vec{x} x 的线性函数去拟合了二元事件的对数几率。因此,逻辑斯蒂回归也叫作 “对数几率回归”。
一般线性: y = β 0 + β 1 x i 1 + β 2 x i 2 + . . . + ϵ i = x i ⃗ T β ⃗ + ϵ ⃗ \color{#FF7256}y\color {black} = \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} +... + \epsilon_i = \vec {x_i}^T \vec{\beta} + \vec \epsilon y=β0+β1xi1+β2xi2+...+ϵi=xiTβ+ϵ
广义线性: t r a n s f o r m a t i o n o f y = β 0 + β 1 x i 1 + β 2 x i 2 + . . . + ϵ i = x i ⃗ T β ⃗ + ϵ ⃗ \color{#FF7256}transformation\ of\ y \color{black}= \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} +... + \epsilon_i = \vec {x_i}^T \vec{\beta} + \vec \epsilon transformation of y=β0+β1xi1+β2xi2+...+ϵi=xiTβ+ϵ
transformation 可以用 l o g ( y ) log(y) log(y), l o g i t ( y ) logit(y) logit(y), Φ − 1 ( y ) \Phi^{-1}(y) Φ−1(y) 等等。 ← Φ − 1 是 正 态 分 布 的 累 计 分 布 函 数 的 反 函 数 \leftarrow \Phi^{-1} 是正态分布的累计分布函数的反函数 ←Φ−1是正态分布的累计分布函数的反函数。
在logistic regression中就是用的 l o g i t logit logit函数做的 transformation。所以,说白了logistic regression依然是Independent variable x ⃗ \vec{x} x 的线性模型,只是给Dependent variable 套了一层外衣。