1 Preface

1.1 Pendahuluan

Correspondence Analysis adalah teknik statistik yang telah banyak digunakan dalam market research untuk memahami hubungan antara Brand Personality dan persepsi konsumen. Dengan analisis korespondensi, diperoleh plot yang menunjukkan interaksi dua variabel kategorik bersama yaitu variabel nama brand dan variabel brand personality. Sehingga dapat diketahui personality yang melekat dari masing-masing brand.

1.2 Library dan Setup

Untuk dapat mengikuti materi ini, peserta diharapkan sudah menginstall beberapa packages di bawah ini. Apabila package tersebut belum terinstall, silahkan jalankan chunk atau baris kode di bawah ini. Apabila sudah ter-install, lewati chunk tersebut dan muat package yang dibutuhkan dengan menjalankan chunk selanjutnya.

# install.packages(c("FactoMineR","factoextra", "dplyr", "ggpubr", "graphics", "ggplot2", "datasets"))
#data wrangling
library("dplyr")
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#data analysis
library("FactoMineR")
## Warning: package 'FactoMineR' was built under R version 4.2.3
library("factoextra")
## Warning: package 'factoextra' was built under R version 4.2.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
#data visualization
library("ggpubr") #untuk balloonplot
## Warning: package 'ggpubr' was built under R version 4.2.3
library("graphics") #untuk mosaicplot
library("ggplot2")

#data reference
library("datasets")

1.3 Dataset

Dalam pembuatan report LBB ini, kami juga sudah menyediakan sebuah data yang dapat digunakan yaitu graduation.csv. Data tersebut merupakan data dari National Center for Education Statistics (NCES) yang memberikan informasi mengenai persentase siswa SMA di Amerika Serikat yang lulus pada tahun ajaran 2019-2020, berdasarkan karakteristik seperti etnis, status miskin, bahasa Inggris sebagai bahasa kedua, dan kecacatan. Data tersebut dapat digunakan untuk memahami tingkat kelulusan siswa di Amerika Serikat dan perbedaan dalam tingkat kelulusan di antara kelompok-kelompok tersebut

Deskripsi tiap kolomnya dapat dilihat pada link berikut

2 Import Data

graduation <- readxl::read_xlsx("data/graduation_asli.xlsx")
head(graduation)
# Ubah file xlsx ke csv agar bisa menggunakan function row.names

library(readr)
write_csv(graduation, "data/graduation.csv")
# Baca file csv
graduation_df <- read.csv("data/graduation.csv")
graduation_df
glimpse(graduation_df)
## Rows: 29
## Columns: 8
## $ State                      <chr> "Alabama", "Alaska", "Arizona", "Arkansas",…
## $ Black                      <dbl> 88.2, 74.0, 71.7, 84.5, 76.9, 76.6, 80.0, 8…
## $ White                      <dbl> 92.2, 84.4, 83.0, 90.9, 87.9, 86.1, 93.4, 9…
## $ Economically.disadvantaged <dbl> 85.5, 72.3, 73.6, 86.2, 81.2, 72.3, 80.6, 8…
## $ English.learner            <dbl> 72.0, 68.0, 55.2, 84.4, 69.1, 70.2, 67.0, 7…
## $ Students.with.disabilities <dbl> 68.9, 59.0, 66.2, 84.1, 68.4, 61.8, 68.1, 7…
## $ Homeless.enrolled          <dbl> 74.0, 58.0, 48.6, 78.0, 69.7, 56.7, 65.0, 7…
## $ Foster.care                <dbl> 67.0, 54.0, 45.0, 65.0, 58.2, 31.0, 47.0, 7…

Deskripsi Kolom

  • State : Negara bagian United States.
  • Black : Tingkat kelulusan (graduation) ras kulit hitam.
  • White : Tingkat kelulusan (graduation) ras hitam.
  • Economically disadvantaged : Tingkat kelulusan (graduation) masyarakat secara ekonomi kurang beruntung.
  • English learner : Tingkat kelulusan (graduation) masyarakat terhadap kemampuan belajar bahasa inggris.
  • Students with disabilities : Tingkat kelulusan (graduation) masyarakat dengan disabilitas
  • Homeless enrolled : Tingkat kelulusan (graduation) masyarakat yang terdaftar tunawisma
  • Foster care : Tingkat kelulusan (graduation) masyarakat terhadap kemampuan asuh

