1 PENDAHULUAN

1.1 Data

Data yang saya gunakan berasal dari Seeds Dataset yang tersedia pada UCI Machine Learning Repository. Saya memilih dataset ini karena sumbernya kredibel dan banyak digunakan dalam penelitian maupun pembelajaran analisis multivariat.

2 SOURCE CODE

2.1 Import dan Rapihkan Data

> library(readxl)
> data = read_excel("C:/Users/Muhammad Abdul Aziz/OneDrive/Documents/A. KULIAH/Semester 5/Analisis Multivariat/Praktikum/Data Tugas Praktikum 2.xlsx")
> data
# A tibble: 210 × 8
      X1    X2    X3    X4    X5    X6    X7     Y
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  15.3  14.8 0.871  5.76  3.31  2.22  5.22     1
 2  14.9  14.6 0.881  5.55  3.33  1.02  4.96     1
 3  14.3  14.1 0.905  5.29  3.34  2.70  4.82     1
 4  13.8  13.9 0.896  5.32  3.38  2.26  4.80     1
 5  16.1  15.0 0.903  5.66  3.56  1.36  5.18     1
 6  14.4  14.2 0.895  5.39  3.31  2.46  4.96     1
 7  14.7  14.5 0.880  5.56  3.26  3.59  5.22     1
 8  14.1  14.1 0.891  5.42  3.30  2.7   5        1
 9  16.6  15.5 0.875  6.05  3.46  2.04  5.88     1
10  16.4  15.2 0.888  5.88  3.50  1.97  5.53     1
# ℹ 200 more rows

Syntax read_excel() digunakan untuk mengimpor data dari file Excel ke dalam R sehingga dataset dapat diolah lebih lanjut. Selanjutnya, bagian data[,1:7] <- lapply(…) berfungsi mengonversi tujuh variabel pertama menjadi tipe numerik agar dapat digunakan dalam analisis multivariat tanpa error tipe data. Terakhir, str(data) menampilkan struktur data untuk memastikan bahwa proses konversi berhasil dan seluruh variabel memiliki format yang sesuai.

2.2 Cek Outlier dan Uji Asumsi Normalitas

> library(MVN)
> # Cek Outliers
> testnorm = mvn(data[,1:7], multivariate_outlier_method = 'adj',show_new_data = TRUE) 
> testnorm 
$multivariate_normality
           Test Statistic p.value     Method          MVN
1 Henze-Zirkler     1.662  <0.001 asymptotic ✗ Not normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       X1     4.448  <0.001 ✗ Not normal
2 Anderson-Darling       X2     4.379  <0.001 ✗ Not normal
3 Anderson-Darling       X3     1.360   0.002 ✗ Not normal
4 Anderson-Darling       X4     3.892  <0.001 ✗ Not normal
5 Anderson-Darling       X5     2.053  <0.001 ✗ Not normal
6 Anderson-Darling       X6     0.635   0.096     ✓ Normal
7 Anderson-Darling       X7     6.740  <0.001 ✗ Not normal

$descriptives
  Variable   n   Mean Std.Dev Median    Min    Max   25th   75th   Skew
1       X1 210 14.848   2.910 14.355 10.590 21.180 12.270 17.305  0.397
2       X2 210 14.559   1.306 14.320 12.410 17.250 13.450 15.715  0.384
3       X3 210  0.871   0.024  0.873  0.808  0.918  0.857  0.888 -0.534
4       X4 210  5.629   0.443  5.524  4.899  6.675  5.262  5.980  0.522
5       X5 210  3.259   0.378  3.237  2.630  4.033  2.944  3.562  0.133
6       X6 210  3.700   1.504  3.599  0.765  8.456  2.562  4.769  0.399
7       X7 210  5.408   0.491  5.223  4.519  6.550  5.045  5.877  0.558
  Kurtosis
1    1.913
2    1.891
3    2.835
4    2.205
5    1.900
6    2.907
7    2.151

$multivariate_outliers
   Observation Mahalanobis.Distance
1           89              618.167
2           90              542.275
3          115              492.560
4           78              475.104
5           83              410.835
6          121              370.955
7          129              323.334
8           91              317.565
9          109              306.911
10         120              304.746
11         103              265.363
12          84              230.214
13          74              220.627
14          85              220.580
15         107              211.443
16         119              209.802
17         113              208.061
18         117              205.167
19          98              205.106
20          97              204.347
21          87              203.722
22         118              202.786
23          79              198.082
24         114              197.471
25         116              195.546
26          93              190.836
27         104              190.082
28         112              189.234
29         106              175.811
30         105              174.368
31          94              173.551
32         132              172.899
33          92              171.962
34          82              171.085
35         126              168.053
36         124              164.726
37         131              157.448
38         127              157.050
39         100              152.315
40          88              142.727
41         110              139.381
42         122              131.482
43          86              127.847
44         111              123.407
45         102              113.528
46         128              112.412
47          99              107.015
48          95              104.908
49         130               93.165
50         108               80.227
51          60               72.198
52          77               68.714
53          71               60.298
54          80               57.251
55         137               53.726
56          73               49.100
57          38               47.680
58          81               42.466
59         125               42.258
60          76               39.554
61          75               37.428
62         123               36.284
63          96               33.668
64         101               31.464
65          72               31.230
66         140               30.966
67           9               28.653
68           4               25.789
69          10               22.754
70          36               22.601
71         134               22.405
72          52               21.932
73         135               21.481
74         158               20.708
75          26               19.368
76         133               18.284
77          57               18.226
78         136               17.791

$new_data
       X1    X2     X3    X4    X5     X6    X7
