covarianceParameters

Класс: LinearMixedModel

Извлеките параметры ковариации линейной модели смешанных эффектов

Синтаксис

psi = covarianceParameters(lme)
[psi,mse] = covarianceParameters(lme)
[psi,mse,stats] = covarianceParameters(lme)
[psi,mse,stats] = covarianceParameters(lme,Name,Value)

Описание

пример

psi = covarianceParameters(lme) возвращает предполагаемые параметры ковариации, которые параметризовали предшествующую ковариацию случайных эффектов.

пример

[psi,mse] = covarianceParameters(lme) также возвращает оценку остаточного отклонения.

пример

[psi,mse,stats] = covarianceParameters(lme) также возвращает массив ячеек, stats, содержа параметры ковариации и связанную статистику.

пример

[psi,mse,stats] = covarianceParameters(lme,Name,Value) возвращает параметры ковариации и связанную статистику в stats с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

Например, можно задать доверительный уровень для пределов достоверности параметров ковариации.

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Уровень значения, заданный как пара, разделенная запятой, состоящая из 'Alpha' и скалярного значения в области значений от 0 до 1. Для значения α, доверительный уровень равняется 100* (1–α) %.

Например, для 99% доверительных интервалов, можно задать доверительный уровень можно следующим образом.

Пример: 'Alpha',0.01

Типы данных: single | double

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

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

Оценка параметров ковариации, которые параметризовали предшествующую ковариацию случайных эффектов, возвратилась как массив ячеек длины R, такой, что psi{r} содержит ковариационную матрицу случайных эффектов, сопоставленных с группирующей переменной gr, r = 1, 2..., R. Порядок группирующих переменных является тем же заказом, который вы вводите, когда вы соответствуете модели.

Остаточная оценка отклонения, возвращенная как скалярное значение.

Параметр ковариации оценивает и связанная статистика, возвращенная как массив ячеек длины (R + 1) содержащий массивы набора данных со следующими столбцами.

GroupИмя группирующей переменной
Name1Имя первой переменной прогноза
Name2Имя второй переменной прогноза
Type

std (стандартное отклонение), если Name1 и Name2 являются тем же самым

corr (корреляция), если Name1 и Name2 отличаются

Estimate

Стандартное отклонение случайного эффекта сопоставило с предиктором Name1 или Name2, если Name1 и Name2 являются тем же самым

Корреляция между случайными эффектами сопоставила с предикторами Name1 и Name2, если Name1 и Name2 отличаются

LowerНижний предел 95%-го доверительного интервала для параметра ковариации
UpperВерхний предел 95%-го доверительного интервала для параметра ковариации

stats{r} является массивом набора данных, содержащим статистику по параметрам ковариации для r th группирующая переменная, r = 1, 2..., R. stats{R+1} содержит статистику по остаточному стандартному отклонению. Массив набора данных для остаточной ошибки имеет поля Group, Name, Estimate, Lower и Upper.

Примеры

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

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

load(fullfile(matlabroot,'examples','stats','fertilizer.mat'));

Массив набора данных включает данные из эксперимента графика разделения, где почва разделена на три блока на основе типа грунта: песчаный, илистый, и глинистый. Каждый блок разделен на пять графиков, где пять различных типов томатных объектов (вишня, семейная реликвия, виноград, виноградная лоза и слива) случайным образом присвоены этим графикам. Томатные объекты в графиках затем разделены на подграфики, где каждый подграфик обработан одним из четырех удобрений. Это - моделируемые данные.

Храните данные в массиве набора данных под названием ds, практически, и задайте Tomato, Soil и Fertilizer как категориальные переменные.

ds = fertilizer;
ds.Tomato = nominal(ds.Tomato);
ds.Soil = nominal(ds.Soil);
ds.Fertilizer = nominal(ds.Fertilizer);

