Python でサンプルと 2 つの z テスト例を実行する方法
statsmodelsパッケージのztest()関数を使用して、Python で 1 つのサンプルと 2 つのサンプル z テストを実行できます。
この関数は次の基本構文を使用します。
statsmodels. stats . weightstats . ztest ( x1 , x2 = None , value = 0 )
金:
- x1 : 最初のサンプルの値
- x2 : 2 番目のサンプルの値 (2 サンプルの z 検定を実行している場合)
- value : ゼロ未満の平均 (1 つのサンプルの場合) または平均の差 (2 つのサンプルの場合)
次の例は、この関数を実際に使用する方法を示しています。
例 1: Python での Z テストの例
特定の母集団の IQ が平均 μ = 100、標準偏差 σ = 15 で正規分布すると仮定します。
研究者は、新薬が IQ レベルに影響を与えるかどうかを知りたいと考えています。そこで彼は 20 人の患者を募集し、それを試してもらい、彼らの IQ レベルを記録しました。
次のコードは、Python でサンプル Z テストを実行して、新薬が IQ レベルに大きな違いを引き起こすかどうかを判断する方法を示しています。
from statsmodels. stats . weightstats import ztest as ztest
#enter IQ levels for 20 patients
data = [88, 92, 94, 94, 96, 97, 97, 97, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 115]
#perform one sample z-test
ztest(data, value= 100 )
(1.5976240527147705, 0.1101266701438426)
1 サンプルの z 検定の検定統計量は1.5976で、対応する p 値は0.1101です。
この p 値は 0.05 未満ではないため、帰無仮説を棄却する十分な証拠がありません。言い換えれば、新薬はIQレベルに大きな影響を与えないということです。
例 2: Python での 2 つの Z テストの例
2 つの異なる都市に住む個人の IQ レベルが既知の標準偏差で正規分布していると仮定します。
研究者は、都市 A と都市 B の個人間の平均 IQ レベルが異なるかどうかを知りたいと考えています。そこで彼女は、各都市から 20 人の 単純な無作為サンプルを選択し、彼らの IQ レベルを記録しました。
次のコードは、Python で 2 サンプルの Z テストを実行して、2 つの都市間で平均 IQ レベルが異なるかどうかを判断する方法を示しています。
from statsmodels. stats . weightstats import ztest as ztest
#enter IQ levels for 20 individuals from each city
cityA = [82, 84, 85, 89, 91, 91, 92, 94, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 114]
cityB = [90, 91, 91, 91, 95, 95, 99, 99, 108, 109,
109, 114, 115, 116, 117, 117, 128, 129, 130, 133]
#perform two sample z-test
ztest(cityA, cityB, value= 0 )
(-1.9953236073282115, 0.046007596761332065)
2 サンプル z 検定の検定統計量は-1.9953で、対応する p 値は0.0460です。
この p 値は 0.05 未満であるため、帰無仮説を棄却する十分な証拠があります。言い換えれば、平均 IQ レベルは 2 つの都市間で大きく異なります。
追加リソース
次のチュートリアルでは、Python で他の一般的な統計テストを実行する方法について説明します。
Python で 1 サンプルの T 検定を実行する方法
Python で 2 サンプル T 検定を実行する方法
Python で対応のあるサンプルの T 検定を実行する方法