1   15.26 14.84 0.8710 5.763 3.312 2.2210 5.220
2   14.88 14.57 0.8811 5.554 3.333 1.0180 4.956
3   14.29 14.09 0.9050 5.291 3.337 2.6990 4.825
5   16.14 14.99 0.9034 5.658 3.562 1.3550 5.175
6   14.38 14.21 0.8951 5.386 3.312 2.4620 4.956
7   14.69 14.49 0.8799 5.563 3.259 3.5860 5.219
8   14.11 14.10 0.8911 5.420 3.302 2.7000 5.000
11  15.26 14.85 0.8696 5.714 3.242 4.5430 5.314
12  14.03 14.16 0.8796 5.438 3.201 1.7170 5.001
13  13.89 14.02 0.8880 5.439 3.199 3.9860 4.738
14  13.78 14.06 0.8759 5.479 3.156 3.1360 4.872
15  13.74 14.05 0.8744 5.482 3.114 2.9320 4.825
16  14.59 14.28 0.8993 5.351 3.333 4.1850 4.781
17  13.99 13.83 0.9183 5.119 3.383 5.2340 4.781
18  15.69 14.75 0.9058 5.527 3.514 1.5990 5.046
19  14.70 14.21 0.9153 5.205 3.466 1.7670 4.649
20  12.72 13.57 0.8686 5.226 3.049 4.1020 4.914
21  14.16 14.40 0.8584 5.658 3.129 3.0720 5.176
22  14.11 14.26 0.8722 5.520 3.168 2.6880 5.219
23  15.88 14.90 0.8988 5.618 3.507 0.7651 5.091
24  12.08 13.23 0.8664 5.099 2.936 1.4150 4.961
25  15.01 14.76 0.8657 5.789 3.245 1.7910 5.001
27  13.02 13.76 0.8641 5.395 3.026 3.3730 4.825
28  12.74 13.67 0.8564 5.395 2.956 2.5040 4.869
29  14.11 14.18 0.8820 5.541 3.221 2.7540 5.038
30  13.45 14.02 0.8604 5.516 3.065 3.5310 5.097
31  13.16 13.82 0.8662 5.454 2.975 0.8551 5.056
32  15.49 14.94 0.8724 5.757 3.371 3.4120 5.228
33  14.09 14.41 0.8529 5.717 3.186 3.9200 5.299
34  13.94 14.17 0.8728 5.585 3.150 2.1240 5.012
35  15.05 14.68 0.8779 5.712 3.328 2.1290 5.360
37  16.20 15.27 0.8734 5.826 3.464 2.8230 5.527
39  14.80 14.52 0.8823 5.656 3.288 3.1120 5.309
40  14.28 14.17 0.8944 5.397 3.298 6.6850 5.001
41  13.54 13.85 0.8871 5.348 3.156 2.5870 5.178
42  13.50 13.85 0.8852 5.351 3.158 2.2490 5.176
43  13.16 13.55 0.9009 5.138 3.201 2.4610 4.783
44  15.50 14.86 0.8820 5.877 3.396 4.7110 5.528
45  15.11 14.54 0.8986 5.579 3.462 3.1280 5.180
46  13.80 14.04 0.8794 5.376 3.155 1.5600 4.961
47  15.36 14.76 0.8861 5.701 3.393 1.3670 5.132
48  14.99 14.56 0.8883 5.570 3.377 2.9580 5.175
49  14.79 14.52 0.8819 5.545 3.291 2.7040 5.111
50  14.86 14.67 0.8676 5.678 3.258 2.1290 5.351
51  14.43 14.40 0.8751 5.585 3.272 3.9750 5.144
53  14.49 14.61 0.8538 5.715 3.113 4.1160 5.396
54  14.33 14.28 0.8831 5.504 3.199 3.3280 5.224
55  14.52 14.60 0.8557 5.741 3.113 1.4810 5.487
56  15.03 14.77 0.8658 5.702 3.212 1.9330 5.439
58  14.92 14.43 0.9006 5.384 3.412 1.1420 5.088
59  15.38 14.77 0.8857 5.662 3.419 1.9990 5.222
61  11.42 12.86 0.8683 5.008 2.850 2.7000 4.607
62  11.23 12.63 0.8840 4.902 2.879 2.2690 4.703
63  12.36 13.19 0.8923 5.076 3.042 3.2200 4.605
64  13.22 13.84 0.8680 5.395 3.070 4.1570 5.088
65  12.78 13.57 0.8716 5.262 3.026 1.1760 4.782
66  12.88 13.50 0.8879 5.139 3.119 2.3520 4.607
67  14.34 14.37 0.8726 5.630 3.190 1.3130 5.150
68  14.01 14.29 0.8625 5.609 3.158 2.2170 5.132
69  14.37 14.39 0.8726 5.569 3.153 1.4640 5.300
70  12.73 13.75 0.8458 5.412 2.882 3.5330 5.067
138 15.57 15.15 0.8527 5.920 3.231 2.6400 5.879
139 15.60 15.11 0.8580 5.832 3.286 2.7250 5.752
141 13.07 13.92 0.8480 5.472 2.994 5.3040 5.395
142 13.32 13.94 0.8613 5.541 3.073 7.0350 5.440
143 13.34 13.95 0.8620 5.389 3.074 5.9950 5.307
144 12.22 13.32 0.8652 5.224 2.967 5.4690 5.221
145 11.82 13.40 0.8274 5.314 2.777 4.4710 5.178
146 11.21 13.13 0.8167 5.279 2.687 6.1690 5.275
147 11.43 13.13 0.8335 5.176 2.719 2.2210 5.132
148 12.49 13.46 0.8658 5.267 2.967 4.4210 5.002
149 12.70 13.71 0.8491 5.386 2.911 3.2600 5.316
150 10.79 12.93 0.8107 5.317 2.648 5.4620 5.194
151 11.83 13.23 0.8496 5.263 2.840 5.1950 5.307
152 12.01 13.52 0.8249 5.405 2.776 6.9920 5.270
153 12.26 13.60 0.8333 5.408 2.833 4.7560 5.360
154 11.18 13.04 0.8266 5.220 2.693 3.3320 5.001
155 11.36 13.05 0.8382 5.175 2.755 4.0480 5.263
156 11.19 13.05 0.8253 5.250 2.675 5.8130 5.219
157 11.34 12.87 0.8596 5.053 2.849 3.3470 5.003
159 11.75 13.52 0.8082 5.444 2.678 4.3780 5.310
160 11.49 13.22 0.8263 5.304 2.695 5.3880 5.310
161 12.54 13.67 0.8425 5.451 2.879 3.0820 5.491
162 12.02 13.33 0.8503 5.350 2.810 4.2710 5.308
163 12.05 13.41 0.8416 5.267 2.847 4.9880 5.046
164 12.55 13.57 0.8558 5.333 2.968 4.4190 5.176
165 11.14 12.79 0.8558 5.011 2.794 6.3880 5.049
166 12.10 13.15 0.8793 5.105 2.941 2.2010 5.056
167 12.44 13.59 0.8462 5.319 2.897 4.9240 5.270
168 12.15 13.45 0.8443 5.417 2.837 3.6380 5.338
169 11.35 13.12 0.8291 5.176 2.668 4.3370 5.132
170 11.24 13.00 0.8359 5.090 2.715 3.5210 5.088
171 11.02 13.00 0.8189 5.325 2.701 6.7350 5.163
172 11.55 13.10 0.8455 5.167 2.845 6.7150 4.956
173 11.27 12.97 0.8419 5.088 2.763 4.3090 5.000
174 11.40 13.08 0.8375 5.136 2.763 5.5880 5.089
175 10.83 12.96 0.8099 5.278 2.641 5.1820 5.185
176 10.80 12.57 0.8590 4.981 2.821 4.7730 5.063
177 11.26 13.01 0.8355 5.186 2.710 5.3350 5.092
178 10.74 12.73 0.8329 5.145 2.642 4.7020 4.963
179 11.48 13.05 0.8473 5.180 2.758 5.8760 5.002
180 12.21 13.47 0.8453 5.357 2.893 1.6610 5.178
181 11.41 12.95 0.8560 5.090 2.775 4.9570 4.825
182 12.46 13.41 0.8706 5.236 3.017 4.9870 5.147
183 12.19 13.36 0.8579 5.240 2.909 4.8570 5.158
184 11.65 13.07 0.8575 5.108 2.850 5.2090 5.135
185 12.89 13.77 0.8541 5.495 3.026 6.1850 5.316
186 11.56 13.31 0.8198 5.363 2.683 4.0620 5.182
187 11.81 13.45 0.8198 5.413 2.716 4.8980 5.352
188 10.91 12.80 0.8372 5.088 2.675 4.1790 4.956
189 11.23 12.82 0.8594 5.089 2.821 7.5240 4.957
190 10.59 12.41 0.8648 4.899 2.787 4.9750 4.794
191 10.93 12.80 0.8390 5.046 2.717 5.3980 5.045
192 11.27 12.86 0.8563 5.091 2.804 3.9850 5.001
193 11.87 13.02 0.8795 5.132 2.953 3.5970 5.132
194 10.82 12.83 0.8256 5.180 2.630 4.8530 5.089
195 12.11 13.27 0.8639 5.236 2.975 4.1320 5.012
196 12.80 13.47 0.8860 5.160 3.126 4.8730 4.914
197 12.79 13.53 0.8786 5.224 3.054 5.4830 4.958
198 13.37 13.78 0.8849 5.320 3.128 4.6700 5.091
199 12.62 13.67 0.8481 5.410 2.911 3.3060 5.231
200 12.76 13.38 0.8964 5.073 3.155 2.8280 4.830
201 12.38 13.44 0.8609 5.219 2.989 5.4720 5.045
202 12.67 13.32 0.8977 4.984 3.135 2.3000 4.745
203 11.18 12.72 0.8680 5.009 2.810 4.0510 4.828
204 12.70 13.41 0.8874 5.183 3.091 8.4560 5.000
205 12.37 13.47 0.8567 5.204 2.960 3.9190 5.001
206 12.19 13.20 0.8783 5.137 2.981 3.6310 4.870
207 11.23 12.88 0.8511 5.140 2.795 4.3250 5.003
208 13.20 13.66 0.8883 5.236 3.232 8.3150 5.056
209 11.84 13.21 0.8521 5.175 2.836 3.5980 5.044
210 12.30 13.34 0.8684 5.243 2.974 5.6370 5.063

