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. T распределение Студента имеет тенденцию иметь выбросы.

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)

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

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

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

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

Сгенерируйте матрицу случайных чисел от t распределения Студента. T распределение Студента имеет тенденцию иметь выбросы.

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

Найдите среднее значение для каждой строки 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