数据分析--卡方分析与方差分析
程序员文章站
2022-03-09 20:31:26
...
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,表示服务员所获得的小费与性别,星期,时间没有明显的关系。
原文链接:https://blog.csdn.net/lzx159951/article/details/104435561
下一篇: 第七十篇 数据处理与分析 Numpy