SQL percentile_cont vs SPSS 频率百分位数
Posted
技术标签:
【中文标题】SQL percentile_cont vs SPSS 频率百分位数【英文标题】:SQL percentile_cont vs SPSS frequencies percentiles 【发布时间】:2019-07-23 14:53:46 【问题描述】:我试图弄清楚 SQL 的 percentile_cont 函数和 FREQUENCIES 中的 SPSS 如何计算百分位数。我想比较它们并了解为什么它们会得到不同的结果。
我自己尝试过查找此信息,但很难找到此信息的来源。如果您对它们不同的原因有解释,您能分享一下我自己在哪里可以读到的吗?
【问题讨论】:
如果您确定这不是浮点运算的问题,您能否附上一个在两个程序中产生不同结果的小规模数据集?我试图重新创建它,但我总是得到相同的结果。 【参考方案1】:SPSS Statistics 中 FREQUENCIES 中使用的百分位数公式是针对 p(N+1) 的加权平均方法,其中 p 是表示为比例(0-1 范围)的百分位数,N 是个案或记录数.忽略与加权数据相关的复杂性,特别是非整数权重,您按升序对数据值进行排序,如果 p(N+1) 是整数,则取第 p(N+1) 个有序情况的值。如果 p(N+1) 在与两个数字的序数位置相关的整数之间,则根据 p(N+1) 的小数值在值之间进行线性插值。
这个通用公式是一个常用公式,在 SAS 中表示方法 4,在 Hyndman & Fan 于 1996 年 11 月发表于美国统计学家的一篇著名文章中表示方法 6(第 50 卷,第 5 期) . 4, pp. 361-365),这是 R 中分位数函数中使用的九个定义的基础。关于 FREQUENCIES 中的方法有一个特殊点,即虽然此方法的其他实现将设置任何百分位数,其中p(N+1)>N 到第 N 个案例的值,在 SPSS Statistics 中,该值被指定为缺失。
SQL 的 percentile_cont 中使用的方法似乎是 Hyndman & Fan 的九个列表中的方法 7,其目标是 1+(N-1)p。 SPSS Statistics 中的 EXAMINE 过程提供了 FREQUENCIES 中使用的方法(作为 HAVERAGE 方法)和四种附加方法。这些都不匹配 SQL 的 percentile_cont 中的方法。
在 IBM SPSS Statistics Algorithms 手册中提供了 FREQUENCIES、EXAMINE 和 SPSS Statistics 中其他过程中的统计公式,该手册的 pdf 可免费下载。
【讨论】:
以上是关于SQL percentile_cont vs SPSS 频率百分位数的主要内容,如果未能解决你的问题,请参考以下文章
sql server 2008 中 percentile_cont 的替代方案
这是一个有效的 PERCENTILE_CONT SQL 查询吗?
apache spark sql中的等效percentile_cont函数
正确使用 PERCENTILE_CONT - Oracle SQL