Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

カテゴリ平均値の差分の検定

この例では、t 検定、2 因子 ANOVA (分散分析)、ANOCOVA (共分散分析) を使用してカテゴリ (グループ) の平均値の有意差を検定する方法を示します。

この検定は、自動車のガロンあたりの想定走行マイル数が生産年代で異なるのか、それとも生産地で異なるのかを判別するために行います。

メモ

nominal 配列データ型および ordinal 配列データ型は推奨されません。順序付きおよび順序付けのない離散非数値データを表すには、代わりにcategorical 配列データ型を使用します。

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

load('carsmall')
unique(Model_Year)
ans =

    70
    76
    82

変数 MPG には、100 台の標本の自動車で測定したガロンあたりの走行マイル数が格納されています。変数 Model_Year および Origin には、それぞれの自動車のモデル年と生産国が格納されています。

最初の因子は製造年代です。データには 3 種類の製造年が存在します。

製造年代を示す因子を作成します。

70 年と 76 年の観測値を 1970s というラベルのカテゴリにマージし、82 年の観測値を 1980s というラベルのカテゴリに入れることで、Decade という名前の順序配列を作成します。

Decade = ordinal(Model_Year,{'1970s','1980s'},[],[70 77 82]);
getlevels(Decade)
ans = 

     1970s      1980s  

カテゴリ別にデータをプロットします。

ガロンあたりの走行マイル数の箱ひげ図を、製造年代ごとに作成します。

figure()
boxplot(MPG,Decade)
title('Miles per Gallon, Grouped by Decade of Manufacture')

この箱ひげ図からわかるように、1980 年代に製造された自動車の方が、 1970 年代に製造された自動車よりもガロンあたりの走行マイル数が高くなっています。

要約統計を計算します。

各年代でガロンあたりの走行マイル数の平均と分散を計算します。

[xbar,s2,grp] = grpstats(MPG,Decade,{'mean','var','gname'})
xbar =

   19.7857
   31.7097


s2 =

   35.1429
   29.0796


grp = 

    '1970s'
    '1980s'

この出力結果では、1980 年代に製造された自動車のガロンあたりの走行マイル数は 31.71 であり、1970 年代に製造された自動車は 19.79 となっています。2 つのアンサンブルの分散は類似しています。

2 つの標本 t 検定を実行して、アンサンブルの平均が等しいか確認します。

分散が等しいと仮定して 2 つの標本の t 検定を実行し、アンサンブルの平均に有意差があるか確認します。仮説は以下のとおりです。

H0:μ70=μ80HA:μ70μ80.

MPG70 = MPG(Decade=='1970s');
MPG80 = MPG(Decade=='1980s');
[h,p] = ttest2(MPG70,MPG80)
h =

     1


p =

   3.4809e-15
論理値 1 は、既定の有意水準 0.05 で帰無仮説が棄却されていることを示します。この検定の p 値は非常に小さくなっています。1980 年代と 1970 年代に製造された自動車では、ガロンあたりの走行マイル数の平均が異っているという十分な証拠が存在しています。

生産地を示す因子を作成します。

2 番目の因子は生産地です。最初に、Origin をノミナル配列に変換します。

Location = nominal(Origin);
tabulate(Location)
tabulate(Location)
    Value    Count   Percent
   France        4      4.00%
  Germany        9      9.00%
    Italy        1      1.00%
    Japan       15     15.00%
   Sweden        2      2.00%
      USA       69     69.00%
生産国は 6 か国あります。ヨーロッパの国での観測数が比較的少なくなっています。

カテゴリをマージします。

カテゴリ FranceGermanyItalySwedenEurope という新しいカテゴリにまとめます。

Location = mergelevels(Location, ...
    {'France','Germany','Italy','Sweden'},'Europe');
tabulate(Location)
   Value    Count   Percent
   Japan       15     15.00%
     USA       69     69.00%
  Europe       16     16.00%

要約統計を計算します。

ガロンあたりの走行マイル数の平均を、生産地別に計算します。

[xbar,grp] = grpstats(MPG,Location,{'mean','gname'})
xbar =

   31.8000
   21.1328
   26.6667


grp = 

    'Japan'
    'USA'
    'Europe'

この結果、ガロンあたりの走行マイル数の平均が最も低いのは、米国製の自動車の標本ということがわかります。

2 因子 ANOVA を実行します。

2 因子 ANOVA を実行し、DecadeLocation の因子レベルの間にガロンあたりの想定走行マイル数の差があるか検定します。

統計モデルは次のとおりです。

MPGij=μ+αi+βj+εij,i=1,2;j=1,2,3,

ここで、MPGij は製造年代 i に生産地 j で生産された自動車の応答 (ガロンあたりの走行マイル数) を表します。最初の因子 (製造年代) の処理効果は αi 項です (合計はゼロになります)。2 番目の因子 (生産地) の処理効果は βj 項です (合計はゼロになります)。εij は無相関の正規分布ノイズ項です。

検定する仮説は、製造年代の効果の等価性と、

H0:α1=α2=0HA:atleastoneαi0,

生産地の効果の等価性です。

H0:β1=β2=β3=0HA:atleastoneβj0.

anovan を使用すると複数因子 ANOVA を実行できます。

anovan(MPG,{Decade,Location},'varnames',{'Decade','Location'});

この出力結果は 2 因子 ANOVA の結果を示しています。製造年代の効果の等価性を検定した結果の p 値は 2.88503e-18 で、帰無仮説は有意水準 0.05 で棄却されます。生産地の等価性を検定した結果の p 値は 7.40416e-10 で、この帰無仮説も棄却されます。

ANOCOVA 分析を実行します。

この解析での交絡因子として、自動車の重量が考えられます。重量が大きい自動車の方が、燃費効率が低くなると予想されます。変数 Weight を ANOVA の連続共変量として使用し、ANOCOVA 分析を実行します。

平行ラインを仮定すると、統計モデルは次のようになります。

MPGijk=μ+αi+βj+γWeightijk+εijk,i=1,2;j=1,2,3;k=1,...,100.

このモデルと 2 因子 ANOVA モデルの違いは、連続予測子 Weightijk の有無です。これは i 番目の年代に j 番目の場所で生産された k 番目の自動車の重量を表します。勾配パラメーターは γ です。

anovan の 2 番目の入力引数の 3 つ目のグループとして、連続共変量を追加します。名前と値の対の形をとる変数 Continuous を使用して、Weight (3 番目のグループ) を連続に指定します。

anovan(MPG,{Decade,Location,Weight},'Continuous',3,...
       'varnames',{'Decade','Location','Weight'});

この出力結果からは、自動車の重量について、生産地による効果の十分な証拠は存在しません (p 値 = 0.1044)。

対話型ツールを使用します。

対話型の aoctool を使用すると、この結果を調査することができます。

aoctool(Weight,MPG,Location);

このコマンドを実行すると、3 つのダイアログ ボックスが開きます。[ANOCOVA 予測プロット] ダイアログ ボックスで [異なる平均] モデルを選択します。

この出力結果からは、Weight がモデル内に含まれていない場合、3 か所の生産地の間でガロンあたりの想定走行マイル数に大きな差が出ることがわかります。なお、このモデルでは、製造年代の調整はされていません。

次に、[平行ライン] モデルを選択します。

Weight がモデル内に含まれている場合、3 か所の生産地の間でのガロンあたりの想定走行マイル数の差はかなり小さくなります。

参考

| | | | | |

関連する例

詳細