exponenta event banner

trimmean

Среднее значение, исключая отклонения

Описание

пример

m = trimmean(X,percent) возвращает среднее значение значений X, вычисленное после удаления отклонений X. Например, если X - вектор, имеющий n значения, m - среднее значение X исключая самый высокий и самый низкий k значения данных, где k = n*(percent/100)/2.

  • Если X является вектором, то trimmean(X,percent) - среднее значение всех значений X, вычисленное после удаления отклонений.

  • Если X является матрицей, то trimmean(X,percent) - вектор строки средства столбца, вычисленный после удаления отклонений.

  • Если X является многомерным массивом, то trimmean работает по первому несинглтонному размеру X.

пример

m = trimmean(X,percent,flag) определяет способ обрезки при k (половина числа отклонений) не является целым числом.

пример

m = trimmean(___,'all') возвращает усеченное среднее всех значений в X используя любую из комбинаций входных аргументов в предыдущих синтаксисах.

пример

m = trimmean(___,dim) возвращает усеченное среднее по рабочему размеру dim из X.

пример

m = trimmean(___,vecdim) возвращает усеченное среднее по размерам, указанным в векторе vecdim. Например, если X является массивом 2 на 3 на 4, то trimmean(X,10,[1 2]) возвращает множество 1 на 1 на 4. Каждое значение выходного массива является средним из средних 90% значений на соответствующей странице X.

Примеры

свернуть все

Найдите относительную эффективность усеченного среднего значения 10% к среднему значению выборки для данного набора данных.

Создайте матрицу случайных чисел 100 на 100 из стандартного нормального распределения. Эта матрица представляет 100 выборок, каждая из которых содержит 100 точек данных.

rng default;  % For reproducibility
X = normrnd(0,1,100,100);

Вычислите среднее значение выборки и 10% усеченного среднего для каждого столбца матрицы данных.

m = mean(X); % Sample mean
trim = trimmean(X,10); % Trimmed mean

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

vm = var(m) % Variance of the sample mean
vm = 0.0094
vtrim = var(trim) % Variance of the trimmed mean
vtrim = 0.0097
efficiency = vm/vtrim % Relative efficiency of the trimmed mean to the sample mean
efficiency = 0.9663

Среднее значение выборки имеет меньшую дисперсию, чем усеченное среднее (efficiency < 1). Следовательно, усеченное среднее является менее эффективным, чем среднее значение образца.

Управление обрезкой для распределения с отклонениями при k (половина числа отклонений, подлежащих отсечению) не является целым числом.

Создайте вектор случайных чисел из t-распределения Стьюдента со степенями свободы, равными 1. Распределение Student, как правило, имеет отклонения.

rng default;  % For reproducibility
nu = 1; % Degrees of freedom
n = 60; % Number of rows
m = 1;  % Number of columns
x = trnd(nu,n,m); % Vector 

Визуализация распределения с использованием графика нормальной вероятности.

probplot(x)

Figure contains an axes. The axes with title Probability plot for Normal distribution contains 2 objects of type line.

Хотя распределение симметрично вокруг нуля, несколько отклонений влияют на среднее значение.

Найдите среднее значение данных.

mn = mean(x)
mn = 1.6452

Найдите усеченное среднее значение 33% данных.

trim = trimmean(x,33)
trim = 0.4940

Усеченное среднее значение 33% ближе к нулю, что более репрезентативно для данных. Для 33% усеченного среднего, k не является целым числом (k = 60*(33/100)/2 дает значение 9.9). Поэтому trimmean раунды k до ближайшего целого числа (10) по умолчанию.

Управление обрезкой путем округления k до следующего меньшего целого числа (9). Укажите элемент управления для отсечения 'floor'.

trim = trimmean(x,33,'floor')
trim = 0.4933

Найдите отсеченное среднее по различным размерам для матрицы.

Создайте матрицу случайных чисел из распределения Стьюдента. Распределение Student, как правило, имеет отклонения.

rng('default')
nu = 1; % Degrees of freedom
n = 2; % Number of rows
m = 100;  % Number of columns
X = trnd(nu,n,m);

Визуализация распределения для каждой строки X используя нормальный график вероятности.

