我在 Matlab 中有 2 个示例向量:
A = [5,3,3,0,4,1,5,0,2,5,5,0,5,3,4,0,1,4,4,0,4,2];
B = [1,0,0,0,1,0,4,0,0,0,0,4,4,0,1,0,0,0,0,0,0,0];
什么时候,我尝试使用手动方法计算皮尔逊相关性并使用 excel 进行计算,结果相同(0.667)
1 0,667 0,667 1
但是当我在 MatLab 中尝试使用简单的代码时:
pearson = corr(A',B');
它返回不同分数的结果(0,2139)。
1 0,2139 0,2139 1
也许它的发生是因为零分数(0)用于计算它。发生是因为缺失值将在 matlab 中被零(0)替换。
在 Pearson Correlation 中,仅使用 co-rated value 来计算它。(见粗体值)
A = [ 5 ,3,3,0, 4 ,1, 5 ,0,2,5,5,0, 5 ,3, 4 ,0,1,4,4,0,4,2]; B = [ 1 ,0,0,0, 1 ,0, 4 ,0,0,0,0,4, 4 ,0, 1 ,0,0,0,0,0,0,0];
或者它可以变得简单:
A = [ 5 , 4 , 5 , 5 , 4 ]; B = [ 1 , 1 , 4 , 4 , 1 ];
有谁知道,如何为此制作简单的代码?我在程序代码中尝试过:首先,使函数corated,average_corated,然后最后计算相似度。它花费了太多时间。
谢谢之前:)