Penerapan Stratified Random Sampling dengan R

Penerapan stratified random sampling dengan R

Pada unggahan sebelumnya, kita telah belajar bersama bagaimana melakukan pengambilan sampel dengan Simple Random Sampling (SRS) dan Systematic Sampling. Pada bagian ini, kita akan meneruskan pembelajaran bersama kita mengenai salah satu jenis teknik sampling yang banyak digunakan dalam kegiatan statistik baik survei maupun eksperimen, yaitu Stratified Random Sampling atau disebut pula Sampling Acak Berlapis (SAB).

Dalam pemanfaatan SRS, pengambilan suatu sampel masih belum mempertimbangkan aspek keterwakilan sampel terhadap populasi. Hal itu memang dalam penggunaan SRS, populasi dianggap sebagai sebuah kesatuan utuh dan bersifat homogen. Oleh karena itu, untuk meminimkan standard error (SE) SRS, opsional yang dapat digunakan adalah menambah ukuran sampel. Namun, cara tersebut ternyata justru dinilai belum efisien karena sampel erat kaitannya dengan biaya, waktu, serta tenaga (SDM), kecuali sebelumnya telah diperoleh informasi tambahan (auxillary information) mengenai populasi. Di samping itu, suatu populasi dalam kenyataannya lebih banyak ditemukan bersifat heterogen ketimbang populasi yang elemen-elemennya bersifat homogen. Oleh karena itulah kemudian pemecahan populasi menjadi sub-sub populasi menjadi perlu dilakukan. Pemecahan populasi menjadi sub-sub populasi inilah yang kemudian memantik istilah strata atau lapisan.

Pada kenyataan di lapangan, setidaknya terdapat 2 jenis strata populasi yang tersedia, yaitu strata yang terbentuk secara alamiah dan strata yang terbentuk secara buatan (artificial). Beberapa contoh strata alamiah yaitu penduduk pesisir laut, penduduk wilayah pegununan, penduduk wilayah perkotaan, dan penduduk wilayah pedesaan. Sedangkan beberapa contoh strata buatan yaitu strata kelas dalam dunia pendidikan, strata penduduk menurut pendapatan rendah, menengah, dan atas.

Berdasarkan kedua jenis strata tersebut, pengambilan sampel strata atau Stratified Random Sampling dilakukan dengan tujuan memperoleh ukuran sampel yang memenuhi aspek keterwakilan untuk setiap strata yang ada. Contoh mudahnya, ketika sebuah riset bertujuan untuk memperoleh rata-rata pendapatan penduduk di suatu desa (informasi tambahan (auxillary information) sebagai dasar penstrataannya adalah pendidikan tertinggi yang ditamatkan), maka sampel yang terpilih haruslah mengakomodir keterwakilan penduduk menurut pendidikan tertinggi yang berhasil ditamatkan, SD, SMP, SMA, Diploma atau lebih. Dengan demikian, estimasi dari rata-rata pendapatan yang diperoleh benar-benar menggambarkan keseluruhan karakteristik populasi menurut pendidikan tertinggi yang ditamatkan.

Notasi yang digunakan dalam teknik Stratified Random Sampling 

L adalah jumlah lapisan (strata)

h adalah urutan strata; h = 1, 2, 3, ..., L

Nh adalah ukuran sub-populasi strata h

nh adalah ukuran sampel untuk strata h (ukuran masing-masing strata)

sh adalah standard deviasi yang diperoleh di lapangan

ch adalah biaya survei atau eksperimen yang dianggarkan, termasuk biaya variabel atau biaya tetap (fixed cost)

Jenis alokasi sampel pada teknik Stratified Random Sampling

1. Alokasi sembarang; dalam praktiknya, jenis alokasi sampel sembarang dalam Stratified Random Sampling sangat jarang digunakan sebab dalam pelaksanaan Stratified Random Sampling sendiri erat kaitannya dengan efisiensi biaya, waktu, dan tenaga. Bila dilakukan alokasi secara sembarang, besar kemungkinannya akan terjadi ketimpangan beban petugas, atau risiko lain misalnya sampel terpilih terlalu menyebar sehingga meningkatkan biaya pelaksanaan lapangan;

2. Alokasi sama; alokasi ini digunakan apabila varians dalam strata hampir sama (hampir homogen). Dengan alokasi yang sama membuat ukuran sampel terpilih di setiap strata akan sama besar;

