python统计分析-卡方分析和方差分析

python统计分析-卡方分析和方差分析

卡方检验

  • 卡方检验主要是检验两个分类变量之间的关系,主要检验是否相关,不能表示强弱。 两个分类变量,其中有一个必须是二分类,不能都是多分类。

下面代码实践,使用的是泰坦尼克号人员信息的数据。分析船舱等级与存活是否存在关系:titanic.csv数据下载

import pandas as pd
from scipy import stats
titanic = pd.read_csv('titanic.csv')
print(titanic.head(10))
table1 = pd.crosstab(titanic['pclass'],titanic['survived'],margins=False)#交叉表,用于统计两个变量之间的数据个数。

result = stats.chi2_contingency(table1)#卡方检验函数
print(result)
#不同等级舱与是否存活是由显著差异的

看一下结果:

(103.54712429415649, 3.273615369619628e-23, 2, array([[133.09090909,  82.90909091],
       [113.37373737,  70.62626263],
       [302.53535354, 188.46464646]]))

这里咱们只看第二个值,这个值为pvalue,为 3.273615369619628e-23,明显小于0.05 这表明船舱等级与存活是存在显著差异的,也就是说,人们是否最终存活与所在的船舱有很大关系。至于有多大的关系,卡方检验无法给出程度。

方差分析

  • 方差分析用于检验多个样本的均值是否有显著性差异,所以用于分析多于两个分类的离散型变量与连续变量的关系。例如不同教育程度的人收入水平是否有显著影响。

单因素方差分析

  • 衡量不同因素对观测变量的影响程度,在数据分析中,不同因素可以理解为一个变量去不同值时对观测变量的影响,例如收入水平手否收教育程度影响,不同行业的股票收益率是否有显著差异。

多因素方差分析

  • 考虑的是多个分类变量连续变量的影响,以及分类变量之间的交互效应,例如在考虑股票收益率与行业和地区关系时,还要考虑行业和地区的交互效应。

下面使用小费数据来分析,服务员获得的小费与性别、日期、时间的关系。tips数据下载

import pandas as pd
from statsmodels.stats.anova import anova_lm
from statsmodels.formula.api import ols

tips = pd.read_csv('tips.csv')
print(tips.head(10))
model = ols('tip ~ C(sex)+C(day)+C(time)',data=tips).fit()#用来配置几个相关联的变量
result = anova_lm(model)#方差分析函数
print(result)

结果:
在这里插入图片描述

最后一个PR表示Pvalue,可以看出,tip与sex、day、time 的pvalue的值均大于0.05,表示服务员所获得的小费与性别,星期,时间没有明显的关系。

发布了67 篇原创文章 · 获赞 54 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/lzx159951/article/details/104435561