Класс: LinearMixedModel
Тест гипотезы на фиксированных и случайных эффектах линейной модели смешанных эффектов
возвращает p - значение для F - тестирует на фиксированном - и/или коэффициенты случайных эффектов линейной модели pVal = coefTest(lme,H,C,Name,Value)lme смешанных эффектов, с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, 'REContrast',K говорит coefTest протестировать нулевую гипотезу что H0: H β + KB = C, где β является вектором фиксированных эффектов и B, является вектором случайных эффектов.
lme — Линейная модель смешанных эффектовLinearMixedModel объектЛинейная модель смешанных эффектов, заданная как LinearMixedModel объект, созданный с помощью fitlme или fitlmematrix.
H — Контрасты фиксированных эффектовКонтрасты фиксированных эффектов, заданные как m-by-p матрица, где p является количеством коэффициентов фиксированных эффектов в lme. Каждая строка H представляет один контраст. Столбцы H (слева направо) соответствуйте строкам p-by-1 вектор фиксированных эффектов beta (от начала до конца), возвращенный fixedEffects метод.
Типы данных: single | double
C — Предполагавшееся значениеПредполагавшееся значение для тестирования нулевой гипотезы H*beta = C, заданный как m-by-1 матрица. Здесь, beta вектор оценок фиксированных эффектов, возвращенных fixedEffects метод.
Типы данных: single | double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'DFMethod' — Метод для вычисления аппроксимированных степеней свободы знаменателя'residual' (значение по умолчанию) | 'satterthwaite' | 'none'Метод для вычисления аппроксимированных степеней свободы знаменателя для F - тест, заданный как разделенная запятой пара, состоящая из 'DFMethod' и одно из следующих.
'residual' | Значение по умолчанию. Степени свободы приняты постоянным и равняются n – p, где n является количеством наблюдений, и p является количеством фиксированных эффектов. |
'satterthwaite' | Приближение Satterthwaite. |
'none' | Все степени свободы установлены в бесконечность. |
Например, можно задать приближение Satterthwaite можно следующим образом.
Пример: 'DFMethod','satterthwaite'
'REContrast' — Контрасты случайных эффектовКонтрасты случайных эффектов, заданные как разделенная запятой пара, состоящая из 'REContrast' и m-by-q матричный K, где q является количеством случайных параметров эффектов в lme. Столбцы K (слева направо) соответствуйте строкам случайных эффектов лучше всего линейный несмещенный вектор предиктора B (от начала до конца), возвращенный randomEffects метод.
Типы данных: single | double
pVal — p - значениеp - значение для F - тестирует на фиксированных коэффициентах и/или коэффициентах случайных эффектов линейной модели lme смешанных эффектов, возвращенный как скалярное значение.
F — F - статистическая величинаF-, возвращенная как скалярное значение.
DF1 — Степени свободы числителя для FСтепени свободы числителя для F, возвращенный как скалярное значение.
Если вы тестируете нулевую гипотезу H0: H β = 0, или H0: H β = C, затем DF1 равно количеству линейно независимых строк в H.
Если вы тестируете нулевую гипотезу H0: H β + KB = C, затем DF1 равно количеству линейно независимых строк в [H,K].
DF2 — Степени свободы знаменателя для FСтепени свободы знаменателя для F, возвращенный как скалярное значение. Значение DF2 зависит от опции, которую вы выбираете для DFMethod.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','shift.mat'))
Данные показывают абсолютные отклонения от целевой качественной характеристики, измеренной от продуктов, что пять операторов производят во время трех различных сдвигов: утро, вечер и ночь. Это - рандомизированная блочная конструкция, где операторы являются блоками. Эксперимент спроектирован, чтобы изучить удар времени сдвига на производительности. Критерием качества работы является абсолютное отклонение качественных характеристик от целевого значения. Это - симулированные данные.
Shift и Operator номинальные переменные.
shift.Shift = nominal(shift.Shift); shift.Operator = nominal(shift.Operator);
Подбирайте линейную модель смешанных эффектов со случайным прерыванием, сгруппированным оператором, чтобы оценить, если существует значительная разница в производительности согласно времени сдвига.
lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)')lme =
Linear mixed-effects model fit by ML
Model information:
Number of observations 15
Fixed effects coefficients 3
Random effects coefficients 5
Covariance parameters 2
Formula:
QCDev ~ 1 + Shift + (1 | Operator)
Model fit statistics:
AIC BIC LogLikelihood Deviance
59.012 62.552 -24.506 49.012
Fixed effects coefficients (95% CIs):
Name Estimate SE tStat DF pValue
{'(Intercept)' } 3.1196 0.88681 3.5178 12 0.0042407
{'Shift_Morning'} -0.3868 0.48344 -0.80009 12 0.43921
{'Shift_Night' } 1.9856 0.48344 4.1072 12 0.0014535
Lower Upper
1.1874 5.0518
-1.4401 0.66653
0.93227 3.0389
Random effects covariance parameters (95% CIs):
Group: Operator (5 Levels)
Name1 Name2 Type Estimate
{'(Intercept)'} {'(Intercept)'} {'std'} 1.8297
Lower Upper
0.94915 3.5272
Group: Error
Name Estimate Lower Upper
{'Res Std'} 0.76439 0.49315 1.1848
Протестируйте, если все коэффициенты фиксированных эффектов за исключением прерывания 0.
pVal = coefTest(lme)
pVal = 7.5956e-04
Маленькое - значение указывает, что не все коэффициенты фиксированных эффектов 0.
Протестируйте значение Shift термин с помощью контрастной матрицы.
H = [0 1 0; 0 0 1]; pVal = coefTest(lme,H)
pVal = 7.5956e-04
Протестируйте значение Shift термин с помощью anova метод.
anova(lme)
ans =
ANOVA marginal tests: DFMethod = 'Residual'
Term FStat DF1 DF2 pValue
{'(Intercept)'} 12.375 1 12 0.0042407
{'Shift' } 13.864 2 12 0.00075956
- значение для Shift, 0.00075956, эквивалентен - значение предыдущего теста гипотезы.
Протестируйте, если существует какое-либо различие между вечерними и утренними сдвигами.
pVal = coefTest(lme,[0 1 -1])
pVal = 3.6147e-04
Это маленькое - значение указывает, что производительность операторов не является тем же самым утром и вечерними сменами.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','weight.mat'))
weight содержит данные из продольного исследования, где 20 предметов случайным образом присвоены 4 программам подготовки, и их потеря веса зарегистрирована более чем шесть 2-недельных периодов времени. Это - симулированные данные.
Храните данные в таблице. Задайте Subject и Program как категориальные переменные.
tbl = table(InitialWeight,Program,Subject,Week,y); tbl.Subject = nominal(tbl.Subject); tbl.Program = nominal(tbl.Program);
Подбирайте линейную модель смешанных эффектов, где начальный вес, тип программы, неделя и взаимодействие между неделей и типом программы являются фиксированными эффектами. Прерывание и неделя варьируется предметом.
lme = fitlme(tbl,'y ~ InitialWeight + Program*Week + (Week|Subject)')lme =
Linear mixed-effects model fit by ML
Model information:
Number of observations 120
Fixed effects coefficients 9
Random effects coefficients 40
Covariance parameters 4
Formula:
y ~ 1 + InitialWeight + Program*Week + (1 + Week | Subject)
Model fit statistics:
AIC BIC LogLikelihood Deviance
-22.981 13.257 24.49 -48.981
Fixed effects coefficients (95% CIs):
Name Estimate SE tStat DF
{'(Intercept)' } 0.66105 0.25892 2.5531 111
{'InitialWeight' } 0.0031879 0.0013814 2.3078 111
{'Program_B' } 0.36079 0.13139 2.746 111
{'Program_C' } -0.033263 0.13117 -0.25358 111
{'Program_D' } 0.11317 0.13132 0.86175 111
{'Week' } 0.1732 0.067454 2.5677 111
{'Program_B:Week'} 0.038771 0.095394 0.40644 111
{'Program_C:Week'} 0.030543 0.095394 0.32018 111
{'Program_D:Week'} 0.033114 0.095394 0.34713 111
pValue Lower Upper
0.012034 0.14798 1.1741
0.022863 0.00045067 0.0059252
0.0070394 0.10044 0.62113
0.80029 -0.29319 0.22666
0.39068 -0.14706 0.3734
0.011567 0.039536 0.30686
0.68521 -0.15026 0.2278
0.74944 -0.15849 0.21957
0.72915 -0.15592 0.22214
Random effects covariance parameters (95% CIs):
Group: Subject (20 Levels)
Name1 Name2 Type Estimate
{'(Intercept)'} {'(Intercept)'} {'std' } 0.18407
{'Week' } {'(Intercept)'} {'corr'} 0.66841
{'Week' } {'Week' } {'std' } 0.15033
Lower Upper
0.12281 0.27587
0.21077 0.88573
0.11004 0.20537
Group: Error
Name Estimate Lower Upper
{'Res Std'} 0.10261 0.087882 0.11981
Протестируйте на значение взаимодействия между Program и Week.
H = [0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 0 1];
pVal = coefTest(lme,H)pVal = 0.9775
Верхний уровень - значение указывает что взаимодействие между Program и Week не является статистически значительным.
Теперь протестируйте ли все коэффициенты, включающие Program 0.
H = [0 0 1 0 0 0 0 0 0;
0 0 0 1 0 0 0 0 0;
0 0 0 0 1 0 0 0 0;
0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 0 1];
C = [0;0;0;0;0;0];
pVal = coefTest(lme,H,C)pVal = 0.0274
- значение 0,0274 указывает что не все коэффициенты, включающие Program нуль.
Загрузите выборочные данные.
load fluflu массив набора данных имеет Date переменная и 10 переменных, содержащих оцененные уровни гриппа (в 9 различных областях, оцененных от поисковых запросов Google®, плюс общенациональная оценка от CDC).
Чтобы подбирать линейно смешанную модель эффектов, ваши данные должны быть в правильно отформатированном массиве набора данных. Чтобы подбирать линейную модель смешанных эффектов с уровнями гриппа как ответы и область как переменный предиктор, объедините эти девять столбцов, соответствующих областям в массив. Новый массив набора данных, flu2, должен иметь переменную отклика, FluRate, номинальная переменная, Region, это показывает, какая область каждая оценка от, и сгруппированная переменная Date.
flu2 = stack(flu,2:10,'NewDataVarName','FluRate',... 'IndVarName','Region'); flu2.Date = nominal(flu2.Date);
Подбирайте линейную модель смешанных эффектов с фиксированными эффектами для области и случайного прерывания, которое варьируется Date.
lme = fitlme(flu2,'FluRate ~ 1 + Region + (1|Date)')lme =
Linear mixed-effects model fit by ML
Model information:
Number of observations 468
Fixed effects coefficients 9
Random effects coefficients 52
Covariance parameters 2
Formula:
FluRate ~ 1 + Region + (1 | Date)
Model fit statistics:
AIC BIC LogLikelihood Deviance
318.71 364.35 -148.36 296.71
Fixed effects coefficients (95% CIs):
Name Estimate SE tStat DF
{'(Intercept)' } 1.2233 0.096678 12.654 459
{'Region_MidAtl' } 0.010192 0.052221 0.19518 459
{'Region_ENCentral'} 0.051923 0.052221 0.9943 459
{'Region_WNCentral'} 0.23687 0.052221 4.5359 459
{'Region_SAtl' } 0.075481 0.052221 1.4454 459
{'Region_ESCentral'} 0.33917 0.052221 6.495 459
{'Region_WSCentral'} 0.069 0.052221 1.3213 459
{'Region_Mtn' } 0.046673 0.052221 0.89377 459
{'Region_Pac' } -0.16013 0.052221 -3.0665 459
pValue Lower Upper
1.085e-31 1.0334 1.4133
0.84534 -0.092429 0.11281
0.3206 -0.050698 0.15454
7.3324e-06 0.13424 0.33949
0.14902 -0.02714 0.1781
2.1623e-10 0.23655 0.44179
0.18705 -0.033621 0.17162
0.37191 -0.055948 0.14929
0.0022936 -0.26276 -0.057514
Random effects covariance parameters (95% CIs):
Group: Date (52 Levels)
Name1 Name2 Type Estimate
{'(Intercept)'} {'(Intercept)'} {'std'} 0.6443
Lower Upper
0.5297 0.78368
Group: Error
Name Estimate Lower Upper
{'Res Std'} 0.26627 0.24878 0.285
Протестируйте гипотезу, что случайный термин эффектов в течение недели 10/9/2005 является нулем.
[~,~,STATS] = randomEffects(lme); % Compute the random-effects statistics (STATS) STATS.Level = nominal(STATS.Level); K = zeros(length(STATS),1); K(STATS.Level == '10/9/2005') = 1; pVal = coefTest(lme,[0 0 0 0 0 0 0 0 0],0,'REContrast',K')
pVal = 0.1692
Переоборудуйте модель на этот раз случайным прерыванием и наклоном.
lme = fitlme(flu2,'FluRate ~ 1 + Region + (1 + Region|Date)');Протестируйте гипотезу что объединенный коэффициент области WNCentral в течение недели 10/9/2005 является нулем.
[~,~,STATS] = randomEffects(lme); STATS.Level = nominal(STATS.Level); K = zeros(length(STATS),1); K(STATS.Level == '10/9/2005' & flu2.Region == 'WNCentral') = 1; pVal = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K')
pVal = 1.4739e-12
Также возвратитесь - статистическая величина с числителем и степенями свободы знаменателя.
[pVal,F,DF1,DF2] = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K')pVal = 1.4739e-12
F = 52.9777
DF1 = 1
DF2 = 459
Повторите тест с помощью приближения Satterthwaite в степенях свободы знаменателя.
[pVal,F,DF1,DF2] = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K',... 'DFMethod','satterthwaite')
pVal = 1.4293e-06
F = 52.9777
DF1 = 1
DF2 = 16.7081
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.