TD de modèle linéaire, exercice 3 - univ-brest.fr

22
TD de modèle linéaire, exercice 3 Pierre Ailliot 06/11/2020 On s’intéresse dans cet exercice aux données "car" disponibles sur la page du livre “GLMs for Insurance Data” de Piet de Jong et Gillian Z. Heller. 1. Décrire rapidement le jeu de données : nombre de variables, nombre d’individus, nature des variables. Pour quel type de calcul actuariel peut-on être amené à considérer ce type de données? Dans la suite, on note z le jeu de données importé sous R. #car <- read.csv("http://www.businessandeconomics.mq.edu.au/__data/assets/file/0011/232310/car.csv",head car <- read.csv("~/car.csv") head(car) ## veh_value exposure clm numclaims claimcst0 veh_body veh_age gender area ## 1 1.06 0.3039014 0 0 0 HBACK 3 F C ## 2 1.03 0.6488706 0 0 0 HBACK 2 F A ## 3 3.26 0.5694730 0 0 0 UTE 2 F E ## 4 4.14 0.3175907 0 0 0 STNWG 2 F D ## 5 0.72 0.6488706 0 0 0 HBACK 4 F C ## 6 2.01 0.8542094 0 0 0 HDTOP 3 M C ## agecat X_OBSTAT_ ## 1 2 01101 0 0 0 ## 2 4 01101 0 0 0 ## 3 2 01101 0 0 0 ## 4 2 01101 0 0 0 ## 5 2 01101 0 0 0 ## 6 4 01101 0 0 0 z=car[,1:10] #dernière colonne enlevée car pas dinfo sur la variable dim(z) ## [1] 67856 10 Un descriptif du jeu de données est disponible via ce lien http://www.businessandeconomics.mq.edu.au/__data/assets/file/0018/232326/vehicle.txt Les variables veh_value, exposure, clm (variable binaire), numclaims (variable entière) claimcst0 sont quantitatives; • veh_body, gender, area sont qualitatives; veh_age et agecat sont ordinales (variables qualitatives ordonnées). Comme ces variables sont codées par des nombres, R les considère comme des variables quantitatives. La commande as.factor permet éventuellement de les transformer en variables qualitatives. On peut se demander si il est plus pertinent de les considérer comme des variables quantitatives ou qualitatives (c’est l’objet de certaines questions de ce TP). 1

Transcript of TD de modèle linéaire, exercice 3 - univ-brest.fr

Page 1: TD de modèle linéaire, exercice 3 - univ-brest.fr

TD de modèle linéaire, exercice 3

Pierre Ailliot

06/11/2020

On s’intéresse dans cet exercice aux données "car" disponibles sur la page du livre “GLMs for Insurance Data”de Piet de Jong et Gillian Z. Heller.

1. Décrire rapidement le jeu de données : nombre de variables, nombre d’individus, nature des variables.Pour quel type de calcul actuariel peut-on être amené à considérer ce type de données? Dans la suite, on notez le jeu de données importé sous R.#car <- read.csv("http://www.businessandeconomics.mq.edu.au/__data/assets/file/0011/232310/car.csv",header=T,sep=",")car <- read.csv("~/car.csv")head(car)

## veh_value exposure clm numclaims claimcst0 veh_body veh_age gender area## 1 1.06 0.3039014 0 0 0 HBACK 3 F C## 2 1.03 0.6488706 0 0 0 HBACK 2 F A## 3 3.26 0.5694730 0 0 0 UTE 2 F E## 4 4.14 0.3175907 0 0 0 STNWG 2 F D## 5 0.72 0.6488706 0 0 0 HBACK 4 F C## 6 2.01 0.8542094 0 0 0 HDTOP 3 M C## agecat X_OBSTAT_## 1 2 01101 0 0 0## 2 4 01101 0 0 0## 3 2 01101 0 0 0## 4 2 01101 0 0 0## 5 2 01101 0 0 0## 6 4 01101 0 0 0z=car[,1:10] #dernière colonne enlevée car pas d'info sur la variabledim(z)

## [1] 67856 10

Un descriptif du jeu de données est disponible via ce lien

http://www.businessandeconomics.mq.edu.au/__data/assets/file/0018/232326/vehicle.txt

Les variables

• veh_value, exposure, clm (variable binaire), numclaims (variable entière) claimcst0 sont quantitatives;

• veh_body, gender, area sont qualitatives;

• veh_age et agecat sont ordinales (variables qualitatives ordonnées). Comme ces variables sont codéespar des nombres, R les considère comme des variables quantitatives. La commande as.factor permetéventuellement de les transformer en variables qualitatives. On peut se demander si il est plus pertinentde les considérer comme des variables quantitatives ou qualitatives (c’est l’objet de certaines questionsde ce TP).

1

Page 2: TD de modèle linéaire, exercice 3 - univ-brest.fr

N.B. Nous n’avons pas d’information sur la dernière variable X_OBSTAT : elle est enlevée dans la suite duTP.

2. Que contient la variable nommée claimcst0? Pourquoi cette variable prend souvent la valeur 0? Créerun nouveau jeu de données, nommé z2 dans la suite, qui contient uniquement les individus pour lesquels lavariable claimcst0 est strictement positive. On donnera les commandes R utilisées.

La variable claimcst0 contient le montant des sinistres. La valeur 0 correspond à l’absence de sinistre.z2=z[which(z$claimcst0>0),]

3. Les questions suivantes sont relatives au jeu de données z2.

3.a. Combien d’individus contient le jeu de données z2?nrow(z2)

## [1] 4624

3.b. On note logclaimcst0 la variable obtenue en prenant le logarithme de la variable claimcst0. Faire unhistogramme des variables claimcst0 et logclaimcst0. Dans la suite, on propose de modéliser la variablelogclaimcst0 plutôt que la variable claimcst0 dans le cadre d’un modèle linéaire gaussien : commenter.head(z2)

