квантиль

Квантили набора данных

Синтаксис

Y = quantile(X,p)
Y = quantile(X,N)
Y = quantile(___,'all')
Y = quantile(___,dim)
Y = quantile(___,vecdim)
Y = quantile(___,'Method',method)

Описание

пример

Y = quantile(X,p) возвращает квантили элементов в векторе данных или массиве X для интегральной вероятности или вероятностей p в интервале [0,1].

  • Если X является вектором, то Y является скаляром или вектором, имеющим ту же длину как p.

  • Если X является матрицей, то Y является вектором - строкой или матрицей, где количество строк Y равно длине p.

  • Для многомерных массивов quantile действует по первому неодноэлементному измерению X.

пример

Y = quantile(X,N) возвращается квантили для N равномерно расположили интегральные вероятности с интервалами (1 / (N + 1), 2 / (N + 1)..., N / (N + 1)) для целочисленного N> 1.

пример

Y = quantile(___,'all') возвращает квантили всех элементов X для любого из первых двух синтаксисов.

пример

Y = quantile(___,dim) возвращает квантили по операционному измерению dim для любого из первых двух синтаксисов.

пример

Y = quantile(___,vecdim) возвращает квантили по размерностям, заданным в векторном vecdim для любого из первых двух синтаксисов. Например, если X является матрицей, то quantile(X,0.5,[1 2]) возвращает 0,5 квантиля всех элементов X, потому что каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.

пример

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

Примеры

свернуть все

Вычислите квантили набора данных для заданных вероятностей.

Сгенерируйте набор данных размера 10.

rng('default'); % for reproducibility
x = normrnd(0,1,1,10)
x = 1×10

    0.5377    1.8339   -2.2588    0.8622    0.3188   -1.3077   -0.4336    0.3426    3.5784    2.7694

Вычислите 0,3 квантиля.

y = quantile(x,0.30)
y = -0.0574

Вычислите квантили для интегральных вероятностей 0.025, 0.25, 0.5, 0.75, и 0.975.

y = quantile(x,[0.025 0.25 0.50 0.75 0.975])
y = 1×5

   -2.2588   -0.4336    0.4401    1.8339    3.5784

Вычислите квантили набора данных для данного количества квантилей.

Сгенерируйте набор данных размера 10.

rng('default'); % for reproducibility
x = normrnd(0,1,1,10)
x = 1×10

    0.5377    1.8339   -2.2588    0.8622    0.3188   -1.3077   -0.4336    0.3426    3.5784    2.7694

Вычислите четыре равномерно расположенных с интервалами квантиля.

y = quantile(x,4)
y = 1×4

   -0.8706    0.3307    0.6999    2.3017

Используя y = quantile(x,[0.2,0.4,0.6,0.8]) другой способ возвратить четыре равномерно расположенных с интервалами квантиля.

Вычислите квантили вдоль столбцов и строк матрицы данных для заданных вероятностей.

Сгенерируйте 4 6 матрицу данных.

rng default  % For reproducibility
X = normrnd(0,1,4,6)
X = 4×6

    0.5377    0.3188    3.5784    0.7254   -0.1241    0.6715
    1.8339   -1.3077    2.7694   -0.0631    1.4897   -1.2075
   -2.2588   -0.4336   -1.3499    0.7147    1.4090    0.7172
    0.8622    0.3426    3.0349   -0.2050    1.4172    1.6302

Вычислите 0,3 квантиля для каждого столбца X (dim = 1).

y = quantile(X,0.3,1)
y = 1×6

   -0.3013   -0.6958    1.5336   -0.1056    0.9491    0.1078

quantile возвращает вектор - строку y при вычислении одного квантиля для каждого столбца матрицы. Например, -0.3013 является 0,3 квантилями первого столбца X с элементами (0.5377, 1.8339,-2.2588, 0.8622). Поскольку значение по умолчанию dim равняется 1, можно возвратить тот же результат с y = quantile(X,0.3).

Вычислите 0,3 квантиля для каждой строки X (dim = 2).

y = quantile(X,0.3,2)
y = 4×1

    0.3844
   -0.8642
   -1.0750
    0.4985

