본문 바로가기

IT & AI/AI 지식

오즈비(Odds Ratio)와 로지스틱 회귀 분석 이해

by 빛나는해커 2024. 12. 10.

안녕하세요! 이번 글은 오즈비(Odds Ratio)와 관련된 내용을 다루어 보려고 합니다.

데이터 분석, 특히 로지스틱 회귀 분석(Logistic Regression)을 진행할 때 흔히 등장하는 개념인 오즈비는 사건의 발생 확률을 설명할 때 유용하게 사용된다. 
지금부터 오즈비와 로지스틱 회귀 분석의 기본 개념부터 계산 방법, 그리고 일반화 선형 모델(GLM)까지 다뤄보겠다.

1. 로짓(Logit) 함수와 로지스틱 회귀 분석

로짓 함수는 특정 사건이 발생할 확률을 모델링할 때 사용된다. 이는 단순히 0 또는 1의 값을 예측하는 것이 아니라, 해당 사건에 속할 확률을 결정한다.

로지스틱 회귀 분석은 주로 이진 변수(0 또는 1)를 종속 변수로 사용하며, 종속 변수와 독립 변수 간의 관계를 모델링할 때 많이 사용된다.

 

로지스틱 회귀 분석 코드 예시

from statsmodels.formula.api import logit

# 로지스틱 회귀 모델 생성 및 학습
model = logit("Survived ~ C(Gender) + SibSp + Parch + Fare", data=df).fit()

# 모델 요약 및 오즈비 계산
print(model.summary())
  • 오즈비 계산 방법: 오즈비는 독립 변수의 계수에 자연상수 e를 제곱하여 계산한다. 이때 np.exp() 함수를 사용해 손쉽게 계산할 수 있다.

2. 오즈(Odds)와 오즈비(Odds Ratio)

오즈(Odds)

오즈는 어떤 사건이 발생할 확률과 발생하지 않을 확률 간의 비율을 의미한다. 예를 들어, 어떤 사건이 발생할 확률이 20%라면, 발생하지 않을 확률은 80%가 된다. 이 경우, 오즈는 0.2/0.8 = 0.25가 된다. 이는 4배 차이라는 의미이다.

 

오즈비(Odds Ratio)

오즈비는 로지스틱 회귀 분석에서 독립 변수의 계수를 통해 산출하는 값이다. 오즈비는 독립 변수가 한 단위 증가할 때, 종속 변수(0 또는 1)가 1이 될 확률이 얼마나 변하는지를 나타낸다.

  • 오즈비 > 1: 독립 변수가 증가하면 종속 변수의 확률도 증가함.
  • 오즈비 < 1: 독립 변수가 증가하면 종속 변수의 확률이 감소함.

예시

변수명 계수 (Coefficient) 오즈비 (Odds Ratio) 해석
SibSp -0.3436 0.7 형제 자매, 배우자 수가 한 단위 증가할 때 생존의 오즈가 0.7배 감소
Fare 0.5 1.65 요금이 한 단위 증가할 때 생존 확률이 1.65배 증가

위 예시에서 SibSp의 오즈비가 0.7로 나왔다면, 형제 자매 수가 한 단위 증가할 때마다 생존 오즈가 0.7배로 감소하는 것으로 해석할 수 있다. 이때, 자연상수 e의 -0.3436 제곱으로 오즈비를 구할 수 있다.

 

오즈비 계산 코드

import numpy as np

# 오즈비 계산
odds_ratio = np.exp(-0.3436)
print(f"Odz비: {odds_ratio}")

3. GLM(Generalized Linear Model) 일반화 선형 모델

일반화 선형 모델(GLM) 선형 회귀 모델을 확장한 모델로, 종속 변수가 정규분포 외에 다른 분포를 따를 때도 적용할 수 있다. 예를 들어, 이항 분포나 포아송 분포 등이 있다. 특히 로지스틱 회귀 분석은 이항 분포를 따르는 종속 변수에 대해 사용되는 GLM이다.

 

