anova

Класс: LinearMixedModel

Дисперсионный анализ для линейной модели смешанных эффектов

Описание

пример

stats = anova(lme) возвращает массив набора данных stats это включает результаты F - тестирует на каждый термин фиксированных эффектов в линейной модели lme смешанных эффектов.

пример

stats = anova(lme,Name,Value) также возвращает массив набора данных stats с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Входные параметры

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

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

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

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

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

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

Например, можно задать приближение Satterthwaite можно следующим образом.

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

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

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

Результаты F - тестируют на условия фиксированных эффектов, возвращенные как массив набора данных со следующими столбцами.

TermИмя фиксированного термина эффектов
FstatF- для термина
DF1Степени свободы числителя для F - статистическая величина
DF2Степени свободы знаменателя для F - статистическая величина
pValuep- теста для термина

Существует одна строка для каждого термина фиксированных эффектов. Каждый термин является непрерывной переменной, сгруппированной переменной или взаимодействием между двумя или больше непрерывными или сгруппированными переменными. Для каждого термина фиксированных эффектов, anova выполняет F - тест (крайний тест), чтобы определить, ли все коэффициенты, представляющие термин фиксированных эффектов, 0. Чтобы выполнить тесты для гипотезы типа III, необходимо использовать 'effects' контрасты, подбирая линейную модель смешанных эффектов.

Примеры

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

Загрузите выборочные данные.

load('shift.mat')

Данные показывают отклонения от целевой качественной характеристики, измеренной от продуктов, что пять операторов производят во время трех сдвигов: утро, вечер и ночь. Это - рандомизированная блочная конструкция, где операторы являются блоками. Эксперимент спроектирован, чтобы изучить удар времени сдвига на эффективности. Критерием качества работы является отклонение качественных характеристик от целевого значения. Это - симулированные данные.

Shift и Operator номинальные переменные.

shift.Shift = nominal(shift.Shift);
shift.Operator = nominal(shift.Operator);

Подбирайте линейную модель смешанных эффектов со случайным прерыванием, сгруппированным оператором, чтобы оценить, если эффективность значительно отличается согласно времени сдвига. Используйте ограниченный метод максимального правдоподобия и 'effects' контрасты.

'effects' контрасты указывают, что коэффициенты суммируют к 0, и fitlme создает две закодированных контрастом переменные в матрице проекта фиксированных эффектов, 1$X$ и 2$X$, где

Shift_Evening={0,ifMorning1,ifEvening-1,ifNight

и

Shift_Morning={1,ifMorning0,ifEvening-1,ifNight.

Модель соответствует

MorningShift:QCDevim=β0+β2Shift_Morningi+b0m+εim,m=1,2,...,5,EveningShift:QCDevim=β0+β1Shift_Eveningi+b0m+εim,NightShift:QCDevim=β0-β1Shift_Eveningi-β2Shift_Morningi+b0m+εim,

где b ~ N (0, σb2 ) и ϵ ~ N (0, σ2 ).

lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)',...
'FitMethod','REML','DummyVarCoding','effects')
lme = 
Linear mixed-effects model fit by REML

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
    58.913    61.337    -24.456          48.913  

Fixed effects coefficients (95% CIs):
    Name                     Estimate    SE         tStat      DF    pValue   
    {'(Intercept)'  }          3.6525    0.94109     3.8812    12    0.0021832
    {'Shift_Evening'}        -0.53293    0.31206    -1.7078    12      0.11339
    {'Shift_Morning'}        -0.91973    0.31206    -2.9473    12     0.012206


    Lower      Upper   
     1.6021       5.703
    -1.2129     0.14699
    -1.5997    -0.23981

