• No results found

26000

26050

26100

26150

26200

Deviantie van de schattingen op de testset

De

viantie

GLM Enkele boom Bagging GB

Figuur 3.11: Gradient boosting geeft het beste resultaat

Vergelijking van deviantie

Elk van de vier voorgenoemde modellen hebben een schatting gemaakt van de claimfrequenties in de testset. De testset bestaat uit 48970 observaties waarbij polishouders 0, 1, 2, 3 of 4 claims hebben ingediend binnen het jaar of gedeelte van het jaar. De modellen hebben voor elke polishouder in de testset de log-claimfrequentie ˆηi geschat. Het verwachte claimaantal van polishouder i met exposure di is dan gegeven door:

ˆ

λi = diexp(ˆηi).

Voor elk van de vier modellen staan de devianties in figuur3.11 en daaruit blijkt dat de schattingen ˆ

λ van de GBM de laagste deviantie geven.

De enkele boom is niet nauwkeurig, want het kan slechts 22 verschillende claimfrequenties voorspel- len en niet alle variabelen worden hierbij gebruikt. Ook het baggingmodel is geen nauwkeurig model, want het is mogelijk dat de bomen te veel met elkaar correleren. VolgensGuelman(2012) is de lagere deviantie van de GBM te verklaren, doordat GBM flexibeler is dan GLM. Een GLM is namelijk een lineair model en heeft daardoor meer restricties dan de GBM. Een andere verklaring is wellicht het ontbreken van belangrijke interactietermen in de GLM, die wel verwerkt zijn in de GBM.

Schattingen van nullen en enen in de testset

Gegeven de geschatte Poissonparameters ˆλ is het mogelijk om simulaties te runnen. Met de functie rpois genereert R voor polishouder i met kans exp(−λi) een nul, met kans λiexp(−λi) een ´e´en en met kans 1 − (1 + λi) exp(−λi) een geheel getal groter of gelijk aan twee. Dit kan gebruikt worden om het claimgedrag te simuleren van de 48970 polishouders. Zo genereert R N0 keer 0 claims, N1 keer 1 claim en N2 keer 2 of meer claims. Door 2000 iteraties te nemen is er van het aantal keren nul claims een verwachting en variantie berekend en vergeleken met het werkelijke aantal polishouders in de testset

Schatting van het aantal keer nul claims

Aantal in de testset

GLM Enkele boom Bagging GB

43200

43300

43400

43500

Schatting van het aantal keer één claim

Aantal in de testset

GLM Enkele boom Bagging GB

4900

5000

5100

5200

5300

Schatting van het aantal keer twee of meer claims

Aantal in de testset

GLM Enkele boom Bagging GB

380

430

480

530

Figuur 3.12: Vergelijking met de werkelijke aantallen van 0 claims, 1 claim en 2+ claims

dat geen claims indiende. Hetzelfde geldt voor het aantal keren ´e´en claim en twee of meer claims. Voor elk van de vier modellen staat de uitkomst van de simulaties in figuur3.12afgebeeld, waarbij de horizontale lijn het werkelijke aantal is.

Hieruit blijkt dat elk model het aantal nullen in de testset licht onderschat, het aantal enen over- schat en het aantal polishouders met twee of meer claims onderschat. De GBM presteert ongeveer even goed als de GLM, maar de enkele beslisboom en het baggingmodel liggen beiden verder van de geobserveerde waarde af dan de GLM. Ook is het opmerkelijk dat de enkele beslisboom een betere schatting maakt van het aantal polishouders met twee of meer claims dan het baggingmodel, terwijl de deviantie van de enkele beslisboom het laagste is van de vier.

Gradient boosting versus GLM

Uit voorgaande blijkt dat het baggingmodel en de enkele boom elk een hogere deviantie hebben dan de GLM en ook de schattingen van enen en nullen liggen niet dichterbij de werkelijke waarde. Daarom ligt nu de nadruk op de vergelijking van GLM en GBM.

