Passer au contenu principal

Tutoriel complet

Ceci est un tutoriel complet d’Akur8 – il sera utilisé comme aide à la traduction pour Prismy.

Diego Sanchez avatar
Écrit par Diego Sanchez
Mis à jour il y a plus de 4 mois

  1. Introduction

L’objectif de ce tutoriel est de donner un aperçu rapide des fonctionnalités du logiciel de tarification Akur8.

Ce tutoriel est divisé en deux parties principales.

Dans la première partie, nous allons construire une modélisation complète depuis le jeu de données de démonstration joint à ce tutoriel. On y trouvera tous les éléments de l’état de l’art en tarification actuarielle, tels que :

  • Le modèle additif généralisé

  • La détection et l’ajustement d'interactions

  • Le lissage géographique

  • L’inclusion de variables régionales et externes

Dans la deuxième partie, nous montrerons certaines Fonctionnalités avancées ciblées sur des cas d'utilisation plus complexes, mais également comment automatiser certains processus manuels afin d'augmenter la productivité et de réduire les frictions.

Les textes dans les cases grises (comme celle-ci) vous donneront les instructions pas-à-pas pour poursuivre le tutoriel : vous pouvez les suivre pour créer votre premier modèle avec Akur8.

Vous remarquerez une icône statique de chat située en bas à droite. Ce chat vous permettra de contacter notre équipe d'Actuaires et de Data Scientists.

N'hésitez pas à nous contacter si vous rencontrez des difficultés lors de ce tutoriel : notre équipe se fera un plaisir de répondre rapidement à vos questions.

  1. Connexion et Sélection de l'Espace de Travail

Pour accéder à Akur8, saisissez l'URL qui vous est fournie dans votre navigateur Chrome.

Lorsque vous accédez à la page Akur8 via le lien que vous avez reçu par e-mail, vous devrez confirmer vos informations d'identification.

Entrez votre adresse e-mail et CONNECTEZ-VOUS (“LOG IN”).

S'il s'agit de votre première connexion ou si vous ne connaissez pas votre mot de passe, vous pouvez cliquer sur Mot de passe oublié ? (“Don’t remember your password?”) pour en recevoir un nouveau.

Une fois connecté, vous accédez à la page de sélection de l'espace de travail (“Workspace”). Les espaces de travail sont dédiés aux équipes travaillant sur un même périmètre : les bases de données et les projets de modélisation sont donc partagés au sein d’un même espace.

Si vous n'avez accès qu'à un seul espace de travail, vous y entrerez directement sans passer par cette étape.

Pour les besoins de ce tutoriel, vous pouvez entrer dans un espace de travail créé en amont.

  1. La Section Données

Le logiciel Akur8 comporte actuellement 3 sections :

Données (“Data”) : permet de télécharger des bases de données, de les inspecter et de préparer les données avant de créer les modèles.

Risques (“Risk”) : permet de construire des modèles une fois que les données sont prêtes (cf. Section Risque).

Agrégation (“Aggregation”) : permet d’agréger les modèles de fréquence, de sévérité et de propension en un seul modèle de risque,, puis par exemple de mener des analyses de loss ratios.

Les pictogrammes à gauche de l'écran indiquent dans quelle section l'utilisateur se trouve actuellement. Après être entré dans le projet, l'utilisateur se trouve dans la section Données.

La section Données (“Data”) contient une liste de toutes les bases de données précédemment chargées dans Akur8.

Lorsque vous entrez dans votre espace de travail personnel pour la première fois, cette liste peut être vide.

  1. Créer une nouvelle Base de données

NB. Une base de données jointe au tutoriel devrait être présente dans votre environnement ; si tel est le cas, vous pouvez passer directement au paragraphe suivant, Afficher le résumé de la base de données.

Une nouvelle base de données peut être créée en appuyant sur le bouton + au milieu de l'écran (ou sur le bouton + en bas de la liste des bases de données) :

Saisissez le nom d'une nouvelle base de données, sélectionnez un fichier à télécharger puis confirmez que celui-ci ne contient pas de données personnelles. Les données peuvent être téléchargées (au milieu) en appuyant sur le bouton TÉLÉCHARGER (“UPLOAD”). La progression du téléchargement est affichée sur la droite de l’écran.

Une base de données peut être téléchargée sous plusieurs formats : CSV, parquet, CSV zippé (pour le téléchargement rapide de grandes bases de données) ou base de données SAS.

La base de données, une fois téléchargée, sera prétraitée pour calculer les distributions et les statistiques. Cette opération peut prendre quelques minutes.

La barre de progression indiquant l'état du prétraitement est affichée en haut à droite de l'écran.

Comme le prétraitement s'exécute sur le cloud, il est possible de télécharger d'autres jeux de données pendant l'exécution du processus.

Cliquez sur le bouton + et téléchargez le fichier tuto_DB_Italy.csv avec le nom Tuto_DB. Téléchargez également la base de données Tuto_Zip_Italy.csv avec le nom Tuto_Zip.

  1. Afficher le résumé de la Base de données

Une fois qu'une base de données a été téléchargée et prétraitée, son résumé s'affiche pour en donner les principales informations : nom du fichier CSV d'origine, date de création et quelques statistiques sur le nombre de lignes et de colonnes.

Il est possible de partager des informations sur cette base grâce à la note de documentation. Les informations renseignées seront disponibles pour tous les utilisateurs autorisés à accéder à l'espace de travail et seront incluses dans la documentation finale des modèles (voir la section Exporter vos modèles et votre documentation).

Il est également possible de voir quel utilisateur a créé la base ou a effectué les dernières modifications.

Sélectionnez la base de données Tuto_DB et commencez à inspecter en détail la base de données sélectionnée en appuyant sur le bouton AFFICHER LES VARIABLES (“VIEW VARIABLES”) dans le coin supérieur droit.

  1. Inspecter une Base de données

La liste de gauche contient toutes les variables présentes dans la base. Nous pouvons sélectionner chaque variable pour une inspection détaillée.

Il est possible de rechercher une variable particulière en appuyant sur l'icône de recherche en haut de la liste. Par exemple, saisissons l'âge dans le champ de recherche pour sélectionner la variable driver_age.

  1. Histogramme, statistiques et documentation

L’histogramme en haut de l'écran représente la distribution de la variable sélectionnée. Les valeurs manquantes apparaissent en rouge. Au centre, vous pourrez trouver quelques statistiques décrivant la variable (certaines statistiques telles que la médiane et la moyenne ne sont disponibles que pour les variables numériques). Une note de documentation, permettant aux utilisateurs de donner des informations additionnelles sur la variable sélectionnée, est également disponible.

  1. Type et Usage des Variables

Le type de variable est défini à droite de l'écran :

Variable ordinale : si la variable admet un ordre spécifique. Toutes les variables numériques sont par défaut considérées comme ordinales, mais parfois les variables non numériques doivent être aussi définies comme ordinales (par exemple, une variable contenant les modalités «A», «B», «C»… peut présenter un ordre pertinent).

Variable catégorielle : si la variable contient des catégories sans ordre spécifique. Toutes les variables non numériques sont considérées comme catégorielles par défaut, mais parfois les variables numériques peuvent être catégorielles (par exemple dans le cas de 3 groupes «1», «2» et «3» sans ordre spécifique).

Le type de variables (ordinales/catégorielles) a un effet important sur les modèles : pour les variables ordinales, les coefficients seront ajustés et lissés en prenant en compte l’ordre des modalités. Sinon, chaque modalité sera traitée indépendamment.

Les valeurs manquantes sont directement gérées Akur8 : le coefficient correspondant sera mis à la valeur moyenne par défaut, et sera ajusté aux données observées si ces dernières sont significatives (le coefficient ne sera pas groupé avec ses voisins).

