SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Actuariat de l’Assurance Non-Vie # 5
A. Charpentier (UQAM & Université de Rennes 1)
ENSAE ParisTech, Octobre / Décembre 2016.
http://freakonometrics.hypotheses.org
@freakonometrics 1
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Surdispersion?
Références: de Jong & Heller (2008), sections 6.2 et 6.3, Hilbe (2011).
Plusieurs documents sur le site http://www.casact.org/pubs/forum/ évoquent le
problème de la surdispersion. Les données sont les mêmes que pour la section #3,
1 > sinistre=read.table("http:// freakonometrics .free.fr/ sinistreACT2040
.txt",header=TRUE ,sep=";")
2 > contrat=read.table("http:// freakonometrics .free.fr/ contractACT2040 .
txt",header=TRUE ,sep=";")
3 > contrat=contrat [ ,1:10]
4 > names(contrat)[10]="region"
...
1 > freq = merge(contrat ,nombre_RC)
2 > freq = merge(freq ,nombre_DO)
@freakonometrics 2
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Surdispersion ? (overdispersion)
(extrait de Hilbe (2011), chapitre 7)
1. What is overdispersion? Overdispersion in Poisson models occurs when
the response variance is greater than the mean.
2. What causes overdispersion? Overdispersion is caused by positive
correlation between responses or by an excess variation between response
probabilities or counts. Overdispersion also arises when there are violations
in the distributional assumptions of the data, such as when the data are
clustered and thereby violate the likelihood independence of observations
assumption.
3. Why is overdispersion a problem? Overdispersion may cause standard
errors of the estimates to be deflated or underestimated, i.e. a variable may
appear to be a significant predictor when it is in fact not significant.
4. How is overdispersion recognized? A model may be overdispersed if the
@freakonometrics 3
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
value of the Pearson (or χ2
) statistic divided by the degrees of freedom (dof)
is greater than 1.0. The quotient of either is called the dispersion.
Small amounts of overdispersion are of little concern; however, if the
dispersion statistic is greater than 1.25 for moderate sized models, then a
correction may be warranted. Models with large numbers of observations may
be overdispersed with a dispersion statistic of 1.05.
5. What is apparent overdispersion; how may it be corrected?
Apparent overdispersion occurs when:
• the model omits important explanatory predictors;
• the data include outliers;
• the model fails to include a sufficient number of interaction terms;
• a predictor needs to be transformed to another scale;
• the assumed linear relationship between the response and the link function
and predictors is mistaken, i.e. the link is misspecified.
@freakonometrics 4
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion...
Rappelons que l’on observe des (Yi, Ei, Xi), où Ei est l’exposition, Yi est le
nombre de sinistres observés sur la période [0, Ei]. On peut voir cela comme un
problème de données censurées,
on voudrait Ni le nombre de sinistres non-observés sur la période [0, 1]
@freakonometrics 5
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion...
Pour estimer la moyenne de N (cf partie 3),
mN =
n
i=1 Yi
n
i=1 Ei
et pour estimer la variance de N
S2
N =
n
i=1[Yi − mN · Ei]2
n
i=1 Ei
soit, numériquement
1 > Y <- baseFREQ$nbre
2 > E <- baseFREQ$exposition
3 > m=sum(vY)/sum(vE)
4 > v=sum ((vY -m*vE)^2)/sum(vE)
5 > cat("average =",m," variance =",v,"phi =",v/m,"n")
6 average = 0.0697 variance = 0.0739 phi = 1.0597
où phi vérifie S2
N = ϕ · mX.
@freakonometrics 6
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion...
On peut aussi prendre en compte de variables explicatives
mN,x =
i,Xi=x Yi
i,Xi=x Ei
et pour estimer la variance de N
S2
N,x =
i,Xi=x[Yi − mN · Ei]2
i,Xi=x Ei
soit, numériquement
1 > X=as.factor(baseFREQ$carburant)
2 > for(i in 1: length(levels(X))){
3 + Ei=E[X== levels(X)[i]]
4 + Yi=Y[X== levels(X)[i]]
5 + meani=weighted.mean(Yi/Ei ,Ei)
6 + variancei=sum ((Yi -meani*Ei)^2)/sum(Ei)
@freakonometrics 7
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion....
1 + cat("Carburant , zone",levels(X)[i],"average =",meani ," variance =",
variancei ,"n")
2 + }
3 Carburant , zone D average = 0.07881126 variance = 0.08425971
4 Carburant , zone E average = 0.06917643 variance = 0.07753765
que l’on peut représenter graphiquement
1 > plot(meani ,variancei ,cex=sqrt(Ei),col="grey",pch =19,
2 + xlab="Empirical average",ylab="Empirical variance")
3 > points(meani ,variancei ,cex=sqrt(Ei))
La taille du disque est proportionnelle à l’exposition total dans la classe
{i, Xi = x}, et la première diagonale correspond au cas où E(N) = Var(N).
@freakonometrics 8
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion, et type de carburant
Estimation de Var(N|X) versus E(N|X), si X est le carburant
@freakonometrics 9
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion, et zone géographique
Estimation de Var(N|X) versus E(N|X), si X est la zone géographique
@freakonometrics 10
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion, et densité de population
Estimation de Var(N|X) versus E(N|X), si X est la densité de population
@freakonometrics 11
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion, et âge du conducteur
Estimation de Var(N|X) versus E(N|X), si X est l’âge du conducteur
@freakonometrics 12
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion
L’équidispersion est une propriété de la loi de Poisson: si Y ∼ P(λ),
E(Y ) = Var(Y ) = λ.
Si on suppose maintenant que Y |Θ ∼ P(λΘ), où Θ suit une loi Gamma de
paramètres identiques α (de telle sorte que E(Θ) = 1), on obtient la loi binomiale
négative,
P(Y = k) =
Γ(k + α−1
)
Γ(k + 1)Γ(α−1)
1
1 + λ/α
α−1
1 −
1
1 + λ/α
k
, ∀k ∈ N
On peut réécrire cette loi, en posant r = α−1
et p =
1
1 + αλ
f(y) =
y
y + r − 1
pr
[1 − p]y
, ∀k ∈ N
@freakonometrics 13
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion
ou encore
f(y) = exp y log(1 − p) + r log p + log
y
y + r − 1
, ∀k ∈ N
qui est une loi de la famille exponentielle, en posant θ = log[1 − p],
b(θ) = −r log(p) et a(ϕ) = 1.
Si on calcule la moyenne, on obtient
E(Y ) = b (θ) =
∂b
∂p
∂p
∂θ
=
r(1 − p)
p
= λ,
et si on calcule la variance
Var(Y ) = b (θ) =
∂2
b
∂p2
∂p
∂θ
2
+
∂b
∂p
∂2
p
∂θ2
=
r(1 − p)
p2
@freakonometrics 14
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
La surdispersion
Autrement dit
Var(Y ) =
1
p
E(Y ) = [1 + α · λ] · λ
Pour une régression binomiale négative de type 2 (NB2),
E(Y ) = λ = µ et Var(Y ) = λ + αλ2
.
Le lien canonique est g(λ) = θ, i.e. g(µ) = log
αµ
1 + αµ
Remarque: si α = 0, on a une loi de Poisson; si α = 1, on a une loi géométrique.
Remarque: sous R, la régression NB2 se fait avec la fonction glm.nb de
library(MASS)
@freakonometrics 15
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Régression de Poisson
1 > regpoisson=glm(nbre~carburant+zone+ ageconducteur +offset(log(
exposition)),family=poisson("log"),data=baseFREQ)
2 > summary(regpoisson)
3 Coefficients :
4 Estimate Std. Error z value Pr(>|z|)
5 (Intercept) -1.0176256 0.0536858 -18.955 < 2e -16 ***
6 carburantE -0.2930830 0.0258247 -11.349 < 2e -16 ***
7 zoneB -0.0815939 0.0516502 -1.580 0.11417
8 zoneC 0.1074269 0.0402553 2.669 0.00762 **
9 zoneD 0.2027631 0.0421105 4.815 1.47e-06 ***
10 zoneE 0.3041587 0.0430113 7.072 1.53e-12 ***
11 zoneF 0.4430020 0.0821833 5.390 7.03e-08 ***
12 ageconducteur -0.0092141 0.0009236 -9.976 < 2e-16 ***
13 ---
14 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
15
16 ( Dispersion parameter for poisson family taken to be 1)
@freakonometrics 16
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Régression Binomiale Négative
1 > library(MASS)
2 > regnb=glm.nb(nbre~carburant+zone+ ageconducteur +offset(log(
exposition)),data=baseFREQ)
3 > summary(regnb)
4 Coefficients :
5 Estimate Std. Error z value Pr(>|z|)
6 (Intercept) -0.979677 0.063003 -15.550 < 2e -16 ***
7 carburantE -0.294948 0.030338 -9.722 < 2e -16 ***
8 zoneB -0.090319 0.059876 -1.508 0.1314
9 zoneC 0.099992 0.047132 2.122 0.0339 *
10 zoneD 0.208227 0.049360 4.219 2.46e-05 ***
11 zoneE 0.300395 0.050604 5.936 2.92e -09 ***
12 zoneF 0.407373 0.099042 4.113 3.90e-05 ***
13 ageconducteur -0.009268 0.001078 -8.596 < 2e -16 ***
14 ---
15 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
16
@freakonometrics 17
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
17 ( Dispersion parameter for Negative Binomial (0.4231) family taken to
be 1)
@freakonometrics 18
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Autres régression
En fait, dans la fonction glm, il est possible de spécifier family=negative.binomiale,
mais il faut alors indiquer la valeur de α (qui n’est alors plus estimé).
Par exemple, negative.binomiale(1) permet d’avoir un régression géométrique, i.e.
E(Y ) = λ = µ et Var(Y ) = λ + λ2
.
Le lien canonique est alors g(λ) = θ, i.e. g(µ) = log
µ
1 + µ
@freakonometrics 19
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
1 > reggeo=glm(nbre~carburant+zone+ ageconducteur +offset(log(exposition
)),family=negative.binomial (1) ,data=baseFREQ)
2 > summary(reggeo)
3 Coefficients :
4 Estimate Std. Error t value Pr(>|t|)
5 (Intercept) -0.999349 0.080774 -12.372 < 2e -16 ***
6 carburantE -0.294294 0.038878 -7.570 3.80e -14 ***
7 zoneB -0.085721 0.077204 -1.110 0.266871
8 zoneC 0.103607 0.060485 1.713 0.086730 .
9 zoneD 0.205556 0.063309 3.247 0.001167 **
10 zoneE 0.302989 0.064799 4.676 2.94e -06 ***
11 zoneF 0.425222 0.125571 3.386 0.000709 ***
12 ageconducteur -0.009243 0.001386 -6.669 2.61e-11 ***
13 ---
14 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
15
16 ( Dispersion parameter for Negative Binomial (1) family taken to be
1.947198)
@freakonometrics 20
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Les régressions pour des données de comptage
Il existe aussi une library(counts)
• Poisson, fonction variance V (µ) = µ, ml.pois
• quasiPoisson, fonction variance V (µ) = ϕµ,
• géométrique, fonction variance V (µ) = µ + µ2
,
• négative binomiale (NB1), fonction variance V (µ) = µ + αµ, ml.nb1
• négative binomiale (NB2), fonction variance V (µ) = µ + αµ2
, ml.nb2
Pour comparer ces modèles utilisons le petit échantillon
1 > x <- c(1,2,3,4,5)
2 > y <- c(1,2,5,1,8)
@freakonometrics 21
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Les régressions pour des données de comptage
1 > regression <- glm(y~x,family=poisson(link="log"))
q
q
q
q
q
1 2 3 4 5
12345678
q
q
q
q
q
@freakonometrics 22
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Les régressions pour des données de comptage
1 > regression <- glm(y~x,family= quasipoisson (link="log"))
q
q
q
q
q
1 2 3 4 5
12345678
q
q
q
q
q
q
q
q
q
q
@freakonometrics 23
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Les régressions pour des données de comptage
1 > regression <- glm(y~x,family=negative.binomial (1))
q
q
q
q
q
1 2 3 4 5
12345678
q
q
q
q
q
q
q
q
q
q
@freakonometrics 24
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Les régressions pour des données de comptage
1 > regression <- glm.nb(y~x)
q
q
q
q
q
1 2 3 4 5
12345678
q
q
q
q
q
q
q
q
q
q
@freakonometrics 25
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Test(s) de surdispersion
Sur l’exemple évoqué au début, on peut ajuster une droite de régression passant
par l’origine
@freakonometrics 26
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Test(s) de surdispersion
1 > library(AER)
2 > variance=as.vector(MV[ ,2])
3 > moyenne=as.vector(MV[ ,1])
4 > regression=lm(variance~0+ moyenne ,weight=as.vector(exposition))
5 > summary(regression)
6
7 Coefficients :
8 Estimate Std. Error t value Pr(>|t|)
9 moyenne 1.09308 0.01171 93.35 <2e -16 ***
10 ---
11 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
12
13 Residual standard error: 0.007593 on 82 degrees of freedom
14 Multiple R-squared: 0.9907 , Adjusted R-squared: 0.9906
15 F-statistic: 8714 on 1 and 82 DF , p-value: < 2.2e-16
@freakonometrics 27
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Test(s) de surdispersion
On peut faire un test pour voir si la pente vaut 1, ou pas,
1 > linearHypothesis (regression ,"moyenne =1")
2 Hypothesis:
3 moyenne = 1
4
5 Model 1: restricted model
6 Model 2: variance ~ 0 + moyenne
7
8 Res.Df RSS Df Sum of Sq F Pr(>F)
9 1 83 0.0083700
10 2 82 0.0047272 1 0.0036428 63.19 8.807e -12 ***
11 ---
12 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
Sinon, en utilisant la famille quasi-Poisson, on peut aussi faire un test pour tester
si ϕ vaut 1, ou pas.
@freakonometrics 28
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Test(s) de surdispersion
Pour cela, on note que la surdispersion correspond à une hétérogénéité résiduelle,
c’est à dire un effet aléatoire. Par exemple on peut supposer que
(Y |X = X, Z = z) ∼ P(exp[XT
β + zT
α])
de telle sorte que si u = zT
α − E(ZT
α|X = X), alors
(Y |X = X, Z = z) ∼ P(exp[XT
γ + u])
On a un modèle dit à effets fixes, au sens où
(Y |X = X) ∼ P(exp[XT
γ + U]),
où U = ZT
α − E(ZT
α|X = X). Par exemple, si on suppose que U ∼ γ(α, α),
i.e. d’espérance 1 et de variance σ2
= α−1
, alors
(Y |U = u) ∼ P(λu) où λ = exp[XT
γ],
@freakonometrics 29
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Test(s) de surdispersion
de telle sorte que E(Y |U = u) = Var(Y |U = u). Mais si on regarde la loi
nonconditionnelle, E(Y ) = λ alors que
Var(Y ) = Var(E[Y |U]) + E(Var(Y |)) = λ + λ2
σ2
.
On peut alors proposer un test de la forme suivante: on suppose que
Var(Y |X = x) = E(Y |X = x) + τ · E(Y |X = x)2
,
on on cherche à tester
H0 : τ = 0 contre τ > 0.
Parmi les statistiques de test classique, on pourra considérer
T =
n
i=1[(Yi − µi)2
− Yi]
2
n
i=1 µ2
i
qui suit, sous H0, une loi normale centrée réduite.
@freakonometrics 30
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
1 > regquasipoisson <- glm(nbre~bs( ageconducteur )+carburant+ offset(log
(exposition)),
2 + data=baseFREQ ,family= quasipoisson )
3 > summary( regquasipoisson )
4
5 Coefficients :
6 Estimate Std. Error t value Pr(>|t|)
7 (Intercept) -0.8130 0.1055 -7.706 1.32e -14 ***
8 bs( ageconducteur )1 -0.9984 0.3388 -2.947 0.00321 **
9 bs( ageconducteur )2 -0.2508 0.3426 -0.732 0.46406
10 bs( ageconducteur )3 -1.1986 0.5307 -2.258 0.02393 *
11 carburantE -0.2664 0.0381 -6.992 2.74e -12 ***
12 ---
13 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
14
15 ( Dispersion parameter for quasipoisson family taken to be 2.196859)
16
17 Null deviance: 28271 on 49999 degrees of freedom
@freakonometrics 31
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
18 Residual deviance: 28024 on 49995 degrees of freedom
19 AIC: NA
20
21 Number of Fisher Scoring iterations: 6
22
23 > (summary( regquasipoisson )$dispersion)
24 [1] 2.196859
Le test est programmé de la manière suivante
1 > library(AER)
2 > regpoisson <- glm(nbre~bs( ageconducteur )+carburant+ offset(log(
exposition)),
3 + data=baseFREQ ,family=poisson)
4 > dispersiontest (regpoisson)
5
6 Overdispersion test
7
8 data: regpoisson
@freakonometrics 32
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
9 z = 3.1929 , p-value = 0.0007042
10 alternative hypothesis : true dispersion is greater than 1
11 sample estimates:
12 dispersion
13 1.754662
@freakonometrics 33
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Modèles à inflation de zéros
Un modèle dit à inflation de zéros ou zero inflated) est un mélange entre une
masse en 0 et un modèle classique de comptage
Pour modéliser la probabilité de ne pas déclarer un sinistre (surpoids en 0),
considérons un modèle logistique
πi =
exp[XT
i β]
1 + exp[XT
i β]
Pour le modèle de comptage, pi(k) est la probabilité que l’individu i ait k sinistres
Alors
P(Ni = k) =



πi + [1 − πi] · pi(0) si k = 0,
[1 − πi] · pi(k) si k = 1, 2, · · ·
@freakonometrics 34
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Modèles à inflation de zéros
Si pi correspond à un modèle Poissonnien (de moyenne λi), alors
E(Ni) = [1 − πi]λi et Var(Ni) = πiλi + πiλ2
i [1 − πi].
La library(gamlss) propose la fonction ZIP (pour zero inflated Poisson), et ZINBI
lorsque pi correspond à une loi binomiale négative.
La library(pscl) propose également une fonction zeroinfl plus simple d’utilisation,
proposant aussi bien un modèle de Poisson qu’un modèle binomial négatif
Remarque: Il existe aussi des modèles dits zero adapted, où l’on suppose que
P(Ni = k) =



πi si k = 0,
[1 − πi] ·
pi(k)
1 − pi(0)
si k = 1, 2, · · ·
Dans library(gamlss) le modèle précédant dans le cas d’une loi de Poisson est ZAP,
avec aussi une loi ZANBI.
@freakonometrics 35
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Modèles à inflation de zéros
1 > library(pscl)
2 > regNZI <- glm(nbre~bs(ageconducteur ,5)+offset(log(exposition)),
3 + data=baseFREQ ,family=poisson(link="log"))
4 > regZI <- zeroinfl(nbre~bs( ageconducteur ) |
5 + bs( ageconducteur ),offset=log(exposition ),
6 + data = baseFREQ ,dist = "poisson",link="logit")
On peut s’intéresser plus particulièrement à l’impact de l’âge sur la probabilité
de ne pas déclarer de sinistres (correspondant au paramètre de la loi binomiale)
1 > age <-data.frame( ageconducteur =18:90 , exposition =1)
2 > pred0 <- predict(regZI ,newdata=age ,type="zero")
3 > plot(age$ageconducteur ,pred0 ,type="l",xlab="",lwd=2,
4 + ylim=c(0 ,1),ylab=" Probabilite de ne pas declarer un sinistre")
@freakonometrics 36
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
Modèles à inflation de zéros
La principale explication avancée - en France - pour la non déclaration de sinistre
est l’existence du système bonus-malus.
1 > regZIbm <- zeroinfl(nbre~1 |
2 + bs(bonus),offset=log(exposition ),
3 + data = baseFREQ ,dist = "poisson",link="logit")
@freakonometrics 37
Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5
4 > B <- data.frame(bonus =50:200 , exposition =1)
5 > pred0 <- predict(regZIbm ,newdata=B,type="zero")
6 > plot(age$ageconducteur ,pred0 ,type="l",xlab="",lwd=2,
7 + ylim=c(0 ,1),ylab=" Probabilite de ne pas declarer un sinistre")
@freakonometrics 38

Contenu connexe

Tendances (20)

Slides 2040-7-a2013
Slides 2040-7-a2013Slides 2040-7-a2013
Slides 2040-7-a2013
 
Slides ensae 4
Slides ensae 4Slides ensae 4
Slides ensae 4
 
Slides ensae-2016-3
Slides ensae-2016-3Slides ensae-2016-3
Slides ensae-2016-3
 
Slides ensae-2016-2
Slides ensae-2016-2Slides ensae-2016-2
Slides ensae-2016-2
 
Slides ensae - Actuariat Assurance Non Vie 2
Slides ensae - Actuariat Assurance Non Vie 2Slides ensae - Actuariat Assurance Non Vie 2
Slides ensae - Actuariat Assurance Non Vie 2
 
Slides ensae-2016-4
Slides ensae-2016-4Slides ensae-2016-4
Slides ensae-2016-4
 
Slides ensae 3
Slides ensae 3Slides ensae 3
Slides ensae 3
 
Slides ensae 6
Slides ensae 6Slides ensae 6
Slides ensae 6
 
Slides ensae-2016-6
Slides ensae-2016-6Slides ensae-2016-6
Slides ensae-2016-6
 
Rappels stats-2014-part2
Rappels stats-2014-part2Rappels stats-2014-part2
Rappels stats-2014-part2
 
Slides ilb
Slides ilbSlides ilb
Slides ilb
 
Slides 2040-2-0
Slides 2040-2-0Slides 2040-2-0
Slides 2040-2-0
 
Slide 2040-1
Slide 2040-1Slide 2040-1
Slide 2040-1
 
Slides 2040-3-a2013
Slides 2040-3-a2013Slides 2040-3-a2013
Slides 2040-3-a2013
 
Slides act6420-e2014-partie-2
Slides act6420-e2014-partie-2Slides act6420-e2014-partie-2
Slides act6420-e2014-partie-2
 
Slides 2040-6
Slides 2040-6Slides 2040-6
Slides 2040-6
 
Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4
 
Slides 2040-4
Slides 2040-4Slides 2040-4
Slides 2040-4
 
Actuariat et Données
Actuariat et DonnéesActuariat et Données
Actuariat et Données
 
Slides 2040-4
Slides 2040-4Slides 2040-4
Slides 2040-4
 

En vedette (18)

Slides ensae-2016-9
Slides ensae-2016-9Slides ensae-2016-9
Slides ensae-2016-9
 
Slides ensae-2016-8
Slides ensae-2016-8Slides ensae-2016-8
Slides ensae-2016-8
 
Slides ensae-2016-11
Slides ensae-2016-11Slides ensae-2016-11
Slides ensae-2016-11
 
Slides ensae-2016-10
Slides ensae-2016-10Slides ensae-2016-10
Slides ensae-2016-10
 
Pricing Game, 100% Data Sciences
Pricing Game, 100% Data SciencesPricing Game, 100% Data Sciences
Pricing Game, 100% Data Sciences
 
Slides econ-lm
Slides econ-lmSlides econ-lm
Slides econ-lm
 
Proba stats-r1-2017
Proba stats-r1-2017Proba stats-r1-2017
Proba stats-r1-2017
 
Slides networks-2017-2
Slides networks-2017-2Slides networks-2017-2
Slides networks-2017-2
 
Slides simplexe
Slides simplexeSlides simplexe
Slides simplexe
 
Slides ads ia
Slides ads iaSlides ads ia
Slides ads ia
 
IA-advanced-R
IA-advanced-RIA-advanced-R
IA-advanced-R
 
15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelman15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelman
 
So a webinar-2013-2
So a webinar-2013-2So a webinar-2013-2
So a webinar-2013-2
 
Slides arbres-ubuntu
Slides arbres-ubuntuSlides arbres-ubuntu
Slides arbres-ubuntu
 
Slides inequality 2017
Slides inequality 2017Slides inequality 2017
Slides inequality 2017
 
Julien slides - séminaire quantact
Julien slides - séminaire quantactJulien slides - séminaire quantact
Julien slides - séminaire quantact
 
Slides act6420-e2014-ts-1
Slides act6420-e2014-ts-1Slides act6420-e2014-ts-1
Slides act6420-e2014-ts-1
 
Slides guanauato
Slides guanauatoSlides guanauato
Slides guanauato
 

Similaire à Slides ensae-2016-5

Td1 modelisation ess
Td1 modelisation essTd1 modelisation ess
Td1 modelisation essElsa von Licy
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bArthur Charpentier
 
c h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfc h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfMbarkiIsraa
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdfSidiAbdallah1
 
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdfSidiAbdallah1
 
Brisure De Symétrie Et Nombres De Lychrel
Brisure De Symétrie Et Nombres De LychrelBrisure De Symétrie Et Nombres De Lychrel
Brisure De Symétrie Et Nombres De LychrelIOSRjournaljce
 
naive_bayes_classifier.pdf
naive_bayes_classifier.pdfnaive_bayes_classifier.pdf
naive_bayes_classifier.pdfSidiAbdallah1
 
slides statistique mathématique.pdf
slides statistique mathématique.pdfslides statistique mathématique.pdf
slides statistique mathématique.pdfFadwaZiani
 
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...Franck Dernoncourt
 

Similaire à Slides ensae-2016-5 (16)

Slides udm-080910
Slides udm-080910Slides udm-080910
Slides udm-080910
 
Slides udm-220910
Slides udm-220910Slides udm-220910
Slides udm-220910
 
Td1 modelisation ess
Td1 modelisation essTd1 modelisation ess
Td1 modelisation ess
 
Slides desjardins-2011
Slides desjardins-2011Slides desjardins-2011
Slides desjardins-2011
 
compte
comptecompte
compte
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2b
 
c h02EspaceProbTr.pdf
c h02EspaceProbTr.pdfc h02EspaceProbTr.pdf
c h02EspaceProbTr.pdf
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdf
 
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
 
Td5correction
Td5correctionTd5correction
Td5correction
 
Brisure De Symétrie Et Nombres De Lychrel
Brisure De Symétrie Et Nombres De LychrelBrisure De Symétrie Et Nombres De Lychrel
Brisure De Symétrie Et Nombres De Lychrel
 
naive_bayes_classifier.pdf
naive_bayes_classifier.pdfnaive_bayes_classifier.pdf
naive_bayes_classifier.pdf
 
Slides 2040-6-a2013
Slides 2040-6-a2013Slides 2040-6-a2013
Slides 2040-6-a2013
 
slides statistique mathématique.pdf
slides statistique mathématique.pdfslides statistique mathématique.pdf
slides statistique mathématique.pdf
 
Cours econometrie-uqam-st-3
Cours econometrie-uqam-st-3Cours econometrie-uqam-st-3
Cours econometrie-uqam-st-3
 
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...
Introduction à la Logique Floue appliquée au Systèmes Décisionnels - Janvier ...
 

Plus de Arthur Charpentier (20)

Family History and Life Insurance
Family History and Life InsuranceFamily History and Life Insurance
Family History and Life Insurance
 
ACT6100 introduction
ACT6100 introductionACT6100 introduction
ACT6100 introduction
 
Family History and Life Insurance (UConn actuarial seminar)
Family History and Life Insurance (UConn actuarial seminar)Family History and Life Insurance (UConn actuarial seminar)
Family History and Life Insurance (UConn actuarial seminar)
 
Control epidemics
Control epidemics Control epidemics
Control epidemics
 
STT5100 Automne 2020, introduction
STT5100 Automne 2020, introductionSTT5100 Automne 2020, introduction
STT5100 Automne 2020, introduction
 
Family History and Life Insurance
Family History and Life InsuranceFamily History and Life Insurance
Family History and Life Insurance
 
Machine Learning in Actuarial Science & Insurance
Machine Learning in Actuarial Science & InsuranceMachine Learning in Actuarial Science & Insurance
Machine Learning in Actuarial Science & Insurance
 
Reinforcement Learning in Economics and Finance
Reinforcement Learning in Economics and FinanceReinforcement Learning in Economics and Finance
Reinforcement Learning in Economics and Finance
 
Optimal Control and COVID-19
Optimal Control and COVID-19Optimal Control and COVID-19
Optimal Control and COVID-19
 
Slides OICA 2020
Slides OICA 2020Slides OICA 2020
Slides OICA 2020
 
Lausanne 2019 #3
Lausanne 2019 #3Lausanne 2019 #3
Lausanne 2019 #3
 
Lausanne 2019 #4
Lausanne 2019 #4Lausanne 2019 #4
Lausanne 2019 #4
 
Lausanne 2019 #2
Lausanne 2019 #2Lausanne 2019 #2
Lausanne 2019 #2
 
Lausanne 2019 #1
Lausanne 2019 #1Lausanne 2019 #1
Lausanne 2019 #1
 
Side 2019 #10
Side 2019 #10Side 2019 #10
Side 2019 #10
 
Side 2019 #11
Side 2019 #11Side 2019 #11
Side 2019 #11
 
Side 2019 #12
Side 2019 #12Side 2019 #12
Side 2019 #12
 
Side 2019 #9
Side 2019 #9Side 2019 #9
Side 2019 #9
 
Side 2019 #8
Side 2019 #8Side 2019 #8
Side 2019 #8
 
Side 2019 #7
Side 2019 #7Side 2019 #7
Side 2019 #7
 

Slides ensae-2016-5

  • 1. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Actuariat de l’Assurance Non-Vie # 5 A. Charpentier (UQAM & Université de Rennes 1) ENSAE ParisTech, Octobre / Décembre 2016. http://freakonometrics.hypotheses.org @freakonometrics 1
  • 2. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Surdispersion? Références: de Jong & Heller (2008), sections 6.2 et 6.3, Hilbe (2011). Plusieurs documents sur le site http://www.casact.org/pubs/forum/ évoquent le problème de la surdispersion. Les données sont les mêmes que pour la section #3, 1 > sinistre=read.table("http:// freakonometrics .free.fr/ sinistreACT2040 .txt",header=TRUE ,sep=";") 2 > contrat=read.table("http:// freakonometrics .free.fr/ contractACT2040 . txt",header=TRUE ,sep=";") 3 > contrat=contrat [ ,1:10] 4 > names(contrat)[10]="region" ... 1 > freq = merge(contrat ,nombre_RC) 2 > freq = merge(freq ,nombre_DO) @freakonometrics 2
  • 3. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Surdispersion ? (overdispersion) (extrait de Hilbe (2011), chapitre 7) 1. What is overdispersion? Overdispersion in Poisson models occurs when the response variance is greater than the mean. 2. What causes overdispersion? Overdispersion is caused by positive correlation between responses or by an excess variation between response probabilities or counts. Overdispersion also arises when there are violations in the distributional assumptions of the data, such as when the data are clustered and thereby violate the likelihood independence of observations assumption. 3. Why is overdispersion a problem? Overdispersion may cause standard errors of the estimates to be deflated or underestimated, i.e. a variable may appear to be a significant predictor when it is in fact not significant. 4. How is overdispersion recognized? A model may be overdispersed if the @freakonometrics 3
  • 4. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 value of the Pearson (or χ2 ) statistic divided by the degrees of freedom (dof) is greater than 1.0. The quotient of either is called the dispersion. Small amounts of overdispersion are of little concern; however, if the dispersion statistic is greater than 1.25 for moderate sized models, then a correction may be warranted. Models with large numbers of observations may be overdispersed with a dispersion statistic of 1.05. 5. What is apparent overdispersion; how may it be corrected? Apparent overdispersion occurs when: • the model omits important explanatory predictors; • the data include outliers; • the model fails to include a sufficient number of interaction terms; • a predictor needs to be transformed to another scale; • the assumed linear relationship between the response and the link function and predictors is mistaken, i.e. the link is misspecified. @freakonometrics 4
  • 5. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion... Rappelons que l’on observe des (Yi, Ei, Xi), où Ei est l’exposition, Yi est le nombre de sinistres observés sur la période [0, Ei]. On peut voir cela comme un problème de données censurées, on voudrait Ni le nombre de sinistres non-observés sur la période [0, 1] @freakonometrics 5
  • 6. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion... Pour estimer la moyenne de N (cf partie 3), mN = n i=1 Yi n i=1 Ei et pour estimer la variance de N S2 N = n i=1[Yi − mN · Ei]2 n i=1 Ei soit, numériquement 1 > Y <- baseFREQ$nbre 2 > E <- baseFREQ$exposition 3 > m=sum(vY)/sum(vE) 4 > v=sum ((vY -m*vE)^2)/sum(vE) 5 > cat("average =",m," variance =",v,"phi =",v/m,"n") 6 average = 0.0697 variance = 0.0739 phi = 1.0597 où phi vérifie S2 N = ϕ · mX. @freakonometrics 6
  • 7. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion... On peut aussi prendre en compte de variables explicatives mN,x = i,Xi=x Yi i,Xi=x Ei et pour estimer la variance de N S2 N,x = i,Xi=x[Yi − mN · Ei]2 i,Xi=x Ei soit, numériquement 1 > X=as.factor(baseFREQ$carburant) 2 > for(i in 1: length(levels(X))){ 3 + Ei=E[X== levels(X)[i]] 4 + Yi=Y[X== levels(X)[i]] 5 + meani=weighted.mean(Yi/Ei ,Ei) 6 + variancei=sum ((Yi -meani*Ei)^2)/sum(Ei) @freakonometrics 7
  • 8. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion.... 1 + cat("Carburant , zone",levels(X)[i],"average =",meani ," variance =", variancei ,"n") 2 + } 3 Carburant , zone D average = 0.07881126 variance = 0.08425971 4 Carburant , zone E average = 0.06917643 variance = 0.07753765 que l’on peut représenter graphiquement 1 > plot(meani ,variancei ,cex=sqrt(Ei),col="grey",pch =19, 2 + xlab="Empirical average",ylab="Empirical variance") 3 > points(meani ,variancei ,cex=sqrt(Ei)) La taille du disque est proportionnelle à l’exposition total dans la classe {i, Xi = x}, et la première diagonale correspond au cas où E(N) = Var(N). @freakonometrics 8
  • 9. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion, et type de carburant Estimation de Var(N|X) versus E(N|X), si X est le carburant @freakonometrics 9
  • 10. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion, et zone géographique Estimation de Var(N|X) versus E(N|X), si X est la zone géographique @freakonometrics 10
  • 11. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion, et densité de population Estimation de Var(N|X) versus E(N|X), si X est la densité de population @freakonometrics 11
  • 12. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion, et âge du conducteur Estimation de Var(N|X) versus E(N|X), si X est l’âge du conducteur @freakonometrics 12
  • 13. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion L’équidispersion est une propriété de la loi de Poisson: si Y ∼ P(λ), E(Y ) = Var(Y ) = λ. Si on suppose maintenant que Y |Θ ∼ P(λΘ), où Θ suit une loi Gamma de paramètres identiques α (de telle sorte que E(Θ) = 1), on obtient la loi binomiale négative, P(Y = k) = Γ(k + α−1 ) Γ(k + 1)Γ(α−1) 1 1 + λ/α α−1 1 − 1 1 + λ/α k , ∀k ∈ N On peut réécrire cette loi, en posant r = α−1 et p = 1 1 + αλ f(y) = y y + r − 1 pr [1 − p]y , ∀k ∈ N @freakonometrics 13
  • 14. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion ou encore f(y) = exp y log(1 − p) + r log p + log y y + r − 1 , ∀k ∈ N qui est une loi de la famille exponentielle, en posant θ = log[1 − p], b(θ) = −r log(p) et a(ϕ) = 1. Si on calcule la moyenne, on obtient E(Y ) = b (θ) = ∂b ∂p ∂p ∂θ = r(1 − p) p = λ, et si on calcule la variance Var(Y ) = b (θ) = ∂2 b ∂p2 ∂p ∂θ 2 + ∂b ∂p ∂2 p ∂θ2 = r(1 − p) p2 @freakonometrics 14
  • 15. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 La surdispersion Autrement dit Var(Y ) = 1 p E(Y ) = [1 + α · λ] · λ Pour une régression binomiale négative de type 2 (NB2), E(Y ) = λ = µ et Var(Y ) = λ + αλ2 . Le lien canonique est g(λ) = θ, i.e. g(µ) = log αµ 1 + αµ Remarque: si α = 0, on a une loi de Poisson; si α = 1, on a une loi géométrique. Remarque: sous R, la régression NB2 se fait avec la fonction glm.nb de library(MASS) @freakonometrics 15
  • 16. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Régression de Poisson 1 > regpoisson=glm(nbre~carburant+zone+ ageconducteur +offset(log( exposition)),family=poisson("log"),data=baseFREQ) 2 > summary(regpoisson) 3 Coefficients : 4 Estimate Std. Error z value Pr(>|z|) 5 (Intercept) -1.0176256 0.0536858 -18.955 < 2e -16 *** 6 carburantE -0.2930830 0.0258247 -11.349 < 2e -16 *** 7 zoneB -0.0815939 0.0516502 -1.580 0.11417 8 zoneC 0.1074269 0.0402553 2.669 0.00762 ** 9 zoneD 0.2027631 0.0421105 4.815 1.47e-06 *** 10 zoneE 0.3041587 0.0430113 7.072 1.53e-12 *** 11 zoneF 0.4430020 0.0821833 5.390 7.03e-08 *** 12 ageconducteur -0.0092141 0.0009236 -9.976 < 2e-16 *** 13 --- 14 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 15 16 ( Dispersion parameter for poisson family taken to be 1) @freakonometrics 16
  • 17. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Régression Binomiale Négative 1 > library(MASS) 2 > regnb=glm.nb(nbre~carburant+zone+ ageconducteur +offset(log( exposition)),data=baseFREQ) 3 > summary(regnb) 4 Coefficients : 5 Estimate Std. Error z value Pr(>|z|) 6 (Intercept) -0.979677 0.063003 -15.550 < 2e -16 *** 7 carburantE -0.294948 0.030338 -9.722 < 2e -16 *** 8 zoneB -0.090319 0.059876 -1.508 0.1314 9 zoneC 0.099992 0.047132 2.122 0.0339 * 10 zoneD 0.208227 0.049360 4.219 2.46e-05 *** 11 zoneE 0.300395 0.050604 5.936 2.92e -09 *** 12 zoneF 0.407373 0.099042 4.113 3.90e-05 *** 13 ageconducteur -0.009268 0.001078 -8.596 < 2e -16 *** 14 --- 15 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 16 @freakonometrics 17
  • 18. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 17 ( Dispersion parameter for Negative Binomial (0.4231) family taken to be 1) @freakonometrics 18
  • 19. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Autres régression En fait, dans la fonction glm, il est possible de spécifier family=negative.binomiale, mais il faut alors indiquer la valeur de α (qui n’est alors plus estimé). Par exemple, negative.binomiale(1) permet d’avoir un régression géométrique, i.e. E(Y ) = λ = µ et Var(Y ) = λ + λ2 . Le lien canonique est alors g(λ) = θ, i.e. g(µ) = log µ 1 + µ @freakonometrics 19
  • 20. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 1 > reggeo=glm(nbre~carburant+zone+ ageconducteur +offset(log(exposition )),family=negative.binomial (1) ,data=baseFREQ) 2 > summary(reggeo) 3 Coefficients : 4 Estimate Std. Error t value Pr(>|t|) 5 (Intercept) -0.999349 0.080774 -12.372 < 2e -16 *** 6 carburantE -0.294294 0.038878 -7.570 3.80e -14 *** 7 zoneB -0.085721 0.077204 -1.110 0.266871 8 zoneC 0.103607 0.060485 1.713 0.086730 . 9 zoneD 0.205556 0.063309 3.247 0.001167 ** 10 zoneE 0.302989 0.064799 4.676 2.94e -06 *** 11 zoneF 0.425222 0.125571 3.386 0.000709 *** 12 ageconducteur -0.009243 0.001386 -6.669 2.61e-11 *** 13 --- 14 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 15 16 ( Dispersion parameter for Negative Binomial (1) family taken to be 1.947198) @freakonometrics 20
  • 21. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Les régressions pour des données de comptage Il existe aussi une library(counts) • Poisson, fonction variance V (µ) = µ, ml.pois • quasiPoisson, fonction variance V (µ) = ϕµ, • géométrique, fonction variance V (µ) = µ + µ2 , • négative binomiale (NB1), fonction variance V (µ) = µ + αµ, ml.nb1 • négative binomiale (NB2), fonction variance V (µ) = µ + αµ2 , ml.nb2 Pour comparer ces modèles utilisons le petit échantillon 1 > x <- c(1,2,3,4,5) 2 > y <- c(1,2,5,1,8) @freakonometrics 21
  • 22. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Les régressions pour des données de comptage 1 > regression <- glm(y~x,family=poisson(link="log")) q q q q q 1 2 3 4 5 12345678 q q q q q @freakonometrics 22
  • 23. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Les régressions pour des données de comptage 1 > regression <- glm(y~x,family= quasipoisson (link="log")) q q q q q 1 2 3 4 5 12345678 q q q q q q q q q q @freakonometrics 23
  • 24. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Les régressions pour des données de comptage 1 > regression <- glm(y~x,family=negative.binomial (1)) q q q q q 1 2 3 4 5 12345678 q q q q q q q q q q @freakonometrics 24
  • 25. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Les régressions pour des données de comptage 1 > regression <- glm.nb(y~x) q q q q q 1 2 3 4 5 12345678 q q q q q q q q q q @freakonometrics 25
  • 26. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Test(s) de surdispersion Sur l’exemple évoqué au début, on peut ajuster une droite de régression passant par l’origine @freakonometrics 26
  • 27. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Test(s) de surdispersion 1 > library(AER) 2 > variance=as.vector(MV[ ,2]) 3 > moyenne=as.vector(MV[ ,1]) 4 > regression=lm(variance~0+ moyenne ,weight=as.vector(exposition)) 5 > summary(regression) 6 7 Coefficients : 8 Estimate Std. Error t value Pr(>|t|) 9 moyenne 1.09308 0.01171 93.35 <2e -16 *** 10 --- 11 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 12 13 Residual standard error: 0.007593 on 82 degrees of freedom 14 Multiple R-squared: 0.9907 , Adjusted R-squared: 0.9906 15 F-statistic: 8714 on 1 and 82 DF , p-value: < 2.2e-16 @freakonometrics 27
  • 28. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Test(s) de surdispersion On peut faire un test pour voir si la pente vaut 1, ou pas, 1 > linearHypothesis (regression ,"moyenne =1") 2 Hypothesis: 3 moyenne = 1 4 5 Model 1: restricted model 6 Model 2: variance ~ 0 + moyenne 7 8 Res.Df RSS Df Sum of Sq F Pr(>F) 9 1 83 0.0083700 10 2 82 0.0047272 1 0.0036428 63.19 8.807e -12 *** 11 --- 12 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 Sinon, en utilisant la famille quasi-Poisson, on peut aussi faire un test pour tester si ϕ vaut 1, ou pas. @freakonometrics 28
  • 29. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Test(s) de surdispersion Pour cela, on note que la surdispersion correspond à une hétérogénéité résiduelle, c’est à dire un effet aléatoire. Par exemple on peut supposer que (Y |X = X, Z = z) ∼ P(exp[XT β + zT α]) de telle sorte que si u = zT α − E(ZT α|X = X), alors (Y |X = X, Z = z) ∼ P(exp[XT γ + u]) On a un modèle dit à effets fixes, au sens où (Y |X = X) ∼ P(exp[XT γ + U]), où U = ZT α − E(ZT α|X = X). Par exemple, si on suppose que U ∼ γ(α, α), i.e. d’espérance 1 et de variance σ2 = α−1 , alors (Y |U = u) ∼ P(λu) où λ = exp[XT γ], @freakonometrics 29
  • 30. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Test(s) de surdispersion de telle sorte que E(Y |U = u) = Var(Y |U = u). Mais si on regarde la loi nonconditionnelle, E(Y ) = λ alors que Var(Y ) = Var(E[Y |U]) + E(Var(Y |)) = λ + λ2 σ2 . On peut alors proposer un test de la forme suivante: on suppose que Var(Y |X = x) = E(Y |X = x) + τ · E(Y |X = x)2 , on on cherche à tester H0 : τ = 0 contre τ > 0. Parmi les statistiques de test classique, on pourra considérer T = n i=1[(Yi − µi)2 − Yi] 2 n i=1 µ2 i qui suit, sous H0, une loi normale centrée réduite. @freakonometrics 30
  • 31. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 1 > regquasipoisson <- glm(nbre~bs( ageconducteur )+carburant+ offset(log (exposition)), 2 + data=baseFREQ ,family= quasipoisson ) 3 > summary( regquasipoisson ) 4 5 Coefficients : 6 Estimate Std. Error t value Pr(>|t|) 7 (Intercept) -0.8130 0.1055 -7.706 1.32e -14 *** 8 bs( ageconducteur )1 -0.9984 0.3388 -2.947 0.00321 ** 9 bs( ageconducteur )2 -0.2508 0.3426 -0.732 0.46406 10 bs( ageconducteur )3 -1.1986 0.5307 -2.258 0.02393 * 11 carburantE -0.2664 0.0381 -6.992 2.74e -12 *** 12 --- 13 Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1 14 15 ( Dispersion parameter for quasipoisson family taken to be 2.196859) 16 17 Null deviance: 28271 on 49999 degrees of freedom @freakonometrics 31
  • 32. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 18 Residual deviance: 28024 on 49995 degrees of freedom 19 AIC: NA 20 21 Number of Fisher Scoring iterations: 6 22 23 > (summary( regquasipoisson )$dispersion) 24 [1] 2.196859 Le test est programmé de la manière suivante 1 > library(AER) 2 > regpoisson <- glm(nbre~bs( ageconducteur )+carburant+ offset(log( exposition)), 3 + data=baseFREQ ,family=poisson) 4 > dispersiontest (regpoisson) 5 6 Overdispersion test 7 8 data: regpoisson @freakonometrics 32
  • 33. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 9 z = 3.1929 , p-value = 0.0007042 10 alternative hypothesis : true dispersion is greater than 1 11 sample estimates: 12 dispersion 13 1.754662 @freakonometrics 33
  • 34. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Modèles à inflation de zéros Un modèle dit à inflation de zéros ou zero inflated) est un mélange entre une masse en 0 et un modèle classique de comptage Pour modéliser la probabilité de ne pas déclarer un sinistre (surpoids en 0), considérons un modèle logistique πi = exp[XT i β] 1 + exp[XT i β] Pour le modèle de comptage, pi(k) est la probabilité que l’individu i ait k sinistres Alors P(Ni = k) =    πi + [1 − πi] · pi(0) si k = 0, [1 − πi] · pi(k) si k = 1, 2, · · · @freakonometrics 34
  • 35. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Modèles à inflation de zéros Si pi correspond à un modèle Poissonnien (de moyenne λi), alors E(Ni) = [1 − πi]λi et Var(Ni) = πiλi + πiλ2 i [1 − πi]. La library(gamlss) propose la fonction ZIP (pour zero inflated Poisson), et ZINBI lorsque pi correspond à une loi binomiale négative. La library(pscl) propose également une fonction zeroinfl plus simple d’utilisation, proposant aussi bien un modèle de Poisson qu’un modèle binomial négatif Remarque: Il existe aussi des modèles dits zero adapted, où l’on suppose que P(Ni = k) =    πi si k = 0, [1 − πi] · pi(k) 1 − pi(0) si k = 1, 2, · · · Dans library(gamlss) le modèle précédant dans le cas d’une loi de Poisson est ZAP, avec aussi une loi ZANBI. @freakonometrics 35
  • 36. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Modèles à inflation de zéros 1 > library(pscl) 2 > regNZI <- glm(nbre~bs(ageconducteur ,5)+offset(log(exposition)), 3 + data=baseFREQ ,family=poisson(link="log")) 4 > regZI <- zeroinfl(nbre~bs( ageconducteur ) | 5 + bs( ageconducteur ),offset=log(exposition ), 6 + data = baseFREQ ,dist = "poisson",link="logit") On peut s’intéresser plus particulièrement à l’impact de l’âge sur la probabilité de ne pas déclarer de sinistres (correspondant au paramètre de la loi binomiale) 1 > age <-data.frame( ageconducteur =18:90 , exposition =1) 2 > pred0 <- predict(regZI ,newdata=age ,type="zero") 3 > plot(age$ageconducteur ,pred0 ,type="l",xlab="",lwd=2, 4 + ylim=c(0 ,1),ylab=" Probabilite de ne pas declarer un sinistre") @freakonometrics 36
  • 37. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 Modèles à inflation de zéros La principale explication avancée - en France - pour la non déclaration de sinistre est l’existence du système bonus-malus. 1 > regZIbm <- zeroinfl(nbre~1 | 2 + bs(bonus),offset=log(exposition ), 3 + data = baseFREQ ,dist = "poisson",link="logit") @freakonometrics 37
  • 38. Arthur CHARPENTIER - Actuariat de l’Assurance Non-Vie, # 5 4 > B <- data.frame(bonus =50:200 , exposition =1) 5 > pred0 <- predict(regZIbm ,newdata=B,type="zero") 6 > plot(age$ageconducteur ,pred0 ,type="l",xlab="",lwd=2, 7 + ylim=c(0 ,1),ylab=" Probabilite de ne pas declarer un sinistre") @freakonometrics 38