全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
7620 4
2014-10-03
本人刚接触Stata,今天发现Stata中codebook命令给出的变量的百分位数结果与centile命令给出的结果不同。比如一列简单数据:1,2,3,4,5,6,7,8,9,10。codebook命令90%结果为9.5,而centile varlist,centile(90)命令90%结果为9.9。
想了半天,猜测可能计算公式用的不一样。百度了一下,确实有两种计算方法:
第一种方法
第1步:以递增顺序排列原始数据(即从小到大排列)。
第2步:计算指数i=np%
第3步:1)若 i 不是整数,将 i 向上取整。大于i的毗邻整数即为第p百分位数的位置。
            2)若 i 是整数,则第p百分位数是第i项与第(i+1)项数据的平均值。


第二种方法,这种方法是SPSS所用方法,也是SAS所用方法之一。
第一步:将n个变量值从小到大排列,X(j)表示此数列中第j个数。
第二步:计算指数,设(n+1)P%=j+g,j为整数部分,g为小数部分。
第三步:1)当g=0时:P百分位数=X(j);
             2)当g≠0时:P百分位数=g*X(j+1)+(1-g)*X(j)=X(j)+g*[X(j+1)-X(j)]。

在这里向高手们请教,为何Stata里连这种基本计算都不一致,这么做有什么道理吗?而且好像第二种百分位数计算方法现在用的比较多啊。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-8 10:41:28
每个软件关于中位数的计算确实不尽相同,具体选择哪一种需要由你自己决定,如果你的变量是连续变量的话,而且观测值比较多,几种计算结果相差不大
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-8 11:02:02
ermutuxia 发表于 2014-10-8 10:41
每个软件关于中位数的计算确实不尽相同,具体选择哪一种需要由你自己决定,如果你的变量是连续变量的话,而 ...
谢谢指点!
我的疑问还是stata软件内为何不统一算法呢?或者在文档中详细说明一下也好。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-8 13:11:19
不是stata手册不说
是你自己没有看到而已
页面提取自-d.jpg 页面提取自-r_页面_1.jpg 页面提取自-r_页面_2.jpg 页面提取自-r-2_页面_1.jpg 页面提取自-r-2_页面_2.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-8 22:48:16
蓝色 发表于 2014-10-8 13:11
不是stata手册不说
是你自己没有看到而已
非常感谢!自己还是没有仔细看手册呀!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群