Last updated: October 2009. Kajiyama                    [ 目次に戻る ]

独立な3群以上の平均値の差の検定--分散分析


  1. 三群以上の平均値の差を比べる

    二群であればt検定が使えるが,三群以上の平均値の比較は,t検定が使えない.分散分析を使用する.

    ・t検定が使えない理由は,ハンバーガーショップで学ぶ楽しい統計学-早稲田大学


  2. 独立な四群の「データの構造」

    「図形科学」「幾何学」「製図学」「架空力学」の4科目の試験を行った.学生の成績を元に母集団(彼の学部の彼の学年)で科目間に違いがあるか知りたい.

    学生の4科目の成績より母集団の平均点に違いがあるかを検討する.

    測定値は,学部の学生からランダムに選んだ20人の4つの科目のテスト成績であり,これを標本にする.

    因子(Factor要因 )として科目を設定し,科目の質的カテゴリーである「図形科学」「幾何学」「製図学」「架空力学」の科目を4つの群(水準)とする.

    表1 20人の学生の四科目の成績(60満点)「アンスタック形式」 (架空データ)

    サンプル 群 A1
    群 A2
    群 A3
    群 A4
    図形科学
    幾何学
    製図学
    架空力学
    01 45 39 30 30
    02 27 24 18 21
    03 54 24 33 9
    04 42 36 21 15
    05 54 21 36 21
    平均値 44.4 28.8 27.6 19.2


    表1-2 20人の学生の四科目の成績(60満点)「スタック形式」

    測定値
    45 図形科学
    39 幾何学
    30 製図学
    30 架空力学
    27 図形科学
    24 幾何学
    18 製図学
    21 架空力学
    54 図形科学
    24 幾何学
    33 製図学
    9 架空力学
    42 図形科学
    36 幾何学
    21 製図学
    15 架空力学
    54 図形科学
    21 幾何学
    36 製図学
    21 架空力学


  3.  データフレームの読み込みと確認

    (1) 「スタック形式」での操作の手順

    > x <- read.table ("clipboard", header=TRUE )
    > x 
       測定値       群
    1      45 図形科学
    2      39   幾何学
    3      30   製図学
    4      30 架空力学
    5      27 図形科学
    6      24   幾何学
    7      18   製図学
    8      21 架空力学
    9      54 図形科学
    10     24   幾何学
    11     33   製図学
    12      9 架空力学
    13     42 図形科学
    14     36   幾何学
    15     21   製図学
    16     15 架空力学
    17     54 図形科学
    18     21   幾何学
    19     36   製図学
    20     21 架空力学
    
    > str (x) 
    'data.frame':   20 obs. of  2 variables:
     $ 測定値: int  45 39 30 30 27 24 18 21 54 24 ...
     $ 群    : Factor w/ 4 levels "幾何学","架空力学",..: 3 1 4 2 3 1 4 2 3 1 ...
    
    > by ( x$測定値, x$群, summary)
    x$群: 幾何学
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
       21.0    24.0    24.0    28.8    36.0    39.0 
    --------------------------------------------------------------------- 
    x$群: 架空力学
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
        9.0    15.0    21.0    19.2    21.0    30.0 
    --------------------------------------------------------------------- 
    x$群: 図形科学
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
       27.0    42.0    45.0    44.4    54.0    54.0 
    --------------------------------------------------------------------- 
    x$群: 製図学
       Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
       18.0    21.0    30.0    27.6    33.0    36.0 
    
    >  boxplot ( 測定値 ~ 群, data=x ) 
    
    >  plotMeans( x$測定値, x$群, error.bars="se") # plotMeans関数を使用するにはパッケージ 「Rcmdr」を読み込む
    


    (2) データフレームの読み込み

    ここでは,表シートあるいはエクセルの表計算シートからクリップボード経由で読み込む操作を行う.

    まず,Rの「コンソール」画面に次を記述し,

    x <- read.table ("clipboard", header=TRUE   

    次に,表1-2 20人の学生の四科目の成績(60満点)「スタック形式」の緑の部分をマウスで選択し,これをコピーする.

      )  #を追加記述し「Enterキー」を押す.

    この操作で,表1-2の[clipboard]データファイルを,Rの内部のデータフレーム,ファイル名 x に直接読み込むことができる.

    header=TRUE は第1行が列の変数名になっていることを指示している.


    (3) 読み込んだデータフレームの確認

    x #     と記述し,Rの内部に作成したデータフレーム x を,表示し確認する.


    (4) データフレームの構造確認

    str (x) #  と記述し,Rの内部のデータフレーム x の3変数の内容を表示確認する.

    Rが理解した,サンプル・分析値・水準の3変数名のリストと変数ごとのカテゴリの数とカテゴリ名が示される.

    ・分析で使用する変数名とカテゴリ名はRが理解した名前を使用する.

    注意: 因子の群のデータ形式が [Factor] 形式でないときは,

    x$群 <- factor( x$群 ) #  と記述し,データフレームの群の変数を[Facter]形式に変更する.


    (5) 群別の基礎統計量

    Rの「コンソール」画面に,

    by ( x$測定値, x$群, summary ) # と記述し,「スタック形式」のデータで,群別の基礎統計利用を計算する.


    (6)「箱ひげグラフ」と「平均値の推移図」の作成   plotMeans関数を使用するにはパッケージ 「Rcmdr」を読み込んでおくこと

    boxplot ( 測定値 ~ 群, data=x ) #      と記述し,群ごとの箱ひげ図を表示する.

    plotMeans( x$測定値, x$群, error.bars="se") #      と記述し,平均値の推移図を表示する.

    科目間の成績のばらつきがわかる.
     
    (7) バートレット(Bartlett)の検定--分散の等質性(等分散性)の検定

    4群(水準)の分散が等しいか,あるいは等しくないかを検定する.4群のデータの分散は等質であるとの帰無仮説を立てる.

    分散分析は,各群の母分散が等しく,正規分布に従うという仮定の上で構築されている.

    まず等質性の検定を行う.棄却されたらoneway.test()やノンパラメトリックな方法がある.

    正規分布の検定はある程度標本数が大きくないと意味を持たない.

    ただし,一因子の分散分析のF検定はその前提条件が崩れても,検定結果は信頼できるといわれている.


    Rの「コンソール」画面に,

    bartlett.test ( x$測定値 ~ x$群 ) # と記述し,「スタック形式」のデータで,分散の等質性の検定を行う.

    バートレットの検定は水準ごとの標本の数が同じでない場合も使用できる.

    p値が0.05以下のときに水準の分散は等しくないと結論する.


    >  bartlett.test ( x$測定値 ~ x$群 )
    
            Bartlett test of homogeneity of variances
    
    data:  x$測定値 by x$群 
    Bartlett's K-squared = 0.7041, df = 3, p-value = 0.8722
    

    結果

    p値が0.9であり,p値>0.05であるので帰無仮説が採択され,1つの因子の各水準の分散は等しいと結論し,分散分析に進む.




  4. 「対応なし」「標本数が同じ」場合のaov関数による分散分析

    4科目間で母集団の平均値に差があるといえるか,有意水準5%で検討する.

    帰無仮説は「各群の母集団の平均値は等しい」.

    対立仮説は,「全ての群の組み合わせに平均値の差がある」のでなく,「各群の少なくとも一組に平均値の差がある」.



    Rの「コンソール」画面に,

    summary ( aov ( 測定値 ~ 群, data=x ) )

    summary ( aov ( x$測定値 ~ x$群 ) ) #  も同じ

    と記述し,「スタック形式」のデータで,一元配置の分散分析を行う.

    > summary ( aov ( 測定値 ~ 群, data=x ) )
                Df  Sum Sq Mean Sq F value   Pr(>F)   
    群           3 1656.00  552.00  7.1111 0.002988 **
    Residuals   16 1242.00   77.62                    
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
    


    分散分析表が表示される.これを整形すると,以下のようになる.
    
    -----------------------------------------------------------
                 (変動)   (不偏分散) (分散比)
    変動要因    自由度   平方和    平均平方和   F値      P値    
    -----------------------------------------------------------
    因子A        3      1656.00    552.00     7.11     0.003 **
    誤差        16      1242.00     77.62                    
    -----------------------------------------------------------
    ** p<.01
    
    分析結果

    有意水準5%で検定を行ったところ,因子AにおいてはP値<.01であるから,帰無仮説は棄却する.

    すなわち因子Aによる平均値の差はあるとする.母集団の科目(A1〜A4)の平均値に差があるといえる.

    分散分析では,「科目間の成績」のどの群とどの群に差があるかは,明らかにしてくれない.このため多重比較の事後検定(下位検定)を行う.




  5. 「対応なし」「標本数が同じ」場合の多重比較

    Rには次の多重比較の関数が用意されている.

    a. テューキーHSD(Tukey's‘Honest Significant Difference’method)の方法

    b. ボンフェローニ(Bonferroni)の方法

    c. ホルム(Holm)の方法


    1. 「対応なし」「標本数が同じ」場合の テューキーHSD(Tukey's‘Honest Significant Difference’method)の方法

      関数TukeyHSDの使用法は,Rの「コンソール」画面に,

      ? TukeyHSD


      Rの「コンソール」画面に,

      TukeyHSD (aov ( 測定値 ~ 群, data=x ), "群", ordered = TRUE)

      require(graphics) # 必要ならば,グラフパッケージの読み込み

      plot(TukeyHSD(aov ( 測定値 ~ 群, data=x ), "群")) # TukeyHSDの結果をグラフにする

      と記述し,TukeyHSD(テューキー)の方法で多重比較を行う.

      > TukeyHSD (aov ( 測定値 ~ 群, data=x ), "群", ordered = TRUE)
        Tukey multiple comparisons of means
          95% family-wise confidence level
          factor levels have been ordered
      
      Fit: aov(formula = 測定値 ~ 群, data = x)
      
      $群
                        diff         lwr      upr     p adj
      製図学-架空力学    8.4  -7.5423254 24.34233 0.4561325
      幾何学-架空力学    9.6  -6.3423254 25.54233 0.3446966
      図形科学-架空力学 25.2   9.2576746 41.14233 0.0017736
      幾何学-製図学      1.2 -14.7423254 17.14233 0.9963241
      図形科学-製図学   16.8   0.8576746 32.74233 0.0371222
      図形科学-幾何学   15.6  -0.3423254 31.54233 0.0562227
      
      > require(graphics)  # 必要ならば,グラフパッケージの読み込み
      > plot(TukeyHSD(aov ( 測定値 ~ 群, data=x ), "群")) # TukeyHSDの結果をグラフにする
      

       

      分析結果

      多重比較の帰無仮説は二群間の平均値には差が無いである.

      グラフでは95%の信頼区間が0を含まなければ有意な差があることを示す.

      [p adj]の欄で有意水準5%以下を捜すと,[図形科学-架空力学 p=0.0017736] [製図学-図形科学 p=0.0371222] の間に5%水準で有意な差があることがわかる.

      図形科学-架空力学および製図学-図形科学の間には有意水準5%で差がある.これらの科目間には成績の違いがあるといえる.


    2. 「対応なし」「標本数が同じ」場合の ボンフェローニ(Bonferroni)法

      Rの「コンソール」画面に,

      pairwise.t.test(x$測定値 , x$群, p.adjust.method="bonferroni")

      と記述し,Bonferroni法で多重比較を行う.

      >  pairwise.t.test(x$測定値 , x$群, p.adjust.method="bonferroni")
      
              Pairwise comparisons using t tests with pooled SD 
      
      data:  x$測定値 and x$群 
      
               架空力学 幾何学 図形科学
      幾何学   0.6251   -      -       
      図形科学 0.0021   0.0771 -       
      製図学   0.9071   1.0000 0.0493  
      
      P value adjustment method: bonferroni
      


      分析結果

      多重比較の帰無仮説は二群間の平均値には差が無いである.

      有意水準5%以下を捜すと,[図形科学-架空力学 p=0.0021] [製図学-図形科学 p=0.0493] の間に5%水準で有意な差があることがわかる.

      図形科学-架空力学および製図学-図形科学の間には有意水準5%で差がある.これらの科目間には成績の違いがあるといえる.


    3. 「対応なし」「標本数が同じ」場合の Holm法

      Rの「コンソール」画面に,

      pairwise.t.test(x$測定値 , x$群, p.adjust.method="holm")

      と記述し,Holm法で多重比較を行う.

      >  pairwise.t.test(x$測定値 , x$群, p.adjust.method="holm")
      
              Pairwise comparisons using t tests with pooled SD 
      
      data:  x$測定値 and x$群 
      
               架空力学 幾何学 図形科学
      幾何学   0.3126   -      -       
      図形科学 0.0021   0.0514 -       
      製図学   0.3126   0.8322 0.0411  
      
      P value adjustment method: holm
      


      分析結果

      多重比較の帰無仮説は二群間の平均値には差が無いである.

      有意水準5%以下を捜すと,[図形科学-架空力学 p=0.0021] [製図学-図形科学 p=0.0411] の間に5%水準で有意な差があることがわかる.

      図形科学-架空力学および製図学-図形科学の間には有意水準5%で差がある.これらの科目間には成績の違いがあるといえる.

独立な3群以上の平均値の差の検定                   [ 目次に戻る ]