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

Введение в модели Смешанных Эффектов

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

Fixed effects представляет параметры генеральной совокупности, принятые, чтобы быть тем же каждым разом, когда данные собраны. Оценка фиксированных эффектов является традиционной областью моделирования регрессии. Random effects, для сравнения, является демонстрационно-зависимыми случайными переменными. В моделировании должны быть заданы случайное действие эффектов как дополнительные остаточные члены, и их дистрибутивы и ковариации.

Например, рассмотрите модель устранения препарата от кровотока. Модель использует время t в качестве предиктора и концентрации препарата C как ответ. Нелинейный образцовый термин C 0e–rt комбинирует параметры C 0 и r, представление, соответственно, начальная концентрация и уровень устранения. Если данные собраны через несколько человек, разумно принять, что уровень устранения является случайной переменной r i в зависимости от отдельного i, отличающегося вокруг среднего значения генеральной совокупности r¯. Термин C 0e–rt становится

C0e[r¯+(rir¯)]t=C0e(β+bi)t,

где β = r¯ фиксированный эффект и b i = rir¯ случайный эффект.

Случайные эффекты полезны, когда данные попадают в естественные группы. В модели устранения препарата группы являются просто людьми при исследовании. Более сложные модели могут сгруппировать данные возрастом человека, весом, диетой, и т.д. Несмотря на то, что группы не являются особым вниманием исследования, добавляя, что случайные эффекты к модели расширяют надежность выводов вне определенной выборки людей.

Счет Mixed-effects models и зафиксированные и случайные эффекты. Как со всеми моделями регрессии, их цель состоит в том, чтобы описать переменную отклика как функцию переменных прогноза. Модели смешанных эффектов, однако, распознают корреляции в демонстрационных подгруппах. Таким образом они обеспечивают компромисс между игнорированием групп данных полностью и подбором кривой каждой группе с отдельной моделью.

Иерархия модели смешанных эффектов

Предположим, что данные для нелинейной модели регрессии попадают в один из m отличные группы i = 1..., m. Чтобы составлять группы в модели, напишите ответу j в группе i как:

yij=f(φ,xij)+εij

y i, j является ответом, x i j, является вектором предикторов, φ, является вектором параметров модели и ε i, j является ошибкой измерения или процесса. Индексный j колеблется от 1 до n i, где n i является количеством наблюдений в группе i. Функциональный f задает форму модели. Часто, x i j является просто временем наблюдения t i j. Ошибки обычно принимаются, чтобы быть независимыми и тождественно, нормально распределенными, с постоянным отклонением.

Оценки параметров в φ описывают генеральную совокупность, принимая, что те оценки являются тем же самым для всех групп. Если, однако, оценки отличаются группой, модель становится

yij=f(φi,xij)+εij

В модели смешанных эффектов φ i может быть комбинацией фиксированного и случайного эффекта:

φi=β+bi

Случайные эффекты b i обычно описываются как многомерные нормально распределенный со средним нулем и ковариацией Ψ. Оценка фиксированных эффектов, β и ковариация случайных эффектов Ψ предоставляют описание генеральной совокупности, которая не принимает параметры φ, i является тем же самым через группы. При оценке случайных эффектов b i также дает описание определенных групп в данных.

Параметры модели не должны быть идентифицированы с отдельными эффектами. В целом design matrices A и B используется, чтобы идентифицировать параметры с линейными комбинациями фиксированных и случайных эффектов:

φi=Aβ+Bbi

Если матрицы проекта отличаются среди групп, модель становится

φi=Aiβ+Bibi

Если матрицы проекта также отличаются среди наблюдений, модель становится

φij=Aijβ+Bijbiyij=f(φij,xij)+εij

Некоторые специфичные для группы предикторы в x i j не могут изменить с наблюдением j. Вызывая тех v i, модель становится

yij=f(φij,xij,vi)+εij

Определение моделей Смешанных Эффектов

