首先介绍一下scipy scipy是Python中使用最为广泛的科学计算工具包,再加上numpy和matplotlib,基本上可以处理大部分的计算和作图任务。 scipy的子模块 模块名 功能
scipy.cluster向量量化
scipy.constants数学常量
scipy.fftpack快速傅里叶变换
scipy.integrate积分
scipy.interpolate插值
scipy.io数据输入输出
scipy.linalg线性代数
scipy.ndimageN维图像
scipy.odr正交距离回归
scipy.optimize优化算法
scipy.signal信号处理
scipy.sparse稀疏矩阵
scipy.spatial空间数据结构和算法
scipy.special特殊数学函数
scipy.stats统计函数下面的例子主要运用stats,stats中缩写含义如下 缩写 | 全拼 | 中文名 | 解释 | CDF | Cumulative Distribution Function | 累计分布函数 | 连续型和离散型随机变量都有,一般用F(X)F(X)表示 | PDF | Probability Density Function | 概率密度分布函数 | 连续型随机变量在各点的取值规律,用f(x)f(x)或fX(x)fX(x)表示 | PMF | Probability Mass Function | 概率质量分布函数 | 离散随机变量在各特定取值上的概率 | RVS | Random Variate Sample | 随机变量的样本 | 从一个给定分布取样 | PPF | Percentile Point Function | 百分位数点函数 | CDF的反函数 | IQR | Inter Quartile Range | 四分位数间距 | 25%分位数与75%分位数之差 | SD | Standard Error | 标准差 | 用于描述随机变量取值的集中程度 | SEM | Standard Error of the Mean | 样本均值的估计标准误差, 简称平均值标准误差 | | CI | Confidence Interval | 置信区间 | |
stats中有很多函数就不一一介绍了。 回顾一下数理统计的知识卡方分布(希腊字母符号太难打了,用汉字代替一下)与Γ分布和T分布是抽样分布的三大应用,通过样本来估计总体的分布。 若n个相互独立的随机变量ξ1,ξ2,⋯,ξn均服从标准正态分布,则这n个随机变量的平方和构成一新的随机变量X,其分布规律称为卡方分布。 卡方检验是统计学中常用来计数数据分析的方法,对于总体的分布不作任何假设,因此它属于非参数检验法中的一种。 公式(不好打,截个图) 检验步骤: 1.接受原假设 2.计算统计量 3.查卡方分布临界值表,确定接受域和拒绝域 例题:来自http://blog.sina.com.cn/s/blog_4d69c7430101ndub.html Ho:色觉与性别相互不独立;H1:色觉与性别相互独立
import numpy as np
from scipy.stats import chi2_contingency
from scipy.stats import chi2
d = np.array([[442, 514],[38,6]])
chi2_contingency(d)
def chi2_independence(alpha, data):
g, p, dof, expctd = chi2_contingency(data)
if dof==0:
print('wrong')
elif dof==1:
cv=chi2.isf(alpha*0.5,dof)
else:
cv=chi2.isf(alpha*0.5,dof-1)
if g>cv:
re=1 #拒绝原假设
else:
re=0 #接受原假设
return g,p,dof,re,expctd
print(re)
结果拒绝原假设。则色觉与性别相互独立 g --- 卡方值,也就是统计量p --- P值(统计学名词),与置信度对比,也可进行假设检验,P值小于置信度,即可拒绝原假设dof --- 自由度re --- 判读变量,1表示拒绝原假设,0表示接受原假设expctd--- 原数据数组同维度的对应理论值ps:使用from import导入的模板之后,不需要加上前缀名即可使用。编写代码时注意缩进。
|