removeTerms

Класс: GeneralizedLinearModel

Удалите условия из обобщенной линейной модели

Синтаксис

mdl1 = removeTerms(mdl,terms)

Описание

mdl1 = removeTerms(mdl,terms) возвращает линейную модель то же самое как mdl но с меньшим количеством условий.

Входные параметры

mdl

Обобщенная линейная модель, как создано fitglm или stepwiseglm.

terms

Условия, чтобы удалить из модели mdl регрессии, заданный как одно из следующего:

  • Вектор символов или скалярная формула строки в Обозначении Уилкинсона, представляющем одно или несколько условий. Имена переменных в формуле должны быть допустимыми идентификаторами MATLAB®.

  • Матрица условий T из размера t-by-p, где t является количеством условий и p, является количеством переменных предикторов в mdl. Значение T(i,j) экспонента переменной j в термине i.

    Например, предположите mdl имеет три переменные AB, и C в том порядке. Каждая строка T представляет один термин:

    • [0 0 0] — Постоянный термин или прерывание

    • [0 1 0] B; эквивалентно, A^0 * B^1 * C^0

    • [1 0 1]A*C

    • [2 0 0]A^2

    • [0 1 2]B*(C^2)

Выходные аргументы

mdl1

Обобщенная линейная модель, то же самое как mdl но без условий, данных в terms. Можно установить mdl1 равняйтесь mdl перезаписывать mdl.

Примеры

развернуть все

Этот пример делает модель с помощью двух предикторов, затем удаляет тот.

Сгенерируйте искусственные данные для модели, случайных чисел Пуассона с двумя базовыми предикторами X(1) и X(2).

rng('default') % for reproducibility
rndvars = randn(100,2);
X = [2+rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);

Создайте обобщенную линейную модель регрессии данных Пуассона.

mdl = fitglm(X,y,'y ~ x1 + x2','distr','poisson')
mdl = 
Generalized linear regression model:
    log(y) ~ 1 + x1 + x2
    Distribution = Poisson

Estimated Coefficients:
                   Estimate       SE        tStat     pValue
                   ________    _________    ______    ______

    (Intercept)     1.0405      0.022122    47.034      0   
    x1              0.9968      0.003362    296.49      0   
    x2               1.987     0.0063433    313.24      0   


100 observations, 97 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 2.95e+05, p-value = 0

Удалите второй предиктор из модели.

mdl1 = removeTerms(mdl,'x2')
mdl1 = 
Generalized linear regression model:
    log(y) ~ 1 + x1
    Distribution = Poisson

Estimated Coefficients:
                   Estimate       SE        tStat     pValue
                   ________    _________    ______    ______

    (Intercept)     2.7784      0.014043    197.85      0   
    x1              1.1732     0.0033653     348.6      0   


100 observations, 98 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 1.25e+05, p-value = 0

Больше о

развернуть все

Алгоритмы

  • removeTerms обрабатывает категориальный предиктор можно следующим образом:

    • Модель с категориальным предиктором, который имеет уровни L (категории), включает   переменные индикатора L - 1. Модель использует первую категорию в качестве контрольного уровня, таким образом, это не включает переменную индикатора для контрольного уровня. Если типом данных категориального предиктора является categorical, затем можно проверять порядок категорий при помощи categories и переупорядочьте категории при помощи reordercats настроить контрольный уровень.

    • removeTerms обрабатывает группу   переменных индикатора L - 1 как одна переменная. Если вы хотите обработать переменные индикатора как отличные переменные предикторы, создайте переменные индикатора вручную при помощи dummyvar. Затем используйте переменные индикатора, кроме той, соответствующей контрольному уровню категориальной переменной, когда вы подберете модель. Для категориального предиктора X, если вы задаете все столбцы dummyvar(X) и термин прерывания в качестве предикторов, затем матрица проекта становится неполным рангом.

    • Периоды взаимодействия между непрерывным предиктором и категориальным предиктором с уровнями L состоят из поэлементного произведения   переменных индикатора L - 1 с непрерывным предиктором.

    • Периоды взаимодействия между двумя категориальными предикторами с L и уровнями M состоят из (L – 1) *   переменные индикатора (M - 1), чтобы включать все возможные комбинации двух категориальных уровней предиктора.

    • Вы не можете задать условия высшего порядка для категориального предиктора, потому что квадрат индикатора равен себе.

Альтернативы

step добавляет или удаляет условия из модели с помощью жадного алгоритма с одним шагом.

Ссылки

[1] Уилкинсон, G. N. и К. Э. Роджерс. Символьное описание факториальных моделей для дисперсионного анализа. Общество Статистики Ж. Руаяля 22, стр 392–399, 1973.