Sunday, November 29, 2020

Confident Interval 1 Tailed t test

Stata menampilkan Confidence Interval untuk t test. Akan tetapi interval yang ditampilkan adalah untuk 2 tailed test. Bagaimana untuk 1 tailed test?

Stata sudah cukup berbaik hati menampilkan probalility untuk 1 tailed t test. Namun untuk confident interval 1 tailed t test nya tidak ditampilkan.

Berikut diberikan contoh kasus sbb.



Terlihat akan diuji apakah terdapat kenaikan komsumsi kopi > 3 cangkir per hari.

Ha: mean > 3 (rata-rata konsumsi kopi meningkat)

Dengan hitung manual didapat hasil sbb.


Dengan hitung manual p-value terletak antara 0.01 < p-value < 0.025. Karena p-value < 0.05 maka Ho reject, Ha accept. Artinya dapat disimpulkan: rata-rata konsumsi kopi meningkat dari sebelumnya 3 cangkir.

Output dengan Stata:



Terlihat bahwa Ha: mean > 3, Pr nya 0.0232 lebih kecil dari 0.05 sehingga Ha accept.

Terlihat juga 95% Conf. Interval di output Stata. Namun ingat ini adalah output dari 2 tailed test.

Bagaimana dengan output 1 tailed test nya?

Kita harus buat 95% Left Test untuk Ho


Terlihat daerah penolakan Ho adalah jika < 3.11657. Sedangkan jika Ho >= 3.11675, accept.

Jika Ho <= 3, maka Ho berada di wilayah penolakan sehingga Ho direject (artinya Ha: mean > 3 accept).

Ini teknik mereject Ho berdasarkan Conf. Interval 1 tailed.



Dari mana angka 3.11657 di dapat?

t_critical_rt= T.INV(1-alpha, df) = T.INV(1-0.05,11) = 1.795884819

conf_interval_lt =  mean - t_critical_rt * std.error = 3.583333333 - 1.795884819 * 0.2599048 = 3.11657

conf_interval_rt =  mean + t_critical_rt * std.error = 3.583333333 + 1.795884819 * 0.2599048 = 4.05009


 
Spread sheet excelnya bisa di download disini.

Tuesday, November 24, 2020

Cara Membaca Null Hypotesis Stata

Tulisan ini merupakan adaptasi dari artikel https://www.ssc.wisc.edu/sscc/pubs/sfs/sfs-ttest.htm. Didalam artikel tsb diberikan penjelasan cara membaca Ha, pada output Stata. 


Latar Belakang

Pada saat melakuka test Hipotesis Null (Ho) apakah kita reject atau accept, perlu dibuatkan lawan dari Ho, yaitu Ha nya.

Menariknya Stata akan menampilkan Ha, baik yang two tailed, maupun yang one tailed left, maupun right.

Sebagai contoh: 

Anggap kita ingin menguji bahwa rata-rata nilai educ (education) pada satu polulasi = 14 (Ho: mean = 14).


Terlihat disini Stata mengasumsikan:

Ho: mean =14

Dan stata menampilkan nilai Mean, Std. Err., dan Std. Dev dari 254 sample.

Mean ditampilkan = 13.38583.

Ditampilkan pula 95% Conf. Interval.

Apakah Ho: mean = 14 bisa di Accept?

Kita lihat bahwa 14, berada diluar range 95% Conf. Interval, sehingga:

Ho: mean = 14 reject

Konsekuensinya lawannya yaitu Ha: mean != 14, Accept.

Perhatikan nilai P(|T| > |t|) nya = 0.0037 < 0.05 sehingga ini significant, juga sama mengindikasikan Accept.


Lanjut.... Disini nih masalahnya... 

Bagaimana kalau kita mengasumsikan:

Ho <=4

atau

Ho >=4

Nah jadi masalah di Stata. Kita tidak bisa "memaksa" memasukkan nilai: Ho <=14, atau Ho >=14. 

Tapi wait... Stata cukup baik menampilkan 3 variasi Ha, dibagian bawah outputnya. Tiga variasi Ha ini bisa menghasilkan 3 case.

Jika Ha di ketiga case ini diketahui, tentu mudah buat kita membuat pasangan Ho nya, bukan?

Jika Ho terdefinisi, maka problematika yang kita hadapi diatas terjawab sudah.

Perhatikan kembali gambar berikut:


Terlihat bisa muncul 3 case disini. Penjelasannya sbb.


Case-1: 

Kita asumsukan Ha, sbb

Ha: mean !=14, maka tentu kita bisa buat lawannya, yaitu Ho nya.

Ho: mean = 14

Nah perhatikan di output Stata yang menyebutkan Ha: mean !=14 (bagian tengah / Case-1 di gambar). 

Case 1 ini mirip dengan pembahasan diatas. Cara menentukan siapa yang direject bisa dengan 2 cara:

1. Dengan melihat 95% Conf. Interval (seperti pembahasan diatas):

- Jika 14 masuk dalam interval --> Ho Reject

- Jika 14 diluar interval --> Ho Accept

Diatas tabel terlihat 14 diluar interval, maka Ho Reject

2. Cara lain yaitu dengan melihat di output Stata bagian Case-1

Ha: mean !=14, Pr nya 0.0037 < 0.5, maka Ha Accept, dengan kata lain konsekuensinya Ho Reject.

Kesimpulan case-1:

Ha: mean !=14, Accept

Ho: mean = 14 Reject


Case-2:

Bagaimana kalau kita berasumsi:

Ha: mean <14, maka kita tentu bisa buat lawannya yaitu Ho nya.

Ho: mean >= 14

Lihat di output Stata bagian Case-2.

Ha mean < 14, Pr nya 0.018 < 0.05, maka Ha Accept, artinya Ho Reject.

Catatan Ho disini adalah Ho: mean >= 14 (Ho case-2), bukan Ho = 14 (case-1)

Kesimpulan case-2:

Ha: mean < 14 Accept

Ho: mean >=14 Reject


Case-3:

Bagaimana kalau kita berasumsi:

Ha: mean > 14, maka kita tentu bisa buat lawannya yaitu Ho nya

Ho: mean <= 14

