#PENDAHULUAN

Biaya asuransi kesehatan merupakan salah satu komponen penting dalam sistem pembiayaan kesehatan, karena mencerminkan tingkat risiko kesehatan yang dimiliki oleh individu. Perbedaan karakteristik individu, seperti usia, kondisi fisik, dan kebiasaan hidup, menyebabkan besarnya biaya asuransi kesehatan yang harus ditanggung menjadi tidak sama antara satu individu dengan individu lainnya. Oleh karena itu, penting untuk mengetahui faktor-faktor yang mempengaruhi biaya asuransi kesehatan agar dapat dilakukan perencanaan dan pengambilan keputusan yang lebih baik oleh penyedia maupun pengguna asuransi.

Usia merupakan salah satu faktor yang berpotensi mempengaruhi biaya asuransi kesehatan, karena semakin bertambah usia seseorang maka risiko terjadinya masalah kesehatan cenderung meningkat. Selain itu, indeks massa tubuh (Body Mass Index/BMI) juga sering digunakan sebagai indikator kesehatan fisik, di mana nilai BMI yang tinggi dapat meningkatkan risiko berbagai penyakit kronis. Faktor perilaku seperti status merokok juga mempunyai peran penting, karena kebiasaan merokok terbukti berkaitan dengan meningkatnya risiko penyakit dan biaya pengobatan.

Hasil dari penelitian ini diharapkan dapat memberikan gambaran mengenai faktor-faktor yang signifikan dalam menentukan besarnya biaya asuransi kesehatan serta menjadi referensi dalam pengambilan keputusan di bidang kesehatan dan asuransi.

#DESKRIPSI DAN SUMBER DATA

Penelitian ini menggunakan data sekunder berupa data biaya asuransi kesehatan individu yang diperoleh dari Kaggle, yaitu Medical Cost Personal Dataset. Dataset ini berisi informasi karakteristik individu yang berkaitan dengan faktor kesehatan dan biaya asuransi kesehatan.

Variabel yang digunakan dalam penelitian ini terdiri dari satu variabel dependen dan tiga variabel independen. Variabel dependen adalah biaya asuransi kesehatan (biaya), sedangkan variabel independen meliputi umur (usia), indeks massa tubuh (bmi), dan status merokok (perokok). Dataset yang digunakan memiliki lebih dari 30 observasi sehingga memenuhi syarat untuk analisis regresi linier berganda.

Sumber data yang digunakan dalam penelitian ini adalah: Kaggle – Medical Cost Personal Dataset https://www.kaggle.com/datasets/mirichoi0218/insurance

#ANALISIS DATA EKSPLORASI (EDA)

Berdasarkan hasil pemeriksaan struktur data, dataset terdiri dari 1.338 observasi dengan 4 variabel, yaitu umur (usia), indeks massa tubuh (bmi), status merokok (perokok), dan biaya asuransi kesehatan (biaya). Variabel usia bertipe numerik, sedangkan variabel bmi dan biaya masih bertipe karakter, serta variabel perokok merupakan variabel kategorik. Oleh karena itu, diperlukan penyesuaian tipe data sebelum dilakukan analisis regresi.

Statistik deskriptif awal menunjukkan bahwa usia responden berada pada rentang 18 hingga 64 tahun, dengan rata-rata usia sekitar 39 tahun, yang menunjukkan bahwa responden berada pada kelompok usia dewasa.

library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
data <- read_excel("C:/Users/ASUS/Downloads/insurance fiks.xlsx")

str(data)
## tibble [1,338 × 4] (S3: tbl_df/tbl/data.frame)
##  $ age    : num [1:1338] 19 18 28 33 32 31 46 37 37 60 ...
##  $ bmi    : chr [1:1338] "1.1312499999999999" "33.77" "33" "22705" ...
##  $ smoker : chr [1:1338] "yes" "no" "no" "no" ...
##  $ charges: chr [1:1338] "16884924" "17255523" "4449462" "2198447061" ...
summary(data)
##       age            bmi               smoker            charges         
##  Min.   :18.00   Length:1338        Length:1338        Length:1338       
##  1st Qu.:27.00   Class :character   Class :character   Class :character  
##  Median :39.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :39.21                                                           
##  3rd Qu.:51.00                                                           
##  Max.   :64.00
data$age     <- as.numeric(data$age)
data$bmi     <- as.numeric(data$bmi)
data$charges <- as.numeric(data$charges)
data$smoker  <- as.factor(data$smoker)