## veh_value exposure clm numclaims claimcst0 veh_body veh_age gender area## 15 1.66 0.4845996 1 1 669.5100 SEDAN 3 M B## 17 1.51 0.9938398 1 1 806.6100 SEDAN 3 F F## 18 0.76 0.5393566 1 1 401.8055 HBACK 3 M C## 41 1.89 0.6543463 1 2 1811.7100 STNWG 3 M F## 65 4.06 0.8514716 1 1 5434.4400 STNWG 2 M F## 66 1.39 0.3175907 1 1 865.7900 HBACK 3 F A## agecat## 15 6## 17 4## 18 4## 41 2## 65 3## 66 4split.screen(c(1,2))

## [1] 1 2screen(1)hist(z2$claimcst0)screen(2)hist(log(z2$claimcst0))

2

Page 3: TD de modèle linéaire, exercice 3 - univ-brest.fr

Histogram of z2$claimcst0

z2$claimcst0

Fre

quen

cy

0 20000 40000 60000

010

0020

0030

0040

00Histogram of log(z2$claimcst0)

log(z2$claimcst0)

Fre

quen

cy

5 6 7 8 9 100

200

400

600

800

On observe que le jeu de données initiale contient certains sinistres très élevés (avec le vocabulaire du coursde valeurs extrêmes, on parle de lois à “queues lourdes”). Ces valeurs extrêmes risquent d’impacter fortementles résultats du modèle linéaire (individus avec une forte ‘contribution’ appelés ‘points leviers’ en régression).La transformation log permet d’“écraser” ces fortes valeurs. Cette transformation est très souvent utilisée enéconométrie et en finance par exemple.

On remarquera que la distribution de logclaimcst0 n’est pas gaussienne. Cela n’est pas contradictoire avecl’utilisation d’un modèle linéaire gaussien. Dans le modèle linéaire gaussien, on suppose que seulement lesrésidus sont gaussiens.

3.c. La variable gender a-t-elle un effet significatif sur la variable logclaimcst0? On répondra à cette questionen ajustant un modèle linéaire. On décrira précisément le modèle ajusté, les commandes R utilisées et ondiscutera en détail les résultats numériques obtenus.z3=z2;logclaimcst0=log(z2$claimcst0)z3[,5]=logclaimcst0names(z3)[5]='logclaimcst0'boxplot(logclaimcst0~gender,data=z3)

3

Page 4: TD de modèle linéaire, exercice 3 - univ-brest.fr

F M

67

89

1011

gender

logc

laim

cst0

fit=lm(logclaimcst0~gender,data=z3)summary(fit)

#### Call:## lm(formula = logclaimcst0 ~ gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.5618 -0.9143 -0.1670 0.8505 4.0715#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.77270 0.02310 293.202 <2e-16 ***## genderM 0.08746 0.03534 2.475 0.0134 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.189 on 4622 degrees of freedom## Multiple R-squared: 0.001324, Adjusted R-squared: 0.001108## F-statistic: 6.127 on 1 and 4622 DF, p-value: 0.01335

Le modèle ajusté s’écritYi = µ+ β21l(xi = 2) +Wi

avec xi ∈ 1, 2 le genre de l’individu (xi = 1 si le ième individu est de genre F et xi = 2 si le ième individu estde genre M). Une estimation de l’effet différentiel β2 est b̂2 = 0.08746. La p-value du test H0 : β2 = 0 est0.013 et on refuse donc H0 pour un risque de première espèce α = 5%.

4

Page 5: TD de modèle linéaire, exercice 3 - univ-brest.fr

Conclusion : la différence de montant des sinistres pour les femmes et les hommes est ‘statistiquementsignificative’.

3.d. La variable agecat a-t-elle un effet significatif sur la variable logclaimcst0? On répondra à cette questionen ajustant un modèle linéaire. On comparera les résultats obtenus en considérant la variable agecat comme unvariable quantitative puis une variable qualitative. On décrira précisément les modèles ajustés, les commandesR utilisées et on discutera en détail les résultats numériques obtenus.boxplot(logclaimcst0~agecat,data=z3)

1 2 3 4 5 6

67

89

1011

agecat

logc

laim

cst0

Si agecat est une variable quantitative, alors le modèle ajusté s’écrit

Yi = β0 + β1xi +Wi (1)

avec xi la catégorie d’âge (considérée comme un nombre).fit2=lm(logclaimcst0~agecat,data=z3) #par défaut agecat est quantitatif pour Rsummary(fit2)

#### Call:## lm(formula = logclaimcst0 ~ agecat, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.6013 -0.9379 -0.1703 0.8358 4.0706#### Coefficients:## Estimate Std. Error t value Pr(>|t|)

5

Page 6: TD de modèle linéaire, exercice 3 - univ-brest.fr

## (Intercept) 6.93810 0.04459 155.58 < 2e-16 ***## agecat -0.03850 0.01234 -3.12 0.00182 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.188 on 4622 degrees of freedom## Multiple R-squared: 0.002102, Adjusted R-squared: 0.001886## F-statistic: 9.737 on 1 and 4622 DF, p-value: 0.001818

Si agecat est une variable qualitative, alors le modèle ajusté s’écrit

Yi = µ+p∑j=2

βj1l(xi = j) +Wi

fit1=lm(logclaimcst0~as.factor(agecat),data=z3) #on force agecat qualitatifsummary(fit1)

#### Call:## lm(formula = logclaimcst0 ~ as.factor(agecat), data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.7018 -0.9293 -0.1644 0.8397 4.1115#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 7.00013 0.05333 131.251 < 2e-16 ***## as.factor(agecat)2 -0.17991 0.06602 -2.725 0.006452 **## as.factor(agecat)3 -0.20220 0.06413 -3.153 0.001625 **## as.factor(agecat)4 -0.21685 0.06421 -3.377 0.000738 ***## as.factor(agecat)5 -0.27531 0.07171 -3.839 0.000125 ***## as.factor(agecat)6 -0.21264 0.08191 -2.596 0.009464 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.188 on 4618 degrees of freedom## Multiple R-squared: 0.003612, Adjusted R-squared: 0.002533## F-statistic: 3.348 on 5 and 4618 DF, p-value: 0.005073