Random effects covariance parameters (95% CIs):
Group: Operator (5 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        2.0457  


    Lower      Upper 
    0.98207    4.2612

Group: Error
    Name               Estimate    Lower      Upper
    {'Res Std'}        0.85462     0.52357    1.395

Выполните F- протестируйте, чтобы определить, ли все коэффициенты фиксированных эффектов 0.

anova(lme)
ans = 
    ANOVA marginal tests: DFMethod = 'Residual'

    Term                   FStat     DF1    DF2    pValue   
    {'(Intercept)'}        15.063    1      12     0.0021832
    {'Shift'      }        11.091    2      12     0.0018721

p- значение для постоянного термина, 0.0021832, эквивалентно в содействующей таблице в lme отображение. p- значение 0,0018721 для Shift измеряет объединенное значение для обоих коэффициентов, представляющих Shift.

Загрузите выборочные данные.

load('fertilizer.mat')

Массив набора данных включает данные из эксперимента графика разделения, где почва разделена на три блока на основе типа грунта: песчаный, илистый, и глинистый. Каждый блок разделен на пять графиков, где пять типов томатных объектов (вишня, семейная реликвия, виноград, виноградная лоза и слива) случайным образом присвоены этим графикам. Томатные объекты в графиках затем разделены на подграфики, где каждый подграфик обработан одним из четырех удобрений. Это - симулированные данные.

Храните данные в массиве набора данных под названием ds, практически, и задайте Tomato, Soil, и Fertilizer как категориальные переменные.

ds = fertilizer;
ds.Tomato = nominal(ds.Tomato);
ds.Soil = nominal(ds.Soil);
ds.Fertilizer = nominal(ds.Fertilizer);

Подбирайте линейную модель смешанных эффектов, где Fertilizer и Tomato переменные фиксированных эффектов, и среднее выражение варьируется блоком (тип грунта) и графики в блоках (томатные типы в типах грунта) независимо. Используйте 'effects' контрасты, когда подгонка данных для суммы квадратов типа III.

lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)',...
'DummyVarCoding','effects')
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations              60
    Fixed effects coefficients          20
    Random effects coefficients         18
    Covariance parameters                3

Formula:
    Yield ~ 1 + Tomato*Fertilizer + (1 | Soil) + (1 | Soil:Tomato)

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    522.57    570.74    -238.29          476.57  

Fixed effects coefficients (95% CIs):
    Name                                    Estimate    SE        tStat       DF
    {'(Intercept)'                 }           104.6    3.3008       31.69    40
    {'Tomato_Cherry'               }             1.4    5.9353     0.23588    40
    {'Tomato_Grape'                }         -7.7667    5.9353     -1.3085    40
    {'Tomato_Heirloom'             }         -11.183    5.9353     -1.8842    40
    {'Tomato_Plum'                 }          30.233    5.9353      5.0938    40
    {'Fertilizer_1'                }         -28.267    2.3475     -12.041    40
    {'Fertilizer_2'                }         -1.9333    2.3475    -0.82356    40
    {'Fertilizer_3'                }          10.733    2.3475      4.5722    40
    {'Tomato_Cherry:Fertilizer_1'  }        -0.73333    4.6951    -0.15619    40
    {'Tomato_Grape:Fertilizer_1'   }         -7.5667    4.6951     -1.6116    40
    {'Tomato_Heirloom:Fertilizer_1'}          5.1833    4.6951       1.104    40
    {'Tomato_Plum:Fertilizer_1'    }          2.7667    4.6951     0.58927    40
    {'Tomato_Cherry:Fertilizer_2'  }             7.6    4.6951      1.6187    40
    {'Tomato_Grape:Fertilizer_2'   }            -1.9    4.6951    -0.40468    40
    {'Tomato_Heirloom:Fertilizer_2'}          5.5167    4.6951       1.175    40
    {'Tomato_Plum:Fertilizer_2'    }            -3.9    4.6951    -0.83066    40
    {'Tomato_Cherry:Fertilizer_3'  }         -6.0667    4.6951     -1.2921    40
    {'Tomato_Grape:Fertilizer_3'   }          3.7667    4.6951     0.80226    40
    {'Tomato_Heirloom:Fertilizer_3'}          3.1833    4.6951     0.67802    40
    {'Tomato_Plum:Fertilizer_3'    }             1.1    4.6951     0.23429    40


    pValue        Lower      Upper  
    5.9086e-30     97.929     111.27
       0.81473    -10.596     13.396
       0.19816    -19.762     4.2291
      0.066821    -23.179    0.81242
     8.777e-06     18.238     42.229
    7.0265e-15    -33.011    -23.522
       0.41507    -6.6779     2.8112
     4.577e-05     5.9888     15.478
       0.87667    -10.222     8.7558
       0.11491    -17.056     1.9224
       0.27619    -4.3058     14.672
       0.55899    -6.7224     12.256
       0.11337    -1.8891     17.089
       0.68787    -11.389     7.5891
       0.24695    -3.9724     15.006
        0.4111    -13.389     5.5891
       0.20373    -15.556     3.4224
       0.42714    -5.7224     13.256
       0.50167    -6.3058     12.672
       0.81596    -8.3891     10.589

