关于iid假设在统计学习中的重要性


54

在统计学习中,隐式或显式地,总是假设训练集由输入/响应元组是从同一个联合分布独立得出的D={X,y}N(Xi,yi) P(X,y)

p(X,y)=p(y|X)p(X)

和通过特定的学习算法试图捕获的关系。从数学上讲,该iid假设写道:p(y|X)

(Xi,yi)P(X,y),i=1,...,N(Xi,yi) independent of (Xj,yj),ij{1,...,N}

我认为我们都可以同意这一假设在实践中很少得到满足,请参阅此相关的SE问题以及@Glen_b和@Luca的明智评论。

因此,我的问题是:

在实践中,关于iid的假设到底在哪里变得至关重要?

[背景]

我之所以这么问,是因为我可以想到很多情况下,不需要这样严格的假设来训练某个模型(例如线性回归方法),或者至少有一个可以绕过iid假设并获得可靠结果的情况。实际上,结果通常保持不变,而是可以得出的推论会有所变化(例如,线性回归中的异方差和自相关一致的HAC估计量:想法是重新使用旧的OLS回归权重,但要适应OLS估计量的有限样本行为,以解决违反高斯-马尔可夫假设的情况。

因此,我的猜测是,不需要iid假设就能够训练特定的学习算法,而是要保证确实可以使用诸如交叉验证之类的技术来推断模型对泛化能力的可靠度量,这是我们最终对统计学习感兴趣的唯一一件事,因为它表明我们确实可以从数据中学习。凭直觉,我确实可以理解,对依存数据使用交叉验证可能会产生偏见(如在此有趣的示例中所说明/解释的)。

因此,对我而言,iid与训练特定模型无关,而与该模型的可推广性有关。这似乎与Huan Xu等人发现的论文相符,请参见此处的 “马尔可夫样本的稳健性和泛化性” 。

你同意吗?

[例]

如果这能帮助的讨论,请考虑使用套索算法进行当中一个聪明的选择问题中的特征训练样本与 我们可以进一步假设:Ñ Xÿ = 1 Ñ X = [ X 1X i P ]PN(Xi,yi)i=1,...,N

Xi=[Xi1,...,XiP]
  • 输入是相关的,因此导致违反iid假设(例如,对于每个特征我们观察到一个点时间序列,因此引入了时间自相关)Ĵ=1PÑXij=1,..,PN
  • 条件响应是独立的。yi|Xi
  • 我们拥有。PN

在这种情况下,假设我们计划使用交叉验证方法(在完整数据集上)+使用嵌套交叉验证来确定LASSO罚分系数则以何种方式违反iid假设会造成问题以感觉到这种学习策略的普遍性错误(我们可以将有关LASSO固有优点/缺点的讨论放在一边,除非它有用)。λ


1
您能否提供一个您感兴趣的参考框架,所以讨论并不涉及所有方法。我们在这里谈论线性回归吗?还是我们在谈论通过使用MLE进行参数的点估计?还是我们在谈论CLT框架?
Greenparker

2
如果您还假设依赖,则在惩罚逻辑回归中,将惩罚对数可能性。如果数据不是独立的,那么您将无法写下联合对数可能性,因此无法完成相关的优化问题。yi
Greenparker

1
不,我在反过来考虑-如果您快速跳到一个iid假设,您可能会错误地认为滞后(出于诸如无偏见的目的,但同时也损害了预测能力)则认为不需要这些滞后。y
克里斯多夫·汉克

3
我不同意“普遍违反”独立性的假设。时间序列是一个非常特殊的情况-而不是典型示例的例外。Iid假设使您能够简化模型并构建更简约的模型,并且可以经常进行建模(例如,您的案例是随机绘制的,因此可以假定它们是独立的)。
蒂姆

2
在第二个子弹的示例中,不应假定是有条件的iid,而可以假定它们是有条件的独立的,但是条件分布被认为取决于,因此随改变。XyiXii
NRH

Answers:


32

关于对所述IID假设,,往往在统计和机器学习中制成。有时是出于充分的理由,有时是出于便利,有时只是因为我们通常会做此假设。为了令人满意地回答该假设是否确实必要,以及如果不进行该假设会带来什么后果,我很容易最终写一本书(如果您轻松地这样做)。在这里,我将简要概述我认为最重要的方面。i = 1 N(Xi,yi)i=1,,N

基本假设

假设我们要学习给定的概率模型,我们将其称为。我们不会先验地对此模型做任何假设,但是我们会做一个最小的假设,即该模型的存在使得X p y XyXp(yX)

  • 给定的的条件分布为。X i p y iX iyiXip(yiXi)

值得一提的这个假设是的条件分布取决于只能通过。这就是使模型有用(例如用于预测)的原因。该假设是iid假设下相同分布部分的结果,但它较弱,因为我们不对进行任何假设。X XyiiXiXi

在下文中,重点将主要放在独立性的作用上。

造型

在给定有两种学习模型的主要方法。一种方法称为判别建模,另一种方法称为生成建模。XyX

  • 判别建模:我们直接建模,例如逻辑回归模型,神经网络,树或随机森林。该工作模型的假设通常是在的是条件独立给出的的,但估计技术依靠二次采样或引导使IID下最有意义或较弱的可交换性假设(见下文)。但是通常,对于判别建模,我们不需要对进行分布假设。 ÿ XXp(yX)yiXiXi
  • 生成建模:我们的联合分布,模型的,通常通过模拟的条件分布和边缘分布。然后,我们使用贝叶斯公式计算。线性判别分析和朴素贝叶斯方法就是例子。该工作模型的假设通常是独立同分布的假设。XÝ p X | Ý p Ý p Ý | Xp(X,y)(X,y)p(Xy)p(y)p(yX)

对于两种建模方法,都使用工作建模假设来推导或提出学习方法(或估计器)。可以通过最大化(惩罚的)对数似然率,最小化经验风险或使用贝叶斯方法。即使工作建模假设是错误的,所得到的方法仍然可以提供的合理拟合。 p(yX)

与判别建模一起使用的某些技术(例如装袋(引导聚合))通过将许多模型拟合到从数据集中随机采样的数据中来工作。没有iid假设(或可交换性),重新采样的数据集将不会具有与原始数据集相似的联合分布。通过重新采样,任何依赖关系结构都会变得“混乱”。我没有对此深思熟虑,但是我不明白为什么那一定会破坏该方法作为学习。至少不是基于工作独立性假设的方法。很高兴在这里被证明是错误的。p(yX)

一致性和错误范围

所有学习方法的中心问题是它们是否导致模型接近。在统计和机器学习中,有大量关于一致性和错误范围的理论文献。该文献的主要目的是证明当很大时,学习模型接近。一致性是定性的保证,而误差范围则提供(半)显式的紧密度定量控制并给出收敛速度。p y XNp(yX)p(yX)N

理论结果均基于关于数据集中观测值联合分布的假设。通常会做出上述工作建模假设(即,判别建模的条件独立性和生成建模的iid)。对于区分性建模,一致性和错误范围将要求满足某些条件。在经典回归中,这样的条件之一是对于,其中表示设计矩阵,其中行1Xiñ→交通XX Ť 1NXTXΣNXXiT。条件较弱可能足以保持一致性。在稀疏学习中,另一个这样的条件是受限特征值条件,请参见例如关于用于证明套索的预言结果的条件。iid假设与一些技术分布假设一起意味着某些此类充分条件的满足概率很高,因此iid假设可能被证明是足够的,但不是获得判别建模的一致性和误差范围的必要假设。

对于任何一种建模方法,独立性的工作建模假设都是错误的。作为粗略的经验法则,如果数据来自遍历过程,则仍然可以期望一致性,如果过程足够快速地混合,则仍然可以期望一些误差范围。这些概念的精确数学定义会使我们离主要问题太远。足够注意的是,除了iid假设之外,还存在依赖关系结构,随着趋于无穷大,学习方法可以被证明对依赖结构有效。N

如果我们对依存关系结构有更详细的了解,我们可以选择用捕获依存关系结构的模型来代替用于建模的工作独立性假设。这通常是针对时间序列进行的。更好的工作模型可能会导致更有效的方法。

模型评估

与其证明学习方法给出的模型接近于,不如获得(相对)评估“学习模型的良好程度”的实用价值。这样的评估分数可用于两个或多个学习模型,但是它们不能提供对学习模型与接近程度的绝对评估。评估分数的估计值通常是根据将数据集分为训练数据集和测试数据集或使用交叉验证来凭经验计算的。p Ý | Xp(yX)p(yX)

与装袋一样,数据集的随机拆分将“弄乱”任何依赖关系结构。但是,对于基于工作独立性假设的方法,比iid弱的遍历性假设应该足以使评估估计合理,尽管很难估计出这些估计的标准误差。

[ 编辑:变量之间的相关性将导致从独立同分布假设下的分布不同的学习模型的分布。交叉验证产生的估计显然与泛化误差无关。如果依赖性很强,则很可能是错误的估计。]

摘要(tl; dr)

以上所有条件均基于一个固定的条件概率模型的假设。因此,不可能没有捕获条件分布的趋势或突然变化。Xp(yX)X

当学习给定的模型时,独立性起着XyX

  • 一个有用的工作建模假设,使我们能够推导学习方法
  • 证明一致性和提供错误界限的充分但不是必要的假设
  • 使用随机数据拆分技术(例如用于学习的装袋和用于评估的交叉验证)的充分但并非必要的假设。

准确地理解哪些替代iid也是足够的,这是不平凡的,并且在某种程度上是研究的主题。


2
这是一个非常完善的答案。它是现场的,并为我提供了足够的自学参考,非常感谢@NRH,我对此感到很兴奋。我将悬赏金鼓励其他人回答这个问题,但是我已经将其标记为可接受的答案,因为它很好地解决了我最初的所有担忧。
2016年

10

什么独立同分布的假设状态是随机变量是独立同分布。您可以正式定义它的含义,但非正式地,它表示所有变量彼此独立地提供相同类型的信息(您还可以阅读相关的可交换性)。

从抽象的思想让我们跳到一个具体的例子:在大多数情况下,您的数据可以存储在矩阵中,其中逐行观察,逐列观察。如果您假设数据为iid,那么对您来说意味着您只需要关心列之间的关系,而不必关心行之间的关系。如果您对两者都感到困扰,那么您将对列对列的依赖关系以及行对行的依赖关系进行建模,即所有事物都依赖于所有事物。很难简化并建立取决于所有事物的统计模型

您正确地注意到,可分解性使我们可以使用诸如交叉验证或自举之类的方法,但是它也使得可以使用中心极限定理,并且使我们能够简化建模(以列方式考虑) )。

