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

《机器学习数学基础》第 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\]. 北京:电子工业出版社.

相关推荐
张较瘦_2 分钟前
[论文阅读] AI + 软件工程 | 3340个Python ML项目实证:PyQu工具+61种代码变更,精准提升软件质量!
论文阅读·人工智能·软件工程
m0_748248025 分钟前
C++20 协程:在 AI 推理引擎中的深度应用
java·c++·人工智能·c++20
leafff12320 分钟前
一文了解-大语言模型训练 vs 推理:硬件算力需求数据对比
人工智能·语言模型·自然语言处理
CareyWYR1 小时前
每周AI论文速递(251103-251107)
人工智能
AI科技星1 小时前
张祥前统一场论动量公式P=m(C-V)误解解答
开发语言·数据结构·人工智能·经验分享·python·线性代数·算法
cooldream20091 小时前
构建智能知识库问答助手:LangChain与大语言模型的深度融合实践
人工智能·语言模型·langchain·rag
antonytyler1 小时前
机器学习实践项目(二)- 房价预测增强篇 - 模型训练与评估:从多模型对比到小网格微调
人工智能·机器学习
数据库安全1 小时前
世界互联网大会|美创科技无侵入数据安全多智体治理技术首发
大数据·人工智能·科技·数据安全
海底的星星fly2 小时前
【Prompt学习技能树地图】生成知识提示技术的深度解析与应用
人工智能·学习·prompt
赵得C2 小时前
智能体的范式革命:华为全栈技术链驱动下一代AI Agent
人工智能·华为·ai·ai编程