在统计学和机器学习中区分两组:假设检验vs.分类vs.聚类


29

假设我有两个数据组,分别标记为A和B(每个数据组包含200个样本和1个特征),我想知道它们是否不同。我可以:

  • a)进行统计检验(例如t检验)以查看它们是否在统计上不同。

  • b)使用监督机器学习(例如,支持向量分类器或随机森林分类器)。我可以对部分数据进行训练,然后对其余部分进行验证。如果之后机器学习算法正确地对其余部分进行分类,那么我可以确定样本是可区分的。

  • c)使用无监督算法(例如K-Means),然后将所有数据分为两个样本。然后,我可以检查找到的这两个样本是否与我的标签A和B一致。

我的问题是:

  1. 这三种不同方式如何重叠/排斥?
  2. b)和c)对任何科学论证有用吗?
  3. 如何从方法b)和c)中获得样品A和B之间差异的“重要性”?
  4. 如果数据具有多个功能而不是1个功能,将会发生什么变化?
  5. 如果它们包含不同数量的样本(例如100对300)会怎样?

3
我要说的是(A)和(B)之间的区别在于,统计测试的重点是是否存在一个区别,而分类方法注重这种差异的大小。使用随机森林时,您想知道交叉验证的准确性;也许是78%。那就是您感兴趣的数字,而不是声明它不等于50%
变形虫说莫妮卡(Reonica Monica)

4
在IMHO中,a / b / c有意义的情况在典型的信噪比上有所不同,并且从(a)到(b)到(c)都在增加。在t检验的典型应用中,会产生高噪音;我们想证明组不相等。如果组明显不相等(噪音较小),我们就不再需要测试了。取而代之的是,我们想对两组之间的差异进行量化,样本外分类的准确性可以为您提供帮助。如果噪声更低,并且分类精度为〜100%,我们可以问一下组是否是如此的独特以至于可以通过聚类算法进行选择。
变形虫说莫妮卡(Reonica)Monica

1
@amoeba,由于您一直在编辑问题标题等内容,因此我正在与您联系。我想请您再考虑一次。“分类”和“聚类”:不是(唯一)拥有机器学习的东西。这些任务出现后,通常在前m时通过统计/数据分析常规完成。学习者出生。仅由于SML以及在ML之内发展而来的最新技术(例如SVM)才是正确的。仅将分类/聚类/树与ML相关联是不合适的。但是,ML与统计数据分析的不同之处在于它大量使用训练/测试。
ttnphns

@ttnphns当然,这是完全正确的,但是原始标题是“区分样本:机器学习与统计测试(例如t检验)”,我只是想增加一些精度,因为问题实际上是在询问t检验vs分类vs聚类(出于这个特定的科学目的)。我会考虑对标题的可能改进。
变形虫说莫妮卡(Reonica)Monica

@ttnphns我编辑了标题,看您是否更喜欢它。
变形虫说莫妮卡(Reonica Monica)

Answers:


15

好问题。根据您的目标是什么(可能取决于情况的本质),任何事情都可以是好是坏,有用或无效。在大多数情况下,这些方法旨在满足不同的目标。

  • 统计测试,例如检验)使您可以检验科学假设。它们通常用于其他目的(因为人们只是不熟悉其他工具),但通常不应该这样做。如果您有先验假设,即两组在正态分布变量上的均值不同,那么 t-检验将使您检验该假设并控制您的长期I型错误率(尽管您不知道是否您在这种特殊情况下的错误类型为I)。 tt
  • 像SVM一样,机器学习中的分类器旨在将模式分类为属于一组已知的类中的一个。典型的情况是您有一些已知实例,并且您想使用它们来训练分类器,以便将来当您遇到其他其真实类未知的模式时,它可以提供最准确的分类。这里的重点是样本精度。您没有检验任何假设。当然,您希望各类之间的预测变量/特征的分布有所不同,因为否则将无法获得将来的分类帮助,但是您并不是要评估自己的信念,即Y的均值与X有所不同。您想正确地猜测当知道Y时,将来X。
  • 诸如聚类之类的无监督学习算法旨在检测或强加数据集结构。您可能要这样做的原因有很多。有时,您可能希望数据集中存在真实的潜在分组,并希望查看聚类的结果是否对于您的目的而言是明智且有用的。在其他情况下,您可能希望在数据集上强加结构以启用数据缩减。无论哪种方式,您都不会尝试检验关于任何事物的假设,也不希望将来能够准确地预测任何事物。