正如您在LASSO示例中注意到的那样,独立性假设通常会简化为条件独立性。即使在这种情况下,我们也需要独立且分布均匀的“零件”。类似地,您提到的时间序列模型通常采用平稳的假设,即假设平稳(因此存在依赖性,但也存在共同分布,并且序列随时间稳定-再次是“ iid”部分)。观察许多类似的事物,它们对某些普遍现象具有相同的想法是一个问题。如果我们有许多不同且相互依存的事物,我们将无法进行任何概括。

您要记住的是,这只是一个假设,我们对此并不严格。它具有足够的功能,使所有人都可以独立传达有关某个常见现象的相似信息。如果事物相互影响,那么它们显然会传达相似的信息,因此它们不会那么有用。

想象一下,您想了解教室里孩子的能力,因此给他们做一些测试。仅当孩子们彼此独立地完成测试时,才可以将测试结果用作孩子能力的指标。如果他们互动,那么您可能会评估最聪明或最有影响力的孩子的能力。这并不意味着您需要假设孩子之间没有任何交互或依赖性,而只是假设他们自己进行了测试。孩子们还需要“同等地分布”,这样他们就不能来自不同的国家,说不同的语言,处于不同的年龄,因为这将使解释结果变得困难(也许他们不理解问题并随机回答)。如果可以假设您的数据是iid那么您可以专注于构建通用模型。您可以处理非iid数据,但随后您就不得不担心数据中的“噪音”。


