1 Pendahuluan

Analisis korespondensi (correspondence analysis) adalah metode untuk menggambarkan dan menganalisis hubungan antara variabel kategori dalam tabel kontingensi. Analisis ini membantu dalam memahami pola asosiasi atau keterkaitan antara variabel kategori dan mengidentifikasi pola-pola yang tersembunyi di dalam data.

LBB ini menggunakan data yang sudah disediakan oleh Tim Algoritma 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 akan digunakan untuk memahami tingkat kelulusan siswa di Amerika Serikat dan perbedaan dalam tingkat kelulusan di antara kelompok-kelompok tersebut.

2 Import Data

graduation <- readxl::read_xlsx("data/graduation.xlsx")
head(graduation)
summary(graduation)
##     State               Black           White       Economically disadvantaged
##  Length:29          Min.   :69.00   Min.   :82.80   Min.   :62.00             
##  Class :character   1st Qu.:75.00   1st Qu.:87.80   1st Qu.:75.90             
##  Mode  :character   Median :78.90   Median :90.30   Median :79.60             
##                     Mean   :78.98   Mean   :89.53   Mean   :79.43             
##                     3rd Qu.:84.50   3rd Qu.:92.20   3rd Qu.:85.00             
##                     Max.   :88.20   Max.   :95.00   Max.   :89.80             
##  English learner Students with disabilities Homeless enrolled  Foster care   
##  Min.   :39.00   Min.   :55.40              Min.   :48.60     Min.   :31.00  
##  1st Qu.:65.00   1st Qu.:63.00              1st Qu.:61.00     1st Qu.:50.00  
##  Median :69.00   Median :68.60              Median :66.00     Median :56.00  
##  Mean   :69.04   Mean   :69.95              Mean   :66.62     Mean   :55.39  
##  3rd Qu.:76.00   3rd Qu.:75.00              3rd Qu.:74.00     3rd Qu.:62.00  
##  Max.   :89.00   Max.   :88.10              Max.   :88.00     Max.   :74.00
str(graduation)
## tibble [29 × 8] (S3: tbl_df/tbl/data.frame)
##  $ State                     : chr [1:29] "Alabama" "Alaska" "Arizona" "Arkansas" ...
##  $ Black                     : num [1:29] 88.2 74 71.7 84.5 76.9 76.6 80 87 72.9 86.9 ...
##  $ White                     : num [1:29] 92.2 84.4 83 90.9 87.9 86.1 93.4 90.5 93 91.9 ...
##  $ Economically disadvantaged: num [1:29] 85.5 72.3 73.6 86.2 81.2 72.3 80.6 82 62 87.1 ...
##  $ English learner           : num [1:29] 72 68 55.2 84.4 69.1 70.2 67 76 56 85.8 ...
##  $ Students with disabilities: num [1:29] 68.9 59 66.2 84.1 68.4 61.8 68.1 73 56 82.9 ...
##  $ Homeless enrolled         : num [1:29] 74 58 48.6 78 69.7 56.7 65 73 55 80 ...
##  $ Foster care               : num [1:29] 67 54 45 65 58.2 31 47 74 53 57 ...

3 Menyiapkan library

#data wrangling
library("dplyr")
## 
## 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")
library("factoextra")
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
#data visualization
library("ggpubr") #untuk balloonplot
library("graphics") #untuk mosaicplot
library("ggplot2")

#data reference
library("datasets")

4 Data Preprocessing: Contingency Table

Analisis korespondensi (CA) memerlukan data dalam bentuk tabel kontingensi karena metode ini didasarkan pada distribusi relatif atau frekuensi kemunculan variabel kategori dalam tabel tersebut.

Maka kita ubah dulu datanya menjadi bentuk tabel kontingensi.

#karena datasetnya berbentuk tibble, kita ubah dulu menjadi data frame
graduation_df <- as.data.frame(graduation)

#kemudian diubah menjadi contingency table
rownames(graduation_df) <- graduation_df$State
head(graduation_df)

