Sapto Condro loves Science and Technology

Catatan seorang pelajar yang tertidur…

Menghitung jumlah sampel

Akhir-akhir ini, di dunia maya Indonesia terdapat perbincangan mengenai quick count dan ukuran sampel yang dipakai. Hasil quick count dari lembaga penelitian yang berbeda menunjukkan persentase berbeda. Ada lembaga membuka metodologi yang digunakan dan dapat diunduh di website mereka, contoh Saiful Mujani Research Center. Beberapa tidak menunjukkan metodologinya kepada publik.

Tulisan kali ini ingin menulis tentang bagaimana cara menentukan ukuran sampel. Ada beberapa rumus matematika yang bisa dipakai untuk mengukur sampel. Aku ingin menuliskan dua rumus yang lagi hangat di media sosial dan satu rumus dari kuliah “Multivariate Statistic” yang sedang kujalani.

***

Rumus Pertama:

n = \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2}{{\Delta}^2}

Penjelasan:

n = jumlah sampel atau ukuran sampel (sample size)

Z_{\alpha \mid 2} = angka pada distribusi normal yang memotong bagian atas (upper tail) pada probabilitas \alpha \mid 2.
Angka \pm Z_{\alpha \mid 2} biasa disebut selang kepercayaan (confidence interval).
Pada tingkat kepercayaan 95%, \alpha = 0.05, Z_{\alpha \mid 2} =  1,96.
Pada tingkat kepercayaan 99%, \alpha = 0.01, Z_{\alpha \mid 2} = 2,58.

\sigma = simpangan baku (standard deviation).
Berhubung adanya asumsi bahwa proses pada quick count itu hanya tentang memilih calon X atau tidak memilih calon X, simpangan baku maksimum adalah 0,5. Ini sesuai Bernoulli Process dan Binomial Distribution.

\Delta = galat (error). Sedangkan “margin of error” itu \pm \Delta.

Rumus di atas adalah penurunan dari rumus menghitung margin of error, tanpa Finite Error Correction (FEC):

\Delta = Z_{\alpha \mid 2} \cdot \frac{\sigma}{\sqrt{n}}

Contoh 1.1:

Kita menginginkan quick count yang memiliki tingkat kepercayaan 95% (\alpha = 0.05) dan margin of error 1%. Berapakah sampel yang harus diambil?

Z_{\alpha \mid 2} = 1,96

\sigma = 0,5 (sesuai asumsi Bernoulli Process)

n = \frac{1,96^2 0.5^2}{0.01^2} = 9604

Jadi sampel yang harus diambil ada 9604.

Contoh 1.2:

Bagaimana kalau tingkat kepercayaan yang diinginkan 99% dan margin of error sama?

Dengan rumus yang sama, diperoleh ukuran sampel n = 16641.

Rumus pertama di atas untuk menghitung jumlah sampel bisa dibaca di posting berikut

Asumsi pada rumus pertama adalah galat yang diperhitungkan adalah hanya type I error (wiki: en,de), yang berhubungan dengan tingkat dan selang kepercayaan. Berhubung survei tidak memiliki variabel kontrol yang bisa dijadikan hipotesis nol, type II error (wiki: de) tidak bisa dihitung dan power analysis tidak bisa dilakukan (wiki: en,de).

***

Rumus Kedua:

n = \frac{Z_{\alpha \mid 2}^2 \cdot p(1-p) \cdot N}{Z_{\alpha \mid 2}^2 \cdot p(1-p) + (N-1) \cdot {\Delta}^2} = \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2 \cdot N}{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2 + (N-1) \cdot {\Delta}^2}

Penjelasan:

n = jumlah sampel atau ukuran sampel (sample size)

N = jumlah populasi atau ukuran populasi (population size)

Z_{\alpha \mid 2} = angka pada distribusi normal yang memotong bagian atas (upper tail) pada probabilitas \alpha \mid 2.

\sigma =  simpangan baku (standard deviation).

p(1-p) = {\sigma}^2 =  variance, sesuai asumsi Binomial Distribution atau Bernoulli Process.
Entropi maksimum tercapai ketika p = 0,5. Jadi margin of error yang paling besar tercapai ketika p = 0,5, jadi asumsikan begitu, sehingga \sigma = 0,5.

