Bases de données, tarification

La première partie du cours ACT2040 portera sur la tarification (a priori) de contrats d’assurance automobile. Le premier jeu de données sera une base de sinistres

> sinistre=read.table("http://freakonometrics.free.fr/sinistreACT2040.txt",
+ header=TRUE,sep=";")
> sinistres=sinistre[sinistre$garantie=="1RC",]
> sinistres=sinistres[sinistres$cout>0,]

(on va se limiter aux sinistres associés à une garantie RC, responsabilité civile) et une base de contrats

> contrat=read.table("http://freakonometrics.free.fr/contractACT2040.txt",
+ header=TRUE,sep=";")

On peut ensuite compter les nombres de sinistres, par contrat, et fusionner les bases,

> T=table(sinistres$nocontrat)
> T1=as.numeric(names(T))
> T2=as.numeric(T)
> nombre1 = data.frame(nocontrat=T1,nbre=T2)
> I = contrat$nocontrat%in%T1
> T1= contrat$nocontrat[I==FALSE]
> nombre2 = data.frame(nocontrat=T1,nbre=0)
> nombre=rbind(nombre1,nombre2)
> sinistres = merge(contrat,nombre)

La base ressemble à

> head(sinistres)
  nocontrat exposition zone puissance agevehicule ageconducteur bonus marque
1        27       0.87    C         7           0            56    50     12
2       115       0.72    D         5           0            45    50     12
3       121       0.05    C         6           0            37    55     12
4       142       0.90    C        10          10            42    50     12
5       155       0.12    C         7           0            59    50     12
6       186       0.83    C         5           0            75    50     12
  carburant densite region nbre
1         D      93     13    0
2         E      54     13    0
3         D      11     13    0
4         D      93     13    0
5         E      73     13    0
6         E      42     13    0

Le second jeu de données sera utilisé en démonstration. Comme auparavant, on a une base de fréquence de sinistres (nombre de sinistres pendant la période de couverture)

> baseFREQ=read.table(
+ "http://freakonometrics.free.fr/baseFREQ.csv",
+ sep=";",header=TRUE,encoding="latin1")
+ tail(baseFREQ)
      numeropol  debut_pol    fin_pol freq_paiement langue  type_prof
39070     88942 2003-03-31 2004-03-30       mensuel      A   Actuaire
39071     88945 2003-03-21 2004-03-20        annuel      A Technicien
39072     88972 2003-03-18 2004-03-17       mensuel      F Technicien
39073     88981 2003-03-19 2004-03-18       mensuel      A Technicien
39074     88986 2004-02-28 2005-02-27       mensuel      A    Médecin
39075     89009 2003-03-24 2004-03-23       mensuel      A Technicien
      alimentation type_territoire         utilisation presence_alarme
39070    Carnivore          Urbain Travail-occasionnel             oui
39071   Végétalien          Urbain Travail-occasionnel             oui
39072   Végétarien     Semi-urbain   Travail-quotidien             non
39073   Végétalien          Urbain Travail-occasionnel             oui
39074    Carnivore          Urbain   Travail-quotidien             oui
39075   Végétarien          Urbain Travail-occasionnel             non
      marque_voiture sexe cout1 cout2 cout3 cout4 nbsin exposition cout age
39070            BMW    M    NA    NA    NA    NA     0          1       45
39071         TOYOTA    M    NA    NA    NA    NA     0          1       24
39072        PEUGEOT    M    NA    NA    NA    NA     0          1       58
39073         SUZUKI    F    NA    NA    NA    NA     0          1       23
39074           FIAT    M    NA    NA    NA    NA     0          1       41
39075         TOYOTA    M    NA    NA    NA    NA     0          1       58
      duree_permis annee_vehicule
39070           30           1989
39071            5           2000
39072           33           2003
39073            5           1998
39074           19           1989
39075           37           2003

et une base pour les coûts de sinistres,

> baseCOUT=read.table(
+ "http://freakonometrics.free.fr/baseCOUT.csv",
+ sep=";",header=TRUE,encoding="latin1")
+ tail(baseCOUT)
     numeropol  debut_pol    fin_pol freq_paiement langue  type_prof
6510     87204 2002-09-25 2003-09-24       mensuel      A Technicien
6511     87210 2002-10-11 2003-10-10       mensuel      A Technicien
6512     87291 2002-10-16 2003-01-22       mensuel      A Professeur
6513     87301 2002-10-01 2003-09-30       mensuel      A Technicien
6514     87417 2002-10-24 2003-10-21       mensuel      F Technicien
6515     88128 2003-01-17 2004-01-16       mensuel      F     Avocat
     alimentation type_territoire         utilisation presence_alarme
6510    Carnivore          Urbain Travail-occasionnel             non
6511    Carnivore          Urbain   Travail-quotidien             non
6512   Végétarien          Urbain Travail-occasionnel             oui
6513   Végétarien          Urbain              Loisir             oui
6514   Végétalien     Semi-urbain Travail-occasionnel             non
6515   Végétarien     Semi-urbain              Loisir             non
     marque_voiture sexe exposition age duree_permis age_vehicule i   coutsin
6510             GM    M  0.9972603  36           18           11 1  884.3478
6511           AUDI    M  0.9972603  50           31           14 1  503.3478
6512           FORD    M  0.2684932  47           29           28 1 1274.5901
6513          HONDA    M  0.9972603  44           24           25 1  278.0745
6514     VOLKSWAGEN    F  0.9917808  23            3           11 1  403.1242
6515           FIAT    F  0.9972603  23            4           11 1  230.9565

D’autres petites bases seront probablement mise en ligne durant le cours.


3 thoughts on “Bases de données, tarification”

  1. Merci tout d’abord pour les bases de données.
    Pouvez-vous nous renseigner sur la variable nommée ” i ” sur la base de données “baseCOUT”. Qu’est ce qu’elle désigne ??

    Merci encore une fois.

      1. Merci pour ta réponse monsieur Arthur.

        Je pense que j’ai la réponse, elle désigne le nombre des coûts sommés.

        En effet, si les variables “cout1” et “cout2” ne sont pas nulles par exemple, la variable “i” vaut 2.

        Merci encore une fois pour votre réponse professeur.

Leave a Reply

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