exponenta event banner

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

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

Пример: '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 создает две контрастно-кодированные переменные в матрице дизайна с фиксированными эффектами, $ X $1 и $ X $2, где

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

и

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

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

Сдвиг: QCDevim = β0 + β2Shift _ Morningi + b0m + αim, m = 1,2,..., 5, Сдвиг: QCDevim = β0 + β1Shift _ Eveningi + b0m + αim, NeyShift: QCDevim = β0-β1Shift _ Eveningi

где b ~ N (0, startb2) и ϵ ~ N (0, start2).

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.027711    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.21076    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 указывают на значительное влияние начальных весов субъектов и фактора времени в количестве потерянного веса. Потеря веса субъектов, которые находятся в программе В, значительно отличается относительно потери веса субъектов, которые находятся в программе А. Нижний и верхний пределы параметров ковариации для случайных эффектов не включают ноль, таким образом, они значительны.

Выполните 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) измеряет комбинированную значимость для всех коэффициентов, представляющих это взаимодействие.

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

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

Метод Саттертвейта производит меньшие степени свободы знаменателя и несколько большие p-значения.

Совет

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