\Delta = galat atau error.

Rumus di atas adalah penurunan dari rumus menghitung margin of error, dengan Finite Error Correction (FEC):

\Delta = \sqrt{\frac{N-n}{N-1}} \cdot Z_{\alpha \mid 2} \cdot \frac{\sigma}{\sqrt{n}}

FEC = \sqrt{\frac{N-n}{N-1}}

Contoh 2.1:

Kita menginginkan quick count yang memiliki tingkat kepercayaan 95% (\alpha = 0,05) dengan margin of error 1%. Berapa besar ukuran sampel yang dibutuhkan ketika populasi 186.612.255 orang?

Z_{\alpha \mid 2} = 1,96

N = 186.612.255

\Delta = 0,01

p(1-p) = {\sigma}^2 = 0,5^2 = 0,25

n = \frac{1,96^2 \cdot 0,25 \cdot 186812255}{1,96^2 \cdot 0,25 + (186612255 - 1) \cdot 0,01^2} \approx 9603,5 \approx 9604

Ternyata hasil rumus kedua mirip dengan rumus pertama, yaitu ukuran sampelnya 9604.

Contoh 2.2:

Bagaimana kalau populasi penduduk hanya 1 juta orang?

N = 1.000.000

n = \frac{1,96^2 \cdot 0,25 \cdot 1000000}{1,96^2 \cdot 0,25 + (1000000 - 1) \cdot 0,01^2} \approx 9512,65 \approx 9513

Ukuran sampel menjadi 9513.

Jadi dengan koreksi galat populasi berhingga (finite error correction), kita tidak perlu mengambil 9604 sampel, tetapi cukup 9513 sampel saja. Bedanya dikit banget, yah?

Rumus kedua di atas untuk menghitung jumlah sampel bisa dibaca di posting berikut

Asumsi yang dipakai pada rumus kedua dan pertama itu sama, yaitu hanya memperhitungkan type I error tetapi tidak memasukkan type II error.

***

Hubungan antara rumus pertama dan kedua

Rumus kedua jika diturunkan lebih lanjut akan menjadi

n = \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2}{{\Delta}^2 + \left( \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2 - {\Delta}^2}{N} \right) }

Dan bisa dibandingkan dengan rumus pertama

n = \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2}{{\Delta}^2}

Terlihatlah bahwa finite error correction (FEC), menimbulkan efek \left( \frac{Z_{\alpha \mid 2}^2 \cdot {\sigma}^2 - {\Delta}^2}{N} \right) yang kecil, untuk N yang besar.

Jadi sesuai prinsip parsimoni atau Occam’s Razor, pilih rumus pertama yang lebih sederhana. Jumlah sampel menggunakan rumus kedua tidak jauh berbeda dengan rumus pertama.

***

Rumus Ketiga:

n = \frac{2 \left( Z_{\alpha \mid 2} + Z_{\beta} \right)^2 \cdot {\sigma}^2}{{\Delta}^2}

Penjelasan:

n = jumlah sampel atau ukuran sampel (sample size).

Z_{\alpha \mid 2} = nilai pada distribusi normal yang memotong bagian atas (upper tail)  pada probabilitas \alpha \mid 2, seperti yang telah dicontohkan pada rumus pertama.

Z_{\beta} = nilai pada distribusi normal yang memotong bagian atas pada probabilitas \beta.
Pada statistical power sebesar 0,90, nilai \beta = 0,10 dan Z_{\beta} = 1,28.

\sigma = simpangan baku (standard deviation).
Diasumsikan sebesar 0,5.

\Delta = galat (error).

Contoh 3.1:

Pimpinan suatu parpol menargetkan Pemilu ini akan mendapat 27%. Diinginkan suatu survei dengan margin of error 1% dan tingkat kepercayaan 95% serta power sebesar 90%. Berapa ukuran sampel yang dibutuhkan?

Z_{\alpha \mid 2} = 1,96
untuk tingkat kepercayaan 95%, yaitu \alpha = 0.05

