ドキュメンテーション

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

anovan

N 因子分散分析

構文

p = anovan(y,group)
p = anovan(y,group,param,val)
[p,table] = anovan(y,group,param,val)
[p,table,stats] = anovan(y,group,param,val)
[p,table,stats,terms] = anovan(y,group,param,val)

説明

p = anovan(y,group) は、ベクトル y の平均に対する複数の因子 (グループ化変数) の影響を確認するために多因子 (n 因子) 分散分析 (ANOVA) を実行します。この検定では、因子によって説明可能な変化と説明不可能な残りの変化を比較します。y の因子と観測の因子レベルは、セル配列 group によって割り当てられます。セル配列 group の各セルには、いずれかの因子について y の観測を識別する因子レベルのリストが含まれています。各セル内のリストは、カテゴリカル配列、数値ベクトル、文字行列、または文字列の 1 列のセル配列の場合があり、要素の数は y と同じでなければなりません。近似分散分析モデルには、各グループ化変数の主効果が含まれています。グループ化変数はすべて、既定の設定で固定効果として処理されます。結果 p は、項ごとの p 値のベクトルです。たとえば、「3 因子 ANOVA の例」を参照してください。

p = anovan(y,group,param,val) は、次の表で説明するように、1 つ以上の名前と値のペアを指定します。

パラメーター

'alpha'

100(1 – alpha)% の信頼限界を要求する、0 と 1 の間の数値 (既定値は 95% の信頼限界で 0.05)

'continuous'

カテゴリカル予測子ではなく連続予測子として処理する必要があるグループ化変数を示すインデックスのベクトル。

'display'

'on' の場合、ANOVA 表が表示されます (既定値)

'off' の場合、表示が省略されます

'model'

使用されるモデルのタイプ。このパラメーターの詳細は、「モデル タイプ」を参照してください。

'nested'

グループ化変数間の入れ子関係を指定する 0 と 1 の行列 M。変数 i が変数 j に入れ子にされている場合、M(i,j) は 1 です。

'random'

変量効果であるグループ化変数を示すインデックスのベクトル (既定の設定ですべて固定されます)。'random' の使用方法の例は、「変量効果のある分散分析 (ANOVA)」を参照してください。

'sstype'

123 (既定の設定)、または h は、二乗和の種類を指定します。このパラメーターの詳細は、「二乗和」を参照してください。

'varnames'

グループ化変数ごとにその名前を指定する文字行列または文字列のセル配列。'varnames' を指定しない場合、既定の設定のラベル 'X1''X2''X3'、...、'XN' が使用されます。'varnames' の使用方法の例は、「変量効果のある分散分析 (ANOVA)」を参照してください。

[p,table] = anovan(y,group,param,val) は、セル配列 table の ANOVA 表 (因子ラベルを含む) を返します。([編集] メニューの [テキストのコピー] 項目を使用して、テキスト形式の ANOVA 表をクリップボードにコピーします)。

[p,table,stats] = anovan(y,group,param,val) は、関数 multcompare を使用した補足の多重比較検定を実行するために使用できる stats 構造体を返します。詳細は、「stats 構造体」を参照してください。

[p,table,stats,terms] = anovan(y,group,param,val) は、分散分析計算で使用される主要項と交互作用項を返します。この項は、入力 'model' について上記で説明した形式と同じ形式で出力行列 terms にエンコードされます。この行列形式で 'model' 自体を指定した場合、terms で返された行列は同じになります。

モデル タイプ

この節では、次の構文による引数 'model' の使用方法について説明します。

[...] = anovan(y,group,'model',modeltype)

引数 modeltype は、関数が使用するモデルのタイプを指定し、次のいずれかが指定されます。

  • 'linear''linear' モデル (既定値) は、N 主効果に対する帰無仮説について、p 値のみを計算します。

  • 'interaction''interaction' は、N 主効果と (N2) 2 因子の交互作用に対する帰無仮説について、p 値を計算します。

  • 'full''full' は、N 主効果とすべてのレベルの交互作用に対する帰無仮説について、p 値を計算します。

  • 整数 — modeltype が整数値の場合 (k (kN))、関数 anovank 番目のレベルからすべての交互作用レベルを計算します。たとえば、値 3 は主効果と 2 因子および 3 因子の交互作用を意味します。値 k = 1 および k = 2 はそれぞれ 'linear' および 'interaction' の指定と等しく、値 k = N'full' の指定と等しくなっています。

  • 関数 x2fx の入力と同じ形式の項の定義の行列。すべての入力は、(高次ではない) 0 または 1 でなければなりません。

