Last data update: 2014.03.03

R: Classical Chain Ladder Method
clmR Documentation

Classical Chain Ladder Method

Description

Provide the classical chain ladder output consisting of the development (forward) factors and the predictions in the full square. Besides it provides the estimated parameters under the (over-dispersion) Poisson model for the double chain ladder estimation.

Usage

clm( triangle , n.cal = NA , Fj = NA )

Arguments

triangle

The loss triangle. It should be a matrix with the observed counts (number of reported claims, number of payments etc.), aggregated payments or incurred data, located in the upper triangle. The lower triangle should consist of missing (NA) or zero values.

n.cal

Integer specifying the number of most recent calendars which will be used to calculate the development factors. By default n.cal=NA and all the observed calendars are used (classical chain ladder).

Fj

Optional. A vector with lentgth m-1 (m being the dimension of the triangle) with the development factors to calculate the chain ladder estimates. See more details below.

Details

By default Fj=NA and then classical chain ladder with the common calculation of the development factors (or using the most recent calendars -if 0<n.cal<m is provided), is performed. By specifying a valid vector with the development factors (it should has lenght equal to m-1), the user is allowed to use his own values in the algorithm. If valid values are specified for both n.cal and Fj, the first one (n.cal) will be ignored and the given development factors will be used in the calculations.

Value

triangle.hat

A matrix with dimension m having the chain ladder predictions in the future (lower triangle) and the fitted values in the past (upper triangle).

alpha

Underwriting chain ladder parameter in the (OD)-Poisson model (see for example Verrall (1991) for a formal definition)

beta

Underwriting chain ladder parameter in the (OD)-Poisson model (Verrall 1991)

Fj

Development (forward) factors

Author(s)

M.D. Martinez-Miranda, J.P. Nielsen and R. Verrall

References

Martinez-Miranda, M.D., Nielsen, J.P. and Verrall, R. (2012) Double Chain Ladder. Astin Bulletin, 42/1, 59-76.

Verrall, R. (1991) Chain ladder and Maximum Likelihood. Journal of the Institute of Actuaries 118, 489-499.

See Also

get.incremental, Plot.clm.par, Plot.triangle

Examples

data(NtriangleDCL)
clm.N<-clm(NtriangleDCL)
# The alpha's
clm.N$alpha
# The beta's
clm.N$beta
# The development factors
clm.N$Fj
# Plotting the parameters and the dev. factors
Plot.clm.par(clm.N)
# The predictions
Nhat<-clm.N$triangle.hat
Plot.triangle(Nhat,Histogram=TRUE)

## Trying variations from classical chain ladder
# Try CLM only using the more recent 2 calendars in the development
# factors calculation
clm(NtriangleDCL,n.cal=2)

# Try CLM providing a vector with given development factors
my.Fj<-c(1.4,1.1,1.0,1.1,1.1,1.0,1.0,1.0,1.1)
clm(NtriangleDCL,Fj=my.Fj)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(DCL)
Loading required package: lattice
Loading required package: latticeExtra
Loading required package: RColorBrewer
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/DCL/clm.Rd_%03d_medium.png", width=480, height=480)
> ### Name: clm
> ### Title: Classical Chain Ladder Method
> ### Aliases: clm
> ### Keywords: models
> 
> ### ** Examples
> 
> data(NtriangleDCL)
> clm.N<-clm(NtriangleDCL)
> # The alpha's
> clm.N$alpha
 [1]  7135.000  9193.866 11435.310 10676.296 10963.113 11436.877 11360.506
 [8] 12518.938 13745.925 12556.030
> # The beta's
> clm.N$beta
 [1] 0.8751970027 0.1184065569 0.0037653489 0.0009141152 0.0003287286
 [6] 0.0002833802 0.0002341282 0.0001440705 0.0003062062 0.0004204625
