如何在 PCA 和逻辑回归之间做出决定?

机器算法验证 回归 物流 主成分分析
2022-03-27 17:52:06

我一直在研究一些高级统计数据,但是一些概念和方法之间的差异很难掌握。

假设我有一大群人,每个人都有一组变量,如年龄、身高、智商等。他们可以属于犯罪组或 NotCriminal 组。

如果我想评估哪些特征更有可能影响某人是否是犯罪分子,我应该使用 PCA 还是逻辑回归?

3个回答

两种方法之间的主要区别

  • PCA不会考虑响应变量,而只会考虑自变量的方差。
  • 逻辑回归将考虑每个自变量如何影响响​​应变量。

我们可以举一个例子,PCA 和逻辑回归将产生完全不同的结果,即一种方法表明某些特征很重要,而另一种则相反。

下面是我们如何构建示例:自变量的方差非常小(见左图的比例不同。),但它与响应密切相关(从代码中,您可以看到是基于加上均匀噪声)。X1x1x2yX1

逻辑回归会说它非常重要(参见代码部分中模型的总结),但 PCA 会说相反(参见双图/右子图,箭头的长度很短很短。)。X1

在此处输入图像描述


代码(如果您想进行相同的模拟)

set.seed(0)
n_data=200
x1=rnorm(n_data,sd=0.3)
x2=rnorm(n_data,sd=1)
y=ifelse(x1+0.1*runif(n_data)>0,1,2)
par(mfrow=c(1,2),cex=1.2)
plot(x1,x2,col=y,pch=20)

summary(glm(factor(y)~x1+x2-1,family = binomial()))

pr.out=princomp(cbind(x1,x2))
biplot(pr.out,xlabs=rep("*",200))


> summary(glm(factor(y)~x1+x2-1,family = binomial()))

Call:
glm(formula = factor(y) ~ x1 + x2 - 1, family = binomial())

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.27753  -0.19392  -0.00118   0.05413   1.24053  

Coefficients:
   Estimate Std. Error z value Pr(>|z|)    
x1 -26.4414     4.8434  -5.459 4.78e-08 ***
x2  -0.4267     0.2975  -1.434    0.152    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 277.259  on 200  degrees of freedom
Residual deviance:  66.817  on 198  degrees of freedom
AIC: 70.817

Number of Fisher Scoring iterations: 8

https://en.wikipedia.org/wiki/Principal_component_analysis

主成分分析 (PCA) 是一种统计过程,它使用正交变换将一组可能相关的变量的观察值转换为一组称为主成分的线性不相关变量的值。

它与逻辑回归完全不同。PCA 不能替代逻辑回归。你甚至可以一起使用它们。PCA 可用于在 PCA 转换之前删除具有强相关性的维度。PCA 实际上有一个问题,它只查看维度,而不是类别,因此存在线性判别分析 (LDA)。 https://en.wikipedia.org/wiki/Linear_discriminant_analysis

LDA 不是逻辑回归的替代品,而是对需要保持类别分离的数据执行类似 PCA 的操作的变体,例如使逻辑回归更快/更简单。

PCA 擅长简化众多变量并将它们重新组合成三个称为主成分的巨型变量。通过这样做,PCA 非常擅长解决众多变量中的多重共线性问题。您的主成分将等同于对您的变量组合进行加权的指数。一个变量通常包含在所有三个主成分中。鉴于此,PCA 通常很难解释。它使模型非常不透明,缺乏透明度和解释力。如果你必须将你的结果传达给任何不是超级量化分析师的人,那就更是如此。最后但并非最不重要的一点是,我不认为传统的 PCA 确实适用于二项式变量。其他人提到了判别分析,它比 PCA 更有效。但,它在不透明方面也有类似的问题。但是,它不是具有三个重组的主成分,而是具有三个主要的判别式。那些重组的变量真的很难解释。

鉴于上述情况,Logit 回归更适合您想要实现的目标。此方法专门用于完全按照您的方式处理二项式变量。而且,通过标准化变量的回归系数,您将能够轻松测量它们对因二项式变量的相对影响。