mad

Среднее или среднее абсолютное отклонение

Описание

пример

y = mad(X) возвращает среднее абсолютное отклонение значений в X.

  • Если X является вектором, тогда mad возвращает среднее или среднее абсолютное отклонение значений в X.

  • Если X является матрицей, тогда mad возвращает вектор-строку, содержащую среднее или среднее абсолютное отклонение каждого столбца X.

  • Если X является многомерным массивом, затем mad действует по первой нежесткой размерности X.

пример

y = mad(X,flag) определяет, вычислять ли среднее абсолютное отклонение (  flag = 0, по умолчанию) или среднее абсолютное отклонение (  flag = 1).

пример

y = mad(X,flag,'all') возвращает среднее или среднее абсолютное отклонение всех элементов X.

пример

y = mad(X,flag,dim) возвращает среднее или среднее абсолютное отклонение по рабочей размерности dim от X.

пример

y = mad(X,flag,vecdim) возвращает среднее или среднее абсолютное отклонение по размерностям, заданным в векторе vecdim. Для примера, если X - массив 2 на 3 на 4, затем mad(X,0,[1 2]) возвращает 1 на 1 на 4 array. Каждый элемент массива выхода является средним абсолютным отклонением элементов на соответствующей странице X.

Примеры

свернуть все

Сравните робастность стандартного отклонения, среднего абсолютного отклонения и медианного абсолютного отклонения в присутствии выбросов.

Создайте набор данных x нормально распределенных данных. Создайте другой набор данных xo который содержит элементы x и дополнительные выбросы.

rng('default') % For reproducibility
x = normrnd(0,1,1,50);
xo = [x 10];

Вычислите отношение стандартных отклонений двух наборов данных.

r1 = std(xo)/std(x)
r1 = 1.4633

Вычислите отношение средних абсолютных отклонений двух наборов данных.

r2 = mad(xo)/mad(x)
r2 = 1.1833

Вычислите отношение медианных абсолютных отклонений двух наборов данных.

r3 = mad(xo,1)/mad(x,1)
r3 = 1.0336

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

Найдите среднее и среднее абсолютные отклонения всех значений в массиве.

Создайте массив 3 на 5 на 2 X и добавить выбросы.

X = reshape(1:30,[3 5 2]);
X(6) = 100
X = 
X(:,:,1) =

     1     4     7    10    13
     2     5     8    11    14
     3   100     9    12    15


X(:,:,2) =

    16    19    22    25    28
    17    20    23    26    29
    18    21    24    27    30

Найдите средние и средние абсолютные отклонения элементов в X.

meandev = mad(X,0,'all')
meandev = 10.1178
mediandev = mad(X,1,'all')
mediandev = 7.5000

meandev - среднее абсолютное отклонение всех элементов в X, и mediandev - среднее абсолютное отклонение всех элементов в X.

Найдите среднее абсолютное отклонение по разным размерностям для многомерного массива.

Установите случайный seed для воспроизводимости результатов.

rng('default') 

Создайте массив случайных чисел 1 на 3 на 2.

X = randn([1,3,2])
X = 
X(:,:,1) =

    0.5377    1.8339   -2.2588


X(:,:,2) =

    0.8622    0.3188   -1.3077

Найдите медианное абсолютное отклонение X вдоль размерности по умолчанию.

Y2 = mad(X,1) % Flag is set to 1 for the median absolute deviation
Y2 = 
Y2(:,:,1) =

    1.2962


Y2(:,:,2) =

    0.5434

По умолчанию mad действует по первой размерности X чей размер не равен 1. В этом случае эта размерность является вторым измерением X. Поэтому Y2 массив 1 на 1 на 2.

Найдите медианное абсолютное отклонение X по третьей размерности.

Y3 = mad(X,1,3)
Y3 = 1×3

    0.1623    0.7576    0.4756

Y3 является матрицей 1 на 3.

Найдите среднее абсолютное отклонение по нескольким размерностям с помощью vecdim входной параметр.

Установите случайный seed для воспроизводимости результатов.

rng('default')

