exponenta event banner

Метод скользящего окна и метод экспоненциального взвешивания

Движущиеся объекты и блоки вычисляют статистику движения потоковых сигналов, используя один или оба способа скользящего окна и способа экспоненциального взвешивания. Способ скользящего окна имеет конечную импульсную характеристику, в то время как способ экспоненциального взвешивания имеет бесконечную импульсную характеристику. Для анализа статистики по конечной длительности данных используется метод скользящего окна. Способ экспоненциального взвешивания требует меньшего количества коэффициентов и более подходит для встраиваемых приложений.

Метод скользящего окна

В способе скользящего окна окно заданной длины Len перемещается по данным, выборка по выборке, и статистика вычисляется по данным в окне. Выходные данные для каждой входной выборки являются статистическими данными в окне текущей выборки и предыдущих выборок Len-1. На первом этапе для вычисления первых выходов Len - 1, когда окно еще не имеет достаточного количества данных, алгоритм заполняет окно нулями. На последующих временных этапах для заполнения окна алгоритм использует выборки из предыдущего кадра данных. Алгоритмы движущейся статистики имеют состояние и запоминают предыдущие данные.

Рассмотрим пример вычисления скользящего среднего потокового ввода данных с использованием метода скользящего окна. Алгоритм использует длину окна 4. С каждым входным образцом, который поступает, окно длиной 4 перемещается вдоль данных.

Окно имеет конечную длину, что делает алгоритм фильтром конечной импульсной характеристики. Для анализа статистики по конечной длительности данных используется метод скользящего окна.

Влияние длины окна

Длина окна определяет длину данных, по которым алгоритм вычисляет статистику. Окно перемещается по мере поступления новых данных. Если окно большое, вычисленная статистика ближе к стационарной статистике данных. Для данных, которые не изменяются быстро, используйте длинное окно для получения более плавной статистики. Для быстрых изменений данных используйте окно меньшего размера.

Метод экспоненциального взвешивания

Способ экспоненциального взвешивания имеет бесконечную импульсную характеристику. Алгоритм вычисляет набор весов и применяет эти весовые коэффициенты к выборкам данных рекурсивно. С увеличением возраста данных величина весового коэффициента уменьшается экспоненциально и никогда не достигает нуля. Другими словами, последние данные оказывают большее влияние на статистику в текущей выборке, чем старые данные. Из-за бесконечной импульсной характеристики алгоритм требует меньше коэффициентов, что делает его более подходящим для встраиваемых приложений.

Значение коэффициента забывания определяет скорость изменения весовых коэффициентов. Коэффициент забывания 0,9 придает больший вес старым данным, чем коэффициент забывания 0,1. Чтобы придать больший вес последним данным, переместите коэффициент забывания ближе к 0. Для обнаружения небольших сдвигов в быстро изменяющихся данных более подходящим является меньшее значение (ниже 0,5). Коэффициент забывания 1,0 указывает на бесконечную память. Всем предыдущим образцам придается равный вес. Оптимальное значение коэффициента забывания зависит от потока данных. Для получения информации о данном потоке данных, чтобы вычислить оптимальное значение коэффициента забывания, см. [1].

Рассмотрим пример вычисления скользящего среднего с использованием метода экспоненциального взвешивания. Коэффициент забывания - 0,9.

Алгоритм скользящего среднего обновляет вес и вычисляет скользящее среднее рекурсивно для каждой выборки данных, которая поступает с использованием следующих рекурсивных уравнений.

wN, λ = λ wN 1, λ + 1x\N, λ = (1 1wN, λ) x\N − 1, λ + (1wN,λ) xN

  • λ - Коэффициент забывания.

  • wN, λ - весовой коэффициент, применяемый к текущей выборке данных .

  • xN - Текущая выборка входных данных.

  • x N 1, λ - скользящее среднее в предыдущей выборке.

  • (1 1wN, λ) x fN − 1, λ - Влияние предыдущих данных на среднее значение.

  • x N, λ - скользящее среднее в текущей выборке.