On peut vérifier que le premier modèle est un cas particulier du deuxième modèle. Ceci justifie l’utilisationd’un test de Fisher pour comparer les deux modèles.anova(fit2,fit1) #les deux modèles sont 'emboités' donc on peut faire une anova

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ agecat## Model 2: logclaimcst0 ~ as.factor(agecat)## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4622 6525.3## 2 4618 6515.4 4 9.872 1.7493 0.1362

La p-value du test d’analyse de la variance est pv = 0.13, donc l’hypothèse

H0 : le modèle (1) est valide

6

Page 7: TD de modèle linéaire, exercice 3 - univ-brest.fr

est acceptée avec un risque de première espèce α = 5%.

Conclusion : il est inutile de complexifier le modèle en considérant agecat comme une variable quantitative.

3.e. Ajuster un modèle de régression linéaire multiple avec interaction permettant d’expliquer la variablelogclaimcst0 en fonction des variables gender et agecat, considérée comme une variable qualitative puisquantitative. Le modèle avec interaction est-il meilleur que le modèle sans interaction? On décrira précisémentles modèles ajustés, les commandes R utilisées et on discutera en détail les résultats numériques obtenus.#agecat comme variable qualitative#stat descriptive : comment visualiser l'interaction?interaction.plot(as.factor(z3$agecat),z3$gender,z3$logclaimcst0)

6.7

6.8

6.9

7.0

7.1

as.factor(z3$agecat)

mea

n of

z3$

logc

laim

cst0

1 2 3 4 5 6

z3$gender

MF

#test de significativité interactionfit1=lm(logclaimcst0~as.factor(agecat)*gender,data=z3) #modele avec interactionsummary(fit1)

#### Call:## lm(formula = logclaimcst0 ~ as.factor(agecat) * gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.8527 -0.9205 -0.1652 0.8425 4.0497#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.87987 0.07145 96.287 <2e-16 ***

7

Page 8: TD de modèle linéaire, exercice 3 - univ-brest.fr

## as.factor(agecat)2 -0.10513 0.08792 -1.196 0.2318## as.factor(agecat)3 -0.07650 0.08458 -0.905 0.3658## as.factor(agecat)4 -0.15152 0.08542 -1.774 0.0762 .## as.factor(agecat)5 -0.17866 0.09737 -1.835 0.0666 .## as.factor(agecat)6 -0.10840 0.11335 -0.956 0.3389## genderM 0.27113 0.10729 2.527 0.0115 *## as.factor(agecat)2:genderM -0.16382 0.13305 -1.231 0.2183## as.factor(agecat)3:genderM -0.28538 0.12990 -2.197 0.0281 *## as.factor(agecat)4:genderM -0.13960 0.12945 -1.078 0.2809## as.factor(agecat)5:genderM -0.22150 0.14392 -1.539 0.1239## as.factor(agecat)6:genderM -0.23919 0.16417 -1.457 0.1452## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.187 on 4612 degrees of freedom## Multiple R-squared: 0.006179, Adjusted R-squared: 0.003809## F-statistic: 2.607 on 11 and 4612 DF, p-value: 0.002603fit2=lm(logclaimcst0~as.factor(agecat)+gender,data=z3) #modele sans interactionsummary(fit2)

#### Call:## lm(formula = logclaimcst0 ~ as.factor(agecat) + gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.7511 -0.9256 -0.1588 0.8478 4.0605#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.96084 0.05557 125.272 < 2e-16 ***## as.factor(agecat)2 -0.17816 0.06598 -2.700 0.006958 **## as.factor(agecat)3 -0.19673 0.06413 -3.068 0.002168 **## as.factor(agecat)4 -0.21455 0.06418 -3.343 0.000835 ***## as.factor(agecat)5 -0.27815 0.07168 -3.880 0.000106 ***## as.factor(agecat)6 -0.21776 0.08189 -2.659 0.007861 **## genderM 0.08858 0.03538 2.503 0.012333 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.187 on 4617 degrees of freedom## Multiple R-squared: 0.004963, Adjusted R-squared: 0.003669## F-statistic: 3.838 on 6 and 4617 DF, p-value: 0.0008036anova(fit2,fit1) #test de Fisher

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ as.factor(agecat) + gender## Model 2: logclaimcst0 ~ as.factor(agecat) * gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4617 6506.6## 2 4612 6498.6 5 7.9575 1.1295 0.3422

D’après les résultats ci-dessus, l’hypothèse

8

Page 9: TD de modèle linéaire, exercice 3 - univ-brest.fr

H0 : le "modèle sans interaction" est valide

est acceptée (p-value de 0.34).

Conclusion : on peut enlever le terme d’interaction

On peut ensuite tester si la variable agecat a un effet significatif dans le modèle sans interaction.fit3=lm(logclaimcst0~gender,data=z3) #modèle sans agecatanova(fit3,fit2)

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ gender## Model 2: logclaimcst0 ~ as.factor(agecat) + gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4622 6530.4## 2 4617 6506.6 5 23.794 3.3768 0.004776 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusion : agecat a un effet significatif (p-value égale à 0.004776).

On peut enfin tester si la variable gender a un effet significatif dans le modèle sans interaction.#test de significativité de la variable gender dans le modèle sans interactionfit4=lm(logclaimcst0~as.factor(agecat),data=z3) #modèle sans genderanova(fit4,fit2)

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ as.factor(agecat)## Model 2: logclaimcst0 ~ as.factor(agecat) + gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4618 6515.4## 2 4617 6506.6 1 8.8322 6.2672 0.01233 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusion : gender a un effet significatif (p-value égale à 0.0123). On sélectionne le modèle d’analyse de lavariance à 2 facteurs sans interaction.

Considérons maintenant agecat comme variable quantitative. On utilise le modèle d’analyse de la covarianceet on fait les mêmes analyses que dans le cours et les exercices précédents.#représentation graphiquelibrary(ggplot2)ggplot(z3, aes(y=logclaimcst0, x=agecat,colour=gender ,fill=gender))+

geom_point()+geom_smooth(method = "lm")+theme_classic()

## `geom_smooth()` using formula 'y ~ x'

9