3 Data Preprocessing: Contingency Table

Tabel kontingensi atau cross-tabulation adalah tabel yang berisi nilai frekuensi/kemunculan suatu kategori data. Correspondence Analysis memerlukan input yang disebut sebagai tabel kontingensi. Tabel kontingensi terdiri dari baris dan kolom, dengan setiap baris mewakili kategori dari variabel pertama, dan setiap kolom mewakili kategori dari variabel kedua.

3.1 Cek Apakah Merupakan Tabel Kontigensi

graduation_df

Tabel di atas bukan merupakan tabel kontingensi, karena tabel kontingensi seharusnya punya index kolom dan index baris, sementara graduation belum memiliki index baris (index baris menjadi isi dari suatu kolom)

3.2 Feature Engineering

Untuk membuat graduation menjadi tabel kontingensi, kolom State akan dijadikan indeks baris. Sehingga index baris pada tabel menunjukkan variabel State dan index kolom menunjukkan atribut graduation.

# Assign nilai dari kolom brand menjadi index baris
rownames(graduation_df) <- graduation_df$State
graduation_df
# Membuang kolom yang tidak digunakan
graduation_table <- graduation_df %>% 
  select(-State)

graduation_table

4 EDA: Ballonplot & Mosaicplot

4.1 Rangkuman Data

Kita dapat dengan cepat memperoleh rangkuman dari data kita yang berisi five number summary menggunakan fungsi summary() di R.

summary(graduation_table)
##      Black           White       Economically.disadvantaged English.learner
##  Min.   :69.00   Min.   :82.80   Min.   :62.00              Min.   :39.00  
##  1st Qu.:75.00   1st Qu.:87.80   1st Qu.:75.90              1st Qu.:65.00  
##  Median :78.90   Median :90.30   Median :79.60              Median :69.00  
##  Mean   :78.98   Mean   :89.53   Mean   :79.43              Mean   :69.04  
##  3rd Qu.:84.50   3rd Qu.:92.20   3rd Qu.:85.00              3rd Qu.:76.00  
##  Max.   :88.20   Max.   :95.00   Max.   :89.80              Max.   :89.00  
##  Students.with.disabilities Homeless.enrolled  Foster.care   
##  Min.   :55.40              Min.   :48.60     Min.   :31.00  
##  1st Qu.:63.00              1st Qu.:61.00     1st Qu.:50.00  
##  Median :68.60              Median :66.00     Median :56.00  
##  Mean   :69.95              Mean   :66.62     Mean   :55.39  
##  3rd Qu.:75.00              3rd Qu.:74.00     3rd Qu.:62.00  
##  Max.   :88.10              Max.   :88.00     Max.   :74.00

Insight : - Secara umum tingkat kelulusan, range masyarakat ras kulit putih lebih tinggi dari kulit hitam. - Diantara semua kolom, kolom English.learner yang memiliki range atau terbesar dari (39 hingga 89 poin)

Kesimpulan : Terdapat beberapa negara yang berhasil memiliki tingkat kelulusan yang tinggi dan ada pula yang rendah.

4.2 Balloon Plot

Balloon plot adalah salah satu jenis plot untuk memvisualisasikan data kategorik yang berukuran besar.

Fungsi balloon plot adalah membuat tabel grafis dimana setiap sel menampilkan lingkaran berwarna yang ukurannya mencerminkan besar nilainya. Secara visual, plot ini dapat menghighlight poin data yang nilainya menonjol ditunjukkan semakin besarnya lingkaran. Prinsip dasar pada ballon plot, semakin besar ukuran lingkaran maka semakin besar pula nilai datanya.

my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF","#E16462FF", "#FCA636FF", "#F0F921FF")
ggballoonplot(graduation_table, fill = "value") +
  scale_fill_gradientn(colours = my_cols) +
  labs(title = "Balloonplot for Brand Personalites") +
  theme(plot.title = element_text(hjust = 0.5))

