Main Content

선형 회귀 결과 해석하기

이 예제에서는 선형 회귀 결과 출력되는 통계량을 표시하고 해석하는 방법을 보여줍니다.

선형 회귀 모델 피팅하기

행렬 입력 데이터 세트인 carsmall 데이터 세트를 불러옵니다.

load carsmall
X = [Weight,Horsepower,Acceleration];

fitlm을 사용하여 선형 회귀 모델을 피팅합니다.

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

Estimated Coefficients:
                    Estimate        SE          tStat        pValue  
                   __________    _________    _________    __________

    (Intercept)        47.977       3.8785        12.37    4.8957e-21
    x1             -0.0065416    0.0011274      -5.8023    9.8742e-08
    x2              -0.042943     0.024313      -1.7663       0.08078
    x3              -0.011583      0.19333    -0.059913       0.95236


Number of observations: 93, Error degrees of freedom: 89
Root Mean Squared Error: 4.09
R-squared: 0.752,  Adjusted R-Squared: 0.744
F-statistic vs. constant model: 90, p-value = 7.38e-27

모델 표시 화면에 모델식, 추정된 계수 및 모델 요약 통계량이 포함됩니다.

표시된 모델식 y ~ 1 + x1 + x2 + x3y=β0+β1X1+β2X2+β3X3+ϵ에 해당합니다.

모델 표시 화면에 Coefficients 속성에 저장된, 추정된 계수 정보가 표시됩니다. Coefficients 속성을 표시합니다.

lm.Coefficients
ans=4×4 table
                    Estimate        SE          tStat        pValue  
                   __________    _________    _________    __________

    (Intercept)        47.977       3.8785        12.37    4.8957e-21
    x1             -0.0065416    0.0011274      -5.8023    9.8742e-08
    x2              -0.042943     0.024313      -1.7663       0.08078
    x3              -0.011583      0.19333    -0.059913       0.95236

Coefficient 속성은 다음과 같은 열을 포함합니다.

  • Estimate — 모델에서 각각의 대응되는 항에 대한 계수 추정값입니다. 예를 들어, 상수항(intercept)에 대한 추정값은 47.977입니다.

  • SE — 계수의 표준 오차입니다.

  • tStat — 모델에 주어진 다른 예측 변수를 상정한 경우, '대응하는 계수가 0이 아니다'는 대립가설에 대해 '계수가 0이다'는 귀무가설을 검정하는 데 사용된 각 계수에 대한 t-통계량입니다. 참고로, tStat = Estimate/SE입니다. 예를 들어, 절편에 대한 t-통계량은 47.977/3.8785 = 12.37입니다.

  • pValue — 양측 가설검정에 대한 t-통계량의 p-값입니다. 예를 들어, x2에 대한 t-통계량의 p-값은 0.05보다 크므로 모델의 다른 항을 고려할 때 이 항은 5% 유의수준에서 유의미하지 않습니다.

모델의 요약 통계량은 다음과 같습니다.

  • Number of observationsNaN 값을 포함하지 않는 행 개수입니다. 예를 들어, XMPG의 행 개수는 100개인데 MPG 데이터 벡터에 NaN 값이 6개 있고 Horsepower 데이터 벡터에 다른 관측값에 대한 NaN 값이 1개 있기 때문에 Number of observations는 93입니다.

  • Error degrees of freedomn p이며, 여기서 n은 관측값의 개수이고 p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델은 4개의 예측 변수를 가지므로 Error degrees of freedom은 93 – 4 = 89입니다.

  • Root mean squared error — RMS 오차로, 오차 분포의 표준편차를 추정합니다.

  • R-squaredAdjusted R-squared — 각각 결정계수와 수정된 결정계수를 나타냅니다. 예를 들어, R-squared 값은 모델이 응답 변수 MPG의 변동성의 약 75%를 설명한다는 것을 나타냅니다.

  • F-statistic vs. constant model — 회귀 모델에 대한 F-검정의 검정 통계량으로, 이 모델이 상수항만으로 구성된 퇴화 모델보다 훨씬 더 잘 피팅되는지 여부를 검정합니다.

  • p-value — 모델에 대한 F-검정의 p-값입니다. 예를 들어, 이 모델은 p-값이 7.3816e-27인 경우 유의미합니다.

