Import Data

data <- read.csv("C:\\Users\\ASUS\\Downloads\\wholesale+customers\\Wholesale customers data.csv")

View Data

View(data)

Str(Data)

str(data)
## 'data.frame':    440 obs. of  8 variables:
##  $ Channel         : int  2 2 2 1 2 2 2 2 1 2 ...
##  $ Region          : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ Fresh           : int  12669 7057 6353 13265 22615 9413 12126 7579 5963 6006 ...
##  $ Milk            : int  9656 9810 8808 1196 5410 8259 3199 4956 3648 11093 ...
##  $ Grocery         : int  7561 9568 7684 4221 7198 5126 6975 9426 6192 18881 ...
##  $ Frozen          : int  214 1762 2405 6404 3915 666 480 1669 425 1159 ...
##  $ Detergents_Paper: int  2674 3293 3516 507 1777 1795 3140 3321 1716 7425 ...
##  $ Delicassen      : int  1338 1776 7844 1788 5185 1451 545 2566 750 2098 ...
data1 <- data[,3:8]

Head (Data)

head(data1)
##   Fresh Milk Grocery Frozen Detergents_Paper Delicassen
## 1 12669 9656    7561    214             2674       1338
## 2  7057 9810    9568   1762             3293       1776
## 3  6353 8808    7684   2405             3516       7844
## 4 13265 1196    4221   6404              507       1788
## 5 22615 5410    7198   3915             1777       5185
## 6  9413 8259    5126    666             1795       1451

Analisis Korelasi Antar Produk

cor_matrix <- cor(data1)
cor_matrix
##                        Fresh      Milk     Grocery      Frozen Detergents_Paper
## Fresh             1.00000000 0.1005098 -0.01185387  0.34588146       -0.1019529
## Milk              0.10050977 1.0000000  0.72833512  0.12399376        0.6618157
## Grocery          -0.01185387 0.7283351  1.00000000 -0.04019274        0.9246407
## Frozen            0.34588146 0.1239938 -0.04019274  1.00000000       -0.1315249
## Detergents_Paper -0.10195294 0.6618157  0.92464069 -0.13152491        1.0000000
## Delicassen        0.24468997 0.4063683  0.20549651  0.39094747        0.0692913
##                  Delicassen
## Fresh             0.2446900
## Milk              0.4063683
## Grocery           0.2054965
## Frozen            0.3909475
## Detergents_Paper  0.0692913
## Delicassen        1.0000000

Bagian ini menunjukkan kekuatan hhubungan antar barang dengan skala -1 hingga 1, dimana bisa dilihat bahwa Milk, Grocery, dan Detergents_Paper memiliki skor mendekati 1, menandakan pelanggan yang membeli salah satunya cenderung membeli ketiganya secara bersamaan.

Perhitungan Matriks Kovarians

cov_matrix <- cov(data1)
cov_matrix
##                      Fresh     Milk  Grocery   Frozen Detergents_Paper
## Fresh            159954927  9381789 -1424713 21236655       -6147825.7
## Milk               9381789 54469967 51083186  4442612       23288343.5
## Grocery           -1424713 51083186 90310104 -1854282       41895189.7
## Frozen            21236655  4442612 -1854282 23567853       -3044324.9
## Detergents_Paper  -6147826 23288343 41895190 -3044325       22732436.0
## Delicassen         8727310  8457925  5507291  5352342         931680.7
##                  Delicassen
## Fresh             8727310.0
## Milk              8457924.8
## Grocery           5507291.3
## Frozen            5352341.8
## Detergents_Paper   931680.7
## Delicassen        7952997.5

Berbeda dengan korelasi, bagian ini menunjukkan seberapa besar penyebaran atau variasi data dalam nilai asllinnya, dimana angka-angka jutaan tersebut menggambarkan adaya perbedaan jumlah pengeluaran yang sangat kontras atau lebar antar satu pelanggan dengan pelanggan lainnya.

Ekstraksi Nilai dan Vektor Eigen

eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 164995904 145452098  25139978  15803901   5392764   2203641
eigen_result$vectors
##              [,1]        [,2]       [,3]        [,4]       [,5]        [,6]
## [1,]  0.976536846  0.11061386  0.1785573  0.04187648 -0.0159860 -0.01576316
## [2,]  0.121184071 -0.51580216 -0.5098868  0.64564047 -0.2032357  0.03349187
## [3,]  0.061540393 -0.76460638  0.2757809 -0.37546049  0.1602915  0.41093894
## [4,]  0.152364619  0.01872345 -0.7142004 -0.64629232 -0.2201861 -0.01328898
## [5,] -0.007054173 -0.36535076  0.2044099 -0.14938013 -0.2079302 -0.87128428
## [6,]  0.068104710 -0.05707921 -0.2832175  0.02039579  0.9170766 -0.26541687

Bagian ini digunakan untuk meringkas data, dimana nilaai eigen yang sangat besar pada urutan pertama menunjukkan adanya satu pola belanja utama yang sangat dominan, sementara eigen vector memberikan ‘resep’ atau bobot variabel mana saja yang palin berkontribusi dalam membentuk pol besar tersebut.