$data
# A tibble: 210 × 7
      X1    X2    X3    X4    X5    X6    X7
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  15.3  14.8 0.871  5.76  3.31  2.22  5.22
 2  14.9  14.6 0.881  5.55  3.33  1.02  4.96
 3  14.3  14.1 0.905  5.29  3.34  2.70  4.82
 4  13.8  13.9 0.896  5.32  3.38  2.26  4.80
 5  16.1  15.0 0.903  5.66  3.56  1.36  5.18
 6  14.4  14.2 0.895  5.39  3.31  2.46  4.96
 7  14.7  14.5 0.880  5.56  3.26  3.59  5.22
 8  14.1  14.1 0.891  5.42  3.30  2.7   5   
 9  16.6  15.5 0.875  6.05  3.46  2.04  5.88
10  16.4  15.2 0.888  5.88  3.50  1.97  5.53
# ℹ 200 more rows

$subset
NULL

$outlierMethod
[1] "adj"

attr(,"class")
[1] "mvn"
> # Mengahapus outliers dan identifikasi data baru
> newdata = testnorm$new_data 
> result = mvn(newdata, mvn_test = 'mardia',alpha = 0.05) 
> result 
$multivariate_normality
             Test Statistic p.value     Method          MVN
1 Mardia Skewness   208.411  <0.001 asymptotic ✗ Not normal
2 Mardia Kurtosis     0.667   0.505 asymptotic     ✓ Normal

$univariate_normality
              Test Variable Statistic p.value    Normality
1 Anderson-Darling       X1     1.938  <0.001 ✗ Not normal
2 Anderson-Darling       X2     1.451  <0.001 ✗ Not normal
3 Anderson-Darling       X3     0.297   0.585     ✓ Normal
4 Anderson-Darling       X4     0.856   0.027 ✗ Not normal
5 Anderson-Darling       X5     1.118   0.006 ✗ Not normal
6 Anderson-Darling       X6     0.446   0.278     ✓ Normal
7 Anderson-Darling       X7     0.532   0.171     ✓ Normal

