2013-03-23 53 views
0

我想计算两个数组之间的Pearson相关。来自多行的Pearson相关

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

编辑:

CORR函数是一个oracle函数,其计算两个值之间的Pearson相关性。这是问题。我想计算两个数组之间的相关性,这些数组对我说array1类似于例如50%的array2。

+0

你能否澄清一点。 “CORR”调用是程序的一部分,还是程序的结果正在进入“CORR”调用? – woemler 2013-03-23 15:55:20

+1

你有什么问题实施公式? – Ben 2013-03-23 15:59:24

+0

编辑了我的问题 – bladepit 2013-03-23 16:03:40

回答

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 
) 

,或者使用更复杂,但更充足generalization of Pearson correlation(有在Oracle中没有内部函数本)的平均

+0

谢谢你的想法... – bladepit 2013-03-23 16:43:48