로지스틱 회귀

**로지스틱 회귀**()는 영국의 통계학자인 D. R. Cox가 1958년에 제안한 확률 모델로서 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법이다.

로지스틱 회귀의 목적은 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것이다. 이는 독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형 회귀 분석과 유사하다. 하지만 로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류 (classification) 기법으로도 볼 수 있다.

흔히 로지스틱 회귀는 종속변수가 이항형 문제(즉, 유효한 범주의 개수가 두개인 경우)를 지칭할 때 사용된다. 이외에, 두 개 이상의 범주를 가지는 문제가 대상인 경우엔 다항 로지스틱 회귀 (multinomial logistic regression) 또는 분화 로지스틱 회귀 (**polytomous logistic regression**)라고 하고 복수의 범주이면서 순서가 존재하면 서수 로지스틱 회귀 (ordinal logistic regression) 라고 한다. 로지스틱 회귀 분석은 의료, 통신, 데이터마이닝과 같은 다양한 분야에서 분류 및 예측을 위한 모델로서 폭넓게 사용되고 있다.
## 기초
로지스틱 회귀는 이항형 또는 다항형이 될 수 있다. 이항형 로지스틱 회귀(binomial logistic regression)의 경우 종속 변수의 결과가 (성공, 실패) 와 같이 2개의 카테고리가 존재하는 것을 의미하며 다항형 로지스틱 회귀는 종속형 변수가 (맑음, 흐림, 비)와 같이 2개 이상의 카테고리로 분류되는 것을 가리킨다. 이항형 로지스틱의 회귀 분석에서 2개의 카테고리는 0과 1로 나타내어지고 각각의 카테고리로 분류될 확률의 합은 1이 된다.

로지스틱 회귀는 일반적인 선형 모델(generalized linear model)의 특수한 경우로 볼 수 있으므로 선형 회귀와 유사하다. 하지만, 로지스틱 회귀의 모델은 종속 변수와 독립 변수 사이의 관계에 있어서 선형 모델과 차이점을 지니고 있다. 첫 번째 차이점은 이항형인 데이터에 적용하였을 때 종속 변수 y의 결과가 범위[0,1]로 제한된다는 것이고 두 번째 차이점은 종속 변수가 이진적이기 때문에 조건부 확률(*P(y│x)*)의 분포가 정규분포 대신 이항 분포를 따른다는 점이다.

따라서, 대상이 되는 데이터의 종속 변수 y의 결과는 0과 1, 두 개의 경우만 존재하는 데 반해, 단순 선형 회귀를 적용하면 범위[0,1]를 벗어나는 결과가 나오기 때문에 오히려 예측의 정확도만 떨어뜨리게 된다.

이를 해결하기 위해 로지스틱 회귀는 연속이고 증가함수이며 [0,1]에서 값을 갖는 연결 함수 *g(x)*를 제안하였다. 연결함수의 형태는 다양하게 존재하는데 그 중 대표적인 두 개는 아래와 같다.

* 로지스틱 모형:  g(x) = \frac{e^x}{1+e^x}
* 검벨 모형:  g(x) = e^{-e^{x}} 
이 중에 계산상의 편리성으로 인하여 로지스틱 모형이 널리 사용된다.

## 로지스틱 함수
[섬네일|320px|right|표준 로지스틱 함수 <math>\sigma (t)</math>; 모든 <math>t</math>에 있어서 <math>\sigma (t) \in [0,1]</math>이다.](https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Logistic-curve.svg)
로지스틱 모형 식은 독립 변수가 (-∞,∞)의 어느 숫자이든 상관 없이 종속 변수 또는 결과 값이 항상 범위 [0,1] 사이에 있도록 한다. 이는 오즈(odds)를 로짓(logit) 변환을 수행함으로써 얻어진다.

### 식
* 오즈 (odds) & 로짓 변환
*:성공 확률이 실패 확률에 비해 몇 배 더 높은가를 나타내며 그 식은 아래와 같다.
*:: \text{odds} = \frac{p(y=1|x)}{1-p(y=1|x)}

* 로짓 변환
*:오즈에 로그를 취한 함수로서 입력 값의 범위가 [0,1] 일 때 출력 값의 범위를 (-\infty,+\infty) 로 조정한다.
*:: \operatorname{logit}(p) = \log\frac{p}{1-p}

* 로지스틱 함수 (logistic function):
*:로지스틱 함수의 그래프는 Figure 1과 같고 이는 독립 변수 x가 주어졌을 때 종속 변수가 1의 범주에 속할 확률을 의미한다. 즉, {p(y=1|x)}를 의미한다.
*:로지스틱 함수는 로짓 변환을 통해 만들어지고, 그 형태는 다음과 같다.
*:: \text{logistic function}= \frac{e^{\beta\centerdot X_i}}{1+e^{\beta\centerdot X_i}}

