Obesitas telah menjadi salah satu tantangan kesehatan global terbesar di abad ke-21. Organisasi Kesehatan Dunia (WHO) mendefinisikan obesitas sebagai akumulasi lemak abnormal atau berlebihan yang dapat menimbulkan risiko bagi kesehatan. Peningkatan prevalensi obesitas berkaitan erat dengan risiko penyakit kronis seperti diabetes tipe 2, penyakit kardiovaskular, dan hipertensi. Kondisi ini dipengaruhi oleh interaksi kompleks berbagai faktor gaya hidup, terutama pola makan (dietary habits) dan kondisi fisik (physical condition).
Di era modern, perilaku sedenter dan konsumsi kalori tinggi menjadi pemicu utama. Faktor seperti frekuensi konsumsi sayuran (FCVC), jumlah makan utama (NCP), konsumsi air (CH2O), serta aktivitas fisik (FAF) dan penggunaan teknologi (TUE) memegang peranan vital.
Pendekatan MANOVA (Multivariate Analysis of Variance) dipilih karena studi sebelumnya juga menunjukkan bahwa analisis multivariat merupakan metode yang efektif untuk menilai perbedaan status obesitas berdasarkan variabel gaya hidup majemuk (Encarnação et al., 2023). Metode ini digunakan untuk menguji perbedaan vektor rata-rata variabel gaya hidup secara simultan terhadap kategori obesitas. Jika signifikan, analisis dilanjutkan dengan Analisis Profil untuk memvisualisasikan karakteristik spesifik antar kelompok.
Penelitian ini menggunakan dataset “Estimation of obesity levels based on eating habits and physical condition” dari UCI Machine Learning Repository (Palechor & de la Hoz Manotas, 2019).
Data yang digunakan adalah data sekunder dari UCI Machine Learning Repository berjudul “Estimation of obesity levels based on eating habits and physical condition” (Palechor & de la Hoz Manotas, 2019). Data mencakup informasi kebiasaan makan dan kondisi fisik.
Langkah pertama adalah memuat library dan data, serta melakukan seleksi variabel gaya hidup (Behavior) yang relevan.
library(tidyverse)
library(biotools)
library(mvnormtest)
library(knitr)
# Load Data
data_raw <- read.csv("ObesityDataSet_raw_and_data_sinthetic.csv", sep = ";")
# Data Cleaning & Selection
df_obesity <- data_raw %>%
dplyr::select(NObeyesdad, FCVC, NCP, CH2O, FAF, TUE) %>%
rename(
Tingkat_Obesitas = NObeyesdad,
Makan_Sayur = FCVC,
Jml_Makan = NCP,
Minum_Air = CH2O,
Olahraga = FAF,
Main_Gadget = TUE
) %>%
mutate(Tingkat_Obesitas = as.factor(Tingkat_Obesitas)) %>%
na.omit()
# Menampilkan data sampel
kable(head(df_obesity), caption = "Sampel Data Gaya Hidup")| Tingkat_Obesitas | Makan_Sayur | Jml_Makan | Minum_Air | Olahraga | Main_Gadget |
|---|---|---|---|---|---|
| Normal_Weight | 2 | 3 | 2 | 0 | 1 |
| Normal_Weight | 3 | 3 | 3 | 3 | 0 |
| Normal_Weight | 2 | 3 | 2 | 2 | 1 |
| Overweight_Level_I | 3 | 3 | 2 | 2 | 0 |
| Overweight_Level_II | 2 | 1 | 2 | 0 | 0 |
| Normal_Weight | 2 | 3 | 2 | 0 | 0 |
Sebelum MANOVA, dilakukan uji homogenitas matriks kovarians menggunakan Uji Box-M.
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: df_obesity[, 2:6]
## Chi-Sq (approx.) = Inf, df = 90, p-value < 2.2e-16
Interpretasi: Nilai p-value yang sangat kecil (\(< 2.2e-16\)) menunjukkan bahwa matriks kovarians tidak homogen (Tolak \(H_0\)). Namun, berdasarkan teori, analisis MANOVA tetap dapat dilanjutkan karena ukuran sampel (\(n = 2111\)) tergolong besar (\(n > 30\)) dan statistik Wilks’ Lambda bersifat robust (tangguh) terhadap pelanggaran asumsi ini (Ghozali, 2021; Solimun et al., 2024).
Dilakukan pengujian perbedaan vektor rata-rata gaya hidup secara simultan.
# Model MANOVA
model_manova <- manova(cbind(Makan_Sayur, Jml_Makan, Minum_Air, Olahraga, Main_Gadget) ~ Tingkat_Obesitas, data = df_obesity)
# Hasil Uji Wilks' Lambda
summary(model_manova, test = "Wilks")## Df Wilks approx F num Df den Df Pr(>F)
## Tingkat_Obesitas 6 0.60312 37.738 30 8402 < 2.2e-16 ***
## Residuals 2104
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretasi: Diperoleh nilai Wilks’ Lambda sebesar 0.603 dengan p-value \(< 2.2e-16\). Karena p-value \(< 0.05\), maka Tolak \(H_0\).
Kesimpulan: Terdapat perbedaan yang sangat signifikan secara simultan pada pola gaya hidup (makan sayur, frekuensi makan, minum air, aktivitas fisik, dan gadget) antar tingkat obesitas.
Karena MANOVA signifikan, dilakukan Analisis Profil untuk melihat pola perbedaan secara visual. Data distandarisasi (Z-score) agar satuan variabel setara.
# 1. Standarisasi Data (Z-Score)
df_scaled <- df_obesity %>%
mutate(across(c(Makan_Sayur, Jml_Makan, Minum_Air, Olahraga, Main_Gadget), scale))
# 2. Hitung Rata-rata per Grup
df_profile <- df_scaled %>%
group_by(Tingkat_Obesitas) %>%
summarise(
Sayur = mean(Makan_Sayur),
Makan_Besar = mean(Jml_Makan),
Air_Putih = mean(Minum_Air),
Fisik = mean(Olahraga),
Gadget = mean(Main_Gadget)
) %>%
pivot_longer(cols = -Tingkat_Obesitas, names_to = "Variabel", values_to = "Mean_Z_Score")
# 3. Visualisasi Plot Profil
ggplot(df_profile, aes(x = Variabel, y = Mean_Z_Score, group = Tingkat_Obesitas, color = Tingkat_Obesitas)) +
geom_line(linewidth = 1.2) +
geom_point(size = 3) +
theme_minimal() +
labs(
title = "Profil Gaya Hidup Berdasarkan Tingkat Obesitas",
subtitle = "Pola Makan & Aktivitas Fisik (Standardized Z-Score)",
y = "Nilai Rata-rata (Z-Score)",
x = "Indikator Gaya Hidup",
color = "Kategori Obesitas"
) +
theme(legend.position = "right")Interpretasi Visual dan Pembahasan: 1. Tidak Sejajar (Non-Parallel): Garis profil antar kelompok saling bersilangan, menunjukkan adanya interaksi kompleks. Artinya, tiap kategori obesitas memiliki kombinasi kebiasaan yang unik dan berbeda secara spesifik. 2. Faktor Pembeda Utama (Olahraga): Variabel Olahraga (Fisik) menunjukkan perbedaan paling ekstrem. Kelompok obesitas (Tipe II & III) memiliki skor negatif (di bawah rata-rata umum) yang sangat rendah, sedangkan kelompok berat badan normal cenderung positif. Temuan ini sejalan dengan penelitian yang menyatakan bahwa status obesitas berhubungan signifikan dengan penurunan level kebugaran fisik dan kurangnya aktivitas (Encarnação et al., 2023). 3. Kesimpulan: Tingkat obesitas sangat dipengaruhi oleh perilaku sedenter (rendahnya aktivitas fisik) dibandingkan sekadar variabel pola makan lainnya.
Encarnação, S., Rodrigues, F., Monteiro, A. M., Ghouili, H., Hattabi, S., Sortwell, A., Branquinho, L., & Forte, P. (2023). Obesity Status and Physical Fitness Levels in Male and Female Portuguese Adolescents: A Two-Way Multivariate Analysis. International Journal of Environmental Research and Public Health, 20(12), 6115.
Ghozali, I. (2021). Aplikasi Analisis Multivariate dengan Program IBM SPSS 26 (Edisi 10). Badan Penerbit Universitas Diponegoro.
Palechor, F. M., & de la Hoz Manotas, A. (2019). Estimation of obesity levels based on eating habits and physical condition Dataset. UCI Machine Learning Repository.
Solimun, Iriany, A., Astutik, S., & Fernandes, A. A. R. (2017). Modul Analisis Multivariat. Program Studi Statistika, Universitas Brawijaya.