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