3. Alokasi sebanding (proporsional); alokasi ini seringkali digunakan bila varians dalam strata juga hampir sama, namun ukuran sampel terpilihnya masih mempertimbangkan ukuran sub-populasi setiap strata. Pada akhirnya, sampel terpilih untuk setiap strata akan berbeda karena sebanding atau proporsional terhadap ukuran sub-populasi strata;

4. Alokasi Neyman; alokasi ini digunakan bila biaya survei atau eksperimen kurang mencukupi sehingga dilakukan pengalokasian biaya yang sama besar. Alokasi ini juga digunakan bila peneliti memperoleh informasi tambahan mengenai varians setiap strata sehingga alokasi yang terbentuk nantinya proporsional terhadap besarnya varians strata. Artinya, bila varians dalam strata besar, maka ukuran sampel strata akan besar pula dan demikian pula sebaliknya;

5. Alokasi Optimum; alokasi ini dilakukan dengan tujuan meminimumkan varians dengan biaya yang tersedia atau sebaliknya menggunakan biaya sekecil mungkin dengan konsekuensi varians bernilai tertentu.

Bagaimana penerapan Stratified Random Sampling dengan R?

Untuk melakukan praktikum kali ini, kita hanya fokus untuk alokasi sama, proporsional, alokasi Neyman, dan alokasi optimum minimum varians dengan biaya tertentu. Praktik untuk alokasi sama dan proporsional kita gunakan data dummy, sedangkan alokasi Neyman dan alokasi optimum minimum varians didasarkan pada contoh kasus 1 dan 2 berikut:

Kasus 1:

Baru-baru ini harga daging sapi kian melonjak. Seiring dengan meningkatnya permintaan daging nasional yang tidak mampu dipenuhi oleh daging sapi lokal mendorong pemerintah melakukan impor. Namun, harga daging sapi semakin merangkak naik. Harga daging sapi tembus Rp. 110.000,- per kg. Hal ini mendorong pemerintah melakukan peninjauan kembali mengenai potensi ternak sapi siap potong di berbagai daerah, salah satunya di Kecamatan Tutur, Pasuruan. Sebuah survei dilakukan untuk melihat ketersediaan daging sapi potong dengan sampel 3 desa, Desa Pungging, Desa Kalipucang, dan Desa Sumber Pitu. Diketahui, jumlah ternak sapi potong di 3 desa tersebut masing-masing 250, 700, dan 440 ekor. Hasil survei pendahuluan didapatkan standar deviasi masing-masing 0,11; 0,27; dan 0,32. Dengan menggunakan teknik Stratified Random Sampling alokasi Neyman, tentukan masing-masing ukuran sampel tiap desa (nh)?...

Kasus 2:

Ketidakpastian global demikian berimbas pada perekonomian dalam negeri, terutama terhadap harga-harga bahan makanan, semisal harga daging ayam. Untuk mengantisipasi adanya lonjakan harga daging ayam secara spontan dan tidak terkendali, Dinas Peternakan Halmahera Utara melakukan survei rata-rata harga daging ayam di Kecamatan Tobelo. Adapun sampel yang terpilih dalam pelaksanaan survei ada 7 dari 10 desa yang ada, yaitu Desa Gamsungi, Desa Kumo, Desa Gura, Desa Kakara A, Desa Wari, Desa Tagalaya, dan Desa Rawajaya. Masing-masing jumlah ayam di setiap desa adalah 78; 98; 150; 227; 381; 236; dan 88. Dari survei pendahuluan diketahui masing-masing standard deviasi sebesar 0,27; 1,15; 0,07; 3,21; 3,01; 0,67; dan 2,22. Sementara itu, biaya untuk pencacahan untuk masing-masing desa dalam ribuan diketahui sebesar 45; 50; 110; 150; 180; 210; dan 40. Bila biaya survei yang dianggarkan sebesar Rp. 800.000,- dan biaya tetapnya sebesar Rp. 700.000,-, maka tentukan masing-masin ukuran sampel setiap desa (nh) menggunakan alokasi optimum!...

Adapun praktik untuk 2 kasus dengan menggunakan data dummy dan 2 contoh kasus di atas dapat mengikuti beberapa langkah berikut:

#Stratified sampling dengan alokasi sama
id<- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
status <- c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)
df <- data.frame(id,status)

