
Coefficient of Determination
데이터에 대한 현재 regression 모델의 성능(or 적합도)를 평가함 ▷ 1에 가까울수록 좋은 모델임: [0,1]
- 통계 (linear model 한정, 더 정확하게는 OLS w/ intercept 한정)에서 사용되는 경우에는 최소값이 0이 보장되나,
- ML 분야에서 regression model의 성능 평가에 사용되는 경우 음수도 나올 수 있음
- "평균(mena)으로만 예측하는 단순 모델"보다 성능이 떨어지는 경우 음수를 가짐.
- non-linear model 등에서 데이터셋이 매우 적거나 관련없는 데이터로 가득 차 있는 경우 음수가 되는 경우 많음.
- ML 등에서 regression model이 얼마나 정확하게 data에 fitting 되었는지를 나타내는 metric으로 사용됨.
- 이는 mean만으로만 예측하는 단순한 모델 대비 얼마나 성능이 좋은지를 나타냄.
- 이 경우, coefficient of determination (결정계수) 라는 용어보다는 R-squared score라고 더 많이 불림.
Linear model (더 정확하게는 "OSL w/ intercept" 한정) 을 사용하는 Linear Regression Analysis 에서 매우 중요하게 다루는 지표.
- Explanatory Power(설명력) 이라고도 불림.
- OLS(intercept있는)의 경우에 실제값($y$)과 모델예측치($\hat{y}$) 간의 correlation인 "Multiple correlation coefficient인 $R$" 의 제곱가 일치함: 때문에 Squared Correlaton Coefficient라고도 불림.
$R^2$ 가
multiple correlation coef.의 제곱과 같으려면
반드시 OLS(linear model)이어야 함.
통계(linear model, 최소자승법)에서는 “데이터의 variability(변동성)”를 모델이 얼마나 설명하고 있는지를 나타냄.
- 모델이 다루는 independent variables 로
- Dependent variable의 variability (변동성)를 어느 정도로 예측 가능한지 를 나타냄.
- 다시 말하면, dependent variable의 variability를 independet variables가 설명하고 있는지를 나타냄 (Explanatory Power).
단점
Coefficient of Determination ($R^2$, 결정계수)는
전통적으로 regression model의 성능을 평가하는 대표적인 metric(지표)이지만 다음과 같은 단점이 있음:
- 데이터의 분산이 클수록 값이 낮아지는 경향이 있음.
- 제곱 오차를 사용하므로 outlier에 매우 민감함.
- 비율(ratio) 지표이기 때문에 절대적인 오차 크기를 직접 알 수 없음.
- 단순 평균 예측보다 성능이 나쁘면 음수 값이 나오는데, 이는 직관적으로 해석하기 어려움.
이러한 한계 때문에 실무에서는 RMSE, MAE 등 차이(difference) 기반 지표를 병행하거나 대체 지표로 사용하는 경우도 많음.
단, Scikit-Learn의 estimator.score() 메서드는 기본적으로 $R^2$ (결정계수)를 반환.
수식으로 살펴보기
수식은 다음과 같음.
$$\displaystyle{\begin{aligned}R^2&=1-\frac{\sum^m_{i=1} (y_i-\hat{y}_i)^2}{\sum^m_{i=1} (y_i-\bar{y})^2} &=1-\frac{\text{RSS}}{\text{TSS}} & \quad \text{(eq.1)} \\ &=\frac{\sum^m_{i=1} (\hat{y}_i-\bar{y})^2}{\sum^m_{i=1} (y_i-\bar{y})^2} &= \frac{\text{ESS}}{\text{TSS}} &\quad \text{(eq.2)} \end{aligned}}$$
- eq.1은 ML 등에서 regression model의 performance를 나타내는 metric 으로 사용할 때에도 성립하는 정의임.
- non-linear model 에서도 적용되기 때문에 ML 등에서 활용도가 높음.
- 예측오차 기반의 $R^2$ (R-squared)라고 부름 (결정계수라는 명칭은 엄밀히 말하면 OLS w/ intercept 에서만 성립).
- 일종의 utility function 으로 볼 수 있음.
- 분자가 Residual Sum of Squares(RSS)이고 분모가 Total Sum of Squares(TSS)로서
"mean($\bar{y}$)만을 예측값으로 삼은 경우를 기준"으로
현재의 모델이 얼마나 정확하게 예측하는지를 나타냄:- mean으로만 사용한 경우와 성능이 같으면 0이고,
- mean 보다 성능이 나쁘면 음수(negative)가 되며,
- mean 보다 성능이 좋으면 0이상이며
- 완벽하게 예측하면 1이 나옴.
- eq.2은 통계적 관점에서 종속변수 $y$의 분산에 대한 선형 모델의 Explanatory Power(설명력) 을 의미함.
- 이는 intercept를 가지는 OLS 에서만 적용가능
- 이 경우 residual의 expected value가 0 (=sum of residual 이 0): $\displaystyle \sum^m_{i=1} \epsilon_i = 0$
- residual과 $\hat{y}$간에 covariance가 0임 (내적이 0): $\displaystyle {\boldsymbol{\epsilon} \cdot \boldsymbol{\hat{y}} = \sum_{i=1}^m \epsilon_i \hat{y}_i = 0}$.
- 이 경우, 결정계수 $R^2$가 Multiple correlation coefficient $R$의 제곱과 같음.
- 이는 OLS 외의 경우는 성립하지 않는다.
- 즉, Deep Learning Model 등의 non-linear model 에선 mutiple correlaton coef.의 제곱으로 볼 수 없다.
- 이는 intercept를 가지는 OLS 에서만 적용가능
위의 수식에서처럼 eq.1과 eq.2가 같으려면
- residual의 expected value $E[\text{Residual}]$가 0이라는 가정 과 : $\displaystyle {\frac{1}{m}\sum_{i=1}^m \epsilon_i =0}$
- residual과 predicted value간의 covariance가 0이라는 가정 이 성립(residual과 predicted value는 아무 상관이 없음)해야 함: $\displaystyle{ \boldsymbol{\epsilon} \cdot \boldsymbol{\hat{y}} = \sum_{i=1}^m \epsilon_i \hat{y}_i = 0}$
이 두 가정은 Oridnary Leaset Squares(OLS, 고전적 선형회귀모델) 에서 성립: 최소자승법 기반의 regression 이 수행된 경우임.
2022.04.28 - [.../Math] - Ordinary Least Squares : OLS, 최소자승법
Ordinary Least Squares : OLS, 최소자승법
Solution을 구할 수 없는 Over-determined system에서 solution의 근사치(approximation)을 구할 수 있게 해주는 방법임. Machine Learning에서 Supervised Learning의 대표적인 task인 Regression을 해결하는 가장 간단한 알고
dsaint31.tistory.com
Residual의 관점에서 살펴본 R squared: for OLS w/ intercept Regression Model
Ordianry Least Square (itercept를 고려하는) 에서는
$\text{residual}=y-\hat{y}$ 이므로, $y=\hat{y}+\text{residual}$ 이 성립함.
- $y$: 데이터셋의 target. (multi-output regression의 경우 vector)
- $\hat{y}$: predicted variable. 모델이 예측한 값.
즉, $\text{residual}_i = \epsilon_i = y_i-\hat{y}_i$
$R^2$의 denominator를 residual로 나타내면 다음과 같음.
$$\displaystyle {\begin{aligned}\sum^m_{i=1}(y_i-\bar{y})^2&=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\text{residual}^2_i \\ &=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\epsilon^2_i \\ \text{Total Sum of Squares} &= \text{Explained Sum of Squares}+\text{Residual Sum of Squares} \\ TSS&=ESS+RSS\end{aligned} }$$
- TSS 는 $y$의 variability임 : $y$와 평균 $\bar{y}$와의 difference 들의 제곱으로 표현할 수 있는데 (위 식의 left side)
- ESS 는 모델에 의해 설명된 variability임. (위 식의 right side의 첫번째 항)
- RSS 는 모델이 설명하지 못한 나머지 variability에 해당함.
결국, 위 식은 측정된 $y$에서의 variability(TSS)가
- 모델이 설명하는 variability(ESS)와
- 설명치 못하는 RSS로 구성됨을 의미한다.
Regression model에서는
오차항(error term)의 조건부 기대값이 0이라고 가정하며,
설명변수와 오차항이 상관되지 않는다고 본다.
이러한 확률적 가정은 OLS의 해석과 이론적 정당화에 중요하고 관련이 깊다.
단, 현재 아래의 증명이 성립하는데 사용되는
residual의 합이 0 인 점과
residual이 fitted value와 직교한다는 성질은
intercept를 포함한 OLS 를 사용한 fitting의 표본 내에서 자동으로 성립하는 대수적 결과임
OLS Regression Model에서의 관계식 유도
OLS Regression Model에서 $R^2$ 가 왜 explanatory power $\frac{\text{ESS}}{\text{TSS}}$ 인 이유는 다음과 같음:
- OLS에서는 intercept를 포함하면 residual들의 평균이 0이 되고, 따라서 residual들의 합도 0이 됨.
- 또한 residual은 fitted value ($\hat{y}$) 와 직교하므로 residual과 fitted value의 표본 공분산도 0이 됨.
이를 수식으로 표현하면 다음과 같음:
- $\displaystyle{ \sum_{i=1}^m \text{residual}_i = 0}$
- $\displaystyle{ \sum_{i=1}^m \hat{y}_i \text{residula}_i = 0 }$
참고로,
오차항(error term)의 조건부 기대값이 0이라는 것은 회귀모형에서 두는 가정이며,
이것을 OLS에서 residual의 합이 0이라는 성질과 완전히 같은 것으로 보면 안 됨.
OLS의 성질을 통해 다음이 유도됨($m$는 샘플의 갯수임).
$$\begin{aligned}\sum^m_{i=1}(y_i-\bar{y})^2&=\sum^m _{i=1}(y_i-\hat{y}_i+\hat{y}_i-\bar{y})^2\\&=\sum^m_{i=1}\left\{(\hat{y}_i-\bar{y})+(y_i-\hat{y}_i)\right\}^2\\&=\sum^m_{i=1}\left\{(\hat{y}_i-\bar{y})+\text{residual}_i\right\}^2\\&=\sum^m_{i=1}\left\{(\hat{y}_i-\bar{y})+\epsilon_i\right\}^2\\&=\sum^m_{i=1}\left\{(\hat{y}_i-\bar{y})^2+\epsilon_i^2+2(\hat{y}_i-\bar{y})\epsilon_i\right\}\\&=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\epsilon_i^2+2\sum^m_{i=1}(\hat{y}_i-\bar{y})\epsilon_i\\&=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\epsilon_i^2+2\sum^m_{i=1} \left\{ (\hat{y}_i \epsilon_i)-\bar{y}\epsilon_i \right\}\\&=\sum^m_{i=1}(\hat{y}_i-\bar{y} )^2+ \sum^m_{i=1} \epsilon_i ^2 + 2 \sum^m_{i=1} \hat{y}_i \epsilon_i - 2\bar{y} \sum^m_{i=1} \epsilon_i \\&=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\epsilon^2_i + 2\cdot 0 + 2\bar{y} \cdot 0 \\&=\sum^N_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\epsilon^2_i \end{aligned}$$
이는 다음의 등식이 성립함을 의미함.
$$\begin{aligned}\sum^m_{i=1}(y_i-\bar{y})^2&=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1}\text{residual}_i^2 \\ &=\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1} (y_i-\hat{y}_i)^2 \end{aligned}$$
이를 $R^2$의 식에 적용하면 다음이 성립함.
$$\displaystyle{\begin{aligned} R^2&=1-\frac{\sum^m_{i=1} (y_i-\hat{y}_i)^2}{\sum^m_{i=1} (y_i-\bar{y})^2} \\ &=\frac{\sum^m_{i=1} (y_i-\bar{y})^2 - \sum^m_{i=1} (y_i-\hat{y}_i)^2}{\sum^m_{i=1} (y_i-\bar{y})^2} \\ &=\frac{\sum^m_{i=1}(\hat{y}_i-\bar{y})^2+\sum^m_{i=1} (y_i-\hat{y}_i)^2 - \sum^m_{i=1} (y_i-\hat{y}_i)^2}{\sum^N_{i=1} (y_i-\bar{y})^2} \\ &=\frac{\sum^m_{i=1} (\hat{y}_i-\bar{y})^2}{\sum^m_{i=1} (y_i-\bar{y})^2} \\ &=\frac{\text{ESS}}{\text{TSS}} \end{aligned}}$$
참고로,
Multiple regression에서 multiple correlation coefficient를 $R$로 주로 표기하고,
Simple regression 에 사용되는 correlation coefficient는 주로 $r$로 표기됨.
같이 읽어보면 좋은 자료
아래 URL은 multiple correlation coef.와 coef. of determination이 엄밀하게는 다른 이유를 보다 쉽게 설명함.
결정계수 R^2, 상관계수의 제곱 r^2의 차이 증명(Coefficient of determination VS Squared correlation coefficient)
Introduction 많은 이들이 결정계수 R^2과 상관계수의 제곱 r^2을 동등하게 여긴다. 이는 통계학에서 두드러지는데, 실제로 책 에서는 결정계수를 r^2으로 계산하도록 하고, 통계학 특화 프로그래밍
rython.tistory.com
https://zetawiki.com/wiki/%EA%B2%B0%EC%A0%95%EA%B3%84%EC%88%98_R%C2%B2
결정계수 R² - 제타위키
다음 문자열 포함...
zetawiki.com
https://en.wikipedia.org/wiki/Partition_of_sums_of_squares
Partition of sums of squares - Wikipedia
From Wikipedia, the free encyclopedia Concept that permeates much of inferential statistics and descriptive statistics This article is about the partition of sums of squares in statistics. For other uses, see Sum of squares. The partition of sums of square
en.wikipedia.org
https://velog.io/@yoonene/R-squared%EB%9E%80
R-squared란?
Q: R square의 의미는 무엇인가요?
velog.io
2022.05.01 - [.../Math] - [Statistics] Covariance vs. Correlation
[Statistics] Covariance vs. Correlation
Covariance vs. CorrelationCovariance (공분산)"Covariance" is the raw version of correlation.두 random variable(확률변수)가 얼마나 (선형적으로) 같이 변하는 정도를 나타냄.여러 random variables 에서는 matrix로 기재
dsaint31.tistory.com
'Programming > ML' 카테고리의 다른 글
| [ML] RANdom SAmple Consensus (RANSAC) (0) | 2024.06.13 |
|---|---|
| [ML] Feature Scaling (0) | 2024.05.04 |
| [ML] Underfit (0) | 2023.09.21 |
| [ML] Summary SVM (0) | 2022.05.30 |
| [Fitting] Ordinary Least Squares : OLS, 최소자승법 (0) | 2022.04.28 |