跳转至

P2-5.3 样本(sample)、估计(estimation)、误差(error)

Section ID: P2-5.3 Version: v2026.09.15

如果无法检查全部用户的记录,就用部分用户的记录估计整体均值。观测到的部分是样本,想了解的整体是总体。样本改变或收集方式偏斜,都会使估计值发生变化。

术语 英文 核心问题
总体 population 我们想知道的整体是什么?
样本 sample 我们实际观察到的部分是什么?
估计 estimation 怎样用部分去猜整体的值?
误差 error 这个猜测可能和真实值差多远?

感兴趣的总体

总体(population)是我们想知道的整体对象。

例如,可以想下面这些问题。

  • 某个服务全部用户的平均使用时长是多少?
  • 全国高中生的平均数学成绩是多少?
  • 某种产品全部购买者的复购率是多少?
  • 现实里所有会进入系统的图像中,包含行人的比例是多少?

在这些问题里,我们关心的整体对象就是总体。全部用户、全国高中生、全部购买者、现实里会进入的全部图像,都可以成为总体。

问题在于,我们往往无法总是观察到总体的全部。可能成本太高,可能时间太长,可能数据属于未来还没有出现,也可能现实世界一直在变化。

所以我们需要样本。

观测到的样本

样本(sample)是从总体中实际观察到的一部分。比如,在全部用户里抽到的 1 万名用户日志、在全国高中生中参与调查的 2 千名学生、全部购买者里回答问卷的人、现实图像里收集到的一组训练图像,都可以看成样本。

样本不是全部。如果样本能够较好地代表总体,它就可以成为我们估计整体性质的依据。

下面这张图先展示总体和样本的包含关系。样本不是和总体并排存在的另一个世界,而是总体中实际被观察到的一部分。数据集(dataset)可以看作把这个被观察到的样本整理成文件、表格、记录后的结果。

flowchart TD
  subgraph P["总体"]
    direction TB
    P1["我们想了解的完整目标"]
    subgraph S["样本"]
      S1["从总体中观测到的子集"]
    end
  end

  S --> D["数据集<br/>对收集样本整理后的记录"]

看样本时最重要的问题是:这个样本是否足够代表整体? 所以还要一起检查样本是否太小、是否某个群体被放得过重、是否有没被观察到的群体、以及收集方式是否让某些值被漏掉。

如果样本不能很好代表整体,那么用这个样本算出来的估计值就可能不稳定,或者偏向某一边。

参数、统计量与估计值

估计(estimation)是利用样本来计算总体某个值的行为。

例如,假设你想知道某个服务全部用户的平均使用时长,但你看不到全部用户。于是你改为抽取 1 万名用户的日志作为样本,再去计算平均值。这时,在总体里你想知道的是全部用户的平均使用时长,实际拿到的是样本中这 1 万名用户的使用时长,而估计就是用样本均值去猜总体均值。

在统计里,人们常把总体真正的性质叫作 参数(parameter),把从样本里计算出来的值叫作 统计量(statistic)。

区分 英文 工作性的解释
参数 parameter 总体真实拥有的性质
统计量 statistic 从样本中算出来的值
估计值 estimate 为了猜参数而计算出来的值

AI 中的模型参数也使用同一个英文词。统计中的 parameter 指总体的真实特性,模型中的 parameter 指通过学习调整的数字。

估计误差

这里把估计误差计算为“估计值 − 真值”。如果真实总体均值是 50 分钟,样本均值是 47 分钟,误差就是 47 − 50 = −3 分钟。负数表示低估,正数表示高估。

现实中,我们常常不知道总体的真实值。所以误差并不总能被精确算出来。但我们必须承认误差可能存在。

下面这张图展示的是:把估计值与真实值之间的差,读作误差。

把估计值与真实值之间的差读成误差的图

如果把误差只理解成“失败”,就会出问题。在统计里,误差是一种语言,用来承认:只要我们是用部分去谈整体,就很难完全没有差距。换句话说,只要通过样本来估计,就不可能把整体完全看清,差距可能出现,而这个差距就被当作误差处理。

AI 模型的预测误差也可以用类似的视角来看。模型给出的预测与真实值不同,就会产生误差。在训练中,我们会把这个误差转成损失(loss),并试图把它降下来。

抽样波动

考虑一个由 5 名用户组成的小总体,他们的使用时长为 40, 44, 50, 56, 60 分钟。总体均值是 (40 + 44 + 50 + 56 + 60) / 5 = 50 分钟。

每次从 5 人中等概率地抽取不同的 2 人,并计算均值。比较其中三种可能的样本,结果如下。

样本 观测到的使用时长 样本均值 估计误差:样本均值 − 50
A 44, 50 分钟 (44 + 50) / 2 = 47 分钟 −3 分钟
B 50, 56 分钟 (50 + 56) / 2 = 53 分钟 +3 分钟
C 40, 60 分钟 (40 + 60) / 2 = 50 分钟 0 分钟

总体与抽样规则相同,但抽中的用户不同,样本均值也会变化。这就是抽样波动。不能仅凭 A 的均值偏低,就判定收集方式存在偏差。样本均值也可能像 C 一样,恰好等于总体均值。

该表是三种可能样本的计算示例,并不表示估计值的完整概率分布。即使不知道真实总体均值,改变样本也可能改变估计值,这一点仍然成立。

