一、R2的概念
調整的R2是多元線性回歸中的一個重要指標,它反映了通過添加自變量而得到的模型擬合程度的提高。R2越高,表示模型越能夠解釋響應變量的方差,從而更好地預測未知數據。
調整的R2則在R2的基礎上,加入了自變量個數的懲罰項,防止模型過度擬合。因此,調整的R2可以更好地衡量模型的泛化能力。
二、R2和調整的R2的計算方法
在多元線性回歸模型中,R2的計算方法為:
R2 = 1 - SSE/SST
其中,SSE為殘差平方和,SST為總平方和。
而調整的R2的計算方法為:
調整的R2 = 1 - (1-R2)(n-1)/(n-p-1)
其中,n為樣本量,p為自變量個數。
三、影響R2和調整的R2的因素
1.自變量個數
當自變量個數增加時,R2會隨之增加,因為模型可以更好地擬合訓練數據。然而,調整的R2則會懲罰多餘的自變量,避免模型過度擬合。因此,當自變量個數過多時,調整的R2會下降。
2.樣本量
樣本量越大,模型可以更充分地學習數據的特徵,從而提高擬合程度。因此,隨着樣本量的增加,R2會增加。然而,調整的R2會進行懲罰,因此樣本量對其影響不太明顯。
3.特徵強度
特徵強度指的是自變量與因變量之間的線性關係程度。如果自變量與因變量之間的關係比較強,那麼模型可以更準確地擬合數據。因此,特徵強度越高,R2和調整的R2也會越高。
四、R2和調整的R2的應用場景
R2和調整的R2可以用來評估多元線性回歸模型的擬合程度和預測能力。
一般來說,R2越高,模型的擬合程度越好,但需要注意過度擬合的問題。而調整的R2則可以避免過度擬合,並且能夠更好地衡量模型的泛化能力。
因此,當我們需要選擇最適合的自變量子集或調整模型時,可以使用調整的R2作為評價指標。同時,當我們需要對未知數據進行預測時,也可以使用R2和調整的R2來評估模型的預測能力。
五、代碼示例
import numpy as np from sklearn.linear_model import LinearRegression from sklearn.metrics import r2_score # 構造數據 X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) y = np.array([10, 20, 30, 40]) # 創建模型並進行擬合 model = LinearRegression() model.fit(X, y) # 計算R2和調整的R2 y_pred = model.predict(X) r2 = r2_score(y, y_pred) n = X.shape[0] p = X.shape[1] adj_r2 = 1 - (1-r2)*(n-1)/(n-p-1) print('R2:', r2) print('Adjusted R2:', adj_r2)
六、總結
調整的R2是多元線性回歸中重要的評估指標之一,可以用于衡量模型的擬合程度和泛化能力。同時,R2和調整的R2也可以用來選擇最適合的自變量子集或評估模型的預測能力。在實際應用中,需要結合實際問題和數據特徵,合理選擇評價指標。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/309719.html