代码之家  ›  专栏  ›  技术社区  ›  Gregg Lind

解释r中的quantile()函数

  •  60
  • Gregg Lind  · 技术社区  · 17 年前

    我整天都被r分位数函数迷惑了。

    我对分位数是如何工作的有一个直观的概念,并且在统计中有一个M.S.,但是,天哪,它的文档对我来说是混乱的。

    来自文档:

    q[i](p)=(1-伽玛)x[j]+伽玛 x[j+1],

    到目前为止我同意。对于某种类型 分位数,这是x[j]和x[j+1]之间的插值,基于一些神秘的常量。 伽马

    其中1<=i<=9,(j-m)/n<=p< (j-m+1)/n,x[j]是第j个订单 统计,n是样本量,m 是由样本确定的常量 分位数型。这里伽玛取决于 g=np+m-j的分数部分。

    那么,如何计算j?M?

    对于连续样品分位数 类型(4到9),样本 分位数可以通过线性得到。 第k阶之间的插值 统计和P(k):

    P(k)=(k-α)/(n-α-β + 1) 式中,_?和_?是确定的常数。 按类型。此外,m=alpha+p(1 -α-β),γ=g。

    现在我真的迷路了。p以前是一个常数,现在显然是一个函数。

    所以对于7型分位数,默认值…

    7型

    P(k)=(k-1)/(n-1)。在这种情况下,p(k)=模式[f(x[k])]。这是S使用的。

    有人想帮我吗?特别是,我被P的符号混淆了,它是一个函数和一个常数,到底是什么? 是的,现在要计算j .

    我希望根据这里的答案,我们可以提交一些修订的文档,更好地解释这里发生的事情。

    quantile.R source code 或键入:quantile.default

    2 回复  |  直到 17 年前
        1
  •  54
  •   Community CDub    8 年前

    你很困惑,这是可以理解的。那份文件很糟糕。我不得不回到论文的基础上(Hyndman,R.J.;Fan,Y.(1996年11月)。统计包中的样本分位数”。 美国统计学家 50(4):361“365。 doi:10.2307/2684934 )为了得到理解。让我们从第一个问题开始。

    其中1<=i<=9,(j-m)/n<=p<(j-m+1)/n,x[j]是第j阶统计量,n是样本大小,m是由样本分位数类型确定的常量。这里gamma取决于g=np+m-j的分数部分。

    第一部分直接来源于论文,但文献作者遗漏了 j = int(pn+m) . 这意味着 Q[i](p) 只取决于最接近 p 通过(分类)观察的部分路径。(对于像我这样不熟悉这个术语的人来说,一系列观察的“顺序统计”就是经过排序的序列。)

    而且,最后一句话是错误的。它应该阅读

    这里gamma取决于np+m的分数部分,g=np+m-j

    至于 m 这很简单。 取决于选择了哪种算法。所以就像 Q[i] 是分位数函数, 应该考虑 m[i] . 对于算法1和2, 0岁,3岁, 是-1/2,对于其他的,这在下一部分。

    对于连续样本分位数类型(4到9),样本分位数可以通过第k阶统计量和p(k)之间的线性插值得到:

    p(k)=(k-α)/(n-α-β+1),其中_和_2是由类型决定的常数。此外,m=alpha+p(1-α-β),gamma=g。

    这真是令人困惑。文件要求的内容 p(k) 从以前。 P(K) plotting position . 在这篇论文中,作者把它写成 k 这有帮助。尤其是在表达 , the 是原来的 m = alpha + p * (1 - alpha - beta) . 从概念上讲,对于算法4-9,要点( K , x[k] )通过插值得到解( , q[i](p) )每个算法在 K .

    至于最后一位,r只是说明s的用途。

    原始文件给出了6个“样本分位数”函数的理想属性列表,并说明了对8的偏好,该偏好满足所有的1。#5满足了所有的人,但他们不喜欢其他的理由(这比从原则中衍生出来的现象学更多)。#2是像我这样的非统计的极客认为的分位数,是维基百科描述的。

    btw,响应 dreeves answer Mathematica做的事情明显不同。我想我理解地图。虽然Mathematica更容易理解,(a)用无意义的参数射自己的脚更容易,(b)它不能做R的算法2。(这里是 Mathworld's Quantile page 表示Mathematica不能做2,但给出了所有其他算法在四个参数方面的简单概括。)

        2
  •  5
  •   Baltimark    17 年前

    当你给它一个向量,并且没有已知的CDF时,计算分位数的方法有很多种。

    考虑这样一个问题:当你的观察结果不完全落在分位数上时,该怎么做?

    “类型”只是决定如何做到这一点。因此,这些方法说,“在k阶统计量和p(k)之间使用线性插值”。

    那么,P(k)是什么?一个人说,“嗯,我喜欢用K/N”。另一个人说,“我喜欢使用(k-1)/(n-1)”等。这些方法中的每一个都有不同的属性,更适合于一个或另一个问题。

    α和β只是参数化函数p的方法。在一种情况下,它们是1和1。在另一种情况下,它们是3/8和-1/4。我不认为P在文档中是常量。它们并不总是显式地显示依赖关系。

    看看当你输入向量1:5和1:6时,不同类型会发生什么。

    (还要注意,即使您的观察值正好落在分位数上,某些类型仍将使用线性插值)。