Allez sur les variables additional_drivers, nb_vehicles, pets, policy_type, usage_km, vehicle_age, vehicle_anti_polution_norm et passez-les de Catégorielle à Ordinale.

Ce processus est essentiel pour la performance de la modélisation, mais il peut prendre du temps. Afin de ne pas avoir à le répéter sur des bases similaires, on peut le reproduire automatiquement sur différentes bases (voir Utilisation avancée - Format de réutilisation).

Il existe un raccourci clavier pour examiner rapidement toutes les variables et modifier leur type si nécessaire : Alt + ↑ ou Alt + ↓ pour sélectionner la variable précédente ou suivante, ou Alt + O et Alt + C pour changer un type de variable de Catégorielle à Ordinale et vice-versa.

Un résumé de ces raccourcis est disponible en appuyant sur la petite icône de clavier en haut à droite de l'écran.

  1. Modification de Variable

Il est possible de modifier les modalités de chaque variable (regroupement, réordonnancement et gestion des valeurs manquantes) en appuyant sur le bouton MODIFIER LES MODALITÉS (“MODIFY LEVELS”). Nous couvrons en détail les transformations des données dans la section Utilisation avancée.

  1. La Section Risque

Une fois que vous avez téléchargé, vérifié et si nécessaire modifié vos données, appuyez sur la section Risque (“Risk”) à gauche.

La liste à gauche de l'écran contient tous les projets de modélisation déjà créés (lors de votre première visite, cette liste devrait être vide).

Dans cette section, notre objectif sera de modéliser la fréquence des sinistres pour une couverture de responsabilité civile automobile en dommages matériels. La modélisation comprendra différentes étapes qui permettront de présenter l'essentiel du processus Akur8.

  1. Nous mettrons en place les Objectifs de notre modélisation dans la section Créer un nouveau projet de modélisation.

  2. Nous construirons un premier GLM en utilisant uniquement des informations déclaratives : aucune variable régionale ou externe ne sera incluse à cette toute première étape dans la section Construire un GLM de base.

  3. Nous utiliserons nos connaissances actuarielles pour ajuster manuellement l'impact de certaines variables dans les segments à faible signification statistique dans la section Modifier le coefficient.

  4. Nous améliorerons notre GLM de base en ajoutant des interactions dans la section Ajouter des interactions.

  5. Nous utiliserons la localisation géographique des assurés pour appliquer un lissage spatial, dans la section Modélisation Géographique.

  6. Nous inclurons également l'impact des variables régionales et externes dans la section : introduction des variables externes : Ajouter plus de variables.

  7. Enfin, nous simplifierons les modèles en combinant les variables géographique et externes pour créer un zonier à part entière dans la section Réduire les variables.

  1. Créer un nouveau projet de modélisation

Vous pouvez créer un nouveau modèle en appuyant sur le bouton + au milieu de l'écran (ou sur le bouton + en bas de la liste si d'autres projets ont déjà été créés).

Cliquez sur le + et créez un nouveau projet avec le nom Tuto_project et sélectionnez Fréquence comme Type.

Ensuite, appuyez sur SÉLECTIONNER UNE BASE DONNÉE (“SELECT A DATABASE”) et sélectionnez la Tuto_DB en appuyant sur son nom. Cliquez enfin sur CRÉER UN PROJET RISQUE (“CREATE RISK PROJECT”).

Résumé du projet

Une fois le projet créé, un résumé du Projet de modélisation s'affiche à l'écran avec certaines de ses propriétés : nom, type, date de création et base de données sur laquelle la modélisation sera effectuée.

Afin de créer des modèles, le projet doit être configuré. Vous devez définir :

Définition des Objectifs

Cliquez sur FIXER LES OBJECTIFS (“SET GOALS”).

Le premier écran permet de définir les objectifs du projet de modélisation :

  • La variable à prédire (Cible (“Target”)).

  • La variable d'exposition - généralement la durée de la police ou le nombre de sinistres (Exposition).

  • La variable temporelle - elle sera très utile pour assurer la stabilité temporelle des modèles (Date).

  • La variable de stratification - elle permet d’assigner explicitement une partie des données à l’échantillon de validation. On pourra ainsi, à la fin, s’assurer que le modèle choisi est bien stable lorsque testé sur de nouvelles données, mais aussi utiliser cet échantillon afin de comparer avec d’autres techniques de modélisation. (Stratification).

Réglez ce qui suit dans l'écran FIXER LES OBJECTIFS (“SET GOALS”) :

  • Cible : target__claims_PD → cette colonne contient le nombre de sinistres en responsabilité civile matérielle.

  • Exposition : contract_duration → cette colonne contient la durée d’exposition (en année-police).

  • Date : year → cette colonne contient l’année de la police (année de survenance potentielle du sinistre).

  • Stratification : strat_variable → cette colonne contient 2 valeurs différentes, Modélisation et Validation, pour indiquer quelles lignes seront utilisées dans la modélisation et celles qui seront utilisées dans la validation.

Cliquez sur CRÉER MODÈLES (“CREATE MODELS”).

Sélection des Variables

Cette étape permet à l'utilisateur de définir quelles variables ne peuvent pas être utilisées dans la modélisation. Akur8 va alors détecter et sélectionner le sous-ensemble optimal de variables en fonction des contraintes définies par l'utilisateur.

Il existe différentes raisons d’exclure des variables :

Variables a posteriori non disponible au moment de la souscription : les variables cibles et en général l’exposition sont des exemples évidents de variables a posteriori, mais certaines autres variables, modifiées au cours du processus de gestion des sinistres, peuvent entrer dans cette catégorie.

Pour faciliter la détection de ces variables a posteriori, qui sont souvent très fortement corrélées à la cible, nous calculons un score d’Importance de la variable qui indique le pouvoir prédictif individuel de chaque variable.

Par exemple, le coût d'une Réclamation pour Dommages Matériels (zéro si le client n'a pas de réclamation) est naturellement fortement prédictif du nombre réel de réclamations : il s'agit bien sûr d'une variable a posteriori.

Variable non fiable, de qualité faible ou d’origine inconnue.

