exponenta event banner

fitlme

Подгонка линейной модели смешанных эффектов

Описание

пример

lme = fitlme(tbl,formula) возвращает линейную модель смешанных эффектов, заданную formula, соответствует переменным в таблице или массиве наборов данных tbl.

пример

lme = fitlme(tbl,formula,Name,Value) возвращает линейную модель смешанных эффектов с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Например, можно указать ковариационный шаблон членов случайных эффектов, метод, используемый при оценке параметров, или опции алгоритма оптимизации.

Примеры

свернуть все

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

load imports-85

Сохраните переменные в таблице.

tbl = table(X(:,12),X(:,14),X(:,24),'VariableNames',{'Horsepower','CityMPG','EngineType'});

Отображение первых пяти строк таблицы.

tbl(1:5,:)
ans=5×3 table
    Horsepower    CityMPG    EngineType
    __________    _______    __________

       111          21           13    
       111          21           13    
       154          19           37    
       102          24           35    
       115          18           35    

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

lme = fitlme(tbl,'CityMPG~Horsepower+(1|EngineType)+(Horsepower-1|EngineType)');

В этой модели CityMPG является переменной отклика, лошадиная сила является переменной предиктора, а тип двигателя является переменной группировки. Часть модели с фиксированными эффектами соответствует 1 + Horsepower, поскольку перехват включен по умолчанию.

Поскольку термины случайного эффекта для перехвата и лошадиных сил не коррелируются, эти термины указываются отдельно. Поскольку второй термин случайного эффекта только для лошадиных сил, вы должны включить –1 для исключения перехвата из второго члена случайного эффекта.

Отображение модели.

lme
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             203
    Fixed effects coefficients           2
    Random effects coefficients         14
    Covariance parameters                3

Formula:
    CityMPG ~ 1 + Horsepower + (1 | EngineType) + (Horsepower | EngineType)

Model fit statistics:
    AIC       BIC     LogLikelihood    Deviance
    1099.5    1116    -544.73          1089.5  

Fixed effects coefficients (95% CIs):
    Name                   Estimate    SE         tStat     DF     pValue    
    {'(Intercept)'}          37.276     2.8556    13.054    201    1.3147e-28
    {'Horsepower' }        -0.12631    0.02284     -5.53    201    9.8848e-08


    Lower       Upper    
      31.645       42.906
    -0.17134    -0.081269

