Расчет корреляционной матрицы - PullRequest
1 голос
/ 13 января 2020

Я пытаюсь вычислить матрицу корреляции результатов SVD, используя следующий код Python. Однако результатом является одно большое число. Я также не уверен, должен ли этот код давать тот же результат, что и pd.DataFrame(vh).corr() или pd.DataFrame(vh).corr(method ='kendall'). Пожалуйста, посмотрите следующие изображения для разъяснения того, что я пытаюсь сделать:

Sigma v transposed

normalised columns

Это код python, который я пытаюсь использовать:

u, s, vh = svd(A, full_matrices=False)

sigma_vh = s.dot(vh)

e_normed = sigma_vh / sigma_vh.max(axis=0)

eh = np.transpose(e_normed)

ehe = eh.dot(e_normed)

1 Ответ

0 голосов
/ 13 января 2020

Я думаю, вы должны разделить sigma_vh на норму каждого столбца, чтобы нормализовать столбцы, а именно:

e_normed = sigma_vh / np.linalg.norm(sigma_vh, axis=0)

Кроме этого я не вижу проблем.

...