결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

r2 = r2_score(lr.predict(test_x), test_y)

print("df.shape :", df2.shape, "r2_score", r2)
print("adj_r2_score", adj_r2(r2, test_x.shape[0], test_x.shape[1]))

주의해서 볼 점은 두번째 모델의 결정계수(r2)가 첫번째 모델의 값보다 월등히 높더라도, 조정된 결정계수(adj_r2)가 차이가 없다면 성능(조정된 결정계수)에 큰 차이가 없고, 오히려 첫번째 모델을 사용하는게 나은 선택이 될 수도 있다

설명력이 중요한 상황이라면 첫번째 모델이 더 나을수 있고, 정확도가 중요하다면 두번째 모델이 더 나을수 있다.

❗️블로그 옮김:  https://www.taemobang.com

방태모

안녕하세요, 제 블로그에 오신 것을 환영합니다. 통계학을 전공으로 학부, 석사를 졸업했습니다. 현재는 가천대 길병원 G-ABC에서 Data Science를 하고있습니다. 통계학, 시계열, 통계적학습과 기계

www.taemobang.com

분산분석 표를 해석할 때에는 모형의 유의성(검정통계량 $F_0$)뿐만 아니라 설명력($R^2$)도 함께 확인해야 한다. 이는 회귀분석에서도 마찬가지다. 모형의 유의성은 검정통계량을 통해 확인할 수 있으며, 설명력은 결정계수(coefficient of determination)로 확인할 수 있다. 이 둘을 모두 확인해봐야 하는 이유는, 모형이 유의하다고 해서 반드시 데이터 해석에 쓸모있지는 않기 때문이다. 먼저 유의성에 대해 이야기해보자. 분산분석에서 검정통계량을 통한 F-검정에서 모형이 유의하다고 결과가 나온 것의 의미는, 처리효과간에 차이가 있고, 주어진 데이터를 설명하는데에 의미가 있다는 것이다. 설명력은 결정계수 $R^2 = \frac{SStrt}{SST} = 1-\frac{SSE}{SST}$로 확인하며, 식에서 확인할 수 있는 그대로 총 변동중 모형으로 설명가능한 처리변동의 비율이다. 0과 1사이의 값을 가지며 당연히 클수록 데이터를 잘 설명한다는 뜻이다. 딱 어느 값 정도는 되어야 좋은 모형이라는 기준은 없지만, 최소 0.5(50%)는 되어야 분석의 가치가 있는 모형이라 생각한다. 그럼 이제 각 상황을 나눠서 설명해보자.

(1) $\textrm{p-value} \rightarrow 1$

분석을 진행할 가치가 없다. 

(2) $\textrm{p-value} \rightarrow 0$, $R^2 \rightarrow 1$

연구자가 바라는 매우 이상적인 상황이다. 유의성도 뛰어나며, 데이터 변동의 대부분이 처리변동으로 설명되어 결정계수도 매우 높다. 훌륭한 모형이란 말이다.

(3) $\textrm{p-value} \rightarrow 1$, $R^2 \rightarrow 0$

문제의 상황이다. 이런 경우가 존재하기는 할까? 결론부터 말하면 그렇다. 이런 현상이 발생할 수 있는 이유는, 검정통계량 $F_0$의 식을 떠올려보면 알 수 있다. 

$F_0 = \frac{SStrt/t-1}{SSE/N-t}$

검정통계량의 분모 부분을 주목하자. 오차변동이 표본크기 $N$에 처리그룹의 수 $t$로 뺀값으로 나눠지고 있다. 우리가 실험을 수행했는데, 여유가 있어 표본 크기를 매우 많이 확보했다고 하자. 극단적으로 생각하면 $N \rightarrow \infty $를 가정해보자. 그럼 검정통계량 분모 식의 분모 부분이 매우 커지게되고, 데이터를 설명하는 처리변동의 값이 작다고 할지라도 $F_0$는 매우 큰 값을 가지게 되어, 모형은 매우 작은 p-value 값을 가지게 된다. 즉, 유의한 모형이 된다. 그러나 $R^2$의 경우 표본 크기와 무관하게 $\frac{SStrt}{SSE}$로 정의되기 때문에, 처리변동의 값이 작다면 매우 작은 값이 나올 것이다. 이같은 난점은 몇몇 통계적 방법론이 가진 내부적 문제점이다. 그래서 표본 수가 무작정 크기만 하다고 또 좋은것은 아니다. 물론 크면 좋겠지만, 연구자는 표본 크기로 인해 위와 같은 문제점이 발생할 수 있음을 인지하고 있어야한다! 표본 크기가 큰 상황에서는 위와 같은 문제는 언제든 발생할 수 있다.  그러나 통계적 검정법이 거짓말을 하는 것은 아니다. 예를 들어 세 브랜드의 오렌지 쥬스간 신맛 차이가 있는지 검정했는데, $\textrm{p-value} = 0.08, \; R^2 = 0.26$이 나왔다 하자. 앞서 말한 문제가 발생한 상황이다. 이는 곧 쥬스간 신맛 차이는 있지만 그 맛의 차이는 매우 작음을 의미한다. 이와 같은 미세한 맛의 차이를 통계적으로 감지했을뿐이다. 이는 검정력이 강하기 때문인데 표본 크기가 커지면 검정력이 세지게 되고, 검정력이 세지면 모형이 유의하다는 결론을 자주내리게 된다. 그래서 실험 비용도 아끼고, 실용적으로 결론을 내릴 수 있는 적절한 표본 크기를 결정하는 문제도 생각해봐야한다.

