Функции > Анализ данных > Сглаживание > Пример. Сглаживание данных
  
Пример. Сглаживание данных
Используйте функции 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, чтобы применить медианный фильтр, а затем постройте график отфильтрованного сигнала.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Отфильтрованная версия сигнала более гладкая.
Измените длину фильтра, чтобы увидеть его эффект на зашумленном сигнале. На практике длина медианного фильтра должна быть меньше по сравнению с длиной сигнала.