addTerms

Класс: GeneralizedLinearModel

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

Синтаксис

mdl1 = addTerms(mdl,terms)

Описание

mdl1 = addTerms(mdl,terms) возвращает обобщенную линейную модель то же самое как mdl, но с дополнительными условиями.

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

mdl

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

terms

Условия, чтобы добавить к модели регрессии mdl. Задайте как любой a:

  • Текст, представляющий одно или несколько условий, чтобы добавить. Для получения дополнительной информации смотрите Обозначение Уилкинсона.

  • Строка или строки в матрице условий (см. modelspec в fitglm). Например, если существует три переменные A, B и C:

    [0 0 0] represents a constant term or intercept
    [0 1 0] represents B; equivalently, A^0 * B^1 * C^0
    [1 0 1] represents A*C
    [2 0 0] represents A^2
    [0 1 2] represents 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.