Page 10: TD de modèle linéaire, exercice 3 - univ-brest.fr

6

7

8

9

10

11

2 4 6agecat

logc

laim

cst0 gender

F

M

fit1=lm(logclaimcst0~agecat*gender,data=z3) #modele avec interactionsummary(fit1)

#### Call:## lm(formula = logclaimcst0 ~ agecat * gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.6916 -0.9363 -0.1602 0.8433 4.0110#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.86159 0.05973 114.880 <2e-16 ***## agecat -0.02709 0.01679 -1.613 0.1067## genderM 0.18269 0.08984 2.033 0.0421 *## agecat:genderM -0.02732 0.02476 -1.103 0.2700## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.187 on 4620 degrees of freedom## Multiple R-squared: 0.003813, Adjusted R-squared: 0.003166## F-statistic: 5.895 on 3 and 4620 DF, p-value: 0.0005187

On peut ensuite chercher des modèles réduits.

10

Page 11: TD de modèle linéaire, exercice 3 - univ-brest.fr

#modele sans interaction (intercept différents mais même pente)fit2=lm(logclaimcst0~agecat+gender,data=z3)summary(fit2)

#### Call:## lm(formula = logclaimcst0 ~ agecat + gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.6564 -0.9442 -0.1617 0.8376 4.0200#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.90281 0.04660 148.128 < 2e-16 ***## agecat -0.03965 0.01234 -3.214 0.00132 **## genderM 0.09155 0.03532 2.592 0.00958 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.187 on 4621 degrees of freedom## Multiple R-squared: 0.003551, Adjusted R-squared: 0.003119## F-statistic: 8.233 on 2 and 4621 DF, p-value: 0.0002696anova(fit1,fit2) #fit2 accepté (p_v>5%)

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ agecat * gender## Model 2: logclaimcst0 ~ agecat + gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4620 6514.1## 2 4621 6515.8 -1 -1.7163 1.2172 0.27#modele avec intercept commun (mais pentes différentes)fit3=lm(logclaimcst0~agecat*gender-gender,data=z3)summary(fit3)

#### Call:## lm(formula = logclaimcst0 ~ agecat * gender - gender, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.6150 -0.9352 -0.1657 0.8432 4.0475#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.942333 0.044634 155.541 < 2e-16 ***## agecat -0.048027 0.013268 -3.620 0.000298 ***## agecat:genderM 0.018975 0.009737 1.949 0.051378 .## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.188 on 4621 degrees of freedom

11

Page 12: TD de modèle linéaire, exercice 3 - univ-brest.fr

## Multiple R-squared: 0.002922, Adjusted R-squared: 0.00249## F-statistic: 6.77 on 2 and 4621 DF, p-value: 0.001159anova(fit3,fit1) #fit3 refusé (p_v<5%)

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ agecat * gender - gender## Model 2: logclaimcst0 ~ agecat * gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4621 6519.9## 2 4620 6514.1 1 5.8301 4.1349 0.04206 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#modele avec intercept et pentes communsfit4=lm(logclaimcst0~agecat,data=z3)summary(fit4)

#### Call:## lm(formula = logclaimcst0 ~ agecat, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -1.6013 -0.9379 -0.1703 0.8358 4.0706#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.93810 0.04459 155.58 < 2e-16 ***## agecat -0.03850 0.01234 -3.12 0.00182 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.188 on 4622 degrees of freedom## Multiple R-squared: 0.002102, Adjusted R-squared: 0.001886## F-statistic: 9.737 on 1 and 4622 DF, p-value: 0.001818anova(fit4,fit1) #fit4 refusé (p_v<5%)

## Analysis of Variance Table#### Model 1: logclaimcst0 ~ agecat## Model 2: logclaimcst0 ~ agecat * gender## Res.Df RSS Df Sum of Sq F Pr(>F)## 1 4622 6525.3## 2 4620 6514.1 2 11.189 3.9677 0.01898 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

• Il faut que vous soyez capables d’écrire les modèles qui correspondent aux différents ajustement ci-dessus.

• Pensez à vérifier que les modèles sont emboîtés avant de faire un test de Fisher. Par exemple, fit2 etfit3 ne sont pas emboîtés (c’est à dire que fit2 n’est pas un cas particulier de fit3 et vice-versa).

• Si on regarde les R2aj , le meilleur modèle est fit1 (modèle complet). Le test de Fisher indique qu’on

peut conserver le modèle fit2.

12

Page 13: TD de modèle linéaire, exercice 3 - univ-brest.fr

3.f. Ajuster un modèle de régression linéaire multiple permettant d’expliquer la variable logclaimcst0 en fonctiondes variables veh_value, exposure,veh_body, veh_age, gender, area et agecat. On décrira précisément lemodèle ajusté, les commandes R utilisées et on discutera en détail les résultats numériques obtenus. Est-ceque toutes les variables explicatives ont un effet significatif sur la variable logclaimcst0?#Ajustement du modèle completfit=lm(logclaimcst0~veh_value+exposure+veh_body+as.factor(veh_age)+gender+area+agecat,data=z3)summary(fit)

