F-통계량과 t-통계량
F-통계량
용도
선형 회귀에서 F-통계량은 모델 또는 모델 성분의 유의성을 검정하는 분산분석(ANOVA) 방식에 대한 검정 통계량입니다.
정의
선형 모델의 출력값 표시에 포함된 F-통계량은 모델의 통계적 유의성을 검정하기 위한 통계량입니다. 모델 속성 ModelFitVsNullModel
은 같은 통계량을 포함합니다.
anova
표시의 F-통계량 값을 사용하면 모델의 항 또는 성분의 유의성을 평가할 수 있습니다.
방법
fitlm
또는 stepwiselm
을 사용하여 회귀 모델(mdl
)을 피팅합니다. 그러면 다음 작업을 할 수 있습니다.
출력 표시에서 또는 다음을 사용하여
F-statistic vs. constant model
구하기disp(mdl)
다음 표현식을 입력하여 모델의 F-통계량 표시하기
mdl.ModelFitVsNullModel
모델에 대한 ANOVA 표시하기
anova(mdl,'summary')
상수항을 제외한 성분에 대해 F-통계량 값 구하기
자세한 내용은anova(mdl)
LinearModel
클래스의anova
메서드를 참조하십시오.
F-통계량을 사용하여 모델의 피팅 평가하기
이 예제에서는 F-통계량을 사용하여 모델의 피팅과 회귀 계수의 유의성을 평가하는 방법을 보여줍니다.
표본 데이터를 불러옵니다.
load hospital tbl = table(hospital.Age,hospital.Weight,hospital.Smoker,hospital.BloodPressure(:,1), ... 'VariableNames',{'Age','Weight','Smoker','BloodPressure'}); tbl.Smoker = categorical(tbl.Smoker);
선형 회귀 모델을 피팅합니다.
mdl = fitlm(tbl,'BloodPressure ~ Age*Weight + Smoker + Weight^2')
mdl = Linear regression model: BloodPressure ~ 1 + Smoker + Age*Weight + Weight^2 Estimated Coefficients: Estimate SE tStat pValue __________ _________ ________ __________ (Intercept) 168.02 27.694 6.067 2.7149e-08 Age 0.079569 0.39861 0.19962 0.84221 Weight -0.69041 0.3435 -2.0099 0.047305 Smoker_true 9.8027 1.0256 9.5584 1.5969e-15 Age:Weight 0.00021796 0.0025258 0.086294 0.93142 Weight^2 0.0021877 0.0011037 1.9822 0.050375 Number of observations: 100, Error degrees of freedom: 94 Root Mean Squared Error: 4.73 R-squared: 0.528, Adjusted R-Squared: 0.503 F-statistic vs. constant model: 21, p-value = 4.81e-14
상수 모델 대비 선형 피팅의 F-통계량은 21이고 p-값은 4.81e-14입니다. 모델은 5% 유의수준에서 유의미합니다. 결정계수 값 0.528은 모델이 응답 변수의 변동성의 약 53%를 설명한다는 의미입니다. 현재 모델에 포함되지 않은 다른 예측(설명) 변수가 있을 수 있습니다.
또한 프로그래밍 방식으로 모델의 F-통계량에 액세스할 수도 있습니다.
mdl.ModelFitVsNullModel
ans = struct with fields:
Fstat: 21.0120
Pvalue: 4.8099e-14
NullModel: 'constant'
피팅된 모델에 대해 분산분석표를 표시합니다.
anova(mdl,'summary')
ans=5×5 table
SumSq DF MeanSq F pValue
______ __ ______ ______ __________
Total 4461.2 99 45.062
Model 2354.5 5 470.9 21.012 4.8099e-14
. Linear 2263.3 3 754.42 33.663 7.2417e-15
. Nonlinear 91.248 2 45.624 2.0358 0.1363
Residual 2106.6 94 22.411
이 표는 모델의 변동성을 선형 항과 비선형 항으로 분리합니다. 비선형 항이 2개(Weight^2
, 그리고 Weight
와 Age
간의 상호 작용)이므로 DF
열의 비선형 자유도는 2입니다. 모델에는 3개의 선형 항(Smoker
표시 변수 1개, Weight
, Age
)이 있습니다. 이에 대응하는 F
열의 F-통계량은 별도의 그룹으로 선형 항과 비선형 항의 유의성을 검정하는 데 사용됩니다.
복제된 관측값이 있을 경우, 잔차 항도 두 부분으로 분리됩니다. 첫 번째 부분은 적합 결여로 인해 발생한 오차이고, 두 번째 부분은 모델과 독립적으로 발생한 순 오차로 복제된 관측값에서 얻어집니다. 이 경우 F-통계량은 적합 결여, 즉 피팅이 적절한지 여부를 검정하는 데 사용됩니다. 그러나 이 예제에는 복제된 관측값이 없습니다.
모델 항에 대해 분산분석표를 표시합니다.
anova(mdl)
ans=6×5 table
SumSq DF MeanSq F pValue
________ __ ________ _________ __________
Age 62.991 1 62.991 2.8107 0.096959
Weight 0.064104 1 0.064104 0.0028604 0.95746
Smoker 2047.5 1 2047.5 91.363 1.5969e-15
Age:Weight 0.16689 1 0.16689 0.0074466 0.93142
Weight^2 88.057 1 88.057 3.9292 0.050375
Error 2106.6 94 22.411
이 표는 분산분석표를 모델 항으로 분해합니다. 이에 대응하는 F
열의 F-통계량은 각 항의 통계적 유의성을 평가합니다. 예를 들어, Smoker
에 대한 F-검정은 Smoker
에 대한 표시 변수의 계수가 0과 다른지 여부를 검정합니다. 즉, F-검정은 흡연자라는 사실이 BloodPressure
에 유의미한 영향을 주는지 여부를 판단합니다. 각 모델 항의 자유도는 대응하는 F-검정에 대한 분자의 자유도입니다. 모든 항은 자유도가 1입니다. 범주형 변수의 경우, 자유도는 표시 변수의 개수입니다. Smoker
에는 표시 변수가 1개밖에 없으므로 자유도가 1입니다.
t-통계량
용도
선형 회귀에서, t-통계량은 회귀 계수에 대한 추론을 할 때 유용합니다. 계수 i에 대한 가설검정은 '계수가 0이 아니다'는 대립가설에 대해 '계수가 0이다'(즉, 대응되는 항이 유의미하지 않다)는 귀무가설을 검정합니다.
정의
계수 i에 대한 다음과 같은 가설검정에 대해
H0 : βi = 0
H1 : βi ≠ 0,
t-통계량은 다음과 같습니다.
여기서 SE(bi)는 추정된 계수 bi의 표준 오차입니다.
방법
fitlm
또는 stepwiselm
을 사용하여 피팅된 모델, 예를 들어, mdl
을 얻은 후 다음을 수행할 수 있습니다.
출력값 표시에 포함된 대응되는 계수(
tStat
)에 대해 계수 추정값, 추정값의 표준 오차(SE
) 및 가설검정의 t-통계량 값 구하기.출력값을 표시하는 호출 수행하기
display(mdl)
t-통계량을 사용하여 회귀 계수의 유의성 평가하기
이 예제에서는 t-통계량을 사용하여 회귀 계수의 유의성을 검정하는 방법을 보여줍니다.
표본 데이터를 불러와서 선형 회귀 모델을 피팅합니다.
load hald
mdl = fitlm(ingredients,heat)
mdl = Linear regression model: y ~ 1 + x1 + x2 + x3 + x4 Estimated Coefficients: Estimate SE tStat pValue ________ _______ ________ ________ (Intercept) 62.405 70.071 0.8906 0.39913 x1 1.5511 0.74477 2.0827 0.070822 x2 0.51017 0.72379 0.70486 0.5009 x3 0.10191 0.75471 0.13503 0.89592 x4 -0.14406 0.70905 -0.20317 0.84407 Number of observations: 13, Error degrees of freedom: 8 Root Mean Squared Error: 2.45 R-squared: 0.982, Adjusted R-Squared: 0.974 F-statistic vs. constant model: 111, p-value = 4.76e-07
각 계수에 대해 tStat = Estimate/SE
임을 확인할 수 있습니다. 가설검정에 대한 -값은 pValue
열에 있습니다. 각 -통계량은 모델의 다른 항을 가정할 때 각 항의 유의성을 검정합니다. 이 결과에 따르면 모델의 결정계수가 0.97로 매우 높음에도 불구하고 5% 유의수준에서 유의미하게 보이는 계수가 없습니다. 이는 예측 변수 간에 다중공선성이 존재함을 나타내는 경우가 많습니다.
단계적 회귀를 사용하여 모델에 어느 변수를 포함시킬지 판단합니다.
load hald
mdl = stepwiselm(ingredients,heat)
1. Adding x4, FStat = 22.7985, pValue = 0.000576232 2. Adding x1, FStat = 108.2239, pValue = 1.105281e-06
mdl = Linear regression model: y ~ 1 + x1 + x4 Estimated Coefficients: Estimate SE tStat pValue ________ ________ _______ __________ (Intercept) 103.1 2.124 48.54 3.3243e-13 x1 1.44 0.13842 10.403 1.1053e-06 x4 -0.61395 0.048645 -12.621 1.8149e-07 Number of observations: 13, Error degrees of freedom: 10 Root Mean Squared Error: 2.73 R-squared: 0.972, Adjusted R-Squared: 0.967 F-statistic vs. constant model: 177, p-value = 1.58e-08
이 예제에서 stepwiselm
은 상수 모델(디폴트)로 시작하고 순방향 선택을 사용하여 x4
와 x1
을 점진적으로 추가합니다. 최종 모델의 각 예측 변수는 모델의 다른 항을 가정할 때 유의미합니다. 알고리즘은 모델에서 어떤 예측 변수를 추가해도 유의미하게 개선되지 않을 때 중지됩니다. 단계적 회귀에 대한 자세한 내용은 stepwiselm
을 참조하십시오.
참고 항목
LinearModel
| fitlm
| stepwiselm
| anova
| coefCI
| coefTest