Variable indisponible, qui n'est pas accessible dans l'environnement de production (et bien qu'elles puissent être calculées, cela nécessiterait un changement important dans le processus de souscription et ne peut pas être fait pour des raisons pratiques).

Les variables qui ne doivent pas être utilisées dans la modélisation peuvent être désélectionnées avec le bouton bleu à gauche de leur nom. En règle générale, les variables Cible, Exposition et Date ne sont pas sélectionnées par défaut.

Cliquez sur l'icône de recherche en haut de la liste des variables, saisissez target_, ouvrez le menu SÉLECTIONNER (“SELECT”) en bas de la liste et appuyez sur Tout désélectionner (“unselect all”) (cf image ci-dessus) pour ainsi désélectionner les variables a posteriori.

Faites de même pour toutes les variables regional_. (Nous supprimons toutes les variables régionales pour les intégrer ultérieurement)

Enfin, supprimez la variable ZIP (elle sera intégrée dans la modélisation géographique)

Cliquez sur le bouton GÉNÉRER DES MODÈLES (“GENERATE MODELS”) et passez à la section suivante.

Lorsque cela a été fait pour un modèle, il est possible de réutiliser les définitions de variables : ce processus est décrit dans l'annexe Réutilisation de définition de variable de ce tutoriel.

D'autres options de modélisation, ayant un impact sur les comportements des variables, peuvent être définies à ce stade. Ces options plus avancées (y compris les offset de variable et les contraintes) sont décrites dans l'annexe Forcer un comportement de variable.

Maintenant, nous sommes prêts à construire les modèles.

  1. Construire un GLM de base

  1. Génération de modèles

Cette étape permet de construire un ensemble de modèles basés sur des combinaisons distinctes de paramètres (Grid Search).

Vous devez définir :

  • Le nombre de variables sélectionnées dans les modèles (Définir l'intervalle du nombre de variables) : les modèles créés par notre algorithme d'apprentissage automatique comprendront un certain nombre de variables, appartenant à l'intervalle choisi. Sélectionnez entre 5 et 30 variables pour générer des modèles de complexité simple (5 variables) à moyenne (30 variables).

  • Le nombre de Pas de parcimonie (“Parsimony steps”) : chaque valeur de parcimonie correspondra à un groupe de modèles ayant le même nombre de variables. Les 5 pas spécifiés par défaut généreront donc cinq groupes de modèles, chaque groupe ayant un nombre spécifique de variables dans l'intervalle choisi ci-dessus.

  • Le nombre de Pas de lissage (“Smoothness steps”) : indique le nombre de niveaux de lissage. Par exemple avec un lissage de 7, l'outil générera, pour chaque niveau de parcimonie, 7 modèles différents. On aura alors tout un spectre de modèles, depuis des modèles très sensibles (attention au sur-ajustement) à des modèles très robustes (attention au sous-ajustement). Vous pourrez trouver une explication intuitive du concept de lissage dans les diapositives de présentation de la solution Akur8.

Les paramètres de parcimonie et de lissage définissent le nombre de modèles créés : des valeurs plus élevées signifient des choix plus précis dans la création des modèles, mais aussi un temps de calcul plus long. Après avoir sélectionné le nombre de variables, vous pouvez laisser le nombre de pas à leurs valeurs par défaut.

Pour chaque combinaison de lissage et de parcimonie, 5 modèles différents sont créés :

  • 4 modèles de validation croisée sur le sous-ensemble de modélisation de la base de données

  • 1 modèle sur l'ensemble du sous-ensemble de modélisation.

L'utilisation de la validation croisée permet d'avoir une estimation fiable des performances des modèles créés.

Par la suite, les scores de performance (Gini, Deviance…) des modèles seront les scores moyens sur les 4 échantillons.

Les barres d'erreur indiquent les performances de l'échantillon le moins performant et les performances de l'échantillon le plus performant (si vous n'êtes pas familier avec la validation croisée à k-blocs, ou « k-fold cross-validation », vous pouvez trouver plus de détails sur Wikipedia).

Sélectionnez entre 5 et 30 variables pour générer des modèles de complexité simple à moyenne.

Vous pouvez conserver les valeurs par défaut (5 et 7) pour les pas de parcimonie et de lissage.

Cliquez sur le bouton LANCER (“RUN”).

Vous verrez la barre de progression apparaître et serez redirigé vers un écran d'information.

La création du modèle prendra environ 25 minutes sur la base de données du tutoriel. Notez que ce temps de calcul est nécessaire pour construire 175 modèles : un modèle pour chaque combinaison de lissage, parcimonie et nombre de d'échantillons. Les calculs étant effectués dans le cloud, il est toujours possible d'utiliser pleinement la solution, par exemple pour télécharger d'autres bases de données ou pour lancer d'autres calculs dans différents projets de modélisation.

  1. Visualisation des résultats

Une fois le processus terminé, nous pouvons voir les modèles créés dans un graphique, où chaque point représente un modèle différent. Comme nous avons demandé 5 niveaux de parcimonie et 7 niveaux de lissage, 35 solutions à notre problème de modélisation ont été élaborées, avec différents nombres de variables et différents lissages.

Dans le graphique :

  • L'axe horizontal représente le nombre de variables dans le modèle.

  • L'axe vertical représente les performances hors échantillon du modèle (estimées en fonction du k-bloc sur le jeu de données de modélisation). La métrique par défaut est le Gini. La métrique EDR (Ratio de Déviance Expliquée) peut également être sélectionnée dans la liste en haut à gauche du graphique.

  • Les barres d'erreur représentent les variations de performances entre les échantillons de Validation Croisée (et donc la fiabilité des performances mesurées).

Ce graphique offre une visualisation claire du compromis possible entre la complexité du modèle et ses performances :

  • Un modèle sur le côté droit du graphique contiendra plus de variables et sera plus difficile à interpréter qu'un modèle sur le côté gauche.

  • À performances égales, les modèles plus simples (à gauche) sont donc préférables.

  • Un modèle plus haut sur le graphe sera plus performant (sur la validation croisée à k-blocs) qu'un modèle plus bas sur le graphe.

  • À complexité égale, les modèles plus performants sont préférables.

Cliquez sur le modèle le plus performant comprenant 15 variables.

  1. Inspecter un modèle

Aperçu du modèle

Après avoir sélectionné un modèle en cliquant dessus, l'écran Aperçu du modèle (“Model Overview”) s'ouvre.

L'objectif de l'aperçu est de donner plus d'informations sur les performances d'un modèle (sur la validation croisée), ainsi qu'un aperçu rapide de ses propriétés (variables sélectionnées ainsi que leur importance).

A gauche, l'importance des variables sélectionnées :

la longueur de chaque barre indique l'importance de chaque variable, mesurée par le spread de ses coefficients.

Une définition du spread des variables est fournie dans l'annexe Spread des variables.

Sur le côté droit, une inspection approfondie des métriques est possible en naviguant sur trois onglets :

  • Courbe de Lorenz (“Lorenz Curve”)

  • Courbe de Lift (“Lift Curve”)

  • Statistiques (“Statistics”)

Une description de certains de ces KPIs est donnée dans l’Annexe Technique de ce tutoriel.

Inspection de variable

Les variables du modèle peuvent être inspectées en cliquant sur l'onglet VARIABLES.

Toutes les variables sont affichées dans la liste de gauche ; elles sont classées par ordre d'importance dans le modèle. Les variables sélectionnées sont identifiées par un point bleu à côté de leur nom ().

Un graphique de la variable sélectionnée s'affiche à droite. Ce graphique contient trois lignes et un histogramme :

  • L’exposition, pour chaque modalité, est représentée par l'histogramme bleu.

  • La moyenne observée (valeurs moyennes observées de la variable cible) est représentée par la ligne violette ().

  • La moyenne ajustée (valeurs moyennes prédites de la variable cible) est représentée par la ligne orange ().

  • Les coefficients de la variable sélectionnée sont représentées par la ligne verte ().

Chaque ligne peut être affichée/masquée dans le graphique en cliquant sur son nom dans la légende.

Il est possible de zoomer en sélectionnant la région à agrandir, ou en sélectionnant l'intervalle, en déplaçant la souris verticalement ou horizontalement.

Pour effectuer un zoom arrière, double-cliquer sur le graphique.

  1. Choisir le meilleur niveau de lissage

Lors du choix d'un modèle, nous pouvons nous retrouver dans différentes situations :

  • les coefficients du modèle sont trop robustes (comme nous pouvons le voir dans l’image Fort lissage ci-dessous, où le modèle est sous-ajusté),

  • les coefficients du modèle semblent capturer du bruit (comme nous pouvons le voir dans l’image Faible lissage ci-dessous, le modèle est clairement sur-ajusté).

Akur8 permet de naviguer dans tous les différents modèles et de sélectionner le meilleur compromis entre ces deux scénarios extrêmes.

À côté de Lissage (“Smoothness”), en haut à droite de l'écran, appuyez sur le bouton / pour augmenter le lissage. Cliquez sur le bouton pour diminuer le lissage.

Lors de l'examen des variables, dès que l’on détecte des coefficients suspectés de sur-ajustement, un modèle plus lisse doit être sélectionné.

Par exemple, dans la base de données du tutoriel, la variable vehicle_max_speed peut présenter une tendance au sur-ajustement (ses coefficients capturent un signal douteux) : si tel est le cas, appuyez sur le bouton / pour sélectionner un modèle plus robuste.

Notez que le lissage appliqué est global, c’est-à-dire cohérent pour toutes les variables d'un modèle : un clic sur les boutons de lissage sélectionnera un autre modèle, avec un nombre similaire de variables et un lissage global plus faible/plus fort.

Fort lissage : dans l'image précédente, les algorithmes d’Akur8 segmente la variable en seulement trois segments. Si ce choix est bien robuste, certains signaux pertinents ne sont pas captés sur le segment des jeunes conducteurs.

Faible lissage : dans l'image précédente, le lissage appliqué est insuffisant car les tendances modélisées ne sont pas cohérentes. Le modèle est clairement sur-ajusté car il capte du bruit.

Lissage optimal : l'image précédente montre un compromis optimal entre la robustesse de la segmentation et le signal inclus dans le modèle.

Cliquez sur le bouton < à côté de Variables pour passer à un modèle avec moins de variables.

  1. Taguer un modèle

Lorsque vous êtes à l'aise avec le modèle obtenu, vous pouvez le référencer en lui donnant un nom : appuyez sur le bouton TAGUER LE MODÈLE (“TAG MODEL”) en haut à droite.

Donnez un nom au modèle qui permet une identification facile.

Dans l'Arborescence du modèle sur la gauche de votre écran, le modèle que vous venez de taguer apparaîtra sous le nom de votre projet de modélisation.

  1. Ajouter des Interactions

L'ajout d'interactions se fait en deux étapes :

  • Détectez et visualisez les interactions (de manière automatique et/ou selon vos choix).

  • Ajoutez ces interactions au modèle.

  1. Détection d'interaction

Sur la page Visualisation du modèle, cliquez sur ENRICHIR (“ENRICH”) puis sur AJOUTER UNE INTERACTION (“ADD INTERACTION”) dans un modèle tagué afin d’ajouter des interactions.

Nommez le sous-projet (par exemple «interactions»).

L'interaction considérée peut être choisie de deux manières différentes :

  • Suggestion automatique : si cette option est activée, Akur8 testera automatiquement toutes les interactions possibles des variables présentes dans le modèle GLM initial. Ne seront conservées que les interactions les plus prédictives (par défaut 20, seuil modifiable par l’utilisateur).

  • Interactions personnalisées : si l'on désire inspecter les interactions indépendamment de leur importance, il est possible de les ajouter manuellement.

Ajoutez une interaction personnalisée entre la marque et l'âge du véhicule.

Cliquez sur AFFICHER ET SÉLECTIONNER (“DISPLAY AND SELECT”) pour lancer le calcul afin d'identifier les interactions et leur corrélation avec la cible.

Une fois les calculs terminés, Akur8 affichera la liste des interactions triées selon leur signification statistique (un score inférieur à 100% signifie que la signification de l'interaction est inférieure au seuil utilisé pour la création des modèles GLM).

Dans l'exemple de l'image ci-dessus, l'interaction entre driver_gender et driver_age est la plus significative. Le graphique montre les valeurs observées et prédites en fonction de l'âge et du sexe de l’assuré. En inspectant le segment “jeune” (les modalité les plus à gauche de chaque distribution), nous pouvons voir une interaction. Le risque des jeunes femmes est surestimé (la Ligne ajustée orange est nettement au-dessus de la Ligne observée en violet), tandis que celui des hommes est sous-estimé (à l’opposé de la ligne orange et violette). Akur8 a correctement détecté cet effet (bien connu) et lui a associé un score d'interaction élevé.

À ce stade, l'utilisateur doit inspecter les interactions proposées par l'outil et désélectionner celles qui, même si elles semblent pertinentes, n'ont pas de valeur d’un point de vue actuariel.

Lancez l'ajustement en appuyant sur le bouton GÉNÉRER LES MODÈLES (“GENERATE MODELS”).

Choisissez le nombre maximum d'interactions dans la fenêtre contextuelle, par exemple 4.

Akur8 construira des modèles à partir d'une interaction jusqu'au nombre maximum choisi.

  1. Visualisation des résultats

Comme précédemment, Akur8 affiche le graphique du Grid Search montrant les performances des nouveaux modèles avec interactions. Le modèle GLM initial (en orange) est également affiché à des fins de comparaison.

Cliquez sur le modèle souhaité pour inspecter les résultats.

Pour visualiser les interactions, appuyez sur l'onglet VARIABLES : dans la liste des variables, les variables d'interaction sont mises en évidence par un point magenta ().

Il existe trois visualisations possibles :

  • 2 visualisations classiques, dans lesquelles l’interaction est représentée en segmentant d’abord sur une variable, puis sur l’autre (deux premiers onglets, selon le cas l’un ou l’autre représentation est plus simple à lire).

  • Une heatmap : la couleur des points dans la couleur de la heatmap indique l'impact du coefficient (selon l'échelle à droite du graphique). La taille du point est proportionnelle à l'exposition de chaque modalité de la variable d'interaction.

TAGUER (“TAG”) le modèle souhaité après inspection minutieuse.

  1. Modélisation géographique

  1. Créer un modèle géographique

Télécharger une base de données géographique

Afin de créer un modèle géographique, vous devrez utiliser une base de données géographique contenant au moins 3 colonnes :

  • Code postal (“ZIP code” ou une variable géographique équivalente existant aussi dans la base de données de modélisation)

  • Coordonnées GPS :

  • Longitude

  • Latitude

REMARQUE : Le code postal est la variable géographique la plus courante rencontrée dans les jeux de données. Cependant, toute variable à laquelle il est possible d'attacher une latitude/longitude peut être utilisée aussi facilement. Cela signifie que si la localisation exacte de l’assuré est disponible, Akur8 est capable de traiter l’information géographique même avec des millions de points distincts.

Si seules des coordonnées projetées sont disponibles, il est toujours possible d’utiliser le module de traitement de la géographie. Les capacités de visualisation seront cependant limitées car il ne sera pas possible de placer les points sur une carte.

Akur8 permet, jusqu’à un certain seuil, la présence de codes postaux sans coordonnées GPS attachées (cependant, pour éviter de construire des modèles dénués de sens, pas plus de 10% des codes postaux ne doivent manquer).

Dans la section Données, nous avons déjà téléchargé cette base de données géographique. Si besoin, veuillez suivre les instructions fournies dans la section Créer une nouvelle base de données.

Créer un modèle géographique

Sur la page du modèle, appuyez sur ENRICHIR (“ENRICH”) et AJOUTER UNE GÉOGRAPHIE (“ADD GEOGRAPHY”).

Donnez un nom à votre modélisation géographique (par exemple geography).

Sélectionnez la base de données Tuto_ZIP (il est possible de filtrer les bases de données par nom).

Dans l'écran Préparation du Modèle Géographique, sélectionnez les colonnes du fichier de localisation géographique.

Assurez-vous de vérifier que le Type de coordonnées est égal à Lat/Long.

Saisissez les informations pertinentes concernant la base de données de localisation géographique :

  • Variable de code postal : ZIP → le nom des zones géographiques dans la base de données géographique.

  • Long et Lat : lon et lat → les colonnes contenant la longitude et la latitude de chaque zone géographique.

Sur le côté droit de l'écran, dans le champ Variable de code postal, sélectionnez la colonne ZIP dans votre base de données de modélisation principale.

Enfin, il est possible de contraindre les coefficients liés aux code postaux à ne prendre qu’un nombre prédéfini de niveau : pour ce faire, il suffit d’activer l’option Quantification des coefficients géographiques et de spécifier le nombre de niveaux.

Cliquez sur GÉNÉRER DES MODÈLES (“GENERATE MODELS”) et choisissez le nombre de pas de lissage pour votre Grid Search géographique.

Le nombre de pas définit le nombre de modèles géographiques à générer, chacun présentant un différent niveau de lissage de leurs coefficients.

Pour un plus grand choix, vous pouvez choisir 15 pas de lissage différents.

Appuyez sur LANCER (“RUN”) et la barre de progression apparaîtra dans le coin supérieur droit de votre écran.

  1. Visualisation des résultats

Les résultats sont présentés de la même manière que pour le Grid Search GLM.

Vous pouvez voir sur le graphe de performance des points de deux couleurs : les points bleus représentent les modèles intégrant la Géographie (avec différents niveaux de lissage), et le point orange représente le modèle GLM que l’on est en train d’enrichir.

  • L'axe horizontal représente une mesure de l’autocorrélation spatiale (voir l'Indice de Moran). Les valeurs plus élevées, sur la droite, correspondent à une géographie «plus lisse» et les valeurs faibles aux modèles plus granulaires et bruités. La valeur assignée au modèle GLM de base n'a pas de signification particulière : elle est placée arbitrairement à droite de la courbe géographique à des fins de comparaison.

  • L'axe vertical représente les performances hors échantillon du modèle (estimées en fonction du k-bloc sur le jeu de données de modélisation).

  • Les barres d'erreur représentent les variations de performances entre les d'échantillons (et donc la fiabilité des performances mesurées).

