JANGAN BACA INTERPRETASINYA

library(readxl)
library(MVN)
library(ggplot2)
library(RVAideMemoire)
## *** Package RVAideMemoire v 0.9-83-7 ***
library(car)
## Loading required package: carData
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:car':
## 
##     logit
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha

#IMPORT DATA

dataa <- read.table(text = "x1  x2  x3  x4  x5
71.83   8.74    5.34    10.99   864
73.86   6.35    5.4 12.53   1314
70.24   5.61    4.51    14.99   1275
69.14   6.26    4.98    14.9    915
71.37   5.11    5.66    16.34   1048
74.28   4.02    5.07    11.33   729
69.37   4.95    4.3 15.58   899
71.45   4.42    5.04    10.96   1178
75.41   4.05    5.63    9.81    994
77.59   4.2 5.7 12.28   1839
78.65   3.4 5.06    7.58    1890
71.97   1.92    4.98    10.94   552
77.31   4.35    5.53    9.79    1189
75.1    3.87    5.23    12.87   1003
71.49   4.02    4.98    11.72   738
70.63   3.1 3.1 11.49   461
71.89   2.6 5.2 14.17   636
73.59   4.29    5.02    9.31    864
76.71   3.25    2.19    7.24    1955
73.85   3.35    5.17    6.61    1196
74.07   5.38    5.01    12.01   1269
75.13   4.05    4.74    7.17    1060
71.33   2.32    5   9.26    935
73.86   5.76    5.56    9.39    1044
70.2    6.06    5.53    8.92    967
71.4    3.25    5.14    9.67    1128
68.03   6.55    4.14    15.03   1340
70.23   8.6 4.93    7.3 1682
67.95   8.98    3.74    15.78   1172
81.17   5.25    5.45    6.11    6581
83.54   4.58    5.57    8.44    11277
84.99   4.57    5.34    4.66    3618
84.43   5.99    5.79    4.23    4580
76.71   5.02    5.44    6.81    6873
77.02   6.05    5.01    7.68    7238
", header = T)
dataa
##       x1   x2   x3    x4    x5
## 1  71.83 8.74 5.34 10.99   864
## 2  73.86 6.35 5.40 12.53  1314
## 3  70.24 5.61 4.51 14.99  1275
## 4  69.14 6.26 4.98 14.90   915
## 5  71.37 5.11 5.66 16.34  1048
## 6  74.28 4.02 5.07 11.33   729
## 7  69.37 4.95 4.30 15.58   899
## 8  71.45 4.42 5.04 10.96  1178
## 9  75.41 4.05 5.63  9.81   994
## 10 77.59 4.20 5.70 12.28  1839
## 11 78.65 3.40 5.06  7.58  1890
## 12 71.97 1.92 4.98 10.94   552
## 13 77.31 4.35 5.53  9.79  1189
## 14 75.10 3.87 5.23 12.87  1003
## 15 71.49 4.02 4.98 11.72   738
## 16 70.63 3.10 3.10 11.49   461
## 17 71.89 2.60 5.20 14.17   636
## 18 73.59 4.29 5.02  9.31   864
## 19 76.71 3.25 2.19  7.24  1955
## 20 73.85 3.35 5.17  6.61  1196
## 21 74.07 5.38 5.01 12.01  1269
## 22 75.13 4.05 4.74  7.17  1060
## 23 71.33 2.32 5.00  9.26   935
## 24 73.86 5.76 5.56  9.39  1044
## 25 70.20 6.06 5.53  8.92   967
## 26 71.40 3.25 5.14  9.67  1128
## 27 68.03 6.55 4.14 15.03  1340
## 28 70.23 8.60 4.93  7.30  1682
## 29 67.95 8.98 3.74 15.78  1172
## 30 81.17 5.25 5.45  6.11  6581
## 31 83.54 4.58 5.57  8.44 11277
## 32 84.99 4.57 5.34  4.66  3618
## 33 84.43 5.99 5.79  4.23  4580
## 34 76.71 5.02 5.44  6.81  6873
## 35 77.02 6.05 5.01  7.68  7238

###UJI INDEPENDENSI

H0 : Variabel Independen H1 : variabel tidak Independen

R <- round(cor(dataa),4)

# Menghitung determinan matriks korelasi
detR <- det(R)

# Menghitung Lambda (Λ)
p <- ncol(dataa)
n <- nrow(dataa)
lambda <- detR^(n/2)

# Bartlett's Test Statistic
p <- ncol(dataa)
n <- nrow(dataa)
chi_square_stat <- -2 * (1 - ((2 * p + 5) / (6 * n))) * log(lambda)

# Derajat kebebasan (df)
df <- (p * (p - 1)) / 2

# Nilai kritis Chi-Square
alpha <- 0.05  # Signifikansi
critical_value <- qchisq(1 - alpha, df)

# Hasil Uji Bartlett
if (chi_square_stat > critical_value) {
  result <- "Tolak H0: Variabel tidak independen"
} else {
  result <- "Gagal tolak H0: Variabel independen"
}

# Output
cat("Statistik Chi-Square:", chi_square_stat, "\n")
## Statistik Chi-Square: 51.96453
cat("Nilai Kritis Chi-Square:", critical_value, "\n")
## Nilai Kritis Chi-Square: 18.30704
cat("Keputusan:", result, "\n")
## Keputusan: Tolak H0: Variabel tidak independen

###CEK OUTLIER & Membuang Outlier

n <- nrow(dataa)
p <- ncol(dataa)

#vektor rata-rata
xbar <- apply(dataa, 2, mean)

#mahalanobis
d2 <- mahalanobis(dataa,xbar,cov(dataa))
distOrder <- sort(d2)

#quantile
q<-matrix(rep(0,n),n,1) 
  for (j in 1:n ){
    q[j,]=qchisq((j-0.5)/n,df=p)}

d2 <- mahalanobis(dataa,xbar,cov(dataa))
cutoff <- qchisq(0.975, df = ncol(dataa))
outlier <- which(d2 > cutoff)
outlier
## [1] 19 31
data_baru <- dataa[-outlier,]
View(data_baru)

#INPUT : MATRIKS COVARIANCE #Matriks Covariance Data Asli

cov <- cov(dataa)
cov
##             x1           x2           x3            x4           x5
## x1   19.512608  -1.40096244   1.14411832   -10.2269148    7092.2649
## x2   -1.400962   2.85448454   0.06852429     0.8423275     424.5781
## x3    1.144118   0.06852429   0.55046101    -0.4602157     406.7896
## x4  -10.226915   0.84232748  -0.46021571    10.6584104   -3666.0195
## x5 7092.264941 424.57805882 406.78958824 -3666.0194706 5714776.8706

#Nilai eigen dan vektor eigen

eigen_val <- eigen(cov)$value
eigen_val
## [1] 5.714788e+06 1.571253e+01 3.805101e+00 2.380124e+00 4.641520e-01
eigen_vec <- eigen(cov)$vector
eigen_vec
##               [,1]         [,2]          [,3]         [,4]          [,5]
## [1,]  1.241041e-03  0.768783151  0.5730070051  0.267854493  9.427549e-02
## [2,]  7.429419e-05 -0.168114539 -0.2334891419  0.954529441  7.806321e-02
## [3,]  7.118216e-05  0.040004711  0.0613070083  0.103167040 -9.919665e-01
## [4,] -6.414998e-04 -0.615717303  0.7831904016  0.080522981  3.194739e-02
## [5,]  9.999990e-01 -0.001339433 -0.0001957262 -0.000359023 -3.169491e-05

Analisis komponen utama

AKU1 <- princomp(dataa, cor = F)
summary(AKU1, loadings = TRUE)
## Importance of components:
##                              Comp.1       Comp.2       Comp.3       Comp.4
## Standard deviation     2356.1639215 3.906866e+00 1.922598e+00 1.520566e+00
## Proportion of Variance    0.9999961 2.749440e-06 6.658315e-07 4.164834e-07
## Cumulative Proportion     0.9999961 9.999988e-01 9.999995e-01 9.999999e-01
##                              Comp.5
## Standard deviation     6.714838e-01
## Proportion of Variance 8.121913e-08
## Cumulative Proportion  1.000000e+00
## 
## Loadings:
##    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## x1         0.769  0.573  0.268       
## x2        -0.168 -0.233  0.955       
## x3                       0.103 -0.992
## x4        -0.616  0.783              
## x5  1.000

SCREE PLOT

screeplot(AKU1, type="lines", col=2, main="Scree Plot")

Interpretasi:

-dapat dilihat dari scree plot bahwa kurva mulai melandai pada comp.2 maka KU yang dapat diambil adalah sampai KU 2, atau dapat juga dilihat berdasarkan kumulative proportion, didapatkan bahwa pada komponen 1 bernilai 0,7374083 dan di komponen 2 sudah mencapai 0,9953252 atau sudah melebihi dari 80%. Oleh karena itu, jumlah komponen utama yang digunakan cukup 2 KU yaitu KU1 dan KU2 saja karena komponen utama kedua tersebut dapat menjelaskan keragaman sebesar 99,53% dari keragaman total.

-Persamaan komponen utama yang dihasilkan adalah KU1 = -0.898X2 - 0.437X3 KU2 = -0.436X2 + 0.9X3

Korelasi variabel dengan Komponen Utama

##korelasi nilai Komponen Utama dengan nilai variabel awal
cor(dataa,AKU1$scores)
##        Comp.1        Comp.2        Comp.3        Comp.4        Comp.5
## x1  0.6716278  6.898732e-01  2.530378e-01  9.354941e-02  1.454023e-02
## x2  0.1051214 -3.944251e-01 -2.695789e-01  8.716161e-01  3.147840e-02
## x3  0.2293549  2.137327e-01  1.611870e-01  2.145248e-01 -9.108856e-01
## x4 -0.4697322 -7.475809e-01  4.679551e-01  3.805164e-02  6.666828e-03
## x5  1.0000000 -2.220979e-06 -1.597101e-07 -2.316980e-07 -9.032690e-09

Pada dasarnya ntuk melihat kontribusi dari variabel awal pada komponen utama dapat dilakukan dengan dua cara, yakni melihat korelasi parsialnya, atau hanya melihat koefisien nilai vektor eigennya. Namun, disini dilakukan dengan melihat korelasi parsialnya.

  • Untuk komponen utama pertama, variabel yang paling berkontribusi adalah X2.

  • Untuk komponen utama kedua, variabel yang paling berkontribusi adalah X3.

#Matriks Covariance Data Tanpa Outlier

cov2 <- cov(data_baru)
cov2
##            x1          x2          x3            x4           x5
## x1   17.64894  -1.2552200   1.2915001    -9.9840798    4743.1549
## x2   -1.25522   2.9454439  -0.0670178     0.7090455     543.8902
## x3    1.29150  -0.0670178   0.3253985    -0.7396634     273.2324
## x4   -9.98408   0.7090455  -0.7396634    10.8687028   -3298.7260
## x5 4743.15487 543.8902367 273.2324337 -3298.7259943 3341697.4053

#Nilai eigen dan vektor eigen

eigen_val2 <- eigen(cov2)$value
eigen_val2
## [1] 3.341708e+06 1.533871e+01 3.744942e+00 2.380346e+00 2.249150e-01
eigen_vec2 <- eigen(cov2)$vector
eigen_vec2
##               [,1]         [,2]          [,3]          [,4]          [,5]
## [1,]  1.419389e-03  0.791831822  5.596486e-01  0.2287638437  8.637659e-02
## [2,]  1.627573e-04 -0.186856967 -1.372815e-01  0.9723686487  2.715613e-02
## [3,]  8.176497e-05  0.067028615  3.992865e-02  0.0463304934 -9.958747e-01
## [4,] -9.871438e-04 -0.577573561  8.163045e-01  0.0044235215 -5.939663e-03
## [5,]  9.999985e-01 -0.001669136  3.052975e-05 -0.0004823873 -5.145756e-05

Analisis komponen utama

AKU2 <- princomp(data_baru, cor = F)
summary(AKU2, loadings = TRUE)
## Importance of components:
##                              Comp.1       Comp.2       Comp.3       Comp.4
## Standard deviation     1800.1232294 3.856670e+00 1.905639e+00 1.519281e+00
## Proportion of Variance    0.9999935 4.590052e-06 1.120660e-06 7.123098e-07
## Cumulative Proportion     0.9999935 9.999981e-01 9.999992e-01 9.999999e-01
##                              Comp.5
## Standard deviation     4.670112e-01
## Proportion of Variance 6.730499e-08
## Cumulative Proportion  1.000000e+00
## 
## Loadings:
##    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## x1         0.792  0.560  0.229       
## x2        -0.187 -0.137  0.972       
## x3                             -0.996
## x4        -0.578  0.816              
## x5  1.000

SCREE PLOT

screeplot(AKU2, type="lines", col=2, main="Scree Plot")

Interpretasi:

-dapat dilihat dari scree plot bahwa kurva mulai melandai pada comp.2 maka KU yang dapat diambil adalah sampai KU 2, atau dapat juga dilihat berdasarkan kumulative proportion, didapatkan bahwa pada komponen 1 bernilai 0,7500355 dan di komponen 2 sudah mencapai 0,887379 atau sudah melebihi dari 80%. Oleh karena itu, jumlah komponen utama yang digunakan cukup 2 KU yaitu KU1 dan KU2 saja karena komponen utama kedua tersebut dapat menjelaskan keragaman sebesar 88,38% dari keragaman total.

-Persamaan komponen utama yang dihasilkan adalah KU1 = 0.303X1 -0.133X2 + 0.943X4 KU2 = 0.942X1 + 0.145X2 - 0.101X3 - 0.286X4

Korelasi variabel dengan Komponen Utama

##korelasi nilai Komponen Utama dengan nilai variabel awal
cor(data_baru,AKU2$scores)
##        Comp.1        Comp.2        Comp.3        Comp.4        Comp.5
## x1  0.6176270  7.381897e-01  2.577974e-01  8.401331e-02  9.750928e-03
## x2  0.1733602 -4.264109e-01 -1.547958e-01  8.741292e-01  7.504155e-03
## x3  0.2620256  4.602003e-01  1.354563e-01  1.253081e-01 -8.279539e-01
## x4 -0.5473634 -6.861402e-01  4.791658e-01  2.070138e-03 -8.544413e-04
## x5  1.0000000 -3.576042e-06  3.231935e-08 -4.071293e-07 -1.334980e-08

Pada dasarnya ntuk melihat kontribusi dari variabel awal pada komponen utama dapat dilakukan dengan dua cara, yakni melihat korelasi parsialnya, atau hanya melihat koefisien nilai vektor eigennya. Namun, disini dilakukan dengan melihat korelasi parsialnya.

  • Untuk komponen utama pertama, variabel yang paling berkontribusi adalah X4.

  • Untuk komponen utama kedua, variabel yang paling berkontribusi adalah X1.

AKU dengan matriks korelasi sampel Matriks Korelasi Sampel

#Matriks Korelasi Data Asli yang distandarisasi

cor <-  cor(scale(dataa))
cor
##            x1          x2          x3         x4         x5
## x1  1.0000000 -0.18771760  0.34910012 -0.7091543  0.6716262
## x2 -0.1877176  1.00000000  0.05466601  0.1527112  0.1051221
## x3  0.3491001  0.05466601  1.00000000 -0.1899993  0.2293543
## x4 -0.7091543  0.15271120 -0.18999927  1.0000000 -0.4697307
## x5  0.6716262  0.10512211  0.22935431 -0.4697307  1.0000000

Eigen Value dan Eigen Vector

eigen_val3 <- eigen(cor)$value
eigen_val3
## [1] 2.3957918 1.1026973 0.8379051 0.4688605 0.1947453
eigen_vec3 <- eigen(cor)$vector
eigen_vec3
##             [,1]        [,2]        [,3]        [,4]       [,5]
## [1,]  0.60130730  0.09257322  0.03812047 -0.05073952  0.7910955
## [2,] -0.08836959 -0.87954366  0.30430500  0.30868674  0.1752277
## [3,]  0.30262988 -0.35379562 -0.87275675  0.02135535 -0.1452013
## [4,] -0.52803640 -0.18424248 -0.19006712 -0.70824291  0.3866507
## [5,]  0.51011084 -0.24231493  0.32880912 -0.63251398 -0.4157896

Analisis Komponen Utama

AKU3<-princomp(dataa, cor=T)
summary(AKU3, loadings=TRUE)
## Importance of components:
##                           Comp.1    Comp.2    Comp.3    Comp.4     Comp.5
## Standard deviation     1.5478345 1.0500940 0.9153716 0.6847339 0.44129957
## Proportion of Variance 0.4791584 0.2205395 0.1675810 0.0937721 0.03894906
## Cumulative Proportion  0.4791584 0.6996978 0.8672788 0.9610509 1.00000000
## 
## Loadings:
##    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## x1  0.601                       0.791
## x2        -0.880  0.304 -0.309  0.175
## x3  0.303 -0.354 -0.873        -0.145
## x4 -0.528 -0.184 -0.190  0.708  0.387
## x5  0.510 -0.242  0.329  0.633 -0.416

SCREE PLOT

screeplot(AKU3, type="lines", col=2, main="Scree Plot")

Interpretasi:

-dapat dilihat dari scree plot bahwa kurva mulai melandai pada comp.2 maka KU yang dapat diambil adalah sampai KU 2, atau dapat juga dilihat berdasarkan kumulative proportion, didapatkan bahwa pada komponen 1 bernilai 0,5989643 dan di komponen 2 sudah mencapai 0,8246899 atau sudah melebihi dari 80%. Oleh karena itu, jumlah komponen utama yang digunakan cukup 2 KU yaitu KU1 dan KU2 saja karena komponen utama kedua tersebut dapat menjelaskan keragaman sebesar 82,46% dari keragaman total.

-Persamaan komponen utama yang dihasilkan adalah KU1 = 0.537X1 - 0.517X2 - 0.330X3 - 0.579X4 KU2 = 0.317X1 + 0.178X2 + 0.861X3 - 0.356X4

Korelasi variabel awal dengan komponen utama

cor(dataa,AKU3$scores)
##        Comp.1      Comp.2      Comp.3      Comp.4      Comp.5
## x1  0.9307242  0.09721057  0.03489439  0.03474307  0.34911010
## x2 -0.1367815 -0.92360347  0.27855214 -0.21136827  0.07732790
## x3  0.4684210 -0.37151864 -0.79889672 -0.01462273 -0.06407727
## x4 -0.8173130 -0.19347192 -0.17398204  0.48495792  0.17062878
## x5  0.7895672 -0.25445344  0.30098252  0.43310376 -0.18348779

Pada dasarnya ntuk melihat kontribusi dari variabel awal pada komponen utama dapat dilakukan dengan dua cara, yakni melihat korelasi parsialnya, atau hanya melihat koefisien nilai vektor eigennya. Namun, disini dilakukan dengan melihat korelasi parsialnya.

  • Untuk komponen utama pertama, variabel yang paling berkontribusi adalah X4.

  • Untuk komponen utama kedua, variabel yang paling berkontribusi adalah X3.

#Matriks Korelasi Data Tanpa Outlier yang distandarisasi

cor2 <- cor(scale(data_baru))
cor2
##            x1          x2          x3         x4         x5
## x1  1.0000000 -0.17409452  0.53892374 -0.7208748  0.6176243
## x2 -0.1740945  1.00000000 -0.06845529  0.1253170  0.1733614
## x3  0.5389237 -0.06845529  1.00000000 -0.3933123  0.2620239
## x4 -0.7208748  0.12531696 -0.39331226  1.0000000 -0.5473610
## x5  0.6176243  0.17336137  0.26202391 -0.5473610  1.0000000

#Nilai eigen dan vektor eigen

eigen_val4 <- eigen(cor2)$value
eigen_val4
## [1] 2.5792028 1.1111802 0.7191886 0.3726471 0.2177813
eigen_vec4 <- eigen(cor2)$vector
eigen_vec4
##             [,1]        [,2]        [,3]        [,4]       [,5]
## [1,]  0.57244009  0.08329943 -0.05701651 -0.06124389  0.8114012
## [2,] -0.07157759 -0.89767666  0.27456491  0.28296030  0.1833053
## [3,]  0.40825972  0.13985020  0.85766674 -0.12244668 -0.2513573
## [4,] -0.53078785 -0.04060973  0.25487842 -0.73153575  0.3413320
## [5,]  0.46773631 -0.40746852 -0.34757442 -0.60501645 -0.3582447

Analisis komponen utama

AKU4 <- princomp(data_baru, cor = T)
summary(AKU4, loadings = TRUE)
## Importance of components:
##                           Comp.1    Comp.2    Comp.3     Comp.4     Comp.5
## Standard deviation     1.6059897 1.0541253 0.8480499 0.61044828 0.46667045
## Proportion of Variance 0.5158406 0.2222360 0.1438377 0.07452942 0.04355626
## Cumulative Proportion  0.5158406 0.7380766 0.8819143 0.95644374 1.00000000
## 
## Loadings:
##    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## x1  0.572                       0.811
## x2        -0.898 -0.275 -0.283  0.183
## x3  0.408  0.140 -0.858  0.122 -0.251
## x4 -0.531        -0.255  0.732  0.341
## x5  0.468 -0.407  0.348  0.605 -0.358

SCREE PLOT

screeplot(AKU4, type="lines", col=2, main="Scree Plot")

Interpretasi:

-scree plot dari AKU yang didapatkan kurang bisa menunjukkan pada comp berapa mulai melandai untuk menentukan sampai KU berapa yang diambil, sehingga dapat dilihat berdasarkan kumulative proportion, didapatkan bahwa pada komponen 1 bernilai 0,4563854, di komponen 2 mencapai 0,7077523, dan di komponen 3 sudah mencapai 0,9018976 atau sudah melebihi dari 80%. Oleh karena itu, jumlah komponen utama yang digunakan cukup 2 KU yaitu KU1 dan KU2 saja karena komponen utama kedua tersebut dapat menjelaskan keragaman sebesar 90,19% dari keragaman total.

-Persamaan komponen utama yang dihasilkan adalah KU1 = 0.513X1 - 0.502X2 - 0.358X3 + 0.597X4 KU2 = 0.476X1 + 0.403X2 + 0.699X3 + 0.349X4 KU3= 0.487X1 + 0.618X2 - 0.568X3 - 0.240X4

Korelasi variabel dengan Komponen Utama

##korelasi nilai Komponen Utama dengan nilai variabel awal
cor(data_baru,AKU4$scores)
##        Comp.1      Comp.2      Comp.3      Comp.4      Comp.5
## x1  0.9193329  0.08780804  0.04835285  0.03738623  0.37865695
## x2 -0.1149529 -0.94626369 -0.23284474 -0.17273263  0.08554318
## x3  0.6556609  0.14741963 -0.72734418  0.07474737 -0.11730103
## x4 -0.8524398 -0.04280775 -0.21614962  0.44656474  0.15928957
## x5  0.7511797 -0.42952288  0.29476045  0.36933125 -0.16718222

Pada dasarnya ntuk melihat kontribusi dari variabel awal pada komponen utama dapat dilakukan dengan dua cara, yakni melihat korelasi parsialnya, atau hanya melihat koefisien nilai vektor eigennya. Namun, disini dilakukan dengan melihat korelasi parsialnya.

  • Untuk komponen utama pertama, variabel yang paling berkontribusi adalah X4.

  • Untuk komponen utama kedua, variabel yang paling berkontribusi adalah X3.

  • Untuk komponen utama ketiga, variabel yang paling berkontribusi adalah X2.