우리 모두 분산분석을 수행할때는 $\textrm{p-value}$뿐만아니라 $R^2$도 꼭 함께 확인하고, 좋은 모형을 설정하기 위해 노력하자!

참고한 책

성내경 (2012). 실험설계와 분석 2판. 자유아카데미

Review
참고 포스팅 :

2020/09/27 - [Statistics/Regression Analysis] - [회귀분석] ANOVA(분산분석)를 이용한 회귀분석 접근 (1) - 제곱합(Sum of Squares)
2020/09/29 - [Statistics/Regression Analysis] - [회귀분석] ANOVA(분산분석)를 이용한 회귀분석 접근 (2) - F ratio 유도
2020/10/03 - [Statistics/Regression Analysis] - [회귀분석] ANOVA(분산분석)를 이용한 회귀분석 접근 (3) - ANOVA Table 해석


안녕하십니까, 간토끼입니다.

지난 포스팅까지 총 3부작으로 ANOVA를 이용해 회귀분석을 다루어보았습니다. (사실 ANOVA는 회귀분석의 특별한 형태라고 합니다.)

특히 직전 포스팅에서 F-ratio를 다루면서 모형의 적합도를 평가해보았죠.

이번 포스팅에서는 모형의 적합도를 평가하는 다른 평가 지표인 결정계수(Coefficient of Determination)에 대해서 다뤄보겠습니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

지난 포스팅으로 잠깐 돌아가보죠.
우리는 회귀모형을 다음과 같이 변동의 합으로 분해했었습니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

궁극적으로는 SSR이 커진다는 것은 SSE가 작아진다는 것이고, SSE가 작아지면 설명 불가능한 변동이 작아지는 거니까,
우리가 추정한 모형을 바탕으로 반응변수 Y를 보다 잘 예측할 수 있게 된다는 것이라고 했었습니다.
그쵸?

이를 바탕으로 정의되는 결정계수(R²,R Square)회귀모형 내에서 설명변수 x로 설명할 수 있는 반응변수 y의 변동 비율입니다.
총변동(SST)에서 설명 가능한 변동인 SSR이 차지하는 꼴(SSR / SST)로 나타낼 수 있습니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

SST는 SSR과 SSE의 합으로 표현되니까, SSR = SST - SSE 로도 쓸 수 있겠죠?
이를 가운데 식에 대입해보면 우측의 식이 나옵니다.

결정계수를 좀 더 직관적으로 표현해보죠.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

뭐랄까 직관적으로 이런 느낌입니다.
주황색으로 칠한 부분을 Y의 총변동이라고 했을 때, 우리가 만든 회귀모형을 보라색이라고 하면,
보라색이 커질수록 우리의 모형이 Y를 잘 설명한다고 볼 수 있겠죠?

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

그래서 R²는 0부터 1사이의 값을 갖습니다.
0에 가까울수록 설명변수 X와 반응변수 Y는 선형 상관관계의 정도가 없다고 하고,
1에 가까울수록 선형 상관관계의 정도가 크다고 할 수 있습니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

만약 R²가 1이라면 좌측의 그래프와 같이 완벽한 선형 상관관계가 나타남을 알 수 있습니다.
SSR = SST라면 R² = 1이니까, SSE = 0이라는 얘기죠. (SSE = 0 이라는 얘기는 오차가 아예 없다는 것과 같겠죠?)

그러나 R²이 거의 0에 가깝다고 하더라도 X와 Y의 관계가 전혀 없는 것은 절대 아닙니다.
만약 우측의 그래프와 같이 X와 Y가 비선형의 관계라면, 이를 고려하지 않은 회귀모형은 이 비선형성을 잡아낼 수 없습니다.

이런 경우, 설명변수 X에 Polynomial Form(Ex. x² 형태)를 취해 넣어주게 되면, R²은 1에 가깝게 될 것입니다.


그리고 선형회귀분석은 인과성이 아닌 상관성에 기반하고 있는 통계 분석 기법입니다.
이러한 상관성은 우리가 이전에 다루었던 공분산과 상관계수 의 상관계수로부터 유도될 수 있는데요.

재밌게도 단순선형회귀모형에서 R²와 상관계수 사이에는 제곱의 관계가 성립합니다.
표본상관계수의 제곱 r² = 가 됩니다.

한번 증명해보죠.
# R² is the square of the sample correlation coefficient r

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

( 중간에 SSR이 왜 저렇게 되는지 모르겠는 분은 => 여기 를 참고해주세요.)

