Квантили набора данных
возвращает квантования элементов в векторе данных или массиве 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.
Если X является вектором, тогда Y является скаляром или вектором с длиной N.
Если X является матрицей, тогда Y - матрица, в которой количество строк Y равно N.
Для многомерных массивов, quantile действует по первой нежесткой размерности X.
возвращает квантования по размерностям, заданным в векторе Y = quantile(___,vecdim)vecdim для любого из первых двух синтаксисов. Для примера, если X является матрицей, тогда quantile(X,0.5,[1 2]) возвращает 0,5 квантиля всех элементов X потому что каждый элемент массива матрицы содержится в срезе массива, заданном размерностями 1 и 2.
Вычислим квантования набора данных для заданных вероятностей.
Сгенерируйте набор данных размера 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).
Вычислим равномерно разнесенные квантования вдоль столбцов и строк матрицы данных.
Сгенерируйте матрицу данных 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).
Вычислим квантования многомерного массива для заданных вероятностей при помощи 'all' и vecdim входные параметры.
Создайте массив 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 использует Линейную Интерполяцию, чтобы найти медиану и квартиль.
Вычислите точные и приблизительные величины высокого вектора-столбца для заданной вероятности.
При выполнении вычислений на длинные массивы MATLAB ® использует либо параллельный пул (по умолчанию, если у вас есть Parallel Computing Toolbox™), либо локальный сеанс работы с MATLAB. Чтобы запустить пример с использованием локального сеанса работы с MATLAB, когда у вас есть Parallel Computing Toolbox, измените глобальное окружение выполнения с помощью mapreducer функция.
mapreducer(0)
Создайте datastore для airlinesmall набор данных. Лечите 'NA' значения как отсутствующие данные, так что datastore заменяет их на NaN значения. Задайте, чтобы работать с ArrTime переменная.
ds = datastore('airlinesmall.csv','TreatAsMissing','NA',... 'SelectedVariableNames','ArrTime');
Создайте длинную таблицу о верхнюю часть datastore и извлечите данные из длинной таблицы в tall вектора.
t = tall(ds) % Tall tablet =
Mx1 tall table
ArrTime
_______
735
1124
2218
1431
746
1547
1052
1134
:
:
x = t{:,:} % Tall vectorx =
Mx1 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 =
tall double
?
Вычислите приблизительный квантиль x для p = 0.5. Задайте 'Method','approximate' использовать алгоритм приближения, основанный на T-Digest, для вычисления квантилей.
yApprox = quantile(x,p,'Method','approximate')
yApprox =
MxNx... tall double array
? ? ? ...
? ? ? ...
? ? ? ...
: : :
: : :
Оцените длинные массивы и внесите результаты в память при помощи gather.
[yExact,yApprox] = gather(yExact,yApprox)
Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 4: Completed in 1.2 sec - Pass 2 of 4: Completed in 0.57 sec - Pass 3 of 4: Completed in 0.83 sec - Pass 4 of 4: Completed in 0.62 sec Evaluation completed in 4.4 sec
yExact = 1522
yApprox = 1.5220e+03
Значения приблизительной величины и точной величины совпадают с четырьмя показанными цифрами.
Вычислите точные и приблизительные квантования tall matrix для заданных совокупных вероятностей по разным размерностям.
При выполнении вычислений на длинные массивы MATLAB ® использует либо параллельный пул (по умолчанию, если у вас есть Parallel Computing Toolbox™), либо локальный сеанс работы с MATLAB. Чтобы запустить пример с использованием локального сеанса работы с MATLAB, когда у вас есть Parallel Computing Toolbox, измените глобальное окружение выполнения с помощью mapreducer функция.
mapreducer(0)
Создайте tall matrix X содержащий подмножество переменных из airlinesmall набор данных. Для получения дополнительной информации о шагах по извлечению данных из длинный массив см. Quantles of Tall Vector for Distributed Probability.
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
X = t{:,varnames} % Tall matrixX =
Mx4 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-Digest.
Вычислим точные величины X вдоль второго измерения для совокупных вероятностей 0,25, 0,5 и 0,75.
p = [0.25 0.50 0.75]; % Vector of cumulative probabilities
Yexact = quantile(X,p,2)Yexact =
MxNx... tall double array
? ? ? ...
? ? ? ...
? ? ? ...
: : :
: : :
Когда функция действует по первой размерности и p является вектором совокупных вероятностей, вы должны использовать алгоритм приближения, основанный на t-дайджесте, чтобы вычислить квантили. Использование основанного на сортировке алгоритма для поиска квантилей по первой размерности длинный массив является вычислительно интенсивным.
Вычислите приблизительные величины X вдоль первой размерности для совокупных вероятностей 0,25, 0,5 и 0,75. Поскольку размерность по умолчанию является 1, вам не нужно задавать значение для dim.
Yapprox = quantile(X,p,'Method','approximate')
Yapprox =
MxNx... tall double array
? ? ? ...
? ? ? ...
? ? ? ...
: : :
: : :
Оцените длинные массивы и внесите результаты в память при помощи gather.
[Yexact,Yapprox] = gather(Yexact,Yapprox);
Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 1: Completed in 3 sec Evaluation completed in 3.9 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.
Вычислите точные и приблизительные величины по разным размерностям tall matrix для N равномерно разнесенные совокупные вероятности.
При выполнении вычислений на длинные массивы MATLAB ® использует либо параллельный пул (по умолчанию, если у вас есть Parallel Computing Toolbox™), либо локальный сеанс работы с MATLAB. Чтобы запустить пример с использованием локального сеанса работы с MATLAB, когда у вас есть Parallel Computing Toolbox, измените глобальное окружение выполнения с помощью mapreducer функция.
mapreducer(0)
Создайте tall matrix X содержащий подмножество переменных из airlinesmall набор данных. Для получения дополнительной информации о шагах по извлечению данных из длинный массив см. Quantles of Tall Vector for Distributed Probability.
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
X = t{:,varnames}X =
Mx4 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-Digest. Использование основанного на сортировке алгоритма (см. Алгоритмы), чтобы найти квантования по первой размерности длинный массив, является вычислительно интенсивным.
Вычислите три равномерно расположенные величины по первой размерности X. Поскольку размерность по умолчанию является 1, вам не нужно задавать значение для dim. Задайте 'Method','approximate' для использования алгоритма приближения.
N = 3; % Number of quantiles Yapprox = quantile(X,N,'Method','approximate')
Yapprox =
MxNx... tall double array
? ? ? ...
? ? ? ...
? ? ? ...
: : :
: : :
Чтобы найти равномерно расположенные величины по любой другой размерности (dim не 1), quantile вычисляет только точные величины, чтобы она могла эффективно выполнить расчет с помощью основанного на сортировке алгоритма.
Вычислите три равномерно расположенные величины по второму измерению X. Потому что dim не 1, quantile возвращает точные величины по умолчанию.
Yexact = quantile(X,N,2)
Yexact =
MxNx... tall double array
? ? ? ...
? ? ? ...
? ? ? ...
: : :
: : :
Оцените длинные массивы и внесите результаты в память при помощи gather.
[Yapprox,Yexact] = gather(Yapprox,Yexact);
Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 1: Completed in 3 sec Evaluation completed in 3.8 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.
X - Входные данныеВходные данные, заданные как вектор или массив.
Типы данных: double | single
p - Совокупные вероятностиКумулятивные вероятности, для которых можно вычислить квантования, заданные как скаляр или вектор скаляров от 0 до 1.
Пример: 0.3
Пример: [0,25, 0,5, 0,75]
Пример: (0: 0,25: 1)
Типы данных: double | single
N - Количество квантилейКоличество квантилей для вычисления, заданное как положительное целое число. quantile возвращает N квантования, которые делят набор данных на равномерно распределенные N+ 1 сегмент.
Типы данных: double | single
dim - Размерность Размерность, по которой X квантования матрицы запрашиваются в виде положительного целого числа. Для примера, для матрицы X, когда dim = 1, quantile возвращает количество столбцов X; когда dim = 2, quantile возвращает количество строк в X. Для многомерного массива X, длина dimI размерность Y совпадает с длиной p.
Типы данных: single | double
vecdim - Вектор размерностейВектор размерностей, заданный как положительный целочисленный вектор. Каждый элемент 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
method - Метод вычисления количеств'exact' (по умолчанию) | 'approximate'Метод вычисления квантилей, заданный как 'exact' или 'approximate'. По умолчанию, quantile возвращает точные величины путем реализации алгоритма, который использует сортировку. Можно задать 'method','approximate' для quantile чтобы вернуть приблизительные квантования путем реализации алгоритма, который использует T-Digest.
Типы данных: char | string
Y - КвантилиКвантования вектора данных или массива, возвращенные в виде скаляра или массива для одного или нескольких значений совокупных вероятностей.
Если X является вектором, тогда Y является скаляром или вектором с той же длиной, что и количество запрашиваемых квантилей (N или length(p)). Y(i) содержит p(i) квантиль.
Если X - массив размерности d, затем Y - массив с длиной наименьшей рабочей размерности, равной количеству запрашиваемых квантилей (N или length(p)).
Многомерный массив является массивом с более чем двумя размерностями. Для примера, если X массив 1 на 3 на 4, затем X является трехмерный массив.
Размерность несинглтона массива является размерностью, не равной 1. Первая размерность несинглтона массива является первой размерностью, который удовлетворяет условию несинглтона. Для примера, если X массив 1 на 1 на 2 на 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 следующим образом:
Точно так же, если квантиль 1,5/ n находится y 1,5/ n, а квантиль 2,5/ n - y 2,5/ n, то линейная интерполяция находит квантиль 2.3/ n y 2.3/ n как
T-digest [2] является вероятностной структурой данных, которая является разреженным представлением эмпирической кумулятивной функции распределения (CDF) набора данных. T-дайджест полезен для вычисления приближений основанной на рангах статистики (таких как процентили и квантили) из онлайновых или распределенных данных таким образом, чтобы это позволяло контролировать точность, особенно вблизи хвостов распределения данных.
Для данных, которые распределены в различных разделах, t-digest вычисляет оценки квантиля (и оценки процентиля) для каждого раздела данных отдельно, а затем объединяет оценки с сохранением постоянной памяти и постоянной относительной точности расчета ( для q-го квантиля). По этим причинам t-digest практичен для работы с длинными массивами.
Чтобы оценить квантования массива, который распределен в различных разделах, сначала создайте t-дайджест в каждом разделе данных. t-digest группирует данные в разделе и суммирует каждый кластер по центроидному значению и накопленному весу, которое представляет количество выборок, вносящих вклад в кластер. T-digest использует большие кластеры (широко разнесенные центроиды), чтобы представлять области CDF, которые близки q = 0.5 и использует небольшие кластеры (плотно расположенные центроиды), чтобы представлять области CDF, которые близки q = 0 или q = 1.
T-digest управляет размером кластера с помощью функции масштабирования, которая сопоставляет q квантования с индексом, k с параметром сжатия . То есть,
где k отображения монотонна с минимальным значением k (0, δ) = 0 и максимальным значением k (1, δ) = δ. Следующий рисунок показывает функцию масштабирования для δ = 10.

