Main Content

결정계수(R제곱)

용도

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

정의

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

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

    R 2 = S S R S S T = 1 S S E S S T .

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

    R a d j 2 = 1 ( n 1 n p ) S S E S S T .

    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 제곱)와 수정된 결정계수를 표시하는 방법을 보여줍니다. 표본 데이터를 불러오고 응답 변수와 독립 변수를 정의합니다.

loadhospitaly = 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

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

참고 항목

|||

관련 항목