-
[데이터 분석] 로그변환을 "변화율, 성장률"로 해석하는 이유Data Science/데이터 분석, ML 2020. 9. 18. 16:17반응형
0. 들어가는 글
회귀분석을 다루는 교과 과정이나 시험에서 꼭 빠지지 않는 문제가 있습니다.
바로 최소제곱법으로 추정한 계수의 의미해석입니다.
일반적인 교재에서 따로 한 챕터를 할애하여 계수의 해석을 설명할 만큼, 비중이 꽤 큰 편입니다.
그만큼 설명이 필요하고, 중요하다는 의미겠지요.
그 중에서 특히 로그변환이 들어간 경우, 해석이 참 쉽지 않습니다.
변수에 로그변환을 한 경우는 크게 4가지가 있습니다.
이 4가지 경우에 따라 해석하는 방법부터 정리하면 아래 표와 같습니다.종속변수 $Y$ 설명변수 $X$ $\hat{\beta}$의 의미 로그변환을 하지 않음 : $Y$ 로그변환을 하지 않음 : $X$ $X$가 1단위 변할 때 $Y$의 변화량 로그변환을 하지 않음 : $Y$ 로그변환을 함 : $lnX$ $X$가 100% 변할 때 $Y$의 변화량 로그변환을 함 : $lnY$ 로그변환을 하지 않음 : $X$ $X$가 1단위 변활 때 $Y$의 변화율 로그변환을 함 : $lnY$ 로그변환을 함 : $lnX$ $X$가 100% 변할 때 $Y$의 변화율 눈치채셨겠지만, 로그변환이 된 쪽을 100%라고 읽어주면 됩니다.
그렇다면 왜 100%라고 읽어주어야 할까요?
1. 기울기의 의미
우선은 아래와 같은 일반적인 선형식이 있다고 해보겠습니다.
$$ \begin{align} Y = \alpha + \beta X + u \tag{1} \end{align}$$
만약 $X$가 $X+\triangle X$로 변한다면 $Y$도 변할 거에요.
이 때 $Y$의 변화량을 $\triangle Y$라고 부르겠습니다.
그렇다면 $Y$는 $Y + \triangle Y$라고 변하게 되고, 식으로 정리하면 식(2)가 됩니다.
$$ \begin{align} Y + \triangle Y = \alpha + \beta (X + \triangle X) + u \tag{2} \end{align} $$
이제 식 (2)와 식 (1)을 빼주면 아래처럼 식 (3)이 됩니다.
$$ \begin{align} (Y+\triangle Y) - Y = (\alpha + \beta X + u) - (\alpha + \beta(X + \triangle X) + u) \tag{3} \\[15pt]
\therefore \quad \triangle Y = \beta \triangle X \end{align}$$
자, 이제 $\triangle X$가 1이라고 해볼게요. 그러면 $\triangle Y = \beta $가 됩니다.
$\triangle X$는 $X$의 변화량을 의미하니까, 이렇게 말할 수 있습니다.$X$가 1 변할 때, $Y$의 변화량 ($=\triangle Y$)은 $\beta$이다.
현실에서는 '1'이 의미하는 단위가 있을 겁니다.
1억원이 될 수도 있고, 1천원이 될 수도 있고, 1만명이 될 수도 있지요.
마찬가지로 $\beta$에도 단위가 있을 거에요.
아직 그 단위를 잘 모르니까, 일반적인 형태로 남겨두겠습니다.
그러면 아래와 같이 쓸 수 있습니다.$X$가 1단위 변할 때, $Y$의 변화량 ($=\triangle Y$)은 $\beta$단위이다.
$\leftrightarrow $ $X$가 1단위 변할 때, $Y$는 $\beta$단위만큼 변한다.
2. 로그변환을 변화율로 해석하는 이유
변화율로 해석하는 이유를 알기 위해서는 두 가지만 알고 계시면 됩니다.
첫번째는 기울기의 정의입니다.
다시 앞에 선형식을 가져와 보겠습니다.
$$ \begin{align} \quad Y = \alpha + \beta X + u \tag{1} \end{align} $$
이 때 $\beta$는 $X$의 기울기이죠.
기울기는 "증가분 분의 증가분"의 형태로 정의합니다.
따라서 $\beta$는 다음과 같이 정의할 수 있습니다.(편의상 $\partial$ 대신 $\triangle$로 쓰겠습니다.)
$$ \beta = \frac {\triangle Y} {\triangle X} $$
그리고 두번째로 알아야 할 것은 $lnX$를 미분하면 $\frac{1}{X}$가 나온다는 점이다. 다음 식(4)를 기억해두셔야 합니다.
$$ \frac{d}{dx}lnX = \frac{1}{X}\tag{4}$$
자, 이제 로그변환을 변화율로 해석하는 이유를 알기 위해 한 단계씩 시작해보겠습니다.
[1] 우선 선형식을 다시 불러 오겠습니다.
편의상 $X$에만 로그를 씌웠다고 해보겠습니다.
그렇다면 우리는 다음과 같은 선형식을 가정하고 있는 셈입니다.
$$ Y = \alpha + \beta lnX + u \tag{5}$$
이 식을 대상으로 추정을 해보려고 하는 겁니다.
[2] 기울기 $\beta$를 정의해보겠습니다.
앞서 살펴본대로 기울기 $\beta$는 '증가분 분의 증가분'의 형태로 정의할 수 있어요.
다만 이번에는 $X$ 자리에 $lnX$가 들어가 있습니다.
그러므로 우리가 가정한 식(5)에 맞게 기울기 $\beta$의 정의를 써주면 아래와 같습니다.
$$ \beta = \frac{\triangle Y } {\triangle ln X}$$
[3] $\triangle ln X$의 정체를 살펴보겠습니다.
앞서 알아야 할 점 중에 $lnX$를 미분하면 $\frac{1}{X}$라고 말했습니다.
식(4)를 다시 불러와보겠습니다
$$ \frac{d}{dX} lnX= \frac{1}{X} \tag{4}$$좌변을 정의에 맞게 다시 써보면, 식(6)과 같습니다.
$$ \begin{align} \lim_{\triangle X \to 0}\frac {\triangle lnX}{\triangle X} = \frac{d}{dX}lnX \tag{6} \end{align}$$
따라서 아래와 같이 써볼 수도 있습니다.
$$ \begin{align} & \; \frac {\triangle lnX}{\triangle X} \approx \frac{d}{dX}lnX = \frac{1}{X} \\[15pt]
\Longleftrightarrow & \; \frac {\triangle lnX}{\triangle X} \approx \frac{1}{X} \\[15pt]
\Longleftrightarrow & \; \triangle lnX \approx \frac{\triangle X}{X} \qquad if \, \triangle X \, is \, small && \end{align}$$
여기서 $\frac{\triangle X}{X}$은 원래 값($X$)과 변화량($\triangle X$)의 비율을 말합니다.
즉 변화율을 말합니다.
따라서 $\triangle X$가 충분히 작을 때, $\triangle lnX$는 $X$의 '변화율'과 같습니다.
주의할 점은 $lnX$의 변화율이 아니라, $X$의 변화율이라는 점입니다.
[4] 계수 해석을 다시 해봅니다.
우리는 $Y = \alpha + \beta X + u $라는 식에서 $\beta$를 아래와 같이 해석했습니다.$X$가 1 변할 때, $Y$의 변화량 ($=\triangle Y$)은 $\beta$이다.
이번에 세운 식은 $X$ 자리에 $lnX$가 들어가 있죠?
계수를 해석하는 원칙은 같으니까 해석에서도 $X$자리를 $lnX$로 바꿔 봅시다.$lnX$가 1 변할 때, $Y$의 변화량 ($=\triangle Y$)은 $\beta$이다.
$\triangle X$가 1일 때 우리는 $X$가 1 변했다고 읽었듯이,
$lnX$가 '1' 변한다는 의미는, $\triangle ln X$가 1이라는 뜻이 됩니다.
그리고 $\triangle ln X$가 1이라는 의미는, $\frac{\triangle X} {X}$가 1이라는 의미이지요.
즉 $X$의 변화율이 1이니까, 백분율 표기로 100%라고 쓸 수 있습니다.($\frac{\triangle X}{X} = 1 = 100%$
따라서, 계수해석을 해보면 아래와 같아요.$lnX$가 1 변할 때, $Y$의 변화량 ($=\triangle Y$)은 $\beta$이다.
$\leftrightarrow$ $X$가 100% 변할 때, $Y$의 변화량은 $\beta$이다.
참고로 일반적으로는 $X$가 10% 변했다고 보고 계수해석을 하고는 합니다.
$X$가 100%나 변한다는 건, 2배가 되거나 0이 된다는 의미인데 너무 편차가 커보이니까요.
$X$가 10% 변했을 때 $Y$의 변화량은 $0.1 * \beta$입니다.
어떻게 도출하는지는 직접 유도해보시기 바랍니다.귀찮아서 이러는 거 아닙니다
3. 해석할 때 이런 실수는 조심하세요.
위의 해석방법은 $\triangle X$가 충분히 작을 때에만 성립합니다.
$\triangle X$의 값이 클수록 변화율을 직접 계산해본 값과의 차이는 커집니다.
그리고 이건 제가 한 실수인데,
$\triangle X$가 작아야 잘 맞는다는 의미가 $X$도 작아야 한다는 의미는 아니에요.
식으로 쓰면 헷갈리는 경우가 종종 있으니 유의하세요!반응형'Data Science > 데이터 분석, ML' 카테고리의 다른 글
[ML] 릿지Ridge, 라쏘LASSO를 배울 때 나오는 그래프는 뭘까 (0) 2022.05.02 [ML] 뉴턴-랩슨법(Newton's Method)을 쓰는 이유 (4) 2020.10.23 [데이터 분석] 회귀분석을 할 때 로그 변환을 하는 이유 (1) 2020.10.08 [데이터 분석] 최소제곱법(Ordinary Least Square)을 쓰는 이유 (0) 2020.09.18 [데이터 분석] 통계적 가설검정을 어렵게 느끼는 이유 (0) 2020.09.12