LinearMixedModel class

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

Описание

A 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-й матрице проекта случайных эффектов, 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-test. Метод вычисления DF задается как 'DFMethod' аргумент пары "имя-значение". Coefficients всегда использует 'Residual' метод для 'DFMethod'.
pValuep -value для t - test.
LowerНижний предел интервала доверия для коэффициента. Coefficients всегда использует 95% доверительный уровень, т.е. 'alpha' составляет 0,05.
UpperВерхний предел доверительного интервала для коэффициента. Coefficients всегда использует 95% доверительный уровень, т.е. 'alpha' составляет 0,05.

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

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

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

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

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

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

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

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

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

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

  • ML, если метод аппроксимации является максимальной вероятностью

  • REML, если метод аппроксимации ограничен максимальной вероятностью

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

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

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

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

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

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

AICИнформационный критерий Акайке
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-квадрат. Rsquared имеет два поля.

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

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

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', 'cell', 'nominal', и так далее).
Range

Область значений значений переменной.

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

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

InModel

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

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

IsCategorical

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

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

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

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

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

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

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

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

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

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

load flu

The 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. Для получения дополнительной информации смотрите Dummy Переменных.

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

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-квадрат, скорректированным для количества предикторов в модели.

Подробнее о

расширить все

См. также

|