数据科学中的一些基本统计量(理论 Python 和 R)2025 年 4 月 26 日 | 22 分钟阅读 数据科学是一门多学科的科目,它结合了数据、计算机科学和领域信息,从数据中提取见解、模式和趋势,这些在依赖历史数据捕捉趋势并使用整个概念预测未来数据的多个领域中都很有用。它涉及一种系统技术,用于积累、清理、读取和解码大量信息,以帮助决策、预测趋势和发现隐藏模式。随着通过数字结构、传感器和各种技术生成的数据呈指数级增长,数据科学知识的功能在医疗保健、金融、广告等行业中变得至关重要。  其核心是,数据科学知识旨在将原始数据转化为可操作的信息。这种转换涉及几个关键步骤:数据系列、信息预处理、探索性数据评估(EDA)、建模和部署。每个步骤都需要技术才能、领域知识和分析思维的结合。 数据科学的数学数学是数据技术赖以建立的基础。它提供了研究信息、构建模型和做出明智决策所需的工具和技术。数据科学知识中最相关的数学分支包括 - 统计学: 该分支涉及数据的收集、分析、解释和呈现。概率、分布、假设检验和回归分析等概念对于从数据中获取信息和得出见解至关重要。
- 线性代数: 许多数据科学算法,尤其是机器学习中的算法,都依赖于线性代数。矩阵和向量的运算、特征值和特征向量对于降维(例如 PCA)以及理解奇异值分解 (SVD) 等算法的运作方式至关重要。
- 微积分: 微积分,尤其是微分学,对于优化机器学习中的算法至关重要。梯度和导数等概念用于梯度下降,这是一种最小化训练模型中误差函数的方法。
- 概率论: 该领域是许多统计技术和机器学习算法的基础。理解概率分布、贝叶斯定理和马尔可夫过程对于进行预测和评估结果的不确定性至关重要。
数据科学中的数值摘要数值摘要是统计度量,提供数据集特征的快速简洁描述。这些摘要在探索性数据分析 (EDA) 中至关重要,帮助数据科学家理解数据分布的中心趋势、离散度和形状。关键数值摘要包括均值、中位数、众数、方差、标准差、范围、四分位距 (IQR)、百分位数、偏度和峰度。 数值摘要的重要性数值摘要是数据科学中重要的工具,提供对数据集特征的必要见解。这些摘要帮助数据科学家一目了然地理解数据,从而促进更明智的决策。 以下是数值摘要在数据科学中很重要的几个关键原因 - 简化复杂数据: 大型数据集可能令人不知所措且难以解释。数值摘要将这些复杂数据集提炼成更简单、更易于获取的指标。通过总结数据的关键点,例如主要趋势、变异性和分布形状,数据科学家可以快速掌握总体模式和趋势,而无需被个体数据点所困扰。
- 识别数据特征: 数值摘要提供数据关键特征的快照,包括
- 中心趋势: 均值、中位数和众数等度量表示数据集中常见或关键的值。这有助于了解什么是“正常”或“预期”值。
- 离散度: 方差、标准差、范围和四分位距 (IQR) 等度量揭示数据点的分布程度。
- 数据清理和预处理: 数值摘要在数据清理和预处理阶段至关重要。它们有助于识别
- 异常值: 显着偏离其他观察值的极端值。如果处理不当,异常值会扭曲分析和建模。
- 缺失值: 缺失值的计数和百分比等摘要可以突出数据中的空白,指导关于插补或排除的决策。
- 数据分布: 了解数据分布对于选择正确的统计方法和模型至关重要。例如,通常分布的数据可能适用于参数测试,而非通常数据可能需要非参数方法。
- 比较不同数据集: 数值摘要允许快速比较不同数据集或数据子集。例如,比较不同地区销售数据的均值和方差可以揭示当地业绩差异。这种比较分析对于确定趋势、进行预测和制定策略至关重要。
- 假设检验和推断统计: 许多推断统计方法依赖于数值摘要。例如,t 检验和 ANOVA 比较均值以确定组间差异是否具有统计显著性。均值和方差等摘要是这些检验的基础,使其对假设检验至关重要。
- 模型构建和评估: 数值摘要在模型构建过程中起着至关重要的作用
- 特征选择: 理解特征的方差和分布有助于选择用于建模的最具信息量的变量。
- 归一化和标准化: 均值和标准差等度量用于归一化数据,确保特征对模型贡献相同。
- 模型评估: 均值绝对误差 (MAE) 和均方根误差 (RMSE) 等摘要用于评估版本性能,提供量化模型预测结果的指标。
- 沟通结果: 清晰简洁的数值摘要对于向利益相关者沟通调查结果至关重要。无论是在报告、演示文稿还是仪表板中,这些摘要都为非技术受众提供了一种易于理解数据的方式。它们通过以易于解释的形式突出关键见解来促进数据驱动的决策。
- 实际示例
- 均值和中位数: 在商业环境中,均值和中位数销售数据可以帮助了解传统销售业绩,同时还可以突出由于异常值造成的潜在差异。
- 方差和标准差: 在金融领域,资产收益的方差和标准差对于评估风险至关重要。较高的变异性表明较高的风险,这对于投资决策很重要。
- 偏度和峰度: 在质量管理中,偏度和峰度有助于了解产品缺陷的分布,指导生产过程的改进。
- 四分位距 (IQR): 在医疗保健领域,患者恢复时间的 IQR 可以提供对治疗有效性一致性的见解,有助于选择最佳实践。
理解均值定义均值,通常称为数据的平均值,是一种中心趋势度量,通过将所有数据点之和除以数据样本中的数据点数量来计算。数学上,它表示为  均值的重要性- 中心趋势: 均值提供了数据集中心值的概念,快速描绘了数据集的总体行为。
- 比较: 它允许在不同数据集或同一数据集中的不同组之间进行轻松比较。例如,比较不同地区的建议收入可以提供对当地经济差异的见解。
- 统计分析: 均值是各种统计方法和假设检验的基础。它用于计算其他统计度量,例如方差和标准差,这些对于理解记录传播至关重要。
- 简单性: 均值易于计算和理解,因此在基本数据分析中广泛使用。其简单性使其成为更复杂的统计分析和机器学习模型的起点。
计算方法均值使用前面提到的公式计算。 - 求和: 将数据集中的所有值相加。
- 除以数据点数量: 将总和除以数据集中的值数量。
示例对于数据集 [1, 2, 3, 4, 5] - 和 = 1 + 2 + 3 + 4 + 5 = 15
- 数据点数量 (n) = 5
- 均值 = 15 / 5 = 3
Python 中均值的实现以下是如何使用 NumPy 库在 Python 中计算均值 输出 R 中均值的实现在 R 中,均值可以使用均值函数计算 输出 理解中位数定义中位数是另一个表示数据集主要趋势的度量,当数据集按升序或降序排列时,它代表数据集的中心值。如果数据集具有异常数量的观测值,则中位数是中心数。如果数据集具有良好数量的观测值,则中位数是两个中心数的平均值。 中位数的重要性- 对异常值的鲁棒性: 与均值不同,中位数不受极端值或异常值的影响,这使其成为偏斜分布的更好的相关趋势度量。
- 中心趋势: 当数据不是对称分布时,它清晰地指示数据集的中心,提供对数据关键值的更好感知。
- 统计分析: 中位数用于非参数数据,特别适用于偏斜分布的描述性数据。它通常与其他度量一起使用,以提供对数据的全面了解。
- 决策: 在实际应用中,包括收入分配或财产价格,中位数提供了对标准值的更准确反映。例如,中位数利润经常用于代替建议利润来表示人口的正常收入,因为它不受非常高或非常低值的影响。
计算方法计算中位数 - 将数据按升序排序。
- 确定中间值
- 如果观测值数量 (nnn) 为奇数,则分布的中位数是数据中的中间值。
- 如果观测值数量为偶数,则中位数是数据中两个中间值的平均值。
示例对于数据集 [45, 67, 23, 89, 90] - 排序数据:[23, 45, 67, 89, 90]
- 数据点数量 (n) = 5(奇数)
- 中位数 = 67(中间值)
对于数据集 [1, 2, 3, 4, 5, 6] - 排序数据:[1, 2, 3, 4, 5, 6]
- 数据点数量 (n) = 6(偶数)
- 中位数 = (3 + 4) / 2 = 3.5
Python 中中位数的实现以下是如何使用 NumPy 库在 Python 中计算中位数 输出 R 中中位数的实现在 R 中,中位数可以使用中位数函数计算 输出 理解众数定义众数是衡量相关趋势的另一种方法,表示数据集中出现频率最高的值。与均值和中位数(衡量中心位置)不同,众数关注值的频率。一个数据集可以有一个众数(单峰)、两个众数(双峰)或更多(多峰)。在某些情况下,特别是对于连续数据,如果没有数字重复,则可能根本没有众数。 众数的重要性- 分类数据: 众数对于分类信息特别有用,我们需要了解哪一个是最大或最常见的类别。例如,在一项关于最喜欢颜色的调查中,众数会识别出大多数人选择的颜色。
- 理解分布: 众数可以深入了解信息的分布。例如,在一组已售鞋码的数据集中,众数告诉我们最常见的鞋码。
- 决策: 在商业和经济学中,了解众数有助于库存管理、产品设计和营销策略。例如,了解产品最常见的尺寸有助于库存管理。
- 鲁棒性: 众数不受异常值或极端值的影响,使其在某些情况下成为一种稳定的中心趋势度量。
计算方法计算众数 - 统计频率: 计算数据集中每个值的出现次数。
- 识别最高频率: 计数最高的值是众数。
示例对于数据集 [1, 2, 2, 3, 4] - 统计:1 出现一次,2 出现两次,3 出现一次,4 出现一次。
- 最高频率:2(出现两次)。
- 众数 = 2
Python 中众数的实现以下是如何使用 scipy.stats 模块在 Python 中计算众数 输出 或者,使用 pandas 输出 R 中众数的实现在 R 中,众数可以使用自定义函数计算,因为基本 R 没有内置的众数函数 输出 理解标准差定义标准差是衡量一组值中的变异或离散程度的度量。它量化了数据集中单个数据点与数据集均值之间的差异。在数学上,标准差是方差的平方根。对于具有 n 个观测值的数据集,标准差 (?) 的公式如下  其中 - xi 代表每个数据点,
- μ 是数据集的均值。对于总体中的样本,公式调整为使用 n -1
- 分母为 n -1 而不是 n,以提供无偏估计。
标准差的重要性- 量化变异性: 标准差提供了数据点在平均值上的离散度度量,表明值的分布范围。小的标准差表示值接近平均值,而大的标准差表示值范围广泛。
- 风险评估: 在金融领域,标准差用于衡量投资的波动性。更高的总体偏差表示更高的风险,因为投资回报的分布范围更广。
- 质量控制: 在生产和优秀控制中,首选偏差有助于监控流程以确保一致性并识别可能需要纠正行动的版本。
- 比较分布: 标准差允许比较不同数据集或分布之间的变异性。它有助于了解一个数据集是否比另一个数据集的变量更多。
- 统计推断: 标准差用于各种统计分析,例如假设检验和置信区间。它有助于从样本统计中对总体进行推断。
- 归一化和标准化: 标准差用于数据预处理步骤,包括归一化和标准化,使其对于系统学习和信息分析至关重要。
计算方法标准差的计算步骤如下 - 计算均值 (μ): 将所有数据点相加并除以数据点数量。
- 计算每个点与均值的偏差: 从每个数据点中减去均值。
- 平方每个偏差: 这消除了负值并强调了较大的偏差。
- 求所有平方偏差的和: 将所有平方偏差相加。
- 除以数据点数量(或样本的 n - 1): 这给出了方差。
- 取方差的平方根: 这就是标准差。
Python 中标准差的实现以下是如何使用 NumPy 库在 Python 中计算标准差 输出 Standard Deviation: 1.5811388300841898
或者,使用 pandas 输出 Standard Deviation: 1.5811388300841898
R 中标准差的实现在 R 中,标准差可以使用 sd 函数计算 输出 [1] "Standard Deviation: 1.58113883008419"
理解方差定义方差是一个统计度量,量化数据集中数据点相对于均值的离散程度。它表示数据集中值与平均值之间的差异程度。在数学上,方差是与均值平方差的平均值。对于具有 n 个观测值的数据集,方差 ?2 的计算公式为  其中 - xi 代表每个数据点,
- μ 是数据集的均值。
- 对于总体中的样本,公式调整为使用分母中的 n -1 而不是 n 来提供无偏估计。
方差的重要性- 理解离散度: 方差提供了数据点分布的定量度量。它有助于理解数据点如何围绕均值分布。
- 风险评估: 在金融领域,方差用于衡量投资的波动性。较高的方差表示较高的风险,因为回报分布更广。
- 质量控制: 在制造业中,方差用于监控和控制产品质量。较低的方差表示一致的产品质量。
- 统计推断: 方差是各种统计分析(包括假设检验和置信区间)中的关键组成部分。
- 数据集比较: 方差允许比较不同数据集之间的变异性。它有助于识别哪个数据集更一致。
- 数据分析: 方差用于数据预处理步骤,例如归一化,其中它有助于缩放特征以具有相同的方差水平。
计算方法计算方差的步骤如下 - 计算均值: 将所有数据点相加并除以数据点数量。
- 计算每个点与均值的偏差: 从每个数据点中减去均值。
- 平方每个偏差: 这消除了负值并强调了较大的偏差。
- 求所有平方偏差的和: 将所有平方偏差相加。
- 除以数据点数量: 这给出了方差。
Python 中方差的实现以下是如何使用 NumPy 库在 Python 中计算方差 输出 或者,使用 pandas 输出 R 中方差的实现在 R 中,方差可以使用 var 函数计算 输出 理解范围定义范围是统计离散度的一种度量,表示数据集中最大值和最小值之间的差异。它提供了一种简单的方法来理解数据的扩散或变异性。计算范围的公式是 范围 = 最大值 - 最小值 例如,在数据集 [3, 7, 8, 2, 5] 中,范围是 8 - 2 = 6。 范围的重要性- 理解数据扩散: 范围可以快速了解数据的扩散情况。它告诉我们极端值之间的距离,从而基本了解数据变异性。
- 初步数据分析: 范围通常用于探索性数据分析,以初步了解数据集的离散度。它可以突出异常值的存在。
- 数据集之间的比较: 比较两个或更多数据集时,范围可以提供哪个数据集具有更大变异性的见解。
- 识别异常值: 大范围可能表示数据集中存在异常值或极端值。
- 更复杂度量的基础: 尽管范围本身是一个简单的度量,但它为理解更复杂的变异性度量(如方差和标准差)奠定了基础。
然而,范围存在局限性。它只考虑极端值,而忽略了数据之间的分布。因此,它通常与其他统计度量结合使用,以提供更全面的分析。 计算方法计算范围 - 识别最大值: 找到数据集中的最高值。
- 识别最小值: 找到数据集中的最低值。
- 从最大值中减去最小值: 结果就是范围。
示例对于数据集 [10, 15, 20, 2, 8] - 最大值 = 20
- 最小值 = 2
- 范围 = 20 - 2 = 18
Python 中范围的实现以下是如何使用基本的 Python 函数和 NumPy 库在 Python 中计算范围 使用基本 Python 函数 输出 使用 NumPy 输出 R 中范围的实现在 R 中,范围可以使用基本函数和 diff 函数计算 使用基本 R 函数 输出 使用 diff 函数 输出 理解四分位距定义四分位距 (IQR) 是一种统计离散度度量,表示数据集中间 50% 数据的分布。它计算为第三四分位数 (Q3) 与第一四分位数 (Q1) 之间的差值 IQR = Q3 - Q10 四分位数将排序后的数据集分成四个相等的部分。第一四分位数 (Q1) 是数据下半部分的中位数(25 百分位数),第三四分位数 (Q3) 是数据上半部分的中位数(75 百分位数)。第二四分位数 (Q2) 是整个数据集的中位数。 四分位距的重要性- 稳健的离散度度量: 与只考虑极端值的范围不同,IQR 关注数据的中心部分,提供了一种对异常值不那么敏感的更稳健的变异性度量。
- 异常值识别: IQR 用于识别异常值。低于 Q1 - 1.5 × IQR 或高于 Q3 + 5 × IQR 的值通常被认为是异常值。
- 分布比较: IQR 允许比较不同数据集的分布范围。它有助于理解中间 50% 的数据在不同组之间如何变化。
- 数据汇总: 通过汇总中间 50% 数据的分布范围,IQR 提供了中心趋势和离散度的清晰视图,而不受极端值的影响。
- 在箱线图中的使用: IQR 是创建箱线图的关键组成部分,箱线图是数据分布的图形表示。箱线图直观地显示中位数、四分位数和潜在异常值。
计算方法计算 IQR - 排列数据: 将数据集按升序排序。
- 查找四分位数
- Q1:数据下半部分的中位数。
- Q3:数据上半部分的中位数。
- 计算 IQR: 从 Q3 中减去 Q1。
示例对于数据集 [7, 15, 36, 39, 40, 41, 42, 43, 47, 49] - 排列数据 [7, 15, 36, 39, 40, 41, 42, 43, 47, 49]
- 查找 Q1(25 百分位数)和 Q3(75 百分位数)
- 计算 IQR: IQR = 44.5 - 37.5 = 7
Python 中四分位距的实现以下是如何使用 NumPy 和 SciPy 库在 Python 中计算 IQR 使用 NumPy 输出 Interquartile Range (IQR): 7.0
使用 SciPy 输出 Interquartile Range (IQR): 7.0
R 中四分位距的实现在 R 中,IQR 可以使用 IQR 函数计算 输出 [1] "Interquartile Range (IQR): 7"
理解百分位数和四分位数定义百分位数 百分位数是统计学中衡量某个值低于给定百分比的观测值(在一组观测值中)的度量。例如,第 20 百分位数是低于 20% 的观测值可以找到的值。百分位数将数据集分成 100 个相等的部分。 四分位数 四分位数是一种分位数,它将数据集分成四个相等的部分。三个四分位数是 - 第一四分位数 (Q1): 第 25 百分位数,低于该值的有 25% 的数据。
- 第二四分位数 (Q2 或中位数): 第 50 百分位数,低于该值的有 50% 的数据。
- 第三四分位数 (Q3): 第 75 百分位数,低于该值的有 75% 的数据。
四分位距 (IQR) 是第一和第三四分位数之间的范围,是统计离散度的度量。 百分位数和四分位数的重要性- 数据分布: 百分位数和四分位数提供了对数据分布的见解。它们有助于理解数据点的分布情况以及大多数数据点的位置。
- 异常值检测: 四分位数,特别是 IQR,有助于检测异常值。低于 Q1-5×IQRQ1 - 1.5 \times IQRQ1-1.5×IQR 或高于 Q3+1.5×IQRQ3 + 1.5 \times IQRQ3+1.5×IQR 的数据点通常被认为是异常值。
- 比较分析: 百分位数广泛用于比较分析,例如比较标准化考试中的分数。它们表示值在数据集中的相对位置。
- 数据汇总: 四分位数通过将数据分成四个部分来汇总数据,使其更容易理解数据的分布和中心趋势。
- 非参数统计: 百分位数和四分位数是非参数统计,这意味着它们不假设特定的分布。这使得它们在分析不遵循正态分布的数据时非常有用。
计算方法百分位数计算 - 将数据按升序排序。
- 使用公式 P = (n + 1) × p / 100,其中 n 是观测值数量,p 是所需百分位数。
- 找到排序列表中第 P 个位置的值。
四分位数计算 - 将数据按升序排序。
- 分别使用第 25、50 和 75 百分位数计算 Q1、Q2(中位数)和 Q3。
示例对于数据集 [7, 15, 36, 39, 40, 41, 42, 43, 47, 49] - Q1 (25 百分位数) = 36
- Q2 (50 百分位数或中位数) = 40.5
- Q3 (75 百分位数) = 43
Python 中百分位数和四分位数的实现使用 NumPy 输出 25th Percentile (Q1): 36.0
50th Percentile (Q2): 40.5
75th Percentile (Q3): 43.0
R 中百分位数和四分位数的实现使用 quantile 函数 输出 [1] "25th Percentile (Q1): 36"
[1] "50th Percentile (Q2): 40.5"
[1] "75th Percentile (Q3): 43"
理解偏度定义偏度是衡量实值随机变量概率分布相对于其均值的不对称性的度量。它量化了分布偏离对称正态分布的程度。分布可以是 - 正偏态(右偏态): 右尾(较高值)比左尾(较低值)更长或更粗。这表明大多数值位于均值的左侧。
- 负偏态(左偏态): 左尾(较低值)比右尾(较高值)更长或更粗。这表明大多数值位于均值的右侧。
- 对称: 值在均值的两侧均匀分布,表示没有偏度。
在数学上,偏度可以使用公式计算  其中 - n 是观测值的数量,
- xi 是每个单独的观测值,
- x 是均值,并且
- s 是标准差。
偏度的重要性- 理解数据分布: 偏度有助于理解数据分布。它表明数据是否对称,或者它是否更偏向均值的一侧。
- 识别异常值: 高偏度表示存在异常值。正偏态数据通常在高端存在异常值,而负偏态数据在低端存在异常值。
- 数据转换: 了解偏度有助于决定是否需要数据转换。例如,对数转换可用于减少正偏度。
- 模型选择: 某些统计模型假设数据正态性。了解偏度有助于选择合适的模型或应用转换以满足模型假设。
- 财务分析: 在金融领域,偏度用于评估投资回报的风险。正偏态回报分布意味着存在极端正回报的概率,而负偏态分布意味着存在极端负回报的概率。
计算方法计算偏度的步骤如下 Python 中偏度的实现以下是如何使用 scipy.stats 库在 Python 中计算偏度 输出 或者,使用 pandas 输出 R 中偏度的实现在 R 中,偏度可以使用 e1071 包计算 输出 理解峰度定义峰度是一种统计度量,描述了分布尾部与其总体形状的关系。具体而言,它量化了数据与正态分布相比是重尾还是轻尾。峰度有三种类型 - 中峰态: 峰度与正态分布相似的分布。峰度值约为零。
- 尖峰态: 尾部比正态分布更重,峰值更尖锐的分布。峰度值大于零。
- 平峰态: 尾部比正态分布更轻,峰值更平坦的分布。峰度值小于零。
在数学上,峰度使用以下公式计算  其中 - n 是观测值的数量,
- xi 是每个单独的观测值,
- x 是均值,并且
- s 是标准差。
峰度的重要性- 理解尾部风险: 峰度有助于理解分布的尾部风险。高峰度意味着极端值(异常值)的可能性更高。
- 金融风险管理: 在金融领域,峰度用于评估投资回报的风险。尖峰态分布表示由于潜在的极端回报而导致更高的风险。
- 数据分析: 峰度提供了对数据分布形状和性质的见解,这对于选择合适的统计模型至关重要。
- 正态性检验: 峰度与偏度一起用于检验数据的正态性。高峰度的数据可能不遵循正态分布,从而影响参数检验的应用。
- 质量控制: 在制造和质量控制中,峰度可以指示缺陷或偏离标准的可能性。
计算方法计算峰度的步骤如下 - 计算均值。
- 计算标准差。
- 计算每个观测值与均值的偏差并将其提高到四次方。
- 将这些值相加并应用峰度公式。
Python 中峰度的实现以下是如何使用 scipy.stats 库在 Python 中计算峰度 输出 Kurtosis: -1.2685714285714287
或者,使用 pandas 输出 Kurtosis: -1.2685714285714287
R 中峰度的实现在 R 中,峰度可以使用 e1071 包计算 输出 [1] "Kurtosis: -1.26857142857143"
|