健壮的方法真的更好吗?


17

我有两组主题,A和B,每组的大小大约为400,预测变量大约为300。我的目标是为二进制响应变量建立预测模型。我的客户希望看到从A到B应用从A构建的模型的结果。(在他的书《回归建模策略》中,@ FrankHarrell提​​到最好将两个数据集结合起来并以此为基础构建模型,因为这样做会增加强大和精确---参见第90页,外部验证,考虑到收集我拥有的数据类型非常昂贵且耗时,我倾向于同意他的看法,但是我无法选择客户想要的东西。)我的许多预测变量都是高度相关的,而且也很偏斜。我正在使用逻辑回归来建立预测模型。

我的预测指标主要来自力学。例如,总时间的主题是一个应力比阈值高的下为时间段[ 12 ]中,出于各种值α > 0和。显然,仅从它们的定义来看,这些总时间中有许多是代数相关的。许多与代数无关的预测变量由于其性质而相互关联:在时间段中处于高压力下的对象在时间段[ t 3t 4趋于高压力下α[Ť1个Ť2]α>0 [ 12 ]0Ť1个<Ť2[Ť1个Ť2],即使 [ 12 ] [ 34 ] = 。为了减少数据量,我将相关的预测变量聚在一起(例如,所有总应力时间都聚在一起),并使用主成分分析来表示每个聚类。由于变量存在偏差,因此我尝试了两种替代方法:[Ť3Ť4][Ť1个Ť2][Ť3Ť4]=

  • 在进行PCA之前,我使用了对数转换来减少变量的偏斜。
  • 我使用了Mia Hubert的ROBPCA算法(由R中的rrcov包(PcaHubert)实施)来找到健壮的主成分。

我将ROC曲线的整体形状,精度召回曲线的形状以及ROC曲线下的面积(AUC)用作我的性能指标,并且我希望对数据集A和B都获得相似的结果我原本希望使用健壮的主成分会得到更好的结果,但是令我惊讶的是,第一种方法做得更好:A和B数据集的AUC值都更好,ROC曲线之间的相似度更高,而精确度调用也更相似曲线。

这有什么解释?以及如何使用健壮的主成分,而不是试图使数据看起来正常?您是否建议使用任何特定的健壮PCA方法代替ROBPCA?


“我将相关预测变量聚在一起”您能更好地解释涉及哪些步骤吗?“我期望使用健壮的主成分会得到更好的结果。”您能解释一下如何衡量结果吗?
user603 2012年

您为什么认为合并数据集更好?我完全不同意。这种问题所面临的一个困难是过分依赖特定数据。在另一个数据集上测试模型是一个好主意。
彼得·弗洛姆

在什么意义上,日志变量的常规PCA会“更好”?它更直观吗?在第二个数据集中是否提供了更好的结果?
彼得·弗洛姆

谢谢@PeterFlom的意见!我已根据您的评论更新了问题。
2012年

谢谢@ user603的评论!我已经更新了问题以反映您的评论。
2012年

Answers:


17

简而言之,根据您的描述,您正在以两种方式将苹果与橙子进行比较。

让我简要地解决第一个可比性问题。日志转换并没有解决异常问题。但是,它可以帮助使偏斜严重的数据更加对称,从而有可能提高任何PCA方法的适用性。简而言之,数据并不能代替进行可靠的分析,在某些情况下(数据偏斜)很可能是一个补充。撇开这第一个混杂因素,在本文的其余部分中,我将使用一些非对称双变量数据的对数转换版本。日志

考虑以下示例:

library("MASS")
library("copula")
library("rrcov")
p<-2;n<-100;

eps<-0.2
l1<-list()
l3<-list(rate=1)
#generate assymetric data
model<-mvdc(claytonCopula(1,dim=p),c("unif","exp"),list(l1,l3));
x1<-rMvdc(ceiling(n*(1-eps)),model);
#adding 20% of outliers at the end:
x1<-rbind(x1,mvrnorm(n-ceiling(n*(1-eps)),c(7,3),1/2*diag(2))) 

数据

现在,将两个模型拟合(ROBPCA和经典pca都在数据记录中):

x2<-log(x1)
v0<-PcaClassic(x2)
v1<-PcaHubert(x2,mcd=FALSE,k=2)

现在,考虑每种方法找到的最小变化的轴(在这里,为方便起见,我将其绘制在对数转换的空间上,但是您会在原始空间上得到相同的结论)。

模型

可见,ROBPCA在处理数据的未污染部分(绿点)方面做得更好:

但是现在,我要说第二点了。

Hüž一世w一世)的健壮(古典)PCA得分WRT到至少变化的轴-

你有(在上面的图中这是安静可见的):

一世Hüž一世2<一世Hüw一世21个

但您似乎对此感到惊讶:

一世=1个ñž一世2>一世=1个ñw一世22

-描述测试过程的方式是在整个数据集上计算拟合评估标准,因此评估标准是(2)的单调函数,应使用(1)的单调函数-

换句话说,不要期望健壮拟合比完整数据集上的非健壮过程具有更小的平方正交残差和:健壮估计量已经是完整数据集上SSOR的唯一极小值。


1
谢谢您的答复。我花了一些时间来尝试其他数据,并考虑您的回答以真正理解它。
user765195 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.