SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 822|回复: 2
打印 上一主题 下一主题

新手求助,如何做样本数据的经验概率密度分布

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-6-24 11:05:02 | 只看该作者

新手求助,如何做样本数据的经验概率密度分布

各位好,
    我以前一直是用matlab的,最近在一家公司上班,公司里面用的是sas,本来以为sas很好学,但是发现自己老是跳不出matlab的圈子。
    刚好手上要一批数据,要研究他的经验概率分布,一周下来,还是没有作出来。
    现在的主要问题是要根据我自己规定的区间(对数等分,如:10.^[0:0.1:7] )来做概率分布,
    主要想法是这样的
    (1) 确定一组向量,如:x = 10.^[0:0.1:7];
       (2) 循环:找出原始数据中,在各个区间[ x(i) x(i+1) )的个数,
       (3) 在做概率分布,画图,图要双对数坐标。
    我现在觉得sas太难了,心里又很急。刚上班。
希望高手指点一下,先谢过了。。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-6-24 14:01:57 | 只看该作者

Re: 新手求助,如何做样本数据的经验概率密度分布

data qujian(keep=q);
do i=0 to 7 by 0.1;
q=10**i;output;
end;
run;
data shuju;
    retain _seed_ 0;
    a=1;
    b=10000000;
    do _i_ = 1 to 100000;
uniform1 = a + (b-a) * ranuni(_seed_);
output;
end;
drop  _seed_  _i_ a b;
run;
proc sort data=shuju;
by uniform1;
run;
proc sql;
create table raw as
select q , count(*)
from qujian
inner join shuju
on q>=uniform1
group by q;
quit;
data end;
merge raw qujian;
by q;
run;
data finish;
set end;
rename _TEMG001=num;
if _TEMG001=. then _TEMG001=0;
run;
data finish;
set finish;
num2=num-lag(num);
keep num2 q;
run;
data finish;
set finish;
y=log(num2);x=log(q);
run;
goptions i=join;color=blue;
proc gplot data=finish;
plot y*x;
run;
您的问题中有一个问题,如果数据超出范围或者刚好在那一个点上时会有问题,我写了上面的一段代码,区间用循环生成
数据用均匀分布生成,然后用sql语句计算小于等于区间的个数,然后再将相邻的个数相减得到区间中的数字,这个办法比较笨
效率太低,如果有人能写成用data语句的执行会比较快,我不太懂双对数坐标是什么,我就取了对数然后画图。不知道,对不对
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-7-2 18:45:18 | 只看该作者

Re: 新手求助,如何做样本数据的经验概率密度分布

规定的区间大小对最后得到的经验概率分布影响很大,关于这个区间的大小,有一个专用的术语,叫binwidth,有一些研究是针对如何选取最优的binwidth(在某种意义下),不知道现在回复你晚不晚,建议你看一下wand的‘data based choice of histogram bin width’,另外你也可以使用核估计来得到经验概率密度。PS:R里面有直接做这两个东西的函数,sas里好像只有核估计。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 20:06 , Processed in 0.132857 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表