如何在 python 中运行一个示例和两个 z 测试示例


您可以使用statsmodels包中的ztest()函数在 Python 中执行一个示例和两个示例 z 测试。

该函数使用以下基本语法:

 statsmodels. stats . weightstats . ztest ( x1 , x2 = None , value = 0 )

金子:

  • x1 :第一个样本的值
  • x2 :第二个样本的值(如果您正在执行双样本 z 检验)
  • value :平均值低于零(在一个样本情况下)或平均差(在两个样本情况下)

以下示例展示了如何在实践中使用此功能。

示例 1:Python 中的 Z 测试示例

假设某个人群的智商呈正态分布,平均值为 μ = 100,标准差为 σ = 15。

研究人员想知道一种新药是否会影响智商水平。于是他招募了 20 名患者来尝试并记录他们的智商水平。

以下代码展示了如何在 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)

单样本 z 检验的检验统计量为1.5976 ,相应的 p 值为0.1101

由于该 p 值不小于 0.05,因此我们没有足够的证据来拒绝原假设。也就是说,新药并不会显着影响智商水平。

示例 2:Python 中的两个 Z 测试示例

假设两个不同城市的个体智商水平呈正态分布,且标准差已知。

一位研究人员想知道 A 城市和 B 城市个体的平均智商水平是否不同。因此,她从每个城市随机抽取 20 个人作为样本,并记录他们的智商水平。

以下代码演示了如何在 Python 中执行两个样本 z 检验,以确定两个城市之间的平均 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)

两个样本 z 检验的检验统计量为-1.9953 ,相应的 p 值为0.0460

由于该 p 值小于 0.05,因此我们有足够的证据来拒绝原假设。换句话说,两个城市的平均智商水平存在显着差异。

其他资源

以下教程解释了如何在 Python 中执行其他常见的统计测试:

如何在 Python 中执行单样本 T 检验
如何在 Python 中执行两个样本 T 检验
如何在 Python 中执行配对样本 T 检验

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注