29가지 통계 개념 - 수정된 R제곱 무엇에 사용하는 것인가?

수정된 R제곱과 그 용도에 대해서 알아보자.

수정된 $R^2$: 개요

수정된 $R^2$ 이란 결정 계수 $R^2$ 의 특수한 형태이다. $R^2$ 은 자료가 회귀 곡선이나 회귀선에 얼마나 잘 맞는 지를 나타내준다. 수정된 $R^2$ 역시 자료가 회귀 곡선이나 회귀선에 얼마나 잘 맞는지를 보여주지만, 모형에서 사용된 독립변수의 갯수에 대해 조정을 한다. 만약 여러분이 모형에 쓸모 없는 변수들을 계속해서 더할수록 수정된 $R^2$ 의 값은 계속 줄어들 것이다. 반대로 모형에 유용한 변수들을 추가할수록 수정된 $R^2$ 값은 증가한다.

수정된 $R^2$ 값은 항상 $R^2$ 값보다 작거나 같다. 여러분이 $R^2$ 을 이용하는 경우는 표본 을 이용할 때이다. 다시 말하자면, 전체 모집단에 대한 데이터가 있는 경우에는 $R^2$ 가 필수적이지는 않다는 것이다.

수정된 $R^2$ 값을 구하는 공식은 다음과 같다.

$R_{adj}^2 = 1 - [\frac{(1 - R^2)(n - 1)}{n - k -1}]$

이 때:

  • n: 표본 데이터에서 자료의 갯수
  • k: 독립 변수의 갯수; 모형에서 사용한 상수를 제외한 변수의 갯수

만약 여러분이 $R^2$ 에 대해서 이미 알고 있다면 이 공식을 이해하는 것도 크게 어렵지는 않을 것이다. 하지만, $R^2$ 을 모른다면 이를 손으로 구하고 싶지는 않을 것이다! (굳이 해야겠다면 결정계수를 구하는 방법을 참고하길 바란다) 여러분을 대신해서 수정된 $R^2$ 값을 구해주는 통계 패키지는 널렸다. 이는 Excel 에서 회귀분석의 결과로도 확인할 수 있다. Excel 회귀분석 결과 설명를 참고하라.

수정된 $R^2$ 의 의미

$R^2$ 과 수정된 $R^2$ 둘 다 회귀식의 선 위에 얼마나 많은 자료들이 위치하는 지를 보여준다. 하지만 둘 사이에는 한 가지 큰 차이 가 있다: $R^2$ 는 모든 변수들이 종속변수의 분산 을 설명하는 데에 사용한다고 여긴다. 수정된 $R^2$ 은 실제로 종속변수에 영향을 주는 독립변수들에 의해 설명되는 분산 의 비율을 알려준다.

수정된 $R^2$ 의 페널티가 적용되는 방법

수정된 $R^2$ 은 모형에 적절하지 않은 독립변수를 추가하는 것에 페널티를 부과한다. 왜 그럴까? 회귀분석에서는 데이터에 더 많은 변수들을 추가하고자 하는 유혹에 빠지기 쉽다. 그 중 일부는 유의미할 수도 있지만, 그 유의미함이 우연에 의한 것일지도 모른다. 수정된 $R^2$ 은 이러한 추가 변수에 대해 페널티를 부과함으로써 이를 보완해준다.

대부분의 경우 값은 양수 이지만 음수 가 나올 수도 있다. 이는 $R^2$ 값이 0일 경우 발생할 수 있다; 조정 이후 값은 0 미만이 될 수도 있다. 이런 경우 여러분의 모형이 데이터에 제대로 맞지 않는다는 것을 시사한다. 모형에 상수항을 포함하지 않는 경우 예측값이 0 미만이 되는 등의 다른 문제를 야기할 수도 있다.

수정된 $R^2$ 로 바로잡을 수 있는 $R^2$ 의 문제점들

  1. $R^2$ 는 모형에 독립변수가 추가될 때마다 항상 증가한다. $R^2$ 가 항상 증가하기만 하고 감소하지 않기 때문에 모형에 더 많은 변수를 추가하면 더 잘 맞는 것처럼 보일 수 있다. 하지만 이는 오해의 소지가 있을 수 있다.
  2. 비슷한 경우로, 여러분의 모형에 독립변수가 굉장히 많고, 높은 차수(high-order)의 다항을 가지고 있는 경우 데이터에 과적합되는 문제에 직면할 수 있다. 데이터에 과적합하는 경우, 오인할 수 있을 정도로 높은 $R^2$ 값은 틀린 예측을 야기할 수 있다.

출처

Adjusted R2 / Adjusted R-Squared: What is it used for?

2023

영어랑 친해지는 방법

7 minute read

가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…

Back to top ↑

2022

Back to top ↑

2020

사내 스터디에 대한 회고

2 minute read

회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.

Back to top ↑

2019

GitHub Pages Jekyll Blog 에 MathJax 추가하기

3 minute read

이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.

GitHub 블로그에 Jupyter notebook 올리는 방법

4 minute read

여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...

Back to top ↑