#Melihat Data
df
##    id status
## 1   1      1
## 2   2      1
## 3   3      1
## 4   4      1
## 5   5      1
## 6   6      1
## 7   7      1
## 8   8      1
## 9   9      1
## 10 10      1
## 11 11      2
## 12 12      2
## 13 13      2
## 14 14      2
## 15 15      2
## 16 16      2
## 17 17      2
## 18 18      2
## 19 19      2
## 20 20      2
#Cara 1
#Memilih 10 sampel masing-masing strata 5 sampel
library(dplyr)
df %>%
  group_by(status) %>%
  sample_n(size = 5)
## # A tibble: 10 x 2
## # Groups:   status [2]
##       id status
##    <dbl>  <dbl>
##  1     8      1
##  2    10      1
##  3     6      1
##  4     5      1
##  5     2      1
##  6    17      2
##  7    14      2
##  8    15      2
##  9    20      2
## 10    16      2
#Stratified sampling dengan alokasi Sebanding
id <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
status <- c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
df <- data.frame(id,status)

#Melihat Data
df
##    id status
## 1   1      1
## 2   2      1
## 3   3      1
## 4   4      1
## 5   5      1
## 6   6      1
## 7   7      1
## 8   8      1
## 9   9      1
## 10 10      1
## 11 11      1
## 12 12      1
## 13 13      2
## 14 14      2
## 15 15      2
## 16 16      2
## 17 17      2
## 18 18      2
## 19 19      2
## 20 20      2
#Cara 1
#Memilih sampel proporsioal setiap strata
library(dplyr)
df %>%
  group_by(status) %>%
  sample_frac(10/nrow(df))
## # A tibble: 10 x 2
## # Groups:   status [2]
##       id status
##    <dbl>  <dbl>
##  1     4      1
##  2     8      1
##  3    12      1
##  4     1      1
##  5     6      1
##  6    10      1
##  7    19      2
##  8    20      2
##  9    16      2
## 10    18      2
#Cara 2
library(splitstackshape)
stratified(df, "status", 10/nrow(df))
##     id status
##  1: 11      1
##  2: 12      1
##  3:  2      1
##  4:  4      1
##  5:  7      1
##  6:  5      1
##  7: 19      2
##  8: 14      2
##  9: 18      2
## 10: 17      2
#Penyelesaian kasus 1
#Stratified sampling dengan alokasi Neyman
library(PracTools)
Nh <- c(250, 700, 440)
Sh <- c(0.11, 0.27, 0.32)

#Penghitungan alokasi sampel setiap strata
strAlloc(n.tot = 3, Nh = Nh, Sh = Sh, alloc = "neyman")
## 
##      
## 
##                       allocation = neyman
##                               Nh = 250, 700, 440
##                               Sh = 0.11, 0.27, 0.32
##                               nh = 0.2308984, 1.5869018, 1.1821998
##                             nh/n = 0.07696613, 0.52896725, 0.39406661
## anticipated SE of estimated mean = 0.1482352
#Penyelesaian kasus 2
#Stratified sampling dengan alokasi Optimum (meminimumkan varians dengan cost tertentu)
#Bila ada cost variabel dan fixed cost maka cost = cost var - fixed cost
Nh <- c(78, 98, 150, 227, 381, 236, 88)
Sh <- c(0.27, 1.15, 0.07, 3.21, 3.01, 0.67, 2.22)
ch <- c(45, 50, 110, 150, 180, 210, 40)

#Penghitungan alokasi sampel setiap strata
strAlloc(Nh = Nh, Sh = Sh, cost = 100000, ch = ch, alloc = "totcost")
## Warning in strAlloc(Nh = Nh, Sh = Sh, cost = 1e+05, ch = ch, alloc = "totcost"): nh is larger than Nh in strata: 7
## 
##      
## 
##                       allocation = totcost
##                               Nh = 78, 98, 150, 227, 381, 236, 88
##                               Sh = 0.27, 1.15, 0.07, 3.21, 3.01, 0.67, 2.22
##                               nh = 10.868501, 55.176795, 3.465856, 205.969454, 295.918949, 37.774151, 106.935821
##                             nh/n = 0.015177150, 0.077050776, 0.004839841, 0.287622837, 0.413231409, 0.052749125, 0.149328862
## anticipated SE of estimated mean = 0.03444114



Demikian sedikit sharing kita kali ini mengenai Stratified Random Sampling. Semoga sedikit ini bisa membantu dan menambah wawasan pembaca setia blog sederhana ini. Jangan lupa untuk terus mengikuti dan menyimak setiap unggahan terbaru dan menarik blog ini. Selamat memahami dan mempraktikkan!

Add Comments


EmoticonEmoticon