De deviantie van de GBM-schattingen van de testset is lager dan dat van de GLM-schattingen. Door de testset op te delen, kan aangetoond worden voor welke deelverzamelingen van de testset GBM een betere schatting geeft dan GLM. Zo is in figuur 3.13voor deelverzamelingen van de testset de deviantie van de GBM-schatters gedeeld op de deviantie van de GLM-schatters voor elke bonus- malustrede, voor elke leeftijdsgroep, elke populatieklasse en elke klasse voor vermogen. Deze vier variabelen zijn de variabelen die de hoogste variable importance hadden voor de GBM. Niet alle waarden van de variabelen zijn in beschouwing genomen, omdat klassen met een lage exposure maar weinig effect hebben op de totale deviantie.

Zo blijkt dat GBM betere schattingen maakt dan GLM voor alle leeftijdsgroepen behalve [55, 65). Wellicht zijn de leeftijdsklassen in de GLM niet optimaal gekozen. Voor trede 0 in de bonus- malusladder zijn beide methoden ongeveer even goed, maar de frequenties in trede 1 wordt door GLM beter geschat. Voor de hogere treden is GBM vaker dan GLM de beste methode.

In de figuur met de log-populatie van de woonplaats van de polishouder is te zien dat GBM voor de meeste groepen nauwkeuriger schat dan GLM, maar het is niet te achterhalen of het specifiek voor kleine of voor grote plaatsen geldt. De figuur ernaast laat daarentegen zien dat GBM claimfrequenties beter of evengoed schat als GLM voor polishouders met een voertuig die een vermogen heeft tussen 15 kW en 85 kW. Claimfrequenties die betrekking hebben op voertuigen met een hoger vermogen worden beter door GLM geschat.

Nu is gebleken dat voor sterk verschillende deelverzamelingen van de testset GBM betere schat- tingen geeft voor de claimfrequenties dan GLM, waardoor geconcludeerd kan worden dat de lagere deviantie van GBM niet specifiek is voor deze dataset. Echter, de claimfrequentie van polishouders met een voertuig waarvan het vermogen hoger is dan 85 kW wordt mogelijk beter geschat met GLM dan met GB.

Figuur 3.13: De deviantie van de schatters van de GBM gedeeld op dat van de GLM

Toepassing op tarificatie

Voor het bepalen van verwachte claimfrequenties van polishouders kan GBM een goed alternatief zijn voor GLM, omdat de fit beter is. GBM heeft bovendien een simpele implementatie, want er hoeven geen keuzes gemaakt te worden wat betreft de verklarende variabelen. Het algoritme beslist zelf welke variabelen gebruikt gaan worden en waar de splitsing moet komen, terwijl voor een GLM er een selectie van variabelen moet worden gemaakt. Ook interacties tussen variabelen worden in de GBM verwerkt zonder dat het expliciet toegevoegd wordt in de formule.

Een nadeel van GBM is, dat het model niet direct te interpreteren is. GLM en de enkele beslisboom hebben de eigenschap dat de verwachte frequentie van een polishouder afgelezen kan worden uit een figuur of tabel en bij bagging en GBM is dit niet het geval. De variable importance plots en de partial dependence plots van de GBM kunnen daarentegen belangrijke informatie geven over de verklarende variabelen en de onderlinge interacties. Zo kan GBM niet alleen claimfrequenties schatten, maar ook dienen als hulpmiddel voor andere modellen, zoals GLM’s.

0 5 10 15 20 0.10 0.15 0.20 0.25 0.30 BM Predicted count 20 40 60 80 0.12 0.14 0.16 0.18 0.20 LFT Predicted count 7 8 9 10 11 12 13 0.09 0.11 0.13 0.15 logPOPUL Predicted count 50 100 150 200 250 0.10 0.15 0.20 0.25 0.30 VMG Predicted count 0 10 20 30 40 0.08 0.10 0.12 0.14 0.16 OUD Predicted count benzine diesel 0.125 0.130 0.135 0.140 0.145 BSTF Predicted count wa wa+beperkt wa+volledig 0.128 0.129 0.130 0.131 0.132 0.133 DEK Predicted count man vrouw 0.13170 0.13180 0.13190 GSL Predicted count ja nee 0.122 0.124 0.126 0.128 0.130 0.132 WAG Predicted count prive zakelijk 0.1290 0.1300 0.1310 GEBR Predicted count

