Loss Distribution Modeling Dalam Bahasa Pemrograman R - Masnaato
Skip to content Skip to sidebar Skip to footer

Loss Distribution Modeling Dalam Bahasa Pemrograman R

Loss Distribution Modeling Dalam Bahasa Pemrograman R



Peran utama aktuari ialah memodelkan jumlah klaim untuk pembuatan rate, atau evaluasi resiko lainnya. Paket actuar berisi berbagai fungsi untuk loss distribution modeling dan risk theory. Program R juga menyertakan fungsi-fungsi probabilitas (probability laws) untuk menghitung probability density function (pdf) dan cumulative distribution function (cdf).

Tabel 7.1. Probability laws yang didukung oleh actuar

Tabel 7.1. Probability laws yang didukung oleh actuar

 

 

Actuar juga menyediakan fasilitas grouped data, dengan contoh sebagai berikut:

Tabel 7.2. Contoh data percobaan

Tabel 7.2. Contoh data percobaan


Menggunakan R, dapat deprogram sebagai berikut:

 

>  x <- grouped.data(Group = c(0, 25, 50, 100,

150, 250,

+ 500), Line.1 = c(30, 31, 57, 42, 65, 84),

Line.2 = c(26,

+ 33, 31, 19, 16, 11))

 

Maka objek x akan disimpan secara internal sebagai kelas list

 

>  class(x)

[1]  "grouped.data" "data.frame"

 

Dengan method print, objek ini dapat ditampilkan dengan cara

 

>  x

Group Line.1 Line.2 1 (0, 25] 30 26

2 (25, 50] 31 33

3 (50, 100] 57 31

4 (100, 150] 42 19

5 (150, 250] 65 16

6 (250, 500] 84 11

 

 

