Сейчас я работаю над панелью данных панд (mxn) следующим образом:
X1 X2 X3 X4 X5 Xn-1 Y
0 a b c d e f ... a 0
1 e c a a b b ... c 1
2 d e f a c c ... f 1
. ... .... ... . .
. ... .... ... . .
. ... .... ... . .
m-1 f b c d a a ... c 0
Столбцы от X1 до (n-1) состоят из букв «a», «b», «c», «d» или «f». Столбец ['Y'] состоит из двоичных 0 или 1.
Теперь я хочу вычислить коэффициент корреляции между каждым Си и Y, какой алогритмм следует использовать? я должен использовать Кендалл ту? Тем не менее, кажется, что кендалл ту применим к вариалбам с определенным порядком ранга, таким как X = [1,2,3,4,5], Y = [3,5,7,9,11], но мои данные не не имеет никакого рангового порядка. «A», «b», «c», «d», «e», «f» и «0», «1» полностью независимы друг от друга. Можно ли применить метод Кендалла в этой ситуации? Это лучший метод, который можно применить?
Я могу применить гипертезию кендалла ту и использовать следующие коды для вычисления корреляции:
les = []
x = data[:,:n-1]
for i in range(x.shape[1]):
le = preprocessing.LabelEncoder()
le.fit(x.iloc[:,i])
les.append(le)
x.iloc[:,i] = le.transform(x.iloc[:, i])
for i in range(x.shape[1]):
print "site = ", cols[i]
df['X'] = x.iloc[:,i]
corr = df.corr(method='kendall')
corr_value.append(corr.iloc[0,1])
Я считаю, что для некоторого Си коэффициент корреляции равен 'nan', почему?
Не могли бы вы помочь мне с этими проблемами? Заранее спасибо!