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+ε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 тип грунта th, и (S*T)jk представляет j томатный тип th, вложенный в k тип грунта th. 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 th термин случайных эффектов. Опции для каждого элемента следуют.

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

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

(σb12000σb22000σb32)

'Isotropic'

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

(σb2000σb2000σb2)

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

'CompSymm'

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

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

где σ2b1 является общим отклонением условий случайных эффектов, и σb1, 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'У вас должен быть 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'):

'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 положительное целое числоXx2 ..., Xk
X1 + X2X1x2
X1*X2X1x2 , X1.*X2 (elementwise multiplication of X1 and X2)
X1:X2X1.*X2 только
- X2Не включайте X2
X1*X2 + X3X1x2 , X3x1, x2
X1 + X2 + X3 + X1:X2X1x2 , X3x1, x2
X1*X2*X3 - X1:X2:X3X1x2 , X3x1, x2 , X1*X3, X2*X3
X1*(X2 + X3)X1x2 , X3x1, 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(θ)),

где D является q-by-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. и Д. М. Бэйтс. “Неограниченная Параметризация для Ковариационных матриц Отклонения”. Статистика и Вычисление, Издание 6, 1996, стр 289–296.

Введенный в R2013b