Introduction

R square value는 일반적으로 linear model에서 적절하고, nonlinear model에서는 R square를 쓰는 것이 적절하지 않다는 주장을 많이 보곤 한다. 하지만, 본 글에서는 nonlinear model에서도 R square를 쓸 수 있다는 것을 논증하고자 한다.

R square의 정의

$\{y_i\}_{i=1}^N$이라는 정답 데이터와 $\{\hat{y}i\}{i=1}^N$이라는 예측 데이터가 있다고 할 때

$$ R^2=1-\frac{SS_{res}}{SS_{tot}} $$

가 R square $R^2$의 정의인데, 이 때 $\overline{y}=\frac{1}{N}\sum_{i=1}^Ny_i$라고 하면 total sum of squares $SS_{tot}$는

$$ SS_{tot}=\frac{1}{N}\sum_{i=1}^N(y_i-\overline{y})^2 $$

이고 residual sum of squares $SS_{res}$는

$$ SS_{res}=\frac{1}{N}\sum_{i=1}^N(y_i-\hat{y}_i)^2 $$

이 된다.

만약 모든 $i$에 대해 $y_i=\hat{y}i$였다면 $SS{res}$는 0이 되므로 완벽한 모델이 될 것이고, 모든 $i$에 대해 $\hat{y}_i=\overline{y}$인 소위 baseline 모델에 대해서는 정의에 의해 $R^2=0$이 나올 것이다.

왜 nonlinear model에서 쓰면 안된다는 것인가?

구글에 R square nonliear model이라고 검색을 해 보면 많은 글들에서 (블로그 1, 블로그 2) 같은 논증으로 R square를 nonlinear model에 쓰지 말라고 한다. 이는

라는 r square의 가정이 깨지기 때문이라는 것을 근거로 든다. 정말 그러한지 수식을 통해 살펴보면

$$ SS_{tot}=SS_{res}+SS_{err} $$

이라는 것인데, $SS_{tot}$에 대해 식을 정리하기 위해 두 가지 가정이 필요하다. $y_i=\hat{y}_i+e_i$로 error term을 정의하면,