我有一个大小为10,000 x 50,000
的矩阵A和一个大小为8 x 50,000
的矩阵B.
我想计算矩阵A的每一行与矩阵B的每一行之间的Spearman相关性(总共80,000个相关)。如果我循环调用spearmanr
80,000次,则需要2,584秒。
如果我运行spearmanr(A, B, axis=1)
,那么结果的大小为10,008 x 10,008
,这意味着此方法计算了100,160,064个相关性,而我只需要80,000个相关性。然而,即使这样,它也需要更少的时间 - 576秒。显然这种方法效率更高。
问题是如何使用这种有效的实现,并且只需要80,000次计算?