1 Pendahuluan

1.1 Model Kolektif pada Asuransi Umum

Salah satu prinsip penentuan premi yang standar digunakan adalah prinsip nilai ekspektasi: \[ \pi(S)=(1+\alpha)E[S],\] dengan \(\alpha>0\) menyatakan loading, dan \(S\) adalah kerugian tahunan yang acak.

Misalkan \((N_t)\) adalah proses menghitung yang menyatakan banyaknya banyaknya klaim yang terjadi selama periode waktu \([0,t]\). Misalkan juga \((Y_i)\) menyatakan besarnya klaim ke-\(i\). Maka total kerugian selama periode waktu \([0,t]\) adalah

\[S_t=\sum_{i=1}^{N_t}Y_i,\]

dengan \(S_t=0\) jika \(N_t=0\).

Untuk kasus \(\alpha=0\), kita memiliki premi murni.

Untuk langkah awal kita tentukan dahulu \(E[S]\), dengan \(S=S_1\) annual total charge. Jika \(N_1\) dan \(Y_1, Y_2, ...,Y_n, ..\) saling bebas; dan jika \(Y_i\) saling bebas dan memiliki distribusi yang identik, maka \[\pi=E[S]=E[N]E[Y].\] Premi murni tahunan di atas merupakan perkalian antara frekuensi klaim tahunan \(E[N]\) dan rataan biaya individual klaim tahunan.

1.2 Premi murni dengan kondisi heterogen

Disini kita memperhitungkan faktor heterogen yang mungkin terdapat dalam perhitungan premi. Mengapa kita memperhitungkan keheterogenan pemegang polis? Hal ini dapatdiilustrasikan seperti dalam contoh berikut:

Contoh: misalkan terdapat dua perusahaan asuransi A dan B. Perusahaan A mengeluarkan premi \(E[S]=15\) tanpa memperhitungkan kondisi pemegang polis. Sedangkan perusahaan B mengeluarkan premi \(E[S|Z=0]=10\) dan \(E[S|Z=1]=20\), dengan \[Z=\begin{cases} 0, \text{ low risk}\\ 1, \text{ high risk}\end{cases}\] Konsumen yang memiliki kondisi low risk akan memilih premi yang dikeluarkan perusahaan B, sedangkan yang high risk akan memilih perusahaan A. Hal ini tentunya akan mempengaruhi solvency perusahaan A.

2 Kontrak Asuransi kendaraan bermotor

Deberikan data kontrak asuransi kendaraan bermotor dari suatu perusahaan di Perancis dengan variabel-variabel berikut:

##  [1] "PolicyID"  "ClaimNb"   "Exposure"  "Power"     "CarAge"   
##  [6] "DriverAge" "Brand"     "Gas"       "Region"    "Density"

dengan

2.1 Pengolahan data

Data yang kita miliki mengandung data dengan jenis kategori seperti:

  • Gas
  • Brand
  • Region
  • PolicyID

dan data kuantitatif seperti:

  • ClaimNb
  • Power
  • CarAge
  • DriverAge
  • Density

Deskripsi statistik untuk data yang kita miliki adalah sebagai beikut:

##     PolicyID         ClaimNb           Exposure            Power      
##  Min.   :     1   Min.   :0.00000   Min.   :0.002732   f      :95718  
##  1st Qu.:103293   1st Qu.:0.00000   1st Qu.:0.200000   g      :91198  
##  Median :206585   Median :0.00000   Median :0.540000   e      :77022  
##  Mean   :206585   Mean   :0.03916   Mean   :0.561088   d      :68014  
##  3rd Qu.:309877   3rd Qu.:0.00000   3rd Qu.:1.000000   h      :26698  
##  Max.   :413169   Max.   :4.00000   Max.   :1.990000   j      :18038  
##                                                        (Other):36481  
##      CarAge          DriverAge    
##  Min.   :  0.000   Min.   :18.00  
##  1st Qu.:  3.000   1st Qu.:34.00  
##  Median :  7.000   Median :44.00  
##  Mean   :  7.532   Mean   :45.32  
##  3rd Qu.: 12.000   3rd Qu.:54.00  
##  Max.   :100.000   Max.   :99.00  
##                                   
##                                 Brand             Gas        
##  Fiat                              : 16723   Diesel :205945  
##  Japanese (except Nissan) or Korean: 79060   Regular:207224  
##  Mercedes, Chrysler or BMW         : 19280                   
##  Opel, General Motors or Ford      : 37402                   
##  other                             :  9866                   
##  Renault, Nissan or Citroen        :218200                   
##  Volkswagen, Audi, Skoda or Seat   : 32638                   
##      Region          Density     
##  R24    :160601   Min.   :    2  
##  R11    : 69791   1st Qu.:   67  
##  R53    : 42122   Median :  287  
##  R52    : 38751   Mean   : 1985  
##  R72    : 31329   3rd Qu.: 1410  
##  R31    : 27285   Max.   :27000  
##  (Other): 43290

Data di atas tidak memiliki “missing data”, sehingga kita dapat melanjutkan dengan proses transformasi data.

Data umur pengendara, umur kendaraan dan kepadatan kita kategorikan sebagai berikut:

  • DriverAge : (17,22], (22,26], (26,42], (42,74], (47,Inf)
  • CarAge : [0,1], (1,4], (4,15], (15,Inf)
  • Density : [0,40], (40,200], (200,500], (500,4500], (4500,Inf)

2.2 Frekuensi Klaim

2.2.1 Frekuensi Klaim tahunan

Asumsikan klaim-klaim terjadi mengikuti proses Poisson homogen dengan intensitas \(\lambda\). Sehingga proses terjadinya klaim memiliki kenaikan bebas dan banyaknya klaim terobservasi pada rentang \([t,t+h]\) memiliki distribusi Poisson dengan parameter \(\lambda h\).

Dalam aplikasi ketika kita memperoleh data, terdapat polis-polis yang belum mencapai satu tahun atau bahkan sudah mencapai lebih dari satu tahun. Sehingga kita mendapat kesulitan untuk menghitung klaim tahunan suatu polis yang belum mencapai satu tahun. Untuk mengatasi hal ini kita menggunakan waktu exposure setiap pemegang polis.

Misalkan \(Y_i\) adalah banyaknya klaim pemegang polis \(i\) pada rentang \([0,E_i]\), dengan \(E_i\) adalah exposure. Di sini \(E_i\) dapat lebih kecil 1 atau bahkan lebih besar 1.

Untuk menghitung rataan frekuensi klaim tahunannya kita gunakan formula empirik

\[m_N=\frac{\sum_{i=1}^n Y_i}{\sum_{i=1}^n E_i}\] dan variansi empirik \[S_N^2=\frac{\sum_{i=1}^n(Y_i-m_N . E_i)^2}{\sum_{i=1}^n E_i}\] Dengan memakai data di atas, kita peroleh informasi rataan banyaknya frekuensi klaim tahunan, variansinya dan rasio variansi dan rataannya sebagai berikut:

## rataan= 0.06979859 variansi= 0.07396742  psi= 1.059727

dengan psi (\(\phi\)) adalah suatu konstan yang memenuhi \[S_N^2=\phi m_N.\] Untuk distribusi Poisson \(\phi=1\).

Kita dapat juga menghitung rataan dan variansi di atas berdasarkan kategori dari kovariatnya. Misalkan kita gunakan kovariat \(X\) adalah daerah dari si pengendara. Maka berdasarkan kategori kovariat daerah pengendara ini diperoleh:

## Daerah= R11 rataan= 0.08577016 variansi= 0.09526731  psi= 1.110728 
## Daerah= R23 rataan= 0.06923285 variansi= 0.07388641  psi= 1.067216 
## Daerah= R24 rataan= 0.06303979 variansi= 0.06483763  psi= 1.028519 
## Daerah= R25 rataan= 0.06788926 variansi= 0.07152207  psi= 1.053511 
## Daerah= R31 rataan= 0.08210142 variansi= 0.09201134  psi= 1.120703 
## Daerah= R52 rataan= 0.07185182 variansi= 0.07590899  psi= 1.056466 
## Daerah= R53 rataan= 0.06741501 variansi= 0.07016521  psi= 1.040795 
## Daerah= R54 rataan= 0.0716627 variansi= 0.07559456  psi= 1.054866 
## Daerah= R72 rataan= 0.07366204 variansi= 0.08064593  psi= 1.09481 
## Daerah= R74 rataan= 0.08222055 variansi= 0.08952784  psi= 1.088874

Terlihat bahwa untuk setiap daerah rataannya berbeda dan ratio variansi dan rataannya berkisar di sekitar 1. Hasil ini dapat menyarankan kita untuk menggunakan model distribusi Poisson dengan parameter \(\lambda\) yang bergantung pada karakteristik pemegang polis.

Model frekuensi klaim dengan menggunakan distribusi Poisson ini kita namakan regresi Poisson. Berikut ini kita berikan model regresi Poisson dengan parameter tetap dan parameter yang bergantung pada karakteristik pemegang polis.

2.3 Regresi Poisson

2.3.1 Regresi Poisson dengan parameter tetap

Misalkan \(N_i\) menyatakan frekuensi klaim tahunan untuk pemegang polis ke-\(i\), dan diasumsikan \(N_i\sim Poisson(\lambda)\). Jika pemegang polis ini kita observasi selama periode \(E_i\) dan \(Y_i\) menyatakan frekuensi klaim selama periode \(E_i\) ini, maka kita asumsikan \(Y_i\sim Poisson(\lambda E_i)\). Disini \(\lambda\) diasumsikan tetap untuk setiap pemegang polis. Untuk mengestimasi parameter \(\lambda\) kita gunakan fungsi likelihood:

\[\mathcal{L}(\lambda,Y,E)=\prod_{i=1}^n \frac{e^{-\lambda E_i}(\lambda E_i)^{Y_i}}{Y_i!}\]

atau fungsi log likelihood

\[\log(\mathcal{L}(\lambda,Y,E))=-\lambda\sum_{i=1}^n E_i+\sum_{i=1}^n Y_i \log(\lambda E_i)-\sum_{i=1}^n \log(Y_i).\]

Dengan menggunakan kondisi \(\frac{\partial }{\partial \lambda}\mathcal{L}(\lambda,Y,E)=0\), kita peroleh

\[\widehat{\lambda}=\frac{\sum_{i=1}^nY_i}{\sum_{i=1}^n E_i}.\] \(\widehat{\lambda}\) ini akan memaksimumkan fungsi likelihood di atas jika kondisi \(\frac{\partial^2 }{\partial \lambda^2}\mathcal{L}(\lambda,Y,E)<0\) terpenuhi. Untuk kasus ini kita memiliki \(\frac{\partial^2 }{\partial \lambda^2}\mathcal{L}(\lambda,Y,E)=-\frac{\sum_{i=1}^n Y_i}{\lambda^2}<0.\) Sehingga kondisi kedua ini terpenuhi.

2.3.2 Regresi Poisson dengan parameter bergantung pada kovariat

Kita dapat juga menggunakan parameter \(\lambda\) yang bergantung pada karakteristik pemegang polis. Misalkan \(\lambda_i\) menyatakan laju banyaknya klaim tahunan pemegang polis ke-\(i\). Kita modelkan

\[ \lambda_i =e^{X_i^T\beta},\] dengan \(X_i\) adalah vektor kovariat berdimensi \(p\) dari pemegang polis ke-\(i\) dan \(\beta\in R^p\) adalah vektor parameter yang akan kita estimasi.

