В линейной регрессии F-статистика является тестовой статистикой для подхода дисперсионного анализа (ANOVA), чтобы проверить значимость модели или компонентов в модели.
F-статистика на выходном отображении линейной модели является тестовой статистикой для проверки статистической значимости модели. F-статистические значения в anova
отображение предназначено для оценки значимости членов или компонентов в модели.
После получения подобранной модели, скажем mdl
, использование fitlm
или stepwiselm
, можно:
Найдите F-statistic vs. constant model
в выход отображения или при помощи
disp(mdl)
Отобразите Дисперсионный Анализ для модели используя
anova(mdl,'summary')
Получите F-статистические значения для компонентов, за исключением постоянного термина использование
anova(mdl)
anova
метод LinearModel
класс.
Этот пример показывает, как оценить подгонку модели и значимость коэффициентов регрессии с помощью 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% значимости. Значение R-квадрат 0,528 означает, что модель объясняет около 53% изменчивости в отклике. Могут быть другие переменные (объяснительные), которые не включены в текущую модель.
Отобразите таблицу Дисперсионного Анализа для подобранной модели.
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
Это отображение разделяет изменчивость модели на линейные и нелинейные условия. Поскольку существует два нелинейных условия (Weight^2
и взаимодействие между Weight
и Age
), нелинейные степени свободы в DF
столбец имеет значение 2. Существует трёх линейных членов в модели (один Smoker
переменная индикатора, 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
Это отображение разделяет таблицу ANOVA на условия модели. Соответствующая F-статистика в F
столбец оценивает статистическую значимость каждого термина. Для примера F-тест на Smoker
проверяет, является ли коэффициент переменной индикатора для Smoker
отличается от нуля. То есть F-тест определяет, оказывает ли курильщик значительный эффект на BloodPressure
. Степени свободы для каждого члена модели являются степенями свободы числителя для соответствующего F-теста. Все термины имеют одну степень свободы. В случае категориальной переменной, степени свободы являются количеством переменных показателя. Smoker
имеет только одну переменную индикатора, поэтому она также имеет одну степень свободы.
В линейной регрессии t-statistic полезна для вывода о коэффициентах регрессии. Проверка гипотезы на i коэффициентов проверяет нулевую гипотезу о том, что она равна нулю - что означает, что соответствующий термин не значителен - по сравнению с альтернативной гипотезой о том, что коэффициент отличается от нуля .
Для проверки гипотез на i коэффициента, с
H0: <reservedrangesplaceholder1> <reservedrangesplaceholder0> = 0
H1: <reservedrangesplaceholder1> <reservedrangesplaceholder0> 0,
t -статистический :
где SE (b i) является стандартной ошибкой предполагаемого коэффициента <reservedrangesplaceholder1> <reservedrangesplaceholder0>.
После получения подобранной модели, скажем mdl
, использование fitlm
или stepwiselm
, можно:
Найдите оценки коэффициентов, стандартные ошибки оценок (SE
) и t-статические значения тестов гипотез для соответствующих коэффициентов (tStat
) в выход отображения.
Вызовите отображение с помощью
display(mdl)
Этот пример показывает, как проверить значимость коэффициентов регрессии с помощью 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
столбец. Каждый -статистические тесты на значимость каждого заданного термина других членов в модели. Согласно этим результатам, ни один из коэффициентов не кажется значимым на уровне 5% значимости, хотя значение R-квадрат для модели действительно высоко на уровне 0,97. Это часто указывает на возможную многоколлинейность среди переменных.
Используйте ступенчатую регрессию, чтобы решить, какие переменные включать в модель.
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
.
anova
| coefCI
| coefTest
| fitlm
| LinearModel
| stepwiselm