2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Предсказание в PCR
Сообщение03.07.2019, 16:08 


02/07/19
52
Здравствуйте.
Интересует вопрос по вычислению предсказываемых значений.
Допустим я получил матрицу счетов T и мне надо построить регрессию между T и вектором Y. Я для этого раньше использовал классическую формулу из ММНК:
$$b=(T^TT)^{-1}T^TY$$
Буквально на днях попалось на глаза свойство ортогональных матриц
$$A^TA=I$$
Помню, что матрица счетов является ортогональной. То есть фактически я делал при вычислениях вектора коэффициентов лишнюю операцию? и выражение (1) можно было упростить?
Попробовал найти чему равно $T^TT$ в Wolfram Mathematica на реальной спектральной матрице (250х2048). У меня получилась квадратная матрица с собственными значениями в диагонали.
Изображение

Собственные значения имеют большие порядки. В связи с этим рискну предположить, что все остальные позиции вне главной диагонали могут быть нулями, и в данном примере это просто накопленная ошибка для чисел с плавающей точкой. Или нет? Судя по позициям (1,2) и (2,1) или (3,2) и (2,3) матрица симметричная? Тогда получается, что выражение (1) упростить нельзя? А как же свойство (2) для ортогональных матриц?

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение03.07.2019, 21:48 
Заслуженный участник
Аватара пользователя


11/03/08
9971
Москва
Она не ортогональная. Хотя столбцы её ортогональны. Но не ортонормированы, из-за умножения на собственные числа. То есть обращается там некоторая диагональная матрица. Собственно, достаточно нормировать столбцы, и ничего обращать не надо будет, $b=T^Ty$

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение04.07.2019, 00:09 


02/07/19
52
Маленький опыт в матричных уравнениях, но попробую. Т.е. нормирование можно записать так:
$$T_n=\operatorname{diag}(\Lambda)^{-1}T$$
где $\Lambda$ - вектор из собственных чисел, получаемых при разложении исходной матрицы на главные компоненты. Устоявшееся обозначение не знаю, пишу пока так, видел такие буквы в темах про SVD.
Тогда уравнение регрессии с учетом нормирования и умножения слева должно выглядеть так:
$$\operatorname{diag}(\Lambda)^{-1}Y=T_nb$$
Тогда
$$b=T_n^T\operatorname{diag}(\Lambda)^{-1}Y$$
Вроде бы в одной формуле и сидят две диагональные нормирующие матрицы (одна транспонированная), но дальше кажется ничего сделать нельзя. Или можно? Ошибок вроде бы нет? В любом случае обращение диагональной матрицы значительно быстрее вычисляется чем обратная матрица в общем случае.

P.S. Попробовал в Wolfram Mathematica, сразу нашел несколько ошибок. Умножать надо справа. И нормировать на соответствующее число нужно каждый столбец матрицы T, а при такой форме записи матрицы для нормирования $\operatorname{diag}(\Lambda)^{-1}$ нормируются строки. Итоговое выражение для поиска b должно быть другим.

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение04.07.2019, 01:22 


02/07/19
52
Запутался. В том числе с размерами. Размер матрицы $T(n\times A)$, размер вектора $Y$ равен $n$.
Размер у матрицы нормирования по количеству главных компонент. Для сохранения равенства над левой и правой частью уравнений должны быть проведены одинаковые операции. Не могу сообразить как должна матрица выглядеть, нужно думать.

 Профиль  
                  
 
 Posted automatically
Сообщение04.07.2019, 01:52 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы/обозначения (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы).

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение04.07.2019, 19:14 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение04.07.2019, 19:35 
Заслуженный участник


10/01/16
2318
Евгений Машеров в сообщении #1403035 писал(а):
Хотя столбцы её ортогональны.

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

-- 04.07.2019, 21:39 --

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

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение04.07.2019, 21:23 
Заслуженный участник
Аватара пользователя


11/03/08
9971
Москва
Здесь проще всего идти через связь главных компонент и сингулярного разложения.
$X=U\Lambda V^T$
Тогда$T=U\Lambda$
Матрица U ортогональна. Но после домножения на диагональную матрицу собственных значений столбцы по-прежнему ортогональны, но вот норма их уже не единичная. Если работаем с нормированными к единичной норме столбцами T, то регрессия
$b=T^Ty$, но если ненормированные, то
$b=(T^TT)^{-1}T^Ty=(\Lambda U^TU\Lambda)^{-1}T^Ty=\Lambda^{-2}T^Ty$
Ну, а обратная к диагональной считается не просто, а очень просто - обратные к диагональным элементы.
(Да, на всякий случай - лямбды здесь сингулярные числа, а их квадраты - собственные матрицы $X^TX$)

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение05.07.2019, 09:13 
Заслуженный участник


10/01/16
2318
ПонЯл: я не знаю, что такое "матрица счета", и какое отношение она имеет с непонятным $X$...

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение05.07.2019, 10:10 
Заслуженный участник
Аватара пользователя


11/03/08
9971
Москва
Честно говоря, я тоже попервости запутался. Потому как в русских текстах писали длинно "матрица значений главных компонент", а в английских scores matrix. И только "обратным переводом" понял...

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение05.07.2019, 19:23 


02/07/19
52
Матрицы счетов и нагрузок - эту терминологию так принято употреблять у хемометриков - Scores, Loadings.
Спасибо за помощь.
Попробую в Wolfram Mathematica погонять выражение для коэффициента $b$ на реальных спектрах. Я исходную спектральную матрицу раскладываю по алгоритму NIPALS, он достаточно прост в программировании и доступно описан.
Есть сомнения, что так сразу всё получится. Вот тут на стр. 6 пишут, что в результате разложения NIPALS вычисляет собственные числа. По SVD числа получаются сингулярные. Мне кажется из логики Главных компонент, что именно здесь это одно и то же. Если нет, то в моем варианте дешевле будет или сразу на неполный SVD переходить, или пользоваться классической формулой для коэффициентов регрессии.
Извиняюсь за путаницу в терминологии. Я по образованию химик, в наши времена из матричных вычислений был только один семестр на первом курсе. Сейчас приходится вникать на популярно разжеванном материале.

 Профиль  
                  
 
 Re: Предсказание в PCR
Сообщение05.07.2019, 21:04 
Заслуженный участник
Аватара пользователя


11/03/08
9971
Москва
Собственные числа матрицы $X^TX$ равны квадратам сингулярных чисел матрицы X

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group