addTerms

Класс: GeneralizedLinearModel

Добавьте условия в обобщенную линейную модель

Синтаксис

mdl1 = addTerms(mdl,terms)

Описание

mdl1 = addTerms(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','distr','poisson')
mdl = 
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

Добавьте второй предиктор в модель.

mdl1 = addTerms(mdl,'x2')
mdl1 = 
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

Больше о

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

Алгоритмы

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

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

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

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

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

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

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

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

Ссылки

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