跳至主要内容

样本标准差:核心要点

学习如何计算样本标准差,并理解其在统计分析中的重要性。通过示例与实践要点帮助您解释真实世界数据。
· 6分钟 阅读

使用 AI 探索

样本标准差是一种统计量,用于量化数据集内部的变异情况。具体来说,它告诉我们样本中的各个数据点与样本均值的差异有多大。

在推断统计中,如果您希望对某个总体作出结论(或用统计学家的话说,从样本对总体进行推断),样本标准差就非常重要。要理解这些区别,建议学习 DataCamp 的统计学入门和基础统计学课程,以熟悉统计学概念。最后补充一点,如果您认真考虑学习统计并对相关职业感兴趣,可以查看 DataCamp 的如何成为统计学家指南。

什么是样本标准差?

样本标准差是一种统计量,用于量化数据集的离散或分散程度。样本标准差等于样本方差的平方根,其中样本方差为各数据点与均值的偏差平方之和,再除以样本容量减一。我们在想了解样本中数据点相对于样本均值的偏离程度时使用样本标准差。

如何计算样本标准差

计算样本标准差时,我们使用特定的公式。

样本标准差公式

下面是样本标准差的公式:

样本标准差公式。

样本标准差公式。作者供图。

其中:

  • s = 样本标准差
  • n = 样本中的数据点数量
  • x = 单个数据点
  • x̄ = 样本均值
  • n-1 = 样本数据的校正因子

请注意,计算样本标准差时,我们在分母使用n-1以校正样本偏差,这称为贝塞尔校正(Bessel’s correction)。如果我们关心的是总体标准差,则分母应使用n。

如何手工计算样本标准差

我们通过下面的示例,使用公式来演示如何计算样本标准差。假设您有一个数据子集,其取值如下:

请按以下步骤进行:

步骤 1:计算样本均值

求出数据点的平均值。

步骤 2:求与均值的偏差平方

对每个数据点减去均值并将结果平方。

步骤 3:对偏差平方求和

将与均值的偏差平方相加。

步骤 4:将所求变量代入公式

把这些值代入公式,得到样本标准差。

通过以上计算可知,该数据的标准差约为 2.28。若手工计算样本标准差不切实际,您需要使用 Excel 等工具,请参阅我们的教程如何在 Excel 中计算标准差。

为什么使用样本标准差?

当需要基于样本来估计总体标准差时,样本标准差是更合适的变异性度量。公式中的贝塞尔校正(n−1)用于调整偏差,提高估计的准确性,因为样本未必能完美代表总体。分母变小会使计算得到的方差和标准差变大,从而弥补小样本往往低估变异性的倾向。

样本标准差的重要性

样本标准差在估计总体参数时非常重要。让我们来看一下。

计算置信区间

置信区间可基于样本标准差或总体标准差计算,具体取决于哪一个已知。如果未知总体标准差,则使用样本标准差,并采用 t 分布来估计可能包含总体均值的取值范围。无论来自样本还是总体,标准差越小,置信区间越窄,表示估计越精确。

假设检验

在假设检验中,可根据已知情况使用样本标准差或总体标准差。如果未知总体标准差,则使用样本标准差,通常采用 t 分布评估检验统计量;当已知总体标准差时,则使用 z 分布,精度更高。无论来自样本还是总体,标准差越小,检验越敏感,更容易发现显著差异。

样本标准差及相关术语

下面看一些与样本标准差相关的术语。混淆这些概念会导致常见错误。

标准差 vs. 方差

样本标准差和方差都衡量数据集的变异性,但表达方式不同。方差是各数据点与均值的偏差平方的平均值,因此以平方单位表示。标准差是方差的平方根,因此与数据使用相同的单位表示。

样本标准差 vs. 总体标准差

我们通过两个场景来区分样本标准差与总体标准差。

处理样本数据

当您只使用大型总体的一个子集时,应使用样本标准差。设想您在为一家零售公司进行客户满意度调查,收集了约 200 名顾客的反馈,以此推断整个连锁零售顾客群的满意度。在这种情况下,由于处理的是总体的一个子集,应使用样本标准差进行推断。

处理总体数据

当您拥有整个总体的完整数据时,应使用总体标准差。这种情况下无需考虑偏差校正,因为每个数据点都已包含。再比如,您是某家拥有 50 名员工的公司的人力资源,想计算员工薪资的离散程度。由于您掌握每位员工的薪资数据,因此应使用总体标准差。

在 Python 和 R 中计算样本标准差

在 R 中计算标准差时,sd() 函数默认计算样本标准差,分母使用n−1。

# Sample standard deviation
data <- c(10, 12, 15, 18, 20)
sample_sd <- sd(data)
print(round(sample_sd, 2))
4.12

然而,像 NumPy 和 Pandas 这样的 Python 库,若不另行指定,默认计算的是总体标准差。例如,numpy.std() 默认在分母使用 n,将数据视为总体。

# Import numpy library
import numpy as np
data = [10, 12, 15, 18, 20]
population_sd = np.std(data)  # Population standard deviation
print(round(population_sd, 2))
3.69

如果您需要样本标准差,可以传入 ddof=1 来调整自由度。

sample_sd = np.std(data, ddof=1)  # Sample standard deviation
print(round(sample_sd, 2))
4.12

如果您在编程环境中学习统计,推荐我们的R 语言统计推断技能路径或Python 推断基础课程,以构建核心技能。

结论

样本标准差是量化变异并进行统计推断的重要指标。如果您希望进一步提升统计与数据分析能力,建议查看 DataCamp 的R 数据分析师与Python 数据分析师职业路径,它们涵盖全面且与行业紧密相关的技能。如果您希望成为专注于数据驱动决策的业务分析师,我们的Excel 数据分析课程同样适用。

Allan Ouko

作者

Allan Ouko

数据科学技术写作者,具备数据分析、商业智能和数据科学的一线实践经验。我撰写以行业为导向的实用内容,涵盖 SQL、Python、Power BI、Databricks 和数据工程,并以真实的分析工作为基础。我的写作兼顾技术深度与业务影响,帮助专业人士将数据转化为自信的决策。

常见问题

样本标准差与总体标准差有什么区别?

当基于数据的一个子集来衡量变异性并对总体进行推断时,使用样本标准差。当您拥有总体中每个成员的数据时,使用总体标准差。

为什么计算样本标准差时用 n−1 而不是 n?

我们使用 n−1 是为了承认我们处理的是样本而非整个总体。此调整有助于减少偏差,并提供对总体标准差更准确的估计。

样本标准差与方差有何不同?

方差是与均值偏差平方的平均值,以平方单位表示。标准差是方差的平方根,以与数据相同的单位表示。

样本标准差会为负数吗?

不会。样本标准差不可能为负,因为它是方差的平方根,而方差始终是非负数。

哪些类型的数据适合计算标准差?

标准差适用于服从正态分布的连续数值型数据。不适用于分类数据或高度偏态的分布。

主题