[Statistics] coefficient of determination (결정계수 ~ R squared)

2024. 5. 1. 01:26·Programming/ML
728x90
728x90

Coefficient of Determination

데이터에 대한 현재 regression 모델의 성능(or 적합도)를 평가함 ▷ 1에 가까울수록 좋은 모델임: [0,1]

  • 통계 (linear model)에서 사용되는 경우에는 최소값이 0이 보장되나,
  • ML등에서 regression model의 성능 평가에서는 음수도 나올 수 있음(non-linear model인 경우)
  • ML 등에서 regression model이 얼마나 정확하게 data에 fitting 되었는지를 나타냄 (mean만을 사용하는 모델 대비).
  • mean만을 사용하는 단순한 모델 대비 얼마나 우수한지를 

Linear model 을 사용하는 Regression Analysis 에서 중요하게 다루는 지표.

  • Squared Correlaton Coefficient라고도 불림. ("Multiple correlation coefficient인 $R$"의 제곱)

coef. of determination이
multiple correlation coef.의 제곱과 같으려면
반드시 linear model이어야 함.


통계(linear model, 최소자승법)에서는 “데이터의 variability”를 모델이 얼마나 설명하고 있는지를 나타냄.

  • 모델이 다루는 independent variables 로
  • Dependent variable의 variability (변동성)를 어느 정도로 예측 가능한지 를 나타냄.
  • 다시 말하면, dependent variable의 variability를 independet variables가 설명하고 있는지를 나타냄 (설명력).

단점

Coefficient of Determination ($R^2$, 결정계수)는 전통적으로 regression model의 성능을 평가하는 대표적인 지표이지만 다음과 같은 단점이 있음:

  • 데이터의 분산이 클수록 값이 낮아지는 경향이 있음.
  • 제곱 오차를 사용하므로 outlier에 매우 민감함.
  • 비율(ratio) 지표이기 때문에 절대적인 오차 크기를 직접 알 수 없음.
  • 단순 평균 예측보다 성능이 나쁘면 음수 값이 나오는데, 이는 직관적으로 해석하기 어려움.

이러한 한계 때문에 실무에서는 RMSE, MAE 등 차이(difference) 기반 지표를 병행하거나 대체 지표로 사용하는 경우도 많음.

단, Scikit-Learn의 estimator.score() 메서드는 기본적으로 $R^2$ (결정계수)를 반환.


수식으로 살펴보기

수식은 다음과 같음.

$$\begin{aligned}R^2&=1-\frac{\sum^N_{i=1} (y_i-\hat{y}_i)^2}{\sum^N_{i=1} (y_i-\mu)^2} & \text{(eq.1)} \\ &=\frac{\sum^N_{i=1} (\hat{y}_i-\mu)^2}{\sum^N_{i=1} (y_i-\mu)^2} & \text{(eq.2)} \end{aligned}$$

  • eq.1는 ML 등에서 regression model의 performance를 나타내는 metric 으로 사용할 때 식임.
    • non-linear에서도 적용되기 때문에 ML 등에서 활용도가 높음.
    • 일종의 utility function 으로 볼 수 있음.
    • 분자가 Residual Sum of Squares(RSS)이고 분모가 Total Sum of Squares(TSS)로서 mean($\mu$)만을 예측값으로 삼은 경우를 기준으로 현재의 모델이 얼마나 정확하게 예측하는지를 나타내는 비율임:
      • mean으로만 사용한 경우와 성능이 같으면 0이고,
      • mean 보다 성능이 나쁘면 음수(negative)가 되며,
      • mean 보다 성능이 좋으면 0이상이며
      • 완벽하게 예측하면 1이 나옴.
  • eq.2은 통계적 관점에서 종속변수 $y$의 분산에 대한 선형 모델의 설명력 을 의미함.
    • 이는 linear model에서만 적용가능하며, 이 경우 residual의 expected value가 0이고, residual과 $\hat{Y}$간에 covariance가 0임.
    • 이 경우, 결정계수가 Multiple correlation coefficient의 제곱과 같음.
    • 단, non-linear 인 경우엔 성립하지 않는다. non-linear에선 mutiple correlaton coef.의 제곱으로 볼 수 없다.

위의 수식에서처럼 eq.1과 eq.2가 같으려면

  • residual의 expected value $E[\text{Residual}]$가 0이라는 가정 과
  • residual과 predicted value간의 covariance가 0이라는 가정 이 성립해야 한다. (residual과 predicted value는 아무 상관이 없음)

이 두 가정은 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: w/ Linear Model

$\text{residual}=Y-\hat{Y}$ 이므로, $Y=\hat{Y}+\text{residual}$ 이 성립함.

  • $Y$: random variable $Y$. 측정치
  • $\hat{Y}$: predicted variable. 모델이 예측한 값.