Lihat di output Stata (Case-3 di gambar).

Ha mean > 14, Pr nya 0.9982 > 0.05, maka Ha Reject, artinya Ho Accept.

Catatan Ho disini adalah Ho: mean <= 14 (Ho case-3) , bukan Ho = 14 (case-1)

Kesimpulan case-3:

Ha: mean > 14 Reject

Ho: mean <= 14 Accept


<eof>

Saturday, November 21, 2020

Contoh Soal t-test dan z-test

Uji t-test dan z-test pada dasarnya adalah uji Hipotesis. Biasanya uji t-test dilakukan pada sample yang terbatas, kurang dari 30, sedangkan uji z-test dialkukan pada sample lebih dari 30.

Apa beda uji t-test dengan z-test?

Dari Stata kita jadi tahu bahwa z-test hanya digunakan jika variance atau standard deviasi dari populasi diketahui. 



Jika kita menggunakann z-test maka asumsinya Standar Deviasi populasi sudah diketahui. Jadi jika ada sample walau jumlahnya kecil akan tetapi 𝞼 diketahui, maka kita sebaiknya menggunakan z-test.

Akan tetapi kita juga tahu dari Central Teorm Limit, bahwa jika n > 30, maka kurva z dan kurva t akan berhimpit (nyaris sama). Sehingga jika n > 30, kita tetap bisa pakai z-test walau 𝞼 tidak diketahui. 𝞼 akan hampir sama nilainya dengan standard deviasi sample s.

Contoh Uji z-test

Sebuah mesin menghasilkan minuman sebanyak 80 ml per botol (𝛍 populasi). Seorang karyawan (peneliti) yakin bahwa mesin tersebut tidak menghasilkan sebanyak 80 ml per botol. Dia lalu mengambil 40 sampel (n). Dia ukur semua sample itu dan mendapatkan rata-rata 78ml (x-bar) dengan standar deviasi 2.5 (s sample).

Pertanyaan:

a. Buat H0

b. Dengan confident level 95%, apakah cukup bukti untuk menyatakan bahwa mesin tidak bekerja dengan benar?

Jawab:

a. Diketahui bahwa jumlah sample 40, maka akan dilakukan uji z (dalam hal ini 𝛔 dianggap sama dengan s karena sample sudah diatas 30).

H0, adalah status quo, yaitu 𝜇 = 80 ml

Ha, adalah lawannya, yaitu 𝜇 != 80 ml


b. Perhitungan z-value:

n = 40

x-bar = 78 ml

𝛔 = s = 2.5

alpha = 5%





z-critical = 1.96  (rumus excel: =NORMSINV(0.025) = 1.96 )

z-value = -5.06, berada area Reject H0, artinya H0 tertolak.

Interpretasi:

Dengan level confident 95%, asumsi bahwa rata-rata mesin menghasilkan 80ml per botol tertolak, artinya ada masalah pada mesin tsb.

Contoh Uji t-test

Sebuah perusahaan membuat bateray dengan lifetime 2 tahun atau lebih (𝛍 populasi). Seorang engineer peneliti merasa usia baterai kurang dari 2 tahun. Dia lalu mengambil 10 sample (n). Dia mendapatkan rata-rata dari sample tsb 1.8 tahun (x-bar) dengan standard deviasi 0.15 (s sample). 

Pertanyaan:

a. Buatlah hipotesis 0

b. Dengan confident level 99% apakah cukup bukti untuk mereject H0?

Jawab.


a. Karena jumlah sampel kurang dari 30, kita gunakan t-test (dan juga karena 𝛔 unknown).

H0, adalah status quo, yaitu 𝜇 >= 2 th (ONE TAIL)

Ha, adalah lawannya, yaitu 𝜇 < 2 th 


b. Perhingan t-value

n = 10

x-bar = 1.8 th

s = 0.15

alpha = 1%



t-critical = -2.82  (rumus excel: ==T.INV(0.01 , 9) = -2.82), df = 10 -1 = 9

t-value = -4.22, berada area Reject H0, artinya H0 tertolak.

Interpretasi:

Dengan level confident 99%, asumsi bahwa rata-rata lifetie baterai >= 2th ditolak, artinya ada masalah pada produksi bateray tsb, sehingga rata-rata lifetimenya < 2th.


LEBIH LANJUT DENGAN Z-TEST

Persyaratan t-test:

1. 𝛔 (standar deviasi populasi) tidak diketahui

2. Jumlah sample < 30 


Jika 𝛔 (standar deviasi populasi) diketahui dan sample > 30 maka gunakan z-test. Karena sample cukup besar maka jika  𝛔 (standar deviasi populasi) tidak diketahui bisa diganti dengan s (standar deviasi sample).

Note: Para peneliti lain menyatakan apabila 𝛔 diketahui, walaupun sample < 30, tetap menggunakan z-test.

Contoh soal: 𝛔 diketahui, tapi sample kecil

Nilai rata-rata satu sekolah adalah 75 (𝛍 populasi), dengan standar deviasi 10 (𝛔 populasi). Berapa probability random sample, 5 siswa (n) dengan nilai diatas 80 (x-bar).

Jawab:

Kita tahu bahwa syarat t-test harus terpenuhi dua syarat ini:

1. 𝛔 (standar deviasi populasi) tidak diketahui

2. Jumlah sample < 30 

Dalam konteks soal, 𝛔 (standar deviasi populasi) diketahui, maka t-test tidak digunakan. Walaupun sample kecil, karena 𝛔 diketahui kita tetap pakai z-test. 

Summary data:

𝜇 (mean population) = 75

𝛔 (standar deviasi populasi) = 10

n = 5

x-bar > 80


Rumus z-value






z-value  =  (80 - 75) / (10 / sqrt (5)) = 1.12

z-critical = NORMSDIST(1.12) = 86.86%

Sehingga probabilitas 5 siswa mendapatkan nilai > 80 adalah 100% - 86.86 = 13.14%



Contoh soal: 𝛔 tidak diketahui, tapi sample besar

Nilai rata-rata sebuah sekolah adalah 75 (𝛍 populasi). Standar deviasi untuk 40 random sample (n) adalah 10 (s). Berapa probabilitas nilai rata-rata sample (40 sample tadi) diatas 80 (x-bar)?