除了主要问题外,您还询问与非iid数据的交叉验证。尽管您似乎低估了iid假设的重要性,但同时又夸大了不满足此假设的问题,从而引起了交叉验证。当使用诸如引导程序或交叉验证之类的重采样方法时,有多种方法可以处理此类数据。如果要处理时间序列,则不能假设值是独立的,因此取值的随机分数将是一个坏主意,因为它将忽略数据的自相关结构。因此,对于时间序列,我们通常比交叉验证提前一步,即您参加了该系列的一部分以预测下一个值(未用于建模)。同样,如果您的数据具有聚类结构,则可以对整个聚类进行采样以保留数据的性质。因此,作为与建模,我们可以处理非IID -sness也在做交叉验证的时候,但我们需要从设计的方法,我们的方法对数据的性质,以适应独立同分布的数据并不在这种情况下适用。


感谢您花了一些时间回答我的问题。尽管您对iid假设所传达的内容提供了非常不错的解释,但这让我感到沮丧。(1)用于训练 LASSO 就足够了(因为它允许人们写出惩罚对数似然估计),但是X i不是iid样本的影响是什么(如果预测变量来自时间序列并因此是自相关的,情况就是这样) 。(2)另外,例如在使用交叉验证时没有交换性的结果是什么?(ctd)...yi|XiXi
Quantuple,2016年

