Analisis multivariat merupakan teknik statistik yang digunakan untuk memahami hubungan antara beberapa variabel dalam satu dataset. Dalam tugas ini, kita akan melakukan analisis terhadap dataset yang berisi informasi mengenai calon pemegang kartu kredit. Analisis ini mencakup:
Langkah pertama, kita akan menyusun dataset ke dalam bentuk matriks di R. Data yang digunakan adalah data numerik yang terdiri dari 5 baris dan 6 kolom, yang mempresentasikan berbagai atribut seperti Age, Debt, YearsEmployed, CreditScore, ZipCode, Income.
data <- matrix(c(
30.83, 0.000, 1.25, 1, 202, 0,
58.67, 4.460, 3.04, 6, 43, 560,
24.50, 0.500, 1.50, 0, 280, 824,
27.83, 1.540, 3.75, 5, 100, 3,
20.17, 5.625, 1.71, 0, 120, 0
), nrow=5, byrow=TRUE)
# Menamai kolom
colnames(data) <- c("Age", "Debt", "YearsEmployed", "CreditScore", "ZipCode", "Income")
# Menampilkan data
print(data)
## Age Debt YearsEmployed CreditScore ZipCode Income
## [1,] 30.83 0.000 1.25 1 202 0
## [2,] 58.67 4.460 3.04 6 43 560
## [3,] 24.50 0.500 1.50 0 280 824
## [4,] 27.83 1.540 3.75 5 100 3
## [5,] 20.17 5.625 1.71 0 120 0
Variance-Covariance Matrix mengukur seberapa jauh setiap variabel menyebar dari mean-nya dan bagaimana variabel-variabel tersebut berinteraksi satu sama lain.
Langkah-langkah yang dilakukan pada tahap ini sebagai berikut:
# Menghitung mean tiap kolom
means <- colMeans(data)
# Mengurangi setiap elemen dengan mean kolomnya
centered_data <- sweep(data, 2, means)
# Menghitung covariance matrix
n <- nrow(data)
cov_matrix <- (t(centered_data) %*% centered_data) / (n - 1)
# Menampilkan hasil covariance matrix
print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
## Age Debt YearsEmployed CreditScore ZipCode
## Age 231.361400 9.345663 6.999375 33.30 -831.0325
## Debt 9.345663 6.187675 0.605225 1.34 -161.4613
## YearsEmployed 6.999375 0.605225 1.182050 2.81 -73.2075
## CreditScore 33.300000 1.340000 2.810000 8.30 -207.0000
## ZipCode -831.032500 -161.461250 -73.207500 -207.00 8612.0000
## Income 2046.972500 -112.313750 -42.775000 11.55 12109.2500
## Income
## Age 2046.9725
## Debt -112.3137
## YearsEmployed -42.7750
## CreditScore 11.5500
## ZipCode 12109.2500
## Income 151957.8000
Correlation Matrix digunakan untuk mengukur hubungan antara variabel-variabel dalam dataset dalam skala standar antara -1 hingga 1.
Langkah-langkah yang dilakukan pada tahap ini sebagai berikut:
# Menghitung standar deviasi tiap kolom
std_devs <- sqrt(diag(cov_matrix))
# Menghitung correlation matrix
cor_matrix <- cov_matrix / (std_devs %o% std_devs)
# Menampilkan correlation matrix
print("Correlation Matrix:")
## [1] "Correlation Matrix:"
print(cor_matrix)
## Age Debt YearsEmployed CreditScore ZipCode
## Age 1.0000000 0.2470022 0.4232489 0.75990576 -0.5887359
## Debt 0.2470022 1.0000000 0.2237872 0.18698295 -0.6994434
## YearsEmployed 0.4232489 0.2237872 1.0000000 0.89711754 -0.7255806
## CreditScore 0.7599058 0.1869829 0.8971175 1.00000000 -0.7742466
## ZipCode -0.5887359 -0.6994434 -0.7255806 -0.77424657 1.0000000
## Income 0.3452272 -0.1158264 -0.1009278 0.01028446 0.3347370
## Income
## Age 0.34522724
## Debt -0.11582643
## YearsEmployed -0.10092775
## CreditScore 0.01028446
## ZipCode 0.33473701
## Income 1.00000000
Eigenvalues dan Eigenvectors digunakan untuk memahami struktur data dan menentukan komponen utama dalam analisis multivariat.
Langkah-langkahnyaLangkah-langkah yang dilakukan pada tahap ini sebagai berikut.
# Menghitung eigenvalue dan eigenvector
eig_values_vectors <- eigen(cov_matrix)
# Menampilkan eigenvalues
print("Eigenvalues:")
## [1] "Eigenvalues:"
print(eig_values_vectors$values)
## [1] 1.529991e+05 7.738258e+03 7.494804e+01 4.551851e+00 -1.129805e-11
## [6] -1.598731e-11
# Menampilkan eigenvectors
print("Eigenvectors:")
## [1] "Eigenvectors:"
print(eig_values_vectors$vectors)
## [,1] [,2] [,3] [,4] [,5]
## [1,] -1.289707e-02 -0.131560133 0.97942701 0.134315337 0.000000000
## [2,] 8.188149e-04 -0.019605573 -0.12793653 0.643339225 -0.562121863
## [3,] 3.179438e-04 -0.009024801 -0.01847413 -0.334972014 0.389293791
## [4,] 3.494977e-05 -0.027135529 0.08386896 -0.675118146 -0.729184634
## [5,] -8.349361e-02 0.987380472 0.12816503 0.008883966 -0.027483850
## [6,] -9.964245e-01 -0.081052896 -0.02352452 -0.002084805 0.001939676
## [,6]
## [1,] -0.072164510
## [2,] -0.503369496
## [3,] -0.857800240
## [4,] -0.068810738
## [5,] -0.029121428
## [6,] 0.002684459
Berdasarkan hasil perhitungan diatas, didapatkan beberapa informasi sebagai berikut.
Secara keseluruhan, Income dan ZipCode memiliki dampak terbesar dalam variasi dataset, sementara YearsEmployed dan CreditScore menunjukkan hubungan erat dalam mempengaruhi skor kredit seseorang.