Класс: LinearMixedModel
Тест гипотезы на фиксированных и случайных эффектах линейной модели смешанных эффектов
возвращает p -value для F -test на коэффициентах фиксированных - и/или случайных эффектов 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 -test, заданный как разделенная разделенными запятой парами, состоящая из 'DFMethod'
и одно из следующих.
'residual' | По умолчанию. Степени свободы приняты постоянными и равными n - p, где n - количество наблюдений и p - количество фиксированных эффектов. |
'satterthwaite' | Саттертвейское приближение. |
'none' | Все степени свободы установлены в бесконечность. |
Например, можно задать приближение Саттертвейта следующим образом.
Пример: 'DFMethod','satterthwaite'
'REContrast'
- Случайные эффекты контрастируютСлучайные эффекты контрастируют, заданные как разделенная разделенными запятой парами, состоящая из 'REContrast'
и матрицу m -by q K
, где q количество параметров случайных эффектов в lme
. Столбцы K
(слева направо) соответствуют строкам наилучшего линейного объективного вектора предиктора со случайными эффектами B
(сверху вниз), возвращаемый randomEffects
способ.
Типы данных: single
| double
F
- F -статистическийF -статистический, возвращенный как скалярное значение.
DF1
- Числитель степеней свободы для F
Числитель степеней свободы для F
, возвращается как скалярное значение.
Если Вы проверяете нулевую гипотезу H0: <reservedrangesplaceholder5> <reservedrangesplaceholder4> = 0, или H0: <reservedrangesplaceholder3> <reservedrangesplaceholder2> = C, тогда DF1
равно количеству линейно независимых строк в H
.
Если Вы проверяете нулевую гипотезу H0: <reservedrangesplaceholder4> <reservedrangesplaceholder3> + KB = C, тогда DF1
равно количеству линейно независимых строк в [H,K]
.
DF2
- Знаменательные степени свободы для F
Знаменательные степени свободы для F
, возвращается как скалярное значение. Значение DF2
зависит от выбранной опции DFMethod
.
Загрузите выборочные данные.
load('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('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.21076 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 flu
The 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 {'(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 = 9.4676e-13
Также верните -статистическая со степенями свободы числителя и знаменателя.
[pVal,F,DF1,DF2] = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K')
pVal = 9.4676e-13
F = 53.9485
DF1 = 1
DF2 = 459
Повторите тест, используя приближение Саттертвейта для знаменательных степеней свободы.
[pVal,F,DF1,DF2] = coefTest(lme,[0 0 0 1 0 0 0 0 0],0,'REContrast',K',... 'DFMethod','satterthwaite')
pVal = NaN
F = 53.9485
DF1 = 1
DF2 = 0
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.