### 수식 유도
#### 가정
N개의 관찰된 데이터 요소의 연속된 숫자가 존재한다고 가정하면, 각 데이터 요소는 m개의 독립 변수의 집합 (x_{1,i}, ... , x_{m,i})을 포함하고 있고 이는 설명 변수, 예측 변수, 입력 변수, 특징, 속성이라고도 불린다. 그리고 독립 변수와 연관된 이진 값 형태의 종속 변수 Y_i가 존재한다. 이 종속 변수는 응답 변수, 결과 변수, 클래스 변수라고도 일컬어진다. 향후 수식 표현에서는 종속 변수에는 오직 2개의 가능한 값, '0' (실패 또는 없음을 의미)과 '1' (성공 또는 존재를 의미)만이 존재한다고 가정한다. 로지스틱 회귀의 목적은 독립 변수와 종속 변수의 관계를 찾음으로써, 새로운 독립 변수의 집합이 주어졌을 때 종속 변수의 값을 예측할 수 있게 하는 것이다.

##### 독립 변수
예시에서 볼 수 있다시피, 독립 변수는 실제 값, 이진 값, 카테고리 등 어떤 형태든 될 수 있다. 종속 변수의 형태는 연속 변수(수입, 나이, 혈압) 또는 이산 변수(성별, 인종)로 구분된다. 만약, 특정 이산 변수 값의 후보가 2개 이상이 존재한다면 일반적으로 해당 후보들을 임시 변수로 변환하여 로지스틱 회귀를 수행한다. 즉, 구분된 독립 변수들이 각각 '0' 또는 '1'의 값을 갖도록 변환한다. '0'은 해당 변수가 특정 값을 지니지 않음으로 의미하고 '1'은 해당 변수가 주어진 값과 동일하다는 것을 의미한다. 예를 들어, 혈액형의 종류는 4가지(A, B, AB, O)가 있는데 이를 로지스틱 회귀를 수행하기 위해서 데이터 변환을 하면 4가지 혈액형 중에 특정 사람의 혈액형과 같은 값만 '1'이 되고 나머지는 '0'의 값을 지닌다. 즉, A형인 사람의 데이터는 (1,0,0,0)이 되는 것이다. 이렇게 변환함으로써 구분된 회귀 계수가 이산적인 값을 지니게 할 수 있다.

##### 종속 변수
종속 변수 Y_i는 일반적으로 베르누이 분포의 데이터로서 표현한다. 각 종속 변수는 관찰되지 않은 확률 p_i에 의해 결정된다. 이는 다음의 수학적 표현으로 표현할 수 있다.
*;Y_i|x_{1,i},...,x_{m,i} ~ Bernoulli(p_i)
*: Y_i의 확률 분포를 나타내는 것으로서 독립 변수에 대한 조건부 확률은 확률 p_i에 대한 베르누이 분포를 따른 다는 것을 의미한다. 확률 p_i는 i번 시행했을 때 1이 나올 확률을 의미한다. 이때 각 시행마다 성공 확률과 독립 변수를 가진다.

*;\mathbb{E}[Y_i|x_{1,i},...,x_{m,i}] = p_i
*:각 Y_i에 대한 기대값이 베르누이 분포의 일반적인 특성을 지닌 성공 확률 p_i와 같음을 의미한다. 즉, 만약 우리가 성공 확률 p_i와 같은 확률을 가지는 베르누이 시행을 매우 많이 수행했을 때, 그 결과의 평균은 p_i와 가까워지게 된다. 그 이유는 평균은 성공 횟수의 비율이 얼마나 되나에 의해 결정되는데 이는 성공할 확률과 결국 같은 의미이기 때문이다.

*;Pr(Y_i=y_i|x_{1,i},...,x_{m,i}) =  
\begin{cases}
p_i & \mbox{if }y_i = 1 \\
1-p_i & \mbox{if }y_i = 0
\end{cases}
*:베르누이 분포의 확률 질량 함수를 표현한 것으로서 2개의 경우에 대한 확률이 존재한다.

*;Pr(Y_i=y_i|x_{1,i},...,x_{m,i}) =  p_i^{y_i}(1-p_i)^{(1-y_i)}
*: 확률 질량 함수를 다른 표현으로 적은 것으로, 그것은 3번의 식 두 개를 한번에 표현한 것이다.

##### 선형 예측 변수
로지스틱 회귀의 기본적인 접근은 이미 개발되어 있는 선형 회귀의 방식을 사용하는 것이다. 즉, 독립 변수의 선형 결합과 회귀 계수에 관한 선형 예측 함수에서 비롯되었다. 선형 예측 함수 f(i)는 특정 데이터 항에 대해 아래와 같이 표현된다.
: f(i) = \beta_0+\beta_1 x_{1,i}+\cdots+\beta_m x_{m,i} (\beta_0, ..., \beta_m)은 특정 독립 변수와 결과의 관계를 규정하는 회귀 계수를 의미한다.

이 모델은 다음의 간결한 형태로 표현될 수 있다.
* 회귀 계수 (\beta_0, \cdots, \beta_m)는 m+1 사이즈를 가지는 벡터  \beta로 표현된다.
* 독립 변수 x_{0,i}, x_{1,i},\cdots,x_{m,i}는 사이즈가 m+1인 하나의 벡터 X_i로 표현된다.

