이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
이 예제에서는 선형 회귀 결과 출력되는 통계량을 표시하고 해석하는 방법을 보여줍니다.
행렬 입력 데이터 세트인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
은
에 해당합니다.
모델 표시 화면에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 observations
—NaN
값을 포함하지 않는 행 개수입니다. 예를 들어,X
와MPG
의 행 개수는 100개인데MPG
데이터 벡터에NaN
값이 6개 있고Horsepower
데이터 벡터에 다른 관측값에 대한NaN
값이 1개 있기 때문에Number of observations
는 93입니다.
Error degrees of freedom
—n–p이며, 여기서n은 관측값의 개수이고p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델은 4개의 예측 변수를 가지므로Error degrees of freedom
은 93 – 4 = 89입니다.
Root mean squared error
— 평균 제곱 오차의 제곱근으로, 오차 분포의 표준편차를 추정합니다.
R-squared
및Adjusted R-squared
— 각각 결정계수와 수정된 결정계수를 나타냅니다. 예를 들어,R-squared
값은 모델이 응답 변수MPG
의 변동성의 약 75%를 설명한다는 것을 나타냅니다.
F-statistic vs. constant model
— 회귀 모델에 대한F-검정의 검정 통계량으로, 이 모델이 상수항만으로 구성된 퇴화 모델보다 훨씬 더 잘 피팅되는지 여부를 검정합니다.
p-value
— 모델에 대한F-검정의p-값입니다. 예를 들어, 이 모델은p-값이 7.3816e-27인 경우 유의미합니다.
모델에 대한 분산분석(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
— 각 항에 대한 자유도입니다. 자유도는 총계의 경우
이고, 모델의 경우
이며, 오차항의 경우
입니다. 여기서
은 관측값 개수이고
는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어,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입니다.
F
—F-통계량 값이며, 선형 회귀 표시 화면의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이고 오차항의 경우
입니다. 여기서
은 관측값 개수이고
는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델의 오차항에 대한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
값이고 분모의 자유도가
인F분포를 갖습니다.
은 관측값 개수이고
는 모델에 포함된 계수의 개수입니다. 이 예제에서, 각F-통계량은
분포를 갖습니다.
pValue
— 선형 모델에서 대응되는 항의 계수에 대한 각 가설검정의p-값입니다. 예를 들어,x2
의F-통계량 계수에 대한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% 신뢰구간의 하한 및 상한 값입니다. 예를 들어, 첫 번째 행은 절편 에 대한 하한과 상한, 즉 40.2702와 55.6833을 표시합니다. 마찬가지로, 두 번째 행은 에 대한 하한 및 상한을 표시합니다. 신뢰구간은 선형 회귀 계수 추정값에 대한 정확성의 척도를 제공합니다. 신뢰구간은 해당하는 회귀 계수가 신뢰구간에서 속하게 되는 범위를 제공합니다.
신뢰수준을 변경할 수도 있습니다. 계수에 대한 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-값,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개입니다. 결과는 와 중 적어도 하나가 0이 아니라는 것을 나타냅니다.
LinearModel
|fitlm
|stepwiselm
|anova