课时2. 描述性统计
描述一组数据时,通常从三个方面进行描述:集中趋势、离散趋势、分布形状
1. 集中趋势:平均数、中位数、众数
2. 离散趋势:分位数、方差、标准差、变异系数
3. 分布形状:偏度、峰度
平均数
(1)算术平均数:适合数值型数据
=average()——Excel
np.mean()
(2)几何平均数:常用于求几个连续时期平均变化率,适合比例型数据
=geomean() ——Excel
from scipy import stats as sts
sts.gmean(data)
(3)调和平均数:n个数的倒数的算术平均数的倒数,即“双倒数”,用于求平均速度
=harmean()——Excel
from scipy import stats as sts
sts.hmean(data)
三者的大小排序:算术平均值>=集合平均值>=调和平均值
中位数:
=median()
np.median()
众数:
=mode()
from scipy import stats as sts
sts.mode(data)
分位数:
在Excel中,=quartile(A1:A8,1),括号里的参数,0代表最小值,1代表25%分位数,2代表50%分位数,3代表75%分位数,4代表最大值。
from scipy import stats as sts
sts.scoreatpercentile(data,25) # 25分位数
sts.scoreatpercentile(data,75) # 75分位数
使用四分位数可以绘制箱线图
import seaborn as sns
sns.boxplot(data=data)
箱线图可以很直观地看到数据的最大值、最小值,以及大部分数据集中在什么区间
(1)极差又称范围误差或全距,是指一组数据中最大值与最小值的差。
Python求极差:np.ptp(data)
(2)四分位距:上四分位数与下四分位数之差,一般由IQR表示
Excel求四分位距=quartile(A1:A8,3)-quartile(A1:A8,1)
Python求四分位距:
from scipy import stats as sts
print( sts.scoreatpercentile(data,75) - sts.scoreatpercentile(data,25) )
(3)方差:=var()
from scipy import stats as sts
sts.tvar(data, ddof=1)) # ddof=1时,分母为n-1;ddof=0时,分母为n
(4)标准差:=stdev()
from scipy import stats as sts
sts.tstd(data, ddof=1)) # ddof=1时,分母为n-1;ddof=0时,分母为n
(5)变异系数/离散系数:标准差与算术平均数的比率,=stdev/average
(1)偏度:SK,衡量分布的偏斜程度
=SKEW()
from scipy import stats as sts
sts.skew(data, bias=False) #bias=False代表计算的是总体偏度,bias=True代表计算的是样本偏度
(2)峰度:K,描述分布在集中趋势高峰的状态,通常与标准正态分布相比较。
K>0,尖峰分布;K<0,平峰分布。
=KURT()
from scipy import stats as sts
sts.skew(data, bias=False) #bias=False代表计算的是总体偏度,bias=True代表计算的是样本偏度