Python でウェルチの t 検定を実行する方法
2 つの独立したグループ間の平均を比較する最も一般的な方法は、2 標本 t 検定を使用することです。ただし、この検定は 2 つのグループ間の分散が等しいことを前提としています。
2 つのグループ間の分散が等しくないと思われる場合は、 2 標本 t 検定と同等のノンパラメトリックであるウェルチの t 検定を使用できます。
Python でウェルチの t 検定を実行するには、 SciPyライブラリのttest_ind() 関数を使用できます。この関数は次の構文を使用します。
ttest_ind(a、b、equal_var=False)
金:
- a:データ値の最初の配列
- b:データ値の 2 番目の配列
- equal_var: 2 つのテーブル間の分散が等しいという仮定を指定しません。
このチュートリアルでは、この関数を使用して Python でウェルチの t 検定を実行する方法を説明します。
例: Python での Welch の t 検定
試験の準備のために試験対策冊子を使用した 12 人の学生と、試験の準備をしなかった 12 人の学生の試験のスコアを比較したいとします。
次のコードは、Python でウェルチの t 検定を実行して、試験の平均スコアが 2 つのグループ間で等しいかどうかを判断する方法を示しています。
#import ttest_ind() function from scipy import stats #define two arrays of data booklet = [90, 85, 88, 89, 94, 91, 79, 83, 87, 88, 91, 90] no_booklet = [67, 90, 71, 95, 88, 83, 72, 66, 75, 86, 93, 84] #perform Welch's t-test stats. ttest_ind (booklet, no_booklet, equal_var = False ) Ttest_indResult(statistic=2.23606797749, pvalue=0.04170979503207)
検定統計量は2.2361で、対応する p 値は0.0417であることがわかります。
この p 値は 0.05 未満であるため、検定の帰無仮説を棄却し、2 つのグループ間の試験の平均得点には統計的に有意な差があると結論付けることができます。
この例では 2 つのサンプル サイズが等しいことに注意してください。ただし、2 つのサンプル サイズが等しくない場合でも、ウェルチの t 検定は機能します。