Analisis Biplot
Pendahuluan
Analisis Biplot (biplot analysis) adalah salah satu metode eksplorasi dan reduksi berupa penggambaran/pemetaan antara objek dan peubah berdimensi tinggi ke dalam suatu grafik berdimensi rendah (dua atau tiga sekkaligus). Penggunaan ruang berdimensi rendah dikarenakan kemudahan dalam interpretasi secara grafis. Analisis biplot cocok jika peubah yang dianalisis berskala kuantitatif dan amatannya tidak terlalu banyak. Keakuratan analisis biplot tergantung pada berapa % keragaman total yang dapat diterangkan ke dalam biplot (umumnya minimal 70%).
Beberapa informasi yang dapat disajikan oleh biplot antara lain:
- Keragama suatu peubah, di mana semakin panjang vektor/panah, maka semakin besar keragaman peubah tersebut.
- Keeratan hubungan antara dua peubah dan arah
hubungannya, di mana:
- Jika sudut panah dua peubah < 90 derajat, maka korelasi bernilai positif (semakin kecil sudut mendekati 0 derajat, semakin erat hubungannya secara positif)
- Jika sudut panah dua peubah > 90 derajat, maka korelasi negatif (semakin besar sudut mendekati 90 derajat, semakin erat hubungannya seacara negatif)
- Jika sudut dua peubah = 90 derajat atau semakin dekat 90 derajat, maka korelasinya semakin mendekati nol (tidak ada korelasi)
- Kemiripan relatif antar objek amatan, di mana dua objek yang posisinya berdekatan mengartikan bahwa karakteristik keduanya yang mirip.
- Posisi relatif antar objek amatan dengan peubah, menandakan bahwa objek-objek dicirikan oleh peubah tertentu karena posisinya berdekatan dengan peubah tersebut.
Penguraian matriks X dari dimensi tinggi menjadi dimensi dua berupa biplot, dilakukan dengan menggunakan teknik penguraian nilai singular (Singular Value Decomposition / SVD) yang memanfaatkan akar ciri dan vektor ciri matriks X’X atau XX’. Keragaman yang dijelaskan oleh biplot diperoleh sebesar:
\[\rho_2 = \frac{\lambda_1+\lambda_2}{\sum{\lambda_k}}\]
Di mana:
- \(\lambda_1\) : Akar ciri terbesar pertama
- \(\lambda_2\) : Akar ciri terbesar kedua
- \(\lambda_i\) : Akar ciri terbesar ke-i dari X’X, i = 1, 2, …, k
Langkah-Langkah
Langkah-langkah melakukan analisis biplot secara manual adalah sebagai berikut:
- Siapkan data dalam bentuk matriks X, di mana matriks X adalah matriks data yang telah dikoreksi terhadap rata-ratanya
- Hitung X’X kemudian cari akar cirinya, \(\lambda_i\), dan vektor ciri yang bersesuaian
- Hitung matriks U, L, dan A
- Cari nilai G dan H
- Tentukan G* (kolom ke-1 dan ke-2 dari matriks G) sebagai koordinat objek dan H* (kolom ke-1 dan ke-2 matriks H) sebagai koordinat peubah
- Gambar biplot dengan koordinat G* dan H*
- Hitung ukuran kebaikan biplot (besar keragaman yang dapat dijelaskan oleh biplot yang terbentuk)
Studi Kasus 1
Tabel berikut memberikan data beberapa universitas dengan beberapa peubah yang digunakan untuk perbandingan/perangkingan universitas, di mana terdiri dari:
SAT: rata-rata nilai SAT mahasiswa baruTop10: persentase mahasiswa baru yang merupakan 10% teratas di SMA asalAccept: persentase pelamar yang diterimaSFRatio: rasio fakultas dan mahasiswaExpenses: biaya pendidikan tahunan (estimasi), danGrad: rasio kelulusan (%)
Menyiapkan data
univs <- read.table(header = T, text =
"
University;SAT;Top10;Accept;SFRatio;Expenses;Grad
Harvard;14;91;14;11;39.525;97
Princeton;13.75;91;14;8;30.22;95
Yale;13.75;95;19;11;43.514;96
Stanford;13.6;90;20;12;36.45;93
MIT;13.8;94;30;10;34.87;91
Duke;13.15;90;30;12;31.585;95
Dartmouth;13.4;89;23;10;32.162;95
", sep=";")
head(univs)
## University SAT Top10 Accept SFRatio Expenses Grad
## 1 Harvard 14.00 91 14 11 39.525 97
## 2 Princeton 13.75 91 14 8 30.220 95
## 3 Yale 13.75 95 19 11 43.514 96
## 4 Stanford 13.60 90 20 12 36.450 93
## 5 MIT 13.80 94 30 10 34.870 91
## 6 Duke 13.15 90 30 12 31.585 95
Agar nama-nama objek (universitas) menjadi nama bagi masing-masing baris, maka dilakukan sesuai kode berikut:
rownames(univs) <- univs$University
univs_new <- univs[,-1] #hapus kolom nama universitas
head(univs_new)
## SAT Top10 Accept SFRatio Expenses Grad
## Harvard 14.00 91 14 11 39.525 97
## Princeton 13.75 91 14 8 30.220 95
## Yale 13.75 95 19 11 43.514 96
## Stanford 13.60 90 20 12 36.450 93
## MIT 13.80 94 30 10 34.870 91
## Duke 13.15 90 30 12 31.585 95
Melakukan eksplorasi data
Diperoleh ringkasan/deskripsi data sebagai berikut.
summary(univs_new)
## SAT Top10 Accept SFRatio
## Min. :13.15 Min. :89.00 Min. :14.00 Min. : 8.00
## 1st Qu.:13.50 1st Qu.:90.00 1st Qu.:16.50 1st Qu.:10.00
## Median :13.75 Median :91.00 Median :20.00 Median :11.00
## Mean :13.64 Mean :91.43 Mean :21.43 Mean :10.57
## 3rd Qu.:13.78 3rd Qu.:92.50 3rd Qu.:26.50 3rd Qu.:11.50
## Max. :14.00 Max. :95.00 Max. :30.00 Max. :12.00
## Expenses Grad
## Min. :30.22 Min. :91.00
## 1st Qu.:31.87 1st Qu.:94.00
## Median :34.87 Median :95.00
## Mean :35.48 Mean :94.57
## 3rd Qu.:37.99 3rd Qu.:95.50
## Max. :43.51 Max. :97.00
Dari hasil di atas, diperoleh statistik 5 serangkai dari masing-masing peubah yang menjelaskan universitas.
Kemudian dilakukan visualisasi data menggunakan boxplot sebagai berikut:
boxplot(univs_new)
Boxplot digunakan untuk memeriksa keberadaan pencilan dalam suatu
peubah. Terlihat dari plot di atas, bahwa peubah Grad
memiliki pencilan bawah. Sedangkan 5 peubah lainnya tidak memiliki
pencilan. Selanjutnya, dilakukan eksplorasi mengenai korelasi antar
peubah dengan fungsi corrplot().
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.3.3
## corrplot 0.95 loaded
corrplot(cor(univs_new), method = "number", is.cor = T, type = "lower", diag=F)
Diperoleh bahwa peubah Top10 berkorelasi secara positif
dengan SAT dan Expenses Sementara itu, peubah
Top10 berkorelasi negatif dengan peubah Accept
dan SFRatio. Artinya, semakin besar proporsi mahasiswa yang
merupakan 10% teratas di sekolah untuk masuk ke universitas tersebut,
semakin kecil presentase penerimaannya dan semakin besar presentase
kelulusan dan biaya pendidikannya. Dan sebagainya.
Analisis biplot
Analisis ini menggunakan beberapa package antara lain:
FactoMineRuntuk membentuk fungsi komponen utamafactoextrauntuk membentuk grafik biplot
# install.packages("FactoMineR")
# install.packages("factoextra")
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.3.3
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
- Penskalaan/pengoreksian data
Sebelum melakukan analisis biplot, dilakukan pengoreksian data
(matriks X) terhadap rataannya menggunakan fungsi
scale().
df = scale(univs_new,scale = FALSE)
head(df)
## SAT Top10 Accept SFRatio Expenses Grad
## Harvard 0.36428571 -0.4285714 -7.428571 0.4285714 4.0498571 2.4285714
## Princeton 0.11428571 -0.4285714 -7.428571 -2.5714286 -5.2551429 0.4285714
## Yale 0.11428571 3.5714286 -2.428571 0.4285714 8.0388571 1.4285714
## Stanford -0.03571429 -1.4285714 -1.428571 1.4285714 0.9748571 -1.5714286
## MIT 0.16428571 2.5714286 8.571429 -0.5714286 -0.6051429 -3.5714286
## Duke -0.48571429 -1.4285714 8.571429 1.4285714 -3.8901429 0.4285714
- Pembentukan fungsi komponen utama dan grafik biplot
Pembentukan fungsi komponen utama dilakukan dengan menggunakan fungsi
PCA()
df_pca = PCA(df, graph = F,scale.unit = F)
Kemudian dilakukan pembentukan grafik biplot dengan fungsi
fviz_pca_biplot() yang membutuhkan argumen berupa fungsi
komponen utama yang telah dibentuk.
fviz_pca_biplot(df_pca,repel = T) + theme_classic()
Dari grafik di atas, diperoleh informasi sebagai berikut:
- Keragaman peubah
- Peubah
ExpensesdanAcceptmemiliki keragaman yang lebih besar dibandingkan peubah lainnya. - Peubah
SATmemiliki keragaman terkecil.
- Peubah
- Keeratan hubungan antar peubah
- Peubah
Grad,SATdanExpensesmemiliki korelasi yang positif terlihat dari sudut yang terbentuk membentuk sudut < 90 derajat. - Peubah
Top10danSFRatiosertaSFRatiodanAcceptjuga memiliki korelasi yang positif terlihat sudutnya < 90 derajat. - Korelasi negatif dimiliki oleh hubungan peubah
Top10danGradsertaTop10, danAccept.
- Peubah
- Kemiripan antar objek dan Posisi relatif
objek dengan peubah penciri
- MIT dan Duke digambarkan dalam posisi yang berdekatan, artinya keduanya memiliki karakteristik yang mirip.
- Yale dicirikan dengan peubah
Expensesyang bernilai cukup tinggi. - Princeton memiliki
SFRatiodi bawah rata-rata.
Silahkan lanjutkan dengan interpetasi yang lain.
Selanjutnya untuk mengevaluasi kebaikan dari biplot yang terbentuk, dilakukan dengan melihat persentase kumulatif keragaman yang diperoleh dari dua nilai eigen teratas (karena biplot yang terbentuk dua dimensi).
Kebaikan biplot dilihat berdasarkan
cumulative.variance.percent dari nilai eigen kedua.
(Informasi keragaman yang mampu dijelaskan oleh biplot adalah sebesar
92.28%. Artinya biplot mampu memberikan informasi dari 6 peubah untuk
menilai posisi relatif 7 Universitas)
eigen_values <- get_eigenvalue(df_pca)
eigen_values
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 42.67114186 63.63352772 63.63353
## Dim.2 19.20763975 28.64347715 92.27700
## Dim.3 3.53817575 5.27632012 97.55332
## Dim.4 1.45402436 2.16832022 99.72165
## Dim.5 0.17303034 0.25803225 99.97968
## Dim.6 0.01362782 0.02032254 100.00000
Selain itu, dapat melihat presentase keragaman biplot dengan grafik
plot scree dengan menggunakan fviz_eig() berikut.
fviz_eig(df_pca, addlabels = T) + theme_classic()
Studi Kasus 2
Pertengahan tahun 2003 yang lalu Bank ”BR” melakukan evaluasi terhadap keuntungan yang mereka peroleh. Sebagai bank pemerintah dengan aset yang cukup besar, BR tidak memiliki keuntungan yang cukup tinggi dan bahkan cenderung mengalami penurunan keuntungan akibat menurunnya kuantitas dan kualitas nasabahnya. Managemen BR merekomendasikan pelaksanaan riset pasar terhadap persepsi masyarakat terhadap performa BR dan perbandinganya dengan performa bank-bank nasional lainnya. Dengan mengetahui posisi bank berdasarkan persepsi masyarakat ini, diharapkan dapat ditempuh langkah-langkah yang lebih baik.
Riset dilakukan dalam bentuk survei untuk mengumpulkan data persepsi masyarakat terhadap beberapa bank nasional. Survei tersebut melibatkan 2300 responden yang tersebar di 8 kota (Jakarta, Surabaya, Medan, Makasar, Balikpapan, Denpasar, Solo, dan Palembang). Setiap responden diminta untuk memberikan skor terhadap atribut/karakteristik berikut:
- Kualitas petugas bank dalam memberikan layanan
- Kualitas produk yang ditawarkan oleh bank
- Kualitas fasilitas kantor cabang
- Kualitas dan kuantitas fasilitas ATM
- Kualitas hadiah yang ditawarkan oleh bank
- Keamanan bertransaksi
- Kemudahan mencapai lokasi pelayanan bank
Penilaian dilakukan menggunakan skala 1, 2, …, 10. Nilai yang semakin besar menunjukkan kecenderungan yang positif terhadap atribut yang ditanyakan.
Menyiapkan data
bank <- read.table(header = T, text =
"
layanan;produk;cabang;ATM;hadiah;aman;lokasi
4.31;3.89;5.67;5.89;5.12;7.11;4.12
7.64;7.4;8.58;8.15;6.74;8.23;6.77
8.94;7.12;8.61;6.89;7.45;8.35;7.89
7.21;4.2;6.39;3.58;4.23;6.87;4.34
5.74;6.34;8.22;6.31;7.05;7.65;6.89
4.03;3.55;4.26;4.09;6.9;6.8;3.44
6.96;3.11;4.09;3.23;3.21;6.12;2.86
4.99;5;6.31;6.17;5.89;7.62;5.36
",
sep = ";")
rownames(bank) <- c("BR", "BC", "BMD", "NI", "BN", "BDN", "BMG", "BPM")
bank
## layanan produk cabang ATM hadiah aman lokasi
## BR 4.31 3.89 5.67 5.89 5.12 7.11 4.12
## BC 7.64 7.40 8.58 8.15 6.74 8.23 6.77
## BMD 8.94 7.12 8.61 6.89 7.45 8.35 7.89
## NI 7.21 4.20 6.39 3.58 4.23 6.87 4.34
## BN 5.74 6.34 8.22 6.31 7.05 7.65 6.89
## BDN 4.03 3.55 4.26 4.09 6.90 6.80 3.44
## BMG 6.96 3.11 4.09 3.23 3.21 6.12 2.86
## BPM 4.99 5.00 6.31 6.17 5.89 7.62 5.36
Analisis biplot
bank2 = scale(bank,scale = FALSE)
bank_pca = PCA(bank2, graph = F, scale.unit=F)
fviz_pca_biplot(bank_pca,repel = T) + theme_classic()
- Dari grafik di atas, diperoleh bahwa peubah
layananmemiliki keragaman terbesar dan peubahamanmemiliki keragaman terkecil. - Semakin sempit sudut yang dibuat antara dua peubah maka semakin
positif tinggi korelasinya, seperti:
cabang,produkdanlokasi; memiliki korelasi positif yang cukup tinggi. - Sedangkan jika sudutnya tumpul (berlawanan arah) maka korelasinya
negatif, seperti:
hadiahdanlayanan. - Semakin dekat letak objek dengan arah yang ditunjuk oleh suatu peubah maka semakin tinggi nilai peubah tersebut untuk objek itu. Sedangkan jika arahnya berlawanan, maka nilainya rendah.
- BC dan BMD merupakan bank yang
memiliki tingkat
layanan,cabang,produk, danlokasiyang tinggi. - BN memiliki tingkat
keamanan,ATM, danhadiahyang tinggi. - Semakin dekat letak dua buah objek maka sifat yang ditunjukkan oleh nilai-nilai peubahnya semakin mirip.
- BC dan BMD memiliki indikator yang hampir mirip.
- BMG dan NI juga membentuk kelompok sendiri.
- BDN dan BR juga membentuk kelompok sendiri berdasarkan kemiripan sifat peubah.
(Interpretasi lain dapat ditambahkan sendiri)
Kemudian dilakukan evaluasi hasil biplot yang terbentuk sebagai berikut:
eigen_values2 <- get_eigenvalue(bank_pca)
eigen_values2
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 12.396059243 77.40058498 77.40058
## Dim.2 2.589099919 16.16625448 93.56684
## Dim.3 0.631795008 3.94490719 97.51175
## Dim.4 0.298870837 1.86613965 99.37789
## Dim.5 0.062252748 0.38870410 99.76659
## Dim.6 0.027808207 0.17363353 99.94022
## Dim.7 0.009573412 0.05977607 100.00000
fviz_eig(bank_pca, addlabels = T) + theme_classic()
Informasi keragaman yang mampu dijelaskan oleh biplot adalah sebesar 93.57%. Artinya biplot mampu memberikan informasi dari 7 peubah untuk menilai posisi relatif 8 bank berdasarkan kualitasnya.