SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 977|回复: 5
打印 上一主题 下一主题

请教分布拟合问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-4-18 22:42:04 | 只看该作者

请教分布拟合问题

请教:
1、        如何用sas对数据(比如6  3  15  15  30  23  21  8)进行泊松分布、负二项分布等进行拟合分布检验。更一般的对数据进行拟合分布检验程序?
2、        Sas中weibull分布的随机函数是什么?
3、下列程序运行中,如何根据i,对x进行分类求和?具体地,比如当i=1(2、3)时,对x的5(7、5)个值分别累计求和,并且只输出总和。想用y值表达,错在哪里?
data rv1;
do i=1 to 3;
    n=ranbin(0,10,0.6);
    do j =1 to n-1;
      x=100+1*rannor(0);
      if i^=lag(i) then y=x;
      else y+x;
   output;
   end;
output;
end;
run;
proc print data=rv1;
run;
运行结果:
      Obs    i    n    j       x          y

       1    1    5    1    100.383    100.383
       2    1    5    2    100.172    200.555
       3    1    5    3    100.211    300.766
       4    1    5    4    101.065    401.831
       5    1    5    5    101.065    401.831
       6    2    7    1     99.876     99.876
       7    2    7    2    100.306    200.182
       8    2    7    3     99.236    299.419
       9    2    7    4     98.282    397.700
       10    2    7    5    100.696    498.396
       11    2    7    6    100.921    599.317
       12    2    7    7    100.921    599.317
       13    3    5    1     99.924     99.924
       14    3    5    2    101.336    201.261
       15    3    5    3     99.292    300.552
       16    3    5    4    100.994    401.546
       17    3    5    5    100.994    401.546
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-4-19 15:35:07 | 只看该作者

Re: 请教分布拟合问题

关于第二题这里有个文献,参考参考
<!-- m --><a class="postlink" href="http://www2.sas.com/proceedings/sugi31/198-31.pdf">http://www2.sas.com/proceedings/sugi31/198-31.pdf</a><!-- m -->

好像没有产生weibull分布模拟数据的函数,这个文献里面用的是宏功能
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-4-19 20:13:57 | 只看该作者

Re: 请教分布拟合问题

第3个问题中,如果你只是想要当i=某值时所对应的y值,那么你只要把output去除就可以了。另外,感觉那个lag语句不起作用,一并去除也可以。
data rv1;
do i=1 to 3;
   n=ranbin(0,10,0.6);
   m=n-1;
   do j =1 to m;
      x=100+1*rannor(0);
      y+x;
   end;
end;
run;
proc print data=rv1;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-4-20 05:44:57 | 只看该作者

Re: 请教分布拟合问题

to linyuan
问题是1.为什么你用0做seed?0 无法产生更‘随机’ 的数。但是坏处很明显,数据无法再生成, non-reproducible。 所以我感觉用seed 0 往往是弊大于利。2.n-1 可能是负数
欢迎指正。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-4-21 20:01:51 | 只看该作者

Re: 请教分布拟合问题

非常感谢各位的回复。不过,我验证了一下,好像都不正确。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-5-18 15:05:09 | 只看该作者

Re: 请教分布拟合问题

问题1:分布拟合检验可以用nonpara1wy。 如果想与指定的分布做检验,可以先用指定分布生成一列随机数,用着列随机数与自己的data做分布是否相同的检验。
问题2:SAS现在有了一个实验性程序 rand('dist',para1,para2,....),可以产生weibull的随机数
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 06:41 , Processed in 0.069731 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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