所以我有一个数据集,它是分子丰度作为物理参数的函数,我想确定两者之间的相互关系。这两个参数都有几个数量级。
因为两者不是线性相关的,所以我选择使用来自scipy.stats.spearmanr
的Spearman等级相关系数。但我的问题是,结果有时没有意义,我无法弄清楚我做错了什么。
下图是绘制三种不同时间(颜色)丰度的图。但令人好奇的是,虽然黑线显示丰度下降,因此负相关系数,其他两条线显示正相关,尽管它们与黑线没有那么不同!
这是我使用的代码,我排除了代码的化妆品部分。
for t in range(0, len(times)):
ax.loglog(parameter, abunds[t], color=colors[t])
corr_coeffs[t] = stats.spearmanr(np.log10(parameter),np.log10(abundances[t,:])
patches.append(mpatches.Patch(color=colors[t], label="r=" + str(("%.2f"%corr_coeffs[t,0])) + ", p=" + str(("%.2f"%corr_coeffs[t,1])) + " | " + time_label[t]))
legend = plt.legend(handles=patches, fontsize="large", loc='best')
plt.savefig('example.png')
如果有人能向我解释这种奇怪的行为,我将非常感激。