[置顶] 【数据建模 卡方检验】了解卡方检验
2017-11-06 16:47
465 查看
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为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的卡方分布。
差异的量化:用卡方检验来衡量某因子对目标变量的偏好。
原理:如果某因子跟目标变量独立,(即该因子对目标变量影响较小)则目标变量在该因子上的分布是均匀的,即卡方值应该较小。用来衡量类别性变量分布的差异性。
得出同样结果:32.6579
当然可以引入相关的包来计算卡方值:
首先我们根据之前给出数据总的人群流失率为10.10%,假设性别对目标变量(客户是否流失)没有影响,两者相互独立,那么男性,女性分布的流失率应该也在10.10%左右,即可算出其期望流失数。再根据真实的流失数算出卡方值为32.66,。通过查表,我们得知:在自由度为2,置信度为0.05下的卡方分为点为5.99.其32.66大于5.99,那么可得出结论,性别这个变量对其目标变量差异性显著。
注意:卡方检验针对分类变量。
(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的卡方分布。
差异的量化:用卡方检验来衡量某因子对目标变量的偏好。
原理:如果某因子跟目标变量独立,(即该因子对目标变量影响较小)则目标变量在该因子上的分布是均匀的,即卡方值应该较小。用来衡量类别性变量分布的差异性。
chisqDf = AllData[['GENDER_CD','CHURN_CUST_IND']] grouped = chisqDf['CHURN_CUST_IND'].groupby(chisqDf['GENDER_CD'])##以GENDER_CD(性别)对CHURN_CUST_IND(是否流失,0,1)进行分组 count = list(grouped.count()) # 按性别(男,女,未知)分组,计算每组有多少个CHURN_CUST_IND,也就是统计男性人数,女性人数,未知人数 churn = list(grouped.sum()) # 按性别(男,女,未知)分组,对每组内所有的CHURN_CUST_IND求和,也就是统计男性中流失人数,女性中流失人数等 chisqTable = pd.DataFrame({'total':count,'churn':churn}) chisqTable['expected'] = chisqTable['total'].map(lambda x: round(x*0.101)) chisqValList = chisqTable[['churn','expected']].apply(lambda x: (x[0]-x[1])**2/x[1], axis=1) chisqVal = sum(chisqValList) print chisqVal
得出同样结果:32.6579
当然可以引入相关的包来计算卡方值:
from scipy.stats import chisquare print chisquare(chisqTable['churn'],chisqTable['expected'])
首先我们根据之前给出数据总的人群流失率为10.10%,假设性别对目标变量(客户是否流失)没有影响,两者相互独立,那么男性,女性分布的流失率应该也在10.10%左右,即可算出其期望流失数。再根据真实的流失数算出卡方值为32.66,。通过查表,我们得知:在自由度为2,置信度为0.05下的卡方分为点为5.99.其32.66大于5.99,那么可得出结论,性别这个变量对其目标变量差异性显著。
相关文章推荐
- [置顶] 【数据建模 极端值的检测】离群值检测
- [置顶] 【数据建模 缺失值处理】缺失值的处理
- 快速了解数据仓库及数据建模的常用新术语
- [置顶] 【数据建模 神经网络】人工神经网络数据处理
- [置顶] 【数据建模 特征分箱】特征分箱的方法
- [置顶] 【数据建模 类别型变量编码】特殊变量的处理
- [置顶] 【数据建模 WOE编码】WOE(weight of evidence, 证据权重)
- [置顶] 【数据建模 方差分析】单因素方差分析
- 快速了解数据仓库及数据建模的常用新术语
- [置顶] 【数据建模 IV】特征信息度
- [置顶] 【R语言 数据建模】模型验证武器
- [置顶] 【数据建模 分类器性能指标】性能测评
- [置顶] 【R语言数据类型】深入了解 向量、矩阵、数据框、列表
- 大数据建模 需要了解的九大形式
- 数据仓库建模
- 了解DOM:HTML 5 DOM复杂数据类型
- [置顶] 美国最大医保公司Anthem再遭数据泄露_1.8万用户受影响,你对这有何看法?
- 1. 了解数据的属性
- PowerDesigner 数据建模技术视频教程
- [置顶] RecyclerView 展示同日期下的数据信息