作者 | SHAROON SAXENA
编译 | CDA 数据分析师
介绍
当你向有抱负的数据科学家谈论 p 值时,以下情况看起来是否很熟悉?
我无法告诉你数据科学家(甚至是成熟的科学家)在涉及到如何解释 p 值时是多么的手足无措。实际上,可以花点时间回答以下问题:
- 如何解释 p 值?
- P 值有多么的重要?
- 你将如何向非数据科学人员(例如利益相关者)解释 p 值的重要性?
这些问题应该是每个数据科学专业人员都应该能够回答的关键问题。以我的经验,大多数人都在努力克服第一个问题。如果我们不能为客户分解机器学习模型的结果,我们就不能说服他们。
维基百科(Wikipedia)对 p 值的定义让那些统计和数据科学领域的任何新手都感到望而生畏。关于 p 值的典型对话是这样的:
而且你只知道一些公式和约定,却没有如何系统的解释什么是 P 值的想法。那么,我们如何一劳永逸地学习 p 值,并将其根深蒂固地牢记在心?
我们应该如何从头开始理解 P 值
在本文中,我们将从头开始逐步建立 p 值的认知,并且还要揭穿 p 值的传统(错误)解释。我们将介绍以下内容:
- 什么是 p 值?
- 统计学意义
- 统计中 p 值的例子
- 数据科学中 P 值的例子
- p 值的一些传统(错误)解释
什么是 p 值?
让我们从绝对的基础开始。什么是 p 值?为了理解这个问题,我们将来看一下正态分布:
我们在 x 轴上具有值的范围,在 y 轴上具有不同值的出现频率。
现在,假设我们从此分布中选取一个随机值。我们选择接近均值的值的可能性是最高的,因为它具有最高的峰值(由于该区域中的出现值较高)。我们可以清楚地看到,如果我们远离峰值,则值的出现会迅速减少,相应的概率也会减少,趋近于一个非常小的接近 0 的值。
但是本文是关于 p 值的 - 那么为什么我们要看正态分布呢?好吧,考虑到我们上面讨论的正态分布,请考虑如何定义 P 值。
P 值是上图中红点右侧值的累计概率(曲线下的面积)。
要么是,
当从分布中随机选择值时,与红点相对应的 p 值告诉我们将任何值带到红点右侧的“总概率”。
现在,这看起来可能像是一个非常幼稚的定义,但是我们将在此基础上继续。
P 值本身不包含任何值。较大的 p 值表示样本得分与总体得分更加一致或相似。它就是如此简单。
现在,你可能已经遇到了将 p 值与 alpha 值进行比较以得出结论的经验法则。因此,让我们研究一下 alpha 值。
P 值的统计意义:输入– Alpha 值
到目前为止,我已经提到过几次 alpha 值,alpha 值也被称为显著性水平。由于某些未知原因,我们知道该值为 0.05 或 5%。
在统计课上我们也被老师教导过,也就是 p 值小于 alpha 意味着所获得的结果具有统计学意义。但是 alpha 值到底是多少呢?
因此,让我们花点时间看一下 alpha 值的含义。
alpha 值只是一个阈值,P 值在进行实验后进行的相似性或显著性(Z- 测试或 T - 测试)中的测试前决定该阈值。
这意味着,如果得到样本得分的概率小于或阈值 p - 值,我们认为它与总体显著不同,甚至属于新的样本分布。
再次考虑一下上述的正态分布。此分布中的红点表示 alpha 值或阈值 p 值。现在,让我们说绿色和橙色点代表实验后获得的不同样本结果。
在图中可以看到,最左边的绿点的 p 值大于 alpha。因此,这些值可以得到相当高的概率和样本结果被认为是幸运的。
最右边的点 (橙色) 的 p 值小于 alpha 值(红色)。因此,样本结果是一个罕见的结果,不太可能是幸运的。因此,他们与分布有很大的不同。。
alpha 值取决于正在执行的测试。如果我们不确定应该考虑什么值,那么将 alpha 值设为 0.05 被认为是一个不错的约定。
但这带有一个星号 - 我们考虑的 alpha 值越小,则将结果视为有意义的难度就越大。请记住,每个实验的 alpha 值会有所不同,并且没有任何一个 alpha 值可以视为经验法则。
让我们仔细看一下 alpha 值和 p 值之间的关系。
p 值 <alpha 值
考虑以下分布:
在此,红点表示 Alpha 值。这基本上是阈值 p 值。我们可以清楚地看到,阈值右侧曲线下方的区域非常小。
橙色点代表使用样本总体的 p 值。在这种情况下,我们可以清楚地看到 p 值小于 alpha 值(红点右侧的面积大于橙点右侧的面积)。这可以解释为:
从样本获得的结果是分布的一个极端(这是一个非常罕见的事件),因此很有可能它可能属于另外一个分布(如下所示)。
考虑到我们对 alpha 和 p 值的定义,我们认为得到的样本结果是显著不同的。我们可以清楚地看到 p 值远远小于 alpha 值。
p 值 > alpha 值
我觉得你应该在进一步阅读之前回答这个问题。既然你已经知道了硬币的另一面,你就可以想象这种情况的结果了。
p 值大于 alpha 意味着结果支持原假设,因此我们无法拒绝它。此结果通常与备用假设相反(获得的结果来自其他分布),并且获得的结果并不显著,只是一个偶然或者运气的问题。
再次,考虑相同的总体分布曲线,红色点为 alpha,橙色点为样本中计算出的 p 值:
因此,p 值 > alpha(考虑曲线下方红色和橙色点右侧的区域)可以解释如下:
样本结果只是总体分布的一个低概率事件,很可能是靠运气得到的
我们可以清楚地看到,人口曲线下方橙色点右侧的面积远大于 alpha 值。这意味着所获得的结果更可能是同一总体分布的一部分,而不是其他分布的一部分。
现在我们已经理解了 p 值和 alpha 值的解释,让我们来看一个来自统计世界的经典例子。
统计中 p 值的例子
在国家射箭队中,总教练打算在即将到来的比赛之前改善射箭运动员的表现。你认为提高弓箭手性能的好方法是什么?
他提出并实施了在比赛前进行呼吸运动和冥想可能会有所帮助的想法。实验前后的统计数据如下:
真有趣。结果支持了弓箭手总体得分提高的假设。但是教练希望确保这些结果是由于弓箭手能力的提高而不是因为运气或偶然性。那么你认为我们应该怎么做?
这是一个典型的相似度测试(本例中为 z 检验),我们想要检查样本是否与总体相似。我不会深入讨论相似性测试,因为这超出了本文的范围。
为了解决这个问题,我们将循序渐进的方法:
- 了解给定的信息并形成备选假设和无效假设
- 计算 Z 分数并找到曲线下的面积
- 计算相应的 p 值
- 比较 p 值和 alpha 值
- 解释最终结果
这个问题的解决方案
步骤 1:了解给定的信息
- 总体均值 = 74
- 总体标准偏差 = 8(最近 10 年的历史数据与总体有关)
- 样本均值 = 78
- 样本大小 = 60(此处,样本与练习呼吸练习和冥想的弓箭手有关)
我们的总体均值和标准差样本容量超过 30,这意味着我们将使用 z 检验。
根据上面的问题,可能存在 两种情况:
- 实验后的结果取决于运气,即实验前后的均值相似。这将是我们的“零假设”
- 实验后的结果确实与实验前的结果有很大不同。这将是我们的“备择假设”
步骤 2:计算 Z 分数
现在,我们将使用以上公式计算 Z 分数。你问这些符号代表什么?好吧,告诉你是什么意思:
- X = 总体均值
- M = 样本均值
- Sigma = 总体标准偏差
- n = 样本实例数
插入相应的值后, Z 分数为– 3.87。
步骤 3:参考 Z 表并找到 p 值:
如果我们在 Z 表中查找 3.87,则会得到的值是〜0.999。这是曲线下的面积或总体分布下的概率。但这是什么概率?
我们得到的概率是在我们计算的 z 分数 (红点) 的左边。该值 0.999 表示相对于总体,得到“小于样本得分 78”的结果的“总概率”。
这里,红点表示样本均值相对于总体分布的位置。但是我们之前学过 p 值在红点的右边,我们该怎么做?
对于这个,我们会用到正态 Z 分布下的总面积是 1。因此,z 分数右侧的面积 (或未阴影区域所代表的 p 值) 可以计算为:
p 值 = 1 – 0.999
p 值 = 0.001
0.001 (p 值)是红点右侧的未阴影区域。值 0.001 表示得到“大于样本得分 78”的结果的“总概率”,相对于总体。
步骤 4:比较 p 值和 alpha 值
我们没有为 alpha 提供任何值,因此我们可以考虑 alpha = 0.05。根据我们的理解,如果获得样本(p 值)结果的可能性小于 alpha 值,则我们认为获得的样本结果有显著差异。
我们可以清楚地看到,p 值远远小于 alpha 值:
0.001(红色区域)<< 0.5(橙色区域)
这表明,就总体分布而言,得到平均值为 78 的概率很低。因此,可以方便地说,射箭运动员在样本群体中成绩的提高不是运气的结果。样本总体属于其自身的某种其它 (在本例中更好) 分布。
数据科学中 p 值的例子
现在,我相信这是你一直在等待的部分。在统计中使用 p 值是可以理解的,我们甚至多次听说过它。但是 p 值处于数据科学的那个领域中呢?
即使许多有抱负的数据科学家了解 p 值的含义,他们也不知道如何在数据科学中使用此知识。结果就是他们错过了一个非常强大的方法来改进他们的模型。
P 值是特征选择过程中的重要指标。在特征选择中,我们尝试找出自变量的最佳子集来构建模型。
现在你可能会问:“为什么不把所有的自变量都带入呢?”
实际上,引入冗余且没有贡献的变量会增加模型的复杂性。此外,它们可以降低模型在准确性、运行时甚至内存占用方面的性能。
让我们看一个例子。假设我有一个包含不同初创公司信息的数据集。我们有以下变量:
我们的目标是根据其他自变量来预测初创公司的利润。现在,你的直觉可能会说–使用所有可用的自变量来构建一个线性回归模型。
经过预处理和 OneHot 编码之后,因变量具有以下映射:
接下来,我们将使用statsmodels 库构建一个 OLS(普通最小二乘)模型。这是我们得到的:
这个表显示了所有关于独立变量的统计数据。但是现在,我们只对包含 p 值的列感兴趣。我们可以清楚地看到,“R&D Spend”、“Administration”和“State_California”的 p 值超过 0.50!
但是问题是,这个 p 值在回归模型中意味着什么?为此,让我们了解计算这些 p 值的假设是什么:
- 原假设:自变量对目标变量没有显著影响
- 备择假设:自变量对目标变量有显著影响
现在,以上结果表明,“R&D Spend”、“Administration”和“State_California”对初创公司获得的“利润”没有重大影响。因此,让我们从模型中删除这三个变量
除去这两个变量后的结果映射为:
在再次使用 statsmodels 库构建 OLS 模型时,我们得到的是:
我们可以看到,现在只有一个变量剩余值为 0.05 –“State_Florida”。那么我们应该删除它吗?
首先,我们从未决定任何 alpha 值。如果我们将 alpha 值设为 0.05,则变量“State_Florida”将被消除。如果我将 alpha 设置为 0.10,则该变量将在过滤过程中幸存下来。
在这种情况下,考虑到 0.05 不是要为 alpha 值选择的经验法则,我会保留下来。
在这个模型总结中最重要的一点是,尽管我们减少了两个独立变量,但调整后的 R -Square 值却上升了。
正如我们前面讨论的这是双重效果。借助 p 值,我们不仅创建了一个变量较少的简单模型,而且还改善了模型的性能。
在总结本文之前,让我们看一下许多数据科学专业人员和统计学家对 p 值的误解。
对 p 值的一些传统(错误)解释
我见过很多人对 P 值有很多的误解。以下是一些最常见的错误:
- 我们错误地拒绝原假设的概率:尽管低 p 值会促进对零假设的拒绝,但它与拒绝原假设的概率无关
- 统计显著性水平:我们在实验前选择显著性水平。如果 p 值满足我们的显著性水平(p < alpha),我们才能得出结论
- 干预效果的大小:p 值绝不表示实验期间引入的样品中的干预大小。
- 原假设成立的可能性: 这与原假设很接近,可能不会造成太大伤害,但仍然会造成混淆。使用频率统计量来讨论原假设为真是不可能的。高 p 值意味着数据与原假设高度一致
当然还有更多的错误!但请记住这些,下次你在工作中遇到 p 值时,你会做得很好。