在電子化醫學研究資料庫逐漸流行的時代,利用次級資料庫或是公務行政資料庫進行醫學研究逐漸普及。研究者需要運用許多資料處理的技術在大量資料點中,擷取出適合分析的樣本,再依取出的樣本進行後續的分析處理。一般研究設計中,病例組/治療組因為操作目標明確,通常是容易擷取的,但是對照組範圍很廣,且年齡、性別的分佈往往會跟病例組/治療組有很大差異 (可以想像一般年輕人比較不容易成為病例組,所以病例組的年齡常常是較年長的),造成兩者之間可比較性低。此時有許多技術操作可以挑選出具有可比較性、適合分析的對照組,以下分享一些容易操作的簡單小技巧「抽樣」來達成挑選對照組的任務。

        常見的抽樣方式「簡單隨機抽樣(Simple random sampling)」、「分層隨機抽樣(Stratified random sampling)」,其中分層隨機抽樣可再依操作方式分為「等比例隨機抽樣」跟「不等比例隨機抽樣」。以下簡單介紹透過SAS SURVEYSELECT Procedure來達成以上的抽樣操作。以上幾種常見的抽樣方式,在SURVEYSELECT Procedure語法的基本結構如下:

 

proc surveyselect data=dataname

method=sampling method  n=sampling number  out=sampling_data  seed=any number over than 0 ;

run ;

 

sampling method:供使用者填入期望的抽樣方式

sampling number供使用者填入期望的抽樣人數

any number over than 0:當seed=0時,每次抽出的人將會不同,因此建議填入大於0的正數,固定每次程序執行後抽出的人

 

「簡單隨機抽樣(Simple random sampling)」:以下示範簡單隨機抽100個不重複樣本的寫法,程序中method=srs便是指以簡單隨機抽樣的方式進行抽樣。

 

proc surveyselect data=dataname

method=srs  n=100  out=sampling_data  seed=123 ;

run ;

 

111.jpg

 

「分層等比例隨機抽樣」:以下示範以男女性別分層,並且各抽50%的樣本。假設母體有200人,其中120人為男性,80人為女性,期望抽出的樣本為60位男性跟40位女性。下面的指令依然是以簡單隨機抽樣的方式進行抽樣,只是抽樣時依照男女性別做分層,由於男性跟女性的50%是不同數值,因此此處無法如同上方的範例用n=來表達預期抽出的樣本數,改以samprate=來表達期望抽出樣本的比例。strata用來指定分層的依據。

 

proc sort data=dataname ; by sex ; run ;   /** 分層的變項必須於抽樣程序執行之前先做好排序 **/

 

proc surveyselect data=dataname

method=srs  samprate=0.5  out=sampling_data  seed=123 ;

strata sex ;

run ;

 

 

「分層不等比例隨機抽樣」:以下示範以年齡分層,並且希望抽出的樣本中,老年的樣本較多些。假設母體有500人,年齡每20歲分層,共分5層,期望以0.1, 0.1, 0.2, 0.3, 0.3的比例抽出五個年齡層分別為50, 50, 100, 150, 150的人數。

 

範例一:以samprate=()的方式指定各層期望抽出的比例。

 

proc sort data=dataname ; by age_group ; run ;   /** 分層的變項必須於抽樣程序執行之前先做好排序 **/

 

proc surveyselect data=dataname

method=srs  samprate=(0.1, 0.1, 0.2, 0.3, 0.3)  out=sampling_data  seed=123 ;

strata age_group ;

run ;

 

 

範例二:以n=()的方式直接輸入各層期望抽出的人數。

 

proc sort data=dataname ; by age_group ; run ;   /** 分層的變項必須於抽樣程序執行之前先做好排序 **/

 

proc surveyselect data=dataname

method=srs  n=(50, 50, 100, 150, 150)  out=sampling_data  seed=123 ;

strata age_group ;

run ;

 

範例三:建立抽樣表(sampling_sheet),讓程序從抽樣表中自動擷取各層應抽樣的比例或人數。抽樣表形式如下圖所示,需包含分層的欄位及各層期望抽出的比例(限定以_rate_命名)或人數(限定以_nsize_命名),程序指令寫法如下。

 

 

1.jpg

 

proc sort data=dataname ; by age_group ; run ;   /** 分層的變項必須於抽樣程序執行之前先做好排序 **/

 

proc surveyselect data=dataname

method=srs  samprate=sampling_sheet  out=sampling_data  seed=123 ;

strata age_group ;

run ;

 

 

關鍵字:SAS, SURVEYSELECT Procedure, 抽樣, 簡單隨機抽樣, simple random sampling, 分層隨機抽樣, stratified random sampling, 分層等比例隨機抽樣, 分層不等比例隨機抽樣

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 晨晰部落格新站 的頭像
    晨晰部落格新站

    晨晰統計部落格新站(統計、SPSS、BIG DATA討論園地)

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()