Asumsikan \(N_i\sim Poisson(\lambda_i)\), dengan alasan yang sama seperti model sebelumnya kita bisa mengasumsikan \(Y_i\sim Poisson(E_i \lambda_i)\) atau \[Y_i\sim Poisson\left(e^{X_i^T\beta+\log(E_i)}\right).\] Untuk kasus \(\lambda\) yang bergantung kovariat ini kita memiliki fungsi log likelihood berikut:

\[\log(\mathcal{L}(\lambda,Y,E))=-\sum_{i=1}^n \lambda_iE_i+\sum_{i=1}^n Y_i \log(\lambda_i E_i)-\sum_{i=1}^n \log(Y_i)\]

atau, dengan menggunakan definisi \(\lambda_i=\exp(X_i^T\beta)\),

\[\log(\mathcal{L}(\lambda,Y,E))=-\sum_{i=1}^n \exp(X_i^T\beta+\log(E_i))+\sum_{i=1}^n Y_i(X_i^T\beta+ \log(\lambda E_i))-\sum_{i=1}^n \log(Y_i).\] Parameter \(\beta\) ini kita estimasi menggunakan metode Newton-Rhapson:

\[\beta_{k+1}=\beta_k-H(\beta_k)^{-1} \nabla \log(\mathcal{L}(\beta_k,Y,E)),\] dengan \[\nabla \log(\mathcal{L}(\beta,Y,E))=\frac{\partial \log(\mathcal{L}(\beta,Y,E))}{\partial \beta}=\sum_{i=1}^n(Y_i-\exp(X_i^T\beta+\log(E_i)))X_i^T,\] dan matriks Hessian:

\[H(\beta)=\frac{\partial^2 \log(\mathcal{L}(\beta,Y,E))}{\partial \beta\partial \beta^T}=\sum_{i=1}^n(Y_i-\exp(X_i^T\beta+\log(E_i)))X_iX_i^T.\] Misalkan kita gunakan kovariat Gas, DriverAge dan Density. Kita peroleh hasil estimasi parameter-parameternya sebagai berikut:

## 
## Call:
## glm(formula = ClaimNb ~ Gas + DriverAge + Density + offset(log(Exposure)), 
##     family = poisson, data = contracts.f)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.7655  -0.3385  -0.2669  -0.1488   6.5202  
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          -1.86471    0.04047 -46.079  < 2e-16 ***
## GasRegular           -0.20598    0.01603 -12.846  < 2e-16 ***
## DriverAge(22,26]     -0.61606    0.04608 -13.370  < 2e-16 ***
## DriverAge(26,42]     -1.07967    0.03640 -29.657  < 2e-16 ***
## DriverAge(42,74]     -1.07765    0.03549 -30.362  < 2e-16 ***
## DriverAge(74,Inf]    -1.10706    0.05188 -21.338  < 2e-16 ***
## Density(40,200]       0.18473    0.02675   6.905 5.02e-12 ***
## Density(200,500]      0.31822    0.02966  10.730  < 2e-16 ***
## Density(500,4.5e+03]  0.52694    0.02593  20.320  < 2e-16 ***
## Density(4.5e+03,Inf]  0.63717    0.03482  18.300  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 105613  on 413168  degrees of freedom
## Residual deviance: 103986  on 413159  degrees of freedom
## AIC: 135263
## 
## Number of Fisher Scoring iterations: 6

Terlihat dari nilai \(p-\) value untuk setiap parameternya memberikan kesimpulan bahwa semua parameternya signifikan tidak sama dengan nol.

2.4 Ratemaking dengan satu variabel kategori

Misalkan kovariat yang kita pilih adalah Gas.

2.4.1 Model tanpa intercept

## 
## Call:
## glm(formula = vY ~ 0 + X1 + offset(log(vE)), family = poisson(link = "log"), 
##     data = df)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.5092  -0.3610  -0.2653  -0.1488   6.5858  
## 
## Coefficients:
##           Estimate Std. Error z value Pr(>|z|)    
## X1Diesel  -2.59462    0.01088  -238.5   <2e-16 ***
## X1Regular -2.73101    0.01137  -240.2   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 450747  on 413169  degrees of freedom
## Residual deviance: 105537  on 413167  degrees of freedom
## AIC: 136799
## 
## Number of Fisher Scoring iterations: 6

