数据集的定量
返回数据矢量或数组中元素的定量y
=分位数(X
那P.
)X
用于累积概率或概率P.
在区间[0,1]内。
如果X
是一个矢量,然后y
是标量或矢量长度与P.
.
如果X
是一个矩阵,然后y
行向量或者矩阵的行数是多少y
等于的长度P.
.
为多维阵列那斯蒂利韦
作用于第一nonsingleton维度的X
.
为指定的概率计算数据集的分位数。
生成大小10的数据集。
RNG('默认');重复性的%x = normrnd(0,1,1,10)
X =1×100.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336 0.3426 3.5784 2.7694
计算0.3分位数。
y =分位数(x, 0.30)
Y = -0.0574.
计算累积概率0.025、0.25、0.5、0.75和0.975的分位数。
Y =分位数(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('默认');重复性的%x = normrnd(0,1,1,10)
X =1×100.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336 0.3426 3.5784 2.7694
计算四个均匀间隔的量级。
y = smianile(x,4)
y =1×4-0.8706 0.3307 0.6999 2.3017
使用y = smianile(x,[0.2,0.4,0.6,0.8])
是返回四个均匀间隔量子的另一种方法。
为指定概率的列和行的列和行计算定量。
生成一个4 × 6的数据矩阵。
RNG.默认的重复性的%X = NORMRND(0,1,4,6)
X =4×60.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.7172 0.8622 0.3426 3.0349 -0.2050 1.4172 1.6302 1.4172 1.6302
计算每列的0.3分量X
(暗淡
= 1)。
y = smianile(x,0.3,1)
y =1×60.3013 0.6958 1.5336 0.1056 0.9491 0.1078
斯蒂利韦
返回一排矢量y
当为矩阵的每一列计算一个分位数时。例如,-0.3013
的第一列的0.3分位数是X
元素(0.5377,1.8339,-2.2588,0.8622)。因为。的默认值暗淡
是1,你可以返回相同的结果y =分位数(X, 0.3)
.
计算每行0.3分量X
(暗淡
= 2)。
y = smianile(x,0.3,2)
y =4×10.3844 -0.8642 -1.0750 0.4985
斯蒂利韦
返回列向量y
当为矩阵的每一行计算一个分位数时。例如0.3844
的第一行的0.3分位数是X
具有元素(0.5377,3188,3.5784,0.7254,0.1241,0.6715)。
计算 沿着数据矩阵的列和行均匀间隔的分位数。
生成6×10数据矩阵。
RNG('默认');重复性的%x = Unidrnd(10,6,7)
X =6×79 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
(暗淡
= 1)。
y =分位数(X 3 - 1)
y =3×72.0000 3.0000 7.0000 7.0000 1.0000 1.0000 8.0000 8.0000 7.0000 8.0000 7.0000 2.0000 4.0000 10.0000 10.0000 10:0000 10.0000 8.0000 8:0000 8.0000 7:0000
每列矩阵y
对应于每列矩阵的三个均匀间隔量子X
.例如,第一列y
元素(2,8,10)的第一列的分位数为X
元素(9,10,2,10,7,1)。y = smianile(x,3)
返回相同的答案,因为默认值暗淡
是1。
为每一行计算三个均匀间隔的分位数X
(暗淡
= 2)。
y =分位数(X 3 2)
y =6×37.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.
输入参数。
创建一个3 × 5 × 2的数组X
.指定概率的向量P.
.
X =重塑(1:30,[3 5 2])
X = X(:,: 1) = 14 7 10 13 25 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 =分位数(X p“所有”)
Yall =2×18日23
Yall (1)
0.25分位数是X
,Yall (2)
0.75分位数是X
.
计算每页0.25和0.75定位X
通过指定维度1和2作为操作维度。
pagage =分位数(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(我::)
通过指定尺寸2和3作为操作尺寸切片。
Yrow = quantile(X,p,[2 3])
yrow =3×27 22 8 23 9 24
例如,Yrow(3,1)
是0.25分钟的元素x(3,:,:)
,Yrow(3,2)
是0.75分量的元素x(3,:,:)
.
计算给定概率的高柱向量的精确和近似量程。
当您在高数组上执行计算时,MATLAB®使用一个并行池(如果您有parallel Computing Toolbox™,则默认)或本地MATLAB会话。要在使用并行计算工具箱时使用本地MATLAB会话运行示例,请使用Mapreducer.
功能。
Mapreducer(0)
创建一个数据存储区airlinesmall
数据集。对待'na'
值作为缺失数据,以便数据存储
用它们取代它们南
价值观。指定使用arttime.
变量。
ds =数据存储('airlinesmall.csv'那'尾声'那'na'那...“SelectedVariableNames”那“ArrTime”);
在数据存储上创建一个高表,并将数据从高表中提取到高向量中。
t =高(DS)%高表
T = MX1高表ARRTIME _______ 735 1124 2218 1431 746 1547 1052 1134:
x = t {:,:}%高的向量
X = MX1高双柱向量735 1124 2218 1431 746 1547 1052 1134:
计算x的精确分位数P.
= 0.5。因为X
是高列向量吗P.
是一个标量,斯蒂利韦
默认情况下返回精确的分位数值。
p = 0.5;%累积概率Yexact = Smianile(X,P)
yExact = tall double ?
计算X的近似分量P.
= 0.5。指定'方法','近似'
使用基于的近似算法T-DIGEST.计算量数。
yApprox =分位数(x p'方法'那'近似')
yApprox = MxNx……高双数组???......???......??? ... : : : : : :
评估高阵列并通过使用将结果带入内存中收集
.
[Yexact,Yappox] =聚集(YExact,Yappox)
使用本地MATLAB会话评估高表达式:-通过1的4:在1.2秒完成-通过2的4:在0.66秒完成-通过3的4:在0.76秒完成-通过4的4:在0.87秒完成评估4.6秒完成
YExact = 1522.
yApprox = 1.5220 e + 03
近似分位数和精确分位数的值与所示的四位相同。
计算沿不同尺寸的指定累积概率的高矩阵的精确和近似定量。
当您在高数组上执行计算时,MATLAB®使用一个并行池(如果您有parallel Computing Toolbox™,则默认)或本地MATLAB会话。要在使用并行计算工具箱时使用本地MATLAB会话运行示例,请使用Mapreducer.
功能。
Mapreducer(0)
创建一个高矩阵X
包含来自的变量子集airlinesmall
数据集。看给定概率的高载体量数有关从高数组中提取数据的步骤的详细信息。
varnames = {'arrdelay'那“ArrTime”那'deptime'那'ActualLapSedtime'};数据集中的%变量子集ds =数据存储('airlinesmall.csv'那'尾声'那'na'那...“SelectedVariableNames”, varnames);% 数据存储t =高(DS);%高表X = t {:, varnames}%高矩阵
X = Mx4高双矩阵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的尺寸操作时,斯蒂利韦
函数只计算精确的分位数,因此它可以使用基于排序的算法高效地执行计算(参见算法)代替基于的近似算法T-DIGEST..
计算的精确分位数X
沿着累积概率为0.25,0.5和0.75的第二维度。
P = [0.25 0.50 0.75];累积概率的%向量Yexact = Smianile(X,P,2)
Yexact = mxnx ...高双数组???......???......???... :::::::::
当该功能沿第一维度和P.
是累积概率的矢量,必须使用基于T-Digest的近似算法来计算量数。使用基于分类的算法沿着高阵列的第一维找到量程是计算密集的。
计算近似量程X
沿着累积概率0.25,0.5和0.75的第一维度。因为默认维度是1,所以不需要指定值暗淡
.
Yappox = Smianile(X,P,'方法'那'近似')
Yappox = mxnx ...高级双数组???......???......???... :::::::::
评估高阵列并通过使用将结果带入内存中收集
.
[Yexact, Yapprox] =收集(Yexact Yapprox);
使用本地MATLAB会话评估高表达: - 通过1的1:在2.8秒评估中完成的3.7秒
显示的确切分位数的前五行X
(沿第二个维度)累积概率为0.25、0.5和0.75。
YExact(1:5,:)
ans =.5×3103.×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。
Yappox.
Yappox =.3×4103.×-0.0070 1.1149 0.9322 0.0700 0 1.5220 1.3350 0.1020 0.010 0.0110 1.9180 1.7400 0.1510
矩阵的每列Yappox.
对应于矩阵的每列的三个分量X
.例如,第一列Yappox.
具有元素(-7,0,11)包含第一列的分量X
.
计算精确的和近似的分位数沿着不同的维度的高矩阵N
均匀间隔累积概率。
当您在高数组上执行计算时,MATLAB®使用一个并行池(如果您有parallel Computing Toolbox™,则默认)或本地MATLAB会话。要在使用并行计算工具箱时使用本地MATLAB会话运行示例,请使用Mapreducer.
功能。
Mapreducer(0)
创建一个高矩阵X
包含来自的变量子集airlinesmall
数据集。看给定概率的高载体量数有关从高数组中提取数据的步骤的详细信息。
varnames = {'arrdelay'那“ArrTime”那'deptime'那'ActualLapSedtime'};数据集中的%变量子集ds =数据存储('airlinesmall.csv'那'尾声'那'na'那...“SelectedVariableNames”, varnames);% 数据存储t =高(DS);%高表X = t {:, varnames}
X = Mx4高双矩阵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,所以不需要指定值暗淡
.指定'方法','近似'
使用近似算法。
n = 3;%分位数个数Yapprox =分位数(X, N,'方法'那'近似')
Yappox = mxnx ...高级双数组???......???......???... :::::::::
在任何其他维度上寻找均匀间隔的分位数(暗淡
不是1
),斯蒂利韦
仅计算精确量级,以便它可以通过使用基于分类的算法有效地执行计算。
沿着第二尺寸计算三个均匀间隔的量级X
.因为暗淡
不是1,斯蒂利韦
默认情况下返回精确定位。
Yexact = Smianile(x,n,2)
Yexact = mxnx ...高双数组???......???......???... :::::::::
评估高阵列并通过使用将结果带入内存中收集
.
[Yappox,Yexact] =聚集(Yappox,Yexact);
使用本地MATLAB会话评估高表达: - 通过1的1:在2.9秒评估中完成3.6秒
显示近似量级X
(沿第一个维度)为三个均匀间隔的累积概率。
Yappox.
Yappox =.3×4103.× -0.0070 1.1148 0.9321 0.0700 0 1.5220 1.3350 0.1020 0.0110 1.9180 1.7400 0.1510
矩阵的每列Yappox.
对应于矩阵的每列均匀间隔的量级X
.例如,第一列Yappox.
具有元素(-7,0,11)包含第一列的分量X
.
显示的确切分位数的前五行X
(沿第二个维度)的三个均匀间隔的累积概率。
YExact(1:5,:)
ans =.5×3103.×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
-输入数据输入数据,指定为向量或数组。
数据类型:双
|单身的
P.
-累积概率要计算分位数的累积概率,指定为从0到1的标量或标量的向量。
例子:0.3
例子:(0.25, 0.5, 0.75)
例子:(0:0.25:1)
数据类型:双
|单身的
N
-量级数量要计算的分位数的数量,指定为正整数。斯蒂利韦
回报N
将数据集分成均匀分布的分位数N
+1段。
数据类型:双
|单身的
暗淡
-尺寸矩阵的量级尺寸X
请求,指定为正整数。例如,对于矩阵X
, 什么时候暗淡
= 1,斯蒂利韦
返回列的分位数X
;什么时候暗淡
= 2,斯蒂利韦
返回行的大分X
.对于多维数组X
,的长度暗淡
尺寸y
与长度相同P.
.
数据类型:单身的
|双
vecdim.
-尺寸矢量维数向量,指定为正整数向量。的每个元素vecdim.
表示输入数组的一个维度X
.在最小指定的操作维度(即维度)中分钟(vecdim)
),输出y
具有等于所请求的量级数量的长度(或者N
或长度(p)
).在每个剩余的操作维度中,y
具有长度1.其他尺寸长度是相同的X
和y
.
例如,考虑一个2×3×3阵列X
和P = [0.2 0.4 0.6 0.8]
.在这种情况下,Smianile(x,p,[1 2])
返回一个数组,其中数组的每个页面包含对应页面上元素的0.2、0.4、0.6和0.8分位数X
.因为1和2是操作尺寸,有min([1 2])= 1
和长度(p) = 4
,输出是一个4 × 1 × 3的数组。
数据类型:单身的
|双
y
——分位数数据向量或数组的分位数,作为一个或多个累积概率值的标量或数组返回。
如果X
是一个矢量,然后y
是与请求的分位数长度相同的标量或向量(N
或长度(p)
).义)
包含了p(我)
分位数。
如果X
是一系列维度D., 然后y
是一个阵列,具有最小操作尺寸的长度等于所请求的定量数(N
或长度(p)
).
一种多维数组是一个二维以上的数组。例如,如果X
是1乘3乘4的数组吗X
是一个三维阵列。
一种nonsingleton维度数组是一个尺寸,其大小不等于1.a第一个nonsingleton维度数组的第一个维度满足非单例条件。例如,如果X
是一个1-1×2×4阵列,那么第三个维度是第一个不连续的尺寸X
.
线性插值使用线性多项式来求y一世= f(X一世),底层函数的值y= f(X)在矢量或阵列中的点X.鉴于数据点(X1那y1) 和 (X2那y2), 在哪里y1= f(X1),y2= f(X2)线性插值发现y= f(X)对于给定的X之间X1和X2如下:
同样,如果1.5 /N分位数是y1.5 /N和2.5 /N分位数是y2.5 /N,则线性插值得到2.3/N斯蒂利韦y2.3 /N作为
T-DIGEST.[2]是一种概率数据结构,它是数据集的经验累积分布函数(CDF)的稀疏表示。T-digest对于从在线或分布式数据中计算基于秩的统计数据(比如百分位数和分位数)的近似很有用,这种方法允许可控的准确性,特别是在数据分布的尾部。
对于以不同的分区分布的数据,T-Digest分别计算每个数据分区的定量估计(和百分位数估计),然后将估计组合在保持恒定存储器绑定和常数相对精度的同时( 为了问:达米尔)。由于这些原因,T-Digest是用高阵列一起使用的实用性。
要估计分布在不同分区中的数组的定量,首先在数据的每个分区中构建T摘要。T-Digest将分区中的数据集群群化,并通过质心值和累计的权重汇总每个群集,该累积权重表示为群集有贡献的样本数。T-Digest使用大型集群(广泛间隔的质心)来代表附近的CDF的区域问:= 0.5
并使用小簇(紧密间隔的质心)来代表附近的CDF的区域问:= 0.
或问:= 1
.
T-Digest通过使用映射量级的缩放函数来控制群集大小问:到一个索引K.带有压缩参数 .也就是说,
映射在哪里K.单调与最小值K.(0,δ.) = 0和最大价值K.(1,δ.) =δ..下图显示了缩放功能δ.= 10..
缩放功能转换分量值问:到比例因子K.为了给出可变尺寸的步骤问:.因此,集群大小是不相等的(中心分位数周围较大,附近较小问:= 0.
或问:= 1
).较小的星系团可以提高数据边缘附近的精度。
要使用具有权重和位置的新观察更新T-Digest,请找到最接近新观察的群集。然后,如果群集的更新权重不超过大小限制,则添加权重和更新群集的质心。
您可以通过采用T-Digest的联合并合并其质心来将独立的T-Digests与数据的每个分区组合起来。为了结合T-摘要,首先将来自所有独立T档的簇分类在簇重量的降低下。然后,在满足尺寸限制时合并相邻群集,以形成新的T-Digest。
形成一个代表完整数据集的T-Digest,您可以估计T-Digest中每个群集的终点(或边界),然后在每个群集中的端点之间使用插值以查找准确的分位数估计.
为N-Element矢量X
那斯蒂利韦
通过使用基于分拣的算法计算定量,如下所示:
中的有序元素X
被占用(0.5 /N),(1.5 /N),…((N- 0.5] /N数量。例如:
对于包含{6,3,2,10,1}等5个元素的数据向量,排序后的元素{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)定量。
斯蒂利韦
用途线性插值计算概率之间的量级(0.5 /N) 和 ([N- 0.5] /N).
对于对应于该范围之外的概率的定量,斯蒂利韦
中元素的最小值或最大值X
.
斯蒂利韦
对待南
S作为缺失的值并删除它们。
[1] Langford, E.《基本统计学中的四分位数》,统计教育.2006年第14卷第3期。
邓宁(T. Dunning)和欧·厄特尔(O. Ertl)。”使用t - digest计算非常精确的分位数。“2017年8月。
使用注意事项及限制:
y = smianile(x,p)
和Y =分位数(X, N)
返回确切的定位档(使用基于排序的量级算法)只有X
是一个高柱矢量。
昏暗的Y =分位数(__)
只返回确切的量级才能何时何时一这些条件存在:
X
是一个高柱矢量。
X
是一个高大的阵列和暗淡
不是1
.例如,Smianile(x,p,2)
沿着tall数组的行返回精确的分位数X
.
如果X
是一个高大的阵列和暗淡
是1
,则必须指定'方法','近似'
使用基于的近似算法T-DIGEST.计算量数。例如,分位数(X, p, 1,“方法”,“近似”)
沿高阵列列返回近似定量X
.
y = smianile(__,vecdim)
只返回确切的量级才能何时何时一这些条件存在:
X
是一个高柱矢量。
X
是一个高大的阵列和vecdim.
不包括1
.例如,如果X
是3乘5乘2的数组吗Smianile(x,p,[2,3])
返回每个元素的精确定量X(我::)
片。
X
是一个高大的阵列和vecdim.
包括1
和所有的不连贯的尺寸的X
.例如,如果X
然后是一个10×1×4阵列Smianile(x,p,[1 3])
返回元素的确切量级x(:,1,:)
.
如果X
是一个高大的阵列和vecdim.
包括1
但不包括的所有非单例维度X
,则必须指定'方法','近似'
使用近似算法。例如,如果X
是一个10乘1乘4的数组,可以使用吗Smianile(x,p,[1 2],'方法','近似')
找到每个页面的近似量程X
.
有关更多信息,请参阅高阵列.
使用注意事项及限制:
这“所有”
和vecdim.
不支持输入参数。万博1manbetx
这'方法'
不支持名称 - 值对参数。万博1manbetx
这暗淡
输入参数必须是编译时间常量。
如果您没有指定暗淡
输入参数,工作(或运行)维度可以在生成的代码中不同。结果,可能发生运行时错误。有关更多详细信息,请参阅自动尺寸限制(MATLAB编码器).
如果输出y
是矢量,方向y
与matlab不同®当以下所有内容都是真的:
你不提供暗淡
.
X
是一个可变大小的阵列,而不是可变大小的矢量,在编译时,但是X
是在运行时的矢量。
向量的方向X
和矢量的方向不匹配P.
.
在这种情况下,输出y
匹配的方向X
,而不是方向P.
.
有关代码生成的更多信息,请参阅代码生成简介和一般代码生成工作流程.
使用注意事项及限制:
这“所有”
和vecdim.
不支持输入参数。万博1manbetx
这'方法'
不支持名称 - 值对参数。万博1manbetx
有关更多信息,请参阅在GPU上运行matlab函数(并行计算工具箱).
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。