使用Numpy和Scipy的四分位距和四分位偏差

您所在的位置:网站首页 四分位差和四分位数的区别 使用Numpy和Scipy的四分位距和四分位偏差

使用Numpy和Scipy的四分位距和四分位偏差

2024-07-11 09:03| 来源: 网络整理| 查看: 265

四分位数

四分位数是分位数的一种。第一四分位数(Q1)定义为数据集的最小值和中位数之间的中间数,第二四分位数(Q2)-给定数据集的中位数,而第三四分位数(Q3)是数据集的中位数和最大值之间的中间数。

查找四分位数的算法:

四分位数是通过中位数计算的。如果条目的数量是偶数,即形式为2n,则第一四分位数(Q1)等于n个最小条目的中值,第三四分位数(Q3)等于n个最大条目的中值。

如果条目的数量是奇数,即形式为(2n + 1),则

第一四分位数(Q1)等于n个最小条目的中位数第三四分位数(Q3)等于n个最大条目的中位数第二四分位数(Q2)与普通中位数相同。

范围:它是给定数据集中最大值和最小值之间的差值。

四分位距

四分位距(IQR),也称为中间分布或中间50%,或技术上的H分布是第三四分位数(Q3)和第一四分位数(Q1)之间的差异。它覆盖了分布的中心,包含了50%的观测值。IQR = Q3 - Q1

用途:

四分位数范围的细分点为25%,因此它通常优于总范围。IQR用于构建箱形图,即概率分布的简单图形表示。IQR也可以用来识别给定数据集中的离群值。IQR给出了数据的集中趋势。

决策

数据集具有较高的四分位距(IQR)值,具有更多的变异性。具有较低四分位距(IQR)值的数据集是优选的。

假设我们有两个数据集,它们的四分位距分别是IR1和IR2,如果IR1 > IR2,那么IR1中的数据比IR2中的数据具有更大的变异性,IR2中的数据更可取。

举例:

以下是过去二十日每日打卡人数: 75、69、56、46、47、79、92、97、89、88、36、96、105、32、116、101、79、93、91、112对上述数据集进行排序后: 32、36、46、47、56、69、75、79、79、88、89、91、92、93、96、97、101、105、112、116这里的总项数是20。上述数据的第二四分位数(Q2)或中位数为(88 + 89)/ 2 = 88.5第一四分位数(Q1)是前n(即10项)(或n(即10个最小值))的中位数= 62.5第三四分位数(Q3)是后n(即10项)(或n(即10个最大值))的中位数= 96.5则IQR = Q3 - Q1 = 96.5 - 62.5 = 34.0

使用numpy.median的四分位距

# Import the numpy library as np import numpy as np data = [32, 36, 46, 47, 56, 69, 75, 79, 79, 88, 89, 91, 92, 93, 96, 97, 101, 105, 112, 116] # First quartile (Q1) Q1 = np.median(data[:10]) # Third quartile (Q3) Q3 = np.median(data[10:]) # Interquartile range (IQR) IQR = Q3 - Q1 print(IQR)

输出

Output: 34.0

使用numpy.percentile的四分位距

# Import numpy library import numpy as np data = [32, 36, 46, 47, 56, 69, 75, 79, 79, 88, 89, 91, 92, 93, 96, 97, 101, 105, 112, 116] # First quartile (Q1) Q1 = np.percentile(data, 25, interpolation = 'midpoint') # Third quartile (Q3) Q3 = np.percentile(data, 75, interpolation = 'midpoint') # Interquaritle range (IQR) IQR = Q3 - Q1 print(IQR)

输出

Output: 34.0

使用scipy.stats.iqr的四分位距

# Import stats from scipy library from scipy import stats data = [32, 36, 46, 47, 56, 69, 75, 79, 79, 88, 89, 91, 92, 93, 96, 97, 101, 105, 112, 116] # Interquartile range (IQR) IQR = stats.iqr(data, interpolation = 'midpoint') print(IQR)

输出

Output: 34.0 四分位偏差

四分位偏差是第三四分位数(Q3)和第一四分位数(Q1)之差的一半,即四分位数间距(IQR)的一半。(Q3- Q1)/ 2 = IQR / 2

使用numpy.median四分位偏差

# import the numpy library as np import numpy as np data = [32, 36, 46, 47, 56, 69, 75, 79, 79, 88, 89, 91, 92, 93, 96, 97, 101, 105, 112, 116] # First quartile (Q1) Q1 = np.median(data[:10]) # Third quartile (Q3) Q3 = np.median(data[10:]) # Interquartile range (IQR) IQR = Q3 - Q1 # Quartile Deviation qd = IQR / 2 print(qd)

输出

Output: 17.0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3