Main Content

anova2

説明

anova2 は、平衡な設計で 2 因子分散分析 (ANOVA) を実行します。不平衡な設計で 2 因子 ANOVA を実行する方法については、anovan を参照してください。

p = anova2(y,reps) は、y に含まれている 2 列以上および 2 行以上の観測値の平均を比較するための、平衡型 2 因子 ANOVA の p 値を返します。

reps は、因子グループの各組み合わせについての反復数です。平衡な設計を指定するため、定数でなければなりません。不平衡な設計の場合は、anovan を使用します。関数 anova2 では、列因子と行因子の主効果およびこれらの交互作用効果を検定します。交互作用効果を検定するには、reps が 1 より大きくなければなりません。

anova2 は、標準的な ANOVA 表も表示します。

p = anova2(y,reps,displayopt) は、displayopt'on' (既定値) の場合は表示、displayopt'off' の場合は非表示になる ANOVA 表の表示を有効にします。

[p,tbl] = anova2(___) は、cell 配列 tbl の ANOVA 表 (列と行のラベルを含む) を返します。テキスト バージョンの ANOVA 表をクリップボードにコピーするには、メニューで [編集]、[テキストのコピー] を選択します。

[p,tbl,stats] = anova2(___) は、多重比較検定を実行するために使用できる構造体 stats を返します。多重比較検定では、どのグループ平均のペアが有意に異なるかを調べることができます。この検定を実行するには、入力に構造体 stats を指定する multcompare を使用します。

すべて折りたたむ

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

load popcorn
popcorn
popcorn = 6×3

    5.5000    4.5000    3.5000
    5.5000    4.5000    4.0000
    6.0000    4.0000    3.0000
    6.5000    5.0000    4.0000
    7.0000    5.5000    5.0000
    7.0000    5.0000    4.5000

このデータは、ポップコーンのブランドと製造器具タイプに関する研究 (Hogg 1987) によるものです。行列 popcorn の各列は Gourmet、National および Generic というブランドに対応しています。行は製造器具のタイプ (オイルとエアー) です。この研究では、製造器具ごとに異なるブランドのポップコーンを 3 回ずつ作りました。つまり、反復数は 3 です。初めの 3 行はオイル タイプの製造器具、最後の 3 行はエアー タイプの製造器具に対応しています。応答値は、出来上がったポップコーンのカップ数です。

2 因子 ANOVA を実行します。簡単に結果を利用できるようにするため、ANOVA 表を cell 配列 tbl に格納します。

[p,tbl] = anova2(popcorn,3);

Figure Two-way ANOVA contains objects of type uicontrol.

Prob>F の列には p 値が示されており、それぞれ 3 つのポップコーン ブランド (0.0000)、2 つの製造器具タイプ (0.0001)、ブランドと製造器具タイプの交互作用 (0.7462) に対応しています。これらの値から、ポップコーン ブランドと製造器具タイプは出来上がるポップコーンの量に影響を与えるが、これらの間の交互作用効果を示す証拠はないことがわかります。

ANOVA 表が含まれている cell 配列を表示します。

tbl
tbl=6×6 cell array
  Columns 1 through 5

    {'Source'     }    {'SS'     }    {'df'}    {'MS'      }    {'F'       }
    {'Columns'    }    {[15.7500]}    {[ 2]}    {[  7.8750]}    {[ 56.7000]}
    {'Rows'       }    {[ 4.5000]}    {[ 1]}    {[  4.5000]}    {[ 32.4000]}
    {'Interaction'}    {[ 0.0833]}    {[ 2]}    {[  0.0417]}    {[  0.3000]}
    {'Error'      }    {[ 1.6667]}    {[12]}    {[  0.1389]}    {0x0 double}
    {'Total'      }    {[     22]}    {[17]}    {0x0 double}    {0x0 double}

  Column 6

    {'Prob>F'    }
    {[7.6790e-07]}
    {[1.0037e-04]}
    {[    0.7462]}
    {0x0 double  }
    {0x0 double  }

因子および因子間の交互作用の F 統計量を、別個の変数に格納します。

Fbrands = tbl{2,5}
Fbrands = 56.7000
Fpoppertype = tbl{3,5}
Fpoppertype = 32.4000
Finteraction = tbl{4,5}
Finteraction = 0.3000

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

