Excel中的四分位数


10

我对基本统计中通常使用的四分位数的定义感兴趣。我有一本Stat 101类型的书,它只是给出了一个直观的定义。“大约四分之一的数据落在第一个四分位数上或以下...”但是,它给出了一个示例,其中该示例计算了该组数据的Q1,Q2和Q3

5, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 18, 20, 21, 37

由于有15条数据,因此选择15作为中位数Q2。然后,它将剩余的数据分为两半,分别为5至14和16至37。它们每个包含7个数据,它们分别将这些集合10和18的中位数分别作为Q1和Q3。这就是我自己计算的方式。

我看了维基百科的文章,它提供了两种方法。一个人同意上述观点,有人说您还可以在两个集合中都包含15个中位数(但是,如果数据点为偶数,则如果中位数是两个中间数的平均值,则不包括在内)。这对我来说很有意义。

但是,然后我检查了Excel以查看Excel如何计算它。我正在使用Excel 2010,它具有3种不同的功能。四分位数在2007年及以前的版本中可用。似乎他们希望您在2010年停止使用此功能,但仍然可用。Quartile.Inc是新的,但据我所知,它与Quartile完全一致。并且,还有Quartile.Exc。我认为最后两个都是2010年的新功能。这次,我只是尝试使用整数1、2、3,...,10。我期望Excel给出5.5的中位数,3的Q1和8的Q3。因为Wikipedia上的两种方法都会给出这些答案,因为中位数是中间两个数字的平均值。Excel给

quartile number, Quartile.Inc, Quartile.Exc
1,               3.25,         2.75 
2,               5.5,          5.5
3,               7.75,         8.25

这些都不符合我之前所说的。

Excel帮助文件中的描述为:

Quartile.Inc-基于0..1(含0)的百分位值返回数据集的四分位数。

Quartile.Exc-基于0..1(不包括)的百分位值返回数据集的四分位数。

谁能帮助我了解Excel正在使用的此定义?


5
为什么不对统计数据使用Excel的另一个很好的说明。:-)
韦恩(Wayne)

1
朋友不允许朋友使用Excel进行统计。悲伤但真实
克里斯·贝利

Answers:


11