Соответствуйте линейной модели смешанных эффектов, где Fertilizer является переменной фиксированных эффектов, и средний урожай отличается блоком (тип грунта) и графики в блоках (томатные типы в типах грунта) независимо. Эта модель соответствует

yijk=β0+j=25β2jI[T]ij+b0jk(S*T)jk+ϵijk,

где i = 1, 2..., 60 соответствует наблюдениям, j = 2..., 5 соответствует томатным типам, и k = 1, 2, 3 соответствует блокам (почва). Sk представляет k тип грунта th, и (S*T)jk представляет j томатный тип th, вложенный в k тип грунта th. I[T]ij фиктивная переменная, представляющая уровень j из томатного типа.

Случайные эффекты и ошибка наблюдения имеют следующие предшествующие дистрибутивы: b0kN(0,σS2), b0jkN(0,σS*T2), и ϵijkN(0,σ2).

lme = fitlme(ds,'Yield ~ Fertilizer + (1|Soil) + (1|Soil:Tomato)');

Вычислите оценки параметра ковариации (оценки σS2 и σS*T2) из условий случайных эффектов.

psi = covarianceParameters(lme)
psi = 2x1 cell array
    {[4.2642e-17]}
    {[  352.8481]}

Вычислите остаточное отклонение (σ2).

[~,mse] = covarianceParameters(lme)
mse = 151.9007

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

load(fullfile(matlabroot,'examples','stats','weight.mat'));

weight содержит данные из продольного исследования, где 20 предметов случайным образом присвоены 4 программам подготовки, и их потеря веса зарегистрирована более чем шесть 2-недельных периодов времени. Это - моделируемые данные.

Храните данные в массиве набора данных. Задайте Subject и Program как категориальные переменные.

ds = dataset(InitialWeight,Program,Subject,Week,y);
ds.Subject = nominal(ds.Subject);
ds.Program = nominal(ds.Program);

Соответствуйте линейной модели смешанных эффектов, где начальный вес, тип программы, неделя и взаимодействие между неделей и типом программы являются фиксированными эффектами. Прерывание и неделя отличается предметом.

Для макета 'reference' переменное кодирование fitlme использует Программу A в качестве ссылки и создает необходимые фиктивные переменные I[.]. Эта модель соответствует

yim=β0+β1IWi+β2Неделяi+β3I[PB]I+β4I[PC]i+β5I[PD]i+b0m+b1mНеделяim+ϵim

где i соответствует номеру наблюдения, i=1,2,...,120, и m соответствует подчиненному номеру, m=1,2,...,20. βj коэффициенты фиксированных эффектов, j=0,1,...,8, и b0m и b1m случайные эффекты. IW обозначает начальный вес и I[.] фиктивная переменная, представляющая тип программы. Например, I[PB]i фиктивная переменная Программа B представления.

Случайные эффекты и ошибка наблюдения имеют следующие предшествующие дистрибутивы:

(b0mb1m)N(0,(σ02σ0,1σ0,1σ12))

и

ϵimN(0,σ2).

lme = fitlme(ds,'y ~ InitialWeight + Program + (Week|Subject)');

Вычислите оценки параметров ковариации для случайных эффектов.

[psi,mse,stats] = covarianceParameters(lme)
psi = 1x1 cell array
    {2x2 double}

mse = 0.0105
stats = 2x1 cell array
    {3x7 classreg.regr.lmeutils.titleddataset}
    {1x5 classreg.regr.lmeutils.titleddataset}

mse является предполагаемым остаточным отклонением. Это - оценка для σ2.

Видеть параметры ковариации оценивает для условий случайных эффектов (σ02, σ12, и σ0,1), индексируйте в psi.

psi{1}
ans = 2×2

    0.0572    0.0490
    0.0490    0.0624

Оценка отклонения случайных эффектов называет для прерывания, σ02, 0.0572. Оценка отклонения случайных эффектов называет в течение недели, σ12, 0.0624. Оценка для ковариации случайных эффектов называет для прерывания и неделя, σ0,1, 0.0490.