간단하죠?

다만 끝부분에 (a)가 왜 상관계수가 되는지 혹시나 모르실 분들을 위해 설명을 준비했습니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

쉽죠?


회귀분석을 하다 보면 R² 이 높게 나올 때도 있고, 낮게 나올 때도 있습니다.
그럼 R² 이 클수록 우리가 세운 모델은 중요한 모델일까요?

답은 그렇지 않습니다.
다시 생각해보면 R²은 SSR이 모형 전체에서 차지하는 비중이 클수록 커질 것입니다.
만약 이게 과학에서의 실험 등과 같이 반응변수 Y를 설명할 수 있는 X가 어떤 게 있는지 명확하고, 이러한 X들을 통제할 수 있다고 하면 SSR은 당연히 크게 나올 것입니다.

하지만 사회과학에서의 연구는 그렇지 못한 경우가 많습니다.
예를 들어 반응변수 Y가 소득이라고 가정하면, 소득을 설명하는 변수는 너무나 많습니다.

나이가 10대, 60대 이상에 비해 30, 40대일 때 소득이 더 높다는 점에서 나이도 중요한 변수일 수 있고,
물가가 높을수록 소득이 높아질 수도 있고, 근로 시간이나 학력 수준 등 소득에 영향을 미치는 변수는 너무나 많습니다.

사회과학에서의 연구는 모든 변수를 완전히 통제할 수 없다는 점에서 완벽한 연구는 불가능합니다.
우리가 알지 못하는 미지의 외부 요인들도 많을 것이고요.

그렇기에 만약 소득을 예측하는 회귀모형을 구성할 때 이러한 설명변수를 모두 포함하지 못한 채 분석을 한다면,
변수들 간의 관계는 통계적으로 유의하게 도출될 수 있으나, 정작 R² 값은 생각보다 낮을 수 있습니다. (0.1 ~ 0.3)

또한 시간이 지날수록 과거에 비해 상승하는 Trend를 가진 물가, GDP 등의 거시경제지표의 경우,
별 다른 노력을 하지 않고 '시계열자료'를 썼다는 이유만으로 회귀모형의 R² 값은 0.99 이렇게 나올 수도 있습니다.

만약 예측을 중요시하는 머신러닝이라면 일반적으로 반응변수가 연속형 변수일 때 모형의 성능을 평가하는 지표로 R²를 사용합니다.

그러나 해석을 중요시하는 사회과학 등의 경우, Y를 얼마나 잘 예측하는지에만 기초하여 모형을 평가해서는 안 됩니다.
예를 들면 회귀계수의 부호(Sign) 및 크기, 통계적 유의성 및 해석적인 관점에서의 유의미함, 추정의 정확성, 모형에 포함되지 않은 외부 요인 등을 고려해서 R²를 적절히 사용해야 합니다.

극단적인 예로 초콜릿 소비량과 머리카락의 길이가 매우 높은 양의 상관관계(r = 0.95)가 있다고 가정하면,

초콜릿 소비량(y) = b0 + b1 * 머리카락의 길이(x)

라는 모형의R²은 거의 1에 가깝겠죠.
사실 논리적으로 머리카락이 길수록 초콜릿을 많이 먹는다는 건 말이 안 되므로, 두 변수의 상관성이 타당하다고 볼 수 없는 '우연적인 상관성'에 기반한 결과기 때문에, 위 모형은 쓸모가 없습니다.
그러므로 가 높다고 모형의 결과를 마냥 맹신하면 안 됩니다.

그렇다고 R² 가 0이 돼도 상관없다는 의미는 아닙니다.(R² 가 0이 되면 아마 F-ratio가 유의하지 못할 겁니다.)
최소한 설명변수 x와 반응변수 y 간의 관계를 보이려면 어느정도의 상관성은 당연히 있어야겠죠.

즉 크면야 좋기는 하겠지만, 모형을 평가하는 절대적인 기준으로써 R²가 사용되어서는 안 된다는 것이죠.

정리하면 R²는 회귀모형의 Goodness of Fit(적합도)으로 사용될 수 있으나 모형을 평가하는 데 절대적인 기준이 되지 않으며,
예측을 중요시하는 머신러닝의 회귀 문제에서는 R²이 모델의 성능을 나타내는 중요한 기준이 될 수 있습니다.
그러나 변수 간의 관계를 설명하는 해석적인 관점의 회귀분석에서는 절대적인 기준이 되지 않습니다.

또한 R²은 다음과 같은 관계가 성립합니다.

결정계수 설명력 기준 - gyeoljeong-gyesu seolmyeonglyeog gijun

다음 포스팅에서는 최소제곱추정량을 선형 추정량(Linear Estimator)로 표현하는 방법에 대해 다뤄보도록 하겠습니다.

감사합니다.
잘 읽으셨다면 게시글 하단에 ♡(좋아요) 눌러주시면 감사하겠습니다 :)
(구독이면 더욱 좋습니다 ^_^)


- 간토끼(DataLabbit)
- University of Seoul
- Economics, Data Science