$descriptives
  Variable   n   Mean Std.Dev Median    Min    Max   25th   75th   Skew
1       X1 132 12.992   1.491 12.735 10.590 16.200 11.725 14.282  0.297
2       X2 132 13.724   0.676 13.580 12.410 15.270 13.180 14.265  0.324
3       X3 132  0.864   0.024  0.865  0.808  0.918  0.848  0.881 -0.195
4       X4 132  5.357   0.228  5.349  4.899  5.920  5.176  5.522  0.328
5       X5 132  3.029   0.239  3.026  2.630  3.562  2.830  3.204  0.160
6       X6 132  3.789   1.630  3.635  0.765  8.456  2.566  4.904  0.373
7       X7 132  5.102   0.216  5.091  4.605  5.879  5.000  5.222  0.269
  Kurtosis
1    1.931
2    2.107
3    2.574
4    2.376
5    2.006
6    2.780
7    3.948

$data
       X1    X2     X3    X4    X5     X6    X7
1   15.26 14.84 0.8710 5.763 3.312 2.2210 5.220
2   14.88 14.57 0.8811 5.554 3.333 1.0180 4.956
3   14.29 14.09 0.9050 5.291 3.337 2.6990 4.825
5   16.14 14.99 0.9034 5.658 3.562 1.3550 5.175
6   14.38 14.21 0.8951 5.386 3.312 2.4620 4.956
7   14.69 14.49 0.8799 5.563 3.259 3.5860 5.219
8   14.11 14.10 0.8911 5.420 3.302 2.7000 5.000
11  15.26 14.85 0.8696 5.714 3.242 4.5430 5.314
12  14.03 14.16 0.8796 5.438 3.201 1.7170 5.001
13  13.89 14.02 0.8880 5.439 3.199 3.9860 4.738
14  13.78 14.06 0.8759 5.479 3.156 3.1360 4.872
15  13.74 14.05 0.8744 5.482 3.114 2.9320 4.825
16  14.59 14.28 0.8993 5.351 3.333 4.1850 4.781
17  13.99 13.83 0.9183 5.119 3.383 5.2340 4.781
18  15.69 14.75 0.9058 5.527 3.514 1.5990 5.046
19  14.70 14.21 0.9153 5.205 3.466 1.7670 4.649
20  12.72 13.57 0.8686 5.226 3.049 4.1020 4.914
21  14.16 14.40 0.8584 5.658 3.129 3.0720 5.176
22  14.11 14.26 0.8722 5.520 3.168 2.6880 5.219
23  15.88 14.90 0.8988 5.618 3.507 0.7651 5.091
24  12.08 13.23 0.8664 5.099 2.936 1.4150 4.961
25  15.01 14.76 0.8657 5.789 3.245 1.7910 5.001
27  13.02 13.76 0.8641 5.395 3.026 3.3730 4.825
28  12.74 13.67 0.8564 5.395 2.956 2.5040 4.869
29  14.11 14.18 0.8820 5.541 3.221 2.7540 5.038
30  13.45 14.02 0.8604 5.516 3.065 3.5310 5.097
31  13.16 13.82 0.8662 5.454 2.975 0.8551 5.056
32  15.49 14.94 0.8724 5.757 3.371 3.4120 5.228
33  14.09 14.41 0.8529 5.717 3.186 3.9200 5.299
34  13.94 14.17 0.8728 5.585 3.150 2.1240 5.012
35  15.05 14.68 0.8779 5.712 3.328 2.1290 5.360
37  16.20 15.27 0.8734 5.826 3.464 2.8230 5.527
39  14.80 14.52 0.8823 5.656 3.288 3.1120 5.309
40  14.28 14.17 0.8944 5.397 3.298 6.6850 5.001
41  13.54 13.85 0.8871 5.348 3.156 2.5870 5.178
42  13.50 13.85 0.8852 5.351 3.158 2.2490 5.176
43  13.16 13.55 0.9009 5.138 3.201 2.4610 4.783
44  15.50 14.86 0.8820 5.877 3.396 4.7110 5.528
45  15.11 14.54 0.8986 5.579 3.462 3.1280 5.180
46  13.80 14.04 0.8794 5.376 3.155 1.5600 4.961
47  15.36 14.76 0.8861 5.701 3.393 1.3670 5.132
48  14.99 14.56 0.8883 5.570 3.377 2.9580 5.175
49  14.79 14.52 0.8819 5.545 3.291 2.7040 5.111
50  14.86 14.67 0.8676 5.678 3.258 2.1290 5.351
51  14.43 14.40 0.8751 5.585 3.272 3.9750 5.144
53  14.49 14.61 0.8538 5.715 3.113 4.1160 5.396
54  14.33 14.28 0.8831 5.504 3.199 3.3280 5.224
55  14.52 14.60 0.8557 5.741 3.113 1.4810 5.487
56  15.03 14.77 0.8658 5.702 3.212 1.9330 5.439
58  14.92 14.43 0.9006 5.384 3.412 1.1420 5.088
59  15.38 14.77 0.8857 5.662 3.419 1.9990 5.222
61  11.42 12.86 0.8683 5.008 2.850 2.7000 4.607
62  11.23 12.63 0.8840 4.902 2.879 2.2690 4.703
63  12.36 13.19 0.8923 5.076 3.042 3.2200 4.605
64  13.22 13.84 0.8680 5.395 3.070 4.1570 5.088
65  12.78 13.57 0.8716 5.262 3.026 1.1760 4.782
66  12.88 13.50 0.8879 5.139 3.119 2.3520 4.607
67  14.34 14.37 0.8726 5.630 3.190 1.3130 5.150
68  14.01 14.29 0.8625 5.609 3.158 2.2170 5.132
69  14.37 14.39 0.8726 5.569 3.153 1.4640 5.300
70  12.73 13.75 0.8458 5.412 2.882 3.5330 5.067
138 15.57 15.15 0.8527 5.920 3.231 2.6400 5.879
139 15.60 15.11 0.8580 5.832 3.286 2.7250 5.752
141 13.07 13.92 0.8480 5.472 2.994 5.3040 5.395
142 13.32 13.94 0.8613 5.541 3.073 7.0350 5.440
143 13.34 13.95 0.8620 5.389 3.074 5.9950 5.307
144 12.22 13.32 0.8652 5.224 2.967 5.4690 5.221
145 11.82 13.40 0.8274 5.314 2.777 4.4710 5.178
146 11.21 13.13 0.8167 5.279 2.687 6.1690 5.275
147 11.43 13.13 0.8335 5.176 2.719 2.2210 5.132
148 12.49 13.46 0.8658 5.267 2.967 4.4210 5.002
149 12.70 13.71 0.8491 5.386 2.911 3.2600 5.316
150 10.79 12.93 0.8107 5.317 2.648 5.4620 5.194
151 11.83 13.23 0.8496 5.263 2.840 5.1950 5.307
152 12.01 13.52 0.8249 5.405 2.776 6.9920 5.270
153 12.26 13.60 0.8333 5.408 2.833 4.7560 5.360
154 11.18 13.04 0.8266 5.220 2.693 3.3320 5.001
155 11.36 13.05 0.8382 5.175 2.755 4.0480 5.263
156 11.19 13.05 0.8253 5.250 2.675 5.8130 5.219
157 11.34 12.87 0.8596 5.053 2.849 3.3470 5.003
159 11.75 13.52 0.8082 5.444 2.678 4.3780 5.310
160 11.49 13.22 0.8263 5.304 2.695 5.3880 5.310
161 12.54 13.67 0.8425 5.451 2.879 3.0820 5.491
162 12.02 13.33 0.8503 5.350 2.810 4.2710 5.308
163 12.05 13.41 0.8416 5.267 2.847 4.9880 5.046
164 12.55 13.57 0.8558 5.333 2.968 4.4190 5.176
165 11.14 12.79 0.8558 5.011 2.794 6.3880 5.049
166 12.10 13.15 0.8793 5.105 2.941 2.2010 5.056
167 12.44 13.59 0.8462 5.319 2.897 4.9240 5.270
168 12.15 13.45 0.8443 5.417 2.837 3.6380 5.338
169 11.35 13.12 0.8291 5.176 2.668 4.3370 5.132
170 11.24 13.00 0.8359 5.090 2.715 3.5210 5.088
171 11.02 13.00 0.8189 5.325 2.701 6.7350 5.163
172 11.55 13.10 0.8455 5.167 2.845 6.7150 4.956
173 11.27 12.97 0.8419 5.088 2.763 4.3090 5.000
174 11.40 13.08 0.8375 5.136 2.763 5.5880 5.089
175 10.83 12.96 0.8099 5.278 2.641 5.1820 5.185
176 10.80 12.57 0.8590 4.981 2.821 4.7730 5.063
177 11.26 13.01 0.8355 5.186 2.710 5.3350 5.092
178 10.74 12.73 0.8329 5.145 2.642 4.7020 4.963
179 11.48 13.05 0.8473 5.180 2.758 5.8760 5.002
180 12.21 13.47 0.8453 5.357 2.893 1.6610 5.178
181 11.41 12.95 0.8560 5.090 2.775 4.9570 4.825
182 12.46 13.41 0.8706 5.236 3.017 4.9870 5.147
183 12.19 13.36 0.8579 5.240 2.909 4.8570 5.158
184 11.65 13.07 0.8575 5.108 2.850 5.2090 5.135
185 12.89 13.77 0.8541 5.495 3.026 6.1850 5.316
186 11.56 13.31 0.8198 5.363 2.683 4.0620 5.182
187 11.81 13.45 0.8198 5.413 2.716 4.8980 5.352
188 10.91 12.80 0.8372 5.088 2.675 4.1790 4.956
189 11.23 12.82 0.8594 5.089 2.821 7.5240 4.957
190 10.59 12.41 0.8648 4.899 2.787 4.9750 4.794
191 10.93 12.80 0.8390 5.046 2.717 5.3980 5.045
192 11.27 12.86 0.8563 5.091 2.804 3.9850 5.001
193 11.87 13.02 0.8795 5.132 2.953 3.5970 5.132
194 10.82 12.83 0.8256 5.180 2.630 4.8530 5.089
195 12.11 13.27 0.8639 5.236 2.975 4.1320 5.012
196 12.80 13.47 0.8860 5.160 3.126 4.8730 4.914
197 12.79 13.53 0.8786 5.224 3.054 5.4830 4.958
198 13.37 13.78 0.8849 5.320 3.128 4.6700 5.091
199 12.62 13.67 0.8481 5.410 2.911 3.3060 5.231
200 12.76 13.38 0.8964 5.073 3.155 2.8280 4.830
201 12.38 13.44 0.8609 5.219 2.989 5.4720 5.045
202 12.67 13.32 0.8977 4.984 3.135 2.3000 4.745
203 11.18 12.72 0.8680 5.009 2.810 4.0510 4.828
204 12.70 13.41 0.8874 5.183 3.091 8.4560 5.000
205 12.37 13.47 0.8567 5.204 2.960 3.9190 5.001
206 12.19 13.20 0.8783 5.137 2.981 3.6310 4.870
207 11.23 12.88 0.8511 5.140 2.795 4.3250 5.003
208 13.20 13.66 0.8883 5.236 3.232 8.3150 5.056
209 11.84 13.21 0.8521 5.175 2.836 3.5980 5.044
210 12.30 13.34 0.8684 5.243 2.974 5.6370 5.063

