gpt4 book ai didi

python - stats.chisquare 错误地返回 p_value = 0

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:48 24 4
gpt4 key购买 nike

我在每个类别中都有这样的预期和频率,如下所示:

enter image description here

enter image description here

它们看起来很相似,但卡方检验并不这么认为:

stats.chisquare(city_ans.answered, city_ans.sent)
# Power_divergenceResult(statistic=893005.32003277098, pvalue=0.0)

过滤小于 10 的值变化不大:

stats.chisquare(city_ans[city_ans.answered > 10].answered, city_ans[city_ans.answered > 10].sent)

# Power_divergenceResult(statistic=892917.3023088905, pvalue=0.0)

我做错了什么?我如何在这里应用 F - 检验?

附言。使用具有与 obs 和 exp 相同值的此测试 - 返回 p_val = 1

stats.chisquare(city_ans.sent, city_ans.sent)
# Power_divergenceResult(statistic=0.0, pvalue=1.0)

但是这样的代码也应该返回 p_val = 1,但它没有:

stats.chisquare(0.9*city_ans.sent, city_ans.sent)
# Power_divergenceResult(statistic=10591.249999999995, pvalue=0.0)

更新:

f_obs = weeks_ans.answered / np.sum(weeks_ans.answered)
f_exp = weeks_ans.sent / np.sum(weeks_ans.sent)
stats.chisquare(f_obs, f_exp)

# Power_divergenceResult(statistic=0.064491479990141154, pvalue=1.0)

它的结果似乎相当不错,但我认为这里有些地方不对。

例如查看下面的分布,同样的方法:

# Power_divergenceResult(statistic=0.064491479990141154, pvalue=1.0)

使用分布相同的测试是否公平

enter image description here

最佳答案

正如@Crasy Ivan 所指出的,卡方检验需要相同数量的观察或观察计数和预期计数。

在这种情况下,数据似乎来自两个不同的样本。这本质上是一个 2 x K 列联表,每行具有相同分布的假设将在计算预期频率计数时通过行总计进行校正。

所以直接用chisquare检验是对两个样本case的错误检验。 scipy.stats 对列联表中的独立性进行卡方检验。

关于非常大的计数的一般评论,这里似乎就是这种情况:

随着样本量的增加,零假设将被拒绝,并且对于与零假设的任何小但非零偏差,p 值变为零。如果计数(即观察总数)超过 50,000,正确的假设检验很可能会拒绝即使是具有统计显着性但与应用无关的微小差异。

另一种方法是使用等价性检验来检验两个分布的差异不会超过某个小幅度的假设。困难在于,很难根据一些拟合优度统计来指定等效阈值。

关于python - stats.chisquare 错误地返回 p_value = 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699132/

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