分位数
分位数的数据集
描述
返回的所有元素的分位数问
=分位数(___“所有的”)一个
对于前两个语法。
沿着维向量中指定的操作问
=分位数(___,vecdim
)vecdim
对于前两个语法。例如,如果一个
是一个矩阵,然后呢分位数(n [1 - 2])
操作的所有元素一个
因为一个矩阵的每个元素都包含在定义的数组切片尺寸1和2。
例子
分位数为给定的概率
计算一个数据集的分位数为指定的概率。
生成一个数据集的大小7。
rng默认的%的再现性A = randn (7)
一个=1×70.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336
计算的0.3分位数的元素一个
。
Q =分位数(0.3)
Q = -0.7832
计算元素的分位数的一个
累积概率的0.025,0.25,0.5,0.75和0.975。
Q =分位数(A, [0.025 0.25 0.5 0.75 0.975])
Q =1×5-2.2588 -1.0892 0.3188 0.7810 1.8339
分位数的n
等间距的累积概率
计算一个数据集的分位点对于一个给定的概率。
生成一个数据集的大小7。
rng默认的%的再现性A = randn (7)
一个=1×70.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336
计算四个等间距的分位数的元素一个
。
Q =分位数(4)
Q =1×4-1.4028 -0.2079 0.4720 0.9593
使用Q =分位数(A, (0.2, 0.4, 0.6, 0.8))
是另一个方法返回四个等间距的分位数。
分位数的给定概率矩阵
计算分位数的数据矩阵的行和列指定的概率。
生成一个4-by-6数据矩阵。
rng默认的%的再现性一个= randn (4、6)
一个=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.3426 3.0349 -0.2050 1.4172 1.6302
计算每一列的0.3分位数一个
。
Q =分位数(0.3,1)
Q =1×6-0.3013 -0.6958 1.5336 -0.1056 0.9491 0.1078
分位数
返回一个行向量问
在计算每一列的分位数一个
。-0.3013
是第一列的0.3分位数的一个
与0.5377、1.8339、-2.2588和0.8622。因为的默认值昏暗的
是1,Q =分位数(0.3)
返回相同的结果。
计算的0.3分位数为每一行一个
。
Q =分位数(0.3,2)
Q =4×10.3844 -0.8642 -1.0750 0.4985
分位数
返回一个列向量问
当计算一个分位数为每一行一个
。0.3844
是第一行的0.3分位数的一个
与元素0.5377,0.3188,3.5784,0.7254,-0.1241和0.6715。
分位数的矩阵n
等间距的概率
计算均匀间隔的分位数以及一个数据矩阵的行和列。
生成一个6-by-7数据矩阵。
rng默认的%的再现性一个=兰迪(10 6 7)
一个=6×79 3 10 8 7 8 7 10 6 5 10 8 1 4 2 1 9 7 8 3 10 10 10 2 4 1 1 7 2 5 9 7 1 5 1 10 10 10 2 9 4
计算每一列的分位数一个
三个等间距的累积概率。
Q =分位数(3 - 1)
Q =3×72.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
每一列的矩阵问
包含相应的列的分位数一个
。2
,8
,10是第一列的分位数一个
元素9、10、2、7和1。Q =分位数(3)
返回相同的结果,因为默认值昏暗的
是1。
计算每一行的分位数一个
三个等间距的累积概率。
Q =分位数(3 2)
Q =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
矩阵的每一行问
包含三个等间距的分位数中相应的行一个
。7
,8
,8.75
是第一行的分位数的一个
元素9、3、10、8,7,8,7。
分位数的多维数组给定的概率
分位数的计算概率通过使用指定的多维数组“所有”
和vecdim
输入。
创建一个3-by-5-by-2数组。指定一个向量的概率。
一个=重塑(1:30,[3 5 2])
=(::1)= 1 4 7 10 13 2 5 8 11 14 3 6 9 12 15(:,: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分位数的计算的所有元素一个
。
Qall =分位数(A, p,“所有”)
Qall =2×18日23
Qall (1)
0.25分位数的吗一个
,Qall (2)
0.75分位数的吗一个
。
计算每一页的0.25和0.75分位数一个
通过指定尺寸1和2的操作方面。
Qpage =分位数(p [1 - 2])
Qpage = Qpage (:: 1) = 4.2500 - 11.7500 Qpage (:,: 2) = 19.2500 - 26.7500
Qpage (1, 1, 1)
是第一页的0.25分位数的一个
,Qpage (2, 1, 1)
是第一页的0.75分位数的一个
。
计算元素的0.25和0.75分位数(我::)
片通过指定维度2和3的操作维度。
Qrow =分位数(p [2 3])
Qrow =3×27 22 8 23 9 24
Qrow (3,1)
元素的0.25分位数在吗(3::)
,Qrow (2)
元素的0.75分位数在吗(3::)
。
分位数高向量的概率
计算精确和近似的分位数高列向量为给定的概率。
当你执行计算高数组,MATLAB®使用一个平行池(默认如果你有并行计算工具箱™)或当地的MATLAB会话。要运行示例使用当地的MATLAB会话并行计算工具箱后,改变全球执行环境使用mapreduce
函数。
mapreduce (0)
创建一个数据存储airlinesmall
数据集。治疗“NA”
价值观缺失的数据,数据存储
取代他们南
值。指定的工作ArrTime
变量。
ds =数据存储(“airlinesmall.csv”,“TreatAsMissing”,“NA”,…“SelectedVariableNames”,“ArrTime”);
创建一个高表tt
在数据存储、高表的数据提取到一个高的向量一个
。
tt =高(ds)
tt = mx₁高表ArrTime _________ 735 1124 2218 1431 746 1547 1052 1134::
一个= tt {:,:}
mx₁高双列向量A = 735 1124 2218 1431 746 1547 1052 1134::
计算的精确分位数一个
对累积概率p = 0.5
。因为一个
是一个高大的列向量和p
是一个标量,分位数
默认返回准确的分位数的值。
p = 0.5;Qexact =分位数(A, p)
双Qexact =高?
计算的近似分位数一个
为p = 0.5
。指定方法
作为“近似”
使用一个基于近似算法T-Digest计算分位数。
Qapprox =分位数(A, p,“方法”,“近似”)
Qapprox = MxNx……高的双重数组?吗?吗?…吗?吗?吗?…吗? ? ? ... : : : : : :
评价高的数组并把结果到内存中使用收集
。
[Qexact, Qapprox] =收集(Qexact Qapprox)
评估高表达式使用当地的MATLAB会话:通过1 4:在0.71秒完成,通过2 4:在0.27秒完成,通过3 4:在0.37秒完成,通过4 4:在0.3秒完成评估在2.1秒完成
Qexact = 1522
Qapprox = 1.5220 e + 03
准确的分位数的值和四位数的近似分位数是相同的。
分位数的高矩阵不同的维度
计算精确和近似的分位数高矩阵指定累积概率在不同的维度。
当你执行计算高数组,MATLAB®使用一个平行池(默认如果你有并行计算工具箱™)或当地的MATLAB会话。要运行示例使用当地的MATLAB会话并行计算工具箱后,改变全球执行环境使用mapreduce
函数。
mapreduce (0)
创建一个高矩阵一个
包含变量中存储的一个子集varnames
从airlinesmall
数据集。分位数高向量的概率对细节的步骤提取数据从一个高大的数组。
varnames = [“ArrDelay”,“ArrTime”,“DepTime”,“ActualElapsedTime”];ds =数据存储(“airlinesmall.csv”,“TreatAsMissing”,“NA”,…“SelectedVariableNames”,varnames);tt =高(ds);一个= tt {:, varnames}
= Mx4高双矩阵8 735 642 53 8 21 1124 1021 63 2218 2055 83 1431 1332 59 746 629 77 59 1547 1446 61 3 1052 928 84 11 1134 859 155::::::::
当操作在一个维度,不是1,分位数
函数计算准确的分位数只有这样它可以执行计算有效地使用sorting-based算法(见算法)而不是基于一个近似算法T-Digest。
计算的精确分位数一个
沿着第二维向量p
累积概率0.25,0.5和0.75。
p = 0.25 (0.5 - 0.75);Qexact =分位数(A, p, 2)
Qexact = MxNx……高的双重数组?吗?吗?…吗?吗?吗?…吗? ? ? ... : : : : : :
当沿着第一维度和功能操作p
是一个向量的累积概率,必须使用近似算法基于t-digest计算分位数。使用sorting-based算法找到分位数沿着一个高大数组的第一个维度是计算密集型的。
计算的近似分位数一个
沿着第一个维度的累积概率0.25,0.5和0.75。因为默认的尺寸是1,您不需要指定一个值昏暗的
。
Qapprox =分位数(A, p,“方法”,“近似”)
Qapprox = MxNx……高的双重数组?吗?吗?…吗?吗?吗?…吗? ? ? ... : : : : : :
评价高的数组并把结果到内存中使用收集
。
[Qexact, Qapprox] =收集(Qexact Qapprox);
评估高表达式使用当地的MATLAB会话:通过1 1:在1.5秒完成评估在1.9秒完成
显示的具体分位数的前五行一个
(在第二个维度)累积概率0.25,0.5和0.75。
:Qexact (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
矩阵的每一行Qexact
包含了三分位数中相应的行一个
。例如,30.5
,347.5
,688.5
是0.25,0.5,和0.75分位数,分别的第一行吗一个
。
显示的近似分位数一个
(在第一个维度)累积概率0.25,0.5和0.75。
Qapprox
Qapprox =3×41030×-0.0070 1.1149 0.9322 0.0700 1.5220 1.3350 0.1020 0.0110 1.9180 1.7400 0.1510
矩阵的每一列Qapprox
包含三分位数中相应的列一个
。例如,第一列Qapprox
与元素7 0,11包含第一列的分位数一个
。
分位数的高矩阵n
等间距的概率
计算精确和近似分位数高矩阵的不同维度对于给定数量的均匀间隔的累积概率。
当你执行计算高数组,MATLAB®使用一个平行池(默认如果你有并行计算工具箱™)或当地的MATLAB会话。要运行示例使用当地的MATLAB会话并行计算工具箱后,改变全球执行环境使用mapreduce
函数。
mapreduce (0)
创建一个高矩阵一个
包含变量中存储的一个子集varnames
从airlinesmall
数据集。分位数高向量的概率对细节的步骤提取数据从一个高大的数组。
varnames = [“ArrDelay”,“ArrTime”,“DepTime”,“ActualElapsedTime”];ds =数据存储(“airlinesmall.csv”,“TreatAsMissing”,“NA”,…“SelectedVariableNames”,varnames);tt =高(ds);一个= tt {:, varnames}
= Mx4高双矩阵8 735 642 53 8 21 1124 1021 63 2218 2055 83 1431 1332 59 746 629 77 59 1547 1446 61 3 1052 928 84 11 1134 859 155::::::::
计算分位数等间距的累积概率沿着第一个维度,您必须使用基于近似算法T-Digest。(请参阅使用sorting-based算法算法)找到分位数高数组的第一个维度是计算密集型的。
计算三个等间距的累积概率的分位数的第一个维度一个
。因为默认的尺寸是1,您不需要指定一个值昏暗的
。指定方法
作为“近似”
使用近似算法。
Qapprox =分位数(3“方法”,“近似”)
Qapprox = MxNx……高的双重数组?吗?吗?…吗?吗?吗?…吗? ? ? ... : : : : : :
计算分位数等间距的累积概率以及任何其他维度(昏暗的
不是1
),分位数
计算准确的分位数,以便有效地执行计算通过使用sorting-based算法。
计算三个等间距的累积概率的分位数的第二个维度一个
。因为昏暗的
不是1,分位数
默认返回准确的分位数。
Qexact =分位数(3 2)
Qexact = MxNx……高的双重数组?吗?吗?…吗?吗?吗?…吗? ? ? ... : : : : : :
评价高的数组并把结果到内存中使用收集
。
[Qapprox, Qexact] =收集(Qapprox Qexact);
评估高表达式使用当地的MATLAB会话:通过1 1:在1秒完成评估在1.2秒完成
显示的近似分位数一个
(在第一个维度)三个等间距的累积概率。
Qapprox
Qapprox =3×41030×-0.0070 1.1149 0.9321 0.0700 1.5220 1.3350 0.1020 0.0110 1.9180 1.7400 0.1510
矩阵的每一列Qapprox
包含相应的列的分位数一个
。例如,第一列Qapprox
与元素7 0,11包含第一列的分位数一个
。
显示的具体分位数的前五行一个
(在第二个维度)三个等间距的累积概率。
:Qexact (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
矩阵的每一行Qexact
包含三个等间距的分位数中相应的行一个
。例如,30.5
,347.5
,688.5
是0.25,0.5,和0.75分位数,分别的第一行吗一个
。
输入参数
一个
- - - - - -输入数组
向量|矩阵|多维数组
输入数组,指定为一个向量,矩阵,或多维数组。
数据类型:单
|双
p
- - - - - -累积概率计算分位数
标量|向量
累积概率的计算分位数,指定为一个标量或矢量的标量从0到1。
例子:0.3
例子:(0.25,0.5,0.75)
例子:(0:0.25:1)
数据类型:单
|双
n
- - - - - -数的概率来计算分位数
正整数标量
数的概率来计算分位数,指定为一个正整数标量。分位数
返回n
分位数,将数据集划分为均匀分布n
+ 1段。
数据类型:单
|双
昏暗的
- - - - - -维一起操作
正整数标量
维操作,指定为一个正整数标量。如果你不指定维度,那么默认的是第一个数组大小尺寸大于1。
考虑一个输入矩阵一个
和一个向量的累积概率p
:
Q =分位数(p - 1)
计算列的分位数一个
累计概率p
。因为1是指定的操作层面,问
有长度(p)
行。Q =分位数(A, p, 2)
计算分位数的行一个
累计概率p
。因为2是指定的操作层面,问
有长度(p)
列。
考虑一个输入矩阵一个
和一个向量的均匀间隔的概率n
:
Q =分位数(n, 1)
计算列的分位数一个
为n
等间距的累积概率。因为1是指定的操作层面,问
有n
行。Q =分位数(n, 2)
计算分位数的行一个
为n
等间距的累积概率。因为2是指定的操作层面,问
有n
列。
维昏暗的
显示的尺寸问
谁的长度等于长度(p)
或n
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
vecdim
- - - - - -向量的维度来操作
向量的正整数
向量的维度来操作,指定为一个向量的正整数。每个元素代表一个维度的输入数据。
输出的大小问
在指定的最小操作维度=长度(p)
或n
。的大小问
中指定的其他操作维度vecdim
是1。的大小问
在所有维度中指定vecdim
仍然是一样的输入数据。
考虑一个2-by-3-by-3输入数组一个
和累积概率p
。分位数(p [1 - 2])
返回一个长度(p)
-by-1-by-3数组操作维度和因为1和2分钟([1 - 2])= 1
。每个页面返回的数组包含元素的分位数在相应的页面一个
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
更多关于
线性插值
线性插值使用线性多项式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
T-digest[2]是一个概率的数据结构的稀疏表示经验累积分布函数(CDF)的数据集。T-digest是用于计算近似rank-based统计局(百分位数和分位数等)从网上或分布式数据的方式允许可控精度,特别是尾巴附近的数据分布。
数据分布在不同的分区,t-digest计算分位数估计和百分比估计分别为每个数据分区,然后结合估计,同时保持constant-memory绑定和常数相对精度的计算( 为问分位数)。由于这些原因,t-digest身高实际来处理数组。
估计分位点在不同的分区分布的数组,第一个建立t-digest每个分区的数据。t-digest集群中的数据分区和总结每个集群通过质心值和累积重量代表样本的数量导致了集群。T-digest使用大型集群(宽距质心)来表示区域附近的运作问= 0.5
并使用小集群(紧密间隔的质心)代表的地区提供附近问= 0
和问= 1
。
T-digest控制集群大小通过使用一个地图的缩放函数分位数问一个索引k用一个压缩参数δ。也就是说,
的映射k和最小值是单调吗k(0,δ)= 0和最大价值k(1,δ)=δ。这图显示了扩展功能δ= 10。
分位数的尺度函数转换问的比例因子k为了适应步骤问。因此,围绕中心集群大小不平等(大分位数和较小的附近问= 0
和问= 1
)。附近的小集群允许更好的准确性的边缘数据。
更新t-digest新观察到的重量和位置,找到最近的集群的新观察。然后,添加重量和更新集群的重心在加权平均基础上,前提是更新后的集群的重量不超过大小限制。
你可以结合独立t-digests每个分区的数据通过工会t-digests和合并他们的重心。结合t-digests,第一个集群中所有独立t-digests集群权重递减的顺序。合并相邻的集群,当他们满足大小限制,形成一个新的t-digest。
一旦你形成一个t-digest代表完整的数据集,您可以估计端点(或范围)的每个集群t-digest然后使用插值每个集群的端点之间找到准确的分位数的估计。
算法
对于一个n元向量一个
,分位数
计算分位数用sorting-based算法:
排序的元素
一个
作为(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)分位数。
分位数
使用线性插值计算分位数之间的概率(0.5 /n)和((n- 0.5)/n)。相对应的分位数的概率范围外,
分位数
分配元素的最大或最小值一个
。
分位数
对待南
作为缺失值和删除它们。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
Q =分位数(A, p)
和Q =分位数(n),
准确的分位数(使用sorting-based返回算法)只有一个
是一个高大列向量。Q =分位数(__,昏暗的)
返回准确的分位数只有当一个这些条件存在:一个
是一个高大列向量。一个
是一个高大数组和昏暗的
不是1
。例如,分位数(A, p, 2)
返回准确的分位数沿着一排排高大的数组一个
。
如果
一个
是一个高大数组和昏暗的
是1
,那么你必须指定方法
作为“近似”
使用一个基于近似算法T-Digest计算分位数。例如,分位数(A, p, 1,“方法”,“近似”)
返回近似分位数高数组的列一个
。Q =分位数(__ vecdim)
返回准确的分位数只有当一个这些条件存在:一个
是一个高大列向量。一个
是一个高大数组和vecdim
不包括1
。例如,如果一个
是3-by-5-by-2数组,那么分位数(p [2、3])
返回元素的精确分位数(我::)
片。一个
是一个高大数组和vecdim
包括1
和所有的尺寸一个
尺寸大于1。例如,如果一个
是10-by-1-by-4数组,那么分位数(A, p, 1 [3])
返回元素的分位数(:1:)
。
如果
一个
是一个高大数组和vecdim
包括1
但并不包括所有的尺寸一个
尺寸大于1,那么你必须指定方法
作为“近似”
使用近似算法。例如,如果一个
是10-by-1-by-4数组,您可以使用吗分位数(p[1 - 2],“方法”,“近似”)
找到每个页面的近似分位数一个
。
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
的
“所有”
和vecdim
不支持输入。金宝app的
方法
不支持名称参数。金宝app的
昏暗的
输入参数必须是一个编译时常量。如果你不指定
昏暗的
输入参数,工作(或操作)维度可以在生成的代码是不同的。因此,会发生运行时错误。更多细节,请参阅自动尺寸限制(MATLAB编码器)。如果输出
问
是一个矢量,方向的问
不同于MATLAB®当所有这些条件是正确的:你不供应
昏暗的
。一个
是一个适应可变数组,而不是适应向量,在编译时,但一个
在运行时是一个矢量。的方向向量
一个
不匹配的方向向量p
。
在这种情况下,输出
问
匹配的方向一个
,而不是方向p
。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
版本历史
之前介绍过的R2006aR2022b:通过小的输入数据来改善性能
的分位数
函数显示改进的性能由于速度输入解析。性能改进是最重要的,当输入解析是一个更大的部分的计算时间。这种情况发生在:
输入数据的规模很小。
累积的数量来计算分位数的概率很小。
计算是在默认操作维度。
例如,这段代码计算四分位数为3000 -元素矩阵。代码是大约4.95倍的速度比以前的版本。
函数timingQuantile =兰德(300年,10);为k = 1:3e3 Q =分位数(A, [20 40 60 80]);结束结束
执行时间大约是:
R2022a:0.94秒
R2022b:0.19秒
时间在Windows的代码®10日,英特尔®至强®v4 @ 3.60 GHz CPU e5 - 1650测试系统使用时间
功能:
时间(@timingQuantile)
R2022a:搬到MATLAB从统计和机器学习工具
在此之前,分位数
需要统计和机器学习的工具箱™。
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。