Praktikum Analisis Data Multivariat II Menggunakan Software R
MODUL I ANALISIS KOMPONEN UTAMA
1. Analisis Komponen Utama Analisis komponen utama digunakan untuk menjelaskan struktur matriks varianskovarians dari suatu set variabel melalui kombinasi linier dari variabel-variabel tersebut. Secara umum komponen utama dapat berguna untuk reduksi dan interpretasi variabel-variabel. Misalkan saja terdapat p buah variabel yang terdiri atas n buah objek. Misalkan pula bahwa dari p buah variabel tersebut dibuat sebanyak k buah komponen utama (dengan k <= p) yang merupakan kombinasi linier atas p buah variabel tersebut. k komponen utama tersebut dapat menggantikan p buah variabel yang membentuknya tanpa kehilangan banyak informasi mengenai keseluruhan variabel. Umumnya analisis komponen utama merupakan analisis intermediate yang berarti hasil komponen utama dapat digunakan untuk analisis selanjutnya. Dalam bentuk matematis, katakan saja bahwa Y merupakan kombinasi linier dari variabel-variabel X1, X2, … , Xp yang dapat dinyatakan sebagai
Y = W1X1 + W2X2 + … + WpXp dengan Wi
adalah bobot atau koefisien untuk variabel ke i
Xi
adalah variabel ke i
Y
adalah kombinasi linier dari variabel X
Secara prinsip pembentukan komponen utama merupakan pembentukan kombinasi linier dari variabel-variabel yang diamati. Dalam analisis komponen utama ditentukan suatu metode untuk mendapatkan nilai-nilai koefisien atau bobot dari kombinasi linier variabel-variabel pembentuknya dengan ketentuan sebagai berikut Bertho Tantular - 1
Praktikum Analisis Data Multivariat II Menggunakan Software R a) Ada sebanyak p komponen utama, yaitu sebanyak variabel yang diamati dan setiap komponen utama adalah kombinasi linier dari variabel-variabel tersebut b) Setiap komponen utama saling ortogonal (tegak lurus) dan saling bebas. c) Komponen utama dibentuk berdasarkan urutan varians dari yang terbesar hingga yang terkecil, dalam arti sebagai berikut •
komponen utama pertama (KU1) merupakan kombinasi linier dari seluruh variabel yang diamati dan memiliki varians terbesar
•
komponen utama kedua (KU2) merupakan kombinasi linier dari seluruh variabel yang diamati yang bersifat ortogonal terhadap KU 1 dan memiliki varians kedua terbesar
•
komponen utama ketiga (KU3) merupakan kombinasi linier dari seluruh variabel yang diamati yang bersifat ortogonal baik terhadap KU 1 maupun KU2, dan memiliki varians ketiga terbesar :
•
komponen utama ke p (KUp) merupakan kombinasi linier dari seluruh variabel yang diamati yang bersifat ortogonal terhadap KU 1, KU2, … , KU(p-1) dan memiliki varians yang terkecil.
Untuk mendapatkan koefisien komponen utama secara bersamaan dapat menggunakan salah satu cara berikut ini •
dekomposisi eigen value dan eigen vector dari matriks korelasi atau kovarians dari variabel-variabel yang diamati. Dalam hal ini eigen value merupakan varians setiap komponen utamanya dan eigen vector merupakan koefisien-koefisien komponen utamanya
•
dekomposisi nilai singular dari matriks data yang berukuran n x p. Interpretasi dari komponen utama adalah bahwa komponen utama tersebut merupakan
suatu sistem sumbu baru dalam ruang vektor berdimensi banyak peubah yang diamati. Melalui komponen utama
salib-salib sumbu
tersebut telah diubah skalanya dan dirotasi hingga
memiliki sifat varians yang terurut semakin kecil dan ortogonal. Bertho Tantular - 2
Praktikum Analisis Data Multivariat II Menggunakan Software R Apabila varians dari variabel-variabel yang diamati mempengaruhi besarnya bobot atau koefisien kompomnen utamanya maka analisis komponen utama dapat dilakukan menggunakan matriks varians-kovarians. Secara sederhana varians merupakan suatu informasi dari variabel yang diamati yang berarti apabila sebuah variabel memiliki pengamatan yang semua nilainya sama maka variabel tersebut tidak memiliki informasi yang dapat membedakan antar pengamatan. Komponen utama adalah himpunan variabel baru yang merupakan kombinasi linier dari variabel-variabel yang diamati. Komponen utama memiliki sifat varians yang semakin mengecil, sebagian besar variasi (keragaman atau informasi) dalam himpunan variabel yang diamati cenderung berkumpul pada beberapa komponen utama pertama, dan semakin sedikit informasi dari variabel asal yang terkumpul pada komponen utama terakhir. Hal ini berarti bahwa komponen-komponen utama pada urutan terakhir dapat diabaikan tanpa kehilangan banyak informasi. Dengan cara ini analisis komponen utama dapat digunakan untuk mereduksi variabel-variabel. Untuk keperluan reduksi variabel tentu harus ditentukan berapa banyak komponen utama yang mesti diambil. Ada beberapa cara untuk menentukan berapa banyak komponen utama yang harus diambil diantaranya adalah •
menggunakan scree plot. Banyak komponen yang diambil adalah pada titik kurva tidak lagi menurun tajam atau mulai melandai.
•
menggunakan proporsi kumulatif varinas terhadap total varians Telah dijelaskan bahwa antar komponen utama bersifat ortogonal yang artinya bahwa
setiap komponen utama merupakan wakil dari seluruh variabel asal sehingga komponenkomponen utama tersebut dapat dijadikan pengganti variabel asal apabila analisis terhadap variabel tersebut membutuhkan ortogonalitas, Dalam analisis regresi linier multipel memerlukan suatu syarat tidak adanya multikolinieritas antara variabel-variabel bebasnya. Apabila ternyata dalam data terdapat multikolinieritas maka komponen utama dapat digunakan sebagai pengganti variabel-variabel bebas dalam model regresi tersebut. Dalam analisis komponen utama diperoleh beberapa ukuran-ukuran berikut
Bertho Tantular - 3
Praktikum Analisis Data Multivariat II Menggunakan Software R 1. Nilai total varians merupakan informasi dari seluruh variabel asal yang dapat dijelaskan oleh komponen-komponen utamanya 2. proporsi varians komponen utama ke k terhadap total varians menunjukkan besarnya persentase informasi variabel-variabel asal yang terkandung dalam komponen utama ke-k 3. Nilai koefisien korelasi antara komponen utama dengan variabelnya
2. Analisis Komponen Utama dalam R (a) Fungsi princomp Analisis Komponen Utama dalam software R dapat dianalisis menggunakan fungsi princomp. Fungsi princomp menganalisis komponen utama dari data berupa matriks numerik dan menghasilkan nilai-nilai berupa suatu objek dalam kelas princomp. Penjelasan mengenai syntax dan penggunaan fungsi princomp adalah sebagai berikut
> fit_pca <- princomp(x, ...) atau > fit_pca <- princomp(formula, data = NULL, subset, na.action, ...) atau > fit_pca <- princomp(x, cor = FALSE, scores = TRUE, covmat = NULL, subset = rep(TRUE, nrow(as.matrix(x))), ...)
Keterangan: formula:
adalah formula untuk variabel numerik tanpa melibatkan variabel respon
data:
data yang digunakan berupa data frame meliputi variabel-variabel dalam formula Sebagai default diambil variabel dari ‘environment(formula)’.
subset:
sebuah vektor yang digunakan untuk memilih baris (pengamatan) dari matriks X Bertho Tantular - 4
Praktikum Analisis Data Multivariat II Menggunakan Software R na.action:
sebuah fungsi yang mengindikasikan apa yang akan dilakukan apabila ada data
hilang x:
adalah matriks numerik atau data frame yang berisi data yang digunakan untuk
analisis komponen utama cor:
bernilai ”TRUE” apabila yang digunakan matriks korelasi dan bernilai ”FALSE”
untuk matriks kovarians (matrix korelasi hanya dapat digunakan apabila tidak ada variabel konstanta) scores:
bernilai TRUE untuk menampilkan setiap nilai komponen utamanya dan bernilai
FALSE untuk tidak menampilkan setiap nilai komponen utamanya. covmat:
digunakan apabila inputnya adalah matriks kovarians atau matriks korelasi.
Biasanya bernama ‘cov.wt’ atau ‘cov.mve’ atau 'cov.mcd’ yang diperoleh dari pajet MASS.
Nilai-nilai yang dapat ditampilkan hasil analisis fungsi princomp adalah sebagai berikut
sdev:
simpangan baku (standard deviation) dari komponen utamanya
loadings:
matriks variabel loading yaitu matriks yang kolom-kolomnya berupa eigen
vector.
center:
rata-rata yang digunakan.
scale:
transformasi dari tiapvariabel.
n.obs:
banyak pengamatan.
scores:
nilai-nilai komponen utamanya
na.action:
bila ada penanganan data hilang
Bertho Tantular - 5
Praktikum Analisis Data Multivariat II Menggunakan Software R Perintah-perintah berikut digunakan untuk menampilkan hasil analisis
summary(fit_pca)
untuk menampilkan nilai varians
loadings(fit_pca)
untuk menampilkan nilai loadings
plot(fit_pca,type="lines")
untuk membuat scree plot
fit_pca$scores
untuk menampilkan nilai komponen utama
Dalam fungsi princomp analisis komponen utama menggunakan nilai eigen dari matriks korelasi atau matriks varians-kovarians.
Analisis komponen utama yang menggunakan
dekomposisi nilai singular dari matriks X berada dalam fungsi lain yaitu prcomp. Fungsi print dapat digunakan untuk menampilkan hasil analisis dan fungsi plot dapat digunakan untuk menampilkan screeplot.
Contoh Kasus 1: Jolicoeur dan Mosimann mempelajari mengenai hubungan antara ukuran dan bentuk sejenis kura-kura. Pada penelitiannya mereka mengambil sampel sebanyak 24 kura-kura jantan dan 24 kura-kura betina dan diukur panjang, lebar dan tinggi kura-kura tersebut. (data diambil dari Johnson & Wichern, 2002 halaman 339) Sebelum melakukan analisis dengan definisikan variabel X1 = length, X2 = width, X3 = height dan X4 = sex kemudian input dulu data tersebut menggunakan software R sebagai berikut
> x1
> x2
Bertho Tantular - 6
Praktikum Analisis Data Multivariat II Menggunakan Software R
>
x3<-
c(38,38,42,42,44,50,46,51,51,51,48,49,51,51,53,57,55,56,63,60,62,63,61,67,37, 35,35,39,38,37,39,39,38,40,40,40,43,41,41,41,40,44,42,45,45,45,46,47) > x4<-rep(c(”F”,”M”),each=24)
Lakukan transformasi sederhana terhadap data (x1, x2 dan x3) tersebut menggunakan log sebagai berikut
> y1<-log(x1) > y2<-log(x2) > y3<-log(x3) > y<-data.frame(y1,y2,y3) > Y<-y[25:48,]
Analisis data kura-kura jantan menggunakan fungsi princom() sebagai berikut
> fit_pca<-princomp(Y, cor=FALSE) > summary(fit_pca) Importance of components: Comp.1 Standard deviation
Comp.2
Comp.3
0.1494402 0.02394526 0.01856994
Proportion of Variance 0.9605077 0.02466069 0.01483157 Cumulative Proportion
0.9605077 0.98516843 1.00000000
Terlihat dari proporsi varians kumulatif Komponen pertama dapat menjelaskan 96% total varians dan bila ditambahkan komponen kedua menjadi 98%. Artinya apabila kita hanya mengambil satu komponen saja yaitu komponen pertama sudah mencukupi. Nilai simpangan baku (standard deviation) pada baris pertama hasil diatas diperoleh dari akar positif nilai eigen (eigen value) matriks kovarians dari log(y1), log(y2) dan log(y3). Bertho Tantular - 7
Praktikum Analisis Data Multivariat II Menggunakan Software R
> loadings(fit_pca) Loadings: Comp.1 Comp.2 Comp.3 y1
0.683 -0.159
0.713
y2
0.510 -0.594 -0.622
y3
0.523
0.788 -0.324
Comp.1 Comp.2 Comp.3 SS loadings
1.000
1.000
1.000
Proportion Var
0.333
0.333
0.333
Cumulative Var
0.333
0.667
1.000
Nilai-nilai loading yang ditampilkan pada hasil di atas adalah nilai vektor eigen dari matriks kovarians log(y1), log(y2) dan log(y3). Fungsi komponen utamanya adalah sebagai berikut
KU1 = 0.683 log(y3) + 0.510 log(y3) + 0.523 log(y3) KU2 = -0.159 log(y3) - 0.594 log(y3) + 0.788 log(y3) KU3 = 0.713 log(y3) - 0.622 log(y3) - 0.324 log(y3)
Untuk membuat dan menampilkan scree plot dilakukan dengan cara sebagai berikut
> plot(fit_pca,type="lines")
Bertho Tantular - 8
Praktikum Analisis Data Multivariat II Menggunakan Software R
Dari scree plot tersebut terlihat bahwa kurva mulai landai pada titik comp 2 artinya bahwa dengan satu komponen saja sudah mencukupi untuk mewakili ketiga variabel tersebut Menampilkan nilai (score) komponen utama
> fit_pca$scores Comp.1
Comp.2
Comp.3
25 -0.268473390
0.0610685037
0.0004066149
26 -0.263344980 -0.0157244390 -0.0066858875 27 -0.236045707 -0.0341210935 -0.0074276738 28 -0.119923476
0.0141251769 -0.0366922244
29 -0.120728388 -0.0149572760 -0.0286045130 30 -0.152592781 -0.0089082112
0.0169793685
31 -0.106039296
0.0165711616 -0.0083826652
32 -0.093027430
0.0135333730
0.0051929344
33 -0.106371042 -0.0012452738
0.0278503862
34 -0.006575259 -0.0167441765 -0.0071889505 35 -0.006268452 -0.0114497088
0.0061739765
36 -0.011979592
0.0008012246
0.0267516989
37
0.0280465362 -0.0125896593
0.060886922
Bertho Tantular - 9
Praktikum Analisis Data Multivariat II Menggunakan Software R 38
0.041862973 -0.0108766303
0.0089785626
39
0.047500815 -0.0174403631
0.0021060793
40
0.070171264 -0.0330572711
0.0006647271
41
0.040553932 -0.0277470963
0.0419820919
42
0.112788083
43
0.105004626 -0.0293536649 -0.0085075394
44
0.152416632
0.0324987788
45
0.179458559
0.0111082110 -0.0029094996
46
0.179473590
0.0160774637
0.0091929735
47
0.206783903
0.0297129498
0.0185740872
48
0.294468494 -0.0232075863 -0.0351090182
0.0212894116 -0.0162796865
0.0055238164
Contoh Kasus 2: Data berikut mengenai rates of return dari lima saham perusahaan yaitu Allied Chemical, du Pont, Union Carbide, Exxon dan Texaco yang berada di pasar saham New York yang diambil pada periode 1975 hingga Desember 1976. Berdasarkan nilai penutupan pada hari Jum'at rates of return didefiniskan sebagai
rates of return=
Harga penutupan Jum ' at ini−Harga penutupan Jum ' at sebelumnya Harga penutupan Jum ' at sebelumnya
Diasumsikan bahwa pengamatan saling bebas dalam hal ini adalah minggu dan saham perusahaan adalah variabelnya yang saling berkorelasi. Dari data sebanyak 100 minggu diperoleh vektor rata-ratanya adalah
x ' =[0.0054, 0.0048, 0.0057, 0.0063, 0.0037]
dan matriks korelasinya adalah
Bertho Tantular - 10
Praktikum Analisis Data Multivariat II Menggunakan Software R
[
1.000 0.577 R= 0.509 0.387 0.462
0.577 1.000 0.599 0.389 0.322
0.509 0.599 1.000 0.436 0.426
0.387 0.389 0.436 1.000 0.523
0.462 0.322 0.426 0.523 1.000
]
R merupakan matriks varians-kovarians dari matriks pengamatan yang sudah dibakukan. (Johnson dan Wichern, 2002) Dalam kasus ini yang diketahui adalah matriks kovarians atau matriks korelasi maka fungsi princomp digunakan dengan cara sebagai berikut
# Input matriks R dengan cara sebagai berikut
> r
R<-matrix(r, 5, 5) > R
[,1]
[,2]
[,3]
[,4]
[,5]
[1,] 1.000 0.577 0.509 0.387 0.462 [2,] 0.577 1.000 0.599 0.389 0.322 [3,] 0.509 0.599 1.000 0.436 0.426 [4,] 0.387 0.389 0.436 1.000 0.523 [5,] 0.462 0.322 0.426 0.523 1.000
# Nilai eigen value dan eigen vector dapat diperoleh
> eigen(R)$value [1] 2.8567110 0.8091637 0.5396752 0.4515001 0.3429499
Bertho Tantular - 11
Praktikum Analisis Data Multivariat II Menggunakan Software R > eigen(R)$vector [,1]
[,2]
[,3]
[,4]
[1,] -0.4636052
0.2403390
[2,] -0.4571078
0.5093047 -0.1781895 -0.2064744
[3,] -0.4701756
0.2604483 -0.3350565
[,5]
0.6117054 -0.3866346 -0.4512622 0.6762233
0.6624447 -0.4000072
[4,] -0.4214588 -0.5256649 -0.5407628 -0.4720060 -0.1755986 [5,] -0.4212245 -0.5819699
0.4351755
0.3824388
0.3850245
# Analisis menggunakan fungsi princomp
> fit_pca2<-princomp(covmat=R, cor=TRUE, n.obs=100) > summary(fit_pca2) Importance of components: Comp.1 Standard deviation
Comp.2
Comp.3
Comp.4
Comp.5
1.6901808 0.8995353 0.7346259 0.67193757 0.58561928
Proportion of Variance 0.5713422 0.1618327 0.1079350 0.09030002 0.06858999 Cumulative Proportion
0.5713422 0.7331749 0.8411100 0.93141001 1.00000000
dari hasil perhitungan tersebut terlihat bahwa proporsi varians untuk komponen 1 baru mencapai 57% dan apabila diambil dua komponen proporsi varians mencapai 73%.
> loadings(fit_pca2) Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 [1,] -0.464
0.240
0.612 -0.387 -0.451
[2,] -0.457
0.509 -0.178 -0.206
[3,] -0.470
0.260 -0.335
0.676
0.662 -0.400
[4,] -0.421 -0.526 -0.541 -0.472 -0.176 [5,] -0.421 -0.582
0.435
0.382
0.385
Bertho Tantular - 12
Praktikum Analisis Data Multivariat II Menggunakan Software R Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 SS loadings
1.0
1.0
1.0
1.0
1.0
Proportion Var
0.2
0.2
0.2
0.2
0.2
Cumulative Var
0.2
0.4
0.6
0.8
1.0
Nilai loading yang diperoleh hasilnya sama dengan nilai eigen vektor. Nilai loading ini digunakan sebagai koefisien dari fungsi komponen utamanya.
(2) Fungsi prcomp Selain menggunakan fungsi princomp analisis komponen utama juga dapat menggunakan fungsi prcomp. Fungsi prcomp menganalisis komponen utama menggunakan dekomposisi nilai singular (singular value decomposition atau svd) dari matriks data berbeda dengan fungsi princomp yang menggunakan nilai eigen dari matriks varians-kovarians. Fungsi print dapat digunakan untuk menampilkan hasil analisis dan fungsi plot dapat digunakan untuk menampilkan screeplot. Berikut penjelasan syntax dan pengunaannya.
> prcomp(x, ...) atau > prcomp(formula, data = NULL, subset, na.action, ...) atau > prcomp(x, retx = TRUE, center = TRUE, scale. = FALSE, tol = NULL, ...)
keterangan: formula:
adalah formula untuk variabel numerik tanpa melibatkan variabel respon
data:
data yang digunakan berupa data frame meliputi variabel-variabel dalam formula Sebagai default diambil variabel dari ‘environment(formula)’.
subset:
sebuah vektor yang digunakan untuk memilih baris (pengamatan) dari matriks X
Bertho Tantular - 13
Praktikum Analisis Data Multivariat II Menggunakan Software R na.action:
sebuah fungsi yang mengindikasikan apa yang akan dilakukan apabila ada data hilang
x:
adalah matriks numerik atau data frame yang berisi data yang digunakan untuk analisis komponen utama
retx:
berisi nilai logical (TRUE atau FALSE) yang mengindikasikan rotasi variabel yang akan digunakan
center:
berisi nilai logical (TRUE atau FALSE) yang mengindikasikan pemusatan data terhadap rata-ratanya.
scale:
berisi nilai logical (TRUE atau FALSE) yang mengindikasikan variabel yang dibakukan
tol:
berisi nilai yang mengindikasikan batas bawah komponen mana yang harus diabaikan. Komponen diabaikan apabila nilai simpangan bakunya kurang dari atau sama dengan nilai ”tol”.
Nilai-nilai yang dapat ditampilkan hasil analisis fungsi princomp adalah sebagai berikut
sdev:
Nilai simpangan baku dari komponen utamanya. Yaitu akar dari nilai eigen matriks varians-kovarians atau matriks korelasinya melalui perhitungan nilai singular matriks
data.rotation: adalah matriks variabel loading. Yaitu matriks yang kolom-kolomnya merupakan nilai-nilai eigen matriks varians-kovarians. x:
adalah nilai dari data yang telah dirotasikan. Nilai ini akan ada apabila fungsi ‘retx’ bernilai TRUE .
center, scale: adalah nilai pemusatan dan pembakuan yang digunakan
Penggunaan fungsi prcomp dapat dilakukan pada contoh kasus 1 dengan cara sebagai berikut
Bertho Tantular - 14
Praktikum Analisis Data Multivariat II Menggunakan Software R > fit_pca<-prcomp(Y, rex=TRUE, tol=0.1) > summary(fit_pca) Importance of components: PC1 Standard deviation
PC2
PC3
0.153 0.0245 0.0190
Proportion of Variance 0.961 0.0247 0.0148 Cumulative Proportion
0.961 0.9852 1.0000
> fit_pca$x PC1 25 -0.268473390
PC2
PC3
0.0610685037 -0.0004066149
26 -0.263344980 -0.0157244390
0.0066858875
27 -0.236045707 -0.0341210935
0.0074276738
28 -0.119923476
0.0141251769
0.0366922244
29 -0.120728388 -0.0149572760
0.0286045130
30 -0.152592781 -0.0089082112 -0.0169793685 31 -0.106039296
0.0165711616
0.0083826652
32 -0.093027430
0.0135333730 -0.0051929344
33 -0.106371042 -0.0012452738 -0.0278503862 34 -0.006575259 -0.0167441765
0.0071889505
35 -0.006268452 -0.0114497088 -0.0061739765 36 -0.011979592
0.0008012246 -0.0267516989
37
0.060886922
0.0280465362
38
0.041862973 -0.0108766303 -0.0089785626
39
0.047500815 -0.0174403631 -0.0021060793
40
0.070171264 -0.0330572711 -0.0006647271
41
0.040553932 -0.0277470963 -0.0419820919
42
0.112788083
0.0212894116
0.0162796865
43
0.105004626 -0.0293536649
0.0085075394
44
0.152416632
0.0324987788 -0.0055238164
45
0.179458559
0.0111082110
0.0125896593
0.0029094996
Bertho Tantular - 15
Praktikum Analisis Data Multivariat II Menggunakan Software R 46
0.179473590
0.0160774637 -0.0091929735
47
0.206783903
0.0297129498 -0.0185740872
48
0.294468494 -0.0232075863
0.0351090182
Dengan cara ini menghasilkan nilai skor komponen utama yang sama dengan cara sebelumnya. Nilai proporsi varians untuk tiap komponen utama juga bernilai sama dengan cara sebelumnya. Selain menggunakan fungsi princomp dan prcomp analisis komponen utama juga dapat dilakukan dengan fungsi principal. Tetapi fungsi principal ini hanya dapat dilakukan apabila telah diinstallkan paket psych. Paket psych dapat diunduh secara gratis di CRAN (http://cran.rproject.org/).
Bertho Tantular - 16
Praktikum Analisis Data Multivariat II Menggunakan Software R
MODUL II ANALISIS FAKTOR 1. Analisis Faktor Analisis Faktor adalah suatu cara menjelaskan suatu set variabel berdasarkan dimensi yang lebih umum. Pada dasarnya analisis faktor bertujuan untuk memudahkan interpretasi melalui struktur pola hubungan atau untuk mereduksi variabel. Hal ini dilakukan dengan cara mengidentifikasi struktur yang terdapat dalam set variabel yang terobservasi. Secara umum ada tiga kegunaan utama dari Analisis Faktor yaitu: •
Eksplorasi (disebut Eksploratory factor analysis (EFA)) yaitu membentuk variabel baru yang diperoleh melalui reduksi variabel
•
Konfirmasi (disebut Confirmatory Factor Analysis (CFA)) yaitu menguji struktur variabel yang dihipotesiskan berdasarkan banyaknya faktor yang signifikan dan besarnya faktor loading
•
Alat Pengukur (model measurment) yaitu pembentukan indeks-indeks yang akan digunakan sebagai pengamatan baru dalam analisa selanjutnya Misalkan terdapat satu set variabel dengan banyak variabel adalah p dan ternyata antar
variabel tersebut mempunyai tingkat korelasi yang tinggi. Dimungkinkan ada satu atau lebih variabel yang tidak terobservasi (disebut sebagai variabel laten) yang merupakan penyebab p variabel di atas. Keberadaan variabel yang tak terobservasi yang mampu menjelaskan variabel yang teramati merupakan pembahasan dalam Analisis Faktor. Dengan demikian pada intinya Analisis Faktor menjelaskan hubungan struktur kovarians dari variabel yang teramati dengan variabel yang tidak teramati. Analisis Faktor dapat dirumuskan dalam suatu model persamaan linier. Misalkan vektor acak X dengan p komponen memiliki rata-rata μ dan matriks covariance Σ. Maka dapat dibentuk model persamaan faktornya adalah
Bertho Tantular - 17
Praktikum Analisis Data Multivariat II Menggunakan Software R X1 – μ1 = l11 F1 + l12 F2 + … + l1m Fm + ε1 X2 – μ2 = l21 F1 + l22 F2 + … + l2m Fm + ε2 :
:
:
:
Xp – μp = lp1 F1 + lp2 F2 + … + lpm Fm + εp
dengan: μi = rata-rata variabel asal ke i εi = spesifik faktor ke i Fj = Common faktor ke j. lij disebut loading dari peubah asal ke i pada faktor ke j. Atau dalam bentuk matriks menjadi
(X – μ) (px1)
=
L
F
+
ε
(pxm) (mx1) (px1)
Asumsi yang digunakan dalam analisis faktor adalah: •
Data berasal dari populasi yang berdistribusi normal univariat
•
Dalam set data terdapat multikolinieritas dapat diuji dengan menggunakan Uji Bartlett.
•
E(F) = 0,
•
Cov(F) = E(FF’) = I
•
Cov(e) = E(e e’) = Ψ = diag(Ψ1, …., Ψp)
•
F dan ε saling bebas,
•
Cov (ε, F) = E (ε, F’) = 0
E(e) = 0
Koefisien lij disebut loading dari variabel asal ke i pada faktor ke j, maka matriks L adalah matriks factor loading dan F1, F2,…., Fm , ε1, ε2,…. εp adalah tidak terobservasi.
Bertho Tantular - 18
Praktikum Analisis Data Multivariat II Menggunakan Software R Berikut adalah hal-hal yang perlu dilakukan dalam analisis faktor •
Mengidentifikasikan struktur
•
Menentukan jumlah faktor (scree plot, eigen values, proporsi varians)
•
Menduga parameter (factor loading dan sistematik varians) - Metode Komponen Utama - Metode Kemungkinan Maksimum - Metode Kuadrat Terkecil
•
Rotasi faktor (ortogonal: varimax, quartimax, equimax; oblique: oblimax, quartimin, oblimin)
•
Interpretasi faktor (eigen values, explained variances, factor scores, koefisien faktor)
2. Analisis Faktor dalam R Analisis Faktor dalam software R dapat dianalisis melalui fungsi factanal(). Fungsi factanal() adalah analisis ekstraksi faktor menggunakan metode kemungkinan maksimum. Dalam software R, penjelasan tentang model analisis faktor adalah sebagai berikut
x=Λf+e
dengan x adalah vektor berukuran (p x 1), Λ adalah matriks loading berukuran (p x k), f adalah vektor skor faktor berukuran (k x 1) dan e adalah galat berukuran (p X 1). Dalam model ini tidak ada komponen yang terobservasi kecuali x. Asumsi yang mendasari model ini adalah bahwa faktor tidak saling berkorelasi, dan bahwa galat saling bebas dengan varians phi yang disebut ”uniquenesses”. Kemudian dalam analisi faktor model bagi matriks varians-kovarians x adalah
Σ=Λ'Λ +Ψi
Apabila dilakukan rotasi terhadap data maka Λ dapat digantikan dengan GΛ untuk setiap Bertho Tantular - 19
Praktikum Analisis Data Multivariat II Menggunakan Software R matriks G yang ortogonal. Input data berupa matriks varians-kovarians dapat digunakan dalam analisis faktor. Selain itu matriks data X juga dapat digunakan atau berupa formula yang menyatakan model konstruk dalam bentuk matriks sehingga dapat diperoleh dari matriks data tersebut matriks varians-kovariansnya. Yang perlu diperhatikan dalam hal ini adalah bahwa semua nilai-nilai dalam variabel-variabel yang terlibat harus numerik. Dalam analisis menggunakan fungsi factanal, matriks varians-kovarians dikonversi menjadi matriks korelasi. Model fit diperoleh dengan mengoptimasi fungsi log likelihood dibawah asumsi uniquenesses berdistribusi multivariat normal. Nilai uniquenesses secara teknis berada dalam interval [0, 1], tetapi apabila nilainya mendekati nol akan menjadi masalah, dan optimalisasi berakhir dengan batas bawah 0.005. Nilai faktor skor hanya dapat diperoleh apabila yang digunakan adalah matriks data. Metode yang digunakan adalah metode regresi dari Thomson (1951) dan metode weighted least squares (WLS) dari Bartlett (1937). Kedua metode ini menaksir nilai skor F. Metode Thomson menaksir F dengan model sebagai berikut
−1 F =' X
dan kemudian menggantikan nilai-nilai parameter dengan penaksirnya. Prinsip Metode Bartlett adalah meminimumkan jumlah kuadrat galat yang sudah dibakukan atau diboboti. Uraian berikut ini adalah penjelasan syntax dan cara penggunaannya.
> factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA, subset, na.action, start = NULL, scores = c("none", "regression", "Bartlett"), rotation = "varimax", control = NULL, ...)
Keterangan:
Bertho Tantular - 20
Praktikum Analisis Data Multivariat II Menggunakan Software R x:
berupa formula atau matriks numerik dari objek
factors:
banyak faktor yang digunakan.
data:
adalah data frame yang digunakan apabila x berupa formula.
covmat:
adalah matriks varians-kovarians dalam hal ini matriks korelasi
juga termasuk matriks varians-kovarians. n.obs:
banyaknya pengamatan dari data, opsi ini digunakan apabila opsi ‘covmat’ adalah matriks kovarians.
subset:
Spesifikasi pengamatan yang digunakan. Digunakan apabila opsi ‘x’ digunakan sebagai matriks data atau formula.
na.action:
opsi untuk data hilang, digunakan apabila opsi 'x' berupa formula
start:
dengan nilai default ‘NULL’ adalah matriks yang berisi nilai awal dengan tiap kolom merupakan set awal uniquenesses.
scores:
nilai skor. Ada dua tipe yaitu "regression" bila menggunakan
metode Thompson, dan "Bartlett"’ bila menggunakan metode Bartlett's weighted least-squares rotation:
tipe rotasi yang digunakan, secara default bernilai "none"
Nilai-nilai hasil analisis faktor menggunakan fungsi factanal
loadings:
menampilkan matriks loading faktor yang terurut dari besar
ke kecil berdasarkan jumlah kuadrat loading.. uniquenesses:
menampilkan nilai uniquenesses.
correlation:
menampilkan matriks korelasi yang digunakan.
criteria:
hasil dari optimalisasi yaitu nilai -2 log-likelihood dan informasi iterassi yang digunakan
factors:
The argument ‘factors’.
dof:
menampilkan nilai derajat kebebasan model analisis faktor
Bertho Tantular - 21
Praktikum Analisis Data Multivariat II Menggunakan Software R method:
metode yang digunakan (dalam hal ini adalah "mle").
scores:
menampilkan matriks faktor skor
n.obs:
banyak pengamatan.
STATISTIC, PVAL:
menampilkan nilai signifikansi statistik uji dan p-value.
Dalam analisis faktor ada banyak variasi penggunaannya sehingga sulit bagi kita untuk membandingkan output dari program yang berbeda-beda. Bagaimanapun metode optimalisasi dalam analisis faktor menggunakan maximum likelihood cukup sulit.
Syntax berikut adalah contoh pengunaannya
> fit <- factanal(dataku, factors=banyak_faktor, rotation="varimax") > print(fit, digits=2, cutoff=.3, sort=TRUE)
# Output analisis faktor
> load <- fit$loadings
# Menampilkan loading factor
> plot(load,type="n")
# plot faktor 1 dan faktor 2
> text(load,labels=names(mydata),cex=.7)
# menambahkan nama variabel
Contoh Kasus 1 Dalam suatu studi consumer-preference diambil sampel acak dari sejumlah konsumen. Kepada mereka ditanyakan mengenai 5 atribut dari sebuah produk baru. Respon dari konsumen menggunakan skala 7 semantik differensial, yang hasilnya telah dihitung menjadi matriks korelasi berikut ini (Johnson & Wichern, 2002 halaman 487)
Atribut (Variabel)
1
2
3
4
5
Taste
1
0.02
0.96
0.42
0.01
Good buy for money
0.02
1
0.13
0.71
0.85
Flavor
0.96
0.13
1
0.5
0.11
Suitable for snack
0.42
0.71
0.5
1
0.79
Provides lots energy
0.01
0.85
0.11
0.79
1 Bertho Tantular - 22
Praktikum Analisis Data Multivariat II Menggunakan Software R
Lakukan analisis faktor terhadap matriks korelasi dari 5 variabel tersebut
Sebelum menganalisis data tersebut perlu diinputkan dulu matriks korelasinya dengan cara sebagai berikut
> mc<matrix(c(1,.02,.96,.42,.01,.02,1,.13,.71,.85,.96,.13,1,.5,.11,.42,.71,.5,1,.7 9,.01,.85,.11,.79,1), 5, 5) > mc [,1] [,2] [,3] [,4] [,5] [1,] 1.00 0.02 0.96 0.42 0.01 [2,] 0.02 1.00 0.13 0.71 0.85 [3,] 0.96 0.13 1.00 0.50 0.11 [4,] 0.42 0.71 0.50 1.00 0.79 [5,] 0.01 0.85 0.11 0.79 1.00
Kemudian analisis faktor menggunakan perintah sebagai berikut
> fit<-factanal(factors=2, covmat=mc) > fit Call: factanal(factors = 2, covmat = mc)
Uniquenesses: [1] 0.028 0.237 0.040 0.168 0.052
Loadings: Factor1 Factor2 [1,]
0.985
Bertho Tantular - 23
Praktikum Analisis Data Multivariat II Menggunakan Software R [2,]
0.873
[3,]
0.131
0.971
[4,]
0.817
0.405
[5,]
0.973
Factor1 Factor2 SS loadings
2.396
2.078
Proportion Var
0.479
0.416
Cumulative Var
0.479
0.895
The degrees of freedom for the model is 1 and the fit was 0.0233
Dari output diatas terlihat bahwa Faktor 1 beranggotakan variabel 2, variabel 4 dan variabel 5 sedangkan variabel 1 dan variabel 3 berada pada Faktor 2.
3. Menentukan Banyak Faktor Hal yang penting dalam analisis faktor adalah menentukan berapa banyak faktor yang mesti diambil. Beberapa metode dapat digunakan untuk menentukan banyak faktor, misalnya menggunakan kriteria nilai eigen, proporsi varians dan secara grafis menggunakan screeplot. Untuk itu dalam software R disediakan paket nFactors. Fungsi yang digunakan dalam paket ini adalah nScree, uraian berikut adalah penjelasan mengenai syntax dan contoh penggunaannya Fungsi nScree dalam software R adalah suatu fungsi untuk menganalisis banyaknya komponen atau faktor dalam analisis faktor eksplanatori. Fungsi ini berguna untuk memberikan informasi mengenai banyak faktor melalui aturan Kaiser dan analisis paralel.
> nScree(eig=NULL, x=eig, aparallel=NULL, cor=TRUE, model="components", criteria=NULL, ...)
Keterangan: eig:
adalah parameter berupa eigenvalues yang akan dianalisis Bertho Tantular - 24
Praktikum Analisis Data Multivariat II Menggunakan Software R x:
adalah input dapat berupa vektor eigenvalues, atau matriks korelasi atau kovarians dari data (data frame)
aparallel:
hasil dari analisis paralel.
Cor
berniilai ‘TRUE’ apabila yang digunakan matriks korelasi dan 'FALSE' apabila yang digunakan matriks kovarians
model:
bernilai "components” atau "factors"
criteria:
bernilai numerik.
Hasil analisis yang dapat ditampilkan dari paket nFactors
Components
: berupa data frame yang berisi banyaknya komponen atau faktor yang didasarkan atas aturan yang berbeda
Components$noc
: Banyaknya komponen atau faktor berdasarkan koordinat optimal (oc)
Components$naf
: Banyaknya komponen atau faktor berdasarkan acceleratoin factor (af)
Components$npar.analysis : Banyaknya komponen atau faktor berdasarkan koordinat analisis paralel Components$nkaiser : Banyaknya komponen atau faktor berdasarkan aturan Kaiser Analysis
: Berupa Data frame berisi vektor yang berkaitan dengan aturan yang berbeda
Analysis$Eigenvalues : Menampilkan nilai eigen Analysis$Prop
: Nilai proporsi varians yang dihitung dari nilai eigen
Analysis$Cumu
: proporsi kumulatif dari varians yang dihitung dari nilai eigen
Analysis$Pred.eig
: prediksi nilai eigen dari setiap koordinat garis regresi optimal
Analysis$OC
: nilai koordinat optimal (oc)
Analysis$Acc.factor : nilai Acceleration factor _af_ Analysis$AF
: nilai kritis acceleration factor _af_
Bertho Tantular - 25
Praktikum Analisis Data Multivariat II Menggunakan Software R
Secara umum contoh penggunaan paket nFactors untuk data pada Contoh kasus 1 dengan banyak pengamatan adalah 200 dapat dilihat pada syntax berikut ini
# Menentukan banyak faktor yang diekstraksi > library(nFactors) > ev <- eigen(mc) # get eigenvalues > ap <- parallel(subject=200,var=5,rep=100,cent=.05) > nS <- nScree(ev$values, ap$eigen$qevpea) > plotnScree(nS)
Bertho Tantular - 26
Praktikum Analisis Data Multivariat II Menggunakan Software R Dari gambar diatas diperoleh hasil bahwa banyak faktor yang dapat diambil adalah 2 berdasarkan analisis paralel. Berdasarkan metode acceleration factor (AF) banyak faktor yang dapat diambil adalah 1. Hal ini sesuai dengan output yang dapat ditampilkan diantaranya sebagai berikut
> nS$Components noc naf nparallel nkaiser 1
0
1
2
3
> nS$Analysis Eigenvalues
Prop
Cumu Par.Analysis
Pred.eig OC
Acc.factor
1
1.1171429 0.2392734 0.2392734
1 1.1405741
2
1.0352471 0.2217327 0.4610062
1 1.0635482
-0.004563809
3
0.9487875 0.2032145 0.6642207
1 0.9776396
-0.013875043
4
0.8484528 0.1817245 0.8459452
1
NA
-0.028852103
5
0.7192661 0.1540548 1.0000000
1
NA
NA
AF
NA (< AF)
Fungsi Alternatif untuk Analisis Faktor dalam R (1) Fungsi factor.pa dalam Paket psych Fungsi lain untuk analisis faktor adalah factor.pa( ) yang terdapat pada Paket psych. Dalam fungsi ini menyertakan analisis faktor menggunakan principal axis. Dari sekian banyak metode analisis faktor pendekatan konvensional adalah principal axes melalui dekomposisi nilai eigen dari matriks korelasi dipeorleh nilai komunalitas dari tiap variabel dan ditaksir n faktor pertama. Nilai komunalitas ini dimasukkan ke dalam diagonal matriks dan prosedur diulang hingga jumlah diagonal tidak berubah. Metode lain adalah menggunakan Metode kuadrat terkecil untuk memperoleh nilai solusi residual minimum (disebut minres). Variasi dari minres digunakan dalam kuadrat terkecil diboboti (weighed least squares). Metode penaksiran lainnya adalah metode kemungkinan maksimum. Metode ini bisa diperoleh dari fungsi fa atau factanal yang telah dijelaskan sebelumnya. Bertho Tantular - 27
Praktikum Analisis Data Multivariat II Menggunakan Software R Metode Principal axes dapat digunakan pada saat metode kemungkinan maksimum tidak mencapai konvergen. Masalah dalam analisis faktor adalah mencari penaksir terbaik bagi komunalitas. Apabila Squared Multiple Correlation (SMC) digunakan untuk tiap variabel akan diperoleh nilai komunalitas yang underestimate. Algoritma yang digunakan tidak mencoba untuk menemukan solusi terbaik (seperti dalam kriteria kemungkinan maksimum) tetapi cukup dengan mencapai konvergen dengan cepat melalui dekomposisi nilai eigen. Pendekatan yang berbeda adalah solusi yang diperoleh dari minimum residual (minres) merupakan metode kuadrat terkecil yang tidak diboboti (unweighted least squares). Fungsi optim
digunakan
dan
disesuaikan
dengan
elemen-elemen
matriks
korelasi
untuk
meminimumkan kuadrat residu. Metode minres dan pa dapat digunakan pada saat metode maksimum likelihood tidak mencapai konvergen dan dapat digunakan apabila matriks input singular. Setidaknya solusi yang diperoleh dari metode minres lebih mirip dengan metode kemungkinan maksimum dibandingkan solusi dari metode pa. Secara umum solusi dari metode minres dan WLS mengikuti ide dari fungsi factanal. Metode weighted least squares (WLS) memberikan bobot dari matriks residu dengan 1 dibagi diagonal invers matriks korelasi. Metode generalized least squares (GLS) memberikan bobotmatriks residual dengan invers matriks korelasi. Beberapa metode rotasi dalam analisis faktor yang dapat digunakan adalah varimax meliputi “Varimax”, “quartimax”, “bentlerT” dan “geominT” berupa rotasi ortogonal, dan oblique meliputi "promax", "oblimin", "simplimax", "bentlerQ, dan "geominQ" atau "cluster". Uraian berikut adalah penjelasan mengenai syntax dan contoh penggunaannya
> fa(r,nfactors=1,n.obs = NA, rotate="oblimin", scores=FALSE, residuals=FALSE, SMC=TRUE, covar=FALSE,missing=FALSE,impute="median",min.err = 0.001, max.iter = 50,symmetric=TRUE,warnings=TRUE,fm="minres",alpha=.1, ...)
> factor.pa(r, nfactors=1, residuals = FALSE, rotate = "varimax",n.obs = NA, scores = FALSE,SMC=TRUE, missing=FALSE,impute="median",min.err = 0.001, digits = 2, max.iter = 50,symmetric=TRUE,warnings=TRUE,fm="pa") Bertho Tantular - 28
Praktikum Analisis Data Multivariat II Menggunakan Software R
> factor.minres(r, nfactors=1, residuals = FALSE, rotate = "varimax",n.obs = NA, scores = FALSE,SMC=TRUE, missing=FALSE,impute="median",min.err = 0.001, digits = 2, max.iter = 50,symmetric=TRUE,warnings=TRUE,fm="minres")
> factor.wls(r,nfactors=1,residuals=FALSE,rotate="varimax",n.obs = NA, scores=FALSE,SMC=TRUE,missing=FALSE,impute="median", min.err = .001, digits=2, max.iter=50,symmetric=TRUE,warnings=TRUE,fm="wls") Keterangan: r
: adalah matriks korelasi atau matriks data mentah.
Nfactors
: adalah banyak faktor yang akan diekstrak, nilai defaultnya adalah satu
n.obs
: banykanya pengamatan yang digunakan. Opsi ini berlaku apabila input adalah matriks korelasi. Dan digunakan untuk mencari statistik goodness of fit statistics.
Rotate
: berisi metode rotasi meliputi "none", "varimax", "quartimax", "bentlerT", dan "geominT" untuk rotasi ortogonal. "promax", "oblimin", "simplimax", "bentlerQ, dan "geominQ" or "cluster". Nilai default untuk opsi ini adalah oblimin
residuals
: Matriks residual yang akan ditampilkan
scores
: bernilai “TRUE” untuk menampilkan nilai taksiran factor scores
SMC
: benilai “TRUE” apabila menggunakan squared multiple correlations
covar
: bernilai “TRUE” bila yang digunakan matriks kovarians, bernilai “FALSE” bila yang digunakan matriks korelasi
missing
: Bernilai “TRUE” apabila akan mengganti data hilang dengan rata-rata atau median. Opsi ini digunakan apabila opsi scores bernilai “TRUE”.
impute
: digunakan untuk mengganti data hilang. Opsi ini bernilai "median" untuk mengganti dengan median atau "mean" untuk mengganti dengan rata-rata. Bertho Tantular - 29
Praktikum Analisis Data Multivariat II Menggunakan Software R min.err
: adalah nilai batas untuk iterasi. Iterasi berhenti pada saat perubahan komunalitas lebih kecil dari nilai min.err
digits
: berapa banyak digit output yang digunakan
max.iter
: Nilai maksimum iterasi
symmetric
: bernilai “TRUE” atau “FLASE”
warnings
: bernilai “TRUE” untuk menampilkan peringatan apabila terlalu banyak faktor yang akan diekstrak
fm
: metode faktorisasi bernilai "minres" untuk minimum residual (OLS), bernilai “wls" untuk weighted least squares (WLS), “gls" untuk generalized weighted least squares (GLS), "pa" untuk principal factor dan "ml" untuk maximum likelihood.
alpha
: adalah nilai alpha untuk selang kepercayaan RMSEA
Hasil-hasil yang dapat ditampilkan adalah sebagai berikut:
values
: menampilkan nilai eigen dari common faktor
e.values
: menampilkan nilai eigen dari matriks asli
communality
: menampilkan nilai taksiran komunalitas setiap item. Nilai ini merupakan jumlah kuadrat loading faktor untuk item tersebut.
Rotation
: menampilkan rotasi yang digunakan
n.obs
: menampilkan banyak pengamatan yang digunakan
loadings
: menampilkan nilai loading
fit
: How well does the factor model reproduce the correlation matrix. This is just (sum(r^2ij - sum(r*^2ij))/sum(r^2ij (See ‘VSS’, ‘ICLUST’, and ‘principal’ for this fit statistic.
fit.off
: how well are the off diagonal elements reproduced?
Dof
: derajat kebebasan dari model yang digunakan. Nilai ini merupakan Bertho Tantular - 30
Praktikum Analisis Data Multivariat II Menggunakan Software R banyaknya nilai korelasi pengamatan dikurangi banyaknya parameter. Dituliskan dalam rumus matematika adalah sebagai berikut
dof =
n n−1 q q−1 −n q 2 2
dengan n adalah banyaknya pengamatan q banyaknya faktor objective
: menampilkan fungsi objektif.
STATISTIC
: Nilai statistik chi kuadrat yang didasarkan atas fungsi objektif. Apanila dituliskan dalam rumus matematika adalah sebagai berikut
2 =
n−1−2 p5 2 q − f 6 3
dengan n adalah banyak pengamatan p adalah banyak variabel q adalah banyak faktor f adalah fungsi objektif Phi
: interfactor correlation.
communality.iterations: menampilkan taksiran komunalitas dari tiap iterasi (Hanya digunakan pada metode principal axis) Residual
: menampilkan matriks korelasi residual setelah model faktor digunakan
BIC
: menampilkan nilai Bayesian Information Criterion
R2
: Nilai R2 multiple antara faktor dengan penaksir factor score. Menggunakan nilai ini dapat diketahui korelasi minimum antara dua faktor dengan rumus 2R2 - 1
r.scores
: nilai korelasi dari penaksir factor score
weights
: pembobot yang digunakan Bertho Tantular - 31
Praktikum Analisis Data Multivariat II Menggunakan Software R valid
: nilai koefisien validitas
score.cor
: matriks korelasi dari penaksir faktor score dengan pembobot berdasarkan matriks loading.
Syntax berikut adalah contoh analisis faktor menggunakan principal axis dengan fungsi factor.pa()
# Principal Axis Factor Analysis library(psych) fit <- factor.pa(dataku, nfactors=3, rotation="varimax") fit # print results
dataku
adalah data yang digunakan (raw data atau matriks kovarians/korelasi).
rfactors
banyak faktor yang diekstraksi
rotation
rotasi yang digunakan dalam hal ini "varimax" or "promax".
(2) Paket FactoMineR Paket FactoMineR meliputi beragam fungsi tambahan dalam analisis faktor eksploratori. Dalam Paket ini menyertakan analisis faktor untuk variabel kualitatif maupun kuantitatif. Dalam paket ini juga menyertakan grafik untuk analisis faktor secara otomatis. Fungsi yang digunakan adalah PCA dan contoh penggunaan paket FactoMineR secara sederhana.
# PCA Variable Factor Map library(FactoMineR) result <- PCA(mydata) # grafik digambarkan secara otomatis
Paket nFactors, psych dan FactoMineR tidak disertakan secara default dalam software tetapi dapat diunduh secara gratis pada the Comprehensive R Archive Network (CRAN) di alamat http://CRAN.R-project.org/. Bertho Tantular - 32
Praktikum Analisis Data Multivariat II Menggunakan Software R
MODUL III ANALISIS KORELASI KANONIK 1. Pendahuluan Analisis korelasi kanonik berguna untuk mengidentifikai dan kuantifikasi asosiasi antara dua set variabel. Analisis korelasi kanonik tercurah pada korelasi antara kombinasi linier dari suatu set variabel dengan kombinasi linier set variabel lainnya. Pasangan-pasangan kombinasi linier disebut sebagai variabel kanonik sedangakn korelasinya disebut korelasi kanonik. Korelasi kanonik mengukur kekuatan asosiasi antara dua set variabel.
2. Korelasi Kanonik dalam R Analisis Korelasi Kanonik dalam software R dapat dianalisis melalui Paket CCA yang dapat diunduh pada the Comprehensive R Archive Network (CRAN) di alamat http://CRAN.Rproject.org/. Setelah itu install paket tadi di software R kemudian loading dengan perintah
> library(CCA)
Adapun syntax untuk analisis korelasi kanonik adalah sebagi berikut
> cc( X, Y)
X
adalah set variabel yang pertama berukuran n x p
Y
adalah set variabel yang kedua berukuran n x q
Contoh Data berikut mengenai studi nutrisi dari tikus. Data diperoleh dari Pascal Martin dari the Toxicology and Pharmacology Laboratory (French National Institute for Agronomic Research). Data ini sudah disertakan dalam paket CCA dengan nama nutrimouse sehingga kita tinggal Bertho Tantular - 33
Praktikum Analisis Data Multivariat II Menggunakan Software R mempergunakannya saja. Dari data nutrimouse ingin dikorelasikan gen dengan lipid dari tikus. Berikut adalah syntax yang digunakan
> data(nutrimouse)
# menggunakan data nutrimouse
> X=as.matrix(nutrimouse$gene[,1:10])
# set variabel pertama yaitu
gen > Y=as.matrix(nutrimouse$lipid)
# set variabel kedua yaitu
lipid > res.cc=cc(X,Y)
# korelasi kanonik
> plot(res.cc$cor,type="b")
# plot korelasi
> plt.cc(res.cc)
Output dari syntax tersebut adalah
Bertho Tantular - 34
Praktikum Analisis Data Multivariat II Menggunakan Software R
Untuk menampilkan seluruh output gunakan syntax berikut
> res.cc
# Menampilkan seluruh output
> res.cc$cor
# Menampilkan nilai korelasi kanoniknya
> res.cc$xcoef
# Menampilakn penaksir koefisien bagi variabel X
> res.cc$ycoef
# Menampilakn penaksir koefisien bagi variabel Y
> res.cc$scores
# Menampilkan koordinat bagi variat kanonik
Bertho Tantular - 35
Praktikum Analisis Data Multivariat II Menggunakan Software R
MODUL IV ANALISIS DISKRIMINAN 1. Pendahuluan Analisis Diskriminan adalah suatu teknik mutivariat yang terkonsentrasi pada pemisahan secara tegas suatu set objek atau pengamatan dan menenpatkan suatu objek atau pengamatan baru ke dalam kelompok yang telah didefinisikan sebelumnya. Tujuan analisis diskriminan sendiri adalah untuk menduga keanggotaan objek atu pengamatan dalam suatu kelompok melalui fungsi dari variabel-variabel yang diukur pada objek tersebut. Fungsi pembentuk kelompok tersebut merupakan sebuah model yang linier terhadap variabel maupun terhadap koefisiennya. Model linier yang mendasari analisis diskriminan mempunyai setidaknya tiga asumsi yaitu 1. antar objek atau pengamatan harus saling bebas 2. variabel-variabel penjelas harus memiliki distribusi normal multivariat 3. banyaknya pengamatan harus lebih besar dari banyaknya variabel
2. Analisis Diskriminan dalam R Analisis Diskriminan dalam software R dapat dianalisis melalui Paket MASS. Secara default paket MASS telah disertakan dalam installasi awal software R sehingga kita tinggal mengaktifkannya dengan perintah
> library(MASS)
Paket MASS telah meliputi fungsi analisis diskriminan linier dan kuadratik. Penggunaan analisis diskriminan menggunakan software R akan dijelaskan melalui ilustrasi berikut ini: Dalam rangka mengatur penangkapan Ikan Salmon, sangat diinginkan bisa mengidentifikasi Bertho Tantular - 36
Praktikum Analisis Data Multivariat II Menggunakan Software R apakah ikan yang tertangkap berasal dari Alaska atau Kanada. Ikan Salmon mempunyai ciri khas dalam perkembangan pertumbuhannya. Ikan salmon lahir di air tawar kemudian tumbuh dewasa di air laut. Untuk keperluan tersebut lima puluh Ikan Salmon diambil dari masingmasing tempat, dan pertumbuhan diameternya diukur ketika ikan-ikan itu hidup di air tawar dan ketika hidup di air laut, selain itu dibedakan pula terhadap jenis kelaminnya. Tujuannya adalah untuk mengetahui apakah ikan yang tertangkap di kemudian hari berasal dari Alaska atau dari Kanada. (Johnson & Wichern 2002 halaman 607). Untuk keperluan analisis untuk jenis kelamin diberi kode 1 untuk ikan jantan dan 2 untuk ikan betina.
Deskripsi Data Untuk menampilkan deskripsi dari data salmon lakukan perintah-perintah berikut:
> salmon<-read.csv("salmon.csv") > str(salmon) 'data.frame': 100 obs. of 4 variables: $ Ikan.Salmon: Factor w/ 2 levels "Alaska","Kanada": 1 1 1 1 1 1 1 1 1 1 ... $ AirTawar
: int 108 131 105 86 99 87 94 117 79 99 ...
$ AirLaut
: int 368 355 469 506 402 423 440 489 432 403 ...
$ JK
: int 2 1 1 2 1 2 1 2 2 1 ...
> alaska<-c(mean(salmon$AirTawar[1:50]),sd(salmon$AirTawar[1:50]) ) > kanada<-c(mean(salmon$AirTawar[51:100]),sd(salmon$AirTawar[51:100])) > sdes<-data.frame(alaska,kanada) > row.names(sdes)=c("Rata-rata","Simp.Baku") > sdes alaska
kanada
Rata-rata
98.38000
137.46000
Simp.Baku
16.14335
18.05797
> alaska<-c(mean(salmon$AirLaut[1:50]),sd(salmon$AirLaut[1:50]) ) > kanada<-c(mean(salmon$AirLaut[51:100]),sd(salmon$AirLaut[51:100]))
Bertho Tantular - 37
Praktikum Analisis Data Multivariat II Menggunakan Software R > sdes2<-data.frame(alaska,kanada) > row.names(sdes2)=c("Rata-rata","Simp.Baku") > sdes alaska
kanada
Rata-rata
429.66000
366.62000
Simp.Baku
37.40436
29.88747
Secara deskriptif terlihat bahwa rata-rata diameter pertumbuhan ikan salmon di Alaska lebih kecil dibandingkan dengan di Kanada.
Pengujian Asumsi Normalitas Multivariat Secara umum ada dua pendekatan untuk menguji distribusi data Normal Multivariat yaitu menggunakan metode grafik (Q-Q Plot) dan menggunakan pengujian hipotesis (Uji Mshapiro). Baris-baris perintah berikut adalah pengujian distribusi normal multivariat untuk kedua metode
# Metode Grafik QQ-Plot > salmon2<-data.frame(salmon$AirTawar, salmon$AirLaut) > X <- as.matrix(salmon2)
# membentuk matriks n x p
> center <- colMeans(X)
# titik pusat
> n <- nrow(X) > p <- ncol(X) > cov <- cov(X) > d <- mahalanobis(X,center,cov)
# Menghitung Jarak Mahalanobis
> qqplot(qchisq(ppoints(n),df=p),d,main="QQ-Plot untuk Data Salmon", + ylab="Jarak Mahalanobis") > abline(a=0,b=1)
Bertho Tantular - 38
Praktikum Analisis Data Multivariat II Menggunakan Software R
# Pengujian Hipotesis Shapiro library(mvnormtest) mshapiro.test(M)
# input M harus matriks
Dari grafik data terlihat agak melenceng untuk jarak data yang cukup besar yang mengindikasikan data tidak berdistribusi normal multivariat.
Fungsi Diskriminan Linier Fungsi lda() dalam paket MASS dapat digunakan untuk analisis diskriminan linier. Fungsi ini didasarkan pada variabel-variabel yang terpusat tetapi bukan nilai baku. Uraian berikut adalah penjelasan mengenai penggunaan fungsi lda.
> lda(x, ...)
Bertho Tantular - 39
Praktikum Analisis Data Multivariat II Menggunakan Software R atau
> lda(formula, data, ..., subset, na.action)
atau > lda(x, grouping, prior = proportions, tol = 1.0e-4, method, CV = FALSE, nu, ...)
> lda(x, grouping, ..., subset, na.action)
keterangan: formula
: adalah model atau fungsi yang digunakan. Contoh ‘G ~ x1 + x2 + ...’ dalam hal ini G adalah variabel respon berupa data nominal yang menjelaskan kelompok dan x1, x2, … adalah variabelnya.
data
: berupa data frame dari variabel-variabel yang digunakan dalam formula
x
: berupa matriks atau data frame dari variabel-variabel penjelas. Opsi ini digunakan apabila formula tidak didefinisikan
grouping
: suatu faktor yang mendefinisikan kelompok dari tiap pengamatan Opsi ini digunakan apabila formula tidak didefinisikan
prior
: adalah fungsi peluang prior dari keanggotaan kelompok.
tol
: nilai toleransi yang digunakan apabila diperoleh matriks singular. Variabel dan kombinasi linier varians unit variabel yang nilainya kurang dari Nilai kuadrat tol berguna akan ditolak atau dikeluarkan.
na.action
: suatu fungsi untuk penanganan data hilang
method
: bernilai ‘"moment"’ untuk penaksir baku bagi rata-rata dan varianas, "mle” untuk penaksir kemungkinan maksimum, ‘"mve"’ untuk digunakan dalam ‘cov.mve’, atau "t" untuk penaksir robust berdasarkan distribusi t.
CV
: bernilai “TRUE” untuk menampilkan cross-validation.
Nu
: derajat bebas untuk metode "t". Bertho Tantular - 40
Praktikum Analisis Data Multivariat II Menggunakan Software R
Hasil yang dapat ditampilkan adalah sebagai berikut prior
: prior probabilities yang digunakan.
means
: rata-rata kelompok.
scaling
: menampilkan matriks yang mentransformasikan pengamatan menjadi fungsi diskriminan.
svd
: menampilkan dekomposisi nilai singular yaitu ratio simpangan baku antar kelompok dengan simpangan baku dalam kelompok. Kuadrat dari nilai ini adalah nilai statistik F.
n
: banyak pengamatan yang digunakan.
call
: fungsi yang dihasilkan.
Untuk analisis diskriminan linier data Ikan salmon dapat menggunakan perintah-perintah berikut
> library(MASS) > fit <- lda(Ikan.Salmon ~ AirTawar + AirLaut, data=salmon, na.action="na.omit") Call: lda(Ikan.Salmon ~ AirTawar + AirLaut, data = salmon, na.action = "na.omit")
Prior probabilities of groups: Alaska Kanada 0.5
0.5
Group means: AirTawar AirLaut Alaska
98.38
429.66
Kanada
137.46
366.62
Bertho Tantular - 41
Praktikum Analisis Data Multivariat II Menggunakan Software R Coefficients of linear discriminants: LD1 AirTawar AirLaut
0.04458572 -0.01803856
Kemudian apabila ingin mengetahui akurasi dari analisis diskriminan yang telah dibuat lakukan prosedur berikut ini
# Menampilkan tabel keanggotaan sebenarnya dan hasil prediksi > fit <- lda(Ikan.Salmon ~ AirTawar + AirLaut, data=salmon, na.action="na.omit",CV=T) > ct <- table(salmon$Ikan.Salmon, fit$class) > ct Alaska Kanada Alaska
44
6
Kanada
1
49
# Menentukan persentase ketepatan keanggotaan untuk tiap kategori > diag(prop.table(ct, 1)) Alaska Kanada 0.88
0.98
# Menentukan Total persentase ketepatan keanggotaan > sum(diag(prop.table(ct))) [1] 0.93
Secara umum kekeliruan dalam klasifikasi sebesar 7% cukup kecil. Artinya hanya sekitar 7 dari 100 ekor Ikan Salmon Alaska yang diklasifikasikan sebagai Ikan Salmon Kanada dan Ikan Salmon Kanada yang diklasifikasikan sebagai Ikan Salmon Alaska. Bertho Tantular - 42
Praktikum Analisis Data Multivariat II Menggunakan Software R
Fungsi Diskriminan Kuadratik Untuk memperoleh fungsi diskriminan kuadratik dapat melalui fungsi qda( ) atau lda( ). Fungsi diskriminan kuadratik tidak mengasumiskan homogenitas matriks varians-kovarians. Kedua fungsi ini ada didalam paket MASS. Uraian berikut adalah penjelasan mengenai penggunaan fungsi qda.
> qda(x, ...)
atau
> qda(formula, data, ..., subset, na.action)
atau > lda(x, grouping, prior = proportions, tol = 1.0e-4, method, CV = FALSE, nu, ...)
> qda(x, grouping, ..., subset, na.action)
keterangan: formula
: adalah model atau fungsi yang digunakan. Contoh ‘G ~ x1 + x2 + ...’ dalam hal ini G adalah variabel respon berupa data nominal yang menjelaskan kelompok dan x1, x2, … adalah variabelnya.
data
: berupa data frame dari variabel-variabel yang digunakan dalam formula
x
: berupa matriks atau data frame dari variabel-variabel penjelas. Opsi ini digunakan apabila formula tidak didefinisikan
grouping
: suatu faktor yang mendefinisikan kelompok dari tiap pengamatan Opsi ini digunakan apabila formula tidak didefinisikan Bertho Tantular - 43
Praktikum Analisis Data Multivariat II Menggunakan Software R prior
: adalah fungsi peluang prior dari keanggotaan kelompok.
tol
: nilai toleransi yang digunakan apabila diperoleh matriks singular. Variabel dan kombinasi linier varians unit variabel yang nilainya kurang dari Nilai kuadrat tol berguna akan ditolak atau dikeluarkan.
na.action
: suatu fungsi untuk penanganan data hilang
method
: bernilai ‘"moment"’ untuk penaksir baku bagi rata-rata dan varianas, "mle” untuk penaksir kemungkinan maksimum, ‘"mve"’ untuk digunakan dalam ‘cov.mve’, atau "t" untuk penaksir robust berdasarkan distribusi t.
CV
: bernilai “TRUE” untuk menampilkan cross-validation.
Nu
: derajat bebas untuk metode "t".
Hasil yang dapat ditampilkan adalah sebagai berikut prior
: prior probabilities yang digunakan.
means
: rata-rata kelompok.
scaling
: menampilkan matriks yang mentransformasikan pengamatan menjadi fungsi diskriminan.
svd
: menampilkan dekomposisi nilai singular yaitu ratio simpangan baku antar kelompok dengan simpangan baku dalam kelompok. Kuadrat dari nilai ini adalah nilai statistik F.
n
: banyak pengamatan yang digunakan.
call
: fungsi yang dihasilkan.
Ldet
: menampilkan vektor setengah log determinan matriks dispersi.
Lev
: menampilkan tingkatan dari faktor kelompok
class
: menampilkan mapping klasifikasi
posterior
: menampilkan distribusi posterior
Berikut contoh penggunaan analisis diskriminan kuadratik dengan banyak kelompok adalah 3 dan banyak variabel adalah 4 dan ketiga kelompok mempunyai nilai peluang prior yang sama Bertho Tantular - 44
Praktikum Analisis Data Multivariat II Menggunakan Software R
> library(MASS) > fit <- qda(G ~ x1 + x2 + x3 + x4, data=na.omit(mydata), prior=c(1,1,1)/3))
Menggambarkan Hasil Semua pengamatan dapat diplot kedalam sebuah gambar dua dimensi dengan mengambil dua fungsi diskriminan pertama
# Menggambarkan Histogram kedua kategori plot(fit) # fit from qda
Menggambarkan scatterplot bagi kedua variabel untuk memperlihatkan keanggotaan kedua kategori. Fungsi partimat( ) dalam paket klaR dapat menggambarkan hasil dari fungsi Bertho Tantular - 45
Praktikum Analisis Data Multivariat II Menggunakan Software R diskriminan linier dua variabel. Perintah-perintah berikut adalah langkah-langlahnya
# Grafik Eksplorasi untuk Analisis Diskriminan Linier > library(klaR) > partimat(Ikan.Salmon ~ AirTawar + AirLaut, data=salmon, method="lda")
Selain itu juga bisa dibuat scatterplot dengan menggunakan warna untuk masing-masing kategori. Untuk itu gunakan perintah-perintah berikut ini.
# Scatterplot > pairs(salmon[c("AirTawar","AirLaut")], main="Plot Analisis Diskriminan Ikan Salmon", pch=22, bg=c("red", "blue")[unclass(salmon$Ikan.Salmon)])
Bertho Tantular - 46
Praktikum Analisis Data Multivariat II Menggunakan Software R
Dari Gambar diatas menunjukkan perbedaan kelompok Ikan Salmon dilihat dari dua variabel diameter ikan pada saat hidup di air tawar dan diameter ikan pada saat hidup di air laut. Warna merah adalah Ikan Salmon yang berasal dari Alaska dan warna biru menunjukkan Ikan Salmon yang berasal dari Kanada.
Bertho Tantular - 47
Praktikum Analisis Data Multivariat II Menggunakan Software R
MODUL V ANALISIS KLASTER 1. Pendahuluan Secara sederhana Analisis Klaster digunakan untuk menentukan pengelompokkan objek atau pengamatan yang didasarkan atas kemiripan objek. Objek yang berada dalam satu kelompok merupakan objek yang mirip satu sama lain dan sebaliknya yang berbeda kelompok merupakan objek yang tidak mirip satu sama lain.Berbagai metode digunakan untuk menentukan keanggotaan kelompok dalam analisis klaster. Secara umum analisis klaster dibagi menjadi dua yaitu Analisis Klaster Hierarki dan Analisis Klaster Non-Hirarki. Data yang digunakan dalam Analisis Klaster dapat berupa data pengamatan yang berdistribusi Multivariat atau bisa berupa sebuah matriks simetris proximity yaitu kemiripan antar objek (similarity) atau ketakmiripan antar objek (dissimilarity). Matriks korelasi bisa digunakan sebagai matriks proximity sebagai ukuran kemiripan sedangakn matriks jarak (misalnya Euclidian Distance) sebagai ukuran ketakmiripan.
2. Analisis Klaster Dalam R Software R memiliki beragam fungsi untuk analisis klaster. Dalam bagian ini akan dijelaskan tiga pendekatan dalam analisis klaster yaitu: Analisis Klaster hierarki agglomerative dan Metode partitioning (K-means). Beberapa pendekatan dalam penentuan banyak klaster akan dijelaskan pula dalam bagain ini. Ilustrasi berikut merupakan penjelasan mengenai penggunaan software R untuk analisis klaster hierarki. Data berikut dikumpulkan pada 22 perusahaan publik di Amerika Serikat pada tahun 1975, pada tiap perusahaan diukur variabel-variabel berikut ini: X1
: Fixed-charge coverage ratio (income/debt)
X2
: Rate of Return on capital
X3
: Cost per KW capacity in place
X4
: Annual load factor Bertho Tantular - 48
Praktikum Analisis Data Multivariat II Menggunakan Software R X5
: Peak kWh demand grouth from 1974 to 1975
X6
: Sales (kWh use per year)
X7
: Percent nuclear
X8
: Total Fuel cost (cents per kWh)
Sumber : Johnson & Wichern 2002 halaman 687 Dengan menggunakan data tersebut perusahaan-perusahaan akan dikelompokkan berdasarkan kedelapan variabel yang telah diukur. Hal pertama yang harus dilakukan adalah mempersiapkan data agar dapat dianalisis. Baris-baris berikut beberapa hal yang dapat dilakukan untuk mempersiapkan data
> dataku <- na.omit(dataku)
# Menghilangkan/menghapus data hilang
> dataku <- scale(dataku)
# membakukan variabel-variabel
2. Analisis Klaster Hierarki Analisis Klaster Hierarki merupakan metode pengelompokkan yang didasarkan atas konsep kedekatan antar objek. Oleh karena itu matriks jarak merupakan input yang diperlukan dalam analisis ini. Beberapa metode dalam Analisis Klaster Hierarki adalah sebagai berikut 1. Metode Agglomerative / Metode Pautan (Linkage Method) a) Pautan Tunggal (Single Linkage) b) Pautan Lengkap (Complete Linkage) c) Pautan Rata-rata (Average Linkage) d) Metode Ward 2. Metode Divisive Dalam Analisis Klaster Hierarki baik metode agglomerative maupun metode Divisive menghasilkan suatu diagram dua dimensi yang disebut sebagai dendogram. Dalam R untuk semua metode agglomerative dalam Analisis Klaster Hierarki dapat menggunakan baris-baris perintah berikut ini
Bertho Tantular - 49
Praktikum Analisis Data Multivariat II Menggunakan Software R # Membuat Matriks Jarak d <- dist(dataku, method =....)
Dalam hal ini metode diisi dengan jarak yang digunakan yaitu "euclidean", "maximum", "manhattan", "canberra", "binary" atau "minkowski"
# Analisis Klaster Hierarki fit <- hclust(d, method=....)
# d adalah matriks jarak
plot(fit)
# Menggambarkan dendogram
groups <- cutree(fit, k=k)
# Memotong Dendogram untuk k
Klaster
Dalam hal ini metode diisi dengan metode klaster yang digunakan yaitu "ward", "single", "complete" atau "average". Apabila tidak ingin terlihat tahap dalam dendogramnya gunakan perintah berikut
> plot(fit, hang= -1)
# Menggambarkan Dendogram dengan warna dan banyak klaster ditentukan rect.hclust(fit, k=5, border="red")
Analisis Klaster untuk data pada ilustrasi diatas menggunakan software R adalah sebagai berikut Menggunakan metode Single Lingkage > publik<-read.csv("public.csv") > str(publik) 'data.frame':
22 obs. of
8 variables:
$ x1
: num
1.06 0.89 1.43 1.02 1.49 1.32 1.22 1.1 1.34 1.12 ...
$ x2
: num
9.2 10.3 15.4 11.2 8.8 13.5 12.2 9.2 13 12.4 ...
$ x3
: int
151 202 113 168 192 111 175 245 168 197 ...
Bertho Tantular - 50
Praktikum Analisis Data Multivariat II Menggunakan Software R $ x4
: num
54.4 57.9 53 56 51.2 60 67.6 57 60.4 53 ...
$ x5
: num
1.6 2.2 3.4 0.3 1 -2.2 2.2 3.3 7.2 2.7 ...
$ x6
: int
9077 5088 9212 6423 3300 11127 7642 13082 8406 6455 ...
$ x7
: num
0 25.3 0 34.3 15.6 22.5 0 0 0 39.2 ...
$ x8
: num
0.63 1.56 1.06 0.7 2.04 1.24 1.65 0.31 0.86 0.62 ...
> publik1 <- scale(publik) > d <- dist(publik1, method ="euclidean") > fit <- hclust(d, method="single") > plot(fit)
Apabila menggunakan metode Complete Linkage > fit2 <- hclust(d, method="complete") > plot(fit2)
Bertho Tantular - 51
Praktikum Analisis Data Multivariat II Menggunakan Software R
Apabila menggunakan metode Average Linkage > fit3 <- hclust(d, method="average") > plot(fit3)
Bertho Tantular - 52
Praktikum Analisis Data Multivariat II Menggunakan Software R
Apabila menggunakan metode Ward > fit3 <- hclust(d, method="complete") > plot(fit3)
Bertho Tantular - 53
Praktikum Analisis Data Multivariat II Menggunakan Software R
Dari keempat metode yang digunakan terlihat menghasilkan Dendogram yang berbedabeda, sehingga kita harus memilih metode yang dapat mengelompokkan data dengan jelas. Katakan saja dalam kasus ini kita akan menggunaka metode Ward untuk mengelompokkan data kita. Selanjutnya kita akan mengelompokkan data dengan cara memotong dendogram menjadi 3 klaster menggunakan perintah berikut ini
> groups<-cutree(fit, k=3) > rect.hclust(fit, k=3, border=”red”)
Bertho Tantular - 54
Praktikum Analisis Data Multivariat II Menggunakan Software R
Dari hasil dendogram tersebut terlihat bahwa setiap kotak merupakan sebuah klaster dengan anggotanya adalah setiap bilangan yang ada dalam kotak tersebut yang menyatakan objek atau pengamatan. Klaster 1 beranggotakan objek ke 2, 4, 5, 7, 10, 12, 13, 15, 17, 20, 21 Klaster 2 beranggotakan objek ke 1, 3, 6, 9, 14, 18, 22 Klaster 3 beranggotakan objek ke 8, 11, 16, 19 Salah satu kelebihan software R dalam Analisis Klaster adalah bisa menampilkan pvalue dari Analisis Klaster Hierarki berdasarkan metode bootstrap. Fungsi pvclust( ) dalam paket pvclust yang digunakan untuk hal tersebut. Klaster-klaster yang sangat didukung oleh data memiliki p-values yang tinggi. Tetapi perlu diperhatikan dalam paket pvclust yang dikelompokkan adalah kolom bukan baris, sehingga data kita harus ditranspos terlebih dahulu. Berikut perintah yang digunakan untuk fungsi pvclust Bertho Tantular - 55
Praktikum Analisis Data Multivariat II Menggunakan Software R
> library(pvclust) > fit <- pvclust(mydata, method.hclust="ward",method.dist="euclidean") > plot(fit)
# Menggambarkan dendogram dengan p values
> pvrect(fit, alpha=.95)
# Menambahkan kotak diantara kelompok yang sangat didukung oleh data
Dalam modul ini tidak akan dibahas lebih lanjut mengenai penggunaan fungsi pvclust() ini.
3. Analisis Klaster Non Hierarki Salah satu metode analisis klaster non hierarki atau disebut juga metode partioning yang paling populer adalah Analisis Klaster K-means. Pada metode ini banyaknya klaster secara pasti harus sudah diketahui. Sebuah cara sederhana yang dapat digunakan untuk menentukan banyak klaster yang akan digunakan adalah plot dari jumlah kuadrat dalam klaster (within sum of squares) dengan banyak klaster yang mana hasilnya mirip dengan screeplot dalam analisis faktor. Berikut adalah perintah-perintah yang digunakan dalam Analisis Klaster K-Means
# Menentukan Banyak Klaster > wss <- (nrow(dataku)-1)*sum(apply(dataku,2,var)) > for (i in 2:15) wss[i] <- sum(kmeans(dataku, centers=i)$withinss) > plot(1:15, wss, type="b", xlab="Banyak Klaster",ylab="Jumlah Kuadrat dalam Klaster")
# Analisis Klaster K-Means > fit <- kmeans(dataku, banyak_klaster)
# Menentukan Rata-rata Klaster > aggregate(dataku,by=list(fit$cluster),FUN=mean)
# Keanggotaan Klaster > agt_klaster<- data.frame(dataku, fit$cluster)
Data sebelumnya digunakan untuk contoh penggunaan analisis klaster K-means. Berikut Bertho Tantular - 56
Praktikum Analisis Data Multivariat II Menggunakan Software R adalah hasil yang diperoleh dari software R
> wss <- (nrow(publik1)-1)*sum(apply(publik1,2,var)) > for (i in 2:15) wss[i] <- sum(kmeans(publik1, centers=i)$withinss) > plot(1:15, wss, type="b", xlab="Banyak Klaster",ylab="Jumlah Kuadrat dalam Klaster")
Dari gambar diatas banyak klaster yang dapat diambil adalah 6 yaitu titik pada saat kurva mulai melandai. Sehingga analisis klaster K-means adalah sebagai berikut
> fit <- kmeans(publik1, 6) > fit K-means clustering with 6 clusters of sizes 6, 1, 4, 3, 5, 3
Bertho Tantular - 57
Praktikum Analisis Data Multivariat II Menggunakan Software R
Cluster means: x1
x2
x3
0.04105853 -0.4469734
0.4285248
x4
x5
x6
x7 1
0.7485504 -0.3712261 -0.8536317
-0.2997473 2 -1.91907572 -1.9323833 -0.7812761
1.1034665
1.8468982 -0.9014253
-0.2203441 3 -0.13056613
0.2845910 -1.0422533 -0.7290215 -0.7507124
0.4747076
-0.7146294 4 -0.60027572 -0.8331800
1.3389101 -0.4805802
0.9917178
1.8565214
0.2189339 -0.3580408
0.1664686 -0.4018738
-0.7146294 5 -0.01133215
0.3313815
1.5650384 6
1.35082566
1.4394973 -0.9107532
0.1844205 -0.1413963
0.1880632
-0.2679860 x8 1
1.2132359
2
1.4679800
3 -0.6493932 4 -0.9655756 5 -0.5963464 6 -0.0904546
Clustering vector: [1] 3 1 6 5 1 6 1 4 6 5 4 1 5 3 1 4 2 3 3 5 1 5
Within cluster sum of squares by cluster: [1] 23.335588
0.000000
7.182296
9.534465 10.190007 10.152177
Available components:
Bertho Tantular - 58
Praktikum Analisis Data Multivariat II Menggunakan Software R [1] "cluster"
"centers"
"withinss" "size"
> aggregate(publik1,by=list(fit$cluster),FUN=mean) Group.1
x1
x2
x3
0.04105853 -0.4469734
0.4285248
x4
x5
x6
1
1
2
2 -1.91907572 -1.9323833 -0.7812761
3
3 -0.13056613
4
4 -0.60027572 -0.8331800
1.3389101 -0.4805802
0.9917178
5
5 -0.01133215
0.3313815
0.2189339 -0.3580408
0.1664686 -0.4018738
6
6
1.4394973 -0.9107532
1.35082566 x7
x8
1 -0.2997473
1.2132359
2 -0.2203441
1.4679800
0.7485504 -0.3712261 -0.8536317 1.1034665
1.8468982 -0.9014253
0.2845910 -1.0422533 -0.7290215 -0.7507124
0.1844205 -0.1413963
0.4747076 1.8565214
0.1880632
3 -0.7146294 -0.6493932 4 -0.7146294 -0.9655756 5
1.5650384 -0.5963464
6 -0.2679860 -0.0904546
> agt_klaster<- data.frame(publik1, fit$cluster) > agt_klaster x1
x5
x6
1
-0.29315791 -0.68463896 -0.417122002 -0.57771516 -0.52622751
0.04590290
2
-1.21451134 -0.19445367
3
1.71214073
4
-0.50994695
x2
x3
0.821002037
x4
0.20683629 -0.33381191 -1.07776413
2.07822360 -1.339645796 -0.89153574
0.05101929
0.08393124
0.20660702 -0.004413989 -0.21906307 -0.94312798 -0.70170610
5
2.03732429 -0.86288816
6
1.11597086
1.23153991 -1.388199680
0.67756716 -1.74485965
7
0.57399826
0.65223002
0.165524604
2.38116460 -0.33381191 -0.35832428
-0.07636887 -0.68463896
1.864910540
0.00509449
0.01895002
0.76723019
1.26965142 -0.14311204
8
0.578232617 -1.29501935 -0.71864311 -1.58142837
9
1.22436538
1.00872841 -0.004413989
10
0.03202565
0.74135462
0.62337028
1.17407698
0.699617327 -0.89153574 -0.17346558 -0.69269198
Bertho Tantular - 59
Praktikum Analisis Data Multivariat II Menggunakan Software R 11 -1.97327298 -1.44219805
0.116970720 -1.22777208
1.04516655
12
0.08622291
0.07292013
0.238355430
1.12588228
0.14722709 -0.77748109
13
0.19461744
0.87504152
0.748171211 -0.73462545
1.01309729 -0.48874740
14 -0.13056613
0.56310542 -1.752353809 -1.60883993 -0.59036605
15 -0.83513051 -1.39763576 -0.101521757 16
0.24881470 -0.37270287
0.21379097
1.17071379 -1.07140505 -0.68902999
2.034849134 -0.21906307
17 -1.91907572 -1.93238335 -0.781276132
2.40196983
1.10346652
1.91103676
1.99351729
1.84689822 -0.90142531
18 -0.34735517
0.83047922 -0.441398944 -0.06215278 -0.17346558
0.34534086
19
0.24881470
0.42941852 -1.558138274 -0.66737818 -1.71279038
1.29379583
20
0.46560374
0.47398082 -0.489952828
0.65515141
0.08308855 -0.45832473
0.90172472
0.08308855 -0.63776215
21 -0.40155243 -0.95201276
0.869555920
22 -0.23896065 -0.64007666
0.141247662 -0.60013092
x7 1 2
3
0.82063024
1
3
-0.7146294 -0.07846664
6
4
1.3280197 -0.72581638
5
5
0.2143888
1.68376323
1
6
0.6253007
0.24520824
6
7
-0.7146294
0.98246767
1
8
-0.7146294 -1.42711195
4
9
-0.7146294 -0.43810539
6
10
1.6198267 -0.86967188
5
11 -0.7146294 -0.59994282
4
12 -0.7146294
1.43201611
1
2.2749037 -1.03150932
5
14 -0.7146294 -0.92361770
3
15 -0.6610322
0.53291924
1
16 -0.7146294 -0.86967188
4
17 -0.2203441
1.46797999
2
18 -0.7146294
0.01144305
3
13
0.33210137
x8 fit.cluster
-0.7146294 -0.85168995 0.7920476
0.85275095
Bertho Tantular - 60
Praktikum Analisis Data Multivariat II Menggunakan Software R 19 -0.7146294 -0.83370801
3
20
5
1.7329764 -0.72581638
21 -0.7146294
1.82761873
1
22
0.37108180
5
0.8694658
Menggambarkan Hasil Dalam software R memungkinkan kita untuk menggambarkan hasil analisis klaster Kmeans. Untuk itu harus menggunakan paket Cluster dan paket fpc.Perintah-perintah berikut yang digunakan untuk menggambarkan klaster yang terbentuk > library(cluster) > clusplot(publik1, fit$cluster, color=TRUE, shade=TRUE, labels=2, lines=0)
Bertho Tantular - 61
Praktikum Analisis Data Multivariat II Menggunakan Software R
Dari gambar terlihat dengan jelas anggota dari masing-masing klaster dari warna dan bentuk titik masing-masing klaster.
> library(fpc) > plotcluster(publik1, fit$cluster)
Bertho Tantular - 62
Praktikum Analisis Data Multivariat II Menggunakan Software R
Terlihat dari gambar keanggotaan tiap klaster dengan menggunakan angka dan warna untuk masing-masing klaster tetapi objek yang menjadi anggota klasternya tidak terlihat. Fungsi lain yang dapat digunakan untuk analisis klaster adalah metode validasi dari klaster atau lebih tepatnya perbandingan dari dua metode klaster. Fungsi cluster.stats() dalam paket fpc adalah suatu metode membandingkan kesamaan dua hasil klaster menggunakan kriteria validasi Hubert's gamma coefficient, the Dunn index dan the corrected rand index. Baris-basris berikut adalah metode validasi secara umum
# membandingkan 2 hasil klaster > library(fpc) > cluster.stats(d, fit1$cluster, fit2$cluster)
dengan d adalah matriks jarak fit1 dan fit2 adalah hasil dari dua metode klaster yang digunakan untuk data yang sama. Bertho Tantular - 63
Praktikum Analisis Data Multivariat II Menggunakan Software R 4. Multidimensioal Scalling Multidimensional scalling adalh suatu teknik statistika multivariat yang bertujuan untuk menganalisis kemiripan (similarity) dan ketakmiripan (dissimilarity) antar objek. Hasil dari analisis multidimensional scalling adalah berupa gambar titik-titik yang mana jarak antar titik menunjukkan kemiripan atau ketakmiripan. Selain itu penggunaan multidimensional scalling juga dapat memberikan petunjuk untuk mengidentifikasi peubah yang tidak diketahui atau faktor yang memengaruhi munculnya kemiripan atau ketakmiripan. Dalam software R fungsi yang digunakan untuk multidimensoinal scalling dibedakan menjadi dua yaitu classical multidimensional scalling (Classical MDS) dan nonmetric multidimensional
scaling
(Nonmetric
MDS).
Input
data
yang
dibutuhkan
dalam
multidimensional scalling adalah N objek yang diukur (baris) dalam p variabel numerik (kolom).
Classical MDS Untuk classical MDS dapat digunakan fungsi cmdscale( ) dengan perintah-perintah sebagai berikut:
> d <- dist(dataku)
# jarak euclidean antar baris
> fit <- cmdscale(d,eig=TRUE, k=2)
# dalam 2 dimensi
> fit
# menampilkan hasil
Input data adalah dataku dengan N baris dan p kolom
# Menggambarkan hasil > x <- fit$points[,1] > y <- fit$points[,2] > plot(x, y, xlab="Nama Koordinat 1", ylab="Nama Koordinat 2", main="Classical MDS", type="n") > text(x, y, labels = row.names(dataku), cex=.7)
Bertho Tantular - 64
Praktikum Analisis Data Multivariat II Menggunakan Software R
Data mengenai jarak udara antar 12 kota terpilih di amerika serikat sebagai ilustrasi penggunaan classical MDS dalam software R. Data yang digunakan
telah berupa jarak
sebenarnya antar kota. (Johnson & Wichern 2002, halaman 703) Hal pertama yang mesti dilakkukan adalah menginput data berupa matriks simetris kemudian diberi nama misalkan airline.csv (dalam format .csv). Kemudian lanjutkan dengan perintah-perintah berikut ini sehingga keluar output yang diinginkan
> airline<-read.csv("airline.csv") > names(airline) d<-as.dist(airline) > d Atlanta Boston Cincinati Columbus Dallas Indianapolis Little Rock Boston
1068
Cincinati
461
867
Columbus
549
769
107
Dallas
805
1819
943
1050
Indianapolis
508
941
108
172
882
Little Rock
505
1494
618
725
325
562
Los Angeles
2197
3052
2186
2245
1403
2080
366
1355
502
586
464
436
558
1178
338
409
645
234
2467
2747
2067
2131
1891
1959
467
1379
928
985
1077
975
1701 Memphis 137 St.Louis 353 Spokane 1988 Tampa
Bertho Tantular - 65
Praktikum Analisis Data Multivariat II Menggunakan Software R 912 Los Angeles Memphis St.Louis Spokane Boston Cincinati Columbus Dallas Indianapolis Little Rock Los Angeles Memphis
1831
St.Louis
1848
294
Spokane
1227
2042
1820
Tampa
2480
779
1016
2821
> fit <- cmdscale(d,eig=TRUE, k=2) > fit $points
Atlanta Boston
[,1]
[,2]
-539.553369
295.5910
-1110.896190 -710.4137
Cincinati
-361.088094 -232.6231
Columbus
-420.410259 -287.8358
Dallas Indianapolis
275.413193
490.9508
-254.115644 -237.7739
Little Rock
3.782515
289.5550
Los Angeles
1704.311998
480.7388
Memphis
-118.427684
223.8966
St.Louis
-55.803594 -110.0129
Spokane
1654.001584 -817.4730
Tampa
-777.214456
615.4001
Output diatas adalah koordinat yang diperlukan untuk menggambarkan ke 12 kota dalam 2 dimensi. Untuk menampilkan gambarnya lanjutkan dengan perintah-perintah berikut ini Bertho Tantular - 66
Praktikum Analisis Data Multivariat II Menggunakan Software R
> y <- fit$points[,1] > x <- fit$points[,2] > plot(x, y, main="Classical MDS", type="p", pch=20) > text(x, y, labels = names(airline), cex=0.7, pos=3)
Gambar diatas menunjukkan setiap titik-titik yang berdekatan menunjukkan lokasi kota yang juga berdekatan begitu pula sebaliknya. Dalam ilustrasi ini memperlihatkan kemiripan antar objek adalah kedekatan jarak sebenarnya secara geografis.
Nonmetric MDS Selain untuk data metrik multidimensional scalling juga dapat dilakukan untuk data Bertho Tantular - 67
Praktikum Analisis Data Multivariat II Menggunakan Software R nonmetrik yang disebut Nonmetric MDS. Dalam software R Nonmetrik MDS dapat dianalisis menggunakn fungsi isoMDS( ) dalam paket MASS. Baris perintah berikkut adalah tahapan dalam Nonmetric MDS > library(MASS) > d <- dist(dataku) > fit <- isoMDS(d, k=2) > fit
# jarak euclidean antar baris # MDS dalam 2 dimensi # menampilkan hasil
# Menggambarkan hasil x <- fit$points[,1] y <- fit$points[,2] plot(x, y, main="Nonmetric MDS", type="p", pch=20) text(x, y, labels = row.names(mydata), cex=.7)
5. Analisis Korespondensi Analisis Korespondensi adalah suatu prosedur grafis untuk menjelaskan asosiasi dalam tabel frekuensi terutama pada tabel frekuensi dua arah atau disebut juga tabel kontingensi. Dalam tabel kontingensi terdiri atas I baris dan J kolom. Analisis korespondensi menghasilkan titik-titik yang diplotkan dalam grafik yang terdiri atas dua set yaitu sebanyak I titik pada set pertama yang menyatakan baris dan sebanyak J titik pada set kedua yang menyatakan kolom. Posisi titik pada grafik menyatakan asosiasi antara keduanya. Analisis Korespondensi secara umum merupakan metode grafik dalam eksplorasi hubungan antara dua variabel dalam tabel kontingensi, tentunya variabel yang digunakan besifat kategori. Grafik yang dihasilkan dalam analisis korespondensi merupakan grafik mdua dimensi. Dengan titik-titik merupakan kategori dari masing-masing variabel. Dalam software R ada beberapa fungsi yang dapat digunakan untuk analisis korespondensi salah satunya adalah paket ca. Paket yang dibuat oleh Nenadic dan Greenacre ini menghasilkan nilai-nilai yang diperlukan dalma analisis korespondensi selain itu juga menghasilkan grafik yang sesuai. Paket ca dapat menganalisis multiple correspondence yaitu apabila variabel kategorinya lebih dari dua. Tetapi dalam modul ini hanya dibahas untuk analisis Bertho Tantular - 68
Praktikum Analisis Data Multivariat II Menggunakan Software R korespondensi sederhana yaitu dua variabel kategori saja. Ilustrasi berikut merupakan contoh data yang akan digunakan dalam analisis korespondensi mengunakan software R. Data yang digunakan mengenai situs-situs arkeologi yang ada di amerika selatan. Ada 7 kategori situs (P0, P1, P2, P3, P4, P5, P6) yang digunakan dalam penelitian ini dan dibagi dalam 4 tipe pottery (A, B, C, D) yang berbeda. (Johnson & Wichern 2002, halaman 709). Untuk menganalisis korespondensi data tersebut menggunakan software R pertama-tama input data dan simpan dengan format csv kemusian gunakan perintah-perintah berikut ini
> situs<-read.csv(“situs.csv”) > tabel1<-xtabs(y~Situs+Tipe, data=situs)
# Membuat tabel
kontingensi > tabel1
Tipe Situs
A
B
C
D
P0
30
10
10
39
P1
53
4
16
2
P2
73
1
41
1
P3
20
6
1
4
P4
46
36
37
13
P5
45
6
59
10
P6
16
28 169
5
> prop.table(tabel1, 1)
# Menhitung proporsi tiap baris
Tipe Situs
A
B
C
D
P0 0.33707865 0.11235955 0.11235955 0.43820225 P1 0.70666667 0.05333333 0.21333333 0.02666667
Bertho Tantular - 69
Praktikum Analisis Data Multivariat II Menggunakan Software R P2 0.62931034 0.00862069 0.35344828 0.00862069 P3 0.64516129 0.19354839 0.03225806 0.12903226 P4 0.34848485 0.27272727 0.28030303 0.09848485 P5 0.37500000 0.05000000 0.49166667 0.08333333 P6 0.07339450 0.12844037 0.77522936 0.02293578
> prop.table(tabel1, 2)
# Menampilkan proporsi tiap kolom
Tipe Situs
A
B
C
D
P0 0.106007067 0.109890110 0.030030030 0.527027027 P1 0.187279152 0.043956044 0.048048048 0.027027027 P2 0.257950530 0.010989011 0.123123123 0.013513514 P3 0.070671378 0.065934066 0.003003003 0.054054054 P4 0.162544170 0.395604396 0.111111111 0.175675676 P5 0.159010601 0.065934066 0.177177177 0.135135135 P6 0.056537102 0.307692308 0.507507508 0.067567568
> library(ca) Loading required package: rgl > fit <- ca(tabel1)
# Analisis Korespondensi
> fit
# Menampilkan hasil
Principal inertias (eigenvalues): 1 Value
2
3
0.283588 0.170107 0.058786
Percentage 55.34%
33.19%
11.47%
P1
P2
Rows: P0 Mass
P3
P4
P5
P6
0.113956 0.096031 0.148528 0.039693
0.169014
0.153649
0.279129
Bertho Tantular - 70
Praktikum Analisis Data Multivariat II Menggunakan Software R ChiDist
1.215782 0.718887 0.622375 0.805202
0.510045
0.223132
0.755982
Inertia
0.168442 0.049628 0.057532 0.025735
0.043968
0.007650
0.159525
Dim. 1
1.726644 0.710109 0.258106 1.314784
0.278019 -0.147142 -1.360869
Dim. 2
-1.823771 1.482365 1.420528 0.535927 -0.327672
0.209840 -0.514610
Columns: A
B
C
D
0.362356
0.116517
0.426376
0.094750
ChiDist 0.608270
0.727924
0.578220
1.355601
Inertia 0.134069
0.061739
0.142554
0.174118
Dim. 1
0.789392 -0.014957 -1.059346
1.766557
Dim. 2
1.065840 -0.869081 -0.163493 -2.271664
Mass
> summary(fit)
# Menampilkan hasil lainnya
Principal inertias (eigenvalues): dim
value
%
cum%
scree plot
1
0.283588
55.3
55.3
*************************
2
0.170107
33.2
88.5
************
3
0.058786
11.5 100.0
-------- ----Total: 0.512481 100.0
Rows: name
mass
qlt
inr
k=1 cor ctr
114
955
329 |
919 572 340 | -752 383 379 |
96 1000
97 |
1 |
P0 |
2 |
P1 |
3 |
P2 |
149
935
112 |
4 |
P3 |
40
831
5 |
P4 |
169
154
k=2 cor ctr
378 277
48 |
611 723 211 |
137
49
10 |
586 886 300 |
50 |
700 756
69 |
221
75
11 |
86 |
148
13 | -135
70
18 |
84
Bertho Tantular - 71
Praktikum Analisis Data Multivariat II Menggunakan Software R 6 |
P5 |
154
274
15 |
-78 123
3 |
87 150
7 |
P6 |
279
998
311 | -725 919 517 | -212
mass
qlt
inr
k=1 cor ctr
k=2 cor ctr
420 478 226 |
440 522 412 |
79
7 | 74 |
Columns: name 1 |
A |
362 1000
262 |
2 |
B |
117
243
120 |
3 |
C |
426
965
278 | -564 952 478 |
4 |
D |
95
959
340 |
-8
0
0 | -358 242 -67
14
88 | 11 |
941 482 296 | -937 478 489 |
> plot(fit)
Titik-titik baris (berbentuk bulat) pada gambar yang berdekatan memiliki profil kolom yang mirip begitupun sebaliknya titik-titik kolom (berbentuk segitiga) pada gambar yang berdekatan memiliki profil baris yang mirip. Tetapi kita tidak dapat menginterpretasikan jarak Bertho Tantular - 72
Praktikum Analisis Data Multivariat II Menggunakan Software R antar titik-titik kolom dan baris secara langsung.
# Untuk menggambarkan dengan warna yang berbeda antar kelompok > plot(fit, mass = TRUE, contrib = "absolute", map ="rowgreen")
6. Analisis Biplot Analisis Biplot adalah representasi grafis mengenai informasi yang ada dalam matriks data berdimensi n x p. Dalam Biplot meliputi dua macam informasi yang ada dala matriks data yaitu informasi mengenai baris yang berarti unit-unit sampling dan informasi mengenai kolom yang berarti variabel-variabel. Apabila hanya dua variabel saja maka untuk merepresentasikan kedua informasi ini dapat menggunakan scatter plot. Tetapi untuk variabel lebih dari dua diperlukan suatu alat yang dapat memberikan informasi mengenai kedua hal tadi yaitu analisis biplot. Secara umum Biplot dapat menyajikan posisi relatif n objek pengamatan dengan p Bertho Tantular - 73
Praktikum Analisis Data Multivariat II Menggunakan Software R variabel secara simultan dalam grafik dua dimensi. Sehingga dari penggambaran tersebut dapat diperoleh informasi mengenai hubungan diantara variabel-variabel, kesamaan relatif dari titiktitik data individu dan posisi relatif antara individu dengan variabel. Ilustrasi berikut akan memberikan gambaran mengenai penggunaan Biplot. Data yang digunakan mengenai 25 Universitas di Amerika Serikat. Dari 25 universitas tersebut diukur variabel-variabel yang mendukung pada ranking universitas. Variabel yang digunakan adalah sebagai berikut: X1
: Rata-rata nilai mahasiswa baru
X2
: persentase mahasiswa baru berasal dari SMA favorit (10 besar)
X3
: Persentase pendaftar yang diterima
X4
: rasio mahasiswa-fakultas
X5
: Nilai harapan belanja tahunan
X6
: Tingkat kelulusan (%)
Data ini akan dibakukan karena ukuran dari variabel-variabel berbeda-beda. (Johnson & Wichern 2002, halaman 722) Dalam software R penggunaan Biplot bisa menggunakan fungsi biplot() atau fungsi bpca() yang terdapat pada paket bpca.
Penggunaan Fungsi biplot() Input data yang digunakan dalam biplot adalah nilai-nilai komponen utama. Sehingga penggunaan fungsi biplot() untuk data diatas adalah sebagai berikut
> univ<-read.csv("univ.csv")
# membaca data
> univ2<-scale(univ)
# Membakukan data
> biplot(prcomp(univ), scale=FALSE)
# Analisis biplot
Bertho Tantular - 74
Praktikum Analisis Data Multivariat II Menggunakan Software R
Penggunaan Fungsi bpca() Input data yang digunakan dalam biplot adalah nilai-nilai komponen utama. Sehingga penggunaan fungsi biplot() untuk data diatas adalah sebagai berikut
> library(bpca) > plot(bpca(univ3, var.scale=TRUE), var.cex=1,obj.cex=1)
Bertho Tantular - 75
Praktikum Analisis Data Multivariat II Menggunakan Software R
Secara umum hasil dari kedua fungsi ini menghasilkan gambar yang mirip, hanya saja fungsi bpca() memperlihatkan gambar yang sedikit lebih jelas dibandingkan dengan fungsi biplot().
Bertho Tantular - 76
Praktikum Analisis Data Multivariat II Menggunakan Software R
DAFTAR PUSTAKA
Johnsom, Richard A, Wichern, Dean W. (2002) Applied Multivariate Statistical Analysis. Pearson Education International, New Jersey. Maindonald, John, Barun, W John. (2006) Data Analysis and Graphics Using R – an ExampleBased Approach . Cambridge University Press. UK http://www.statmethods.net/advstats/ http://cran.r-project.org/packages/
Bertho Tantular - 77