1 Deskripsi Data

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)

1.1 Input Data

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

1.2 Statistik Deskriptif

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

2 Model Regresi Umum

Bentuk umum persamaan regresi linier Berganda adalah sebagai berikut: \[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \epsilon \]

2.1 Model Regresi Linear Berganda

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

3 Uji Asumsi

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

3.1 Uji Normalitas Residual

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")

3.1.1 UJi Formal Normalitas

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.

3.2 Linearitas

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.

3.3 Homoskedastisitas

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.

3.4 Non Autokorelasi

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.

3.5 Multikolinearitas

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.

3.6 Uji signifikansi

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

3.6.1 Uji F

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.

3.6.2 Uji t

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.

4 Model Akhir

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

5 Koefisien Determinasi

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.

6 Mean Square Error

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.

7 Kesimpulan

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.