분산분석(ANOVA)

모델에 대한 분산분석(ANOVA)을 수행합니다.

anova(lm,'summary')
ans=3×5 table
                SumSq     DF    MeanSq      F         pValue  
                ______    __    ______    ______    __________

    Total       6004.8    92    65.269                        
    Model         4516     3    1505.3    89.987    7.3816e-27
    Residual    1488.8    89    16.728                        

anova 결과는 다음을 표시합니다.

  • SumSq — 회귀 모델 Model, 오차항 Residual, 총계 Total에 대한 제곱합입니다.

  • DF — 각 항에 대한 자유도입니다. 자유도는 총계의 경우 n-1이고, 모델의 경우 p-1이며, 오차항의 경우 n-p입니다. 여기서 n은 관측값 개수이고 p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, MPG 데이터 벡터에는 6개의 NaN 값이 있고 데이터 벡터 중 하나인 Horsepower는 다른 관측값에 대해 하나의 NaN 값을 가지기 때문에 총 자유도는 93 – 1 = 92입니다. 모델에는 4개의 계수가 있으므로 모델 DF는 4 – 1 = 3이고 오차항에 대한 DF는 93 – 4 = 89입니다.

  • MeanSq — 각 항에 대한 평균제곱오차입니다. 참고로, MeanSq = SumSq/DF입니다. 예를 들어, 오차항에 대한 평균제곱오차는 1488.8/89 = 16.728입니다. 이 값의 제곱근은 선형 회귀 표시 화면의 root mean squared error이며 4.09입니다.

  • FF-통계량 값이며, 선형 회귀 표시 화면의 F-statistic vs. constant model과 동일합니다. 이 예제에서 이 값은 89.987이며 선형 회귀 표시 화면에서 이 F-통계량 값은 90으로 반올림됩니다.

  • pValue — 모델에 대한 F-검정의 p-값입니다. 이 예제에서 이 값은 7.3816e-27입니다.

회귀 모델에 더 높은 차수의 항이 있는 경우 anova는 모델 SumSq를 더 높은 차수 항과 그 나머지로 설명되는 부분으로 분할합니다. 이에 대응하는 F-통계량은 별도의 그룹으로 선형 항과 더 높은 차수 항의 유의성을 검정하는 데 사용됩니다.

데이터에 반복 실험 또는 동일한 예측 변수 값에서의 여러 측정값이 포함된 경우 anova는 오차 SumSq를 반복 실험과 그 나머지에 해당하는 부분으로 분할합니다. 이에 대응하는 F-통계량은 모델 잔차와 반복 실험에 대해 계산된 모델이 없는 분산 추정값을 비교하여 적합 결여를 검정하는 데 사용됩니다.

모델의 항별로 분산분석표를 분해합니다.

anova(lm)
ans=4×5 table
              SumSq      DF     MeanSq         F          pValue  
             ________    __    ________    _________    __________

    x1         563.18     1      563.18       33.667    9.8742e-08
    x2         52.187     1      52.187       3.1197       0.08078
    x3       0.060046     1    0.060046    0.0035895       0.95236
    Error      1488.8    89      16.728                           