ДанныеВес N, λ = λ wN 1, λ + 1Averagex fN, λ = (1 1wN, λ) x fN 1, λ + (1wN,λ) xN
Кадр 1  
21. Для N = 1 это значение равно 1.2
30.9×1+1 = 1.9(1– (1/1.9)) ×2 + (1/1.9) ×3 = 2.5263
40.9×1.9+1 = 2.71(1– (1/2.71)) ×2.52 + (1/2.71) ×4 = 3.0701
50.9×2.71+1 = 3.439(1– (1/3.439)) ×3.07 + (1/3.439) ×5 = 3.6313
Кадр 2  
60.9×3.439+1 = 4.095(1– (1/4.095)) ×3.6313 + (1/4.095) ×6 = 4.2097
70.9×4.095+1 = 4.6855(1– (1/4.6855)) ×4.2097 + (1/4.6855) ×7 = 4.8052
80.9×4.6855+1 = 5.217(1– (1/5.217)) ×4.8052 + (1/5.217) ×8 = 5.4176
90.9×5.217+1 = 5.6953(1– (1/5.6953)) ×5.4176 + (1/5.6953) ×9 = 6.0466
Кадр 3  
30.9×5.6953+1 = 6.1258(1– (1/6.1258)) ×6.0466 + (1/6.1258) ×3 = 5.5493
40.9×6.1258+1 = 6.5132(1– (1/6.5132)) ×5.5493 + (1/6.5132) ×4 = 5.3114
60.9×6.5132+1 = 6.8619(1– (1/6.8619)) ×5.3114 + (1/6.8619) ×6 = 5.4117
80.9×6.8619+1 = 7.1751(1– (1/7.1751)) ×5.4117 + (1/7.1751) ×8 = 5.7724

Алгоритм скользящего среднего имеет состояние и запоминает данные предыдущего временного шага.

Для первой выборки, когда N = 1, алгоритм выбирает wN, λ = 1. Для следующей выборки весовой коэффициент обновляется, а среднее вычисляется с использованием рекурсивных уравнений .

С увеличением возраста данных величина весового коэффициента уменьшается экспоненциально и никогда не достигает нуля. Другими словами, последние данные оказывают большее влияние на текущее среднее значение, чем старые данные.

Когда коэффициент забывания равен 0,5, веса, применяемые к старым данным, ниже, чем когда коэффициент забывания равен 0,9.

Когда коэффициент забывания равен 1, все выборки данных взвешиваются одинаково. В этом случае экспоненциально взвешенный метод аналогичен методу скользящего окна с бесконечной длиной окна.

Когда сигнал быстро изменяется, используйте более низкий коэффициент забывания. Когда коэффициент забывания низок, влияние прошлых данных на текущее среднее значение меньше. Это делает переходный процесс острее. В качестве примера рассмотрим быстро изменяющийся шумный ступенчатый сигнал.

Вычислите скользящее среднее этого сигнала с помощью метода экспоненциального взвешивания. Сравните производительность алгоритма с коэффициентами забывания 0,8, 0,9 и 0,99.

При увеличении графика видно, что переходный период в скользящем среднем является резким при низком коэффициенте забывания. Это делает его более подходящим для данных, которые быстро изменяются.

Дополнительные сведения об алгоритме скользящего среднего см. в разделе Алгоритмы в dsp.MovingAverage Системный object™ или страница блока Скользящее среднее.

Дополнительные сведения о других алгоритмах статистики движения см. в разделе Алгоритмы на соответствующих страницах системных объектов и блоков.

Ссылки

[1] Боденем, Дин. «Адаптивная фильтрация и обнаружение изменений потоковых данных». PH.D. Дипломная работа. Имперский колледж, Лондон, 2012 год.

Связанные темы