stats является 2 1 массивом ячеек. Первая ячейка stats содержит доверительные интервалы для стандартного отклонения случайных эффектов и корреляции между случайными эффектами для прерывания и неделя. Чтобы отобразить их, индексируйте в stats.

stats{1}
ans = 
    Covariance Type: FullCholesky

    Group      Name1                Name2                Type          Estimate
    Subject    '(Intercept)'        '(Intercept)'        'std'         0.23927 
    Subject    'Week'               '(Intercept)'        'corr'        0.81971 
    Subject    'Week'               'Week'               'std'          0.2497 


    Lower      Upper  
    0.14364    0.39854
    0.38662    0.95658
    0.18303    0.34067

Отображение показывает имя группирующегося параметра (Group), переменные случайных эффектов (Name1, Name2), тип параметров ковариации (Type), оценка (Estimate) для каждого параметра, и 95% доверительных интервалов для параметров (Lower, Upper). Оценки в этой таблице связаны с оценками в psi можно следующим образом.

Стандартное отклонение термина случайных эффектов для прерывания 0.23927 = sqrt (0.0527). Аналогично, стандартное отклонение случайного термина эффектов в течение недели 0.2497 = sqrt (0.0624). Наконец, корреляция между условиями случайных эффектов прерывания и неделя 0.81971 = 0.0490 / (0.23927*0.2497).

Обратите внимание на то, что это отображение также показывает, какой шаблон ковариации вы используете при подборе кривой модели. В этом случае шаблоном ковариации является FullCholesky. Чтобы изменить шаблон ковариации для условий случайных эффектов, необходимо использовать аргумент пары "имя-значение" 'CovariancePattern' при подборе кривой модели.

Вторая ячейка stats включает подобную статистику для остаточного стандартного отклонения. Отобразите содержимое второй ячейки.

stats{2}
ans = 
    Group    Name             Estimate    Lower       Upper  
    Error    'Res Std'        0.10261     0.087882    0.11981

Оценка для остаточного стандартного отклонения является квадратным корнем из mse, 0.10261 = sqrt (0.0105).

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

load carbig

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

MPGimk=β0+β1Acci+β2Весi+b10m+b11mAcci+b21kВесi+ϵimk

где m=1,2,...,13 представляет уровни для переменной Model_Year, и k=1,2,...,8 представляет уровни для переменной Origin. MPGimk мили на галлон для ith наблюдения, |m | th модельный год, and|k | th источник, которые соответствуют ith наблюдению. Условия случайных эффектов и ошибка наблюдения имеют следующие предшествующие дистрибутивы:

b1m=(b10mb11m)N(0,(σ102σ10,11σ10,11σ112)),

b2kN(0,σ22),

ϵimkN(0,σ2).

Здесь, термин случайных эффектов b1m представляет первый случайный эффект на уровне m из первой группирующей переменной. Термин случайных эффектов b10m соответствует первому случайному сроку эффектов (1), для прерывания (0), в m уровень th ( m ) из первой группирующей переменной. Аналогично b11m уровень m для первого предиктора (1) в первом сроке случайных эффектов (1).

Точно так же b2k обозначает второй случайный термин эффектов в уровне k из второй группирующей переменной.

σ102 отклонение термина случайных эффектов для прерывания, σ112 отклонение случайного термина эффектов для ускорения предиктора, и σ10,11 ковариация условий случайных эффектов для прерывания и ускорения предиктора. σ22 отклонение второго срока случайных эффектов, и σ2 остаточное отклонение.

Во-первых, подготовьте матрицы проекта к подбору кривой линейной модели смешанных эффектов.

X = [ones(406,1) Acceleration Weight];
Z = {[ones(406,1) Acceleration],[Weight]};
Model_Year = nominal(Model_Year);
Origin = nominal(Origin);
G = {Model_Year,Origin};

Соответствуйте модели с помощью матриц проекта.

