movstd

Перемещение стандартного отклонения

Синтаксис

M = movstd(A,k)
M = movstd(A,[kb kf])
M = movstd(___,w)
M = movstd(___,w,dim)
M = movstd(___,nanflag)
M = movstd(___,Name,Value)

Описание

пример

M = movstd(A,k) возвращается, массив локального k - указывают значения стандартного отклонения. Каждое стандартное отклонение вычисляется по раздвижному окну длины k через соседние элементы A. Когда k нечетен, окно центрируется об элементе в текущем положении. Когда k даже, окно центрируется о текущих и предыдущих элементах. Размер окна является автоматически усеченным в конечных точках, когда существует недостаточно элементов, чтобы заполнить окно. Когда окно является усеченным, стандартное отклонение взято по только элементам, которые заполняют окно. M одного размера как A.

  • Если A является вектором, то movstd действует вдоль вектора.

  • Если A является многомерным массивом, то movstd действует вдоль первого измерения массива, размер которого не равняется 1.

пример

M = movstd(A,[kb kf]) вычисляет стандартное отклонение с окном длины kb+kf+1. Вычисление включает элемент в текущее положение, элементы kb назад и элементы kf вперед.

пример

M = movstd(___,w) задает коэффициент нормализации для любого из предыдущих синтаксисов. Когда w = 0 (значение по умолчанию), M нормализован k-1 для длины окна k. Когда w = 1, M нормализован k.

пример

M = movstd(___,w,dim) возвращает массив скольжения стандартных отклонений по измерению dim для любого из предыдущих синтаксисов. Всегда задавайте вес w от предыдущего синтаксиса при определении dim. Например, movstd(A,k,0,2) действует вдоль столбцов матричного A, вычисляя k - элемент, двигающий стандартное отклонение для каждой строки. Коэффициентом нормализации является значение по умолчанию, k-1.

пример

M = movstd(___,nanflag) задает, включать ли или не использовать значения NaN от вычисления для какого-либо из предыдущих синтаксисов. movstd(A,k,'includenan') включает все значения NaN в вычисление, в то время как movstd(A,k,'omitnan') игнорирует их и вычисляет стандартное отклонение по меньшему количеству точек.

пример

M = movstd(___,Name,Value) задает дополнительные параметры для стандартного отклонения с помощью одного или нескольких аргументов в виде пар "имя-значение". Например, если x является временным вектором, то movstd(A,k,'SamplePoints',x) вычисляет движущееся стандартное отклонение относительно времен в x.

Примеры

свернуть все

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

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movstd(A,3)
M = 1×10

    2.8284    2.0000    4.7258    4.3589    1.0000    1.0000    3.0551    2.6458    1.0000    0.7071

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

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movstd(A,[2 0])
M = 1×10

         0    2.8284    2.0000    4.7258    4.3589    1.0000    1.0000    3.0551    2.6458    1.0000

Вычислите движущееся стандартное отклонение в центре с тремя точками вектора - строки и нормализуйте каждое стандартное отклонение числом элементов в окне.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movstd(A,3,1)
M = 1×10

    2.0000    1.6330    3.8586    3.5590    0.8165    0.8165    2.4944    2.1602    0.8165    0.5000

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

A = [4 8 6; -1 -2 -3; -1 3 4];
M = movstd(A,3,0,2)
M = 3×3

    2.8284    2.0000    1.4142
    0.7071    1.0000    0.7071
    2.8284    2.6458    0.7071

Вычислите движущееся стандартное отклонение в центре с тремя точками вектора - строки, содержащего два элемента NaN.

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];
M = movstd(A,3)
M = 1×10

    2.8284       NaN       NaN       NaN    1.0000       NaN       NaN       NaN    1.0000    0.7071

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

M = movstd(A,3,'omitnan')
M = 1×10

    2.8284    2.8284    6.3640    0.7071    1.0000    0.7071    4.2426    0.7071    1.0000    0.7071

Вычислите 3-часовое движущееся стандартное отклонение в центре данных в A согласно временному вектору t.

A = [4 8 6 -1 -2 -3];
k = hours(3);
t = datetime(2016,1,1,0,0,0) + hours(0:5)
t = 1x6 datetime array
Columns 1 through 3

   01-Jan-2016 00:00:00   01-Jan-2016 01:00:00   01-Jan-2016 02:00:00

Columns 4 through 6

   01-Jan-2016 03:00:00   01-Jan-2016 04:00:00   01-Jan-2016 05:00:00