通常,等级(对于n个数据,介于1n之间)通过公式转换为百分比p[R1个ññp

p=100[R-αñ+1个-2α

对于01之间的某个预定“绘图位置” ,包括两个端点。用p求解r得到α01个[Rp

[R=ñ+1个-2αp/100+α

Excel过去一直将用于其和函数α=1个PERCENTILEQUARTILE。该在线文档QUARTILE.INCQUARTILE.EXC是没用的,所以我们要反向工程是什么,这些功能都在做。

例如,与数据,我们有Ñ = 10p { 25 50 75 }的三个四分位数。使用α = 1中的前述式产量行列9 0.25 + 1 = 3.259 1个2345678910ñ=10p{255075}α=1个90.25+1个=3.25,和 9 0.75 + 1 = 7.75,再现的结果。90.50+1个=5.590.75+1个=7.75QUARTILE.INC

相反,如果我们设置对应的行列是11 0.25 = 2.7511 0.50 = 5.5,和11 0.75 = 8.25,再现的结果。α=0110.25=2.75110.50=5.5110.75=8.25QUARTILE.EXC

您的进一步测试(我没有最新版本的Excel)可能会证实我的猜测的有效性,即四分位数函数的这两个版本是由这两个(最高)值确定的α

顺便说一下,分数等级通过线性插值转换为数据值。我在“ 百分位数”和“ EDF绘图”的课程笔记中对此过程进行了解释和说明- 看起来在页面底部附近。还有一个指向Excel电子表格的链接,用于说明计算结果。

如果您想在Excel中实现常规的百分位数功能,请使用以下VBA宏:

'
' Converts a percent, computed using plotting position constant A,
' into a percent appropriate for the Excel Percentile() and
' Quartile() functions.  (The default value of A for Excel is 1;
' most values in use are between 0 and 0.5.)
'
Public Function PercentileA(P As Double, N As Integer, A As Double) As Double
    If N < 1 Or A < 0# Or A > 1# Or P < 0# Or P > 1# Then
        Exit Function
    End If
    If N < 2 Then
        PercentileA = 0.5
    Else
        PercentileA = ((N - 2 * A + 1) * P + A - 1) / (N - 1)
    End If
End Function

它将名义百分比(例如25/100)转换为会导致Excel PERCENTILE函数返回所需值的百分比。旨在用于单元格公式中,如中所述=PERCENTILE(Data, PercentileA(0.25, Count(Data), 0.5))


请注意,一旦确实了解了Excel的功能,便可以有效地将其用于统计工作。
ub

5
如果我幽默地不同意您的评论:Excel可以有效地用于统计工作,如果您是一位统计向导,可以从第一原理中证明应该做什么,那么可以对Excel的方法进行逆向工程以确定其实际操作。当您表现出色时,几乎所有工具都可以。尽管我还要指出,在该线程中,到目前为止,本讨论中涉及的向导中有100%无法访问Excel的最新版本,因此不太可能实际使用它。
韦恩

触摸',@韦恩。(但是我们中有些人仍然使用旧版本的Excel :
笨拙

1
Whuber,感谢您分享VBA解决方案。这将非常有帮助。作为需要执行Stats但仍将Excel固定为唯一易于使用的工具的人(是的,我尝试过R,但不能完全理解),我感谢能够帮助Excel满足我的需求的工具。
DAV

4

在我看来,Excel quartile.inc同意原始版本quartile,后者同意R的默认设置和其他定义。

有了胡扯的有用提示,我发现Excel quartile.exc似乎与R的type=6分位数定义(在1..10情况下)一致:

   > For types 4 through 9, Q[i](p) is a continuous function of p, with
    > gamma = g and m given below. The sample quantiles can be obtained
    > equivalently by linear interpolation between the points (p[k],x[k])
    > where x[k] is the kth order statistic. Specific expressions for p[k]
    > are given below.
    > 
    > ...
    > 
    > 
    > Type 6 m = p
    >       .p[k] = k / (n + 1). Thus p[k] = E[F(x[k])].
    >       This is used by Minitab and by SPSS.

显然可以回答您的问题:“是的,Minitab和SPSS可以。”


R没有分位数的定义吗?(+1的编辑,顺便说一句)
whuber

@whuber:不用理会窗帘后面的那个人!(我将编辑我的回复。在进一步检查中,它确实与R的其他定义之一匹配,这显然是Minitab和SPSS使用的定义。谢谢!)
韦恩(Wayne

2

我认为四分位数的特殊风格只是忽略了5和37(原始数据中的最小值和最大值)。

在Stata中,默认版本和备用版本都使用此数据为您提供quartile.exc值。


这种猜测似乎与文档断言,该文档断言max和min确实可以由返回QUARTILE.EXC
ub

在我的Excel 2010版本中,QUARTILE.EXC(单元格范围,k)将返回#NUM!除非k = {1,2,3}(根据出现的弹出菜单分别对应于第25、50和75%)。原始QUARTILE也将接受0和4作为第二个参数,分别对应于最小值和最大值。
Dimitriy V. Masterov 2012年

1
文档指出“如果夸脱≤0或如果夸脱≥4,则QUARTILE.EXC返回错误值#NUM!。” 好像是真的 第二条语句“当quart分别等于0(零),2和4时,MIN,MEDIAN和MAX返回与QUARTILE.EXC相同的值”,除非我遗漏了某些东西,否则它显示为false。真是一团糟!
Dimitriy V. Masterov

ññ-1个1个#NUM!PERCENTILE

1
对我来说,三种百分位数的表现方式与四分位数相同。对于5-37数据,PERCENTILE.EXC(range,k)给出#NUM !!对于k = {0,1}。对于k = 0.25,PERCENTILE.EXC给出10。如果我丢掉5和37,则得出10.5,这与其他2种方式一致。
Dimitriy V. Masterov 2012年

2

有很多有趣的详细内容,但是回到原始问题,我看不到两种略有不同的方式可能并不能给出完全相同的答案。第一个四分位数是25%的观测值落在或低于该点的位置。取决于您的样本大小,数据中的确切点可能是也可能不是。因此,如果一个点在下面,下一个点在上面,则第一个四分位数的定义不是很好,并且这两个点之间的任何点都可以很好地服务。当样本大小为偶数时,中位数也是如此。规则选择上下两个数据点之间的中点。但是,没有什么真正表明该规则给出的选择确实比其他任何方面都更好。


α1个/31个/2

0

对于确实使用Excel的您来说,这里的不同版本方法有相当不错的分类,网址为http://peltiertech.com/WordPress/comparison/


2
如果您可以在回答中总结一下,那就更好了。尽管该链接可能会回答一些问题,但有时它们会过时,在这种情况下,您的回答将对以后的读者没有帮助。
安迪

0

在Excel 2016中,我注意到,如果满足以下条件,则可以获得正确的四分位数值:

  • 数据集的条目数为奇数:使用QUARTILE.EXC
  • 数据集的条目数为偶数:使用QUARTILE.EXC和QUARTILE.INC的平均值

1
给定分位数的定义有多少,在其他一些答案中可以证明,您可以解释正确值的含义吗?
mdewey
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.