{转载}四分位数

  • Post author:
  • Post category:其他


原文链接:

http://www.cnblogs.com/gispathfinder/p/5770091.html


分位数(quantile)


clip_image001


clip_image002

——————————————————————————————————

四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数。

第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后


第25%


的数字。

——-位置

第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。

第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。

首先确定四分位数的


位置



Q1


的位置


= (n+1) × 0.25


Q2


的位置


= (n+1) × 0.5


Q3


的位置


= (n+1) × 0.75

n表示项数

对于四分位数的确定,有不同的方法,另外一种方法基于N-1 基础。即

Q1的位置=(n-1)x 0.25

Q2的位置=(n-1)x 0.5

Q3的位置=(n-1)x 0.75

Excel 中有两个四分位数的函数。QUARTILE.EXC 和QUARTILE.INC

QUATILE.EXC 基于 N+1 的方法,QUARTILE.INC基于N-1的方法。


clip_image003

实例1

数据总量: 6, 47, 49, 15, 42, 41, 7, 39, 43, 40, 36

由小到大排列的结果: 6, 7, 15, 36, 39, 40, 41, 42, 43, 47, 49

一共11项

Q1 的位置=(11+1) × 0.25=3, Q2 的位置=(11+1)× 0.5=6, Q3的位置=(11+1) × 0.75=9

Q1 = 15,

Q2 = 40,

Q3 = 43

实例2

数据总量: 7, 15, 36, 39, 40, 41

一共6项

Q1 的位置=(6+1)× 0.25=1.75, Q2 的位置=(6+1) × 0.5=3.5, Q3的位置=(6+1) × 0.75=5.25

Q1 = 7+(15-7)×(1.75-1)= 13,

Q2 = 36+(39-36)×(3.5-3)= 37.5,

Q3 = 40+(41-40)×(5.25-5)= 40.25

1、将数据从小到大排序,计为数组a(1 to n),n代表数据的长度

2、确定四分位数的位置:b= 1+(n-1) × 0.25= 2.25,b的整数部分计为c b的小数部分计为d

计算Q1:Q1=a(c)+[a(c+1)-a(c)]*d=a(1)+[a(2)-a(1)] *0.25 =15+(36-15)×(2.25-2)=20.25

3、计算如上 Q2与Q3的求法类似,四分位差=Q3-Q1

R语言举例

> x=c(6, 7, 15, 36, 39, 40, 41, 42, 43, 47, 49)
> quantile(x,.25)

Windows PowerShell

版权所有 (C) Microsoft Corporation。保留所有权利。

PS C:\Users\CS> bash

root@CS-PC:/mnt/c/Users/CS# R

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

PS C:\Users\CS> bash
root@CS-PC:/mnt/c/Users/CS# R

R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> x=c(6,7,15,36,39,40,41,42,43,47,49)
> quantile(x,25)
Error in quantile.default(x, 25) : 'probs' outside [0,1]
> quantile(x,0.25)
 25%
25.5
>