безумный

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

Синтаксис

y = mad(X)
y = mad(X,flag)
y = mad(X,flag,'all')
y = mad(X,flag,dim)
y = mad(X,flag,vecdim)

Описание

пример

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