Kemudian, paket mendukung method ekstrasi dan pergantian untuk “grouped.data” menggunakan operator [ dan [<-.


(i)      Ekstraksi vector dari batasan group

 

>  x[, 1]

[1] 0 25 50 100 150 250 500

 

(ii)    Ekstrasi vector atau matrik dari frekwensi group

 

>  x[, -1]

Line.1 Line.2 1 30 26

2 31 33

3 57 31

4 42 19

5 65 16

6 84 11

 

(iii)     Ekstraksi sebuah subset dari keseluruhan objek

 

>  x[1:3, ]

Group Line.1 Line.2 1 (0, 25] 30 26

2 (25, 50] 31 33

3 (50, 100] 57 31

 

Untuk operasi pergantian (replacement 1 atau lebih group),

berikut contohnya:

 

>  x[1, 2] <- 22

>  x

Group Line.1 Line.2 1 (0, 25] 22 26

2 (25, 50] 31 33

3 (50, 100] 57 31

4 (100, 150] 42 19

5 (150, 250] 65 16


6 (250, 500] 84 11

 

Serta dapat menampilkan histogram dengan sangat mudah sebagai berikut:


Gambar 7.1. Histogram menggunakan R

Gambar 7.1. Histogram menggunakan R

 

Paket   R berisi  fungsi summary untuk objek data group menggunakan fungsi mean

 

>  mean(x) Line.1 Line.2 188.0 108.2

 

R menyediakan juga fungsi dataset yang mudah, misalnya klaim dental individu dan klaim dental tergroup

 

 

>  data("dental")

>  dental


[1] 141 16 46 40 351 259 317 1511 107 567

 

>  data("gdental")

>  gdental

Cj

nj

1 (0, 25]

30

2 ( 25, 50]

31

3 ( 50, 100]

57

4 (100, 150]

42

5 (150, 250]

65

6 (250, 500]

84

7 (500, 1000]

45

8 (1000, 1500] 10

9 (1500, 2500] 11

10 (2500, 4000] 3

Gambar 7.3. Perbandingan 4 metode diskretisasi


Gambar 7.2. Plot data x


7.2              Risk Theory

Risk theory mengacu pada teknik pemodelan dan pengukuran resiko yang diasosiasikan dengan portofolio dari kontrak-kontrak asuransi. Beberapa teknik numeric untuk menghitung distribusi agregat klaim membutuhkan distribusi aritmatika klaim yang diskrit yaitu distribusi yang didefinisikan pada 0; h; 2h; : : : untuk beberapa step (atau span, atau lag) h. Saat ini proses pendiskritan (discretization) memiliki 4 metode antara lain upper discretization, lower discretization, rounding dan unbiased.


Gambar 7.3. Perbandingan 4 metode diskretisasi

Gambar 7.3. Perbandingan 4 metode diskretisasi

 

Contoh penerapan pada R:


 

>   fx <- discretize(pgamma(x, 2, 1), method = "upper",

+ from = 0, to = 17, step = 0.5)

>   fx <- discretize(pgamma(x, 2, 1), method = "unbiased",

+ lev = levgamma(x, 2, 1), from = 0, to = 17, step = 0.5)

 

Fungsi aggregateDist dapat menghitung atau aproksimasi aggregate claim amount random variable S.

 

>   fx <- discretize(pgamma(x, 2, 1), from = 0, to = 22,

+ step = 0.5, method = "unbiased", lev = levgamma(x, 2, 1))

R> Fs <- aggregateDist("recursive", model.freq = "poisson",

+ model.sev = fx, lambda = 10, x.scale = 0.5)

>   summary(Fs)

 

 

Aggregate Claim Amount Empirical CDF: Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0 14.5 19.5 20.0 25.0 71.0

 

Objek Fs berisi cdf empiris

 

>   knots(Fs)

[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5

[13] 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5

[25] 12.0 12.5 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5 17.0 17.5

[37] 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5

[49] 24.0 24.5 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5

[61] 30.0 30.5 31.0 31.5 32.0 32.5 33.0 33.5 34.0 34.5 35.0 35.5

[73] 36.0 36.5 37.0 37.5 38.0 38.5 39.0 39.5 40.0 40.5 41.0 41.5

[85] 42.0 42.5 43.0 43.5 44.0 44.5 45.0 45.5 46.0 46.5 47.0 47.5

[97] 48.0 48.5 49.0 49.5 50.0 50.5 51.0 51.5 52.0 52.5 53.0 53.5

[109] 54.0 54.5 55.0 55.5 56.0 56.5 57.0 57.5 58.0 58.5 59.0 59.5

[121] 60.0 60.5 61.0 61.5 62.0 62.5 63.0 63.5 64.0 64.5 65.0 65.5

[133] 66.0 66.5 67.0 67.5 68.0 68.5 69.0 69.5 70.0 70.5 71.0

 

Untuk menampilkan grafik dari plot data ini menggunakan fungsi plot:


 

>   plot(Fs, do.points = FALSE, verticals = TRUE, xlim = c(0, 60))

 

Gambar 7.4 Plot aggregate claim amount distribution

Gambar 7.4 Plot aggregate claim amount distribution

 

 

7.3 Simulasi Compound Hierarchical Model

Function simul mensimulasikan portofolio data dimana komoonen frekwensi dan severity memiliki sebuah struktur hirarkis, berikut contohnya:

 

>   nodes <- list(cohort = 2, entity = c(4, 3), year = c(4,

+ 4, 4, 4, 5, 5, 5))

Journal of Statistical Software 27

>   mf <- expression(cohort = rexp(2), entity = rgamma(cohort,

+ 1), year = rpois(weights * entity))


>   ms <- expression(cohort = rnorm(2, sqrt(0.1)), entity = rnorm(cohort,

+ 1), year = rlnorm(entity, 1))

>   wijt <- runif(31, 0.5, 2.5)

>   pf <- simul(nodes = nodes, model.freq = mf, model.sev = ms,+ weights = wijt)

 

 

 

7.4              Credibility Theory

Credibility model ialah tool aktuaria untuk mendistribusikan premium diantara group heterogen, dengan kata lain metode prediksi. Salah satu fungsi yang digunakan ialah cbind sebagai berikut:

 

>   X <- cbind(cohort = c(1, 2, 1, 2, 2), hachemeister)

>   fit <- cm(~cohort + cohort:state, data = X, ratios = ratio.1:ratio.12,

+ weights = weight.1:weight.12, method = "iterative")

>   fit

Call:

cm(formula = ~cohort + cohort:state, data = X, ratios = ratio.1:ratio.12,

weights = weight.1:weight.12, method = "iterative") Structure Parameters Estimators

Collective premium: 1746 Between cohort variance: 88981

Within cohort/Between state variance: 10952 Within state variance: 139120026

The function returns a _tted model object

 

Gambar 7.5 Hasil garis regresi dari collective, individual dan credibility.

Gambar 7.5 Hasil garis regresi dari collective, individual dan credibility.

 


Post a Comment for "Loss Distribution Modeling Dalam Bahasa Pemrograman R"