Cliquez sur le modèle souhaité pour inspecter les résultats.

Pour visualiser les interactions, appuyez sur l'onglet VARIABLES : dans la liste des variables, les variables géographiques sont mises en évidence par un point vert ().

Vous pouvez voir la valeur des coefficients en survolant chaque point avec la souris. La carte est zoomable avec la molette de votre souris afin de faciliter l’analyse :

Nous pouvons naviguer à travers différentes valeurs de lissage (géographique) pour pouvoir choisir le compromis optimal.

Une fois que nous avons choisi le meilleur compromis (dans l'exemple ci-dessous, au milieu), nous pouvons taguer le modèle (TAGUER LE MODÈLE (“TAG MODEL”)).

  1. Présentation des Variables Externes : Ajouter plus de variables

Lors de la création du premier modèle GLM (dans la section Construire un GLM de base), nous avions décidé d'exclure toutes les variables régionales et externes. Cette opération avait pour but de décorréler l'effet régional pur (déterminé uniquement par la localisation du code postal) de celui reflété par les variables externes.

Maintenant que le signal géographique a été proprement capturé, nous pouvons ajouter ces variables externes.

Appuyez sur le bouton ENRICHIR (“ENRICH”) en haut à droite de l'écran, puis appuyez sur l'option AJOUTER PLUS DE VARIABLES (“ADD VARIABLES”). Donnez un nom au projet de sous-modèle (par exemple, External variables).

La page de sélection des variables s'ouvre, comme lors de la première création du GLM. Par défaut, toutes les variables qui se trouvent dans le modèle géographique sont sélectionnées. Cela permet de réajuster les coefficients de ces variables lors de la prochaine étape si cela s’avère nécessaire.

Si vous souhaitez geler complètement les coefficients existants et ajuster uniquement les variables externes, vous pouvez désélectionner toutes ces variables en appuyant sur l'icône de menu SÉLECTIONNER (“SELECT”) puis en appuyant sur Désélectionner tout (“Unselect all”).

Pour les besoins de ce tutoriel, nous conserverons les variables sélectionnées par défaut, auxquelles nous allons maintenant ajouter toutes les variables régionales :

Cliquez sur l'icône RECHERCHER (“SEARCH”) en haut de la liste des variables et tapez regional_. Toutes les variables régionales seront filtrées dans la liste. Maintenant, appuyez sur le bouton SÉLECTIONNER (“SELECT”) (en bas de la liste des variables) et Sélectionner tout (“Select all”).

Cliquez sur le bouton GÉNÉRER LES MODÈLES (“GENERATE MODELS”) pour démarrer la création des modèles.

La fenêtre contextuelle qui apparaîtra sera légèrement différente de celle que nous avons vue précédemment lors de la première étape de création de la modélisation. Deux nouveaux boutons apparaissent :

  • Ajuster toutes les variables (“Fit all variables”) : nous pouvons demander le réajustement de toutes les variables sélectionnées.

  • Utiliser le lissage précédent (“Use previous smoothness”) : le niveau de lissage correspond au seuil entre le bruit et le signal, spécifique à chaque jeu de données. Nous avons choisi ce seuil lors de la première phase de modélisation. Si nous voulons construire des modèles possédant le même niveau de signification statistique tout au long du processus de modélisation, nous devons garder cette option activée.

Pour les besoins de cette démo, nous essaierons également d'inclure un plus petit nombre de nouvelles variables :

Réglez le curseur de 1 à 10 et définissez le nombre de pas de parcimonie à 8 ; nous utiliserons le lissage précédent (comme suggéré par défaut).

Lorsque ces paramètres sont définis, vous pouvez appuyer sur le bouton LANCER (“RUN”).

Après les calculs, le Grid Search affichera ces résultats :

Nous pouvons voir que, dans cette base de données de démonstration, quelques variables externes apportent du signal, alors que toutes les autres sont redondantes.

Sélectionnez le modèle ayant le meilleur compromis en termes de nombre de variables/performances et taguez-le.

  1. Classification Géographique

Les variables régionales sont généralement connues au même niveau de granularité que la variable géographique (ZIP). Par exemple, le regional_number_hospitals indique le nombre d'hôpitaux dans un code postal donné. Ainsi, il est possible de profiter de la structure GAM des modèles pour réduire le nombre de variables en incluant, dans la variable zip, les informations supplémentaires apportées par les variables régionales.

Appuyez sur ENRICHIR (“ENRICH”) > AJOUTER LA CLASSIFICATION (“ADD CLASSIFICATION”) > GEO CLASSIFICATION.

Donnez un nom au projet de sous-modèle (par exemple, Classification).

Sélectionnez la variable sur laquelle vous souhaitez créer une classification (dans ce cas la variable zip).

Un score d'inclusion sera calculé pour toutes les variables du modèle. Ce score indique la pertinence à réduire cette variable sur la variable zip. Par exemple, la variable region_rural_area a un score de 100%. Cela signifie que, pour un code postal donné, region_rural_area a toujours la même valeur dans la base de données.

Appuyez sur BUILD CLASSIFICATION > USE CURRENT DATABASE.

Donnez un nom au modèle (par exemple Modèle réduit)

Appuyez sur RUN.

Le nouveau Grid Search avec le modèle réduit apparaît. Si toutes les variables sélectionnées pour la classification ont un score d'inclusion de 100%, le modèle réduit (en bleu) aura exactement les mêmes performances mais comportera moins de variables que le modèle précédent (en orange).

  1. Classification Véhicule

La classification peut également être réalisée sur les modèles de véhicules.

Appuyez sur ENRICH > ADD CLASSIFICATION > VEHICLE CLASSIFICATION.

Donnez un nom au projet de sous-modèle (par exemple, VehicleClassification).

Appuyez sur NEXT.

Sélectionnez la variable sur laquelle vous souhaitez créer une classification (dans ce cas la variable vehicle_model).

Appuyez sur NEXT.

Comme avec la classification géographique, un score d'inclusion sera calculé pour toutes les variables du modèle , pour indiquer la pertinence à projeter cette variable sur la variable vehicle_model.

Une fois les variables concernant le véhicule sélectionnées, Akur8 projettera ces variables sur la variable vehicle_model:

Appuyez sur BUILD CLASSIFICATION > USE CURRENT DATABASE.

Donnez un nom au modèle.

Appuyez sur RUN.

Le nouveau Grid Search avec le modèle réduit apparaît. Si toutes les variables sélectionnées pour la classification ont un score d'inclusion de 100%, le modèle final aura exactement les mêmes performances mais comportera moins de variables que le modèle précédent.

  1. Modifier les Coefficients

Les regroupements automatiques sont motivés par la pertinence du signal. Il s'agit d'une bonne pratique, robuste, basée sur les données.

Cependant, ce comportement n’est pas toujours souhaitable pour certains segments qui ont une exposition faible mais un effet connu.

C'est par exemple le cas des conducteurs ayant subi plus d'un accident la dernière année, comme le montre la variable nb_claims_last_year.

La nature interprétable des modèles Akur8 permet d'ajuster manuellement les coefficients via le bouton MODIFIER LES COEFFICIENTS (“EDIT COEFFICIENTS”).

Cliquez sur le bouton MODIFIER LES COEFFICIENTS (“EDIT COEFFICIENTS”)

La fenêtre Modifier les coefficients apparaîtra.

À l'aide de votre souris, dessinez une zone de sélection autour des coefficients à modifier pour les sélectionner.

Nous pouvons déplacer les coefficients en utilisant l'interface graphique, ou en définissant manuellement les valeurs en appuyant sur l'onglet Valeurs. Pour les besoins de ce tutoriel, nous utiliserons le bouton «baguette magique», qui a pour fonction d'aligner les valeurs prédites aux valeurs observées (le dernier bouton du bloc Aligner).

Nous pouvons également modifier d'autres variables, si nécessaire, en les sélectionnant sur le côté gauche de l'écran.

Une fois que vous avez effectué toutes les modifications, appuyez sur APPLIQUER (“APPLY”).

Une fois le menu ouvert, sélectionnez APPLIQUER LES MODIFICATIONS (“APPLY MODIFICATIONS”).

Trois options sont disponibles :

  • APPLIQUER LES MODIFICATIONS (“APPLY MODIFICATIONS”) : seules les modifications que nous avons apportées à certains coefficients sont prises en compte et nous réévaluons le modèle, pour mettre à jour ses scores et graphiques.

  • APPLIQUER LES MODIFICATIONS ET AJUSTER L’INTERCEPT (“APPLY MODIFICATIONS & REFIT INTERCEPT”) : les changements sont appliqués et l’intercept est ajusté.

  • APPLIQUER LES MODIFICATIONS ET AJUSTER LE MODÈLE (“APPLY MODIFICATIONS & REFIT MODEL”) : l'impact des modifications manuelles sur les autres coefficients est également pris en compte. D'autres coefficients (que nous n'avons pas modifiés explicitement) peuvent également être réajustés.

ATTENTION : l'objectif de l'écran Modifier les coefficients (“Modify Coefficients”) est d'ajuster manuellement des segments à très faible exposition, mais présentant un comportement connu de par l’expertise de l’utilisateur. Il ne s'agit en aucun cas de regrouper des segments au signal bruité susceptibles d'apparaître dans les modèles. Nous recommandons de suivre un approche basée sur les données, c’est-à-dire d’augmenter le lissage (global) jusqu’à ce que les tendances bruitées disparaissent.

Pour les besoins de ce tutoriel, nous avons sélectionné APPLIQUER LES MODIFICATIONS (“APPLY MODIFICATIONS”) : comme l'exposition des coefficients modifiés est extrêmement faible, le changement n'aura aucun impact sur les autres variables. Une fois les calculs terminés, les changements seront appliqués et resteront en évidence tout au long du processus de modélisation, afin d’assurer gouvernance et traçabilité.

Ce modèle sera le modèle final de cet exercice. Dans la section suivante, nous allons exporter sa documentation.

  1. Exporter vos modèles et votre documentation

Afin d’utiliser les modèles en production et de communiquer les décisions et les résultats de modélisation, il est essentiel de pouvoir exporter les modèles ainsi que leur documentation

Tout d'abord, le modèle doit être tagué (cela peut être fait en appuyant sur le bouton TAGUER LE MODÈLE (“TAG MODEL”) en haut à droite de l'écran).

Il est possible d'exporter un modèle dans différents formats :

Cliquez sur le bouton EXPORTER (“EXPORT”) et sélectionnez le format d'exportation souhaité.

  • Prédictions : un fichier csv contenant toutes les prédictions du modèle, ainsi que quelques colonnes supplémentaires pour permettre une analyse plus approfondie des résultats via un logiciel externe.

  • Format Legacy : un fichier csv compatible avec d'autres logiciels de tarification.

  • Json : un fichier Json permettant une analyse plus rapide, utile pour connecter le modèle à des scripts développés en interne.

  • PMML : un fichier xml contenant la spécification du modèle. Ce format de fichier universel est compatible avec de nombreux moteurs de tarification et logiciels d'assurance.

  • Documentation : documentation entièrement automatisée, dans un fichier PowerPoint.

La documentation contient :

  • des informations sur les données, ainsi que différentes statistiques relatives à la variable cible

  • des informations relatives aux métriques du modèle, désormais également évaluées sur le jeu de données de validation. Ces métriques de validation n’étaient affichées nulle part dans Akur8, afin de ne pas biaiser la sélection du modèle (il s'agit donc d'un véritable score de validation).

  • toutes les notes de documentation rédigées durant la préparation ou la modélisation des données, regroupées dans un même espace de texte.

  1. Utilisation avancée

Akur8 fournit des fonctionnalités supplémentaires qui peuvent vous aider à créer des modèles de manière plus productive et plus rigoureuse encore. Dans cette section, nous nous concentrerons sur quelques cas pratiques :

→ Section Données (“Data”) :

  • Réutiliser un format : liez les jeux de données pour permettre une définition plus rapide des paramètres.

  • Modifier les niveaux : appliquez un groupement, un réordonnancement et un plafonnement à une variable.

Section Risques (“Risk”) :

  • Importer un modèle Importez des modèles existants et effectuez des mises à jour.

  • Stabilité temporelle Visualisez la stabilité temporelle des modèles.

  • Comparaison de modèles Comparez différents modèles

  1. Réutiliser un Format

Comme nous l'avons vu dans la section Données (“Data”), après avoir téléchargé une base de données, il est nécessaire de regarder les différentes variables du jeu de données et de déterminer si elles doivent être traitées comme Catégorielles ou Ordinales. C'est une étape nécessaire qui améliorera considérablement les performances et la cohérence des modèles si elle est effectuée correctement.

Si nous mettons à jour une nouvelle version de la même base de données, ou une copie filtrée, il serait nécessaire d'effectuer ce même travail répétitif deux fois. Conformément à philosophie d'Akur8, cette tâche doit être automatisée dans le mesure du possible. Le logiciel permet de définir des relations entre les colonnes du jeu de données. Cela réduit le nombre d'itérations manuelles nécessaires pour d’obtenir la meilleure configuration.

Pour lier une version mise à jour de la base de données à une version pré-existante, sélectionnez la nouvelle base de données, appelée Tuto_DB_updated dans l'écran ci-dessous :

Sélectionnez Tuto_DB et appuyez sur le bouton RÉUTILISER UN FORMAT (“REUSE FORMAT”) dans le coin supérieur droit de l'écran.

Dans la fenêtre Réutiliser un Format (“Reuse format”), sélectionnez la base de données (ancienne) Tuto_DB comme base de données de référence.

Une liste des colonnes de la base de données mise à jour apparaîtra, avec les colonnes de la base de données de référence en comparaison, si une colonne équivalente a été trouvée. Un score évaluant la pertinence de cette correspondance est également affiché.

Comme nous pouvons le voir, il est possible de repérer rapidement les différences entre les bases de données : une nouvelle colonne a été introduite (New external variable, à la première ligne), et le score de correspondance dans la variable year est surligné en orange, ce qui signifie qu'un nouveau niveau (une nouvelle année) a été introduit. Il est possible de modifier manuellement la correspondance de certaines colonnes en appuyant sur son nom, si le nom de la colonne a été modifié mais que la relation est toujours vraie.

Si toutes les nouvelles variables sont correctement liées à leur ancienne version, vous pouvez appuyer sur le bouton APPLIQUER (“APPLY”).

Toutes les propriétés catégorielles/ordinales sont copiées de la version de référence depuis la base de données vers la version mise à jour, avec les commentaires et le travail de préparation des données effectué sur la base de données de référence.

Lors de la phase de modélisation, il est également possible d’utiliser la même sélection de variables que pour la base de données de référence entre des bases de données déjà analysées.

  1. Réutiliser les Sélections de Variables

Lors de la création d'un modèle, il est possible de réutiliser le travail effectué pour un autre projet dans l'onglet Sélection des variables (“Define Variable”).

Dans la section Sélection des variables (“Define Variable”), sélectionnez le bouton SÉLECTIONNER (“SELECT”) en bas de la liste des variables puis choisissez l'option Utiliser la sélection depuis un projet (“Use selection from project”).

Une fenêtre contextuelle apparaîtra permettant de choisir les variables sélectionnées parmi d'autres projets de modélisation.

Pour réutiliser les variables sélectionnées dans un autre projet (à partir d’une base de données similaire à celle actuellement utilisée), il suffit de sélectionner le projet de modélisation de référence et d'appuyer sur le bouton FIXER VARIABLES (“SET VARIABLES”).

  1. Modifier les niveaux

Akur8 permet le traitement des données au sein de la solution afin d'éviter des itérations coûteuses entre le logiciel de traitement de données (par exemple, SAS) et Akur8. (Notez cependant que Akur8 n’a pas vocation à servir de solution complète de préparation de données ce qui signifie, par exemple, qu'il n'est pas possible d’effectuer des jointures entre différentes sources de données.)

Akur8 propose la modification des niveaux de colonne via un un processus de groupement et ordonnancement, et la gestion des valeurs manquantes.

Prenons par exemple la variable granulaire vehicle_make. Il peut être pertinent de faire des regroupements selon la nationalité du constructeur.

Dans la section Données, accédez à la page Afficher les variables et sélectionnez la variable vehicle_make.

Pour modifier une variable, vous pouvez appuyer sur le bouton MODIFIER NIVEAUX (“MODIFY LEVELS”), et appuyer sur le bouton GROUPEMENT ET ORDONNANCEMENT (“GROUPING AND REORDERING”) pour ouvrir la fenêtre de modification de variable.

L'écran Modifier les niveaux (“Modify levels”) apparaîtra, montrant la distribution des variables, ainsi que tous ses niveaux sur le panneau de droite. Sur la gauche, il y a la liste complète des variables. Puisqu'après une modification les statistiques sont recalculées, il est fortement conseillé d'effectuer toutes les modifications des variables avant d'appliquer ces modifications.

Le groupement est possible en sélectionnant simplement les niveaux à regrouper. Par exemple :

  • Sélectionnez tous les constructeurs automobiles allemands

  • Cliquez sur le bouton GROUPER (“GROUP”) en bas de la liste

  • Entrez un nouveau nom pour le groupe que vous créez (Allemand)

  • Appuyez sur ENREGISTRER (“SAVE”) pour créer le nouveau groupe.

Les changements sont visibles en temps réel sur le graphique.

Survoler le nom du nouveau groupe avec la souris permettra également de voir tous les anciens niveaux qu'il contient.

Si vous regroupez toutes les marques par pays, la variable Marque mise à jour ressemblera à l'image ci-dessous :

Il est également possible de donner un ordre différent au niveau (cela n'a de sens que pour les variables ordinales) en faisant simplement glisser le nom du niveau à la position appropriée :

Par exemple, la variable studies_level doit être re-ordonnée. Par défaut, il suit l'ordre alphabétique alors que la durée des études serait un ordre beaucoup plus logique.

  • Sélectionnez la variable studies_level

  • Faites glisser et déposez les différents niveaux pour les ordonner correctement.

Enfin, cette fenêtre permet à l'utilisateur de gérer les valeurs manquantes.

Par exemple, nous pouvons gérer les valeurs manquantes dans la variable nb_children :

  • Sélectionnez la variable nb_children dans la liste à gauche de la fenêtre.

  • Sélectionnez le niveau inconnu dans la liste à droite de la fenêtre (il devient vert).

  • Cliquez sur le bouton NA en bas de la liste des niveaux : la valeur devient rouge dans le graphique.

Les valeurs manquantes seront traitées séparément des autres modalités dans l'algorithme d'apprentissage automatique : lors du lissage des niveaux ordonnés, les valeurs manquantes seront ignorées (non lissées) et :

  • s'ils ne contiennent pas de signal significatif, leur coefficient et leur prédiction seront mis à la valeur moyenne.

  • s'ils contiennent des signaux significatifs, leurs coefficients seront modifiés mais ils n'auront pas d'impact sur le reste de la distribution.

  1. Importer un modèle

Dans le cadre d'une mise à jour tarifaire, il est souvent primordial d'actualiser progressivement le tarif à partir d'un tarif existant en production. Tout au long du tutoriel, nous avons créé les modèles en partant de zéro. Cependant Akur8 permet également de mettre à jour de manière optimale un modèle existant. L'import d'un modèle est simple : juste après la création du projet de modélisation, sur l'écran Set Goals (“Définir les Objectifs”), on trouvera en haut à droite de l’écran un bouton IMPORTER UN MODÈLE (“IMPORT MODEL”).

  • Cliquez sur le bouton IMPORTER UN MODÈLE (“IMPORT MODEL”).

  • Donnez un nom au modèle d'importation et choisissez le modèle que vous souhaitez importer.

  • Appuyez sur le bouton IMPORTER UN MODÈLE (“IMPORT MODEL”).

Les imports de modèles depuis de nombreux logiciels ou des fichiers Json sont pris en charge. (Selon les standard nationaux, il peut être nécessaire de définir un Format personnalisé pour le séparateur des fichiers csv.)

Il est nécessaire de vérifier l’adéquation des noms de variables dans le modèle avec ceux présents dans le jeu de données. Toutes les variables pour lesquelles le score de correspondance est inférieur à 100% (dans l'exemple ci-dessous, la variable year) doivent être inspectées.

Dans le cas de la variable year, nous pouvons remarquer que l'année 2020 est surlignée en rouge, ce qui signifie que l'année 2020 est présente dans la base de données mais non spécifiée dans le modèle, ce qui est logique puisque nous importons un ancien tarif.

Par défaut, Akur8 essaiera de gérer ces valeurs de manière optimale (dans ce cas, 2020 est regroupée avec 2019). L’utilisateur a cependant le contrôle sur le coefficient de cette nouvelle modalité grâce au bouton de modification des coefficients affiché sous la distribution.

Une fois que toutes les variables sont correctement jumelées, cliquez sur APPLIQUER (“APPLY”).

L'utilisateur peut accéder à ImportedAutoGlmKModel, le modèle importé. Il est alors possible de suivre le processus standard de modélisation et de mettre à jour le modèle.

  • Cliquez sur ENRICHIR (“ENRICH”) > AJOUTER PLUS DE VARIABLES (“ADD MORE VARIABLES”).

  • Laissez les variables du modèle déjà sélectionnées et ajoutez les nouvelles variables devant être prises en compte dans le nouveau modèle (si nécessaire).

  • Cliquez sur GÉNÉRER DES MODÈLES (“GENERATE MODELS”) et sélectionnez les pas de parcimonie et de lissage comme vous le souhaitez.

  1. Forcer le comportement d’une variable

Une fois définis les Objectifs du projet de modélisation, il est possible d’imposer des contraintes spécifiques sur une variable.

On peut forcer le comportement de cette variable :

  • Offset : sous le graphique, vous pouvez cliquer sur + Offset (“Offset”). Cela permettra de définir des coefficients en offset, soit graphiquement, soit en éditant les valeurs à l'aide d'une interface de type tableur

L’offset peut être défini graphiquement, en sélectionnant des coefficients et en utilisant les boutons d'édition à droite du graphique ou, numériquement, en entrant une valeur exacte dans le tableau VALEURS (“VALUES”).

  • Contraintes : la flexibilité des algorithmes d’Akur8 permet d'introduire des contraintes spécifiques pour certaines variables. Il est par exemple possible d’imposer une tendance croissante ou décroissante. Notez qu’en l’absence de contraintes réglementaires explicites, cette option ne doit pas être activée : si une tendance devait naturellement provenir des données, Akur8 pourra la capturer.

  1. Stabilité temporelle

Sur l’écran de visualisation des variables d'un modèle, appuyez sur le bouton STABILITE TEMPORELLE (“TIME CONSISTENCY”) sous le graphique de la variable.

Garantir la stabilité temporelle d'un modèle est essentiel pour une modélisation correcte. Akur8 permet une détection intuitive et explicite des écarts significatifs du niveau de risque d’une année à l’autre.

L’analyse de la stabilité temporelle d'une variable se fait via l'interaction entre la variable et l'année (si c’est bien l’année qui a été choisie comme variable temporelle dans les Objectifs). Si cette interaction est significative, le modèle n'est pas stable dans le temps.

Akur8 ajuste les interactions jusqu'à une valeur de signification déterminée par le lissage du modèle considéré. Lors de la visualisation de chaque variable, le bouton de stabilité temporelle est affiché sous le graphique. Le graphique de stabilité temporelle montre le coefficient d'interaction entre le temps et la variable, ajusté par-dessus le modèle existant.

Cela permet de repérer immédiatement les biais temporels en s’affranchissant des graphiques trop bruités (qui sont très difficiles à lire pour les variables granulaires).

Dans le graphique ci-dessus, on peut remarquer quelques instabilités dans le classement des véhicules, notamment pour le segment 16-26, où le risque en 2018 est nettement supérieur à celui observé en 2019. Accepter cette instabilité temporelle ou supprimer cette variable est un choix qui revient au modélisateur.

Dans cette image, nous pouvons voir que la variable claim_history est stable dans le temps, car aucune interaction significative n'a été détectée.

  1. Comparaison de modèles

Dans le même projet, différents modèles peuvent être tagués et inspectés, par exemple, pour analyser les différences entre un modèle simple avec peu de variables et un modèle complexe. Akur8 permet une comparaison rapide et intuitive grâce à son comparateur de modèles.

  • Inspectez l'un des modèles et sélectionnez le bouton COMPARER (“COMPARE”) en haut de la page.

  • Sélectionnez, dans la liste des modèles tagués, le modèle avec lequel vous souhaitez comparer.

  • Appuyez sur le bouton COMPARER MODÈLES (“COMPARE MODELS”).

Vous pourrez comparer tous les graphiques disponibles dans l'outil : spreads, courbe de Lorenz, courbe de lift et variables.

ANNEXE TECHNIQUE

SPREAD DE VARIABLES

Le spread d'une variable est calculé à partir de ses coefficients :

  • La longueur totale de la barre (Spread 100/0%) correspond à la différence entre les coefficients maximum et minimum : Spread=MaxCoefficientsMinCoefficients−1

Si une variable n'est pas sélectionnée dans le modèle, tous ses coefficients sont égaux et le spread est égal à 0.

  • La longueur de la barre vert foncé (Spread 95/0%) correspond à la même mesure, après suppression des coefficients correspondant aux 5% les plus hauts et les plus bas du jeu de données.

Il représente une vision plus robuste de l’impact de la variable, à l’exclusion des valeurs extrêmes.

Par exemple, dans le graphique ci-dessous, le spread total (100/0) de la variable driver_age est de 150%, ce qui signifie que le segment d’âge le plus risqué est deux fois plus risqué que le segment le moins risqué. Cependant, le spread “robuste” (95/5) est de 45%. Cela signifie que pour cette variable, la valeur élevée du spread 100/0 est principalement expliquée par la contribution d’un segment de faible exposition (les jeunes conducteurs).

On peut mener ces calculs directement depuis les coefficients de la variable :

  • Le coefficient le plus élevé est de + 142,5%

  • Le coefficient le plus bas est de -4%

→ on peut calculer le spread 100/0 :

  • Après suppression des coefficients correspondant à 5% des profils présentant le risque le plus élevé, le coefficient le plus élevé est de + 40,9%

  • Après suppression des coefficients correspondant à 5% des profils présentant le risque le plus faible, le coefficient le plus bas est de -4% (il ne change pas car la population est très importante à ce niveau de risque)

LECTURE DES GRAPHIQUES DE VARIABLES

La moyenne ajustée et la moyenne observée doivent être, dans la mesure du possible, proches l’une de l’autre. Cependant, pour les modalités de faible exposition, les valeurs moyennes observées peuvent varier de manière non significative. Dans ce cas, les coefficients seront regroupés et les prédictions du modèle (qui elles sont robustes) ne correspondront pas directement aux valeurs observées.

Les coefficients représentent l'impact de la variable sélectionnée uniquement, tandis que la valeur moyenne prédite prend en compte l'impact de toutes les variables présentes dans le modèle.

COURBES DE LIFT ET DE LORENZ

Les métriques des modèles peuvent être visualisées dans l'écran Présentation du modèle (“Model Overview”).

  1. Sur la droite de l'écran de présentation du modèle, on trouvera la courbe de Lorenz. La courbe de Lorenz est construite en ordonnant toutes les observations de la fréquence estimée la plus basse à la plus élevée (sur l'axe des x), et en calculant, pour chacune d'elles, le nombre cumulé de sinistres observés (sur l'axe des y).

  2. Une prédiction aléatoire du risque suivrait la diagonale, tandis que des prédictions parfaites conduiraient à un ordonnancement exact des polices selon les sinistres (et ainsi la courbe de Lorenz augmenterait très fortement, pour atteindre 100%, et y rester).

  3. Vous pouvez remarquer que 5 courbes différentes sont affichées, correspondant à la performance de chacun des 4 échantillons différents, ainsi qu’à leur moyenne.

  4. Les coefficients de Gini représentent (deux fois) l'aire entre la courbe moyenne et la diagonale. Une valeur plus élevée indique de meilleures prédictions, tandis qu'une valeur proche de 0 indique que les prédictions étaient comparables au hasard.

  1. En plus de la courbe de Lorenz, vous pouvez afficher la courbe de lift en cliquant sur l'onglet Courbe de Lift (“Lift Curve”).

La courbe de lift est construite en ordonnant l'observation des prédictions (sur les échantillons de test dans la Validation Croisée) de la prédiction la plus basse à la plus élevée, et en les agrégeant par des classes de risque contenant chacune 5% de la base de données. Pour chaque classe, les valeurs moyennes prédites et observées sont représentées.

Cette courbe reflète le pouvoir discriminant du modèle (différence entre les risques extrêmes prédits et observés).

Si les courbes se superposent, cela signifie que le modèle prédit bien les valeurs observées, tandis qu'une courbe plus chaotique signifie que les prédictions ne sont pas bien ajustées aux données.

Avez-vous trouvé la réponse à votre question ?