들어가며
회귀분석을 하다보면 여러가지 이유로 변환(transformation)을 하게 된다. 가장 흔하게 하는 변환은 log 변환이다. 회귀분석의 좌변(종속변수)와 우변(독립변수)를 각기 log로 변환한다고 하면, 변환 유무에 따라서 네 가지 조합이 가능하다.
level | log | |
---|---|---|
level | yi=α+βxi+εi��=�+���+�� | yi=α+βlogxi+εi��=�+�log��+�� |
log | logyi=α+βxi+εilog��=�+���+�� | logyi=α+βlogxi+εilog��=�+�log��+�� |
level-level의 조합에서 β�는 x�의 한 단위 변화에 대한 y�의 변화 단위를 측정한다. 이하에서는 오해의 소지가 없는 이상 i� 인덱스 와 εi��은 생략하도록 하자.
log-level model
살짝 복잡하지만 log-level 모형부터 시작해보자. 계산 과정을 이해하는 데 도움이 된다.
logy=α+βxlog�=�+��
- y�에 붙은 로그를 제거한다. y=eα+βx�=��+��
- x�가 ΔxΔ� 만큼 변하면 그에 상응하여 y�가 ΔyΔ� 만큼 변한다고 하자. y+Δy=eα+β(x+Δx)=eα+βxeβΔx=y(eβΔx)�+Δ�=��+�(�+Δ�)=��+����Δ�=�(��Δ�)
- 양변을 y�로 나눈다. y+Δyy=1+Δyy=eβΔx�+Δ��=1+Δ��=��Δ�
종속변수에 log를 취했다면 x�의 ΔxΔ� 증가에 대한 y�의 % 변화율은 위와 같이 측정할 수 있다. 100×Δyy=(eβΔx−1)×100100×Δ��=(��Δ�−1)×100
근사치로 해석해보자. βΔx�Δ� 값이 크지 않다면 (대략 0.1이하), eβΔx≈1+βΔx��Δ�≈1+�Δ�에 따라서 대략 (βΔx×100)(�Δ�×100) % 변화로 간주해도 무방하다.
- 같은 취지로 식의 양변을 편미분해서 동일한 결과를 도출할 수 있다.
- dy/ydx��/���는 x�가 몹시 미세하게(infinitesimal) 변화할 때 dy/y��/�의 ‘순간’(instantaneous) 변화비율을 나타낸다. 만일 이를 %로 표시하고 싶다면, β×100�×100이 된다.
- 정리하자면, log-level model 에서 β� 는 x� 의 한 단위 변화에 대한 y� 의 변화율을 의미한다.
level-log model
y=α+βlogx�=�+�log�
- 앞서와 마찬가지로 ΔxΔ�, ΔyΔ�를 적어보자.
y+Δy=α+βlog(x+Δx)�+Δ�=�+�log(�+Δ�) - 양변에서 y�를 빼주면 아래와 같이 전개된다.
Δy=β(log(x+Δx)−logx)=βlog(1+Δxx)Δ�=�(log(�+Δ�)−log�)=�log(1+Δ��) - 만일 ΔxxΔ��의 값이 작다면, log(1+Δxx)≈Δxxlog(1+Δ��)≈Δ��를 사용할 수 있다. ΔxxΔ��를 %로 표현하고 싶다면 100을 곱하면 된다. 따라서 Δy≈β100(100×Δx/x)Δ�≈�100(100×Δ�/�) 라고 볼 수 있다.
- 같은 결과를 편미분을 통해 도출할 수 있다. 양변을 x�에 대해서 미분하면 dy=βdxx��=����
- 결국 x�가 1% 만큼 증가할 때 y� 는 β100�100 만큼 변한다는 것을 의미한다.
log-log model
logy=α+βlogxlog�=�+�log�
정확한 변화를 계산하는 것은 위의 두 과정을 합친 것과 비슷하니 각자 연습해보기 바란다! 혹시 어렵다면 아래 부록을 참고하기 바란다. 이 문제도 역시 편미분으로 접근하면 조금 이해가 쉽다. 모델에서 β�는 logylog�를 logxlog�에 대해서 편미분한 값과 같다. 즉,
β=dlogydlogx=(dy/y)×100(dx/x)×100�=�log��log�=(��/�)×100(��/�)×100
이때 β�는 x�의 미세한 % 변화율에 대한 y�의 % 변화율을 측정한다. 둘 다 % 변화로 표현되었기 때문에 단위에서 자유롭다. 경제학에서 흔히 “순간 탄력성”이라고 부르는 값이다. 즉, 가격의 미세한 x� % 변화에 대한 수요의 변화율을 측정한다. 경제학에서 log-log 변환이 유달리 많이 사용되는 이유는 이렇듯 경제적인 해석이 쉽기 때문이다.
주의 사항
변환을 이용하면 비선형적인 함수 관계를 선형으로 바꿔 다룰 수 있다. 그 대신 계수 해석에서는 몹시 조심해야 한다. 우선, %로 간편하게 근사치로 해석을 하려면 각 변화량이 크면 안된다. 근사치의 오차가 너무 큰 상황에서 근사치를 쓰면 안되는 것이다. 특히 주의해야 할 것이 더미변수다. 만일 설명 변수에 더미 변수가 들어 있고, 종속 변수가 로그 변환되어 있다면, 계수 값을 그대로 log-level 모델에 따라서 100×β100×�로 해석하면 곤란하다. 더미 변수는 질적 변수이고, 변수의 차이는 측정할 수 없다. 이 경우는 eβ−1��−1을 변화율로 따져야 한다.
사례
log-level 모형에서 더미 변수 해석
log(write)=β0+β1∗female+β2∗read+β3∗mathlog(write)=�0+�1∗female+�2∗read+�3∗math
이 회귀분석은 분석 대상이 된 표본 학생들의 쓰기 점수를 성별, 읽기 점수 그리고 수학 점수로 회귀한 결과이다. female 계수(1이면 여성, 0이면 남성)는 어떻게 해석해야 할까? 앞서 보았듯 더미 변수는 질적인 변수다. 따라서 계수에 100을 곱해 여자 성별이 11.4% 더 높은 점수를 준다고 해석해서는 곤란하다. e0.114718=1.12�0.114718=1.12의 결과에 따라서 약 12% 정도 더 높은 점수를 준다고 보는 것이 맞다. 다른 계수들은 어떨까? 다른 변수은 모두 연속 함수이고 계수 값들이 크지 않음을 알 수 있다. 따라서 근사 값로 해석하는 것이 가능하다. 즉, 읽기 점수가 1% 증가하면 글쓰기 점수는 약 0.66% 정도 증가한다.
level-log 모형에서 변수 해석
write=β0+β1∗female+β2∗logread+β3∗logmathwrite=�0+�1∗female+�2∗logread+�3∗logmath
logreadlogread의 계수는 어떻게 해석해야 할까? read 값은 연속 값이므로 1%의 작은 값을 취하는 것이 가능하다. 따라서 근사 값으로 해석해도 무방하다. 앞서 보았 듯 read 값의 1% 증가는 β×0.01�×0.01 만큼의 효과를 종속 변수에 준다. 종속 변수는 level이라는 점을 확인해두자. 즉,read 값이 1% 증가하면 쓰기 점수가 약 0.17 만큼의 증가한다.
log-log 모형에서 변수 해석
logwrite=β0+β1∗female+β2∗logmath+β3∗readlogwrite=�0+�1∗female+�2∗logmath+�3∗read
β2�2는 어떻게 해석해야 할까? 근사 값로 해석하면 된다. 수학 점수 1% 상승은 쓰기 점수 0.4% 상승을 가져온다.
(부록) log-log 계산
y+Δy=eα+βlog(x+Δx)1+Δyy=eβlog(1+Δxx)�+Δ�=��+�log(�+Δ�)1+Δ��=��log(1+Δ��)
양변에 로그를 취하면,
log(1+Δyy)=βlog(1+Δxx)log(1+Δ��)=�log(1+Δ��)
만일 ΔyyΔ��, ΔxxΔ��가 충분히 작다면, Δyy≈βΔxx