数据的离散程度的衡量方式

数据的离散程度:
即衡量一组数据的分散程度如何,其衡量的标准和方式有很多,而具体选择哪一种方式则需要依据实际的数据要求进行抉择。

1. 常用数据离散度的方式

1.1 极差

极差为数据样本中的最大值与最小值的差值
R = m a x ( i ) − m i n ( i ) R=max(i)-min(i) R=max(i)min(i)

  • 它反应了数据样本的数值范围,是最基本的衡量数据离散程度的方式,
  • 是所有方式中最为简单的一种, 但受极值影响较大。

如在数学考试中,一个班学生得分的极差为60,放映了学习最好的学生与学习最差的学生得分差距为60.

1.2 四分位差

即数据样本的上四分之一位和下四分之一位的差值
Q d = Q u − Q l Q_{d}=Q_{u}-Q_{l} Qd=QuQl

  • 反应了数据中间50%部分的离散程度,
  • 其数值越小表明数据越集中,数值越大表明数据越离散,
  • 同时由于中位数位于四分位数之间,故四分位差也放映出中位数对于数据样本的代表程度,越小代表程度越高,越大代表程度越低。

1.3 平均差

  • 各变量值与平均值的差的绝对值之和除以总数n,


M d = ∑ n i = 1 ∣ x n − x ˉ ∣ n , M_{d}=\frac{\sum_{n}^{i=1}\left |x_{n} -\bar{x} \right |}{n}, Md=nni=1xnxˉ

针对分组数据为:
M d = ∑ n i = 1 ∣ x n − x ˉ ∣ f i n M_{d}=\frac{\sum_{n}^{i=1}\left |x_{n} -\bar{x} \right |f_{i}}{n} Md=nni=1xnxˉfi

  • 平均差以平均数为中心,能全面准确的反应一组数据的离散状况,平均差越大,说明数据离散程度越大,反之,离散程度越小。

1.4 方差/标准差

方差是各变量与平均值的差的平方和除以总数n-1,

s 2 = ∑ n i = 1 ( x i − x ˉ ) 2 n − 1 s^{2}=\frac{\sum_{n}^{i=1}(x_{i}-\bar{x})^{2}}{n-1} s2=n1ni=1(xixˉ)2

针对分组数据

s 2 = ∑ n i = 1 ( x i − x ˉ ) 2 f i n − 1 s^{2}=\frac{\sum_{n}^{i=1}(x_{i}-\bar{x})^{2}f_{i}}{n-1} s2=n1ni=1(xixˉ)2fi

方差开根号后为标准差,方差与标准差都能很好的反应数据的离散程度。

1.5 异众比率

众数是一组数据中出现次数最多的值,

例如,在一组数据:1,2,3,3,4,5中,出现次数最多的是 3,所以3就是众数。

而众数则反映的是局部特征——一组样本从整体上来讲,围绕在哪个数值周围, 在哪里最密集。

  • 异众比率,衡量众数对一组数据的代表程度。

是指非众数的次数与全部变量值总次数的比率, 即除去众数之外,另外一部分变量值在总体中的比重。

V r = ∑ f i − f m ∑ f i = 1 − f m ∑ f i V_{r}=\frac{\sum f_{i}-f_{m}}{\sum f_{i}}=1-\frac{f_{m}}{\sum f_{i}} Vr=fififm=1fifm,

其中 ∑ f i \sum f_{i} fi 为变量值的总频数, f m f_{m} fm 为众数组的频数。

  • 异种比率越大,说明非众数组的频数占总频数的比重越大,众数的代表性越差。

  • 异种比率越小,说明非众数组的频数占总频数的比重越小, 说明众数的代表性越好。

  • 异种比率主要适合度量分类数据的离散程度,当然连续数据可以计算异种比率。

1.6 离散系数

即变异系数,变异系数(Coefficient of Variation):

当需要比较两组数据离散程度大小的时候,如果两组数据的测量尺度相差太大,或者数据量纲不同,

直接使用标准差来进行比较不合适,
此时就应当消除测量尺度和量纲的影响,

而变异系数可以做到这一点,它是原始数据标准差与原始数据平均数的对比。
V i = s x ˉ V_{i}=\frac{s}{\bar{x}} Vi=xˉs

  • CV没有量纲,这样就可以进行客观比较了。事实上,可以认为变异系数和极差,标准差和方差一样,都是反映数据离散程度的绝对值。其数据大小不仅受变量值离散程度的影响,而且还受变量值平均水平大小的影响。

  • 针对不同数据样本的标准差和方差,因数据衡量单位不同,其结果自然无法直接进行对比.

  • 为出具一个相同的衡量指标,则进行了离散系数的计算。

  • 离散系数为一组数据的标准差与平均数之比

1.7 中位数

将一组数据按照由小到大(或由大到小)的顺序排列,

  • 如果数据的个数是奇数,则处于中间位置的数就是这组数据的中位数(median);

  • 如果数据的个数是偶数,则中间两个数据的平均数就是这组数据的中位数。

当中位数比平均数大时,说明超过半数的数据大于平均值,整体被少数数据拉低了,大部分的数值是比较大的。

当中位数比平均数小时,说明超过一半数据的数值小于平均值,整体被少数数据拉高了,大部分的数值是比较低的。

2. 参考代码

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.25))
print('下四分位数',sts.quantile(scores,p=0.75))
#离散趋势的度量
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.std(scores, ddof=1))
print('方差:',np.var(scores))
print('离散系数:',np.std(scores)/np.mean(scores))
print('众数:',sts.mode(scores)[0][0])
#偏度与峰度的度量
print('偏度:',sts.skewness(scores))
print('峰度:',sts.kurtosis(scores))</span>

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/129138406