Используйте функции movavg, expsmooth и medsmooth для выполнения скользящего среднего, экспоненциального кадрирования или медианной фильтрации. Эти функции сглаживают данные, усредняя каждую точку в наборе данных с ней самой и с соседними точками, уменьшая количество ошибок в данных.
Скользящее среднее
Для времени t = 0, 1, 2, . . . , n - 2 сглаженное значение при t является средним арифметическим всех наблюдений до времени t включительно. После того как были получены наблюдения n, сглаженное значение за время t является средним наблюдения за время t и предыдущих наблюдений n - 1.
1. Используйте функцию sin, чтобы определить затухающий синусоидальный сигнал.
2. Используйте функцию rnd для добавления равномерного, но случайного компонента, чтобы сделать сигнал шумным.
3. Вызовите функцию movavg, чтобы сгладить данные, используя окна шириной 2, 10 и 20 соответственно.
Большие размеры ширины окна вводят время запаздывания.
Экспоненциальное усреднение
Используйте ступенчатую функцию, чтобы проиллюстрировать разницу между movavg и expsmooth. Усреднение экспоненциальных данных вычисляется следующим образом:
для t = 1, . . . , last(x)
Сглаженная запись за время t является средним с весом α текущего наблюдения и предыдущего сглаженного наблюдения.
1. Определите ступенчатую функцию и выполните ее график.
0.3 было добавлено для задания функции, равной 0 при отрицательном t.
0.7 используется вместо 1, чтобы получить импульс с шириной, равной 1.0.
2. Примените функцию movavg к ступенчатой функции, используя ширину окна 4.
Применение функции movavg к ступенчатой функции приводит к сглаживанию перехода 1-to-0 в n=4 выборках.
3. Примените функцию expsmooth к ступенчатой функции, используя вес 0.5.
Применение функции expsmooth к ступенчатой функции приводит к сглаживанию перехода кривой 1-to-0 в 10 выборках.
expsmooth может быть использован для прогнозирования рыночной конъюнктуры так же, как и movavg, но на практике большинство специалистов используют другие индикаторы, такие как разность между двумя экспоненциальными сглаживаниями с различными весами тех же исходных данных.
Медианная фильтрация
Медианная фильтрация заменяет каждый элемент ввода на медиану элемента и n-1 соседей или меньше у концов сигнала. Этот метод хорош для сглаживания при поддержании кромок и понижении шума.
На больших матрицах функции требуется больше времени, так как она выполняет сортировку при каждом пикселе. Помимо удаления шума медианная фильтрация стремится удалить незначительные резкие импульсные помехи при передаче сигнала.
1. Определите экспоненциальный сигнал и выполните его график.
2. Используйте функцию whiten, чтобы снизить качество сигнала, добавляя некоторый случайный белый шум.
3. Используйте функцию medsmooth, чтобы применить медианный фильтр, а затем постройте график отфильтрованного сигнала.
Отфильтрованная версия сигнала более гладкая.
Измените длину фильтра, чтобы увидеть его эффект на зашумленном сигнале. На практике длина медианного фильтра должна быть меньше по сравнению с длиной сигнала.