위를 기반으로 선형 예측 함수는 다음과 같이 간결화 될 수 있다.
: f(i) = \beta\cdot X_i

##### 로지스틱 함수 유도
로지스틱 회귀가 다른 회귀 분석과 구분되는 가장 큰 특징은 결과 값이 0 또는 1이라는 것이다. 따라서 결과 값의 범위가 [-\infty, +\infty]인 선형 회귀의 식을 결과 값의 범위가 [0,1]이 되도록 로짓 변환을 수행한다.
로지스틱 함수를 구하는 과정은 아래와 같다.

일단, 오즈비를 종속 변수 값에 상관 없이 결과 값이 항상 [0,1] 사이에 있도록 하기 위해 로짓 변환을 수행한다.

: \operatorname{logit}(\mathbb{E}[Y_i| x_{1,i}, \cdots, x_{m,i}]) = \operatorname{logit}(p_i) = \ln\frac{p_i}{1-p_i}

그리고 로지스틱 회귀에서 로짓 변환의 결과는 x에 대한 선형 함수와 동일하므로,

: \operatorname{logit}(p_i) = \beta_0+\beta_1x_{1,i}+\cdots+\beta_mx_{m,i} = \beta\cdot X_i가 되고,

위 두식을 결합하면,
: \ln\frac{p_i}{1-p_i} = \beta\cdot X_i 이 된다.

따라서, 우리가 구하고자 하는 특정 독립 변수 *x*가 주어졌을 때, 종속 변수가 1의 카테고리에 속할 확률은
:p_i = \operatorname{logit}^{-1}(\boldsymbol\beta \cdot \mathbf{X}_i) = \frac{1}{1+e^{-\boldsymbol\beta \cdot \mathbf{X}_i}}이다.

이를 확률 질량 함수로 표현하면 다음과 같다.
:\operatorname{Pr}(Y_i=y_i\mid \mathbf{X}_i) = {p_i}^{y_i}(1-p_i)^{1-y_i} =\left(\frac{1}{1+e^{-\boldsymbol\beta \cdot \mathbf{X}_i}}\right)^{y_i} \left(1-\frac{1}{1+e^{-\boldsymbol\beta \cdot \mathbf{X}_i}}\right)^{1-y_i}

## 형식적 수학 모델
### 잠재변수 모델(latent-variable)
앞서 설명된 로지스틱 모델은 잠재변수 모델로서 동등한 공식화가 존재한다. 이 공식화는 이산 선택 모델 이론에서 공통적으로 쓰이며, 로지스틱 회귀를 이와 깊이 관련된 프로빗 모델과 비교하기 쉽도록 해줄뿐만 아니라, 다수의 상호연관된 선택지를 지니는 더 복잡한 특정 모델로 확장하기 쉽게 해준다. 매 i번째 시행마다 연속적인 잠재변수 Y_i^*(즉, 관찰되지 않은 확률변수)가 다음과 같이 분포해 있다고 해보자:
:Y_i^*=\boldsymbol{\beta}\cdot\mathbf{X}_i+\mathrm{\varepsilon}
where
: \varepsilon \sim \operatorname{Logistic}(0,1) \, 
즉, 잠재변수는 선형 예측변수 함수와 표준 로지스틱 분포를 따르는 가산 확률 오차 변수로써 곧바로 표현될 수 있다. 그러면, Y_i를 이 잠재변수가 양수인지 아닌지에 대한 지표로 볼 수 있다:
:  Y_i = \begin{cases} 1 & \text{if }Y_i^\ast > 0 \ \text{ i.e. } - \varepsilon 
오차 변수를 구체적으로 표준 로지스틱 분포를 따르도록 모델링하는 것은 임의의 위치 및 축척을 가지는 보편적인 로지스틱 분포로 모델링하는 것보다 제한적이어 보이나, 사실은 그렇지 않다. 회귀 계수는 얼마든지 마음대로 고를 수 있고, 때때로 오차 변수 분포의 매개변수 변화량을 상쇄시키는데 사용될 수 있음을 명심해야 한다. 예를 들어, 0이 아닌 위치 매개변수 &mu;(평균값)를 가지는 로지스틱 오차 변수 분포는 절편계수에 &mu;를 더하면 위치 매개변수가 0인 분포와 동등해진다. 두 경우 모두 설명 변수의 설정과는 관계없이 같은 Y_i^*값을 낳는다. 마찬가지로 임의의 축척 매개변수 s는 축척 매개변수를 1로 설정한 뒤 모든 회귀 계수를 s로 나눈 것과 동등한 효과를 나타낸다. 후자의 경우, Y_i^*의 결과값이 모든 설명변수들의 조합에 대해 이전보다 s배만큼 작아진다&mdash;그러나 중요한건, 0을 기준으로 언제나 동일한 쪽에 남아있기 때문에, 결국 같은 Y_i 선택을 따른다.

