我想计算两个数组之间的 Pearson 相关性。
函数 CORR 只接受必须在表中的 2 个值。在我的过程中,我从两个不同的集合中选择多行数字,我想计算它们的相关性。
编辑:
corr 函数是一个 oracle 函数,用于计算两个值之间的 pearson 相关性。这是问题所在。我想计算两个数组之间的相关性,这对我来说 array1 类似于 array2,例如 50%。
您可以简单地计算成对相关性的平均值
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 中没有用于此的内部函数)