Main Content

multcompare

周辺平均の推定値の多重比較

説明

tbl = multcompare(rm,var) は、反復測定モデル rm の変数 var に基づく周辺平均の推定値の多重比較を返します。

tbl = multcompare(rm,var,Name,Value) は、1 つ以上の Name,Value ペアの引数で指定された追加オプションによる、周辺平均の推定値の多重比較を返します。

たとえば、比較の種類や、グループ化の基準となる変数を指定できます。

すべて折りたたむ

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

load fisheriris

列ベクトル 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 = dataset([1 2 3 4]','VarNames',{'Measurements'});

反復予測モデルを当てはめます。ここで、測定が応答、種類が予測子変数となります。

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

種類の周辺平均の推定値の多重比較を実行します。

tbl = multcompare(rm,'species')
tbl=6×7 table
      species_1         species_2       Difference     StdErr       pValue       Lower       Upper  
    ______________    ______________    __________    ________    __________    ________    ________

    {'setosa'    }    {'versicolor'}     -1.0375      0.060539    9.5606e-10     -1.1794    -0.89562
    {'setosa'    }    {'virginica' }     -1.7495      0.060539    9.5606e-10     -1.8914     -1.6076
    {'versicolor'}    {'setosa'    }      1.0375      0.060539    9.5606e-10     0.89562      1.1794
    {'versicolor'}    {'virginica' }      -0.712      0.060539    9.5606e-10    -0.85388    -0.57012
    {'virginica' }    {'setosa'    }      1.7495      0.060539    9.5606e-10      1.6076      1.8914
    {'virginica' }    {'versicolor'}       0.712      0.060539    9.5606e-10     0.57012     0.85388

(pValue フィールドの) 小さい p 値は、3 種の推定周辺平均が互いに有意に異なることを示します。

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

load repeatedmeas

テーブル between には、被験者間変数である年齢、IQ、グループ、性別、および 8 件の反復測定値 y1y8 が応答として含まれています。テーブル within には被験者内変数 w1 および w2 が含まれています。このデータは、シミュレーションされたものです。

反復測定モデルを当てはめます。ここで、反復測定値 y1y8 は応答であり、年齢、IQ、グループ、性別、およびグループと性別の交互作用は予測子変数です。また、被験者内計画行列も指定します。

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

変数 Group に基づく周辺平均の推定値の多重比較を実行します。

T = multcompare(R,'Group')
T=6×7 table
    Group_1    Group_2    Difference    StdErr     pValue       Lower      Upper 
    _______    _______    __________    ______    _________    _______    _______

       A          B         4.9875      5.6271      0.65436    -9.1482     19.123
       A          C         23.094      5.9261    0.0021493     8.2074     37.981
       B          A        -4.9875      5.6271      0.65436    -19.123     9.1482
       B          C         18.107      5.8223     0.013588     3.4805     32.732
       C          A        -23.094      5.9261    0.0021493    -37.981    -8.2074
       C          B        -18.107      5.8223     0.013588    -32.732    -3.4805

小さい p 値 0.0021493 は、グループ A とグループ C の周辺平均には有意差があることを示します。p 値 0.65436 は、グループ A とグループ B の周辺平均の差が 0 と有意には異ならないことを示します。

multcompare は既定でテューキー・クレーマー検定統計値を使用します。比較の種類を Scheffe アルゴリズムに変更します。

T = multcompare(R,'Group','ComparisonType','Scheffe')
T=6×7 table
    Group_1    Group_2    Difference    StdErr     pValue       Lower      Upper 
    _______    _______    __________    ______    _________    _______    _______

       A          B         4.9875      5.6271      0.67981    -9.7795     19.755
       A          C         23.094      5.9261    0.0031072     7.5426     38.646
       B          A        -4.9875      5.6271      0.67981    -19.755     9.7795
       B          C         18.107      5.8223     0.018169     2.8273     33.386
       C          A        -23.094      5.9261    0.0031072    -38.646    -7.5426
       C          B        -18.107      5.8223     0.018169    -33.386    -2.8273

Scheffe 検定では p 値が大きくなりますが、同様の結論が得られます。

性別ごとに変数 Group に基づいて個別に周辺平均の推定値の多重比較を実行します。

T = multcompare(R,'Group','By','Gender')
T=12×8 table
    Gender    Group_1    Group_2    Difference    StdErr     pValue       Lower        Upper   
    ______    _______    _______    __________    ______    ________    _________    __________

    Female       A          B         4.1883      8.0177     0.86128      -15.953        24.329
    Female       A          C         24.565      8.2083    0.017697       3.9449        45.184
    Female       B          A        -4.1883      8.0177     0.86128      -24.329        15.953
    Female       B          C         20.376      8.1101    0.049957    0.0033459        40.749
    Female       C          A        -24.565      8.2083    0.017697      -45.184       -3.9449
    Female       C          B        -20.376      8.1101    0.049957      -40.749    -0.0033459
    Male         A          B         5.7868      7.9498     0.74977      -14.183        25.757
    Male         A          C         21.624      8.1829    0.038022       1.0676        42.179
    Male         B          A        -5.7868      7.9498     0.74977      -25.757        14.183
    Male         B          C         15.837      8.0511     0.14414      -4.3881        36.062
    Male         C          A        -21.624      8.1829    0.038022      -42.179       -1.0676
    Male         C          B        -15.837      8.0511     0.14414      -36.062        4.3881

この結果から、グループ A とグループ B の周辺平均の差がどちらの性別でも 0 と有意には異ならないことがわかります (対応する p 値は、女性では 0.86128、男性では 0.74977)。グループ A とグループ C の周辺平均の差は、どちらの性別でも有意です (対応する p 値は、女性では 0.017697、男性では 0.038022)。グループ B とグループ C の周辺平均の差は、女性の場合は 0 と有意に異なりますが (p 値は 0.049957)、男性の場合は 0 と有意には異なりません (p 値は 0.14414)。

入力引数

すべて折りたたむ

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

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

周辺平均の計算対象となる変数。rm の被験者間要因または被験者内要因の名前を表す文字ベクトルまたは string スカラーを指定します。var が被験者間要因の場合、カテゴリカルである必要があります。

データ型: char | string

名前と値の引数

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

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

例: tbl = multcompare(rm,var,'By',C)

母集団周辺平均の信頼区間の有意水準。'alpha' と 0 ~ 1 の範囲にあるスカラー値から構成されるコンマ区切りのペアとして指定します。信頼水準は 100*(1–alpha)% です。

例: 'alpha',0.01

データ型: double | single

比較の基準となる要因。'By' と文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。var の水準間の比較は、指定する要因の値ごとに個別に実行されます。

複数の被験者間要因 (A、B、C) があり、C の水準ごとに A 水準の比較を個別に実行する場合、A を引数 var として指定し、次のように引数 'By' を使用して C を指定します。

例: 'By',C

データ型: char | string

使用する棄却限界値の種類。'ComparisonType' と、以下のいずれかで構成されるコンマ区切りペアとして指定します。

比較の種類定義
'tukey-kramer'既定の設定。テューキーの HSD 法とも呼ばれています。これはスチューデント化された範囲分布に基づきます。まだ証明されていないテューキー クレーマーの推測によると、不平衡共変量値をもつ共分散の分析に見られるように、比較対象の数量が相関をもつ問題に対しても正確です。
'dunn-sidak'

ダンによって提唱され、シダックによって正確性が証明された多重比較のための調整後、t 分布からの棄却限界値を使用します。棄却限界値は次のようになります。

|t|=|y¯iy¯j|MSE(1ni+1nj)>t1η/2,v,

η=1(1α)1(k2)

と ng はグループの個数 (周辺平均) です。この過程は、ボンフェローニのアルゴリズムに似ていますが、それほど保守的ではありません。

'bonferroni'

多重比較の補正のために、ボンフェローニの方法による調整後、t 分布からの棄却限界値を使用します。棄却限界値は次のようになります。

tα/2(ng2),v,

ng はグループの個数 (周辺平均)、v は誤差自由度です。このアルゴリズムは保守的ですが、通常、Scheffé アルゴリズムほど保守的ではありません。

'scheffe'

F 分布から導出された Scheffe の S アルゴリズムからの棄却限界値を使用します。棄却限界値は次のようになります。

(ng1)Fα,ng1,v,

ng はグループの個数 (周辺平均)、v は誤差自由度です。このアルゴリズムは、平均の線形ペアのすべてを比較するための同時信頼水準を与えます。ペアの間の単純な差の比較には保守的なアルゴリズムです。

'lsd'

最小有意差。このオプションではプレーンな t 検定を使用します。棄却限界値は次のようになります。

tα/2,v,

v は誤差自由度です。多重比較の問題は予防されません。

例: 'ComparisonType','dunn-sidak'

出力引数

すべて折りたたむ

周辺平均の推定値を多重比較した結果。テーブルとして返します。tbl には以下の列があります。

列名説明
Difference対応する 2 つの周辺平均の間で推定される差異
StdErr対応する 2 つの周辺平均の間で推定される差異の標準誤差
pValue対応する 2 つの周辺平均の差が 0 であるという検定の p 値
Lower真の差に関する 95% の同時信頼区間の下限
Upper真の差に関する 95% の同時信頼区間の上限

参照

[1] G. A. Milliken, and Johnson, D. E. Analysis of Messy Data. Volume I: Designed Experiments. New York, NY: Chapman & Hall, 1992.

バージョン履歴

R2014a で導入