anova 결과는 다음을 표시합니다.

  • 첫 번째 열 — 모델에 포함된 항입니다.

  • SumSq — 상수항을 제외한 각 항에 대한 오차제곱합입니다.

  • DF — 자유도입니다. 이 예제에서 DF는 모델에 포함된 각 항의 경우 1이고 오차항의 경우 n-p입니다. 여기서 n은 관측값 개수이고 p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델의 오차항에 대한 DF는 93 – 4 = 89입니다. 모델의 변수 중 하나라도 범주형 변수인 경우 해당 변수에 대한 DF는 해당 범주에 대해 생성된 표시 변수의 개수(범주 개수 – 1)입니다.

  • MeanSq — 각 항에 대한 평균제곱오차입니다. 참고로, MeanSq = SumSq/DF입니다. 예를 들어, 오차항에 대한 평균제곱오차는 1488.8/89 = 16.728입니다.

  • F — 각 계수에 대한 F-값입니다. F-값은 각 항의 평균 제곱과 평균제곱오차의 비율, 즉 F = MeanSq(xi)/MeanSq(Error)입니다. 각 F-통계량은 대응하는 항에 대해 분자의 자유도가 DF 값이고 분모의 자유도가 n-pF 분포를 갖습니다. n은 관측값 개수이고 p는 모델에 포함된 계수의 개수입니다. 이 예제에서, 각 F-통계량은 F(1,89) 분포를 갖습니다.

  • pValue — 선형 모델에서 대응되는 항의 계수에 대한 각 가설검정의 p-값입니다. 예를 들어, x2F-통계량 계수에 대한 p-값은 0.08078이며 모델의 다른 항을 고려할 때 5% 유의수준에서 유의미하지 않습니다.

계수 신뢰구간

계수 신뢰구간을 표시합니다.

coefCI(lm)
ans = 4×2

   40.2702   55.6833
   -0.0088   -0.0043
   -0.0913    0.0054
   -0.3957    0.3726

각 행의 값은 계수에 대한 디폴트 95% 신뢰구간의 하한 및 상한 값입니다. 예를 들어, 첫 번째 행은 절편 β0에 대한 하한과 상한, 즉 40.2702와 55.6833을 표시합니다. 마찬가지로, 두 번째 행은 β1에 대한 하한 및 상한을 표시합니다. 신뢰구간은 선형 회귀 계수 추정값에 대한 정확성의 척도를 제공합니다. 100(1-α)% 신뢰구간은 해당하는 회귀 계수가 100(1-α)% 신뢰구간에서 속하게 되는 범위를 제공합니다.

신뢰수준을 변경할 수도 있습니다. 계수에 대한 99% 신뢰구간을 구합니다.

coefCI(lm,0.01)
ans = 4×2

   37.7677   58.1858
   -0.0095   -0.0036
   -0.1069    0.0211
   -0.5205    0.4973

계수에 대한 가설검정

'적어도 하나의 예측 변수 계수가 0이 아니다'는 대립가설에 대해 '모든 예측 변수 계수가 0이다'는 귀무가설을 검정합니다.

[p,F,d] = coefTest(lm)
p = 7.3816e-27
F = 89.9874
d = 3

여기서 coefTest는 모델에서 '적어도 하나의 회귀 계수가 0이 아니다'는 기본적 가설에 대해 '모든 회귀 계수(절편 제외)가 0이다'는 가설을 검증하는 F-검정을 수행합니다. 이는 p, p-값, F, F-통계량, d, 분자의 자유도를 반환합니다. F-통계량과 p-값은 모델에 대한 선형 회귀 표시 화면과 anova의 그것과 같습니다. 모델에는 4개의 예측 변수(절편 포함)가 있기 때문에 자유도는 4 – 1 = 3입니다.

이제, 첫 번째 예측 변수와 두 번째 예측 변수에 대해 가설검정을 수행합니다.

H = [0 1 0 0; 0 0 1 0];
[p,F,d] = coefTest(lm,H)
p = 5.1702e-23
F = 96.4873
d = 2

분자의 자유도는 검정된 계수의 개수입니다. 이 예제에서는 2개입니다. 결과는 β2β3 중 적어도 하나가 0이 아니라는 것을 나타냅니다.

참고 항목

| | |

관련 예제

세부 정보