ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

構文

  • p = anova1(y)
  • p = anova1(y,group)
  • p = anova1(y,group,displayopt)
  • [p,tbl] = anova1(___)
  • [p,tbl,stats] = anova1(___)

説明

p = anova1(y) は、平衡型 1 因子 ANOVA の p 値を返します。また、標準的な ANOVA 表 (tbl) と y の各列の箱ひげ図も表示します。anova1 では、平均が同じ複数の母集団から y の標本が抽出されたという仮説を、母集団の平均はすべて同じではないという対立仮説に対して検定します。

p = anova1(y,group) は、平衡型 1 因子 ANOVAの p 値をグループ別に返します。また、標準的な ANOVA 表と y の観測値の箱ひげ図をグループ別に表示します。

p = anova1(y,group,displayopt) は、ANOVA 表を有効にします。箱ひげ図は、displayopt'on' (既定値) の場合は表示され、displayopt'off' の場合は非表示になります。

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

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

すべて折りたたむ

定数の列が含まれている標本データ行列 y を作成し、平均が 0 で標準偏差が 1 の無作為な正規分布の外乱を加えます。

y = meshgrid(1:5);
rng default; % For reproducibility
y = y + normrnd(0,1,5,5)
y =

    1.5377    0.6923    1.6501    3.7950    5.6715
    2.8339    1.5664    6.0349    3.8759    3.7925
   -1.2588    2.3426    3.7254    5.4897    5.7172
    1.8622    5.5784    2.9369    5.4090    6.6302
    1.3188    4.7694    3.7147    5.4172    5.4889

1 因子 ANOVA を実行します。

p = anova1(y)
p =

    0.0023

ANOVA 表には、グループ間の変動 (Columns) とグループ内の変動 (Error) が示されています。SS は二乗和、df は自由度です。全体の自由度は、観測値の自由度から 1 を減算した値 (25 - 1 = 24) です。グループ間の自由度は、グループ数から 1 を減算した値 (5 - 1 = 4) です。グループ内の自由度は、全体の自由度からグループ間の自由度を減算した値 (24 - 4 = 20) です。

MS は二乗平均誤差で、変動の原因ごとの SS/df です。F 統計量は、二乗平均誤差の比率です (13.4309/2.2204)。p 値は、この統計量が検定統計量より大きい値になる確率 P(F > 6.05) です。p 値は 0.0023 という小さい値なので、列の平均には有意な違いがあることがわかります。

標本データを入力します。

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];
alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

このデータは、Hogg の構造化ビームの強度の研究 (1987 年) からのデータです。ベクトル strength は、3,000 ポンドの力が加わったとき、1,000 分の 1 インチごとにビームのたわみを測定します。ベクトル alloy では、各ビームを鋼鉄 ('st')、合金 1 ('al1') または合金 2 ('al2') として識別します。この例では alloy が並べ替えられていますが、グループ化変数を並べ替える必要はありません。

「鋼鉄のビームの強度は、2 つ以上の高価な合金で製造されたビームの強度と等しくなる」という帰無仮説を検定します。図の表示を無効にし、ANOVA の結果をセル配列に取得します。

[p,tbl] = anova1(strength,alloy,'off')
p =

   1.5264e-04


tbl = 

    'Source'    'SS'          'df'    'MS'         'F'          'Prob>F'    
    'Groups'    [184.8000]    [ 2]    [92.4000]    [15.4000]    [1.5264e-04]
    'Error'     [102.0000]    [17]    [ 6.0000]           []              []
    'Total'     [286.8000]    [19]           []           []              []

全体の自由度は、観測値の総数から 1 を減算した $$ 20 - 1 = 19 $$ です。グループ間の自由度は、グループ数から 1 を減算した $$ 3 - 1 = 2 $$ です。グループ内の自由度は、全体の自由度からグループ間の自由度を減算した $$ 19 - 2 = 17 $$ です。

MS は二乗平均誤差で、変動の原因ごとの SS/df です。F 統計量は、二乗平均誤差の比率です。p 値は、この統計量が検定統計量より大きい値になる確率です。p 値は 1.5264e-04 なので、帰無仮説は棄却されます。

セル配列のインデックスを指定すると、ANOVA 表の値を取得できます。F 統計量の値と p 値を新しい変数 Fstat および pvalue に格納します。

