ОбъявленияПоследний пост
ОбъявлениеРаботодателям и кадровым агентствам: Размещение вакансий и рекламы в форуме26.03.2008 03:07
ОбъявлениеПравила и принципы форума «Высшая математика»28.10.2009 15:17
ОбъявлениеPhD positions in the Institute of Computational Science in Switzerland07.11.2011 10:05
06.09.2010 20:08
Сложение векторов в самый "узкий"
На форуме Экпоненты написал простую по формулировке задачу: http://forum.exponenta.ru/viewtopic.php?t=10285, но никто не ответил.

Задача:
Есть несколько векторов. Надо их сложить с разными весовыми коэффициентами так, чтобы получившийся вектор имел минимальную диспрепию.
Или перефразировав: сложить несколько графиков так, чтобы получить в итоге самый "узкий" из возможных.

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

Ребята, если кто сталкивался с подобным или знает, где копать-читать, подскажите!
06.09.2010 20:41
Последовальность действий:
1) Начните с того, что ручками запишите выражение для дисперсии суммарного вектора. Получите квадратичную функцию относительно неизвестных весовых коэффициентов.
2) Формулируете ограничения для вектора весовых коэффициентов (Чтобы избежать нулевого решения).
3) Решаете полученную задачу квадратичного програмирования (не обязательно численно).
4) Profit...
06.09.2010 20:52
Аналитическое решение
Цитата
vpro
3) Решаете полученную задачу квадратичного програмирования (не обязательно численно).
Не представляю, как такую задачу решать аналитически. Приравнивание частных производных нулю и решение системы соответсвующих линейных уравнений?
06.09.2010 21:20
...
Цитата
getch
Не представляю, как такую задачу решать аналитически. Приравнивание частных производных нулю и решение системы соответсвующих линейных уравнений?

А почему нет, собственно? Тут все от размерности зависит.
06.09.2010 22:00
Размерность
Цитата
vpro
А почему нет, собственно? Тут все от размерности зависит.
Размерность векторов на входе в тысячи раз превосходит размерность вектора коэффициентов.
06.09.2010 22:11
----
Для возможности аналитического решения важна только размерность вектора весовых коэффициентов и вид полученной матрицы линейного уравнения.
06.09.2010 23:17
Составление матрицы
Частные производные получаются уж больно запарные. Матрицу составляю - голова едет. Может, в лоб (на бумажке) - не совсем правильно?
07.09.2010 00:09
Численный метод
Если брать численные методы, какой будет наименее ресурсоемкий?
07.09.2010 00:34
Да, понял, нам бы все сразу и задаром...
Цитата
getch
Частные производные получаются уж больно запарные. Матрицу составляю - голова едет. Может, в лоб (на бумажке) - не совсем правильно?
Частные производные достаточно просты --- двойные суммы. Я полагаю, что для того чтобы правильно решить любую задачу, сначала нужно основательно поработать "на бумажке". Вы же все скоро складывать-умножать разучитесь без компьютера...
Цитата
getch
Если брать численные методы, какой будет наименее ресурсоемкий?
Для решения системы линейных уравнений любой из известных. Ну а если лень считать производные, составлять матрицы, то остается только метод случайного поиска.
07.09.2010 00:41
Лень не при чем
Цитата
vpro
Частные производные достаточно просты --- двойные суммы. Я полагаю, что для того чтобы правильно решить любую задачу, сначала нужно основательно поработать "на бумажке". Вы же все скоро складывать-умножать разучитесь без компьютера...
Для решения системы линейных уравнений любой из известных. Ну а если лень считать производные, составлять матрицы, то остается только метод случайного поиска.
Благодарен за отзывчивость. Возможно, здесь ленивых много обитает и все хотят задаром. Со мной другой случай.
Удалось значительно упростить вид частных производных, когда преобразовал входные вектора так, чтобы их МО стало нулевым. Тогда получается у сгенерированного вектора NewVector МО тоже нулевое. И система уравнений не запарная совсем. Аналитически решать не сложно.
09.09.2010 11:18
Решение задачи и проблема
Ребята, не без помощи добрых людей, решил задачу аналитически и лаконично.
Теперь задача в матричном виде звучит так:
Найти такой вектор V, чтобы дисперсия вектора (Matrix*V) была минимальна.
При этом сумма элементов вектора V равна единице.
Мат. ожидание столбцов матрицы Matrix равно нулю.
Решение:
Скрин1: http://i.exponenta.ru/exponenta/2010/9/8/5270.gif
Скрин2: http://i.exponenta.ru/exponenta/2010/9/8/5271.gif
Сам Mathcad-файл: http://forum.exponenta.ru/download.php?id=5272

Подскажите, как решить такую же задачу, но с условием, чтобы сумма КВАДРАТОВ элементов вектора V равнялась единице.
Метод, что привел выше, для такого случая не годится, т.к. однозначно выразить один элемент вектора V через другие уже нельзя. Да и после дифференцировния дисперсии не получается уже системы линейных уравнений.
Извините, только зарегистрированные пользователи могут публиковать сообщения в этом форуме.

Кликните здесь, чтобы войти