$subset
NULL

$outlierMethod
[1] "none"

attr(,"class")
[1] "mvn"
> dataakhir = data[c(rownames(newdata)),1:8] 
> dataakhir
# A tibble: 132 × 8
      X1    X2    X3    X4    X5    X6    X7     Y
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  15.3  14.8 0.871  5.76  3.31  2.22  5.22     1
 2  14.9  14.6 0.881  5.55  3.33  1.02  4.96     1
 3  14.3  14.1 0.905  5.29  3.34  2.70  4.82     1
 4  16.1  15.0 0.903  5.66  3.56  1.36  5.18     1
 5  14.4  14.2 0.895  5.39  3.31  2.46  4.96     1
 6  14.7  14.5 0.880  5.56  3.26  3.59  5.22     1
 7  14.1  14.1 0.891  5.42  3.30  2.7   5        1
 8  15.3  14.8 0.870  5.71  3.24  4.54  5.31     1
 9  14.0  14.2 0.880  5.44  3.20  1.72  5.00     1
10  13.9  14.0 0.888  5.44  3.20  3.99  4.74     1
# ℹ 122 more rows
> dataakhir = dataakhir[-(62:63), ]
> dataakhir
# A tibble: 130 × 8
      X1    X2    X3    X4    X5    X6    X7     Y
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  15.3  14.8 0.871  5.76  3.31  2.22  5.22     1
 2  14.9  14.6 0.881  5.55  3.33  1.02  4.96     1
 3  14.3  14.1 0.905  5.29  3.34  2.70  4.82     1
 4  16.1  15.0 0.903  5.66  3.56  1.36  5.18     1
 5  14.4  14.2 0.895  5.39  3.31  2.46  4.96     1
 6  14.7  14.5 0.880  5.56  3.26  3.59  5.22     1
 7  14.1  14.1 0.891  5.42  3.30  2.7   5        1
 8  15.3  14.8 0.870  5.71  3.24  4.54  5.31     1
 9  14.0  14.2 0.880  5.44  3.20  1.72  5.00     1