考虑到这一点,让我们解决您的问题:

  1. 这三种方法在其服务目标上根本不同。
  2. b和c在科学论证中可能有用,它取决于所论证的性质。到目前为止,科学研究中最常见的类型是检验假设。但是,形成预测模型或检测潜在模式也是可能的合法目标。
  3. 您通常不会尝试从方法b或c获得“重要性”。
  4. 假设这些功能本质上是分类的(我收集的是您想要的),您仍然可以使用阶乘方差分析来检验假设。在机器学习中,有一个用于多标签分类的子主题。也存在用于多个成员资格/重叠群集的方法,但是这些方法不那么常见,并且构成了较难解决的问题。有关该主题的概述,请参见Krumpleman,CS(2010)重叠群集。学位论文,UT Austin,电气和计算机工程(pdf)。
  5. 一般而言,这三种类型的方法都存在较大的难度,因为跨类别的案例数量有所不同。

2
关于#4:我认为您误解了OP中的“功能”一词。在机器学习中,“功能”仅表示变量。因此,“多重特征”意味着人们将使用t检验的多元版本(例如Hotelling的T),而不是阶乘方差分析。
变形虫说莫妮卡(Reonica Monica)

11

不打算解决集群问题,因为它已在其他答案中得到解决,但是:

通常,测试两个样本是否有意义地不同的问题被称为两个样本测试

tp

如果您根据分类器构建两个样本的测试,可能更容易考虑其中的一些问题,例如Lopez-Paz和Oquab(2017)最近提出的测试。步骤如下:

  • XYXtrainXtestYtrainYtest
  • XtrainYtrain
  • XtestYtest
  • p^p=12p12p12

通过检查学习到的分类器,您还可以用半有意义的方式解释分布之间的差异。通过更改您考虑的分类器系列,还可以帮助指导测试查找某些种类的差异。

请注意,进行火车测试拆分很重要:否则,仅记住其输入的分类器将始终具有完美的可分辨性。增加训练集中的分数部分可为您提供更多的数据,以学习一个好的分类器,但是减少了确保分类准确率与机会确实不同的机会。这种折衷方案将因问题和分类器系列而异,并且尚未得到很好的理解。

洛佩兹-帕兹(Lopez-Paz)和奥夸布(Oquab)在一些问题上证明了这种方法的良好经验性能。Ramdas等。(2016年)还表明,从理论上讲,对于一个特定的简单问题,一种密切相关的方法是最优的。在这种情况下要做的“正确”事情是积极研究的领域,但是,如果您想要的灵活性和可解释性比仅仅应用一些现成的标准测试要多一点,那么这种方法至少在许多情况下是合理的。


(+1)另外,嵌套交叉验证是行之有效的方法。然后针对无信息模型性能测试您在外部重采样循环中获得的性能估计。如果随机机会大大高于预期,那么您的数据就会有所区别。
Firebug

@Firebug“无信息模型性能”是什么意思?我不太了解您建议的程序。
Dougal'2

2
@Firebug一个重要但微妙的警告是,如果通过CV估计分类准确性,则不能使用二项式检验。
变形虫说莫妮卡(Reonica Monica)

2
@Firebug我的观点仍然是:您不能对不同倍数的AUC (尤其是重复CV)进行任何类型的单样本测试,因为这些估计值不是独立的。这是一个众所周知的问题。
变形虫说莫妮卡(Reonica Monica)