Функция масштабирования переводит q квантования в коэффициент масштабирования k в порядок, чтобы задать шаги переменного размера в q. В результате размеры кластера неравны (больше вокруг центральных величин и меньше вблизи q = 0 или q = 1). Меньшие кластеры обеспечивают лучшую точность вблизи ребер данных.
Чтобы обновить t-дайджест с новым наблюдением, которое имеет вес и расположение, найдите кластер, ближайший к новому наблюдению. Затем прибавьте вес и обновите центроид кластера на основе средневзвешенного среднего значения условии, что обновленный вес кластера не превышает ограничения по размеру.
Можно объединить независимые t-дайджесты из каждого раздела данных, взяв объединение t-дайджестов и объединив их центроиды. Чтобы объединить t-дайджесты, сначала отсортируйте кластеры из всех независимых t-дайджестов в порядке уменьшения весов кластеров. Затем объедините соседние кластеры, когда они удовлетворяют ограничению размера, чтобы сформировать новый t-дайджест.
Если вы формируете t-digest, который представляет полный набор данных, можно оценить конечные точки (или контуры) каждого кластера в t-digest, а затем использовать интерполяцию между конечными точками каждого кластера, чтобы найти точные оценки квантиля.
Для вектора n -element X, quantile вычисляет квантования с помощью основанного на сортировке алгоритма следующим образом:
Отсортированные элементы в 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).
quantile Использует Линейную Интерполяцию, чтобы вычислить квантования для вероятностей между (0 .5/ n) и ([n - 0,5 ]/ n).
Для квантилей, соответствующих вероятностям за пределами этой области значений, quantile присваивает минимальные или максимальные значения элементов в X.
quantile лечит NaNs как отсутствующие значения и удаляет их.
[1] Langford, E. «Quartiles in Elementary Statistics», Journal of Statistics Education. Том 14, № 3, 2006.
[2] Dunning, T., and O. Ertl. Вычисление чрезвычайно точных квантований с использованием T-Digests. Август 2017 года.
Указания и ограничения по применению:
Y = quantile(X,p) и Y = quantile(X,N) возвращает точные квантили (используя основанный на сортировке алгоритм) только в том случае, если X - высокий вектор-столбец.
Y = quantile(__,dim) возвращает точные величины только тогда, когда существует одно из следующих условий:
X - высокий вектор-столбец.
X является длинный массив и dim не 1. Для примера, quantile(X,p,2) возвращает точные величины вдоль строк длинный массив X.
Если X является длинный массив и dim является 1, затем необходимо указать 'Method','approximate' использовать алгоритм приближения, основанный на T-Digest, для вычисления квантилей. Для примера, quantile(X,p,1,'Method','approximate') возвращает приблизительные величины вдоль столбцов длинный массив X.
Y = quantile(__,vecdim) возвращает точные величины только тогда, когда существует одно из следующих условий:
X - высокий вектор-столбец.
X является длинный массив и vecdim не включает 1. Для примера, если X массив 3 на 5 на 2, затем quantile(X,p,[2,3]) возвращает точные величины элементов в каждом X(i,:,:) срез.
X является длинный массив и vecdim включает 1 и все нежесткие размерности X. Для примера, если X - массив 10 на 1 на 4, затем quantile(X,p,[1 3]) возвращает точные величины элементов в X(:,1,:).
Если X является длинный массив и vecdim включает 1 но не включает все нежесткие размерности X, затем необходимо указать 'Method','approximate' для использования алгоритма приближения. Для примера, если X это массив 10 на 1 на 4, который можно использовать quantile(X,p,[1 2],'Method','approximate') для нахождения приблизительных квантилей каждой страницы X.
Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
The 'all' и vecdim входные параметры не поддерживаются.
The 'Method' аргумент пары "имя-значение" не поддерживается.
The dim входной параметр должен быть константой времени компиляции.
Если вы не задаете dim входной параметр, рабочий (или рабочий) размерность может быть различным в сгенерированном коде. В результате могут возникнуть ошибок времени выполнения. Для получения дополнительной информации смотрите Автоматическое ограничение размерности (MATLAB Coder).
Если выход Y - вектор, ориентация Y отличается от MATLAB® когда все из следующих значений true:
Вы не поставляете dim.
X является массивом переменного размера, а не вектором переменного размера, во время компиляции, но X является вектором во время исполнения.
Ориентация вектора X не соответствует ориентации вектора p.
В этом случае выход Y соответствует ориентации X, а не ориентация p.
Для получения дополнительной информации о генерации кода смотрите Введение в генерацию кода и Рабочий процесс генерации общего кода.
Указания и ограничения по применению:
The 'all' и vecdim входные параметры не поддерживаются.
The 'Method' аргумент пары "имя-значение" не поддерживается.
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.