PPS Sampling dengan R |
Pada unggahan sebelumnya, kita telah belajar bersama mengenai beberapa teknik pengambilan sampel (sampling) yang bisa dipelajari kembali pada tautan [1], [2], dan [3]. Dalam kesempatan kali ini, kita akan melanjutkan belajar bersama mengenai salah satu teknik sampling yang cukup banyakan digunakan, yaitu Probability Proportional to Size (PPS) Sampling dan praktiknya menggunakan R.
Pada dasarnya, PPS Sampling merupakan salah satu teknik pengambilan sampel secara acak bertipe probability sampling. Dalam tipe probability sampling, setiap elemen dalam populasi akan mempunyai peluang yang sama untuk terambil sebagai sampel sebab menggunakan kaidah-kaidah peluang. Hal ini terlihat pada penerapan PPS Sampling di mana Probability Proportional to Size Sampling merupakan sebuah prosedur pengambilan sampel yang mana peluang terpilihnya suatu sampel sebanding dengan ukuran unit sampel tersebut. Ukuran unit sampel yang dimaksud dalam hal ini merupakan informasi tambahan atau variabel pendukung (auxillary information) yang diperoleh pada tahapan pendahuluan, informasi di lapangan, atau informasi pendukung sehingga dapat digunakan sebagai dasar penarikan sampel.
Adapun syarat sebuah informasi dikatakan sebagai informasi tambahan atau variabel pendukung yang mampu dijadikan dasar pengambilan sampel yaitu ketika informasi tersebut memiliki korelasi kuat (tinggi) dengan variabel yang akan diteliti (Y). Sebagai contoh, bila variabel yang diteliti adalah penduduk saat ini, maka variabel pendukungnya adalah penduduk periode sebelumnya; bila variabel yang diteliti adalah jumlah kelahiran, maka variabel pendukungnya bisa jumlah Wanita Usia Subur (WUS) periode sebelumnya; bila variabel penelitiannya luas panen, maka variabel pendukungnya dapat berupa luas lahan yang ditanami; dan bila variabel penelitiannya produksi suatu pabrik, maka variabel pendukungnya dapat berupa jumlah tenaga kerja.
Apa keunggulan teknik PPS Sampling ini?
Keuntungan dari pemanfaatan PPS Sampling selain menghasilkan penduga yang unbiased, juga memiliki akurasi yang lebih tinggi dibandingkan teknik lainnya, serta menghasilkan penduga rerata dan varians yang lebih sederhana.
Apa saja jenis prosedur PPS Sampling?
Jenis dari PPS Sampling ini sebenarnya banyak. Berdasarkan cara pengambilan sampelnya, PPS Sampling terbagi menjadi 2, yaitu metode kumulatif dan metode Lahiri. Sedangkan berdasarkan kerangka sampel (sampling frame) yang digunakan terbagi menjadi metode Sampford, Tille, Madow, dan Midzuno (kerangka sampel dalam bentuk list), serta metode Rao, Hartley, dan Cochran untuk kerangka sampel dalam bentuk peta.
Lantas, bagaimana penerapan PPS Sampling dengan menggunakan R?
Untuk penerapan PPS Sampling, kali ini kita hanya mempraktikkan teknik Sampford untuk kerangka sampel berbentuk list, dan metode Lahiri untuk pengambilan sampel berdasarkan cara pengambilannya. Namun, sebelum praktik, ada baiknya kita siapkan datanya terlebih dahulu untuk prosedur Lahiri dapat diunduh pada tautan berikut. Setelah datanya sudah siap, tahapan pemilihan sampel dengan PPS Sampling dapat mengikuti langkah-langkah berikut:
#Data dummy
data <- data.frame(id = 1:7, z = c(1.8, 2 ,3.2 ,2.9 ,1.5 ,2.0 ,2.2))
#Melihat data
data
## id z
## 1 1 1.8
## 2 2 2.0
## 3 3 3.2
## 4 4 2.9
## 5 5 1.5
## 6 6 2.0
## 7 7 2.2
#PPS sampling metode Sampford
#Melakukan pemilihan sampel sebanyak 2 dengan pengacakan sebanyak 100 kali
#Metode Sampford mensyaratkan fraksi sampling (n/N) < 0.3
set.seed(100)
library(samplingbook)
indpps <- pps.sampling(z=data$z, n=2, method='sampford', return.PI=FALSE)
data[indpps$sample, ]
## id z
## 4 4 2.9
## 1 1 1.8
#Import data
library(readxl)
ruta <- read_excel("ruta.xlsx")
#Melihat data
ruta
## # A tibble: 35 x 3
## Id_ruta Jml_art Luas_lahan
## <dbl> <dbl> <dbl>
## 1 1 5 18.2
## 2 2 8 35
## 3 3 2 43.2
## 4 4 4 43.5
## 5 5 7 97.5
## 6 6 6 36.5
## 7 7 4 62.6
## 8 8 3 53.6
## 9 9 10 46.4
## 10 10 12 178.
## # ... with 25 more rows
#Membuat fungsi pemilihan sampel metode Lahiri
lahiri <- function(x, n){
counts <- table(x)
y <- as.numeric(names(counts))
N <- length(counts)
M <- max(counts)
out <- numeric(n)
current <- 0L
while(current < n){
i <- sample(N, 1)
j <- sample(M, 1)
if(j <= counts[i]){
current <- current + 1L
out[current] <- y[i]
}
}
out
}
#Pemilihan sampel sebanyak 10 rumah tangga (ruta) dengan pengacakan 200 kali
jml_art <- ruta[[2]]
set.seed(200)
l <- lahiri(jml_art, 10)
pps_lahiri <- ruta[l, ]
pps_lahiri
## # A tibble: 10 x 3
## Id_ruta Jml_art Luas_lahan
## <dbl> <dbl> <dbl>
## 1 7 4 62.6
## 2 6 6 36.5
## 3 5 7 97.5
## 4 8 3 53.6
## 5 7 4 62.6
## 6 4 4 43.5
## 7 5 7 97.5
## 8 5 7 97.5
## 9 4 4 43.5
## 10 4 4 43.5
Demikian sedikit sharing kita kali ini. Semoga sedikit bisa bermanfaat bagi penyimak setia blog sederhana ini. Jangan lupa untuk terus mengikuti setiap unggahan terbaru dan menarik lainnya. Selamat memahami dan mempraktikkan!