즉, $\text{residual}_i = \epsilon_i = y_i-\hat{y}_i$

$R^2$의 denominator를 residual로 나타내면 다음과 같음.

$$\begin{aligned}\sum^N_{i=1}(y_i-\mu)^2&=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\text{residual}^2_i \\ &=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{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$와 평균 $\mu$와의 difference 들의 제곱으로 표현할 수 있는데 (위 식의 left side)
  • ESS 는 모델에 의해 설명된 variability임. (위 식의 right side의 첫번째 항)
  • RSS 는 모델이 설명하지 못한 나머지 variability에 해당함.

결국, 위 식은
측정된 $Y$에서의 variability(TSS)가

  • 모델이 설명하는 variability(ESS)와
  • 설명치 못하는 RSS로 구성됨을 의미한다.

위의 식은
residual의 expected value가 0이라는 가정과
residual 과 모델의 예측치간의 공분산이 0이라는 가정 하에 유도됨.

$\frac{\sum^N_{i=1} \text{residual}_i}{N} =0 \Rightarrow\sum^N_{i=1}\text{residual}_i=0 \Rightarrow\sum^N_{i=1}\epsilon_i=0$


Linear model에서의 관계식 유도

위의 식의 유도는 다음을 참고하라.

$$\begin{aligned}\sum^N_{i=1}(y_i-\mu)^2&=\sum^N_{i=1}(y_i-\hat{y}_i+\hat{y}-\mu)^2\\&=\sum^N_{i=1}\left\{(\hat{y}_i-\mu)+(y_i-\hat{y}_i)\right\}^2\\&=\sum^N_{i=1}\left\{(\hat{y}_i-\mu)+\text{residual}_i\right\}^2\\&=\sum^N_{i=1}\left\{(\hat{y}_i-\mu)+\epsilon_i\right\}^2\\&=\sum^N_{i=1}\left\{(\hat{y}_i-\mu)^2+\epsilon_i^2+2(\hat{y}_i-\mu)\epsilon_i\right\}\\&=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\epsilon_i^2+2\sum^N_{i=1}(\hat{y}_i-\mu)\epsilon_i\\&=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\epsilon_i^2+2\sum^N_{i=1}(\beta_0+\beta_1x_{1i}+\cdots+\beta_{p}x_{pi}-\mu)\epsilon_i\\&=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\epsilon_i^2+2(\beta_0-\mu)\sum^N_{i=1}\epsilon_i+2\beta_1\sum^N_{i=1}\epsilon_ix_{1i}+\cdots+2\beta_p\sum^N_{i=1}\epsilon_ix_{pi}\\&=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\epsilon^2_i\\\end{aligned}$$

 

이는 다음의 등식이 성립함을 의미함.

$$\sum^N_{i=1}(y_i-\mu)^2=\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\text{residual}_i^2$$

 

이를 $R^2$의 식에 적용하면 다음이 성립함.

$$\begin{aligned} R^2&=1-\frac{\sum^N_{i=1} (y_i-\hat{y}_i)^2}{\sum^N_{i=1} (y_i-\mu)^2} \\ &=1-\frac{\sum^N_{i=1}\text{residual}_i^2}{\sum^N_{i=1}(y_i-\mu)^2} \\ &=\frac{\sum^N_{i=1} (y_i-\mu)^2 - \sum^N_{i=1} (y_i-\hat{y}_i)^2}{\sum^N_{i=1} (y_i-\mu)^2} \\ &=\frac{\sum^N_{i=1}(\hat{y}_i-\mu)^2+\sum^N_{i=1}\text{residual}_i^2 - \sum^N_{i=1} (y_i-\hat{y}_i)^2}{\sum^N_{i=1} (y_i-\mu)^2} \\ &=\frac{\sum^N_{i=1} (\hat{y}_i-\mu)^2}{\sum^N_{i=1} (y_i-\mu)^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이 엄밀하게는 다른 이유를 보다 쉽게 설명함.

https://rython.tistory.com/17

 

결정계수 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

 

728x90

'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
'Programming/ML' 카테고리의 다른 글
  • [ML] RANdom SAmple Consensus (RANSAC)
  • [ML] Feature Scaling
  • [ML] Underfit
  • [ML] Summary SVM
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (785)
      • Private Life (15)
      • Programming (55)
        • DIP (116)
        • ML (34)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    signals_and_systems
    fourier transform
    Vector
    random
    SIGNAL
    math
    function
    Optimization
    Programming
    인허가제도
    opencv
    Python
    linear algebra
    Probability
    cv2
    numpy
    signal_and_system
    ML
    SS
    Term
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[Statistics] coefficient of determination (결정계수 ~ R squared)
상단으로

티스토리툴바