百分位(p):没啥好说的,就是百分数,比如2%,39%等等,没有量纲。
百分位数(P):对于某个数值序列,根据某个百分位p计算得到的值就是该百分位对应的百分位数P,百分位数有量纲。假如原来序列表示考试成绩,则某个百分位数也是成绩。
百分位数的计算没有统一的标准公式,但有一个基本原则,即当序列元素足够多或者序列满足连续概率分布时,不同百分位数计算方式得到的结果应该是一致的。
Excel和numpy的百分位数计算方式
假设原始数值序列S0的长度为n,求百分位p的百分位数?
计算过程如下:
(1)序列排序:将序列从小到大排序,得到序列S1
(2)百分位序号计算:1+(n-1)×p=i+j,其中i是整数部分,j是小数部分;
(注意:这里的百分位序号指的是百分位对应序列中的位置,正常情况下它是个正整数,但实际上计算结果会出现小数,最简单处理方式就是取前一个或后一个最近的整数位置,但这么做有一个问题,如果前后两个位置对应的值差别很大,那么取前和取后得到的百分位数P差别就很大,于是另一种方式就是根据计算的百分位序号并结合前后两个位置的数据插值得到最终的百分位数P,随着插值方式的变化,P也不同,其中Excel和numpy的插值方式如下:)
(3)百分位数:P=S1(i)+[S(i+1)-S(i)]×j
(说明:这个插值思想很简单,S1(i)表示前一个位置的值,[S(i+1)-S(i)]×j表示前后两个位置对应值的间隔乘以位置的小数部分j,就是把j作为比例去截取间隔。)
例子:
求考试成绩序列S0=[37 12 72 9 75 5 79 64 16 1 76 71 6 25 50 20 18 84 11 28],单位是“分”。
在百分位p=80%的百分位数?
解:
S1=[ 1 5 6 9 11 12 16 18 20 25 28 37 50 64 71 72 75 76 79 84]
序列长度为n=20
则百分位序号为:1+(20-1)×80%=16.2,即i=16,j=0.2
则百分位数为:P=S1(16)+[S(17)-S(16)]×0.2=72+(75-72)*0.2=72.6分
这个结果的意思是80%的人在72.6分以下。
网友评论