Улучшение обобщенной модели линейной регрессии путем добавления или удаления членов
указывает дополнительные параметры, использующие один или несколько аргументов пары имя-значение. Например, можно указать критерий для добавления или удаления терминов и максимальное количество шагов.NewMdl = step(mdl,Name,Value)
Ступенчатая регрессия - это систематический метод добавления и удаления членов из линейной или обобщенной линейной модели на основе их статистической значимости при объяснении переменной ответа. Метод начинается с начальной модели, указанной с помощью modelspec, а затем сравнивает объяснительную силу инкрементально больших и меньших моделей.
step функция использует пошаговую регрессию вперед и назад для определения окончательной модели. На каждом шаге функция выполняет поиск терминов для добавления в модель или удаления из модели на основе значения 'Criterion' аргумент пары имя-значение.
Значение по умолчанию 'Criterion' для модели линейной регрессии 'sse'. В этом случае stepwiselm и step из LinearModel использовать значение p F-статистики для тестирования моделей с потенциальным термином и без него на каждом шаге. Если член в настоящее время не находится в модели, нулевая гипотеза состоит в том, что член будет иметь нулевой коэффициент при добавлении к модели. Если имеется достаточно доказательств для отклонения нулевой гипотезы, функция добавляет термин к модели. И наоборот, если член в настоящее время находится в модели, нулевая гипотеза состоит в том, что член имеет нулевой коэффициент. Если доказательств для отклонения нулевой гипотезы недостаточно, функция удаляет член из модели.
Пошаговая регрессия делает эти шаги, когда 'Criterion' является 'sse':
Подгоните исходную модель.
Проверьте набор доступных терминов, отсутствующих в модели. Если какой-либо из терминов имеет p-значения, меньшие, чем входной допуск (то есть если маловероятно, что член будет иметь нулевой коэффициент при добавлении в модель), добавьте член с наименьшим p-значением и повторите этот шаг; в противном случае перейдите к шагу 3.
Если какой-либо из доступных терминов в модели имеет p-значения, превышающие допуск выхода (то есть гипотеза о нулевом коэффициенте не может быть отвергнута), удалите член с наибольшим p-значением и вернитесь к шагу 2; в противном случае завершите процесс.
На любом этапе функция не будет добавлять член более высокого порядка, если модель не включает также все члены более низкого порядка, которые являются подмножествами члена более высокого порядка. Например, функция не будет пытаться добавить термин X1:X2^2 если только оба X1 и X2^2 уже находятся в модели. Аналогично, функция не удалит члены более низкого порядка, которые являются подмножествами членов более высокого порядка, которые остаются в модели. Например, функция не будет пытаться удалить X1 или X2^2 если X1:X2^2 остается в модели.
Значение по умолчанию 'Criterion' для обобщенной линейной модели 'Deviance'. stepwiseglm и step из GeneralizedLinearModel выполните аналогичную процедуру для добавления или удаления терминов.
Можно указать другие критерии с помощью 'Criterion' аргумент пары имя-значение. Например, можно указать изменение значения информационного критерия Акаике, байесовского информационного критерия, R-квадрата или скорректированного R-квадрата в качестве критерия для добавления или удаления членов.
В зависимости от терминов, включенных в начальную модель, и порядка, в котором функция добавляет и удаляет термины, функция может создавать различные модели из одного и того же набора потенциальных терминов. Функция завершается, когда ни один шаг не улучшает модель. Однако другая начальная модель или другая последовательность шагов не гарантирует лучшего соответствия. В этом смысле пошаговые модели являются локально оптимальными, но могут не быть глобально оптимальными.
step рассматривает категориальный предиктор следующим образом:
Модель с категориальным предиктором, имеющим уровни (категории) L, включает переменные индикатора L-1. Модель использует первую категорию в качестве опорного уровня, поэтому она не включает переменную индикатора для опорного уровня. Если типом данных категориального предиктора является categorical, то можно проверить порядок категорий с помощью categories и изменить порядок категорий с помощью reordercats для настройки опорного уровня. Дополнительные сведения о создании переменных индикаторов см. в разделе Автоматическое создание фиктивных переменных.
step рассматривает группу переменных индикатора L-1 как одну переменную. Если необходимо рассматривать переменные индикатора как отдельные переменные предиктора, создайте переменные индикатора вручную с помощью dummyvar. Затем при подгонке модели используйте переменные индикатора, за исключением той, которая соответствует опорному уровню категориальной переменной. Для категориального предиктора X, если указаны все столбцы dummyvar(X) и член перехвата в качестве предикторов, тогда матрица дизайна становится дефицитной по рангу.
Термины взаимодействия между непрерывным предиктором и категориальным предиктором с уровнями L состоят из элементного произведения переменных индикатора L-1 с непрерывным предиктором.
Термины взаимодействия между двумя категориальными предикторами с уровнями L и M состоят из (L-1) * (M-1 ) индикаторных переменных для включения всех возможных комбинаций двух категориальных предикторных уровней.
Для категориального предиктора нельзя указать термины более высокого порядка, поскольку квадрат индикатора равен самому себе.
Следовательно, если step добавляет или удаляет категориальный предиктор, функция фактически добавляет или удаляет группу переменных индикатора за один шаг. Аналогично, если step добавляет или удаляет член взаимодействия с категориальным предиктором, функция фактически добавляет или удаляет группу терминов взаимодействия, включая категориальный предиктор.
step рассматривает NaN, '' (пустой символьный вектор), "" (пустая строка), <missing>, и <undefined> значения в tbl, X, и Y для отсутствующих значений. step не использует наблюдения с отсутствующими значениями в подгонке. ObservationInfo свойство подогнанной модели указывает, step использует каждое наблюдение в подгонке.
Использовать stepwiseglm указать термины в начальной модели и продолжать совершенствовать модель до тех пор, пока не будет полезен ни один шаг добавления или удаления термина.
Использовать addTerms или removeTerms для добавления или удаления определенных терминов.
addTerms | GeneralizedLinearModel | removeTerms | stepwiseglm