📉

データ分析 python 2群間の代表値の検定:基礎

2024/09/07に公開

2つの標本集団の平均値や中央値の差が、母集団においても意味のある差なのかを確認するためには、2群間の代表値の検定を行います。
この検定は、標本集団から得られた差が単なる偶然によるものか、それとも母集団全体においても実際に差があるかを判断するための手法です。
使用する検定手法は、データの特性や前提条件に応じて異なります。
代表的な手法を簡単にまとめてみました。

正規分布に従っているかを確認

まず、比較するデータの正規分布を確認します。

  • 正規分布に従っている場合は、パラメトリック検定
  • 正規分布に従っていない場合は、ノンパラメトリック検定 となります。
データが正規分布に従っているかどうかを確認するには
  • サンプルサイズが少ない場合は、シャピロ・ウィルク検定(S-W検定) を使用します
  • サンプルサイズが多い場合は、コルモゴロフ・スミルノフ検定(K-S検定) を使用します

パラメトリック検定の場合

  • 母集団が1つの場合、1標本のt検定を使用します。
  • 母順団が2つの場合、
    • データの対応がある場合は対応のある2標本のt検定を使用します
    • データの対応がない場合は、さらに分散を確認します
      • 分散が等分散であれば、2標本のt検定(等分散)でスチューデントのt検定を使用します
      • 分散が不等分散であれば、2標本のt検定(不等分散)でウェルチのt検定を使用します
データの対応があるとは

「データの対応がある」とは、同じ対象の前後比較を指します
例)同じクラスの生徒に、テスト対策を行い、テスト対策前後の平均点を比較する
「データの対応がない」とは、比較の対処が異なることを指します
例)異なる2つの学校の生徒のテストの平均点を比較する。

等分散、不等分散とは

比較する2集団の平均値のばらつきが、同じか、同じでないかということです。
等分散を検定するには、scipy の bartlettメソッドを使用します。
例)stats.bartlett(data1, data2)

平均の検定に使用するメソッド
  • 1標本のt検定
    scipy の ttest_1sampメソッドを使用します。
    例)stats.ttest_1samp(data, mu_0)

  • 対応のある2標本のt検定
    scipy の ttest_rel メソッドを使用します。
    例)stats.ttest_ind(data1, data2)

  • スチューデントのt検定
    scipy の ttest_indメソッドを使用します。
    例)stats.ttest_ind(data1, data2, equal_value=True)

  • ウェルチのt検定
    scipy の ttest_indメソッドを使用します。
    例)stats.ttest_ind(data1, data2, equal_value=False)

ttest_relメソッドの「rel」とは related(関連がある)を、
ttest_indメソッドの「ind」とは independent(独立)を意味しています

対応のある2標本のt検定 の記事は コチラ
スチューデントのt検定、ウェルチのt検定 の記事は コチラ

ノンパラメトリック検定の場合

  • データの対応がある場合はウィルコクソンの符号付順位検定 または 符号検定 を使用します
  • データの対応がない場合はマンホイットニーのU検定 または ウィルコクソン順位和検定 を使用します

マンホイットニーのU検定、ウィルコクソン順位和検定 の記事は コチラ

Discussion