Класс: LinearMixedModel
Подгонянные отклики от линейной модели смешанных эффектов
возвращает установленный условный ответ от модели линейных смешанных эффектов yfit
= fitted(lme
)lme
.
возвращает подобранный ответ от линейной модели смешанных эффектов yfit
= fitted(lme
,Name,Value
)lme
с дополнительными опциями, заданными одним или несколькими Name,Value
аргументы в виде пар.
Для примера можно задать, нужно ли вычислять подобранный маргинальный ответ.
lme
- Линейная модель смешанных эффектовLinearMixedModel
объектЛинейная модель смешанных эффектов, заданная как LinearMixedModel
объект, созданный с использованием fitlme
или fitlmematrix
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Conditional'
- Индикатор условного откликаtrue
(по умолчанию) | falseИндикатор условного отклика, заданный как разделенная разделенными запятой парами, состоящая из 'Conditional'
и любое из следующих.
true | Вклад как от фиксированных эффектов, так и от случайных эффектов (условный) |
false | Вклад только от фиксированных эффектов (маргинальный) |
Пример: 'Conditional',false
Типы данных: logical
yfit
- Установленные значения откликаУстановленные значения отклика, возвращенные как n-на-1 вектор, где n - количество наблюдений.
Загрузите выборочные данные.
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
.
Область является категориальной переменной. Можно задать контрасты для категориальных переменных с помощью DummyVarCoding
аргумент пары "имя-значение" при подборе модели. Когда вы не задаете контрасты, fitlme
использует 'reference'
контрастность по умолчанию. Поскольку модель имеет точку пересечения, fitlme
принимает первую область, NE
, как ссылка и создает восемь фиктивных переменных, представляющих другие восемь областей. Для примера, - фиктивная переменная, представляющая область MidAtl
. Для получения дополнительной информации смотрите Dummy Переменных.
Соответствующая модель является
где является наблюдением для уровня от сгруппированной переменной Date
, , = 0, 1,..., 8, являются коэффициентами с фиксированными эффектами, с будучи коэффициентом для области NE
. является случайным эффектом для уровня сгруппированной переменной Date
, и - ошибка наблюдения для наблюдения . Случайный эффект имеет предшествующее распределение, и термин ошибки имеет распределение, .
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
Значения 7.3324e-06 и 2.1623e-10 соответственно показывают, что фиксированные эффекты уровня гриппа в областях WNCentral
и ESCentral
значительно отличаются относительно уровня гриппа в области NE
.
Доверительные пределы для стандартного отклонения термина случайных эффектов, , не включать 0 (0,5297, 0,78368), что указывает на то, что термин случайных эффектов значителен. Можно также проверить значимость членов случайных эффектов, используя compare
способ.
Условный подобранный ответ от модели при заданном наблюдении включает вклады от фиксированных и случайных эффектов. Например, оценочный лучший линейный объективный предиктор (BLUP) частоты гриппа для области WNCentral
на неделе 10/9/2005
Это подобранный условный ответ, поскольку он включает вклады в оценку как от фиксированных, так и от случайных эффектов. Вычислить это значение можно следующим образом.
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
В предыдущем расчете beta(1)
соответствует оценке для и beta(4)
соответствует оценке для . Вы можете просто отобразить подобранное значение с помощью 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('weight.mat');
weight
содержит данные продольного исследования, где 20 субъектов случайным образом назначены для 4 программ упражнений, и их потеря веса регистрируется в течение шести 2-недельных периодов времени. Это моделируемые данные.
Сохраните данные в таблице. Определите Subject
и Program
как категориальные переменные.
tbl = table(InitialWeight,Program,Subject,Week,y); tbl.Subject = nominal(tbl.Subject); tbl.Program = nominal(tbl.Program);
Подгонка линейной модели смешанных эффектов, где начальный вес, тип программы, неделя и взаимодействие между неделей и типом программы являются фиксированными эффектами. Точка пересечения и неделя варьируются в зависимости от субъекта.
lme = fitlme(tbl,'y ~ InitialWeight + Program*Week + (Week|Subject)');
Вычислите установленные значения и необработанные невязки.
F = fitted(lme); R = residuals(lme);
Постройте график невязок от подобранных значений.
plot(F,R,'bx') xlabel('Fitted Values') ylabel('Residuals')
Теперь постройте график невязок от подобранных значений, сгруппированных по программе.
figure() gscatter(F,R,Program)
Условный ответ включает вклады как от фиксированных, так и от случайных эффектов, в то время как маргинальный ответ включает вклад только от фиксированных эффектов.
Предположим, что линейная модель смешанных эффектов, lme
, имеет n p матрицей проекта фиксированных эффектов X, и n q случайными эффектами проектируют матрицу Z. Кроме того, предположим, что p-на-1 предполагаемый вектор с фиксированными эффектами , и q -на-1 оцененный лучший линейный объективный предиктор (BLUP) вектор случайных эффектов, . Установленный условный ответ
и установленный предельный ответ
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.