(이러한 사실에서 곧 축척 매개변수의 무관성이 두 개 이상의 선택이 존재하는 보다 더 복잡한 모델에도 적용되지는 않을 수도 있음을 예견한다는 점에 주목하자.)

앞서 잠재변수 없이 일반화된 선형 모델로 표현된 것과 이 공식화가 정확히 동등함이 알려져 있다. 이는 표준 로지스틱 분포의 누적 분포 함수가 로지스틱 함수, 즉, 로짓 함수의 역함수라는 사실을 이용하여 다음과 같이 나타낼 수 있다. 다시 말해,
:\Pr(\varepsilon  이고,

그러면:

:
\begin{align}
\Pr(Y_i=1\mid\mathbf{X}_i) &= \Pr(Y_i^\ast > 0\mid\mathbf{X}_i) & \\
&= \Pr(\boldsymbol\beta \cdot \mathbf{X}_i + \varepsilon > 0) & \\
&= \Pr(\varepsilon > -\boldsymbol\beta \cdot \mathbf{X}_i) &\\
&= \Pr(\varepsilon 

이 공식화&mdash;표준 이산 선택 모델&mdash;는 표준 로지스틱 분포 대신 표준 정규 분포를 따르는 오차 변수가 사용된 프로빗 모델과 로지스틱 회귀("로짓 모델") 사이의 관계를 명료하게 한다.  로지스틱 분포와 정규 분포 둘 다 단봉형의 "종형 곡선" 모양으로 대칭적이다. 유일한 차이점은 로지스틱 분포가 조금 더 무거운 꼬리를 가지고 있어, 외진 데이터(outlying data)에 대해 덜 예민하다는 것이다(따라서 그릇된 데이터에 대해 더 강건하다).

### 이중(two-way) 잠재변수 모델
또 다른 공식화는 별개의 두 잠재변수를 사용한다:

: 
\begin{align}
Y_i^{0\ast} &= \boldsymbol\beta_0 \cdot \mathbf{X}_i + \varepsilon_0 \, \\
Y_i^{1\ast} &= \boldsymbol\beta_1 \cdot \mathbf{X}_i + \varepsilon_1 \,
\end{align}


where

: 
\begin{align}
\varepsilon_0 & \sim \operatorname{EV}_1(0,1) \\
\varepsilon_1 & \sim \operatorname{EV}_1(0,1)
\end{align}


where *EV*1(0,1) is a standard type-1 extreme value distribution: i.e.

:\Pr(\varepsilon_0=x) = \Pr(\varepsilon_1=x) = e^{-x} e^{-e^{-x}}

Then

:  Y_i = \begin{cases} 1 & \text{if }Y_i^{1\ast} > Y_i^{0\ast}, \\
0 &\text{otherwise.} \end{cases} 

이 모델은 종속변수의 가능한 각 결과값들에 대하여 별개의 잠재변수와 별도의 회귀 계수 집합을 가지고 있다. 이렇게 변수들을 분리하는 이유는, 로지스틱 회귀를 다항 로짓 모델에서처럼 다수-결과값의 범주적 변수들로 확장하기 쉽게 만들어 주기 때문이다. 이러한 모델에서는 서로 다른 회귀 계수들을 사용하여 가능한 각 결과값을 모델링하는게 당연하다. 각 별개의 잠재변수들을 관련된 선택을 하는데 있어 이론적인 효용(utility)으로서 의미를 부여하면, 효용 이론면에서 로지스틱 회귀를 일깨우는 것도 가능하다. (효용 이론면에서, 이성적인 수행자는 언제나 가장 큰 효용과 결부된 선택지를 고른다.) 이 접근법은 이론적으로 강력한 토대를 제공할뿐만 아니라, 모델에 대한 직관을 용이하게 하기 때문에 경제학자들이 이산 선택 모델을 공식화할 때 채택하는 방법이다. 바꿔 말하면, 다양한 종류의 확장들을 고려하기 쉽게 해준다.

제1형 극값 분포를 선택한 것은 상당히 임의적으로 보이지만, 이는 수학적 계산이 가능케 하고, 이성적 선택 이론을 통해 사용예들을 정당화할 수 있게끔 해준다.

이제는 두 벌의 회귀 계수들과 오차 변수들이 존재하고, 오차 변수가 다른 분포를 따르기 때문에 불분명해 보일 수도 있지만, 이 모델이 이전의 모델과 동등함이 밝혀져 있다. 사실은 다음의 치환을 통해 이 모델이 이전의 모델로 곧바로 축소된다.
:\boldsymbol\beta = \boldsymbol\beta_1 - \boldsymbol\beta_0
:\varepsilon = \varepsilon_1 - \varepsilon_0

이 치환에 대한 직관은 다음의 사실로부터 얻어진다. 두 값 중 최댓값을 기준으로 선택되기 때문에, 정확한 값들이 아닌 두 값의 차이만이 중요해진다&mdash;이로써 하나의 자유도가 실질적으로 제거된다. 또 다른 중요한 사실은 제1형 극값 분포 변수들의 차이가 로지스틱 분포라는 점이다. 즉, \varepsilon = \varepsilon_1 - \varepsilon_0 \sim \operatorname{Logistic}(0,1)  이라고 하면,

다음과 같이 동치를 증명할 수 있다:
:
\begin{align}
& \Pr(Y_i=1\mid\mathbf{X}_i) \\[4pt]
= {} & \Pr(Y_i^{1\ast} > Y_i^{0\ast}\mid\mathbf{X}_i) & \\
= {} & \Pr(Y_i^{1\ast} - Y_i^{0\ast} > 0\mid\mathbf{X}_i) & \\
= {} & \Pr(\boldsymbol\beta_1 \cdot \mathbf{X}_i + \varepsilon_1 - (\boldsymbol\beta_0 \cdot \mathbf{X}_i + \varepsilon_0) > 0) & \\
= {} & \Pr((\boldsymbol\beta_1 \cdot \mathbf{X}_i - \boldsymbol\beta_0 \cdot \mathbf{X}_i) + (\varepsilon_1 - \varepsilon_0) > 0) & \\
= {} & \Pr((\boldsymbol\beta_1 - \boldsymbol\beta_0) \cdot \mathbf{X}_i + (\varepsilon_1 - \varepsilon_0) > 0) & \\
= {} & \Pr((\boldsymbol\beta_1 - \boldsymbol\beta_0) \cdot \mathbf{X}_i + \varepsilon > 0) & & \text{(substitute }\varepsilon\text{ as above)} \\
= {} & \Pr(\boldsymbol\beta \cdot \mathbf{X}_i + \varepsilon > 0) & & \text{(substitute }\boldsymbol\beta\text{ as above)} \\
= {} & \Pr(\varepsilon > -\boldsymbol\beta \cdot \mathbf{X}_i) & & \text{(now, same as above model)}\\
= {} & \Pr(\varepsilon 

### 로그-선형 모델
또 다른 공식화는 바로 위의 이중 잠재변수 공식화와 더 위의 잠재변수가 없는 공식화를 결합한다. 그 과정에서 다항 로짓의 표준 공식화에 한 연결점을 제공한다.

여기서는 확률의 로짓 *p**i*를 선형 예측 변수로 쓰는 대신에, 각 두 결과값에 따라 선형 예측 변수를 둘로 분리한다:

: 
\begin{align}
\ln \Pr(Y_i=0) &= \boldsymbol\beta_0 \cdot \mathbf{X}_i - \ln Z \, \\
\ln \Pr(Y_i=1) &= \boldsymbol\beta_1 \cdot \mathbf{X}_i - \ln Z \, \\
\end{align}


이중 잠재변수 모델에서처럼 별도의 회귀 계수들이 쌍으로 도입되었고, 두 식의 마지막에 추가적으로 - ln Z 항과 함께 선형 예측 변수로서 관련된 확률이 로그 형태로 나타나 있음에 주목하자. 보다시피 이 항은 결과가 확률분포가 되도록 정규화 인자로서 작용한다. 이는 양변을 지수화함으로써 나타낼 수 있다:

: 
\begin{align}
\Pr(Y_i=0) &= \frac{1}{Z} e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} \, \\
\Pr(Y_i=1) &= \frac{1}{Z} e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i} \, \\
\end{align}


이런 형태에서 보면, *Z*의 용도가 실은 결과를 *Y**i*에 대한 확률분포(즉, 총합이 1)가 되도록 만드는 것임이 확실해진다. 이는 *Z*가 단순히 비정규화 확률의 총합이라는 것, 그리고 각 확률을 *Z*로 나누면 "정규화" 확률이 된다는 것을 의미한다. 다시 말해서:

: Z = e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}

