Класс: LinearMixedModel
Оценки случайных эффектов и соответствующие статистические данные
lme
- Линейная модель смешанных эффектовLinearMixedModel
объектЛинейная модель смешанных эффектов, заданная как LinearMixedModel
объект, созданный с использованием fitlme
или fitlmematrix
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Alpha'
- Уровень значимостиУровень значимости, заданный как разделенная разделенными запятой парами, состоящая из 'Alpha'
и скалярное значение в области значений от 0 до 1. Для значения α доверительный уровень равен 100 * (1-α)%.
Для примера для 99% интервалов доверия можно задать уровень доверия следующим образом.
Пример: 'Alpha',0.01
Типы данных: single
| double
'DFMethod'
- Метод вычисления приблизительных степеней свободы'residual'
(по умолчанию) | 'satterthwaite'
| 'none'
Метод для вычисления приблизительных степеней свободы для t -statistics, которые проверяют коэффициенты случайных эффектов против 0, заданный как разделенная разделенными запятой парами, состоящая из 'DFMethod'
и одно из следующих.
'residual' | По умолчанию. Степени свободы приняты постоянными и равными n - p, где n - количество наблюдений и p - количество фиксированных эффектов. |
'satterthwaite' | Саттертвейское приближение. |
'none' | Все степени свободы установлены в бесконечность. |
Например, можно задать приближение Саттертвейта следующим образом.
Пример: 'DFMethod','satterthwaite'
B
- Оценочные лучшие линейные объективные предикторы случайных эффектовПредполагаемые лучшие линейные объективные предикторы случайных эффектов линейной модели смешанных эффектов lme
, возвращается как вектор-столбец.
Предположим lme
имеет R сгруппированные переменные g1, g2..., g R, с уровнями <reservedrangesplaceholder9> 1, <reservedrangesplaceholder8> 2..., <reservedrangesplaceholder7> <reservedrangesplaceholder6>, соответственно. Также предположим, что q 1, q 2,..., q R являются длинами векторов со случайными эффектами, которые связаны с g1, g2,..., g R, соответственно. Затем, B
вектор - столбец длины <reservedrangesplaceholder7> 1* <reservedrangesplaceholder6> 1 + <reservedrangesplaceholder5> 2* <reservedrangesplaceholder4> 2 +... + <reservedrangesplaceholder3> <reservedrangesplaceholder2> * <reservedrangesplaceholder1> <reservedrangesplaceholder0>.
randomEffects
создает B
путем конкатенирования лучших линейных объективных предикторов векторов случайных эффектов, соответствующих каждому уровню каждой сгруппированной переменной как [g1level1; g1level2; ...; g1levelm1; g2level1; g2level2; ...; g2levelm2; ...; gRlevel1; gRlevel2; ...; gRlevelmR]'
.
Bnames
- Имена коэффициентов случайных эффектовИмена коэффициентов случайных эффектов в B
, возвращается как таблица.
stats
- Оценки BLUP случайных эффектов и смежная статистикаОценки BLUP случайных эффектов и связанной статистики, возвращенные как массив набора данных, который имеет по одной строке для каждого из фиксированных эффектов и по одному столбцу для каждой из следующих статистических данных.
Group | Сгруппированная переменная, связанной со случайным эффектом |
Level | Уровень внутри сгруппированной переменной, соответствующий случайному эффекту |
Name | Имя коэффициента случайного эффекта |
Estimate | Лучший линейный объективный предиктор (BLUP) случайного эффекта |
SEPred | Стандартная ошибка оценки (BLUP минус случайный эффект) |
tStat | t -статистический для теста, что случайный эффект равен нулю |
DF | Предполагаемые степени свободы для t -статистического |
pValue | p -value для t -statistic |
Lower | Нижний предел интервала доверия 95% для случайного эффекта |
Upper | Верхний предел интервала доверия 95% для случайного эффекта |
Загрузите выборочные данные.
load carbig
Подгонка линейной модели смешанных эффектов для миль на галлон (MPG) с фиксированными эффектами для ускорения и лошадиной силы и потенциально коррелированными случайными эффектами для точки пересечения и ускорения, сгруппированными по модельному году. Сначала сохраните данные в таблице.
tbl = table(Acceleration,Horsepower,Model_Year,MPG);
Подгонка модели.
lme = fitlme(tbl, 'MPG ~ Acceleration + Horsepower + (Acceleration|Model_Year)');
Вычислите BLUP коэффициентов случайных эффектов и отобразите имена соответствующих случайных эффектов.
[B,Bnames] = randomEffects(lme)
B = 26×1
3.1270
-0.2426
-1.6532
-0.0086
1.2075
-0.2179
4.4107
-0.4887
-1.3103
-0.0208
⋮
Bnames=26×3 table
Group Level Name
______________ ______ ________________
{'Model_Year'} {'70'} {'(Intercept)' }
{'Model_Year'} {'70'} {'Acceleration'}
{'Model_Year'} {'71'} {'(Intercept)' }
{'Model_Year'} {'71'} {'Acceleration'}
{'Model_Year'} {'72'} {'(Intercept)' }
{'Model_Year'} {'72'} {'Acceleration'}
{'Model_Year'} {'73'} {'(Intercept)' }
{'Model_Year'} {'73'} {'Acceleration'}
{'Model_Year'} {'74'} {'(Intercept)' }
{'Model_Year'} {'74'} {'Acceleration'}
{'Model_Year'} {'75'} {'(Intercept)' }
{'Model_Year'} {'75'} {'Acceleration'}
{'Model_Year'} {'76'} {'(Intercept)' }
{'Model_Year'} {'76'} {'Acceleration'}
{'Model_Year'} {'77'} {'(Intercept)' }
{'Model_Year'} {'77'} {'Acceleration'}
⋮
Поскольку точка пересечения и ускорение имеют потенциально коррелированные случайные эффекты, сгруппированные по году модели автомобилей, randomEffects
создает отдельную строку для точки пересечения и ускорения на каждом уровне сгруппированной переменной.
Вычислите ковариационные параметры случайных эффектов.
[~,~,stats] = covarianceParameters(lme)
stats=2×1 cell array
{3x7 classreg.regr.lmeutils.titleddataset}
{1x5 classreg.regr.lmeutils.titleddataset}
stats{1}
ans = Covariance Type: FullCholesky Group Name1 Name2 Type Model_Year {'(Intercept)' } {'(Intercept)' } {'std' } Model_Year {'Acceleration'} {'(Intercept)' } {'corr'} Model_Year {'Acceleration'} {'Acceleration'} {'std' } Estimate Lower Upper 3.3475 1.2862 8.7119 -0.87971 -0.98501 -0.29675 0.33789 0.1825 0.62558
Значение корреляции предполагает, что случайные эффекты кажутся отрицательно коррелированными. Постройте график случайных эффектов для точки пересечения от ускорения, чтобы подтвердить это.
plot(B(1:2:end),B(2:2:end),'r*')
Загрузите выборочные данные.
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
являются переменными фиксированных эффектов, и среднее выражение изменяется в зависимости от блока (тип почвы), и графики внутри блоков (типы томатов в пределах типов почвы) независимо.
lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');
Вычислите BLUP и связанную статистику для случайных эффектов.
[~,~,stats] = randomEffects(lme)
stats = Random effect coefficients: DFMethod = 'Residual', Alpha = 0.05 Group Level Name {'Soil' } {'Loamy' } {'(Intercept)'} {'Soil' } {'Sandy' } {'(Intercept)'} {'Soil' } {'Silty' } {'(Intercept)'} {'Soil:Tomato'} {'Loamy Cherry' } {'(Intercept)'} {'Soil:Tomato'} {'Loamy Grape' } {'(Intercept)'} {'Soil:Tomato'} {'Loamy Heirloom'} {'(Intercept)'} {'Soil:Tomato'} {'Loamy Plum' } {'(Intercept)'} {'Soil:Tomato'} {'Loamy Vine' } {'(Intercept)'} {'Soil:Tomato'} {'Sandy Cherry' } {'(Intercept)'} {'Soil:Tomato'} {'Sandy Grape' } {'(Intercept)'} {'Soil:Tomato'} {'Sandy Heirloom'} {'(Intercept)'} {'Soil:Tomato'} {'Sandy Plum' } {'(Intercept)'} {'Soil:Tomato'} {'Sandy Vine' } {'(Intercept)'} {'Soil:Tomato'} {'Silty Cherry' } {'(Intercept)'} {'Soil:Tomato'} {'Silty Grape' } {'(Intercept)'} {'Soil:Tomato'} {'Silty Heirloom'} {'(Intercept)'} {'Soil:Tomato'} {'Silty Plum' } {'(Intercept)'} {'Soil:Tomato'} {'Silty Vine' } {'(Intercept)'} Estimate SEPred tStat DF pValue Lower Upper 1.0061 2.3374 0.43044 40 0.66918 -3.718 5.7303 -1.5236 2.3374 -0.65181 40 0.51825 -6.2477 3.2006 0.51744 2.3374 0.22137 40 0.82593 -4.2067 5.2416 12.46 7.1765 1.7362 40 0.090224 -2.0443 26.964 -2.6429 7.1765 -0.36827 40 0.71461 -17.147 11.861 16.681 7.1765 2.3244 40 0.025269 2.1766 31.185 -5.0172 7.1765 -0.69911 40 0.48853 -19.522 9.4872 -4.6874 7.1765 -0.65316 40 0.51739 -19.192 9.8169 -17.393 7.1765 -2.4235 40 0.019987 -31.897 -2.8882 -7.3679 7.1765 -1.0267 40 0.31075 -21.872 7.1364 -8.621 7.1765 -1.2013 40 0.23671 -23.125 5.8833 7.669 7.1765 1.0686 40 0.29165 -6.8353 22.173 0.28246 7.1765 0.039359 40 0.9688 -14.222 14.787 4.9326 7.1765 0.68732 40 0.49585 -9.5718 19.437 10.011 7.1765 1.3949 40 0.17073 -4.4935 24.515 -8.0599 7.1765 -1.1231 40 0.2681 -22.564 6.4444 -2.6519 7.1765 -0.36952 40 0.71369 -17.156 11.852 4.405 7.1765 0.6138 40 0.54282 -10.099 18.909
Первые три строки содержат оценки случайных эффектов и статистику для трех уровней Loamy
, Sandy
, и Silty
сгруппированной переменной Soil
. Передача Значения 0.66918, 0.51825 и 0.82593 указывают, что эти случайные эффекты существенно не отличаются от 0. Следующие 15 строк включают BLUPS оценок случайных эффектов для точки пересечения, сгруппированных по переменной Tomato, вложенной в Почву, т.е. взаимодействие Tomato
и Soil
.
Загрузите выборочные данные.
load shift
Подгонка модели линейных смешанных эффектов со случайной точкой пересечения, сгруппированным оператором, для оценки, существует ли значительное различие в эффективности в зависимости от времени сдвига. Используйте метод ограниченного максимального правдоподобия.
lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)');
Вычислите 99% доверительные интервалы для случайных эффектов с помощью опции невязок, чтобы вычислить степени свободы. Это метод по умолчанию.
[~,~,stats] = randomEffects(lme,'Alpha',0.01)
stats = Random effect coefficients: DFMethod = 'Residual', Alpha = 0.01 Group Level Name Estimate SEPred {'Operator'} {'1'} {'(Intercept)'} 0.57753 0.90378 {'Operator'} {'2'} {'(Intercept)'} 1.1757 0.90378 {'Operator'} {'3'} {'(Intercept)'} -2.1715 0.90378 {'Operator'} {'4'} {'(Intercept)'} 2.3655 0.90378 {'Operator'} {'5'} {'(Intercept)'} -1.9472 0.90378 tStat DF pValue Lower Upper 0.63902 12 0.53482 -2.1831 3.3382 1.3009 12 0.21772 -1.5849 3.9364 -2.4027 12 0.033352 -4.9322 0.58909 2.6174 12 0.022494 -0.39511 5.1261 -2.1546 12 0.052216 -4.7079 0.81337
Вычислите 99% доверительные интервалы для случайных эффектов, используя саттертвейтское приближение, чтобы вычислить степени свободы.
[~,~,stats] = randomEffects(lme,'DFMethod','satterthwaite','Alpha',0.01)
stats = Random effect coefficients: DFMethod = 'Satterthwaite', Alpha = 0.01 Group Level Name Estimate SEPred {'Operator'} {'1'} {'(Intercept)'} 0.57753 0.90378 {'Operator'} {'2'} {'(Intercept)'} 1.1757 0.90378 {'Operator'} {'3'} {'(Intercept)'} -2.1715 0.90378 {'Operator'} {'4'} {'(Intercept)'} 2.3655 0.90378 {'Operator'} {'5'} {'(Intercept)'} -1.9472 0.90378 tStat DF pValue Lower Upper 0.63902 6.4253 0.5449 -2.684 3.839 1.3009 6.4253 0.23799 -2.0858 4.4372 -2.4027 6.4253 0.050386 -5.433 1.09 2.6174 6.4253 0.037302 -0.89598 5.627 -2.1546 6.4253 0.071626 -5.2087 1.3142
Саттертвейтский метод обычно производит меньшие значения для степеней свободы (DF
), что приводит к большим значениям p (pValue
) и большие доверительные интервалы (Lower
и Upper
) для оценок случайных эффектов.
coefCI
| coefTest
| fitlme
| fixedEffects
| LinearMixedModel
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.