|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergiy Kanilo 2:5020/400 08 Apr 2002 23:08:51 To : Mikhail Kalenkov Subject : Re: Помогите найти алгоритм -------------------------------------------------------------------------------- "Mikhail Kalenkov" <kalenkov@rinet.ru> wrote in message news:a8snqs$iql$1@news.rinet.ru... > > > курс акций за последние 10 лет. Hеобходимо на этом графике найти > > > участок, который можно аппроксимировать в прямую. > > > А если взять вторую производную и искать > > кусок с абс. значениями меньше заданного порога. > > Взятие производной от сеточной функции потенциально ОЧЕHЬ опасная операция, > а уж второй производной в данной задаче я бы не доверял уж точно. Дело в > том, что при вычислении производной по формуле > у'(x[n])=(y(x[n+1])-y(x[n]))/(x[n+1])-x[n]) > приходится находить разности близких чисел, а при этом, как известно, > происходит значительная потеря точности. Для данной задачи таких проблем нет, масштабирование на размер шага делается легко (я думал это очевидно), и мы получим y_(i+1)-2*y_i+y_(i-1), где потеря точности маловероятна. Первая производная переводит участки близкие к линейным в участки близкие к константе (горизонтали), вторая - переводит эти горизонтали к околонулевым значениям. Проанализировав максимальные (или средние) колебания такой второй производной вполне можно установить предел который будет хорошо отсекать линейные участки в исходной последовательности. Hу а далее можно проводить уже более тщательный анализ, если потрубуется. Cheers, Serge --- ifmail v.2.15dev5 * Origin: Giganews.Com - Premium News Outsourcing (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/338051ddf40fd.html, оценка из 5, голосов 10
|