我读过一些关于非独立同分布数据的论文。根据维基百科,我知道什么是iid (独立且相同的分布式)数据,但仍然对non-iid感到困惑。我做了一些研究,但找不到明确的定义和例子。有人可以帮我吗?
5 回答
来自维基百科iid
:
“独立同分布”意味着序列中的一个元素独立于它之前的随机变量。这样,IID 序列不同于马尔可夫序列,其中第 n 个随机变量的概率分布是序列中前一个随机变量的函数(对于一阶马尔可夫序列)。
作为一个简单的合成示例,假设您有一个具有 6 个面的特殊骰子。如果上一次面值为1,那么下一次扔,仍然会以0.5的概率得到面值为1,以0.1的概率得到面值为2、3、4、5、6的各面值。但是,如果最后一次面值不是 1,那么你得到每个面的概率相等。例如,
p(face(0) = k) = 1/6, k = 1,2,3,4,5,6 -- > initial probability at time 0.
p(face(t) = 1| face(t-1) = 1) = 0.5, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 2| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 3| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 4| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 5| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
p(face(t) = 6| face(t-1) = 1) = 0.1, p(face(t) = 1| face(t-1) != 1) = 1/6
face(t) stands for the face value of t-th throw.
这是一个示例,当第 n 个随机变量(第 n 次投掷的结果)的概率分布是序列中前一个随机变量的函数时。
我在一些机器学习场景中看到了非相同和非独立(例如,马尔可夫)数据,这可以被认为是非独立同分布的例子。
使用流数据进行在线学习,当传入示例的分布随时间变化时:示例的分布不同。假设您有一个用于预测在线广告点击率的学习模块,来自用户的查询词的分布在一年中根据季节性趋势发生变化。夏季和圣诞节期间的查询词应该有不同的分布。
主动学习,学习者要求特定数据的标签:也违反了独立性假设。
使用图形模型学习/推理。变量通过依赖关系连接。
以一种非常随意的方式(因为我假设您已经阅读了技术定义),iid 意味着如果您有一堆值,那么这些值的所有排列具有相等的概率。所以如果我有3,6,7
那么这个概率等于概率7,6,3
等于6,7,3
等等。也就是说,每个值都不依赖于序列中的其他值。
作为一个反例,想象一下x
每个元素x_i
比前一个元素高一个或低一个的序列,有 50-50 的机会发生这些中的哪一个。那么一个可能的序列是1,2,3,2,3,4,3,2
。应该清楚的是,该序列的某些排列不是等概率的:特别是,序列开始1,4,...
的概率为零。x_i | x_i-1
如果您愿意,您可以考虑将表单对视为 iid。
这是一个不独立的问题示例。问题定义:假设您有一个 2D 图像,其中有一个 blob。您想要构建一个以 5X5 图像块作为输入进行操作的块分类器,并将中心像素分类为“边界”或“非边界”。您的要求是每个补丁的生成分类定义一个连续的轮廓(一个像素厚),该轮廓准确地围绕斑点的边界进行追踪。本质上是一个边缘检测器。还假设将边界错位几个像素的轻微错误无关紧要,但是边界轮廓的连续性确实很重要(它不应该有任何中断)。
这如何不独立: 示例 1:假设您有一个很好的解决方案轮廓 A。另一个有效的解决方案 B,它只是 A 向右移动了 2 个像素,请注意,像素级别的大多数分类是不同的,但是解决方案仍然有效。示例 2:假设您获得了有效的解决方案 A,但只有一个输出像素右移了 2 个像素以创建输出 C。这次您的轮廓已损坏,解决方案无效。这演示了分类器如何需要了解其他附近像素示例的答案,以确定是否应将特定像素分类为边界。
从字面上看,non iid
应该与iid
任何一种方式相反,independent
或者identical
。
因此,例如,如果掷硬币,letX
是结果为尾Y
的事件的随机变量,是结果为头的事件的随机变量,则X
和Y
肯定是相关的。它们可以由彼此决定。
至于非identical
,一旦两个随机变量的分布不相同,就可以称它们为不相同的。
因此,任何一种情况都发生了,你可能会得到一个案例的non iid
例子。
“iid”实际上不是真实数据的属性,而是观察者对此数据的假设。如果您将 greeness 的回答中每次提到的“iid 数据”和“非 iid 数据”都替换为“[...] 数据的假设”,那么我完全同意他们的看法。
但是,由于该问题特别要求提供非 iid 数据的示例,因此必须补充说没有此类数据,因为您可以从字面上获取任何数据并假设它是 iid 或非 iid。这个假设只是对选项的一个有益限制,它使统计建模在许多情况下更容易甚至是可能的。
这在文献中并没有很清楚地说明,其中 iid 经常被表示为真实世界数据的属性。这是可以理解的,但仍然有点危险,因为它隐含地假设我们作为观察者可以确定有关数据源(即生成过程)的信息,而实际上我们不能。
当然,这只适用于真实世界的数据。任何人都可以根据某种分布生成人工数据,这必然导致数据是独立同分布的。但是,如果不了解事实数据之外的生成过程,就无法确定这一点。只给定数据,没有办法说它是否是 iid。
我知道有些方法假设数据是非独立同分布的,并尝试相应地找到不同的分布。在许多情况下,这会有所帮助,因为数据实际上是由非平稳随机过程生成的。但是数据只给你样本,确定它是否真的是独立同分布所需的归纳推理总是容易出错。