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. Каждый элемент выходного массива является средним абсолютным отклонением элементов на соответствующей странице 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,:), и эквивалентно specifying 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] Mosteller, F. и Дж. Туки. Анализ данных и регрессия. Верхний Сэддл-Ривер, NJ: Аддисон-Уэсли, 1977.

[2] Сакс, L. Прикладная статистика: Руководство Методов. Нью-Йорк: Springer-Verlag, 1984, p. 253.

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

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

| |

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