Создайте массив случайных чисел 4 на 3 на 2.

X = randn([4 3 2])
X = 
X(:,:,1) =

    0.5377    0.3188    3.5784
    1.8339   -1.3077    2.7694
   -2.2588   -0.4336   -1.3499
    0.8622    0.3426    3.0349


X(:,:,2) =

    0.7254   -0.1241    0.6715
   -0.0631    1.4897   -1.2075
    0.7147    1.4090    0.7172
   -0.2050    1.4172    1.6302

Найдите среднее абсолютное отклонение каждой страницы X путем определения первых и вторых измерений.

ypage = mad(X,0,[1 2])
ypage = 
ypage(:,:,1) =

    1.4626


ypage(:,:,2) =

    0.6652

Для примера, ypage(:,:,2) - среднее абсолютное отклонение всех элементов в X(:,:,2), и эквивалентно указанию mad(X(:,:,2),0,'all').

Найдите среднее абсолютное отклонение элементов в каждой X(:,i,:) срез путем определения первых и третьих размерностей.

ycol = mad(X,0,[1 3])
ycol = 1×3

    0.8330    0.7872    1.5227

Для примера, ycol(3) - среднее абсолютное отклонение всех элементов в X(:,3,:), и эквивалентно указанию mad(X(:,3,:),0,'all').

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

свернуть все

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

  • Если X является вектором, тогда mad возвращает среднее или среднее абсолютное отклонение значений в X.

  • Если X является матрицей, тогда mad возвращает вектор-строку, содержащую среднее или среднее абсолютное отклонение каждого столбца X.

  • Если X является многомерным массивом, затем mad действует по первой нежесткой размерности X.

Чтобы задать рабочую размерность, когда X является матрицей или массивом, используйте dim входной параметр.

mad лечит NaNs как отсутствующие значения и удаляет их.

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

Индикатор типа отклонения, заданный как 0 или 1.

  • Если flag является 0 (по умолчанию), затем mad вычисляет среднее абсолютное отклонение, mean(abs(X – mean(X))).

  • Если flag является 1, затем mad вычисляет среднее абсолютное отклонение, median(abs(X – median(X))).

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

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

Рассмотрим среднее абсолютное отклонение матрицы X:

  • Если dim равно 1, тогда mad(X) возвращает вектор-строку, который содержит среднее абсолютное отклонение каждого столбца в X.

  • Если dim равно 2, тогда mad(X) возвращает вектор-столбец, которая содержит среднее абсолютное отклонение каждой строки в X.

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

Вектор размерностей, заданный как положительный целочисленный вектор. Каждый элемент vecdim представляет размерности массива входа X. Область выхода y имеет длину 1 в заданных рабочих размерностях. Другие длины размерности одинаковы для X и y.

Для примера, если X массив 2 на 3 на 3, тогда mad(X,0,[1 2]) возвращает массив 1 на 1 на 3. Каждый элемент массива выхода является средним абсолютным отклонением элементов на соответствующей странице X.

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

Выходные аргументы

свернуть все

Среднее или среднее абсолютное отклонение, возвращаемое в виде скаляра, вектора, матрицы или многомерного массива. Если flag 0 (по умолчанию), затем y - среднее абсолютное отклонение значений в X, mean(abs(X – mean(X))). Если flag равен 1, затем y - среднее абсолютное отклонение значений в X, median(abs(X – median(X))).

Совет

  • Для нормально распределенных данных умножьте mad одним из следующих факторов для получения оценки σ параметра нормальной шкалы:

    • sigma = 1.253 * mad(X,0) - Для среднего абсолютного отклонения

    • sigma = 1.4826 * mad(X,1) - Для медианного абсолютного отклонения

Ссылки

[1] Мостеллер, Ф. и Дж. Тьюки. Анализ и регрессия данных. Верхняя Седл-Ривер, Нью-Джерси: Эддисон-Уэсли, 1977.

[2] Sachs, L. Applied Statistics: A Handbook of Technologies. Нью-Йорк: Springer-Verlag, 1984, стр. 253.

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

.

См. также

| |

Представлено до R2006a