在模型评估中,不同测试样本也可能产生不同分数。要观察这种波动,应固定模型与评估标准,比较不同评估样本的分数。仅在同一数据上确定性地重复运行同一模型,无法观察抽样波动。

收集方式与抽样偏差

我们必须把“样本变化带来的自然波动”和“样本从一开始就偏向一边”这两件事分开。

抽样偏差是指收集方式系统性地过多纳入或遗漏某些群体或数值,使估计向一侧偏移。一个随机样本的构成偶然不同于总体,本身并不能证明收集方式存在偏差。比如只大量收集了年轻用户、只收集了某个地区的数据、问卷里只留下愿意回答的人,或者日志里只保留成功案例,这时都应该怀疑抽样偏差。

如果拿这样的样本去估计整体,结果就可能系统性地偏掉。随机波动是抽样时自然出现的摆动,抽样偏差则是由于收集方式本身,使样本朝某个方向偏过去的问题。

在 AI 里,抽样偏差非常重要。如果训练数据偏向某个群体、某种场景、某种语言、某种设备环境,模型也可能朝那个方向偏过去。

抽样波动和抽样偏差都会让估计不稳定,但它们的性质不同。

区分 英文 含义 应对视角
抽样波动 sampling variation 抽样时自然出现的摆动 更多样本、重复评估、检查波动性
抽样偏差 sampling bias 因收集方式而导致样本偏向一边的问题 检查收集方式、确认缺失群体、审查数据构成

抽样波动与抽样偏差的区别

数据集的收集条件

数据集(dataset)并不只是“数据很多地堆在一起”。在 AI 训练语境里,它通常是把收集到的样本整理成模型能够读取的形式。也就是说,先从现实中观察、记录需要的字段,再整理成文件、表格、图像文件夹、标签文件,之后才成为可用于训练或评估的数据集。

数据集不是现实的全部。数据集会受到收集时间、收集方式、记录格式、清洗标准、标注标准的影响。所以看数据集时,要一起问:这里把什么当作总体?样本是怎么收集的?有没有缺失的群体或场景?标签按什么标准贴上?训练用数据和评估用数据又是如何分开的?

训练数据与泛化

AI 的训练数据(training data)不是现实的全部,而是从现实里收集到的一部分样本。比如,现实中全部用户的行为更接近总体,收集到的日志数据是样本,训练数据集则是模型真正看到的样本。

所以,即使模型在训练数据上表现很好,也不能立刻说它在整个现实里都会稳定表现良好。在训练数据上做得好,只能说明它在那个样本上做得好;至于在新的现实数据上是否也能做好,需要另外确认。

泛化是指在未用于训练的新数据上也能取得良好表现的能力。

下面这张图展示的是:现实世界的一部分先被收集成数据集,而这个数据集又继续被分成训练数据和测试数据。

flowchart TD
  A["现实世界<br/>我们无法完整检查的整个世界"]
  B["数据集<br/>从现实中收集的样本"]
  C["训练数据<br/>用于学习模式的样本"]
  D["测试数据<br/>用于估计性能的样本"]

  A -->|收集| B
  B -->|划分| C
  B -->|划分| D

使用独立样本评估性能

在评估模型时,之所以要把 测试数据(test data) 单独留出来,也可以从样本与估计的视角来理解。

即使模型只是把训练数据背下来,它在训练数据上的表现也可能很好。所以我们要用训练中没见过的数据去检查模型。也就是说,训练数据是模型学习所用的样本,而测试数据则是用来检查模型的另一份样本。

测试成绩也是对现实整体表现的估计值。如果测试数据不够有代表性,评估结果就可能不稳定,或者偏离现实表现。测试分数是对现实表现的估计,而测试数据的构成会影响这个估计的可信度。

用户构成导致的均值差异

假设全部用户中,80% 是老用户,20% 是新用户。两组的平均使用时长分别为 50 分钟和 20 分钟,则整体均值为:

0.8 × 50 + 0.2 × 20 = 44 分钟

但如果收集到的 1 万名用户日志中,新老用户各占 5 千名,即使各组均值不变,样本均值也会改变。

(5,000 × 50 + 5,000 × 20) / 10,000 = 35 分钟

区分 老用户比例 新用户比例 平均使用时长
总体 80% 20% 44 分钟
收集到的样本 50% 50% 35 分钟

本例的估计误差是 35 − 44 = −9 分钟。新用户的比例高于总体,拉低了均值。即使按同样比例把日志增加到 10 万名用户,这种构成差异也不会消失。如果差异来自收集方式,就应检查各组的收集比例与遗漏情况,而不只是增加样本量。

实际分析中,总体均值往往未知。这个例子假定总体构成与各组均值已知,用计算说明即使只改变样本构成,估计值也会改变。

检查清单

  • 能把 总体(population) 解释为感兴趣的整体对象。
  • 能把 样本(sample) 解释为从总体中实际观察到的一部分。
  • 能把 估计(estimation) 解释为用样本去猜总体的值。
  • 能区分统计里的 参数(parameter) 与模型里的 参数(model parameter)。
  • 能把 误差(error) 解释为估计值与真实值之间的差。
  • 能区分 抽样波动(sampling variation) 与 抽样偏差(sampling bias)。
  • 能把 训练数据(training data) 与 测试数据(test data) 解释为现实整体的样本。
  • 能把模型评估分数谨慎地读成对现实表现的估计值。
  • 能在不把数据集当成现实整体的前提下,把总体与样本重新分开来说明。

来源与参考资料