Класс: LinearMixedModel
Тест гипотезы на фиксированных и случайных эффектах линейной модели смешанных эффектов
pVal = coefTest(lme)pVal = coefTest(lme,H)pVal = coefTest(lme,H,C)pVal = coefTest(lme,H,C,Name,Value)[pVal,F,DF1,DF2]
= coefTest(___) возвращает 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 Lower
'(Intercept)' '(Intercept)' 'std' 1.8297 0.94915
Upper
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 Lower
'(Intercept)' '(Intercept)' 'std' 0.18407 0.12281
'Week' '(Intercept)' 'corr' 0.66841 0.21076
'Week' 'Week' 'std' 0.15033 0.11004
Upper
0.27587
0.88573
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 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.
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 Lower
'(Intercept)' '(Intercept)' 'std' 0.6443 0.5297
Upper
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.0660e-12
Также возвратитесь - статистическая величина с числителем и степенями свободы знаменателя.
[pVal,F,DF1,DF2] = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K')pVal = 1.0660e-12
F = 53.6881
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 = NaN
F = 53.6881
DF1 = 1
DF2 = 0
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.