Dari balloon plot di atas, kita dapat melihat bahwa:

  • Terdapat beberapa negara bagian yang memiliki tingkat graduation terrendah bagi ras kulit hitam, seperti Idaho, Michigan, Nevada. Apabila di lihat ketiga negara bagian tersebut juga memiliki tingkat kelulusan rendah bagi ras kulit putih dibandingkan negara bagian lain. Jadi dapat disimpulkan negara bagian tersebut memang cukup tertinggal secara pendidikan berdasarkan patokan tingkat graduation.
  • District of Columbia menjadi negara bagian yang memiliki angka Economically.disadvantaged terendah.
  • Oklahoma menjadi negara bagian yang memiliki angka English.learner terendah.
  • Mississippi dan District of Columbia menjadi negara bagian yang memiliki angka Student.with.disabillities rendah.
  • Arizona menjadi negara bagian yang memiliki angka Homeless.enrolled terendah.
  • Colorado menjadi negara bagian yang memiliki angka Foster.care terendah.

4.3 Mosaic Plot

Mosaic plot digunakan untuk memvisualisasikan tabel kontingensi dan untuk memeriksa hubungan antara variabel kategori. Untuk setiap sel, tinggi batang sebanding dengan frekuensi relatif yang diamati yang dikandungnya:

\[ \frac{cell.value}{column.sum}\]

Warna pada plot menunjukkan standardized residuals, yang memberikan intuisi signifikansi hubungan. Standardized residuals adalah akar dari statistik Chi-square yang akan dibahas pada section selanjutnya.

Mosaic plot dapat diinterpresaikan sebagai berikut:

  • Sebuah sel diarsir biru jika kita yakin bahwa sel tersebut lebih tinggi dari sel lain dalam baris yang sama
  • Sebuah sel diarsir dengan warna merah jika kita yakin bahwa sel tersebut lebih rendah dari sel lain pada baris yang sama

Formula: mosaicplot() dengan parameter:

  • data
  • las: style of axis label (1/2)
  • shade = T -> colour gradient
  • off: spacing of cell
  • main: title of plot
# Mosaic plot of observed values
mosaicplot(graduation_table,
           las = 2,
           shade = T,
           off = 25,
           main = "Mosaic plot for brand personalities")

Dari mosaic plot di atas, kita dapat melihat bahwa:

  • New York memiliki nilai terendah dalam English.learner dibandingkan negara bagian lainnya.
  • Collorado memiliki nilai terendah dalam Foster.care dibandingkan negara bagian lainnya.

5 Correspondence Analysis Concept

Correspondence Analysis (CA) adalah jenis teknik dimentionality reduction yang dapat digunakan untuk memvisualisasikan dan mengeksplorasi hubungan variabel kategorikal dalam sebuah dataset.

Analisis korespondensi (CA) diperlukan untuk tabel kontingensi besar untuk memvisualisasikan titik baris dan titik kolom secara grafis dalam ruang berdimensi dua dimensi.

Plot hasilnya menampilkan:

  • hubungan antara kategori baris dan kolom
  • setiap titik mewakili kategori
  • jarak antara titik mencerminkan kekuatan hubungan antara kategori tersebut

Misal kita ingin menganalisis apakah terdapat hubungan antara tipe pekerjaan rumah dengan role keluarga. CA akan menghasilkan plot berikut untuk menunjukkan hubungan dari kedua variabel tersebut.

Untuk melakukan CA, dapat digunakan fungsi CA() dari package factomineR

CA(X, ncp = 5, graph = TRUE)

Keterangan:

  • X: data (tabel kontingensi)
  • ncp: jumlah dimensi yang disimpan di hasil akhir.
  • graph: nilai boolean. Jika TRUE grafik ditampilkan.
graduation.ca <- CA(graduation_table, graph = FALSE)
graduation.ca
## **Results of the Correspondence Analysis (CA)**
## The row variable has  29  categories; the column variable has 7 categories
## The chi square of independence between the two variables is equal to 102.977 (p-value =  0.9999802 ).
## *The results are available in the following objects:
## 
##    name              description                   
## 1  "$eig"            "eigenvalues"                 
## 2  "$col"            "results for the columns"     
## 3  "$col$coord"      "coord. for the columns"      
## 4  "$col$cos2"       "cos2 for the columns"        
## 5  "$col$contrib"    "contributions of the columns"
## 6  "$row"            "results for the rows"        
## 7  "$row$coord"      "coord. for the rows"         
## 8  "$row$cos2"       "cos2 for the rows"           
## 9  "$row$contrib"    "contributions of the rows"   
## 10 "$call"           "summary called parameters"   
## 11 "$call$marge.col" "weights of the columns"      
## 12 "$call$marge.row" "weights of the rows"