2
重新排列测试:我自己做了。您可以运行CV以获得性能估算值,然后重新排列标签并再次运行整个CV管道(并进行100或1000次重排以获得空分布)。但这确实需要花费大量时间。抄送@Firebug。
变形虫说莫妮卡(Reonica Monica)

3

只有方法(a)可以用来检验假设。

在使用监督式机器学习算法(b)的情况下,它们既不能证明也不能反驳关于组别的假设。如果机器学习算法不能正确地对组进行分类,则可能是因为您对问题使用了“错误的”算法,或者您没有对其进行足够的调优等。另一方面,您可能长时间“折磨”了整个“随机”数据足以产生可以做出良好预测的过度拟合模型。另一个问题是您何时以及如何知道该算法做出“良好”的预测?几乎永远不会以100%的分类精度为目标,那么什么时候知道分类结果证明什么呢?

聚类算法(c)不适用于监督学习。它们的目的不是重新创建标签,而是根据相似性对数据进行分组。现在,结果取决于您使用的算法以及所寻找的相似性。您的数据可能具有不同的相似性,您可能想要寻找男孩和女孩之间的差异,但是该算法可能会找到一群贫穷和有钱的孩子,或者聪明而不太聪明的孩子,右手和左手等等。您想要的分组并不能证明该分组没有意义,而只是证明它找到了其他“有意义的”分组。与以前的情况一样,结果可能取决于所使用的算法和参数。如果十分之一的算法/设置找到“您的”,是否适合您 标签?如果是一百分之一怎么办?您要停止搜索多长时间?请注意,在大多数情况下使用机器学习时,使用一种具有默认设置的算法不会停止,其结果可能取决于您使用的过程。


2
对于方法(b):您可以按照我的回答所述构建假设检验,以解决知道结果是否有意义的问题(尽管这肯定是天真的使用了针对此问题的分类器)。请注意,任何给定的假设检验也可能无法拒绝空值,因为它是针对您问题的“错误”检验,与分类器发生的方式完全相同。数据拆分完全解决了过度拟合的问题。
Dougal

@Dougal好点(+1),但我的主要观点是通过使用机器学习,结果取决于您如何选择算法,使用算法,对其进行测试并评估结果;因此,这种测试的结果在很大程度上取决于您的行动。这意味着使用此方法时,潜在的两个不同的统计人员可能会得到不同的结果。另一方面,对于传统的假设检验,它仅取决于检验的选择。
蒂姆

此外,没有单一的“正确”方法可以应用它,并且您可以轻松地(有意或无意地)操纵它以获得预期的结果。
蒂姆

如果您只是尝试百万次尝试,直到获得理想的结果,那就可以。如果您进行了适当的数据分割(包括来自您自己的分析的数据),那么测试过程将完全有效。有更多选择可以让您在知道如何利用它的情况下拥有更大的力量,但是如果您不小心的话,可以允许(无论是无意还是其他)作弊的机会更多。
Dougal

@Dougal是的,但结果还取决于交叉验证所用的程序以及拆分本身(例如,测试组的大小)。因此,每一步的结果取决于您的程序。而且,这是您停止学习并尝试获得更好的结果时的决定(具有默认设置的单个算法,单个算法和调整参数,多个算法-多少个?)。该过程可能需要对多个测试进行一些更正(但究竟是什么?),以说明所使用的过程-使用默认设置的单一算法的效果似乎不错
Tim

