1 PENDAHULUAN

1.1 Latar Belakang

Penyakit jantung telah menjadi penyebab utama kematian di Indonesia. Banyak orang mengalami serangan jantung tanpa adanya gejala sebelumnya. Selama 50 tahun terakhir, jumlah penderita penyakit jantung semakin meningkat, dan beberapa faktor penyebab utamanya telah diketahui.

Penyakit jantung masih tetap menjadi penyebab kematian yang signifikan. Faktor risiko memiliki peran penting dalam terjadinya penyakit jantung. Dengan mengetahui faktor risiko tersebut, dapat dilakukan tindakan pencegahan yang lebih efektif. Pada bulan April-Juni 2011, di Rumah Sakit Umum Pusat DR Kariadi terdapat 129 pasien dengan penyakit jantung, yang memiliki beragam faktor risiko. Oleh karena itu, perlu dilakukan penelitian untuk mengetahui faktor risiko apa yang memiliki prevalensi yang cukup tinggi dalam kejadian penyakit jantung.

Penelitian ini bertujuan untuk mendeskripsikan dan menganalisis hubungan antara faktor Body Mass Index (BMI), kebiasaan merokok, konsumsi alkohol, jenis kelamin, kategori usia, dan durasi tidur dengan penyakit jantung, guna mengetahui faktor risiko yang paling berhubungan dengan kejadian penyakit jantung.

Manfaat dari penelitian ini diharapkan dapat memberikan informasi dan pengetahuan yang lebih luas, baik bagi masyarakat umum maupun peneliti di masa depan, mengenai faktor risiko dalam kejadian penyakit jantung. Selain itu, hasil penelitian ini juga diharapkan dapat menjadi acuan untuk dilakukannya tindakan pencegahan terhadap penyakit jantung.

2 TINJAUAN PUSTAKA

Pada kasus penyakit jantung ini, bagian yang inginn ditampilkan ialah:

  1. Membangun regresi logistik untuk memprediksi penyakit jantung berdasarkan dataset yang diberikan.
  2. Memahami pengaruh Indeks Massa Tubuh (BMI) pada penyakit jantung.

2.1 Statistika Deskriptif

Statistika deskriptif adalah metode-metode yang berkaitan dengan pengumpulan, pengolahan, dan penyajian suatu daya sehingga menghasilkan informasi yang bermanfaat. Statistika deskriptif merupakan ilmu statistika yang hanya menolah, menyajikan data tanpa mengambil keputusan untuk populasi. Statistika deskriptif hanya melihat gambaran secara umum dari data yang didapatkan (Walpole, 1997).

2.2 Data

Data yang digunakan adalah data sekunder. Data sekunder adalah sumber data penelitian yang diperoleh peneliti secara tidak langsung melalui perantara (diperoleh dan dicatat oleh pihak lain) (Indrianto dan Supomo, 2013). Data yang digunakan sebanyak 1000 observasi dengan 7 variabel pengamatan.

  • Y = Penyakit Jantung (0 = Tidak. 1 = Ya)
  • X1 = Indeks Massa Tubuh
  • X2 = Perokok (0 = Tidak, 1 = Ya)
  • X3 = Peminum Alkohol (0 = Tidak, 1 = Ya)
  • X4 = Jenis Kelamin (0 = Perempuan, 1 = Laki-Laki)
  • X5 = Kategori Umur (Dalam Tahun)
  • X6 = Durasi Tidur (Dalam Jam)

3 SOURCE CODE

3.1 Library

Pada Kasus ini menggunakan library readxl untuk mengimport data excel ke dalam R Studio, library readr untuk membaca data R, library generalhoslem untuk menghitung Goodness of Fit Tests for Logistic Regression Models, library pscl untuk fungsi pR2 (Pseudo R2) untuk evaluasi model, library plotrix untuk membuat pie chart secara 3D.

> library(readxl)
> library(readr)
> library(generalhoslem)
> library(pscl)
> library(plotrix)

3.2 Data

> heartdisease_2020_fix2 <- read_excel("D:/Mata Kuliah/Mata Kuliah Semester 4/Komputasi Statistika/Praktikum/heartdisease_2020_fix2.xlsx")
> datareglog <- as.data.frame(heartdisease_2020_fix2)

3.2.1 Mengimport data

> head(datareglog)
  HeartDisease   BMI Smoking AlcoholDrinking Stroke PhysicalHealth MentalHealth
1            0  16.6       1               0     No            3.0         30.0
2            0 20.34       0               0    Yes            0.0          0.0
3            0 26.58       1               0     No           20.0         30.0
4            0 24.21       0               0     No            0.0          0.0
5            0 23.71       0               0     No           28.0          0.0
6            1 28.87       1               0     No            6.0          0.0
  DiffWalking Sex AgeCategory  Race Diabetic PhysicalActivity GenHealth
1          No   0       55-59 White      Yes              Yes Very good
2          No   0 80 or older White       No              Yes Very good
3          No   1       65-69 White      Yes              Yes      Fair
4          No   0       75-79 White       No               No      Good
5         Yes   0       40-44 White       No              Yes Very good
6         Yes   0       75-79 Black       No               No      Fair
  SleepTime Asthma KidneyDisease SkinCancer
