covarianceParameters

Класс: LinearMixedModel

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

Описание

пример

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 имя аргумента и 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Имя, Estimateниже, и 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=2×1 cell
    {[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=2×1 cell
    {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        
    Subject    {'(Intercept)'}        {'(Intercept)'}        {'std' }    
    Subject    {'Week'       }        {'(Intercept)'}        {'corr'}    
    Subject    {'Week'       }        {'Week'       }        {'std' }    


    Estimate    Lower      Upper  
    0.23927     0.14364    0.39854
    0.81971     0.38661    0.95658
     0.2497     0.18303    0.34067

Отображение показывает имя группирующегося параметра (Group), переменные случайных эффектов (Name1, Name2), тип параметров ковариации (Type), оценка (Estimate) для каждого параметра, и 95% доверительных интервалов для параметров (Lowerверхний). Оценки в этой таблице связаны с оценками в 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=2×1 cell
    {2x2 double  }
    {[6.7580e-08]}

mse = 9.0802
stats=3×1 cell
    {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.7580e-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.00025996


    Lower         Upper    
    9.1721e-05    0.0007368

Вторая ячейка 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.018246
     0.33066     0.15873     0.68881

stats{2}
ans = 
    Covariance Type: FullCholesky

    Group     Name1             Name2             Type           Estimate  
    Origin    {'Weight'}        {'Weight'}        {'std'}        0.00025996


    Lower         Upper    
    6.6116e-05    0.0010222

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

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

| | |

Для просмотра документации необходимо авторизоваться на сайте