exponenta event banner

Renova

Класс: Модель МР

Анализ дисперсии повторных измерений

Описание

пример

ranovatbl = ranova(rm) возвращает результаты анализа дисперсии повторных измерений для модели повторных измерений rm в таблице ranovatbl.

пример

ranovatbl = ranova(rm,'WithinModel',WM) возвращает результаты анализа дисперсии повторных измерений с использованием ответов, заданных моделью внутри субъекта WM.

пример

[ranovatbl,A,C,D] = ranova(___) также возвращает массивы A, C, и D для проверки гипотез формы A*B*C = D, где D равно нулю.

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

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

Модель повторных измерений, возвращенная как RepeatedMeasuresModel объект.

Свойства и методы этого объекта см. в разделе RepeatedMeasuresModel.

Модель, задающая ответы, заданная как одно из следующих:

  • 'separatemeans' - Вычислите отдельное среднее значение для каждой группы.

  • C - r-by-nc контрастная матрица, задающая nc контрастов среди r повторных измерений. Если Y представляет матрицу повторных измерений, ranova проверяет гипотезу о том, что средние значения Y * C равны нулю.

  • Вектор символов или строковый скаляр, определяющий спецификацию модели в факторах внутри субъекта. Модель можно определить на основе правил для terms в modelspec аргумент fitrm. См. также раздел Спецификация модели для моделей повторных измерений.

Например, если существует три внутриобъектовых фактора w1, w2, и w3, затем можно указать модель для факторов внутри темы следующим образом.

Пример: 'WithinModel','w1+w2+w2*w3'

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

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

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

Результаты повторных мероприятий anova, возвращенные как table.

ranovatbl включает термин, представляющий все различия между факторами внутри субъекта. Этот термин имеет либо имя фактора внутри субъектов, если он указан при подгонке модели, либо имя Time если имя фактора «внутри субъектов» не указано при подборе модели или существует более одного фактора «внутри субъектов». ranovatbl также включает все взаимодействия между терминами в модели внутри субъекта и всеми терминами между объектами. Он содержит следующие столбцы.

Имя столбцаОпределение
SumSqСумма квадратов.
DFСтепени свободы.
MeanSqСредняя квадратичная ошибка.
FF-статистика.
pValuep-значение для соответствующей F-статистики. Небольшое значение p указывает на значительный эффект термина.
pValueGGp-значение с поправкой Теплицы-Гейссера.
pValueHFp-значение с регулировкой Хуйна-Фельдта.
pValueLBp-значение с поправкой на нижнюю границу.

Последние три значения p являются скорректированными значениями p для использования, когда предположение о симметрии соединения не удовлетворяется. Дополнительные сведения см. в разделах Допущение составной симметрии и Коррекция Эпсилона. mauchy испытания метода на сферичность (следовательно, симметрию соединения) и epsilon возвращает значения корректировки эпсилона.

Спецификация, основанная на модели между субъектами, возвращаемой в виде матрицы или массива ячеек. Он допускает гипотезу об элементах в пределах заданных столбцов B (гипотеза в пределах времени). Если ranovatbl содержит множество тестов гипотез, A может быть массивом ячеек.

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

Спецификация, основанная на модели внутри субъектов, возвращаемая в виде матрицы или массива ячеек. Он допускает гипотезы по элементам в пределах заданных строк B (между временными гипотезами). Если ranovatbl содержит множество тестов гипотез, C может быть массивом ячеек.

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

Значение гипотезы, возвращаемое как 0.

Примеры

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

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

load fisheriris

Вектор столбца species состоит из цветков радужки трёх различных видов: сетозы, версиколора, виргиники. Двойная матрица meas состоит из четырёх видов измерений на цветках: длины и ширины чашелистиков и лепестков в сантиметрах соответственно.

Храните данные в табличном массиве.