load popcorn
popcorn
popcorn = 6×3

    5.5000    4.5000    3.5000
    5.5000    4.5000    4.0000
    6.0000    4.0000    3.0000
    6.5000    5.0000    4.0000
    7.0000    5.5000    5.0000
    7.0000    5.0000    4.5000

このデータは、ポップコーンのブランドと製造器具タイプに関する研究 (Hogg 1987) によるものです。行列 popcorn の列はブランド (Gourmet、National、および Generic) を示しています。行は製造器具のタイプ (オイルとエアー) です。初めの 3 行はオイル タイプの製造器具、最後の 3 行はエアー タイプの製造器具に対応しています。この研究では、各製造器具で各ブランドのポップコーンを 3 回ずつ作りました。値は、ポップコーンの生産量をカップ単位で示しています。

2 因子 ANOVA を実行します。主効果について多重比較検定を実行するために必要な統計量も計算します。

[~,~,stats] = anova2(popcorn,3,"off")
stats = struct with fields:
      source: 'anova2'
     sigmasq: 0.1389
    colmeans: [6.2500 4.7500 4]
        coln: 6
    rowmeans: [4.5000 5.5000]
        rown: 9
       inter: 1
        pval: 0.7462
          df: 12

構造体 stats には次の情報が含まれています。

  • 平均二乗誤差 (sigmasq)

  • 各ポップコーン ブランドの平均生産量の推定値 (colmeans)

  • 各ポップコーン ブランドの観測数 (coln)

  • 各製造器具タイプの平均生産量の推定値 (rowmeans)

  • 各製造器具タイプの観測数 (rown)

  • 交互作用の数 (inter)

  • 交互作用項の有意水準を示す p 値 (pval)

  • 誤差自由度 (df)

多重比較検定を実行して、出来上がるポップコーンの量がポップコーン ブランド (列) のペア間で異なるかどうかを調べます。

c1 = multcompare(stats);
Note: Your model includes an interaction term.  A test of main effects can be 
difficult to interpret when the model includes interactions.

Figure Multiple comparison of column means contains an axes object. The axes object with title Click on the group you want to test contains 7 objects of type line.

図には、平均の多重比較が示されています。既定では、グループ 1 の平均が強調表示され、比較区間が青になります。他の 2 つのグループの比較区間は、グループ 1 の平均の区間と重なっていないので、赤で強調表示されています。区間が重なっていないことから、どちらの平均もグループ 1 の平均と異なることがわかります。他のグループの平均を選択して、すべてのグループの平均が他と有意に異なることを確認します。

多重比較の結果を table で表示します。

tbl1 = array2table(c1,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"])
tbl1=3×6 table
    Group A    Group B    Lower Limit    A-B     Upper Limit     P-value  
    _______    _______    ___________    ____    ___________    __________

       1          2         0.92597       1.5       2.074       4.1188e-05
       1          3           1.676      2.25       2.824       6.1588e-07
       2          3         0.17597      0.75       1.324         0.011591

c1 の初めの 2 列には、比較したグループが示されています。4 列目には、推定したグループ平均の間の差が示されています。3 列目と 5 列目には、真の平均の差に関する 95% 信頼区間の下限と上限が示されています。6 列目には、対応する平均の差がゼロに等しいという仮説を検定するための p 値が含まれています。すべての "p" 値が非常に小さいので、3 つのブランドすべてででき上がるポップコーンの量が異なることがわかります。

多重比較検定を実行して、出来上がるポップコーンの量が 2 種類の製造器具タイプ (行) の間で異なるかどうかを調べます。

c2 = multcompare(stats,"Estimate","row");
Note: Your model includes an interaction term.  A test of main effects can be 
difficult to interpret when the model includes interactions.

Figure Multiple comparison of row means contains an axes object. The axes object with title Click on the group you want to test contains 5 objects of type line.

tbl2 = array2table(c2,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"])
tbl2=1×6 table
    Group A    Group B    Lower Limit    A-B    Upper Limit     P-value  
    _______    _______    ___________    ___    ___________    __________

       1          2         -1.3828      -1      -0.61722      0.00010037

"p" 値が小さいので、でき上がるポップコーンの量は 2 つの製造器具タイプ (エアーとオイル) で異なることがわかります。図には同じ結果が示されています。比較区間が重なっていないので、グループの平均が互いに有意に異なることがわかります。

入力引数

すべて折りたたむ

標本データ。行列を指定します。列は一方の因子のグループに、行はもう一方の因子のグループと反復に対応します。反復は、行と列における因子のグループ (レベル) の各組み合わせについての測定または観測です。たとえば、次のデータでは、行因子 A に 3 つのレベル、列因子 B に 2 つのレベルがあり、反復数は 2 です (reps = 2)。添字は、それぞれ行、列および反復を示します。

B=1B=2[y111y121y112y122y211y221y212y222y311y321y312y322]}A=1}A=2}A=3

