python – scipy.stats是否为iqr做了错误的计算?
发布时间:2020-12-16 22:28:00 所属栏目:Python 来源:网络整理
导读:我在数据集上编码[23,25,28,32,33,35] 根据wiki和scipy doc IQR = Q3 Q1 = 33 25 = 8 当我在数据集上运行IQR时,结果(6)不符合预期(8). 我在https://stackoverflow.com/a/23229224尝试了另一种方法,结果是6. 这是我的代码 import numpy as npfrom scipy.stats
我在数据集上编码[23,25,28,32,33,35] 根据wiki和scipy doc IQR = Q3 – Q1 = 33 – 25 = 8 当我在数据集上运行IQR时,结果(6)不符合预期(8). 我在https://stackoverflow.com/a/23229224尝试了另一种方法,结果是6. 这是我的代码
是什么导致了这个问题? 最佳答案
scipy.stats.iqr似乎不遵循维基百科中记录的递归算法.相反,它只是做np.percentile(x,75) – np.percentile(x,25)这不是中位数,它是包容性的,所以得到(32 33)/ 2 – (25 28)/ 2 = 6
如果您想在维基百科中使用该算法,您需要执行以下操作:
编辑:在维基百科的talk page上提出,所提出的算法不是确定的,实际上scipy.stats.iqr的方法也是可以接受的.参见确定四分位数Here的三种方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |