Улучшите модель линейной регрессии путем добавления или удаления условий
NewMdl = step(mdl)
NewMdl = step(mdl,Name,Value)
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать критерий, чтобы использовать, чтобы добавить или удалить условия и максимальное количество шагов, чтобы взять.NewMdl
= step(mdl
,Name,Value
)
Stepwise regression является систематическим методом для добавления и удаления условий от линейного или обобщенного, линейного основанный на модели на их статистическом значении в объяснении переменной отклика. Метод начинается с первоначальной модели, заданное использование 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'
. Например, можно задать изменение в значении критерия информации о Akaike, Байесового информационного критерия, R-squared или настроенного R-squared как критерий, чтобы добавить или удалить условия.
В зависимости от условий, включенных в первоначальную модель и порядок, в котором функция добавляет и удаляет условия, функциональная сила создает различные модели от того же набора потенциальных условий. Функция останавливается, когда никакой один шаг не улучшает модель. Однако различная первоначальная модель или различная последовательность шагов не гарантируют лучшую подгонку. В этом смысле пошаговые модели локально оптимальны, но не могут быть глобально оптимальными.
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
добавляет или удаляет период взаимодействия с категориальным предиктором, функция на самом деле добавляет или удаляет группу периодов взаимодействия включая категориальный предиктор.
Используйте stepwiselm
, чтобы задать условия в стартовой модели и продолжить улучшать модель ни до какого одного шага добавления, или удаление термина выгодно.
Используйте addTerms
или removeTerms
, чтобы добавить или удалить определенные условия.