Syarat menggunakan t-test, terpehuni dua hal.

1. 𝛔 (standar deviasi populasi) tidak diketahui

2. Jumlah sample < 30 

Dalam konteks ini syarat pertama 𝛔 standar deviasi populasi tidak diketahui, artinya pakai t-test, dan sample besar. Karena salah satu tidak terpenuhi maka kita tetap pakai z-test. 

Summary data:

𝜇 (mean population) = 75

𝛔  = s (standard deviasi sample) =10

n = 40

x-bar > 80

Rumus z-value


z-value  =  (80 - 75) / (10 / sqrt (40)) = 3.16

z-critical = NORMSDIST(3.16) = 99.92%

Sehingga probabilitas 40 siswa mendapatkan nilai > 80 adalah 100% - 99.92 = 0.08%


Contoh soal: 𝛔 tidak diketahui, dan sample kecil

Nilai rata-rata sebuah sekolah adalah 75 (𝛍 populasi). Standar deviasi untuk 9 random sample (n) adalah 10 (s). Berapa probabilitas nilai rata-rata sample (9 sample tadi) diatas 80 (x-bar)?

Syarat menggunakan t-test, terpehuni dua hal.

1. 𝛔 (standar deviasi populasi) tidak diketahui

2. Jumlah sample < 30 

Dalam konteks ini kedua syarat terpenuhi, maka kita gunakan t-test.

Summary data:

𝜇 (mean population) = 75

s  (standar deviation sample) = 10

n = 9

x-bar > 80

Rumus t-value





t-value  =  (80 - 75) / (10 / sqrt (9)) = 1.5

t-critical = =T.DIST.RT(1.5,8) = 8.60%  -- RT = Right Tail

Sehingga probabilitas sample 9 siswa mendapatkan nilai > 80 adalah = 8.60%



<eof>


Friday, November 20, 2020

Confident Interval Tips & Trick

Update 29 Nov 2020: Tips & Trick dibawah ini hanya berlaku untuk 2 tailed test. Sedangkan untuk 1 tailed test, baca artikel ini.

Confidence Interval dapat digunakan untuk menentukan apakah H0 ditolak atau diterima. Kita tidak perlu ingat rumus seperti yang dibahas pada artikel t-test. Kita cukup melihat apakah value dari H0 masuk dalam range interval atau tidak. Jika masuk, maka H0 diterima.

Sebagai contoh kita gunakan Buku Praktikum Analysis Statistik, karya Bpk. Surya Darma, edisi 2020.

1. Uji Proporsi 

Perhatikan halam 29.


Asumsi H0 yaitu proporsi latar belakang (variable Latar) menggunakan handphone, sebagai "hadiah" atau dengan cara "membeli", diasumsikan sama, alias 50:50, alias .05.

Di gambar terlihat:

H0:p = 0.5 ---> check apakah 0.5 masuk dalam rentang interval? Ternyata tidak masuk --> H0 ditolak.


2. Uji Beda Rata-rata (mean) 

Perhatikan gambar halaman 31.

Terlihat 

H0: mean = 3 diluar range --> H0 ditolak.

Lalu rata-rata menggunakan HP berapa lama dong?

Lihat Ha: mean < 3, probability nya 0 < 0.05, sehingga Ha diterima, atau disimpulkan rata-rata menggunakan HP < 3 tahun.


3. Uji Proporsi 2 Sample

Perhatikan halaman 40.


H0: perbedaan Latar (membeli, dan hadiah) proporsi P dan L adalah 0

Lihat gambar.

H0 : diff = 0, apakahh 0 ada dalam interval? Tidak --> H0 ditolak.

Lalu mana yang lebih banyak proporsinya? Lihat di Ha: diff > 0 nilai Pr 0.0001 < 0.05 sehingga diterima.

Ha: diff > 0 diterima

Perempuan - Laki > 0

Perempuan > Laki

Artinya proporsi perempuan lebih besar.


3. Uji Rata-rata (mean) 2 Sample 

Perhatikan gambar halaman 42.


Di gambar terlihat:

H0: diff = 0, perhatikan 0 termasuk dalam interval? Iya --> H0 diterima

Artinya asumsi H0: tidak terdapat perbedaan mean antara Lama penggunaan HP antara L dan P, diterima.


4. Uji Hipotesis Data Paired



Digambar terlihat:

H0: mean (diff) = 0, perhatikan 0 terdapat dalam interval? Tidak --> H0 ditolak

Artinya terdapat perbedaan antara sebelum dan sesudah tune up penggunaan bahan bakarnya.


Lalu Ha mana yang diterima?


Lihat Ha: mean (diff) < 0, Pr nya 0.000 < 0.05, artinya Ha ini diterima


mean(diff) = mean (Sblm - Ssd)

dan perhatikan 

Ha: mean(diff) < 0, dengan Pr 0, artinya signigicant. Artinya:

Sblm - Ssd < 0

Sblm < Ssd

Jadi setelah tune up (Ssd) jarak tempuh akan lebih jauh.


Sejarah t test

Uji t test adalah sebuah metode untuk menguji hipotesis apakah H0 dapat diterima atau ditolak. 


Pada tahun 1908, William Sealy Gosset menerbitkan penelitian tentang sebuah cara untuk menentukan apakah dua kelompok berbeda rata-rata (mean) nya satu sama lain secara significan atau tidak. Penelitaannya dilakukan di sebuah ladang barley.


Dia mengambil sampel dari ladang barley 1 sebanyak n1 sample, dan dari ladang barley 2 sebanyak n2 sample. Dia pun menghitung yield per sample tsb. Barley ini nanti akan digunakan untuk bahan pembuatan bir.

Dari sample-sample di kedua ladang tsb dia bisa dapatkan rata rata untuk ladang 1 (X1-bar) dan rata-rata yield ladang 2 (X2-bar).

Nah, dari gambar terlihat kurva normal X1 (warna merah) dan kurva normal X2 (warna biru). Sedangkan rata-rata itu vertical putus-putus. Nah, perhatikan. Sudah jelas-jelas mean yield X2 lebih dikanan, artinya lebih besar.