quantile возвращает вектор-столбец y при вычислении одного квантиля для каждой строки матрицы. Например, 0.3844 является 0,3 квантилями первой строки X с элементами (0.5377, 0.3188, 3.5784, 0.7254,-0.1241, 0.6715).

Вычислите N равномерно распределенные квантили вдоль столбцов и строк матрицы данных.

Сгенерируйте 6 10 матрицу данных.

rng('default');  % for reproducibility
X = unidrnd(10,6,7)
X = 6×7

     9     3    10     8     7     8     7
    10     6     5    10     8     1     4
     2    10     9     7     8     3    10
    10    10     2     1     4     1     1
     7     2     5     9     7     1     5
     1    10    10    10     2     9     4

Вычислите три равномерно расположенных с интервалами квантиля для каждого столбца X (dim = 1).

y = quantile(X,3,1)
y = 3×7

    2.0000    3.0000    5.0000    7.0000    4.0000    1.0000    4.0000
    8.0000    8.0000    7.0000    8.5000    7.0000    2.0000    4.5000
   10.0000   10.0000   10.0000   10.0000    8.0000    8.0000    7.0000

Каждый столбец матричного y соответствует трем равномерно расположенным с интервалами квантилям каждого столбца матричного X. Например, первый столбец y с элементами (2, 8, 10) имеет квантили для первого столбца X с элементами (9, 10, 2, 10, 7, 1). y = quantile(X,3) дает тот же ответ, потому что значение по умолчанию dim равняется 1.

Вычислите три равномерно расположенных с интервалами квантиля для каждой строки X (dim = 2).

y = quantile(X,3,2)
y = 6×3

    7.0000    8.0000    8.7500
    4.2500    6.0000    9.5000
    4.0000    8.0000    9.7500
    1.0000    2.0000    8.5000
    2.7500    5.0000    7.0000
    2.5000    9.0000   10.0000

Каждая строка матричного y соответствует трем равномерно расположенным с интервалами квантилям каждой строки матричного X. Например, первая строка y с элементами (7, 8, 8.75) имеет квантили для первой строки X с элементами (9, 3, 10, 8, 7, 8, 7).

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

Создайте 3 5 2 массивами X. Задайте вектор вероятностей p.

X = reshape(1:30,[3 5 2])
X = 
X(:,:,1) =

     1     4     7    10    13
     2     5     8    11    14
     3     6     9    12    15


X(:,:,2) =

    16    19    22    25    28
    17    20    23    26    29
    18    21    24    27    30

p = [0.25 0.75];

Вычислите 0,25 и 0,75 квантиля всех элементов в X.

Yall = quantile(X,p,'all')
Yall = 2×1

     8
    23

Yall(1) является 0,25 квантилями X, и Yall(2) является 0,75 квантилями X.

Вычислите 0,25 и 0,75 квантиля для каждой страницы X путем определения размерностей 1 и 2 как операционные размерности.

Ypage = quantile(X,p,[1 2])
Ypage = 
Ypage(:,:,1) =

    4.2500
   11.7500


Ypage(:,:,2) =

   19.2500
   26.7500

Например, Ypage(1,1,1) является 0,25 квантилями первой страницы X, и Ypage(2,1,1) является 0,75 квантилями первой страницы X.

Вычислите 0,25 и 0,75 квантиля элементов в каждом срезе X(i,:,:) путем определения размерностей 2 и 3 как операционные размерности.

Yrow = quantile(X,p,[2 3])
Yrow = 3×2

     7    22
     8    23
     9    24

Например, Yrow(3,1) является 0,25 квантилями элементов в X(3,:,:), и Yrow(3,2) является 0,75 квантилями элементов в X(3,:,:).

Найдите медиану и квартили вектора, x, с четным числом элементов.

Введите данные.

x = [2 5 6 10 11 13]
x = 1×6

     2     5     6    10    11    13

Вычислите медиану x.

y = quantile(x,0.50)
y = 8

Вычислите квартили x.

y = quantile(x,[0.25, 0.5, 0.75])
y = 1×3

     5     8    11

Используя y = quantile(x,3) другой способ вычислить квартили x.

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

Найдите медиану и квартили вектора, x, с нечетным числом элементов.

Введите данные.

x = [2 4 6 8 10 12 14]
x = 1×7

     2     4     6     8    10    12    14

Найдите медиану x.

y = quantile(x,0.50)
y = 8