Предположим, что данные для нелинейной модели регрессии попадают в один из m отличные группы i = 1..., m. (А именно, предположите, что группы не вкладываются.), Чтобы задать общую нелинейную модель смешанных эффектов для этих данных:

  1. Задайте специфичные для группы параметры модели φ i как линейные комбинации фиксированных эффектов β и случайные эффекты b i.

  2. Задайте значения ответа y i как нелинейный функциональный f параметров и специфичных для группы переменных прогноза X i.

Модель:

φi=Aiβ+Bibiyi=f(φi,Xi)+εibiN(0,Ψ)εiN(0,σ2)

Эта формулировка нелинейной модели смешанных эффектов использует следующее обозначение:

φ iВектор специфичных для группы параметров модели
βВектор фиксированных эффектов, моделируя параметры генеральной совокупности
b iВектор многомерных нормально распределенных специфичных для группы случайных эффектов
A iСпецифичная для группы матрица проекта для объединения фиксированных эффектов
B iСпецифичная для группы матрица проекта для объединения случайных эффектов
\XiМатрица данных специфичных для группы значений предиктора
y iВектор данных специфичных для группы значений ответа
fОбщая, действительная функция φ i и X i
ε iВектор специфичных для группы ошибок, принятых, чтобы быть независимым, тождественно, нормально распределенный, и независимый от b i
ΨКовариационная матрица для случайных эффектов
σ2Ошибочное отклонение, принятое, чтобы быть постоянным через наблюдения

Например, рассмотрите модель устранения препарата от кровотока. Модель включает две перекрывающихся фазы:

  • p начальной фазы, во время которого концентрации препарата достигают равновесия с окружающими тканями

  • Вторая фаза q, во время которой препарат устраняется из кровотока

Для данных по нескольким людям i модель

yij=Cpierpitij+Cqierqitij+εij,

где y i j является наблюдаемой концентрацией в отдельном i во время t i j. Модель позволяет в течение различного времени выборки и различных количеств наблюдений для различных людей.

Уровни устранения r p i и r q i должны быть положительны быть физически значимыми. Осуществите это путем представления логарифмических уровней R p i = журнал (r p i) и R q i = журнал (r q i) и перепараметризации модели:

yij=Cpieexp(Rpi)tij+Cqieexp(Rqi)tij+εij

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

Чтобы ввести зафиксированные эффекты β и случайные эффекты b i для всех параметров модели, повторно выразите модель можно следующим образом:

yij=[C¯p+(CpiC¯p)]eexp[R¯p+(RpiR¯p)]tij+[C¯q+(CqiC¯q)]eexp[R¯q+(RqiR¯q)]tij+εij=(β1+b1i)eexp(β2+b2i)tij+(β3+b3i)eexp(β4+b4i)tij+εij

В обозначении общей модели:

β=(β1β4),bi=(bi1bi4),yi=(yi1yini),Xi=(ti1tini),

где n i является количеством наблюдений за отдельным i. В этом случае матрицы проекта A i и B i являются, по крайней мере, первоначально, единичными матрицами 4 на 4. Матрицы проекта могут быть изменены, по мере необходимости, чтобы ввести взвешивание отдельных эффектов или зависимость времени.

Подбор кривой модели и оценка ковариационной матрицы Ψ часто приводят к дальнейшим улучшениям. Относительно небольшая оценка для отклонения случайного эффекта предполагает, что это может быть удалено из модели. Аналогично, относительно небольшие оценки для ковариаций среди определенных случайных эффектов предполагает, что полная ковариационная матрица является ненужной. Поскольку случайные эффекты не наблюдаются, Ψ должен быть оценен косвенно. Определение диагонального или диагонального блоком шаблона ковариации для Ψ может улучшить сходимость и эффективность алгоритма подбора.

Функции Statistics and Machine Learning Toolbox™ nlmefit и nlmefitsa соответствуют общей нелинейной модели смешанных эффектов к данным, оценивая фиксированные и случайные эффекты. Функции также оценивают ковариационную матрицу Ψ для случайных эффектов. Дополнительные диагностические выходные параметры позволяют вам оценивать компромиссы между количеством параметров модели и качеством подгонки.

Определение ковариационных моделей

Если модель в Определении Моделей Смешанных Эффектов принимает зависимый группой ковариант, такой как вес (w), модель становится:

