LinearMixedModel.fit

Класс: LinearMixedModel

(Не Рекомендуемый) Подходящая линейная модель смешанных эффектов использование таблиц

LinearMixedModel.fit не рекомендуется. Используйте fitlme вместо этого.

Описание

пример

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

пример

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

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

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

развернуть все

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

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

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

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

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

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

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

Шаблон ковариационной матрицы случайных эффектов в виде разделенной запятой пары, состоящей из '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'Значение по умолчанию. Коэффициент для первого набора категории к 0.
'effects'Коэффициенты суммируют к 0.
'full'Одна фиктивная переменная для каждой категории.

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

Примеры

развернуть все

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

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

Подбирайте линейную модель смешанных эффектов с общенациональным случайное прерывание, которое варьируется 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 = LinearMixedModel.fit(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 (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 метод.

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

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

load('shift.mat');

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

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

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

Shift_Вечер={0,if Morning1,if Evening-1,if Night

Shift_Утро={началоarrayll1,\mboxеслиУтро

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

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 = LinearMixedModel.fit(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-ой тип грунта, и (S*T)jk представляет jth томатный тип, вложенный в k-ом типе грунта. I[F]im фиктивный переменный уровень представления m из удобрения. Точно так же I[T]ij фиктивная переменная, представляющая уровень j из томатного типа.

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

b0kN(0,σS2)

b0jkN(0,σS*T2)

ϵimjkN(0,σ2)

lme = LinearMixedModel.fit(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 = LinearMixedModel.fit(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), и их потеря веса зарегистрирована более чем шести2D недельные периоды времени. Это - симулированные данные.

Храните данные в таблице. Задайте Subject и Program как категориальные переменные.

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

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

LinearMixedModel.fit Программа A использования как ссылка и создает необходимые фиктивные переменные I[.]. Поскольку модель уже имеет прерывание, LinearMixedModel.fit только создает фиктивные переменные для типов 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 = LinearMixedModel.fit(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.21077    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 метод.

Больше о

развернуть все

Советы

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

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

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

Смотрите также

| | | |