部分结果python实现
- 二项分布统计结果可视化
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
x=range(11)#0-10次随机事件发生的次数
t=stats.binom.rvs(n=10,p=0.5,size=10000)#使用rvs函数模拟一个二项随机变量,其中参数size指定要进行模拟的次数,这里为10000次
p=stats.binom.pmf(x,10,0.5)
fig,ax=plt.subplots(1,1)
sns.distplot(t,bins=10,hist_kws={'density':True},kde=False,label='Distplot from 10000 samples')
sns.scatterplot(x,p,color='grey')
sns.lineplot(x,p,color='grey',label='true mass density')
plt.title('binomial distribution')
plt.legend(bbox_to_anchor=(1.05,1))
plt.xlim(0,10)
plt.ylim(0,0.3)
plt.show()
- 卡方检测
from scipy.stats import chi2_contingency
import numpy as np
table=[[1,4,7],[2,8,8]]
stat,p,dof,expected=chi2_contingency(table)
print('stat=%.3f,p=%.3f'%(stat,p))
if p>0.05:
print('可能独立')
else:
print('不是独立')
结果:
stat=0.556,p=0.757
可能独立
结语:掌握了用python进行数据处理的基础,虽然自我感觉来说进行统计检验来说不如r或者spss来得方便,但是绘图确实更好看也更强大,以后会强迫自己用python来做图,走出Excel和r的舒适圈。