2
  1. a)仅回答您分布是否不同的问题,而不回答如何区分它们。b)还将找到最佳值以区分两种分布。c)如果两个分布具有某些特定属性,则将起作用。例如,它将适用于正态分布,但不适用于某些两个模态分布,因为该方法可以区分同一组的两个模式,而不是两个不同的组。

  2. c)由于有两种模态分布,因此对科学论证没有用。b)可用于区分两个分布,因为您可以计算出显着性(请参阅3)。尽管我从未遇到过。

  3. 通过引导。您可以基于随机子样本1000次计算模型。您会得到一个分数,例如,alpha和beta错误的最小和。您对得分升序排序。对于5%的置信度,您选择950th值。如果此值低于50%(对于A组和B组,点数相等),则置信度为95%,您可以忽略分布相同的零假设。问题是,如果分布都是正态分布,均值相同但变化不同,那么您将无法通过ML技术了解它们是不同的。另一方面,您可以找到能够区分这两种分布的变异测试。ML可能比统计检验更强大,并且能够区分分布,这可能是另一种方式。

  4. 当ML中只有一项功能时,您只需找到一个值即可区分分布。具有两个特征的边界可能是一个窦,而在多维空间中,它可能真的很奇怪。因此,找到正确的边界会困难得多。另一方面,附加功能会带来附加信息。因此,通常可以更轻松地区分两种分布。如果两个变量均呈正态分布,则边界为一条线。

  5. 较小的样本可能无法正常运行,因为无法应用中心极限定理。更大的样本开始表现出更正常的行为,因为中心极限定理开始工作。例如,如果样本足够大,两组的平均值将几乎呈正态分布。但这通常不是100对300,而是10个观察相对于1000个观察。因此,根据该站点,如果观察数大于40并且没有异常值,则均值t检验将与分布无关,都将起作用。


0

统计测试用于从数据进行推断,它告诉您事物之间的关系。结果是具有现实意义的东西。例如,就方向和程度而言,吸烟与肺癌的关系如何。它仍然没有告诉您事情为什么发生。要回答为什么发生事情,我们还需要考虑与其他变量的相互关系,并进行适当的调整(请参见Pearl,J.(2003)因果关系:模型,推理和推论)。

监督学习是为了进行预测,它告诉您将会发生什么。例如,鉴于一个人的吸烟状况,我们可以预测他/他是否会患肺癌。在简单的情况下,它仍然可以告诉您“如何”,例如通过查看算法确定的吸烟状态临界值。但是,更复杂的模型难以解释或无法解释(具有很多功能的深度学习/增强功能)。

无监督学习通常用于促进以上两个方面。

  • 对于统计测试,通过发现数据的一些未知基础子集(聚类),我们可以推断变量之间关联的异质性。例如,吸烟增加了A组而非B组患肺癌的几率。
  • 对于监督学习,我们可以创建新功能来提高预测准确性和鲁棒性。例如,通过识别与罹患肺癌几率相关的子组(聚类)或特征组合(降维)。

当特征/变量的数量变大时,统计测试和监督学习之间的差异将变得更大。统计测试不一定能从中受益,例如,它取决于您是否要通过控制其他因素来进行因果推理,还是要如上所述确定关联中的异质性。如果功能相关,则监督学习的效果会更好,它将变得更像黑盒。

当样本数量增加时,我们可以获得用于统计测试的更精确的结果,对于有监督的学习可以获得更准确的结果,而对于无监督的学习可以获得更加可靠的结果。但这取决于数据的质量。质量差的数据可能会给结果带来偏差或噪音。

有时我们想知道“如何”和“为什么”为干预行动提供信息,例如,通过识别吸烟会导致肺癌,可以制定政策来应对。有时,我们想知道“什么”可以为决策提供信息,例如找出谁可能患上肺癌并给予早期治疗。在《科学》杂志上刊登了有关预测及其局限性的特刊( http://science.sciencemag.org/content/355/6324/468)。“在多学科的工作中解决问题时,似乎最一致地实现了成功,这些工作将人类对上下文的理解与处理能力的数据量达到了TB级。”例如,在我看来,使用假设检验发现的知识可以通过通知我们来帮助监督学习。首先我们应该收集哪些数据/功能。另一方面,监督学习可以通过告知哪些变量来帮助生成假设

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.