卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。
注意:卡方检验针对分类变量。
(1)提出原假设:
H0:总体X的分布函数为F(x).
如果总体分布为离散型,则假设具体为
H0:总体X的分布律为P{X=xi}=pi, i=1,2,...
(2)将总体X的取值范围分成k个互不相交的小区间A1,A2,A3,…,Ak,如可取
A1=(a0,a1],A2=(a1,a2],...,Ak=(ak-1,ak),
其中a0可取-∞,ak可取+∞,区间的划分视具体情况而定,但要使每个小区间所含的样本值个数不小于5,而区间个数k不要太大也不要太小。
(3)把落入第i个小区间的Ai的样本值的个数记作fi,成为组频数(真实值),所有组频数之和f1+f2+...+fk等于样本容量n。
(4)当H0为真时,根据所假设的总体理论分布,可算出总体X的值落入第i 个小区间Ai的概率pi,于是,npi就是落入第i个小区间Ai的样本值的理论频数(理论值)。
(5)当H0为真时,n次试验中样本值落入第i个小区间Ai的频率fi/n与概率pi应很接近,当H0不真时,则fi/n与pi相差很大。基于这种思想,皮尔逊引进如下检验统计量

  

,在0假设成立的情况下服从自由度为k-1的卡方分布。

demo:

     
化妆 15(55) 95(55) 110
不化妆 85(45) 5(45) 90
   100 100 200
如果性别和化妆与否没有关系,四个格子应该是括号里的数(理论值),这和实际值(括号外的数)有差距,理论和实际的差距说明这不是随机的组合。
应用拟合度公式

  

=

  

129.3>10.828

显著相关,作此推论犯错的概率p<0.001。
 
 

df: degree of freedom

df=(C-1)(R-1)  其中c表示 随机变量的数目  R表示样本数目

chisequre test的更多相关文章

随机推荐

  1. 纯CSS3实现打火机火焰动画

    HTML5已经越来越流行起来了,尤其是移动互联网的发展,更是带动了HTML5的迅猛发展,我们也是时候学习HTML5了,以防到时候落伍.今天给大家介绍10款效果惊艳的HTML5应用,方便大家学习,也将应 ...

  2. BZOJ 2648 / 2716 K-D Tree 模板题

    #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> # ...

  3. GO进程调度相关源码学习

    启动流程 procresize流程 malloc.go Memory allocator sizeclass.go span按大小区分的 类型定义 mbitmap.go type and heap b ...

  4. Java基础-配置开发环境-安装JDK

    Java基础-配置开发环境-安装JDK 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机基础知识 1>.计算机的组成 计算机有硬件与软件组成. 2>.硬件: 硬 ...

  5. Python 算法实现

    # [程序1] # 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? l=[1,2,3,4] count = 0 for i in range(len(l)): fo ...

  6. html5 canvas贝塞尔曲线篇(上)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. HDU 1867 A + B for you again 字符匹配

    解题报告:给你两个字符串,让你连接起来,没有前后顺序,要求是长度最短优先,其次是字典序最小.这题我用的是KMP,做两次匹配,分别把第一次跟第二次输入的字符串放前面,然后比较两次得到的字符窜的长度和字典 ...

  8. 解决Winsock2.h和afxsock.h定义冲突的办法

    如果我们在工程中使用了afxsock.h,但在其它的地方又加了些 使用winsock2.h,哈哈,VC会告诉你一大堆错误,大意就是有定义重复,该怎么解决? 由于MFC的SOCKET类使用的是Winso ...

  9. python中的__iter__ __reversed__ __next__

    __reversed__ 返回集合的倒叙迭代器,如果没有实现这个方法,reversed()会去使用__getitem__和__len__来实现 介绍__next__和 __iter__方法需要了解下可 ...

  10. 以后的博客将更新到自己的域名pythonsite.com,欢迎访问

    以后的博客将更新到自己的域名pythonsite.com,欢迎访问