M = movstd(A,k,'SamplePoints',t)
M = 1×6

    2.8284    2.0000    4.7258    4.3589    1.0000    0.7071

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

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movstd(A,3,'Endpoints','discard')
M = 1×8

    2.0000    4.7258    4.3589    1.0000    1.0000    3.0551    2.6458    1.0000

Входные параметры

свернуть все

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

Типы данных: единственный | удваиваются | логический

Длина окна, заданная как числовой скаляр или скаляр длительности. Когда k является положительным целочисленным скаляром, стандартное отклонение в центре включает элемент в текущее положение плюс окружение соседей. Например, стандартное отклонение с тремя точками, заданное окном длины три результата в следующем вычислении для векторного A:

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | длительность

Направленная длина окна, заданная как числовой вектор - строка или вектор - строка длительности, содержащий два элемента. Когда kb и kf являются положительными целочисленными скалярами, вычисление по элементам kb+kf+1. Вычисление включает элемент в текущее положение, элементы kb перед текущим положением и элементами kf после текущего положения. Например, стандартное отклонение с четырьмя точками, заданное направленным окном [2 1], приводит к следующему вычислению для векторного A:

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | длительность

Вес, заданный как одно из этих значений:

  • 0 — Нормализуйте k-1, где k является длиной окна. Если k=1, весом является k.

  • 1 — Нормализуйте k.

Типы данных: single | double

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

dim размерности указывает на размерность, которой movstd управляет вперед, то есть, направление, в котором скользит заданное окно.

Рассмотрите двумерный входной массив, A.

  • Если dim = 1, то movstd(A,k,0,1) запускается с первого столбца и скользит вертикально по каждой строке. Стандартное отклонение взято по элементам k за один раз. Затем это перемещается во второй столбец и повторяет вычисление. Этот процесс продолжается, пока все столбцы не исчерпываются. Аргумент 0 задает вес по умолчанию, который требуется при определении dim.

  • Если dim = 2, то movstd(A,k,0,2) запускается с первой строки и скользит горизонтально по каждому столбцу. Стандартное отклонение взято по элементам k за один раз. Затем это перемещается во вторую строку и повторяет вычисление. Этот процесс продолжается, пока все строки не исчерпываются. Аргумент 0 задает вес по умолчанию, который требуется при определении dim.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Условие NaN, заданное как одно из этих значений:

  • 'includenan' — Включайте значения NaN от входного параметра при вычислении стандартного отклонения, приведении к выводу NaN.

  • 'omitnan' — Проигнорируйте все значения NaN во входном параметре. Если окно содержит только значения NaN, то movstd возвращает NaN.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: M = movstd (A, k, 'Конечные точки', 'заливка')

Метод, чтобы обработать ведущие и запаздывающие окна, заданные как пара, разделенная запятой, состоящая из 'Endpoints' и одно из следующего:

Значение 'Endpoints'Описание
'shrink'Уменьшите размер окна около конечных точек входного параметра, чтобы включать только существующие элементы.
'discard'Не выводите стандартные отклонения, когда окно не полностью наложится с существующими элементами.
заливкаЗамените несуществующими элементами с NaN.
числовой или логический скалярЗамените несуществующими элементами с заданным числовым или логическим значением.

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | char | строка

Точки выборки для вычисления стандартных отклонений, заданных как пара, разделенная запятой, состоящая из 'SamplePoints' и вектора. Точки выборки представляют местоположение данных в A. Точки выборки не должны быть однородно выбраны. По умолчанию вектором точек выборки является [1 2 3 ... ].

Движущиеся окна заданы относительно точек выборки, которые должны быть отсортированы и содержать уникальные элементы. Например, если t является вектором времен, соответствуя входным данным, то movstd(rand(1,10),3,'SamplePoints',t) имеет окно, которое представляет временной интервал между t(i)-1.5 и t(i)+1.5.

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

Если точки выборки неоднородно расположены с интервалами, и пара "имя-значение" 'Endpoints' задана, то ее значением должен быть 'shrink'.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | длительность

Больше о

свернуть все

Стандартное отклонение

Поскольку случайная переменная векторизовала составленное из скалярных наблюдений N, стандартное отклонение задано как

S=1N−1∑i=1N|Ai−μ | 2,

где μ является средним значением A:

μ = 1N∑i=1NAi.

Стандартное отклонение является квадратным корнем из отклонения. Некоторые определения стандартного отклонения используют коэффициент нормализации N вместо N-1, который можно задать установкой w к 1.

Расширенные возможности

Смотрите также

| | | |

Введенный в R2016a

Была ли эта тема полезной?