Документация Engee

Скользящая дисперсия

Скользящая дисперсия.

Тип: MovingVariance

Путь в библиотеке:

/Signal Operations/Statistics/Moving Variance

Описание

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

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

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

Порты

Вход

# x — входные данные
вектор | матрица

Details

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

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

Блок принимает входные сигналы переменного размера (длина кадра изменяется в процессе моделирования). При подаче сигнала переменного размера длина кадра сигнала может быть произвольной.

Этот порт не имеет названия, пока для параметра Метод не установлено значение Экспоненциальное взвешивание и не установлен флажок Указать коэффициент забывания через входной порт.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128

Поддержка комплексных чисел

Да

# λ — коэффициент забывания
скаляр

Details

Коэффициент забывания, заданный как положительный вещественный скаляр от 0 до 1, определяет, какой вес имели прошлые данные. При коэффициенте забывания 0.9 старые данные имеют больший вес, чем при коэффициенте забывания 0.1. Коэффициент забывания 1.0 означает бесконечную память — все предыдущие выборки имеют одинаковый вес.

Зависимости

Чтобы использовать этот порт, установите для параметра Метод значение Экспоненциальное взвешивание и установите флажок Указать коэффициент забывания через входной порт.

Типы данных

Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32

Поддержка комплексных чисел

Нет

Выход

# OUT_1 — вывод скользящей дисперсии
вектор | матрица

Details

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

В таблице приведены подробные сведения о размерах выходного сигнала.

Входной сигнал

Размеры входного сигнала

Размеры выходного сигнала

Флажок Разрешить произвольную длину кадра для входных сигналов фиксированного размера показан

Флажок Разрешить произвольную длину кадра для входных сигналов фиксированного размера не показан

Сигнал фиксированного размера

на , где кратно размеру скачка (длина окна — длина перекрытия)

(размер скачка) на

на

Сигнал фиксированного размера

на , где не кратно размеру скачка (длина окна — длина перекрытия)

ceil( размер скачка) на в случае, если флажок Разрешить произвольную длину кадра для входных сигналов фиксированного размера установлен. Если этот флажок снят, то блок выдает ошибку

на

Сигнал переменного размера

на

ceil( размер скачка) на

на

Когда выход имеет верхнюю границу размера ceil( размер скачка) на , во время моделирования размер первого измерения изменяется в пределах этой границы, а размер второго измерения остается постоянным.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128

Поддержка комплексных чисел

Да

Параметры

Основные

# Метод — метод вычисления скользящей дисперсии
Скользящее окно | Экспоненциальное взвешивание

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

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

Более подробную информацию об этих методах см. в разделе Алгоритмы.

Значения

Sliding window | Exponential weighting

Значение по умолчанию

Sliding window

Имя для программного использования

Method

Настраиваемый

Нет

Вычисляемый

Нет

# Указать длину окна — указать длину окна
Логический тип

Details

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Скользящее окно.

Значение по умолчанию

true (включено)

Имя для программного использования

SpecifyWindowLength

Настраиваемый

Нет

Вычисляемый

Нет

# Длина окна — длина скользящего окна
Целое число типа Int64

Details

Указывает длину скользящего окна в выборках.

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Скользящее окно и установите флажок Указать длину окна.

Значение по умолчанию

4

Имя для программного использования

WindowLength

Настраиваемый

Нет

Вычисляемый

Да

# Длина перекрытия — длина перекрытия между окнами
Целое число типа Int64

Details

Указывает длину перекрытия между окнами как целое неотрицательное число. Значение длины перекрытия варьируется в диапазоне от 0 до Длина окна − 1.

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Скользящее окно и установите флажок Указать длину окна.

Значение по умолчанию

3

Имя для программного использования

OverlapLength

Настраиваемый

Нет

Вычисляемый

Да

# Разрешить произвольную длину кадра для входных сигналов фиксированного размера — разрешить произвольную длину кадра для входных сигналов фиксированного размера
Логический тип

Details

Укажите, могут ли входные сигналы фиксированного размера (размер которых не меняется во время моделирования) иметь произвольную длину кадра, где длина кадра не обязательно должна быть кратна размеру скачка. Размер скачка определяется как разница значений параметров Длина окна и Длина перекрытия. Блок использует этот параметр только для входных сигналов фиксированного размера и игнорирует его, если входной сигнал имеет переменный размер.

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

Для входных сигналов фиксированного размера:

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

  • Если флажок Разрешить произвольную длину кадра для входных сигналов фиксированного размера снят, то длина входного кадра должна быть кратна размеру скачка.

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Скользящее окно и установите флажок Указать длину окна.

Значение по умолчанию

false (выключено)

Имя для программного использования

AllowArbitrary

Настраиваемый

Нет

Вычисляемый

Нет

# Указать коэффициент забывания через входной порт — указать коэффициент забывания через входной порт
Логический тип

Details

При установке этого флажка коэффициент забывания вводится через порт λ. Если снять этот флажок, коэффициент забывания задается через параметр Коэффициент забывания.

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Экспоненциальное взвешивание.

Значение по умолчанию

false (выключено)

Имя для программного использования

SpecifyForgettingFactorInput

Настраиваемый

Нет

Вычисляемый

Нет

# Коэффициент забывания — экспоненциальный весовой коэффициент
Вещественное число

Details

Коэффициент забывания определяет, какой вес имели прошлые данные. При коэффициенте забывания 0.9 старые данные имеют больший вес, чем при коэффициенте забывания 0.1. Коэффициент забывания 1.0 означает бесконечную память — все предыдущие выборки имеют одинаковый вес.

Зависимости

Чтобы использовать этот параметр, установите для параметра Метод значение Экспоненциальное взвешивание и снимите флажок с параметра Указать коэффициент забывания через входной порт.

Значение по умолчанию

0.9

Имя для программного использования

ForgettingFactor

Настраиваемый

Нет

Вычисляемый

Да

Алгоритмы

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

Details

В методе скользящего окна выходной сигнал на текущей выборке — это дисперсия текущей выборки по отношению к данным в окне. Чтобы вычислить первую выходную выборку, алгоритм ждет, пока не получит количество входных выборок размером в скачок. Размер скачка определяется как разница длины окна и длины перекрытия. Оставшиеся выборки в окне считаются нулевыми. Например, если длина окна равна 5, а длина перекрытия — 2, то алгоритм ждет, пока не получит 3 выборки входного сигнала, чтобы вычислить первую выборку выходного сигнала. После генерации первого выходного сигнала он генерирует последующие выходные выборки для каждого количества входных выборок размером в скачок.

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

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

moving variance 1 ru

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

Details

В методе экспоненциального взвешивания скользящая дисперсия вычисляется рекурсивно по следующим формулам:



Для вычисления скользящей дисперсии алгоритм рекурсивно реализует эти уравнения, где

  • — скользящая дисперсия текущей выборки данных по отношению к остальным данным;

  • — скользящее среднее по текущей выборке;

  • — квадрат разницы между каждой выборкой данных и средним значением данных;

  • — квадрат разницы между каждой выборкой данных и средним значением данных, умноженный на коэффициент забывания. Все возведенные в квадрат члены суммируются;

  • — весовой коэффициент, применяемый к сумме;

  • — коэффициент забывания, который можно задать с помощью параметра Коэффициент забывания.

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

Коэффициент забывания определяет, какой вес имели прошлые данные. При коэффициенте забывания 0.9 старые данные имеют больший вес, чем при коэффициенте забывания 0.1. Коэффициент забывания 1.0 означает бесконечную память — все предыдущие выборки имеют одинаковый вес.

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

moving variance 2 ru