SAS中文论坛

标题: 怎样生成随机数? [打印本页]

作者: shiyiming    时间: 2008-5-12 16:14
标题: 怎样生成随机数?
如何在sas中生成t分布的随机数了?
作者: shiyiming    时间: 2008-5-12 18:09
标题: Re: 怎样生成随机数?
解决这个问题要明确以下几点:
1、首先,SAS能直接生成的是正态分布和均匀分布,但是SAS不能直接生成T分布,需要由其他分布构造T分布
2、T分布可以由正态分布和卡方分布构造,而卡方分布又可以由正态分布构造,所以T分布可以由正态分布构造
3、T分布有自由度的,你要确定自由度,这样才能知道在由正态分布构造卡方分布时的正态分布的个数

[color=#FF4000:10pweuen]卡方分布的构造[/color:10pweuen]:若n个相互独立的随机变量ξ1,ξ2,…,ξn ,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和∑ξ2i构成一新的随机变量,其分布规律称为χ2 (n)分布,其中参数 n 称为自由度,自由度不同就是另一个χ2分布。
[color=#FF4000:10pweuen]
T分布的构造[/color:10pweuen]:T分布是由正态分布和卡方分布构造而成的一个新的分布。设ξ,η为相互独立的随机变量,ξ服从标准正态分布,η服从χ2(n)分布,则T=ξ/[SQRT(η/N)]随机变量的函数的分布规律称为T(n)分布,其中参数 n 称为自由度。

这个问题原理需要较深的概率统计专业知识,但是明白了原理就可以直接编程生成T分布了
作者: shiyiming    时间: 2008-5-13 11:54
标题: Re: 怎样生成随机数?
原理我知道,但就是不清楚怎么来在sas中实现这个随机数的程序.阁下可否帮忙编一个程序?
作者: shiyiming    时间: 2008-5-13 15:53
标题: Re: 怎样生成随机数?
data a;
do i=1 to 10000;
x1=rannor(1234);
x2=rannor(2345);
x3=rannor(3456);
x4=rannor(4567);
x5=(x2)**2+(x3)**2+(x4)**2;
x6=x1/(sqrt(x5/3));
output;
end;
run;
生成的X5是卡方分布,X6是T分布。
作者: shiyiming    时间: 2008-5-13 17:39
标题: Re: 怎样生成随机数?
非常感谢!!! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2