Найдите квартили x.

y = quantile(x,[0.25, 0.5, 0.75])
y = 1×3

    4.5000    8.0000   11.5000

Используя y = quantile(x,3) другой способ вычислить квартили x.

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

Вычислите точные и аппроксимированные квантили высокого вектор-столбца для данной вероятности.

Создайте datastore для набора данных airlinesmall. Обработайте значения 'NA' как недостающие данные так, чтобы datastore заменил их на значения NaN. Задайте, чтобы работать с переменной ArrTime.

ds = datastore('airlinesmall.csv','TreatAsMissing','NA',...
    'SelectedVariableNames','ArrTime');

Составьте длинную таблицу сверху datastore и извлеките данные из длинной таблицы в высокий вектор.

t = tall(ds) % Tall table
Starting parallel pool (parpool) using the 'local' profile ...
connected to 6 workers.

t =

  M×1 tall table

    ArrTime
    _______

      735  
     1124  
     2218  
     1431  
      746  
     1547  
     1052  
     1134  
       :
       :
x = t{:,:}   % Tall vector
x =

  M×1 tall double column vector

         735
        1124
        2218
        1431
         746
        1547
        1052
        1134
         :
         :

Вычислите точный квантиль x для p = 0.5. Поскольку X является высоким вектор-столбцом, и p является скаляром, quantile возвращает точное значение квантиля по умолчанию.

p = 0.5; % Cumulative probability
yExact = quantile(x,p)
yExact =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Вычислите аппроксимированный квантиль x для p = 0.5. Задайте 'Method','approximate', чтобы использовать алгоритм аппроксимации на основе T-обзора для вычисления квантилей.

yApprox = quantile(x,p,'Method','approximate')
yApprox =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Оцените длинные массивы и загрузите результаты в память при помощи gather.

[yExact,yApprox] = gather(yExact,yApprox)
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 4: Completed in 8.7 sec
- Pass 2 of 4: Completed in 4.7 sec
- Pass 3 of 4: Completed in 1.8 sec
- Pass 4 of 4: Completed in 1.5 sec
Evaluation completed in 19 sec
yExact = 1522
yApprox = 1.5220e+03

Значения аппроксимированного квантиля и точного квантиля являются тем же самым к этим четырем показанным цифрам.

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

Создайте высокий матричный X, содержащий подмножество переменных из набора данных airlinesmall. Смотрите Квантили Высокого Вектора для Данной Вероятности для получения дополнительной информации о шагах, чтобы извлечь данные из длинного массива.

varnames = {'ArrDelay','ArrTime','DepTime','ActualElapsedTime'}; % Subset of variables in the data set
ds = datastore('airlinesmall.csv','TreatAsMissing','NA',...
    'SelectedVariableNames',varnames); % Datastore
t = tall(ds);     % Tall table
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).
X = t{:,varnames} % Tall matrix
X =

  M×4 tall double matrix

           8         735         642          53
           8        1124        1021          63
          21        2218        2055          83
          13        1431        1332          59
           4         746         629          77
          59        1547        1446          61
           3        1052         928          84
          11        1134         859         155
          :          :            :           :
          :          :            :           :

При работе по измерению, которое не является 1, функция quantile вычисляет точные квантили только, так, чтобы она могла выполнить вычисление эффективно с помощью основанного на сортировке алгоритма (см. Алгоритмы) вместо алгоритма аппроксимации на основе T-обзора.

Вычислите точные квантили X вдоль второго измерения для интегральных вероятностей 0.25, 0.5, и 0.75.

p = [0.25 0.50 0.75]; % Vector of cumulative probabilities
Yexact = quantile(X,p,2)
Yexact =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Когда функция действует по первому измерению, и p является вектором интегральных вероятностей, необходимо использовать алгоритм аппроксимации на основе t-обзора, чтобы вычислить квантили. Используя основанный на сортировке алгоритм, чтобы найти квантили по первому измерению длинного массива в вычислительном отношении интенсивно.

Вычислите аппроксимированные квантили X по первому измерению для интегральных вероятностей 0.25, 0.5, и 0.75. Поскольку размерность по умолчанию равняется 1, вы не должны задавать значение для dim.

Yapprox = quantile(X,p,'Method','approximate')
Yapprox =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Оцените длинные массивы и загрузите результаты в память при помощи gather.

