微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解scipy.stats.chisquare

如何解决了解scipy.stats.chisquare

有人可以通过scipy.stats.chisquare帮助我吗?我没有统计/数学背景,因此我正在使用来自https://en.wikipedia.org/wiki/Chi-squared_test

的数据集来学习scipy.stats.chisquare

Wikipedia文章以下表为例,指出基于该值的卡方值约为24.6。我将使用scipy.stats验证此值并计算相关的p值。

enter image description here

我发现最有可能在这里为我提供帮助的公式解决方

https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chisquare.html

enter image description here

由于我是统计学的新手,也不确定使用scipy.stats.chisquare,因此我不确定最佳方法,以及如何最好地将提供的表中的数据输入到数组中,以及是否提供期望值?来自Wikipedia。

解决方法

该数据为contingency table。 SciPy具有函数scipy.stats.chi2_contingency,该函数将卡方检验应用于列联表。从根本上来说,这只是一个规则的卡方检验,但是当应用于列联表时,预期频率是在独立性假设下计算的(chi2_contingency会为您做这件事),而自由度取决于数量行和列(chi2_contingency也会为您计算)。

以下是将卡方检验应用于该表的方法:

import numpy as np
from scipy.stats import chi2_contingency


table = np.array([[90,60,104,95],[30,50,51,20],40,45,35]])

chi2,p,dof,expected = chi2_contingency(table)

print(f"chi2 statistic:     {chi2:.5g}")
print(f"p-value:            {p:.5g}")
print(f"degrees of freedom: {dof}")
print("expected frequencies:")
print(expected)

输出:

chi2 statistic:     24.571
p-value:            0.00040984
degrees of freedom: 6
expected frequencies:
[[ 80.53846154  80.53846154 107.38461538  80.53846154]
 [ 34.84615385  34.84615385  46.46153846  34.84615385]
 [ 34.61538462  34.61538462  46.15384615  34.61538462]]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。