10  13.9  14.0 0.888  5.44  3.20  3.99  4.74     1
# ℹ 120 more rows
> table(dataakhir$Y)

 1  3 
61 69 

Syntax mvn() dari paket MVN digunakan untuk mendeteksi outlier multivariat secara otomatis menggunakan metode adjusted outlier detection, sekaligus menghasilkan dataset baru tanpa outlier melalui argumen show_new_data = TRUE. Selanjutnya, dataset yang telah dibersihkan diuji kembali menggunakan mvn(…, mvn_test = ‘mardia’) untuk memeriksa asumsi normalitas multivariat berdasarkan uji Mardia. Syntax berikutnya menyusun ulang data asli agar hanya menyertakan observasi yang valid, menghapus observasi tertentu yang masih terindikasi bermasalah, dan menampilkan data akhir yang siap digunakan untuk analisis berikutnya. Terakhir, table() digunakan untuk melihat kembali distribusi kelompok pada variabel Y setelah proses pembersihan data.

2.3 Uji Asumsi Homogenitas Ragam Peragam

> library(biotools)
> ujiboxM = boxM(cbind(dataakhir$X1, dataakhir$X2, dataakhir$X3, dataakhir$X4,
+                      dataakhir$X5, dataakhir$X6, dataakhir$X7),dataakhir$Y) 
> ujiboxM

    Box's M-test for Homogeneity of Covariance Matrices

data:  cbind(dataakhir$X1, dataakhir$X2, dataakhir$X3, dataakhir$X4,     dataakhir$X5, dataakhir$X6, dataakhir$X7)
Chi-Sq (approx.) = 240.66, df = 28, p-value < 2.2e-16

Syntax boxM() digunakan untuk menguji asumsi homogenitas matriks varians–kovarians antar kelompok dengan memasukkan tujuh variabel prediktor sebagai input dan Y sebagai faktor pengelompok. Selanjutnya, objek ujiboxM menampilkan hasil pengujian Box’s M, yang menunjukkan apakah matriks varians–kovarians antar kelompok sama atau berbeda secara signifikan, sehingga dapat menentukan kesesuaian penggunaan metode diskriminan seperti LDA.

2.4 Uji Asumsi Multikolinieritas

> cor(dataakhir[,1:7])
           X1         X2         X3         X4          X5         X6
X1  1.0000000  0.9788356  0.6787652  0.8145151  0.94907682 -0.5141570
X2  0.9788356  1.0000000  0.5165082  0.9065534  0.86978987 -0.4842681
X3  0.6787652  0.5165082  1.0000000  0.1629031  0.85561996 -0.4121073
X4  0.8145151  0.9065534  0.1629031  1.0000000  0.61617496 -0.3526123
X5  0.9490768  0.8697899  0.8556200  0.6161750  1.00000000 -0.4770821
X6 -0.5141570 -0.4842681 -0.4121073 -0.3526123 -0.47708213  1.0000000
X7  0.2050670  0.3469372 -0.3886415  0.5896538 -0.01049675  0.1217338
            X7
X1  0.20506699
X2  0.34693719
X3 -0.38864152
X4  0.58965376
X5 -0.01049675
X6  0.12173383
X7  1.00000000

Syntax cor(dataakhir[,1:7]) digunakan untuk menghitung matriks korelasi antar variabel X1 hingga X7 sebagai langkah untuk memeriksa adanya multikolinieritas. Melalui output korelasi ini dapat dilihat apakah terdapat hubungan yang sangat tinggi antar variabel prediktor, yang berpotensi mengganggu kestabilan model diskriminan.

2.5 Pengujian perbedaan Rata-rata variabel dependen

> X = as.matrix(dataakhir[1:7])
> X_manova = manova(X~dataakhir$Y, data = data)
> X_manova
Call:
   manova(X ~ dataakhir$Y, data = data)

Terms:
                dataakhir$Y Residuals
X1                 172.2058  105.2855
X2                 31.31047  24.50384
X3                  0.02788   0.04565
X4                  2.18676   4.07112
X5                  4.27544   3.11132
X6                 141.7494  203.9412
X7                  0.08104   5.00750
Deg. of Freedom           1       128

Residual standard errors: 0.9069416 0.4375343 0.01888455 0.1783414 0.1559075 1.262256 0.1977904
Estimated effects may be unbalanced
> X_wilks = summary(X_manova, test="Wilks")
> X_wilks
             Df   Wilks approx F num Df den Df    Pr(>F)    