Lalu buat apa dibandingkan?

Wait... tunggu dulu....

Ingat bahwa X2 itu memang lebih tinggi mean nya. Tapi apakah ini PASTI? Apakah ini bisa terjadi secara kebetulan (by chance)? Artinya mungkin saja jika di pilih sample lain di ladang 1 dan ladang 2 maka akan beda hasilnya?

Mungkin saja toh....

Disisi lain, membandingkan 2 mean (X1-bar vs X2-bar) saja tidak cukup. Sebagai bukti berikut gambar 


Contoh diatas, ada 2 sample populasi. Rata-rata (x-bar) nya sama yaitu 100. Tapi sebarannya beda (standar deviasi populasinya beda, s sample berbeda). Yang warna biru lebih spreading, dibandingkan warna merah. Ini contoh Standar Deviasi kedua kelopompok itu berbeda. Biru s = 50, sedangkan merah s = 10. 

Nah, paham kan bahwa membandingkan (atau mengurangkan) dua mean saja tidak cukup (baik itu mean sample x-bar, maupun mean populasi 𝛍). Harus di perhatikan juga standar deviasinya (baik itu standar deviasi populasi 𝝈, maupun standar deviasi sample s).

Lanjut... 

Selisih daripada 2 mean ini lah yang disebug SIGNAL. 

Kembali ke kisah Barley tadi...

Kita sudah paham sekarang, bahwa dalam pengukuran itu pasti ada variasi datanya. Ada data yang tersebar, sehingga standar deviasinya tinggi. Ada data yang lebih terpusat, sehingga standar deviasi rendah.

Nah faktor ini perlu diperhitungkan dalam konteks pengukuran di ladang 1 dan ladang 2 tadi.

Memang betul X2-bar lebih besar dari X1-bar. Tapi.. jangan-jangan standar deviasi X2-bar juga tinggi. Sehingga informasi bahwa mean X2- bar tinggi, ini informasi yang banyak noise nya.

Muncullah konsep Signal to Noise. Dan ini lah t test itu. 

t value = Signal / Noise

Jika t besar, maka Signal jauh lebih kuat dari pada Noise.

Signal adalah selisih mean,yaitu | X1-bar minis X2-bar |, sedangkan Noice adalah akar dari jumlah dari (Standar Deviasi kuadrat dibagi jumlah sample).



Standar Deviasi di kuadradkan ini namanaya Variance. Kenapa SD di kuadradkan? Jawabnya untuk mengamplifikasi (meng-exagerate) deviasinya.

Dari rumus diatas akan didapat t-value.   



Terlihat signal lebih besar dari noise, sehingga t value = SNR (Signal to Noise Ratio) = 2.3388

Pertanyaannya apakah SNR (atau t value) ini sudah cukup menyimpulkan YES, terdapat perbedaan yang significant (dengan confident level 95%, atau alpha value 5%)?

Pada titik ini kita perlu sebuah referensi, t critical (t-test). Jika t-value > t-test maka Reject H0.

H0 : tidak ada perbedaan mean (𝛍 ladang1 = 𝛍 ladang2).

Reject H0 artinya: ada perbedaan mean.

Bagaimana menentukan t cricical (t-test) ini?

Kita harus tau df (degree of freedom) dulu. Dalam case dibawah ini, df = nField1 -1 + nField2 -1

df = 16 - 1 + 16 - 1 = 30.

Selanjutnya kita harus tetapkan p critical = 0.05 (5%). Dan selanjutnya kita bisa melihat tabel t-test.



Dari gambar diatas t-value kita 2.3388 lebih besar dari t-test (t-critical) 2.04, artinya kita Reject H0. 

H0 adalah keyakinan status quo
Ha adalah keyanikan peneliti yang melawan status quo.

Dalam konteks t-test:

H0 : tidak ada perbedaan significant antara mean dua populasi
Ha : ada perbedaan

Dari gambar diatas peneliti akan mengatakan: dari sample Field1 dan Field2 ditemukan bahwa selisih mean antara keduanya ada perbedaan (karena kita Reject H0).

Ada perbedaan yield !

Ini kemudiang bisa menimbulkan pertanyaan lanjutan dari peneliti: Kenapa ada perbedaan hasil panen (yeild)? Apakah pupuk yang di pakai di Field1 sehingga hasil panen (yield) nya berbeda dengan Field2?

Nah bisa lanjut lagi kan penelitannya.... hehehe...

Jika di hitung pakai excel vs stata hasilnya sbb:






Didapatkan hasil yang sama antara hitung manual excel dengan stata.

Terihat ladang2 mean nya 15.68 sedangkan ladang1 mean nya 15.38, terlihat dekeeet banget kan... Tapi apa bisa langsung menyimpulkan bahwa memang nyaris tidak ada beda hasil ladang2 dengan ladang1. Tunggu dulu...

Lihat standar deviasinya berbeda.. ladang2 0.1 sedangkan ladang1 0.78. 

Bisa saja peneliti by chance (secara tidak sengaja) megambil sample yang mean nya berdekatan, tapi variance dari data yang disampling berbeda (terlihat dari standar deviasi yang berbeda).

Dari hasil t-test kesimpulannya: kedua ladang tsb menghasilkan yield yang berbeda.

Tapi tunggu dulu....

Bagaimana kalau p critical nya di set 0.025, artinya level confident 97.5%?

Jika dilihat di tabel t-test, dengan df 30, dan p 0.025, maka t critical di tabel diatas 2.36. Nah dari perhitungan sebelumnya t-value = 2.339, artinya t-value < t-critical, artinya Accept H0.

Nah loh..  beda lagi ya kesimpulannya...

Jika diperhatikan dengan stata:


Terlihat probability 0.0267 juga > dari p 0.025, artinya accept H0.



Kenapa dengan p=0.05 dan p=0.025 hasilnya beda?

probability 5%, confidence level 95% --> Reject H0: kedua kelompok data berbeda
probability 2.5%, confidence level 97.5% --> Accept H0: kedua kelompok data mirip

