Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

선형 회귀 결과 해석하기

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

선형 회귀 모델 피팅하기

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

loadcarsmallX = [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 + x3 y = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 3 + ϵ 에 해당합니다.

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

lm.Coefficients
ans=4×4 tableEstimate 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— 대응하는 계수가 0인지 아니면 0이 아닌지를 검정하는 가설에 대한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 freedomnp이며, 여기서n은 관측값의 개수이고p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델은 4개의 예측 변수를 가지므로Error degrees of freedom은 93 – 4 = 89입니다.

  • Root mean squared error— 평균 제곱 오차의 제곱근으로, 오차 분포의 표준편차를 추정합니다.

  • 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 tableSumSq 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이며 선형 회귀 표시 화면에서 이F90年——통계량값은으로반올림됩니다。

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

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

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

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

anova(lm)
ans=4×5 tableSumSq 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 - p F분포를 갖습니다. n 은 관측값 개수이고 p 는 모델에 포함된 계수의 개수입니다. 이 예제에서, 각F-통계량은 F ( 1 , 8 9 ) 분포를 갖습니다.

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

계수 신뢰구간

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

coefCI(lm)
ans =4×240.2702 55.6833 -0.0088 -0.0043 -0.0913 0.0054 -0.3957 0.3726

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

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

coefCI(lm,0.01)
ans =4×237.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이 아니라는 것을 나타냅니다.

참고 항목

|||

관련 예제

세부 정보