LinearMixedModel class

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

Описание

LinearMixedModel объект представляет модель переменной отклика с фиксированными и случайными эффектами. Это включает данные, описание модели, подходящие коэффициенты, параметры ковариации, матрицы проекта, остаточные значения, остаточные графики и другую диагностическую информацию для линейной модели смешанных эффектов. Можно предсказать ответы модели с predict функционируйте и сгенерируйте случайные данные в новых точках проекта с помощью random функция.

Конструкция

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

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

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

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

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

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

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

Фиксированные эффекты проектируют матрицу в виде 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 th, случайные эффекты проектируют матрицу, 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Имя термина.
EstimateОриентировочная стоимость коэффициента.
SEСтандартная погрешность коэффициента.
tStatt- для тестирования нулевой гипотезы, которую равен нулю коэффициент.
DFСтепени свободы для t - тест. Метод, чтобы вычислить DF задан 'DFMethod' аргумент пары "имя-значение". Coefficients всегда использует 'Residual' метод для 'DFMethod'.
pValuep - значение для t - тест.
LowerНижний предел доверительного интервала для коэффициента. Coefficients всегда использует 95%-й доверительный уровень, т.е. 'alpha' 0.05.
UpperВерхний предел доверительного интервала для коэффициента. Coefficients всегда использует 95%-й доверительный уровень, т.е. 'alpha' 0.05.

Можно изменить 'DFMethod' и 'alpha' в то время как вычислительные доверительные интервалы для или зафиксированное включение гипотез тестирования - и случайные эффекты, с помощью coefCI и coefTest методы.

Ковариация предполагаемых коэффициентов фиксированных эффектов линейной модели смешанных эффектов, сохраненной как p-by-p матрица, где p является количеством коэффициентов фиксированных эффектов.

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

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

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

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

Остаточные степени свободы, сохраненные как положительное целочисленное значение. DFE = np, где n является количеством наблюдений и p, является количеством коэффициентов фиксированных эффектов.

Это соответствует 'Residual' метод вычисления степеней свободы в fixedEffects и randomEffects методы.

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

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

  • ML, если подходящий метод является наибольшим правдоподобием

  • REML, если подходящий метод является ограниченным наибольшим правдоподобием

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

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

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

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

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

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

AICКритерий информации о Akaike
BICБайесов информационный критерий
LoglikelihoodРегистрируйте значение вероятности модели
Deviance– 2 раза логарифмическая вероятность модели

Если n является количеством наблюдений, используемых в том, чтобы подбирать модель, и p является количеством коэффициентов фиксированных эффектов, то для вычисления AIC и BIC,

  • Общим количеством параметров является nc + p + 1, где nc является общим количеством параметров в ковариации случайных эффектов, исключая остаточное отклонение

  • Эффективное количество наблюдений

    • n, когда подходящий метод является наибольшим правдоподобием (ML)

    • n p, когда подходящий метод является ограниченным наибольшим правдоподобием (REML)

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

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

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

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

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

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

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

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

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

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

Общее количество переменных включая ответ и предикторы, сохраненные как положительное целочисленное значение.

  • Если выборочные данные находятся в таблице или массиве набора данных tbl'NumVariables' общее количество переменных в tbl включая переменную отклика.

  • Если подгонка основана на матричном входе, NumVariables общее количество столбцов в матрице предиктора или матриц и вектора отклика.

NumVariables включает переменные, если существует кто-либо, которые не используются в качестве предикторов или в качестве ответа.

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

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

ObservationInfo ссорится для каждого наблюдения и следующих четырех столбцов.

WeightsЗначение взвешенной переменной для того наблюдения. Значение по умолчанию равняется 1.
Excludedtrue, если наблюдение было исключено из подгонки с помощью 'Exclude' аргумент пары "имя-значение", false, в противном случае. 1 обозначает true и 0 обозначает false.
Missing

true, если наблюдение было исключено из подгонки, потому что любое значение ответа или предиктора отсутствует, false, в противном случае.

Отсутствующие значения включают NaN для числовых переменных, пустых ячеек для массивов ячеек, пустых строк для символьных массивов и <undefined> значение для категориальных массивов.

Subsettrue, если наблюдение использовалось в подгонке, false, если это не использовалось, потому что это отсутствует или исключенное.

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

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

  • Если данные находятся в таблице или массиве набора данных, tbl, содержа имена наблюдения, ObservationNames имеет те имена.

  • Если данные обеспечиваются в матрицах, или таблице или массиве набора данных без имен наблюдения, то ObservationNames массив пустой ячейки.

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

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

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

Имя переменной, используемой в качестве переменной отклика в подгонке, сохраненной как вектор символов.

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

Пропорция изменчивости в ответе, объясненном подобранной моделью, сохраненной как структура. Это - коэффициент кратной корреляции или R-squared. Rsquared имеет два поля.

OrdinaryЗначение R-squared, сохраненное как скалярное значение в структуре. Rsquared.Ordinary = 1 – SSE./SST
Adjusted

Значение R-squared, настроенное для количества коэффициентов фиксированных эффектов, сохраненных как скалярное значение в структуре.

