👀 계량경제학 개인 공부용 포스트 글입니다.
17. 이항반응모형
① 선형확률모형
• 종속변수가 이진적인 경우 예시 : 종교여부 = β0 + β1•여성 + β2•log(소득) + u
↪ u는 오차항으로서 설명변수들이 주어졌을 때 0평균을 갖는다 하자
↪ E(u|여성, 소득) = 0 이라고 가정하자
• 어떤 변수가 0 또는 1의 값을 가질 때 이 변수의 평균은 변수가 1의 값을 가질 확률과 동일하다.
↪ E(y) = p(y=1)
↪ P(종교여부 = 1 | 여성,소득) = β0 + β1•여성 + β2•log(소득) + u
↪ β1 : 여성이 종교를 가질 확률과 소득이 동일한 남성이 종교를 가질 확률의 차이
↪ β2 : 동일한 성별에서 소득이 1% 높을 때 종교를 가질 확률(%) 이 평균 얼마만큼 증가하는지를 측정한다.
• 선형확률모형 (Linear Probability Model) : 확률을 선형모형으로 나타낸 모델
↪ u의 분산 : p•(1-p) 으로 설명변수 x값에 의존한다. 따라서 LPM 의 오차는 반드시 이분산적이다. 따라서 OLS 를 사용하려면 반드시 이분산에 견고한 표준오차를 사용해야 한다. GLS 가 더 효율적인 방법으로, FGLS 를 사용하기 위해선 가중치를 1/[p•(1-p)] 로 삼아 WLS 를 하면 된다.
df$phat <- fitted(ols) # ols 는 기존 모델 lm fitting 결과
lm(model, data = df, weights = 1/(phat*(1-phat)))
↪ 그러나 이때, R이 실행을 거부할 때가 있다. phat 이 음수를 가져 (왜냐하면 여기서 LPM 을 적용했기 때문에, 개념적으로 확률값이나 음수값이 나올 수 있음) 가중치가 음수가 나오기 때문이다. 이처럼 LPM 을 FGLS 로써 추정할 때 이러한 문제점이 있을 수 있음을 염두해야 한다. LPM 은 이러한 태생적인 문제를 안고 있지만 실증 분석에서 자주 LPM 을 OLS 로 추정한다. 계산이 쉽고 해석이 쉽기 때문이다.
② 일반화된 선형모형
• 위에서 p_x = E(y|X) 가 모수들의 선형함수라고 가정하였다. 그러나 p_x를 확률로 정의하였기 때문에 적당한 변형이 필요하다. p_x 의 어떤 변환이 모수들의 대표적으로 로짓모형, 프로빗모형 등이 있다.
• 로짓모형 (logit)
↪ p 를 log(p/(1-p)) 로 변환하는 함수이다.
• 프로빗모형 (probit)
↪ 표준정규분포의 CDF 의 역함수를 사용할 수 있다.
• 로짓모형과 프로빗 모형에는 실질적인 차이가 있다. 그러나 두 함수의 적용 결과가 유사하게 도출될 수도 있다. 로짓모형과 프로빗 모형에서 사용하는 분포는 모두 0을 중심으로 대칭이다.
※ 계수 추정값의 규모를 제외하면, 로짓과 프로빗은 사실상 매우 유사하다고 보아도 좋다.
glm(y~x, family = binomial(link="logit"))
glm(y~x, family = binomial(link="probit"))
• 추정된 회귀계수 해석 : 해당 설명변수가 1단위 증가할 때 종속변수가 1이 될 확률의 로짓값이 β 만큼 감소(β값이 음수라면) or 증가(β값이 양수라면) 하는 것이라고 해석할 수 있다. 보통 로짓값의 증가분이라는 것은 직관적이지 않으므로 확률 변화분으로 바꾸어서 설명하는 것이 좋다.
③ 이항반응모형의 맞춘값
• 확률의 예측값
predict(logit, type = "response")
• 0 또는 1의 값을 갖도록 변형
as.numeric(phat > 0.5)
④ 잠재변수 모형과 최우추정
• 가령 기혼자가 직장에서 일을 할지 말지 결정하는 것을 생각해볼 때, 효용을 고려한다고 해보자. 학력, 경력, 배우자의 소득, 해당 지역의 일자리 개수 등 관측가능한 요소와 관측 불가 요소들로 이루어져 있을 때, 일할 때의 효용을 효용a, 하지 않을 때의 효용을 효용b 이라고 하자. 이때 선형 모형으로 표현될 수 있다. 이때 효용a > 효용b 이면 일을 할 것이고 효용a ≤ 효용b 이면 일을 하지 않을 것이다. 이때 (효용a - 효용b) 를 y* 이라고 두고 여기서 y=1 을 일을 할 때, y=0 을 일을 하지 않을 때라고 하면 y* 은 y 를 결정하는 잠재변수 (latent variable) 이라고 한다. 흔히 지시함수 (identification function) I() 를 사용해서 y = I( β0 + β1•x1 + ... + βk•xk + u > 0 ) 라고 나타낸다.
• 로지스틱분포로 할지, 정규분포로 할지, 다른 분포로 할지는 연구자가 정한다. 분포의 모양이 정해지면 오차의 표준편차는 가장 쉬운 값으로 선택한다.
• 잠재변수 모형에 최우추정법을 적용할 수 있다. 종속변소의 분포에 대한 가정으로부터 우도함수를 도출하고 이를 최대화한다.
⑤ 이항반응모형의 설명력
• 선형 모형에서 goodness of fit (모형 설명력) 의 지표로 R제곱을 사용한다. 이항반응모형에서는 적중률 (전체 중 정답) 을 사용할 수 있다. 이때 적중률을 R제곱과 동일하거나 유사한 것으로 생각하면 안된다.
• 이항반응모형에선 유사 R제곱 (pseudo R-squared) 을 사용한다. 이에 해당하는 수치를 구하는 여러 방법이 있으나 가장 쉬운 방법은 정답과 답안의 표본상관관계의 제곱을 구하는 것이다. y를 이항종속변수, p 를 확률 예측값이라 하면 cor(y,p)^2 로 유사 R제곱을 간단히 구할 수 있다. 유사R제곱의 수많은 버전이 존재한다.
• R에서 PseudoR2 명령을 이용하면 다양한 유사 R제곱 값들을 계산할 수 있다.
Logit <- glm(model, data = df, family = binomial(link="logit"))
PseudoR2(Logit, which = 'all')
↪ McFadden, Efron, Tjur 의 유사 R제곱 등 다양한 버전의 R제곱이 결과로 출력된다.
⑥ 계수 해석의 부분효과
• 설명변수 값이 변할 때 종속변수가 1이 될 확률이 반응하는 정도
• 이항반응모형 y = I(β0 + β1•x1+β2•x2 + u > 0) 을 생각해볼 때
↪ P(y=1 | x1,x2) = F(β0 + β1•x1+β2•x2) 이다.
↪ x2를 고정시킨 채 x1을 미세하게 변화시킬 때 y가 1의 값을 가질 확률 P(y=1|x1,x2) 가 어느정도로 증가하는지 살펴볼 때 다음과 같은 수식을 세워볼 수 있다.
∂P(y=1 | x1,x2) / ∂x1
↪ 위의 식을 x1이 P(y=1) 에 미치는 부분효과 (partial effect) 또는 한계효과 (marginal effect) 라 한다. 한계 또는 부분이라는 말이 붙은 것은 x2 의 값이 변하지 않은 채 x1만 변하기 때문이다. 가령 x1=1, x2= -1 일 때, 위의 수식 값이 0.12 라면, x1=1, x2= -1 에서 x2 값이 고정된 채 x1의 값이 미세하게 증가하면 이 사람의 y=1 일 확률은 x1 변화량의 약 0.12배만큼 증가한다고 해석해볼 수 있다.
• 추정결과를 보고할 때 한계효과들도 같이 보고해주면 좋다.
• 평균에서의 한계효과 : 한계효과들의 평균을 의미한다. 평균에서의 부분효과, 평균 부분효과라고도 한다. x1,x2 가 각각 표본평균값 (x1_bar, x2_bar) 일 때의 한계효과를 의미한다. 즉, 각 관측치별 설명변수 값에서의 한계효과들의 평균이다.
⑦ 복잡한 경우의 부분효과
• 만일 설명변수가 이산적 (ex.성별, 자녀의 수) 이거나 모형에 2차항 또는 복잡한 상호작용항이 존재하면 해석이 복잡하다.
⑴ 최소 변화단위가 큰 설명변수
• 나이나 자녀수처럼 미세하기 변화하기 보다는, 1씩 증가하는 변수는 미세하게 변화할 수 없다. 설명변수 값의 변화가 크면 미분에 의한 근사의 정확성이 크게 떨어질 수 있다. 따라서 이땐, 미분의 방법을 사용하기 보단 직접 확률 추정값을 비교하는 방법을 쓴다.
• 가령 나이가 현재보다 1세 증가할 때 종속변수가 1일 확률에 미치는 영향을 보고자 한다면, 표본 내 모든 사람들의 나이를 1세 증가시킨 후 P(y=1) 의 예측값을 구하는 방법을 사용해 볼 수 있다. (확률의 평균을 직접 계산해 비교)
⑵ 범주형 설명변수
• 성별, 업종, 종교처럼 숫자 크기 자체가 크게 의미없는 경우에는 한계효과들이 유용하지 않다.
• 따라서 표본 내 모든 사람들의 성별을 남성으로 설정해 구한 확률추정값들의 평균과 모든 사람들의 성별을 여성으로 설정해 구한 확률추정값들의 평균을 보여주고 그 차이를 계산하는 방법을 사용한다.
• 그러나 범주형 변수의 "평균" 이라는 것의 의미를 정확히 파악하기 어려워 사람들이 별로 관심을 갖진 않는다.
⑶ 2차항과 상호작용항
• 수식의 미분이 까다롭기 때문에, 컴퓨터를 이용해 수치적으로 계산하는 방법을 사용한다.
⑧ 표준오차와 신뢰구간
• 이항반응모형에서 표준오차를 구하는 방법은 summary(logit), coeftest(logit), vcov(logit) 을 출력해서 보면 된다.
• 반면, 한계효과들의 표준오차와 신뢰구간을 구할 수도 있는데, 이는 R 패키지의 margins 를 사용해 구해볼 수 있다.
library(margins)
summary(margins(Logit))
↪ 각 변수에 대한 AME, SE, z, p, 신뢰구간을 결과로 출력한다.
⑨ 통제집단과 처치집단 각각의 평균 부분효과
• αi = P(y=1 | x=xi, d=1) - P(y=1 | x=xi, d=0) : 처치효과
• 처치집단 (d=1) 에서의 평균 부분효과에 관심을 가진다. 이때 단순히 αi 의 추정값들을 di=1인 개체들에 대해서만 평균하면 된다. (책 코드 참고)
※ 책 예제 17.11 참고하기
'1️⃣ AI•DS > ⚾ 계량경제•통계' 카테고리의 다른 글
대체로 해롭지 않은 계량경제학 정리 - Part2 핵심 - 3장 (0) | 2023.06.26 |
---|---|
계량경제학 스터디 Lecture 8. Regression Discontinuity (0) | 2023.05.25 |
계량경제학 강의_한치록_내생적인 설명변수 16장 (1) | 2023.05.24 |
계량경제학 강의_한치록_내생적인 설명변수 15장 (0) | 2023.05.24 |
계량경제학 강의_한치록_가정의 현실화 14장 (0) | 2023.05.23 |
댓글