gpt4 book ai didi

python - Statsmodel Z 测试未按预期工作(statsmodels.stats.weightstats.CompareMeans.ztest_ind)

转载 作者:行者123 更新时间:2023-12-02 16:22:31 26 4
gpt4 key购买 nike

所有内容的格式都与 Statsmodels 网站上的一样,但是 Spyder 以某种方式返回了这个:

TypeError: ztest_ind() got multiple values for argument 'alternative'

我的相关输入是这样的(数据框工作正常):

ztest = statsmodels.stats.weightstats.CompareMeans.ztest_ind(df1['TOTAL'], df2['TOTAL'], alternative = 'two-sided', usevar = 'unequal', value = 0)

我遵循本网站上的格式:https://www.statsmodels.org/devel/generated/statsmodels.stats.weightstats.CompareMeans.ztest_ind.html

最佳答案

api 文档对于了解如何使用此方法不是很有帮助。以下是文档中的方法语法(最后提供链接)。

CompareMeans.ztest_ind(alternative='two-sided', usevar='pooled', value=0)
z-test for the null hypothesis of identical means

Parameters
x1array_like, 1-D or 2-D
first of the two independent samples, see notes for 2-D case

x2array_like, 1-D or 2-D
second of the two independent samples, see notes for 2-D case

乍一看,我们看不到用于传递我们进行 z 检验所依据的数据值的选项。虽然提到了 2 个参数 x1 和 x2,但在方法定义中的任何地方都没有占位符!对源代码进行了一些挖掘以弄清楚如何使用它。

所以在源代码中(最后提供链接),ztest_ind() 的方法签名也概述了参数 x1 和 x2。

def ztest_ind(self, alternative="two-sided", usevar="pooled", value=0):
"""z-test for the null hypothesis of identical means

Parameters
----------
x1 : array_like, 1-D or 2-D
first of the two independent samples, see notes for 2-D case
x2 : array_like, 1-D or 2-D
second of the two independent samples, see notes for 2-D case

这里最大的提示是“self”参数,它清楚地表明必须从类对象调用 ztest_ind() 方法,该类对象具有 2 个类似数组的属性,即我们希望对其执行的 2 列数据ztest.

如果我们看一下 ztest_ind() 之前的层次结构,我们会发现 ztest_ind() 需要使用 CompareMeans 类的对象引用来调用

statsmodels.stats.weightstats.CompareMeans.ztest_ind

所以我们需要实例化一个CompareMeans类的对象。

现在,如果我们转到 CompareMeans() 类签名,它需要 2 个参数,而这两个参数又是 DescrStatsW 类的实例!

class CompareMeans(object):
"""class for two sample comparison

The tests and the confidence interval work for multi-endpoint comparison:
If d1 and d2 have the same number of rows, then each column of the data
in d1 is compared with the corresponding column in d2.

Parameters
----------
d1, d2 : instances of DescrStatsW

查看 DescrStatsW 类定义,我们发现它需要一个 1 或 2 维数组,如数据集。

最后,将所有这些放在一起,我们在示例数据集上成功运行了 ztest,如下所示!

  import statsmodels.stats.weightstats as ws

col1 = ws.DescrStatsW(df1['amount'])
col2 = ws.DescrStatsW(df2['amount'])

cm_obj = ws.CompareMeans(col1, col2)

zstat, z_pval = cm_obj.ztest_ind(usevar='unequal')

print(zstat.round(3), z_pval.round(3)) # --> 2.381 0.017

documentation

source code

关于python - Statsmodel Z 测试未按预期工作(statsmodels.stats.weightstats.CompareMeans.ztest_ind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65235896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com