Karena dengan p 0.05 artinya kita mensyaratkan dalam 1000x sampling ada 50x sampling yang hasilnya berbeda. Sedangkan dengan p 0.025 artinya kita mensyaratkan dalam 1000x sampling ada 25x sampling yang hasilnya berbeda. Syarat pertama lebih ketat sehingga jika tidak terpenuhi, maka H0 di reject (artinya kedua ladang rata-rata yield berbeda).

Keanehan ini sebenarnya bisa terjawab: Jika alpha makin kecil, maka wilayah Accept H0 semakin lebar. Ini yang menyebabkan kenapa pada alpha 0.25, H0 malah di accept.




Cara lain membaca data tsb adalah dengan membandingkan 95% Confidende Level Interval vs 97.5% Convidence Level Interval, (baca Tip & Trik pada artikel selanjutnya) [ Catatan cara ini hanya cocok untuk 2 tailed test, baca artikel ini].

Peratikan bahwa fokus H0 : diff = 0.

Perhatikan di rentang Confidende Levelnya, apakah 0 termasuk dalam rentang itu? Jika iya, maka H0 diterima.




Wah... panjang juga ya pembahasannya...

Lanjut....

PART-2

Dalam hal uji t test terdapat 2 hal yang perlu diperhatikan:

1. Apakah sampelnya paired atau unpaired
2. Apakah t test nya one tail atau two tail

Pair atau Unpaired

Jika ada data sebagai berikut:

catatan: data sampel diatas diambil dari channel youtube.

Intinya, apabila data yang berpasangan tersebut menggambarkan satu objek yang sama, spt pada gambar objeknya: Jonah, Zach Elliot, Sam, dst diukur tingginya ketika berumur 5, dan ketika berumur 15 tahun. Nah, jika data tsb objek yang sama maka ini dikatakan paired.

One Tail atau Two Tail

One tail jika pertanyaan/pernyataan H0 nya adalah: tidak ada perbedaan antara .... A dengan .... B

... bisa mean, proporsi, dsb

Misal dalam contoh diatas:

H0: tidak ada perbedaan rata-rata tinggi populasi boy dengan girl

H0: tidak ada perbedaan rata-rata tinggi populasi ketika populasi berumur 5 tahun dengan 15 tahun 

Jika setelah di hitung p < 0.05, maka H0 ditolak

Two tail jika pernyataan H0 nya mengandung unsur lebih besar atau lebih kecil

Misal dalam contoh diatas:

H0: rata-rata tinggi populasi boy > girl

H0: rata-rata tinggi usia 5 th < usia 15 th

CASE-1


Btw: gambar diatas, di excel dipilih: T.TEST(B3:B22;C3:C22,2,3)
2 adalah two-tail 
3 adalah two sample unequal variance (pilihan lain, 1 = paired, 2 = twosample equal variance)

Apakah ada perbedaan antara rata-rata tinggi belalang jantan atau betina?

H0: tidak ada perbedaan significant antara rata-rata tinggi


p = 0.08295 = 0.0830 

Jika pakai Stata


Terlihat bahwa p 0.0830 diatas dari pada alpha 0.05, artinya H0 diterima

Bisa juga dikatakan, bahwa probabilitas 8.3% data terambil secara random, padahal batas yang dinginkan adalah p < 5%. 

to be continued....

Sunday, November 15, 2020

Problem Colliniearity dalam Regresi

Dalam kalkulasi estimasi, seperti uji regresi kadang ditemukan satu atau beberapa variable independent di ommit oleh Stata. Variable yang diommit ini tidak dilibatkan dalam perhitungan. Salah satu penyebabya adalah collinearity.

Apa itu collinearity?

Collinearity terjadi saat satu atau beberapa variable independent berkaitan erat dengan variable indendent lainnya. Collinearity ini menyebabkan model regresi menjadi bermasalah.

Contoh:

Nilai raport siswa ditentukan oleh uang saku, dan biaya transport.

Yang logis adalah semakin tinggi uang saku maka semakin tinggi nilai raport siswa. Dan semakin tinggi biaya transport semakin rendah nilai raport siswa. 

Logis kan.

Tabel berikut ini saya buat secara imaginer. Nilai (rentang 0 - 100), biayatransport dalam Rupiah x 1000, dan uangsaku dalam Rupiah x 1000.




Persamaan regresi:

nilai = 23.18457 + 0.7823691.uangsaku - 0.8115702.biayatransport


Terlihat bahwa: R-squared 83% cukup tinggi, dan Prob 0.0018 (significant). Disamping itu variable independent uangsaku dan biayatrasport P nya juga significant. Terlihat juga coefisien uangsaku positif dan biayatransport negatif. Ini sesuai dengan asumsi awal kita bahwa semakin tinggi uangsaku siswa semakin tinggi nilai raportnya. Sebaliknya semakin tinggi biayatransport siswa semakin rendah nilai raportnya.

Setiap kenaikan uangsaku 1 (atau Rp. 1000) akan menaikkan nilai raport 0.782. Setiap kenaikan biayatransport 1 (atau Rp. 1000) akan menurunkan nilai raport 0.812.

Nah, sekarang kita coba buat variable baru yaitu infaq.

infaq = uangsaku x 2.5% + 2



Perhatikan ada note di statanya:

note: infaq omitted because of collinearity

Terjadi collinerarity disini yaitu variable infaq ini dia collinier terhadap variable independent lain, bisa terhadap uangsaku bisa terhadap biayatransport.

Untuk memeriksa infaq ini collinier dengan variable independent mana, kita bisa menjadikan dia seolah variable dependent dan melakukan regresi ulang.


terlihat disini R-squared 100%, ini artinya infaq dijelaskan 100% oleh uangsaku dan biaytransport. Dari tabel stata diatas kita bisa tulis persamaan infaq

infaq = 0.025.uangsaku  -  1.55e-18. biayatransport + 2

karena coefisient biayatransport -1.55e-18 kecil sekali = 0, maka persamaan infaq menjadi:

infaq = 0.25.uangsaku + 2


Persamaan yang didapat persis sama dengan persamaan waktu kita menggenerate variable infaq.

Terlihat disini bahwa infaq colinier dengan uangsaku.

Variable yang collinier ini harus dibuang dari model regresi. Kita bisa memilih model regresinya menggunakan salah satu saja apakah uangsaku atau infaq.

