exponenta event banner

Нотация Уилкинсона

Обзор

Нотация Уилкинсона обеспечивает способ описания регрессионных и повторяющихся моделей измерений без указания значений коэффициентов. Эта специализированная нотация идентифицирует переменную ответа и какие переменные предиктора включать или исключать из модели. Можно также включить в формулу модели квадратные и более высокие элементы, элементы взаимодействия и переменные группировки.

Задание модели с помощью нотации Уилкинсона дает несколько преимуществ.

  • Можно включить или исключить отдельные предикторы и термины взаимодействия из модели. Например, использование 'Interactions' пара «имя-значение», доступная в каждой функции аппроксимации модели, включает условия взаимодействия для всех пар переменных. Использование нотации Уилкинсона вместо этого позволяет включать только интересующие условия взаимодействия.

  • Можно изменить формулу модели без изменения матрицы проектирования, если входные данные используют table тип данных. Например, если вы подгоняете начальную модель, используя все доступные переменные предиктора, но решаете удалить переменную, которая не является статистически значимой, то вы можете повторно написать формулу модели, чтобы включить только интересующие переменные. Вносить какие-либо изменения в сами входные данные не требуется.

Statistics and Machine Learning Toolbox™ предлагает несколько функций подбора модели, которые используют нотацию Уилкинсона, в том числе:

  • Линейные модели (с использованием fitlm и stepwiselm)

  • Обобщенные линейные модели (с использованием fitglm)

  • Линейные модели смешанных эффектов (с использованием fitlme и fitlmematrix)

  • Обобщенные линейные модели смешанных эффектов (с использованием fitglme)

  • Модели повторных измерений (с использованием fitrm)

  • Модель пропорциональных рисков Кокса (с использованием fitcox)

Спецификация формулы

Формула для спецификации модели - это вектор символов или строковый скаляр формы y ~ terms, где y - имя переменной ответа, и terms определяет модель, используя имена переменных предиктора и следующие операторы.

Переменные предиктора

Условия предиктора в моделиНотация Уилкинсона
точка пересечения1
нет перехвата–1
x1x1
x1, x2x1 + x2
x1, x2, x1x2x1*x2 или x1 + x2 + x1:x2
x1x2x1:x2
x1, x12x1^2
x12x1^2 – x1

Нотация Уилкинсона по умолчанию включает в модель элемент перехвата, даже если в формулу модели не добавляется 1. Чтобы исключить пересечение из модели, используйте -1 в формуле.

* оператор (для взаимодействий) и ^ оператор (для степеней и степеней) автоматически включает все члены нижнего порядка. Например, при указании x^3, модель будет автоматически включать x3, x2 и x. Если требуется исключить определенные переменные из модели, используйте для удаления нежелательных терминов.

Модели случайных эффектов и смешанных эффектов

Для моделей случайных эффектов и смешанных эффектов спецификация формулы включает имена предикторных переменных и групповых переменных. Например, если прогнозирующая переменная x1 является случайным эффектом, сгруппированным по переменной g, то представим это в нотации Уилкинсона следующим образом:

(x1 | g)

Модели повторных измерений

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

Условия ответа в моделиНотация Уилкинсона
y1y1
y1, y2, y3y1,y2,y3
y1, y2, y3, y4, y5y1–y5

Например, если в качестве ответов используются три повторяющихся измерения, а в качестве переменных-предикторов - коэффициенты x1, x2 и x3, то модель повторяющихся измерений можно определить с помощью нотации Уилкинсона следующим образом:

y1,y2,y3 ~ x1 + x2 + x3

или

y1-y3 ~ x1 + x2 + x3

Имена переменных

Если входные данные (переменные ответа и предиктора) хранятся в таблице или массиве наборов данных, можно указать формулу, используя имена переменных. Например, загрузите carsmall образец данных. Создание таблицы, содержащей Weight, Acceleration, и MPG. Назовите каждую переменную с помощью 'VariableNames' аргумент пары имя-значение фитинговой функции fitlm. Затем подгоните следующую модель к данным:

MPG = β0 + β1Weight + β2Acceleration

load carsmall
tbl = table(Weight,Acceleration,MPG, ...
    'VariableNames',{'Weight','Acceleration','MPG'});
mdl = fitlm(tbl,'MPG ~ Weight + Acceleration')
mdl = 


Linear regression model:
    MPG ~ 1 + Weight + Acceleration

Estimated Coefficients:
                     Estimate         SE         tStat       pValue  
                    __________    __________    _______    __________

    (Intercept)         45.155        3.4659     13.028    1.6266e-22
    Weight          -0.0082475    0.00059836    -13.783    5.3165e-24
    Acceleration       0.19694       0.14743     1.3359       0.18493


