均值、方差与标准差
均值描述中心,方差和标准差描述围绕中心的分散程度。
学习前需要掌握
背景与问题
描述一批数值时,仅报告平均数会漏掉波动。两组测量可能均值相同,却一组集中、另一组分散,这会影响异常判断、标准化和误差解释。
方差与标准差回答“围绕均值典型偏离多少”,但并不自动揭示分布形状或数据质量;多峰分布和极端值仍需要额外检查。
概念定义
均值是数值总和除以数量;方差是相对均值的平方偏差的平均或相应估计;标准差是方差的平方根,因此与原始特征具有相同单位。
总体描述使用分母 n,而常见无偏样本方差使用 n−1。这是不同统计约定,不能把两套结果不加说明地比较;标准差本身也不因方差无偏就自动无偏。
直观理解
先把每个数减去平均水平,再看偏离大小。直接平均正负偏差会相互抵消,因此方差先平方;开平方后的标准差则把量纲带回原始单位。
同一组数,两种分母约定
构造值 50、60、70,均值为 60,偏差为 -10、0、10,平方偏差总和为 200。总体方差是 200/3≈66.67,标准差约 8.165;样本方差是 200/2=100,标准差为 10。
两套数字都可能对应明确约定,并不是一套计算“错了”。NumPy 的 var/std 默认 ddof=0;若要分母 n−1,应明确指定 ddof=1,并保证样本数量足够。
核心原理
计算轴决定统计对象。对 (n,d) 特征矩阵沿 axis=0 计算,会得到每列的统计量;沿 axis=1 则描述每条样本内部不同分量,通常不能代替逐特征标准化参数。
训练数据中的均值与标准差是已学状态。验证、测试和线上样本应复用它们,而不能对每个新批次重新求均值后声称使用了同一套变换。
均值与平方偏差会受到极端值影响。一个非常大的测量值可能同时抬高均值与标准差;是否删改必须先查来源,不能因为偏离均值远就认定是错误。
标准差为零表示该数据范围内所有值相同,直接除以它会产生问题。需要明确常量特征的处理规则;缺失值、溢出和非数值输入也应在计算前检查。
数学表达
核心表达
必须区分总体/样本约定与计算轴;极端值会同时影响均值和标准差。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1计算均值
- 2求每项偏差
- 3平方并平均
- 4开平方
代码对应位置
示例 1均值、方差与标准差:最小可验证示例:把正文原理映射为可检查的代码行为。
计算与实现步骤
- 计算均值
- 求每项偏差
- 平方并平均
- 开平方
- 结合单位解释
代码实现
示例 1
均值、方差与标准差:最小可验证示例
example_01.py用途:把正文原理映射为可检查的代码行为。
import numpy as np
x = np.array([50., 60., 70.])
print(x.mean(), x.var(), x.std())代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
把正文原理映射为可检查的代码行为。
mean- 训练特征逐列均值。
std- 训练特征逐列标准差。
Step 1 · 1–3 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
import numpy as np
x = np.array([50., 60., 70.])
print(x.mean(), x.var(), x.std())代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
60.0、66.666...、8.1649...。 60.0 66.66666666666667 8.16496580927726
常见错误 · 4 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 混淆 n 与 n-1
- 方差单位误解
- 异常值影响被忽略
实际应用
- Z-score
- 分布描述
常见错误
- 混淆 n 与 n-1
- 方差单位误解
- 异常值影响被忽略
推荐学习资料
参考库不会生成虚假资源或无效外部链接。