Import Data

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

Dalam code ini digunakan untuk import data sesuai path yang ada di file. ## 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 ...

Dalam code ini digunakan untuk mengecek tipe data. ## Variabel Numerik

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

Dalam code ini digunakan untuk menampilkan 6 data pertama. ## Correlation Matrix

cor_matrix <- cor(data)
cor_matrix
##                      Channel       Region       Fresh      Milk      Grocery
## Channel           1.00000000  0.062027619 -0.16917204 0.4607203  0.608792245
## Region            0.06202762  1.000000000  0.05528692 0.0322875  0.007695777
## Fresh            -0.16917204  0.055286923  1.00000000 0.1005098 -0.011853875
## Milk              0.46072028  0.032287502  0.10050977 1.0000000  0.728335118
## Grocery           0.60879225  0.007695777 -0.01185387 0.7283351  1.000000000
## Frozen           -0.20204596 -0.021044215  0.34588146 0.1239938 -0.040192737
## Detergents_Paper  0.63602637 -0.001482686 -0.10195294 0.6618157  0.924640691
## Delicassen        0.05601143  0.045212107  0.24468997 0.4063683  0.205496511
##                       Frozen Detergents_Paper Delicassen
## Channel          -0.20204596      0.636026367 0.05601143
## Region           -0.02104421     -0.001482686 0.04521211
## Fresh             0.34588146     -0.101952938 0.24468997
## Milk              0.12399376      0.661815679 0.40636832
## Grocery          -0.04019274      0.924640691 0.20549651
## Frozen            1.00000000     -0.131524906 0.39094747
## Detergents_Paper -0.13152491      1.000000000 0.06929130
## Delicassen        0.39094747      0.069291297 1.00000000

Correlation matrix digunakan untuk melihat hubungan antar variabel.Rentang dari correlation matrix yaitu antara -1 sampai 1. Terdapat hubungan positif kuat antara Grocery dan Detergents_Paper sebesar 0,9246 serta Milk dan Grocery sebesar 0,7283, dan Milk dan Detergents_Paper sebesar 0,6618 menunjukkan bahwa produk kebutuhan sehari-hari cenderung dibeli bersamaan. Variabel frozen memiliki hubungan positif sedang dengan fresh dan delicassen menunjukkan keterkaitan pada pembelian produk makanan. Sementara itu, pasangan variabel fresh dan grocery memiliki korelasi yang sangat lemah dan hubungan pembelinya tidak terlalu signifikan. ## Variance-Covariance Matrix

cov_matrix <- cov(data)
cov_matrix
##                        Channel       Region         Fresh         Milk
## Channel           2.190723e-01   0.02247877     -1001.431 1.591511e+03
## Region            2.247877e-02   0.59949783       541.396 1.845044e+02
## Fresh            -1.001431e+03 541.39599814 159954927.421 9.381789e+06
## Milk              1.591511e+03 184.50443674   9381788.549 5.446997e+07
## Grocery           2.707890e+03  56.62581280  -1424712.796 5.108319e+07
## Frozen           -4.590964e+02 -79.10183268  21236654.585 4.442612e+06
## Detergents_Paper  1.419358e+03  -5.47350901  -6147825.712 2.328834e+07
## Delicassen        7.393256e+01  98.72200766   8727309.970 8.457925e+06
##                        Grocery        Frozen Detergents_Paper   Delicassen
## Channel           2.707890e+03 -4.590964e+02     1.419358e+03 7.393256e+01
## Region            5.662581e+01 -7.910183e+01    -5.473509e+00 9.872201e+01
## Fresh            -1.424713e+06  2.123665e+07    -6.147826e+06 8.727310e+06
## Milk              5.108319e+07  4.442612e+06     2.328834e+07 8.457925e+06
## Grocery           9.031010e+07 -1.854282e+06     4.189519e+07 5.507291e+06
## Frozen           -1.854282e+06  2.356785e+07    -3.044325e+06 5.352342e+06
## Detergents_Paper  4.189519e+07 -3.044325e+06     2.273244e+07 9.316807e+05
## Delicassen        5.507291e+06  5.352342e+06     9.316807e+05 7.952997e+06

