当前位置:  开发笔记 > 前端 > 正文

解释R中的quantile()函数

如何解决《解释R中的quantile()函数》经验,为你挑选了2个好方法。

我整天被R分位数函数迷惑了.

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

来自文档:

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

我到目前为止还在用它.对于类型i分位数,它是x [j]和x [j + 1]之间的插值,基于一些神秘的常数伽玛

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

那么,如何计算j?M&

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

p(k)=(k-alpha)/(n-alpha-beta + 1),其中α和β是由类型确定的常数.此外,m =α+ p(1-α-β),γ= g.

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

所以对于Type 7分位数,默认...

输入7

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

有人想帮帮我吗?特别是我对P的是一个功能和常数,究竟发生了什么符号糊涂是,现在来计算j表示一些特殊的p.

我希望根据这里的答案,我们可以提交一些修改后的文档,更好地解释这里发生了什么.

quantile.R源代码 或类型:quantile.default



1> AFoglia..:

你可以理解的是很困惑.那份文件很糟糕.我不得不回到它的基础上(Hyndman,RJ; Fan,Y.(1996年11月)."统计包中的分子样本".美国统计学家 50(4):361-365.doi :10.2307/2684934)了解一下.让我们从第一个问题开始吧.

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

第一部分直接来自论文,但文档编写者省略的是j = int(pn+m).这意味着Q[i](p)仅取决于最接近p通过(已排序)观察的分数的两个顺序统计.(对于像我这样不熟悉这个术语的人来说,一系列观察的"顺序统计"是排序系列.)

而且,最后一句话是错的.它应该读

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

至于m那是直截了当的. m取决于选择的9种算法中的哪一种.所以就像Q[i]分位数函数一样,m应该考虑m[i].对于算法1和2,m对于3 ,为0,对于m-1,对于其他算法,则在下一部分中.

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

p(k)=(k-alpha)/(n-alpha-beta + 1),其中α和β是由类型确定的常数.此外,m =α+ p(1-α-β),γ= g.

这真令人困惑.文档调用p(k)的内容p与之前的内容不同. p(k)是绘图的位置.在论文中,作者将其写为pk,这有所帮助.特别是因为在表达中m,p是原始的p,和m = alpha + p * (1 - alpha - beta).从概念上讲,对于算法4-9,点(pk,x[k])被内插以得到解(p,Q[i](p)).每种算法仅在算法上有所不同pk.

至于最后一点,R只是陈述S使用的内容.

原始论文给出了6个"样本分位数"的理想属性列表,并列出了对#8的偏好,它满足所有这些.#5满足所有这些,但他们不喜欢它的其他理由(它是更多的现象学而非源于原则).#2是像我这样的非统计极客会考虑分位数,并且是维基百科中描述的内容.

顺便说一句,为了回应Dreeves的回答,Mathematica做了很多不同的事情.我想我理解了映射.虽然Mathematica更容易理解,但是(a)用无意义的参数更容易用脚射击自己,并且(b)它不能做R的算法#2.(这是Mathworld的分位数页面,它指出Mathematica不能做#2,但是根据四个参数给出了所有其他算法的更简单的推广.)


我编写了quantile()函数和相关的帮助文件,并于2004年8月将其提交给R核心团队(取代以前的版本).我刚检查过,所有这些错误都是由我提交后更改了帮助文件造成的.(我负责使用p和p [k]虽然.)我从来没有注意到它,因为我认为我的文件不会被触及.我会看看是否可以为R 2.10.0修复帮助文件.
只是为了完成这个讨论,新的帮助文件现在是基础Rv2.10.0的一部分.
每当我看到R中的``help(quantile)``时,我都很满意这个结果!
@AFoglia.我在http://www.robjhyndman.com/quantile.html上提出了一个新的帮助文件.我提交给Rcore之前的评论?
新的更好.我有一个小建议,为方法一到三添加伽玛的定义,尽管对于统计知识的R受众可能没有必要.否则,它看起来很棒.

2> Baltimark..:

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

考虑当您的观察结果不完全落在分位数上时该怎么做的问题.

"类型"只是决定如何做到这一点.因此,方法说,"在第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这样的向量时,看看不同类型会发生什么.

(另请注意,即使您的观察结果完全落在分位数上,某些类型仍会使用线性插值).

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有