그 결과 방정식들은

:
\begin{align}
\Pr(Y_i=0) &= \frac{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} \, \\
\Pr(Y_i=1) &= \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} \,
\end{align}


또는, 일반적으로

:\Pr(Y_i=c) = \frac{e^{\boldsymbol\beta_c \cdot \mathbf{X}_i}}{\sum_h e^{\boldsymbol\beta_h \cdot \mathbf{X}_i}}

위에서처럼 다항 로짓과 같은 둘 이상의 결과값에 대하여 일반화된 공식화를 보일 수 있다. 일반화된 공식화가 Softmax 함수와 정확히 일치함에 유의하자.

:\Pr(Y_i=c) = \operatorname{softmax}(c, \boldsymbol\beta_0 \cdot \mathbf{X}_i, \boldsymbol\beta_1 \cdot \mathbf{X}_i, \dots) .

이전 모델과 이 동치가 같음을 증명하기 위해, 바로 위 식에서 중복적으로 명시된 사항( \Pr(Y_i=0)와 \Pr(Y_i=1)는 서로 독립적이지 않다)을 이용하자: \Pr(Y_i=0) + \Pr(Y_i=1) = 1이므로 둘 중 하나만 알면 나머지 하나도 저절로 알 수 있다.  ***β***0, ***β***1의 복수 조합으로써 가능한 모든 설명변수들에 대하여 동일한 확률을 내놓기 때문에 결국 모델은 비식별적이다. 사실, 두 식에 아무런 상수 벡터를 더해도 같은 확률을 나타냄을 보일 수 있다:

