Membuat DataFrame
data <- data.frame(
Gender = c(0, 1, 0, 1, 0),
Age = c(30.83, 58.67, 24.50, 27.83, 20.17),
Debt = c(0.000, 4.460, 0.500, 1.540, 5.625),
Married = c(0, 1, 1, 0, 1),
BankCustomer = c(0, 0, 0, 0, 0),
Industry = c("Industrials", "Materials", "Materials", "Industrials", "Industrials"),
YearsEmployed = c(1.25, 3.04, 1.50, 3.75, 1.71),
PriorDefault = c(1, 0, 1, 1, 0),
Employed = c(1, 1, 0, 1, 0),
CreditScore = c(1, 0, 0, 1, 0),
DriversLicense = c(0, 0, 0, 0, 0),
Citizen = c("ByBirth", "ByBirth", "ByBirth", "ByBirth", "ByOtherMeans"),
ZipCode = c(202, 43, 280, 100, 120),
Income = c(0, 560, 824, 3, 0),
Approved = c(1, 1, 1, 1, 1)
)
print(data)
## Gender Age Debt Married BankCustomer Industry YearsEmployed
## 1 0 30.83 0.000 0 0 Industrials 1.25
## 2 1 58.67 4.460 1 0 Materials 3.04
## 3 0 24.50 0.500 1 0 Materials 1.50
## 4 1 27.83 1.540 0 0 Industrials 3.75
## 5 0 20.17 5.625 1 0 Industrials 1.71
## PriorDefault Employed CreditScore DriversLicense Citizen ZipCode Income
## 1 1 1 1 0 ByBirth 202 0
## 2 0 1 0 0 ByBirth 43 560
## 3 1 0 0 0 ByBirth 280 824
## 4 1 1 1 0 ByBirth 100 3
## 5 0 0 0 0 ByOtherMeans 120 0
## Approved
## 1 1
## 2 1
## 3 1
## 4 1
## 5 1
Menghapus Kolom Non-Numerik
numeric_data <- data[, c("Age", "Debt", "YearsEmployed", "PriorDefault",
"Employed", "CreditScore", "DriversLicense",
"ZipCode", "Income", "Approved")]
Menghitung Matriks Kovarians dan Eigenvalues/Vectors
cov_matrix <- cov(numeric_data)
eigen_values_vectors <- eigen(cov_matrix)
cat("\nEigenvalues:\n")
##
## Eigenvalues:
print(eigen_values_vectors$values)
## [1] 1.529992e+05 7.732784e+03 7.465076e+01 2.768237e+00 1.831150e-16
## [6] 0.000000e+00 -9.628879e-29 -4.829818e-13 -9.112603e-13 -3.509771e-12
cat("\nEigenvectors:\n")
##
## Eigenvectors:
print(eigen_values_vectors$vectors)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -1.289706e-02 -0.131586476 0.98198717 0.110182172 0.000000e+00 0
## [2,] 8.188076e-04 -0.019622545 -0.12630547 0.832105020 1.976651e-03 0
## [3,] 3.179444e-04 -0.009024652 -0.01944400 -0.428620763 8.165511e-04 0
## [4,] -9.661344e-06 0.004387940 0.01369158 -0.222548298 -4.845243e-01 0
## [5,] 4.517910e-04 -0.002636768 0.04484877 -0.153062476 -3.226031e-01 0
## [6,] 8.979961e-04 0.001602367 0.02628533 -0.194932844 8.131165e-01 0
## [7,] 0.000000e+00 0.000000000 0.00000000 0.000000000 2.040867e-13 0
## [8,] -8.349350e-02 0.987732571 0.12623339 0.027905404 6.713591e-05 0
## [9,] -9.964240e-01 -0.081080853 -0.02335379 -0.003460315 5.874810e-04 0
## [10,] 0.000000e+00 0.000000000 0.00000000 0.000000000 0.000000e+00 1
## [,7] [,8] [,9] [,10]
## [1,] 0.000000e+00 0.0000000000 0.000000e+00 0.077972774
## [2,] -3.957580e-16 -0.2442134193 -2.929014e-01 0.381873134
## [3,] -1.727886e-16 0.1954023601 -2.824646e-01 0.835377547
## [4,] 9.891425e-14 -0.8023817266 2.221474e-01 0.149451818
## [5,] 6.584381e-14 -0.0661375065 -8.611397e-01 -0.352909010
## [6,] -1.659373e-13 -0.5039696933 -2.082853e-01 -0.052727401
## [7,] 1.000000e+00 0.0000000000 0.000000e+00 0.000000000
## [8,] -1.373606e-17 0.0010813845 -1.134423e-02 0.023869572
## [9,] -1.198799e-16 -0.0007053387 3.943173e-05 -0.002637957
## [10,] 0.000000e+00 0.0000000000 0.000000e+00 0.000000000
Matriks Varians-Kovarians
print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
## Age Debt YearsEmployed PriorDefault Employed
## Age 231.361400 9.345663 6.999375 -3.51000 5.03250
## Debt 9.345663 6.187675 0.605225 -1.30875 -0.31875
## YearsEmployed 6.999375 0.605225 1.182050 -0.06250 0.32250
## PriorDefault -3.510000 -1.308750 -0.062500 0.30000 0.05000
## Employed 5.032500 -0.318750 0.322500 0.05000 0.30000
## CreditScore -1.535000 -0.827500 0.125000 0.20000 0.20000
## DriversLicense 0.000000 0.000000 0.000000 0.00000 0.00000
## ZipCode -831.032500 -161.461250 -73.207500 33.75000 -25.50000
## Income 2046.972500 -112.313750 -42.775000 -1.30000 -67.30000
## Approved 0.000000 0.000000 0.000000 0.00000 0.00000
## CreditScore DriversLicense ZipCode Income Approved
## Age -1.5350 0 -831.0325 2046.9725 0
## Debt -0.8275 0 -161.4613 -112.3137 0
## YearsEmployed 0.1250 0 -73.2075 -42.7750 0
## PriorDefault 0.2000 0 33.7500 -1.3000 0
## Employed 0.2000 0 -25.5000 -67.3000 0
## CreditScore 0.3000 0 1.0000 -137.9500 0
## DriversLicense 0.0000 0 0.0000 0.0000 0
## ZipCode 1.0000 0 8612.0000 12109.2500 0
## Income -137.9500 0 12109.2500 151957.8000 0
## Approved 0.0000 0 0.0000 0.0000 0
Menghapus Kolom dengan Standar Deviasi Nol
numeric_data_clean <- numeric_data[, sapply(numeric_data, sd) > 0]
Menghitung Matriks Korelasi dengan Data yang Sudah Dibersihkan
cor_matrix <- cor(numeric_data_clean)
cat("\nCorrelation Matrix:\n")
##
## Correlation Matrix:
print(cor_matrix)
## Age Debt YearsEmployed PriorDefault Employed
## Age 1.0000000 0.2470022 0.4232489 -0.421309292 0.6040567
## Debt 0.2470022 1.0000000 0.2237872 -0.960577301 -0.2339515
## YearsEmployed 0.4232489 0.2237872 1.0000000 -0.104954597 0.5415657
## PriorDefault -0.4213093 -0.9605773 -0.1049546 1.000000000 0.1666667
## Employed 0.6040567 -0.2339515 0.5415657 0.166666667 1.0000000
## CreditScore -0.1842478 -0.6073564 0.2099092 0.666666667 0.6666667
## ZipCode -0.5887359 -0.6994434 -0.7255806 0.663989389 -0.5016809
## Income 0.3452272 -0.1158264 -0.1009278 -0.006088653 -0.3152049
## CreditScore ZipCode Income
## Age -0.18424780 -0.58873594 0.345227241
## Debt -0.60735642 -0.69944336 -0.115826433
## YearsEmployed 0.20990919 -0.72558057 -0.100927751
## PriorDefault 0.66666667 0.66398939 -0.006088653
## Employed 0.66666667 -0.50168087 -0.315204884
## CreditScore 1.00000000 0.01967376 -0.646099759
## ZipCode 0.01967376 1.00000000 0.334737013
## Income -0.64609976 0.33473701 1.000000000