Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
не специалист по линейной алгебре, но встречал описание более быстрых алгоритмов. Кстати, если у кого есть - передайте Urain, будет еще более полезная библиотека в смысле скорости вычислений.
Более быстрый алгоритм - метод Гаусса (с соответствующими модификациями).
Я вчера начал писать библиотеку по линейной алгебре (на библиотеку Urain не опирался). Возможностей у моей библиотеки побольше. Ждите.
Более быстрый алгоритм - метод Гаусса (с соответствующими модификациями).
Я вчера начал писать библиотеку по линейной алгебре (на библиотеку Urain не опирался). Возможностей у моей библиотеки побольше. Ждите.
Чтобы мои слова не казались вам пустыми - выложу заголовочный файл своей библиотеки. Саму библиотеку пока что расширяю и тестирую (вычисления проверяю в maple).
не специалист по линейной алгебре, но встречал описание более быстрых алгоритмов. Кстати, если у кого есть - передайте Urain, будет еще более полезная библиотека в смысле скорости вычислений.
Приводите матрицу к треугольному виду - например методом элиминации Жордано-Гаусса, произведение её (треуголки) диагональных элементов и есть детерминант исходной матрицы (там ещё учёт знаков надо вести при перестановке строк при элиминации). После этого дальше можно обращать всю матрицу, пользуясь её частными минорами и частными детерминантами. Работает в десятки раз быстрее канонических методов. А правильность работы программы можно проверять как раз каноническими короткими алгоритмами.
1. Numerical Recipes in C, Second Edition (1992)
Solution of Linear Algebraic Equations
http://www.nrbook.com/a/bookcpdf.php
Кстати, есть ещё полезная бесплатная хорошая книга (хотя и бОльшая часть посвящена Фурье)
2. The Scientist and Engineer's Guide to Digital Signal Processing
By Steven W. Smith, Ph.D.
http://www.dspguide.com/pdfbook.htm
Приводите матрицу к треугольному виду - например методом элиминации Жордано-Гаусса, произведение её (треуголки) диагональных элементов и есть детерминант исходной матрицы (там ещё учёт знаков надо вести при перестановке строк при элиминации). После этого дальше можно обращать всю матрицу, пользуясь её частными минорами и частными детерминантами. Работает в десятки раз быстрее канонических методов. А правильность работы программы можно проверять как раз каноническими короткими алгоритмами.
1. Numerical Recipes in C, Second Edition (1992)
Solution of Linear Algebraic Equations
http://www.nrbook.com/a/bookcpdf.php
Кстати, есть ещё полезная бесплатная хорошая книга (хотя и бОльшая часть посвящена Фурье)
2. The Scientist and Engineer's Guide to Digital Signal Processing
By Steven W. Smith, Ph.D.
http://www.dspguide.com/pdfbook.htm
Собственно этод метод и реализован в нахождении Определителя, а вот есть ли чтото побыстрее для Обращения.
Я нахожу минор для каждой ячейки и делю на определитель.(Это получается N^2 Миноров нужно найти, а минор тодже определитель на ранг меньше)
Собственно этод метод и реализован в нахождении Определителя, а вот есть ли чтото побыстрее для Обращения.
Я нахожу минор для каждой ячейки и делю на определитель.(Это получается N^2 Миноров нужно найти, а минор тодже определитель на ранг меньше)
Метод Гаусса к этому можно приспособить. O(N^3). Гляньте в википедии "обратная матрица"
Собственно этод метод и реализован в нахождении Определителя, а вот есть ли чтото побыстрее для Обращения.
Я нахожу минор для каждой ячейки и делю на определитель.(Это получается N^2 Миноров нужно найти, а минор тодже определитель на ранг меньше)
Этот-то цикл занимает как раз немного времени. Проблема в том, что минор Вы считаете рекурсивно, не так ли ? Ускорить это можно подсчётом каждого минора не через рекурсию, а ЧЕРЕЗ приведение каждой (минорной, частной, под-матрицы) матрицы к треугольному виду.
Строка такой матрицы - по существу это динамика коэффициента КП на взятой истории. И такие ряды, как это не странно - стационарны и обладают кучей достоинств. Для примера приведу несколько выборок:
Частота 0:
Спасибо за программу на Mathcade. Попытался его повторить, но наткнулся на то, что он ведет себя немного не так, как в Вашем примере. Для прогнозирования Взял отрезок за последнюю неделю на M15 длиной в 1500 баров на EURUSD. Выглядит примерно так же, как и Ваш тестовый участок.
Но после применения процедуры CreateModeMatrix() получил совсем другую картину на Частоте 0:
Такая же примерно картина и на других частотах. То есть, никаких больших периодов, как в Вашем примере. Если не сложно, подскажите свое мнение, какой из вариантов правильный:
а) другой набор данных - другие характеристики;
б) неправильная интерпретация результатов матрицы DW;
в) очепятки при наборе программы.
Спасибо за программу на Mathcade. Попытался его повторить, но наткнулся на то, что он ведет себя немного не так, как в Вашем примере. Для прогнозирования Взял отрезок за последнюю неделю на M15 длиной в 1500 баров на EURUSD. Выглядит примерно так же, как и Ваш тестовый участок.
Но после применения процедуры CreateModeMatrix() получил совсем другую картину на Частоте 0:
Такая же примерно картина и на других частотах. То есть, никаких больших периодов, как в Вашем примере. Если не сложно, подскажите свое мнение, какой из вариантов правильный:
а) другой набор данных - другие характеристики;
б) неправильная интерпретация результатов матрицы DW;
в) очепятки при наборе программы.
реализация 1:1?
PS: Дописка. Если 1:1 и входной ряд котировка, то довольно странно. Если картинка устойчива, то это уже действительно странно.
Я нахожу минор для каждой ячейки и делю на определитель.(Это получается N^2 Миноров нужно найти, а минор тодже определитель на ранг меньше)
Конечно, медленный метод. Я вообще удивляюсь, как у Вас еще и что-то получилось для матрицы 100 на 100.
На всякий случай, для успокоения своей совести :о)
Предупреждение
Глядя на тему применения Фурье преобразования, вспомнил чем ранее развлекался, и написал, подумав, что тут будет "склад моделей, которых не должно было быть". Забросил я тогда эту модель, если честно, осознав в полной мере сложность и практическую невозможность реализации данного подхода. Это только в концепции, сложное разбиваем на простое. На практике, оказывается, выполнить 50, 100, и более прогнозов с достаточной точностью мягко говоря, невозможно. Природу, довольно трудно обмануть, вернее - невозможно. А все окончательно ухудшает то, что нужны не первые прогнозные отсчеты (они самые точные), а нужен самый последний в прогнозном ряду, а он как раз, самый не точный. И сами ряды не такие уж и простые. Как следствие, для торговли прогнозом пользоваться практически невозможно (на удачную единственную картинку внимания обращать не нужно).
Не очень уверен, что нужно тратить время на это направление... решение, может быть конечно и есть, но найти его - очень, очень, очень, очень трудно с учетом всей специфики рыночных котировок.