Python で仮説テストを実行する方法 (例付き)
仮説検定は、統計的仮説を棄却または棄却できなかったために使用する正式な統計検定です。
このチュートリアルでは、Python で次の仮説テストを実行する方法について説明します。
- サンプル t 検定
- 2 サンプルの T 検定
- 対応のあるサンプルの t 検定
さあ行こう!
例 1: Python での t 検定の例
1 サンプル t 検定は、母集団の平均が特定の値に等しいかどうかを検定するために使用されます。
たとえば、特定の種のカメの平均体重が 310 ポンドであるかどうかを知りたいとします。
これをテストするために、次の重みを持つ単純なランダムなカメのサンプルを収集します。
重量:300、315、320、311、314、309、300、308、305、303、305、301、303
次のコードは、 scipy.statsライブラリのttest_1samp()関数を使用して 1 サンプルの t 検定を実行する方法を示しています。
import scipy.stats as stats #define data data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] #perform one sample t-test stats. ttest_1samp (a=data, popmean= 310 ) Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)
t 検定統計量は-1.5848で、対応する両側 p 値は0.1389です。
特定のサンプルに対するこの t 検定の 2 つの仮説は次のとおりです。
- H 0 : μ = 310 (この種のカメの平均体重は 310 ポンド)
- H A : μ ≠310 (平均体重は310ポンドではありません)
検定の p 値(0.1389)は alpha = 0.05 より大きいため、検定の帰無仮説を棄却できません。
この特定の種類のカメの平均体重が 310 ポンド以外であると言える十分な証拠はありません。
例 2: Python での 2 サンプルの t 検定
2 標本 t 検定は、 2 つの母集団の平均が等しいかどうかを検定するために使用されます。
たとえば、2 つの異なる種のカメの平均体重が等しいかどうかを知りたいとします。
これをテストするために、次の重みを使用して、各種から単純でランダムなカメのサンプルを収集します。
サンプル1 :300、315、320、311、314、309、300、308、305、303、305、301、303
サンプル2 :335、329、322、321、324、319、304、308、305、311、307、300、305
次のコードは、 scipy.statsライブラリのttest_ind()関数を使用して、これら 2 つの t 検定の例を実行する方法を示しています。
import scipy. stats as stats #define array of turtle weights for each sample sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305] #perform two sample t-tests stats. ttest_ind (a=sample1, b=sample2) Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)
t 検定統計量は-2.1009で、対応する両側 p 値は0.0463です。
この特定の 2 サンプル t 検定の 2 つの仮定は次のとおりです。
- H 0 : μ 1 = μ 2 (2 種の平均体重は等しい)
- H A : μ 1 ≠ μ 2 (2 種間の平均体重は等しくない)
検定の p 値 (0.0463) は 0.05 未満であるため、帰無仮説を棄却します。
これは、2 つの種の平均体重が等しくないと言える十分な証拠があることを意味します。
例 3: Python でのペアのあるサンプルの t 検定
対のあるサンプルの t 検定は、一方のサンプルの各観測値がもう一方のサンプルの観測値と関連付けられる場合に、2 つのサンプルの平均を比較するために使用されます。
たとえば、特定のトレーニング プログラムがバスケットボール選手の最大垂直ジャンプ (インチ単位) を向上させることができるかどうかを知りたいとします。
これをテストするには、12 人の大学バスケットボール選手の単純なランダム サンプルを採用し、それぞれの最大垂直ジャンプを測定します。次に、各プレーヤーにトレーニング プログラムを 1 か月間使用してもらい、月末に最大垂直跳びを再度測定します。
次のデータは、各プレーヤーのトレーニング プログラムを使用する前後の最大ジャンプ高さ (インチ単位) を示しています。
フロント:22、24、20、19、19、20、22、25、24、23、22、21
後:23、25、20、24、18、22、23、28、24、25、24、20
次のコードは、 scipy.statsライブラリのttest_rel() 関数を使用して、このペアサンプルの t 検定を実行する方法を示しています。
import scipy. stats as stats #define before and after max jump heights before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21] after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20] #perform paired samples t-test stats. ttest_rel (a=before, b=after) Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)
t 検定統計量は-2.5289で、対応する両側 p 値は0.0280です。
この特定のペアのあるサンプルの t 検定の 2 つの仮定は次のとおりです。
- H 0 : μ 1 = μ 2 (プログラム使用前と使用後のジャンプの平均高さは等しい)
- H A : μ 1 ≠ μ 2 (プログラム使用前と使用後のジャンプの平均高さは等しくない)
検定の p 値 (0.0280) は 0.05 未満であるため、帰無仮説を棄却します。
これは、トレーニング プログラムを使用する前と使用した後の平均ジャンプ高さが等しくないという十分な証拠があることを意味します。
追加リソース
次のオンライン計算ツールを使用して、さまざまな t 検定を自動的に実行できます。