Z_{\beta} = 1,28
untuk power 90%, yaitu \beta = 0,10

{\sigma}^2 = p \cdot (1 - p) = 0,27 \cdot (1 -0,27) = 0,1971 < 0,25
\sigma \approx 0,444 < 0,5
\sigma = 0,5 , jika menggunakan asumsi simpangan baku maksimum pada proses Bernoulli atau distribusi Binomial.

\Delta = 0,01

Jika tidak menggunakan asumsi simpangan baku 0,5, maka menghitung ukuran sampel sebagai berikut.
n = \frac{2 \left( 1,96 + 1,28 \right)^2 \cdot 0,1971}{0,01^2} \approx 41381,54 \approx 41382

Jika menggunakan asumsi simpangan baku 0,5, maka ukuran sampel dihitung sebagai berikut.
n = \frac{2 \left( 1,96 + 1,28 \right)^2 \cdot 0,5^2}{0,01^2} = 52488

Jadi untuk memperkirakan apakah target pimpinan parpol tersebut itu akan tercapai atau tidak, dibutuhkan suatu survei dengan ukuran sampel sebesar 41.382 atau 52.488, tergantung asumsi.

Pada rumus pertama dan kedua, ukuran sampel yang dibutuhkan tidak lebih dari 9604, sedangkan pada rumus ketiga, ukuran sampel mencapai 50 ribu. Ini menunjukkan bahwa memasukkan power analysis atau type II error ke dalam perhitungan, bisa menyebabkan ukuran sampel membesar. Sesuai prinsip parsimoni atau Occam’s Razor, pilihlah metode dengan asumsi yang paling ringkas dan sederhana. Jadi rumus pertama saja yang sebaiknya dipakai dalam survei politik dan hitung cepat dalam pemilu, juga dengan asumsi simpangan baku maksimum 0,5. Ini juga sudah dipakai dalam quick count dan survei politik yang dilakukan oleh National Democratic Institute (NDI) di berbagai negara.

Rumus ketiga ini bisa dibaca dari buku berikut

  • Brian S. Everitt, 2010, Multivariable Modeling and Multivariate Analysis for the Behavioral Sciences. Chapter 1, pp 15. CRC Press, Taylor & Francis Group. ISBN 978-1-4398-0769-9

 

***

Jadi setelah membaca penjelasan tiga rumus untuk menghitung ukuran sampel dalam survei politik maupun exit polls dan hitung cepat (quick count) pemilu, kita bisa belajar mengetahui apakah kata-kata seorang politisi itu sekedar basa-basi politik atau memiliki argumen ilmiah yang valid. Dengan matematika, terutama ilmu probabilitas dan statistika, kita bisa memperkirakan kondisi sosial politik suatu masyarakat. Hal ini bisa membantu politisi dalam menyusun langkah strategis selanjutnya dalam berpolitik. Karena politik itu tidak hanya basa-basi. Hal ini juga bisa membantu masyarakat awam untuk lekas tahu kira-kira seperti apa hasil pemilu, pilpres atau pilkada. Jadi rakyat tahu akan menghadapi pemimpin seperti apa selama sekian tahun ke depan.

Dalam politik, bukan hanya persamaan matematika yang berlaku. Jadinya belajar survei politik itu bukan hanya rumus matematika, namun juga dampak politik yang terjadi pada elit maupun bagi rakyat kebanyakan. Posting ini hanya menjelaskan matematika di balik quick count dan survei sosial politik sejenisnya. Jadi ada kemungkinan “mathematically correct, but politically incorrect”. Jika tersinggung dengan tulisan ini, salahkan matematikawan yang bikin rumus di atas.

Bremen, 26 Agustus 2014

iscab.saptocondro

P.S. Tulisan ini seharusnya selesai di Oldenburg tanggal 14 Juli 2014, tapi karena aku menunda-nunda jadinya baru selesai hari ini.

August 26, 2014 Posted by | probabiliscab, Uncategorized | , , | 1 Comment

Bandung Brain-Computer Interface on Indonesia Morning Show, Net TV, June 2014