Fstat = tbl{2,5}
pvalue = tbl{2,6}
Fstat =

   15.4000


pvalue =

   1.5264e-04

標本データを入力します。

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];
alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

このデータは、Hogg の構造化ビームの強度の研究 (1987 年) からのデータです。ベクトル strength は、3,000 ポンドの力が加わったとき、1,000 分の 1 インチごとにビームのたわみを測定します。ベクトル alloy では、各ビームを鋼鉄 (st)、合金 1 (al1) または合金 2 (al2) として識別します。この例では alloy が並べ替えられていますが、グループ化変数を並べ替える必要はありません。

anova1 を使用して ANOVA を実行します。構造体 stats が返されます。この構造体には、multcompare「多重比較」を実行するために必要な統計量が含まれています。

[~,~,stats] = anova1(strength,alloy);

p 値は 0.0002 という小さい値なので、ビームの強度が同じではないことがわかります。

ビームの平均強度について多重比較を実行します。

[c,~,~,gnames] = multcompare(stats);

比較の結果を、該当するグループ名とあわせて表示します。

[gnames(c(:,1)), gnames(c(:,2)), num2cell(c(:,3:6))]
ans = 

    'st'     'al1'    [ 3.6064]    [ 7]    [10.3936]    [1.6831e-04]
    'st'     'al2'    [ 1.6064]    [ 5]    [ 8.3936]    [    0.0040]
    'al1'    'al2'    [-5.6280]    [-2]    [ 1.6280]    [    0.3560]

初めの 2 列には、比較したグループのペアが示されています。4 列目には、推定したグループ平均の間の差が示されています。3 列目と 5 列目には、真の平均の差に関する 95% 信頼区間の下限と上限が示されています。6 列目には、対応するグループ間では真の平均の差がゼロに等しいという仮説の p 値が示されています。

最初の 2 行は、最初のグループ (鋼鉄) を含むいずれの比較も、0 を含まない信頼区間をもつことを示します。対応する p 値 (それぞれ 1.6831e-04 と 0.0040) が小さいので、これらの差は有意です。

3 行目には、2 つの合金の強度に有意差がないことが示されています。差の 95% 信頼区間は [-5.6,1.6] なので、真の差がゼロであるという仮説を棄却できません。6 列目の対応する p 値は 0.3560 なので、この結果を確定できます。

図の青いバーは、鋼鉄の平均材料強度の比較区間を表しています。赤いバーは、合金 1 および合金 2 の平均材料強度の比較区間を表しています。どちらの赤いバーも青いバーと重なっていないので、鋼鉄と合金 1 および合金 2 では平均材料強度が有意に異なることがわかります。有意差を確認するには、合金 1 および 2 を表すバーをクリックします。

関連する例

入力引数

すべて折りたたむ

標本データ。ベクトルまたは行列として指定します。

  • y がベクトルの場合、入力引数 group を指定しなければなりません。group は、カテゴリカル変数、数値ベクトル、論理ベクトル、または y の要素ごとに 1 つの名前をもつ文字配列か文字列のセル配列でなければなりません。関数 anova1 は、 対応する group 名が同じであれば y 値を同じグループの一部として扱います。この設計は、各グループに含まれている要素の数が異なる場合 (不平衡な ANOVA) に使用します。

  • y が行列で、group を指定しなかった場合、anova1では y の各列が個別のグループとして扱われます。この形式では、各列の母集団平均が等しいかどうかが評価されます。各グループの要素数が同じ場合 (平衡型 ANOVA)、この形式を使用します。

  • y が行列で、group を指定する場合、groupy の列ごとに 1 つの名前をもつ、文字配列または文字列のセル配列でなければなりません。関数 anova1 は、同じグループ名をもつ列を同じグループの一部として扱います。

空または NaN 値のセルまたは文字列が group に含まれている場合、anova1 では対応する y の観測値が無視されます。

データ型: single | double

グループ化変数。グループ名が含まれている数値ベクトル、論理ベクトル、文字配列または文字列のセル配列として指定します。

  • y がベクトルの場合、group は、カテゴリカル変数、数値ベクトル、論理ベクトル、または y の要素ごとに 1 つの名前をもつ文字列配列または文字列のセル配列でなければなりません。関数 anova1 は、 対応する group 名が同じであれば y 値を同じグループの一部として扱います。

    N は、観測の合計数です。

  • y が行列の場合、groupy の列ごとに 1 つのグループ名が付いた文字配列または文字列のセル配列でなければなりません。関数 anova1 は、同じグループ名をもつ y の列を同じグループの一部として扱います。

    グループ名を指定しない場合は、空の配列 ([]) を入力するか、この引数を省略します。

