Data yang digunakan adalah data Tingkat Bunuh Diri dan Harapan Hidup yang diperoleh dari link berikut https://www.kaggle.com/datasets/marshuu/suicide-rate-and-life-expectancy
data.a <- read.csv("D:\\Campss\\Season 4\\Anreg\\P3\\archive (9)\\Life expectancy.csv")
data.b <- read.csv("D:\\Campss\\Season 4\\Anreg\\P3\\archive (9)\\Suicide Rate.csv")
data <- merge(data.a, data.b, by = "Country")
datset <- data[,c(1,4,7)]
y <- datset$Suicide.rate
x <- datset$Happiness.Score
n <- nrow(datset)
summary(x)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.351 4.731 5.642 5.580 6.441 7.769
summary(y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.60 12.50 14.35 15.85 17.60 39.70
model <- lm(formula=y~x, data = datset)
summary(model)
##
## Call:
## lm(formula = y ~ x, data = datset)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.225 -3.339 -1.478 1.741 23.895
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.52831 2.51163 6.183 7.57e-09 ***
## x 0.05711 0.44198 0.129 0.897
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.471 on 130 degrees of freedom
## Multiple R-squared: 0.0001284, Adjusted R-squared: -0.007563
## F-statistic: 0.0167 on 1 and 130 DF, p-value: 0.8974
b0 <- model$coefficients[[1]]
b1 <- model$coefficients[[2]]
b0;b1
## [1] 15.52831
## [1] 0.05711204
Berdasarkan perhitungan dari fungsi tersebut, diperoleh dugaan persamaan regresi linear atau nilai harapan dari peubah respons Y sebagai berikut. \[ \hat{E[Y]} = \hat{Y} = \beta_1X + \beta_0 \\ \hat{E[Y]} = \hat{Y} = 0.05711204X + 15.52831 \] Interpretasi Persamaan:
1. Jika angka kebahagiaan di suatu negara bernilai 0, maka rata-rata masih terdapat kasus bunuh diri dengan angka 15.52831 yang dapat terjadi karena faktor lain 2. Jika angka kebahagiaan di suatu negara meningkat 1 satuan, maka rata-rata angka kasus bunuh diri akan meningkat sebesar 0.05711204
Melalui scatter plot untuk regresi linear sederhana ini, akan diduga angka bunuh diri terhadap angka kebahagiaan di dunia, sehingga angka bunuh diri dideklarasikan sebagai y dan angka kebahagiaan sebagai x.
ybar <- mean(y)
{plot(x,y, pch = 16, col = "blue",
xlab = "Angka Kebahagiaan",
ylab = "Angka Bunuh Diri",
main = "Prediksi Pengaruh Angka Kebahagiaan terhadap Angka Bunuh Diri")
abline(model, col="red", lwd = 1.5)
abline(h=ybar, col="green", lwd = 1.5)
text(x = 3.8, y = 17, "y bar", col = "green", cex = 0.7)
text(x = 7.2, y = 17, "y duga", col = "red", cex = 0.7)
}
Pada plot tersebut, garis merah adalah garis persamaan regresi sementara garis hijau adalah garis dari rataan nilai y (angka bunuh diri). Terlihat bahwa titik-titik koordinat tersebar, jauh dari garis regresi. Hal ini menandakan bahwa galatnya besar.
anova_model <- anova(model)
anova_model
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x 1 0.5 0.4998 0.0167 0.8974
## Residuals 130 3891.4 29.9336
y_duga <- 0
for (i in 1:length(y)){
y_duga[i] <- b1*x[i] + b0
}
y_duga
## [1] 15.74499 15.81153 15.84842 15.92552 15.76275 15.87681 15.89183 15.80547
## [9] 15.94597 15.95414 15.82124 15.90473 15.89942 15.78685 15.88177 15.86481
## [17] 15.95145 15.86561 15.80947 15.81815 15.82181 15.82792 15.78628 15.88389
## [25] 15.85310 15.81067 15.73146 15.79325 15.78200 15.96419 15.71969 15.75978
## [33] 15.91347 15.86561 15.85984 15.77760 15.72603 15.80085 15.91136 15.79468
## [41] 15.86367 15.89245 15.91376 15.90787 15.96213 15.78680 15.88097 15.86938
## [49] 15.86858 15.81621 15.85887 15.81016 15.80850 15.92232 15.78960 15.84425
## [57] 15.97201 15.90850 15.81335 15.78080 15.82672 15.92781 15.79599 15.89702
## [65] 15.86264 15.85402 15.76041 15.73688 15.79411 15.74339 15.86076 15.86858
## [73] 15.96202 15.78685 15.82158 15.79713 15.79896 15.92678 15.95596 15.89622
## [81] 15.86510 15.89634 15.81849 15.85762 15.78366 15.81010 15.87709 15.80307
## [89] 15.90787 15.84048 15.75510 15.75556 15.89051 15.90770 15.93626 15.78674
## [97] 15.75521 15.87903 15.82803 15.77697 15.89617 15.82832 15.78714 15.86950
## [105] 15.90399 15.84225 15.86732 15.82672 15.85265 15.82832 15.77532 15.80062
## [113] 15.80993 15.79348 15.95596 15.94443 15.84597 15.77663 15.72003 15.96202
## [121] 15.88846 15.82495 15.87069 15.91102 15.79896 15.86190 15.87892 15.82523
## [129] 15.89622 15.89074 15.91210 15.92467
\[ JKR = \sum_{i=1}^{n}(\hat{y}_i - \bar{y})^2 \\ JKT = \sum_{i=1}^{n}(y_i - \bar{y})^2 \\ JKG = \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 \]
JKR <- 0
JKT <- 0
JKG <- 0
for (i in 1:length(y)){
JKR <- JKR + (y_duga[i] - ybar)^2
JKT <- JKT + (y[i] - ybar)^2
JKG <- JKG + (y[i] - y_duga[i])^2
}
JK_num <- c(JKR, JKT, JKG)
JK <- c("JKR", "JKT", "JKG")
data.frame(JK, JK_num)
## JK JK_num
## 1 JKR 0.4998123
## 2 JKT 3891.8687879
## 3 JKG 3891.3689755
Melalui perhitungan tersebut, diperoleh nilai JKR, JKT, dan JKG dengan nilai di atas.
\[ R^2 = \frac{JKR}{JKT} \]
Rsq <- JKR/JKT
Rsq
## [1] 0.0001284248
Koefisien determinasinya adalah 0,0001284248 atau sekitar 0.012%. Angka ini sangat kecil, mengindikasikan bahwa terdapat hubungan yang sangat kecil antara angka kebahagiaan dengan angka bunuh diri di dunia.
KTR <- JKT
KTG <- JKG/(n-2)
Se_sq <- KTG
xbar <- mean(x)
Sxx <- 0
sum_x_sq <-0
for (i in 1:length(x)){
Sxx <- Sxx + (x[i] - xbar)^2
sum_x_sq <- sum_x_sq + (x[i])^2
}
Sb1_sq <- Se_sq/Sxx
Sb0_sq <- (Se_sq*sum_x_sq)/(n*Sxx)
Sb1_sq;Sb0_sq
## [1] 0.1953473
## [1] 6.308289
\[ Uji \ Hipotesis \ \beta_1 \\ H_0 : \beta_1 = 0 \\ H_1 : \beta_1 \neq 0\\ \]
\[ t = \frac{b_1 - \beta_1}{S_{b_1}} \]
alpha <- 0.05
thit_b1 <- (b1 - 0)/sqrt(Sb1_sq)
ttab_b1 <- abs(qt(alpha/2,n-2))
thit_b1;ttab_b1
## [1] 0.1292183
## [1] 1.97838
t hitung < |t tabel|, maka terima H0. Tidak terdapat cukup bukti untuk menyatakan bahwa b1 tidak sama dengan 0.
\[ Uji \ Hipotesis \ \beta_0 \\ H_0 : \beta_0 = 0 \\ H_1 : \beta_0 \neq 0\\ \] \[ t = \frac{b_0 - \beta_0}{S_{b_0}} \]
thit_b0 <- (b0 - 0)/sqrt(Sb0_sq)
ttab_b0 <- abs(qt(alpha/2,n-2))
thit_b0;ttab_b0
## [1] 6.18256
## [1] 1.97838
print("t hitung > t tabel, maka tolak H0")
## [1] "t hitung > t tabel, maka tolak H0"
t hitung > |t tabel|, maka tolak H0. Terdapat cukup bukti untuk menyatakan bahwa nilai b0 tidak sama dengan 0.
\[ \hat{\beta_0} \ - \ t_{(n-2, \frac{\alpha}{2})} \times S_{\hat{\beta_0}} \ < \hat{\beta_0} < \hat{\beta_0} \ + \ t_{(n-2, \frac{\alpha}{2})} \times S_{\hat{\beta_0}} \\ \hat{\beta_1} \ - \ t_{(n-2, \frac{\alpha}{2})} \times S_{\hat{\beta_1}} \ < \hat{\beta_1} < \hat{\beta_1} \ + \ t_{(n-2, \frac{\alpha}{2})} \times S_{\hat{\beta_1}} \]
low_b0 <- b0 - ttab_b0*sqrt(Sb0_sq)
up_b0 <- b0 + ttab_b0*sqrt(Sb0_sq)
low_b1 <- b1 - ttab_b1*sqrt(Sb1_sq)
up_b1 <- b1 + ttab_b1*sqrt(Sb1_sq)
Koefisien <- c("b0","b1")
`Batas Bawah` <- c(low_b0, low_b1)
`Batas Atas` <- c(up_b0, up_b1)
data.frame(Koefisien,`Batas Bawah`,`Batas Atas`)
## Koefisien Batas.Bawah Batas.Atas
## 1 b0 10.5593469 20.4972689
## 2 b1 -0.8172947 0.9315187
Dapat disimpulkan bahwa dalam taraf kepercayaan 95%, diyakini dugaan parameter b0 duga berada dalam selang 10.5593469 hingga 20.4972689, sementara parameter b1 duga berada dalam selang -0.8172947 hingga 0.9315187.
\[ E(\hat{Y}|x_0) \ {\pm} \ t_{(n-2;\frac{\alpha}{2})}s_e\sqrt{[\frac{1}{n} + \frac{(x_i-\bar x)^2}{\sum^n_{i=1}(x_i - \bar x)^2}]} \] Misalkan akan diduga nilai rataan harapan ketika angka kebahagiaan (x) = 5.
x.diduga <- data.frame(x=5)
predict(model, x.diduga, interval = "confidence")
## fit lwr upr
## 1 15.81387 14.74409 16.88364
Berdasarkan hasil fungsi tersebut, diketahui dugaan rataan angka bunuh diri (Y) ketika x = 5 adalah 15.81387. Diyakini juga dalam taraf kepercayaan 95%, nilai dugaan rataan Y ketika x = 5 berada dalam selang 14.74409 hingga 16.88364.
\[ \hat{y}(x_i) \ {\pm} \ t_{(n-2;\frac{\alpha}{2})}s_e\sqrt{[1+\frac{1}{n} + \frac{(x_i-\bar x)^2}{\sum^n_{i=1}(x_i - \bar x)^2}]} \] Misalkan akan diduga nilai individu amatan saat angka kebahagiaan (x) = 5.
predict(model, x.diduga, interval = "prediction")
## fit lwr upr
## 1 15.81387 4.937093 26.69064
Berdasarkan hasil fungsi tersebut, diketahui dugaan nilai individu Y (angka bunuh diri) ketika x (angka kebahagiaan) = 5 adalah 15.81387. Diyakini juga dalam taraf kepercayaan 95%, nilai amatan individu Y ketika x = 5 berada dalam selang 4.937093 hingga 26.69064.