본문 바로가기
1️⃣ AI•DS/⚾ 계량경제•통계

계량경제학 강의_한치록_특수주제들 17장

by isdawell 2023. 5. 25.
728x90

 

 

👀 계량경제학 개인 공부용 포스트 글입니다. 

 

 

 

 

 

 

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 참고하기 

 

 

728x90

댓글