exponenta event banner

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} - массив наборов данных, содержащий статистику параметров ковариации для переменной rth grouping, r = 1, 2,..., R. stats{R+1} содержит статистику остаточного стандартного отклонения. Массив наборов данных для остаточной ошибки содержит поля Group, Name, Estimate, Lower, и Upper.

Примеры

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

Загрузите образцы данных.

load('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-й тип почвы, и (S * T) jk представляет j-й тип томата, вложенный в k-й тип почвы. I [T] ij - фиктивная переменная, представляющая уровень j типа томата.

Случайные эффекты и погрешность наблюдения имеют следующие предшествующие распределения: b0k∼N (0, startS2), b0jk∼N (0, startS * T2) и ϵijk∼N (0, start2).

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

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

psi = covarianceParameters(lme)
psi=2×1 cell array
    {[3.8000e-17]}
    {[  352.8481]}

Вычислите остаточную дисперсию (start2).

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

Загрузите образцы данных.

load('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+β2Weeki+β3I[PB]I+β4I[PC]i+β5I[PD]i+b0m+b1mWeekim+ϵ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, (

и

ϵim∼N (0, start2).

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 array
    {3x7 classreg.regr.lmeutils.titleddataset}
    {1x5 classreg.regr.lmeutils.titleddataset}

mse - расчетная остаточная разница. Она представляет собой оценку для

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

psi{1}
ans = 2×2

    0.0572    0.0490
    0.0490    0.0624

Оценка дисперсии члена случайных эффектов для перехвата, start02, равна 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.14365    0.39854
    0.81971     0.38662    0.95658
     0.2497     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 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+β2Weighti+b10m+b11mAcci+b21kWeighti+ϵimk

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

b1m = (b10mb11m) ∼N (0, (

b2k∼N (0, start22),

ϵimk∼N (0, start2).

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

Аналогично, b2k обозначает второй член случайных эффектов на уровне k второй переменной группировки.

start102 - дисперсия члена случайных эффектов для перехвата, start112 - дисперсия члена случайных эффектов для предикторного ускорения, start10,11 - ковариация членов случайных эффектов для перехвата и предикторного ускорения. start22 - дисперсия второго члена случайных эффектов, λ 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 array
    {2x2 double  }
    {[6.6778e-08]}

mse = 9.0750
stats=3×1 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.2648   -0.8699
   -0.8699    0.1158

Первая ячейка psi содержит ковариационные параметры для коррелированных случайных эффектов для перехвата (8,5160), а для ускорения (0,1087). Оценка ковариации слагаемых случайных эффектов для перехвата и ускорения start10,11 равна -0,8387.

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

psi{2}
ans = 6.6778e-08

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

Индекс в первую ячейку 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.8749       1.0481      7.8853
    -0.8894     -0.98663    -0.32528
    0.34023      0.19356     0.59803

В этой таблице показаны оценки стандартного отклонения для терминов случайных эффектов для перехвата и ускорения. Следует отметить, что стандартные оценки отклонений представляют собой квадратные корни диагональных элементов в первой ячейке 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.00025842


    Lower         Upper    
    9.0892e-05    0.0007347

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

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

stats{3}
ans = 
    Group    Name               Estimate    Lower     Upper 
    Error    {'Res Std'}        3.0125      2.8024    3.2383

Третья ячейка 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.8749     0.76334       10.827
    -0.8894     -0.9932    0.0022801
    0.34023     0.16213      0.71399

stats{2}
ans = 
    Covariance Type: FullCholesky

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


    Lower         Upper    
    6.5453e-05    0.0010202

stats{3}
ans = 
    Group    Name               Estimate    Lower     Upper 
    Error    {'Res Std'}        3.0125      2.7395    3.3127