Класс: LinearMixedModel
Сравнение линейных моделей смешанных эффектов
возвращает результаты теста отношения правдоподобия, который сравнивает линейные модели смешанных эффектов results = compare(lme,altlme)lme и altlme. Обе модели должны использовать один и тот же вектор отклика при посадке и lme должен быть вложен в altlme для действительного теоретического критерия отношения правдоподобия. Всегда вводите сначала модель меньшего размера, а затем модель большего размера.
compare проверяет следующие нулевые и альтернативные гипотезы:
H0: Наблюдаемый вектор отклика генерируется lme.
H1: Наблюдаемый вектор отклика генерируется моделью altlme.
Рекомендуется подогнать lme и altlme использование метода максимального правдоподобия (ML) до сравнения модели. Если используется метод ограниченного максимального правдоподобия (REML), то обе модели должны иметь одинаковую матрицу конструкции с фиксированными эффектами.
Для проверки фиксированных эффектов используйте compare с моделируемым тестом отношения правдоподобия, когда lme и altlme подходят с помощью ML или используют fixedEffects, anova, или coefTest методы.
также возвращает результаты теста отношения правдоподобия, который сравнивает линейные модели смешанных эффектов results = compare(___,Name,Value)lme и altlme с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.
Например, можно проверить, вложена ли первая входная модель во вторую входную модель.
[ возвращает результаты моделируемого теста отношения правдоподобия, сравнивающего линейные модели смешанных эффектов results,siminfo] = compare(lme,altlme,'NSim',nsim)lme и altlme.
Можно подогнать lme и altlme с использованием ML или REML. Также, lme не обязательно должен быть вложен в altlme. Если для соответствия моделям используется метод ограниченного максимального правдоподобия (REML), то обе модели должны иметь одинаковую матрицу конструкции с фиксированными эффектами.
[ также возвращает результаты моделируемого теста отношения правдоподобия, который сравнивает линейные модели смешанных эффектов results,siminfo] = compare(___,Name,Value)lme и altlme с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.
Например, можно изменить параметры для выполнения теста смоделированного отношения правдоподобия или изменить доверительный уровень доверительного интервала для значения p.
lme - Линейная модель смешанных эффектовLinearMixedModel объектЛинейная модель смешанных эффектов, заданная как LinearMixedModel объект, построенный с помощью fitlme или fitlmematrix.
altlme - Альтернативная линейная модель смешанных эффектовLinearMixedModel объектАльтернативная линейная модель со смешанными эффектами соответствует одному и тому же вектору отклика, но с различными спецификациями модели, указанными как LinearMixedModel объект. lme должен быть вложен в altlme, то есть lme должны быть получены из altlme путем установки фиксированных значений для некоторых параметров, например 0. Можно создать линейный объект смешанных эффектов с помощью fitlme или fitlmematrix.
nsim - Количество повторений для моделированияЧисло репликаций для моделирования в тесте смоделированного отношения правдоподобия, указанное как положительное целое число. Необходимо указать nsim чтобы сделать моделируемый тест отношения правдоподобия.
Пример: 'NSim',1000
Типы данных: double | single
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Alpha' - Уровень значимостиУровень значимости, указанный как разделенная запятыми пара, состоящая из 'Alpha' и скалярное значение в диапазоне от 0 до 1. Для значения α доверительный уровень равен 100 * (1-α)%.
Например, для 99% доверительных интервалов можно указать доверительный уровень следующим образом.
Пример: 'Alpha',0.01
Типы данных: single | double
'Options' - Варианты выполнения теста смоделированного отношения правдоподобияОпции для параллельного выполнения моделируемого теста отношения правдоподобия, указанного как пара, разделенная запятыми, состоящая из 'Options'и структура, созданная statset('LinearMixedModel').
Эти параметры требуют Toolbox™ параллельных вычислений.
compare использует следующие поля.
'UseParallel' |
Для параллельных вычислений необходима панель инструментов параллельных вычислений. |
'UseSubstreams' |
|
'Streams' |
|
Для получения информации о параллельных статистических вычислениях в командной строке введите
help parallelstatsТипы данных: struct
'CheckNesting' - Индикатор для проверки вложенности между двумя моделямиfalse (по умолчанию) | trueИндикатор для проверки вложенности между двумя моделями, указанный как разделенная запятыми пара, состоящая из 'CheckNesting' и одно из следующих.
false | По умолчанию. Никаких проверок. |
true | compare проверяет, является ли модель меньшего размера lme вложен в большую модель altlme. |
lme должен быть вложен в альтернативную модель altlme для действительного теоретического критерия отношения правдоподобия. compare возвращает сообщение об ошибке, если требования к вложению не удовлетворены.
Несмотря на то, что они действительны для обоих тестов, требования к вложению являются более слабыми для теста смоделированного отношения правдоподобия.
Пример: 'CheckNesting',true
Типы данных: single | double
results - Результаты теста отношения правдоподобия или смоделированного теста отношения правдоподобияРезультаты теста отношения правдоподобия или смоделированного теста отношения правдоподобия, возвращенные в виде массива наборов данных с двумя строками. Первая строка предназначена для lme, и вторая строка для altlme. Столбцы results зависит от того, является ли тест отношением правдоподобия или моделируемым тестом отношением правдоподобия.
Если вы используете тест отношения правдоподобия, то results содержит следующие столбцы.
Model | Имя модели |
DF | Степени свободы, то есть количество свободных параметров в модели |
AIC | Информационный критерий Akaike для модели |
BIC | Байесовский информационный критерий для модели |
LogLik | Максимальная вероятность регистрации для модели |
LRStat | Статистика теста отношения правдоподобия для сравнения altlme против lme |
deltaDF | DF для altlme минус DF для lme |
pValue | p-значение для теста отношения правдоподобия |
Если используется тест смоделированного отношения правдоподобия, то results содержит следующие столбцы.
Model | Имя модели |
DF | Степени свободы, то есть количество свободных параметров в модели |
LogLik | Максимальная вероятность регистрации для модели |
LRStat | Статистика теста отношения правдоподобия для сравнения altlme против lme |
pValue | p-значение для теста отношения правдоподобия |
Lower | Нижняя граница доверительного интервала для pValue |
Upper | Верхний предел доверительного интервала для pValue |
siminfo - Выходные данные моделированияВыходные данные моделирования, возвращенные в виде структуры со следующими полями.
nsim | Значение, установленное для nsim. |
alpha | Значение, установленное для 'Alpha'. |
pValueSim | P-значение на основе моделирования. |
pValueSimCI | Доверительный интервал для pValueSim. Первый элемент вектора является нижним пределом, а второй элемент вектора содержит верхний предел. |
deltaDF | Количество свободных параметров в altlme минус количество свободных параметров в lme. DF для altlme минус DF для lme. |
THO | Вектор смоделированной статистики проверки отношения правдоподобия при нулевой гипотезе, что модель lme сгенерировал наблюдаемый вектор ответа y. |
Загрузите образцы данных.
load flu flu массив наборов данных имеет Date переменная и 10 переменных, содержащих оценочные показатели гриппа (в 9 различных регионах, оцененные по поискам Google ®, плюс общенациональная оценка CDC).
Для соответствия модели с линейными смешанными эффектами данные должны находиться в правильно отформатированном массиве наборов данных. Чтобы подогнать линейную модель смешанных эффектов с частотой гриппа в качестве ответов и областью в качестве предикторной переменной, объедините девять столбцов, соответствующих областям, в массив. Новый массив наборов данных, flu2, должна иметь переменную ответа, FluRate, номинальная переменная, Region, которая показывает, из какой области взята каждая оценка, и переменную группировки Date.
flu2 = stack(flu,2:10,'NewDataVarName','FluRate',... 'IndVarName','Region'); flu2.Date = nominal(flu2.Date);
Подгонка линейной модели смешанных эффектов с изменяющимся пересечением и изменяющимся наклоном для каждой области, сгруппированной по Date.
altlme = fitlme(flu2,'FluRate ~ 1 + Region + (1 + Region|Date)');Подгонка линейной модели смешанных эффектов с фиксированными эффектами для области и случайным перехватом, который варьируется в Date.
lme = fitlme(flu2,'FluRate ~ 1 + Region + (1|Date)');Сравните две модели. Также проверьте, lme2 вложен в lme.
compare(lme,altlme,'CheckNesting',true)ans =
Theoretical Likelihood Ratio Test
Model DF AIC BIC LogLik LRStat deltaDF pValue
lme 11 318.71 364.35 -148.36
altlme 55 -305.51 -77.346 207.76 712.22 44 0
Малое значение p, равное 0, указывает на то, что модель altlme значительно лучше, чем более простая модель lme.
Загрузите образцы данных.
load('fertilizer.mat');Массив наборов данных включает в себя данные эксперимента сплит-графика, где почва делится на три блока по типу почвы: песчаная, илистая и суглинистая. Каждый блок разделён на пять участков, где к этим участкам случайным образом отнесены пять различных типов растений томатов (вишня, реликвия, виноград, лоза и слива). Растения томатов на участках затем делят на субплоты, где каждый субплот обрабатывают одним из четырех удобрений. Это смоделированные данные.
Сохранение данных в массиве наборов данных с именем ds, в практических целях и определить Tomato, Soil, и Fertilizer в качестве категориальных переменных.
ds = fertilizer; ds.Tomato = nominal(ds.Tomato); ds.Soil = nominal(ds.Soil); ds.Fertilizer = nominal(ds.Fertilizer);
Подгонка линейной модели смешанных эффектов, где Fertilizer и Tomato являются переменными с фиксированными эффектами, и средняя урожайность варьируется в зависимости от блока (тип почвы) и участков в блоках (типы томатов в типах почвы) независимо.
lmeBig = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');Переформатировать модель после удаления термина взаимодействия Tomato:Fertilizer и термин случайных эффектов (1 | Soil).
lmeSmall = fitlme(ds,'Yield ~ Fertilizer + Tomato + (1|Soil:Tomato)');Сравните две модели, используя тест смоделированного отношения правдоподобия с 1000 репликациями. Этот тест необходимо использовать для проверки как терминов с фиксированным, так и случайным эффектом. Обратите внимание, что обе модели подгоняются с использованием метода фитинга по умолчанию ML. Поэтому нет никаких ограничений на матрицы проектирования с фиксированными эффектами. Если используется метод ограниченного максимального правдоподобия (REML), обе модели должны иметь идентичные матрицы конструкции с фиксированными эффектами.
[table,siminfo] = compare(lmeSmall,lmeBig,'nsim',1000)table =
Simulated Likelihood Ratio Test: Nsim = 1000, Alpha = 0.05
Model DF AIC BIC LogLik LRStat pValue
lmeSmall 10 511.06 532 -245.53
lmeBig 23 522.57 570.74 -238.29 14.491 0.57343
Lower Upper
0.54211 0.60431
siminfo = struct with fields:
nsim: 1000
alpha: 0.0500
pvalueSim: 0.5734
pvalueSimCI: [0.5421 0.6043]
deltaDF: 13
TH0: [1000x1 double]
Высокое значение p предполагает, что большая модель, lme не является значительно лучше, чем модель меньшего размера, lme2. Меньшие значения Akaike и байесовских информационных критериев для lme2 также поддерживают это.
Загрузите образцы данных.
load carbig
Подберите линейную модель смешанных эффектов для миль на галлон (MPG) с фиксированными эффектами для ускорения, лошадиных сил и цилиндров и потенциально коррелированными случайными эффектами для перехвата и ускорения, сгруппированными по модельному году.
Сначала подготовьте матрицы проектирования.
X = [ones(406,1) Acceleration Horsepower]; Z = [ones(406,1) Acceleration]; Model_Year = nominal(Model_Year); G = Model_Year;
Теперь подгоните модель с помощью fitlmematrix с определенными матрицами конструкции и переменными группировки.
lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',.... {'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',... {{'Intercept','Acceleration'}},'RandomEffectGroups',{'Model_Year'});
Уточнение модели с помощью некоррелированных случайных эффектов для перехвата и ускорения. Сначала подготовьте схему случайных эффектов и группирующие переменные случайных эффектов.
Z = {ones(406,1),Acceleration};
G = {Model_Year,Model_Year};
lme2 = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',....
{'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',...
{{'Intercept'},{'Acceleration'}},'RandomEffectGroups',...
{'Model_Year','Model_Year'});
Выдержать сравнение lme и lme2 используя моделируемый тест отношения правдоподобия.
compare(lme2,lme,'CheckNesting',true,'NSim',1000)
ans =
SIMULATED LIKELIHOOD RATIO TEST: NSIM = 1000, ALPHA = 0.05
Model DF AIC BIC LogLik LRStat pValue Lower
lme2 6 2194.5 2218.3 -1091.3
lme 7 2193.5 2221.3 -1089.7 3.0323 0.095904 0.078373
Upper
0.11585
Высокое
-значение указывает, что lme2 не является значительно лучшим приспособлением, чем lme.
Загрузите образцы данных.
load('fertilizer.mat')Массив наборов данных включает в себя данные эксперимента сплит-графика, где почва делится на три блока по типу почвы: песчаная, илистая и суглинистая. Каждый блок разделён на пять участков, где к этим участкам случайным образом отнесены пять различных типов растений томатов (вишня, реликвия, виноград, лоза и слива). Растения томатов на участках затем делят на субплоты, где каждый субплот обрабатывают одним из четырех удобрений. Это смоделированные данные.
Сохранение данных в таблице с именем tblи определить Tomato, Soil, и Fertilizer в качестве категориальных переменных.
tbl = dataset2table(fertilizer); tbl.Tomato = categorical(tbl.Tomato); tbl.Soil = categorical(tbl.Soil); tbl.Fertilizer = categorical(tbl.Fertilizer);
Подгонка линейной модели смешанных эффектов, где Fertilizer и Tomato являются переменными с фиксированными эффектами, и средняя урожайность варьируется в зависимости от блока (тип почвы), а графики в блоках (типы томатов в типах почвы) независимо.
lme = fitlme(tbl,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');Переформатировать модель после удаления термина взаимодействия Tomato:Fertilizer и термин случайных эффектов (1|Soil).
lme2 = fitlme(tbl,'Yield ~ Fertilizer + Tomato + (1|Soil:Tomato)');Создание структуры опций для LinearMixedModel.
opt = statset('LinearMixedModel')opt = struct with fields:
Display: 'off'
MaxFunEvals: []
MaxIter: 10000
TolBnd: []
TolFun: 1.0000e-06
TolTypeFun: []
TolX: 1.0000e-12
TolTypeX: []
GradObj: []
Jacobian: []
DerivStep: []
FunValCheck: []
Robust: []
RobustWgtFun: []
WgtFun: []
Tune: []
UseParallel: []
UseSubstreams: []
Streams: {}
OutputFcn: []
Измените параметры параллельного тестирования.
opt.UseParallel = true;
Запустите параллельную среду.
mypool = parpool();
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6).
Выдержать сравнение lme2 и lme использование теста смоделированного отношения правдоподобия с 1000 репликациями и параллельными вычислениями.
compare(lme2,lme,'nsim',1000,'Options',opt)
ans =
Simulated Likelihood Ratio Test: Nsim = 1000, Alpha = 0.05
Model DF AIC BIC LogLik LRStat pValue Lower Upper
lme2 10 511.06 532 -245.53
lme 23 522.57 570.74 -238.29 14.491 0.53447 0.503 0.56573
Высокое значение p предполагает, что большая модель, lme не является значительно лучше, чем модель меньшего размера, lme2. Меньшие значения AIC и BIC для lme2 также поддерживают это.
При нулевой гипотезе H0 наблюдаемая статистика теста отношения правдоподобия имеет приблизительное хи-квадратичное опорное распределение со степенями свободы deltaDF. При сравнении двух моделей compare вычисляет p-значение для теста отношения правдоподобия, сравнивая наблюдаемую статистику теста отношения правдоподобия с этим хи-квадратичным эталонным распределением.
Значения p, полученные с использованием теста отношения правдоподобия, могут быть консервативными при тестировании на наличие или отсутствие терминов случайных эффектов и антиконсервативными при тестировании на наличие или отсутствие терминов с фиксированными эффектами. Следовательно, используйте fixedEffects, anova, или coefTest способ или моделируемый тест отношения правдоподобия при тестировании на фиксированные эффекты.
Для выполнения теста смоделированного отношения правдоподобия compare сначала генерирует эталонное распределение статистики теста отношения правдоподобия при нулевой гипотезе. Затем он оценивает статистическую значимость альтернативной модели, сравнивая наблюдаемую статистику теста отношения правдоподобия с этим эталонным распределением.
compare производит смоделированное эталонное распределение статистики теста отношения правдоподобия при нулевой гипотезе следующим образом:
Генерировать случайные данные ysim из подогнанной модели lme.
Подгонка модели, указанной в lme и альтернативная модель altlme к моделируемым данным ysim.
Вычислите статистику теста отношения правдоподобия, используя результаты шага 2, и сохраните значение.
Повторить шаги с 1 по 3 nsim времена.
Затем, compare вычисляет значение p для моделируемого теста отношения правдоподобия путем сравнения наблюдаемой статистики теста отношения правдоподобия с моделируемым эталонным распределением. Оценка p-значения представляет собой отношение количества раз, когда статистика теста смоделированного отношения правдоподобия равна или превышает наблюдаемое значение плюс один, к числу повторений плюс один.
Предположим, что наблюдаемая статистика отношения правдоподобия равна T, и смоделированное опорное распределение хранится в векторе TH0. Затем,
1nsim + 1.
Чтобы учесть неопределенность в моделируемом ссылочном распределении, compare вычисляет 100 * (1-α)% доверительный интервал для истинного p-значения.
Можно использовать моделируемый тест отношения правдоподобия для сравнения произвольных линейных моделей смешанных эффектов. То есть, когда вы используете моделируемый тест отношения правдоподобия, lme не обязательно должен быть вложен в altlme, и вы можете lme и altlme с использованием методов максимального правдоподобия (ML) или ограниченного максимального правдоподобия (REML). Если для соответствия моделям используется метод ограниченного максимального правдоподобия (REML), то обе модели должны иметь одинаковую матрицу конструкции с фиксированными эффектами.
'CheckNesting','True' параметр пары «имя-значение» проверяет следующие требования.
Для моделируемого теста отношения правдоподобия:
Для соответствия обеим моделям необходимо использовать один и тот же метод (lme и altlme). compare невозможно сравнить подгонку модели с помощью ML с подгонкой модели с помощью REML.
Обе модели должны соответствовать одному вектору отклика.
Если для подгонки используется REML lme и altlme, то обе модели должны иметь одинаковую матрицу конструкции с фиксированными эффектами.
Максимизированное логарифмическое правдоподобие или ограниченное логарифмическое правдоподобие большей модели (altlme) должна быть больше или равна модели меньшего размера (lme).
Для теоретического испытания, 'CheckNesting','True' проверяет все требования, перечисленные для теста смоделированного отношения правдоподобия, и следующее:
Векторы веса, используемые для подгонки lme и altlme должны быть идентичными.
Если для подгонки используется ML lme и altlme, матрица проектирования с фиксированными эффектами большей модели (altlme) должна содержать модель меньшего размера (lme).
Матрица проектирования случайных эффектов большой модели (altlme) должна содержать модель меньшего размера (lme).
Информационным критерием Акайке (AIC) является AIC = -2 * logLM + 2 * (nc + p + 1), где logLM является максимизированным логарифмическим правдоподобием (или максимизированным ограниченным логарифмическим правдоподобием) модели, а nc + p + 1 - количество параметров, оцененных в модели. p - число коэффициентов с фиксированными эффектами, и nc - общее число параметров в ковариации с случайными эффектами, исключая остаточную дисперсию.
Байесовский информационный критерий (BIC) - BIC = -2 * logLM + ln (neff) * (nc + p + 1), где logLM - максимизированное логарифмическое правдоподобие (или максимизированное ограниченное логарифмическое правдоподобие) модели, neff - эффективное количество наблюдений, а (nc + p + 1) - количество параметров, оцененных в модели.
Если метод подгонки является методом максимального правдоподобия (ML), то neff = n, где n - количество наблюдений.
Если метод подгонки ограничен максимальным правдоподобием (REML), то neff = n - p.
Меньшее значение отклонения указывает на лучшую подгонку. По мере уменьшения величины отклонения как AIC, так и BIC имеют тенденцию к снижению. Как AIC, так и BIC также включают штрафные сроки, основанные на количестве оцениваемых параметров, p. Таким образом, когда количество параметров увеличивается, значения AIC и BIC также имеют тенденцию увеличиваться. При сравнении различных моделей модель с наименьшим значением AIC или BIC рассматривается как наиболее подходящая модель.
LinearMixedModel вычисляет отклонение модели М как минус в два раза превышающее логическое значение этой модели. Пусть LM обозначает максимальное значение функции правдоподобия для модели M. Тогда отклонение модели M равно
logLM.
Меньшее значение отклонения указывает на лучшую подгонку. Предположим, что M1 и M2 являются двумя различными моделями, где M1 вложен в M2. Затем соответствие моделей может быть оценено путем сравнения отклонений Dev1 и Dev2 этих моделей. Разница отклонений
logLM1).
Обычно асимптотическое распределение этого различия имеет распределение хи-квадрат со степенями свободы v, равными числу параметров, которые оцениваются в одной модели, но фиксированы (обычно при 0) в другой. То есть она равна разнице в количестве параметров, оцениваемых в M1 и M2. Значение p для этого теста можно получить с помощью 1 – chi2cdf(Dev,V), где Dev = Dev2 - Dev1.
Однако в моделях со смешанными эффектами, когда некоторые компоненты дисперсии попадают на границу пространства параметров, асимптотическое распределение этой разницы сложнее. Например, рассмотрим гипотезы
H0: ), D - q-на-q симметричная положительная полуопределённая матрица.
H1: D - (q + 1) -by- (q + 1) симметричная положительная полуопределённая матрица.
То есть H1 утверждает, что последняя строка и столбец D отличаются от нуля. Здесь большая модель M2 имеет q + 1 параметров, а меньшая модель M1 имеет q параметров. И Дев имеет 50:50 смесь распределений (q + 1) (Stram and Lee, 1994).
[1] Hox, J. Многоуровневый анализ, методы и применения. Lawrence Erlbaum Associates, Inc., 2002.
[2] Страм Д. О. и Дж. В. Ли. «Тестирование компонентов дисперсии в модели продольных смешанных эффектов». Биометрия, т. 50, 4, 1994, стр. 1171-1177.
Для параллельного выполнения укажите 'Options' аргумент name-value в вызове этой функции и установка 'UseParallel' поле структуры опций для true использование statset.
Например: 'Options',statset('UseParallel',true)
Дополнительные сведения о параллельных вычислениях см. в разделе Запуск функций MATLAB с автоматической параллельной поддержкой (панель инструментов параллельных вычислений).
anova | covarianceParameters | fitlme | fitlmematrix | fixedEffects | LinearMixedModel | randomEffects
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.