5.1 Chi-Square Test

Untuk menginterpretasikan CA, perlu dilakukan uji chi square untuk memeriksa hubungan antara variabel baris dan kolom.

Dengan rumusan hipotesis sebagai berikut.

H0 : Tidak ada hubungan antara brand dan personality (independen) H1 : Ada hubungan antara brand dan personality (dependen) Catatan: H0 ditolak jika pvalue < 0.05

Kesimpulan: p-value = 0.99999 maka H0 diterima, artinya Tidak ada hubungan antara State dan Atribut Graduation. Meskipun demikian proses tetap saya lakukan sebagai bahan mempelajari alur CA dengan baik.

5.2 Nilai Eigen/ Variance

Sama seperti di PCA, eigen atau variance juga menunjukkan banyak informasi yang dipertahankan oleh setiap dimensi. Dimensi 1 menjelaskan variansi terbanyak, diikuti oleh dimensi 2 dan seterusnya. Pada summary brand.ca kita dapat memanggil nilai eigen dengan $eig.

graduation.ca$eig
##         eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.0030475075              43.678769                          43.67877
## dim 2 0.0019539062              28.004596                          71.68337
## dim 3 0.0009356291              13.410018                          85.09338
## dim 4 0.0006744599               9.666778                          94.76016
## dim 5 0.0002193719               3.144174                          97.90433
## dim 6 0.0001462165               2.095665                         100.00000

Note : Pada data brand, menggunakan 2 dimensi CA berhasil merangkum data kita sebesar 71.68337%

5.3 Row Component

Komponen fungsi brand-ca$row berisi:

  • $coord: koordinat setiap titik baris pada setiap dimensi (1,2,dst). Digunakan untuk membuat plot.
  • $cos2: kualitas representasi baris.
  • $contrib: kontribusi baris (dalam %) terhadap definisi dimensi.

5.3.1 Rows Coordinat

CA menghasilkan koordinat baru untuk variabel baris pada dimensi baru, yang dapat dipanggil dengan $coord.

graduation.ca$row$coord
##                             Dim 1        Dim 2         Dim 3        Dim 4
## Alabama              -0.033380129  0.035487857 -0.0231004098 -0.013008876
## Alaska                0.001180289  0.009298571 -0.0119273222 -0.046792397
## Arizona              -0.017641217 -0.054904027  0.0599995460 -0.004905556
## Arkansas              0.039177234  0.048321216  0.0089500180  0.015691435
## California           -0.006296293  0.020939341 -0.0143271783  0.008465513
## Colorado              0.081789722 -0.112793699 -0.0195202699 -0.014591585
## Connecticut           0.006705500 -0.053733032 -0.0082156321  0.004238630
## Delaware             -0.026698651  0.074440852 -0.0011063594 -0.026446954
## District of Columbia -0.063009152 -0.026114661 -0.0017156639 -0.064008073
## Florida               0.059510646  0.013828570 -0.0090048090  0.024623187
## Idaho                 0.035503017 -0.053936563 -0.0345313298  0.005821739
## Indiana               0.041453813  0.061116383 -0.0405998850  0.021955984
## Iowa                  0.006455232  0.035231870 -0.0073723352  0.010506443
## Kansas                0.049078253  0.038840504  0.0296281957 -0.011947289
## Louisiana            -0.079336938 -0.021430735  0.0084420700  0.045427187
## Maine                 0.059366115 -0.003456203  0.0195358582 -0.030076882
## Maryland             -0.055496133 -0.058737653  0.0016422089  0.019233483
## Massachusetts        -0.012879272 -0.006647125  0.0294525767 -0.007899921
## Michigan              0.073690377 -0.047724953 -0.0362212450 -0.025352076
## Mississippi          -0.082035520  0.026872484 -0.0733852322 -0.010422522
## Montana              -0.049622575  0.068128351  0.0492951688 -0.015745581
## Nebraska             -0.080023543 -0.025515027  0.0067967163  0.018977833
## Nevada                0.049805539  0.011356855 -0.0532601035  0.028590036
## New Hampshire         0.035634201 -0.062446150  0.0359616925  0.003151724
## New Jersey            0.013563402 -0.015473045  0.0088631743  0.027345863
## New York             -0.152704852 -0.027540877  0.0103404996  0.028347944
## Oklahoma              0.080907302  0.040942866  0.0591061976  0.027756297
## Pennsylvania          0.001199766  0.004802213  0.0003157092  0.016820113
## Rhode Island         -0.009975332  0.002882903  0.0082477980 -0.054065802
##                              Dim 5
## Alabama               0.0192904200
## Alaska                0.0024739898
## Arizona               0.0147285732
## Arkansas             -0.0004491340
## California           -0.0007968192
## Colorado              0.0142964913
## Connecticut           0.0009630815
## Delaware              0.0086622977
## District of Columbia -0.0479030319
## Florida               0.0062754801
## Idaho                -0.0070844686
## Indiana              -0.0052067782
## Iowa                 -0.0109092589
## Kansas               -0.0076029371
## Louisiana             0.0055753554
## Maine                 0.0173300830
## Maryland              0.0084349967
## Massachusetts         0.0026475175
## Michigan             -0.0114578756
## Mississippi           0.0316641387
## Montana              -0.0139720319
## Nebraska             -0.0097766683
## Nevada               -0.0251941731
## New Hampshire        -0.0031520206
## New Jersey            0.0003933418
## New York             -0.0033374173
## Oklahoma              0.0103317675
## Pennsylvania         -0.0181370234
## Rhode Island          0.0155990827