Misalkan kita ingin menghitung ekspektasi frekuensi klaim dengan periode eksposure 1 ( 1 tahun) untuk data berikut:

##        X1 vE
## 1  Diesel  1
## 2 Regular  1

Dengan mengaplikasikan model regresi Poisson tanpa intercept di atas kita peroleh:

##          1          2 
## 0.07467412 0.06515364

atau

\(E[N| \text{Gas=diesel}]=0.07467412\) dan \(E[N|\text{Gas=regular}]=0.06515364\)

2.4.2 Model dengan intercept

## 
## Call:
## glm(formula = vY ~ X1 + offset(log(vE)), family = poisson(link = "log"), 
##     data = df)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.5092  -0.3610  -0.2653  -0.1488   6.5858  
## 
## Coefficients:
##             Estimate Std. Error  z value Pr(>|z|)    
## (Intercept) -2.59462    0.01088 -238.454   <2e-16 ***
## X1Regular   -0.13639    0.01574   -8.666   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 105613  on 413168  degrees of freedom
## Residual deviance: 105537  on 413167  degrees of freedom
## AIC: 136799
## 
## Number of Fisher Scoring iterations: 6

Terlihat model regresi Poisson dengan intercept ini memiliki variabel kovariat yang berbeda dengan model tanpa intercept. Disini kovariat X1Diesel tidak terlihat dan dijadikan variabel referensi. Perlu diperhatikan kita hanya bisa memilih diesel atau regular, sehingga bila X1Regular=0 maka X1Diesel=1. Untuk kasus X1Regular=0, Intercept akan merepresentasikan diesel. Sehingga

\[E[N| \text{Gas=diesel}]=\exp(\text{Intercept})=\exp(-2.59462)=0.07467412\] dan \[E[N|\text{Gas=regular}]=\exp(\text{Intercept}-0.13639)=\exp(-2.59462-0.13639)=0.06515364.\]

2.5 Model tabel Kontingensi frekuensi klaim tahunan

Misalkan kita ingin menganalisa dua kovariat Gas dan Density. Kita dapat membentuk table kontingensi antara Gas dan Density berikut:

##          X2
## X1        [0,40] (40,200] (200,500] (500,4.5e+03] (4.5e+03,Inf]
##   Diesel   36626    64966     31436         59797         13120
##   Regular  25706    53588     31459         72461         24010

Tabel kontingensi untuk total eksposure

##          X2
## X1           [0,40]  (40,200] (200,500] (500,4.5e+03] (4.5e+03,Inf]
##   Diesel  23049.805 38716.498 17588.139     28573.604      5176.733
##   Regular 16943.598 33682.835 19577.038     38011.191     10504.727

Tabel kontingensi untuk total banyak klaim

##          X2
## X1        [0,40] (40,200] (200,500] (500,4.5e+03] (4.5e+03,Inf]
##   Diesel    1266     2575      1347          2760           498
##   Regular    777     1858      1235          2941           924

Tabel kontingensi untuk frekuensi (empirik) klaim tahunan

##          X2
## X1            [0,40]   (40,200]  (200,500] (500,4.5e+03] (4.5e+03,Inf]
##   Diesel  0.05492454 0.06650912 0.07658570    0.09659265    0.09619966
##   Regular 0.04585803 0.05516163 0.06308411    0.07737195    0.08796040

2.5.1 Model Bias minimum

Pandang tabel kontingensi frekuensi klaim tahunan di atas, notasikan \(N\). Misalkan kita ingin memodelkan \(N_{ij}\) dengan \(L_i C_j\), \(i=1,2\) dan \(j=1,2,3,4,5\). Kita dapat mencari \(L_i\) dan \(C_j\) tersebut dengan teknik-teknik berikut:

  • Metode Kuadrat terkecil

