描述性统计分析是借助图表或者总结性的数值来描述数据的统计手段,达到了解数据的目的。本文总结了python中,常见统计量的定义和实现。在实际中,大部分统计量在numpy包中有定义,小部分变量在scipy包中有定义。在本文中,data代表要分析的数据。且首先运行一下代码
import numpy as np
import scipy.stats as ss
1,最常见的统计量
名称 | 包 | 语句 |
---|---|---|
最大值 | numpy | np.max(data) |
最小值 | numpy | np.min(data) |
均值 | numpy | np.mean(data) |
众数 | scipy.stats | ss.mode(data) |
中位数 | numpy | np.median(data) |
分位数 | numpy | np.percentile(data,90) |
上表中的分位数,90表示0.9分位数
2,数据的发散程度
数据的发散程度可以用极差PTP,方差Variance,标准差STD ,变异系数CV来衡量,它们的计算方法如下:
PTP=max(data)−min(data)Variance=∑iN(data[i]−mean)2numSTd=Variance−−−−−−−−√Cv=STDMean
P
T
P
=
m
a
x
(
d
a
t
a
)
−
m
i
n
(
d
a
t
a
)
V
a
r
i
a
n
c
e
=
∑
i
N
(
d
a
t
a
[
i
]
−
m
e
a
n
)
2
n
u
m
S
T
d
=
V
a
r
i
a
n
c
e
C
v
=
S
T
D
M
e
a
n
极差是只考虑了最大值和最小值的发散程度指标,相对来说,方差包含了更多的信息,标准差基于方法但是与原始数据同量级,变异系数基于标准差但是进行了无量纲处理。
之前提到均值容易受异常值影响,那么如何衡量偏差,偏差到多少算异常是两个必须要解决的问题,定义z-分数为测量距均值相差的标准差数目
z_score=X−MeanSTD
z
_
s
c
o
r
e
=
X
−
M
e
a
n
S
T
D
当标准差部位0,且不接近于0时,z-分数数有意义的,计算z分数
名称 | 包 | 语句 |
---|---|---|
极差 | numpy | np.ptp(data) |
方差 | numpy | np.var(data) |
标准差 | numpy | np.std(data) |
变异系数 | numpy | np.mean(data)/np.std(data) |
z-分数 | numpy | (data[i]-np.mean(data)/np.std(data)) |