当数据具有极大的多重共线性时,使用R识别最重要的预测变量的过程?

时间:2019-02-20 11:00:45

标签: r

我有一个大约36个预测变量的数据库,我正在使用它们来预测目标变量。目标是由三个不同类别组成的类别变量,而预测变量包括数字变量和类别变量。

但是,数据存在严重的多重共线性。我正在尝试建立一个简约的逻辑回归模型,因此需要减少变量。根据VIF值,一旦我减少变量数量,结果就会变得直观。另一方面,我不太确定PCR是否可以解决问题,因为我需要根据每个变量的敏感性进行推断。

解决这种问题的更好的选择是什么?

我可以使用'R'中的哪些软件包?

因子分析会解决问题吗?

还是可以从PCR推断一切?

1 个答案:

答案 0 :(得分:0)

您首先需要运行ANOVA / Kruskall Wallis测试,以检查哪些变量非常适合您的问题。对于36个变量,我认为您不需要PCA,因为这会使您的模型失去一些可解释性。

请记住,PCA将减少维数,并且仅解释部分数据差异。如果您要对分组变量的每个因子进行分段逻辑回归,因子分析将在因子中生成变量组。

如果要构建简约逻辑回归,可以应用一些正则化,以便增加其泛化属性,而不是减少变量数。

您可以使用以下R程序包:脱字符号(逻辑回归),ROCR(AUC),ggplot(曲线),DMwR(异常值),小鼠(缺失值)

此外,如果要进行正则化,可以使用以下公式:

Lasso

Ridge

在这种情况下,您可以在没有库的情况下从头开始进行正则化,以调整S型曲线的倾斜度,以便可以正确地对类进行分类:

Sigmoid