for i = 1:n
    figure()
    probplot(X(i,:))
end

Figure contains an axes. The axes with title Probability plot for Normal distribution contains 2 objects of type line.

Figure contains an axes. The axes with title Probability plot for Normal distribution contains 2 objects of type line.

Найти среднее значение для каждой строки X.

mn = mean(X,2)
mn = 2×1

   -2.7379
    2.0087

Найдите усеченное среднее значение 30% для каждой строки X. Определить dim = 2 в качестве рабочего размера.

trim = trimmean(X,30,2)
trim = 2×1

   -0.0868
    0.1115

Усеченное среднее значение 30% в каждой строке ближе к нулю, что более репрезентативно для данных.

Рассчитайте усеченное среднее по нескольким размерам с помощью 'all' и vecdim входные аргументы.

Создайте массив 5 на 4 на 2 с некоторыми отклонениями.

X = reshape(1:40,[5 4 2]);
X([3 37]) = -100
X = 
X(:,:,1) =

     1     6    11    16
     2     7    12    17
  -100     8    13    18
     4     9    14    19
     5    10    15    20


X(:,:,2) =

    21    26    31    36
    22    27    32  -100
    23    28    33    38
    24    29    34    39
    25    30    35    40

Найти среднее значение 10% X.

mall = trimmean(X,10,'all')
mall = 19.4722

mall - среднее значение средних 90% значений в X.

Найдите 10% усеченное среднее для каждой страницы X.

mpage = trimmean(X,10,[1 2])
mpage = 
mpage(:,:,1) =

   10.3889


mpage(:,:,2) =

   29.6111

Например, mpage(1,1,2) - среднее значение средних 90% значений в X(:,:,2).

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

свернуть все

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

  • Если X является вектором, то trimmean(X,percent) - среднее значение всех значений X, вычисленное после удаления отклонений.

  • Если X является матрицей, то trimmean(X,percent) - вектор строки средства столбца, вычисленный после удаления отклонений.

  • Если X является многомерным массивом, то trimmean работает по первому несинглтонному размеру X.

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

trimmean удовольствия NaN значения в X как отсутствующие значения и удаляет их.

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

Процент входных данных, которые необходимо отсечь, указанный как скаляр между 0 и 100.

trimmean использует значение percent определить количество отклонений (наибольшее и наименьшее k значения в X) для удаления из X перед вычислением среднего. Для X с n значения, k = n*(percent/100)/2.

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

Управление обрезкой при k (половина числа отклонений) не является целым числом, указанным как одно из значений в этой таблице.

СтоимостьОписание
'round'Вокруг k до ближайшего целого числа (округление до меньшего целого числа, если k равно половине целого числа). Это значение является значением по умолчанию.
'floor'Вокруг k вплоть до следующего меньшего целого числа.
'weighted'Если k = i + f, где i является целым числом и f - дробь, вычислить взвешенное среднее с весом (1 – f) для (i + 1)th и (n – i)th значения и полный вес для значений между ними.

Типы данных: char | string

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

Рассмотрим двумерный массив X:

  • Если dim равно 1, то trimmean(X,percent,1) возвращает вектор строки, содержащий усеченное среднее для каждого столбца в X.

  • Если dim равно 2, то trimmean(X,percent,2) возвращает вектор столбца, содержащий усеченное среднее для каждой строки в X.

Если dim больше, чем ndims(X) или если size(X,dim) равно 1, то trimmean прибыль X.

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

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

Например, если X множество 2 на 3 на 3, тогда trimmean(X,10,[1 2]) возвращает множество 1 на 1 на 3. Каждый элемент вывода является средним из средних 90% значений на соответствующей странице X.

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

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

свернуть все

Усеченные средние значения, возвращаемые как скаляр, вектор, матрица или многомерный массив.

Совет

  • Усеченное среднее - это надежная оценка местоположения выборки данных. Если данные содержат отклонения, то усеченное среднее представляет центр данных лучше, чем среднее значение выборки. Однако если все данные получены из одного и того же распределения вероятности, то усеченное среднее менее эффективно, чем выборочное среднее в качестве оценщика местоположения данных.

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

См. также

| | |

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