anovan が計算する主要な項と交互作用項を正確にコントロールするには、分散分析モデルに取り入れる各主要項または交互作用項ごとに 1 つの行を含む行列を modeltype で指定します。各行は、N のベクトルを使用する項を 0 または 1 に定義します。3 因子 ANOVA の場合、コード化をまとめると以下に示すようになります。

行列の行分散分析項

[1 0 0]

主要項 A

[0 1 0]

主要項 B

[0 0 1]

主要項 C

[1 1 0]

交互作用項 AB

[1 0 1]

交互作用項 AC

[0 1 1]

交互作用項 BC

[1 1 1]

交互作用項 ABC

たとえば、modeltype が行列 [0 1 0;0 0 1;0 1 1] の場合、出力ベクトル p には、主効果 B および C と交互作用効果 BC に対する帰無仮説の p 値がこの順序で含まれています。modeltype 行列を簡単に生成するには、上記の形式で現在のモデルの項をコード化する terms 出力を変更します。たとえば、anovanterms として [0 1 0;0 0 1;0 1 1] を返し、交互作用 BC の結果が有意でなければ、modeltype[0 1 0;0 0 1] を指定して主効果 B および C だけについて分散分析を計算し直します。

二乗和

この節では、次の構文での引数 'sstype' の使用方法について説明します。

[...] = anovan(y,group,'sstype',type)

この構文は、type で指定された二乗和のタイプ (123、または h) を使用して分散分析を計算します。数字 13 はそれぞれ Type 1、Type 2、または Type 3 の二乗和を指定し、h は項の階層を決定するために使われるカテゴリカル要因だけでなく連続的な要因をもつ、タイプ 2 と似た階層モデルを表します。既定値は 3 です。主効果が含まれていても、交互作用を含まないモデルの場合、type の値は非平衡化データの計算にのみ影響を与えます。

任意の項に対する二乗和は 2 つのモデルを比較することで決まります。ある項に対するタイプ 1 の二乗和は、その項をそれより前の項を既に含んでいる適合値に加算して得られた残差二乗和の減少分です。タイプ 2 の二乗和は、項を他のすべての項からなるモデルに加算して得られた残差二乗和の減少分です。タイプ 3 の二乗和も、項を他のすべての項からなるモデルに加算して得られた残差二乗和の減少分です。ただしタイプ 3 の場合、他の項の効果はモデルを推定可能にする通常の "シグマ制約" に従います。

モデルに 2 つの要因とそれらの交互作用をあてはめることにし、項は A、B、AB の順番であるとします。モデルの残差二乗和を R(·) とすると、R(A, B, AB) はモデル全体に適合する残差二乗和であり、R(A) は A の主効果だけに適合する残差二乗和で、R(1) は平均値だけに適合する残差二乗和です。3 種類の二乗和は次のとおりです。

タイプ 1 の二乗和タイプ 2 の二乗和タイプ 3 の二乗和

A

R(1) – R(A)

R(B) – R(A, B)

R(B, AB) – R(A, B, AB)

B

R(A) – R(A, B)

R(A) – R(A, B)

R(A, AB) – R(A, B, AB)

AB

R(A, B) – R(A, B, AB)

R(A, B) – R(A, B, AB)

R(A, B) – R(A, B, AB)

タイプ 3 の二乗和のモデルには、シグマ制約が付されています。したがって、R(B, AB) をあてはめるとき、AB 効果の配列は B の各値について A で合計 0 となり、A の各値について B で合計 0 となります。

3 因子 ANOVA の例

3 因子 ANOVA の例として、以下のベクトル y および group 入力について検討します。

y = [52.7 57.5 45.9 44.5 53.0 57.0 45.9 44.0]';
g1 = [1 2 1 2 1 2 1 2]; 
g2 = {'hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo'}; 
g3 = {'may';'may';'may';'may';'june';'june';'june';'june'}; 

この例では、各因子に 2 つの水準をもつ 3 因子 ANOVA を定義します。y を成す観測値はすべて、因子水準の組み合わせによって示されます。因子が A、B、および C であれば、観測値 y(1) は以下の水準に対応します。

  • 因子 A の水準 1

  • 因子 B の水準 'hi'

  • 因子 C の水準 'may'

