exponenta event banner

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

b0m∼N (0, start02)

b1m∼N (0, start12)

εim∼N (0, start2).

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

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

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

b0m∼N (0, startb2),

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

εim∼N (0, start2).

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

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

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

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

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

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

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

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

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

load('shift.mat');

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

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

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

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

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

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

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

b0m∼N (0, startb2)

и

εim∼N (0, start2).

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+βˆ1Shift_Evening+bˆ03=3.6525-0.53293-2.1715=0.94807.

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

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

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

load carbig

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

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

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

b0m∼N (0, start02),

b1m∼N (0, start12),

где 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, (

где 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 +

где i = 1, 2,..., 120 и m = 1, 2,..., 20.

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

b0m∼N (0, start02)

b1m∼N (0, start12)

εim∼N (0, start2).

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

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

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

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

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

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

  • Строковый массив или массив ячеек длиной q при Z представляет собой матрицу конструкции n-на-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 массива определяет шаблон ковариационной матрицы вектора случайных эффектов, связанного с членом случайных эффектов rth. Ниже приведены опции для каждого элемента.

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

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

(σb12000σb22000σb32)

'Isotropic'

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

(σb2000σb2000σb2)

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

'CompSymm'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Подробнее

свернуть все

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

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

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

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

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

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

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

L = [L1100L21L220L31L32L33],

тогда

start= [L11L21L31L22L32L33].

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

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

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

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

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

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

См. также

| |

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