Sehingga model regresi yang baik:

regress nilai uangsaku trasport

atau

regress nilai infaq transport

Dalam kehidupan nyata bisa dibayangkan sitiuasi spt ini.

Seorang Bapak disosori oleh anaknya data nilai raport siswa di sekolahnya, berikut dengan data uangsaku, uang transport, dan infaq masing-masing siswa tsb.

Si Bapak melihat ada korelasi positif antara besar uangsaku dan infaq terhadap nilai raport. Semakin tinggi uangsaku atau infaq semakin tinggi nilai raport.

Si Bapak juga melihat korelasi negatif antara biayatransport terhadap nilai raport. Semakin tinggi biaya transport, semakin turun nilai raport.

Menghadapi 3 variabel independen tsb si Bapak memutar 1/3 energi otaknya untuk berpikir bagaimana cara menambah uangsaku anak, 1/3 energi otaknya diperas untuk memikirkan bagaimana menambah infaq si anak, dan sisa energi otaknya 1/3 lagi dia gunakan berpikir keras bagaimana menurunkan biaya transport.

Dalam hal ini si Bapak bisa saja terjebak memikirkan bagaimana menaikkan uangsaku dan infaq, karena jika problem ini solved, menurut si Bapak sudah 2/3 masalah solved.

Si Bapak tidak peduli dg biayatransport.

Bisa jadi keputusan si Bapak, adalah mengurangi jatah dapur untuk menambah uangsaku dan infaq anak.

Padahal, uangsaku dan infaq ini collinear.

Jika si Bapak, mengerti tentang konsep collinear, maka si Bapak akan melihat ada korelasi liniear antara uangsaku dan infaq. Sehingga dia akan pilih salah satu variable saja, yaitu uangsaku.

Si Bapak sekarang dihadapkan pada dua variable saja: uangsaku, dan biayatransport.

Si Bapak akan putar otak 50% memikirkan bagaimana menaikkan uangsaku dan 50% energi otak sisanya memutar otak bagaimana menurunkan biaya transport.

Si Bapak kemudian memutuskan untuk menyelesaikan masalah biayatransport ini. Setelah dia lihat dan analisa, biayatransport ini membengkak karena anaknya harus 3 kali menyambung angkot, sehingga waktu habis, uang habis, sampai sekolah si anak sudah "bete" duluan. Ini berpegaruh negatif terhadap nilai raport.

Akhirnya si Bapak memutuskan meminjamkan motor dia ke anaknya, karena setelah dia hitung-hitung biayanya menggunakan motor jauh lebih murah dibandingkan dengan biaya naik 3 kali angkot, dan juga pakai motor lebih cepat sampai sekolah. Sementara si Bapak memilih ke tempat kerjanya nebeng tetangga, atau naik angkot dengan mengurangi jatah belanja rokok dia.

Setelah setahun berlalu terbukti anaknya jadi ranking satu di sekolahnya. Si Bapak berguman dalam hati: hmmm untung dulu saya analisanya pakai analisa collinearity... sambil menyeruput secangkir kopi hitam...

Saturday, November 14, 2020

Regresi Categorical dengan Dummy Variable

Artikel ini terjemahan dari:

https://stats.idre.ucla.edu/spss/faq/coding-systems-for-categorical-variables-in-regression-analysis-2/

File latihannya download hsb2.xls 

Ringkasan dari artikel tsb:

1. Categorical Variable tidak bisa dimasukkan langsung dalam uji regresi. Uji regresi hanya bisa dilakukan pada variable numerical (continues) maupun variable dichotomous (spt Gender). Variable selain itu (spt variable nominal atau ordinal), tidak bisa dilakukan uji regresi.

2. Agar bisa dilakukan uji regresi maka variable Categorical tsb di recode menjadi variable lain. Ada beberapa teknik recode:

1. Dummy Coding
2. Simple Coding
3. Deviation Coding
4. Difference Coding
5. Helmert Coding
6. Orthogonal Polynomial Coding
7. Repeated Coding
8. Special User-Defined Coding

Teknik yang mana yang cocok digunakan tergantung type variable nya, apakah Ordinal atau Nominal. Ini akan dibahas nanti dengan contoh.

Perlu diingat bahwa saat membuat variable baru, jumlah variable yang dibuat adalah k-1 (dengan k jumlah level dari categorical variable itu).

Sebagai contoh variable race (warna kulit), memiliki 4 level: (1 = Hispanic, 2 = Asian, 3 = African American and 4 = white)

Kita akan lakukan recoding, tapi sebelumnya datanya spt berikut.


Kita akan lakukan regresi antara race (independent) dengan nilai write (dependent).

Sebelumya kita lihata dulu rata-rata dari nilai write berdasarkan race.


Sekarang kita lakukan coding ulang dengan beberapa teknik coding.

DUMMY CODING

Dummy coding adalah teknik coding paling sederhana. Yaitu dengan membuat variable dummy sebanyak k-1. Dalam hal ini kita buat dummy variable x1, x2, x3.

Level of raceNew variable 1 (x1)New variable 2 (x2)New variable 3 (x3)
1 (Hispanic)100
2 (Asian)010
3 (African American)001
4 (white)000
Terlihat bahwa yang dijadikan referensi adalah level 4 (white). Sehingga jika regresi write ke x1, ini bermakna nilai rata-rata score write Hispanic - nilai rata-rara score write white. Demikian juga makna untuk x2, dan x3.


Persamaan regresi:

write = 54.05517 - 7.596839x1 + 7.596839x2 - 5.855172x3

