SAS中文论坛
标题:
请教分布拟合问题
[打印本页]
作者:
shiyiming
时间:
2010-4-18 22:42
标题:
请教分布拟合问题
请教:
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
作者:
shiyiming
时间:
2010-4-19 15:35
标题:
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分布模拟数据的函数,这个文献里面用的是宏功能
作者:
shiyiming
时间:
2010-4-19 20:13
标题:
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;
作者:
shiyiming
时间:
2010-4-20 05:44
标题:
Re: 请教分布拟合问题
to linyuan
问题是1.为什么你用0做seed?0 无法产生更‘随机’ 的数。但是坏处很明显,数据无法再生成, non-reproducible。 所以我感觉用seed 0 往往是弊大于利。2.n-1 可能是负数
欢迎指正。
作者:
shiyiming
时间:
2010-4-21 20:01
标题:
Re: 请教分布拟合问题
非常感谢各位的回复。不过,我验证了一下,好像都不正确。
作者:
shiyiming
时间:
2010-5-18 15:05
标题:
Re: 请教分布拟合问题
问题1:分布拟合检验可以用nonpara1wy。 如果想与指定的分布做检验,可以先用指定分布生成一列随机数,用着列随机数与自己的data做分布是否相同的检验。
问题2:SAS现在有了一个实验性程序 rand('dist',para1,para2,....),可以产生weibull的随机数
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2