t = table(species,meas(:,1),meas(:,2),meas(:,3),meas(:,4),...
'VariableNames',{'species','meas1','meas2','meas3','meas4'});
Meas = table([1 2 3 4]','VariableNames',{'Measurements'});

Подгоните модель повторных измерений, где измерения являются откликами, а вид является предикторной переменной.

rm = fitrm(t,'meas1-meas4~species','WithinDesign',Meas);

Выполните повторный дисперсионный анализ измерений.

ranovatbl = ranova(rm)
ranovatbl=3×8 table
                                SumSq     DF      MeanSq       F         pValue        pValueGG       pValueHF       pValueLB  
                                ______    ___    ________    ______    ___________    ___________    ___________    ___________

    (Intercept):Measurements    1656.3      3      552.09    6873.3              0    9.4491e-279    2.9213e-283    2.5871e-125
    species:Measurements        282.47      6      47.078     586.1    1.4271e-206    4.9313e-156    1.5406e-158     9.0151e-71
    Error(Measurements)         35.423    441    0.080324                                                                      

Существует четыре измерения, три типа видов и 150 наблюдений. Так, степени свободы для измерений - (4-1) = 3, для видоизмерительного взаимодействия - (4-1) * (3-1) = 6, а для ошибки - (150-3) * (4-1) = 441.ranova вычисляет последние три значения p с использованием поправок Теплицы-Гейссера, Хёйна-Фельдта и Нижней границы соответственно. Можно проверить предположение о составной симметрии (сферичности), используя mauchly и отображение поправок эпсилона с помощью epsilon способ.

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

load('longitudinalData.mat');

Матрица Y содержит данные ответа для 16 человек. Ответ представляет собой уровень лекарственного средства в крови, измеренный в пять моментов времени (время = 0, 2, 4, 6 и 8). Каждая строка Y соответствует отдельному объекту, и каждый столбец соответствует временному моменту. Первые восемь субъектов - женщины, а вторые восемь субъектов - мужчины. Это смоделированные данные.

Определите переменную, в которой хранится гендерная информация.

Gender = ['F' 'F' 'F' 'F' 'F' 'F' 'F' 'F' 'M' 'M' 'M' 'M' 'M' 'M' 'M' 'M']';

Сохраните данные в нужном формате массива таблиц, чтобы выполнить повторный анализ измерений.

t = table(Gender,Y(:,1),Y(:,2),Y(:,3),Y(:,4),Y(:,5),...
'VariableNames',{'Gender','t0','t2','t4','t6','t8'});

Определите переменную «внутри субъектов».

Time = [0 2 4 6 8]';

Подгоните модель повторных измерений, где уровни в крови - это ответы, а пол - предикторная переменная.

rm = fitrm(t,'t0-t8 ~ Gender','WithinDesign',Time);

Выполните повторный дисперсионный анализ измерений.

ranovatbl = ranova(rm)
ranovatbl=3×8 table
                        SumSq     DF    MeanSq       F         pValue       pValueGG      pValueHF      pValueLB 
                        ______    __    ______    _______    __________    __________    __________    __________

    (Intercept):Time     881.7     4    220.43     37.539    3.0348e-15    4.7325e-09    2.4439e-10    2.6198e-05
    Gender:Time          17.65     4    4.4125    0.75146       0.56126        0.4877       0.50707       0.40063
    Error(Time)         328.83    56     5.872                                                                   

Существует 5 временных точек, 2 пола и 16 наблюдений. Так, степени свободы для времени составляют (5-1) = 4, для взаимодействия «пол-время» - (5-1) * (2-1) = 4, а для ошибки - (16-2) * (5-1) = 56. Небольшое значение p 2,6198e-05 указывает на то, что существует значительное влияние времени на артериальное давление. Значение p 0,40063 указывает на отсутствие существенного взаимодействия между полами и временем.

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

load repeatedmeas

Стол between включает в себя переменные между субъектами возраст, IQ, группа, пол и восемь повторных показателей y1 через y8 в качестве ответов. Таблица внутри включает переменные внутри темы w1 и w2. Это смоделированные данные. Гипотетически ответ может быть результатом теста памяти. Переменная внутри темы w1 может быть видом упражнений, которые субъект выполняет перед тестом, и w2 могут быть различными точками в день, когда субъект проходит тест памяти. Итак, один субъект делает два различных типа упражнений A и B перед сдачей теста и принимает тест в четыре разных раза в разные дни. Для каждого субъекта измерения проводятся в следующих условиях:

Упражнение для выполнения перед испытанием: A B A B A B A B

Время тестирования: 1 1 2 2 3 3 4 4

Подгонка модели повторных измерений, где повторные измерения y1 через y8 являются ответами, а возраст, IQ, группа, пол и взаимодействие группа-пол являются предикторными переменными. Также укажите матрицу проектирования внутри субъекта.

rm = fitrm(between,'y1-y8 ~ Group*Gender + Age + IQ','WithinDesign',within);

Выполните повторный дисперсионный анализ измерений.

ranovatbl = ranova(rm)
ranovatbl=7×8 table
                         SumSq     DF     MeanSq       F        pValue      pValueGG    pValueHF     pValueLB
                         ______    ___    ______    _______    _________    ________    _________    ________

    (Intercept):Time     6645.2      7    949.31     2.2689     0.031674    0.071235     0.056257     0.14621
    Age:Time             5824.3      7    832.05     1.9887     0.059978     0.10651     0.090128     0.17246
    IQ:Time              5188.3      7    741.18     1.7715     0.096749     0.14492      0.12892     0.19683
    Group:Time            15800     14    1128.6     2.6975    0.0014425    0.011884    0.0064346    0.089594
    Gender:Time          4455.8      7    636.55     1.5214      0.16381     0.20533      0.19258     0.23042
    Group:Gender:Time    4247.3     14    303.38    0.72511      0.74677       0.663      0.69184     0.49549
    Error(Time)           64433    154    418.39                                                             

Укажите модель для факторов внутри темы. Также отображаются матрицы, используемые в тесте гипотезы.

[ranovatbl,A,C,D] = ranova(rm,'WithinModel','w1+w2')
ranovatbl=21×8 table
                       SumSq     DF    MeanSq       F         pValue      pValueGG     pValueHF     pValueLB 
                       ______    __    ______    ________    _________    _________    _________    _________

    (Intercept)        3141.7     1    3141.7      2.5034      0.12787      0.12787      0.12787      0.12787
    Age                537.48     1    537.48     0.42828      0.51962      0.51962      0.51962      0.51962
    IQ                 2975.9     1    2975.9      2.3712      0.13785      0.13785      0.13785      0.13785
    Group               20836     2     10418      8.3012    0.0020601    0.0020601    0.0020601    0.0020601
    Gender             3036.3     1    3036.3      2.4194      0.13411      0.13411      0.13411      0.13411
    Group:Gender        211.8     2     105.9    0.084385      0.91937      0.91937      0.91937      0.91937
    Error               27609    22      1255           1          0.5          0.5          0.5          0.5
    (Intercept):w1     146.75     1    146.75     0.23326      0.63389      0.63389      0.63389      0.63389
    Age:w1             942.02     1    942.02      1.4974      0.23402      0.23402      0.23402      0.23402
    IQ:w1              11.563     1    11.563     0.01838      0.89339      0.89339      0.89339      0.89339
    Group:w1           4481.9     2    2240.9       3.562     0.045697     0.045697     0.045697     0.045697
    Gender:w1          270.65     1    270.65      0.4302      0.51869      0.51869      0.51869      0.51869
    Group:Gender:w1    240.37     2    120.19     0.19104      0.82746      0.82746      0.82746      0.82746
    Error(w1)           13841    22    629.12           1          0.5          0.5          0.5          0.5
    (Intercept):w2     3663.8     3    1221.3      3.8381     0.013513     0.020339      0.01575     0.062894
    Age:w2             1199.9     3    399.95      1.2569       0.2964      0.29645      0.29662      0.27432
      ⋮

A=6×1 cell array
    {[1 0 0 0 0 0 0 0]}
    {[0 1 0 0 0 0 0 0]}
    {[0 0 1 0 0 0 0 0]}
    {2x8 double       }
    {[0 0 0 0 0 1 0 0]}
    {2x8 double       }

C=1×3 cell array
    {8x1 double}    {8x1 double}    {8x3 double}

D = 0

Отображение содержимого A.

[A{1};A{2};A{3};A{4};A{5};A{6}]
ans = 8×8

     1     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0
     0     0     1     0     0     0     0     0
     0     0     0     1     0     0     0     0
     0     0     0     0     1     0     0     0
     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     1

Отображение содержимого C.

[C{1} C{2} C{3}]
ans = 8×5

     1     1     1     0     0
     1     1     0     1     0
     1     1     0     0     1
     1     1    -1    -1    -1
     1    -1     1     0     0
     1    -1     0     1     0
     1    -1     0     0     1
     1    -1    -1    -1    -1

Алгоритмы

ranova вычисляет регулярное значение ppValue в столбце rmanova таблица) с использованием функции F-статистического кумулятивного распределения:

p-значение = 1 - fcdf (F, v1, v2).

Если предположение о симметрии соединения не удовлетворено, ranova использует поправочный коэффициент epsilon, start, для вычисления скорректированных значений p следующим образом:

p-value_corrected = 1 - fcdf (F,

mauchly испытания метода на сферичность (следовательно, симметрию соединения) и epsilon возвращает значения корректировки эпсилона.