exponenta event banner

безумный

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

Описание

пример

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.

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

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

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 входной аргумент.

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

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 Techniques. Нью-Йорк: Спрингер-Верлаг, 1984, с. 253.

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

.

См. также

| |

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