Как рассчитать коэффициент корреляции между дискретной переменной и двоичной (0, 1) переменной - PullRequest
0 голосов
/ 25 июня 2018

Сейчас я работаю над панелью данных панд (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', почему?

Не могли бы вы помочь мне с этими проблемами? Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...