Diabetes merupakan salah satu penyakit metabolik kronis yang ditandai dengan tingginya kadar glukosa dalam darah akibat gangguan produksi atau fungsi insulin. Penyakit ini menjadi salah satu masalah kesehatan yang banyak terjadi di berbagai negara dan dapat menyebabkan berbagai komplikasi serius apabila tidak ditangani dengan baik. Oleh karena itu, penting untuk mengidentifikasi faktor-faktor yang berpengaruh terhadap kemungkinan seseorang mengalami diabetes.
Dalam analisis ini digunakan dataset diabetes yang berisi informasi kesehatan beberapa individu dengan sejumlah variabel klinis, seperti kadar glukosa dalam darah (Glucose), indeks massa tubuh (BMI), usia (Age), jumlah kehamilan (Pregnancies), serta tekanan darah (BloodPressure). Dataset tersebut juga memiliki variabel Outcome yang menunjukkan status diabetes seseorang, yaitu 0 untuk tidak diabetes dan 1 untuk diabetes. Dengan adanya variabel-variabel tersebut, data ini dapat digunakan untuk mempelajari hubungan antara faktor kesehatan dengan kemungkinan seseorang mengalami diabetes.
Beberapa penelitian menunjukkan bahwa variabel seperti kadar glukosa dalam darah dan indeks massa tubuh memiliki hubungan yang cukup kuat dengan kejadian diabetes. Kadar glukosa yang tinggi sering kali menjadi indikator utama adanya gangguan metabolisme glukosa, sedangkan nilai BMI yang tinggi dapat menunjukkan kondisi obesitas yang diketahui sebagai salah satu faktor risiko diabetes. Selain itu, faktor usia dan jumlah kehamilan juga dapat mempengaruhi risiko diabetes karena berkaitan dengan perubahan metabolisme dan kondisi kesehatan individu.
Untuk menganalisis hubungan antara variabel-variabel tersebut dengan status diabetes digunakan metode regresi logistik biner. Metode ini dipilih karena variabel respon yang dianalisis bersifat kategorik dengan dua kemungkinan hasil, yaitu diabetes dan tidak diabetes. Regresi logistik digunakan untuk memodelkan probabilitas terjadinya suatu kejadian berdasarkan variabel prediktor yang tersedia. Melalui model ini dapat diketahui faktor-faktor yang berpengaruh terhadap kejadian diabetes serta kemampuan model dalam memprediksi kemungkinan seseorang mengalami diabetes berdasarkan karakteristik kesehatannya.
Tujuan dari analisis ini adalah: 1. Mengidentifikasi pengaruh beberapa variabel kesehatan (Glucose, BMI, Age, Prenancies, dan Blood Pressure) terhadap status diabetes. 2. Membangun model regresi logistik untuk memprediksi kemungkinan seseorang mengalami diabetes. 3 .Mengevaluasi kinerja model dalam mengklasifikasikan individu yang mengalami diabetes dan yang tidak. 4. Menginterpretasikan pengaruh masing-masing variabel menggunakan odds ratio.
## Pregnancies Glucose BloodPressure SkinThickness
## Min. : 0.000 Min. : 0.0 Min. : 0.00 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 62.00 1st Qu.: 0.00
## Median : 3.000 Median :117.0 Median : 72.00 Median :23.00
## Mean : 3.845 Mean :120.9 Mean : 69.11 Mean :20.54
## 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 80.00 3rd Qu.:32.00
## Max. :17.000 Max. :199.0 Max. :122.00 Max. :99.00
## Insulin BMI DiabetesPedigreeFunction Age
## Min. : 0.0 Min. : 0.00 Min. :0.0780 Min. :21.00
## 1st Qu.: 0.0 1st Qu.:27.30 1st Qu.:0.2437 1st Qu.:24.00
## Median : 30.5 Median :32.00 Median :0.3725 Median :29.00
## Mean : 79.8 Mean :31.99 Mean :0.4719 Mean :33.24
## 3rd Qu.:127.2 3rd Qu.:36.60 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :846.0 Max. :67.10 Max. :2.4200 Max. :81.00
## Outcome
## Min. :0.000
## 1st Qu.:0.000
## Median :0.000
## Mean :0.349
## 3rd Qu.:1.000
## Max. :1.000
## Pregnancies Glucose BloodPressure SkinThickness Insulin BMI
## 1 6 148 72 35 0 33.6
## 2 1 85 66 29 0 26.6
## 3 8 183 64 0 0 23.3
## 4 1 89 66 23 94 28.1
## 5 0 137 40 35 168 43.1
## 6 5 116 74 0 0 25.6
## DiabetesPedigreeFunction Age Outcome
## 1 0.627 50 1
## 2 0.351 31 0
## 3 0.672 32 1
## 4 0.167 21 0
## 5 2.288 33 1
## 6 0.201 30 0
Dataset yang digunakan dalam analisis ini merupakan data kesehatan yang memuat beberapa variabel klinis yang berhubungan dengan risiko diabetes.
Variabel dependen:
Variabel independen yang digunakan:
## 'data.frame': 768 obs. of 9 variables:
## $ Pregnancies : int 6 1 8 1 0 5 3 10 2 8 ...
## $ Glucose : int 148 85 183 89 137 116 78 115 197 125 ...
## $ BloodPressure : int 72 66 64 66 40 74 50 0 70 96 ...
## $ SkinThickness : int 35 29 0 23 35 0 32 0 45 0 ...
## $ Insulin : int 0 0 0 94 168 0 88 0 543 0 ...
## $ BMI : num 33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
## $ DiabetesPedigreeFunction: num 0.627 0.351 0.672 0.167 2.288 ...
## $ Age : int 50 31 32 21 33 30 26 29 53 54 ...
## $ Outcome : int 1 0 1 0 1 0 1 0 1 1 ...
Distribusi variabel Outcome
##
## 0 1
## 500 268
Bentuk umum model regresi logistik:
\[ \ln\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1X_1 + \beta_2X_2 + \dots + \beta_kX_k \]
dengan \(p\) adalah probabilitas seseorang terkena diabetes.
model <- glm(Outcome ~ Glucose + BMI + Age + Pregnancies + BloodPressure,
data = data,
family = binomial)
summary(model)##
## Call:
## glm(formula = Outcome ~ Glucose + BMI + Age + Pregnancies + BloodPressure,
## family = binomial, data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -7.957463 0.684278 -11.629 < 2e-16 ***
## Glucose 0.033787 0.003401 9.935 < 2e-16 ***
## BMI 0.090961 0.014212 6.400 1.55e-10 ***
## Age 0.017087 0.009172 1.863 0.06249 .
## Pregnancies 0.118803 0.031594 3.760 0.00017 ***
## BloodPressure -0.013514 0.005104 -2.648 0.00811 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 993.48 on 767 degrees of freedom
## Residual deviance: 734.99 on 762 degrees of freedom
## AIC: 746.99
##
## Number of Fisher Scoring iterations: 5
Persamaan logit yang diperoleh:
\[ Logit(p) = -7.9575 + 0.0338 Glucose + 0.091 BMI + 0.0171 Age + 0.1188 Pregnancies + -0.0135 BloodPressure \]
## Analysis of Deviance Table
##
## Model: binomial, link: logit
##
## Response: Outcome
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 767 993.48
## Glucose 1 184.764 766 808.72 < 2.2e-16 ***
## BMI 1 37.317 765 771.40 1.004e-09 ***
## Age 1 15.718 764 755.68 7.351e-05 ***
## Pregnancies 1 13.585 763 742.10 0.000228 ***
## BloodPressure 1 7.113 762 734.99 0.007651 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Jika p-value < 0.05, maka model signifikan.
Odds Ratio digunakan untuk melihat besar pengaruh variabel.
## (Intercept) Glucose BMI Age Pregnancies
## 0.00035004 1.03436446 1.09522613 1.01723334 1.12614761
## BloodPressure
## 0.98657715
Interpretasi:
Menggunakan Hosmer-Lemeshow Test.
## ResourceSelection 0.3-6 2023-06-27
##
## Hosmer and Lemeshow goodness of fit (GOF) test
##
## data: data$Outcome, fitted(model)
## X-squared = 4.5996, df = 8, p-value = 0.7994
Interpretasi:
## 1 2 3 4 5 6
## 0.66673999 0.05169005 0.72657006 0.05685631 0.64910323 0.16756826
## 1 2 3 4 5 6
## 1 0 1 0 1 0
## Aktual
## Prediksi 0 1
## 0 437 110
## 1 63 158
Menghitung akurasi model
## [1] 0.7747396
## Type 'citation("pROC")' for a citation.
##
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
## Area under the curve: 0.8304
AUC mendekati 1 menunjukkan model yang baik.
boxplot(Glucose ~ Outcome,
data=data,
col=c("lightblue","salmon"),
main="Distribusi Glucose Berdasarkan Status Diabetes",
xlab="Status Diabetes",
ylab="Glucose")Hubungan Glucose dengan Outcome
boxplot(Pregnancies ~ Outcome,
data=data,
col=c("green","salmon"),
main="Distribusi Pregnancies Berdasarkan Status Diabetes",
xlab="Status Diabetes",
ylab="Pregnancies")Hubungan Pregnancies dengan Outcome
Berdasarkan hasil analisis regresi logistik yang dilakukan pada dataset diabetes, diperoleh bahwa variabel Glucose, BMI, Pregnancies, dan BloodPressure memiliki pengaruh signifikan terhadap status diabetes dengan nilai p-value kurang dari 0.05. Sementara itu, variabel Age menunjukkan pengaruh yang lebih lemah terhadap status diabetes dalam model yang dibangun.
Interpretasi odds ratio menunjukkan bahwa peningkatan nilai Glucose, BMI, Age, dan Pregnancies cenderung meningkatkan peluang seseorang mengalami diabetes, sedangkan BloodPressure memiliki pengaruh yang relatif kecil terhadap kemungkinan terjadinya diabetes. Hasil ini menunjukkan bahwa faktor-faktor kesehatan tertentu memiliki peran penting dalam mempengaruhi risiko diabetes.
Hasil uji Hosmer–Lemeshow menunjukkan nilai p-value sebesar 0.7994, yang berarti model regresi logistik yang dibangun memiliki kesesuaian yang baik dengan data. Evaluasi performa model menggunakan confusion matrix menunjukkan tingkat akurasi sebesar 77.47%, yang menunjukkan bahwa model cukup baik dalam mengklasifikasikan status diabetes. Selain itu, nilai Area Under Curve (AUC) sebesar 0.8304 pada ROC curve menunjukkan bahwa model memiliki kemampuan klasifikasi yang baik dalam membedakan individu yang mengalami diabetes dan yang tidak.
Secara keseluruhan, model regresi logistik yang dibangun mampu menjelaskan hubungan antara beberapa faktor kesehatan (Glucose, BMI, Age, dan Blood Pressure) dengan status diabetes serta memiliki kemampuan prediksi yang cukup baik dalam mengidentifikasi kemungkinan seseorang mengalami diabetes berdasarkan variabel yang digunakan dalam analisis.