:
\begin{align}
\Pr(Y_i=1) &= \frac{e^{(\boldsymbol\beta_1 +\mathbf{C}) \cdot \mathbf{X}_i}}{e^{(\boldsymbol\beta_0  +\mathbf{C})\cdot \mathbf{X}_i} + e^{(\boldsymbol\beta_1 +\mathbf{C}) \cdot \mathbf{X}_i}} \, \\
&= \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i} e^{\mathbf{C} \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} e^{\mathbf{C} \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i} e^{\mathbf{C} \cdot \mathbf{X}_i}} \, \\
&= \frac{e^{\mathbf{C} \cdot \mathbf{X}_i}e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}}{e^{\mathbf{C} \cdot \mathbf{X}_i}(e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i})} \, \\
&= \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} \, \\
\end{align}


결과적으로, 두 벡터 중 하나에 임의의 값을 선택함으로써 식별성을 복원하고, 문제를 간소화할 수 있다. \boldsymbol\beta_0 = \mathbf{0} 을 선택했다면,

:e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} = e^{\mathbf{0} \cdot \mathbf{X}_i} = 1

따라서

:
\Pr(Y_i=1) = \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}}{1 + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} = \frac{1}{1+e^{-\boldsymbol\beta_1 \cdot \mathbf{X}_i}} = p_i

이로써 이 공식화가 이전의 공식화와 동등함이 확실히 보여진다. (이중 잠재변수 모델에서 \boldsymbol\beta = \boldsymbol\beta_1 - \boldsymbol\beta_0로 설정함으로써 동등한 결과를 내놓기 때문)

## 모델 적합
모델 적합(fitting)에는 추정(estimation)과 추정의 결과를 평가(evaluation)하는 과정이 존재한다. 추정은 로지스틱 회귀를 통한 모델을 설정할 때 필요한 계수를 예측하기 위한 것이고 평가는 추정한 모델이 데이터에 적합한지 판단하기 위한 것이다.

### 추정
#### 최대가능도 방법
로지스틱 회귀의 계수 추정은 최대가능도 방법을 이용한다.

위의 로지스틱 함수를 바탕으로 가능도(likelihood)를 나타내면 아래 식으로 나타낼 수 있다.
편의를 위해 로지스틱 함수를
:p(y=1|x) = \theta(\beta\centerdot X_i)  라 하면,
가능도는
:Pr(Y_i=y_i|X_i) = p_i^{y_i}(1-p_i)^{1-y_i} = \theta(y\beta\centerdot X_i) 이 된다.

이 식을 바탕으로 전체 데이터에 대한 가능도를 표현하면 아래 식과 같다. 이 때 모든 데이터는 독립이어야 한다.
:p(Y|X) = \prod_{i=1}^N Pr(Y_i=y_i|X_i) (N: 전체 데이터 개수, &nbsp;y_i, x_i: 데이터 중의 각 항목)

이 식을 최대로 하는 계수 (위의 식에서 \beta) 을 찾으면, 모델 추정이 완료된다.

최댓값을 찾기 위한 식을 계산의 편의성을 위해 최솟값을 구하는 함수로 나타내기 위해선  함수 형태로 고치면 된다.
:Negative&nbsp;Log&nbsp;Likelihood: \mathrm{NLL} = \frac{1}{N}\log(Y|X) = \frac{1}{N}\sum_{i=1}^N \log\frac{1}{Pr(Y_i=y_i|X_i)} = -\frac{1}{N}\sum_{i=1}^N \theta(y_i\beta\centerdot X_i)

그리고 위의 식은 종속 변수 y의 범위가 [0,1] 사이이므로, 이를 다시 표현하면 아래와 같다.
:-\frac{1}{N}\sum_{i=1}^N \theta(y_i\beta\centerdot X_i) = -\frac{1}{N}\sum_{i=1}^N (y_i \log\frac{1}{\theta(\beta\centerdot X_i)}+ (1-y_i) \log\frac{1}{1-\theta(\beta\centerdot X_i)})

로지스틱 회귀에서는 위의 식을 최소화하는 닫힌 형태(closed-form expression)를 바로 구하는 것이 불가능하다.  그래서 반복 처리(iterative process)를 통해 계수를 추정하는데, 이 과정은 임의의 계수에서 시작하여 해당 계수를 반복적으로 수정해가면서 결과 모델이 개선되는지를 확인한다. 그리고 그 결과가 수렴할 때까지 모델의 개선을 반복함으로써 최종적으로 계수를 구할 수 있다.

하지만 특정 경우에는 모델이 수렴하지 않을 수도 있는데, 이는 반복 처리로써 적합한 해를 찾을 수 없기 때문으로 계수가 중요한 의미를 지니지 않음을 시사한다.  수렴에 실패하는 대표적인 이유로는 사건에 매우 큰 영향력을 미치는 예측변수의 사용, 다중 공선성(multicolinearity), 희소성(sparseness), 완분성(complete separation)들이 있다.

