SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1280|回复: 4
打印 上一主题 下一主题

怎样生成随机数?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-5-12 16:14:38 | 只看该作者

怎样生成随机数?

如何在sas中生成t分布的随机数了?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-5-12 18:09:41 | 只看该作者

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分布了
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-5-13 11:54:18 | 只看该作者

Re: 怎样生成随机数?

原理我知道,但就是不清楚怎么来在sas中实现这个随机数的程序.阁下可否帮忙编一个程序?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-5-13 15:53:17 | 只看该作者

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分布。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2008-5-13 17:39:47 | 只看该作者

Re: 怎样生成随机数?

非常感谢!!! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 18:15 , Processed in 0.068160 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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