residuals

Класс: LinearMixedModel

Остаточные значения подбиравшей линейной модели смешанных эффектов

Описание

пример

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

пример

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

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

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

развернуть все

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 object. The axes object contains an object of type line.

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

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

Figure contains an axes object. The axes object 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 object. The axes object 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 object. The axes object 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

Больше о

развернуть все

Смотрите также

| | |