《机器学习数学基础》补充资料:描述性统计

《机器学习数学基础》第 6 章介绍了数理统计,其主要内容如下:

就统计学而言,除了上述内容之外,平时还会用到一些描述性统计的知识。为此,本文补充一些描述性统计的基本知识。

用样本估计总体分布 1 ^{1} 1

频率分布表

先将数据从小到大排列,然后将排列后的数据分段,每段中的数据被称为一组,故分段也称为分组。

设样本量 n n n ,分组经验公式: K = 1 + 4 lg ⁡ ( n ) K=1+4\lg{(n)} K=1+4lg(n) ,分成 K K K 组。

然后计算每组的发生次数和发生频率。

频率分布直方图

直方图在1895年由英国统计学家皮尔逊首先使用。

计算数据落入各组的频率 f i f_i fi ,将隔断的端点在直角坐标系横轴标出,用 g i = f i 本段区间长度 g_i=\frac{f_i}{本段区间长度} gi=本段区间长度fi 作为纵坐标的高度,就得到了由相连接长方形构成的图像,即频率分布直方图,简称直方图(histogram)。

利用matplotlib等Python中的数据可视化库,能够绘制直方图,请参阅《跟老齐学Python:数据分析》

频率折线图

用 d 1 , ⋯   , d k d_1, \cdots, d_k d1,⋯,dk 表示频率分布直方图中各矩形上边的中点,在直方图的左边延长出一个分段,其重点用 d 0 d_0 d0 表示;在右边延长出一个分段,其重点用 d k + 1 d_{k+1} dk+1 表示。将 d 0 , d 1 , ⋯   , d k , d k + 1 d_0,d_1,\cdots,d_k,d_{k+1} d0,d1,⋯,dk,dk+1 用折线链接,得到了频率折线图。频率折线图也反映出数据频率的分布规律。

说明: 在经典统计学中,由于统计手段的限制,统计图的数量有限。如果使用 matplotlib、seaborn等 Python 语言的库,可以绘制出更多的统计图 2 ^{2} 2。

众数和中位数

众数和中位数,是两个代表数据特征的统计量。

众数

观测数据中出现次数最多的数是众数 (mode),用 M 0 M_0 M0 表示。

如果观测数据中每个数出现的次数都相同,则无众数;若有两个或以上的数出现次数相同,且超过其他数的出现次数,则这几个数都是众数。

众数受数据中极大或极小值的变化影响较小,出现的频率最高。

在统计学中,将数据中最大值和最小值的差,称为级差。

python 复制代码
a = np.array([[6, 8, 3, 0],
              [3, 2, 1, 7],
              [8, 1, 8, 4],
              [5, 3, 0, 5],
              [4, 7, 5, 9]])

# 统计数据中的众数
from scipy import stats
stats.mode(a)

# 输出
ModeResult(mode=array([[3, 1, 0, 0]]), count=array([[1, 1, 1, 1]]))

中位数

设观测数据已经从小到大排列为 x 1 ≤ x 2 ≤ ⋯ ≤ x n x_1\le x_2\le\cdots\le x_n x1≤x2≤⋯≤xn :

  1. 样本量 n n n 为奇数,称中间的数据是中位数 (median),记作 M d M_d Md 。

    M d = x m , m = n + 1 2 M_d=x_m, ~m=\frac{n+1}{2} Md=xm, m=2n+1

  2. 样本量 n n n 为偶数,称中间两个数据的平均值是中位数:

    M d = x m + x m + 1 2 , m = n 2 M_d=\frac{x_m+x_{m+1}}{2}, m=\frac{n}{2} Md=2xm+xm+1,m=2n

python 复制代码
a = np.array([[10, 7, 4], [3, 2, 1]])
a
# 输出
array([[10,  7,  4],
       [ 3,  2,  1]])

# 计算全部数据的中位数
np.median(a)
# 输出
3.5

# 计算0轴方向的中位数
np.median(a, axis=0)
# 输出
array([6.5, 4.5, 2.5])

# 计算1周方向的中位数
np.median(a, axis=1)
# 输出
array([7.,  2.])

此外,在Pandas中提供了DataFrame对象的方法describe(),能够得到数据的常用统计量,详情参阅参考文献2。

参考文献

1. 何书元. 数理统计M. 北京:高等教育出版社. 2012.1,第1版

2. 齐伟. 跟老齐学Python:数据分析M. 北京:电子工业出版社.

相关推荐
Hello.Reader1 分钟前
REA 深度实战让 AI Agent 学会逆向工程,从软件行为分析到二进制原理还原
人工智能
William一直在路上1 分钟前
垂直领域大模型训练的一点思考和探索
人工智能·大模型·llm
腾讯云大数据2 分钟前
本体立骨架,语义供刻度——DataBuddy对企业AI语义架构的一次完整回答
大数据·人工智能·架构·云计算·腾讯云
武汉星际互动6 分钟前
从“一件事”到“一类事”,政务服务改革的“下一站”在哪里?
大数据·人工智能·政务
朝朝辞暮i9 分钟前
VLA 系统学习第 20 课——Diffusion Policy 为什么要先给动作加噪,再学习把噪声去掉?
人工智能·python·深度学习·transformer·vla
七夜zippoe9 分钟前
Agent 权限边界:别让 AI 误删你的生产库(安全设计)
数据库·人工智能·安全·ai·权限边界·安全设计
田里的水稻11 分钟前
RL_强化学习概述---具身机器人
人工智能·深度学习·神经网络·机器学习
朝朝辞暮i11 分钟前
第一部分:ACT 阶段总结——从 Behavior Cloning 到完整的 Transformer Action Policy
人工智能·pytorch·深度学习·transformer·vla
Allen_LVyingbo14 分钟前
生命过程的分子语言:AI 解析范式与场景应用全景研究(上)
大数据·人工智能·知识图谱·健康医疗·数据库开发·数据库架构
KKKlucifer17 分钟前
国内数据分类分级平台的路线分化与落地边界
大数据·人工智能·分类