Класс: LinearMixedModel
(Не Рекомендуемый) Подходящая линейная модель смешанных эффектов, использующая матрицы проекта
LinearMixedModel.fitmatrix
не рекомендуется. Используйте fitlmematrix
вместо этого.
создает линейную модель смешанных эффектов ответов lme
= LinearMixedModel.fitmatrix(X
,y
,Z
,[])y
использование фиксированных эффектов проектирует матричный X
и случайные эффекты проектируют матрицу или матрицы в Z
.
[]
подразумевает, что существует одна группа. Таким образом, сгруппированная переменная G
ones(n,1)
, где n является количеством наблюдений. Используя LinearMixedModel.fitmatrix(X,Y,Z,[])
без заданного шаблона ковариации, скорее всего, приведет к неидентифицируемой модели. Этот синтаксис рекомендуется, только если вы встраиваете группирующуюся информацию в случайный проект эффектов Z
и задайте шаблон ковариации для случайных эффектов с помощью 'CovariancePattern'
аргумент пары "имя-значение".
также создает линейную модель смешанных эффектов с дополнительными опциями, заданными одним или несколькими lme
= LinearMixedModel.fitmatrix(___,Name,Value
)Name,Value
парные аргументы, с помощью любого из предыдущих входных параметров.
Например, можно задать имена ответа, предиктора и сгруппированных переменных. Можно также задать шаблон ковариации, подходящий метод или алгоритм оптимизации.
X
— Фиксированные эффекты проектируют матрицуФиксированные эффекты проектируют матрицу, заданную как n-by-p матрица, где n является количеством наблюдений, и p является количеством переменных предикторов фиксированных эффектов. Каждая строка X
соответствует одному наблюдению и каждому столбцу X
соответствует одной переменной.
Типы данных: single
| double
y
— Значения ответаЗначения ответа, заданные как n-by-1 вектор, где n является количеством наблюдений.
Типы данных: single
| double
Z
— Проект случайных эффектовПроект случайных эффектов, заданный как любое из следующих.
Если существует один член в модели случайных эффектов, то 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
— Сгруппированная переменная или переменныеСгруппированная переменная или переменные, заданные как любое из следующих.
Если существует один термин случайных эффектов, то 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
.
'FixedEffectPredictors'
— Имена столбцов в фиксированных эффектах проектируют матрицу{'x1','x2',...,'xP'}
(значение по умолчанию) | массив строк или массив ячеек длины pИмена столбцов в фиксированных эффектах проектируют матричный X
, заданный как разделенная запятой пара, состоящая из 'FixedEffectPredictors'
и массив строк или массив ячеек длины p.
Например, если вы имеете постоянный термин и два предиктора, говорите TimeSpent
и Gender
, где Female
контрольный уровень для Gender
, как фиксированные эффекты, затем можно задать имена фиксированных эффектов следующим образом. Gender_Male
представляет фиктивную переменную, необходимо создать для категории Male
. Можно выбрать различные имена для этих переменных.
Пример: 'FixedEffectPredictors',{'Intercept','TimeSpent','Gender_Male'}
,
Типы данных: string
| cell
'RandomEffectPredictors'
— Имена столбцов в случайных эффектах проектируют матричный или массив ячеекИмена столбцов в случайных эффектах проектируют матричный или массив ячеек Z
, заданный как разделенная запятой пара, состоящая из 'RandomEffectPredictors'
и любое из следующего:
Массив строк или массив ячеек длины q, когда Z
n-by-q матрица проекта. В этом случае значением по умолчанию является {'z1','z2',...,'zQ'}
.
Массив ячеек длины R, когда Z
массив ячеек длины R с каждым элементом Z{r}
из длины q (r), r = 1, 2..., R. В этом случае значением по умолчанию является {'z11','z12',...,'z1Q(1)'},...,{'zr1','zr2',...,'zrQ(r)'}
.
Например, предположите, что вы коррелировали случайные эффекты для прерывания и переменной под названием Acceleration
. Затем можно задать имена предиктора случайных эффектов можно следующим образом.
Пример: 'RandomEffectPredictors',{'Intercept','Acceleration'}
Если у вас есть два случайных условия эффектов, один для прерывания и переменной Acceleration
сгруппированный переменной g1
, и второе для прерывания, сгруппированного переменной g2
, затем вы задаете имена предиктора случайных эффектов можно следующим образом.
Пример: 'RandomEffectPredictors',{{'Intercept','Acceleration'},{'Intercept'}}
Типы данных: string
| cell
'ResponseVarName'
— Имя переменной отклика'y'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя переменной отклика, заданной как разделенная запятой пара, состоящая из 'ResponseVarName'
и вектор символов или скаляр строки.
Например, если вашим именем переменной отклика является score
, затем можно задать его можно следующим образом.
Пример: 'ResponseVarName','score'
Типы данных: char |
string
'RandomEffectGroups'
— Имена случайных сгруппированных переменных эффектов'g'
или {'g1','g2',...,'gR'}
(значение по умолчанию) | вектор символов | представляет скаляр в виде строки | массив строк | массив ячеек из символьных векторовИмена случайных сгруппированных переменных эффектов, заданных как разделенная запятой пара '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'
— Шаблон ковариационной матрицы'FullCholesky'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строки | квадратная симметричная логическая матрица | массив строк | массив ячеек из символьных векторов или логические матрицыШаблон ковариационной матрицы случайных эффектов, заданных как разделенная запятой пара, состоящая из 'CovariancePattern'
и вектор символов, скаляр строки, квадратная симметричная логическая матрица, массив строк, или массив ячеек из символьных векторов или логические матрицы.
Если существуют условия случайных эффектов R, то значение 'CovariancePattern'
должен быть массив строк или массив ячеек длины R, где каждый элемент r массива задает шаблон ковариационной матрицы вектора случайных эффектов, сопоставленного с r th термин случайных эффектов. Опции для каждого элемента следуют.
'FullCholesky' | Значение по умолчанию. Полная ковариационная матрица с помощью параметризации Холесского. fitlme оценки все элементы ковариационной матрицы. |
'Full' | Полная ковариационная матрица, с помощью параметризации логарифмического Холесского. fitlme оценки все элементы ковариационной матрицы. |
'Diagonal' |
Диагональная ковариационная матрица. Таким образом, недиагональные элементы ковариационной матрицы ограничиваются быть 0. |
'Isotropic' |
Диагональная ковариационная матрица с равными отклонениями. Таким образом, недиагональные элементы ковариационной матрицы ограничиваются быть 0, и диагональные элементы ограничиваются быть равными. Например, если существует три условия случайных эффектов с изотропной структурой ковариации, эта ковариационная матрица похожа где σ2b является общим отклонением условий случайных эффектов. |
'CompSymm' |
Составная структура симметрии. Таким образом, общее отклонение по диагоналям и равной корреляции между всеми случайными эффектами. Например, если существует три условия случайных эффектов с ковариационной матрицей, имеющей составную структуру симметрии, эта ковариационная матрица похожа где σ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'
и любое из следующих.
'ML' | Значение по умолчанию. Оценка наибольшего правдоподобия |
'REML' | Ограниченная оценка наибольшего правдоподобия |
Пример: 'FitMethod','REML'
'Weights'
— Веса наблюденияВеса наблюдения, заданные как разделенная запятой пара, состоящая из 'Weights'
и вектор длины n, где n является количеством наблюдений.
Типы данных: single
| double
'Exclude'
— Индексы для строк, чтобы исключитьNaNs
(значение по умолчанию) | вектор целочисленных или логических значенийИндексы для строк, чтобы исключить из линейной модели смешанных эффектов в данных, заданных как разделенная запятой пара, состоящая из 'Exclude'
и вектор целочисленных или логических значений.
Например, можно исключить 13-е и 67-е строки из подгонки можно следующим образом.
Пример: 'Exclude',[13,67]
Типы данных: single
| double
| logical
'DummyVarCoding'
— Кодирование, чтобы использовать в фиктивных переменных'reference'
(значение по умолчанию) | 'effects'
| 'full'
Кодирование, чтобы использовать в фиктивных переменных, созданных из категориальных переменных, заданных как разделенная запятой пара, состоящая из 'DummyVarCoding'
и одно из следующих.
Значение | Описание |
---|---|
'reference' | Значение по умолчанию. Коэффициент для первого набора категории к 0. |
'effects' | Коэффициенты суммируют к 0. |
'full' | Одна фиктивная переменная для каждой категории. |
Пример: 'DummyVarCoding','effects'
'Optimizer'
— Алгоритм оптимизации'quasinewton'
(значение по умолчанию) | 'fminunc'
Алгоритм оптимизации, заданный как разделенная запятой пара, состоящая из 'Optimizer'
и любое из следующих.
'quasinewton' | Значение по умолчанию. Использует доверительный находящийся в области оптимизатор квазиньютона. Измените опции алгоритма с помощью statset('LinearMixedModel') . Если вы не задаете опции, то LinearMixedModel использует опции по умолчанию statset('LinearMixedModel') . |
'fminunc' | У вас должен быть Optimization Toolbox™, чтобы задать эту опцию. Измените опции алгоритма с помощью optimoptions('fminunc') . Если вы не задаете опции, то LinearMixedModel использует опции по умолчанию optimoptions('fminunc') с 'Algorithm' установите на 'quasi-newton' . |
Пример: 'Optimizer','fminunc'
'OptimizerOptions'
— Опции для алгоритма оптимизацииstatset
| объект возвращен optimoptions
Опции для алгоритма оптимизации, заданного как разделенная запятой пара, состоящая из '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')
.
TolFun
— Относительный допуск на градиенте целевой функции1e-6
(значение по умолчанию) | значение положительной скалярной величиныОтносительный допуск на градиенте целевой функции, заданной как значение положительной скалярной величины.
TolX
— Абсолютный допуск на размере шага1e-12
(значение по умолчанию) | значение положительной скалярной величиныАбсолютный допуск на размере шага, заданном как значение положительной скалярной величины.
MaxIter
— Максимальное количество итераций позволено
(значение по умолчанию) | значение положительной скалярной величиныМаксимальное количество итераций, позволенных, заданных как значение положительной скалярной величины.
Display
— Level of display'off'
(значение по умолчанию) | 'iter'
| 'final'
Level of display, заданный как один из 'off'
, 'iter'
, или 'final'
.
'StartMethod'
— Метод, чтобы запустить итеративную оптимизацию'default'
(значение по умолчанию) | 'random'
Метод, чтобы запустить итеративную оптимизацию, заданную как разделенная запятой пара, состоящая из 'StartMethod'
и любое из следующих.
Значение | Описание |
---|---|
'default' | Внутренне заданное значение по умолчанию |
'random' | Случайное начальное значение |
Пример: 'StartMethod','random'
'Verbose'
— Индикатор, чтобы отобразить процесс оптимизации на экранеfalse
(значение по умолчанию) | true
Индикатор, чтобы отобразить процесс оптимизации на экране, заданном как разделенная запятой пара, состоящая из 'Verbose'
и любой false
или true
. Значением по умолчанию является false
.
Установка для 'Verbose'
заменяет поле 'Display'
в 'OptimizerOptions'
.
Пример: 'Verbose',true
'CheckHessian'
— Индикатор, чтобы проверять положительную определенность Гессианаfalse
(значение по умолчанию) | true
Индикатор, чтобы проверять положительную определенность Гессиана целевой функции относительно неограниченных параметров в сходимости, заданной как разделенная запятой пара, состоящая из 'CheckHessian'
и любой false
или true
. Значением по умолчанию является false
.
Задайте 'CheckHessian'
как true
проверить оптимальность решения или определить, сверхпараметризована ли модель в количестве параметров ковариации.
Пример: 'CheckHessian',true
lme
— Линейная модель смешанных эффектовLinearMixedModel
объектЛинейная модель смешанных эффектов, возвращенная как LinearMixedModel
объект.
Загрузите выборочные данные.
load carsmall
Подбирайте линейную модель смешанных эффектов, где MPG является ответом, вес является переменным предиктором, и прерывание варьируется к модельному году. Во-первых, задайте матрицы проекта. Затем подбирайте модель с помощью заданных матриц проекта.
y = MPG; X = [ones(size(Weight)), Weight]; Z = ones(size(y)); lme = LinearMixedModel.fitmatrix(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 = LinearMixedModel.fitmatrix(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(fullfile(matlabroot,'examples','stats','weight.mat'));
weight
содержит данные из продольного исследования, где 20 предметов случайным образом присвоены, 4 программы подготовки (A, B, C, D) и их потеря веса зарегистрированы более чем шести2D недельные периоды времени. Это - симулированные данные.
Задайте Subject
и Program
как категориальные переменные. Создайте матрицы проекта для линейной модели смешанных эффектов, с начальным весом, типом программы, неделя и взаимодействие между неделей и типом программы как фиксированные эффекты. Прерывание и коэффициент недели варьируются предметом.
Эта модель соответствует
где = 1, 2..., 120, и = 1, 2, ..., 20. коэффициенты фиксированных эффектов, = 0, 1..., 8, и и случайные эффекты. обозначает начальный вес и фиктивная переменная, представляющая тип программы. Например, фиктивный переменный тип B программы представления. Случайные эффекты и ошибка наблюдения имеют следующие предшествующие распределения:
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'
метод кодирования фиктивных переменных.
Подбирайте модель с помощью LinearMixedModel.fitmatrix
с заданными матрицами проекта и сгруппированными переменными.
lme = LinearMixedModel.fitmatrix(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.21077 0.88573 0.11004 0.20537 Group: Error Name Estimate Lower Upper {'Res Std'} 0.10261 0.087882 0.11981
- значения 0.0228 и 0.0115 указывают, что значительные эффекты начальных весов предметов и время включают сумму потерянного веса. Потеря веса предметов, которые находятся в программе 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
. Соответствующая модель
где наблюдение для уровня из сгруппированной переменной Date
, случайный эффект для уровня из сгруппированной переменной Date
, и ошибка наблюдения для наблюдения . Случайный эффект имеет предшествующее распределение,
и остаточный член имеет распределение,
y = flu2.FluRate; X = [ones(468,1) flu2.WtdILI]; Z = [ones(468,1)]; G = flu2.Date;
Подбирайте линейную модель смешанных эффектов.
lme = LinearMixedModel.fitmatrix(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
Пределы достоверности стандартного отклонения термина случайных эффектов не включайте нуль (0.13227, 0.22226), который указывает, что термин случайных эффектов является значительным. Можно также протестировать значение случайных эффектов с помощью compare
метод.
Ориентировочная стоимость наблюдения является суммой значений фиксированных эффектов и значения случайного эффекта на уровне сгруппированной переменной, соответствующем тому наблюдению. Например, предполагаемый уровень гриппа для наблюдения 28
где 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(fullfile(matlabroot,'examples','stats','shift.mat'));
Набор данных показывает отклонения от целевой качественной характеристики, измеренной от продуктов, каждый из пяти операторов производит более чем три различных сдвига, утро, вечер и ночь. Это - рандомизированная блочная конструкция, где операторы являются блоками. Эксперимент спроектирован, чтобы изучить удар времени сдвига на производительности. Критерием качества работы являются отклонения качественных характеристик от целевого значения. Это - симулированные данные.
Задайте матрицы проекта для линейной модели смешанных эффектов со случайным прерыванием, сгруппированным оператором и сдвигом как фиксированные эффекты. Используйте 'effects'
контрасты. 'effects'
контрасты означают, что коэффициенты суммируют, чтобы обнулить. Необходимо создать закодированные переменные двух контрастов в матрице проекта фиксированных эффектов, X1
и X2
, где
Модель соответствует
где представляет наблюдения, и представляет операторы, = 1, 2..., 15, и = 1, 2..., 5. Случайные эффекты и ошибка наблюдения имеют следующие распределения:
и
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 = LinearMixedModel.fitmatrix(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
Предполагаемое отклонение от целевых качественных характеристик для третьего оператора, работающего в вечерней смене,
Можно также отобразить это значение следующим образом.
F = fitted(lme); F(shift.Shift=='Evening' & shift.Operator=='3')
ans = 0.9481
Загрузите выборочные данные.
load carbig
Подбирайте линейную модель смешанных эффектов для миль на галлон (MPG), с фиксированными эффектами для ускорения, лошадиной силы и цилиндров и некоррелированого случайного эффекта для прерывания и ускорения, сгруппированного модельным годом. Эта модель соответствует
с условиями случайных эффектов, имеющими следующие предшествующие распределения:
где представляет модельный год.
Во-первых, подготовьте матрицы проекта к тому, что они подбирали линейную модель смешанных эффектов.
X = [ones(406,1) Acceleration Horsepower]; Z = {ones(406,1),Acceleration}; G = {Model_Year,Model_Year}; Model_Year = nominal(Model_Year);
Теперь подбирайте модель с помощью LinearMixedModel.fitmatrix
с заданными матрицами проекта и сгруппированными переменными.
lme = LinearMixedModel.fitmatrix(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.928e-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
Стандартное отклонение случайного эффекта для прерывания не кажется значительным.
Переоборудуйте модель потенциально коррелироваными случайными эффектами для прерывания и ускорения. В этом случае условия случайных эффектов имеют следующее предшествующее распределение
где представляет модельный год.
Сначала подготовьтесь, случайные эффекты проектируют матрицу и сгруппированную переменную.
Z = [ones(406,1) Acceleration]; G = Model_Year; lme = LinearMixedModel.fitmatrix(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
Доверительные интервалы для стандартных отклонений и корреляции между случайными эффектами для прерывания и ускорения не включают нули, следовательно они кажутся значительными. Можно сравнить эти две модели с помощью compare
метод.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','weight.mat'));
weight
содержит данные из продольного исследования, где 20 предметов случайным образом присвоены 4 программы подготовки, и их потеря веса зарегистрирована более чем шести2D недельные периоды времени. Это - симулированные данные.
Задайте 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;
Эта модель соответствует
где = 1, 2..., 120, и = 1, 2, ..., 20.
коэффициенты фиксированных эффектов, = 0, 1..., 8, и и случайные эффекты. обозначает начальный вес и фиктивная переменная, представляющая тип программы. Например, фиктивный переменный тип B программы представления. Случайные эффекты и ошибка наблюдения имеют следующие предшествующие распределения:
Подбирайте модель с помощью LinearMixedModel.fitmatrix
с заданными матрицами проекта и сгруппированными переменными. Примите, что повторные наблюдения, собранные на предмете, имеют общее отклонение по диагоналям.
lme = LinearMixedModel.fitmatrix(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
Одно из предположений о линейных моделях смешанных эффектов - то, что случайные эффекты имеют следующее предшествующее распределение.
где D является q-by-q симметричная и положительная полуопределенная матрица, параметризованная компонентом отклонения векторный θ, q является количеством переменных в термине случайных эффектов, и σ 2 является ошибочным отклонением наблюдения. Поскольку ковариационная матрица случайных эффектов, D, симметрична, она имеет q (q +1)/2 свободные параметры. Предположим, что L является нижний треугольный Фактор Холесского D (θ), таким образом что
затем q* (q +1)/2-by-1 неограниченный вектор параметра θ формируется из элементов в нижней треугольной части L.
Например, если
затем
Когда диагональные элементы L в параметризации Холесского ограничиваются быть положительными, затем решение для L уникально. Параметризация логарифмического Холесского совпадает с параметризацией Холесского за исключением того, что логарифм диагональных элементов L используется, чтобы гарантировать уникальную параметризацию.
Например, для 3х3 примера в параметризации Холесского, осуществляя L ii ≥ 0,
Если ваша модель легко не описана с помощью формулы, можно создать матрицы, чтобы задать фиксированные и случайные эффекты и подбирать модель с помощью fitlmematrix
.
Можно также подбирать линейную модель смешанных эффектов использование fitlme(tbl,formula)
, где tbl
таблица или массив набора данных, содержащий ответ y
, переменные предикторы X
, и сгруппированные переменные и formula
имеет форму 'y ~ fixed + (random1|g1) + ... + (randomR|gR)'
.
Если ваша модель легко не описана с помощью формулы, можно создать матрицы, чтобы задать фиксированные и случайные эффекты и подбирать модель с помощью fitlmematrix(X,y,Z,G)
.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.