1       5.0    Yes            No        Yes
2       7.0     No            No         No
3       8.0    Yes            No         No
4       6.0     No            No        Yes
5       8.0     No            No         No
6      12.0     No            No         No
> Y <- as.factor(datareglog$HeartDisease)
> X1 <- as.numeric(datareglog$BMI)
> X2 <- as.factor(datareglog$Smoking)
> X3 <- as.factor(datareglog$AlcoholDrinking) 
> X4 <- as.factor(datareglog$Sex)
> X5 <- as.factor(datareglog$AgeCategory)
> X6 <- as.numeric(datareglog$SleepTime)
> str(Y)
 Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 1 1 ...

3.2.2 Membentuk data frame

> data_logistik <- data.frame(X1,X2,X3,X4,X5,X6,Y)
> str(data_logistik)
'data.frame':   1000 obs. of  7 variables:
 $ X1: num  16.6 20.3 26.6 24.2 23.7 ...
 $ X2: Factor w/ 2 levels "0","1": 2 1 2 1 1 2 1 2 1 1 ...
 $ X3: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ X4: Factor w/ 2 levels "0","1": 1 1 2 1 1 1 1 1 1 2 ...
 $ X5: Factor w/ 13 levels "18-24","25-29",..: 8 13 10 12 5 12 11 13 13 10 ...
 $ X6: num  5 7 8 6 8 12 4 9 5 10 ...
 $ Y : Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 1 1 ...

4 HASIL DAN PEMBAHASAN

4.1 Statistika Deskriptif

> summary(data_logistik)
       X1        X2      X3      X4                X5            X6        
 Min.   :14.69   0:579   0:969   0:668   80 or older:194   Min.   : 1.000  
 1st Qu.:24.80   1:421   1: 31   1:332   65-69      :180   1st Qu.: 6.000  
 Median :28.12                           70-74      :171   Median : 7.000  
 Mean   :29.11                           75-79      :145   Mean   : 7.242  
 3rd Qu.:32.69                           60-64      :113   3rd Qu.: 8.000  
 Max.   :75.82                           55-59      : 67   Max.   :18.000  
                                         (Other)    :130                   
 Y      
 0:849  
 1:151  
        
        
        
        
        

4.1.1 Plot pie chart

> count <- table(datareglog$HeartDisease)
> count

  0   1 
849 151 
> 
> PenyakitJantung <- c("Tidak Terkena Serangan Jantung Sebanyak ",
+                     "Terkena Serangan Jantung Sebanyak")
> kat <- paste(PenyakitJantung,count)
> 
> library(plotrix)
> pie3D(count, labels = kat, col = c('light blue', 'light green'), main = 'Pie Chart yang Terkena Serangan Jantung',
+       labelcex = 0.8,
+       cex.main = 1.2,
+       cex.lab = 0.8,
+       cex.axis = 0.8)

Berdasarkan output di atas, diperoleh nilai

  • Minimal

    X1 = 14.69, X2 = 0, X3 = 0, X4 = 0, X6 = 0, Y = 0

  • Maksimal

    X1 =75.82, X2 = 1, X3 =1, X4 =1, X5, X6 = 18, Y = 1

  • Kuartil 1

    X1 = 24.80, X5 =, X6 = 6

  • Median

    X1 = 28.12, X6 = 7

  • Kuartil 3

    X1 = 32.69, X6 = 8

  • Rata-Rata

    X1 = 29.11, X6 = 7.242

  • Ragam

> var(data_logistik$X1)
[1] 43.23546
> var(data_logistik$X6)
[1] 2.708144
    X1 = 43.23546, X6 = 7.242
  • Frekuensi

    Banyaknya data yang diambil pada X5 (Kategori 80 or older) sebanyak 194

    Banyaknya data yang diambil pada X5 (Kategori 65 - 69) sebanyak 180

    Banyaknya data yang diambil pada X5 (Kategori 70 - 74) sebanyak 171

    Banyaknya data yang diambil pada X5 (Kategori 75 - 79) sebanyak 145

    Banyaknya data yang diambil pada X5 (Kategori 60 - 64) sebanyak 113

    Banyaknya data yang diambil pada X5 (Kategori 55 - 59) sebanyak 67

    Banyaknya data yang diambil pada X5 (Kategori lainnya) sebanyak 130

  • Berdasarkan pie chart tidak terkena serangan jantung sebanyak 849

  • Berdasarkan pie chart terkena serangan jantung sebanyak 151

4.2 Asumsi Nonmultikolinieritas

> reg1 <- lm(X1 ~ X2 + X3 + X4 + X5 + X6, data = data_logistik)
> summary(reg1)

Call:
lm(formula = X1 ~ X2 + X3 + X4 + X5 + X6, data = data_logistik)

Residuals:
    Min      1Q  Median      3Q     Max 