Random effects covariance parameters (95% CIs):
Group: Soil (3 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        2.5028  


    Lower      Upper 
    0.02771    226.05

Group: Soil:Tomato (15 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        10.225  


    Lower     Upper 
    6.1497    17.001

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        10.499      8.5389    12.908

Выполните дисперсионный анализ, чтобы протестировать на фиксированные эффекты.

anova(lme)
ans = 
    ANOVA marginal tests: DFMethod = 'Residual'

    Term                         FStat     DF1    DF2    pValue    
    {'(Intercept)'      }        1004.2     1     40     5.9086e-30
    {'Tomato'           }        7.1663     4     40     0.00018935
    {'Fertilizer'       }        58.833     3     40     1.0024e-14
    {'Tomato:Fertilizer'}        1.4182    12     40        0.19804

p- значение для постоянного термина, 5.9086e-30, эквивалентно в содействующей таблице в lme отображение. p- значения 0,00018935, 1.0024e-14, и 0.19804 для Tomato, Fertilizer, и Tomato:Fertilizer представляйте объединенное значение для всех томатных коэффициентов, коэффициентов удобрения и коэффициентов, представляющих взаимодействие между помидором и удобрением, соответственно. p- значение 0,19804 указывает, что взаимодействие между помидором и удобрением не является значительным.

Загрузите выборочные данные.

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);

Подбирайте модель с помощью 'effects' контрасты.

lme = fitlme(tbl,'y ~ InitialWeight + Program*Week + (Week|Subject)',...
		'DummyVarCoding','effects')
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.77122      0.24309      3.1725    111
    {'InitialWeight' }        0.0031879    0.0013814      2.3078    111
    {'Program_A'     }         -0.11017     0.080377     -1.3707    111
    {'Program_B'     }          0.25061      0.08045      3.1151    111
    {'Program_C'     }         -0.14344     0.080475     -1.7824    111
    {'Week'          }          0.19881     0.033727      5.8946    111
    {'Program_A:Week'}        -0.025607     0.058417    -0.43835    111
    {'Program_B:Week'}         0.013164     0.058417     0.22535    111
    {'Program_C:Week'}        0.0049357     0.058417    0.084492    111


    pValue        Lower         Upper    
     0.0019549       0.28951       1.2529
      0.022863    0.00045067    0.0059252
       0.17323      -0.26945       0.0491
     0.0023402      0.091195      0.41003
      0.077424       -0.3029     0.016031
    4.1099e-08       0.13198      0.26564
       0.66198      -0.14136     0.090149
       0.82212      -0.10259      0.12892
       0.93282      -0.11082      0.12069

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

p- значения 0.022863 и 4.1099e-08 указывают, что значительные эффекты начальных весов предметов и время включают сумму потерянного веса. Потеря веса предметов, кто находится в программе B, существенно отличается относительно потери веса предметов, которые находятся в программе A. Нижние и верхние пределы параметров ковариации для случайных эффектов не включают нуль, таким образом они являются значительными.

Выполните F-тест, что все коэффициенты фиксированных эффектов являются нулем.

anova(lme)
ans = 
    ANOVA marginal tests: DFMethod = 'Residual'

    Term                     FStat       DF1    DF2    pValue    
    {'(Intercept)'  }          10.065    1      111     0.0019549
    {'InitialWeight'}           5.326    1      111      0.022863
    {'Program'      }          3.6798    3      111      0.014286
    {'Week'         }          34.747    1      111    4.1099e-08
    {'Program:Week' }        0.066648    3      111       0.97748

p- значения для постоянного термина, начального веса, и неделя эквивалентны в содействующей таблице в предыдущем lme выведите отображение. p- значение 0,014286 для Program представляет объединенное значение для всех коэффициентов программы. Точно так же p- значение для взаимодействия между программой и неделя (Program:Week) измеряет объединенное значение для всех коэффициентов, представляющих это взаимодействие.

Теперь используйте метод Satterthwaite, чтобы вычислить степени свободы.

anova(lme,'DFMethod','satterthwaite')
ans = 
    ANOVA marginal tests: DFMethod = 'Satterthwaite'

    Term                     FStat       DF1    DF2       pValue    
    {'(Intercept)'  }          10.065    1      20.445      0.004695
    {'InitialWeight'}           5.326    1          20      0.031827
    {'Program'      }          3.6798    3       19.14      0.030233
    {'Week'         }          34.747    1          20    9.1346e-06
    {'Program:Week' }        0.066648    3          20       0.97697

Метод Satterthwaite производит меньшие степени свободы знаменателя и немного больше pЗначения.

Советы

  • Для каждого термина фиксированных эффектов, anova выполняет F - тест (крайний тест), что все коэффициенты, представляющие термин фиксированных эффектов, 0. Чтобы выполнить тесты для гипотез типа III, необходимо установить 'DummyVarCoding' аргумент пары "имя-значение" 'effects' контрасты, подбирая вашу линейную модель смешанных эффектов.

Смотрите также

| |