(φ1φ2φ3)=(100010001wi00)(β1β2β3β4)+(100010001)(b1b2b3)

Таким образом параметр φ i для любого человека в i th группа:

(φ1iφ2iφ3i)=(β1+β4*wiβ2β3)+(b1ib2ib3i)

Чтобы задать ковариационную модель, используйте опцию 'FEGroupDesign'.

'FEGroupDesign' является массивом p-by-q-by-m, задающим различный p-by-q, фиксированные эффекты разрабатывают матрицу для каждой из групп m. Используя предыдущий пример, массив напоминает следующее:

  1. Создайте массив.

    % Number of parameters in the model (Phi)
    num_params = 3;
    % Number of covariates
    num_cov = 1;
    % Assuming number of groups in the data set is 7
    num_groups = 7;
    % Array of covariate values
    covariates = [75; 52; 66; 55; 70; 58; 62 ];
    A = repmat(eye(num_params, num_params+num_cov),...
    [1,1,num_groups]);
    A(1,num_params+1,1:num_groups) = covariates(:,1)
  2. Создайте struct с заданной матрицей проекта.

    options.FEGroupDesign = A; 
    
  3. Задайте аргументы для nlmefit (или nlmefitsa) как показано в Моделях Смешанных Эффектов Используя nlmefit и nlmefitsa.

Выбор nlmefit или nlmefitsa

Statistics and Machine Learning Toolbox обеспечивает две функции, nlmefit и nlmefitsa для подбора кривой нелинейным моделям смешанных эффектов. Каждая функция предусматривает различные возможности, которые могут помочь вам решить, чтобы использовать.

Методы приближения

nlmefit предоставляет следующие четыре метода приближения для подбора кривой нелинейным моделям смешанных эффектов:

  • 'LME' — Используйте вероятность для линейной модели смешанных эффектов в текущих условных оценках beta и B. Это значение по умолчанию.

  • 'RELME' — Используйте ограниченную вероятность для линейной модели смешанных эффектов в текущих условных оценках beta и B.

  • 'FO' — Лапласово приближение первого порядка без случайных эффектов.

  • 'FOCE' — Лапласово приближение первого порядка в условных оценках B.

nlmefitsa предоставляет дополнительный метод приближения, Стохастическая максимизация ожидания приближения (SAEM) [24] с тремя шагами:

  1. Симуляция: Сгенерируйте моделируемые значения случайных эффектов b от следующей плотности p (b |Σ), учитывая текущие оценки параметра.

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

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

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

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

Параметры, Характерные для nlmefitsa

Следующие параметры характерны для nlmefitsa. Большая часть управления стохастический алгоритм.

  • Cov0 — Начальное значение для ковариационной матрицы PSI. Должен быть r-by-r положительная определенная матрица. Если пустой, значение по умолчанию зависит от значений BETA0.

  • ComputeStdErrorstrue, чтобы вычислить стандартные погрешности для содействующих оценок и сохранить их в структуре вывода STATS или false (значение по умолчанию), чтобы не использовать это вычисление.

  • LogLikMethod — Задает метод для приближения логарифмической вероятности.

  • NBurnIn — Количество начальных итераций выжигания дефектов, во время которых не повторно вычисляются оценки параметра. Значение по умолчанию равняется 5.

  • NIterations — Средства управления, сколько итераций выполняется для каждой из трех фаз алгоритма.

  • NMCMCIterations — Количество итераций Цепи Маркова Монте-Карло (MCMC).