\[\min_{C,L}\left\{\sum_{i,j}E_{ij}(N_{ij}-L_iC_j)^2\right\}\]

  • Metode Chi-square

\[\min_{C,L}\left\{\sum_{i,j}E_{ij}\frac{(N_{ij}-L_iC_j)^2}{L_i C_j}\right\}\]

  • Bias Minimum (Bailey, 1963)

Disini Bailey menggunakan dua persamaan berikut: \[\sum_{i}Y_{ij}=\sum_i E_{ij}N_{ij}=\sum_i E_{ij}L_i C_j\] dan

\[\sum_{j}Y_{ij}=\sum_j E_{ij}N_{ij}=\sum_jE_{ij}L_i C_j\] Dua persamaan di atas memberikan

\[L_i=\frac{\sum_j Y_{ij}}{\sum_j E_{ij}C_j}\]

dan

\[C_j=\frac{\sum_i Y_{ij}}{\sum_i E_{ij}L_j}\] yang merupakan persamaan implisit, sehingga kita harus mengiterasi kedua persamaan di atas sampai nilai \(L_i\) dan \(C_j\) masing-masing konvergen ke suatu nilai.

Kita aplikasikan metode iterasi Bias minimum di atas untuk memodelkan tabel kontingensi frekuensi klaim tahunan. Setelah iterasi 100 kita peroleh

vektor \(L\)

## [1] 1.098979 0.907170

dan vektor \(C\)

##        [0,40]      (40,200]     (200,500] (500,4.5e+03] (4.5e+03,Inf] 
##    0.05019412    0.06063908    0.06961690    0.08653034    0.09343771

Dengan menggunakan model \(N_{ij}=L_iC_j\) kita peroleh tabel kontingensi frekuensi klaim tahunan berikut:

##          X2
## X1            [0,40]   (40,200]  (200,500] (500,4.5e+03] (4.5e+03,Inf]
##   Diesel  0.05516229 0.06664107 0.07650751    0.09509503    0.10268609
##   Regular 0.04553460 0.05500995 0.06315436    0.07849773    0.08476389

Kita gunakan model ini untuk menghitung banyak klaim dari kendaraan diesel, dan diperoleh sebanyak:

## [1] 8446

Hasil model di atas ternyata sama dengan nilai empiriknya.

2.5.2 Model Regresi Poisson

Hasil Bias minimum juga dapat kita peroleh dengan regresi Poisson. Kita modelkan \(Y_i\sim Poisson(\lambda_i E_i)\), dengan \(\lambda_i=\exp\left(X_i^T\beta+\log(E_i) \right)\). Kita gunakan kovariat \(X_1\)=Gas dan \(X_2=\) Density. Kita peroleh hasil berikut:

##            [,1]       [,2]       [,3]       [,4]       [,5]
## [1,] 0.05516229 0.06664107 0.07650751 0.09509503 0.10268609
## [2,] 0.04553460 0.05500995 0.06315436 0.07849773 0.08476389

2.5.3 Ratemaking dengan variabel kuantitatif

Disini kita gunakan data kuantitatif DriverAge yang belum dikategorikan. Kita gunakan model regresi Poisson dengan \[\lambda_i =e^{\beta_0+\beta_1 DriverAge_i+\log(E_i)}\] Kita peroleh model berikut:

## 
## Call:
## glm(formula = ClaimNb ~ DriverAge + offset(log(Exposure)), family = poisson, 
##     data = freMTPLfreq)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.5523  -0.3510  -0.2678  -0.1504   6.4415  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -2.1513378  0.0262347  -82.00   <2e-16 ***
## DriverAge   -0.0111060  0.0005579  -19.91   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 105613  on 413168  degrees of freedom
## Residual deviance: 105206  on 413167  degrees of freedom
## AIC: 136467
## 
## Number of Fisher Scoring iterations: 6

Kita aplikasikan model inipada pengendara dengan usia 18 samapai 99 tahun. Kita peroleh plot berikut:

## integer(0)