library("FactoMineR")
library("factoextra")
library("datasets")
library(tidyverse)
library(ggplot2)
library(ggpubr)
library(dplyr)
options(scipen=999)
knitr::opts_chunk$set(fig.align = "center")

1 Introduction

Analisis Korespondensi (Correspondence Analysis) adalah metode statistik multivariat yang digunakan untuk menganalisis hubungan antara dua variabel kategori dalam tabel kontingensi. Metode ini membantu dalam memahami struktur dan hubungan antara variabel-variabel tersebut dengan menggunakan teknik visualisasi yang disebut “biplot”.

Dalam analisis korespondensi, kita memiliki tabel kontingensi yang menggambarkan frekuensi pengamatan untuk kombinasi kategori dari dua variabel. Misalnya, jika kita memiliki dua variabel A dan B, tabel kontingensi akan menyajikan jumlah pengamatan yang jatuh pada setiap kombinasi kategori A dan B.

Analisis korespondensi bekerja dengan mereduksi dimensi tabel kontingensi menjadi ruang yang lebih rendah, sehingga memudahkan interpretasi. Metode ini menghitung koordinat untuk setiap kategori variabel pada sumbu baru yang disebut “dimensi utama”. Koordinat ini mencerminkan hubungan antara kategori-kategori variabel dalam ruang yang lebih rendah tersebut.

Visualisasi utama dalam analisis korespondensi adalah “biplot”. Biplot adalah grafik dua dimensi yang menunjukkan kategori-kategori variabel dan pengaruh mereka terhadap dimensi utama. Kategori variabel yang dekat dalam biplot menunjukkan hubungan yang kuat antara kategori-kategori tersebut, sedangkan kategori variabel yang jauh menunjukkan hubungan yang lemah.

Analisis korespondensi dapat digunakan dalam berbagai bidang, seperti ilmu sosial, ilmu lingkungan, pemasaran, dan bioinformatika. Beberapa aplikasi umumnya meliputi analisis preferensi konsumen, analisis citra merek, analisis korespondensi lingkungan, analisis korespondensi dokumen, dan sebagainya.

Dalam kesimpulannya, analisis korespondensi adalah metode statistik yang digunakan untuk menganalisis hubungan antara dua variabel kategori dalam tabel kontingensi. Metode ini menggunakan teknik visualisasi biplot untuk memahami hubungan antara kategori-kategori variabel dalam ruang yang lebih rendah.

Analisis Korespondensi dapat digunakan untuk menganalisis data tingkat kelulusan siswa dalam periode 4 tahun pada sekolah menengah umum (public high school) berdasarkan ras/etnis dan karakteristik demografi terpilih di Amerika Serikat, termasuk 50 negara bagian, Distrik Columbia, dan Puerto Rico. Metode ini dapat membantu dalam memahami pola hubungan antara variabel-variabel tersebut dan menggambarkannya dalam bentuk visual.

Langkah-langkah umum dalam menerapkan analisis korespondensi pada data seperti ini adalah sebagai berikut:

Persiapan Data: Pastikan data tingkat kelulusan siswa tersedia dalam bentuk tabel kontingensi yang mencantumkan frekuensi pengamatan untuk kombinasi kategori ras/etnis dan karakteristik demografi terpilih. Setiap kolom mewakili kategori dari satu variabel, misalnya ras/etnis, dan setiap baris mewakili kategori dari variabel lainnya, misalnya karakteristik demografi.

Preprocessing Data: Jika diperlukan, lakukan preprocessing data seperti menghilangkan baris atau kolom yang tidak relevan, menggabungkan kategori yang serupa, atau menormalisasi data jika diperlukan.

Analisis Korespondensi: Terapkan metode analisis korespondensi pada tabel kontingensi yang sudah dipersiapkan. Metode ini akan menghasilkan koordinat untuk setiap kategori variabel pada dimensi utama.

Visualisasi: Gunakan teknik visualisasi biplot untuk menggambarkan hasil analisis korespondensi. Dalam biplot, setiap kategori variabel akan diplotkan sebagai titik dalam ruang dua dimensi, di mana jarak antara titik-titik tersebut mencerminkan hubungan antara kategori-kategori tersebut.

Dengan menerapkan analisis korespondensi pada data tingkat kelulusan siswa berdasarkan ras/etnis dan karakteristik demografi, Anda dapat memperoleh pemahaman yang lebih baik tentang pola hubungan antara variabel-variabel tersebut. Anda dapat melihat hubungan antara ras/etnis, karakteristik demografi, dan tingkat kelulusan siswa secara visual, yang dapat membantu dalam mengidentifikasi pola-pola yang menarik atau perbedaan signifikan di antara kelompok-kelompok tersebut.

Namun, penting untuk dicatat bahwa dalam menerapkan analisis korespondensi, penting untuk memastikan bahwa data yang digunakan valid, lengkap, dan mewakili populasi yang relevan. Selain itu, interpretasi hasil analisis korespondensi harus dilakukan dengan hati-hati dan mengacu pada konteks dan pengetahuan domain yang relevan.

2 Import Data

graduation <- read.csv("data/graduation.csv", row.names = 'State')
graduation

3 Data Type & structure

 glimpse(graduation)
