Data yang digunakan dalam penelitian ini merupakan data mengenai aktivitas fisik dan tekanan darah pada lansia di Posyandu Lansia Desa Setrorejo. Data ini bersumber dari penelitian yang dilakukan oleh Desty Prastika Sari dengan judul Hubungan Kualitas Tidur dan Aktivitas Fisik dengan Tekanan Darah pada Lansia di Posyandu Lansia Desa Setrorejo yang diterbitkan oleh STIKES PKU Muhammadiyah Surakarta tahun 2017.
Variabel yang digunakan dalam analisis ini yaitu: - Usia (X1) - Kualitas Tidur (X2) - Tekanan Darah Diastolik (Y)
library(readxl)
dataindividu <- read_excel("C:/Users/Asus/OneDrive/Documents/Data Tugas Individu.xlsx")
head(dataindividu)
## # A tibble: 6 × 3
## X1 X2 Y
## <dbl> <dbl> <dbl>
## 1 60 11 90
## 2 70 2 80
## 3 62 3 90
## 4 62 3 80
## 5 71 5 80
## 6 67 2 70
summary(dataindividu)
## X1 X2 Y
## Min. :60.00 Min. : 2.00 Min. : 70.00
## 1st Qu.:64.00 1st Qu.: 3.50 1st Qu.: 80.00
## Median :67.00 Median : 5.00 Median : 80.00
## Mean :66.03 Mean : 5.81 Mean : 85.71
## 3rd Qu.:68.00 3rd Qu.: 8.00 3rd Qu.: 90.00
## Max. :74.00 Max. :11.00 Max. :110.00
Bentuk umum persamaan regresi linier Berganda adalah sebagai berikut: \[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \epsilon \]
model <- lm(Y ~ X1 + X2, data = dataindividu)
model
##
## Call:
## lm(formula = Y ~ X1 + X2, data = dataindividu)
##
## Coefficients:
## (Intercept) X1 X2
## 37.4502 0.6123 1.3484
Suatu model regresi harus memenuhi beberapa asumsi yaitu residual bersifat independen, identik, dan berdistribusi normal, asumsi ini sering disebut dengan IIDN (Gujarati, 2004). Juga ada tambahan satu asumsi yaitu tidak ada multikolinieritas antar variabel independen jika variabel independen lebih dari satu
Uji normalitas digunakan dalam model regresi untuk menguji apakah nilai residual yang dihasilkan terdistribusi secara normal atau tidak. Model regresi yang baik adalah model regresi yang memiliki nilai residual yang terdistribusi secara normal. ### Uji Visual Normalitas Model dikatakan linier jika plot antara residual terstardisasi dengan nilai prediksi perstardisasi pada grafik Normal Q-Q Plot of Unstandardized Residual tidak tersebar acak, membentuk pola tertentu,dan mengikuti garis linier.
qqnorm(residuals(model))
qqline(residuals(model), col = "red")
Uji linearitas bertujuan untuk mengetahui apakah dua variabel mempunyai hubungan yang linear atau tidak secara signifikan. Uji ini biasanya digunakan sebagai prasyarat dalam analisis korelasi atau regresi linear.
Hipotesis \[ H_0 : \text{Residual berdistribusi normal}, H_1 : \text{Residual tidak berdistribusi normal} \] Statistik UJi
shapiro <- shapiro.test(residuals(model))
shapiro
##
## Shapiro-Wilk normality test
##
## data: residuals(model)
## W = 0.97932, p-value = 0.3677
Daerah Kritis - Jika nilai p-value > 0,05, maka \(H_0\) gagal ditolak sehingga residual berdistribusi normal. - Jika nilai p-value ≤ 0,05, maka \(H_0\) ditolak sehingga residual tidak berdistribusi normal.
Keputusan
pval <- shapiro$p.value
cat("Nilai p-value =", round(pval,4), "\n")
## Nilai p-value = 0.3677
if(pval > 0.05){
cat("Karena p-value > 0.05 maka H0 gagal ditolak sehingga residual berdistribusi normal.")
} else {
cat("Karena p-value ≤ 0.05 maka H0 ditolak sehingga residual tidak berdistribusi normal.")
}
## Karena p-value > 0.05 maka H0 gagal ditolak sehingga residual berdistribusi normal.
Uji linearitas bertujuan untuk mengetahui apakah hubungan antara variabel independen dan variabel dependen bersifat linear. ### Uji Visual Linearitas
plot(fitted(model), residuals(model),
xlab = "Nilai Prediksi",
ylab = "Residual",
main = "Plot Residual vs Fitted")
abline(h = 0, col = "red")
Jika titik-titik pada grafik tersebar secara acak di sekitar garis
horizontal dan tidak membentuk pola tertentu, maka dapat disimpulkan
bahwa asumsi linearitas pada model regresi terpenuhi.
Uji Homoskedastisitas digunakan untuk mengetahui ada atau tidaknya penyimpangan asumsi klasik heteroskedastisitas yaitu adanya ketidaksamaan varian dari residual untuk semua pengamatan pada model regresi. ### Uji Visual Homoskedastisitas
plot(fitted(model), residuals(model),
xlab = "Nilai Prediksi",
ylab = "Residual",
main = "Plot Residual vs Fitted")
abline(h = 0, col = "red")
### Uji Formal Homoskedastisitas
Hipotesis \[ H_0 : \text{Model memiliki varians residual yang konstan (homoskedastisitas)}, H_1 : \text{Model tidak memiliki varians residual yang konstan (heteroskedastisitas)} \] Statistik UJi
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.5.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.5.2
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bp <- bptest(model)
bp
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 3.482, df = 2, p-value = 0.1753
Daerah Kritis - Jika p-value > 0,05 maka \(H_0\) gagal ditolak sehingga model memenuhi asumsi homoskedastisitas. - Jika p-value ≤ 0,05 maka \(H_0\) ditolak sehingga terjadi heteroskedastisitas.
Keputusan dan Kesimpulan
pval_bp <- bp$p.value
cat("Nilai p-value =", round(pval_bp,4), "\n")
## Nilai p-value = 0.1753
if(pval_bp > 0.05){
cat("Karena p-value > 0.05 maka H0 gagal ditolak sehingga model memenuhi asumsi homoskedastisitas.")
} else {
cat("Karena p-value ≤ 0.05 maka H0 ditolak sehingga terjadi heteroskedastisitas pada model.")
}
## Karena p-value > 0.05 maka H0 gagal ditolak sehingga model memenuhi asumsi homoskedastisitas.
Uji autokorelasi digunakan untuk mengetahui ada atau tidaknya penyimpangan asumsi klasik autokorelasi yaitu korelasi yang terjadi antara residual pada satu pengamatan dengan pengamatan lain pada model regresi.
Hipotesis \[ H_0 : \text{Tidak terdapat autokorelasi pada residual}, H_1 : \text{Terdapat autokorelasi pada residual} \] Statistik Uji
library(lmtest)
dw <- dwtest(model)
dw
##
## Durbin-Watson test
##
## data: model
## DW = 1.5559, p-value = 0.0367
## alternative hypothesis: true autocorrelation is greater than 0
Keputusan dan kesimpulan
pval_dw <- dw$p.value
cat("Nilai p-value =", round(pval_dw,4), "\n")
## Nilai p-value = 0.0367
if(pval_dw > 0.05){
cat("Karena p-value > 0.05 maka H0 gagal ditolak sehingga tidak terdapat autokorelasi pada model regresi.")
} else {
cat("Karena p-value ≤ 0.05 maka H0 ditolak sehingga terdapat autokorelasi pada model regresi.")
}
## Karena p-value ≤ 0.05 maka H0 ditolak sehingga terdapat autokorelasi pada model regresi.
Uji multikolinearitas bertujuan untuk menguji apakah model regresi ditemukan adanya korelasi antar variabel bebas (independen).
Statistik UJi
library(car)
## Warning: package 'car' was built under R version 4.5.2
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.5.2
vif_model <- vif(model)
vif_model
## X1 X2
## 1.026832 1.026832
Keputusan dan Kesimpulan
if(all(vif_model < 10)){
cat("Semua nilai VIF < 10 sehingga dapat disimpulkan bahwa tidak terjadi multikolinearitas pada model regresi.")
} else {
cat("Terdapat nilai VIF ≥ 10 sehingga terjadi multikolinearitas pada model regresi.")
}
## Semua nilai VIF < 10 sehingga dapat disimpulkan bahwa tidak terjadi multikolinearitas pada model regresi.
Uji Signifikansi digunakan untuk menguji signifikansi koefisien regresi yang di dapat. Pengambilan keputusan hipotesis dilakukan dengan membandingkan t statistik terhadap t tabel atau nilai probabilitas terhadap taraf signifikansi yang ditetapkan
Uji F digunakan untuk melakukan uji hipotesis koefisien (slope) regresi secara bersamaan dan memastikan bahwa model yang dipilih layak
Hipotesis \[ H_0 : \beta_1 = \beta_2 = 0, H_1 : \text{Minimal terdapat satu } \beta_i \ne 0 \]
Statistik Uji
anova_model <- anova(model)
anova_model
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## X1 1 134.5 134.50 1.498 0.225769
## X2 1 821.1 821.11 9.145 0.003667 **
## Residuals 60 5387.3 89.79
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Keputusan dan Kesimpulan
pval_f <- anova_model$`Pr(>F)`[1]
cat("Nilai p-value =", round(pval_f,4), "\n")
## Nilai p-value = 0.2258
if(pval_f > 0.05){
cat("Karena p-value > 0.05 maka H0 gagal ditolak sehingga variabel independen secara simultan tidak berpengaruh signifikan terhadap variabel dependen.")
} else {
cat("Karena p-value ≤ 0.05 maka H0 ditolak sehingga variabel independen secara simultan berpengaruh signifikan terhadap variabel dependen.")
}
## Karena p-value > 0.05 maka H0 gagal ditolak sehingga variabel independen secara simultan tidak berpengaruh signifikan terhadap variabel dependen.
Digunakan untuk menguji koefisien regresi secara individu
Hipotesis \[ H_0 : \beta_i = 0, H_1 : \beta_i \ne 0 \] Statistik Uji
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2, data = dataindividu)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.648 -6.688 -1.542 6.661 20.615
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.4502 24.4117 1.534 0.13026
## X1 0.6123 0.3609 1.697 0.09494 .
## X2 1.3484 0.4459 3.024 0.00367 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.476 on 60 degrees of freedom
## Multiple R-squared: 0.1507, Adjusted R-squared: 0.1223
## F-statistic: 5.321 on 2 and 60 DF, p-value: 0.007455
Keputusan dan Kesimpulan
pval <- summary(model)$coefficients[,4]
p_x1 <- pval[2]
p_x2 <- pval[3]
cat("p-value X1 =", round(p_x1,4), "\n")
## p-value X1 = 0.0949
cat("p-value X2 =", round(p_x2,4), "\n\n")
## p-value X2 = 0.0037
if(p_x1 > 0.05){
cat("Variabel X1 tidak berpengaruh signifikan terhadap Y.\n")
} else {
cat("Variabel X1 berpengaruh signifikan terhadap Y.\n")
}
## Variabel X1 tidak berpengaruh signifikan terhadap Y.
if(p_x2 > 0.05){
cat("Variabel X2 tidak berpengaruh signifikan terhadap Y.\n")
} else {
cat("Variabel X2 berpengaruh signifikan terhadap Y.\n")
}
## Variabel X2 berpengaruh signifikan terhadap Y.
Model akhir adalah persamaan yang sesuai dengan uji – uji asumsi yang diperoleh dan memenuhi asumsi – asumsi serta uji signifikansi yang telah dilakukan.
b <- coef(model)
cat("Persamaan regresi:\n")
## Persamaan regresi:
cat("Y =", round(b[1],3), "+", round(b[2],3),"X1 +", round(b[3],3),"X2")
## Y = 37.45 + 0.612 X1 + 1.348 X2
Koefisien determinasi digunakan untuk mempertimbangkan ketepatan model regresi. Nilai R2 berkisar 0 ≤ R^2 ≤ 1 yang merupakan jumlah variabilitas dalam dara dari variabel X yang diperoleh dalam model.
r2 <- summary(model)$r.squared
persen <- round(r2*100,2)
sisa <- round((1-r2)*100,2)
cat("Nilai koefisien determinasi (R²) sebesar", persen,"% menunjukkan bahwa variabel usia dan kualitas tidur mampu menjelaskan", persen,"% variasi tekanan darah diastolik, sedangkan", sisa,"% sisanya dijelaskan oleh faktor lain di luar model.")
## Nilai koefisien determinasi (R²) sebesar 15.07 % menunjukkan bahwa variabel usia dan kualitas tidur mampu menjelaskan 15.07 % variasi tekanan darah diastolik, sedangkan 84.93 % sisanya dijelaskan oleh faktor lain di luar model.
MSE adalah nilai ekspektasi dari kuadrat error.
mse <- mean(residuals(model)^2)
cat("Nilai Mean Square Error (MSE) sebesar", round(mse,3),
"menunjukkan rata-rata kuadrat kesalahan antara nilai aktual dan nilai prediksi dari model regresi.")
## Nilai Mean Square Error (MSE) sebesar 85.512 menunjukkan rata-rata kuadrat kesalahan antara nilai aktual dan nilai prediksi dari model regresi.
Berdasarkan hasil analisis regresi linear berganda yang telah dilakukan, diperoleh kesimpulan bahwa model regresi yang melibatkan variabel Usia dan Kualitas tidur terhadap tekanan darah diastolik telah memenuhi asumsi klasik, yaitu normalitas, homoskedastisitas, serta tidak terdapat multikolinearitas antar variabel independen, akan tetapi terdapat autokorelasi pada model regresi.
Hasil uji F menunjukkan bahwa variabel Usia dan aktivitas fisik secara simultan tidak berpengaruh terhadap tekanan darah diastolik. Selanjutnya, berdasarkan uji t diketahui bahwa masing-masing variabel X1 (Usia) memiliki pengaruh signifikan akan tetapi variabel X2 (Kualitas Tidur) tidak berpengaruh signifikan terhadap variabel Y (tekanan darah diastolik).
Nilai koefisien determinasi menunjukkan bahwa variabel usia dan kualitas tidur mampu menjelaskan 15.07% variasi tekanan darah diastolik, sedangkan 84.93 % sisanya dijelaskan oleh faktor lain di luar model.