2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Собственные вектора СИММЕТРИЧНОЙ матрицы
Сообщение26.10.2011, 22:09 
вопрос следующий:
я пытаюсь реализовать программно PCA (principal component analysis).
в литературе, на которую я опираюсь, этот метод заключается в том, что из исходных данных, сперва, строится correlational matrix (используется корреляционный коэфициент Пирсона), а затем находятся eigenvalues\eigenvectors (собственные значения\вектора)
составление корреляционной матрицы я запрограммировал, а вот с собственными веторами беда.

для нахождения собственных значений приводится способ, где нужно преобразовать матрицу следующим способом:
$S-\lambda I = 0$
(I - identity matrix)
после чего вычисляется детерминант полученной матрицы
получается полином n-степени, у которого, затем, находятся корни (они и являются собственными значениями)
все бы хорошо. однако, по этой методике легко находить собственные значения\векторы лишь у матриц 2x2 - 3x3
а как быть, когда матрицы имеют размерность 20x20 или более? это же будут полиномы больших степеней

на данный момент мне нужно реализовать задачу хотя бы как-нибудь (как можно проще). а в математике я не настолько силен, как 99% участников этого форума. поэтому прошу совета: в какую сторону копать? какие есть универсальные методы для нахождения собственных значений и векторов симметричных (точнее даже корреляционных) матриц?
к примеру такой матрицы?


$$
\begin{bmatrix}
 1 &  &   &    &   \\
 0,944 & 1 &  &   &  \\
0,944 & 0,912 & 1 &   &  \\
0,946 & 0,925 & 0,951 & 1 &  \\
0,052 & -0,180 & -0,179 & -0,063  & 1
\end{bmatrix}
 ​$$​

 
 
 
 Re: Собственные вектора СИММЕТРИЧНОЙ матрицы
Сообщение26.10.2011, 22:14 
Аватара пользователя
 i  Замена простых формул картинками на форуме не допускается. Здесь рассказано, как набирать формулы (здесь подробнее).
Используйте кнопку Изображение для редактирования своего сообщения.

Тема перемещена из "Помогите решить (М)" в карантин. Как исправите - пишите сюда, чтобы тему вернули.


-- 26 окт 2011, 23:16 --

(На Ваше предыдущее сообщение ленивый модератор закрыл глаза)

 
 
 
 Re: Собственные вектора СИММЕТРИЧНОЙ матрицы
Сообщение27.10.2011, 11:16 
Аватара пользователя
Метод Якоби не спасёт гиганта мысли?

 
 
 
 Re: Собственные вектора СИММЕТРИЧНОЙ матрицы
Сообщение27.10.2011, 14:11 
Аватара пользователя
Он, метод Якоби для нахождения всех собственных значений и собственных векторов матрицы, не самый быстрый. Даже для случая нахождения всех - QR для с.з. и обратные итерации для с.в. раза в два быстрее, а если не для всех - и вовсе тормозной. Зато ортогональность всех с.в. выше всякой критики, даже при кратных с.з. А медленность - для разумных размерностей (сотни и тысячи) работает достаточно быстро.
Вот текст (не мой и не проверен) для ознакомления:
http://prografix.narod.ru/rus_jacobi.html

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group