1. 로지스틱 회귀분석의 개념
1) 로지스틱 회귀분석
- 정의: 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단으로 나누어진 경우, 개별 관측치들이 어느 집단으로 분류될 수 있는가를 판단하는 분석 방법
분석방법 | 종속변수(y) | 독립변수(x) |
회귀분석 | 연속형 자료 | 범주형 자료 연속형 자료 |
로지스틱 회귀분석 | 범주형 자료 | |
* 범주형(질적) 자료(이산형 변수): 명목, 서열 척도 * 연속형 자료(양적 변수): 등간, 비율 척도 |
- 로지스틱 회귀분석은 종속변수에 범주형 데이터가 사용됨 -> 일종의 분류 기법으로 볼 수 있음(분석 결과, 데이터가 특정 분류로 나뉘기 때문)
2) 종류(종속변수의 범주에 따른 구분)
분석방법 | 종속변수의 개수 | 예 |
이항형 로지스틱 회귀 | 2개 | 성공, 실패 |
다항형 로지스틱 회귀 | 3개 이상 | 맑음, 흐림, 비 |
* 이항형 로지스틱 회귀분석: 2개의 종속변수 카테고리는 0과 1로 표현됨
예: 정치에 대한 관심도가 선거 참여에 미치는 영향에 대한 분석
# 정치에 대한 관심도(독립변수): 연속형
# 선거 참여(종속변수): 범주형(1: 참여, 0: 불참)
3) 로지스틱 회귀 모형: 독립변수가 [-∞, ∞]의 어느 숫자이든 상관 없이, 종속변수 또는 결과 값이 항상 범위 [0, 1] 사이에 있도록 하는 모형 => 오즈비를 로짓 변환함으로써 얻어 짐
계산식: g(x) = e^x / (1 + e^x)
* 오즈(Odds): 오즈가 클수록 데이터가 해당 집단에 속할 확률이 높음(p/(1-p))
(p: 데이터 각각이 어떤 집단에 속할 확률, 1-p: 해당 집단에 속하지 않을 확률)
* 로짓 변환: 오즈에 log를 취하는 것(입력값(독립변수)의 범위가 [-∞, ∞] 때, 출력값(종속변수)의 범위를 [0, 1]로 변환시켜 줌
4) 우도비 검정
- 정의: 최대 우도법을 사용한 검정 방법
회귀분석의 최소제곱법과 같이 회귀계수의 유의성(=모형의 적합도)을 검정하는데 사용되는 방법
두 개의 회귀 모형의 비를 계산해서, 두 모형의 우도가 유의한 차이를 보이는지 비교하는 검정 방법
회귀식 추정 방법 | |
선형 회귀분석 | 최소제곱법 |
로지스틱 회귀분석 | 최대우도법 |
- 확률: 모수로부터 특정 사건이 발생한 정도
- 우도: 현상에 대해 추출될 가능성이 가장 높은 모수
- 최대우도법: 우도가 가장 높은(주어진 독립변수들로부터 종속변수를 가장 잘 예측하는) 회귀식을 추정하는 방법
2. 로지스틱 회귀분석의 예시와 활용
1) 로지스틱 회귀분석 4단계
- 가설 설정
- 변수 범주화: 0과 1로 이진값 주기
- 모형 적합도 확인: x^2 우도비 검정
- 로지스틱 가설검정: 승산비(Odds), 유의확률
2) 로지스틱 회귀분석의 사용
- 로지스틱 회귀분석은 독립변수와 이진값(0, 1) 형태의 종속변수로 구성됨
- 목적: 독립변수와 종속변수의 관계를 찾음으로써, 새로운 독립변수의 집합이 주어졌을 때, 종속변수의 값을 예측할 수 있음
- 어떤 설명변수가 연구 결과에 영향을 미치는지 파악
- 특정 설명 변수값을 가진 경우, 연구 결과가 나타나게 될 확률 계산
- 독립변수들을 성격에 따라 특정 집단들로 분류
- 로지스틱 회귀 계수를 이용한 특정 설명(독립)변수의 승률비(odds) 계산
선형회귀분석 | 로지스틱 회귀분석 | |
목적 | 연속형 결과 변수값 예측 | 비연속형 결과범주 예측 |
추정 | 최소제곱법 | 최대 우도법 |
계수 유의성 검증 | z 또는 t 검증 | x^2 검증 |
변수 추가 기준과 검증 | R^2 변화량, F 검증 | -2Ln 변화량 검증 |
모형 설명 비율 검증 | F 검증 | x^2 검증 |
3) 사례
- 운전면허필기 공부시간, 도로주행 시간, 도로주행 비용(독립변수)이 운전면허시험 합격 여부(종속변수)에 영향을 미치는가?
- 유권자의 연령, 성별, 거주지역, 학력(독립변수)이 투표 여부(종속변수)에 영향을 미치는가?
- 흡연 유무, 주량, 키, 비만 정도(독립변수)가 특정한 폐암 발병 여부(종속변수)에 영향을 미치는가?
- 모형적합도 검정
... | 자유도 | 유의확률 | Exp(B) | |
x | ... | n-1 | 종속변수에 유의한 영향을 미치는지 | - 계수 로지스틱 회귀계수 B를 지수로 변환시킨 값 - 1 증가할 수록, 종속변수 확률이 Exp(B) 만큼 증가 |
3. R을 이용한 로지스틱 회귀분석
1) 데이터 입력(0=반응 없음, 1=반응 있음)
# 데이터를 입력
dose <- c(1, 1, 2, 2, 3, 3)
response <- c(0, 1, 0, 1, 0, 1)
count <- c(7, 3, 5, 5, 2, 8)
toxic <- data.frame(dose, response, count)
toxic
2) 'glm' 함수를 이용하여 회귀분석을 실시
* glm(종속변수~독립변수, weights, family, data)
- weights: 가중치
- family: 일반화 선형 모형에서 종속 변수가 어떤 분포를 따르고 있는지. 로지스틱 회귀분석에서 종속변수는 이항 변수이기 때문에, binomial 사용
# 'glm' 함수를 이용하여 회귀분석 실시
out = glm(response~dose, weights=count, family = binomial, data = toxic)
summary(out)
-> dose의 로지스틱 회귀계수 = 1.10, Exp(B) = exp(1.1) = 3.01
-> dose가 1 증가하면 반응성은 3.01배 증가
-> 유의확률: 0.03이므로 반응에 대해 유의성이 있다.
3) 모형에 대한 그래프를 그려, 시각적으로 분포 확인
* plot(종속변수~독립변수, data, type, main(title)): 그래프를 제외한 틀 제작
* curve(data): 그래프 출력
# 모형에 대한 그래프를 그려, 시각적으로 분포를 확인해 봄
plot(response~dose, data=toxic, type='n', main = 'Predicted Probability of Response')
curve(predict(out, data.frame(dose=x), type='resp'), add = TRUE)
'프로그래밍' 카테고리의 다른 글
[R] R을 이용한 군집분석 (0) | 2021.05.29 |
---|---|
[R] R을 이용한 예측분석 (0) | 2021.05.29 |
[R] R을 이용한 주성분분석 (0) | 2021.05.23 |
[R] R을 이용한 분산분석 (0) | 2021.05.23 |
[R] R을 이용한 회귀분석 (0) | 2021.05.17 |