fitlmematrix

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

Описание

пример

lme = fitlmematrix(X,y,Z,[]) создает линейную модель откликов со смешанными эффектами y использование матрицы проекта с фиксированными эффектами X и конструкторскую матрицу или матрицы случайных эффектов в Z.

[] подразумевает, что существует одна группа. То есть сгруппированная переменная G является ones(n,1), где n количество наблюдений. Использование fitlmematrix(X,Y,Z,[]) без заданного ковариационного шаблона, скорее всего, приводит к неидентифицируемой модели. Этот синтаксис рекомендуется только, если вы строите информацию о группировке в проекте случайных эффектов Z и задайте ковариационный шаблон для случайных эффектов, используя 'CovariancePattern' аргумент пары "имя-значение".

пример

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

пример

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

Для примера можно задать имена отклика, предиктора и сгруппированных переменных. Можно также задать ковариационный шаблон, метод аппроксимации или алгоритм оптимизации.

Примеры

свернуть все

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

load carsmall

Подгонка модели линейных смешанных эффектов, где миля на галлон (MPG) является ответом, вес является переменной, и точка пересечения изменяется в зависимости от модельного года. Сначала задайте матрицы проекта. Затем подгоните модель с помощью заданных матриц проекта.

y = MPG;
X = [ones(size(Weight)), Weight];
Z = ones(size(y));
lme = fitlmematrix(X,y,Z,Model_Year)
lme = 
Linear mixed-effects model fit by ML

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

Formula:
    y ~ x1 + x2 + (z11 | g1)

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    486.09    496.26    -239.04          478.09  

Fixed effects coefficients (95% CIs):
    Name          Estimate      SE           tStat      DF    pValue    
    {'x1'}            43.575       2.3038     18.915    92    1.8371e-33
    {'x2'}        -0.0067097    0.0004242    -15.817    92    5.5373e-28


    Lower         Upper     
            39        48.151
    -0.0075522    -0.0058672

Random effects covariance parameters (95% CIs):
Group: g1 (3 Levels)
    Name1          Name2          Type           Estimate    Lower     Upper 
    {'z11'}        {'z11'}        {'std'}        3.301       1.4448    7.5421

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        2.8997      2.5075    3.3532

Теперь подбирайте ту же модель, встраивая группировку в Z матрица.

Z = double([Model_Year==70, Model_Year==76, Model_Year==82]);
lme = fitlmematrix(X,y,Z,[],'Covariancepattern','Isotropic')
lme = 
Linear mixed-effects model fit by ML

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

Formula:
    y ~ x1 + x2 + (z11 + z12 + z13 | g1)

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    486.09    496.26    -239.04          478.09  

Fixed effects coefficients (95% CIs):
    Name          Estimate      SE           tStat      DF    pValue    
    {'x1'}            43.575       2.3038     18.915    92    1.8371e-33
    {'x2'}        -0.0067097    0.0004242    -15.817    92    5.5373e-28


    Lower         Upper     
            39        48.151
    -0.0075522    -0.0058672

Random effects covariance parameters (95% CIs):
Group: g1 (1 Levels)
    Name1          Name2          Type           Estimate    Lower     Upper 
    {'z11'}        {'z11'}        {'std'}        3.301       1.4448    7.5421

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        2.8997      2.5075    3.3532

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

load('weight.mat');

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

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

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

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

Subject = nominal(Subject);
Program = nominal(Program);
D = dummyvar(Program); % Create dummy variables for Program
X = [ones(120,1), InitialWeight, D(:,2:4), Week,...
		 D(:,2).*Week, D(:,3).*Week, D(:,4).*Week];
Z = [ones(120,1), Week];
G = Subject;

Поскольку модель имеет точку пересечения, вам нужны только фиктивные переменные для программ B, C и D. Это также известно как 'reference' СПОСОБ КОДИРОВАНИЯ ФИКТИВНЫХ ПЕРЕМЕННЫХ.

