library(ChainLadder)
## Warning: package 'ChainLadder' was built under R version 4.3.3
##
## Welcome to ChainLadder version 0.2.20
##
##
## To cite package 'ChainLadder' in publications use:
##
## Gesmann M, Murphy D, Zhang Y, Carrato A, Wuthrich M, Concina F, Dal
## Moro E (2025). _ChainLadder: Statistical Methods and Models for
## Claims Reserving in General Insurance_. R package version 0.2.20,
## <https://CRAN.R-project.org/package=ChainLadder>.
##
## To suppress this message use:
## suppressPackageStartupMessages(library(ChainLadder))
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
data <-read_excel("F:/Mô hình rủi ro bảo hiểm/R.xlsx",
sheet = "Sheet1")
tri <- as.triangle(as.matrix(data))
dimnames(tri)=list(origin=1:nrow(tri), dev=1:ncol(tri))
units1 <- 1000
ylab1 <- paste(units1)
title1 <- ""
plot(tri/units1, lattice=TRUE, ylab=ylab1, main=title1)
plot(tri/units1, ylab=ylab1, main=title1)
M <- MackChainLadder(tri, est.sigma="Mack")
M
## MackChainLadder(Triangle = tri, est.sigma = "Mack")
##
## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 1 78,075 1.000 78,075 0.0 0.0 NaN
## 2 91,494 1.000 91,494 0.0 0.0 NaN
## 3 105,560 1.000 105,560 0.0 0.0 NaN
## 4 107,322 1.000 107,322 0.0 0.0 NaN
## 5 110,110 1.000 110,110 0.0 0.0 NaN
## 6 111,369 1.000 111,369 0.0 0.0 NaN
## 7 117,974 1.000 117,974 0.0 41.7 Inf
## 8 102,474 1.000 102,456 -17.9 270.1 -15.102
## 9 107,949 0.999 108,038 89.3 298.4 3.343
## 10 149,899 0.999 150,077 177.6 581.6 3.275
## 11 149,890 0.998 150,223 332.6 1,238.7 3.724
## 12 152,682 0.994 153,667 985.3 1,534.5 1.557
## 13 131,972 0.989 133,428 1,456.1 1,660.1 1.140
## 14 152,883 0.983 155,516 2,632.9 2,318.7 0.881
## 15 128,232 0.972 131,987 3,755.3 4,605.3 1.226
## 16 129,970 0.940 138,220 8,249.7 6,406.2 0.777
## 17 86,382 0.653 132,315 45,933.4 114,578.1 2.494
##
## Totals
## Latest: 2,014,237.00
## Dev: 0.97
## Ultimate: 2,077,831.37
## IBNR: 63,594.37
## Mack.S.E 114,999.65
## CV(IBNR): 1.81
plot(M)
plot(M, lattice=TRUE)
CDR(M)
## IBNR CDR(1)S.E. Mack.S.E.
## 1 0.00000 0.00000 0.00000
## 2 0.00000 0.00000 0.00000
## 3 0.00000 0.00000 0.00000
## 4 0.00000 0.00000 0.00000
## 5 0.00000 0.00000 0.00000
## 6 0.00000 0.00000 0.00000
## 7 2.00000 42.31021 42.31021
## 8 -17.88253 269.18534 271.93787
## 9 89.26530 114.11982 300.77025
## 10 211.59783 464.02150 587.21092
## 11 365.64581 1100.25810 1244.92878
## 12 1022.26078 901.43653 1543.97166
## 13 1570.14827 875.54740 1667.63146
## 14 5453.87760 1485.66237 2338.48623
## 15 7939.30467 4104.66622 4621.75980
## 16 47804.69959 4348.00704 6419.38684
## 17 132298.44850 65979.02021 66274.71860
## Total 196739.36582 66390.73952 67022.23354
round(CDR(M, dev="all"),0)
## IBNR CDR(1)S.E. CDR(2)S.E. CDR(3)S.E. CDR(4)S.E. CDR(5)S.E. CDR(6)S.E.
## 1 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0
## 7 2 42 0 0 0 0 0
## 8 -18 269 39 0 0 0 0
## 9 89 114 275 39 0 0 0
## 10 212 464 137 329 47 0 0
## 11 366 1100 460 137 327 47 0
## 12 1022 901 1108 463 136 329 47
## 13 1570 876 828 1019 425 124 302
## 14 5454 1486 949 896 1104 461 133
## 15 7939 4105 1347 862 815 1006 419
## 16 47805 4348 4195 1375 880 832 1028
## 17 132298 65979 4239 4084 1339 856 810
## Total 196739 66391 6828 4883 2468 1860 1517
## CDR(7)S.E. CDR(8)S.E. CDR(9)S.E. CDR(10)S.E. CDR(11)S.E. CDR(12)S.E.
## 1 0 0 0 0 0 0
## 2 0 0 0 0 0 0
## 3 0 0 0 0 0 0
## 4 0 0 0 0 0 0
## 5 0 0 0 0 0 0
## 6 0 0 0 0 0 0
## 7 0 0 0 0 0 0
## 8 0 0 0 0 0 0
## 9 0 0 0 0 0 0
## 10 0 0 0 0 0 0
## 11 0 0 0 0 0 0
## 12 0 0 0 0 0 0
## 13 43 0 0 0 0 0
## 14 327 47 0 0 0 0
## 15 121 298 43 0 0 0
## 16 428 123 305 44 0 0
## 17 1001 417 120 297 42 0
## Total 1184 560 352 300 42 0
## Mack.S.E.
## 1 0
## 2 0
## 3 0
## 4 0
## 5 0
## 6 0
## 7 42
## 8 272
## 9 301
## 10 587
## 11 1245
## 12 1544
## 13 1668
## 14 2338
## 15 4622
## 16 6419
## 17 66275
## Total 67022
Áp dụng mô hình Mack Chain-Ladder
# Áp dụng mô hình Mack Chain-Ladder
library(ChainLadder)
M <- MackChainLadder(tri, est.sigma = "Mack")
# In kết quả mô hình
M
## MackChainLadder(Triangle = tri, est.sigma = "Mack")
##
## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 1 78,075 1.000 78,075 0.0 0.0 NaN
## 2 91,494 1.000 91,494 0.0 0.0 NaN
## 3 105,560 1.000 105,560 0.0 0.0 NaN
## 4 107,322 1.000 107,322 0.0 0.0 NaN
## 5 110,110 1.000 110,110 0.0 0.0 NaN
## 6 111,369 1.000 111,369 0.0 0.0 NaN
## 7 117,974 1.000 117,974 0.0 41.7 Inf
## 8 102,474 1.000 102,456 -17.9 270.1 -15.102
## 9 107,949 0.999 108,038 89.3 298.4 3.343
## 10 149,899 0.999 150,077 177.6 581.6 3.275
## 11 149,890 0.998 150,223 332.6 1,238.7 3.724
## 12 152,682 0.994 153,667 985.3 1,534.5 1.557
## 13 131,972 0.989 133,428 1,456.1 1,660.1 1.140
## 14 152,883 0.983 155,516 2,632.9 2,318.7 0.881
## 15 128,232 0.972 131,987 3,755.3 4,605.3 1.226
## 16 129,970 0.940 138,220 8,249.7 6,406.2 0.777
## 17 86,382 0.653 132,315 45,933.4 114,578.1 2.494
##
## Totals
## Latest: 2,014,237.00
## Dev: 0.97
## Ultimate: 2,077,831.37
## IBNR: 63,594.37
## Mack.S.E 114,999.65
## CV(IBNR): 1.81
Rủi ro quy trình theo từng dòng tại cột cuối
# Xem rủi ro quy trình theo từng dòng (row) tại cột cuối
M$Mack.ProcessRisk[, ncol(tri)]
## 1 2 3 4 5 6
## 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## 7 8 9 10 11 12
## 38.69223 254.64834 280.76261 541.39817 1165.69864 1446.82290
## 13 14 15 16 17
## 1580.81539 2202.08981 4437.51504 6174.80020 108704.05971
# Xem tổng rủi ro quy trình (process risk) tại cột cuối
M$Total.ProcessRisk[ncol(tri)]
## 12
## 109021.2
Xem rủi ro tham số theo từng dòng tại cột cuối
# Xem rủi ro tham số (parameter risk) theo từng dòng tại cột cuối
M$Mack.ParameterRisk[, ncol(tri)]
## 1 2 3 4 5 6
## 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## 7 8 9 10 11 12
## 15.63996 89.94580 100.98106 212.49129 419.02152 511.28334
## 13 14 15 16 17
## 506.89774 726.03489 1231.90672 1706.22206 36215.52128
# Xem tổng rủi ro tham số tại cột cuối
M$Total.ParameterRisk[ncol(tri)]
## [1] 36596.3
Biểu đồ trực quan hóa
# Vẽ đồ thị trực quan hóa
plot(M)
plot(M, lattice = TRUE)