반복적으로 업데이트 하면서 지역적인 최솟값(local minimum)을 찾는 알고리즘 중 대표적인 방법으로는 경사 하강법(Gradient Descent)이 있고 해당 알고리즘의 코드는 아래와 같다.

\text{Want}\min_\theta\text{NLL :}
:\text{Repeat }\{
::\beta := \beta - \alpha \frac{\partial}{\partial \beta}\mathrm{NLL}
:\}

#### 집단 데이터의 최소 카이제곱 추정법
각각의 데이터는 매 관측마다 0 또는 1의 값을 가지는 종속변수를 지니는 반면, 집단 데이터는 하나의 관측에 대하여 집단 내에 공통적인 특성(예:인구학적 특성)을 공유한다. 이 경우, 그룹의 어느 특정한 비율이 응답 변수의 한 범주 또는 그 외로 나뉘는 현상이 관찰된다. 만약 이 비율이 0과 1이 아니라면, 최소 카이제곱 추정법은 가중 최소 제곱법(weighted least squares)을 수반하여 종속변수가 비율의 로짓으로 표현되는 선형모델을 추정한다.

### 평가
로지스틱 회귀의 평가에는 다양한 방법이 사용된다. 대표적인 방법으로는 가능도비 검정, Walt test, Pseudo-R2s, Hosmer-Lemeshow test가 존재한다.
#### 가능도비 검정
가능도비 검정은 두 개의 모형의 가능도비를 계산하여 두 모형의 가능도가 유의한 차이가 나는지 비교함으로써 로지스틱 회귀 분석에서 각 회귀 계수가 통계적으로 유의한지 검정하는 방법이다. '포화 모델(이론적으로 완벽히 들어맞는 모델)'을 구할 수 있다고 했을 때, 편차값은 주어진 모델과 포화 모델을 비교함으로써 계산된다.
:D=-2\ln \frac{\textrm{Likelihood}_\mathit{in}}{\textrm{Likelihood}_S} \quad (\textrm{Likelihood}_\mathit{in}:&nbsp;적합된 모델의 가능도, \textrm{Likelihood}_S:&nbsp;포화 모델의 가능도)

위 등식에서 는 편차값을 나타내고, 은 자연로그를 나타낸다. 가능도비에 자연로그를 취한 값은 음수이기 때문에 -2를 곱함으로써 근사적으로 카이제곱 분포를 따르게 만든다. 이 때 편차값이 작을수록 포화모델과 차이가 적은, 잘 맞춰진 분석모델임을 의미한다.

로지스틱 회귀에서 편차를 측정하기 위한 또 다른 중요한 측정값은 널편차와 모델 편차이다. 널편차는 예측 모형이 적용되지 않은, 즉, 예측 변수가 없는 모델과 포화 모델간의 차이를 말한다. 이 때, 널편차는 예측 변수 모델과 비교할 대상의 기준을 제공한다. 편차값을 주어진 모델과 포화 모델 사이의 차이라고 가정했을 때, 두 모델간의 편차가 작을수록 오차가 적은 분석 모델이다. 따라서 예측 변수들의 기여도를 평가하기 위해, 널 편차값에서 모델 편차값을 빼거나, 예측할 매개변수의 개수 차이를 자유도로 가지는 카이제곱 분포(\chi_\mathit{s-p}^2)로 나타낼 수 있다. 그리고 이를 기준으로 F-test를 수행함으로써 최종적으로 회귀 계수의 유의성을 판단할 수 있다.

:D_\mathit{null}=-2\ln\frac{\textrm{Likelihood of null model}}{\textrm{Likelihood}_S}
:D_\mathit{fitted}=-2\ln\frac{\textrm{Likelihood}_\mathit{in}}{\textrm{Likelihood}_S} 라고 하면,
:\begin{align}
D_\mathit{null}-D_\mathit{fitted} & =-2\ln\frac{\textrm{Likelihood of null model}}{\textrm{Likelihood}_S}-\left(-2\ln\frac{\textrm{Likelihood}_\mathit{in}}{\textrm{Likelihood}_S}\right) \\
& = -2\left(\ln\frac{\textrm{Likelihood}\ of\ null\ model}{\textrm{Likelihood}_S}-\ln\frac{\textrm{Likelihood}_\mathit{in}}{\textrm{Likelihood}_S}\right) \\
& = -2\ln\frac{\left(\frac{\textrm{Likelihood of null model}}{\textrm{Likelihood}_S}\right)}{\left(\frac{\textrm{Likelihood}_\mathit{in}}{\textrm{Likelihood}_S}\right)} \\
& = -2\ln\frac{\textrm{Likelihood of null model}}{\textrm{Likelihood}_\mathit{in}}
\end{align}

#### 의사-결정계수(Pseudo-)
은 결정계수라 불리는데, 종속변수의 분산 중 어느 정도 비율(%)이 독립변수에 의해 설명되는가를 나타내는 값으로 0.00 ~ 1.00 사이의 값을 갖는다. 1.00에 가까운 값이 나올수록 완벽한 관계에 가까워지는 것을 의미하고, 선형 회귀에서의 다중 상관계수의 제곱과 거의 유사한 지표이다. 이는 모델의 적합도를 평가하는데 쓰인다.