[Yexact,Yapprox] = gather(Yexact,Yapprox);
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 9.7 sec
Evaluation completed in 11 sec

Покажите первые пять строк точных квантилей X (вдоль второго измерения) для интегральных вероятностей 0.25, 0.5, и 0.75.

Yexact(1:5,:)
ans = 5×3
103 ×

    0.0305    0.3475    0.6885
    0.0355    0.5420    1.0725
    0.0520    1.0690    2.1365
    0.0360    0.6955    1.3815
    0.0405    0.3530    0.6875

Каждая строка матричного Yexact содержит три квантиля соответствующей строки в X. Например, 30.5, 347.5 и 688.5 являются 0.25, 0.5, и 0,75 квантиля, соответственно, первой строки в X.

Покажите аппроксимированные квантили X (по первому измерению) для интегральных вероятностей 0.25, 0.5, и 0.75.

Yapprox
Yapprox = 3×4
103 ×

   -0.0070    1.1149    0.9321    0.0700
         0    1.5220    1.3350    0.1020
    0.0110    1.9180    1.7400    0.1510

Каждый столбец матричного Yapprox соответствует этим трем квантилям для каждого столбца матричного X. Например, первый столбец Yapprox с элементами (–7, 0, 11) содержит квантили для первого столбца X.

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

Создайте высокий матричный X, содержащий подмножество переменных из набора данных airlinesmall. Смотрите Квантили Высокого Вектора для Данной Вероятности для получения дополнительной информации о шагах, чтобы извлечь данные из длинного массива.

varnames = {'ArrDelay','ArrTime','DepTime','ActualElapsedTime'}; % Subset of variables in the data set
ds = datastore('airlinesmall.csv','TreatAsMissing','NA',...
    'SelectedVariableNames',varnames); % Datastore
t = tall(ds); % Tall table
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).
X = t{:,varnames}
X =

  M×4 tall double matrix

           8         735         642          53
           8        1124        1021          63
          21        2218        2055          83
          13        1431        1332          59
           4         746         629          77
          59        1547        1446          61
           3        1052         928          84
          11        1134         859         155
          :          :            :           :
          :          :            :           :

Чтобы найти равномерно распределенные квантили по первому измерению, необходимо использовать алгоритм аппроксимации на основе T-обзора. Используя основанный на сортировке алгоритм (см. Алгоритмы), чтобы найти квантили по первому измерению длинного массива в вычислительном отношении интенсивно.

Вычислите три равномерно расположенных с интервалами квантиля по первому измерению X. Поскольку размерность по умолчанию равняется 1, вы не должны задавать значение для dim. Задайте 'Method','approximate', чтобы использовать алгоритм аппроксимации.

N = 3; % Number of quantiles
Yapprox = quantile(X,N,'Method','approximate')
Yapprox =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Чтобы найти равномерно распределенные квантили по любому другому измерению (dim не является 1), quantile вычисляет точные квантили только, так, чтобы это могло выполнить вычисление эффективно при помощи основанного на сортировке алгоритма.

Вычислите три равномерно расположенных с интервалами квантиля вдоль второго измерения X. Поскольку dim не 1, quantile возвращает точные квантили по умолчанию.

Yexact = quantile(X,N,2)
Yexact =

  M×N×... tall double array

    ?    ?    ?    ...
    ?    ?    ?    ...
    ?    ?    ?    ...
    :    :    :
    :    :    :

Preview deferred. Learn more.

Оцените длинные массивы и загрузите результаты в память при помощи gather.

[Yapprox,Yexact] = gather(Yapprox,Yexact);
Evaluating tall expression using the Parallel Pool 'local':
- Pass 1 of 1: Completed in 10 sec
Evaluation completed in 13 sec

Покажите аппроксимированные квантили X (по первому измерению) для трех равномерно расположенных с интервалами интегральных вероятностей.

Yapprox
Yapprox = 3×4
103 ×

   -0.0070    1.1149    0.9321    0.0700
         0    1.5220    1.3350    0.1020
    0.0110    1.9180    1.7400    0.1510

Каждый столбец матричного Yapprox соответствует трем равномерно расположенным с интервалами квантилям для каждого столбца матричного X. Например, первый столбец Yapprox с элементами (–7, 0, 11) содержит квантили для первого столбца X.

