解释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
至于那个直截了当的m
。 m
取决于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
k
, x[k]
)被内插以得到解( p
, Q[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仍将使用线性插值)。