# 数据集中趋势描述
数据集中趋势的度量:平均数、中位数、众数
## 中位数
**概念**:样本,种群或者概率分布中的一个数值,其可将数值集合划分为相等的上下两部分
**求中位数一共有三步:**
* 从小到大顺序排列数值
* 如果数值是奇数个,则中位数位于中间的数值,如果有n个数值,则中间数的位置是(n+1)/2
* 如果数值为偶数个,则中位数是中间两个数值相加除以2 , 中间位置的算法是(n+1)/2 ,n/2
**公式:**

**代码:**
```
import numpy as np
#中位数
np.median(nums)
```
## 众数
**概念**:众数为数值中出现最多的数字,众数不止一个,可以指定具有最高频数的数组值
**求众数的三步:**
* 把数据中不同类别的数据取出
* 计算不同数值出现的频次
* 挑出出现频次最高的一个或几个数值
**代码:**
```
# 方法1
import numpy as np
counts = np.bincount(nums)
#返回众数
np.argmax(counts)
```
## 平均数
**概念:** 所有数据加起来,再除以这些数据的个数
**求平均数:**
* 将所有数值相加除以数值的个数
**公式:**

**代码:**
```
import numpy as np
#均值
np.mean(nums)
```
## 分位数
**概念:** 分位数也称分位点,指用分割点将一个随机变量的概率分布分为几个相同概率的连续空间
##### 四分位数
概念:即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数。
第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。
**求四分位数:**
* Q1的位置
* Q2的位置
* Q3的位置
**代码:**
```
# 引用numpy模块
import numpy as np
# 25%分位数
print(np.percentile(a, 25))
# 75%分位数
print(np.percentile(a, 75))
#求数组nums的四分位数
np.percentile(nums, [25, 50, 75])
```
## 算术平均数
**概念:** 算术平均数又称为均值,分为简单算术平均数,加权算术平均数,适用于数值型数据,不适用于品质数据
* #### 简单算术平均数
**概念:** 简单算术平均数是将各单位的标志值xi直接相加得出标志总量,再除以总体单位数n,就得到简单算术平均数
**公式:**
**代码:**
```
import numpy as np
#求简单算数平均数
np.mean(nums)
```
* #### 加权算术平均数
**概念:** 将各个数值乘以相应的权数,然后加总求和得到总值,再除以总的单 位数
**公式:** 
**代码:**
```
#需要求加权平均值的数据列表
elements = []
#对应的权值列表
weights = []
import numpy as np
np.average(elements, weights=weights)
纯python写法
# 不使用numpy写法1
round(sum([elements[i]*weights[i] for i in range(n)])/sum(weights), 1)
# 不使用numpy写法2
round(sum([j[0]*j[1] for j in zip(elements, weights)])/sum(weights), 1)
```
# 数据的离中趋势
**概念:** 指一组数据值以不同程度的举例偏离其中心的趋势,用来总和反映数据的李宗程度的一类指标
## 全距(极差)
**概念:** 标识统计资料中的变异量数,与其最大值与最小值之间的差距
**公式**: R=max(x)-min(x)
**python代码:**
```
import numpy as np
# 极差
np.ptp(nums)
```
## 标准差
**概念:** 离均差平方的算术平均数的平方根,用σ表示.
**公式:**

为平均值。
简易口诀:离均差平方的平均;方均根。
**python代码:**
```
import numpy as np
# 求标准差
np.std(num,ddof=1)
```
## 分位差
**概念:** 从一组数据中剔除了一部分极端值之后重新计算的类似于极差的指标。常用的有四分位差、八分位差和十分位差等
**四分位差公式:**

**python代码:**
```
import numpy as np
# 四分位差
np.quantile(nums,p=0.75) - np.quantile(nums,p=0.25)
```
## 离散系数
**概念:** 离散系数又称变异系数,CV(Coefficient of Variance)表示。CV(Coefficient of Variance):标准差与均值的比值。离散系数越小,数据的离散程度就越小,反之,亦然。
**公式:**

 表示总体离散系数和样本离散系数
**python代码:**
```
import numpy as np
np.std(nums)/np.mean(nums)
```
# 分布的形状
## 偏态系数
**概念:**
偏度(Skewness)亦称偏态、偏态系数,偏度是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。Sk>0时,分布呈正偏态(右偏),Sk<0时,分布呈负偏态(左偏)。
**计算公式:**
* 简单偏态系数:
* 加权偏态系数:
** 三种情况数值:**
零值
偏态系数的取值为0时,表示数据为完全的对称分布。 [3]
正 值
偏态系数的取值为正数时,表示数据为正偏态或右偏态。 [3]
负值
偏态系数的取值为负数时,表示数据为负偏态,或左偏态。 [3]
注意事项:偏态系数的绝对数值越小,表示数据偏倚的程度越小;偏态系数的绝对数值越大,表示数据偏倚的程度越大。[3]
**python代码:**
```
import numpy as np
R_sc = np.mean((R - R_mean) ** 3) #计算偏斜度
```
## 峰度
**概念:** 峰度:峰度(peakedness;kurtosis)又称峰态系数。表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度。样本的峰度是和正态分布相比较而言统计量,如果峰度大于三,峰的形状比较尖,比正态分布峰要陡峭。反之亦然。
在统计学中,峰度(Kurtosis)衡量实数随机变量概率分布的峰态。峰度高就意味着方差增大是由低频度的大于或小于平均值的极端差值引起的。
**计算公式:**

其中μ4是四阶中心矩,σ是标准差
**python代码:**
```
import numpy as np
R_ku = np.mean((R - R_mean) ** 4) / pow(R_var, 2) #计算峰度
```