#### Call:## lm(formula = logclaimcst0 ~ veh_value + exposure + veh_body +## as.factor(veh_age) + gender + area + agecat, data = z3)#### Residuals:## Min 1Q Median 3Q Max## -2.0102 -0.9735 -0.1524 0.8404 3.9803#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 6.8291562 0.4092032 16.689 < 2e-16 ***## veh_value 0.0160232 0.0239987 0.668 0.504378## exposure -0.3016944 0.0668055 -4.516 6.46e-06 ***## veh_bodyCONVT 0.0006509 0.7939360 0.001 0.999346## veh_bodyCOUPE 0.2549485 0.4204994 0.606 0.544346## veh_bodyHBACK 0.0846424 0.3972239 0.213 0.831270## veh_bodyHDTOP -0.0493107 0.4082283 -0.121 0.903861## veh_bodyMCARA -0.5486967 0.5074029 -1.081 0.279584## veh_bodyMIBUS 0.3122294 0.4344429 0.719 0.472369## veh_bodyPANVN 0.1181089 0.4226162 0.279 0.779896## veh_bodyRDSTR -0.4532538 0.9268573 -0.489 0.624849## veh_bodySEDAN 0.0214377 0.3965719 0.054 0.956892## veh_bodySTNWG 0.0038829 0.3970303 0.010 0.992197## veh_bodyTRUCK 0.1564045 0.4090852 0.382 0.702236## veh_bodyUTE 0.0847727 0.4013371 0.211 0.832721## as.factor(veh_age)2 0.0883650 0.0543539 1.626 0.104075## as.factor(veh_age)3 0.1545998 0.0592254 2.610 0.009074 **## as.factor(veh_age)4 0.2256511 0.0707181 3.191 0.001428 **## genderM 0.0870698 0.0367220 2.371 0.017778 *## areaB -0.0272322 0.0524300 -0.519 0.603506## areaC 0.0096308 0.0478715 0.201 0.840567## areaD 0.0356267 0.0648362 0.549 0.582698## areaE 0.1366833 0.0712589 1.918 0.055157 .## areaF 0.2850450 0.0819364 3.479 0.000508 ***## agecat -0.0310595 0.0125100 -2.483 0.013072 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.181 on 4599 degrees of freedom## Multiple R-squared: 0.01839, Adjusted R-squared: 0.01327## F-statistic: 3.591 on 24 and 4599 DF, p-value: 7.66e-09

Le Rˆ2 est faible (proche de 1.5%) comme souvent en tarification. Il est possible de complexifier le modèle en

• rajoutant des interactions comme dans les questions précédentes

13

Page 14: TD de modèle linéaire, exercice 3 - univ-brest.fr

• effectuant des transformations (log, puissance,. . . ) des variables explicatives (cf exercice 1 par exemple)

• recodant certaines variables quantitatives en variable qualitative comme dans l’exemple ci-dessous (R2aj

est légèrement meilleur lorsqu’on discrétise la variable exposure).fit1=lm(logclaimcst0~cut(exposure,seq(0,1,by=.1)),data=z3)summary(fit1)

#### Call:## lm(formula = logclaimcst0 ~ cut(exposure, seq(0, 1, by = 0.1)),## data = z3)#### Residuals:## Min 1Q Median 3Q Max## -2.0011 -0.9213 -0.1669 0.8452 4.0446#### Coefficients:## Estimate Std. Error t value## (Intercept) 7.2994 0.0988 73.879## cut(exposure, seq(0, 1, by = 0.1))(0.1,0.2] -0.4123 0.1259 -3.276## cut(exposure, seq(0, 1, by = 0.1))(0.2,0.3] -0.4166 0.1191 -3.498## cut(exposure, seq(0, 1, by = 0.1))(0.3,0.4] -0.4772 0.1144 -4.173## cut(exposure, seq(0, 1, by = 0.1))(0.4,0.5] -0.5023 0.1140 -4.407## cut(exposure, seq(0, 1, by = 0.1))(0.5,0.6] -0.4254 0.1111 -3.830## cut(exposure, seq(0, 1, by = 0.1))(0.6,0.7] -0.4812 0.1103 -4.361## cut(exposure, seq(0, 1, by = 0.1))(0.7,0.8] -0.5685 0.1104 -5.149## cut(exposure, seq(0, 1, by = 0.1))(0.8,0.9] -0.5300 0.1101 -4.815## cut(exposure, seq(0, 1, by = 0.1))(0.9,1] -0.5943 0.1077 -5.519## Pr(>|t|)## (Intercept) < 2e-16 ***## cut(exposure, seq(0, 1, by = 0.1))(0.1,0.2] 0.001062 **## cut(exposure, seq(0, 1, by = 0.1))(0.2,0.3] 0.000473 ***## cut(exposure, seq(0, 1, by = 0.1))(0.3,0.4] 3.06e-05 ***## cut(exposure, seq(0, 1, by = 0.1))(0.4,0.5] 1.07e-05 ***## cut(exposure, seq(0, 1, by = 0.1))(0.5,0.6] 0.000130 ***## cut(exposure, seq(0, 1, by = 0.1))(0.6,0.7] 1.32e-05 ***## cut(exposure, seq(0, 1, by = 0.1))(0.7,0.8] 2.73e-07 ***## cut(exposure, seq(0, 1, by = 0.1))(0.8,0.9] 1.52e-06 ***## cut(exposure, seq(0, 1, by = 0.1))(0.9,1] 3.59e-08 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.186 on 4614 degrees of freedom## Multiple R-squared: 0.008106, Adjusted R-squared: 0.006171## F-statistic: 4.189 on 9 and 4614 DF, p-value: 2.073e-05fit2=lm(logclaimcst0~exposure,data=z3)summary(fit2)

#### Call:## lm(formula = logclaimcst0 ~ exposure, data = z3)#### Residuals:## Min 1Q Median 3Q Max

14

Page 15: TD de modèle linéaire, exercice 3 - univ-brest.fr

## -1.7028 -0.9311 -0.1582 0.8218 3.9789#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 7.00285 0.04435 157.907 < 2e-16 ***## exposure -0.31535 0.06670 -4.728 2.33e-06 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 1.187 on 4622 degrees of freedom## Multiple R-squared: 0.004813, Adjusted R-squared: 0.004598## F-statistic: 22.35 on 1 and 4622 DF, p-value: 2.335e-06

3.g. Proposer un sous-modèle du modèle ajusté dans la question précédente dans lequel toutes les variablesont un effet significatif sur la variable logclaimcst0 et qui est "meilleur" que le modèle complet. On décriraprécisément les commandes R utilisées et on discutera en détail les résultats numériques obtenus.

Utilisons d’abord le package leaps pour faire la sélection de variables.#avec leapslibrary(leaps)sel=regsubsets(logclaimcst0~veh_value+exposure+veh_body+as.factor(veh_age)+gender+area+agecat,data=z3,nvmax =100,method="exhaustive")plot(sel,scale="adjr2")

adjr2

(Int

erce

pt)

veh_

valu

eex

posu

reve

h_bo

dyC

ON

VT

veh_

body

CO

UP

Eve