Number of observations: 94, Error degrees of freedom: 91
Root Mean Squared Error: 4.12
R-squared: 0.743,  Adjusted R-Squared: 0.738
F-statistic vs. constant model: 132, p-value = 1.38e-27

В отображении объекта модели используются имена переменных, представленные во входной таблице.

Если входные данные хранятся в виде матрицы, можно задать формулу, используя имена переменных по умолчанию, такие как y, x1, и x2. Например, загрузите carsmall образец данных. Создание матрицы, содержащей переменные предиктора Weight и Acceleration. Затем подгоните следующую модель к данным:

MPG = β0 + β1Weight + β2Acceleration

load carsmall
X = [Weight,Acceleration];
y = MPG;
mdl = fitlm(X,y,'y ~ x1 + x2')
mdl = 


Linear regression model:
    y ~ 1 + x1 + x2

Estimated Coefficients:
                    Estimate         SE         tStat       pValue  
                   __________    __________    _______    __________

    (Intercept)        45.155        3.4659     13.028    1.6266e-22
    x1             -0.0082475    0.00059836    -13.783    5.3165e-24
    x2                0.19694       0.14743     1.3359       0.18493


Number of observations: 94, Error degrees of freedom: 91
Root Mean Squared Error: 4.12
R-squared: 0.743,  Adjusted R-Squared: 0.738
F-statistic vs. constant model: 132, p-value = 1.38e-27

Термин x1 в формуле спецификации модели соответствует первому столбцу матрицы переменных предиктора X. Термин x2 соответствует второму столбцу входной матрицы. Термин y соответствует переменной ответа.

Примеры линейной модели

Использовать fitlm и stepwiselm для соответствия линейным моделям.

Перехват и два предиктора

Для модели линейной регрессии с перехватом и двумя предикторами с фиксированными эффектами, такими как

yi = β0 + β1xi1 + β2xi2 + αi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1 + x2'

Отсутствие перехвата и два предиктора

Для модели линейной регрессии без пересечения и двух предикторов с фиксированными эффектами, таких как

yi = β1xi1 + β2xi2 + αi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ -1 + x1 + x2'

Перехват, два предиктора и термин взаимодействия

Для модели линейной регрессии с пересечением два предиктора с фиксированными эффектами и член взаимодействия, такой как

yi = β0 + β1xi1 + β2xi2 + β3xi1xi2 + βi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1*x2'

или

'y ~ x1 + x2 + x1:x2'

Перехват, три предиктора и все эффекты взаимодействия

Для модели линейной регрессии с перехватом, тремя предикторами с фиксированными эффектами и эффектами взаимодействия между всеми тремя предикторами плюс все члены более низкого порядка, такие как

yi = β0 + β1xi1 + β2xi2 + β3xi3 + β4x1xi2 + β5x1xi3 + β6x2xi3 + β7xi1xi2xi3 + αi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1*x2*x3'

Перехват, три предиктора и выбранные эффекты взаимодействия

Для модели линейной регрессии с перехватом, тремя предикторами с фиксированными эффектами и эффектами взаимодействия между двумя предикторами, такими как

yi = β0 + β1xi1 + β2xi2 + β3xi3 + β4x1xi2 + βi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1*x2 + x3'

или

'y ~ x1 + x2 + x3 + x1:x2'

Перехват, три предиктора и только эффекты взаимодействия низкого порядка

Для модели линейной регрессии с перехватом, тремя предикторами с фиксированными эффектами и попарными эффектами взаимодействия между всеми тремя предикторами, но исключая эффект взаимодействия между всеми тремя предикторами одновременно, например,

yi = β0 + β1xi1 + β2xi2 + β3xi3 + β4x1xi2 + β5xi1xi3 + β6xi2xi3 + βi,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1*x2*x3 - x1:x2:x3'

Примеры модели с линейными смешанными эффектами

Использовать fitlme и fitlmematrix для соответствия линейным моделям смешанных эффектов.

Перехват случайного эффекта, без предикторов

Для линейной модели смешанных эффектов, которая содержит случайный перехват, но без предикторных терминов, таких как

yim = β0m,

где

β0m = β00 + b0m, b0m∼N (0, start02)

g является переменной группировки с m уровнями, укажите формулу модели, используя нотацию Уилкинсона следующим образом:

'y ~ (1 | g)'

Случайный перехват и фиксированный наклон для одного предсказателя

Для линейной модели смешанных эффектов, которая содержит фиксированный перехват, случайный перехват и фиксированный наклон для непрерывной прогнозирующей переменной, такой как

yim = β0m + β1xim,

где

β0m = β00 + b0m, b0m∼N (0, start02)

g является переменной группировки с m уровнями, укажите формулу модели, используя нотацию Уилкинсона следующим образом:

'y ~ x1 + (1 | g)'