Покажите первые пять строк точных квантилей X (вдоль второго измерения) для трех равномерно расположенных с интервалами интегральных вероятностей.

Yexact(1:5,:)
ans = 5×3
103 ×

    0.0305    0.3475    0.6885
    0.0355    0.5420    1.0725
    0.0520    1.0690    2.1365
    0.0360    0.6955    1.3815
    0.0405    0.3530    0.6875

Каждая строка матричного Yexact содержит три равномерно расположенных с интервалами квантиля соответствующей строки в X. Например, 30.5, 347.5 и 688.5 являются 0.25, 0.5, и 0,75 квантиля, соответственно, первой строки в X.

Входные параметры

свернуть все

Входные данные, заданные как вектор или массив.

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

Интегральные вероятности, для которых можно вычислить квантили, заданные как скаляр или вектор скаляров от 0 до 1.

Пример: 0.3

Пример: [0.25, 0.5, 0.75]

Пример: (0:0.25:1)

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

Количество квантилей, чтобы вычислить, заданный как положительное целое число. quantile возвращает квантили N, которые делят набор данных на равномерно распределенный N +1 сегмент.

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

Размерность, по которой требуют квантили матричного X, задала как положительное целое число. Например, для матричного X, когда dim = 1, quantile возвращает квантиль (квантили) столбцов X; когда dim = 2, quantile возвращает квантиль (квантили) строк X. Для многомерного массива X длина dim th размерность Y совпадает с длиной p.

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

Вектор размерностей, заданных как положительный целочисленный вектор. Каждый элемент vecdim представляет размерность входного массива X. В самой маленькой заданной операционной размерности (то есть, размерность min(vecdim)), вывод Y имеет длину, равную количеству квантилей, которые требуют (или N или length(p)). В каждой из остающихся операционных размерностей Y имеет длину 1. Другие длины размерности являются тем же самым для X и Y.

Например, считайте 2 3х3 массивом X с p = [0.2 0.4 0.6 0.8]. В этом случае quantile(X,p,[1 2]) возвращает массив, где каждая страница массива содержит 0.2, 0.4, 0.6, и 0,8 квантиля элементов на соответствующей странице X. Поскольку 1 и 2 операционные размерности, с   min([1 2]) = 1 и   length(p) = 4, вывод является 4 1 3 массивами.

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

Метод для вычисления квантилей, заданных как 'exact' или 'approximate'. По умолчанию quantile возвращает точные квантили путем реализации алгоритма, который использует сортировку. Можно задать 'method','approximate' для quantile, чтобы возвратить аппроксимированные квантили путем реализации алгоритма, который использует T-обзор.

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

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

свернуть все

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

  • Если X является вектором, то Y является скаляром или вектором с той же длиной как количество квантилей, которые требуют (N или length(p)). Y(i) содержит квантиль p(i).

  • Если X является массивом размерности d, то Y является массивом с длиной самой маленькой операционной размерности, равной количеству квантилей, которые требуют (N или length(p)).

Больше о

свернуть все

Многомерный массив

Многомерный массив является массивом больше чем с двумя размерностями. Например, если X является 1 массивом 3 на 4, то X является трехмерным массивом.

Первая неодноэлементная размерность

Первая неодноэлементная размерность является первой размерностью массива, размер которого не равен 1. Например, если X является 1 2 массивом 3 на 4, то второе измерение является первой неодноэлементной размерностью X.

Линейная интерполяция

Линейная интерполяция использует линейные полиномы, чтобы найти yi = f (xi), значения базового функционального Y = f (X) в точках в векторе или массиве x. Учитывая точки данных (x 1, y 1) и (x 2, y 2), где y 1 = f (x 1) и y 2 = f (x 2), линейная интерполяция находит y = f (x) для данного x между x 1 и x 2 можно следующим образом:

y=f(x)=y1+(xx1)(x2x1)(y2y1).

Точно так же, если 1.5/n квантилем является y 1.5/n, и 2.5/n квантилем является y 2.5/n, то линейная интерполяция находит 2.3/n квантиль y 2.3/n как

y2.3n=y1.5n+(2.3n1.5n)(2.5n1.5n)(y2.5ny1.5n).

