重复的例子会产生多重共线性吗?

机器算法验证 回归 分类 线性模型 多重共线性 数据预处理
2022-04-19 18:57:27

我们知道训练数据中是否存在任何线性依赖关系,因此,特征矩阵变得奇异,因此我们无法解决它。但是除了特征(列)之外,如果矩阵有重复的行,它仍然可以是单数的。更具体地说,如果我们在训练数据中提供重复的示例,就会发生这种情况。因此,从逻辑上讲,它也应该产生multi-collinearity问题。但在我看来,与特征线性相关的问题相比,这个问题被低估了。行中的线性依赖不会产生multi-collinearity问题吗?这个案子有别的名字吗?如果我错了,请纠正我。如果存在重复或线性相关的行并且如果它们产生问题,如何发现和解决这个问题?

2个回答

正如 Christoph Hanck 所建议的,重复的例子不会导致任何多重共线性问题。多重共线性“问题”是由数据矩阵中的重复“列”而不是“行”引起的。

直观地说,行是数据样本,列是特征/度量,多重共线性意味着我们有冗余的特征/度量,想想我们可以用不同的单位来测量一个人的身高,例如以厘米和英寸为单位。

另一方面,“重复样本”是完全正常的,就像其他答案所建议的那样,很多情况下人们具有相同的性别和教育状况。

假设如果我们有一个数据矩阵的两列相同,或者的一列可以通过其他列的线性组合得到,不会是满秩的,并且会出现多重共线性。XXXXX

正则化将有助于多重共线性。即使是少量的正则化(L1 或 L2)也会使矩阵满秩。XX

相关文章

什么是等级不足,如何处理?

最小二乘回归逐步线性代数计算

线性回归使用什么算法?

重复行没有问题。考虑一些应用示例,例如“教育回报”,即人们根据他们的教育、性别、经验等获得多少收入。数据集中可以而且经常会有人具有相同的性别、受教育年限和多年的劳动力市场经验。所以也没有必要修复。

请注意,多重共线性意味着回归矩阵没有完整的秩,这反过来又是我们需要OLS 估计器中涉及XX

如果仍需要查找重复行,可以按如下方式完成:

set.seed(1)
n <- 10
education <- sample(10:15, n, replace=T)
gender <- sample(0:1, n, replace=T)

(X <- cbind(education, gender))

duplicated(X)

> (X <- cbind(education, gender))
      education gender
 [1,]        10      0
 [2,]        13      0
 [3,]        10      0
 [4,]        11      1
 [5,]        14      1
 [6,]        12      1
 [7,]        15      1
 [8,]        11      0
 [9,]        12      0
[10,]        12      0

> duplicated(X)
 [1] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE