R square value는 일반적으로 linear model에서 적절하고, nonlinear model에서는 R square를 쓰는 것이 적절하지 않다는 주장을 많이 보곤 한다. 하지만, 본 글에서는 nonlinear model에서도 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$이 나올 것이다.
구글에 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을 정의하면,
이는 $\overline{e}=\frac{1}{N}\sum e_i=0$이었으므로
$$ \sum e_i\hat{y}_i=\sum (e_i-0)\hat{y}_i-\overline{y}\cdot0=\sum(e_i-\overline{e})(\hat{y}_i-\overline{y})=0 $$
이라는 말과 동치이기 때문에 normal equation을 통해 나온 error term들이 sample과 독립이라고 가정하면 해결된다. 단, 이 조건이 독립이라는 조건이 아니라 공분산이 0인 상관관계가 없다는 조건임에 주의하자.