当试图计算numpy corrcoef时
cc = np.corrcoef(y, y2)
y
和y2
的形状为
<class 'tuple'>: (32383, 1)
我的电脑挂了。不仅是翻译而且是整台计算机。
这怎么可能以及如何解决?
答案 0 :(得分:0)
根据documentation,默认情况下“每行代表一个变量,在列中有观察结果”。具有形状(32383, 1)
意味着32383个变量,每个变量具有1个观察值,这对于相关目的而言完全没有意义。所以,抛开计算机行为,继续前进的方式是
cc = np.corrcoef(y, y2, rowvar=False)
表示您的列对应于变量。
答案 1 :(得分:0)
计算两个形状this.postToPaymentApi(url, data, options, order).then(data => {
console.log(data);
})
数组之间的相关系数将产生(32383, 1)
数组。这样的数组的大小为(32383, 32383)
。考虑到您在计算结果时可能会有一些开销,您可能需要大约几十Gb来计算它。
可能发生的事情不是您的计算机挂起,而是计算溢出RAM并开始执行paging,即使用硬盘驱动器存储部分结果。这非常慢,因此您的计算机似乎已经挂起。如果有足够的时间,它应该给出结果。
如果您想要计算行式互相关(形状为(32383 * 32383 * 8) / (1024 ** 3) = 7.8 Gb
),您可以这样做:
(1, 1)