선형 회귀 모델과 질적 변수
- 정의: 선형회귀 모델은 반응 변수 Y가 양적(quantitative)이라고 가정한다. 그러나 많은 경우, 반응 변수가 질적(qualitative)이다.
- 예시: 눈의 색깔은 파란색, 갈색 또는 녹색의 값을 가지는 질적 변수(categorical)이다.
분류와 회귀의 관계: 관측치에 대해 질적 반응 변수를 예측하는 것을 분류라고 한다. 이는 관측치를 범주 또는 클래스로 할당하는 과정이기 때문이다. 분류에 사용되는 방법(Logistic Regression)들은 질적 변수의 각 범주에 대한 확률을 예측하고, 이를 바탕으로 분류를 수행한다. 이런 의미에서 분류 방법은 회귀 방법처럼 동작할 수 있다.
4.1 분류의 개요
예시
- 응급실 환자의 의료 상태 분류
- 응급실에 오는 환자는 3가지 의료 상태 중 하나에 의한 증상들을 가지고 있다. 이 환자는 3가지 중 어느 상태에 해당하는가?
- 온라인 뱅킹 사기 거래 탐지
- 온라인 뱅킹 서비스는 사용자의 IP 주소, 과거 거래 이력 등을 바탕으로 현재 진행되고 있는 거래가 사기성인지를 결정해야 한다.
분류에서도 분류기를 구성하는 데 사용할 수 있는 훈련 관측치의 셋 $(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)$ 이 있다.
연간 소득과 월간 신용카드 대금을 바탕으로 어떤 개인이 신용카드 대금을 연체할 것인지를 예측하는 데 관심이 있다. 연체한 사람은 연체하지 않았던 사람들에 비해 신용카드 대금이 높은 경향이 있다. 오른쪽 패널의 두 쌍의 박스 도표를 보면 첫 번째는 2진 default 변수에 의해 구분되는 balance의 분포를, 그리고 두 번째는 income의 분포를 보여준다.
이 장에서는 임의로 주어진 balance $X_1$과 income $X_2$에 대해 default $Y$를 예측하는 모델을 구성하는 방법을 배운다. 그림 4.1에서 주목할 점은 설명 변수인 balance와 반응 변수인 default 사이에 매우 뚜렷한 상관관계가 있다는 것이다.
4.2 왜 선형회귀를 사용하지 않는가?
환자의 증상을 근거로 응급실에 와 있는 환자의 의료 상태를 예측한다고 해보자. 예시에서는 뇌졸중, 약물 과다 복용, 간질 발작의 세 가지 진단이 가능하다. 이 값들은 양적인 반응 변수 Y로 코딩(뇌졸중(Y=1), 약물 과다 복용(Y=2), 간질 발작(Y=3))할 수 있다.
이렇게 코딩하여, 선형 회귀 모델을 적합할 때 최소제곱법이 사용될 수 있다. 그러나 이 코딩 방식은 결과에 순서가 있다는 것을 전제로 한다. 즉, 약물 과다 복용은 뇌졸중과 간질 발작 사이에 놓이고, 뇌졸중과 약물 과다 복용 사이의 차이는 약물 과다 복용과 간질 발작 사이의 차이와 동일하다는 전제를 깔고 있다. 그러나 세 가지 의료 상태의 상관관계가 완전히 다르다는 것을 알기 때문에 이러한 코딩은 부적절할 수 있다.
결과적으로, 이러한 코딩에 따른 선형 모델은 근본적으로 다른 선형 모델이 만들어질 수 있어 결국 관측된 결과에 따라 예측이 크게 달라질 수 있다. 만약 반응 변수의 값들이 약한, 적당한, 심한과 같이 자연스럽게 순서가 있고 그 차이가 유사하다고 느껴진다면 1, 2, 3으로 코딩하는 것이 타당할 것이다.
- 설명 변수가 동일한 조건에서, 응답 변수가 2.5로 설정될 경우 결과 데이터에 대한 예측이 달라질 수 있습니다.
이를 고려해 질적 반응 변수가 뇌졸중(0)과 약물 과다 복용(1) 두 가지뿐이라고 하면, 가변수 방법을 사용하여 반응 변수를 코딩할 수 있다. 이후 이진 반응 변수에 선형 회귀를 적합하여 만약 $\hat Y$> 0.5이면 약물 과다 복용, 그렇지 않으면 뇌졸중으로 예측할 수 있다. 반응 변수가 이진(2-레벨)이면 뒤집어도 결과가 동일하다.
- 가변수 방법: 범주형 변수를 수치형 변수로 변환하는 방법이다.
- 결과가 동일하다: 두 경우 모두 동일한 임계값(0.5)을 사용하면 결국 같은 방식으로 결과를 예측한다.
만약 선형회귀를 사용하면 추정치 중 일부는 [0, 1] 범위밖에 놓일 수 있어 확률로 해석하기 어렵다. 이진 반응변수 예측을 위해 선형회귀를 사용하는 경우 얻게 되는 분류는 선형 판별분석의 결과와 동일하다.
4.3 로지스틱 회귀(Logistic Regressin)
로지스틱 회귀는 반응 변수 Y를 직접 모델링하지 않고, Y가 특정 범주에 속하는 확률을 모델링하는 방법이다. 예를 들어, Default 자료에서 로지스틱 회귀는 연체 확률을 예측하는 데 사용될 수 있다.
- 주어진 balance에 대한 연체 확률은 다음과 같이 표현할 수 있다: Pr(default = Yes | balance). 이를 간단히 p(balance)로 줄일 수 있으며, 이 값은 0과 1 사이의 범위를 가진다.
- 예를 들어, p(balance)>0.5인 경우, 해당 사람은 모두 "default = Yes"라고 예측할 수 있다.
- 연체 위험이 있는 사람을 예측하고자 한다면, p(balance)>0.1과 같은 낮은 임계치를 사용할 수도 있다.
4.3.1 로지스틱 모델
p(X) = Pr(Y = 1 | X)와 X 사이의 관계를 어떻게 모델링 하는가? (반응 변수는 0/1로 코딩한다.)
이러한 확률을 나타내는 데 선형회귀 모델은 다음과 같이 사용한다.
$p(X) = \beta_0+\beta_1X$ (4.1)
만약 balance를 사용하여 default = Yes를 예측하는 데 이 방식을 사용하면, 그림 4.2의 왼쪽 패널에 보였던 모델을 얻게 된다. 즉, 카드 대금이 매우 크면 예측 확률이 1보다 크고, 0에 가까우면 예측 확률이 음수가 된다. 연체 확률은 0과 1 사이에 있어야 하므로 이 예측은 적절하지 않다.
이 문제를 해결하기 위해서는 모든 X값에 대해 0과 1 사이의 값을 제공하는 함수를 사용해야 한다. 로지스틱 회귀에서 사용하는 함수는 다음과 같다:
$p(x)=\frac{e^{\beta_0+\beta_1X}}{1+e^{\beta_0+\beta_1X}}$ (4.2)
로지스틱 함수의 적합을 위해 최대가능도(Maximum Likelihood)라는 방법을 사용한다. 그림 4.2의 오른쪽 패널은 Default 자료에 대한 로지스틱 회귀 모델 적합을 보여준다. 카드 대금이 작을 경우 연체에 대한 확률은 0에 가까워지고, 큰 경우 연체 확률은 1에 가까워진다. 로지스틱 함수는 항상 S-형태를 가지므로 합리적인 예측이 가능하다.
로지스틱 함수는 다음과 같이 나타낼 수도 있다:
$ e^{\beta_0+\beta_1X}=\frac{p(X)}{1-p(X)}$ (4.3)
위 식은 공산(odds)이라 하며, 항상 0과 $\infty$ 사이의 값을 가진다. 공산이 0에 가까우면 연체 확률이 매우 낮고, $\infty$에 가까우면 연체 확률이 아주 높다는 것을 나타낸다.
- 공산(odds)
- 정의: 특정 사건이 발생할 확률과 발생하지 않을 확률
- 수식: $\frac{\text{일어날 확률}}{\text{일어나지 않을 확률}}$
예를 들어, 만약 p(X)=0.2이면 공산이 0.2/(1-0.2) = 1/4이므로 공산이 1/4인 5명 중 1명이 연체할 것이다. 전통적으로 공산은 적절한 베팅 전략(betting strategy)에 더 자연스럽게 관련되므로 경마에서 확률 대신 사용된다.
$\beta_0+\beta_1X=log(\frac{p(X)}{1-p(X)})$에서 우변을 로그 공산(log-odds) 또는 로직(logit)이라 한다. 로지스틱 회귀 모델은 $X$와 로직 사이의 관계가 선형적이다. 로그 공산을 취하는 이유는, 일반 공산이 0부터 양의 무한대까지의 값을 가지지만, 로그 변환을 통해 이를 더 쉽게 다룰 수 있는 형태로 변환할 수 있기 때문입니다. 로그 공산을 사용하면, 그 범위가 음의 무한대에서 양의 무한대까지 확장됩니다.
- "로지스틱 회귀"라는 이름이 붙는 이유는, 이 모델이 로그 오즈(Log-Odds)와 선형 회귀식이 결합된 형태로, 분류 문제를 다루면서도 회귀 모델의 특성을 가지기 때문입니다.
로지스틱 회귀모델에서 $X$의 한 유닛 증가는 로그 공산을 $\beta_1$만큼 변화시킨다. 이것은 공산에 $e^{\beta_1}$을 곱하는 것과 같다. 하지만 (4.2)의 $p(x)$와 $X$ 사이의 관계가 직선이 아니므로 $\beta_1$은 $X$의 한 유닛 증가와 관련된 $p(X)$의 변화와 일치하지 않는다. $X$의 한 유닛 변화에 의한 $p(X)$ 변화량은 $X$의 현재값에 따라 다를 것이다.
$X$ 값에 관계없이 $\beta_1$이 양수이면 $X$ 증가는 $p(X)$ 증가와 연관되고, $\beta_1$이 음수이면 $X$ 증가는 $p(X)$ 감소와 연관될 것이다.
4.3.2 회귀계수의 추정
- 정의: (4.2)의 계수 $\beta_0$과 $\beta_1$은 알려져 있지 않으며, 훈련 데이터에 기초하여 추정해야 한다. 모델 (4.4)를 적합하는 데 비선형 최소제곱을 사용할 수 있지만, 더 일반적인 방법인 최대가능도가 더 나은 통계적 성질 때문에 선호된다.
- 방법: 추정치 $\hat{\beta}_0$과 $\hat{\beta}_1$을 찾고자 하는데, 이 추정치는 주어진 (4.2)의 $p(X)$에 대입하여 연체했던 사람은 $1$에 가깝고, 연체를 하지 않았던 사람들에 대해서는 $0$에 가까운 값을 제공하는 값을 선택한다. 이러한 접근은 가능도함수(likelihood function)를 사용하여 나타낼 수 있다.
- 가능도: 주어진 모델이나 가정이 관측된 데이터를 얼마나 잘 설명하는지를 평가하는 척도이다.
$ \ell(\beta_0, \beta_1)= \prod_{i:y_i=1}^{}p(x_i) \prod_{i':y_{i'}=0}^{}(1-p(x_{i'}))$ (4.5)
- 설명: 최대가능도는 많은 비선형 모델을 적합하는 데 사용되는 일반적인 방식이다.
계수 | 표준오차 | Z-통계량 | p-값 | |
---|---|---|---|---|
절편 | -10.6513 | 0.3612 | -29.5 | < 0.0001 |
balance | 0.0055 | 0.0002 | 24.9 | < 0.0001 |
표 4.1: Default 자료에서 balance를 사용하여 default 확률을 예측하는 로지스틱 회귀모델의 추정된 계수.
표 4.1은 balance를 사용하여 default = Yes의 확률을 예측하기 위한 로지스틱 회귀모델을 Default 자료에 적합하여 얻은 계수 추정치와 관련된 정보를 보여준다. balance의 한 유닛 증가는 default의 로그 공산을 $0.0055$ 유닛만큼 증가시킨다.
- 계수 추정치의 정확도: 표준오차를 계산함으로써 추정할 수 있고, z-통계량은 t-통계량과 같은 역할을 한다. z-통계량의 큰 값은 귀무가설 $H_0: \beta_1=0$이 참일 가능성이 낮다는 증거를 나타낸다. 여기서 귀무가설은 $p(X) = e^{\beta_0}/(1+e^{\beta_0})$, 즉 default의 확률이 balance에 의존적이지 않다는 것을 시사한다.
- p-값: p-값이 작을수록 귀무가설을 기각할 수 있다. 다시 말하면, balance와 default의 확률은 정말로 상관되어 있다고 결론을 내릴 수 있다.
4.3.3 예측하기
표 4.1에 주어진 계수 추정치들을 사용하여 balance가 $1,000$달러인 사람의 연체확률을 예측해보자.
$\hat{p}(X) = \frac{e^{\hat{\beta}_0 + \hat{\beta}_1 X}}{1 + e^{\hat{\beta}_0 + \hat{\beta}_1 X}} = \frac{e^{-10.6513 + 0.0055 \times 1,000}}{1 + e^{-10.6513 + 0.0055 \times 1,000}} = 0.00576
$
결과는 $1$%도 되지 않는다. 반대로, 카드 대금이 $2,000$달러인 사람이 연체할 확률은 $58.6$%이다.
가변수 기법을 사용하여 질적 설명변수들을 로지스틱 회귀모델에 함께 사용할 수 있다. 예를 들어, Default 자료는 질적 변수 student를 포함한다. 모델 적합을 위해, 학생인 경우 $1$, 그렇지 않은 경우 $0$의 값을 가지는 가변수를 하나 만든다. 학생인지의 여부에 따라 연체확률을 예측하는 회귀모델은 표 4.2와 같이 나타날 수 있다.
계수 | 표준오차 | z-통계량 | p-값 | |
---|---|---|---|---|
절편 | -3.5041 | 0.0707 | -49.55 | < 0.0001 |
student[Yes] | 0.4049 | 0.1150 | 3.52 | < 0.0004 |
표 4.2: Default 자료에서 학생인지의 여부에 따라 default 확률을 에측하는 로지스틱 회귀모델의 추정된 계수. 학생인지의 여부는 학생이면 1, 아니면 0의 값을 갖는 가변수로 코딩된다.
가변수 연관된 계수는 양수이고 관련된 p-값은 통계적으로 유의미하다. 이는 학생의 연체 확률이 학생이 아닌 경우보다 더 높은 경향이 있음을 나타낸다.
$\hat{pr}(default=Yes|student=Yes) = \frac{e^{-3.5041+0.4049*1}}{1+e^{-3.5041+0.4049*1}}=0.0431$
$\hat{pr}(default=Yes|student=Yes) = \frac{e^{-3.5041+0.4049*0}}{1+e^{-3.5041+0.4049*0}}=0.0292$
4.3.4 다중로지스틱 회귀
여러 설명 변수를 사용하여 이진 반응 변수의 값을 예측하는 문제를 고려해 보자. 이 관계는 다음과 같이 표현할 수 있다.
$\log \left(\frac{p(X)}{1-p(X)}\right) = \beta_0 + \beta_1X_1 + \cdots + \beta_pX_p
$ (4.6)
여기서, $X = (X_1, \dots, X_p)$는 p개의 설명 변수로 이루어진 집합을 나타낸다. 식 (4.6)은 아래와 같이 다시 쓸 수 있다.
$p(x)=\frac{e^{\beta_0+\beta_1X_1+\dots+\beta_pX_p}}{1+e^{\beta_0+\beta_1X_1+\dots+\beta_pX_p}}$ (4.7)
이때, 계수는 최대 가능도 방법을 사용하여 추정한다.
계수 | 표준오차 | z-통계량 | p-값 | |
---|---|---|---|---|
절편 | -10.8690 | 0.4923 | -22.08 | < 0.0001 |
balance | 0.0057 | 0.0002 | 24.74 | < 0.0001 |
income | 0.0030 | 0.0082 | 0.37 | 0.7115 |
student[Yes] | -0.6468 | 0.2362 | -2.74 | 0.0062 |
표 4.3: Default 자료에서 balance, income, 학생인지 여부를 사용하여 default 확률을 예측하는 로지스틱 회귀모델의 추정된 계수.
표 4.3은 balance, Income, student를 사용하여 default 확률을 예측하는 로지스틱 회귀모델에 대한 계수 추정치를 보여준다. 가변수와 관련된 p-값은 매우 작다. 이것은 이들 변수 각각이 default 확률과 상관성이 있다는 것을 나타낸다.
가변수에 대한 계수는 음수로 학생들은 학생이 아닌 사람들에 비해 덜 연체하는 경향이 있다. 이에 반해, 표 4.2에 보여준 가변수에 대한 계수는 양수이다.
그림 4.3의 왼쪽 패널은 이러한 명백히 엇갈려 보이는 상황을 그래프로 보여준다. 오렌지색과 파란색 실선들은 학생과 학생이 아닌 사람들에 대한 평균 연체율을 카드 대금에 대한 함수로 각각 나타낸다. 다중 로지스틱 회귀에서 student에 대한 음의 계수는 balance와 income이 고정된 값인 경우 학생은 학생이 아닌 사람보다 연체할 가능성이 작다는 것을 나타낸다. 학생의 연체율은 학생이 아닌 사람의 연체율보다 작거나 같다.
그래프의 아랫부분 근처에 수평 파선은 balance와 income의 모든 값에 대해 평균한 학생과 학생이 아닌 사람의 연체율을 보여주는데, 즉 학생에 대한 전체 연체율이 학생이 아닌 사람의 연체율보다 더 높다는 것을 시사한다. 그 결과 표 4.2의 student에 대한 계수는 양수이다.
그림 4.3의 오른쪽 패널은 이러한 차이를 설명해 준다. 변수 student와 balance는 상관되어 있다. 학생들은 높은 수준으로 부채가 있는 경향이 있는데, 이것은 높은 연체율과 관련된다. 동일한 주어진 카드 대금에 대해 개별 학생은 학생이 아닌 사람보다 연체율이 낮은 경향이 있지만, 학생 전체적으로 지불해야 할 카드 대금이 더 높은 경향이 있어 학생들이 학생이 아닌 사람들보다 더 높은 연체율이 있다.
만약 학생의 신용카드 대금에 대한 정보가 없다면 학생이 학생이 아닌 사람보다 더 연체율이 높다. 하지만 지불해야 할 카드 대금이 같은 경우 학생은 학생이 아닌 사람보다 연체율이 낮다.
하나의 설명변수를 사용하여 얻은 결과는 다수의 설명변수를 사용하여 얻은 결과와 상당히 다를 수 있다. (특히 상관성이 있는 경우) 일반적으로 그림 4.3에서 보여준 현상은 교락(confounding)이라고 알려져 있다. 표 4.3의 회귀계수 추정치를 (4.7)에 대입하여 연체율을 예측할 수 있다. 예를 들어, 신용카드 대금이 $1,500$달러이고 소득이 $40,000$달러인 학생의 연체 확률 추정은 다음과 같다.
$\hat{p}(X) = \frac{e^{-10.869 + 0.00574 \times 1500 + 0.003 \times 40 - 0.6468 \times 1}}{1 + e^{-10.869 + 0.00574 \times 1500 + 0.003 \times 40 - 0.6468 \times 1}} = 0.058$
$\hat{p}(X) = \frac{e^{-10.869 + 0.00574 \times 1,500 + 0.003 \times 40 - 0.6468 \times 0}}{1 + e^{-10.869 + 0.00574 \times 1,500 + 0.003 \times 40 - 0.6468 \times 0}} = 0.105$
연체율은 앞의 결과와 크게 다르다.
- 혼재변수(Confounding Variable): 독립 변수와 종속 변수 모두에 영향을 주는 변수
4.3.5 반응 변수의 클래스가 2개 보다 많은 로지스틱 회귀
클래스의 수가 2보다 많은 반응 변수를 분류해야 하는 경우가 있다. 앞에서 다룬 응급실 환자의 의료 상태는 뇌졸중, 약물 과다 복용, 간질 발작의 세 가지 범주였다. 간질 발작에 대해 구해보면 Pr(Y = 간질 발작|X) = 1 - Pr(Y = 뇌졸중|X) - Pr(Y=약물 과다복용|X)이다.
앞 절에서 살펴본 2-클래스 로지스틱 회귀 모델들은 다중 클래스 모델로 확장이 되지만 실제로는 자주 사용되지 않는다. 사용되지 않는 이유 중 하나는 판별 분석(discriminant analysis) 방법이 다중 클래스 분류에 일반적으로 사용되기 때문이다.
'AI > ISLR' 카테고리의 다른 글
Chapter02. 통계학습(Statistical Learning) - 이론 (12) | 2024.09.07 |
---|---|
Chapter01. 도입(introduction) (7) | 2024.09.06 |
Chapter 05. 재표본추출 방법(Resampling Methods) - 이론 (6) | 2024.09.03 |
Chapter 04. 분류(Classification) - 실습 (9) | 2024.09.02 |
Chapter 04. 분류(Classification) - 이론 2 (6) | 2024.08.28 |
댓글