Линейная интерполяция
15.1.1. Линейная интерполяцияСамый простой вид интерполяции — линейная, которая представляет искомую зависимость А(Х) в виде ломаной линии. Интерполирующая функция А(Х) состоит из отрезков прямых, соединяющих точки (рис. 15.2).
Кубическая сплайн-интерполяция
15.1.2. Кубическая сплайн-интерполяцияВ большинстве практических приложений желательно соединить экспериментальные точки не ломаной линией, а гладкой кривой. Лучше всего для этих целей подходит интерполяция кубическими сплайнами, т. е. отрезками кубических парабол (рис. 15.4).
Полиномиальная сплайн-интерполяция
15.1.3. Полиномиальная сплайн-интерполяцияБолее сложный тип интерполяции — так называемая интерполяция В-сплай-нами. В отличие от обычной сплайн-интерполяции (см. разд. 15.1.2), сшивка элементарных В-сплайнов производится не в точках хi а в других точках ui, координаты которых предлагается ввести пользователю. Сплайны могут быть полиномами 1, 2 или 3 степени (линейные, квадратичные или кубические). Применяется интерполяция В-сплайнами точно так же, как и обычная сплайн-интерполяция, различие состоит только в определении вспомогательной функции коэффициентов сплайна.
Интерполяция В-сплайнами иллюстрируется листингом 15.3 и рис. 15.7.
Экстраполяция функцией предсказания
15.1.4. Экстраполяция функцией предсказанияВсе рассмотренные выше (см. разд. 15.1.1—15.1.3) функции осуществляли экстраполяцию данных за пределами их интервала с помощью соответствующей зависимости, основанной на анализе расположения нескольких исходных точек на границах интервала. В Mathcad имеется более развитый инструмент экстраполяции, который учитывает распределение данных вдоль всего интервала. В функцию predict встроен линейный алгоритм предсказания поведения функции, основанный на анализе, в том числе осцилляции.
Многомерная интерполяция
15.1.5. Многомерная интерполяцияДвумерная сплайн-интерполяция приводит к построению поверхности z(x,y), проходящей через массив точек, описывающий сетку на координатной плоскости (х,у). Поверхность создается участками двумерных кубических сплайнов, являющихся функциями (х,у) и имеющих непрерывные первые и вторые производные по обеим координатам.
Многомерная интерполяция строится с помощью тех же встроенных функций, что и одномерная (см. разд. 15.1.2), но имеет в качестве аргументов не векторы, а соответствующие матрицы. Существует одно важное ограничение, связанное с возможностью интерполяции только квадратных NXN массивов данных.
Пример исходных данных приведен на рис. 15.10 в виде графика линий уровня, программная реализация двумерной интерполяции показана в листинге 15.6, а ее результат — на рис. 15.11.
Интерполяция
15.1. ИнтерполяцияКогда Вы имеете дело с выборкой экспериментальных данных, то они, чаще всего, представляются в виде массива, состоящего из пар чисел (xi, yi). Поэтому возникает задача аппроксимации дискретной зависимости y(xj непрерывной функцией f(x). Функция f(x), в зависимости от специфики задачи, может отвечать различным требованиям:
Линейная регрессия
15.2.1. Линейная регрессияСамый простой и наиболее часто используемый вид регрессии — линейная. Приближение данных (xi, yi) осуществляется линейной функцией у(х)=b+ах. На координатной плоскости (х,у) линейная функция, как известно, представляется прямой линией (рис. 15.12). Еще линейную регрессию часто называют методом наименьших квадратов, поскольку коэффициенты а и ь вычисляются из условия минимизации суммы квадратов ошибок |b+axi-yi|.
Чаще всего такое же условие ставится и в других задачах регрессии, т. е. приближения массива данных (хi,уi) другими зависимостями у(х). Исключение рассмотрено в листинге 15.9.
Полиномиальная регрессия
15.2.2. Полиномиальная регрессияВ Mathcad реализована регрессия одним полиномом, отрезками нескольких полиномов, а также двумерная регрессия массива данных.
Регрессия специального вида
15.2.3. Регрессия специального видаКроме рассмотренных, в Mathcad встроено еще несколько видов трехпара-метрической регрессии. Их реализация несколько отличается от приведенных выше вариантов регрессии тем, что для них, помимо массива данных, требуется задать некоторые начальные значения коэффициентов а,ь,с. Используйте соответствующий вид регрессии, если хорошо представляете себе, какой зависимостью описывается Ваш массив данных. Когда тип регрессии плохо отражает последовательность данных, то ее результат часто бывает неудовлетворительным и даже сильно различающимся в зависимости от выбора начальных значений. Каждая из функций выдает вектор уточненных параметров а,b,с.
Пример расчета одного из видов трехпараметрической регрессии (экспоненциальной) приведен в листинге 15.13 и на рис. 15.17. В предпоследней строке листинга выведены в виде вектора вычисленные коэффициенты а,ь,с, а в последней строке через эти коэффициенты определена искомая функция f (х).
Регрессия общего вида
15.2.4. Регрессия общего видаВ Mathcad можно осуществить регрессию в виде линейной комбинации C1f1(x)+C2f2 (х) + ..., где fi(х) — любые функции пользователя, a Ci — подлежащие определению коэффициенты. Кроме того, имеется путь проведения регрессии более общего вида, когда комбинацию функций и искомых коэффициентов задает сам пользователь.
Приведем встроенные функции для регрессии общего вида и примеры их использования (листинги 15.14 и 15.15), надеясь, что читатель при необходимости найдет более подробную информацию об этих специальных возможностях в справочной системе и Mathcad Resources.
Регрессия
15.2. РегрессияЗадачи математической регрессии имеют смысл приближения выборки данных (Xi..Yi некоторой функцией f (х), определенным образом минимизирующей совокупность ошибок |f(xi)-yi|. Регрессия сводится к подбору неизвестных коэффициентов, определяющих аналитическую зависимость f(х). В силу производимого действия большинство задач регрессии являются частным случаем более общей проблемы сглаживания данных.
Как правило, регрессия очень эффективна, когда заранее известен (или, по крайней мере, хорошо угадывается) закон распределения данных (xi, yi).
Встроенные функции для сглаживания
15.3.1. Встроенные функции для сглаживанияВ Mathcad имеется несколько встроенных функций, реализующих различные алгоритмы сглаживания данных.
Подробную информацию об алгоритмах, заложенных в функции сглаживания, Вы найдете в справочной системе Mathcad в статье Smoothing (Сглаживание), находящейся в разделе Statistics (Статистика).
Часто бывает полезным совместить сглаживание с последующей интерполяцией или регрессией. Соответствующий пример приведен в листинге 15.16 для функции supsmooth. Результат работы листинга показан на рис. 15.18 (кружки обозначают исходные данные, крестики — сглаженные, пунктирная кривая — результат сплайн-интерполяции). Сглаживание тех же данных при помощи "бегущих медиан" и функции Гаусса с разным значением ширины окна пропускания показаны на рис. 15.19 и 15.20, соответственно.
Скользящее усреднение
15.3.2. Скользящее усреднениеПомимо встроенных в Mathcad, существует несколько популярных алгоритмов сглаживания, на одном из которых хочется остановиться особо. Самый простой и очень эффективный метод — это скользящее усреднение. Его суть состоит в расчете для каждого значения аргумента среднего значения по соседним w данным. Число w называют окном скользящего усреднения; чем оно больше, тем больше данных участвуют в расчете среднего, тем более сглаженная кривая получается. На рис. 15.21 показан результат скользящего усреднения одних и тех же данных (кружки) с разным окном w=3
Устранение тренда
15.3.3. Устранение трендаЕще одна типичная задача возникает, когда интерес исследований заключается не в анализе медленных (или низкочастотных) вариаций сигнала у(х) (для чего применяется сглаживание данных), а в анализе быстрых его изменений Часто бывает, что быстрые (или высокочастотные) вариации накладываются определенным образом на медленные, которые обычно называют трендом. Часто тренд имеет заранее предсказуемый вид, например линейный. Чтобы устранить тренд, можно предложить последовательность действий, реализованную в листинге 15.18.
Полосовая фильтрация
15.3.4. Полосовая фильтрацияВ предыдущих разделах была рассмотрена фильтрация быстрых вариаций сигнала (сглаживание) и его медленных вариаций (снятие тренда). Иногда требуется выделить среднемасштабную составляющую сигнала, уменьшив как более быстрые, так и более медленные его компоненты. Одна из возможностей решения этой задачи связана с применением полосовой фильтрации на основе последовательного скользящего усреднения.
Сглаживание и фильтрация
15.3. Сглаживание и фильтрацияПри анализе данных часто возникает задача их фильтрации, заключающаяся в устранении одной из составляющих зависимости y(xi). Наиболее часто целью фильтрации является подавление быстрых вариаций y(xi), которые чаще всего обусловлены шумом. В результате из быстроосциллирующей зависимости y(xi) получается другая, сглаженная зависимость, в которой доминирует более низкочастотная составляющая.
Наиболее простыми и эффективными рецептами сглаживания (smoothing) можно считать регрессию различного вида (см. разд. 15.2). Однако регрессия часто уничтожает информативную составляющую данных, оставляя лишь наперед заданную пользователем зависимость.
Часто рассматривают противоположную задачу фильтрации — устранение медленно меняющихся вариаций в целях исследования высокочастотной составляющей. В этом случае говорят о задаче устранения тренда. Иногда интерес представляют смешанные задачи выделения среднемасштабных вариаций путем подавления как более быстрых, так и более медленных вариаций. Одна из возможностей решения связана с применением полосовой фильтрации.
Несколько примеров программной реализации различных вариантов фильтрации приведены в данном разделе.
Преобразование Фурье
15.4.1. Преобразование ФурьеМатематический смысл преобразования Фурье состоит в представлении сигнала у(х) в виде бесконечной суммы синусоид вида F(v)sin(vx). Функция F(v) называется преобразованием Фурье или интегралом Фурье, или Фурье-спектром сигнала. Ее аргумент v имеет смысл частоты соответствующей составляющей сигнала. Обратное преобразование Фурье переводит спектр F(V) в исходный сигнал у(х). Согласно определению,
Как видно, преобразование Фурье является существенно комплексной величиной, даже если сигнал действительный.
Вейвлетное преобразование
15.4.2. Вейвлетное преобразованиеВ последнее время возрос интерес к другим интегральным преобразованиям, в частности вейвлетному (или дискретному волновому) преобразованию. Оно применяется, главным образом, для анализа нестационарных сигналов и для многих задач подобного рода оказывается более эффективным, чем преобразование Фурье. Основным отличием вейвлетного преобразования является разложение данных не по синусоидам (как для преобразования Фурье), а по другим функциям, называемым вейвлетобразующими. Вейвле-тобразующие функции, в противоположность бесконечно осциллирующим синусоидам, локализованы в некоторой ограниченной области своего аргумента, а вдали от нее равны нулю или ничтожно малы. Пример такой функции, называемой "мексиканской шляпой", показан на рис. 15.28.
Интегральные преобразования
15.4. Интегральные преобразованияИнтегральные преобразования массива сигнала у(х) ставят в соответствие всей совокупности данных у(х) некоторую функцию другой координаты F(V). Рассмотрим встроенные функции для расчета интегральных преобразований, реализованных в Mathcad.
Адаптивное сглаживание (листинг 15.16)
Адаптивное сглаживание (листинг 15.16)
Двумерная полиномиальная регрессия
Двумерная полиномиальная регрессияПо аналогии с одномерной полиномиальной регрессией и двумерной интерполяцией (см. разд. 15.1.5) Mathcad позволяет приблизить множество точек zi,j(хi, уi) поверхностью, которая определяется многомерной полиномиальной зависимостью. В качестве аргументов встроенных функций для построения полиномиальной регрессии должны стоять в этом случае не векторы, а соответствующие матрицы.
Двумерная полиномиальная регрессия иллюстрируется листингом 15.12 и рис. 15.16. Сравните стиль представления данных для двумерной регрессии с представлением тех же данных для двумерной сплайн-интерполяции (см. листинг 15.6) и ее результаты с исходными данными (см. рис. 15.10) и их сплайн-интерполяцией (см. рис. 15.11).
Двумерная полиномиальная регрессия (листинг 15.12)
Двумерная полиномиальная регрессия (листинг 15.12)
Двумерное преобразование Фурье
Двумерное преобразование ФурьеВ Mathcad имеется возможность применять встроенные функции комплексного преобразования Фурье не только к одномерным, но и к двумерным массивам, т. е. матрицам. Соответствующий пример приведен в листинге 15.21 и на рис. 15.27 в виде графика линий уровня исходных данных и рассчитанного Фурье-спектра.
Экспоненциальная регрессия (листинг 15.13)
Экспоненциальная регрессия (листинг 15.13)
Экстраполяция при помощи функции предсказания (листинг 15.4)
Экстраполяция при помощи функции предсказания (листинг 15.4)
Как видно из рис. 15.9, функция предсказания может быть полезна при экстраполяции данных на небольшие расстояния. Вдали от исходных данных результат часто бывает неудовлетворительным. Кроме того, функция predict хорошо работает в задачах анализа подробных данных с четко прослеживающейся закономерностью (типа рис. 15.8), в основном осциллирующего характера.
Если данных мало, то предсказание может оказаться бесполезным. В листинге 15.5 приведена экстраполяция небольшой выборки данных (из примеров, рассмотренных в предыдущих разделах). Соответствующий результат показан на рис. 15.9 для различных крайних точек массива исходных данных, для которых строится экстраполяция.
Исходное двумерное поле данных (листинг 15.6)
Исходное двумерное поле данных (листинг 15.6)
Исходные данные и обратное преобразование Фурье (листинг 15.20)
Исходные данные и обратное преобразование Фурье (листинг 15.20)
Пример расчета Фурье-спектра для суммы трех синусоидальных сигналов разной амплитуды (показанных в виде сплошной кривой на рис. 15.24), приведен в листинге 15.20. Расчет проводится по N=128 точкам, причем предполагается, что интервал дискретизации данных ух равен А. В предпоследней строке листинга применяется встроенная функция if ft, а в последней корректно определяются соответствующие значения частот Qx. Обратите внимание, что результаты расчета представляются в виде модуля Фурье-спектра (рис. 15.25), поскольку сам спектр является комплексным. Очень полезно сравнить полученные амплитуды и местоположение пиков спектра с определением синусоид в листинге 15.20.
Комплексное преобразование Фурье (продолжение листинга 15.20)
Комплексное преобразование Фурье (продолжение листинга 15.20)
Линейная интерполяция (листинг 15.1)
Линейная интерполяция (листинг 15.1)
Для построения линейной интерполяции служит встроенная функция linterp (листинг 15.1).
Линейная регрессия (листинг 15.7 или 15.8)
Линейная регрессия (листинг 15.7 или 15.8)
Для расчета линейной регрессии в Mathcad имеются два дублирующих друг друга способа. Правила их применения представлены в листингах 15.7 и 15.8. Результат обоих листингов получается одинаковым (рис. 15.12).
Линейная регрессия по методу наименьших квадратов и методу медиан (листинги 15.7 и 15.9)
Линейная регрессия по методу наименьших квадратов и методу медиан (листинги 15.7 и 15.9)
Полиноминальная регрессия
Листинг 15.10. Полиноминальная регрессия
Регрессия отрезками полиномов
Листинг 15.11. Регрессия отрезками полиномов
Регрессия одним полиномом эффективна, когда множество точек выглядит как полином, а регрессия отрезками полиномов оказывается полезной в противоположном случае.
Двумерная полиномиальная регрессия
Листинг 15.12. Двумерная полиномиальная регрессия
Обратите внимание на знаки транспонирования в листинге. Они применены для корректного представления аргументов (например z в качестве вектора, а не строки).
Экспоненциальная регрессия
Листинг 15.13. Экспоненциальная регрессия
Многие задачи регрессии данных различными двухпараметрическими зависимостями у (х) можно свести к более надежной, с вычислительной точки зрения, линейной регрессии. Делается это с помощью соответствующей замены переменных.
Регрессия линейной комбинацией функций пользователи
Листинг 15.14. Регрессия линейной комбинацией функций пользователи
Регрессия общего вида
Листинг 15.15. Регрессия общего вида
Сглаживание с последующей сплайн-интерполяцией
Листинг 15.16. Сглаживание с последующей сплайн-интерполяцией
Сглаживание скользящим усреднением
Листинг 15.17. Сглаживание скользящим усреднением
Приведенная программная реализация скользящего усреднения самая простая, но не самая лучшая Возможно Вы обратили внимание, что все кривые скользящего среднего на рис 15.21 слегка "обгоняют" исходные данные Почему так происходит, понятно согласно алгоритму, заложенному в последнюю строку листинга 15.17, скользящее среднее для каждой точки вычисляется путем усреднения значений предыдущих w точек Чтобы результат скользящего усреднения был более адекватным лучше применить центрированный алгоритм расчета по w/2 предыдущим и w/2 последующим значениям Он будет немного сложнее, поскольку придется учитывать недостаток точек не только в начале (как это сделано в программе с помощью функции условия if) но и в конце массива исходных данных.
Устранение тренда
Листинг 15.18. Устранение тренда
На рис. 15.22 показаны исходные данные (кружками), выделенный с помощью регрессии линейный тренд (сплошной прямой линией) и результат устранения тренда (пунктир, соединяющий крестики).
Полосовая фильтрация
Листинг 15.19. Полосовая фильтрация
Линейная интерполяция
Листинг 15.1. Линейная интерполяция
Как видно из листинга, чтобы осуществить линейную интерполяцию, надо выполнить следующие действия:
Быстрое преобразование Фурье
Листинг 15.20. Быстрое преобразование Фурье
Двумерное преобразование Фурье
Листинг 15.21. Двумерное преобразование Фурье

Данные (слева) и их Фурье-спектр (справа) (листинг 15.21)
Поиск вейлет-спектра Даубечи
Листинг 15.22. Поиск вейлет-спектра Даубечи

Вейвлет-спектр на основе функции Даубечи (листинг 15.22)
Поиск вейвлет-спектра на основе "мексиканской шляпы"
Листинг 15.23. Поиск вейвлет-спектра на основе "мексиканской шляпы"
Программа листинга очень проста, но исключительно далека от хорошей в смысле быстродействия. Каждый интеграл вычисляется независимо, без использования методов ускорения, типа применяемых в алгоритме БПФ.
Кубическая сплайн-интерполяция
Листинг 15.2. Кубическая сплайн-интерполяция
Смысл сплайн-интерполяции заключается в том, что в промежутках между точками осуществляется аппроксимация в виде зависимости A(t) = =а t3+bt2+ct+d. Коэффициенты а, b, с, d рассчитываются независимо для каждого промежутка, исходя из значений уг в соседних точках. Этот процесс скрыт от пользователя, поскольку смысл задачи интерполяции состоит в выдаче значения A(t) в любой точке t (рис. 15.4).
Интерполяция В-сплайнами
Листинг 15.3. Интерполяция В-сплайнами
Экстраполяция при помощи функции предсказания
Листинг 15.4. Экстраполяция при помощи функции предсказания
Экстраполяция при помощи функции предсказания
Листинг 15.5. Экстраполяция при помощи функции предсказания
Двумерная интерполяция
Листинг 15.6. Двумерная интерполяция
Линейная регрессия
Листинг 15.7. Линейная регрессия
Другая форма записи линейной регрессии
Листинг 15.8. Другая форма записи линейной регрессии
В Mathcad имеется альтернативный алгоритм, реализующий не минимизацию суммы квадратов ошибок, а медиан-медианную линейную рефессию для расчета коэффициентов а и ь (листинг 15.9).
Построение линейной регрессии двумя разными иетодами (продолжение листинга 15.7)
Листинг 15.9. Построение линейной регрессии двумя разными иетодами (продолжение листинга 15.7)
Различие результатов среднеквадратичной и медиан-медианной рефессии иллюстрируется рис. 15.13.
Обычное построение графика функции от векторной переменной х (листинг 15.1)
Обычное построение графика функции от векторной переменной х (листинг 15.1)
Ошибочное построение графика сплайн-интерполяции (см. листинг 15.2)
Ошибочное построение графика сплайн-интерполяции (см. листинг 15.2)
Чтобы подчеркнуть различия, соответствующие разным вспомогательным функциям cspline, pspline, Ispline, покажем результат действия листинга 15.2 при замене функции cspline в предпоследней строке на линейную ispiine (рис. 15.5). Как видно, выбор вспомогательных функций существенно влияет на поведение A(t) вблизи граничных точек рассматриваемого интервала (0, 6) и особенно разительно меняет результат экстраполяции данных за его пределами.
В заключение остановимся на уже упоминавшейся в предыдущем разделе распространенной ошибке при построении графиков интерполирующей функции (см. рис. 15.3). Если на графике, например являющемся продолжением листинга 15.2, задать построение функции А(Х) вместо A(t), то будет получено просто соединение исходных точек ломаной (рис. 15.6). Так происходит потому, что в промежутках между точками вычисления интерполирующей функции не производятся.
Полиномиальная регрессия
Полиномиальная регрессияПолиномиальная регрессия означает приближение данных (xi, yi) полиномом k-й степени А(х)=а+bх+сх2+dх3+.. .+hxk (рис. 15.14). При k=1 полином является прямой линией, при k=2 — параболой, при k=3 — кубической параболой и т. д. Как правило, на практике применяются k<5.
Для построения регрессии полиномом k-й степени необходимо наличие по крайней мере (k+1) точек данных.
В Mathcad полиномиальная регрессия осуществляется комбинацией встроенной функции regress и полиномиальной интерполяции (см. разд. 15.1.2).
Преобразование Фурье действительных данных
Преобразование Фурье действительных данныхПреобразование Фурье имеет огромное значение для различных математических приложений, и для него разработан очень эффективный алгоритм, называемый БПФ (быстрым преобразованием Фурье). Этот алгоритм реализован в нескольких встроенных функциях Mathcad, различающихся нормировками.
Преобразование Фурье комплексных данных
Преобразование Фурье комплексных данныхАлгоритм быстрого преобразования Фурье для комплексных данных встроен в соответствующие функции, в имя которых входит литера "с".
Преобразование Фурье (листинг 15.20)
Преобразование Фурье (листинг 15.20)
Результат обратного,преобразования Фурье показан в виде кружков на том же рис. 15.24, что и исходные данные. Видно, что в рассматриваемом случае сигнал у(х) восстановлен с большой точностью, что характерно для плавного изменения сигнала.
Программирование других вейвлет-преобразований
Программирование других вейвлет-преобразованийПомимо встроенной функции вейвлет-спектра Даубечи и возможностей пакета расширения Mathcad 11, возможно непосредственное программирование алгоритмов пользователя для расчета вейвлет-спектров. Оно сводится к аккуратному расчету соответствующих семейств интегралов. Один из примеров такой программы приведен в листинге 15.23, а ее результат на рис. 15.30. Анализу подвергается та же функция, составленная из суммы двух синусов, а график двухпараметрического спектра с(а,b) выведен в виде привычных для вейвлет-анализа линий уровня на плоскости (а,b).
Работа функции предсказания в случае малого количества данных (листинг 15.5)
Работа функции предсказания в случае малого количества данных (листинг 15.5)
Разные задачи аппроксимации данных
Разные задачи аппроксимации данных
Как в целях подавления шума, так и для решения других проблем обработки данных, широко применяются различные интегральные преобразования. Они ставят в соответствие всей совокупности данных у(х) некоторую функцию другой координаты (или координат) F(CO). Примерами интегральных преобразований являются преобразование Фурье (см. разд. 15.4.1) и вейвлетное преобразование (см. разд. 15.4.2). Напомним, что некоторые преобразования, например Фурье и Лапласа, можно осуществить в режиме символьных вычислений (см. гл. 5). Каждое из интегральных преобразований эффективно для решения своего круга задач анализа данных.
Для построения интерполяции-экстраполяции в Mathcad имеются несколько встроенных функций, позволяющих "соединить" точки выборки данных (xi, yi) кривой разной степени гладкости. По определению интерполяция означает построение функции д(х), аппроксимирующей зависимость у(х) в промежуточных точках (между xi). Поэтому интерполяцию еще по-другому называют аппроксимацией. В точках xi значения интерполяционной функции должны совпадать с исходными данными, т. е. A(xi) =у(xi).
Везде в этом разделе при рассказе о различных типах интерполяции будем использовать вместо обозначения А(Х) другое имя ее аргумента A(t), чтобы не путать вектор данных х и скалярную переменную t.
Регрессия отрезками полиномов
Регрессия отрезками полиномовПомимо приближения массива данных одним полиномом имеется возможность осуществить регрессию сшивкой отрезков (точнее говоря, участков, т. к. они имеют криволинейную форму) нескольких полиномов. Для этого имеется встроенная функция loess, применение которой аналогично функции regress (листинг 15.11 и рис. 15.15).
Регрессия отрезками полиномов (листинг 15.11)
Регрессия отрезками полиномов (листинг 15.11)
Регрессия полиномами разной степени...
Регрессия полиномами разной степени (коллаж результатов листинга 15.10 для разных k)Пример полиномиальной регрессии квадратичной параболой приведен в листинге 15.10.

Результат двумерной интерполяции (листинг 15.6)
Результат двумерной интерполяции (листинг 15.6)
Результат полосовой фильтрации (листинг 15.19)
Результат полосовой фильтрации (листинг 15.19)
Алгоритм полосовой фильтрации приведен в листинге 15.19, а результат его применения показан на рис. 15.23 сплошной кривой. Алгоритм реализует такую последовательность операций:
Сглаживание при помощи функции ksmooth
Сглаживание при помощи функции ksmooth
Сглаживание "бегущими медианами"
Сглаживание "бегущими медианами"
Скользящее усреднение с разными w=3,5,15 (листинг 15.17, коллаж трех графиков)
Скользящее усреднение с разными w=3,5,15 (листинг 15.17, коллаж трех графиков)
(пунктир), w=5 (штрихованная кривая) и w=is (сплошная кривая) Видно, что при малых w сглаженные кривые практически повторяют ход изменения данных, а при больших w — отражают лишь закономерность их медленных вариаций
Чтобы реализовать в Mathcad скользящее усреднение, достаточно очень простой программы, приведенной в листинге 15.17. Она использует только значения у, оформленные в виде вектора, неявно предполагая, что они соответствуют значениям аргумента х, расположенным через одинаковые промежутки Вектор х применялся лишь для построения графика результата (рис 15.21)
Сплайн-интерполяция (см. листинг 15.2)
Сплайн-интерполяция (см. листинг 15.2)
Сплайн-интерполяция в Mathcad реализована чуть сложнее линейной. Перед применением функции interp необходимо предварительно определить первый из ее аргументов — векторную переменную s. Делается это при помощи одной из трех встроенных функций тех же аргументов (х,у).
Сплайн-интерполяция с выбором коэффициентов линейного сплайна lspline
Сплайн-интерполяция с выбором коэффициентов линейного сплайна lspline
Сравнение синусоиды и вейвлетобразующей функции
Сравнение синусоиды и вейвлетобразующей функции
Из-за своего математического смысла вейвлет-спектр имеет не один аргумент, а два. Помимо частоты, вторым аргументом ь является место локализации вейвлетобразующей функции. Поэтому b имеет ту же размерность, что и х.
Устранение тренда (листинг 15.18)
Устранение тренда (листинг 15.18)
В-сплайн-интерполяция (листинг 15.3)
В-сплайн-интерполяция (листинг 15.3)
Вейвлет-спектр на основе "мексиканской шляпы" (листинг 15.23)
Вейвлет-спектр на основе "мексиканской шляпы" (листинг 15.23)
Встроенная функция вейвлет-преобразования
Встроенная функция вейвлет-преобразованияMathcad имеет одну встроенную функцию для расчета вейвлет-преобразования на основе вейвлетобразующей функции Даубечи.
Биржевой анализ: Технический анализ - Инструменты - Софт
- Биржевой анализ - Технический анализ
- Обучение техническому анализу
- Индексы технического анализа
- Индикаторы технического анализа
- Методы технического анализа
- Графика в техническом анализе
- Технический анализ рынков
- Российский технический анализ
- Инструменты технического анализа
- Математика в биржевом анализе
- Разновидности биржевого анализа
- Mathematica в биржевом анализе
- MathCAD в биржевом анализе
- Maple в биржевом анализе
- Matlab в биржевом анализе