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

The 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+εim,i=1,2,...,468,m=1,2,...,52,

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

b0mN(0,σb2),

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

εimN(0,σ2).

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

Предполагаемые ковариационные параметры отображаются в разделе «Параметры ковариации случайных эффектов». Оценочное значение σb 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,

где bˆ является оцененным лучшим линейным объективным предиктором (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_Вечер={0,if Morning1,if Evening-1,if Night

Shift_Доброе утро={1,if Morning0,if Evening-1,if Night

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

Morning Shift: QCDevim=β0+β2Shift_Доброе утроi+b0m+ϵim,Evening Shift: QCDevim=β0+β1Shift_Вечерi+b0m+ϵim,Night Shift: QCDevim=β0-β1Shift_Вечерi-β2Shift_Доброе утроi+b0m+ϵim,

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

b0mN(0,σb2)

и

εimN(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

Вычислите лучшие линейные объективные оценки случайных эффектов (BLUP).

B = randomEffects(lme)
B = 5×1

    0.5775
    1.1757
   -2.1715
    2.3655
   -1.9472

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

yˆEvening,Operator3=βˆ0+βˆ1Сдвиг_Вечер+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+βˆ2Сдвиг_Доброе утро+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=25m=24β3mjI[F]imI[T]ij+b0kSk+b0jk(S*T)jk+εimjk,

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

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

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' контрасты.

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

Обновите модель после удаления термина взаимодействия 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. Случайные эффекты и ошибка наблюдения имеют следующие предшествующие распределения:

b0mN(0,σ02)

b1mN(0,σ12)

εimN(0,σ2).

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

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

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

(σb12000σb22000σb32)

'Isotropic'

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

(σb2000σb2000σb2)

где2b - общее отклонение членов случайных эффектов.

'CompSymm'

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

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

где2b1 является общим отклонением членов random-эффектов, а, b1, b2 является общим ковариацией между любыми двумя терминами random-эффектов.

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 function, и изменить порядок при помощи reordercats функция.
'effects'fitlme создает фиктивные переменные, используя кодирование эффектов. Эта схема использует -1, чтобы представлять последнюю категорию. Эта схема создает меньше фиктивных переменных, чем количество категорий.
'full'fitlme создает полные фиктивные переменные. Эта схема создает по одной фиктивной переменной для каждой категории.

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

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

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

'quasinewton'По умолчанию. Использует оптимизатор на основе доверительной области квази-Ньютона. Измените опции алгоритма, используя statset('LinearMixedModel'). Если вы не задаете опции, то LinearMixedModel использует опции по умолчанию statset('LinearMixedModel').
'fminunc'Чтобы задать эту опцию, необходимо иметь Optimization 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'):

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

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

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

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

Level of display, заданный как один из '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™ notation всегда включает в себя постоянный термин, если вы явным образом не удаляете термин с помощью -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(θ)),

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

D(θ)=L(θ)L(θ)T,

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

Для примера, если

L=[L1100L21L220L31L32L33],

тогда

θ=[L11L21L31L22L32L33].

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

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

Например, для примера 3 на 3 в параметризации Холецкого, обеспечивающего соблюдение L ii ≥ 0 ,

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

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

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

Ссылки

[1] Pinherio, J. C., and D. M. Bates. Без ограничений параметризации для дисперсионно-ковариационных матриц. Статистика и вычисления, том 6, 1996, стр. 289-296.

Введенный в R2013b