Модель и требования к данным

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

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

  • Случайные эффекты — Обе функции соответствуют данным к нелинейной функции с параметрами, и параметры могут быть простыми скалярными значениями или линейными функциями ковариантов. nlmefit позволяет любым коэффициентам линейных функций иметь и зафиксированные и случайные эффекты. nlmefitsa поддерживает случайные эффекты только для константы (прерывание) коэффициент линейных функций, но не для наклонных коэффициентов. Таким образом в примере в Определении Ковариационных Моделей, nlmefitsa может обработать только первые три коэффициента бета как случайные эффекты.

  • Образцовая формаnlmefit поддерживает очень общую образцовую спецификацию с немногими ограничениями на матрицы проекта, которые связывают фиксированные коэффициенты и случайные эффекты к параметрам модели. nlmefitsa более строг:

    • Фиксированный проект эффекта должен быть постоянным в каждой группе (для каждого человека), таким образом, зависимый наблюдением проект не поддержан.

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

    • Как упомянуто под Случайными Эффектами, случайный проект эффекта не должен задавать случайные эффекты для наклонных коэффициентов. Это подразумевает, что проект должен состоять из нулей и единиц.

    • Случайный проект эффекта не должен использовать тот же случайный эффект для нескольких коэффициентов и не может использовать больше чем один случайный эффект ни для какого одного коэффициента.

    • Фиксированный проект эффекта не должен использовать тот же коэффициент для нескольких параметров. Это подразумевает, что может иметь самое большее одно ненулевое значение в каждом столбце.

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

  • Сходимость — Как описано в Образцовой форме, nlmefit и nlmefitsa имеет разные подходы к измеряющейся сходимости. nlmefit использует традиционные меры по оптимизации, и nlmefitsa обеспечивает диагностику, чтобы помочь вам судить сходимость случайной симуляции.

На практике nlmefitsa имеет тенденцию быть более устойчивым, и менее вероятно перестать работать на трудных проблемах. Однако nlmefit может сходиться быстрее на проблемах, где он сходится вообще. Некоторые проблемы могут извлечь выгоду из объединенной стратегии, например, путем выполнения nlmefitsa некоторое время, чтобы получить разумные оценки параметра и использования тех в качестве отправной точки для дополнительных итераций с помощью nlmefit.

Используя выходные функции с моделями Смешанных Эффектов

Поле Outputfcn структуры options задает одну или несколько функций что вызовы решателя после каждой итерации. Как правило, вы можете использовать выходную функцию, чтобы построить точки в каждой итерации или отобразить количества оптимизации из алгоритма. Настраивать выходную функцию:

  1. Запишите выходную функцию как функцию файла MATLAB® или локальную функцию.

  2. Используйте statset, чтобы установить значение Outputfcn, чтобы быть указателем на функцию, то есть, имя функции, которому предшествует знак @. Например, если выходной функцией является outfun.m, команда

     options = statset('OutputFcn', @outfun);

    задает OutputFcn, чтобы быть указателем на outfun. Чтобы задать несколько выходных функций, используйте синтаксис:

     options = statset('OutputFcn',{@outfun, @outfun2});
  3. Вызовите функцию оптимизации с options как входной параметр.

Для примера выходной функции смотрите Демонстрационную Выходную функцию.

Структура выходной функции

Функциональная строка определения выходной функции имеет следующую форму:

stop = outfun(beta,status,state)
где

  • бета является текущими фиксированными эффектами.

  • состояние является структурой, содержащей данные из текущей итерации. Поля в состоянии описывают структуру подробно.

  • состояние является текущим состоянием алгоритма. Состояния Алгоритма перечисляют возможные значения.

  • остановка является флагом, который является true или false в зависимости от того, должна ли стандартная программа оптимизации выйти или продолжиться. Смотрите Флаг Остановки для получения дополнительной информации.

Решатель передает значения входных параметров к outfun в каждой итерации.

Поля в состоянии

В следующей таблице перечислены поля структуры status:

Поле Описание
procedure
  • 'ALT' — переменный алгоритм для оптимизации линейных смешанных эффектов или ограниченных линейных смешанных приближений эффектов

  • 'LAP' — оптимизация Лапласового приближения для условной оценки первого порядка или первого порядка

iterationЦелое число, запускающееся от 0.
inner

Структура, описывающая состояние внутренних итераций в ALT и процедурах LAP, с полями:

  • procedure — Когда procedure является 'ALT':

    • 'PNLS' (оштрафованный нелинейный метод наименьших квадратов)

    • 'LME' (линейная оценка смешанных эффектов)

    • 'none'

    Когда procedure является 'LAP',

    • 'PNLS' (оштрафованный нелинейный метод наименьших квадратов)

    • 'PLM' (профилируемая максимизация вероятности)

    • 'none'

  • state — одно из следующего:

    • 'init'

    • 'iter'

    • 'done'

    • 'none'

  • iteration — целое число, запускающееся от 0, или NaN. Для nlmefitsa с итерациями выжигания дефектов выходная функция называется после каждой из тех итераций с отрицательной величиной для STATUS.iteration.

