Python で 2 サンプル t 検定を実行する方法
2 標本 t 検定は、 2 つの母集団の平均が等しいかどうかを検定するために使用されます。
このチュートリアルでは、Python で 2 サンプルの t 検定を実行する方法を説明します。
例: Python での 2 つの t 検定の例
研究者は、2 つの異なる植物種の平均高さが同じかどうかを知りたいと考えています。これをテストするために、彼らは各種の 20 個の植物からなる単純な無作為サンプルを収集しました。
次の手順に従って 2 サンプル t 検定を実行し、2 つの植物種の高さが同じかどうかを判断します。
ステップ 1: データを作成します。
まず、20 個の植物の各グループの測定値を保持する 2 つのテーブルを作成します。
import numpy as np group1 = np.array([14, 15, 15, 16, 13, 8, 14, 17, 16, 14, 19, 20, 21, 15, 15, 16, 16, 13, 14, 12]) group2 = np.array([15, 17, 14, 17, 14, 8, 12, 19, 19, 14, 17, 22, 24, 16, 13, 16, 13, 18, 15, 13])
ステップ 2: 2 サンプルの t 検定を実行します。
次に、scipy.stats ライブラリのttest_ind() 関数を使用して、次の構文を使用する 2 つの例の t 検定を実行します。
ttest_ind(a、b、equal_var=True)
金:
- a:グループ 1 の観察例の表
- b:グループ 2 の観察例の表
- equal_var: true の場合、母集団の分散が等しいと仮定した標準の独立した 2 サンプル t 検定を実行します。 false の場合、母集団分散が等しいと仮定しないウェルチの t 検定を実行します。これはデフォルトで true です。
検定を実行する前に、2 つの母集団の分散が等しいと仮定するかどうかを決定する必要があります。一般に、最大サンプル分散と最小サンプル分散の比が 4:1 未満の場合、母集団の分散は等しいと仮定できます。
#find variance for each group
print(np.var(group1), np.var(group2))
7.73 12.26
最大の標本分散と最小の標本分散の比は 12.26/7.73 = 1.586で、4 未満です。これは、母集団の分散が等しいと仮定できることを意味します。
したがって、等しい分散を使用して 2 サンプル t 検定を実行することができます。
import scipy.stats as stats #perform two sample t-test with equal variances stats.ttest_ind(a=group1, b=group2, equal_var=True) (statistic=-0.6337, pvalue=0.53005)
t 検定統計量は-0.6337で、対応する両側 p 値は0.53005です。
ステップ 3: 結果を解釈します。
この特定の 2 サンプル t 検定の 2 つの仮定は次のとおりです。
H 0 : μ 1 = μ 2 (2 つの母集団平均は等しい)
H A : µ 1 ≠µ 2 (2 つの母集団平均は等しくありません)
検定の p 値(0.53005)は alpha = 0.05 より大きいため、検定の帰無仮説を棄却できません。 2 つの集団間の平均草丈が異なると言える十分な証拠はありません。