Main Content

결정계수(R 제곱)

용도

결정계수(R 제곱)는 선형 회귀 모델에서 독립 변수 X로 설명되는 응답 변수 y의 비례적인 변동량을 나타냅니다. 결정계수가 클수록 선형 회귀 모델로 설명되는 변동성이 커집니다.

정의

결정계수는 모델로 설명되는 총 제곱합의 비율입니다. 피팅된 모델의 속성인 Rsquared는 다음과 같은 두 개의 필드를 갖는 구조체입니다.

  • Ordinary — 일반(수정되지 않은) 결정계수

    R2=SSRSST=1SSESST.

  • Adjusted — 계수의 개수에 대해 수정된 결정계수

    Radj2=1(n1np)SSESST.

    SSE는 오차제곱합이고, SSR은 회귀제곱합이며, SST는 총 제곱합입니다. 또한 n은 관측값 개수이고, p는 회귀 계수의 개수입니다. p는 절편을 포함하므로, 예를 들어 선형 피팅의 경우 p는 2입니다. 결정계수는 회귀 모델에서 예측 변수가 추가될수록 증가하므로 수정된 결정계수는 모델에 포함된 예측 변수의 개수에 대해 조정됩니다. 따라서 예측 변수의 개수가 다른 모델을 비교할 때 더욱 유용합니다.

방법

fitlm 또는 stepwiselm을 사용하여 피팅된 모델, 예를 들어, mdl을 얻은 후 점 표기법을 사용하여 속성의 요소를 참조함으로써 결정계수 값을 스칼라로 구할 수 있습니다. 예를 들면 다음과 같습니다.

mdl.Rsquared.Ordinary
mdl.Rsquared.Adjusted

또한, SSE, SSR, SST를 이와 동일한 이름을 가진 속성을 사용하여 구할 수도 있습니다.

mdl.SSE
mdl.SSR
mdl.SST

결정계수 표시하기

이 예제에서는 결정계수(R 제곱)와 수정된 결정계수를 표시하는 방법을 보여줍니다. 표본 데이터를 불러오고 응답 변수와 독립 변수를 정의합니다.

load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));

선형 회귀 모델을 피팅합니다.

mdl = fitlm(X,y)
mdl = 
Linear regression model:
    y ~ 1 + x1 + x2 + x3 + x4

Estimated Coefficients:
                   Estimate        SE        tStat        pValue  
                   _________    ________    ________    __________

    (Intercept)        117.4      5.2451      22.383    1.1667e-39
    x1               0.88162      2.9473     0.29913       0.76549
    x2               0.08602     0.06731       1.278       0.20438
    x3             -0.016685    0.055714    -0.29947       0.76524
    x4                 9.884      1.0406       9.498    1.9546e-15


Number of observations: 100, Error degrees of freedom: 95
Root Mean Squared Error: 4.81
R-squared: 0.508,  Adjusted R-Squared: 0.487
F-statistic vs. constant model: 24.5, p-value = 5.99e-14

결정계수 값과 수정된 결정계수 값은 각각 0.508과 0.487입니다. 모델은 응답 변수의 변동성의 약 50%를 설명합니다.

피팅된 LinearModel 객체의 속성을 사용하여 결정계수 값과 수정된 결정계수 값에 액세스합니다.

mdl.Rsquared.Ordinary
ans = 0.5078
mdl.Rsquared.Adjusted
ans = 0.4871

수정된 결정계수 값은 일반 결정계수 값보다 작습니다.

참고 항목

| | |

관련 항목