Rsquared.Adjusted = 1 – (SSE./SST)*(DFT./DFE),

где DFE = n – p, DFT = n – 1, и n общее количество наблюдений, p количество коэффициентов фиксированных эффектов.

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

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

SSE = sum((y – F).^2), где y вектор отклика и F подходящий условный ответ линейной модели смешанных эффектов. Условная модель имеет вклады и от зафиксированных и от случайных эффектов.

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

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

SSR = sum((F – mean(F)).^2), где F подходящий условный ответ линейной модели смешанных эффектов. Условная модель имеет вклады и от зафиксированных и от случайных эффектов.

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

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

SST = sum((y – mean(y)).^2) = SSR + SSE, где y вектор отклика.

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

Переменные, сохраненные как таблица.

  • Если подгонка основана на таблице или массиве набора данных tbl, затем Variables идентично tbl.

  • Если подгонка основана на матричном входе, то Variables таблица, содержащая все переменные в матрице предиктора или матрицах и переменной отклика.

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

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

VariableInfo ссорится для каждой переменной и содержит следующие четыре столбца.

ClassКласс переменной ('double'ячейка, 'nominal', и так далее).
Range

Диапазон значений переменной.

  • Для числовой переменной это - двухэлементный вектор из формы [min,max].

  • Для ячейки или категориальной переменной, это - массив ячеек или категориальный массив, содержащий все уникальные значения переменной.

InModel

true, если переменная является предиктором в подобранной модели.

false, если переменная не находится в подобранной модели.

IsCategorical

true, если переменная имеет тип, который обработан как категориальный предиктор, такой как ячейка, логическая, или категориальная, или если это задано как категориальное 'Categorical' аргумент пары "имя-значение" fit метод.

false, если это - непрерывный предиктор.

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

Имена переменных используются в подгонке, сохраненной как массив ячеек из символьных векторов.

  • Если выборочные данные находятся в таблице или массиве набора данных tblИмена переменных содержит имена переменных в tbl.

  • Если выборочные данные находятся в матричном формате, то VariableInfo включает имена переменных, которые вы предоставляете, подбирая модель. Если вы не предоставляете имена переменных, то VariableInfo содержит имена по умолчанию.

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

Функции объекта

anovaДисперсионный анализ для линейной модели смешанных эффектов
coefCI Доверительные интервалы для коэффициентов линейной модели смешанных эффектов
coefTestТест гипотезы на фиксированных и случайных эффектах линейной модели смешанных эффектов
compareСравните линейные модели смешанных эффектов
covarianceParametersИзвлеките параметры ковариации линейной модели смешанных эффектов
designMatrixМатрицы, построенные на основе фиксированных или случайных эффектов
fittedПодходящие ответы из линейной модели смешанных эффектов
fixedEffectsОценки фиксированных эффектов и связанной статистики
partialDependenceВычислите частичную зависимость
plotPartialDependenceСоздайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
plotResidualsПостройте остаточные значения линейной модели смешанных эффектов
predict Предскажите ответ линейной модели смешанных эффектов
random Сгенерируйте случайные ответы из подбиравшей линейной модели смешанных эффектов
randomEffects Оценки случайных эффектов и связанной статистики
residualsОстаточные значения подбиравшей линейной модели смешанных эффектов
responseВектор отклика линейной модели смешанных эффектов

Примеры

свернуть все

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

load flu

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

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

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

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

Поскольку область является номинальной переменной, fitlme берет первую область, NE, как ссылка и создает восемь фиктивных переменных, представляющих другие восемь областей. Например, I[MidAtl] фиктивная переменная, представляющая область MidAtl. Для получения дополнительной информации смотрите Фиктивные Переменные.

Соответствующая модель

yim=β0+β1I[MidAtl]i+β2I[ENCentral]i+β3I[WNCentral]i+β4I[SAtl]i+β5I[ESCentral]i+β6I[WSCentral]i+β7I[Mtn]i+β8I[Pac]i+b0m+εim,m=1,2,...,52,

где yim наблюдение i для уровня m из сгруппированной переменной Date, βj, j = 0, 1..., 8, коэффициенты фиксированных эффектов, b0m случайный эффект для уровня m из сгруппированной переменной Date, и εim ошибка наблюдения для наблюдения i. Случайный эффект имеет предшествующее распределение, b0mN(0,σb2) и остаточный член имеет распределение, εimN(0,σ2).

lme = fitlme(flu2,'FluRate ~ 1 + Region + (1|Date)')
lme = 
Linear mixed-effects model fit by ML

Model information:
    Number of observations             468
    Fixed effects coefficients           9
    Random effects coefficients         52
    Covariance parameters                2

Formula:
    FluRate ~ 1 + Region + (1 | Date)

Model fit statistics:
    AIC       BIC       LogLikelihood    Deviance
    318.71    364.35    -148.36          296.71  