Подгонка модели с помощью fitlmematrix с определенными матрицами проекта и сгруппированными переменными.

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',...
{'Intercept','InitWeight','PrgB','PrgC','PrgD','Week','Week_PrgB','Week_PrgC','Week_PrgD'},...
'RandomEffectPredictors',{{'Intercept','Week'}},'RandomEffectGroups',{'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:
    Linear Mixed Formula with 10 predictors.

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     pValue   
    {'Intercept' }          0.66105      0.25892      2.5531    111     0.012034
    {'InitWeight'}        0.0031879    0.0013814      2.3078    111     0.022863
    {'PrgB'      }          0.36079      0.13139       2.746    111    0.0070394
    {'PrgC'      }        -0.033263      0.13117    -0.25358    111      0.80029
    {'PrgD'      }          0.11317      0.13132     0.86175    111      0.39068
    {'Week'      }           0.1732     0.067454      2.5677    111     0.011567
    {'Week_PrgB' }         0.038771     0.095394     0.40644    111      0.68521
    {'Week_PrgC' }         0.030543     0.095394     0.32018    111      0.74944
    {'Week_PrgD' }         0.033114     0.095394     0.34713    111      0.72915


    Lower         Upper    
       0.14798       1.1741
    0.00045067    0.0059252
       0.10044      0.62113
      -0.29319      0.22666
      -0.14706       0.3734
      0.039536      0.30686
      -0.15026       0.2278
      -0.15849      0.21957
      -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

Исследуйте таблицу коэффициентов фиксированных эффектов. Строка с меткой 'InitWeight' имеет p-значение 0,0228 и маркированная строка 'Week' имеет p-значение 0,0115. Они p-значения указывают на значительные эффекты начальных весов субъектов и временного фактора в количестве потерянного веса. Потеря веса субъектов, которые находятся в программе B, значительно отличается по сравнению с потерей веса субъектов, которые находятся в программе A. Нижний и верхний пределы ковариационных параметров для случайных эффектов не включают нули, поэтому они кажутся значительными. Можно также проверить значимость случайных эффектов с помощью compare способ.

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

load flu

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

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

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

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

y = flu2.FluRate;
X = [ones(468,1) flu2.WtdILI];
Z = [ones(468,1)];
G = flu2.Date;

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

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',{'Intercept','NationalRate'},...
'RandomEffectPredictors',{{'Intercept'}},'RandomEffectGroups',{'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:
    y ~ Intercept + NationalRate + (Intercept | 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
    {'NationalRate'}         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    Lower  
    {'Intercept'}        {'Intercept'}        {'std'}        0.17146     0.13227


    Upper  
    0.22226

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

Доверительные пределы стандартного отклонения термина случайных эффектов σb, не включать нуль (0,13227, 0,22226), что указывает на то, что термин случайных эффектов значителен. Можно также проверить значимость случайных эффектов с помощью 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(lme) способ.

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

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

load('shift.mat');

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

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

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

S = shift.Shift;
X1 = (S=='Morning') - (S=='Night');
X2 = (S=='Evening') - (S=='Night');
X = [ones(15,1), X1, X2];
y = shift.QCDev;
Z = ones(15,1);
G = shift.Operator;

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

lme = fitlmematrix(X,y,Z,G,'FitMethod','REML','FixedEffectPredictors',....
{'Intercept','S_Morning','S_Evening'},'RandomEffectPredictors',{{'Intercept'}},...
'RandomEffectGroups',{'Operator'},'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:
    y ~ Intercept + S_Morning + S_Evening + (Intercept | 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
    {'S_Morning'}        -0.91973    0.31206    -2.9473    12     0.012206
    {'S_Evening'}        -0.53293    0.31206    -1.7078    12      0.11339


    Lower      Upper   
     1.6021       5.703
    -1.5997    -0.23981
    -1.2129     0.14699

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


    Upper 
    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

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

load carbig

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

MPGim=β0+β1Acci+β2HP+b0m+b1mAccim+εim,m=1,2,3,

с терминами случайных эффектов, имеющими следующие предыдущие распределения:

b0mN(0,σ02),

b1mN(0,σ12),

где m представляет модельный год.

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

X = [ones(406,1) Acceleration Horsepower];
Z = {ones(406,1),Acceleration};
G = {Model_Year,Model_Year};
Model_Year = nominal(Model_Year);

Теперь подбирайте модель используя fitlmematrix с определенными матрицами проекта и сгруппированными переменными.

lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',....
{'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',...
{{'Intercept'},{'Acceleration'}},'RandomEffectGroups',{'Model_Year','Model_Year'})
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             392
    Fixed effects coefficients           3
    Random effects coefficients         26
    Covariance parameters                3

Formula:
    Linear Mixed Formula with 4 predictors.

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    2194.5    2218.3    -1091.3          2182.5  

Fixed effects coefficients (95% CIs):
    Name                    Estimate    SE           tStat      DF 
    {'Intercept'   }          49.839       2.0518     24.291    389
    {'Acceleration'}        -0.58565      0.10846    -5.3995    389
    {'Horsepower'  }        -0.16534    0.0071227    -23.213    389


    pValue        Lower       Upper   
    5.6168e-80      45.806      53.873
    1.1652e-07     -0.7989     -0.3724
    1.9755e-75    -0.17934    -0.15133

Random effects covariance parameters (95% CIs):
Group: Model_Year (13 Levels)
    Name1                Name2                Type           Estimate      Lower
    {'Intercept'}        {'Intercept'}        {'std'}        8.5771e-07    NaN  


    Upper
    NaN  

Group: Model_Year (13 Levels)
    Name1                   Name2                   Type           Estimate
    {'Acceleration'}        {'Acceleration'}        {'std'}        0.18783 


    Lower      Upper  
    0.12523    0.28172

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        3.7258      3.4698    4.0007

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

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

bm=(b0mb1m)N(0,(σ02σ0,1σ0,1σ12)),

где m представляет модельный год.

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

Z = [ones(406,1) Acceleration];
G = Model_Year;

lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',....
{'Intercept','Acceleration','Horsepower'},'RandomEffectPredictors',...
{{'Intercept','Acceleration'}},'RandomEffectGroups',{'Model_Year'})
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             392
    Fixed effects coefficients           3
    Random effects coefficients         26
    Covariance parameters                4

Formula:
    Linear Mixed Formula with 4 predictors.

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    2193.5    2221.3    -1089.7          2179.5  

Fixed effects coefficients (95% CIs):
    Name                    Estimate    SE           tStat      DF 
    {'Intercept'   }          50.133       2.2652     22.132    389
    {'Acceleration'}        -0.58327      0.13394    -4.3545    389
    {'Horsepower'  }        -0.16954    0.0072609     -23.35    389


    pValue        Lower       Upper   
    7.7727e-71      45.679      54.586
    1.7075e-05    -0.84661    -0.31992
     5.188e-76    -0.18382    -0.15527

Random effects covariance parameters (95% CIs):
Group: Model_Year (13 Levels)
    Name1                   Name2                   Type            Estimate
    {'Intercept'   }        {'Intercept'   }        {'std' }          3.3475
    {'Acceleration'}        {'Intercept'   }        {'corr'}        -0.87971
    {'Acceleration'}        {'Acceleration'}        {'std' }         0.33789


    Lower       Upper   
      1.2862      8.7119
    -0.98501    -0.29675
      0.1825     0.62558

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        3.6874      3.4298    3.9644

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

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

load('weight.mat');

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

Определите Subject и Program как категориальные переменные.

Subject = nominal(Subject);
Program = nominal(Program);

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

D = dummyvar(Program);
X = [ones(120,1), InitialWeight, D(:,2:4), Week];
Z = [ones(120,1) Week];
G = Subject;

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

yim=β0+β1IWi+β2Weeki+β3I[PB]i+β4I[PC]i+β5I[PD]i+b0m+b1mWeek2im+b2mWeek4im+b3mWeek6im+b4mWeek8im+b5mWeek10im+b6mWeek12im+ε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).

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

lme = fitlmematrix(X,y,Z,G,'FixedEffectPredictors',...
{'Intercept','InitWeight','PrgB','PrgC','PrgD','Week'},...
'RandomEffectPredictors',{{'Intercept','Week'}},...
'RandomEffectGroups',{'Subject'},'CovariancePattern','Isotropic')
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             120
    Fixed effects coefficients           6
    Random effects coefficients         40
    Covariance parameters                2

Formula:
    Linear Mixed Formula with 7 predictors.

Model fit statistics:
    AIC        BIC       LogLikelihood    Deviance
    -24.783    -2.483    20.391           -40.783 

Fixed effects coefficients (95% CIs):
    Name                  Estimate     SE           tStat       DF 
    {'Intercept' }           0.4208      0.28169      1.4938    114
    {'InitWeight'}        0.0045552    0.0015338      2.9699    114
    {'PrgB'      }          0.36993      0.12119      3.0525    114
    {'PrgC'      }        -0.034009       0.1209    -0.28129    114
    {'PrgD'      }            0.121      0.12111     0.99911    114
    {'Week'      }          0.19881     0.037134      5.3538    114


    pValue        Lower        Upper    
       0.13799     -0.13723      0.97883
     0.0036324    0.0015168    0.0075935
     0.0028242      0.12986         0.61
       0.77899     -0.27351       0.2055
       0.31986     -0.11891      0.36091
    4.5191e-07      0.12525      0.27237

Random effects covariance parameters (95% CIs):
Group: Subject (20 Levels)
    Name1                Name2                Type           Estimate    Lower  
    {'Intercept'}        {'Intercept'}        {'std'}        0.16561     0.12896


    Upper  
    0.21269

Group: Error
    Name               Estimate    Lower       Upper  
    {'Res Std'}        0.10272     0.088014    0.11987

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

свернуть все

Матрица разработки фиксированных эффектов, заданная как n -by - p матрица, где n - количество наблюдений, а p - количество переменных предиктора фиксированных эффектов. Каждая строка X соответствует одному наблюдению и каждому столбцу X соответствует одной переменной.

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

Значения отклика, заданные как n -by-1 вектор, где n - количество наблюдений.

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

Проект случайных эффектов, заданный как любой из следующих.

  • Если существует один член в модели случайных эффектов, то Z должна быть n -by - q матрицей, где n - количество наблюдений, а q - количество переменных в термине случайных эффектов.

  • Если существует R членов случайных эффектов, то Z должен быть массивом ячеек с R длины. Каждая камера Z содержит n -by q (r) матрицу проекта Z{r}, r = 1, 2,..., R, соответствующий каждому термину случайных эффектов. Здесь q (r) - количество членов случайных эффектов в r-й матрице проекта случайных эффектов, Z{r}.

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

Сгруппированная переменная или переменных, заданная как одна из следующих.

  • Если существует один термин случайных эффектов, то G должен быть вектором n -by-1, соответствующим одной сгруппированной переменной с M уровнями или группами.

    G может быть категориальным вектором, логическим вектором, числовым вектором, символьным массивом, строковыми массивами или массивом ячеек из векторов символов.

  • Если существует несколько членов случайных эффектов, то G должен быть массивом ячеек с R длины. Каждая камера G содержит сгруппированную переменную G{r}, r = 1, 2,..., R, с M (r) уровнями.

    G{r} может быть категориальным вектором, логическим вектором, числовым вектором, символьным массивом, строковыми массивами или массивом ячеек из векторов символов.

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

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

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

Пример: 'CovariancePattern','Diagonal','DummyVarCoding','full','Optimizer','fminunc' задает ковариационный шаблон случайных эффектов с нулем off-диагональных элементов, создает фиктивную переменную для каждого уровня категориальной переменной и использует fminunc алгоритм оптимизации.

Имена столбцов в матрице проекта с фиксированными эффектами X, заданная как разделенная разделенными запятой парами, состоящая из 'FixedEffectPredictors' и строковые массивы или массив ячеек с p длины.

Для примера, если у вас есть постоянный член и два предиктора, скажем TimeSpent и Gender, где Female является базовым уровнем для Genderв качестве фиксированных эффектов можно задать имена фиксированных эффектов следующим образом. Gender_Male представляет переменную манекена, которую вы должны создать для категории Male. Для этих переменных можно выбрать различные имена.

Пример: 'FixedEffectPredictors',{'Intercept','TimeSpent','Gender_Male'},

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

Имена столбцов в матрице проекта случайных эффектов или массиве ячеек Z, заданная как разделенная разделенными запятой парами, состоящая из 'RandomEffectPredictors' и любое из следующих:

  • Массив строковых массивов или ячеек длины q при Z является n -by q матрицей проекта. В этом случае значение по умолчанию является {'z1','z2',...,'zQ'}.

  • Массив ячеек длины R, когда Z - массив ячеек длины, R с каждым элементом Z{r} длины q (r), r = 1, 2,..., R. В этом случае значение по умолчанию является {'z11','z12',...,'z1Q(1)'},...,{'zr1','zr2',...,'zrQ(r)'}.

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

Пример: 'RandomEffectPredictors',{'Intercept','Acceleration'}

Если у вас есть два условия случайных эффектов, один для точки пересечения и переменной Acceleration сгруппирован по переменным g1, и второй для точки пересечения, сгруппированный по переменной g2, затем вы задаете имена предикторов случайных эффектов следующим образом.

Пример: 'RandomEffectPredictors',{{'Intercept','Acceleration'},{'Intercept'}}

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

Имя переменной отклика, заданное как разделенная разделенными запятой парами, состоящая из 'ResponseVarName' и вектор символов или строковый скаляр.

Для примера, если ваше имя переменной ответа score, затем можно задать его следующим образом.

Пример: 'ResponseVarName','score'

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

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

  • Вектор символов или строковый скаляр - Если существует только один термин случайных эффектов, то есть, если G является вектором, затем значение 'RandomEffectGroups' - имя сгруппированной переменной G. Значение по умолчанию является 'g'.

  • Строковые массивы или массив ячеек векторов символов - если существует несколько членов случайных эффектов, то есть если G - массив ячеек длиной R, затем значение 'RandomEffectGroups' - строковые массивы или массив ячеек длиной R, где каждый элемент является именем для сгруппированной переменной G{r}. Значение по умолчанию является {'g1','g2',...,'gR'}.

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

Пример: 'RandomEffectGroups',{'sex','subject'}

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

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

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

Пример: '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 объект.

Подробнее о

свернуть все

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

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

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)].

Альтернативная функциональность

Можно также подгонять линейную модель смешанных эффектов с помощью fitlme(tbl,formula), где tbl - таблица или массив набора данных, содержащий ответ y, переменные предиктора X, и сгруппированные переменные, и formula имеет вид 'y ~ fixed + (random1|g1) + ... + (randomR|gR)'.

См. также

| |

Введенный в R2013b