fvalТекущая логарифмическая вероятность
PsiТекущая ковариационная матрица случайных эффектов
thetaТекущая параметризация Psi
mseТекущее ошибочное отклонение

Состояния алгоритма

В следующей таблице перечислены возможные значения для state:

состояниеОписание

'init'

Алгоритм находится в начальном состоянии перед первой итерацией.

'iter'

Алгоритм в конце итерации.

'done'

Алгоритм находится в конечном состоянии после последней итерации.

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

switch state
    case 'iter'
          % Make updates to plot or guis as needed
    case 'init'
          % Setup for plots or guis
    case 'done'
          % Cleanup of plots, guis, or final plot
otherwise
end

Остановка флага

stop выходного аргумента является флагом, который является true или false. Флаг говорит решатель, должно ли это выйти или продолжиться. Следующие примеры показывают типичные способы использовать флаг stop.

Остановка Оптимизации На основе Промежуточных Результатов.  Выходная функция может остановиться, оценка в любой итерации на основе значений аргументов передала в нее. Например, следующая остановка кодовых наборов к истине на основе значения логарифмической вероятности сохранила в поле 'fval' структуры состояния:

stop = outfun(beta,status,state)
stop = false;
% Check if loglikelihood is more than 132.
if status.fval > -132
    stop = true;
end

Остановка Итерации На основе Входа графический интерфейса пользователя.  Если вы разрабатываете графический интерфейс пользователя, чтобы выполнить итерации nlmefit, можно заставить выходную функцию остановиться, когда пользователь нажимает кнопку Stop на графический интерфейсе пользователя. Например, следующий код реализует диалоговое окно, чтобы отменить вычисления:

function retval = stop_outfcn(beta,str,status)
persistent h stop;
if isequal(str.inner.state,'none')
    switch(status)
        case 'init'
            % Initialize dialog
            stop = false;
            h = msgbox('Press STOP to cancel calculations.',...
                'NLMEFIT: Iteration 0 ');
            button = findobj(h,'type','uicontrol');
            set(button,'String','STOP','Callback',@stopper)
            pos = get(h,'Position');
            pos(3) = 1.1 * pos(3);
            set(h,'Position',pos)
            drawnow
        case 'iter'
            % Display iteration number in the dialog title
            set(h,'Name',sprintf('NLMEFIT: Iteration %d',...
                str.iteration))
            drawnow;
        case 'done'
            % Delete dialog
            delete(h);
    end
end
if stop
    % Stop if the dialog button has been pressed
    delete(h)
end
retval = stop;
 
    function stopper(varargin)
        % Set flag to stop when button is pressed
        stop = true;
        disp('Calculation stopped.')
    end
end

Демонстрационная выходная функция

nmlefitoutputfcn является демонстрационной выходной функцией Statistics and Machine Learning Toolbox для nlmefit и nlmefitsa. Это инициализирует или обновляет график с фиксированными эффектами (BETA) и отклонение случайных эффектов (diag (STATUS.Psi)). Для nlmefit график также включает логарифмическую вероятность (STATUS.fval).

nlmefitoutputfcn является выходной функцией по умолчанию для nlmefitsa. Чтобы использовать его с nlmefit, задайте указатель на функцию для него в структуре опций:

opt = statset('OutputFcn', @nlmefitoutputfcn, …)
beta = nlmefit(…, 'Options', opt, …)
Чтобы препятствовать тому, чтобы nlmefitsa использовал этой функции, задайте пустое значение для выходной функции:
opt = statset('OutputFcn', [], …)
beta = nlmefitsa(…, 'Options', opt, …)
nlmefitoutputfcn останавливает nlmefit или nlmefitsa, если вы закрываете фигуру, которую это производит.