Python统计学06——分类变量分析

参考书目:贾俊平. 统计学——Python实现. 北京: 高等教育出版社,2021.

(最近很多同学找我要这个数据,可以参考:贾俊平统计学,整本书的实验数据都在里面) 


方差分析的定义是检验分类型自变量对数值型因变量是否有显著性影响。

分类的变量检验,一个分类变量叫做拟合优度检验,两个分类变量叫做独立性检验。

原理是概率论里面的事件独立性原理。


期望频数相等

导入包

import pandas as pd
from scipy.stats import chisquare

读取案例数据

example7_1=pd.read_csv("example7_1.csv",encoding="gbk")
example7_1

chi2, p_value=chisquare(f_obs=example7_1["人数"])
print(f"卡方统计量={chi2:.2f},  p值={p_value:.4g}")

 p小于0.05,说明拒绝原假设,不同饮料之间的买的人数有差异


期望频数不相等

example7_2=pd.read_csv("example7_2.csv",encoding="gbk")
example7_2

 计算

chi2, p_value=chisquare(f_obs=example7_2["离婚家庭数"],f_exp=example7_2["离婚家庭数"].sum()*example7_2["期望比例"])
print(f"卡方统计量={chi2:.3f},  p值={p_value:.4g}")

 p小于0.05,说明拒绝原假设,不同教育程度的离婚家庭数与期望频数有显著性差异


两个类别变量的拟合优度检验

#数据已经是列联表情形下的检验
from scipy.stats import chi2_contingency
x=[[126,158,35],[34,82,65]]
df = pd.DataFrame(x,index=['满意','不满意'],columns=['东部','中部','西部'])
chi2, p_value,df,f_exp=chi2_contingency(df)
print(f"卡方统计量={chi2:.3f}, 自由度={df} ,p值={p_value:.4g}。\n期望频数为: \n{f_exp}")

 上面是生成数据,下面是读取案例数据

#根据原始数据进行检验
example7_3=pd.read_csv("example7_3.csv",encoding="gbk")
example7_3

 生成列联表

count = pd.crosstab(index=example7_3['满意度'],columns=example7_3['地区']) #生成列联表count
count

 检验

chi2_contingency(count) #检验列联表
print(f"卡方统计量={chi2:.3f}, 自由度={df}, p值={p_value:.4g}。\n期望频数为: \n{f_exp}")

 p值很小,说明很显著,不同地区的满意程度是显著性不一样的。


两个类别变量的相关性度量

分类变量有三个相关系数,phi,v,c,计算如下

import math
n=500
chi2=51.827
phi =math.sqrt(chi2/n)
v=math.sqrt(chi2/n*(2-1))
c=math.sqrt(chi2/(chi2+n))
print(f"phi系数={phi:.5f}, v系数 ={v:.5f}, c系数={c:.5f}")

 三个数都是越大越相关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阡之尘埃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值