データ型: single | double

グループの各組み合わせについての反復数。整数値を指定します。たとえば、次のデータでは、行因子 A と列因子 B の各組み合わせについて 2 つの反復があります (reps = 2)。

B=1B=2[y111y121y112y122y211y221y212y222y311y321y312y322]}A=1}A=2}A=3

  • reps1 (既定値) の場合、anova2 は、ベクトル p の 2 つの p 値を返します。

    • 因子 B によるすべての標本 (y に含まれているすべての列標本) が同じ母集団から抽出されたという帰無仮説の p 値

    • 因子 A によるすべての標本 (y に含まれているすべての行標本) が同じ母集団から抽出されたという帰無仮説の p 値

  • reps1 より大きい場合、anova2 は因子 A および B には交互作用がない (つまり、因子 A および B が "加法的" なことに起因する効果) という帰無仮説の p 値も返します。

例: p = anova(y,3) は、グループ (レベル) の各組み合わせに 3 つの反復があることを指定します。

データ型: single | double

ANOVA 表を図として表示するためのインジケーター。'on' または 'off' を指定します。

出力引数

すべて折りたたむ

F 検定の p 値。スカラー値として返されます。小さい p 値は、結果が統計的に有意であることを示します。一般的な有意水準は 0.05 または 0.01 です。以下に例を示します。

  • 行因子 A のグループ平均に関する帰無仮説の p 値が十分に小さい場合、少なくとも 1 つの行標本平均が他の行標本平均と有意に異なること、つまり、因子 A による主効果に起因することがわかります。

  • 列因子 B のグループ (レベル) 平均に関する帰無仮説の p 値が十分に小さい場合、少なくとも 1 つの列標本平均が他の列標本平均と有意に異なること、つまり、因子 B による主効果に起因することがわかります。

  • 因子 A および B のグループ (レベル) の各組み合わせについて p 値が十分に小さい場合、因子 A および B の間に交互作用があることがわかります。

ANOVA 表。cell 配列として返されます。tbl には 6 つの列があります。

列名定義
source変動性の原因
SS各原因による二乗和
df各原因に関連付けられている自由度
MS各原因の平均二乗 (比率 SS/df)
FF 統計量 (平均二乗の比率)
Prob>Fp 値は、F 統計量の値が検定統計量の計算値より大きくなる確率です。anova2 では、F 分布の cdf からこの確率が導き出されます。

ANOVA 表の各行には、データの変動性が示されます。reps の値に応じて 3 つまたは 4 つの別の部分に原因別に分割されます。

定義
Columns列平均の差による変動性
Rows行平均の差による変動性
Interaction

行と列の交互作用による変動性 (reps が既定値の 1 より大きい場合)

Error体系的な原因では説明できない残りの変動性

データ型: cell

多重比較検定用の統計量。構造体として返されます。多重比較検定を実行するには、stats を入力引数で指定して multcompare を使用します。stats には 9 つのフィールドがあります。

フィールド 定義
sourcestats の出力のソース
sigmasq平均二乗誤差
colmeans列平均の推定値
coln列の各グループの観測数
rowmeans行平均の推定値
rown行の各グループの観測数
inter交互作用数
pval交互作用項の p 値
df誤差自由度 (reps ― 1)*r*c。ここで、reps は反復数、c および r はそれぞれ各因子のグループ数です。

データ型: struct

参照

[1] Hogg, R. V., and J. Ledolter. Engineering Statistics. New York: MacMillan, 1987.

バージョン履歴

R2006a より前に導入