np.corrcoef已停止工作。
它一直工作到几个小时之前,然后神秘地停止了工作。我尝试将所有数字转换为浮点数,然后将所有数字转换为int,但np.corrcoef仍然无法正常工作。
correlation_30_16 = np.corrcoef(final_output_row_30, final_output_row_16)
print()
print('correlation_30_16 = ', correlation_30_16)
给我
Warning (from warnings module):
File "/home/robert/.local/lib/python3.6/site-packages/numpy/lib/function_base.py", line 2400
c /= stddev[:, None]
RuntimeWarning: invalid value encountered in true_divide
correlation_30_16 = [[nan nan]
[nan nan]]
我正在尝试将列表30与列表16相关联。
final_output_row_30 = [0.25, 0.25, 0.25, 0.25, 0.25]
final_output_row_16 = [178, 178, 178, 178, 178]
我以前常常这样获得输出:
12_34 correlation_f_alleles = [[ 1. -0.90876454]
[-0.90876454 1. ]]
答案 0 :(得分:0)
它正常工作。问题是您的输入值。如果仅观察到相同的X和Y值,就不可能计算出相关性。
尝试np.corrcoef([0.21, 0.22, 0.23, 0.24, 0.25], [177, 178, 179, 180, 181])
,这将(正确地)为您提供每次1.0的完美相关性。
下面是相关系数的公式。由于在每种情况下xi都等于所有x的平均值(与y相同),因此您将在该行下方以零结尾。
答案 1 :(得分:0)
np.corrcoev计算相关系数矩阵。此计算包括除以两个主角的协方差,在您的情况下为零。由于相关系数在数学上是不确定的,因此会引发错误,请参见:
np.cov([0.25, 0.25, 0.25, 0.25, 0.25], [178, 178, 178, 178, 178]) # covariance is all zeros.