lme = fitlmematrix(X,MPG,Z,G,'FixedEffectPredictors',....
{'Intercept','Acceleration','Weight'},'RandomEffectPredictors',...
{{'Intercept','Acceleration'},{'Weight'}},'RandomEffectGroups',{'Model_Year','Origin'});

Вычислите оценки параметров ковариации для случайных эффектов.

[psi,mse,stats] = covarianceParameters(lme)
psi = 2x1 cell array
    {2x2 double  }
    {[6.7587e-08]}

mse = 9.0802
stats = 3x1 cell array
    {3x7 classreg.regr.lmeutils.titleddataset}
    {1x7 classreg.regr.lmeutils.titleddataset}
    {1x5 classreg.regr.lmeutils.titleddataset}

Остаточное отклонение mse 9.0755. psi является 2 1 массивом ячеек, и stats является массивом ячеек 3 на 1. Чтобы видеть содержимое, необходимо индексировать в эти массивы ячеек.

Во-первых, индексируйте в первую ячейку psi.

psi{1}
ans = 2×2

    8.3081   -0.8359
   -0.8359    0.1093

Первая ячейка psi содержит параметры ковариации для коррелированых случайных эффектов для прерывания σ102 как 8,5160, и для ускорения σ112 как 0,1087. Оценка для ковариации случайных эффектов называет для прерывания и ускорения σ10,11 -0.8387.

Теперь, индексируйте во вторую ячейку psi.

psi{2}
ans = 6.7587e-08

Вторая ячейка psi содержит оценку для отклонения термина случайных эффектов для веса σ22.

Индексируйте в первую ячейку stats.

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   
      2.8824      1.1116      7.4739
    -0.87704    -0.98411    -0.30222
     0.33066     0.18918     0.57796

Эта таблица показывает оценки стандартного отклонения для условий случайных эффектов для прерывания и ускорения. Обратите внимание на то, что оценки стандартных отклонений являются квадратными корнями из диагональных элементов в первой ячейке psi. А именно, 2.9182 = sqrt (8.5160) и 0.32968 = sqrt (0.1087). Корреляция является функцией ковариации прерывания и ускорения и стандартных отклонений прерывания и ускорения. Ковариация прерывания и ускорения является недиагональным значением в первой ячейке psi,-0.8387. Так, корреляция-.8387 / (0.32968*2.92182) =-0.87.

Группирующей переменной для прерывания и ускорения является Model_Year.

Индексируйте во вторую ячейку stats.

stats{2}
ans = 
    Covariance Type: FullCholesky

    Group     Name1           Name2           Type         Estimate  
    Origin    'Weight'        'Weight'        'std'        0.00025997


    Lower         Upper     
    9.1727e-05    0.00073682

Вторая ячейка stats имеет оценку стандартного отклонения и 95% пределов достоверности для стандартного отклонения термина случайных эффектов для Weight. Группирующей переменной является Origin.

Индексируйте в третью ячейку stats.

stats{3}
ans = 
    Group    Name             Estimate    Lower     Upper
    Error    'Res Std'        3.0133      2.8034    3.239

Третья ячейка stats содержит оценку для остаточного стандартного отклонения и 95% пределов достоверности. Оценка для остаточного стандартного отклонения является квадратным корнем из mse, sqrt (9.0755) = 3.0126.

Создайте 99% доверительных интервалов для параметров ковариации.

[~,~,stats] = covarianceParameters(lme,'Alpha',0.01);
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   
      2.8824       0.824      10.083
    -0.87704    -0.99176    0.018238
     0.33066     0.15873     0.68881

stats{2}
ans = 
    Covariance Type: FullCholesky

    Group     Name1           Name2           Type         Estimate  
    Origin    'Weight'        'Weight'        'std'        0.00025997


    Lower        Upper    
    6.612e-05    0.0010222

stats{3}
ans = 
    Group    Name             Estimate    Lower     Upper 
    Error    'Res Std'        3.0133      2.7405    3.3134

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

| | |