Gunakan fungsi fviz_ca_row() [in factoextra] untuk memvisualisasikan hanya titik baris:

fviz_ca_row(graduation.ca, repel = TRUE)

Kita dapat mengidentifikasi kesamaan atau ketidaksamaan dalam kategori baris dengan memperhatikan jarak antar titik koordinat baris.

  • Baris dengan profil serupa akan memiliki titik koordinat yang berdekatan
  • Kategori baris yang memilki hubungan negatif atau bertolak belakang akan memiliki titik koordinat yang berada pada kuadran yang berlawanan.

Sehingga, berdasarkan plot titik koordinat baris insight yang didapatkan adalah:

  • Negara bagian Nebraska memiliki karakteristik tingkat kelulusan yang mirip dengan Louisiana
  • Negara bagian New York dan Colorado memiliki karakteristik yang sangat berbeda dibandingkan negara bagian lainnya.

5.3.2 Quality of representation of rows

CA dapat merangkum data dan memvisualisasikannya dalam plot dua dimensi. Perhatikan bahwa dua dimensi baru (dimensi 1 & 2) dapat mempertahankan 71.68337% dari variasi yang terkandung dalam data. Namun, tidak semua titik data ditampilkan dengan sama baiknya dalam dua dimensi. Kualitas representasi baris pada peta faktor disebut cosinus kuadrat (cos2).

\[cos2 = \frac{row.coord^2}{d^2}\]

dengan row.coord adalah koordinat baris pada sumbu \(d^2\) adalah jarak kuadrat dari rata-rata profil baris.

head(graduation.ca$row$cos2)
##                   Dim 1      Dim 2      Dim 3       Dim 4        Dim 5
## Alabama    0.3208277048 0.36262303 0.15365093 0.048727638 1.071468e-01
## Alaska     0.0005477674 0.03399787 0.05593777 0.860933906 2.406662e-03
## Arizona    0.0413277017 0.40030644 0.47805747 0.003195661 2.880750e-02
## Arkansas   0.3553169804 0.54053539 0.01854369 0.056999851 4.669822e-05
## California 0.0471891564 0.52191335 0.24433953 0.085305878 7.557741e-04
## Colorado   0.3295693941 0.62678571 0.01877245 0.010489489 1.006951e-02

Catatan: * Nilai cos2 adalah 0 sampai 1 * Jika kategori baris terwakili dengan baik oleh dua dimensi, jumlah dari cos2 mendekati 1

Berikut divisualisasikan nilai cos2 untuk masing-masing brand. Semakin oranye warna suatu brand, semakin bagus kualitas representasi suatu brand tersebut pada plot CA.

# Color by cos2 values: quality on the factor map
fviz_ca_row(graduation.ca, col.row = "cos2",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE,
            title="Row Poins based on Their Quality Cos2")

Note: semakin dekat suatu titik koordinat dengan pusat kuadran, biasanya semakin sedikit informasi yang diperoleh. Sehingga umumnya titik koordinat yang jauh dari kuadran yang memiliki banyak insight

