Найдите выбросы в данных
возвращает логический массив, элементами которого является TF
= isoutlier(A
)true
когда выброс обнаруживается в соответствующем элементе A
. По умолчанию выброс является значением, которое является больше чем тремя масштабируемыми средними абсолютными отклонениями (MAD) далеко от медианы. Если A
матрица или таблица, затем isoutlier
работает с каждым столбцом отдельно. Если A
многомерный массив, затем isoutlier
действует по первому измерению, размер которого не равняется 1.
задает движущийся метод для обнаружения локальных выбросов согласно длине окна, заданной TF
= isoutlier(A
,movmethod
,window
)window
. Например, isoutlier(A,'movmedian',5)
возвращает true
для всех элементов больше чем три локальных масштабированных MAD от локальной медианы в раздвижном окне, содержащем пять элементов.
задает дополнительные параметры для обнаружения выбросов с помощью одного или нескольких аргументов пары "имя-значение". Например, TF
= isoutlier(___,Name,Value
)isoutlier(A,'SamplePoints',t)
обнаруживает выбросы в A
относительно соответствующих элементов временного вектора t
.
Найдите выбросы в векторе данных. Логическая единица в выходе указывает на местоположение выброса.
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; TF = isoutlier(A)
TF = 1x15 logical array
0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
Задайте выбросы как точки больше чем три стандартных отклонения от среднего значения и найдите местоположения выбросов в векторе.
A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];
TF = isoutlier(A,'mean')
TF = 1x15 logical array
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
Создайте вектор данных, содержащих локальный выброс.
x = -2*pi:0.1:2*pi; A = sin(x); A(47) = 0;
Создайте временной вектор, который соответствует данным в A
.
t = datetime(2017,1,1,0,0,0) + hours(0:length(x)-1);
Задайте выбросы как точки больше чем три локальных масштабированных MAD далеко от локальной медианы в раздвижном окне. Найдите местоположения выбросов в A
относительно точек в t
с размером окна 5 часов. Отобразите на графике данные и обнаруженные выбросы.
TF = isoutlier(A,'movmedian',hours(5),'SamplePoints',t); plot(t,A,t(TF),A(TF),'x') legend('Data','Outlier')
Найдите выбросы для каждой строки матрицы.
Создайте матрицу данных, содержащих выбросы по диагонали.
A = magic(5) + diag(200*ones(1,5))
A = 5×5
217 24 1 8 15
23 205 7 14 16
4 6 213 20 22
10 12 19 221 3
11 18 25 2 209
Найдите местоположения выбросов на основе данных в каждой строке.
TF = isoutlier(A,2)
TF = 5x5 logical array
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Создайте вектор данных, содержащих выброс. Найдите и постройте местоположение выброса, и пороги и центральное значение, определенное методом выброса. Центральное значение является медианой данных, и верхние и более низкие пороги являются тремя масштабируемыми MAD выше и ниже медианы.
x = 1:10; A = [60 59 49 49 58 100 61 57 48 58]; [TF,L,U,C] = isoutlier(A); plot(x,A,x(TF),A(TF),'x',x,L*ones(1,10),x,U*ones(1,10),x,C*ones(1,10)) legend('Original Data','Outlier','Lower Threshold','Upper Threshold','Center Value')
A
— Входные данныеВходные данные, заданные как вектор, матрица, многомерный массив, таблица или расписание.
Если A
таблица, затем ее переменные должны иметь тип double
или single
, или можно использовать 'DataVariables'
пара "имя-значение", чтобы перечислить double
или single
переменные явным образом. Определение переменных полезно, когда вы работаете с таблицей, которая содержит переменные с типами данных кроме double
или single
.
Если A
расписание, затем isoutlier
работает только с табличными элементами. Времена строки должны быть уникальными и перечислены в порядке возрастания.
Типы данных: double |
single
| table
| timetable
method
— Метод для обнаружения выбросов'median'
(значение по умолчанию) | 'mean'
| 'quartiles'
| 'grubbs'
| 'gesd'
Метод для обнаружения выбросов, заданных как одно из следующего:
Метод | Описание |
---|---|
'median' | Возвращает true для элементов больше чем три масштабируемых MAD от медианы. Масштабированный MAD задан как c*median(abs(A-median(A))) , где c=-1/(sqrt(2)*erfcinv(3/2)) . |
'mean' | Возвращает true для элементов больше чем три стандартных отклонения от среднего значения. Этот метод быстрее, но менее устойчив, чем 'median' . |
'quartiles' | Возвращает true для элементов больше чем 1,5 межквартильных размаха выше верхнего квартиля или ниже более низкого квартиля. Этот метод полезен когда данные в A не нормально распределено. |
'grubbs' | Применяет тест Граббса для выбросов, который удаляет один выброс на итерацию на основе тестирования гипотезы. Этот метод принимает что данные в A нормально распределено. |
'gesd' | Применяется обобщенные экстремальные Studentized отклоняют тест для выбросов. Этот итерационный метод похож на 'grubbs' , но может выполнить лучше, когда существует несколько выбросов, маскирующих друг друга. |
threshold
— Пороги процентилиПороги процентили, заданные как двухэлементный вектор-строка, элементы которого находятся в интервале [0,100]. Первый элемент указывает на более низкий порог процентили, и второй элемент указывает на верхний порог процентили. Например, порог [10 90]
задает выбросы как точки ниже 10-й процентили и выше 90-й процентили. Первый элемент threshold
должен быть меньше второго элемента.
movmethod
— Движущийся метод'movmedian'
| 'movmean'
Движущийся метод для обнаружения выбросов, заданных как одно из следующего:
Метод | Описание |
---|---|
'movmedian' | Возвращает true для элементов больше чем три локальных масштабированных MAD от локальной медианы по длине окна заданы window . |
'movmean' | Возвращает true для элементов больше чем три локальных стандартных отклонения от локального среднего значения по длине окна заданы window . |
window
— Длина окнаДлина окна, заданная как положительный целочисленный скаляр, двухэлементный вектор положительных целых чисел, положительного скаляра длительности или двухэлементного вектора положительной длительности.
Когда window
положительный целочисленный скаляр, окно сосредоточено о текущем элементе и содержит window-1
граничение с элементами. Если window
даже, затем окно сосредоточено о текущих и предыдущих элементах.
Когда window
двухэлементный вектор положительных целых чисел [b f]
, окно содержит текущий элемент, b
элементы назад и f
элементы вперед.
Когда A
расписание или 'SamplePoints'
задан как datetime
или duration
вектор, затем window
должен иметь тип duration
, и окна вычисляются относительно точек выборки.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
dim
— Размерность, которая задает направление расчетаВеличина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.
Рассмотрите матричный A
.
isoutlier(A,1)
обнаруживает выбросы на основе данных в каждом столбце A
.
isoutlier(A,2)
обнаруживает выбросы на основе данных в каждой строке A
.
Когда A
таблица или расписание, dim
не поддержан. isoutlier
действует вдоль каждой переменной таблицы или расписания отдельно.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
isoutlier(A,'mean','ThresholdFactor',4)
'ThresholdFactor'
— Пороговый фактор обнаруженияПороговый фактор обнаружения, заданный как разделенная запятой пара, состоящая из 'ThresholdFactor'
и неотрицательный скаляр.
Для методов 'median'
и 'movmedian'
, пороговый фактор обнаружения заменяет количество масштабированного MAD, который равняется 3 по умолчанию.
Для методов 'mean'
и 'movmean'
, пороговый фактор обнаружения заменяет количество стандартных отклонений от среднего значения, которое равняется 3 по умолчанию.
Для методов 'grubbs'
и 'gesd'
, пороговым фактором обнаружения является скаляр в пределах от от 0 до 1. Значения близко к 0 результатам в меньшем числе выбросов и значения близко к 1 результату в большем числе выбросов. Пороговый фактор обнаружения по умолчанию 0.5.
Для 'quartiles'
метод, пороговый фактор обнаружения заменяет количество межквартильных размахов, которое является 1.5 по умолчанию.
Эта пара "имя-значение" не поддержана, когда заданным методом является 'percentiles'
.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SamplePoints'
'SamplePoints' Точки выборки, заданные как разделенная запятой пара, состоящая из 'SamplePoints'
и вектор. Точки выборки представляют местоположение данных в A
. Точки выборки не должны быть однородно произведены. По умолчанию вектором точек выборки является [1 2 3 ...]
.
Движущиеся окна заданы относительно точек выборки, которые должны быть отсортированы и содержать уникальные элементы. Например, если t
вектор времен, соответствуя входным данным, затем isoutlier(rand(1,10),'movmean',3,'SamplePoints',t)
имеет окно, которое представляет временной интервал между t(i)-1.5
и t(i)+1.5
.
Когда вектор точек выборки имеет тип данных datetime
или duration
, затем движущаяся длина окна должна иметь, вводят duration
.
Типы данных: double |
single
| datetime
| duration
'DataVariables'
— Табличные переменныеТабличные переменные, заданные как разделенная запятой пара, состоящая из 'DataVariables'
и имя переменной, массив ячеек имен переменных, числового вектора, логического вектора или указателя на функцию. 'DataVariables'
значение указывает, какие столбцы входной таблицы обнаружить выбросы в, и может быть одно из следующего:
Вектор символов, задающий одно имя табличной переменной
Массив ячеек из символьных векторов, где каждый элемент является именем табличной переменной
Вектор индексов табличной переменной
Логический вектор, элементы которого каждый соответствует табличной переменной, где true
включает соответствующую переменную и false
исключает его
Указатель на функцию, который берет таблицу в качестве входа и возвращает логический скаляр
Типом данных, сопоставленным с обозначенной переменной, должен быть double
или single
.
Пример: 'Age'
Пример: {'Height','Weight'}
Пример: @isnumeric
Типы данных: char |
cell
| double
| single
| logical
| function_handle
'MaxNumOutliers'
— Максимальное количество выбросаМаксимальное количество выброса, для 'gesd'
метод только, заданный как разделенная запятой пара, состоящая из 'MaxNumOutliers'
и положительное целое число. 'MaxNumOutliers'
значение задает максимальное количество выбросов, возвращенных 'gesd'
метод. Например, isoutlier(A,'gesd','MaxNumOutliers',5)
возвращает не больше, чем пять выбросов.
Значение по умолчанию для 'MaxNumOutliers'
целое число, самое близкое к 10 процентам числа элементов в A
. Устанавливание большего значения для максимального количества выбросов может гарантировать, что все выбросы обнаруживаются, но за счет уменьшаемого вычислительного КПД.
'gesd'
метод принимает, что входные данные невыброса производятся от аппроксимированного нормального распределения. Когда данные не производятся таким образом, количество возвращенных выбросов может превысить 'MaxNumOutliers'
значение.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TF
— Индикатор OutlierИндикатор Outlier, возвращенный как вектор, матрица или многомерный массив. Элемент TF
true
когда соответствующий элемент A
выброс и false
в противном случае. TF
одного размера с A
.
Типы данных: логический
L
— Более низкий порогБолее низкий порог используется методом определения выбросов, возвращенным как скаляр, вектор, матрица, многомерный массив, таблица или расписание. Например, нижнее значение метода определения выбросов по умолчанию является тремя масштабируемыми MAD ниже медианы входных данных. L
имеет тот же размер как A
во всех размерностях за исключением операционной размерности, где длина равняется 1.
Типы данных: double |
single
| table
| timetable
U
— Верхний порогВерхний порог используется методом определения выбросов, возвращенным как скаляр, вектор, матрица, многомерный массив, таблица или расписание. Например, верхнее значение метода определения выбросов по умолчанию является тремя масштабируемыми MAD выше медианы входных данных. U
имеет тот же размер как A
во всех размерностях за исключением операционной размерности, где длина равняется 1.
Типы данных: double |
single
| table
| timetable
C
— Центральное значениеЦентральное значение используется методом определения выбросов, возвращенным как скаляр, вектор, матрица, многомерный массив, таблица или расписание. Например, центральное значение метода определения выбросов по умолчанию является медианой входных данных. C
имеет тот же размер как A
во всех размерностях за исключением операционной размерности, где длина равняется 1.
Типы данных: double |
single
| table
| timetable
Для вектора случайной переменной A составил из скалярных наблюдений N, среднее абсолютное отклонение (MAD) задано как
для i = 1,2,...,N.
Масштабированный MAD задан как c*median(abs(A-median(A)))
где c=-1/(sqrt(2)*erfcinv(3/2))
.
Указания и ограничения по применению:
'percentiles'
, 'grubbs'
, и 'gesd'
методы не поддержаны.
'movmedian'
и 'movmean'
методы не поддерживают длинные расписания.
'SamplePoints'
и 'MaxNumOutliers'
пары "имя-значение" не поддержаны.
Значение 'DataVariables'
не может быть указатель на функцию.
Расчет isoutlier(A)
, isoutlier(A,'median',...)
, или isoutlier(A,'quartiles',...)
по первому измерению только поддержан для высоких вектор-столбцов A
.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
'movmean'
и 'movmedian'
методы не поддерживают 'SamplePoints'
аргумент пары "имя-значение".
Строка и входные параметры символьного массива должны быть постоянными.
Таблицы не поддержаны.
Чистые данные о выбросе | filloutliers
| ischange
| islocalmax
| islocalmin
| ismissing
| rmoutliers
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.