LFT f(GSL,LFT) 0.12 0.14 0.16 0.18 0.20 20 40 60 80 man 20 40 60 80 vrouw LFT OUD 10 20 30 40 20 40 60 80 0.05 0.10 0.15 0.20 0.25 BM LFT 20 40 60 80 5 10 15 20 0.10 0.15 0.20 0.25 0.30 0.35 BM logPOPUL 7 8 9 10 11 12 5 10 15 20 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 logPOPUL f(BSTF ,logPOPUL) 0.08 0.10 0.12 0.14 0.16 7 8 9 10 11 12 13 benzine 7 8 9 10 11 12 13 diesel OUD f(BSTF ,OUD) 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0 10 20 30 40 50 benzine 0 10 20 30 40 50 diesel

In de tarificatie van WA-verzekeringen voor motorvoertuigen worden claimfrequenties van polishouders a priori geschat aan de hand van gegevens die over de polishouder bekend zijn. Gewoonlijk wordt hiervoor GLM gebruikt, hoewel er andere technieken mogelijk zijn, zoals tree-based modellen. Dit zijn modellen die niet uitgaan van een (log-)lineaire relatie tussen verklarende variabelen, maar in plaats daarvan beslisbomen gebruiken om schattingen te maken.

Zo zijn er de technieken bagging en gradient boosting (GB), die beiden gebruik maken van meer- dere beslisbomen. Bagging fit elke iteratie een grote beslisboom voor een bootstrapsteekproef uit de trainingset. De schatter voor een bepaalde waarneming is dan het gemiddelde van alle schatters voor deze waarneming. Een gradient-boostingmodel (GBM) fit daarentegen sequentieel een kleine boom op de residuen van het model tot dan toe. De som van vele zwakke schatters leidt zo tot een sterke voorspeller.

Volgens de Laet (2013-2014) geeft een GBM betere schattingen voor claimfrequenties dan een GLM. Gegeven een andere dataset met andere verklarende variabelen was het doel van dit onderzoek het aantonen in hoeverre tree-based modellen toegepast kunnen worden in het schatten van claimfre- quenties voor polishouders van een WA-verzekering, als replicatieonderzoek vande Laet (2013-2014). In dit onderzoek werd aangenomen dat de claimfrequentie van elke polishouder Poissonverdeeld was en dat het claimgedrag van polishouders onderling onafhankelijk was. Zo kon voor elke polishouder de Poissonparameter worden geschat, waarbij de Poissondeviantie een maat is voor de kwaliteit van de fit.

Zo werden er vier modellen in beschouwing genomen die deze Poissonparameters schatten. Het eerste model was een GLM, zodat de deviantie van dit model vergeleken kon worden met de deviantie van de tree-based modellen. Het tweede model was een enkele beslisboom die geschat werd op de trainingset, door een zeer grote boom te maken en daarna splitsingen te verwijderen. De optimale diepte van de boom werd bepaald door middel van een tienvoudige kruisvalidatie. Als derde model, het baggingmodel, waren er 100 beslisbomen met elk een diepte van 49 splitsingen gefit op bootstrap- steekproeven uit de trainingset. Het vierde model ten slotte was de GBM, dat een kleine 2000 bomen met elk twee splitsingen had gefit op de residuen. Bij het baggingmodel en de GBM is er gebruik gemaakt van een validatieset voor het bepalen van de optimale diepte van de bomen en het aantal iteraties.

Uit dit onderzoek bleek dat de GBM een betere schatting kon geven van de claimfrequenties in de testset dan de GLM, op basis van de deviantie. De enkele beslisboom en het baggingmodel presteerden allebei slechter. De GBM heeft namelijk, anders dan de GLM, de restricties niet dat verklarende variabelen een lineaire relatie hebben met de log van de claimfrequentie, wat zorgt voor een hogere flexibiliteit. Bovendien worden in een GBM interacties tussen variabelen door het algoritme zelf aangebracht, terwijl dat in een GLM in de formule moet worden toegevoegd.

