exponenta event banner

coefTest

Класс: LinearMixedModel

Тест гипотез о фиксированных и случайных эффектах линейной модели смешанных эффектов

Описание

пример

pVal = coefTest(lme) возвращает значение p для F-теста, что все коэффициенты с фиксированными эффектами, за исключением перехвата, равны 0.

пример

pVal = coefTest(lme,H) возвращает значение p для F-теста коэффициентов с фиксированными эффектами линейной модели с смешанными эффектами lme, используя контрастную матрицу H. Он проверяет нулевую гипотезу, что H0: = 0, где β - вектор с фиксированными эффектами.

пример

pVal = coefTest(lme,H,C) возвращает значение p для F-теста коэффициентов с фиксированными эффектами линейной модели с смешанными эффектами lme, используя контрастную матрицу H. Он проверяет нулевую гипотезу, что H0: = C, где β - вектор с фиксированными эффектами.

пример

pVal = coefTest(lme,H,C,Name,Value) возвращает значение p для F-теста для коэффициентов фиксированных и/или случайных эффектов линейной модели смешанных эффектов lme, с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение. Например, 'REContrast',K говорит coefTest проверить нулевую гипотезу, которая H0: + KB = C, где β - вектор с фиксированными эффектами, а B - вектор со случайными эффектами.

пример

[pVal,F,DF1,DF2] = coefTest(___) также возвращает F-статистику Fи степени свободы числителя и знаменателя для F, соответственно DF1 и DF2.

Входные аргументы

развернуть все

Линейная модель смешанных эффектов, заданная как LinearMixedModel объект, построенный с помощью fitlme или fitlmematrix.

Контрасты с фиксированными эффектами, определенные как матрица m-by-p, где p - количество коэффициентов с фиксированными эффектами в lme. Каждая строка H представляет один контраст. Столбцы H (слева направо) соответствуют строкам вектора фиксированных эффектов p-by-1 beta (сверху вниз), возвращаемое fixedEffects способ.

Типы данных: single | double

Гипотетическое значение для проверки нулевой гипотезы H*beta = C, задается как матрица m-by-1. Здесь, beta - вектор оценок фиксированных эффектов, возвращаемых fixedEffects способ.

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Метод вычисления приблизительных степеней свободы знаменателя для F-теста, определяемый как разделенная запятыми пара, состоящая из 'DFMethod' и одно из следующих.

'residual'По умолчанию. Степени свободы предполагаются постоянными и равными n - p, где n - число наблюдений и p - число фиксированных эффектов.
'satterthwaite'Саттертвейтское приближение.
'none'Все степени свободы установлены на бесконечность.

Например, можно задать аппроксимацию Саттертуэйта следующим образом.

Пример: 'DFMethod','satterthwaite'

Контрасты случайных эффектов, определяемые как пара, разделенная запятыми, состоящая из 'REContrast' и матрица m-на-q K, где q - число параметров случайных эффектов в lme. Столбцы K (слева направо) соответствуют строкам наилучшего линейного несмещенного вектора предиктора случайных эффектов B (сверху вниз), возвращаемое randomEffects способ.

Типы данных: single | double

Выходные аргументы

развернуть все

p-значение для F-теста для фиксированных и/или случайных коэффициентов линейной модели смешанных эффектов lme, возвращается как скалярное значение.

F-статистика, возвращаемая как скалярное значение.

Числительные степени свободы для F, возвращается как скалярное значение.

  • Если проверить нулевую гипотезу H0: = 0, или H0: = C, то DF1 равно числу линейно независимых строк в H.

  • Если проверить нулевую гипотезу H0: + KB = C, тоDF1 равно числу линейно независимых строк в [H,K].

Степени свободы знаменателя для 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

Малое значение p указывает, что не все коэффициенты с фиксированными эффектами равны 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

Значение p для Shift, 0,00075956, является таким же, как p-значение предыдущего теста гипотезы.

Проверьте, есть ли какая-либо разница между вечерней и утренней сменами.

pVal = coefTest(lme,[0 1 -1])
pVal = 3.6147e-04

Это небольшое значение p указывает на то, что производительность операторов не одинакова утром и в вечерние смены.

Загрузите образцы данных.

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

Высокое значение p указывает, что взаимодействие между 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

Значение p 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 = 9.4676e-13

Также возвращает F-статистику со степенями свободы числителя и знаменателя.

[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

См. также

| |