python 卡方检验批量筛选_用python进行列联表卡方检验

前天在看书的时候第一次看到了列联表卡方检验,觉得这个东西不难又相对容易实现,刚好知乎 @算命师 的文章是用R来实现卡方检验,于是借用他的数据,我在spyder上面实现了。(感谢 @算命师 的数据)

这是一份手游数据,里面是某手游2013年8-9月的用户登录数据以及用户数据库数据。这是为了查看到底是什么因素使得8-9月的登录次数骤减。为了看到底是什么因素会影响,首先会想到方差分析、相关性矩阵,还有卡方检验。

首先卡方检验是针对自变量和因变量都是分类数据,也就是说带有属性的数据;而单因素方差分析是自变量是分类数据,因变量是连续型的数据。还有一点:方差分析是参数检验,而卡方检验是属于非参数检验。

到底列联表的卡方怎么做呢?卡方检验是用途非常广的一种假设检验方法,它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。注意:卡方检验针对分类变量

当然是要进行假设检验啦:

equation?tex=H_0%3A%E4%B8%A4%E4%B8%AA%E5%9B%A0%E5%AD%90%E4%B9%8B%E9%97%B4%E5%B9%B6%E4%B8%8D%E5%AD%98%E5%9C%A8%E5%85%B3%E7%B3%BB+%5C%5CH_1%3A%E4%B8%A4%E5%9B%A0%E5%AD%90%E5%AD%98%E5%9C%A8%E5%85%B3%E7%B3%BB

根据度娘的图:

1、括号里面是根据观测值的概率来推算出来的理论值,或者叫期望值。

2、最下面和最右面是分别在不同分类数据下的求和,右边那列的和下边的和怎么都等于200

3、概率和理论值怎么算呢:

equation?tex=P%28%E5%8C%96%E5%A6%86%29+%3D+%5Cfrac%7B110%7D%7B200%7D+%5Cspace+P%28%E4%B8%8D%E5%8C%96%E5%A6%86%29%3D%5Cfrac%7B90%7D%7B200%7D%5C%5C+P%28%E7%94%B7%29+%3D+%5Cfrac%7B100%7D%7B200%7D+%5Cspace+P%28%E5%A5%B3%29+%3D+%5Cfrac%7B100%7D%7B200%7D%5C%5C+%E7%94%B7%E5%8C%96%E5%A6%86+%3D+%5Cfrac%7B100%7D%7B200%7D%2A%5Cfrac%7B110%7D%7B200%7D%2A200+%3D+55%5C%5C+%E5%A5%B3%E5%8C%96%E5%A6%86+%3D+%5Cfrac%7B100%7D%7B200%7D%2A%5Cfrac%7B110%7D%7B200%7D%2A200+%3D+55%5C%5C+%E7%94%B7%E4%B8%8D%E5%8C%96%E5%A6%86+%3D+%5Cfrac%7B100%7D%7B200%7D%2A%5Cfrac%7B90%7D%7B200%7D%2A200+%3D+45%5C%5C+%E5%A5%B3%E4%B8%8D%E5%8C%96%E5%A6%86+%3D+%5Cfrac%7B100%7D%7B200%7D%2A%5Cfrac%7B90%7D%7B200%7D%2A200+%3D+45%5C%5C+

4、我们把理论值都直接放进去表格里面,卡方的公式:

equation?tex=%5Cchi%5E2+%3D+%5Csum%28%5Cfrac%7B%28A-T%29%5E2%7D%7BT%7D%29 其中A是实际值,T是理论值。

5、最后根据得出的卡方值查表便可求得结果。

回归本题:

在spyder里面实现

#merge

new_df = pd.merge(user_login,user_database,how='left',on='user_id')

new_df.drop(['app_name_x','app_name_y'],axis=1,inplace=True)

new_df.log_date = pd.to_datetime(new_df.log_date)

#merge成功之后,进行探索性分析

#8-9月之间登陆次数是否有异常

logdf = new_df.groupby(['log_date']).count()['user_id']

logdf.plot(figsize

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值