###### tags: `machine learning`|`python` # 機器學習 - R平方(R Squared) :::info 可參考[機器學習 - 多元線性回歸(Multiple Linear Regression)](/UjgVc0TeSNWljn9j7tdmEQ) ::: ## 介紹 * 方程式:$R^2=1-\cfrac{SS_{res}}{SS_{tot}}$ * $R^2$大代表模型是理想的 * $R^2$落在0~1之間 > * 自變量不論是否改變,都不會影響<font color=indigo>總平方和$SS_{tot}$</font>,故分母不變 > * 斜直線落在哪,會改變$y_{\hat{i}}$,即改變<font color=purple>殘差平方和$SS_{res}$</font>,故分子會改變 > 若$SS_{res}$小(斜線上$y_{\hat{i}}$和所有點$y_{i}$差距小),$SS_{tot}$不變,$R^2$大 > 若$SS_{res}$大(斜線上$y_{\hat{i}}$和所有點$y_{i}$差距大$\rightarrow$不理想),$SS_{tot}$不變,$R^2$小 ![](https://i.imgur.com/BTmucDv.png) ![](https://i.imgur.com/Ds79HpF.png) --- ## 調整R平方(Adjusted R Squared) ### 前言 ![](https://i.imgur.com/ElKyH4P.png) > 原因: > 假設應變量$y$為薪水,自變量$x_1$為工作年資、$x_2$為證照數 > $x_2$是合適的自變量,可解釋應變量與自變量的關係,殘差平方和$SS_{res}$會變小,$R^2$變大 > 假設$x_3$為身分證第一碼,與應變量沒任何關係,$b_3=0$,殘差平方和$SS_{res}$不變,$R^2$不變 ### 介紹 ![](https://i.imgur.com/DIGlnIQ.png) * 為了解決自變量不斷盲目增加,使$SS_{res}$不斷變小,$R^2$不斷變大的情況 * 方程式:$Adj\ R^2=1-(1-R^2)\times\cfrac{n-1}{n-p-1}$ > p:number of regressors 自變量個數 > n:sample size 資料個數 > * 自變量變多不一定是好的 > 若$p$變大,其他參數不變,$Adj\ R^2$變小 > * 看$(1-R^2)$與$\cfrac{n-1}{n-p-1}$ > 若$p$變大能使$SS_{res}$變更小,$R^2$變大,$(1-R^2)$變小,$\cfrac{n-1}{n-p-1}$變大 > $(1-R^2)$與$\cfrac{n-1}{n-p-1}$互相拉扯 :::success 結論: 1. 自變量個數增加,若能使$R^2$上升幅度足夠【影響$(1-R^2)$】,則$Adj\ R^2$變大 2. 自變量個數增加,若$R^2$上升幅度不足夠,則$Adj\ R^2$變小 :::