model <- lm(charges ~ age + bmi + smoker, data = data)
summary(model)
## 
## Call:
## lm(formula = charges ~ age + bmi + smoker, data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.140e+09 -3.462e+08 -1.518e+08  1.544e+07  6.408e+09 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -235297760   67990321  -3.461 0.000556 ***
## age            9673263    1581274   6.117 1.25e-09 ***
## bmi              33488       1741  19.230  < 2e-16 ***
## smokeryes    654801149   55066924  11.891  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 811900000 on 1334 degrees of freedom
## Multiple R-squared:  0.2853, Adjusted R-squared:  0.2837 
## F-statistic: 177.5 on 3 and 1334 DF,  p-value: < 2.2e-16
data$smoker <- as.factor(data$smoker)
summary(data[, c("age", "bmi", "charges")])
##       age             bmi              charges         
##  Min.   :18.00   Min.   :    0.69   Min.   :5.200e+01  
##  1st Qu.:27.00   1st Qu.:    1.21   1st Qu.:1.636e+07  
##  Median :39.00   Median :    1.57   Median :9.370e+07  
##  Mean   :39.21   Mean   : 6948.32   Mean   :5.107e+08  
##  3rd Qu.:51.00   3rd Qu.:   39.90   3rd Qu.:4.525e+08  
##  Max.   :64.00   Max.   :44745.00   Max.   :7.324e+09
plot(data$age, data$charges,
     main = "Charges vs Age",
     xlab = "Age",
     ylab = "Charges",
     pch = 19)

plot(data$bmi, data$charges,
     main = "Charges vs BMI",
     xlab = "BMI",
     ylab = "Charges",
     pch = 19)

Hasil visualisasi antara umur dan biaya asuransi kesehatan menunjukkan adanya kecenderungan hubungan positif, di mana biaya asuransi cenderung meningkat seiring bertambahnya usia. Variasi biaya juga terlihat semakin besar pada kelompok usia yang lebih tua.

Visualisasi hubungan antara indeks massa tubuh dan biaya asuransi kesehatan menunjukkan adanya variasi biaya yang cukup besar, terutama pada nilai BMI yang tinggi, meskipun hubungan linier tidak terlihat terlalu kuat. Hal ini mengindikasikan bahwa BMI berpotensi mempengaruhi biaya asuransi, namun dengan pola yang bervariasi antar individu.

Secara keseluruhan, hasil EDA menunjukkan bahwa variabel umur dan indeks massa tubuh memiliki keterkaitan dengan biaya asuransi kesehatan, sehingga regresi layak digunakan sebagai variabel independen dalam analisis linier berganda bersama dengan status merokok.

#METODE ANALISIS

Metode analisis yang digunakan dalam penelitian ini adalah regresi linier berganda, yang bertujuan untuk menganalisis pengaruh beberapa variabel independen terhadap satu variabel dependen. Variabel dependen dalam penelitian ini adalah biaya asuransi kesehatan (charges), sedangkan variabel independennya meliputi umur (age), indeks massa tubuh (bmi), dan status merokok (smoker). Model regresi linier berganda yang digunakan dapat dituliskan sebagai berikut:

charges=𝛽0+𝛽1(age)+𝛽2(bmi)+𝛽3(smoker)+𝜀 di mana:

𝛽0 adalah konstanta, 𝛽1,𝛽2,𝛽3 adalah koefisien regresi, ε adalah galat (error).

Analisis dilakukan menggunakan perangkat lunak R, dengan estimasi parameter menggunakan metode Ordinary Least Squares (OLS). Pengujian signifikansi model dilakukan melalui uji F untuk melihat pengaruh variabel independen secara simultan terhadap variabel dependen, serta uji t untuk menguji pengaruh masing-masing variabel independen secara parsial. Selain itu, koefisien determinasi digunakan untuk mengetahui kemampuan model dalam menjelaskan variasi biaya asuransi kesehatan.

#HASIL DAN PEMBAHASAAN

model <- lm(charges ~ age + bmi + smoker, data = data)

summary(model)
## 
## Call:
## lm(formula = charges ~ age + bmi + smoker, data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.140e+09 -3.462e+08 -1.518e+08  1.544e+07  6.408e+09 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -235297760   67990321  -3.461 0.000556 ***
## age            9673263    1581274   6.117 1.25e-09 ***
## bmi              33488       1741  19.230  < 2e-16 ***
## smokeryes    654801149   55066924  11.891  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 811900000 on 1334 degrees of freedom
## Multiple R-squared:  0.2853, Adjusted R-squared:  0.2837 
## F-statistic: 177.5 on 3 and 1334 DF,  p-value: < 2.2e-16

Hasil regresi linier berganda menunjukkan bahwa umur, indeks massa tubuh (BMI), dan status merokok secara simultan berpengaruh signifikan terhadap biaya asuransi kesehatan. Nilai Adjusted R² sebesar 0,2837 menunjukkan bahwa sekitar 28% variasi biaya asuransi dapat dijelaskan oleh model. Secara parsial, umur dan BMI berpengaruh positif terhadap biaya asuransi, sedangkan status merokok merupakan faktor yang paling dominan dalam meningkatkan biaya asuransi kesehatan. Temuan ini menunjukkan bahwa faktor kesehatan dan perilaku memiliki peran penting dalam menentukan besarnya biaya asuransi.

y_pred <- predict(model)
y_actual <- as.numeric(data$charges)

SSE <- sum((y_actual - y_pred)^2)
SST <- sum((y_actual - mean(y_actual))^2)
R2 <- 1 - SSE/SST

