Улучшите модель линейной регрессии путем добавления или удаления терминов
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать критерий, чтобы использовать, чтобы добавить или удалить термины и максимальное количество шагов, чтобы взять.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
добавить или удалить определенные термины.