同様に、観測値 y(6) は以下の水準に対応します。

  • 因子 A の水準 2

  • 因子 B の水準 'hi'

  • 因子 C の水準 'june'

分散分析を計算するには、次のように入力します。

p = anovan(y,{g1 g2 g3})
p =
  0.4174
  0.0028
  0.9140

出力ベクトル p は、N 個の主効果についての帰無仮説に対する p 値を出力します。要素 p(1) は因子 A の全水準の標本が同じ母集団から抽出されているという帰無仮説 H0A に対する p 値を出力し、要素 p(2) は因子 B の全水準の標本が同じ母集団から抽出されているという帰無仮説 H0B に対する p 値を出力し、などのようになります。

p 値が 0 に近い場合、その関連付けられている帰無仮説は疑わしいとされます。たとえば、H0A に対する p 値が十分に小さい場合、少なくとも 1 つの A 標本の平均は他の A の標本の平均と有意さがあると言えるでしょう。すなわち、因子 A による主効果があるのです。結果が統計的に有意かどうかを特定するには、p 値の範囲を選択する必要があります。p 値が 0.05 または 0.01 未満の場合、一般的に有意義な結果であると言えます。

また、関数 anovan は、標準 ANOVA 表も示し、これは既定の設定で x のデータの変化量を次のように分けます。

  • モデル内で占められる各因子の水準間の相違による変化量 (因子ごとに 1 つの行)

  • 体系的な原因では説明できない残りのばらつき

ANOVA 表には、次の 6 つの列があります。

  • 最初の列はばらつきの原因を示します。

  • 2 列目は、それぞれの要因の二乗和 (SS) を示します。

  • 3 列目は、各原因に関連付けられた自由度 (df) を示します。

  • 4 列目は二乗平均 (MS) で、これは比 SS/df です。

  • 5 列目は、F 統計量を示し、これは二乗平均の比になります。

  • 6 列目は、F 統計量の p 値を示します。

次に表の例を示します。

2 因子の交互作用

既定の設定では、anovan は、3 つの主効果に対する p 値のみを計算します。2 因子交互作用、X1*X2X1*X3、および X2*X3 に対する p 値も計算するには、入力引数として名前と値のペア 'model', 'interaction' を追加します。

p = anovan(y,{g1 g2 g3},'model','interaction')
p =
  0.0347
  0.0048
  0.2578
  0.0158
  0.1444
  0.5000

p の最初の 3 つの要素は、主効果の p 値です。最後の 3 つの要素は、2 因子交互作用の p 値です。次の図の ANOVA 表から 2 因子交互作用が発生する順序を指定できます。

stats 構造体

anovan 検定では、1 つの要因 (一般的には項) の異なる水準は同じ効果をもつという仮説を、これらの水準は必ずしも同じ効果をもつとは限らないという対立仮説に対して評価します。水準のどのペアで有意差があり、どのペアで有意差がないかを確認する検定を実行した方が良い場合もあります。このような検定は、関数 multcomparestats 構造体を入力として指定することによって実行できます。

stats 構造帯には、関数 multcompare を使用して多重比較検定を行うために必要な他のフィールド数に加えて、以下のフィールドを含みます。

フィールド説明

coeffs

推定された係数

coeffnames

各係数に対する項目名

vars

各項目に対するグループ化変数値の行列

resid

近似されたモデルからの残差

変量効果がある場合、stats 構造体には以下のフィールドも含まれます。

フィールド説明

ems

期待された二乗平均

denom

分母の定義

rtnames

無作為な項目の名前

varest

分散成分の推定 (無作為な項目に対して 1 つ)

varci

分散成分の信頼区間

2 因子 ANOVA の実行」は、平衡な設計の応答に対する 2 因子 ANOVA のための anova2 の使用方法を示しています。平衡化されていない設計では、代わりに anovan を使用します。

carbig.mat のデータは、406 種の自動車を測定したものです。anonvan を使用して、自動車が製造された場所と時期によって走行距離がどのように変わるかを調べます。

load carbig

p = anovan(MPG,{org when},'model',2,'sstype',3,...
           'varnames',{'Origin';'Mfg date'})
p =
      0
      0
    0.3059

交互作用項の p 値は小さい値ではなく、自動車が年式/製造年度 (when) による効果が自動車の製造場所 (org) とはあまり関係ないことを示しています。ただし、この 2 つの要因の線形効果は際立っています。

参考文献

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

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