Analisis regresi linier berganda merupakan salah satu metode statistika yang digunakan untuk mengetahui hubungan antara satu variabel dependen dengan dua atau lebih variabel independen. Metode ini banyak digunakan dalam berbagai bidang penelitian, khususnya pada bidang ekonomi dan kesehatan.
Pada praktikum ini digunakan dataset biaya asuransi kesehatan yang diperoleh dari Kaggle. Dataset tersebut berisi informasi mengenai karakteristik individu seperti usia, BMI, jumlah anak, serta biaya asuransi kesehatan.
Variabel dependen yang digunakan adalah: - charges =
biaya asuransi kesehatan
Sedangkan variabel independen yang digunakan yaitu: -
age = usia - bmi = Body Mass Index -
children = jumlah anak
Analisis dilakukan menggunakan software RStudio dengan metode regresi linier berganda.
library(readr)
insurance <- read_csv("C:/Users/ADM/Downloads/insurance.csv")
head(insurance)
## # A tibble: 6 × 7
## age sex bmi children smoker region charges
## <dbl> <chr> <dbl> <dbl> <chr> <chr> <dbl>
## 1 19 female 27.9 0 yes southwest 16885.
## 2 18 male 33.8 1 no southeast 1726.
## 3 28 male 33 3 no southeast 4449.
## 4 33 male 22.7 0 no northwest 21984.
## 5 32 male 28.9 0 no northwest 3867.
## 6 31 female 25.7 0 no southeast 3757.
Dataset diimpor menggunakan package readr dengan fungsi
read_csv(). Fungsi head() digunakan untuk
melihat beberapa observasi pertama pada dataset.
names(insurance)
## [1] "age" "sex" "bmi" "children" "smoker" "region" "charges"
| Variabel | Keterangan |
|---|---|
| age | Usia individu |
| bmi | Body Mass Index |
| children | Jumlah anak |
| charges | Biaya asuransi kesehatan |
summary(insurance)
## age sex bmi children
## Min. :18.00 Length:1338 Min. :15.96 Min. :0.000
## 1st Qu.:27.00 Class :character 1st Qu.:26.30 1st Qu.:0.000
## Median :39.00 Mode :character Median :30.40 Median :1.000
## Mean :39.21 Mean :30.66 Mean :1.095
## 3rd Qu.:51.00 3rd Qu.:34.69 3rd Qu.:2.000
## Max. :64.00 Max. :53.13 Max. :5.000
## smoker region charges
## Length:1338 Length:1338 Min. : 1122
## Class :character Class :character 1st Qu.: 4740
## Mode :character Mode :character Median : 9382
## Mean :13270
## 3rd Qu.:16640
## Max. :63770
Berdasarkan hasil statistik deskriptif diperoleh bahwa variabel usia memiliki rentang antara 18 hingga 64 tahun dengan rata-rata sekitar 39 tahun.
Variabel BMI memiliki rata-rata sekitar 30 yang menunjukkan bahwa sebagian besar individu memiliki indeks massa tubuh cukup tinggi.
Variabel jumlah anak memiliki rentang antara 0 hingga 5 anak, sedangkan biaya asuransi kesehatan memiliki rentang nilai yang cukup besar.
par(mfrow = c(1,3))
plot(
insurance$age,
insurance$charges,
main = "Age vs Charges",
xlab = "Age",
ylab = "Charges",
pch = 19,
col = "#f7a8b8"
)
plot(
insurance$bmi,
insurance$charges,
main = "BMI vs Charges",
xlab = "BMI",
ylab = "Charges",
pch = 19,
col = "#ff5fcf"
)
plot(
insurance$children,
insurance$charges,
main = "Children vs Charges",
xlab = "Children",
ylab = "Charges",
pch = 19,
col = "#9b59b6"
)
Scatter plot menunjukkan bahwa variabel age dan bmi memiliki kecenderungan hubungan positif terhadap biaya asuransi kesehatan.
Sementara itu, hubungan antara jumlah anak dan biaya asuransi kesehatan terlihat relatif lebih lemah dibandingkan variabel lainnya.
model <- lm(charges ~ age + bmi + children,
data = insurance)
summary(model)
##
## Call:
## lm(formula = charges ~ age + bmi + children, data = insurance)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13884 -6994 -5092 7125 48627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -6916.24 1757.48 -3.935 8.74e-05 ***
## age 239.99 22.29 10.767 < 2e-16 ***
## bmi 332.08 51.31 6.472 1.35e-10 ***
## children 542.86 258.24 2.102 0.0357 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11370 on 1334 degrees of freedom
## Multiple R-squared: 0.1201, Adjusted R-squared: 0.1181
## F-statistic: 60.69 on 3 and 1334 DF, p-value: < 2.2e-16
Persamaan regresi yang diperoleh adalah:
\[ Y = -6916.24 + 239.99(age) + 332.08(bmi) + 542.86(children) \]
summary(model)
##
## Call:
## lm(formula = charges ~ age + bmi + children, data = insurance)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13884 -6994 -5092 7125 48627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -6916.24 1757.48 -3.935 8.74e-05 ***
## age 239.99 22.29 10.767 < 2e-16 ***
## bmi 332.08 51.31 6.472 1.35e-10 ***
## children 542.86 258.24 2.102 0.0357 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11370 on 1334 degrees of freedom
## Multiple R-squared: 0.1201, Adjusted R-squared: 0.1181
## F-statistic: 60.69 on 3 and 1334 DF, p-value: < 2.2e-16
Variabel age, bmi, dan
children memiliki nilai p-value < 0.05 sehingga seluruh
variabel independen berpengaruh signifikan terhadap biaya asuransi
kesehatan.
library(lmtest)
resettest(model)
##
## RESET test
##
## data: model
## RESET = 0.07541, df1 = 2, df2 = 1332, p-value = 0.9274
residual <- residuals(model)
shapiro.test(residual)
##
## Shapiro-Wilk normality test
##
## data: residual
## W = 0.75201, p-value < 2.2e-16
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 134.26, df = 3, p-value < 2.2e-16
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 2.0119, p-value = 0.5859
## alternative hypothesis: true autocorrelation is greater than 0
library(car)
vif(model)
## age bmi children
## 1.013816 1.012152 1.001874
Berdasarkan hasil analisis regresi linier berganda diperoleh bahwa variabel age, bmi, dan children berpengaruh signifikan terhadap biaya asuransi kesehatan.
Model regresi yang diperoleh mampu menunjukkan hubungan antara usia, BMI, dan jumlah anak terhadap biaya asuransi kesehatan meskipun masih terdapat beberapa keterbatasan pada asumsi regresi.