Variance-Correlation matrix digunakan untuk melihat variasi data dan hubungan perubahan antar variabel pembelian produk. Variabel seperti fresh, grocery dan milk memiliki variance besar yang berarti jumlah pembelian produk bervariasi antar pelanggan. Nilai covariance positif seperti milk dan grocery serta grocery dan detergents_paper menunjukkan adanya peningkatan pembelian satu produk cenderung diikuti peningkatan produk lainnya. Sebaliknya covariance negatif(fresh dan grocery) menunjukkan kecenderungan hubungan pembelian yang berlawanan. ## Eigen value dan Eigen Vector

eigen_result <- eigen(cov_matrix)

Eigen value

eigen_result$values
## [1] 1.649959e+08 1.454521e+08 2.513998e+07 1.580390e+07 5.392764e+06
## [6] 2.203641e+06 5.956297e-01 1.220552e-01

Nilai eigen menunjukkan variasi data yang dipergunakan untuk masing-masing komponen utama. Nilai eigen paling besar yaitu 164,995,904 dengan diikuti 145,452,098 dimana kedua komponen menunjukkan sebagian besar variasi data.Sementara itu, nilai eigen yang lebih kecil sehingga kontribusinya dalam menjelaskan variasi data juga lebih rendah. ## Eigen vector

eigen_result$vectors
##               [,1]          [,2]          [,3]          [,4]          [,5]
## [1,]  4.202234e-06 -2.429340e-05 -1.406364e-05  3.486248e-06  6.862672e-08
## [2,] -3.328850e-06 -5.754103e-07 -1.814881e-06  1.104086e-05  1.335398e-05
## [3,] -9.765368e-01  1.106139e-01 -1.785573e-01  4.187648e-02 -1.598600e-02
## [4,] -1.211841e-01 -5.158022e-01  5.098868e-01  6.456405e-01 -2.032357e-01
## [5,] -6.154039e-02 -7.646064e-01 -2.757809e-01 -3.754605e-01  1.602915e-01
## [6,] -1.523646e-01  1.872345e-02  7.142004e-01 -6.462923e-01 -2.201861e-01
## [7,]  7.054174e-03 -3.653508e-01 -2.044099e-01 -1.493801e-01 -2.079302e-01
## [8,] -6.810471e-02 -5.707921e-02  2.832175e-01  2.039579e-02  9.170766e-01
##               [,6]          [,7]          [,8]
## [1,]  3.100332e-05 -4.547857e-02  9.989653e-01
## [2,] -2.417441e-07 -9.989653e-01 -4.547857e-02
## [3,]  1.576316e-02  3.586518e-06  3.813107e-06
## [4,] -3.349187e-02  4.468091e-06 -5.851887e-06
## [5,] -4.109389e-01 -3.884769e-07 -8.182480e-06
## [6,]  1.328898e-02 -1.145872e-05  1.248742e-05
## [7,]  8.712843e-01 -2.334761e-06 -3.840358e-05
## [8,]  2.654169e-01  1.238986e-05 -4.921851e-06

Eigen vector menunjukkan kontribusi masing variabel dalam membentuk setiap komponen utama. Nilai terbesar terdapat pada variabel fresh sehingga komponen ini dipengaruhi oleh pembelian produk fresh. Kedua, variabel milk dan grocery memiliki kontribusi cukup besar yang menunjukkan bahwa komponen menggambarkan pola pembelian produk kebutuhan sehari-hari. Sementara itu, kombinasi kontribusi dan beberapa variabel seperti frozen, detergents_paper, dan delicassen secara keseluruhan eigen vector menunjukkan variabel mana yang berperan dalam menjelaskan variasi data pada komponen utama.