Correlation Mining 关系挖掘

相关性挖掘的任务是:尝试发现变量间的实质性的线性相关关系。

通常采用零假设显着性检验(NHST),计算p值,将其与某个阀值(0.05)进行比较,来判断显著性。

存在的问题是:如果仅采用零假设显着性检验,在存在非常多变量的数据集中,变量之间的关系可能会偶然地呈出显著性。

例如:数据集有20个变量,就有20×19/2=190对两两变量对,如果所有的变量值都是随机生成的,那也可能会有190×0.05=9.5,有9.5个相关性关系呈现显著性。而这其中究竟有哪几个相关性是真正显著,可以信赖的呢?

应对方式是采用事后检验(post hoc)来控制。

主要有两种事后检验控制范式:

  1. 误差率判断族(familywise error rate,FWER)控制方法
    对每一个显著性测试都进行控制,防止错误的显著性判断
  2. 错误发现率(False discovery rate, FDR)控制方法
    对错误发现率的总体进行控制

1 误差率判断族 FWER

最经典的FWER控制方法是邦费罗尼相关性(Bonferroni correlation),其方法为:

如果对同一个数据集进行n个显著性的统计检验,那么调整显著性阀值α为α/n。

例如:如果对同一个数据集进行4对变量对之间相关性的显著性检验,使用0.05/4=0.0125作为阀值。

 

例1,5个相关性的显著性检验:

p=0.04, p=0.12, p=0.18, p=0.33, p=0.55

阀值为0.05/5=0.01,将没有一个显著的结果,即便是p=0.04的情况也被视为随机因素所致。

 

Bonferroni 方法的优缺点:

优点:

  1. 采用这种方法几乎可以“确信”得到的显著相关是真实的。
  2. 并不假设检验之间是独立的

缺点:

  1. 过于保守

 

Bonferroni方法以外还有

  1. Holm Correction
  2. Tukey’s HSD
  3. Sidak Correction

等FWER控制方法。


2 错误发现率 FDR

常用方法为Benjamini,Hochberg方法,过程如下:

将n个相关性的显著性检验按照p值由低到高的顺序排列。

i = 1:n {

以α×i / n作为显著性检验的阀值,检验第i个p值

一旦出现不显著的情况就break

}

例2,5个相关性的显著性检验:

排序后为:

p=0.001, p=0.011, p=0.02, p=0.03, p=0.04

将第一个p=0.001与0.05×1/5=0.01比,显著。

将第二个p=0.011与0.05×2/5=0.02比,显著。

将第三个p=0.02与0.05×3/5=0.03比,显著。

将第四个p=0.02与0.05×4/5=0.04比,显著。

将第五个p=0.02与0.05×5/5=0.05比,显著。

如果对例2,采用Bonferroni ,则阀值为0.05/5=0.01,只有p=0.001一个情况能通过检验。

 

与NHST比,FDR要更加保守;与FWER比,FDR则没那么保守。


3 小结

相关性挖掘能发现变量之间在数学上体现出的关联性,重中之重在于选择合适的保守的程度。

下面是三种显著性检验的小结:

  • NHST:
    α=0.05
    对于单一的一个相关性的显著性检验,如果在完全随机的情况下只有5%以内的概率获得我们的数据,那么就否 定零假说, 承认显著的相关性。
    这种范式接受5%的误差情况.
  • FWER:
    α=0.05/n 对于每一千夺目关性的显萎性检验,如果在完全随机的情况下只街5%/n以内的概率获得我们的数据,那
    么就否定零假说, 承认显著的相关性。
    这种范式接受小子5%的总体误差情况。
  • FDR :
    α=0.05
    对于所有的相关性的显著性检验,如果在完全随机的情况下只有5%以内的概率获得我们的数据,那么就否定零假说, 承认显著的相关性。
    这种范式接受5%的总体误差情况。

Leave a Reply

Your email address will not be published. Required fields are marked *