exponenta event banner

fitrm

Подгонка модели повторных измерений

Описание

пример

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

пример

rm = fitrm(t,modelspec,Name,Value) возвращает повторяющуюся модель измерений с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Например, можно указать гипотезу для факторов внутри субъекта.

Примеры

свернуть все

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

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)
rm = 
  RepeatedMeasuresModel with properties:

   Between Subjects:
         BetweenDesign: [150x5 table]
         ResponseNames: {'meas1'  'meas2'  'meas3'  'meas4'}
    BetweenFactorNames: {'species'}
          BetweenModel: '1 + species'

   Within Subjects:
          WithinDesign: [4x1 table]
     WithinFactorNames: {'Measurements'}
           WithinModel: 'separatemeans'

   Estimates:
          Coefficients: [3x4 table]
            Covariance: [4x4 table]

Отображение коэффициентов.

rm.Coefficients
ans=3×4 table
                           meas1       meas2      meas3      meas4  
                          ________    ________    ______    ________

    (Intercept)             5.8433      3.0573     3.758      1.1993
    species_setosa        -0.83733     0.37067    -2.296    -0.95333
    species_versicolor    0.092667    -0.28733     0.502     0.12667

fitrm использует 'effects' контрасты, что означает, что коэффициенты суммируются до 0. rm.DesignMatrix имеет один столбец из 1 для перехвата и два других столбца species_setosa и species_versicolor, которые являются следующими:

species_setosa={1ifsetosa0ifversicolor-1ifvirginicaandspecies_versicolor={0ifsetosa1ifversicolor-1ifvirginica

Отображение матрицы ковариации.

rm.Covariance
ans=4×4 table
              meas1       meas2       meas3       meas4  
             ________    ________    ________    ________

    meas1     0.26501    0.092721     0.16751    0.038401
    meas2    0.092721     0.11539    0.055244     0.03271
    meas3     0.16751    0.055244     0.18519    0.042665
    meas4    0.038401     0.03271    0.042665    0.041882

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

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,'WithinModel','orthogonalcontrasts')
rm = 
  RepeatedMeasuresModel with properties:

   Between Subjects:
         BetweenDesign: [16x6 table]
         ResponseNames: {'t0'  't2'  't4'  't6'  't8'}
    BetweenFactorNames: {'Gender'}
          BetweenModel: '1 + Gender'

   Within Subjects:
          WithinDesign: [5x1 table]
     WithinFactorNames: {'Time'}
           WithinModel: 'orthogonalcontrasts'

   Estimates:
          Coefficients: [2x5 table]
            Covariance: [5x5 table]

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

load repeatedmeas

Стол between включает восемь повторных измерений, y1 через y8, в качестве ответов и факторов между субъектами Group, Gender, IQ, и Age. IQ и Age как непрерывные переменные. Стол within включает внутриобъектовые коэффициенты w1 и w2.

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

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

   Between Subjects:
         BetweenDesign: [30x12 table]
         ResponseNames: {'y1'  'y2'  'y3'  'y4'  'y5'  'y6'  'y7'  'y8'}
    BetweenFactorNames: {'Age'  'IQ'  'Group'  'Gender'}
          BetweenModel: '1 + Age + IQ + Group*Gender'

   Within Subjects:
          WithinDesign: [8x2 table]
     WithinFactorNames: {'w1'  'w2'}
           WithinModel: 'separatemeans'

   Estimates:
          Coefficients: [8x8 table]
            Covariance: [8x8 table]

Отображение коэффициентов.

rm.Coefficients
ans=8×8 table
                                y1         y2         y3         y4          y5           y6         y7          y8   
                             ________    _______    _______    _______    _________    ________    _______    ________

    (Intercept)                141.38     195.25     9.8663    -49.154       157.77     0.23762    -42.462      76.111
    Age                       0.32042    -4.7672    -1.2748     0.6216      -1.0621     0.89927     1.2569    -0.38328
    IQ                        -1.2671    -1.1653    0.05862     0.4288      -1.4518    -0.25501    0.22867    -0.72548
    Group_A                   -1.2195    -9.6186     22.532     15.303       12.602      12.886     10.911      11.487
    Group_B                    2.5186      1.417    -2.2501    0.50181       8.0907      3.1957     11.591      9.9188
    Gender_Female              5.3957    -3.9719     8.5225     9.3403       6.0909       1.642    -2.1212      4.8063
    Group_A:Gender_Female      4.1046     10.064    -7.3053    -3.3085       4.6751      2.4907     -4.325     -4.6057
    Group_B:Gender_Female    -0.48486    -2.9202     1.1222    0.69715    -0.065945    0.079468     3.1832      6.5733

На дисплее отображаются коэффициенты для подгонки повторяющихся измерений как функции терминов в модели между субъектами.

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

свернуть все

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

Имена переменных в t должны быть допустимыми идентификаторами MATLAB ®. Проверить имена переменных можно с помощью isvarname функция. Если имена переменных недопустимы, их можно преобразовать с помощью matlab.lang.makeValidName функция.

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

Формула для спецификации модели, заданная как вектор символа или скаляр строки формы 'y1-yk ~ terms'. Ответы и термины указываются с помощью нотации Уилкинсона. fitrm рассматривает переменные, используемые в терминах модели, как категориальные, если они являются категориальными (номинальными или порядковыми), логическими, символьными массивами, строковыми массивами или массивами ячеек символьных векторов.

Например, если в качестве ответов и факторов используются четыре повторяющихся показателя x1, x2, и x3 в качестве переменных предиктора можно определить модель повторяющихся измерений следующим образом.

Пример: 'y1-y4 ~ x1 + x2 * x3'

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

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

Пример: 'WithinDesign','W','WithinModel','w1+w2' определяет матрицу w в качестве матрицы проектирования для факторов внутри субъекта и модели для факторов внутри субъекта w1 и w2 является 'w1+w2'.

Конструкция для внутриобъектных факторов, указанная как пара, разделенная запятыми, состоящая из 'WithinDesign' и одно из следующих:

  • Числовой вектор длины r, где r - число повторных измерений.

    В этом случае fitrm обрабатывает значения в векторе как непрерывные, и обычно это значения времени.

  • r-на-k числовая матрица значений k поддающихся множителей, w1, w2,..., wk.

    В этом случаеfitrm рассматривает все k переменных как непрерывные.

  • Таблица r-by-k, которая содержит значения k факторов внутри субъекта.

    В этом случае fitrm рассматривает все числовые переменные как непрерывные, а все категориальные переменные как категориальные.

Например, если таблица weeks содержит значения факторов в пределах темы, после чего можно определить таблицу конструкции следующим образом.

Пример: 'WithinDesign',weeks

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

Модель, определяющая критерий гипотезы внутри субъекта, указанный как пара, разделенная запятыми, состоящая из 'WithinModel' и одно из следующих:

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

  • 'orthogonalcontrasts' - Это справедливо только в том случае, когда модель внутри субъекта имеет один числовой коэффициент T. Отклики представляют собой среднее значение, наклон центрированного T, и, в общем случае, все ортогональные контрасты для многочлена вплоть до T ^ (p-1), где p - число, если строки в модели внутри субъекта.

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

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

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

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

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

свернуть все

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

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

Подробнее

свернуть все

Спецификация модели с использованием нотации Уилкинсона

Нотация Уилкинсона описывает факторы, присутствующие в моделях. Он не описывает множители (коэффициенты) этих факторов.

Следующие правила определяют ответы в modelspec.

Нотация УилкинсонаЗначение
Y1,Y2,Y3Конкретный список переменных
Y1-Y5Все переменные таблицы из Y1 через Y5

Следующие правила определяют термины в modelspec.

Нотация УилкинсонаКоэффициенты в стандартной нотации
1Член константы (перехвата)
X^k, где k является положительным целым числомX, X2, ..., Xk
X1 + X2X1, X2
X1*X2X1, X2, X1*X2
X1:X2X1*X2 только
-X2Не включать X2
X1*X2 + X3X1, X2, X3, X1*X2
X1 + X2 + X3 + X1:X2X1, X2, X3, X1*X2
X1*X2*X3 - X1:X2:X3X1, X2, X3, X1*X2, X1*X3, X2*X3
X1*(X2 + X3)X1, X2, X3, X1*X2, X1*X3

В нотации Statistics and Machine Learning Toolbox™ всегда содержится постоянный термин, если вы явно не удалили термин с помощью -1.

См. также

Представлен в R2014a