Поиск отклонений в данных
возвращает логический массив, элементами которого являются 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.
Найдите отклонения в векторе данных. Логический 1 в выходных данных указывает местоположение отклонения.
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)'SamplePoints' - Выборочные точкиТочки выборки, указанные как пара, разделенная запятыми, состоящая из 'SamplePoints' и вектор. Точки выборки представляют расположение данных по оси X в A, и должны быть отсортированы и содержать уникальные элементы. Выборочные точки не нуждаются в равномерной выборке. Вектором точек выборки по умолчанию является [1 2 3 ...].
Примечание
Эта пара имя-значение не поддерживается, если входными данными являются timetable. В расписаниях всегда используется вектор времени строки в качестве точек выборки. Чтобы использовать различные точки выборки, необходимо отредактировать расписание так, чтобы время строки содержало нужные точки выборки.
Движущиеся окна определяются относительно точек образца. Например, если t является вектором времен, соответствующих входным данным, то isoutlier(rand(1,10),'movmean',3,'SamplePoints',t) имеет окно, представляющее временной интервал между t(i)-1.5 и t(i)+1.5.
Когда вектор точек выборки имеет тип данных datetime или duration, то длина движущегося окна должна иметь тип duration.
Пример: isoutlier(T,'SamplePoints',0:0.1:10)
Типы данных: single | double | datetime | duration
'DataVariables' - Табличные переменные для работыvartype нижний индексПеременные таблицы для работы, указанные как пара, разделенная запятыми, состоящая из 'DataVariables' и один из вариантов в этой таблице. 'DataVariables' значение указывает, какие переменные входной таблицы необходимо проверить на наличие отклонений. Тип данных, связанный с указанными переменными, должен быть double или single. Другие переменные в таблице, не указанные 'DataVariables' не обрабатываются, поэтому выходные данные содержат false значения для этих переменных.
| Выбор | Описание | Примеры |
|---|---|---|
| Имя переменной | Вектор символов или скалярная строка, задающая имя переменной одной таблицы |
|
| Вектор имен переменных | Массив ячеек символьных векторов или строковый массив, где каждый элемент является именем переменной таблицы |
|
| Скаляр или вектор переменных индексов | Скаляр или вектор индексов табличных переменных |
|
| Логический вектор | Логический вектор, элементы которого соответствуют переменной таблицы, где |
|
| Дескриптор функции | Дескриптор функции, принимающий переменную таблицы в качестве входного значения и возвращающий логический скаляр |
|
vartype нижний индекс | Подстрочный индекс таблицы, созданный |
|
Пример: isoutlier(T,'DataVariables',["Var1" "Var2" "Var4"])
'ThresholdFactor' - Пороговый коэффициент обнаруженияПороговый коэффициент обнаружения, указанный как пара, разделенная запятыми, состоящая из 'ThresholdFactor' и неотрицательный скаляр.
Для методов 'median' и 'movmedian'пороговый коэффициент обнаружения заменяет число масштабированных MAD, которое по умолчанию равно 3.
Для методов 'mean' и 'movmean'пороговый коэффициент обнаружения заменяет количество стандартных отклонений от среднего значения, которое по умолчанию равно 3.
Для методов 'grubbs' и 'gesd', пороговый коэффициент обнаружения является скаляром в диапазоне от 0 до 1. Значения, близкие к 0, приводят к меньшему числу отклонений, а значения, близкие к 1, приводят к большему числу отклонений. Пороговый коэффициент обнаружения по умолчанию равен 0,05.
Для 'quartiles' пороговый коэффициент обнаружения заменяет количество межквартильных диапазонов, которое по умолчанию равно 1,5.
Эта пара имя-значение не поддерживается, если указан метод 'percentiles'.
Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'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 - Индикатор отклоненияИндикатор отклонения, возвращаемый как вектор, матрица или многомерный массив. Элемент TF является true когда соответствующий элемент A является отклонением и false в противном случае. TF имеет тот же размер, что и A.
Типы данных: logical
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) определяется как
(A) |)
для 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.
Дополнительные сведения см. в разделе Массивы Tall.
Примечания и ограничения по использованию:
'movmean' и 'movmedian' методы обнаружения отклонений не поддерживают входные данные расписания, datetime 'SamplePoints' значения или длительность 'SamplePoints' значения.
Строковые и символьные вводы должны быть постоянными.
Примечания и ограничения по использованию:
'movmedian' метод перемещения не поддерживается.
'SamplePoints' и 'DataVariables' пары имя-значение не поддерживаются.
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Очистить данные об отклонениях | filloutliers | ischange | islocalmax | islocalmin | ismissing | rmoutliers
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.