h_bo

dyH

BA

CK

veh_

body

HD

TOP

veh_

body

MC

AR

Ave

h_bo

dyM

IBU

Sve

h_bo

dyPA

NV

Nve

h_bo

dyR

DS

TR

veh_

body

SE

DA

Nve

h_bo

dyS

TN

WG

veh_

body

TR

UC

Kve

h_bo

dyU

TE

as.fa

ctor

(veh

_age

)2as

.fact

or(v

eh_a

ge)3

as.fa

ctor

(veh

_age

)4ge

nder

Mar

eaB

area

Car

eaD

area

Ear

eaF

agec

at

0.00460.0094

0.0120.0130.0130.0140.0140.0140.0140.0150.0150.015

Lorsque des variables qualitatives sont présentes, chaque modalité est recodée par une indicatrice et regsubsetsfait de la sélection de variable sur ces variables indicatrices. Cela peut conduire à enlever seulement certainesindicatrices associées à une variable qualitative comme dans l’exemple ci-dessus. En pratique, enlever uneindicatrice revient à regrouper la modalité associée avec la modalité de référence, ce qui n’a pas forcément de

15

Page 16: TD de modèle linéaire, exercice 3 - univ-brest.fr

sens pour les applications.

En pratique, on cherche généralement à sélectionner soit l’ensemble des indicatrices associées à une variablequalitative, soit à les enlever toutes (on parle de ‘groupes’ de variables, les groupes de variables correspondantà l’ensemble des indicatrices associées à une variable qualitative). Une littérature abondante existe sur lesujet (taper ‘model selection grouped variables’ dans un moteur de recherche pour plus d’informations).

On peut utiliser la fonction ‘exhaustive’ de l’exercice 1 pour faire la sélection exhaustive en prenant comptedes groupes d’indicatrices.

On peut aussi utiliser la fonction stepAIC du package MASS. Cette fonction fait une sélection ‘stepwise’ enutilisant le critère AIC.library(MASS)stepAIC(fit)

## Start: AIC=1566.5## logclaimcst0 ~ veh_value + exposure + veh_body + as.factor(veh_age) +## gender + area + agecat#### Df Sum of Sq RSS AIC## - veh_body 12 18.2900 6437.0 1555.7## - veh_value 1 0.6222 6419.4 1564.9## <none> 6418.7 1566.5## - gender 1 7.8464 6426.6 1570.2## - agecat 1 8.6033 6427.3 1570.7## - as.factor(veh_age) 3 14.9006 6433.6 1571.2## - area 5 24.8930 6443.6 1574.4## - exposure 1 28.4641 6447.2 1585.0#### Step: AIC=1555.65## logclaimcst0 ~ veh_value + exposure + as.factor(veh_age) + gender +## area + agecat#### Df Sum of Sq RSS AIC## - veh_value 1 0.0004 6437.0 1553.7## <none> 6437.0 1555.7## - gender 1 8.1991 6445.2 1559.5## - as.factor(veh_age) 3 15.2555 6452.3 1560.6## - agecat 1 10.6468 6447.7 1561.3## - area 5 24.5398 6461.6 1563.2## - exposure 1 28.5240 6465.6 1574.1#### Step: AIC=1553.65## logclaimcst0 ~ exposure + as.factor(veh_age) + gender + area +## agecat#### Df Sum of Sq RSS AIC## <none> 6437.0 1553.7## - gender 1 8.4353 6445.5 1557.7## - agecat 1 10.6466 6447.7 1559.3## - area 5 25.6322 6462.7 1562.0## - as.factor(veh_age) 3 22.2018 6459.2 1563.6## - exposure 1 28.5655 6465.6 1572.1

#### Call:

16

Page 17: TD de modèle linéaire, exercice 3 - univ-brest.fr

## lm(formula = logclaimcst0 ~ exposure + as.factor(veh_age) + gender +## area + agecat, data = z3)#### Coefficients:## (Intercept) exposure as.factor(veh_age)2## 6.92782 -0.30121 0.07692## as.factor(veh_age)3 as.factor(veh_age)4 genderM## 0.13443 0.20293 0.08664## areaB areaC areaD## -0.02323 0.01134 0.03375## areaE areaF agecat## 0.13757 0.27758 -0.03411

Le modèle sélectionne par stepAIC a 5 variables (“exposure” “veh_age” “gender” “area” “agecat”) et un AICde 1553.65.

3.h. Reprendre les questions précédentes en utilisant des modèles GLM log-gamma et GLM log-normal pour lavariable claimcst0 et comparer les résultats obtenus avec ceux du modèle linéaire en utilisant la validationcroisée. Pour la sélection de modèle, on pourra par exemple utiliser les packages bestglm et glmnet.fit=glm(claimcst0~veh_value+exposure+veh_body+as.factor(veh_age)

+gender+area+as.factor(agecat),data=z2,family=Gamma(link="log"))

#le lien par défaut des GLM-gamma est la fonction inversesummary(fit)

#### Call:## glm(formula = claimcst0 ~ veh_value + exposure + veh_body + as.factor(veh_age) +## gender + area + as.factor(agecat), family = Gamma(link = "log"),## data = z2)#### Deviance Residuals:## Min 1Q Median 3Q Max## -2.0368 -1.3676 -0.7811 0.1057 5.7553#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 7.58240 0.55686 13.616 < 2e-16 ***## veh_value 0.03335 0.03266 1.021 0.30722## exposure -0.74907 0.09083 -8.247 < 2e-16 ***## veh_bodyCONVT 0.38748 1.07881 0.359 0.71948## veh_bodyCOUPE 0.61456 0.57151 1.075 0.28228## veh_bodyHBACK 0.46265 0.53969 0.857 0.39135## veh_bodyHDTOP 0.42148 0.55467 0.760 0.44737## veh_bodyMCARA -0.65286 0.68937 -0.947 0.34367## veh_bodyMIBUS 0.72277 0.59051 1.224 0.22103## veh_bodyPANVN 0.46436 0.57424 0.809 0.41875## veh_bodyRDSTR -0.56315 1.25957 -0.447 0.65483## veh_bodySEDAN 0.33929 0.53882 0.630 0.52894## veh_bodySTNWG 0.31629 0.53952 0.586 0.55773## veh_bodyTRUCK 0.59855 0.55583 1.077 0.28160## veh_bodyUTE 0.43325 0.54529 0.795 0.42692## as.factor(veh_age)2 0.06599 0.07388 0.893 0.37179## as.factor(veh_age)3 0.10563 0.08055 1.311 0.18982## as.factor(veh_age)4 0.18390 0.09618 1.912 0.05594 .