Random effects covariance parameters (95% CIs):
Group: EngineType (7 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        5.7338  


    Lower     Upper 
    2.3773    13.829

Group: EngineType (7 Levels)
    Name1                 Name2                 Type           Estimate
    {'Horsepower'}        {'Horsepower'}        {'std'}        0.050357


    Lower      Upper  
    0.02307    0.10992

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        3.226       2.9078    3.5789

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

Теперь поместите линейную модель смешанных эффектов для миль на галлон в городе с тем же сроком фиксированных эффектов и потенциально коррелированным случайным эффектом для перехвата и лошадиных сил, сгруппированных по типу двигателя.

lme2 = fitlme(tbl,'CityMPG~Horsepower+(Horsepower|EngineType)');

Поскольку термин случайного эффекта включает перехват по умолчанию, добавление не требуется. 1, член случайного эффекта эквивалентен (1 + Horsepower|EngineType).

Отображение модели.

lme2
lme2 = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             203
    Fixed effects coefficients           2
    Random effects coefficients         14
    Covariance parameters                4

Formula:
    CityMPG ~ 1 + Horsepower + (1 + Horsepower | EngineType)

Model fit statistics:
    AIC     BIC       LogLikelihood    Deviance
    1089    1108.9    -538.52          1077    

Fixed effects coefficients (95% CIs):
    Name                   Estimate    SE          tStat      DF     pValue    
    {'(Intercept)'}         33.824       4.0181     8.4178    201    7.1678e-15
    {'Horsepower' }        -0.1087     0.032912    -3.3029    201     0.0011328


    Lower      Upper    
     25.901       41.747
    -0.1736    -0.043806

Random effects covariance parameters (95% CIs):
Group: EngineType (7 Levels)
    Name1                  Name2                  Type            Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std' }          9.4952
    {'Horsepower' }        {'(Intercept)'}        {'corr'}        -0.96843
    {'Horsepower' }        {'Horsepower' }        {'std' }        0.078874


    Lower       Upper   
      4.7022      19.174
    -0.99568    -0.78738
    0.039917     0.15585

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        3.1845      2.8774    3.5243

Обратите внимание, что параметры ковариации случайных эффектов для перехвата и лошадиных сил вместе на дисплее, и он включает корреляцию ('corr') между перехватом и лошадиными силами.

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

load flu

flu массив наборов данных имеет Date переменная и 10 переменных, содержащих оценочные показатели гриппа (в 9 различных регионах, оцененные по поискам Google ®, плюс общенациональная оценка Центров по контролю и профилактике заболеваний, CDC ).

Для соответствия модели с линейными смешанными эффектами данные должны находиться в правильно отформатированном массиве наборов данных. Чтобы подогнать линейную модель смешанных эффектов с частотой гриппа в качестве ответов, объедините девять столбцов, соответствующих областям, в массив. Новый массив наборов данных, flu2, должна иметь новую переменную ответа FluRate, номинальная переменная Region который показывает, из какого региона взята каждая оценка, общенациональная оценка WtdILIи переменная группирования Date.

flu2 = stack(flu,2:10,'NewDataVarName','FluRate', ...
    'IndVarName','Region');
flu2.Date = nominal(flu2.Date);

Отображение первых шести строк flu2.

flu2(1:6,:)
ans = 
    Date         WtdILI    Region       FluRate
    10/9/2005    1.182     NE            0.97  
    10/9/2005    1.182     MidAtl       1.025  
    10/9/2005    1.182     ENCentral    1.232  
    10/9/2005    1.182     WNCentral    1.286  
    10/9/2005    1.182     SAtl         1.082  
    10/9/2005    1.182     ESCentral    1.457  

Подогнать линейную модель смешанных эффектов с фиксированным термином эффектов для общенациональной оценки, WtdILIи случайный перехват, который варьируется в Date. Модель соответствует

yim = β0 + β1WtdILIim + b0m + xpim, i = 1,2,..., 468, m = 1,2,..., 52,

где yim - наблюдение i для уровня m переменной группировки Date, b0m - случайный эффект для уровня m переменной группировки Date, и xpim является ошибкой наблюдения для наблюдения. Случайный эффект имеет предыдущее распределение,

b0m∼N (0, startb2),

и член ошибки имеет распределение,

εim∼N (0, start2).

lme = fitlme(flu2,'FluRate ~ 1 + WtdILI + (1|Date)')
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             468
    Fixed effects coefficients           2
    Random effects coefficients         52
    Covariance parameters                2

Formula:
    FluRate ~ 1 + WtdILI + (1 | Date)

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    286.24    302.83    -139.12          278.24  

Fixed effects coefficients (95% CIs):
    Name                   Estimate    SE          tStat     DF     pValue    
    {'(Intercept)'}        0.16385     0.057525    2.8484    466     0.0045885
    {'WtdILI'     }         0.7236     0.032219    22.459    466    3.0502e-76


    Lower       Upper  
    0.050813    0.27689
     0.66028    0.78691

Random effects covariance parameters (95% CIs):
Group: Date (52 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        0.17146 


    Lower      Upper  
    0.13227    0.22226

Group: Error
    Name               Estimate    Lower      Upper  
    {'Res Std'}        0.30201     0.28217    0.32324

Оцененные параметры ковариации отображаются в разделе «Параметры ковариации случайных эффектов». Оценочное значение startb составляет 0,17146, а его 95% доверительный интервал - [0,13227, 0,22226]. Поскольку этот интервал не включает 0, член случайных эффектов является значимым. Можно формально проверить значимость любого термина случайных эффектов, используя тест отношения правдоподобия через compare способ.

Оцененный отклик при наблюдении представляет собой сумму фиксированных эффектов и значение случайного эффекта на уровне переменной группировки, соответствующем этому наблюдению. Например, предполагаемая частота гриппа для наблюдения 28 составляет

y^28 =β ^ 0 +β ^ 1WtdILI28+b^10/30/2005=0.1639+0.7236* (1.343) +0.3318=1.46749,

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

beta = fixedEffects(lme);
[~,~,STATS] = randomEffects(lme); % Compute the random-effects statistics (STATS)
STATS.Level = nominal(STATS.Level);
y_hat = beta(1) + beta(2)*flu2.WtdILI(28) + STATS.Estimate(STATS.Level=='10/30/2005')
y_hat = 1.4674

Вы можете отобразить подогнанное значение с помощью fitted способ.

F = fitted(lme);
F(28)
ans = 1.4674

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

load('shift.mat')

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

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

'effects' контрасты означают, что коэффициенты суммируются до 0, и fitlme создает матрицу, называемую матрицей проектирования фиксированных эффектов, для описания эффекта сдвига. Эта матрица имеет два столбца, Shift_Evening и Shift_Morning, где

Shift_Evening={0,if Morning1,if Evening-1,if Ночь

Shift_Morning={1,if Morning0,if Evening-1,if Ночь

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

Утренняя смена: QCDevim=β0+β2Shift_Morningi+b0m+ϵim,Evening Смена: QCDevim=β0+β1Shift_Eveningi+b0m+ϵim,Night Смена: QCDevim=β0-β1Shift_Eveningi-β2Shift_Morningi+b0m+ϵim,

где i представляет наблюдения, а m представляет операторы, i = 1, 2,..., 15 и m = 1, 2,..., 5. Случайные эффекты и ошибка наблюдения имеют следующие распределения:

b0m∼N (0, startb2)

и

εim∼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

Вычислите наилучшие оценки случайных эффектов линейного несмещенного предиктора (BLUP).

B = randomEffects(lme)
B = 5×1

    0.5775
    1.1757
   -2.1715
    2.3655
   -1.9472

Расчетное абсолютное отклонение от целевых характеристик качества для третьего оператора, работающего в вечернюю смену, составляет

yˆEvening,Operator3=βˆ0+βˆ1Shift_Evening+bˆ03=3.6525-0.53293-2.1715=0.94807.

Это значение можно также отобразить следующим образом.

F = fitted(lme);
F(shift.Shift=='Evening' & shift.Operator=='3')
ans = 0.9481

Аналогично, можно вычислить расчетное абсолютное отклонение от целевых характеристик качества для третьего оператора, работающего в утреннюю смену, как

yˆMorning,Operator3=βˆ0+βˆ2Shift_Morning+bˆ03=3.6525-0.91973-2.1715=0.56127.

Это значение можно также отобразить следующим образом.

F(shift.Shift=='Morning' & shift.Operator=='3')
ans = 0.5613

Оператор имеет тенденцию делать меньшую величину ошибки во время утреннего сдвига.

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

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

Эта модель соответствует

yimjk=β0+∑m=24β1mI[F]im+∑j=25β2jI[T]ij+∑j=25∑m=24β3mjI[F]imI[T]ij+b0kSk+b0jk (S * T) jk + xpimjk,

где i = 1, 2,..., 60, индекс m соответствует типам удобрений, j соответствует типам томатов, а k = 1, 2, 3 соответствует блокам (грунту). Sk представляет k-й тип почвы, и (S * T) jk представляет j-й тип томата, вложенный в k-й тип почвы. I [F] im - фиктивная переменная, представляющая уровень m удобрения. Аналогично, I [T] ij является фиктивной переменной, представляющей уровень j типа томата.

Случайные эффекты и погрешность наблюдения имеют эти предшествующие распределения: b0k ~ N (0, startS2), b0jk ~ N (0, startS * T2) и ϵimjk ~ N (0 , start2).

lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)')
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)'                 }             77     8.5836      8.9706    40
    {'Tomato_Grape'                }            -16     11.966     -1.3371    40
    {'Tomato_Heirloom'             }        -6.6667     11.966    -0.55714    40
    {'Tomato_Plum'                 }         32.333     11.966      2.7022    40
    {'Tomato_Vine'                 }            -13     11.966     -1.0864    40
    {'Fertilizer_2'                }         34.667      8.572      4.0442    40
    {'Fertilizer_3'                }         33.667      8.572      3.9275    40
    {'Fertilizer_4'                }         47.667      8.572      5.5607    40
    {'Tomato_Grape:Fertilizer_2'   }        -2.6667     12.123    -0.21997    40
    {'Tomato_Heirloom:Fertilizer_2'}             -8     12.123    -0.65992    40
    {'Tomato_Plum:Fertilizer_2'    }            -15     12.123     -1.2374    40
    {'Tomato_Vine:Fertilizer_2'    }            -16     12.123     -1.3198    40
    {'Tomato_Grape:Fertilizer_3'   }         16.667     12.123      1.3748    40
    {'Tomato_Heirloom:Fertilizer_3'}         3.3333     12.123     0.27497    40
    {'Tomato_Plum:Fertilizer_3'    }         3.6667     12.123     0.30246    40
    {'Tomato_Vine:Fertilizer_3'    }              3     12.123     0.24747    40
    {'Tomato_Grape:Fertilizer_4'   }         13.333     12.123      1.0999    40
    {'Tomato_Heirloom:Fertilizer_4'}            -19     12.123     -1.5673    40
    {'Tomato_Plum:Fertilizer_4'    }        -2.6667     12.123    -0.21997    40
    {'Tomato_Vine:Fertilizer_4'    }         8.6667     12.123     0.71492    40


    pValue        Lower      Upper 
    4.0206e-11     59.652    94.348
       0.18873    -40.184    8.1837
       0.58053     -30.85    17.517
      0.010059     8.1496    56.517
       0.28379    -37.184    11.184
    0.00023272     17.342    51.991
    0.00033057     16.342    50.991
    1.9567e-06     30.342    64.991
       0.82701    -27.167    21.834
       0.51309    -32.501    16.501
       0.22317    -39.501    9.5007
       0.19439    -40.501    8.5007
       0.17683    -7.8341    41.167
       0.78476    -21.167    27.834
       0.76387    -20.834    28.167
       0.80581    -21.501    27.501
       0.27796    -11.167    37.834
       0.12492    -43.501    5.5007
       0.82701    -27.167    21.834
       0.47881    -15.834    33.167

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

Значения p, соответствующие последним 12 строкам в отображении коэффициентов с фиксированными эффектами (от 0,82701 до 0,47881), указывают, что коэффициенты взаимодействия между типами томатов и удобрений не являются значимыми. Чтобы проверить общее взаимодействие между томатом и удобрением, используйте anova метод после преобразования модели с использованием 'effects' контрасты.

Доверительный интервал для стандартных отклонений слагаемых случайных эффектов (startS2), где пересечение сгруппировано по грунту, очень велик. Этот термин не представляется значимым.

Переформатировать модель после удаления термина взаимодействия Tomato:Fertilizer и термин случайных эффектов (1 | Soil).

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

Model information:
    Number of observations              60
    Fixed effects coefficients           8
    Random effects coefficients         15
    Covariance parameters                2

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

Model fit statistics:
    AIC       BIC    LogLikelihood    Deviance
    511.06    532    -245.53          491.06  

Fixed effects coefficients (95% CIs):
    Name                       Estimate    SE        tStat       DF
    {'(Intercept)'    }         77.733     7.3293      10.606    52
    {'Tomato_Grape'   }        -9.1667     9.6045    -0.95441    52
    {'Tomato_Heirloom'}        -12.583     9.6045     -1.3102    52
    {'Tomato_Plum'    }         28.833     9.6045      3.0021    52
    {'Tomato_Vine'    }        -14.083     9.6045     -1.4663    52
    {'Fertilizer_2'   }         26.333     4.5004      5.8514    52
    {'Fertilizer_3'   }             39     4.5004      8.6659    52
    {'Fertilizer_4'   }         47.733     4.5004      10.607    52


    pValue        Lower      Upper 
    1.3108e-14     63.026    92.441
       0.34429    -28.439    10.106
        0.1959    -31.856    6.6895
     0.0041138     9.5605    48.106
       0.14858    -33.356    5.1895
    3.3024e-07     17.303    35.364
    1.1459e-11     29.969    48.031
     1.308e-14     38.703    56.764

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


    Lower     Upper 
    6.0812    16.509

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        12.325      10.024    15.153

Можно сравнить две модели, используя compare способ с моделируемым тестом отношения правдоподобия, поскольку тестируют как член с фиксированным эффектом, так и член с случайным эффектом.

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

load('weight.mat')

weight содержит данные продольного исследования, в котором 20 субъектов случайным образом распределяются по 4 программам упражнений (A, B, C, D), и их потеря веса регистрируется в течение шести 2-недельных периодов времени. Это смоделированные данные.

Сохраните данные в таблице. Определить Subject и Program в качестве категориальных переменных.

tbl = table(InitialWeight,Program,Subject,Week,y);
tbl.Subject = nominal(tbl.Subject);
tbl.Program = nominal(tbl.Program);

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

fitlme использует программу A в качестве ссылки и создает необходимые фиктивные переменные I [.]. Поскольку модель уже имеет перехват ,fitlme создает фиктивные переменные только для программ B, C и D. Это также называется 'reference' способ кодирования фиктивных переменных.

Эта модель соответствует

yim = β0 + β1IWi + β2Weeki + β3I [PB] i + β4I [PC] i + β5I [PD] i + β6 (Weeki * I [PB] i) + β7 (Weeki * I [PC] i) + β8 (Weeki * I [PD] i) + b0m + b1mWeekim + αim,

где i = 1, 2,..., 120 и m = 1, 2,..., 20. βj - коэффициенты с фиксированными эффектами, j = 0, 1,..., 8, и b0m и b1m - случайные эффекты. IW означает начальный вес, а I[⋅] - фиктивную переменную, представляющую тип программы. Например, I [PB] i является фиктивной переменной, представляющей тип программы B. Случайные эффекты и ошибка наблюдения имеют следующие предшествующие распределения:

b0m∼N (0, start02)

b1m∼N (0, start12)

εim∼N (0, start2).

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

Значения p 0,022863 и 0,011567 указывают на значительные эффекты исходных весов и времени субъекта в количестве потерянного веса. Потеря веса субъектов, которые находятся в программе В, значительно отличается по сравнению с потерей веса субъектов, которые находятся в программе А. Нижний и верхний пределы параметров ковариации для случайных эффектов не включают 0, таким образом, они значительны. Можно также проверить значимость случайных эффектов с помощью compare способ.

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

свернуть все

Входные данные, которые включают переменную ответа, переменные предиктора и переменные группировки, указанные как таблица или dataset массив. Переменные предиктора могут быть непрерывными или группирующими переменными (см. Группирование переменных). Необходимо указать модель для переменных с помощью formula.

Типы данных: table

Формула для спецификации модели, заданная как вектор символа или скаляр строки формы 'y ~ fixed + (random1|grouping1) + ... + (randomR|groupingR)'. Формула чувствительна к регистру. Полное описание см. в разделе Формула.

Пример: 'y ~ treatment + (1|block)'

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

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

Пример: 'CovariancePattern','Diagonal','Optimizer','fminunc','OptimizerOptions',opt определяет модель, где члены случайных эффектов имеют структуру диагональной ковариационной матрицы, и fitlme использует fminunc алгоритм оптимизации с пользовательскими параметрами оптимизации, определенными в переменной opt.

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

Если есть R членов случайных эффектов, то значение 'CovariancePattern' должен быть строковым массивом или массивом ячеек длиной R, где каждый элемент r массива определяет шаблон ковариационной матрицы вектора случайных эффектов, связанного с членом случайных эффектов rth. Ниже приведены опции для каждого элемента.

'FullCholesky'По умолчанию. Полная ковариационная матрица с использованием параметризации Холески. fitlme оценивает все элементы ковариационной матрицы.
'Full'Полная ковариационная матрица с использованием логарифмической параметризации Холеского. fitlme оценивает все элементы ковариационной матрицы.
'Diagonal'

Диагональная ковариационная матрица. То есть, внедиагональные элементы ковариационной матрицы ограничены 0.

(σb12000σb22000σb32)

'Isotropic'

Диагональная ковариационная матрица с равными дисперсиями. То есть, внедиагональные элементы ковариационной матрицы ограничены равным 0, а диагональные элементы ограничены равным. Например, если существует три члена случайных эффектов с изотропной ковариационной структурой, эта ковариационная матрица выглядит как

(σb2000σb2000σb2)

где start2b - общая дисперсия членов случайных эффектов.

'CompSymm'

Составная структура симметрии. То есть общая дисперсия по диагоналям и равная корреляция между всеми случайными эффектами. Например, если есть три члена случайных эффектов с ковариационной матрицей, имеющей структуру составной симметрии, эта ковариационная матрица выглядит как

(σb12σb1, b2σb1, b2σb1, b2σb12σb1, b2σb1, b2σb1, b2σb12)

где start2b1 является общей дисперсией членов случайных эффектов, а startb1, b2 является общей ковариацией между любыми двумя членами случайных эффектов.

PATКвадратно-симметричная логическая матрица. Если 'CovariancePattern' определяется матрицей PAT, и если PAT(a,b) = false, то (a,b) элемент соответствующей ковариационной матрицы ограничен значением 0.

Пример: 'CovariancePattern','Diagonal'

Пример: 'CovariancePattern',{'Full','Diagonal'}

Типы данных: char | string | logical | cell

Метод оценки параметров линейной модели смешанных эффектов, определяемый как разделенная запятыми пара, состоящая из: 'FitMethod' и любое из следующего.

'ML'По умолчанию. Оценка максимального правдоподобия
'REML'Ограниченная оценка максимального правдоподобия

Пример: 'FitMethod','REML'

Веса наблюдения, указанные как разделенная запятыми пара, состоящая из 'Weights' и вектор длиной n, где n - число наблюдений.

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

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

Например, можно исключить 13-ю и 67-ю строки из посадки следующим образом.

Пример: 'Exclude',[13,67]

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

Кодирование для использования фиктивных переменных, созданных из категориальных переменных, указанных как разделенная запятыми пара, состоящая из 'DummyVarCoding' и одна из переменных в этой таблице.

СтоимостьОписание
'reference' (по умолчанию)fitlme создает фиктивные переменные со ссылочной группой. Эта схема рассматривает первую категорию как группу ссылок и создает на одну фиктивную переменную меньше, чем количество категорий. Можно проверить порядок категорий категориальной переменной с помощью categories и изменить порядок с помощью reordercats функция.
'effects'fitlme создает фиктивные переменные с использованием кодирования эффектов. Эта схема использует -1 для представления последней категории. Эта схема создает на одну фиктивную переменную меньше числа категорий.
'full'fitlme создает полные фиктивные переменные. Эта схема создает одну фиктивную переменную для каждой категории.

Дополнительные сведения о создании фиктивных переменных см. в разделе Автоматическое создание фиктивных переменных.

Пример: 'DummyVarCoding','effects'

Алгоритм оптимизации, указанный как пара, разделенная запятыми, состоящая из 'Optimizer' и любое из следующего.

'quasinewton'По умолчанию. Использует квазиньютоновский оптимизатор на основе области доверия. Изменение параметров алгоритма с помощью statset('LinearMixedModel'). Если параметры не указаны, то LinearMixedModel использует опции по умолчанию statset('LinearMixedModel').
'fminunc'Чтобы задать этот параметр, необходимо иметь Toolbox™ оптимизации. Изменение параметров алгоритма с помощью optimoptions('fminunc'). Если параметры не указаны, то LinearMixedModel использует опции по умолчанию optimoptions('fminunc') с 'Algorithm' установить в значение 'quasi-newton'.

Пример: 'Optimizer','fminunc'

Опции алгоритма оптимизации, указанные как разделенная запятыми пара, состоящая из 'OptimizerOptions' и структура, возвращенная statset('LinearMixedModel') или объект, возвращенный optimoptions('fminunc').

  • Если 'Optimizer' является 'fminunc', затем использовать optimoptions('fminunc') для изменения параметров алгоритма оптимизации. Посмотрите optimoptions для опций 'fminunc' использует. Если 'Optimizer' является 'fminunc' и вы не поставляете 'OptimizerOptions', то значение по умолчанию для LinearMixedModel - параметры по умолчанию, созданные optimoptions('fminunc') с 'Algorithm' установить в значение 'quasi-newton'.

  • Если 'Optimizer' является 'quasinewton', затем использовать statset('LinearMixedModel') для изменения параметров оптимизации. Если параметры оптимизации не изменяются, то LinearMixedModel использует параметры по умолчанию, созданные statset('LinearMixedModel'):

'quasinewton' оптимизатор использует следующие поля в структуре, созданной statset('LinearMixedModel').

Относительный допуск для градиента целевой функции, определяемый как положительное скалярное значение.

Абсолютный допуск для размера шага, заданный как положительное скалярное значение.

Максимально допустимое число итераций, указанное как положительное скалярное значение.

Уровень отображения, указанный как один из 'off', 'iter', или 'final'.

Метод запуска итеративной оптимизации, указанный как разделенная запятыми пара, состоящая из 'StartMethod' и любое из следующего.

СтоимостьОписание
'default'Внутреннее значение по умолчанию
'random'Случайное начальное значение

Пример: 'StartMethod','random'

Индикатор для отображения процесса оптимизации на экране, указанный как разделенная запятыми пара, состоящая из 'Verbose' и либо false или true. По умолчанию: false.

Настройка для 'Verbose' переопределяет поле 'Display' в 'OptimizerOptions'.

Пример: 'Verbose',true

Индикатор для проверки положительной определённости гессена целевой функции относительно неограниченных параметров при сходимости, определяемой как разделённая запятыми пара, состоящая из 'CheckHessian' и либо false или true. По умолчанию: false.

Определить 'CheckHessian' как true для проверки оптимальности решения или для определения того, является ли модель сверхпараметризованной по количеству параметров ковариации.

Пример: 'CheckHessian',true

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

свернуть все

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

Подробнее

свернуть все

Формула

В общем случае формула для спецификации модели - это вектор символов или строковый скаляр вида 'y ~ terms'. Для линейных моделей смешанных эффектов эта формула имеет вид 'y ~ fixed + (random1|grouping1) + ... + (randomR|groupingR)', где fixed и random содержат фиксированные эффекты и случайные эффекты.

Предположим, таблица tbl содержит:

  • Переменная ответа, y

  • Переменные предиктора, Xj, которые могут быть непрерывными или группирующими переменными

  • Группирование переменных, g1, g2, ..., gR,

где переменные группирования в Xj и gr могут быть категориальными, логическими, символьными массивами, строковыми массивами или массивами ячеек символьных векторов.

Затем, в формуле вида, 'y ~ fixed + (random1|g1) + ... + (randomR|gR)', термин fixed соответствует спецификации матрицы проектирования с фиксированными эффектами X, random1 - спецификация матрицы проектирования случайных эффектов Z1, соответствующий переменной группировки g1, и аналогично randomR - спецификация матрицы проектирования случайных эффектов. ZR соответствует переменной группировки gR. Вы можете выразить fixed и random термины, использующие нотацию Уилкинсона.

Нотация Уилкинсона описывает факторы, присутствующие в моделях. Обозначение относится к факторам, присутствующим в моделях, а не к множителям (коэффициентам) этих факторов.

Нотация УилкинсонаКоэффициенты в стандартной нотации
1Член константы (перехвата)
X^k, где k является положительным целым числомX, X2, ..., Xk
X1 + X2X1, X2
X1*X2X1, X2, X1.*X2 (elementwise multiplication of X1 and X2)
X1:X2X1.*X2 только
- X2Не включать X2
X1*X2 + X3X1, X2, X3, X1*X2
X1 + X2 + X3 + X1:X2X1, X2, X3, X1*X2
X1*X2*X3 - X1:X2:X3X1, X2, X3, X1*X2, X1*X3, X2*X3
X1*(X2 + X3)X1, X2, X3, X1*X2, X1*X3

В нотации Statistics and Machine Learning Toolbox™ всегда содержится постоянный термин, если вы явно не удалили термин с помощью -1. Вот несколько примеров для спецификации линейной модели со смешанными эффектами.

Примеры:

ФормулаОписание
'y ~ X1 + X2'Фиксированные эффекты для перехвата, X1 и X2. Это эквивалентно 'y ~ 1 + X1 + X2'.
'y ~ -1 + X1 + X2'Отсутствие перехвата и фиксированных эффектов для X1 и X2. Неявный член перехвата подавляется включением -1.
'y ~ 1 + (1 | g1)'Фиксированные эффекты для перехвата плюс случайный эффект для перехвата для каждого уровня переменной группировки g1.
'y ~ X1 + (1 | g1)'Модель случайного пересечения с фиксированным наклоном.
'y ~ X1 + (X1 | g1)'Случайный перехват и наклон, с возможной корреляцией между ними. Это эквивалентно 'y ~ 1 + X1 + (1 + X1|g1)'.
'y ~ X1 + (1 | g1) + (-1 + X1 | g1)' Независимые термины случайных эффектов для перехвата и наклона.
'y ~ 1 + (1 | g1) + (1 | g2) + (1 | g1:g2)'Модель случайного перехвата с независимыми основными эффектами для g1 и g2плюс независимый эффект взаимодействия.

Параметризация Холески

Одно из предположений линейных моделей смешанных эффектов состоит в том, что случайные эффекты имеют следующее предварительное распределение.

b ~ N (0,σ2D (start)),

где D - q-на-q симметричная и положительная полудефинированная матрица, параметризованная вектором составляющей дисперсии, q - число переменных в слагаемом случайных эффектов, Поскольку ковариационная матрица случайных эффектов, D, симметрична, она имеет свободные параметры q (q + 1 )/2. Предположим, что L - это нижний треугольный фактор Холеского D (

D (λ) = L (λ) L (start) T,

затем из элементов в нижней треугольной части L. формируют q * (q + 1 )/2-by-1 неограниченный вектор параметров

Например, если

L = [L1100L21L220L31L32L33],

тогда

start= [L11L21L31L22L32L33].

Логарифмическая параметризация

Когда диагональные элементы L в параметризации Холески ограничены положительными, то решение для L является уникальным. Log-Cholesky параметризация такая же, как Cholesky параметризация за исключением того, что логарифм диагональных элементов L используются для гарантии уникальной параметризации.

Например, для примера 3 на 3 в параметризации Cholesky применение Lii ≥ 0,

λ = [log (L11) L21L31log (L22) L32log (L33)].

Альтернативы

Если модель не так просто описать с помощью формулы, можно создать матрицы для определения фиксированных и случайных эффектов и подогнать модель с помощью fitlmematrix(X,y,Z,G).

Ссылки

[1] Pinherio, J. C. и Д. М. Бэйтс. «Неограниченные параметры для матриц вариации-ковариации». Статистика и вычисления, том 6, 1996, стр. 289-296.

Представлен в R2013b