Kanker payudara merupakan salah satu jenis kanker yang paling umum terjadi pada wanita di seluruh dunia. Menurut data dari World Health Organization (WHO), kanker payudara menyumbang sekitar 25% dari semua kasus kanker pada wanita. Diagnosis dini memiliki peran yang sangat penting dalam menentukan tingkat kelangsungan hidup pasien. Oleh karena itu, diperlukan pendekatan yang efektif dan akurat untuk membedakan tumor jinak dan ganas sebagai bagian dari langkah awal diagnosis.
Analisis diskriminan merupakan salah satu metode statistik yang sering digunakan dalam klasifikasi data, terutama dalam membedakan kelompok berdasarkan variabel independen. Dalam konteks ini, analisis diskriminan dapat membantu menentukan fungsi diskriminan yang optimal untuk mengklasifikasikan tumor berdasarkan karakteristik sel, seperti ukuran, bentuk, dan tekstur. Dataset Breast Cancer Wisconsin menyediakan data karakteristik seluler yang telah digunakan secara luas dalam berbagai penelitian untuk mengevaluasi metode prediksi.
Penelitian ini bertujuan untuk mengembangkan fungsi diskriminan yang mampu mengklasifikasikan tumor jinak dan ganas dengan akurasi tinggi. Selain itu, penelitian ini juga akan mengevaluasi signifikansi variabel independen dalam model serta mengukur kinerja model berdasarkan data yang tersedia. Hasil penelitian ini diharapkan dapat memberikan kontribusi pada pengembangan metode diagnosis berbasis data yang lebih efektif dan efisien.
Penelitian ini bertujuan untuk menjawab rumusan masalah berikut:
Penelitian ini bertujuan untuk:
Analisis diskriminan adalah teknik multivariat untuk memisahkan objek-objek dalam kelompok yang berbeda dan mengelompokkan objek baru ke dalam kelompok-kelompok tersebut. Dalam analisis diskriminan, terdapat satu variabel dependen yang berupa kategorik dan beberapa variabel independen yang berupa metrik. Teknik ini bertujuan untuk menemukan kombinasi linear dari variabel independen yang mampu memaksimalkan perbedaan antar kelompok, sehingga memungkinkan prediksi yang akurat terhadap kategori suatu objek berdasarkan karakteristik yang dimilikinya.
Analisis diskriminan banyak digunakan dalam berbagai bidang, termasuk penelitian medis, pemasaran, dan ilmu sosial, untuk mengklasifikasikan objek atau individu ke dalam kategori yang telah ditentukan sebelumnya. Dalam konteks medis, misalnya, analisis ini dapat digunakan untuk mengidentifikasi apakah tumor bersifat ganas atau jinak, naik atau turunnya penjualann saham harian, dan sebagainya.
Asumsi pada analisis diskriminan adalah variabel independen berdistribusi normal (multivariate normality), matriks ragam peragam antar kelompok adalah sama, dan tidak adanya multikolinieritas antar variabel independen. Untuk menguji normalitas multivariat variabel independen dapat menggunakan uji mardia, hz, royston, dh, dan energy. Untuk menguji kesamaan matriks ragam peragam dapat menggunakan uji BoxM. Sedangkan untuk menguji perbedaan rata-rata
Data yang digunakan berasal dari dataset website kaggle tentang Breast Cancer Wisconsin (Diagnostic) Data Set. Variabel dependen (Y) merupakan kolom ‘diagnosis’ dengan M (malignant) merupakan ganas dan B (benign) merupakan jinak. Variabel prediktor (x) yang digunakan yaitu radius_mean, texture_mean, perimeter_mean, dan area_mean. Berikut merupakan cuplikan data yang digunakan.
> #INPUT DATA
> datadiskriminan <-read_excel("Dataset.xlsx")
> datadiskriminan <- data.frame(datadiskriminan)
> head(datadiskriminan)
diagnosis radius_mean texture_mean perimeter_mean area_mean
1 1 14.58 21.53 97.41 644.8
2 1 11.84 18.70 77.93 440.6
3 1 14.25 21.72 93.63 633.0
4 0 13.03 18.42 82.61 523.8
5 1 10.95 21.35 71.90 371.1
6 1 13.28 20.28 87.32 545.2> #Cek outlier
> datacek<- datadiskriminan
> hasildata<-mvn(datacek[,2:5], multivariateOutlierMethod = "adj", showNewData = TRUE,
+ showOutliers = TRUE,multivariatePlot = 'qq')> #Uji normalitas dataset tanpa outlier
> databaru <- hasildata$newData
> hasil<- mvn(databaru, mvnTest = 'royston', alpha = 0.05)
> hasil
$multivariateNormality
Test H p value MVN
1 Royston 2.195064 0.2664741 YES
$univariateNormality
Test Variable Statistic p value Normality
1 Anderson-Darling radius_mean 0.3298 0.5073 YES
2 Anderson-Darling texture_mean 0.4224 0.3096 YES
3 Anderson-Darling perimeter_mean 0.4058 0.3393 YES
4 Anderson-Darling area_mean 0.4037 0.3433 YES
$Descriptives
n Mean Std.Dev Median Min Max 25th 75th
radius_mean 50 12.7416 1.203261 12.820 10.17 14.78 11.8625 13.5900
texture_mean 50 18.7350 3.477945 18.725 10.82 24.98 16.4150 21.4325
perimeter_mean 50 82.2856 8.223520 82.610 64.55 97.40 75.9150 87.6500
area_mean 50 503.9780 94.395949 504.400 311.90 668.30 437.8500 569.1000
Skew Kurtosis
radius_mean -0.104164333 -0.8760738
texture_mean -0.412355110 -0.3080847
perimeter_mean -0.008710878 -0.9010832
area_mean 0.013621388 -0.9412421
> hasildata$multivariateOutliers
Observation Mahalanobis Distance Outlier
19 19 36.331 TRUE
14 14 33.974 TRUE
37 37 25.224 TRUE
34 34 21.692 TRUE
51 51 14.293 TRUE
1 1 12.067 TRUE
> dataakhir<-datadiskriminan[c(2:13,15:18,20:33,35:36,38:50,52:56),1:5]Berdasarkan uji normalitas multivariat, diperoleh p-value
> #Pengujian perbedaan Rata-rata variabel dependen
> X<-as.matrix(dataakhir[2:5])
> X.manova<-manova(X~dataakhir$diagnosis, data=dataakhir)
> X.wilks<-summary(X.manova, test="Wilks")
> X.wilks
Df Wilks approx F num Df den Df Pr(>F)
dataakhir$diagnosis 1 0.35175 20.733 4 45 9.618e-10 ***
Residuals 48
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> cc<-candisc(X.manova)
> cc
Canonical Discriminant Analysis for dataakhir$diagnosis:
CanRsq Eigenvalue Difference Percent Cumulative
1 0.64825 1.8429 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.35175 20.733 4 45 9.618e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> #Membuat fungsi diskriminan
> modellda<-lda(diagnosis~., data = dataakhir)
> modellda
Call:
lda(diagnosis ~ ., data = dataakhir)
Prior probabilities of groups:
0 1
0.7 0.3
Group means:
radius_mean texture_mean perimeter_mean area_mean
0 12.43486 17.78886 79.83657 478.8114
1 13.45733 20.94267 88.00000 562.7000
Coefficients of linear discriminants:
LD1
radius_mean -11.76913342
texture_mean 0.17978828
perimeter_mean 1.24040873
area_mean 0.05058114
>
> # Variabel pembeda terkuat
> pembedaterkuat <- DFA(dataakhir, 'diagnosis', c('radius_mean','texture_mean','perimeter_mean','area_mean')) Function eigenvalue proportion of variance canonical r
1 1.843 1 0.805
Wilk's Lambda F-approx. df1 df2 p
1 through 1 0.352 20.733 4 45 0
Pillai-Bartlett Trace F-approx. df1 df2 p
1 through 1 0.648 20.733 4 45 0
Hotelling-Lawley Trace F-approx. df1 df2 p
1 through 1 1.843 20.733 4 45 0
Roy's Largest Root lambda F-approx. df1 df2 p
1 through 1 1.843 0.648 88.459 1 48 0
Function 1
radius_mean 11.769
texture_mean -0.180
perimeter_mean -1.240
area_mean -0.051
Function 1
radius_mean -0.315
texture_mean -0.341
perimeter_mean -0.381
area_mean -0.332
Function 1
radius_mean 13.020
texture_mean -0.568
perimeter_mean -9.060
area_mean -4.352
Function 1
radius_mean 13.155
texture_mean -0.573
perimeter_mean -9.154
area_mean -4.397
Function 1
0 0.871
1 -2.032
Function 1
0 1.048
1 0.872
Function 1
0 0.522
1 -1.218
Function 1
0 0.628
1 0.522
Eta-squared Wilks_Lambda F df df_res p
Function 1 0.648 0.352 88.459 1 48 0
Bayes_Factor_alt_vs_null Bayes_Factor_null_vs_alt
Function 1 2684930713 0
Eta-squared Wilks_Lambda F df df_res
radius_mean 0.155 0.845 8.787 1 48
texture_mean 0.176 0.824 10.267 1 48
perimeter_mean 0.211 0.789 12.849 1 48
area_mean 0.169 0.831 9.778 1 48
p Bayes_Factor_alt_vs_null
radius_mean 0.00471 8.773
texture_mean 0.00241 14.990
perimeter_mean 0.00079 37.339
area_mean 0.00300 12.572
Bayes_Factor_null_vs_alt
radius_mean 0.114
texture_mean 0.067
perimeter_mean 0.027
area_mean 0.080
Group1 N1 Mean1 SD1 Group2 N2 Mean2 SD2 t df p
1 1 15 -2.03 0.87 0 35 0.87 1.05 10.13 31.71 0
p adj.
1 0
Group1 Group2 d g r BESD Bayes_Factor_alt_vs_null
1 1 0 3.93 3.86 0.87 93.7 35214516447
Bayes_Factor_null_vs_alt
1 0
Group1 N1 Mean1 SD1 Group2 N2 Mean2 SD2 t df
1 1 15 13.46 1.07 0 35 12.43 1.14 -3.04 28.25
p p adj.
1 0.005 0.005
Group1 Group2 d g r BESD Bayes_Factor_alt_vs_null
1 1 0 1.25 1.23 0.5 74.85 10.22
Bayes_Factor_null_vs_alt
1 0.1
Group1 N1 Mean1 SD1 Group2 N2 Mean2 SD2 t df
1 1 15 20.94 2.9 0 35 17.79 3.3 -3.38 30.09
p p adj.
1 0.00203 0.00203
Group1 Group2 d g r BESD Bayes_Factor_alt_vs_null
1 1 0 1.34 1.32 0.52 76.22 22.9
Bayes_Factor_null_vs_alt
1 0.04
Group1 N1 Mean1 SD1 Group2 N2 Mean2 SD2 t df
1 1 15 88 6.89 0 35 79.84 7.57 -3.72 29.04
p p adj.
1 0.00084 0.00084
Group1 Group2 d g r BESD Bayes_Factor_alt_vs_null
1 1 0 1.51 1.48 0.57 78.43 55.9
Bayes_Factor_null_vs_alt
1 0.02
Group1 N1 Mean1 SD1 Group2 N2 Mean2 SD2 t df
1 1 15 562.7 83.84 0 35 478.81 88.17 -3.19 27.84
p p adj.
1 0.00349 0.00349
Group1 Group2 d g r BESD Bayes_Factor_alt_vs_null
1 1 0 1.32 1.3 0.52 75.88 14.48
Bayes_Factor_null_vs_alt
1 0.07
Group1 Group2 t t1-critical t1 decision
1 0 -3.045 2.588 significant
Confidence Level
0.987
Group1 Group2 t t1-critical t1 decision
1 0 -3.379 2.588 significant
Confidence Level
0.987
Group1 Group2 t t1-critical t1 decision
1 0 -3.725 2.588 significant
Confidence Level
0.987
Group1 Group2 t t1-critical t1 decision
1 0 -3.192 2.588 significant
Confidence Level
0.987
Group1 Group2 t t2-critical t2 decision
1 0 -3.045 2.474 significant
Group1 Group2 t t2-critical t2 decision
1 0 -3.379 2.474 significant
Group1 Group2 t t2-critical t2 decision
1 0 -3.725 2.474 significant
Group1 Group2 t t2-critical t2 decision
1 0 -3.192 2.474 significant
0 1
0.7 0.3
0 1
radius_mean 1375.226 1341.066
texture_mean 4.521 5.043
perimeter_mean -3.300 0.300
area_mean -17.299 -17.153
0 1
-4318.286 -4264.737
Predicted
Original 0 1
0 32 3
1 1 14
Number of cases in table: 50
Number of factors: 2
Test for independence of all factors:
Chisq = 33.62, df = 1, p-value = 6.708e-09
kappa z p
Cohen's kappa 0.817 5.08 0
Fleiss's kappa 0.816 5.77 0
0 1
0.91 0.87
Classif. prob. 0 1
0.00 35 15
0.10 34 15
0.20 34 15
0.30 33 15
0.40 33 15
0.50 32 14
0.60 32 14
0.70 32 12
0.75 32 11
0.80 31 11
0.85 30 11
0.90 30 10
0.95 28 10
1.00 0 0
Classif. prob. 0 1
0.00 1.00 1.00
0.10 0.97 1.00
0.20 0.97 1.00
0.30 0.94 1.00
0.40 0.94 1.00
0.50 0.91 0.93
0.60 0.91 0.93
0.70 0.91 0.80
0.75 0.91 0.73
0.80 0.89 0.73
0.85 0.86 0.73
0.90 0.86 0.67
0.95 0.80 0.67
1.00 0.00 0.00
Cross-Validated
Original 0 1
0 32 3
1 1 14
Number of cases in table: 50
Number of factors: 2
Test for independence of all factors:
Chisq = 33.62, df = 1, p-value = 6.708e-09
kappa z p
Cohen's kappa 0.817 5.076 0
Fleiss's kappa 0.816 5.771 0
> pembedaterkuat
$evals
Function eigenvalue proportion of variance canonical r
1 1.842895 1 0.8051372
$mv_Wilks
Wilk's Lambda F-approx. df1 df2 p
1 through 1 0.3517541 20.73257 4 45 9.618427e-10
$mv_Pillai
Pillai-Bartlett Trace F-approx. df1 df2 p
1 through 1 0.6482459 20.73257 4 45 9.618427e-10
$mv_Hotelling
Hotelling-Lawley Trace F-approx. df1 df2 p
1 through 1 1.842895 20.73257 4 45 9.618427e-10
$mv_Roy
Roy's Largest Root lambda F-approx. df1 df2 p
1 through 1 1.842895 0.6482459 88.45895 1 48 1.812726e-12
$coefs_raw
Function 1
radius_mean 11.76913342
texture_mean -0.17978828
perimeter_mean -1.24040873
area_mean -0.05058114
$coefs_structure
Function 1
radius_mean -0.3151681
texture_mean -0.3406823
perimeter_mean -0.3811257
area_mean -0.3324734
$coefs_standardized
Function 1
radius_mean 13.0197236
texture_mean -0.5675363
perimeter_mean -9.0597353
area_mean -4.3519196
$coefs_standardizedSPSS
Function 1
radius_mean 13.1546467
texture_mean -0.5734177
perimeter_mean -9.1536211
area_mean -4.3970184
$centroids
Function 1
0 0.870758
1 -2.031769
$centroidsSDs
Function 1
0 1.0482390
1 0.8718056
$centroidsZ
Function 1
0 0.5217885
1 -1.2175065
$centroidsSDsZ
Function 1
0 0.6281413
1 0.5224162
$dfa_scores
group Function.1
2 1 -1.99630245
3 1 -3.38187959
4 0 2.04584346
5 1 -1.95221637
6 1 -2.27104085
7 1 -0.79098341
8 1 -1.07608075
9 0 0.63045300
10 0 -0.45330956
11 0 1.16487335
12 0 1.46519967
13 0 2.16876429
15 0 1.52042548
16 1 -1.53517971
17 0 1.94923869
18 0 2.14249727
20 1 -1.89262616
21 1 -4.00522395
22 0 1.66065727
23 0 2.06603656
24 1 -1.16911953
25 0 0.83160521
26 0 0.91048794
27 0 0.28633473
28 0 0.09382260
29 0 1.51414463
30 1 -2.16612067
31 0 -0.01827191
32 0 -1.23734771
33 0 -2.10905729
35 0 1.47517623
36 0 0.47803364
38 0 1.80237610
39 0 2.10200406
40 1 -2.56540800
41 1 -2.03452280
42 0 1.64315984
43 0 0.34412115
44 1 -2.52803081
45 0 0.56125061
46 0 1.49260391
47 0 0.64972863
48 0 -0.31670504
49 0 -1.01190421
50 0 0.39185323
52 0 1.93985434
53 0 0.31177038
54 0 0.58103276
55 0 1.39977791
56 1 -1.11179617
$anovaDFoutput
Eta-squared Wilks_Lambda F df df_res p
Function 1 0.6482459 0.3517541 88.45895 1 48 1.812726e-12
Bayes_Factor_alt_vs_null Bayes_Factor_null_vs_alt
Function 1 2684930713 3.724491e-10
$anovaDVoutput
Eta-squared Wilks_Lambda F df df_res p
radius_mean 0.1547318 0.8452682 8.786710 1 48 0.0047129222
texture_mean 0.1762052 0.8237948 10.266936 1 48 0.0024080468
perimeter_mean 0.2111655 0.7888345 12.849264 1 48 0.0007877376
area_mean 0.1692357 0.8307643 9.778124 1 48 0.0029977180
Bayes_Factor_alt_vs_null Bayes_Factor_null_vs_alt
radius_mean 8.77251 0.11399246
texture_mean 14.98958 0.06671302
perimeter_mean 37.33855 0.02678197
area_mean 12.57182 0.07954299
$radius_mean
$radius_mean$MFWER1.sigtest
Group1 Group2 t t1-critical t1 decision Confidence Level
1 1 0 -3.044722 2.587796 significant 0.9872585
$radius_mean$MFWER2.sigtest
Group1 Group2 t t2-critical t2 decision
1 1 0 -3.044722 2.47392 significant
$texture_mean
$texture_mean$MFWER1.sigtest
Group1 Group2 t t1-critical t1 decision Confidence Level
1 1 0 -3.379053 2.587796 significant 0.9872585
$texture_mean$MFWER2.sigtest
Group1 Group2 t t2-critical t2 decision
1 1 0 -3.379053 2.47392 significant
$perimeter_mean
$perimeter_mean$MFWER1.sigtest
Group1 Group2 t t1-critical t1 decision Confidence Level
1 1 0 -3.724794 2.587796 significant 0.9872585
$perimeter_mean$MFWER2.sigtest
Group1 Group2 t t2-critical t2 decision
1 1 0 -3.724794 2.47392 significant
$area_mean
$area_mean$MFWER1.sigtest
Group1 Group2 t t1-critical t1 decision Confidence Level
1 1 0 -3.191943 2.587796 significant 0.9872585
$area_mean$MFWER2.sigtest
Group1 Group2 t t2-critical t2 decision
1 1 0 -3.191943 2.47392 significant
$classes_PRED
[1] 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0
[39] 1 0 0 0 0 1 0 0 0 0 0 1
Levels: 0 1
$classes_CV
[1] 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0
[39] 1 0 0 0 0 1 0 0 0 0 0 1
Levels: 0 1
$posteriors
posterior_0 posterior_1 Group
1 0.0368948326 0.9631051674 1
2 0.0006861240 0.9993138760 1
3 0.9997904515 0.0002095485 0
4 0.0417211710 0.9582788290 1
5 0.0169644271 0.9830355729 1
6 0.5588212849 0.4411787151 1
7 0.3563772297 0.6436227703 1
8 0.9874094333 0.0125905667 0
9 0.7714447450 0.2285552550 0
10 0.9973040534 0.0026959466 0
11 0.9988706821 0.0011293179 0
12 0.9998533224 0.0001466776 0
13 0.9990377811 0.0009622189 0
14 0.1274528701 0.8725471299 1
15 0.9997226486 0.0002773514 0
16 0.9998417041 0.0001582959 0
17 0.0492113311 0.9507886689 1
18 0.0001124331 0.9998875669 1
19 0.9993593154 0.0006406846 0
20 0.9998023780 0.0001976220 0
21 0.2970948420 0.7029051580 1
22 0.9929383273 0.0070616727 0
23 0.9943752930 0.0056247070 0
24 0.9665384614 0.0334615386 0
25 0.9429213549 0.0570786451 0
26 0.9990200960 0.0009799040 0
27 0.0228655454 0.9771344546 1
28 0.9226704162 0.0773295838 0
29 0.2574614750 0.7425385250 0
30 0.0268737186 0.9731262814 0
31 0.9989028797 0.0010971203 0
32 0.9805398716 0.0194601284 0
33 0.9995752883 0.0004247117 0
34 0.9998219652 0.0001780348 0
35 0.0072899986 0.9927100014 1
36 0.0331491649 0.9668508351 1
37 0.9993259592 0.0006740408 0
38 0.9715584699 0.0284415301 0
39 0.0081185910 0.9918814090 1
40 0.9846515774 0.0153484226 0
41 0.9989569401 0.0010430599 0
42 0.9880863459 0.0119136541 0
43 0.8338254488 0.1661745512 0
44 0.4001479104 0.5998520896 0
45 0.9751466349 0.0248533651 0
46 0.9997149923 0.0002850077 0
47 0.9688456697 0.0311543303 0
48 0.9854956105 0.0145043895 0
49 0.9986348475 0.0013651525 0
50 0.3329688192 0.6670311808 1
$grp_post_stats
$grp_post_stats$groupNs
0 1
35 15
$grp_post_stats$grpMNprobs
0 1
0.9125276 0.8740181
$grp_post_stats$grp_prob_Ns
Classif. prob. 0 1
0.00 35 15
0.10 34 15
0.20 34 15
0.30 33 15
0.40 33 15
0.50 32 14
0.60 32 14
0.70 32 12
0.75 32 11
0.80 31 11
0.85 30 11
0.90 30 10
0.95 28 10
1.00 0 0
$grp_post_stats$grp_prob_proports
Classif. prob. 0 1
0.00 1.0000000 1.0000000
0.10 0.9714286 1.0000000
0.20 0.9714286 1.0000000
0.30 0.9428571 1.0000000
0.40 0.9428571 1.0000000
0.50 0.9142857 0.9333333
0.60 0.9142857 0.9333333
0.70 0.9142857 0.8000000
0.75 0.9142857 0.7333333
0.80 0.8857143 0.7333333
0.85 0.8571429 0.7333333
0.90 0.8571429 0.6666667
0.95 0.8000000 0.6666667
1.00 0.0000000 0.0000000
$freqs_ORIG_PRED
Predicted
Original 0 1
0 32 3
1 1 14
$chi_square_ORIG_PRED
Number of cases in table: 50
Number of factors: 2
Test for independence of all factors:
Chisq = 33.62, df = 1, p-value = 6.708e-09
$PressQ_ORIG_PRED
[1] 35.28
$kappas_ORIG_PRED
kappa z p
Cohen's kappa 0.817 5.076 0
Fleiss's kappa 0.816 5.771 0
$PropOrigCorrect
[1] 0.92
$freqs_ORIG_CV
Cross-Validated
Original 0 1
0 32 3
1 1 14
$chi_square_ORIG_CV
Number of cases in table: 50
Number of factors: 2
Test for independence of all factors:
Chisq = 33.62, df = 1, p-value = 6.708e-09
$PressQ_ORIG_CV
[1] 35.28
$kappas_ORIG_CV
kappa z p
Cohen's kappa 0.817 5.076 0
Fleiss's kappa 0.816 5.771 0
$PropCrossValCorrect
[1] 0.92
>
> # Membuat tabel klasifikasi dan menguji ketepatan model
> pred_LDA1<- predict(modellda, dataakhir)
> conf <- table(actual=dataakhir$diagnosis, predicted=pred_LDA1$class)
> hitrasio <- sum(diag(prop.table(conf)))
> hitrasio
[1] 0.92
\[ \begin{array}{} \\ H_0 : \text{Data memenuhi asumsi normalitas multivariat} \\ H_1 : \text{Data tidak memenuhi asumsi normalitas multivariat} \end{array} \]
Berdasarkan uji normalitas multivariat, diperoleh p-value 0.2664 yang lebih dari alpha (0.05), maka diambil keputusan terima H0. Dengan taraf nyata 5%, dapat disimpulkan bahwa variabel independen memenuhi asumsi normalitas multivariat.
\[ \begin{array}{} \\ H_0 : \text{Kelompok hasil diagnosis memiliki matriks ragam peragam yang sama} \\ H_1 : \text{Kelompok hasil diagnosis tidak memiliki matriks ragam peragam yang sama} \end{array} \]
> boxM_data
Box's M-test for Homogeneity of Covariance Matrices
data: data
Chi-Sq (approx.) = 8.1984, df = 10, p-value = 0.6095Berdasarkan output tersebut, dapat diketahui p-value sebesar 0.6095, yang lebih besar daripada alpha (0.05) maka diambil keputusan terima H0. Maka dengan taraf nyata 5%, dapat disimpulkan bahwa kelompok hasil diagnosis kanker payudara kategori M (malignant) dan B (benign) memiliki matriks ragam peragam yang sama.
\[ \begin{array}{} \\ H_0 : \text{Tidak terdapat perbedaan rata-rata antar kategori pada variabel dependen} \\ H_1 : \text{Terdapat perbedaan rata-rata antar kategori pada variabel dependen} \end{array} \]
> X.wilks
Df Wilks approx F num Df den Df Pr(>F)
dataakhir$diagnosis 1 0.35175 20.733 4 45 9.618e-10 ***
Residuals 48
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Berdasarkan output tersebut, dapat diketahui p-value sebesar 9.618e-10, yang lebih kecil daripada alpha (0.05) maka diambil keputusan tolak H0. Maka dengan taraf nyata 5%, dapat disimpulkan bahwa terdapat perbedaan rata-rata antara kategori M (malignant) dan B (benign) pada diagnosis kanker payudara.
Berdasarkan output tersebut, dapat diketahui nilai koefisien korelasi kanonik sebesar 0.64825 atau 64.825%. Nilai koefisien ini berarti bahwa variabel diskriminan (diagnosis) dapat dijelaskan oleh variabel independen sebesar 0.64825 atau 64.825%.
> modellda$scaling
LD1
radius_mean -11.76913342
texture_mean 0.17978828
perimeter_mean 1.24040873
area_mean 0.05058114Berdasarkan output tersebut, dapat dibentuk fungsi diskriminan sebagai berikut: \[ Y=-11.7691X_1+0.1798X_2+1,2404X_3+0,0506X_4 \] \[ \begin{array}{l} \text{Di mana:}\\ \text{Variabel } X_1 \text{ adalah variabel radius_mean} \\ \text{Variabel } X_2 \text{ adalah variabel texture_mean} \\ \text{Variabel } X_3 \text{ merupakan variabel perimeter_mean} \\ \text{Variabel } X_4 \text{ merupakan variabel area_mean} \end{array} \]
> pembedaterkuat$coefs_standardized
Function 1
radius_mean 13.0197236
texture_mean -0.5675363
perimeter_mean -9.0597353
area_mean -4.3519196Berdasarkan output tersebut, dapat diketahui hasil uji pembeda terkuat menunjukkan bahwa:
Berdasarkan hasil penelitian, analisis diskriminan mampu menghasilkan model yang efektif untuk memisahkan kelompok tumor jinak dan ganas pada dataset Breast Cancer Wisconsin. Variabel radius_mean menunjukkan kontribusi terbesar dalam klasifikasi, diikuti oleh perimeter_mean dan area_mean, sedangkan texture_mean memiliki pengaruh paling kecil. Fungsi diskriminan yang terbentuk menunjukkan bahwa karakteristik ukuran dan bentuk sel kanker, khususnya radius rata-rata, memiliki peran penting dalam membedakan jenis tumor. Hal ini menggarisbawahi pentingnya variabel tersebut dalam pengembangan metode diagnosis kanker payudara berbasis data.
Model yang dihasilkan memiliki akurasi sebesar 92%, yang menunjukkan tingkat keandalan yang sangat baik dalam mengelompokkan data diagnosis tumor jinak dan ganas. Akurasi ini membuktikan bahwa analisis diskriminan dapat digunakan sebagai pendekatan yang efektif untuk mendukung diagnosis dini kanker payudara. Meski demikian, validasi model pada dataset lain diperlukan untuk memastikan generalisasi hasil. Dengan akurasi yang tinggi, pendekatan ini diharapkan dapat memberikan kontribusi pada pengembangan teknologi diagnostik berbasis data yang lebih efisien dan akurat.
Johnson, R. A., dan D. W Winchern. 2002. Applied Multivariate Statistical Analysis. New Jersey: Prentice Hall.
Nur’eni, Surni’a, dan Handayani L. (2019). Analisis Diskriminan Linear Robust pada Berat Bayi Lahir di RSUD Luwuk. Statistika, 19(1), 19-24.
Ainurrochmah, A., Hayati, M. N., dan Satriya, A. M. A. (2019). Perbandingan Klasifikasi Analisis Diskriminan Fisher dan Metode Naive Bayes. Jurnal Aplikasi Statistika dan Komputasi Statistik, 11(2), 37-39.
UCI Machine Learning Repository. (n.d.). Breast Cancer Wisconsin (Diagnostic) Data Set. Retrieved November 30, 2024, from https://www.kaggle.com/datasets/uciml/breast-cancer-wisconsin-data