Main Content

fitrm

反復測定モデルの当てはめ

説明

rm= fitrm(tmodelspecは反復測定モデルを返します。このモデルはmodelspecによって指定され、テーブルまたはデータセット配列tの変数に近似されています。

rm= fitrm(tmodelspecName,Valueは、1 つ以上のName,Valueのペアの引数によって指定された追加オプションを使用して反復測定モデルを返します。

たとえば、被験者内要因の仮説を指定することができます。

すべて折りたたむ

標本データを読み込みます。

loadfisheriris

列ベクトルspeciesは、3 種類のアヤメ (setosa、versicolor、virginica) で構成されています。double 行列measは、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) で構成されています。

データを table 配列に保存します。

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 tablemeas1 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 が含まれている 1 つの列と、次のような他の 2 つの列species_setosaおよびspecies_versicolorから構成されています。

s p e c i e s _ s e t o s a = { 1 i f s e t o s a 0 i f v e r s i c o l o r - 1 i f v i r g i n i c a a n d s p e c i e s _ v e r s i c o l o r = { 0 i f s e t o s a 1 i f v e r s i c o l o r - 1 i f v i r g i n i c a

共分散行列を表示します。

rm.Covariance
ans=4×4 tablemeas1 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 人の応答データが含まれています。応答は 5 つの時間点 (time = 0、2、4、6、8) で測定された薬の血中濃度です。Yの各行は 1 人の個人に対応し、各列は 1 つの時間点に対応します。最初の 8 人の被験者は女性で、次の 8 人の被験者は男性です。このデータは、シミュレーションされたものです。

性別情報を格納する変数を定義します。

性别= ['F''F''F''F''F''F''F''F''M''M''M''M''M''M''M''M']';

データを所定の table 配列形式で保存し、反復測定の解析を実行します。

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]

標本データを読み込みます。

loadrepeatedmeas

テーブルbetweenには、応答として 8 件の反復測定値y1y8が含まれており、さらに被験者間要因Group性别IQAgeが含まれています。IQAgeは連続変数です。テーブルwithinには被験者内要因w1w2があります。

反復測定モデルを近似します。ここで、age、IQ、group、および gender は予測子変数です。また、モデルには group と gender の交互作用効果が含まれています。また、被験者内要因を定義します。

rm = fitrm(between,'y1-y8 ~ Group*Gender+Age+IQ''WithinDesign'内)
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 tabley1 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'という形式の文字ベクトルまたは string スカラーを指定します。応答と項はウィルキンソンの表記法によって指定されます。モデル項で使用される変数がカテゴリカル (ノミナルまたは順序) 配列、logical 配列、文字配列、string 配列、または文字ベクトルの cell 配列である場合、fitrmはこの変数をカテゴリカルとして扱います。

たとえば、応答として 4 つの反復測定があり、予測子変数として係数x1x2x3がある場合、反復測定モデルを次のように定義できます。

例:'y1-y4 ~ x1 + x2 * x3'

名前と値の引数

オプションの引数のペアをName1=Value1,...,NameN=ValueNとして指定します。ここでNameは引数名、Valueは対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Nameを引用符で囲みます。

例:'WithinDesign','W','WithinModel','w1+w2'は行列wを被験者内要因の計画行列として指定します。また、被験者内要因w1およびw2のモデルは'w1+w2'です。

被験者内要因の計画。'WithinDesign'と以下のいずれかで構成されるコンマ区切りペアとして指定します。

  • 長さが r の数値ベクトル (r は反復測定の数)。

    この場合、fitrmはベクトルの値 (通常は時間の値) を連続値として扱います。

  • k 個の被験者内要因の値 (w1、w2、...、wk)が格納された、r 行 k 列の数値行列。

    この場合、fitrmは k 個の変数すべてを連続変数として扱います。

  • k 個の被験者内要因の値が格納された、r 行 k 列のテーブル。

    この場合、fitrmはすべての数値変数を連続変数、すべてのカテゴリカル変数をカテゴリカル変数として扱います。

たとえば、テーブルweeksに被験者内要因の値が格納されている場合、計画テーブルを次のように定義できます。

例:'WithinDesign',weeks

データ型:single|double|table

被験者内仮説検定を指定するモデル。'WithinModel'と以下のいずれかで構成されるコンマ区切りペアとして指定します。

  • 'separatemeans'- - - - - -グループごとの平均を計算します。

  • 'orthogonalcontrasts'- - - - - -被験者内モデルが単一の数値係数 T をもつ場合のみ有効です。応答は平均値、中心に位置する T の勾配、また一般的に最大 T^(p – 1) までの多項式のすべての直交対比 (p は被験者内モデルの行数)。

  • 被験者内要因のモデル仕様を定義する文字ベクトルまたは string スカラー。modelspectermsの規則に基づいてモデルを定義できます。

たとえば、被験者内要因がw1w2w3の 3 つである場合、被験者内要因のモデルを次のように指定できます。

例:'WithinModel','w1+w2+w2*w3'

データ型:char|string

出力引数

すべて折りたたむ

反復測定モデル。RepeatedMeasuresModelオブジェクトとして返します。

このオブジェクトのプロパティとメソッドについては、RepeatedMeasuresModelを参照してください。

詳細

すべて折りたたむ

ウィルキンソンの表記法によるモデルの指定

ウィルキンソンの表記法は、モデルに存在する因子を記述します。これらの因子の乗算器 (係数) は記述されません。

次の規則を使用して、modelspecの応答を指定します。

ウィルキンソンの表記法 意味
Y1,Y2,Y3 変数の特定のリスト
Y1-Y5 Y1Y5のすべてのテーブル変数

次の規則を使用して、modelspecの項を指定します。

ウィルキンソンの表記法 標準表記の因子
1 定数 (切片) 項
X^kkは正の整数 XX2,...,Xk
X1 + X2 X1X2
X1*X2 X1X2X1*X2
X1:X2 X1*X2のみ
-X2 X2は含めない
X1*X2 + X3 X1X2X3X1*X2
X1 + X2 + X3 + X1:X2 X1X2X3X1*X2
X1*X2*X3 - X1:X2:X3 X1X2X3X1*X2X1*X3X2*X3
X1*(X2 + X3) X1X2X3X1*X2X1*X3

Statistics and Machine Learning Toolbox™ 表記は、-1を使用して項を明示的に削除しない限り、常に定数項を含みます。

バージョン履歴

R2014a で導入