在 numpy 中计算相关性

新手

假设我有一个形状为 (n_rows_ma,n_cols_ma) 的二维数组 ma,以及一个形状为 (n_rows_mb,n_cols_mb) 的二维数组 mb。现在我想计算 ma 中的每一行和 mb 中的每一行之间的相关性。最简单的方法可能是

import numpy as np
correlation = np.corrcoef(ma,mb)[:n_rows_ma,n_rows_ma:]

但这太低效了。所以我想知道是否有更有效的方法?

保罗·潘泽

corrcoef 的公式很容易实现,因此我们可以只计算我们想要使用的内容:

>>> import numpy as np
>>> 
>>> ma = np.random.random((5,6))
>>> mb = np.random.random((3,6))
>>> 
>>> za = ma - ma.mean(axis=1, keepdims=True)
>>> za /= np.sqrt(np.einsum('ij,ij->i', za, za))[:, None]
>>> zb = mb - mb.mean(axis=1, keepdims=True)
>>> zb /= np.sqrt(np.einsum('ij,ij->i', zb, zb))[:, None]
>>> 
>>> cc = np.einsum('ik,jk', za, zb)
>>> 
>>> np.allclose(cc, np.corrcoef(np.r_[ma, mb])[:5, 5:])
True

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中计算Pearson相关性

来自分类Dev

Python,numpy相关性返回nan

来自分类Dev

如何提高非常低效的numpy代码来计算相关性

来自分类Dev

numpy和statsmodels在计算相关性时会给出不同的值,如何解释呢?

来自分类Dev

在R中的数据帧中计算相关性

来自分类Dev

遍历文件列表并在R中计算它们之间的相关性

来自分类Dev

R-比较计算的相关性

来自分类Dev

R-比较计算的相关性

来自分类Dev

Apache Spark-计算相关性

来自分类Dev

生成与现有1D数组具有预先指定的相关性的NumPy 1D数组?

来自分类Dev

计算R中函数生成的数据的相关性

来自分类Dev

计算表中各列之间的相关性

来自分类Dev

根据列名计算两列之间的相关性

来自分类Dev

计算时间序列上的滚动相关性

来自分类Dev

如何使用Postgresql计算不同组之间的相关性

来自分类Dev

mysql select ... in,计算几个匹配的相关性

来自分类Dev

计算不同大小的2D信号的相关性

来自分类Dev

计算单独的相关性,按列值分组

来自分类Dev

如何向zabbix snmp数据添加相关性/计算

来自分类Dev

在MQL4中如何计算Pearson的相关性?

来自分类Dev

如何计算XTS中行之间的滚动相关性?

来自分类Dev

计算 R 数据框列之间的相关性

来自分类Dev

以面板数据长格式计算相关性

来自分类Dev

迭代计算具有列相关性的行?

来自分类Dev

如何计算/测量excel中文本的相关性?

来自分类Dev

在 numpy/scipy 中计算窗口概率

来自分类Dev

计算矩阵中每对行的自相关和互相关之间的相关性

来自分类Dev

更新HATEOAS的相关性

来自分类Dev

MySQL相关性排序