Kita buang kolom yang tidak digunakan lagi dalam analisa selanjutnya, yaitu kolom State.

graduation_df_clean <- graduation_df %>% 
  select(-State)

5 EDA: Ballonplot & Mosaicplot

5.1 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.

ggballoonplot(graduation_df_clean) +
  labs(title = "Balloonplot for graduate characteristic") +
  theme(plot.title = element_text(hjust = 0.5))

Untuk memudahkan kita dalam membaca ballon plot, kita dapat memberikan warna untuk perbedaan ukuran lingkaran pada ballon plot seperti sebagai berikut.

my_cols <- c("#F0F921FF", "orange","#E16462FF","#B12A90FF", "#6A00A8FF",  "blue")
ggballoonplot(graduation_df_clean, fill = "value") +
  scale_fill_gradientn(colours = my_cols) +
  labs(title = "Balloonplot for graduate characteristic") +
  theme(plot.title = element_text(hjust = 0.5))

Buat menjadi plot interactive:

library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
plot1 <- ggballoonplot(graduation_df_clean, fill = "value") +
  scale_fill_gradientn(colours = my_cols) +
  labs(title = "Balloonplot for graduate characteristic") +
  theme(plot.title = element_text(hjust = 0.5))

#Catatan: perlu disesuaikan tinggi & lebar plot
ggplotly(plot1,height = 700, width = 700)

Dari balloon plot di atas, didapatkan poin-poin observasi sebagai berikut:

  1. Hampir di semua negara bagian, tingkat kelulusan siswa “Black” dan “White” relatif tinggi di hampir semua negara bagian, dengan balon yang relatif besar dan gelap pada kolom “Black” dan “White”.

  2. Tingkat kelulusan siswa yang “Economically disadvantaged” juga relatif tinggi di banyak negara bagian, kecuali di District of Columbia) di mana balonnya lebih kecil dan terang, menunjukkan tingkat kelulusan yang lwbih rendah dari negara bagian lainnya.

  3. Tingkat kelulusan siswa yang berkarakter “English learner” umumnya lebih rendah, dengan balon yang lebih kecil dan lebih terang, terutama di New York, juga di Loisiana, MAryland, Nebraska.

  4. Tingkat kelulusan siswa dengan “disabilities” dan “Homeless enrolled” cenderung beragam/bervariasi di antara negara bagian.

  5. Tingkat kelulusan siswa yang berada dalam “Foster care” secara umum lebih rendah daripada kategori lainnya, dengan Colorado memiliki balon yang sangat kecil dan terang, menunjukkan tingkat kelulusan yang sangat rendah.

5.2 Mosaic plot

Selanjutnya, kita akan melihat hubungan antar data kategorik di atas menggunakan 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:

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

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_df_clean,
           las = 2,
           shade = T,
           off = 25,
           main = "Mosaic plot for graduate characteristic")

Hasil observasi:

Di antara semua kategori, “English Learner” di New York memiliki tingkat kelulusan sangat rendah, begitu pula siswa “Foster care” di Colorado.

6 Chi-Square Test

Uji chi-square adalah sebuah tes statistik yang membantu kita menentukan apakah ada hubungan yang signifikan antara dua variabel kategorik.

Uji ini sering digunakan dalam social science research, studi medis, dan bidang lain di mana kita ingin memeriksa hubungan antara variabel.

Uji hipotesis Chi-Square Test untuk menguji apakah ada perbedaan yang signifikan kelompok siswa dengan karakteristik tertentu dengan tingkat kelulusannya.

  • \(H_0\) : Variabel baris dan kolom dari tabel kontingensi adalah independen
  • \(H_1\) : Variabel baris dan kolom adalah dependen (memiliki hubungan yang signifikan)
chisq.test(graduation_df_clean)
## 
##  Pearson's Chi-squared test
## 
## data:  graduation_df_clean
## X-squared = 102.98, df = 168, p-value = 1