를 계산하는 방법은 통일되어 있지 않고 많은 방법이 존재하는데, 이들 중 대표적인 세 가지는 McFadden (1974)가 제안한 방법, Cox and Snell (1989)가 제안한 방법, 그리고 Cox and Snell 의 수정 버전이 존재한다.

McFadden이 제안한 은 의사-결정계수라고도 불리는데, 이는 다음과 같이 정의된다.
:R_L^2=\frac{D_\mathit{null}-D_\mathit{fitting}}{D_\mathit{fitting}}

이 공식은 &ldquo;잔차 분산(error variance)&rdquo;의 감소 비율(proportionate reduction)에 해당한다. pseudo-의 단점은 오즈비와 직접적으로(monotonically) 연관되어 있지 않다는 점이다. 즉, 오즈비가 증가한다고 해서 반드시 이 증가하거나, 오즈비가 감소한다고 해서 이 감소하지는 않는다는 것이다.

Cox and Snell이 제안한 는 다음과 같이 정의된다.
:R_\mathit{\mathrm{C\&S}}^2=1-\left(\frac\text{Likelihood of null model}\text{Likelihood of fitted model}\right)^{\frac 2 n}

이 공식은 선형 회귀 분석과 동일한 원리를 이용하는 것으로서, 선형 회귀 분석에서의 일반적인 이 이 공식에 의해 예측 변수가 없는 모델과 있는 모델의 가능도로 결정된다. 이것의 장점은 최대 가능도 추정을 하는 다른 종류의 회귀 분석(예시: count data에 대한 negative binomial regression)으로 확장될 수 있다는 것이다. 하지만 Cox and Snell이 제안한 결정계수는 최대 값이 1.0보다 작고, 특정 경우에는 1.0에 비해 상당히 작은 값이 될 수도 있다는 단점이 존재한다.

의사-결정계수가 Cox and Snell이 제안한 결정계수에 비해 조금 더 선호되는 경향이 있는데, 그 이유는 선형 회귀의 결정계수와 가장 유사하고, 기저율(base rate)에 독립적이기 때문이다. 또한 Cox and Snell이 제안한 과는 달리 이는 범위 [0,1]을 가진다.

의사-결정계수를 이용한 해석에서의 유의점은 선형분석에서의  해석과 다르다는 것이다. 로지스틱 회귀분석은 종속 변수가 범주형이므로 오차의 등분산성 가정이 만족되지 않고, 따라서 오차 분산이 예측된 확률에 따라 달라진다. 또한 로지스틱 회귀분석에서 은 대개 낮게 나오는 편이므로, 모델 평가에서 에 너무 의존할 필요는 없다.

## 응용
로지스틱 회귀는 의학 또는 소셜 분석을 포함한 다양한 분야에서 많이 사용된다. 일례로, 부상을 입은 환자들의 사망 예측을 위해 사용되는 Trauma and Injury Severity Score (TRISS)는 Boyd에 의해 로지스틱 회귀를 기반으로 개발되었다. 많은 다른 의학 척도 또한 환자의 심각성을 평가하기 위해 로지스틱 회귀를 이용해서 개발되었다. 로지스틱 회귀는 관찰된 환자의 특성(나이, 성별, 피검사 결과 등)을 기반으로 환자의 특정 병 감염 여부를 예측한다.

상수도 설계 시 어떤 도시의 장래 인구 추정에도 로지스틱 회귀가 쓰인다. 포화 인구를 K라 하고, a, b는 상수라고 할 때,

P_n=\frac{K}{1+e^{a-bn}}

상수 a, b는 다음으로 구한다.

P_n + P_n e^{a - bn} = K

P_n e^{a - bn} = K - P_n

\log P_n + (a - bn) \log e = \log (K - P_n)

\underbrace{ \log P_n - \log (K - P_n) }_{Y} = b \underbrace{ n \log e }_{X} - \underbrace{ a \log e }_{c}

최소자승법을 이용해 b, c 계산

b = \frac{n \Sigma XY - \Sigma X \Sigma Y}{n \Sigma X^2 - \Sigma X \Sigma X} 

c = \frac{\Sigma X \Sigma XY - \Sigma X^2 \Sigma Y}{n \Sigma X^2 - \Sigma X \Sigma X} 

c를 안다면 a 역시 구할 수 있다.

## 확장
확장된 로지스틱 회귀의 종류는 다양하다.
* 다항형 로지스틱 회귀(multinomial logistic regression)
* 순서형 로지스틱 회귀(ordred logistic regression)
* 혼합형 로지스틱 회귀(mixed logit)

## 같이 보기
* 프로빗 모형
* 시그모이드 함수

## 추가 문헌
* 
* 
* 
* 
* 
* 
* 

## 각주

분류:통계 이론
분류:회귀분석
분류:회귀 모형