본문 바로가기
데이터사이언스

테스트 데이터에서 회귀 모델의 결정계수가(R2) 음수가 나오는 이유

by 미스터탁 2022. 12. 14.

회귀 모델의 결정계수(R2)는 회귀 모델의 성능 지표로서 사용이 가능하며, 다음과 같이 쓸 수 있습니다.

R2의 범위는 0부터 1사이라는 것을 수식만 봐도 알 수 있는데, 테스트 데이터에서 R2를 뽑아보면 음수가 나오는 경우도 있고 1을 넘는 경우도 있습니다. 사실 이는 매우 당연한 현상입니다.

R2의 식이 유도 되는 과정을 다시 보면, 아래 식 처럼 쓸 수 있는데, 형광으로 칠 해진 부분이 0 이되어 SST = SSR + SSE가 성립하게 되는 것입니다.

그런데 잔차의 합이 0이 되는 이유는 SSE를 B0로 미분 했을 때 유도 됩니다. 

다시 말해, R2는 잔차의 합이 0이 되도록 하는 과정을 이용해 유도된 식입니다. 중요한 것은 '학습 데이터'내에서 입니다. 학습데이터 내에서 SSE가 최소가 되도록 회귀 계수를 추정했고 이 과정에서 자연스레 잔차의 합이 0이되며, R2의 식이 유도 될수 있습니다. 즉, 우리가 보지 못한 테스트 데이터 내에서는 전혀 통하지 않습니다.

 

사실, 생각해보면 매우 당연한 일입니다. 회귀 계수를 추정하는데 테스트 데이터를 쓰지 않았기 때문에 당연히 테스트 데이터에 대한 잔차의 합은 0이 되지 않습니다. 그렇기 때문에 1-SSE/SST = SSR/SST 이 식도 성립 하지 않습니다. 테스트 데이터에 대해 두 식을 이용해 R2를 각각 구해보면 다른 값이 나옵니다.  결국, 테스트 데이터의 R2의 범위는 0 ~ 1 이아니게 되고, - 무한대 부터 + 무한대까지가 되는 것입니다. 

 

반응형

댓글