Случайный перехват и случайный наклон для одного предсказателя

Для линейной модели смешанных эффектов, которая содержит фиксированный перехват, плюс случайный перехват и случайный наклон, которые имеют возможную корреляцию между ними, например

yim = β0m + β1mxim,

где

β0m =β00+b0m

β1m =β10+b1m

[b0mb1m]∼N{0,σ2D (start)}

и D является 2-на-2 симметричной и положительной полуопределённой ковариационной матрицей, параметризованной вектором дисперсионной составляющей, задать формулу модели, используя нотацию Уилкинсона следующим образом:

'y ~ x1 + (x1 | g)'

Шаблон ковариационной матрицы случайных эффектов определяется функцией аппроксимации модели. Чтобы задать шаблон матрицы ковариации, используйте пары имя-значение, доступные через fitlme при подгонке модели. Например, можно указать предположение, что случайный перехват и случайный наклон не зависят друг от друга, используя 'CovariancePattern' аргумент пары имя-значение в fitlme.

Обобщенные примеры линейной модели

Использовать fitglm и stepwiseglm для соответствия обобщенным линейным моделям.

В обобщенной линейной модели переменная отклика y имеет распределение, отличное от нормального, но модель можно представить в виде уравнения, которое является линейным в коэффициентах регрессии. Для задания обобщенной линейной модели требуется три детали:

  • Распределение переменной ответа

  • Функция связи

  • Линейный предиктор

Распределение переменной ответа и функции связи определяется с помощью аргументов пары имя-значение в функции аппроксимации fitglm или stepwiseglm.

Линейный предиктор части уравнения, который появляется в правой части ~ в формуле спецификации модели использует нотацию Уилкинсона так же, как и в примерах линейной модели.

Обобщенная линейная модель моделирует функцию связи, а не фактический отклик, как y. Это отражается на отображении выходных данных для объекта модели.

Перехват и два предиктора

Для обобщенной модели линейной регрессии с перехватом и двумя предикторами, такими как

log (yi) = β0 + β1xi1 + β2xi2,

задайте формулу модели с помощью нотации Уилкинсона следующим образом:

'y ~ x1 + x2'

Примеры модели обобщенных линейных смешанных эффектов

Использовать fitglme для соответствия обобщенным линейным моделям смешанных эффектов.

В обобщенной линейной модели со смешанными эффектами переменная отклика y имеет распределение, отличное от нормального, но модель можно представить в виде уравнения, которое является линейным в коэффициентах регрессии. Для задания обобщенной линейной модели требуется три детали:

  • Распределение переменной ответа

  • Функция связи

  • Линейный предиктор

Распределение переменной ответа и функции связи определяется с помощью аргументов пары имя-значение в функции аппроксимации fitglme.

Линейный предиктор части уравнения, который появляется в правой части ~ символ в формуле спецификации модели, использует нотацию Уилкинсона так же, как для примеров линейной модели со смешанными эффектами.

Обобщенная линейная модель моделирует функцию связи как y, а не саму реакцию. Это отражается на отображении выходных данных для объекта модели.

Шаблон ковариационной матрицы случайных эффектов определяется функцией аппроксимации модели. Чтобы задать шаблон матрицы ковариации, используйте пары имя-значение, доступные через fitglme при подгонке модели. Например, можно указать предположение, что случайный перехват и случайный наклон не зависят друг от друга, используя 'CovariancePattern' аргумент пары имя-значение в fitglme.

Случайный перехват и фиксированный наклон для одного предсказателя

Для обобщенной линейной модели смешанных эффектов, которая содержит фиксированный перехват, случайный перехват и фиксированный наклон для непрерывной предикторной переменной, где отклик может быть смоделирован с использованием распределения Пуассона, такого как

log (yim) = β0 + β1xim + bi,

где

bi∼N (0, startb2)

g является переменной группировки с m уровнями, укажите формулу модели, используя нотацию Уилкинсона следующим образом:

'y ~ x1 + (1 | g)'

Примеры моделей повторных измерений

Использовать fitrm подгонка под модели повторяющихся измерений.

Один предиктор

Для модели повторных измерений с пятью измерениями отклика и одной предикторной переменной укажите формулу модели, используя нотацию Уилкинсона следующим образом:

'y1-y5 ~ x1'

Три предиктора и термин взаимодействия

Для модели повторных измерений с пятью измерениями отклика и тремя предикторными переменными, плюс взаимодействие между двумя предикторными переменными, укажите формулу модели, используя нотацию Уилкинсона следующим образом:

'y1-y5 ~ x1*x2 + x3'

Ссылки

[1] Уилкинсон, G. N. и К. Э. Роджерс. «Символическое описание факторных моделей для анализа дисперсии». J. Royal Statistics Society 22, pp. 392-399, 1973.