Класс: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.