-14.292  -4.370  -0.763   3.609  43.544 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   31.37150    2.45396  12.784  < 2e-16 ***
X21           -0.88661    0.42365  -2.093  0.03662 *  
X31           -3.22330    1.18995  -2.709  0.00687 ** 
X41            0.03250    0.44100   0.074  0.94127    
X525-29       -6.19420    4.34903  -1.424  0.15469    
X530-34        2.41127    3.45440   0.698  0.48532    
X535-39        2.02694    3.02692   0.670  0.50325    
X540-44        1.18429    2.59183   0.457  0.64782    
X545-49        1.57035    2.53595   0.619  0.53591    
X550-54        2.13722    2.44528   0.874  0.38232    
X555-59       -0.03104    2.39466  -0.013  0.98966    
X560-64        0.49356    2.33860   0.211  0.83289    
X565-69        0.03506    2.30922   0.015  0.98789    
X570-74       -0.66965    2.31284  -0.290  0.77223    
X575-79       -0.98906    2.32662  -0.425  0.67085    
X580 or older -3.49381    2.30758  -1.514  0.13033    
X6            -0.15406    0.12417  -1.241  0.21498    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.368 on 983 degrees of freedom
Multiple R-squared:  0.07716,   Adjusted R-squared:  0.06214 
F-statistic: 5.137 on 16 and 983 DF,  p-value: 2.054e-10
> R2_1 <- 1/(1-0.07716)
> R2_1
[1] 1.083611

Dapat dilihat pada output R2_1 yaitu VIF nilainya 1.083611 yang berarti tidak terjadi multikolinieritas antara variabel X1 (BMI) dengan variabel prediktor lainnya.

> reglog2 <- glm(X2 ~ X1 + X3 + X4 + X5 + X6, family = binomial, 
+                data = data_logistik)
> summary(reglog2)

