Selamat datang di publikasi RPubs ini. Dokumen ini disusun sebagai bagian dari penugasan/praktikum mata kuliah Aktuaria. Tujuan utama dari praktikum minggu ini adalah untuk memodelkan dan mengonstruksi Tabel Mortalita (Life Table) menggunakan perangkat lunak R.
Berdasarkan hukum mortalita dan fungsi kesintasan (survival function) yang diketahui, kita akan mendemonstrasikan bagaimana fungsi-fungsi dasar aktuaria—seperti probabilitas seseorang bertahan hidup (\(p_x\)), probabilitas meninggal (\(q_x\)), hingga ekspektasi sisa usia (\(e_x\))—dapat dihitung secara komputasional. Pemahaman ini sangat esensial dalam menentukan premi dan cadangan dalam asuransi jiwa. Selamat membaca!
link buku (PDF): https://drive.google.com/file/d/11ov0ksx4ciHXZXWeWvnApAY6n_05qx3G/view?usp=sharing
Di dalam Contoh 2.6.3 pada buku (seperti yang terlihat di PDF), terdapat dua fungsi \(s(x)\) yang berbeda, yaitu a dan b. Keduanya memiliki tujuan edukasi yang berbeda:
Fungsi \(s(x) = 1 - (0.01x)^2\)
Tujuan: Mengajarkan konsep dasar pembentukan Life Table menggunakan fungsi kesintasan berbentuk polinomial sederhana (mirip dengan modifikasi Hukum De Moivre). Ini sangat berguna untuk latihan awal karena perhitungannya mudah dilacak secara manual jika diperlukan, sehingga mahasiswa paham alur logis dari \(s(x)\) menjadi \(l_x, d_x, p_x, q_x,\) dan \(e_x\).
contoh.2.6.3 <- function (expr, omega, l0) {
age <- 0:omega
sx <- eval({x=age; expr})
lx <- l0 * sx
# KOREKSI: Inisialisasi dipisah dan disamakan panjangnya menjadi omega + 1
dx <- rep(NA, omega + 1)
px <- rep(NA, omega + 1)
qx <- rep(NA, omega + 1)
ex <- rep(NA, omega + 1)
for(x in 1:omega){
px[x] <- lx[x+1]/lx[x]
qx[x] <- 1 - px[x]
dx[x] <- lx[x] - lx[x+1]
}
ex[omega+1] <- 0
for(x in omega:1){
ex[x] <- px[x] * (1 + ex[x+1])
}
return(data.frame(age, lx, dx, px, qx, ex))
}
head(contoh.2.6.3(quote(1-(0.01*x)^2), 100, 100000))
## age lx dx px qx ex
## 1 0 100000 10 0.9999000 0.0001000000 66.16500
## 2 1 99990 30 0.9997000 0.0003000300 65.17162
## 3 2 99960 50 0.9994998 0.0005002001 64.19118
## 4 3 99910 70 0.9992994 0.0007006306 63.22330
## 5 4 99840 90 0.9990986 0.0009014423 62.26763
## 6 5 99750 110 0.9988972 0.0011027569 61.32381
Model matematika pada contoh ini (menggunakan pangkat dua) menunjukkan bahwa risiko kematian (\(q_x\)) akan terus meningkat secara kuadratik seiring bertambahnya usia. Semakin tua, jumlah kematian (\(d_x\)) tiap tahunnya akan melonjak lebih tajam.
Fungsi \(s(x) = \exp\left(-\frac{0.0001}{\log(1.09)}(1.09^x - 1)\right)\)
Tujuan: Memperkenalkan pemodelan mortalita yang jauh lebih realistis dan kompleks (ini merupakan bentuk dari Hukum Mortalita Gompertz). Di dunia nyata asuransi, risiko kematian bertumbuh secara eksponensial seiring bertambahnya usia. Contoh ini melatih mahasiswa untuk menggunakan R dalam mengeksekusi rumus yang rumit, yang akan sangat merepotkan jika dihitung dengan kalkulator biasa.
contoh.2.6.4 <- function (miu, x, u, t) {
s <- function(x) {exp(-miu*x)}
t_u_q_x <- (s(x+u)-s(x+u+t))/s(x)
return(t_u_q_x)
}
# Pemanggilan fungsi dengan miu = 0.001, x = 20, u = 2, t = 2
contoh.2.6.4(0.001, 20, 2, 2)
## [1] 0.001994009
# Hasil Output di R:
# [1] 0.001994008