分層抽樣之基本觀念請參考另篇文章:分層隨機抽樣 (Stratified Random Sampling)
以下為分層不等比例隨機抽樣之SAS的應用:
在[程式一]中建立30筆資料, 變數包括no, age, sex,檔名為AA,其中男性10筆,女性20筆,以尼曼配置法 (Neyman allocation)估算,女性將抽出7個樣本,男性將抽出2個樣本。
[程式一];
data aa;
input no age sex $ @@;
cards;
1 23 F 2 24 F 3 52 M 4 36 M 5 12 M
6 18 F 7 42 F 8 19 M 9 37 M 10 29 F
11 23 F 12 26 F 13 27 F 14 37 F 15 32 F
16 45 M 17 12 M 18 35 M 19 42 M 20 18 M
21 16 F 22 19 F 23 49 F 24 51 F 25 40 F
26 31 F 27 19 F 28 27 F 29 39 F 30 34 F
;
proc print;
run;
以下將利用產生一個strata_rate資料檔,寫入每個分層並指定抽出人數( 預設變數名稱: _nsize_, 請勿自行更改名稱)或指定抽出比例(預設變數名稱: _rate_),再將包含抽出人數或比例的strata_rate資料檔寫入proc surveyselect語法中,即可完成分層不等比例隨機抽樣。
[程式二]中
1.method=srs(抽出不放回的簡單隨機抽樣)
2.n=strata_rate(指定抽出人數在檔案strata_rate中)
3.strata sex(指定特定分層)
[程式二];
data strata_rate;
input sex $ _nsize_;
cards;
F 7
M 2
;
run;
proc sort data=aa;
by sex;
run;
proc surveyselect data=aa out=aa1 method=srs
n=strata_rate;
strata sex;
proc print data=aa1;
run;
[結果一]
[程式三]中
1.method=srs(抽出不放回的簡單隨機抽樣)
2.samprate=strata_rate(指定抽出比例在檔案strata_rate中)
3.strata sex(指定特定分層)
[程式三];
男性10筆,女性20筆,根據「尼曼配置法」(Neyman allocation),女性被出的樣本數為7個,男性為2個,女性與男性樣本的抽出比例依序為7/20 (_rate_=0.35)、2/10 (_rate_=0.20),利用指定抽出比例抽出各層樣本。
data strata_rate;
input sex $ _rate_;
cards;
F 0.35
M 0.2
;
run;
proc sort data=aa;
by sex;
run;
proc surveyselect data=aa out=aa1 method=srs
samprate=strata_rate;
strata sex;
proc print data=aa1;
run;
[結果二] 同結果一
留言列表