## Rows: 29
## Columns: 7
## $ 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…

dataframe graduation memiliki 29 baris dan 7 kolom, dan merupakan table numerik.

4 EDA for Contingency Table

summary(graduation)
##      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

dari fungsi diatas nilai maksimal dari index row > 70 yang berarti kategori black, white, dll memiliki pengaruh terhadap index kelulusan siswa SMA di US.

4.1 Balloon Plot

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

dari plot diatas dapat dilihat bahwa :

  • kategori pelajar dengan warna kulit Black and White tersebar merata di beberapa dnegara bagian yang diwakili dengan warna kuning dan orange.
  • Negara bagian New York memiliki english learner terkecil dibanting kota lain.
  • Negara bagian Arizona, Colorado,Connecticut, Idaho, Michigan dan New Hampsire memiliki fasiltas foster care yang rendah/kurang.

4.2 Mosaic Plot

mosaicplot(graduation,
           las = 2,
           shade = T,
           off = 25,
           main = " Mosaic Plot for Graduation Index")

dari Mosaic Plot diperoleh insight : New york memiliki karakteristik paling rendah english learner sama seperti connecticut yang paling rendah untuk foster care

5 Chi-Square Test

  • \(H_0\) : Tidak ada hubungan antara tingkat kelulusan dengan kategori warna kulit (black atau white), Economically disadvantage, English learner, Student with disabilities, Homeless Enrolled, dan Fostercare(independen).
  • \(H_1\) : Ada hubungan antara tingkat kelulusan dengan kategori warna kulit (black atau white), Economically disadvantage, English learner, Student with disabilities, Homeless Enrolled, dan Fostercare(dependen).
chisq.test(graduation)
## 
##  Pearson's Chi-squared test
## 
## data:  graduation
## X-squared = 102.98, df = 168, p-value = 1

Karena p-value > 0.05 maka gagal tolak H0 dan menerima H1 berarti ada hubungan antara tingkat kelulusan dengan kategoriwarna kulit (black atau white), Economically disadvantage, English learner, Student with disabilities, Homeless Enrolled, dan Fostercare

5.1 Nilai Eigen Variance

graduation.ca <- CA(graduation,graph = FALSE)
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

Pada dimensi 2 CA berhasil merangkum data sebesar 71.68337%

5.1.1 Rows Coordinat

Berikut adalah kordinat baru untuk variable baris pada dimensi baru.

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

5.1.2 Quality of representation of rows

head(graduation.ca$row$cos2)
##                   Dim 1      Dim 2      Dim 3       Dim 4         Dim 5
## Alabama    0.3208277048 0.36262303 0.15365093 0.048727638 0.10714679829
## Alaska     0.0005477674 0.03399787 0.05593777 0.860933906 0.00240666161
## Arizona    0.0413277017 0.40030644 0.47805747 0.003195661 0.02880749759
## Arkansas   0.3553169804 0.54053539 0.01854369 0.056999851 0.00004669822
## California 0.0471891564 0.52191335 0.24433953 0.085305878 0.00075577408
## Colorado   0.3295693941 0.62678571 0.01877245 0.010489489 0.01006951004
# 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")

Dari plot diatas disimpulkan bahwa : * Lousiana dan Nebraska memiliki profil kelulusan yg sama, sama sepeti Idaho dan New Hampsire. * Rhode Island, Alaska dan Pensylvania mendekati pusat kuadran yang berarti ketiga negara tersebut memiliki sedikit informasi. * New York, Colorado letak jauh dari titik koordinat yg lain yang dapat diartikan profil kelulusan di kedua negara tersebut berbeda jauh dengan negara2 lain.

5.1.3 Contributions of rows to the dimensions

# 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 Negara Bagian New York.
  • Kategori baris yang paling berkontribusi besar pada dimensi 2 adalah Colorado.

5.1.4 Columns

# 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                      0.17208023202
## White                      0.09562342981
## Economically.disadvantaged 0.19015879681
## English.learner            0.00003431263
## Students.with.disabilities 0.00484160717
## Homeless.enrolled          0.01477289463
# Kontribusi tiap kategori kolom 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

5.1.5 Quality of representation of columns

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

berikut beberapa insight dari visualisasi diatas * English Learner, Foster Care dan White titiknya berada jauh dari sumbu kuadran, yg berarti negara dengan persentasi student dengan lulusan yang tinggi dalam kategori tersebut polanya berbeda dengan negara yang memiliki persentase tinggi di kategori yang lain. * Foster Care dan Homeless enrolled berada dalam satu kuadran tapi sangat berjauhan, bisa saja tingginya anak lulusan dari foster care mungkin berasal dari homeless enrolled (berpindah-pindah rumah) yang rendah atau sebaliknya. Hal ini juga bisa diterapkan pada White dan Economically disadvantage pada kuadran 3.

5.1.6 Contributions of columns to the dimensions

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

6 Intrepetation of Biplot CA

fviz_ca_biplot(graduation.ca, repel = TRUE, arrows = c(TRUE, TRUE))

berikut beberapa insight dari visualisasi diatas :

  • Tingginya Lulusan montana dan albama kemungkinan dari anak-anak yang dibesarkan oleh foster care.
  • Lulusan dari Maryland di dominasi dari anak-anak kulit hitam