使用Numpy和Scipy的四分位距和四分位偏差 |
您所在的位置:网站首页 › 四分位差和四分位数的区别 › 使用Numpy和Scipy的四分位距和四分位偏差 |
四分位数
四分位数是分位数的一种。第一四分位数(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 |