原文:
www.kdnuggets.com/2019/06/statistics-data-scientists-know.html
数据科学可以实际定义为从数据中获得额外信息的过程。在进行数据科学时,我们真正尝试做的是解释所有数据在现实世界中的意义,超越数字本身。
为了提取复杂数据集中嵌入的信息,数据科学家采用了包括数据探索、可视化和建模在内的多种工具和技术。在数据探索中常用的一个非常重要的数学技术类别是统计学。
1. 谷歌网络安全证书 - 快速进入网络安全职业生涯。
2. 谷歌数据分析专业证书 - 提升你的数据分析技能
3. 谷歌 IT 支持专业证书 - 支持你的组织进行 IT 管理
从实际意义上讲,统计学使我们能够定义数据的具体数学摘要。与其试图描述每一个数据点,我们可以利用统计学来描述数据的一些属性。这通常足以让我们提取有关数据结构和构成的一些信息。
有时,当人们听到“统计学”这个词时,他们会想到一些过于复杂的东西。是的,它可能会变得有点抽象,但我们并不总是需要诉诸复杂的理论来从统计技巧中获得一些价值。
统计学的基本部分通常在数据科学中最具实际用途。
今天,我们将探讨 5 个对数据科学有用的统计信息。这些不会是疯狂抽象的概念,而是简单、实用的技巧,效果显著。
让我们开始吧!
数据集或特征变量的集中趋势是该集合的中心或典型值。这个概念是,可能存在一个单一的值可以最好地描述(在一定程度上)我们的数据集。
例如,假设你有一个以 (100, 100) 为 x-y 位置的正态分布。那么点 (100, 100) 是集中趋势,因为在所有选择的点中,它提供了对数据的最佳总结。
在数据科学中,我们可以使用中心趋势度量来快速了解数据集的整体情况。数据的“中心”可以提供非常有价值的信息,告诉我们数据集的偏差情况,因为无论数据围绕哪个值旋转,本质上都是一种偏差。
有两种常见的方法来数学上选择中心趋势。
均值
数据集的均值是平均值,即数据围绕的数值。计算平均值时使用的所有值在定义均值时被权重相同。
例如,我们来计算以下 5 个数字的均值:
(3 + 64 + 187 + 12 + 52) / 5 = 63.6
均值非常适合计算实际的数学平均值。使用像 Numpy 这样的 Python 库来计算也非常迅速。
中位数
中位数是数据集中的中间值,即如果我们将数据从最小到最大(或从最大到最小)排序,然后取数据集中的中间值,那就是中位数。
我们再次计算这 5 个数字的中位数:
[3, 12, 52, 64, 187] → 52
中位数值与均值 63.6 相差甚远。它们都没有对错之分,但我们可以根据具体情况和目标选择使用其中之一。
计算中位数需要对数据进行排序——如果数据集很大,这将不太实际。
另一方面,中位数对异常值的鲁棒性会比均值更强,因为如果存在一些非常高的异常值,均值会被拉向某一方向。
均值和中位数可以用简单的 numpy 一行代码来计算:
numpy.mean(array)
numpy.median(array)
在统计学的范畴内,数据的分布是指数据被压缩到单个值附近的程度,或者在更广泛的范围内扩展的程度。
看一下下面的高斯概率分布图——想象这些是描述实际数据集的概率分布。
蓝色曲线的分布值最小,因为其数据点大多落在一个相对较窄的范围内。红色曲线的分布值最大,因为大多数数据点占据了更广泛的范围。
图例展示了这些曲线的标准差值,下一节会进行解释。
标准差
标准差是量化数据分布最常见的方法。计算标准差涉及 5 个步骤:
-
计算均值。
-
对每个数据点,计算其距离均值的平方。
-
汇总第 2 步的值。
-
按数据点数量进行除法。
-
取平方根。
较大的值意味着我们的数据在均值周围“分布更广”。较小的值则意味着我们的数据更集中在均值附近。
使用 Numpy 可以这样轻松计算标准差:
numpy.std(array)
我们还可以使用百分位数进一步描述数据点在范围内的位置。
百分位数描述了数据点在数值范围中位置的精确度。
更正式地说,第 p 百分位数是数据集中可以将其分成两部分的值。下部分包含p百分比的数据,即第 p 百分位数。
例如,考虑下面的 11 个数字:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
数字 15 是第 70 百分位数,因为当我们在数字 15 处将数据集分成两部分时,剩余数据中 70%小于 15。
百分位数结合均值和标准差可以很好地帮助我们了解某个特定点在数据的分布/范围中的位置。如果它是异常值,则其百分位数会接近两端——低于 5%或高于 95%。另一方面,如果百分位数接近 50,则说明它接近我们的中心趋势。
可以使用 Numpy 计算数组的第 50 百分位数,如下所示:
numpy.percentile(array, 50)
数据的偏度衡量其不对称性。
偏度的正值意味着值集中在数据点中心的左侧;负偏度意味着值集中在数据点中心的右侧。
下面的图表提供了一个很好的示例。
我们可以使用以下方程计算偏度:
偏度将使我们了解数据分布与高斯分布的接近程度。偏度的幅度越大,我们的数据集与高斯分布的距离越远。
这很重要,因为如果我们对数据的分布有大致了解,我们可以为特定的分布量身定制要训练的机器学习模型。此外,并非所有机器学习建模技术对非高斯数据都有效。
再次强调,统计数据在我们进入建模之前提供了有见地的信息!
这是我们如何在 Scipy 代码中计算偏度:
scipy.stats.skew(array)
协方差
两个特征变量的协方差衡量它们的“相关性”。如果两个变量具有正协方差,则当一个变量增加时,另一个变量也会增加;如果有负协方差,则特征变量的值将朝相反方向变化。
相关性
相关性只是归一化(缩放)后的协方差,我们通过将分析的两个变量的标准差乘积进行除法来实现。这有效地将相关性的范围限制在-1.0 到 1.0 之间。
如果两个特征变量的相关性为 1.0,则这两个变量具有完全的正相关性。这意味着如果一个变量按给定的量变化,则第二个变量也会按比例在同一方向变化。
小于 1 的正相关系数表示正相关性不完美,相关性的强度随着系数接近 1 而增加。负相关系数的情况也是如此,只是特征变量的值方向相反,而不是相同方向变化。
了解相关性对使用主成分分析(PCA)进行降维的技术极为有用。我们首先计算相关矩阵——如果有 2 个或更多的变量高度相关,则它们在解释数据时实际上是冗余的,可以丢弃一些以减少复杂性。
个人简介:George Seif 是一位认证的极客和 AI / 机器学习工程师。
相关:
-
数据科学家需要了解的 5 个基本统计概念
-
数据科学家需要掌握的 10 种统计技术
-
数据科学统计入门