我介绍一下python常见的两种相关系统的算法:1)pearsonr(皮尔松相关系数);2)mine(互信息)
1)皮尔松相关系数主要描述变量之间线性相关性,下面是python的实现库
from scipy.stats import pearsonr
需要注意的是pearsonr()的输入数据可以是两个维度(200,1)
2)互信息可以描述任意变量之间的相关性(线性或者非先线性),下面是python的实现库
from minepy import MINE
需要注意的是pearsonr()的输入数据只能是一维度,比如(200,)
def print_stats(mine):
print "MIC", mine.mic()
print "MAS", mine.mas()
print "MEV", mine.mev()
print "MCN (eps=0)", mine.mcn(0)
print "MCN (eps=1-MIC)", mine.mcn_general()
print "GMIC", mine.gmic()
print "TIC", mine.tic()
x = np.linspace(0, 1, 1000)
y = np.sin(10 * np.pi * x) + x
mine = MINE(alpha=0.6, c=15, est="mic_approx")
mine.compute_score(x, y)