0

我想计算两个数组之间的 Pearson 相关性。

函数 CORR 只接受必须在表中的 2 个值。在我的过程中,我从两个不同的集合中选择多行数字,我想计算它们的相关性。

编辑:

corr 函数是一个 oracle 函数,用于计算两个值之间的 pearson 相关性。这是问题所在。我想计算两个数组之间的相关性,这对我来说 array1 类似于 array2,例如 50%。

4

1 回答 1

3

您可以简单地计算成对相关性的平均值

select 
  (abs(corr1) + abs(corr2) + abs(corr3))/3 as Avg_Corr
from (
  SELECT 
    CORR(a.col1, b.col1) as corr1,
    CORR(a.col2, b.col2) as corr2,
    CORR(a.col3, b.col3) as corr3
  FROM table1 a, table2 b
  WHERE a.id = b.id
)

或使用更复杂但更充分的 Pearson 相关性泛化(Oracle 中没有用于此的内部函数)

于 2013-03-23T16:34:25.570 回答