拿到数据之后,首先要对数据要有个基本了解,可以从集中趋势,离散程度及分布形状出发,来了解自己的数据。分析数据之后,对数据有初步了解,对后面数据开发及算法起到至关重要的作用。
集中趋势
离散度
分布形状
集中趋势是一组数据向其中心靠拢的倾向和程度;测度集中趋势就是寻找数据一般水平的代表值和中心值;不同类型的数据用不同的集中趋势测度值
众数:集中趋势的测度值之一;出现次数最多的变量值;不受极端值的影响;数据可能没有众数或有几个众数;主用用于定类数据,也可以用于定序数据和数值型数据
中位数:集中趋势的测度值之一;排序后处于中间位置的值;不受极端值的影响;主要用于定序数据,也可用数值型数据,但不能用于定类数据
数值平均数:集中趋势的测度值之一;最常用的测度值;一组数据的均衡点所在;易受极端值的影响;用于数值型数据,不能用于定类数据和定序数据
X = ΣXi / N
调和平均数:集中趋势的测度值之一;易受极端值得的影响;用于定比数据;不能用于定类数据和定序数据
Hm =ΣMi / Σ(Mi / X i)
几何平均数:集中趋势的测度值之一;N个变量值乘积的N次方根;适用于特殊的数据;主要用于计算平均发展速度;可看做是均值的一种变形
众数,中位数和算术平均数的关系
Code:
import numpy as np
import stats as sts
scores = [31, 24, 23, 25, 14, 25, 13, 12, 14, 23,
32, 34, 43, 41, 21, 23, 26, 26, 34, 42,
43, 25, 24, 23, 24, 44, 23, 14, 52,32,
42, 44, 35, 28, 17, 21, 32, 42, 12, 34]
#集中趋势的度量
print('求和:',np.sum(scores))
print('个数:',len(scores))
print('平均值:',np.mean(scores))
print('中位数:',np.median(scores))
print('众数:',sts.mode(scores))
print('上四分位数',sts.quantile(scores,p=0.75))
print('下四分位数',sts.quantile(scores,p=0.25))
求和:1137
个数:40
平均值: 28.425
中位数: 25.5
众数: 23
上四分位数 23
下四分位数 34
数据分布的另一个重要特性;离散度是的各测度值是对数据离散程度所做的描述;反映各变量值远离其中心值的程度,因此也称之为离中趋势;从另一个侧面说明了集中趋势测度值的代表程度;不同类型的数据有不同的离散程度测度值
1.定类数据:异众比率
离散程度的测度值之一;非众数组的频数占总频数的比率;用于衡量众数的代表性
Vr = 1 - Fm/ ΣFi
解:Vr =(200-112) / 200 = 1- 112/200 = 44%
在所调查的200人当中,关注非商品广告的人数占44%,异众比率还是比较大。因此,用"商品广告"来访问城市对广告关注的一般趋势,其代表性不是很好
2.定序数据:四分位差
也称为内距和四分间距;上四分位数与下四分位数之差 ;反映了中间50%数据的离散程度,不受极端值的影响,用于衡量中位数的代表性
Qd = Qu - Ql
解:设非常不满意为,不满意,一般,满意,非常满意为1,2,3,4,5
四分位差:Qd = Qu- Ql = 3 -2 = 1
3.定距和定比数据:方差和标准差
极差:一组数据的最大值与最小值之差;离散程度的最简单测度值;易受极端值影响;未考虑数据的分布 ; R= max(Xi) - min(Xi)
平均差:各变量值域其均值离差绝对值的平均数;数学性质较差,实际中应用较少
方差和标准差:最常用的测度值;反映了数据的分布;反映了各变量值与均值的平均差异
样本方差:
样本方差与方差的区别:
https://blog.csdn.net/hearthougan/article/details/77859173
4.相对离散程度:离散系数
变异系数 :各种变异指标与其相应的均值之比
消除了数据水平高低和计量单位的影响;测度了数据的相对离散程度;用于对不同总体数据离散度的比较
标准差系数:标准差与其相应的均值之比
消除了数据水平高低和计量单位的影响;测度了数据的相对离散度程度;用于对不同组别数据离散程度的比较
Vs = S / x均值
Code:
#离散趋势的度量
print('最大值:',np.max(scores))
print('最小值:',np.min(scores))
print('极差:',np.max(scores)-np.min(scores))
print('四分位差',sts.quantile(scores,p=0.75)-sts.quantile(scores,p=0.25))
print('标准差:',np.std(scores))
print('方差:',np.var(scores))
print('离散系数:',np.std(scores)/np.mean(scores))
最大值: 52
最小值: 12
极差: 40
四分位差 11
标准差: 10.312340907863742
方差: 106.34437499999999
离散系数: 0.3627912368641598
偏态分布(skewness distribution)指频数分布的高峰位于一侧,尾部向另一侧延伸的分布。它分为正偏态和负偏态。偏态分布的资料有时取对数后可以转化为正态分布,反映偏态分布的集中趋势往往用中位数。偏度系数反映数据分布偏移中心位置的程度,记为SK,则有
SK= (均值一中位数)/标准差.
在正态分布条件下,由于均值等于中位数,所以偏度系数等于0。当偏度系数大于0时,则为正偏态;当偏度系数小于0时,则为负偏态
峰度
峰度表示分布的尾部与正态分布的区别。使用峰度可帮助您初步了解有关数据分布的一般特征。
完全服从正态分布的数据的峰度值为 0。正态分布的数据为峰度建立了基准。如果样本的峰度值显著偏离 0,则表明数据不服从正态分布。
基线:峰度值 0
完全服从正态分布的数据的峰度值为 0。正态分布的数据为峰度建立了基准。如果样本的峰度值显著偏离 0,则表明数据不服从正态分布。
正峰度
具有正峰度值的分布表明,相比于正态分布,该分布有更重的尾部。例如,服从 t 分布的数据具有正峰度值。实线表示正态分布,虚线表示具有正峰度值的分布。
负峰度
具有负峰度值的分布表明,相比于正态分布,该分布有更轻的尾部。例如,服从 Beta 分布(第一个和第二个分布形状参数等于 2)的数据具有负峰度值。实线表示正态分布,虚线表示具有负峰度值的分布。
Code:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = list(np.random.randn(10000))
plt.hist(data, 100, density=True, facecolor='g', alpha=0.9)
plt.show()
s = pd.Series(data)
# 偏度
print(s.skew())
# 峰度
print(s.kurt())
偏度: 0.013733544615700723
峰度: -0.10684258156839554
往期精选
机器学习|梯度下降法
机器学习|逻辑回归
机器学习|决策树
数据分析|数据的整理&展示
关注公众号,加小编微信即可拉入线上交流群