Konstruksi Grafik Biplot dengan Software R
Bulan Februari kemarin, saya melaksanakan kewajiban untuk memenuhi mata kuliah PKL (Praktek Kerja Lapangan) dengan magang di kantor Telkom Jawa Tengah. Di sana pak Bos (manajer tempat saya magang) meminta kami untuk menganalisis data permintaan voucher fisik Flexi. Melihat bentuk datanya agak bingung juga karena terdiri dari jumlah masing-masing voucher (ada lima macam) per vendor. Vendor di sini ialah pihak yang melaksanakan permintaan voucher terhadap Telkom dan kemudian mendistribusikannya ke berbagai daerah di Jawa Tengah. Di sini pak Bos membebaskan kami untuk menganalisis apaaaaaa aja yang penting bisa menggambarkan data tersebut. Singkat cerita, akhirnya saya putuskan untuk membuat grafik Biplot yang merupakan salah satu dari banyak metode yang dipakai untuk penelitian pemasaran.
Korelasi antar variabel (dilihat dari kosinus sudut antara dua vektor. Makin lancip sudutnya, makin besar korelasinya)
Analisis Biplot adalah salah satu teknik statistika deskriptif dengan dimensi dua yang dapat menyajikan secara visual segugus objek dan variabel dalam satu grafik. Grafik yang di hasilkan dari Biplot ini merupakan grafik yang berbentuk bidang datar. Dengan penyajian seperti ini, ciri –ciri variabel dan objek pengamatan serta posisi relatif antara objek pengamatan dengan variabel dapat dianalisis (Jollife (1986) dan Rowling (1988) dalam Sartono dkk, 2003). Informasi yang diberikan oleh Biplot meliputi objek dan variabel.
Menurut Sartono, dkk (2003) analisis biplot didasarkan pada Singular Value Decomposition (SVD). Biplot dapat dibangun dari suatu matriks data, dengan masing-masing kolom mewakili suatu variabel dan masing-masing baris mewakili objek penelitian.
Tapi, di sini saya akan langsung saja membahas mengenai listing program konstruksi biplot dengan menggunakan software R.
Sebelumnya saya jelaskan, software R adalah salah satu software statistika yang sedang booming akhir-akhir ini, yang sangat bersahabat dengan mahasiswa, karena sifatnya open source alias GRATIS! hehe...Nggak seperti statistical tools lain macam SPSS dan Minitab yang tinggal input data terus klik-klik saja, software R ini bisa dibilang merupakan gabungan antara Algoritma Pemrograman dengan ilmu-ilmu Statistika. Kenapa? Karena kita harus terlebih dahulu menulis programnya sesuai dengan rumus-rumus perhitungan statistika yang kita inginkan, dan seperti halnya dalam Pascal(Alpro), butuh logika yang baik supaya program tersebut bisa berjalan dengan alur yang tidak rumit (sesederhana mungkin). Selain itu, ada aturan juga mengenai simbol/huruf/kata supaya bisa dikenali oleh si R ini. Kadang, kurang satu huruf saja sudah membuat program yang sudah kita tulis berpanjang-panjang ria jadi nggak jalan.
Pada saat membuat laporan PKL saya putuskan untuk memakai software ini, dengan tujuan sekalian untuk eksplorasi, karena pada saat itu si R ini masih 'hangat-hangatnya' di mata kuliah Statistika Komputasi.
Yang diblok abu-abu adalah input datanya dengan maksud membentuk matriks data. Karena saya waktu itu masih cemen atau 'abu-abu' dalam software R, input data saya tuliskan satu-satu seperti di atas. Kalau mau lebih rapi dan singkat, input data bisa dilakukan melalui paket 'Rcmdr', kemudian 'dipanggil' melalui jendela syntax yang sudah otomatis membentuk matriks data. Hasilnya :
Grafik Biplot alpha = 0
Listing program di atas ini untuk membuat grafik biplot dengan nilai alpha = 0. Dalam biplot, ada tiga nilai alpha yang biasanya digunakan, yaitu 0, 0.5, dan 1.
Untuk alpha = 0 adalah seperti di atas, sedangkan untuk alpha lainnya cukup dengan mengedit 'G' dan 'Ht' sesuai dengan rumus yang ada :
alpha=0.5
G=U%*%sqrt(L)
Ht=sqrt(L)%*%t(A)
alpha=1
G=U%*%L
H=A
Masing-masing grafiknya :
Grafik Biplot alpha = 0.5
Grafik Biplot alpha = 1
Dengan begitu kita akan menghasilkan tiga buah grafik Biplot berdasarkan nilai alpha. Masing-masing alpha ini punya interpretasi berbeda pula :
- alpha = 0
Korelasi antar variabel (dilihat dari kosinus sudut antara dua vektor. Makin lancip sudutnya, makin besar korelasinya)
- alpha = 0.5
- alpha = 1
Seberapa baik informasi yang didapat dari grafik biplot, karena ini adalah reduksi baris, direpresentasikan melalui ukuran keragaman atau nilai kebaikan biplot. Untuk mendapatkan nilai kebaikan tersebut, kita perlu mendapatkan nilai eigen terlebih dahulu
eigen(t(X)%*%X)$values
Selanjutnya dapat dihitung nilai kebaikannya.(0-100%)
Dari pemaparan di atas, cara yang saya gunakan adalah cara manual, di mana harus saya masukkan rumusnya satu-satu untuk mendapatkan koordinat grafiknya. Namun sebenarnya kita juga bisa pakai paket 'BiplotGUI' yang dapat didownload dari http://cran.r-project.org/web/packages/ . Saya tidak menggunakan paket ini karena tampilan grafiknya kurang 'sreg'. (Atau saya yang masih abu-abu banget jadi nggak tahu gimana ngebagusin grafiknya pake paket ini )
Semoga bermanfaat :)
misi gan pengen nanya..pas di gambar biplot kok ada angka2 dekat garis vektornya..mksud angka tersebut apa ya?
ReplyDeleteangka dekat garis vektor di sini adalah objek yang diteliti.dalam postingan ini,objek yang diteliti adalah vendor seperti yang telah dijelaskan di atas,berjumlah 12,maka dari itu angka-angka di sekitar vektor terdiri dari 1-12.
ReplyDeletesedangkan vektor mewakili variabel,yaitu jumlah voucher yang didistribusikan.
mohon maaf nanya lagi..
ReplyDeleteklo misalnya datanya multivariat gimana sintacnya:
misalnya ada variabel X, Y, Z
var X ada 5 variabel : x1, x2, x3, x4, x5
variabel Y ada 3 variabel : Y1, Y2, dan Y3
Var Z ada 5 variabel : z1, z2, z3, z4, z5
tolong bantuin ya sintac di R gimana..
ane rencananya skripsinya mau pakai metode ini..
pada dasarnya biplot itu visualisasi dari objek dan variabel, jadi dalam hal ini hanya melibatkan dua komponen saja,misalkan X dan Y saja.
ReplyDeletesedangkan multivariat itu jika ada lebih dari dua variabel yang terlibat,misal X dan Y seperti yang anda contohkan,ada x1,x2,x3,dst dan y1,y2,dst.kalau cuma x1 dan y1 saja berarti bukan multivariat
Jadi tentukan dulu mana objek yang akan diamati,misalkan X,maka Y sebagai variabelnya...nah Z itu mungkin bisa digabungkan dengan Y saja,kalau memang sama-sama sebagai variabel :D
Untuk lebih jauh mengenai analisis semacam ini bisa dicek buku analisis multivariat milik Johnson-Wichern
jadi gini, ane kan ambil data curah hujan dari BMKG..ane ambil 3 provinsi.nah di setiap provinsi mempunyai lebih dari 1 stasiun penakar curah hujan..jadi ane pengen liat secara keseluruhan untuk setap masing2 stasiun penakar curah hujan di 3 provinsi tersebut.
ReplyDeleteane pengen liat karakteristik, pola ato dsb menggunakan biplot..misalnya :apakah curah hujan di stasiun penakar curah hujan A di provinsi 1 mirip ato ngga dengan penakar curah hujan B di provinsi 2 atau penakar curah hujan A di provinsi 3.gitu..jadi tampilannya cuma ada 1 grafik biplot yang menjelaskan karakteristik dari ke 3 provinsi tsb..kira2 bisa ga pake BIPLOT? kalau bisa , bagaimana ya solusinya..makasih..
Bisa saja,
ReplyDeletedengan menjadikan curah hujan sebagai variabel dan stasiun di masing2 provinsi sebagai objek.
Tapi maaf sebelumnya datanya bagaimana?apakah bulanan atau tahunan?
Semisal bulanan,
yang pertama,melakukan pengelompokan seluruh data curah hujan.Misal jika data tersebut bulanan,maka bisa dibagi jadi beberapa kelompok
0 – 100 mm,101 – 300 mm,dan seterusnya sesuai data yang ada.
selanjutnya,untuk stasiun penakar hujan itu bisa dijadikan satu saja untuk ketiga provinsi tersebut,asal diberi nama yang berbeda dan khusus.misalnya stasiun A provinsi 1 dinamai A1...dst.Pokoknya yang bisa membedakan antar provinsi dan stasiun itu sendiri
kalau dibikin tabel mungkin begini :
curah hujan | A1 A2 A3 ...
0-100mm |
101-300mm |
301-400mm |
>400mm |
jadi di sini untuk membentuk matriks datanya,anda perlu menghitung frekuensi dari masing2 kelompok curah hujan di tiap stasiun...
misalnya,stasiun A prov 1 (A1) berapa bulan yang curah hujannya 0-100mm? (jika data bulanan)
kemiripan bisa dilihat dari titik-titik stasiun tersebut,letaknya saling berdekatan atau tidak
itu hanya saran saja yang terpikirkan oleh saya
mohon maaf jika ada kekurangan,saya juga masih meng-explore :)
maaf nanya lagi..itu cara gedein skalanya gimana ya?biar gambar biplotnya menjadi jelas?
ReplyDeletemaksudnya skala gimana ya?
ReplyDeletekalo untuk grafik biplot ini sepertinya memang mentok hanya seperti itu penampilannya,mungkin untuk lebih jelasnya anda bisa search help dengan mengetikkan ??biplot pada R console
misi gan, boleh nanya, saya sudah coba pake R versi 2.15.3 tapi kok nggak muncul garis tengahnya ya. dan kalau semisal saya mau menguji kedekatan antara wilayah a, wilayah b, dan wilayah c dilihat dari tingkat curah hujan, tinggi bangunan gedung, dan jumlah hari hujan gmana ya gan? suwun.
ReplyDeletelangkah - langkah memakai biplotGUI gimana ya kak ? makasih sebelumnya
ReplyDeleteHallo kak, mau tanya itu hasil dari "svd" kan dapet 'd' itu kan sama aja kyk nilai eigen, trus matriks L langsung dari diag(Y$d)
ReplyDeleteitu apakah 'd' ini sudah dalam bentuk akar nilai eigen ? karena diatas langsung di tulis L<-diag(Y$d), dan yang saya tau L itu matriks diagonal dari "akar" nilai eigen positif
Trimakasi sebelumnya...