fitted

Класс: LinearMixedModel

Подгонянные отклики от линейной модели смешанных эффектов

Описание

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

пример

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

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

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

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

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

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

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

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

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

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

Типы данных: logical

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

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

Установленные значения отклика, возвращенные как 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, как ссылка и создает восемь фиктивных переменных, представляющих другие восемь областей. Для примера, I[MidAtl] - фиктивная переменная, представляющая область MidAtl. Для получения дополнительной информации смотрите Dummy Переменных.

Соответствующая модель является

yim=β0+β1I[MidAtl]i+β2I[ENCentral]i+β3I[WNCentral]i+β4I[SAtl]i+β5I[ESCentral]i+β6I[WSCentral]i+β7I[Mtn]i+β8I[Pac]i+b0m+εim,m=1,2,...,52,

где yim является наблюдением i для уровня m от сгруппированной переменной Date, βj, j = 0, 1,..., 8, являются коэффициентами с фиксированными эффектами, с β0 будучи коэффициентом для области NE. b0m является случайным эффектом для уровня m сгруппированной переменной Date, и εim - ошибка наблюдения для наблюдения i. Случайный эффект имеет предшествующее распределение, b0mN(0,σb2) и термин ошибки имеет распределение, εimN(0,σ2).

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

pЗначения 7.3324e-06 и 2.1623e-10 соответственно показывают, что фиксированные эффекты уровня гриппа в областях WNCentral и ESCentral значительно отличаются относительно уровня гриппа в области NE.

Доверительные пределы для стандартного отклонения термина случайных эффектов, σb, не включать 0 (0,5297, 0,78368), что указывает на то, что термин случайных эффектов значителен. Можно также проверить значимость членов случайных эффектов, используя compare способ.

Условный подобранный ответ от модели при заданном наблюдении включает вклады от фиксированных и случайных эффектов. Например, оценочный лучший линейный объективный предиктор (BLUP) частоты гриппа для области WNCentral на неделе 10/9/2005

yˆWNCentral,10/9/2005=βˆ0+βˆ3I[WNCentral]+bˆ10/9/2005=1.2233+0.23687-0.1718=1.28837.

Это подобранный условный ответ, поскольку он включает вклады в оценку как от фиксированных, так и от случайных эффектов. Вычислить это значение можно следующим образом.

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) соответствует оценке для β0 и beta(4) соответствует оценке для β3. Вы можете просто отобразить подобранное значение с помощью fitted способ.

F = fitted(lme);
F(flu2.Date == '10/9/2005' & flu2.Region == 'WNCentral')
ans = 1.2884

Предполагаемый предельный ответ для региональных WNCentral на неделе 10/9/2005

yˆWNCentral,10/9/2005(marginal)=βˆ0+βˆ3I[WNCentral]=1.2233+0.23687=1.46017.

Вычислите установленный предельный ответ.

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 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.

Подробнее о

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

См. также

| |