Bandung Brain-Computer Interface (BCI) Bionic Arm (wp,blog) is on Indonesia Morning Show, Net TV. There we can see the demo:

  • Putting the Emotiv EPOC headset.
  • Calibration with ball and box from the laptop.
  • Single-trial Motor imagery BCI  to control the robotic/bionic arm

From the video, I can see that BCI2000 is used to connect the Emotiv EPOC system and the bionic arm system. One student said that the price is less than 10 millions rupiahs. This means that Emotiv EPOC Research SDK (with a price of 750$) is used. Since August 2014, research SDK is not sold anymore and there is new Emotiv EPOC Education with a price of 1799$, now. It is unknown if the dll files still compatible with BCI2000 or not. Well, I had problem connecting Emotiv EPOC Education with OpenVibe.

The classifier are not explained nor seen from the video. It would be too complicated for “non-scientific” news channels. The calibration takes about 1 minute, on the video. The calibration method is using a ball and a box. On the monitor, there is a ball and a box. The ball should be moved closer to the box, using imagination of motoric movement. In calibration, both the machine (as classifier) and the human (as user) will learn to perform the motor imagery task. Well, 1 minute is fast. It is unknown whether the user had trained backstage before performing on camera. Haha!

For real-time usage of BCI, single-trial motor imagery has to be used. In calibration, more-trial motor imagery has to used for calculating the parameters of the classifier. From the video, we can see that the bionic arm moves only when the user do mental task of motor imagery. So I think the classifier is good and the user is “BCI-literate”. When the user clapped her hand, the bionic arms didn’t move. So I think the classifier detects hand grasping or finger movement and neglects other hand movement. In my opinion, the user has trained backstage before she is on camera. She has known that she has to imagine grasping movement. The classifier parameters may have been saved before the show. That’s why she is doing calibration fast and she can easily move the bionic arm (without instruction from the experimenters).

From the video, there are 3 students (Electrical Engineering from ITB, Bandung, Indonesia). I think they have to separate tasks to do the projects. One should manage software and hardware to drive bionic arm. One should manage Emotiv EPOC connection with BCI2000. One should connect all the system to make sure that everything works. Also, one should design what kinds of classifier that works: linear discriminant analysis (LDA), common spatial pattern (CSP), or simple thresholding of ERP (event-related potential) or others. I think they use C++. From my experience with BCI2000, Microsoft Visual C++ has to be used. I haven’t tried the new BCI2000. Maybe it works with C++ in many other environments: Eclipse and Linux.

Well, I should go back to my real research, instead of blogging.

Bremen, 26 Agustus 2014

iscab.saptocondro
Darah Juang!

Brain Robot Research, a neuroscience blog http://iscabrainrobot.blogspot.com/2014/08/bandung-brain-computer-interface-on.html

August 26, 2014 Posted by | Neuroscience | , , , , , , , | 2 Comments

EEG electrode placement summary, August 2014

After reading the theses from my research mates from Uni Oldenburg, as well as Uni Bremen, I summarized some EEG electrode placements in my PhD note. So these are the links to my note.

SSVEP stands for steady-state visually evoked potential.

The idea is to minimize the number of EEG electrodes, which I am planning to use with my mobile EEG device. Putting electrodes to the scalp takes a lot of time. If 192 electrodes were put on whole scalp, it could took 1 hour or more and it would not be practical for the users. Also, analyzing the data from a large number of electrodes has a curse of dimensionality. I am planning to record using 8 or 16 or 24 EEG electrodes. Less is more! The EEG electrode placement which I need have been noted, so I just look into those specific electrode positions for my analysis, as well as, online signal processing.  

***

Tulisan ini adalah rangkuman dari posisi elektroda EEG untuk Brain-Computer Interface (BCI) berbasis SSVEP, P300,  dan “motor imagery” atau gelombang mu, untuk bulan ini.

Bremen, 23 Agustus 2014

iscab.saptocondro
Darah Juang!

Brain Robot Research, a neuroscience blog http://iscabrainrobot.blogspot.com/2014/08/eeg-electrode-placement-summary-august.html

August 23, 2014 Posted by | Neuroscience | , , , , , , , , | 4 Comments