{转载}四分位数

原文链接: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
>

 

### 如何使用MATLAB计算四分位数区间 在MATLAB中,可以通过内置函数 `quantile` 和 `iqr` 来计算四分位数以及四分距(Interquartile Range, IQR)。以下是详细的说明和示例代码。 #### 计算四分位数 四分位数是指将一组数据从小到大排序后分为四个相等部分的三个分割点。这些分割点分别是第1四分位数(Q1)、第2四分位数(即中位数,Median)和第3四分位数(Q3)。可以利用 `quantile` 函数来获取这些值[^1]: ```matlab % 假设 w 是输入的数据向量 w = [1, 2, 3, 4, 5, 6, 7, 8, 9]; % 使用 quantile 函数计算 Q1 (0.25), 中位数 (0.5), Q3 (0.75) Q1 = quantile(w, 0.25); % 第1四分位数 median_val = quantile(w, 0.5); % 中位数 Q3 = quantile(w, 0.75); % 第3四分位数 ``` #### 计算四分距(IQR) 四分距定义为第3四分位数与第1四分位数之间的差值。可以直接通过 `iqr` 函数或者手动计算得到: ```matlab % 方法一:使用 iqr 函数直接计算 IQR IQR_direct = iqr(w); % 方法二:手动计算 IQR IQR_manual = Q3 - Q1; ``` 两种方法的结果应该一致[^2]。 #### 异常值检测 基于四分位数四分距,可以进一步识别数据中的异常值。通常情况下,任何小于 \( \text{Q1} - 1.5 \times \text{IQR} \) 或大于 \( \text{Q3} + 1.5 \times \text{IQR} \) 的值都被视为异常值。以下是一个完整的示例代码用于剔除异常值: ```matlab % 定义上下界 lower_bound = Q1 - 1.5 * IQR_manual; % 下边界 upper_bound = Q3 + 1.5 * IQR_manual; % 上边界 % 找出正常范围内的数据 filtered_data = w(w >= lower_bound & w <= upper_bound); ``` 上述代码会筛选掉超出上下边界的异常值,并保留剩余的有效数据。 #### 显示结果 为了展示最终结果,可使用 `fprintf` 或者 `disp` 输出相关信息: ```matlab fprintf('第1四分位数(Q1): %.2f\n', Q1); fprintf('第3四分位数(Q3): %.2f\n', Q3); fprintf('四分距(IQR): %.2f\n', IQR_manual); fprintf('下边界: %.2f\n', lower_bound); fprintf('上边界: %.2f\n', upper_bound); disp('过滤后的数据:'); disp(filtered_data'); ``` 以上展示了如何用MATLAB完成四分位数区间的计算及其实际应用过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值