17

Page 18: TD de modèle linéaire, exercice 3 - univ-brest.fr

## genderM 0.14690 0.05002 2.937 0.00334 **## areaB -0.05146 0.07124 -0.722 0.47015## areaC 0.04549 0.06507 0.699 0.48451## areaD -0.06235 0.08812 -0.708 0.47928## areaE 0.11572 0.09681 1.195 0.23201## areaF 0.34190 0.11136 3.070 0.00215 **## as.factor(agecat)2 -0.14180 0.08991 -1.577 0.11485## as.factor(agecat)3 -0.23387 0.08753 -2.672 0.00757 **## as.factor(agecat)4 -0.20237 0.08758 -2.311 0.02089 *## as.factor(agecat)5 -0.31618 0.09791 -3.229 0.00125 **## as.factor(agecat)6 -0.22556 0.11204 -2.013 0.04415 *## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### (Dispersion parameter for Gamma family taken to be 2.575781)#### Null deviance: 7379.9 on 4623 degrees of freedom## Residual deviance: 6989.2 on 4595 degrees of freedom## AIC: 79175#### Number of Fisher Scoring iterations: 7# bestglm pas adaptée pour les variables qualitatives# selection de modele avec stepAICstepAIC(fit)

## Start: AIC=79175.36## claimcst0 ~ veh_value + exposure + veh_body + as.factor(veh_age) +## gender + area + as.factor(agecat)#### Df Deviance AIC## - veh_body 12 7031.8 79168## - as.factor(veh_age) 3 6999.9 79174## - veh_value 1 6992.6 79175## <none> 6989.2 79175## - as.factor(agecat) 5 7021.3 79178## - area 5 7030.8 79181## - gender 1 7010.8 79182## - exposure 1 7178.3 79247#### Step: AIC=79185.61## claimcst0 ~ veh_value + exposure + as.factor(veh_age) + gender +## area + as.factor(agecat)

#### Call: glm(formula = claimcst0 ~ veh_value + exposure + as.factor(veh_age) +## gender + area + as.factor(agecat), family = Gamma(link = "log"),## data = z2)#### Coefficients:## (Intercept) veh_value exposure## 8.059940 0.009588 -0.749504## as.factor(veh_age)2 as.factor(veh_age)3 as.factor(veh_age)4## 0.046428 0.078102 0.144836## genderM areaB areaC

18

Page 19: TD de modèle linéaire, exercice 3 - univ-brest.fr

## 0.145186 -0.044763 0.050234## areaD areaE areaF## -0.062256 0.115003 0.337349## as.factor(agecat)2 as.factor(agecat)3 as.factor(agecat)4## -0.160857 -0.247702 -0.230969## as.factor(agecat)5 as.factor(agecat)6## -0.339971 -0.263197#### Degrees of Freedom: 4623 Total (i.e. Null); 4607 Residual## Null Deviance: 7380## Residual Deviance: 7032 AIC: 79190#Il existe de nombreux packages R pour faire de la sélection de modèle dans les GLM

Le modèle sélectionné par stepAIC est

claimcst0 ~ veh_value + exposure + as.factor(veh_age) + gender + area + as.factor(agecat)

Comparons le modèle linéaire gaussien et le modèle GLM par validation croiséen=dim(z2)[1]app=sample(1:n,3000) #période apprentissageval=setdiff(1:n,app) #période validation

#prédiction avec le modèle linéaire sélectionné par stepAICfit=lm(log(claimcst0)~exposure + as.factor(veh_age) + gender +

area + agecat,data=z2,subset=app)

predlog=predict(fit,z3[val,]) #prédiction du logpred1=exp(predlog) #prédiction "naive"apred=z2$claimcst0[val] #variable à prédiresum((pred1-apred)^2)/length(val) #MSE pour la prédiction "naïve"

## [1] 9927839

Rappelons que si Y = log(X) suit une loi N (µ, σ2) alors X suit une loi log-normale de paramètre µ et σ.Certaines propriétés de la loi log-normale sont rappelées sur la page wikipédia associée

https://fr.wikipedia.org/wiki/Loi_log-normale

En particulier, on a E[X] = exp(µ+ σ2

2 ). Cela suggère de corriger la prédiction de la manière suivante (afinde prendre en compte que E[exp(Y )] 6= exp(E[Y ]) et de corriger le bais dans la prédiction).#estimation de sig^2sig2=sum(fit$residuals^2)/(length(app)-length(fit$coefficients))#prédicition avec l'espérance loi log-normalepred2=exp(predlog+sig2/2)sum((pred2-apred)^2)/length(val) #MSE pour la prédiction corrigée

## [1] 8906932

On obtient bien une erreur plus faible en corrigeant la prédiction. La fonction predict permet de faire laprédiction pour un modèle glm.#Ajustement du modèle glm sélectionné par stepAICfit2=glm( claimcst0 ~ veh_value + exposure + as.factor(veh_age) +

gender + area + as.factor(agecat),family = Gamma(link="log"),subset=app,data=z2)#prédiction. Attention de ne pas oublier l'argument type="response".pred3=predict(fit2,z2[val,],type="response")sum((pred3-apred)^2)/length(val) #MSE pour le GLM

19

Page 20: TD de modèle linéaire, exercice 3 - univ-brest.fr

## [1] 8794663

Conclusion : le modèle GLM log-gamma donne de meilleurs prédictions que le modèle linéaire gaussien.

4. Les questions suivantes sont relatives au jeu de données initial z.

4.a. Que contient la variable nommée clm?

clm est une variable binaire qui décrit l’absence ou la présence de sinistre.

