Simulations et incréments négatifs

Pour faire suite (rapidement) à mon dernier billet, le cas le plus fréquent pour observer des incréments négatifs est lorsque l’on fait des simulations pour obtenir la distribution du montant de paiements futurs. Rappelons que pour générer un pseudo-triangle, on utilise les résidus de Pearson, et on pose

http://freakonometrics.blog.free.fr/public/perso4/pseudo-triangle.gifOn voit que l’on risque d’avoir un incrément négatif si le résidu est négatif, et plus grand (en valeur absolue) que la racine carrée de la prédiction (par notre modèle Poissonnien, en l’occurrence). Or dans le triangle vu en cours, on a

> source("https://perso.univ-rennes1.fr/
arthur.charpentier/bases.R")
> INC=PAID
> INC[,2:6]=PAID[,2:6]-PAID[,1:5]
> Y=as.vector(INC)
> D=rep(1:6,each=6)
> A=rep(2001:2006,6)
> base=data.frame(Y,D,A)
> reg=glm(Y~as.factor(D)+as.factor(A),
+     data=base,family=poisson(link="log"))
> Yp=predict(reg,type="response",
+ newdata=base)
> erreurs=residuals(reg,"pearson")
> min(sqrt(Yp[is.na(Y)==FALSE]))
[1] 2.868171
> min(erreurs)
[1] -2.213449

autrement dit, on n’aura jamais d’incrément négatif lors de nos boucle, si l’on génère les résidus par bootstrap. Sinon, avec des lois paramétriques non-bornées inférieurement (loi normale, loi de Student), il est tout a fait possible d’obtenir des incréments négatifs. La méthode pour éviter le problème des incréments négatifs dans les boucles… est probablement de ne pas prendre en compte les scénarios où des incréments négatifs ont été obtenus, i.e.

R=rep(NA,10000)
for(s in 1:10000){
serreur=sample(erreurs,
size=36,replace=TRUE)
E=matrix(serreur,6,6)
sY=matrix(Yp,6,6)+E*sqrt(matrix(Yp,6,6))
if(min(sY[is.na(Y)==FALSE])>=0){
sbase=data.frame(sY=as.vector(sY),D,A)
sbase$sY[is.na(Y)==TRUE]=NA
sreg=glm(sY~as.factor(D)+as.factor(A),
data=sbase,family=poisson(link="log"))
sYp=predict(sreg,type="response",
newdata=sbase)
R[s]=sum(sYp[is.na(Y)==TRUE])}
}

Une stratégie un peu plus propre pourrait être de mettre des 0 dès qu’on obtient un incrément négatif… Mais encore une fois, c’est de la cuisine.


OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (December 7, 2011). Simulations et incréments négatifs. Freakonometrics. Retrieved April 26, 2025 from https://doi.org/10.58079/oujf


2 thoughts on “Simulations et incréments négatifs”

  1. Pardon, mon point était de dire que dans un triangle normal, il ne doit pas y avoir d’incréments négatifs, si on travaille sur les paiements bruts (de réassurance). A la rigueur, si on travaille en net de réassurance (avec un traité en excédant), j’imagine qu’on puisse commencer à payer un sinistre avant d’avoir un remboursement du réassureur une fois admis qu’une partie du sinistre est à sa charge. Mais “normalement”, il ne doit pas y avoir d’incrément négatif dans un triangle (sinon j’attends qu’un praticien partage son expérience et ses explications, vraiment). Mon point était de dire que, même si les incréments négatifs ne devraient pas être un sujet car ils n’ont pas de raison d’être, en simulant des pseudo-triangles, on peut générer des incréments négatifs. Et donc il est légitime de faire un billet (voire plusieurs) sur comment prendre en compte ce problème….

  2. eueuehh…. si on avait dans nos incréments à la base des incréments negatifs, on verait apparaitre des résidus négatifs. De fil en aiguille bootstrap va juste utiliser ces résidus. On aura de forte chance de voir apparaitre des incréments negatifs dans la deuxième partie du triangle surtout si on a peu de résidus.

    Ce qui n’est pas tout a fait stupide vu que si l’évenement s’est produit une fois, il y a des chances que cela se reproduise.

    Maintenant le tout est de voir l’impacte quand on n’a très peu de residus contenant des résidus negatifs.

    Lors des boucles ne pourrait on pas profiter pour agrandir notre bassin de résidus? Parce que selon le code en boucle qu’on utilise, nous ne recuperons que les erreurs entre les nouveaux incréments estimés et le triangle original.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.