Dari hasil uji Chi-Square, diperoleh nilai p-value = 1. Nilai p-value ini jauh lebih besar dari 0.05, yang berarti gagal tolak H_0. Dengan kata lain, hasil ini menunjukkan bahwa tidak ada hubungan yang signifikan antara karakteristik siswa dan tingkat kelulusan mereka. Dapat dikatakan bahwa tingkat kelulusan tidak dipengaruhi oleh karakteristik siswa seperti ras, status ekonomi, status bahasa Inggris sebagai bahasa kedua, kecacatan, tunawisma, atau status asuh.

7 Row component & column component

Sekarang kita akan menerapkan CA untuk menganalisis hubungan variabel State dan karakter siswa graduate pada data di atas.

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.
grad_ca <- CA(graduation_df_clean, graph = FALSE)
grad_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"

Dalam menginterpretasikan hasil dari analisis korespondensi, terdapat beberapa output yang dihasilkan yaitu statistik Chi-square, nilai Eigen, komponen baris dan komponen kolom. Selanjutnya, akan dibahas satu per satu terkait output ini.

7.1 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 grad_ca kita dapat memanggil nilai eigen dengan $eig.

grad_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 grad_ca, menggunakan 2 dimensi CA berhasil merangkum data kita sebesar 71.68337%

7.2 Rows Components

Komponen fungsi grad_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.

7.2.1 Rows Coordinat

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

grad_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(grad_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 (karakteristik mirip)
  • Kategori baris yang memilki hubungan negatif atau bertolak belakang akan memiliki titik koordinat yang berada pada kuadran yang berlawanan (karakteristik tidak mirip)

Contoh: * Negara bagian Alaska dan Pennsylvania memiliki karakter lulusan yang mirip. Begitu pula Idaho dan New Hampshire. * Negara bagian Colorado dan Montana memilik karakteristik lulusan yang jauh berbeda.

7.2.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.68% 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(grad_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 State. Semakin oranye warna suatu State, semakin bagus kualitas representasi suatu State tersebut pada plot CA.

# Color by cos2 values: quality on the factor map
fviz_ca_row(grad_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

7.2.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(grad_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(grad_ca, choice = "row", axes = 1)

# Contributions of rows to dimension 2
fviz_contrib(grad_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

7.3 Columns Components

Interpretasi untuk komponen kolom sama persis dengan komponen baris.

Komponen fungsi grad-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(grad_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(grad_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 kategori kolom ke dimensi CA
head(grad_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(grad_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(grad_ca, choice = "col", axes = 1)

# Contributions of columns to dimension 2
fviz_contrib(grad_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

8 Interpretasi Biplot CA

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(grad_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(grad_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, dapat dipetakan:

– Di negara bagian Montana, paling banyak lulusan dengan status foster care – Di negara bagian Florida, paling banyak lulusan dengan status English learner – Di negara bagian New York, paling sedikit lulusan dengan status English learner – Lowa & Idaho memiliki sudut lebih mendekati 90 derajat dengan students with disabilities, sehingga negara-negara bagian ini tidak bisa dibilang memiliki korelasi kuat dengan students with disabilities

9 Kesimpulan

Correspondence Analysis memberikan hasil visualisasi yang mudah diinterpretasi sehingga kita dengan mudah menemukan asosiasi dari dua kategori variabel. Analisa ini dapat memberikan beberapa dampak dan kontribusi yang penting dalam pemahaman dan pengambilan keputusan terkait pendidikan. Secara keseluruhan, analisis korespondensi tentang lulusan SMA di setiap negara bagian di Amerika Serikat dapat memberikan pemahaman yang lebih baik tentang faktor-faktor yang mempengaruhi tingkat kelulusan, mengidentifikasi perbedaan regional dan kelompok siswa yang perlu mendapatkan perhatian khusus, serta memberikan dasar bagi pembuat kebijakan dalam pengembangan kebijakan pendidikan yang lebih baik.