5.3.3 Contributions of rows to the dimensions

Variabel baris dengan nilai yang lebih besar, berkontribusi paling besar terhadap definisi dimensi. Baris yang paling berkontribusi pada Dim.1 dan Dim.2 adalah yang paling penting dalam menjelaskan variabilitas dalam kumpulan data.

head(graduation.ca$row$contrib)
##                  Dim 1      Dim 2      Dim 3      Dim 4       Dim 5
## Alabama    1.357023946  2.3922806  2.1168588  0.9312786 6.295913228
## Alaska     0.001454745  0.1408262  0.4838792 10.3311634 0.088791155
## Arizona    0.306721525  4.6337934 11.5564424  0.1071648 2.970109247
## Arkansas   1.955633220  4.6401996  0.3324365  1.4175350 0.003570555
## California 0.045073366  0.7775302  0.7601732  0.3681674 0.010028446
## Colorado   6.762571461 20.0597339  1.2546630  0.9725411 2.870365634

Besar kontribusi variabel baris pada dimensi 1 dan 2 dapat dilihat dengan visualisasi berikut:

# Contributions of rows to dimension 1
fviz_contrib(graduation.ca, choice = "row", axes = 1)

# Contributions of rows to dimension 2
fviz_contrib(graduation.ca, choice = "row", axes = 2)

Insight:

  • Kategori baris yang paling berkontribusi besar pada dimensi 1 adalah New York
  • Kategori baris yang paling berkontribusi besar pada dimensi 2 adalah Colorado

5.4 Columns Components

Interpretasi untuk komponen kolom sama persis dengan komponen baris.

Komponen fungsi graduation-ca$col berisi:

  • $coord: koordinat setiap titik kolom pada setiap dimensi (1,2,dst). Digunakan untuk membuat plot.
  • $cos2: kualitas representasi kolom.
  • $contrib: kontribusi kolom (dalam %) terhadap definisi dimensi.
# koordinat kolom
head(graduation.ca$col$coord)
##                                  Dim 1        Dim 2        Dim 3       Dim 4
## Black                      -0.02694753 -0.031162726 -0.001803787 -0.01846495
## White                      -0.03379917 -0.054668035 -0.001439753 -0.01828960
## Economically.disadvantaged -0.01047897 -0.016735097 -0.004384464  0.01904894
## English.learner             0.11856755  0.023156333 -0.012581688 -0.02912370
## Students.with.disabilities  0.03262476  0.001175325  0.061467729  0.03102843
## Homeless.enrolled          -0.00239575  0.021551945 -0.053284101  0.03966462
##                                    Dim 5
## Black                       0.0220179065
## White                      -0.0217767766
## Economically.disadvantaged  0.0171858717
## English.learner            -0.0007318496
## Students.with.disabilities -0.0053372382
## Homeless.enrolled          -0.0086446672
# Kualitas representasi tiap kategori kolom pada plot 2 dimensi
head(graduation.ca$col$cos2)
##                                  Dim 1        Dim 2       Dim 3      Dim 4
## Black                      0.257760741 0.3447067724 0.001154914 0.12102505
## White                      0.230350457 0.6026207115 0.000417978 0.06745053
## Economically.disadvantaged 0.070698512 0.1803141191 0.012376740 0.23362267
## English.learner            0.900620857 0.0343518285 0.010141172 0.05433799
## Students.with.disabilities 0.180905188 0.0002347861 0.642171039 0.16363488
## Homeless.enrolled          0.001134624 0.0918209917 0.561260307 0.31101093
##                                   Dim 5
## Black                      1.720802e-01
## White                      9.562343e-02
## Economically.disadvantaged 1.901588e-01
## English.learner            3.431263e-05
## Students.with.disabilities 4.841607e-03
## Homeless.enrolled          1.477289e-02
# Kontribusi tiap kategorikolom ke dimensi CA
head(graduation.ca$col$contrib)
##                                  Dim 1       Dim 2       Dim 3     Dim 4
## Black                       3.69775916  7.71281211  0.05396503  7.844870
## White                       6.59461929 26.90827087  0.03897581  8.725186
## Economically.disadvantaged  0.56236030  2.23704747  0.32066510  8.396688
## English.learner            62.57900025  3.72286738  2.29517497 17.059991
## Students.with.disabilities  4.80019745  0.00971676 55.50087665 19.618807
## Homeless.enrolled           0.02465356  3.11179228 39.72216486 30.534570
##                                  Dim 5
## Black                      34.29388767
## White                      38.03022162
## Economically.disadvantaged 21.01283687
## English.learner             0.03312108
## Students.with.disabilities  1.78468478
## Homeless.enrolled           4.45920072