Call:
glm(formula = X2 ~ X1 + X3 + X4 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8607  -0.9708  -0.8166   1.1929   1.7011  

Coefficients:
               Estimate Std. Error z value Pr(>|z|)    
(Intercept)   -14.98590  495.54118  -0.030   0.9759    
X1             -0.02297    0.01090  -2.108   0.0350 *  
X31             1.42718    0.45488   3.138   0.0017 ** 
X41             0.85508    0.14216   6.015  1.8e-09 ***
X525-29        30.70181  876.56884   0.035   0.9721    
X530-34        15.55018  495.54175   0.031   0.9750    
X535-39        15.16314  495.54140   0.031   0.9756    
X540-44        15.28959  495.54114   0.031   0.9754    
X545-49        15.20833  495.54110   0.031   0.9755    
X550-54        15.00470  495.54106   0.030   0.9758    
X555-59        15.42600  495.54103   0.031   0.9752    
X560-64        15.06382  495.54100   0.030   0.9757    
X565-69        15.12889  495.54098   0.031   0.9756    
X570-74        15.35994  495.54098   0.031   0.9753    
X575-79        15.81117  495.54099   0.032   0.9745    
X580 or older  15.30178  495.54098   0.031   0.9754    
X6             -0.04323    0.04141  -1.044   0.2965    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1361.2  on 999  degrees of freedom
Residual deviance: 1277.2  on 983  degrees of freedom
AIC: 1311.2

Number of Fisher Scoring iterations: 14
> pR2(reglog2)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-638.59388873 -680.61272149   84.03766551    0.06173677    0.08060337 
         r2CU 
   0.10838834 
> R2_2 <- 1/(1-0.08060337)
> R2_2
[1] 1.08767

Dapat dilihat pada output R2_2 yaitu VIF nilainya 1.08767 yang berarti tidak terjadi multikolinieritas antara variabel X2 (Smoking) dengan variabel prediktor lainnya.

> reglog3 <- glm(X3 ~ X1 + X2 + X4 + X5 + X6, family = binomial, 
+                data = data_logistik)
> summary(reglog3)

Call:
glm(formula = X3 ~ X1 + X2 + X4 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0677  -0.2535  -0.1587  -0.0910   3.3379  

Coefficients:
                Estimate Std. Error z value Pr(>|z|)   
(Intercept)    -15.36264 3693.20737  -0.004  0.99668   
X1              -0.11613    0.03992  -2.909  0.00363 **
X21              1.42255    0.44875   3.170  0.00152 **
X41              0.57074    0.39001   1.463  0.14336   
X525-29         16.64742 3693.20731   0.005  0.99640   
X530-34         17.07069 3693.20729   0.005  0.99631   
X535-39         -1.18797 4756.89438   0.000  0.99980   
X540-44         16.69725 3693.20714   0.005  0.99639   
X545-49         15.92898 3693.20717   0.004  0.99656   
X550-54         14.86123 3693.20723   0.004  0.99679   
X555-59         -1.00268 3884.44751   0.000  0.99979   
X560-64         15.84979 3693.20711   0.004  0.99658   
X565-69         15.13349 3693.20711   0.004  0.99673   
X570-74         14.43721 3693.20713   0.004  0.99688   
X575-79         15.49687 3693.20711   0.004  0.99665   
X580 or older   13.85610 3693.20715   0.004  0.99701   
X6              -0.15574    0.12699  -1.226  0.22005   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 276.4  on 999  degrees of freedom
Residual deviance: 225.8  on 983  degrees of freedom
AIC: 259.8

Number of Fisher Scoring iterations: 18
> pR2(reglog3)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-112.90091388 -138.20126672   50.60070569    0.18306889    0.04934181 
         r2CU 
   0.20432031 
> R2_3 <- 1/(1-0.04934181)
> R2_3
[1] 1.051903

Dapat dilihat pada output R2_3 yaitu VIF nilainya 1.051903 yang berarti tidak terjadi multikolinieritas antara variabel X3 (Alcohol Drinking) dengan variabel prediktor lainnya.

> reglog4 <- glm(X4 ~ X1 + X2 + X3 + X5 + X6, family = binomial, 
+                data = data_logistik)
> summary(reglog4)

Call:
glm(formula = X4 ~ X1 + X2 + X3 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.4629  -0.9133  -0.7255   1.2618   1.9398  

Coefficients:
               Estimate Std. Error z value Pr(>|z|)    
(Intercept)   -0.563187   0.852714  -0.660   0.5090    
X1             0.001086   0.011034   0.098   0.9216    
X21            0.851058   0.142163   5.986 2.14e-09 ***
X31            0.446734   0.385117   1.160   0.2461    
X525-29       -1.618484   1.435020  -1.128   0.2594    
X530-34       -1.148386   1.142115  -1.005   0.3147    
X535-39       -0.281431   0.959832  -0.293   0.7694    
X540-44       -1.590698   0.858627  -1.853   0.0639 .  
X545-49       -0.651209   0.804045  -0.810   0.4180    
X550-54       -0.281476   0.771009  -0.365   0.7151    
X555-59       -1.503528   0.769061  -1.955   0.0506 .  
X560-64       -1.129535   0.740447  -1.525   0.1271    
X565-69       -1.068245   0.728677  -1.466   0.1426    
X570-74       -0.828923   0.728841  -1.137   0.2554    
X575-79       -1.139898   0.734851  -1.551   0.1209    
X580 or older -1.356645   0.730648  -1.857   0.0633 .  
X6             0.068436   0.042600   1.606   0.1082    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1271.2  on 999  degrees of freedom
Residual deviance: 1210.8  on 983  degrees of freedom
AIC: 1244.8

Number of Fisher Scoring iterations: 4
> pR2(reglog4)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-605.38404794 -635.58596938   60.40384287    0.04751823    0.05861571 
         r2CU 
   0.08146759 
> R2_4 <- 1/(1-0.05861571)
> R2_4
[1] 1.062265

Dapat dilihat pada output R2_4 yaitu VIF nilainya 1.062265 yang berarti tidak terjadi multikolinieritas antara variabel X4 (Sex) dengan variabel prediktor lainnya.

> reglog5 <- glm(X5 ~ X1 + X2 + X3 + X4 + X6, family = binomial, 
+                data = data_logistik)
> summary(reglog5)

Call:
glm(formula = X5 ~ X1 + X2 + X3 + X4 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-3.14211   0.00003   0.12192   0.14195   0.40851  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)   
(Intercept)    6.14840    2.10963   2.914  0.00356 **
X1            -0.01334    0.04893  -0.273  0.78514   
X21           17.38998 1382.81174   0.013  0.98997   
X31           15.37151 4396.42816   0.003  0.99721   
X41           -1.08368    0.71451  -1.517  0.12935   
X6            -0.14572    0.18560  -0.785  0.43237   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 93.189  on 999  degrees of freedom
Residual deviance: 81.354  on 994  degrees of freedom
AIC: 93.354

Number of Fisher Scoring iterations: 20
> pR2(reglog5)
fitting null model for pseudo-r2
         llh      llhNull           G2     McFadden         r2ML         r2CU 
-40.67700847 -46.59442422  11.83483149   0.12699837   0.01176508   0.13222371 
> R2_5 <- 1/(1-0.01176508)
> R2_5
[1] 1.011905

Dapat dilihat pada output R2_5 yaitu VIF nilainya 1.011905 yang berarti tidak terjadi multikolinieritas antara variabel X5 (AgeCategory) dengan variabel prediktor lainnya.

> reglog6 <- lm(X6 ~ X1 + X2 + + X3 + X4 + X5, data = data_logistik)
> summary(reglog6)

Call:
lm(formula = X6 ~ X1 + X2 + +X3 + X4 + X5, data = data_logistik)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.8780 -1.0587 -0.1005  0.7652 10.8427 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)    7.96734    0.63096  12.627   <2e-16 ***
X1            -0.01015    0.00818  -1.241   0.2150    
X21           -0.11478    0.10892  -1.054   0.2922    
X31           -0.37425    0.30633  -1.222   0.2221    
X41            0.17824    0.11305   1.577   0.1152    
X525-29       -0.89523    1.11706  -0.801   0.4231    
X530-34       -1.08411    0.88620  -1.223   0.2215    
X535-39       -0.78578    0.77670  -1.012   0.3119    
X540-44       -1.14237    0.66432  -1.720   0.0858 .  
X545-49       -1.00643    0.65024  -1.548   0.1220    
X550-54       -0.55039    0.62764  -0.877   0.3807    
X555-59       -0.73298    0.61420  -1.193   0.2330    
X560-64       -0.49441    0.60006  -0.824   0.4102    
X565-69       -0.42947    0.59256  -0.725   0.4688    
X570-74       -0.46691    0.59348  -0.787   0.4316    
X575-79       -0.16825    0.59721  -0.282   0.7782    
X580 or older -0.20272    0.59295  -0.342   0.7325    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.634 on 983 degrees of freedom
Multiple R-squared:  0.02937,   Adjusted R-squared:  0.01357 
F-statistic: 1.859 on 16 and 983 DF,  p-value: 0.02071
> pR2(reglog6)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-1.901665e+03 -1.916570e+03  2.981002e+01  7.776920e-03  2.937009e-02 
         r2CU 
 3.001976e-02 
> R2_6 <- 1/(1-0.02937)
> R2_6
[1] 1.030259

Dapat dilihat pada output R2_1 yaitu VIF nilainya 1.030259 yang berarti tidak terjadi multikolinieritas antara variabel X6 (SleepTime) dengan variabel prediktor lainnya.

4.3 Analisis Regresi Logistik

4.3.1 Pendugaan Parameter

> reglog <- glm(Y~X1 + X2 + X3 + X4 + X5 + X6, family = binomial,
+               data=data_logistik)
> summary(reglog)

Call:
glm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0586  -0.6362  -0.5133  -0.2497   2.4984  

Coefficients:
                Estimate Std. Error z value Pr(>|z|)   
(Intercept)   -1.864e+01  1.390e+03  -0.013  0.98930   
X1             3.209e-02  1.463e-02   2.193  0.02827 * 
X21            5.824e-01  1.885e-01   3.089  0.00201 **
X31           -1.681e-01  5.755e-01  -0.292  0.77020   
X41            2.361e-01  1.933e-01   1.222  0.22183   
X525-29       -2.130e-01  2.673e+03   0.000  0.99994   
X530-34       -3.029e-01  2.115e+03   0.000  0.99989   
X535-39       -3.053e-01  1.862e+03   0.000  0.99987   
X540-44       -2.070e-01  1.587e+03   0.000  0.99990   
X545-49       -2.768e-01  1.557e+03   0.000  0.99986   
X550-54        1.413e+01  1.390e+03   0.010  0.99189   
X555-59        1.484e+01  1.390e+03   0.011  0.99148   
X560-64        1.550e+01  1.390e+03   0.011  0.99110   
X565-69        1.560e+01  1.390e+03   0.011  0.99104   
X570-74        1.588e+01  1.390e+03   0.011  0.99088   
X575-79        1.622e+01  1.390e+03   0.012  0.99069   
X580 or older  1.597e+01  1.390e+03   0.011  0.99083   
X6            -4.527e-03  5.639e-02  -0.080  0.93602   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 848.88  on 999  degrees of freedom
Residual deviance: 782.67  on 982  degrees of freedom
AIC: 818.67

Number of Fisher Scoring iterations: 16

Berdasarkan output di atas, diperoleh persamaan analisis regresi sebagai berikut: Interpretasi: - Intersept = -18.64 maka apabila variabel prediktor konstan Yduga akan turun sebesar 18.64 satuan

  • \(\beta_1\) = 0.03209, maka apabila variabel lain konstan Yduga akan naik sebesar 0.03209X1 satuan

  • \(\beta_2\) = 0.5824, maka apabila variabel lain konstan Yduga akan naik sebesar 0.5824X21 satuan

  • \(\beta_3\) = -0.1681, maka apabila variabel lain konstat Yduga akan turun sebesar 0.1681X31 satuan

  • \(\beta_4\) = 0.2361, maka apabila variabel lain konstan Yduga akan naik sebesar 0.2361X41 satuan

  • \(\beta_{525-29}\) = -0.2130, maka apabila variabel lain konstan Yduga akan turun sebesar 0.2130X525-29 satuan

  • \(\beta_{530-34}\) = -0.3029, maka apabila variabel lain konstan Yduga akan turun sebesar 0.3029X530-34 satuan

  • \(\beta_{535-39}\) = -0.3053, maka apabila variabel lain konstan Yduga akan turun sebesar 0.3053X35-39 satuan

  • \(\beta_{540-44}\) = -0.2070, maka apabila variabel lain konstan Yduga akan turun sebesar 0.2070X540-44 satuan

  • \(\beta_{545-49}\) = -0.2768, maka apabila variabel lain konstan Yduga akan turun sebesar 0.2768X545-49 satuan

  • \(\beta_{550-54}\) = 14.13, maka apabila variabel lain konstan Yduga akan naik sebesar 14.13X550-54 satuan

  • \(\beta_{555-59}\) = 14.84, maka apabila variabel lain konstan Yduga akan naik sebesar 14.84X555-59 satuan

  • \(\beta_{560-64}\) = 15.50, maka apabila variabel lain konstan Yduga akan naik sebesar 15.50X560-64 satuan

  • \(\beta_{565-69}\) = 15.60, maka apabila variabel lain konstan Yduga akan naik sebesar 15.60X565-69 satuan

  • \(\beta_{570-74}\) = 15.88, maka apabila variabel lain konstan Yduga akan naik sebesar 15.88X570-74 satuan

  • \(\beta_{575-79}\) = 16.22, maka apabila variabel lain konstan Yduga akan naik sebesar 16.22X575-79 satuan

  • \(\beta_{580 or Older}\) = 15.97, maka apabila variabel lain konstan Yduga akan naik sebesar 15.97X580 or Older satuan

  • \(\beta_6\) = -0.004527, maka apabila variabel lain konstan Yduga akan turun sebesar 0.004527X6 satuan

4.3.2 Uji Signifikansi Keseluruhan Model

> pR2(reglog)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-391.33262092 -424.43977444   66.21430704    0.07800201    0.06406973 
         r2CU 
   0.11198929 
> qchisq(0.95,5)
[1] 11.0705

Pada output pR2 diperoleh nilai G2 sebesar 66.21430704 dengan nilai Chi-Square tabel sebesar 11.0705. Berdasarkan hal tersebut mengartikan bahwa nilai G2 lebih besar dibandingkan dengan nilai Chi-Square tabel sehingga dapat diputuskan H0 ditolak. Maka dapat disimpulkan bahwa secara simultan minimal terdapat satu variabel bebas yang mempengaruhi variabel tak bebas.

4.3.3 Uji Parsial Parameter Model

> summary(reglog)

Call:
glm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0586  -0.6362  -0.5133  -0.2497   2.4984  

Coefficients:
                Estimate Std. Error z value Pr(>|z|)   
(Intercept)   -1.864e+01  1.390e+03  -0.013  0.98930   
X1             3.209e-02  1.463e-02   2.193  0.02827 * 
X21            5.824e-01  1.885e-01   3.089  0.00201 **
X31           -1.681e-01  5.755e-01  -0.292  0.77020   
X41            2.361e-01  1.933e-01   1.222  0.22183   
X525-29       -2.130e-01  2.673e+03   0.000  0.99994   
X530-34       -3.029e-01  2.115e+03   0.000  0.99989   
X535-39       -3.053e-01  1.862e+03   0.000  0.99987   
X540-44       -2.070e-01  1.587e+03   0.000  0.99990   
X545-49       -2.768e-01  1.557e+03   0.000  0.99986   
X550-54        1.413e+01  1.390e+03   0.010  0.99189   
X555-59        1.484e+01  1.390e+03   0.011  0.99148   
X560-64        1.550e+01  1.390e+03   0.011  0.99110   
X565-69        1.560e+01  1.390e+03   0.011  0.99104   
X570-74        1.588e+01  1.390e+03   0.011  0.99088   
X575-79        1.622e+01  1.390e+03   0.012  0.99069   
X580 or older  1.597e+01  1.390e+03   0.011  0.99083   
X6            -4.527e-03  5.639e-02  -0.080  0.93602   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 848.88  on 999  degrees of freedom
Residual deviance: 782.67  on 982  degrees of freedom
AIC: 818.67

Number of Fisher Scoring iterations: 16

Dapat dilihat pada output reglog bahwa: - Variabel X1 (BMI) memiliki p-value (0.98930) \(>\) \(\alpha\) (0.05), sehingga memberikan keputusan terima H0. Maka dapat disimpulkan bahwa BMI tidak berpengaruh signifikan terhadap penyakit serangan jantung - Variabel X2 (Smoking) memiliki p-value (0.02827) \(<\) \(\alpha\) (0.05), sehingga memberikan keputusan menolak H0. Maka dapat disimpulkan bahwa merokok berpengaruh signifikan terhadap penyakit serangan jantung. - Variabel X3 (Alcohol Drinking) memiliki p-value (0.00201) \(<\) \(\alpha\) (0.05), sehingga memberikan keputusan menolak H0. Maka dapat disimpulkan bahwa meminum alkohol berpengaruh signifikan terhadap penyakit serangan jantung. - Variabel X4 (Sex) memiliki p-value (0.22183) \(>\) \(\alpha\) (0.05), sehingga memberikan keputusan terima H0. Maka dapat disimpulkan bahwa jenis kelamin tidak berpengaruh signifikan terhadap penyakit serangan jantung. - Variabel X5 (AgeCategory) pada kategori 25 hingga 80 or older memiliki p-value ($>$0.9) \(>\) \(\alpha\) (0.05), sehingga memberikan keputusan terima H0. Maka dapat disimpulkan bahwa kategori umur tidak berpengaruh signifikan terhadap penyakit serangan jantung. - Variabel X6 (SleepTime) memiliki p-value (0.93602) \(>\) \(\alpha\) (0.05), sehingga memberikan keputusan menolak H0. Maka dapat disimpulkan bahwa jam tidur berpengaruh signifikan terhadap penyakit serangan jantung.

4.3.4 R square

> summary(reglog)

Call:
glm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6, family = binomial, 
    data = data_logistik)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0586  -0.6362  -0.5133  -0.2497   2.4984  

Coefficients:
                Estimate Std. Error z value Pr(>|z|)   
(Intercept)   -1.864e+01  1.390e+03  -0.013  0.98930   
X1             3.209e-02  1.463e-02   2.193  0.02827 * 
X21            5.824e-01  1.885e-01   3.089  0.00201 **
X31           -1.681e-01  5.755e-01  -0.292  0.77020   
X41            2.361e-01  1.933e-01   1.222  0.22183   
X525-29       -2.130e-01  2.673e+03   0.000  0.99994   
X530-34       -3.029e-01  2.115e+03   0.000  0.99989   
X535-39       -3.053e-01  1.862e+03   0.000  0.99987   
X540-44       -2.070e-01  1.587e+03   0.000  0.99990   
X545-49       -2.768e-01  1.557e+03   0.000  0.99986   
X550-54        1.413e+01  1.390e+03   0.010  0.99189   
X555-59        1.484e+01  1.390e+03   0.011  0.99148   
X560-64        1.550e+01  1.390e+03   0.011  0.99110   
X565-69        1.560e+01  1.390e+03   0.011  0.99104   
X570-74        1.588e+01  1.390e+03   0.011  0.99088   
X575-79        1.622e+01  1.390e+03   0.012  0.99069   
X580 or older  1.597e+01  1.390e+03   0.011  0.99083   
X6            -4.527e-03  5.639e-02  -0.080  0.93602   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 848.88  on 999  degrees of freedom
Residual deviance: 782.67  on 982  degrees of freedom
AIC: 818.67

Number of Fisher Scoring iterations: 16
> Rsq<-1-(782.67/848.88)
> Rsq
[1] 0.07799689

Dapat dilihat pada output Rsq atau nilai Chi-Square bahwa variabel independen (X1,X2,X3,X4,X5, dan X6) dapat menjelaskan 0.07799689 % potensi penyakit serangan jantung atau tidaknya suatu penyakit serangan jantung.

4.3.5 Odds Ratio

> beta<-(coef(reglog))
> beta
  (Intercept)            X1           X21           X31           X41 
-18.640641824   0.032087202   0.582359116  -0.168115761   0.236138869 
      X525-29       X530-34       X535-39       X540-44       X545-49 
 -0.212999133  -0.302890758  -0.305254809  -0.207043986  -0.276808227 
      X550-54       X555-59       X560-64       X565-69       X570-74 
 14.133819929  14.836499695  15.501773367  15.601310873  15.883597085 
      X575-79 X580 or older            X6 
 16.224199502  15.966394605  -0.004526895 
> OR_beta<-exp(beta)
> OR_beta
  (Intercept)            X1           X21           X31           X41 
 8.025500e-09  1.032608e+00  1.790257e+00  8.452560e-01  1.266350e+00 
      X525-29       X530-34       X535-39       X540-44       X545-49 
 8.081568e-01  7.386798e-01  7.369356e-01  8.129839e-01  7.581999e-01 
      X550-54       X555-59       X560-64       X565-69       X570-74 
 1.374802e+06  2.775939e+06  5.399265e+06  5.964351e+06  7.909674e+06 
      X575-79 X580 or older            X6 
 1.111937e+07  8.592451e+06  9.954833e-01 
> cbind(beta,OR_beta)
                       beta      OR_beta
(Intercept)   -18.640641824 8.025500e-09
X1              0.032087202 1.032608e+00
X21             0.582359116 1.790257e+00
X31            -0.168115761 8.452560e-01
X41             0.236138869 1.266350e+00
X525-29        -0.212999133 8.081568e-01
X530-34        -0.302890758 7.386798e-01
X535-39        -0.305254809 7.369356e-01
X540-44        -0.207043986 8.129839e-01
X545-49        -0.276808227 7.581999e-01
X550-54        14.133819929 1.374802e+06
X555-59        14.836499695 2.775939e+06
X560-64        15.501773367 5.399265e+06
X565-69        15.601310873 5.964351e+06
X570-74        15.883597085 7.909674e+06
X575-79        16.224199502 1.111937e+07
X580 or older  15.966394605 8.592451e+06
X6             -0.004526895 9.954833e-01

Dapat dilihat dari output diatas bahwa: - BMI (X1) Apabila Body Mass Index (BMI) bertambah 1 maka kencenderungan terjadinya penyakit serangan jantung meningkat sebanyak 0.000000008 kali lipat. Artinya apabila Body Mass Index (BMI) semakin tinggi meningkatnya maka potensi terjadi penyakit serangan jantung meningkat pula. - Smoking (X2) Peluang seseorang yang merokok memiliki kecenderungan terjadi penyakit serangan jantung sebesar 1.032608 kali daripada seseorang yang tidak merokok. - AlcoholDrinking (X3) Peluang seeorang yang meminum alkohol memiliki kecenderungan terjadi penyakit serangan jantung sebesar 0.8452560 kali lebih besar. - Sex (X4) Peluang seseorang yang berjenis kelamin laki-laki memiliki kecenderungan terjadi penyakit serangan jantung sebesar 1.266350 kali daripada seseorang berjenis kelamin perempuan. - AgeCategory (X5) Peluang seseorang yang berumur 25 sampai 29 memiliki kecenderungan penyakit serangan jantung sebesar 0.8081568 daripada seseorang yang berumur selain 25 sampai 29. Peluang seseorang yang berumur 30 sampai 34 memiliki kecenderungan penyakit serangan jantung sebesar 0.7386798 daripada seseorang yang berumur selain 30 sampai 34. Peluang seseorang yang berumur 35 sampai 39 memiliki kecenderungan penyakit serangan jantung sebesar 0.7369356 daripada seseorang yang berumur selain 35 sampai 39. Peluang seseorang yang berumur 40 sampai 44 memiliki kecenderungan penyakit serangan jantung sebesar 0.8129839 daripada seseorang yang berumur selain 40 sampai 44. Peluang seseorang yang berumur 45 sampai 49 memiliki kecenderungan penyakit serangan jantung sebesar 0.7581999 daripada seseorang yang berumur selain 45 sampai 49. Peluang seseorang yang berumur 50 sampai 54 memiliki kecenderungan penyakit serangan jantung sebesar 1,374,802 daripada seseorang yang berumur selain 50 sampai 54. Peluang seseorang yang berumur 55 sampai 59 memiliki kecenderungan penyakit serangan jantung sebesar 2,775,939 daripada seseorang yang berumur selain 55 sampai 59. Peluang seseorang yang berumur 60 sampai 64 memiliki kecenderungan penyakit serangan jantung sebesar 5,399,265 daripada seseorang yang berumur selain 60 sampai 64. Peluang seseorang yang berumur 65 sampai 69 memiliki kecenderungan penyakit serangan jantung sebesar 5,964,351 daripada seseorang yang berumur selain 65 sampai 69. Peluang seseorang yang berumur 70 sampai 74 memiliki kecenderungan penyakit serangan jantung sebesar 7,909,674 daripada seseorang yang berumur selain 70 sampai 74. Peluang seseorang yang berumur 75 sampai 79 memiliki kecenderungan penyakit serangan jantung sebesar 11,119,370 daripada seseorang yang berumur selain 75 sampai 79. Peluang seseorang yang berumur 80 dan seterusnya memiliki kecenderungan penyakit serangan jantung sebesar 8,592,451 daripada seseorang yang berumur selain 80 dan seterusnya. - SleepTime (X6) Peluang seseorang dengan jam tidur memiliki kecendenrungan penyakit serangan jantung sebesar 0.9954833 kali setiap meningkatnya 1 satuan variabel prediktor.

4.3.6 Membentuk klasifikasi

> yp_hat<-fitted(reglog)
> data_logistik$yp_hat<-yp_hat
> head(data_logistik)
     X1 X2 X3 X4          X5 X6 Y       yp_hat
1 16.60  1  0  0       55-59  5 0 6.228240e-02
2 20.34  0  0  0 80 or older  7 0 1.137212e-01
3 26.58  1  0  1       65-69  8 0 1.971552e-01
4 24.21  0  0  0       75-79  6 0 1.588550e-01
5 23.71  0  0  0       40-44  8 0 1.346579e-08
6 28.87  1  0  0       75-79 12 1 2.764683e-01
> class<-table(data_logistik$Y,data_logistik$yp_hat>0.5)
> class
   
    FALSE
  0   849
  1   151

Pada output diatas diperoleh class tabel sebagai klasifikasi dari model.

4.3.7 Uji Kelayakan Model

> generalhoslem::logitgof(data_logistik$Y,fitted(reglog))

    Hosmer and Lemeshow test (binary model)

data:  data_logistik$Y, fitted(reglog)
X-squared = 9.5142, df = 8, p-value = 0.3008

Berdasarkan output di atas diperoleh nilai p-value (0.3008) \(>\) \(\alpha\) (0.05), maka H0 diterima. Sehingga dapat disimpulkan bahwa model yang terbentuk layak untuk digunakan

5 KESIMPULAN

Berdasarkan analisis dan pembahasan di atas, dapat ditarik kesimpulan bahwa 3 variabel yang diteliti berpengaruh nyata terhadap anak putus sekolah dan 3 variabel lainnya tidak berpengaruh nyata terhadap penyebab serangan jantung dengan tingkat kesalahan 5%. Variabel yang berpengaruh nyata yaitu Smoking (perokok), AlcoholDrinking (Peminum Alkohol), dan SleepTime (Durasi Tidur). Sedangkan variabel yang tidak berpengaruh nyata yaitu BMI (Indeks Massa Tubuh), Sex (Jenis Kelamin), dan AgeCategory (Kategori Umur). Variabel yang paling dominan dengan nilai odds ratio sebesar 11,119,370 yaitu variabel AgeCategory (Kategori Umur) pada rentang umur 75 sampai 79 tahun. Artinya seseorang yang memiliki umur 75 sampai 79 tahun memiliki kecenderungan akan mengalami penyakit seranngan jantung sebesar 11,119,370 kali dibandingkan dengan variabel lainnya. Persamaan regresi logistik yang dihasilkan dalam penelitian ini, dapat digunakan untuk memprediksi potensi serangan jantung yang akan dialami oleh seseorang.

Kesimpulan ini mengindikasikan bahwa risiko serangan jantung meningkat secara signifikan pada kelompok usia 75 sampai 79 tahun. Oleh karena itu, kita harus waspada dan memperhatikan kondisi kesehatan orang-orang dalam rentang usia tersebut. Berikut adalah beberapa alasan mengapa kita harus was-was terhadap orang yang berumur 75 sampai 79 tahun:

  1. Tingginya risiko serangan jantung: Odds ratio yang tinggi menunjukkan bahwa peluang terjadinya serangan jantung pada kelompok usia ini jauh lebih besar dibandingkan dengan kelompok usia lainnya. Hal ini mengingatkan kita bahwa mereka berada pada risiko yang lebih tinggi untuk mengalami masalah jantung yang serius.

  2. Peran penting keluarga dan lingkungan: Keluarga, teman, dan lingkungan sekitar juga perlu ikut berperan dalam memastikan kesehatan dan kesejahteraan orang-orang dalam rentang usia ini. Mereka dapat memberikan dukungan emosional, membantu mengontrol faktor risiko, serta memastikan akses ke layanan medis yang tepat.

Dalam kesimpulan, orang yang berumur 75 sampai 79 tahun memiliki risiko yang tinggi untuk mengalami serangan jantung. Oleh karena itu, kita harus meningkatkan kesadaran, memberikan perhatian khusus, dan mengambil langkah-langkah pencegahan yang tepat untuk menjaga kesehatan mereka.

6 DAFTAR PUSTAKA

Sumber data: https://www.kaggle.com/code/peksyaji/regresi-dan-analisis-penyakit-jantung/notebook Walpole, R. (1997). Pengantar Metode Statistik Edisi Ke-3. Jakarta: PT Gramedia Pustaka Utama. Indriantoro, Nur dan Bambang Supomo. (2013). Metodologi Penelitian Bisnis Untuk Akuntansi Dan Manajemen. Yogyakarta: BPFE.