【问题标题】:Different type of ellipse in PCA analysisPCA分析中不同类型的椭圆
【发布时间】:2015-11-03 09:08:26
【问题描述】:

使用coord.ellipse(来自FactoMineR 包)和ordiellipse(来自vegan 包)在R 中处理单个因子映射时计算的椭圆之间有什么区别?

下面是一些可重现的代码:

library(FactoMineR)
library(vegan)
data(decathlon)

res.pca = PCA(decathlon[,1:10], scale.unit=TRUE, ncp=5, graph=T) 
pcarda <- rda(decathlon[,1:10],scale=T)

来自example here的FactomMineR。

concat = cbind.data.frame(decathlon[,13],res.pca$ind$coord)
ellipse.coord = coord.ellipse(concat,bary=T)
plot.PCA(res.pca,ellipse=ellipse.coord,cex=0.8)

带椭圆形:

ordiplot(pcarda)
ordiellipse(pcarda,groups = decathlon[,13])

这些省略号提供了完全不同的结果...

我想直观地评估这些变量是否可以真正区分我的群体。使用 coord.ellipse 时,椭圆几乎是分开的(接受假设),而使用 ordiellipse 时,它们大多是重叠的(拒绝假设)。

【问题讨论】:

    标签: r pca


    【解决方案1】:

    coord.ellipse为分类变量的重心构造置信椭圆(默认阈值为 0.95,请参阅其帮助)。

    ordiellipse 为点或它们的加权平均值构造标准偏差椭圆(请参阅参数kind 的帮助)。

    如果您给它们相同的参数,它们是等效的(默认情况下它们是不同的)。例如:

    par(mfrow=c(1,2))
    ellipse.coord = coord.ellipse(concat,bary=TRUE,conf=0.95)
    plot.PCA(res.pca,ellipse=ellipse.coord,cex=0.8,ylim=c(-4,4),xlim=c(-4,4))
    ordiplot(pcarda,ylim=c(-2,2),xlim=c(-2,2))
    ordiellipse(pcarda,groups = decathlon[,13],conf=0.95,kind="se")
    

    获取:

    它看起来并不完全相同,因为图形的比例略有不同(并且难以调整),但您可以看到它们以完全相同的方式分隔点。

    那么如何检验你的假设是Cross Validated 的问题。简而言之,如果您想表示您的组是不相交的,只需用两种不同的颜色绘制个人:它们不是。 如果您想表示各组的重心(一种均值)之间的差异,请使用 95% 椭圆(我在此处显示的那个)。从我的角度来看,这也不是很有定论,但是您会看到……或者您进行了测试,但为此您真的应该问另一个问题,并且可能比这里更多关于交叉验证的问题。

    【讨论】:

    • 好的,但是两者有什么区别呢?就我而言,我想评估我的群体是否能很好地区分变量……在这种特定情况下,这两种方法提供了不同的结果。一个有几乎分开的椭圆,另一个有大部分重叠的椭圆
    • 嗯,95% 可信区间和标准差之间的差异是一样的。在某些时候,您必须深入了解这些功能的帮助...
    • 感谢您的帮助!
    猜你喜欢
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 2022-11-09
    • 1970-01-01
    相关资源
    最近更新 更多