Соответствие наибольших собственных значений собственным векторам - PullRequest
0 голосов
/ 07 октября 2018

В Python я вычислил собственные векторы и собственные значения моей матрицы данных от X до eig().Я ищу, чтобы найти верхние 2 главных компонента данных (U = [u1 u2]).Я знаю, что верхние 2 компонента - это 2 собственных вектора, соответствующих 2 самым большим собственным значениям, но я не уверен, как рассчитать эту информацию с имеющимися данными (собственные значения, собственные векторы и X).

Собственные векторы иРассчитанные собственные значения:

 Eigenvectors = [[-0.68065502 -0.72805308 -0.08153196]
                 [-0.71680551  0.68482721 -0.13115467]
                 [-0.15132287  0.03082853  0.98800354]]

 Eigenvalues = [2.84217094e-14  2.15257831e+02  8.95193455e+02]

1 Ответ

0 голосов
/ 08 октября 2018

С учетом собственных значений, которые вы получили Eigenvalues = [2.84217094e-14 2.15257831e+02 8.95193455e+02]

Ваши два самых больших собственных значения равны 8.95193455e+02 and 2.15257831e+02, сумма ваших собственных значений равна 1110.0, что соответствует 100% информации.Таким образом, ваше наибольшее собственное значение 8.95193455e+02 содержит 80,6% информации.Второе собственное значение 2.15257831e+02 содержит оставшиеся 19,4% информации, а последнее собственное значение 2.84217094e-14 слишком мало, поэтому его можно считать шумом.

Для собственных векторов, соответствующих этим собственным значениям, каждый столбецВаша матрица Eigenvectors связана с одним собственным значением, и они находятся в том же порядке.

Например, ваше первое собственное значение 8.95193455e+02 связано с собственным вектором

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