group に空または NaN 値のセルまたは文字列が含まれている場合、y の対応する観測値は無視されます。

グループ化変数の詳細は、グループ化変数を参照してください。

たとえば、y がベクトルで、観測値が 1、2 および 3 というグループに分類されている場合、次のようにグループ化変数を指定できます。

例: 'group',[1,2,1,3,1,...,3,1]

たとえば、y が行列で、6 つの列が赤、白および黒に分類されている場合、次のようにグループ化変数を指定できます。

例: 'group',{'white','red','white','black','red'}

データ型: single | double | logical | char | cell

ANOVA 表と箱ひげ図を表示するためのインジケーター。'on' または 'off' として指定します。displayopt'off' の場合、anova1 は出力引数のみを返します。標準的な ANOVA 表と y の各列の箱ひげ図は表示しません。

例: p = anova(x,group,'off')

出力引数

すべて折りたたむ

F 検定の p 値。スカラー値として返されます。p 値は、F 統計量が検定統計量の計算値より大きい値になる確率です。anova1 では、すべてのグループ平均が互いに等しいという帰無仮説を、少なくとも 1 つのグループ平均が他と異なるという対立仮説に対して検定します。この関数では、F 分布の累積分布関数から p 値を導き出します。

有意水準より小さい p 値は、少なくとも 1 つの標本平均が他と有意に異なることを示します。一般的な有意水準は 0.05 または 0.01 です。

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

定義
source変化の原因。
SS各原因による二乗和
df各原因に関連付けられている自由度。N が観測値の総数、k がグループの数であるとします。すると、N - k はグループ内の自由度 (Error)、k - 1 はグループ間の自由度 (Columns)、N - 1 は全体の自由度になります。N – 1 = (N – k) + (k – 1)
MS各原因の二乗平均 (比率 SS/df)
FF 統計量 (二乗平均の比率)
Prob>Fp 値 (F 統計量が検定統計量の計算値より大きい値になる確率)。anova1 では F 分布の累積分布関数からこの確率が導き出されます。

ANOVA 表の各行には、データの変動性が原因別に示されます。

定義
Groupsグループの平均の違いによる変動性 (グループ "間" の変動性)
Error各グループのデータ間の違いとグループの平均の違いによる変動性 (グループ "内" の変動性)
Total全体の変動性

多重比較検定用の統計量。構造体として返されます。stats には 6 つのフィールドがあります。

フィールド名定義
gnamesグループの名前
n各グループの観測値の数
sourcestats の出力のソース
means平均の推定値
df(グループ内の) 誤差自由度 (N - k。ここで N は観測値の総数、k はグループ数)
s二乗平均誤差の平方根

詳細

すべて折りたたむ

箱ひげ図

anova1 は、y に含まれている観測値の箱ひげ図をグループ別に返します。箱ひげ図を使用すると、グループの位置パラメーターを視覚的に比較できます。

y がベクトルの場合、group の値ごとに 1 つのボックスがプロットに示されます。y が行列で、group を指定しなかった場合、y の各列について 1 つずつボックスがプロットに示されます。各ボックスで、中央のマークは中央値、ボックスの端は 25 番目と 75 番目の百分位 (1 番目と 3 番目の分位数) を表します。ひげは、外れ値とは見なされない最も極端なデータ点まで延びます。外れ値は個別にプロットされます。区間の端点はノッチの端です。端は q2 - 1.57(q3 - q1)/sqrt(n) と q2 + 1.57(q3 - q1)/sqrt(n) に対応します。ここで、q2 は中央値 (50 番目の百分位)、q1 と q3 はそれぞれ 25 番目と 75 番目の百分位、n は NaN 値を除いた観測数です。

区間がオーバーラップしない場合、2 つの中央値は 5% の水準で有意差があります。この検定は ANOVA で実行する F 検定とは異なりますが、ボックスの中央の線が大きく異なる場合は F 統計量の値が大きくなり、p 値が小さくなります。箱ひげ図についての詳細は、boxplot を参照してください。

参照

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

R2006a より前に導入

この情報は役に立ちましたか?