library(readxl)
df <- read_excel("Raisin_Dataset.xlsx")
# Mengambil hanya kolom numerik (kolom 1 sampai 7) karena kolom 8 berisi teks (class)
df_numeric <- df[, 1:7]
# a. Correlation Matrix
cor_matrix <- cor(df_numeric)
print("Correlation Matrix:")
## [1] "Correlation Matrix:"
print(cor_matrix)
## Area MajorAxisLength MinorAxisLength Eccentricity
## Area 1.00000000 0.9327744 0.9066499 0.3361066
## MajorAxisLength 0.93277443 1.0000000 0.7280302 0.5836084
## MinorAxisLength 0.90664987 0.7280302 1.0000000 -0.0276835
## Eccentricity 0.33610660 0.5836084 -0.0276835 1.0000000
## ConvexArea 0.99591967 0.9450309 0.8956513 0.3482103
## Extent -0.01349934 -0.2038656 0.1453215 -0.3610615
## Perimeter 0.96135172 0.9779780 0.8274170 0.4478452
## ConvexArea Extent Perimeter
## Area 0.99591967 -0.01349934 0.9613517
## MajorAxisLength 0.94503093 -0.20386556 0.9779780
## MinorAxisLength 0.89565132 0.14532153 0.8274170
## Eccentricity 0.34821030 -0.36106149 0.4478452
## ConvexArea 1.00000000 -0.05480247 0.9766122
## Extent -0.05480247 1.00000000 -0.1734489
## Perimeter 0.97661223 -0.17344893 1.0000000
# b. Variance-Covariance Matrix
cov_matrix <- cov(df_numeric)
print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
## Area MajorAxisLength MinorAxisLength Eccentricity
## Area 1.521165e+09 4.221378e+06 1.767671e+06 1.183972e+03
## MajorAxisLength 4.221378e+06 1.346415e+04 4.222916e+03 6.116279e+00
## MinorAxisLength 1.767671e+06 4.222916e+03 2.498890e+03 -1.249887e-01
## Eccentricity 1.183972e+03 6.116279e+00 -1.249887e-01 8.157415e-03
## ConvexArea 1.583600e+09 4.470629e+06 1.825348e+06 1.282186e+03
## Extent -2.815116e+01 -1.264820e+00 3.884178e-01 -1.743625e-03
## Perimeter 1.026472e+07 3.106672e+04 1.132335e+04 1.107340e+01
## ConvexArea Extent Perimeter
## Area 1.583600e+09 -2.815116e+01 1.026472e+07
## MajorAxisLength 4.470629e+06 -1.264820e+00 3.106672e+04
## MinorAxisLength 1.825348e+06 3.884178e-01 1.132335e+04
## Eccentricity 1.282186e+03 -1.743625e-03 1.107340e+01
## ConvexArea 1.662135e+09 -1.194617e+02 1.090014e+07
## Extent -1.194617e+02 2.858848e-03 -2.538891e+00
## Perimeter 1.090014e+07 -2.538891e+00 7.494690e+04
# c. Eigen Value dan Eigen Vector
# Biasanya dihitung dari Covariance Matrix atau Correlation Matrix
eigen_data <- eigen(cov_matrix)
print("Eigen Values:")
## [1] "Eigen Values:"
print(eigen_data$values)
## [1] 3.176903e+09 6.484070e+06 3.411647e+03 5.871721e+02 4.592383e+01
## [6] 1.781033e-03 1.565458e-03
print("Eigen Vectors:")
## [1] "Eigen Vectors:"
print(eigen_data$vectors)
## [,1] [,2] [,3] [,4] [,5]
## [1,] -6.911978e-01 7.225900e-01 0.0099167946 2.336904e-03 -0.002339507
## [2,] -1.935429e-03 -6.101735e-03 0.5800095074 -5.162209e-01 0.630129625
## [3,] -7.998219e-04 2.427483e-03 -0.2137523625 6.499835e-01 0.729259089
## [4,] -5.492743e-07 -4.737215e-06 0.0010540138 -1.661067e-03 -0.001299584
## [5,] -7.226472e-01 -6.910123e-01 -0.0159270484 -5.209011e-03 0.001481976
## [6,] 3.330314e-08 9.602308e-06 -0.0003483057 7.835626e-05 0.001134514
## [7,] -4.712872e-03 -1.795989e-02 0.7858407300 5.576756e-01 -0.266659316
## [,6] [,7]
## [1,] 1.174284e-06 6.537297e-06
## [2,] 4.904183e-04 6.364268e-04
## [3,] 8.891598e-04 -2.278570e-03
## [4,] -2.806809e-02 -9.996032e-01
## [5,] -1.815070e-08 -6.392384e-06
## [6,] -9.996054e-01 2.806617e-02
## [7,] -5.255305e-04 2.634392e-04
1. Correlation Matrix:
Matriks ini menunjukkan kekuatan hubungan linear antar variabel dengan rentang -1 hingga 1.
- Korelasi Sangat Kuat: variabel Area, ConvexArea, Perimeter, dan MajorAxisLength memiliki nilai korelasi di atas `0.90`. Hal ini menunjukkan bahwa ukuran fisik kismis (luas, keliling, dan panjang sumbu utama) saling berkaitan erat secara positif di mana jika satu ukuran membesar, yang lainnya hampir pasti membesar.
- Korelasi Lemah/Negatif: variabel Extent memiliki korelasi yang sangat rendah (mendekati 0) bahkan negatif dengan variabel lainnya (misal dengan MajorAxisLength sebesar `-0.20`). Ini berarti rasio area kismis terhadap kotak pembatasnya tidak terlalu dipengaruhi oleh ukuran besar kismis tersebut.
2. Variance-Covariance Matrix:
Matriks ini menunjukkan varians variabel pada diagonal utama dan kovarians antar variabel di luar diagonal.
- Varians Tinggi: nilai varians terbesar ada pada variabel Area `(1.52 * 10^9)` dan ConvexArea `(1.66 * 10^9)`. Nilai yang sangat besar ini menunjukkan bahwa data kismis memiliki rentang perbedaan luas yang sangat lebar antar sampelnya.
- Kovarians Positif: hampir semua nilai kovarians bernilai positif, yang menandakan bahwa variabel-variabel fisik kismis cenderung bergerak ke arah yang sama (searah).
3. Eigen Value:
Nilai Eigen menunjukkan jumlah varians yang dijelaskan oleh setiap komponen utama (PC).
- Dominasi Komponen Pertama: nilai Eigen pertama sebesar `3.17 * 10^9` jauh lebih besar dibandingkan nilai lainnya. Ini menunjukkan bahwa satu komponen utama saja sudah cukup untuk merangkum sebagian besar informasi atau keragaman dari seluruh dataset kismis tersebut.
- Penurunan Nilai: nilai Eigen terus mengecil hingga `1.56 * 10^{-3}`, yang berarti komponen-komponen terakhir hampir tidak memberikan informasi tambahan yang signifikan.
4. Eigen Vector (Vektor Eigen):
Vektor ini menunjukkan bobot atau kontribusi setiap variabel asli terhadap komponen utama.
- Pada kolom pertama `([,1])`, variabel Area `(-0.69)` dan ConvexArea `(-0.72)` memiliki bobot paling besar. Ini berarti komponen utama pertama sangat dipengaruhi oleh variabel-variabel yang berkaitan dengan luas permukaan kismis.
- Setiap kolom merupakan sumbu baru yang tegak lurus satu sama lain dalam ruang multivariat untuk mempermudah analisis data yang kompleks.