T-обзор

T-обзор [2] является вероятностной структурой данных, которая является разреженным представлением эмпирической кумулятивной функции распределения (CDF) набора данных. T-обзор полезен для вычислительных приближений основанной на ранге статистики (таких как процентили и квантили) от онлайновых или распределенных данных способом, которые допускают управляемую точность, особенно около хвостов распределения данных.

Для данных, которые распределяются в различных разделах, t-обзор вычисляет оценки квантиля (и оценки процентили) для каждого раздела данных отдельно, и затем комбинирует оценки при поддержании постоянной памяти связанная и постоянная относительная точность вычисления (q(1q) для q th квантиль). По этим причинам t-обзор практичен для работы с длинными массивами.

Чтобы оценить квантили, массив, который распределяется в различных разделах, сначала создайте t-обзор в каждом разделе данных. T-обзор кластеризирует данные в разделе и обобщает каждый кластер центроидным значением и накопленным весом, который представляет количество выборок, способствующих кластеру. T-обзор использует большие кластеры (широко расставленные центроиды), чтобы представлять области CDF, которые являются около q = 0.5, и использует небольшие кластеры (плотно распределенные центроиды), чтобы представлять области CDF, которые являются около q = 0 или q = 1.

T-обзор управляет размером кластера при помощи масштабирующейся функции, которая сопоставляет квантиль q с индексом k с параметром сжатия δ. Таким образом,

k(q,δ)=δ(sin1(2q1)π+12),

где отображение k является монотонным с минимальным значением k(0,) = 0 и максимальное значение k(1,) = δ.

Масштабирование функции для = 10

Масштабирующаяся функция переводит квантиль q в масштабный коэффициент k в порядке дать переменные шаги размера в q. В результате размеры кластера неравны (больше вокруг центральных квантилей и меньший около q = 0 или q = 1). Меньшие кластеры допускают лучшую точность около ребер данных.

Чтобы обновить t-обзор с новым наблюдением, которое имеет вес и местоположение, найдите кластер самым близким к новому наблюдению. Затем добавьте вес и обновите центроид кластера на основе взвешенного среднего, при условии, что обновленный вес кластера не превышает ограничение размера.

Можно объединить независимые t-обзоры от каждого раздела данных путем взятия объединения t-обзоров и слияния их центроидов. Объединить t-обзоры, первый вид кластеры из всех независимых t-обзоров в порядке убывания кластерных весов. Затем объедините соседние кластеры, когда они будут соответствовать ограничению размера, чтобы сформировать новый t-обзор.

Если вы формируете t-обзор, который представляет набор полных данных, можно оценить конечные точки (или контуры) каждого кластера в t-обзоре и затем использовать интерполяцию между конечными точками каждого кластера, чтобы найти точные оценки квантиля.

Алгоритмы

Для n - вектор элемента X, quantile вычисляет квантили при помощи основанного на сортировке алгоритма можно следующим образом:

  1. Отсортированные элементы в X взяты в качестве (0.5/n), (1.5/n)..., ([n – 0.5]/n) квантили. Например:

    • Для вектора данных пяти элементов такой как {6, 3, 2, 10, 1}, отсортированные элементы {1, 2, 3, 6, 10} соответственно соответствуют 0.1, 0.3, 0.5, 0.7, 0,9 квантиля.

    • Для вектора данных шести элементов такой как {6, 3, 2, 10, 8, 1}, отсортированные элементы {1, 2, 3, 6, 8, 10} соответственно соответствуют (0.5/6), (1.5/6), (2.5/6), (3.5/6), (4.5/6), (5.5/6) квантили.

  2. quantile использует Линейную интерполяцию, чтобы вычислить квантили для вероятностей между (0.5/n) и ([n – 0.5]/n).

  3. Для квантилей, соответствующих вероятностям вне той области значений, quantile присваивает минимальные или максимальные значения элементов в X.

quantile обрабатывает NaN s как отсутствующие значения и удаляет их.

Ссылки

[1] Лэнгфорд, E. “Квартили в элементарной статистике”, журнал образования статистики. Издание 14, № 3, 2006.

[2] Причинение беспокойства, T. и О. Эртл. “Вычисляя чрезвычайно Точные квантили Используя T-обзоры. Август 2017.

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

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

| | |

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