Gegeven de schattingen voor de Poissonparameters in de testset, was het mogelijk om simulaties te runnen door grepen te nemen uit een Poissonverdeling met deze parameters. Voor elk model werd er 2000 keer een greep genomen uit een Poissonverdeling en werd het aantal nullen, enen en hogere aantallen daarin geteld. Zo kon voor elk model bepaald worden wat de verwachting en standaardde- viatie zijn voor het verwacht aantal polishouders met nul claims, met ´e´en claim en met twee of meer claims. Hieruit bleek dat elk van de modellen het aantal nullen in de testset onderschat, het aantal enen overschat en de staart van de verdeling erg onderschat. De GBM en de GLM waren ongeveer even accuraat in het voorspellen van aantal nullen, enen en hogere aantallen.

Omdat de enkele beslisboom en het baggingmodel beiden slechtere voorspellers zijn dan GLM, 30

werden alleen de GLM en de GBM verder vergeleken op hun schattingen van de testset. Hieruit bleek dat niet alleen de hele testset, maar ook verschillende deelverzamelingen van de testset uitwezen dat GBM een betere fit gaf dan GLM. Wel bleek dat de GLM accurater was dan GBM in het schatten van claimfrequenties waarbij het voertuig een vermogen had van minstens 85 kW. Desondanks werd niet waarschijnlijk geacht dat de lagere deviantie op de testset te wijten was aan de specifieke dataset. GBM zou toegepast moeten worden in tarificatie, want de GBM had een betere fit op de testset en had een simpelere implementatie dan GLM. Het model is echter minder eenvoudig te interpreteren. Hoewel de claimfrequenties van de GBM niet direct af te lezen zijn, is GBM toch nuttig voor tarificatie, omdat de partial dependence plots en de variable importance plots belangrijke inzichten geven over de verklarende variabelen.

Nu het voor de claimfrequentie is aangetoond dat GBM betere schattingen geeft dan GLM, ligt het voor de hand om in een vervolgonderzoek de verwachte claimbedragen te bepalen aan de hand van tree-based modellen. Zo kan uiteindelijk een model gevormd worden voor de zuivere premie van WA-verzekeringen.

Call:

glm(formula = NCLAIMS ~ offset(log(EXPO)) + BSTF + CASCO + WAG + GEBR + LFT17_25 + LFT25_32 + LFT57_77 + LFT77_95 + vrouw + LFT17_25vrouw + LFT25_32vrouw + LFT57_77vrouw + LFT77_95vrouw + OUD_CUT + BM_CUT + logPOPUL + logPOPUL2 + logPOPUL3 + log(VMG), family = poisson, data = data)

Deviance Residuals:

Min 1Q Median 3Q Max

-1.0310 -0.5295 -0.4575 -0.3805 4.7223

Coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) 3.052455 4.064960 0.751 0.452702 BSTFdiesel 0.182835 0.018262 10.012 < 2e-16 *** CASCOTRUE -0.061878 0.018451 -3.354 0.000798 *** WAGja -0.137045 0.051823 -2.644 0.008181 ** GEBRzakelijk -0.080357 0.040005 -2.009 0.044570 * LFT17_25 0.344685 0.039268 8.778 < 2e-16 *** LFT25_32 0.166956 0.028300 5.899 3.65e-09 *** LFT57_77 -0.210331 0.026389 -7.970 1.58e-15 *** LFT77_95 0.133402 0.073386 1.818 0.069094 . vrouw 0.060932 0.026051 2.339 0.019337 * LFT17_25vrouw -0.296242 0.066368 -4.464 8.06e-06 *** LFT25_32vrouw -0.159345 0.049409 -3.225 0.001260 ** LFT57_77vrouw 0.102312 0.055693 1.837 0.066201 . LFT77_95vrouw -0.336130 0.206930 -1.624 0.104297 OUD_CUT[0,1] 0.184776 0.037762 4.893 9.93e-07 *** OUD_CUT(1,3] -0.111018 0.025032 -4.435 9.21e-06 *** OUD_CUT(14,24] -0.110699 0.042789 -2.587 0.009679 ** OUD_CUT(24,48] -1.028900 0.316515 -3.251 0.001151 ** BM_CUT(0.1,2] 0.147022 0.024980 5.886 3.96e-09 *** BM_CUT(2,3] 0.514787 0.051624 9.972 < 2e-16 *** BM_CUT(3,5] 0.320413 0.028641 11.187 < 2e-16 *** BM_CUT(5,7] 0.449048 0.035091 12.797 < 2e-16 *** BM_CUT(7,9] 0.524170 0.034566 15.164 < 2e-16 *** BM_CUT(9,10] 0.656588 0.039305 16.705 < 2e-16 *** BM_CUT(10,15] 0.830288 0.031367 26.470 < 2e-16 *** BM_CUT(15,17] 1.137066 0.123836 9.182 < 2e-16 *** BM_CUT(17,22] 0.916615 0.129678 7.068 1.57e-12 *** logPOPUL -2.228359 1.175386 -1.896 0.057980 . logPOPUL2 0.243446 0.112461 2.165 0.030409 * logPOPUL3 -0.008342 0.003560 -2.343 0.019111 * log(VMG) 0.237071 0.028448 8.333 < 2e-16 *** 32