Fixed effects coefficients (95% CIs):
    Name                        Estimate    SE          tStat      DF 
    {'(Intercept)'     }          1.2233    0.096678     12.654    459
    {'Region_MidAtl'   }        0.010192    0.052221    0.19518    459
    {'Region_ENCentral'}        0.051923    0.052221     0.9943    459
    {'Region_WNCentral'}         0.23687    0.052221     4.5359    459
    {'Region_SAtl'     }        0.075481    0.052221     1.4454    459
    {'Region_ESCentral'}         0.33917    0.052221      6.495    459
    {'Region_WSCentral'}           0.069    0.052221     1.3213    459
    {'Region_Mtn'      }        0.046673    0.052221    0.89377    459
    {'Region_Pac'      }        -0.16013    0.052221    -3.0665    459


    pValue        Lower        Upper    
     1.085e-31       1.0334       1.4133
       0.84534    -0.092429      0.11281
        0.3206    -0.050698      0.15454
    7.3324e-06      0.13424      0.33949
       0.14902     -0.02714       0.1781
    2.1623e-10      0.23655      0.44179
       0.18705    -0.033621      0.17162
       0.37191    -0.055948      0.14929
     0.0022936     -0.26276    -0.057514

Random effects covariance parameters (95% CIs):
Group: Date (52 Levels)
    Name1                  Name2                  Type           Estimate
    {'(Intercept)'}        {'(Intercept)'}        {'std'}        0.6443  


    Lower     Upper  
    0.5297    0.78368

Group: Error
    Name               Estimate    Lower      Upper
    {'Res Std'}        0.26627     0.24878    0.285

p- значения 7.3324e-06 и 2.1623e-10 соответственно показывают что фиксированные эффекты уровней гриппа в областях WNCentral и ESCentral существенно отличаются относительно уровней гриппа в области NE.

Пределы достоверности для стандартного отклонения термина случайных эффектов, σb, не включайте 0 (0.5297, 0.78368), который указывает, что термин случайных эффектов является значительным. Можно также протестировать значение терминов случайных эффектов с помощью compare метод.

Ориентировочная стоимость наблюдения является суммой фиксированных эффектов и значения случайного эффекта на уровне сгруппированной переменной, соответствующем тому наблюдению. Например, предполагаемый лучше всего линейный несмещенный предиктор (BLUP) уровня гриппа для области WNCentral на неделе 10/9/2005

yˆWNCentral,10/9/2005=βˆ0+βˆ3I[WNCentral]+bˆ10/9/2005=1.2233+0.23687-0.1718=1.28837.

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

beta = fixedEffects(lme);
[~,~,STATS] = randomEffects(lme); % Compute the random-effects statistics (STATS)
STATS.Level = nominal(STATS.Level);
y_hat = beta(1) + beta(4) + STATS.Estimate(STATS.Level=='10/9/2005')
y_hat = 1.2884

Можно просто отобразить подходящее значение с помощью fitted метод.

F = fitted(lme);
F(flu2.Date == '10/9/2005' & flu2.Region == 'WNCentral')
ans = 1.2884

Вычислите подходящий крайний ответ для области WNCentral на неделе 10/9/2005.

F = fitted(lme,'Conditional',false);
F(flu2.Date == '10/9/2005' & flu2.Region == 'WNCentral')
ans = 1.4602

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

load carbig

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

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

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

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

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

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

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

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

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

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
    2202.9    2230.7    -1094.5          2188.9  

Fixed effects coefficients (95% CIs):
    Name                    Estimate    SE           tStat      DF 
    {'Intercept'   }          50.064       2.3176     21.602    389
    {'Acceleration'}        -0.57897      0.13843    -4.1825    389
    {'Horsepower'  }        -0.16958    0.0073242    -23.153    389


    pValue        Lower       Upper   
    1.4185e-68      45.507       54.62
    3.5654e-05    -0.85112    -0.30681
    3.5289e-75    -0.18398    -0.15518

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


    Lower       Upper   
      1.5215      9.0954
    -0.98275    -0.33845
     0.19418     0.66483

Group: Error
    Name               Estimate    Lower     Upper 
    {'Res Std'}        3.6913      3.4331    3.9688

Фиксированное содействующее отображение эффектов включает оценку, стандартные погрешности (SE), и 95% пределов доверительного интервала (Lower и Upper). p- значения для (pValue) укажите, что все три коэффициента фиксированных эффектов являются значительными.

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

Отобразите ковариационную матрицу предполагаемых коэффициентов фиксированных эффектов.

lme.CoefficientCovariance
ans = 3×3

    5.3711   -0.2809   -0.0126
   -0.2809    0.0192    0.0005
   -0.0126    0.0005    0.0001

Диагональные элементы показывают отклонения содействующих оценок фиксированных эффектов. Например, отклонение оценки точки пересечения 5.3711. Обратите внимание на то, что стандартные погрешности оценок являются квадратными корнями из отклонений. Например, стандартная погрешность точки пересечения 2.3176, который является sqrt(5.3711).

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

Отобразите коэффициент детерминации для модели.

lme.Rsquared
ans = struct with fields:
    Ordinary: 0.7866
    Adjusted: 0.7855

Настроенное значение является значением R-squared, настроенным для количества предикторов в модели.

Больше о

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

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

|