Seperti titik baris, titik kolom juga dapat diwarnai berdasarkan kualitas representasinya pada plot CA yang ditunjukkan nilai cos2:

fviz_ca_col(graduation.ca, col.col = "cos2", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE)

Sementara itu, untuk memvisualisasikan kontribusi kolom ke dua dimensi pertama:

# Contributions of columns to dimension 1
fviz_contrib(graduation.ca, choice = "col", axes = 1)

# Contributions of columns to dimension 2
fviz_contrib(graduation.ca, choice = "col", axes = 2)

Insight:

  • Kategori kolom yang paling berkontribusi besar pada dimensi 1 adalah English.learner
  • Kategori kolom yang paling berkontribusi besar pada dimensi 2 adalah Foster.care

5.5 Biplot Interpretation

Plot standar analisis korespondensi adalah biplot simetris di mana baris (titik biru) dan kolom (segitiga merah) direpresentasikan dalam ruang yang sama menggunakan koordinat baru.

Biplot pada CA artinya gabungan dua plot, yaitu plot untuk variabel baris dan plot untuk variabel kolom. Koordinat pada biplot CA mewakili profil baris dan kolom. Biplot CA di R dapat diperoleh menggunakan fungsi fviz_ca_biplot(ca objek, repel = TRUE)

fviz_ca_biplot(graduation.ca, repel = TRUE)

Berikut adalah beberapa poin yang perlu diperhatikan dalam menginterpretasi biplot CA:

  • Kedekatan titik kategori dengan titik asal menunjukkan kekhasan kategori tersebut
    • Jika titik kategori terletak dekat dengan titik asal plot menunjukkan bahwa kategori tersebut kurang berbeda dari kategori lainnya atau kurang khas
    • Semakin jauh suatu kategori dari titik asalnya, semakin diskriminatif kategori tersebut, yang menunjukkan bahwa kategori tersebut memiliki karakteristik khas yang membedakannya dari kategori lain
  • Kedekatan suatu titik dengan titik lainnya dalam konteks baris atau kolom menunjukkan kesamaan profil/karakteristik (similarity), jika data discaling dengan benar. Namun fungsi CA() sudah secara otomatis melakukan scaling.
  • Untuk mengetahui hubungan dari kategori baris dan kategori kolom dilihat dari seberapa besar sudut yang terbentuk dari panah baris dan kolom ke titik asalnya. Tambahkan parameter arrow untuk menampilkan panah baris dan kolom pada biplot.
fviz_ca_biplot(graduation.ca, repel = TRUE, arrows = c(TRUE, TRUE))

Cara interpretasi hubungan dari kategori baris dan kategori kolom:

  • sudut panah baris (biru) dan panah kolom (merah) mendekati 0: kategori baris dan kolom memiliki hubungan positif
  • sudut 90 derajat: kategori baris dan kolom tidak memiliki hubungan
  • sudut 180 derajat: kategori baris dan kolom memiliki hubungan negatif
  • Semakin jauh suatu titik dari titik asalnya, semakin kuat hubungannya dengan suatu kategori lain sesuai kriteria sudutnya (positif/negatif)

Dengan demikian, berdasarkan profil baris (personality), berikut adalah pemetaan untuk data brand personality:

  • Negara bagian Montana dan Albama memiliki atribut graduation Foster.care tinggi dibandingkan negara bagian lainnya, tetapi yang lebih adalah Montana.
  • Negara bagian Maryland dan Arizona memiliki atribut graduation White dan Black tinggi, tetapi Maryland lebih tinggi di atribut graduation Black dan Arizona lebih tinggi atribut graduation White.
  • Negara bagian Florida dan Nevada memiliki atribut graduation English.learner tinggi dibandingkan negara bagian lainnya.
  • Negara bagian Maine dominan memiliki atribut graduation Student.with.disabilitas yang tinggi.