4.b. La variable veh_value a-t-elle un effet significatif sur la variable clm? On répondra à cette question enajustant un modèle linéaire généralisé approprié. On décrira précisément le modèle ajusté, les commandes Rutilisées et on discutera en détail les résultats numériques obtenus.

#régression logistique pour variable binairefit=glm(clm~veh_value,data=z,family=binomial)summary(fit)

#### Call:## glm(formula = clm ~ veh_value, family = binomial, data = z)#### Deviance Residuals:## Min 1Q Median 3Q Max## -0.8602 -0.3782 -0.3718 -0.3664 2.3579#### Coefficients:## Estimate Std. Error z value Pr(>|z|)## (Intercept) -2.71588 0.02621 -103.629 < 2e-16 ***## veh_value 0.05533 0.01152 4.804 1.56e-06 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### (Dispersion parameter for binomial family taken to be 1)#### Null deviance: 33767 on 67855 degrees of freedom## Residual deviance: 33745 on 67854 degrees of freedom## AIC: 33749#### Number of Fisher Scoring iterations: 5

La p-value du test (1.56e-06) indique que veh_value a un effet significatif sur clm.

4.c. Ajuster un modèle de régression linéaire généralisé permettant d’expliquer la variable clm en fonctiondes variables veh_value, exposure, veh_body, veh_age, gender, area et agecat. On décrira précisément lemodèle ajusté, les commandes R utilisées et on discutera en détail les résultats numériques obtenus. Est-ceque toutes les variables explicatives ont un effet significatif sur la variable clm? Sinon, quelles variablesproposez-vous de conserver dans le modèle?fit=glm(clm~veh_value+exposure+veh_body+veh_age

+gender+area+agecat,data=z,family=binomial) #regression logistique pour variable binairesummary(fit)

#### Call:## glm(formula = clm ~ veh_value + exposure + veh_body + veh_age +## gender + area + agecat, family = binomial, data = z)

20

Page 21: TD de modèle linéaire, exercice 3 - univ-brest.fr

#### Deviance Residuals:## Min 1Q Median 3Q Max## -0.8836 -0.4240 -0.3302 -0.2657 2.8784#### Coefficients:## Estimate Std. Error z value Pr(>|z|)## (Intercept) -2.16826 0.39063 -5.551 2.85e-08 ***## veh_value 0.03292 0.01858 1.772 0.076408 .## exposure 1.86429 0.05490 33.959 < 2e-16 ***## veh_bodyCONVT -1.87015 0.71447 -2.618 0.008856 **## veh_bodyCOUPE -0.68466 0.39872 -1.717 0.085956 .## veh_bodyHBACK -1.08868 0.37902 -2.872 0.004074 **## veh_bodyHDTOP -0.93234 0.38816 -2.402 0.016309 *## veh_bodyMCARA -0.45939 0.47567 -0.966 0.334157## veh_bodyMIBUS -1.13968 0.40943 -2.784 0.005376 **## veh_bodyPANVN -1.01497 0.40050 -2.534 0.011267 *## veh_bodyRDSTR -1.08751 0.83411 -1.304 0.192301## veh_bodySEDAN -1.06874 0.37843 -2.824 0.004741 **## veh_bodySTNWG -1.04868 0.37854 -2.770 0.005599 **## veh_bodyTRUCK -1.12015 0.38895 -2.880 0.003977 **## veh_bodyUTE -1.27307 0.38240 -3.329 0.000871 ***## veh_age -0.04595 0.01942 -2.366 0.017997 *## genderM -0.01886 0.03251 -0.580 0.561864## areaB 0.08792 0.04643 1.894 0.058247 .## areaC 0.03714 0.04230 0.878 0.379874## areaD -0.09071 0.05705 -1.590 0.111843## areaE -0.01374 0.06269 -0.219 0.826488## areaF 0.07104 0.07257 0.979 0.327655## agecat -0.09495 0.01109 -8.561 < 2e-16 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### (Dispersion parameter for binomial family taken to be 1)#### Null deviance: 33767 on 67855 degrees of freedom## Residual deviance: 32415 on 67833 degrees of freedom## AIC: 32461#### Number of Fisher Scoring iterations: 6stepAIC(fit)

## Start: AIC=32461.43## clm ~ veh_value + exposure + veh_body + veh_age + gender + area +## agecat#### Df Deviance AIC## - gender 1 32416 32460## <none> 32415 32461## - veh_value 1 32418 32462## - area 5 32427 32463## - veh_age 1 32421 32465## - veh_body 12 32450 32472## - agecat 1 32489 32533

21

Page 22: TD de modèle linéaire, exercice 3 - univ-brest.fr

## - exposure 1 33632 33676#### Step: AIC=32459.76## clm ~ veh_value + exposure + veh_body + veh_age + area + agecat#### Df Deviance AIC## <none> 32416 32460## - veh_value 1 32419 32461## - area 5 32427 32461## - veh_age 1 32422 32464## - veh_body 12 32451 32471## - agecat 1 32490 32532## - exposure 1 33632 33674

#### Call: glm(formula = clm ~ veh_value + exposure + veh_body + veh_age +## area + agecat, family = binomial, data = z)#### Coefficients:## (Intercept) veh_value exposure veh_bodyCONVT veh_bodyCOUPE## -2.17618 0.03222 1.86407 -1.86035 -0.68102## veh_bodyHBACK veh_bodyHDTOP veh_bodyMCARA veh_bodyMIBUS veh_bodyPANVN## -1.08252 -0.93038 -0.45730 -1.13471 -1.01758## veh_bodyRDSTR veh_bodySEDAN veh_bodySTNWG veh_bodyTRUCK veh_bodyUTE## -1.08745 -1.06383 -1.04561 -1.12286 -1.27473## veh_age areaB areaC areaD areaE## -0.04660 0.08809 0.03730 -0.08935 -0.01269## areaF agecat## 0.07219 -0.09538#### Degrees of Freedom: 67855 Total (i.e. Null); 67834 Residual## Null Deviance: 33770## Residual Deviance: 32420 AIC: 32460

22