n <- nrow(data)
p <- length(coef(model))

MSE <- SSE / (n - p)
RMSE <- sqrt(mean((y_actual - y_pred)^2))
MAE <- mean(abs(y_actual - y_pred))

R2
## [1] 0.2852939
MSE
## [1] 6.592127e+17
RMSE
## [1] 810704578
MAE
## [1] 454318153

Model regresi linier berganda yang dibangun memiliki nilai 𝑅^2 sebesar ±0,28, yang berarti sekitar 28% variasi biaya asuransi kesehatan dapat dijelaskan oleh variabel usia, BMI, dan status merokok, sedangkan sisanya dipengaruhi oleh faktor lain di luar model. Nilai RMSE dan MAE yang relatif besar menunjukkan bahwa kesalahan prediksi masih cukup tinggi, sehingga meskipun model signifikan secara statistik, kemampuan prediksinya masih terbatas dan lebih cocok digunakan untuk melihat pengaruh variabel daripada untuk prediksi yang sangat akurat.

resid <- residuals(model)

hist(resid, main = "Histogram Residual", xlab = "Residual")

qqnorm(resid)
qqline(resid)

shapiro.test(resid)
## 
##  Shapiro-Wilk normality test
## 
## data:  resid
## W = 0.6597, p-value < 2.2e-16

Uji normalitas residual dilakukan menggunakan Shapiro–Wilk test. Hasil pengujian menunjukkan nilai statistik W = 0,6597 dengan p-value < 2,2 × 10⁻¹⁶. Karena p-value lebih kecil dari tingkat signifikansi 0,05, maka H₀ ditolak, yang berarti residual tidak berdistribusi normal.

Hal ini juga diperkuat oleh histogram residual yang menunjukkan sebaran tidak simetris serta Normal Q–Q Plot yang memperlihatkan banyak titik menyimpang dari garis diagonal, terutama pada bagian ekor kanan. Kondisi ini mengindikasikan adanya outlier dan skewness pada data biaya asuransi kesehatan. Namun, mengingat jumlah sampel yang besar (n = 1338), pelanggaran asumsi normalitas ini masih dapat ditoleransi dalam analisis regresi linear berganda.

if (!require(car)) install.packages("car")
## Loading required package: car
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.3
library(car)

vif(model)
##      age      bmi   smoker 
## 1.001083 1.002161 1.002287

Berdasarkan hasil uji multikolinearitas menggunakan Variance Inflation Factor (VIF), diperoleh nilai VIF untuk variabel age sebesar 1,001, bmi sebesar 1,002, dan smoker sebesar 1,002. Seluruh nilai VIF berada di bawah 10, sehingga dapat disimpulkan bahwa tidak terjadi multikolinearitas dalam model regresi linear berganda.

par(mfrow = c(2,2))
plot(model)

par(mfrow = c(1,1))

Berdasarkan grafik diagnostik regresi, terlihat bahwa residual tidak menyebar secara acak dan menunjukkan pola tertentu, sehingga mengindikasikan adanya pelanggaran asumsi linearitas dan homoskedastisitas. Normal Q–Q Plot memperlihatkan banyak titik yang menyimpang dari garis diagonal, terutama pada bagian ekor kanan, yang menandakan bahwa residual tidak berdistribusi normal serta terdapat skewness dan beberapa outlier. Grafik Scale–Location juga menunjukkan varians residual yang tidak konstan, sehingga menguatkan adanya heteroskedastisitas. Selain itu, pada grafik Residuals vs Leverage terdapat beberapa pengamatan yang memiliki pengaruh cukup besar terhadap model, meskipun masih dalam batas yang dapat ditoleransi. Namun demikian, karena ukuran sampel yang digunakan cukup besar (n = 1338), pelanggaran terhadap asumsi normalitas residual masih dapat ditoleransi dan model regresi linear berganda tetap layak digunakan untuk analisis

#KESIMPULAN

Berdasarkan hasil analisis regresi linier berganda, dapat disimpulkan bahwa usia (age), indeks massa tubuh (BMI), dan status merokok (smoker) berpengaruh signifikan terhadap biaya asuransi kesehatan (charges). Model regresi yang dibentuk signifikan secara simultan berdasarkan uji F, dengan kemampuan menjelaskan variasi biaya asuransi sebesar 28,53%. Hasil uji asumsi menunjukkan tidak terdapat masalah multikolinearitas, namun residual tidak berdistribusi normal. Secara keseluruhan, model ini cukup baik untuk menjelaskan faktor-faktor yang memengaruhi biaya asuransi kesehatan, meskipun masih terdapat variabel lain di luar model yang berpotensi berpengaruh.

#REFERESNI

Choi, M. (2017). Medical Cost Personal Dataset. Kaggle. https://www.kaggle.com/datasets/mirichoi0218/insurance

Azahra, A. I., & Ilham, A. (2025). Analisis faktor–faktor yang memengaruhi biaya medis menggunakan regresi linier. Jurnal Komputer dan Teknologi Informasi, 3(2), 28–32.