卡方检验
自变量和因变量都是定类数据的情况,我们常用卡方检验来验证两个变量之间是否有相关性。
因为变量的数据是离散的,不是连续的数据,所以卡方检验其实是一个分类统计的检验方法。
验证步骤如下:
- 提出原假设,一般都是假设两个变量之间没有关系。
- 根据自变量和因变量结合分组,累计每组的样本计数。
- 依据原假设,提出预期概率,并计算出每组的最大似然值。
- 统计每组的差方,并累计出卡方
- 用自由度,计算可能概率P值,依据P值和置信区比较出相关性。
下面详细讲一下每一个步骤:
一、为什么原假设一般都是否定有关系呢?
因为我们否定两个变量之间有影响关系后,我们就可以认为这两个变量的分类数据应该是自然概率,就好比是扔硬币,正面反面出现的次数基本上各50%,这就是自然概率。如果是三种分类,那每种分类累计次数就应该是33.33%,如果是四种分类,那就是25%。。。总之这样我们比较容易的得到预期概率值。
如果假设两个变量有关系,那就不好定每种分类出现的预期概率是多大了。
二、分组累计计数
从全部样本数据中按照自变量因变量结合分组,累计计数每种组合出现的次数。比如,自变量学籍分为小学、初中、高中、大学;上学离家距离分为近、中、远。那么样本数据中学籍为小学,离家近的数据一共出现了50次,那这个组合的累计计数就是50。计算后的结果,参考示意表格:
计数 | 小学 | 初中 | 高中 | 大学 |
---|---|---|---|---|
近 | 50 | 40 | 30 | 10 |
中 | 10 | 20 | 30 | 30 |
远 | 5 | 10 | 20 | 50 |
三、计算预期概率和最大似然数
我们以离家远中近分三行来看,离家近的概率是所有学校离家近的累计和,除以全部学生数(50+40+30+10)/(50+40+30+10+10+20+30+30+5+10+20+50)= 130/305 = 42.62%。离家中的概率为29.51%,离家远的概率为27.87%
根据原假设,既然学籍和离家远近没有关系,那么在小学学籍的样本数据中,离家近的应该占42.62%,中的占29.51%,远的占27.87%,他应该符合这个概率分布。
所以小学学籍的三种距离的最大似然数分别是,近(50+10+5)* 42.62% = 27.7,中(50+10+5)* 29.51% = 19.2,远(50+10+5)* 27.87% = 18.1 。其他几个数据也按照这个方式计算,如下表:
计数 | 小学 | 初中 | 高中 | 大学 | 累计 | 概率 |
---|---|---|---|---|---|---|
近 | 50(27.7) | 40(29.8) | 30(12.8) | 10(4.3) | 130 | 42.62% |
中 | 10(19.2) | 20(5.9) | 30(8.9) | 30(8.9) | 90 | 29.51% |
远 | 5(18.1) | 10(2.8) | 20(5.6) | 50(13.9) | 85 | 27.87% |
累计 | 65 | 70 | 80 | 90 | 305 |
表格中的括号数据就是各自的最大似然数。
四、计算卡方值
根据计算公式来计算,n是实际值,p是极大似然数
计算的最后结果就是卡方值349.04
如果实际数据是按照原假设分布的,那么计算的卡方值不会很大,349这个数字大了一些,初步能说明实际数据不是按照自然概率分布的,原假设可能不正确。
五、P值的比对
我们一般使用0.05的概率为基准,作为置信区,如果出现的计算概率值小于0.05,就说明有极小的可能性原假设是成立的,反之理解就是原假设不成立。
那我们先要计算一下这个可能性的概率P值是多少?需要先计算一下自由度,自由度=(行数-1)*(列数-1)
上面例子的自由度是 (3-1)*(4-1) = 2*3 = 6
用自由度6和卡方值349.04计算的概率P值为0.0,小于0.05,说明原假设基本没有可能性。
既然不成立,那么反过来说,自变量和因变量之间是有相关性的。
留问:
理论上样本数据一般都是相同个数的,如上例子,最好是小学、初中、高中、大学四个学籍的学生样本个数一致,都取100个作为研究对象。但是实际情况采集的样本数据可能是不同,那也没办法,但会对计算结果有多大影响呢?
预测算法模型系列(六)