楼主: 龙潭丰乐
13044 9

[学习分享] sas 抽样过程 [推广有奖]

  • 14关注
  • 4粉丝

已卖:115份资源

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0.0600
学术水平
25 点
热心指数
29 点
信用等级
14 点
经验
8649 点
帖子
457
精华
0
在线时间
466 小时
注册时间
2011-11-20
最后登录
2022-1-6

楼主
龙潭丰乐 学生认证  发表于 2013-5-19 16:49:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

1、        系统抽样

它是首先将总体中各单位按一定顺序排列,根据样本容量要求确定抽选间隔,然后随机确定起点,每隔一定的间隔抽取一个单位的一种抽样方式。

Sas代码(1):

data quan;

set sashelp.prdsale;

     if mod(_n_,4)=0 then output ;

run;

Sas代码(2):

data quan1;

    do i= 1 tonumber by 10;

     set sashelp.prdsale nobs=number point=i;

    output ;

    end;

    stop;

  run;

sas代码(3):利用过程步surveyselect ,其中方法为systematic sampling(简写为sys)

proc surveyselect data=sashelp.prdsalen=100 method=sys out=quan;

run;

2、        简单抽样

随即抽取分为重复抽样不重复抽样。在重复抽样中,每次抽中的单位仍放回总体,样本中的单位可能不止一次被抽中。不重复抽样中,抽中的单位不再放回总体,样本中的单位只能抽中一次。

sas代码(1):

data quan2;

   set sashelp.prdsalenobs=number;

   x=uniform(0);

  run;

proc sort data=quan2 out=quan3;

    by x;

      run;

data quan;

        set quan3;

         if _n_<30 then output;drop x;

run;

这个代码很有意思的,产生一组随即数,然后根据随机数排序进行选择。

Sas代码(2):

data quan;

do i =1 to 50;

p=ceil(1440*ranuni(0));

  set sashelp.prdsale  point=p;

   output;

   end;

   stop;

   drop p;

run;

这个例子也是通过随机数来产生随机的位置,然后抽取相应的数据。

另外如果不知道初始样本的数据量,可以使用nobs设置。

data quan;

do i =1 to 50;

p=ceil(number*ranuni(0));/*向上取整,这样就可以使p指在【1,number】中。

  set sashelp.prdsale  point=p nobs=number;

   output;

   end;

   stop;

   drop p;

  run;

Sas代码(3):利用过程步surveyselect,其中method= srs(即simple random sampling

proc surveyselect data=sashelp.prdsale n=100 method=srs out=quan;

run;

3、        分层抽样

分层抽样先将总体的单位按某种特征分为若干次级总体(层),然后再从每一层内进行单纯随机抽样,组成一个样本的方法。

Sas代码(1):

proc sort data=sashelp.prdsale out=quan;

by country region;

run;

proc surveyselect data=quan rate=0.1 method=srs out=quan1;

  strata country region;

run;

这里有一点要提醒:就是必须先排序。排序后在进行抽样。

总结:

Data步虽然可以做一些抽样工作,但是不如surveyselect简洁、方便。


参考:

几种简单抽样方法的SAS实现–surveyselecthttp://yanyk.dxyer.cn/8215_10/

如何利用SAS进行随机抽样?http://blog.sina.com.cn/s/blog_5fc375650102dszz.html;Sas advance programmingSas编程与商业数据挖掘
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:surveyselect Systematic Sampling SASHELP Surveys 单位 number

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
boe + 1 + 1 + 1 精彩帖子
Imasasor + 100 + 80 + 4 + 1 + 3 鼓励积极发帖讨论

总评分: 经验 + 100  论坛币 + 80  学术水平 + 5  热心指数 + 2  信用等级 + 4   查看全部评分

本帖被以下文库推荐

沙发
Rock2000 发表于 2013-5-20 08:34:22
楼主注意,以上介绍的抽样方法看起来是可行的,但是,有一个情况楼主没有注意,就是结果不可以重现,每次运行的抽样结果是不一样的,这在实际工作有时是不能接受的。只有加种子数(seed)随机过程才是可重现的,只要每次的种子数是一样的话,比如以下程序:
  1. proc surveyselect data=sashelp.prdsale n=100 method=srs out=quan seed=12345; run; proc print data=quan; run;
复制代码
这里seed是种子数,种子数不同抽样结果不同。


藤椅
龙潭丰乐 学生认证  发表于 2013-5-20 12:42:39
Rock2000 发表于 2013-5-20 08:34
楼主注意,以上介绍的抽样方法看起来是可行的,但是,有一个情况楼主没有注意,就是结果不可以重现,每次运 ...
感谢指教,还有个问题一直不太了解,surveyselect是不重复抽样吧?实际中是肯定是不重复抽样好点。

板凳
boe 发表于 2013-5-20 12:46:50
谢谢楼主。
Gorgeous girl , I love !

报纸
tj0412ymy 发表于 2013-5-20 12:52:25
GOOD SUMMARY.
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

地板
Rock2000 发表于 2013-5-20 17:50:11
龙潭丰乐 发表于 2013-5-20 12:42
感谢指教,还有个问题一直不太了解,surveyselect是不重复抽样吧?实际中是肯定是不重复抽样好点。
对,不重复抽样。

7
龙潭丰乐 学生认证  发表于 2013-5-20 22:30:49
Rock2000 发表于 2013-5-20 17:50
对,不重复抽样。
这是不是跟seed有关,也就是说seed流不会产生重复的数嘛?

8
toppoo 发表于 2013-6-8 08:23:58
好好学习,感谢分享

9
joyliftzt 发表于 2019-3-7 11:22:12
抽样之后数据推断怎么实现?

10
wang_ql 发表于 2019-3-7 22:32:49

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 22:54