卡方检验基于sparkml采用Java语言开发
什么是卡方检验卡方检验,是用途非常广的一种假设检验方法,它在分类资料统计推断中的应用,包括两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。
卡方检验主要有以下两种作用:
1) 皮尔森独立性检验(Pearson’s independence test)
验证从两个变量抽出的配对观察值组是否互相独立。例如:例如:每次都从A国和B国各抽一个人,看他们的反应是否与国籍无关。
2)适度检验(Goodness of Fit test)
实际执行多项式试验而得到的观察次数,与虚无假设的期望次数相比较,称为卡方适度检验,即在于检验二者接近的程度,利用样本数据以检验总体分布是否为某一特定分布的统计方法。
如何进行卡方检验 经典卡方检验计算分析当前有问题的日期的spec_seq的rowvalue和没有问题的日期的spec_seq的rowvalue的
日期:2020-12-24
spec_seq:687
| rowValue1 | rowValue2 | 求和 | 占比 | |
|---|---|---|---|---|
| 坏(observed) | 2000 | 2100 | 4100 | 4100/7976=0.514042 |
| 好(expected) | 1923 | 1953 | 3876 | 3876/7976=0.485958 |
好和坏和rowvalue无关
预计好坏rowvalue情况分布
| rowValue1 | rowValue2 | |
|---|---|---|
| 坏 | (2000+1923*0.514042=2016.587 | (2100+1953)*0.51404213=2083.413 |
| 好 | (2000+1923)*0.485958=1906.413 | (2100+1953)*0.48595787=1969.587 |
| rowValue1 | rowValue2 | |
|---|---|---|
| 坏 | (2000-2016.58728)^2/2016.58728=0.136437 | 0.132061 |
| 好 | 0.144322 | 0.139693 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ac7fnsqL-1648018686141)(https://bkimg.cdn.bcebos.com/formula/49d1544c8587743f9184e68ffea96f48.svg)]
卡方值:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zhK1rBjL-1648018686143)(https://bkimg.cdn.bcebos.com/formula/8831b7d7bd338d1ddce4f768286d2044.svg)]=∑(观察-期望)^2/期望=0.136437+ 0.144322+0.132061+0.139693=0.552513
pValue=0.457293【具体计算不知】
和rowValue的值无关
sparkml 默认皮尔森计算方式scale=4100/3876=1.05779153
// 计算(observed-expected)^2/expected
if (scale == 1.0) {
stat + method.chiSqFunc(obs, exp)
} else {
stat + method.chiSqFunc(obs, exp * scale)
}
}
| stat | |
|---|---|
| rowValue1 | (2000-1923*(4100/3876))^2/(1923*(4100/3876))=0.57276 |
| rowValue2 | (2100-1953*(4100/3876))^2/(1953*(4100/3876))=0.563962 |
statistic=0.57276+0.563962=1.136722
pValue=0.28634603095173183【具体计算不知】
什么时候用卡方检验一个定类变量的变化,如性别的变化与另外一个变量的变化(定类或者定序)好像有关系,这个时候要判断到底有没有关系,需要做一个显著性检验,但是这个时候的显著性检验没有办法做T检验,因为这两个变量没有整体分布,无法计算T值,因此要计算卡方值
或者定序)好像有关系,这个时候要判断到底有没有关系,需要做一个显著性检验,但是这个时候的显著性检验没有办法做T检验,因为这两个变量没有整体分布,无法计算T值,因此要计算卡方值



