residuals

Класс: LinearMixedModel

Невязки установленной линейной модели смешанных эффектов

Описание

пример

R = residuals(lme) возвращает необработанные условные невязки из модели линейных смешанных эффектов lme.

пример

R = residuals(lme,Name,Value) возвращает невязки из линейной модели смешанных эффектов lme с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Например, можно задать Пирсон или стандартизированные остатки, или невязки с вкладами только от фиксированных эффектов.

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

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

Линейная модель смешанных эффектов, заданная как LinearMixedModel объект, созданный с использованием fitlme или fitlmematrix.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

TrueВклад как от фиксированных эффектов, так и от случайных эффектов (условный)
FalseВклад только от фиксированных эффектов (маргинальный)

Пример: 'Conditional,'False'

Остаточный тип, заданный разделенной запятыми парой, состоящей из ResidualType и одно из следующих.

Остаточный типУсловныйКрайний
'Raw'

riC=[yXβ^Zb^]i

riM=[yXβ^]i

'Pearson'

priC=riC[Var^y,b(yXβZb)]ii

priM=riM[Var^y(yXβ)]ii

'Standardized'

stiC=riC[Var^y(rC)]ii

stiM=riM[Var^y(rM)]ii

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

Пример: 'ResidualType','Standardized'

Выходные аргументы

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

Невязки установленной модели линейных смешанных эффектов lmeвозвращен как вектор n -by-1, где n - количество наблюдений.

Примеры

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

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

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 contains an axes. The axes contains an object of type line.

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

figure();
gscatter(F,R,Program)

Figure contains an axes. The axes contains 4 objects of type line. These objects represent A, B, C, D.

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

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

load carbig

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

tbl = table(MPG,Acceleration,Horsepower,Cylinders,Model_Year);

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

lme = fitlme(tbl,'MPG ~ Acceleration + Horsepower + Cylinders + (Acceleration|Model_Year)');

Вычислите условные невязки Пирсона и отобразите первые пять невязок.

PR = residuals(lme,'ResidualType','Pearson');
PR(1:5)
ans = 5×1

   -0.0533
    0.0652
    0.3655
   -0.0106
   -0.3340

Вычислите маргинальные невязки Пирсона и отобразите первые пять невязок.

PRM = residuals(lme,'ResidualType','Pearson','Conditional',false);
PRM(1:5)
ans = 5×1

   -0.1250
    0.0130
    0.3242
   -0.0861
   -0.3006

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

load carbig

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

tbl = table(MPG,Acceleration,Horsepower,Cylinders,Model_Year);

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

lme = fitlme(tbl,'MPG ~ Acceleration + Horsepower + Cylinders + (Acceleration|Model_Year)');

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

r = residuals(lme);
histfit(r)

Figure contains an axes. The axes contains 2 objects of type bar, line.

Нормальное распределение, по-видимому, хорошо подходит для невязок.

Вычислите условные остатки Пирсона и стандартизированные остатки и создайте коробчатые графики всех трех типов невязок.

pr = residuals(lme,'ResidualType','Pearson');
st = residuals(lme,'ResidualType','Standardized');
X = [r pr st];
boxplot(X)

Figure contains an axes. The axes contains 21 objects of type line.

Красные плюс знаки показывают наблюдения с невязками выше или ниже q3+1.5(q3-q1) и q1-1.5(q3-q1), где q1 и q3 являются 25-м и 75-м процентилями соответственно.

Найдите наблюдения с невязками, которые составляют 2,5 стандартных отклонения выше и ниже среднего.

find(r > mean(r,'omitnan') + 2.5*std(r,'omitnan'))
ans = 7×1

    62
   252
   255
   330
   337
   341
   396

find(r < mean(r,'omitnan') - 2.5*std(r,'omitnan'))
ans = 3×1

   119
   324
   375

Подробнее о

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