Interpretasi:
1. Model menjelaskan [R-squared] 10.71% dependent variable dijelaskan oleh independent variabels, atau [Adj R-squared] 9.34% (jika jumlah independent variable dimasukkan dalam perhitungan.

2. Model memiliki F 7.83 dengan signifikansi 0.0001 dimana model ini significant dengan alpha value 0.05.

3. Koefisien x1 adalah selisih antara rata-rata level-1 (Hispanic) dengan rata-rata level-4 (white). Demikian juga x2 dan x2, koefisien ini merupakan selisih level-2 (Asian), level-3 (African American) terhadap level-4 (white)

4. Koefisien x1 dan x3 significant, sedangkan x2 tidak significant. Ini bermakna nilai rata-rata write Hispanic significant berbeda dengan white. Demikian juga nilai rata-rata write African American significant bebeda dengan white. Sedangkan Asian tidak significant berbeda dengan white.

to be continued...





Teknik Coding Dummy Variables

Sebagaimana telah dibahas pada pembahasan sebelumnya, Dummy Variables digunakan semata karena regresi hanya bisa bekerja dengan data numerical. Apabila ingin melakukan regresi pada data categorical (baik nominal, ataupun ordinal) maka satu variable di pecah ke beberapa variable dummy-nya.

Berikut adalah terjemahan ringkas dari artikel "CODING SYSTEMS FOR CATEGORICAL VARIABLES IN REGRESSION ANALYSIS" 

Untuk data-latihan bisa download hsb2.xls

Problem Regresi Pada Categorical Variable

Categorical variable membutuhkan perhatian khusus saat melakukan analisa regresi karena, tidak spt variable dichotomous atau variable continous (yang bisa langsung diterapkan analisa regresi), maka variable catogorical tidak bisa langsung dimasukkan dalam analisa regresi. Variable ini perlu di recode dulu menjadi variable baru yang bisa dimasukkan dalam analisa regresi. Ada banyak metode untuk me-recode variable categorical ini agar bisa digunakan dalam model regresi:

1. Dummy coding
2. Simple coding
3. Deviation coding
4. Difference coding
5. Helmert coding
6. Orthogonal Polinomial coding
7. Repeated coding
8. Special User-Defined coding

Perlu dicatat bahwa beberapa teknik coding diatas ada yang cocok dengan nominal variable, dan ada yang cocok dengan ordinal variable.

Contoh kasus.

Kita akan melakukan model regresi antara warna kulit (race) dengan score menulis (write).

to be continued...


Friday, November 13, 2020

Multiple Regresi Dummy Variable

Adakalanya kita mendapatkan satu variable yang bersifat categorical nominal seperti - Gender: Male, Female; atau ordinal seperti lulusan: SD, SMP, SMA, Univ.

Kita tahu bahwa regresi hanya bisa dilakukan pada variable numerical (interval, atau ratio) baik angkanya discreet atau continues.

Jika kita tetap ingin menguji variable categorical tsb kedalam persamaan regresi, apa trik nya?

Caranya buat Dummy Variable.

Sebagai contoh: Level Pendidikan (edulevel)

1=very low (VL)

2=somewhat low (SL)

3=somewhat high (SH)

4=very high (VH)


Nah kita bisa bikin 4 Dummy variable baru. Nanum, karena dummy variable hanya berisi 0 dan 1, maka jumlah variable yang akan dimasukkan dalam persamaan regresi hanya 3 saja.


Education level    VL  SL  SH

1    1    0   0

2                  0    1   0

3       0    0   1

4    0    0   0 (VH as baseline)


Dalam hal diatas, maka yang menjadi refensi adalah VH (tidak dimasukkan dalam persamaan regresi).

Kenapa begitu?

Anggap persamaan regresi:

y = a.VL + b.SL + c.SH + Cons

VH itu terjadi jika VL = 0, SL = 0, dan SH = 0

sehingga:

y = 0 + 0 + 0 + Cons

Artinya Cons itu lah yang menjadi VH nya.

Artinya tidak semua variable dummy itu perlu dimasukkan ke dalam persamaan regresi.


Misal kita ingin melihat korelasi antara Achiement (dependent) vs tingkat pendidikan (independent) dan Keinginan untuk Menguasai sesuatu hal - Mastery Goal (independent).

Dugaan kita adalah VH akan memberikan kontribusi positif terhadap Achieve, dibandingkan dengan VL. Dengan demikian ada baiknya VH yang dimunculkan dalam persamaan regresi, dan Cons nya adalah VL.

Education level    SL  SH  VH

1    0    0   0 (VL as baseline)

2                  1    0   0

3       0    1   0

4    0    0   1


Sehingga persamaan regresi:

y =  b.SL + c.SH + d.VH + Cons

Saat SL = 0, SH = 0, VH=0

maka:

y = 0 + 0 + 0 + Cons

Artinya Cons itu lah yang menjadi VL nya.

Cara interpretasinya:

Misal didapat nilai slope VH senilai 5.3, ini berarti pengaruh VH 5.3 point lebih tinggi daripada VL.


Contoh Kasus

Kita ingin melihat keterkaitan antara Achievement vs Mastery Goal dan Level Pendidikan. File xls bisa di download disini.



Terlihat kolom edlevel, value nya ada 4. Kita bisa buat 4 variable dummy. Disamping itu terlihat genderid juga ada 2 valuenya, dimana 1 = female, dan 0=male. Kita bisa juga membuat 2 variable Dummy untuk gender ini.

gen VL = (edlevel==1)

gen SL = (edlevel==2)

gen SH = (edlevel==3)

gen VH = (edlevel==4)

gen isFemale = genderid

gen isMale = (genderid==0)


Akan tetapi karena genderid hanya 2 kemungkinan valuenya dan variable ini sudah ada, maka kita tidak akan menggunakan variable isFemale atau isMale ini dalam regresi. Kita cukup menggunakan variable dummy genderid saja. Ingat teorinya, bahwa jika ada n dummy variable, maka yang digunakan dalam persamaan regresi hanya n-1. Satu variable yang tersisa akan terserap dalam Cons.



Terlihat bahwa 

achive = 5.26.genderid + .82.mgoal - 1.22.SL + 3.53.SH + 5.54VH + 11.16

Bagaimana interpretasi terhadap VL?

VL terjadi jika:

genderid = 0 (male)

mgoal = 0

edulevel : SL = 0, SH =0 , VH = 0

Jika kondisi ini tercapai maka VL = 11.16


Sebenarnya sampai disini sudah selesai regresi kita. Bisa disimpulkan bahwa:

genderid significant mempengaruhi achievement secara positif dengan slope 5.26

VH significant mempengaruhi achievement secara positif dengan slope 5.54

Variable lain tidak significant mempengaruhi achivement.


Tapi wait.. bagaimana dengan variable VL?


Sebelumnya disebutkan VL ini semua variable lain dalam regresi nilainya 0 ... salah satunya mgoal = 0 ... masalahnya di data yang di sampling nilai mgoal tidak ada yang 0.


Nilai mgoal berkisar antara 92.07 - 105.46.

Bagaimana supaya mgoal ini bisa mengandung nilai 0?

Karena ini interval, maka kita bisa geser nilai ini. Ingat bahwa nilai 0 pada interval bisa digeser. Contoh 0 celcius bisa digeser menjadi 32 pada fahrenheit. 

Catatan ingat kembali numerical variable bisa dalam bentuk interval, dan rasio. Jika rasio maka nilai 0 mutlak, tidak bisa digeser walau pakai unit lain (kg ke g). Contoh 0 kg = 0 g, walau sudah beda unit dari kg ke g, tetap saja nilai 0 nya sama.

Bagimana cara menggeser value mgoal? Kurangi saja dengan rata-rata (mean) nya. Di tabel mean 100.

Kita create variable baru yaitu mgoalcenter (interval).

gen mgoalcenter = mgoal - 100

regress achieve genderid mgoalcenter SL SH VH


Terlihat sekarang hasilnya, ternyata tidak berbeda dengan mgoal (sebelum di geser menjadi mgoalcenter)

achive = 5.26.genderid + .82.mgoalcenter - 1.22.SL + 3.53.SH + 5.54VH + 93.39


Interpretasi VH dan VL:

Disaat gender Male, dan masterygoalcenter = 0, level pendidikan VL akan menentukan achivement 93.39.

Jika gender Male, dan masterygoalcenter = 0, level pendidikan VH akan menentukan achivement 5.54 point diatas VL (5.54 + 93.39).


Contoh ke dua


file excel disini.

Kita ingin menemukan regresi antara Harga Mobil (Price) vs Kilometer (Milleage), Umur (Age), dan Kondisi (Condition).

Dalam hal ini Condition adalah Categorical Ordinal Variable, sehingga perlu dibuat dummy variablenya.

gen dExcel = (condition == "Excellent")

gen dGood = (condition == "Good")

gen dPoor = (condition == "Poor")

regress price mileage age dExcel dGood

regress price mileage age dExcel dPoor

regress price mileage age dGood dPoor


Hasil regress regress price mileage age dExcel dGood

Terlihat dGood tidak significant (P = 0.22 > 0.05). Sehingga dPoor tidak bagus untuk jadi baseline.


Hasil regress regress price mileage age dExcel dPoor


Terlihat bahwa dPoor tidak significant (P = 0.221 > 0.05), sehingga dGood sebagai baseline kurang cocok.

Hasil regress regress price mileage age dGood dPoor


Terlihat dengan dExcel sebagai baseline semua variable significant. Dengan demikian bisa disimpulkan persamaan regresinya:

price = -0.099.mileage - 762.21.age - 5637.56.dGood - 7695.7.dPoor + 29903.38

Interpretasi:

Pada contoh sebelumnya mgoal digeser menjadi mgoalcenter, ini semata agar mendapatkan interpretasi yang lebih logis terhadap variable edulevel. Dan ini dimungkinkan karena mgoal adalah interval, bukan nilai absolut.

Kembali ke persaaam regresi:

price = -0.099.mileage - 762.21.age - 5637.56.dGood - 7695.7.dPoor + 29903.38

Bagaimana menginterpretasikan dExcel, karena milliage dan age dalam data yang disampling tidak ada dalam range 0.

Bisa saja nilai mileage dan age di geser ke tengah dengan mengurangkan terhadap rata-ratanya.

gen mileagecenter = mileage - 54905.1
gen agecenter = age - 5.2

regress price mileagecenter agecenter dExcel dGood
regress price mileagecenter agecenter dExcel dPoor
regress price mileagecenter agecenter dGood dPoor 


Terlihat dengan menggunakan agecenter dan mileagecenter, hasil slope variable tidak berobah dibandingkan ketika menggunakan age dan mileage.Yang berbeda hanya Cons nya saja. 

Dengan demikian bisa disimpulkan persamaan regresinya:


price = -0.099.mileagecenter - 762.21.agecenter - 5637.56.dGood - 7695.7.dPoor + 20515.95

Interpretasi:

Interpretasi terhadap persamaan regresi diatas menjadi kurang logis disebabkan mileagecenter terdapat nilai minus, dan agecenter terdapat nilai minus. Tidak mungkin dalam realitanya km sebuah kendaraan negatif, dan umur kendaraan negatif.

Sehingga interpretasinya dikembalikan ke persamaan regresi awal.

price = -0.099.mileage - 762.21.age - 5637.56.dGood - 7695.7.dPoor + 29903.38

Dan interpretasinya sbb:

1. Jika mileage dan age = 0, dan mobil tsb kondisi Excelent, maka price nya $29903.38

2. Setiap kenaikian 1 mil, akan mengurangi nilai jual $0.099, dengan asumsi kondisi mobil Excelent dan usia mobil 0 (mobil baru)

3. Setiap kenaikan usia 1 tahun usia mobil maka akan menurunkan harga mobil $762.21, dengan asumsi kondisi mobil Excelent dan mileage 0 (mobil belum dibawa jalan).

4. Jika kondisi mobil Good, dengan mileage dan age 0, maka selisih harga dengan kondisi millage dan agec yang sama yaitu 0 tetapi mobil kondisi Excelent adalah -$5637.56. Artinya Mobil yang Excelent akan terjual lebih mahal $5637.56 dibandingkan mobil Good.

5. Jika kondisi mobil Poor, dengan mileage dan age 0, maka selisih harga dengan kondisi mileage dan age yang sama yaitu 0 tetapi mobil kondisi Excelent adalah -$7695.7. Artinya Mobil yang Excelent akan terjual lebih mahal $7695.7 dibanding mobil kondisi Poor.





TENTANG BLOG INI

Blog ini merupakan tempat bagi penulis untuk menorehkan catatan-catatan selama penulis mempelajari ilmu statistik menggunakan software STATA...