---

Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 (Dispersion parameter for poisson family taken to be 1)

Null deviance: 63084 on 114263 degrees of freedom Residual deviance: 60802 on 114233 degrees of freedom AIC: 87316

#

# Dit programma maakt een baggingmodel aan de hand van een trainingset en rekent # de deviantie uit op de trainingset en testset.

#

# loglikelihoodfunctie voor poissonverdeling loglikelihood <- function(y, lab){

# vector van poissonkansen

vect <- exp(-lab) * lab^y / factorial(y) # loglikelihood uitrekenen

result <- sum(log(vect)) return(result)

}

# poissondeviantie

deviance <- function(prediction, my_set, offset_included = FALSE){ # lab is het verwachte claimaantal, prediction de frequentie per jaar if (!offset_included){

lab <- prediction * my_set$EXPO[index] } else lab <- prediction[index]

# geobserveerde claimaantallen counts <- my_set$NCLAIMS[index]

# uitrekenen van deviantie door middel van loglikelihoodfunctie

return(2 * (loglikelihood(counts, counts) - loglikelihood(counts, lab))) }

# keuze voor constantes ntree <- 100

depth <- 10 # initialiseren

n_train <- nrow(training_set)

predict_test <- rep(0, nrow(test_set)) predict_train <- rep(0, n_train)

# uitvoeren van de iteraties for(i in 1:ntree){

# de bootstrapsteekproef uit de trainingset

bootstrap <- training_set[sample(1:n_train, n_train, replace = TRUE),] # het fitten van een enkele beslisboom op de bootstrapsteekproef

one_tree <- gbm(NCLAIMS ~ offset(log(EXPO)) + BM + BSTF + DEK + WAG + GSL + GEBR + LFT + OUD + VMG + POPUL, distribution = "poisson", data = bootstrap, interaction.depth = depth, n.trees = 1, shrinkage = 1, bag.fraction = 1, train.fraction = 1)

# voorspellingen van de testset en de trainingset

predict_test <- predict_test + predict(one_tree, test_set, 1, type = "response")

predict_train <- predict_train + predict(one_tree, training_set, 1, type = "response")

# het gemiddelde tot nu toe

results_test[i] <- deviance(predict_test / i, test_set)

results_train[i] <- deviance(predict_train / i, training_set) }

Denuit, M., Lang, S. (2004). Non-life rate-making with Bayesian GAMs. Insurance: Mathematics and Economics, 35, 627-647.

Denuit, M., Mar´echal, X., Pitrebois, S., Walhin, J.-F. (2007). Actuarial modelling for claim counts: Risk classification, credibility and bonus-malus systems. Chichester: John Wiley & Sons, Ltd. Friedman, J. H. (2001). Greedy function approximation: a gradient boosting machine. The Annals of

Statistics, 29-5, 1189-1232.

Guelman, L. (2012). Gradient boosting trees for auto insurance loss cost modeling and prediction. Expert Systems with Applications, 39, 3659-3667.

Hastie, T., Tibshirani R., Friedman, J. (2009). The Elements of Statistical Learning. New York, NY: Springer.

James, G., Witten, D., Hastie, T. ,Tibshirani R. (2013). An Introduction to Statistical Learning. New York, NY: Springer.

Laet, B. de (2013-2014). Regression trees and ensembles of trees in P&C pricing. KU Leuven master- thesis.

Ohlsson, E., Johansson, B. (2010). Non-life Insurance Pricing with Generalized Linear Models. Springer-Verlag Berlin Heidelberg, p.15-37.

GERELATEERDE DOCUMENTEN