GLM 예시 코드

from statsmodels.formula.api import glm
import statsmodels.api as sm

# glm 모델 적합
formula = "종속변수 ~ 독립변수"
model = glm(formula, data=df, family=sm.families.Binomial()).fit()

# 모델 요약
print(model.summary())

4. 오류율 계산

로지스틱 회귀 모델의 성능을 평가할 때는 오류율을 계산하기도 한다.

  • 오류율: 전체 샘플 중 잘못 분류된 샘플의 비율을 의미하며, 다음과 같은 식으로 계산한다.

오류율 공식

오류율이 작을수록 모델의 정확도가 높다는 의미가 된다.


5. 로지스틱 회귀 분석 과정 요약

아래 표는 로지스틱 회귀 분석을 진행하는 과정을 정리한 것이다. 각 단계에서 필요한 검정 방법과 설명을 함께 정리했다.

단계 설명 사용 함수
데이터 준비 독립 변수와 종속 변수를 정의 -
모델 학습 로지스틱 회귀 모델을 적합 logit()
오즈비 계산 독립 변수의 계수를 기반으로 오즈비 산출 np.exp(계수)
모델 평가 모델의 성능을 p-value, deviance 등으로 평가 model.summary()
오류율 계산 잘못 분류된 샘플의 비율을 계산 오류율=1−정확도

6. 정리 및 과정

오즈비 계산 및 로지스틱 회귀 분석 과정을 이해하기 쉽게 정리해보았다. 각 과정이 어떻게 연결되어 있는지 쉽게 파악할 수 있을 것이다.

  1. 데이터 준비: 데이터를 수집하고 독립 변수와 종속 변수를 정의한다.
  2. 모델 학습: 로지스틱 회귀 모델을 통해 독립 변수와 종속 변수 간의 관계를 학습시킨다.
  3. 오즈비 계산 및 모델 평가: 모델 학습 후 계수를 바탕으로 오즈비를 산출하고, 모델의 유의성을 확인한다.
  4. 오류율 계산: 모델의 정확도를 평가하고, 오류율을 계산한다.

혹시 이해가 어려우시다면, 이전 글을 먼저 참고해보시면 좋을 것 같습니다.

 

회귀 분석: 단순 선형 회귀 분석, 다중 선형 회귀 분석

안녕하세요! 이번 글은 독립 변수와 종속 변수 간의 관계를 모델링하고 예측하기 위해 사용하는 통계적 방법인 회귀 분석을 다뤄보았습니다.회귀 분석은 데이터의 패턴을 이해하고 예측을 수행

actshiny.com

 

분산 분석(ANOVA): 일원 분산 분석, 이원 분산 분석

안녕하세요! 저번 내용이었던 회귀 분석에 이어 이번에는 분산분석 즉, 일원 분산 분석과 이원 분산 분석에 대해 자세히 알아보려 합니다.분산 분석(ANOVA)은 여러 집단의 평균 차이가 통계적으로

actshiny.com

 

일원 분산 분석(One-way ANOVA)의 분석 절차

안녕하세요! 저번 글에서 분산 분석의 기본 개념과 종류에 대해 간략히 알아보았습니다. 이번에는 일원 분산 분석의 분석 절차에 대해 자세히 정리해보았습니다.데이터 분석에서는 여러 집단

actshiny.com

 

이원 분산 분석(Two-way ANOVA) 분석 절차

안녕하세요! 이번 글에서는 이원 분산 분석의 분석 절차에 대해 알아보겠습니다. 저번 글에서는 일원 분산 분석의 분산 절차를 알아보았는데요.이원 분산 분석은 두 개 이상의 요인이 종속 변수

actshiny.com

오즈비(Odds Ratio)와 로지스틱 회귀 분석 이해 소개 이미지

반응형