dataakhir$Y   1 0.21542   63.476      7    122 < 2.2e-16 ***
Residuals   128                                             
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Syntax manova() digunakan untuk membangun model MANOVA yang menguji perbedaan rata-rata tujuh variabel X secara simultan berdasarkan kelompok pada variabel Y. Selanjutnya, summary(…, test = “Wilks”) menghasilkan uji signifikansi menggunakan Wilks’ Lambda untuk menentukan apakah terdapat perbedaan rata-rata multivariat yang signifikan antar kelompok. Terakhir, pemanggilan objek hasil seperti X_manova dan X_wilks menampilkan output lengkap model dan nilai uji statistiknya.

2.6 Kontribusi Variabel Prediktor terhadap Variabel Respon

> library(candisc)
> cc = candisc(X_manova)
> cc 

Canonical Discriminant Analysis for dataakhir$Y:

   CanRsq Eigenvalue Difference Percent Cumulative
1 0.78458      3.642                100        100

Test of H0: The canonical correlations in the 
current row and all that follow are zero

  LR test stat approx F numDF denDF   Pr(> F)    
1      0.21542   63.476     7   122 < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Syntax candisc() digunakan untuk melakukan Canonical Discriminant Analysis pada objek MANOVA yang telah dibentuk sebelumnya, sehingga dapat diketahui kontribusi masing-masing variabel prediktor dalam membedakan kelompok pada variabel respon. Selanjutnya, pemanggilan objek cc menampilkan hasil analisis tersebut, termasuk nilai eigen, canonical correlations, serta struktur variabel yang menunjukkan variabel mana yang paling berperan dalam pemisahan kelompok.

2.7 Membuat fungsi diskriminan dan tabel prediksi dengan LDA

> lda_model = lda(Y~., data = dataakhir)
> lda_model
Call:
lda(Y ~ ., data = dataakhir)

Prior probabilities of groups:
        1         3 
0.4692308 0.5307692 

Group means:
        X1       X2        X3       X4       X5       X6       X7
1 14.17639 14.22426 0.8793541 5.487016 3.218738 2.695479 5.064869
3 11.87014 13.24087 0.8500072 5.227130 2.855348 4.787870 5.114899

Coefficients of linear discriminants:
           LD1
X1  -2.4004197
X2   2.4385039
X3 -13.3492159
X4  -5.9543590
X5   5.9310352
X6   0.2872413
X7   5.4294485
> pred_ld = predict(lda_model, dataakhir)
> table(actual = dataakhir$Y, predicted = pred_ld$class)
      predicted
actual  1  3
     1 58  3
     3  1 68

Syntax lda() digunakan untuk membangun model Linear Discriminant Analysis dengan Y sebagai variabel kategori dan seluruh variabel prediktor yang ada pada dataakhir (ditandai dengan simbol .). Selanjutnya, predict() menghasilkan kelas prediksi untuk setiap observasi berdasarkan model LDA yang telah dibentuk. Terakhir, table() menyusun tabel klasifikasi yang membandingkan kelas sebenarnya dengan kelas hasil prediksi untuk menilai akurasi model.

2.8 Membuat fungsi diskriminan dan tabel prediksi dengan QDA

> qda_model = qda(dataakhir$Y~dataakhir$X1 + dataakhir$X2 + dataakhir$X3 
+              + dataakhir$X4 + dataakhir$X5 + dataakhir$X6 + dataakhir$X7)
> qda_model
Call:
qda(dataakhir$Y ~ dataakhir$X1 + dataakhir$X2 + dataakhir$X3 + 
    dataakhir$X4 + dataakhir$X5 + dataakhir$X6 + dataakhir$X7)

Prior probabilities of groups:
        1         3 
0.4692308 0.5307692 

Group means:
  dataakhir$X1 dataakhir$X2 dataakhir$X3 dataakhir$X4 dataakhir$X5 dataakhir$X6
1     14.17639     14.22426    0.8793541     5.487016     3.218738     2.695479
3     11.87014     13.24087    0.8500072     5.227130     2.855348     4.787870
  dataakhir$X7
1     5.064869
3     5.114899
> pred_qda = predict(qda_model, dataakhir) 
> table(actual = dataakhir$Y,predicted = pred_qda$class) 
      predicted
actual  1  3
     1 57  4
     3  2 67

Syntax qda() digunakan untuk membangun model Quadratic Discriminant Analysis dengan Y sebagai variabel kategori dan X1 hingga X7 sebagai prediktor. Selanjutnya, predict() menghasilkan kelas prediksi untuk setiap observasi berdasarkan model tersebut. Terakhir, table() membuat tabel klasifikasi yang membandingkan kelas sebenarnya dengan kelas hasil prediksi untuk menilai akurasi model.

3 HASIL DAN PEMBAHASAN

3.1 Uji Asumsi

3.1.1 Asumsi Normalitas

Pada pengujian pertama hasil dari uji asumsi normalitas memperlihatkan bahwa, data yang saya pakai tidak berdistribusu normal. Maka dari itu, saya melakukan cek outliers dan menghapus outliers tersebut pada data. Setelah, meghapus outliers, menyebabkan data berkurang sebanyak 78 data. Setelah ditelusuri data tersebut berasal dari kategori dengan biji. Akhirnya, saya menghapus data ke 62 dan 63 yaitu data dengan kategori biji, karena apabila tidak dihapus saya tidak bisa melakukan uji boxM karena terdapat 1 jenis biji yang jumlah datanya lebih sedikit dari banyaknya variable yang dianalisi.

Berdasarkan output tersebut, hasil uji asumsi normalitas masih tetap tidak terpenuhi.

3.1.2 Asumsi Homogenitas Ragam

Berdasarkan uji homogenitas ragam pada Rstudio tersebut, didapatkan pvalue yang jauh lebih kecil dari 0.05. Artinya, asumsi homogenitas ragam tidak terpenuhi.

3.1.3 Asumsi Multikolinieritas

