解释R中的quantile()函数

我一整天都被R分位数函数迷住了。

我有一个分位数如何工作的直观概念,以及一个统计数据中的MS,但男孩哦,男孩,它的文档是令我困惑的。

从文档:

Q [i](p)=(1-gamma)x [j] + gamma x [j + 1],

我到目前为止。 对于typesi分位数,它是x [j]和x [j + 1]之间的插值,基于一些神秘的常量gamma

其中1 <= i <= 9,(jm)/ n <= p <(j-m + 1)/ n,x [j]为第j阶统计量,n为样本量,m为常数由样本分位数types。 这里γ取决于g = np + mj的小数部分。

那么,如何计算j? M&

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

p(k)=(k-α)/(n-α-β+ 1),其中α和β是由该types确定的常数。 此外,m =α+ p(1-α-β),并且γ= g。

现在我真的迷失了。 这在以前是一个常量,现在显然是一个函数。

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

types7

p(k)=(k-1)/(n-1)。 在这种情况下,p(k)= mode [F(x [k])]。 这是用于S.

任何人都想帮助我? 特别是我对函数和常量p的表示感到困惑,什么是m ,现在计算出某个特定的p

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

quantile.R源代码或types:quantile.default

你理解困惑。 那个文档很糟糕。 (Hyndman,RJ; Fan,Y。(1996年11月)。“Statistical Quantiles in Statistical Packages” American Statistician 50(4):361-365。doi :10.2307 / 2684934 )去理解。 我们从第一个问题开始。

其中1 <= i <= 9,(jm)/ n <= p <(j-m + 1)/ n,x [j]为第j阶统计量,n为样本量,m为常数由样本分位数types。 这里γ取决于g = np + mj的小数部分。

第一部分直接来自论文,但文献编写者省略的是j = int(pn+m) 。 这意味着Q[i](p)只取决于最接近通过(sorting的)观察方式的p分数的两阶统计量。 (对于像我这样不熟悉这个词的人来说,一系列观察的“顺序统计”就是sorting的系列)

另外,最后一句话是错的。 它应该阅读

这里伽玛取决于np + m的小数部分,g = np + mj

至于那个直截了当的mm取决于select哪个algorithm。 所以就像Q[i]是分位数函数一样, m应该被认为是m[i] 。 对于algorithm1和2, m是0,对于3, m是-1/2,对于其他的,在下一部分。

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

p(k)=(k-α)/(n-α-β+ 1),其中α和β是由该types确定的常数。 此外,m =α+ p(1-α-β),并且γ= g。

这真是令人困惑。 文档调用p(k)与之前的p不一样。 p(k)是绘图位置 。 在这篇文章中,作者将其写为k ,这有助于。 特别是因为在m的expression式中, p是原始的p ,并且m = alpha + p * (1 - alpha - beta) 。 在概念上,对于algorithm4-9,点( p kx[k] )被内插以得到解( pQ[i](p) )。 每种algorithm仅在p k的algorithm上有所不同。

至于最后一点,R只是说明S使用什么。

原文给出了一个样本分位数的6个“​​合意属性”的列表,并且表示满足全部1的#8的偏好。#5满足所有这些,但他们不喜欢在其他的理由(它是更多的现象学比原则派生)。 #2是像我这样的非统计爱好者会考虑的分位数,是在维基百科中所描述的。

顺便说一句,为了回应答案 ,Mathematica做的事情明显不同。 我想我明白了映射。 虽然Mathematica比较容易理解,但是(a)用无意义的参数在脚下拍摄自己更容易,以及(b)不能执行R的algorithm#2。 (这里是Mathworld的Quantile页面 ,它指出Mathematica不能做#2,但是按照四个参数给出所有其他algorithm的更简单的概括。)

计算分位数的方法有多种,只要给它一个向量,而没有已知的CDF。

考虑一下当你的观察不完全落在分位数上时该怎么做的问题。

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

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

\ alpha和\ beta只是参数化函数p的方法。 有一种情况是1和1.另一种情况是3/8和-1/4。 我不认为在文档中p是永远不变的。 他们并不总是显式地显示依赖。

看到像1:5和1:6这样的vector,看看不同types会发生什么。

(还要注意的是,即使你的观察值恰好落在分位数上,某些types仍将使用线性插值)。