
一、分享簡單随機抽樣的幾種方法
1、抽樣分析工具抽樣
2、INDIRECT+RANDBETWEEN函數抽樣
3、RAND+排序抽樣
4、SAS抽樣
二、分層抽樣方法
1、Python分層抽樣
2、SAS分層抽樣
3、EXCEL函數及功能分層抽樣
簡單随機抽樣的幾種方法
方法一
抽樣分析工具抽樣
如果你的EXCEL尚未安裝資料分析,采用以下方法調出“資料分析”工具:
EXCEL2013版:
“檔案”——“選項”——“附加元件”——“分析工具庫”,然後确定,即可添加在EXCEL工具欄。
EXCEL2007版:
“選項”——“附加元件”——“分析工具庫”進行加載即可。
(以2013版為例:)
舉例:某企業有客戶10萬,現需要通過電話回訪的方式進行客戶滿意度調查,了解客戶對企業産品和服務的評價。如果直接對10萬客戶進行回訪,時間成本、人員成本都難以估算,經過專家論證、客戶認可,現決定從10萬名客戶中抽取1000名作為調查樣本進行回訪,為了保證結果的客觀性,采取随機抽樣的方式進行抽查。
1、打開需要抽樣的EXCEL表格
2、選“資料”——“資料分析”——“抽樣”
3、根據要求選:
- “輸入區域”的資料
- 抽樣方法選“随機”
- 輸出選項選“輸出區域”(以此為例)
4、結果如圖:(從10萬名客戶裡随機抽取1000名客戶進行調研,抽取結果如下)
然後通過計算可得出抽樣的情況,進而可以推斷出總體情況。
備注:
1、抽樣樣本越多,所得的結果,越接近真實結果;
2、用抽樣分析工具抽樣,隻能對數值型資料進行抽樣,對于其他類型的抽樣無法完成。
方法二
INDIRECT+RANDBETWEEN函數抽樣
舉例:某企業有客戶2萬,現需要通過電話回訪的方式進行客戶滿意度調查,了解客戶對企業産品和服務的評價。如果直接對2萬客戶進行回訪,時間成本、人員成本都難以估算,經過專家論證、客戶認可,現決定從2萬名客戶中抽取100名作為調查樣本進行回訪,為了保證結果的客觀性,采取随機抽樣的方式進行抽查。
1、 打開需要抽樣的EXCEL表格
2、在EXCEL的空白區域寫入,暫以E列為例,在E2寫入
=INDIRECT("a"&RANDBETWEEN(2,20001)),下拉100個單元格,結果如下:
3、然後通過計算可得出抽樣的情況,進而可以推斷出總體情況。
方法三
用RAND函數加排序功能
舉例:某企業有客戶10萬,現需要通過電話回訪的方式進行客戶滿意度調查,了解客戶對企業産品和服務的評價。如果直接對10萬客戶進行回訪,時間成本、人員成本都難以估算,經過專家論證、客戶認可,現決定從10萬名客戶中抽取1000名作為調查樣本進行回訪,為了保證結果的客觀性,采取随機抽樣的方式進行抽查。
1、在B1中輸入“=RAND()”,向下填充至C1000000
2、選擇C列,點選工具欄中的資料→升序,在彈出的視窗中選擇“擴充標明區域”,再點選“排序”按鈕
3、此時A列中的序号已經打亂了,直接看A2至A10001中的值就可以達成“随機抽查10個客戶”的要求了,然後通過計算可得出抽樣的情況,進而可以推斷出總體情況。
方法四
利用SAS軟體進行随機抽樣
PROC SURVEYSELECT一般形式:
Proc surveyselect data=
Method=
out=
n=(or samprate=抽樣比例)
seed=n;
strata ;
id ;
run;
1.從資料集text.bclass中不重複随機抽取20條記錄,保留所有變量
proc surveyselect data=text.bclass out=srsa1 method = srs
sampsize =20;
run;
2. 從資料集text.bclass中重複随機抽取20條記錄,保留所有變量
proc surveyselect data=text.bclass out=srsa1 method= urs
sampsize =20;
run;
3. 随機抽取總體的10%作為樣本,保留所有變量
proc surveyselect data=sashelp.prdsale out=srs415 method = srs
samprate = 0.1;
run;
簡單随機抽樣進階——分層抽樣方法
方法一
利用Python進行分層抽樣
import pandas as pd
df = pd.read_excel(r"位址及名稱.xlsx")
data = pd.DataFrame(df)
gbr = data.groupby("分層變量")
tdict={"變量1":1500,"變量2":1500,"變量3":1500,"變量4":1500,"變量5":1500,"變量6":1500,"變量7":1500}
def sampling(group,tdict):
name = group.name
n = tdict[name]
return group.sample(n=n)
resut = data.groupby("分層變量",group_keys=False).apply(sampl
ing,tdict)
resut.to_excel(r"輸入位址及名稱.xlsx")
方法二
利用SAS軟體進行随機抽樣
1、手工設定抽樣比例或者抽樣數
proc sort data=test1;
by 分層變量;
run;
proc surveyselect data=test1 out=results3 method=srs
samprate=(0.1,0.3,0.5,0.2);
strata 分層變量;
run;
proc surveyselect data=test1 out=results3 method=srs
sampsize=(30,20,50,40);
strata 分層變量;
run;
2、根據抽樣表進行不等比例抽樣
proc sort data=test1;
by 分層變量;
run;
proc surveyselect data=test1 out=results3 method=SRS
samprate=samp_table;
strata 分層變量;
run;
方法三
利用excel函數及相關功能進行分層随機抽樣
1、利用rand()函數,添加輔助列随機
2、去除rand()函數公式,升序、降序排列都可以
3、利用countif(A$2$:A2,A2)添加輔助列,并去除公式
4、将每個類型需要抽取的數量放到任意區域
5、利用Excel中資料-進階功能進行随機抽取
作者:管道研究部馮乙
Python方法:胡揚指導
SAS方法:楊家輝指導
點選在看,了解更多精彩内容