我们知道训练数据中是否存在任何线性依赖关系,因此,特征矩阵变得奇异,因此我们无法解决它。但是除了特征(列)之外,如果矩阵有重复的行,它仍然可以是单数的。更具体地说,如果我们在训练数据中提供重复的示例,就会发生这种情况。因此,从逻辑上讲,它也应该产生multi-collinearity问题。但在我看来,与特征线性相关的问题相比,这个问题被低估了。行中的线性依赖不会产生multi-collinearity问题吗?这个案子有别的名字吗?如果我错了,请纠正我。如果存在重复或线性相关的行并且如果它们产生问题,如何发现和解决这个问题?
重复的例子会产生多重共线性吗?
机器算法验证
回归
分类
线性模型
多重共线性
数据预处理
2022-04-19 18:57:27
2个回答
正如 Christoph Hanck 所建议的,重复的例子不会导致任何多重共线性问题。多重共线性“问题”是由数据矩阵中的重复“列”而不是“行”引起的。
直观地说,行是数据样本,列是特征/度量,多重共线性意味着我们有冗余的特征/度量,想想我们可以用不同的单位来测量一个人的身高,例如以厘米和英寸为单位。
另一方面,“重复样本”是完全正常的,就像其他答案所建议的那样,很多情况下人们具有相同的性别和教育状况。
假设如果我们有一个数据矩阵的两列相同,或者的一列可以通过其他列的线性组合得到,不会是满秩的,并且会出现多重共线性。
正则化将有助于多重共线性。即使是少量的正则化(L1 或 L2)也会使矩阵满秩。
相关文章
重复行没有问题。考虑一些应用示例,例如“教育回报”,即人们根据他们的教育、性别、经验等获得多少收入。数据集中可以而且经常会有人具有相同的性别、受教育年限和多年的劳动力市场经验。所以也没有必要修复。
请注意,多重共线性意味着回归矩阵没有完整的列秩,这反过来又是我们需要OLS 估计器中涉及
如果仍需要查找重复行,可以按如下方式完成:
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
其它你可能感兴趣的问题