(ctd)...换句话说,尽管您的回答肯定可以为您了解iid概念,但我还是想从技术上了解更多:如果违反了该概念,将会产生什么影响?
2016年

@Quantuple,然后使用非iid数据的方法,例如在时间序列中对引导程序中的整个数据块进行采样等
蒂姆

再次感谢。我确实记得曾经读过有关此类技术的文章。是否有资料讨论所有潜在的候选方法?我刚刚偶然发现了C. Bergmeir,R。Hyndman和B. Koo撰写的论文“关于交叉验证对评估时间序列预测的有效性的注解”,我将尝试尽快阅读。
2016年

1
@Quantuple查阅Efron和Tibshirani撰写的经典的“ Bootstrap入门”以及Davison和Hinkley撰写的“ Bootstrap方法及其应用”,以了解有关Bootstrap的知识(相同的思想适用于交叉验证);时间序列手册介绍了如何对此类数据使用交叉验证和自举(即比交叉验证领先一步)。还要检查我的编辑。
蒂姆

3

唯一可以放心忽略iid的地方是大学统计和机器学习课程。您已经写过:

可以绕过iid假设并获得可靠的结果。实际上结果通常将保持不变,而是可以得出的推论会改变...

仅在假定模型的功能形式基本正确的情况下才如此。但是,这种假设比iid更加不合理。

在应用建模方面,iid至少有两种至关重要的方法:

  1. 正如您在问题中所指出的,这是大多数统计推断中的一个明确假设。在大多数真实世界的建模中,在某些阶段,我们需要使用推理来测试规范,例如在变量选择和模型比较期间。因此,尽管违反了iid,尽管每个特定模型的拟合都可以,但是您最终还是可能选择了错误的模型。

  2. 我发现,通过违反iid进行思考是思考数据生成机制的一种有用方法,这反过来又有助于我先验思考模型的适当规范。两个例子:

    • 如果数据是群集的,则违反了iid。对此的一种补救措施可能是混合模型。我从混合模型中得出的推论通常与我从OLS中得出的推论完全不同。
    • 在检查残差时,常会显示因变量和自变量之间的非线性关系。

当然,在我建立的几乎所有模型中,我都未能将残差的分布减小到接近真实正态分布的任何值。但是,尽管如此,我总是通过努力地尝试来获得很多。


感谢您的回答,这很有见地。在(1)的最后一句中,您的意思是您可以拥有多个模型,这些模型与所观察到的数据非常相称,但是当您使用标准模型选择技术(例如交叉验证)时,您不会选择最佳模型(就通用性而言),因为您绘制的推断会由于违反IID而产生偏差?(2)在我看来,就像您将IID残差作为功能规范的一部分(例如回归残差)所讨论的那样,不会使您的编写(ctd)无效……
Quantuple,2016年

(ctd)...但是最初的问题与非iid训练示例(x,y)有关,而不是与估计模型后的非iid残差有关。我想我的问题可能是,当您有非iid训练示例(例如时间序列)时,是否需要添加预处理步骤以使其成为iid?如果不这样做,则应用标准程序来估计/交叉验证模型,警告在哪里?
2016年

1
当您有非iid训练示例时,其想法是找到一个考虑非iid性质并产生iid残差的模型。尽管存在一些需要对数据进行预处理的问题(例如,线性回归中的变量转换),但通过找到一个明确解决iid问题的模型,可以更好地解决许多iid问题。例如,时间序列中的传递函数或横截面数据中的层次模型。
蒂姆

我同意这样一个事实,因为时间序列数据通常表现出某种形式的依存关系,因此自然而然地希望通过为此量身定制的统计模型(例如传递函数)来捕获此依存关系。就培训而言。现在,就交叉验证(CV)而言,我想我还需要特殊的方法来解决非iidness吗?我的意思是说,使用传递函数并没有改变我的数据并非首先被识别的事实。某处是否有此类特殊方法的列表?当对非iid数据使用标准CV方法时,乐观偏差有多大?
2016年

1
这将取决于交叉验证方法的性质和问题。我认为诀窍是使用交叉验证方法,这些方法不是围绕iid隐式构造的。例如,一个折刀将毫无意义。但是,将样本分为估计,测试和验证样本可能会。但是,这确实是与您原来的问题不同的问题,这不是我的专业领域。
蒂姆(Tim)

2

我认为,id假设在统计学习(或一般统计)中很重要的原因有两个相当普遍的原因。

  1. 许多幕后的数学都取决于这个假设。如果您想证明您的学习方法实际上适用于多个数据集,则iid假设最终会出现。可以避免这种情况,但是数学变得困难了好几倍。

  2. 如果您想从数据中学到东西,则需要假设有一些东西要学习。如果每个数据点都由不同的机制生成,则学习是不可能的。因此,至关重要的是要假设某些东西统一了给定的数据集。如果我们假设数据是随机的,那么这自然就是概率分布,因为概率分布包含了有关随机变量的所有信息。

    x1,...,xnxiFn

    (x1,...,xn)Fn.

    FnFmnmnFnFnnFn=Fn,xiFFnFmnF。还有其他方法可以解决这两个问题,但必须注意的是,每种统计学习方法都需要解决此问题,并且碰巧iid假设是迄今为止最简单的方法。


xyx

(ctd)...但是正如您在第一个要点中指出的那样,当我们查看LASSO的泛化属性时,有关iid训练示例的假设将重新出现。最好的方法是参考/简单的技术说明(我猜想我正在寻找的是),该说明显示了对iid假设的违反如何在交叉验证估计器中带来乐观的偏见。
2016年

yi=α+β1x1i+εii=1,...,n/2yi=α+β2x2i+εii=n/2+1,...,nx1ix2i

i=1,...,n/2i=n/2+1,...,n

xE[y|X]

1

我想强调一点,在某些情况下,数据不是唯一的,统计学习仍然是可能的。对于所有观测值的联合分布,建立一个可识别的模型至关重要。如果观测值同上,则可以很容易地从单个观测值的边际分布中获得这种联合分布。但是在某些情况下,联合分配是直接给出的,而不求助于边际分配。

Y=Xα+Zu+ε
YRnXRn×pαRpZRn×quRqεRnXZαuuN(0,τIq)εN(0,σ2In)τσ2

Y

YN(Xα,τZZ+σ2In).
ατσ2Yn
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.