Berdasarkan outpur Rstudio tersebut, terlihat bahwa terdapat beberapa variable yang memiliki nilai korelasi yang kuat antara sesame variable prediktor. Hal ini menyebabkan nilai VIF setiap variable memiliki nilai yang lebih besar dari 10. Nilai VIF yang lebih besar dari 10 ini, menunjukkan bahwa adanya indikasi multikolinieritas antar sesame variable prediktor. Maka dari itu, Asumsi multikolinieritas pada data tersebut tidak terpenuhi.

3.2 Uji Perbedaan Rata-Rata Variabel Dependen

Uji perbedaan rata-rata variable dependen dilakukan untuk mengetahui seberapa layak variable-variabel tersebut digunakan untuk analisis diskriminan. Berdasarkan output tersebut, didapatkan nilan pvalue yang lebih kecil dari 0.05. Hal ini membuktikan bahwa terdapat perbedaan rata-rata antara variable-variabel dependen. Artinya, data tersebut layak digunakan untuk analisis diskriminan.

3.3 Menghitung Kontribusi Prediktor Terhadap Variabel

Hasil Canonical Discriminant Analysis menunjukkan bahwa model menghasilkan satu fungsi diskriminan yang secara statistik signifikan dalam membedakan kelompok pada variabel Y. Hal ini terlihat dari nilai Likelihood Ratio Test yang sangat signifikan (F = 63.476, p < 2.2e-16), sehingga secara statistik terdapat perbedaan nyata antara kelompok. Nilai Canonical R² sebesar 0.78458 mengindikasikan bahwa fungsi diskriminan mampu menjelaskan sekitar 78.46% variasi perbedaan antar kelompok, dan nilai eigenvalue sebesar 3.642 menunjukkan kekuatan pemisahan yang tinggi dari fungsi tersebut. Dengan kata lain, secara matematis fungsi diskriminan memiliki kemampuan yang baik untuk membedakan kelompok dalam data.

3.4 Analisis Diskriminan Dengan LDA

Berdasarkan hasil analisis diskriminan linear (LDA), terlihat bahwa model mampu memisahkan kelompok 1 dan kelompok 3 dengan sangat baik. Probabilitas awal menunjukkan bahwa proporsi data pada kelompok 1 sebesar 46,9% dan kelompok 3 sebesar 53,1%, yang menggambarkan distribusi kelas yang relatif seimbang. Rata-rata setiap variabel pada masing-masing kelompok menunjukkan adanya perbedaan yang cukup jelas, terutama pada variabel X3, X4, X5, dan X6, sehingga variabel-variabel tersebut berpotensi kuat sebagai pembeda antar kelompok. Hal ini sejalan dengan koefisien fungsi diskriminan, di mana variabel dengan nilai absolut koefisien terbesar—yaitu X3, X4, X5, dan X7—menjadi kontributor utama dalam memisahkan kedua kelompok. Koefisien positif mengarahkan objek ke kelompok 3, sedangkan koefisien negatif mendorong objek ke kelompok 1.

Kinerja model ditunjukkan melalui matriks klasifikasi, di mana 58 dari 61 objek kelompok 1 berhasil diprediksi dengan benar, sedangkan 68 dari 69 objek kelompok 3 juga diklasifikasikan secara tepat. Secara keseluruhan, tingkat akurasi model mencapai 96,9%, yang menandakan bahwa model diskriminan memiliki kemampuan prediktif yang sangat baik dalam membedakan kedua kelompok pada data ini.

3.5 Analisis Diskriminan Dengan QDA

Karena hampir semua asumsi klasik tidak terpenuhi, maka saya melakukan QDA karena analisis lebih robust dibandingkan dengan LDA.

Analisis diskriminan menggunakan metode QDA menunjukkan bahwa model mampu membedakan dua kelompok pada variabel Y dengan tingkat ketepatan yang cukup tinggi. Proporsi awal kelompok yang relatif seimbang (46,9% dan 53,1%) menjadi dasar yang baik untuk evaluasi performa model. Perbedaan mean pada setiap variabel antar kelompok memberikan indikasi bahwa karakteristik kedua kelompok memang berbeda secara substansial. Berdasarkan matriks klasifikasi, model QDA berhasil mengklasifikasikan 57 dari 61 objek kelompok 1 dengan benar, dan 67 dari 69 objek kelompok 3 dengan tepat, menghasilkan tingkat akurasi sekitar 94,3%. Meskipun akurasinya sedikit lebih rendah dibandingkan model LDA, secara metodologis QDA lebih tepat digunakan karena tidak mengharuskan adanya homogenitas matriks kovarians—sebuah asumsi yang diketahui dilanggar pada dataset ini. Oleh karena itu, hasil QDA dapat dianggap lebih stabil dan lebih dapat dipercaya dibanding LDA, sehingga lebih layak dijadikan dasar kesimpulan untuk pemisahan kelompok dalam analisis ini.

4 KESIMPULAN

Hasil analisis menunjukkan bahwa LDA mampu membedakan kelompok 1 dan 3 dengan sangat baik, ditandai akurasi klasifikasi sebesar 96,9%. Variabel X3, X4, X5, dan X7 menjadi prediktor utama pemisahan kelompok. Namun, karena asumsi dasar LDA tidak terpenuhi (normalitas, homogenitas kovarians, dan tidak adanya multikolinieritas), hasil ini perlu diinterpretasikan dengan hati-hati.

Sebagai alternatif yang lebih sesuai, QDA memberikan akurasi klasifikasi sebesar ±94,3%. Meskipun sedikit lebih rendah dari LDA, QDA lebih tepat digunakan karena tidak mensyaratkan homogenitas matriks kovarians. Secara keseluruhan, baik LDA maupun QDA mampu memisahkan kelompok dengan baik, tetapi QDA dianggap lebih robust terhadap pelanggaran asumsi pada dataset ini.

5 DAFTAR PUSTAKA

Charytanowicz, M., Niewczas, J., Kulczycki, P., Kowalski, P. A., & Lukasik, S. (2010). Seeds [Dataset]. UCI Machine Learning Repository.