当前位置: 首页 > 面试题库 >

Python中的卡方检验

盛浩阔
2023-03-14
问题内容

我使用以下代码R来确定观测值(例如20、20、0和0)与期望值/比率(例如,在四种情况下分别为25%)的拟合程度如何:

> chisq.test(c(20,20,0,0), p=c(0.25, 0.25, 0.25, 0.25))

    Chi-squared test for given probabilities

data:  c(20, 20, 0, 0)

X-squared = 40, df = 3, p-value = 1.066e-08

如何在Python中复制此代码?我试过使用chisquarefrom中的函数,scipy但是获得的结果却大不相同。我不确定这是否是正确的功能。我在scipy文档中进行了搜索,但是由于运行到1000多个页面,这非常令人生畏。该numpy文件比增加近50%。


问题答案:

scipy.stats.chisquare期望观察到的和期望的绝对频率,而不是比率。您可以获得所需的东西

>>> observed = np.array([20., 20., 0., 0.])
>>> expected = np.array([.25, .25, .25, .25]) * np.sum(observed)
>>> chisquare(observed, expected)
(40.0, 1.065509033425585e-08)

尽管在期望值均匀地分布在类上的情况下,您可以省略期望值的计算:

>>> chisquare(observed)
(40.0, 1.065509033425585e-08)

返回的第一个值是χ²统计量,第二个返回的是测试的 p 值。



 类似资料:
  • 主要内容:语法,示例卡方检验是一种统计方法,用于确定两个分类变量之间是否具有显着的相关性。 这些变量应该来自相同的人口,它们应该是分类的,如 - 是/否,男/女,红/绿等。 例如,我们可以建立一个数据集,观察人们的冰淇淋购买模式,并尝试将一个人的性别与他们喜欢的冰淇淋的味道相关联。 如果发现相关性,我们可以通过了解访问者的性别数量来调整对应口味的库存。 语法 执行卡方检验的函数是:。 在R中创建卡方检验的基本语法是

  • 本文向大家介绍Python检查ping终端的方法,包括了Python检查ping终端的方法的使用技巧和注意事项,需要的朋友参考一下 菜鸟一枚,写着试了试,虽说有点杂乱,但还是能用,我是在linux下运行的 大致说下过程: 1、把需要ping的网段中所有ip存到数组中(我是放到数组中了,其实直接for循环,一个个的也行) 2、遍历数组,逐个ping 3、根据ping返回的字符串,判断是否ping通

  • 当客户提交信用卡时,我希望执行以下序列(使用Stripe API): 检查用户的元数据中是否有条带客户id 如果没有,则创建一个新客户,将输入的卡保存给该用户 如果用户已经有客户id,请检查输入的卡是否已经是其保存的卡之一 如果是,则对该卡收费 如果不是,请将新卡添加到客户对象,然后对该卡收费 在我当前的代码中,Stripe在尝试创建费用时返回invalid_request错误。以下是相关代码部分

  • 本文向大家介绍python实现二分类的卡方分箱示例,包括了python实现二分类的卡方分箱示例的使用技巧和注意事项,需要的朋友参考一下 解决的问题: 1、实现了二分类的卡方分箱; 2、实现了最大分组限定停止条件,和最小阈值限定停止条件; 问题,还不太清楚,后续补充。 1、自由度k,如何来确定,卡方阈值的自由度为 分箱数-1,显著性水平可以取10%,5%或1% 算法扩展: 1、卡方分箱除了用阈值来做

  • 本文向大家介绍python 检查是否为中文字符串的方法,包括了python 检查是否为中文字符串的方法的使用技巧和注意事项,需要的朋友参考一下 【目标需求】 查看某一个字符串是否为中文字符串 【解决办法】 【举例检验】 问题解决! -----------------2018-07-27 更新----------------- 【更新】 上面的脚本实际上只识别了字符串的第一个字符,下面的版本则可以用

  • rank ▲ ✰ vote url 24 644 117 879 url Python中有检查字符串包含的方法吗? 我正在找string.contains或者string.indexof方法. 我希望: if not somestring.contains("blah"): continue 你可以用in啊: if not "blah" in somestring: continue 或