> # The development factors
> clm.N$Fj
[1] 1.135291 1.003790 1.000917 1.000329 1.000284 1.000234 1.000144 1.000306
[9] 1.000421
> # Plotting the parameters and the dev. factors
> Plot.clm.par(clm.N)
> # The predictions
> Nhat<-clm.N$triangle.hat
> Plot.triangle(Nhat,Histogram=TRUE)
> 
> ## Trying variations from classical chain ladder
> # Try CLM only using the more recent 2 calendars in the development
> # factors calculation
> clm(NtriangleDCL,n.cal=2)
$triangle.hat
           [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]
 [1,]  6194.303  869.257 42.69185 12.51486 4.777268 3.297326 1.936116 1.037617
 [2,]  7981.723 1120.089 55.01095 16.12613 6.155790 4.248798 2.494798 1.337031
 [3,]  9927.649 1393.164 68.42249 20.05765 7.656558 5.284646 3.103025 1.662996
 [4,]  9268.718 1300.695 63.88107 18.72636 7.148367 4.933887 2.897067 1.552618
 [5,]  9518.075 1335.688 65.59967 19.23015 7.340680 5.066623 2.975007 1.594388
 [6,]  9931.171 1393.658 68.44677 20.06477 7.659275 5.286521 3.104126 1.663586
 [7,]  9868.225 1384.825 68.01294 19.93759 7.610728 5.253014 3.084451 1.653042
 [8,] 10883.665 1527.323 75.01147 21.98917 8.393872 5.793549 3.401841 1.823140
 [9,] 11977.217 1680.783 82.54835 24.19856 9.237259 6.375664 3.743646 2.006322
[10,] 10989.000 1542.105 75.73745 22.20199 8.475110 5.849620 3.434765 1.840785
          [,9]    [,10]
 [1,] 2.184781 3.000000
 [2,] 2.815219 3.865676
 [3,] 3.501563 4.808119
 [4,] 3.269153 4.488988
 [5,] 3.357103 4.609756
 [6,] 3.502805 4.809825
 [7,] 3.480603 4.779339
 [8,] 3.838758 5.271133
 [9,] 4.224462 5.800758
[10,] 3.875910 5.322148

$alpha
 [1]  7135.000  9193.866 11435.310 10676.311 10963.536 11439.367 11366.861
 [8] 12536.511 13796.135 12657.843

$beta
 [1] 0.8681574180 0.1218299934 0.0059834404 0.0017540102 0.0006695541
 [6] 0.0004621341 0.0002713547 0.0001454264 0.0003062062 0.0004204625

$Fj
[1] 1.140332 1.006044 1.001761 1.000671 1.000463 1.000272 1.000146 1.000306
[9] 1.000421

> 
> # Try CLM providing a vector with given development factors
> my.Fj<-c(1.4,1.1,1.0,1.1,1.1,1.0,1.0,1.0,1.1)
> clm(NtriangleDCL,Fj=my.Fj)
$triangle.hat
           [,1]     [,2]      [,3] [,4]      [,5]      [,6] [,7] [,8] [,9]
 [1,]  3480.929 1392.372  487.3301    0  536.0631  589.6694    0    0    0
 [2,]  4931.845 1972.738  690.4583    0  759.5041  835.4545    0    0    0
 [3,]  6132.339 2452.935  858.5274    0  944.3802 1038.8182    0    0    0
 [4,]  5724.482 2289.793  801.4275    0  881.5702  969.7273    0    0    0
 [5,]  5876.892 2350.757  822.7648    0  905.0413  995.5455    0    0    0
 [6,]  6742.031 2696.812  943.8843    0 1038.2727 1142.1000    0    0    0
 [7,]  7364.286 2945.714 1031.0000    0 1134.1000 1247.5100    0    0    0
 [8,]  8107.792 3243.117 1135.0909    0 1248.6000 1373.4600    0    0    0
 [9,]  9755.714 3902.286 1365.8000    0 1502.3800 1652.6180    0    0    0
[10,] 10989.000 4395.600 1538.4600    0 1692.3060 1861.5366    0    0    0
          [,10]
 [1,]  648.6364
 [2,]  919.0000
 [3,] 1142.7000
 [4,] 1066.7000
 [5,] 1095.1000
 [6,] 1256.3100
 [7,] 1372.2610
 [8,] 1510.8060
 [9,] 1817.8798
[10,] 2047.6903

$alpha
 [1]  7135.00 10109.00 12569.70 11733.70 12046.10 13819.41 15094.87 16618.87
 [9] 19996.68 22524.59

$beta
 [1] 0.48786675 0.19514670 0.06830135 0.00000000 0.07513148 0.08264463
 [7] 0.00000000 0.00000000 0.00000000 0.09090909

$Fj
[1] 1.4 1.1 1.0 1.1 1.1 1.0 1.0 1.0 1.1

> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>