22/5/2017

Qui sommes nous ?

Le Centre d'Expertise en Modélisation et Recherche c'est :

  • 2 directions, 16 professionnels
    • actuaires
    • statisticiens
    • spécialistes de données
    • spécialistes en Système d'Information Géographique
  • Nombreux partenariat avec l'université, stagiaires, collaboration académiques, …
  • Poste de statisticien ouvert en ce moment, envoyez les CVs !

Qu'est-ce qu'on fait ?

Mandat : innovation en analytique

En partenariat avec tous les secteurs de l'entreprise (de la tarification au marketing en passant par l'expérience client), nous avons les mandats suivants :

  • la modélisation prédictive ou explicative
  • les systèmes d'information géo
  • Vigie et innovation an analytique avancée
  • Rôle-conseil/choix d'outils et formation

Utilisation de R chez DGAG et au CEMR

L'assurance est un domaine conservateur, les actuaires apprennent R à l'université puis l'oublient aussitôt pour beaucoup d'entre eux.

Dans tous les domaines, à l'université en général on apprend à coder dans un langage open-source. Simplement parce que c'est gratuit.

En arrivant en entreprise, on se retrouve face à face avec des logiciels propriétaires comme :

Mais la tendance est bonne pour R

Comparaison des offres d'emplois mentionnant SAS (orange) contre R (bleu)

Problématique

Certaines entreprises sont bien plus avancées et fournissent un environnement de travail pour développeur R. Exemple de airBnB : présentation à la conférence R-users NY

Comment faire les premiers pas dans une entreprise moins mature sur ce genre de logiciel ?

Plan de la présentation

  1. Miser sur les forces de R pour faire sa promotion
  2. Contrer les nombreuses idées reçues sur le langage
  3. Exemple de projets entièrement développé avec R

Note : très peu de code dans la présentation, le but est juste de présenter les concepts et les solutions, pas de les détailler !

Utiliser les forces de R pour créer de l'intérêt

Les principales forces de R

  • Puissance de modélisation avec R
  • Accès à des librairies d'autres langages
  • Esthétique de R, dans les rapports, les graphiques, les cartes.
  • Rstudio

Le plus évident

la modélisation avec R

C'est le point fort de R, c'est un langage de programmation statistique, c'est fait pour qu'écrire un modèle soit ultra-simple

library(mgcv)
resGAM <- gam(data = data, formula = X1 ~ s(X2) + s(X3, X4), family = poisson)

Mais il n'y a pas que la simplicité, on peut également facilement obtenir des résultats ultra-performants.

Il faut utiliser ça pour montrer à la direction que des alternatives plus performantes existent et sont gratuites.

Exemple : xgboost contre treenet

Exemples de packages utiles

La puissance de modélisation en R est très liée à la capacité qu'a R de s'interfacer avec d'autres langages, d'autres librairies.

  • Statistique, séries temporelles
    • Generalized additive models : mgcv, flexibilité, performance même sur les gros jeux de données avec bam.
    • Modèles mixtes : nlme (mgcv permet aussi d'estimer des modèles mixtes)
    • LASSO avec lars
    • forecast, obtenir un arma assez performant en quelque caractère avec auto.arima.
  • Machine learning
    • xgboost, extrêmement rapide, reste interprétable, tellement facile d'obtenir un premier modèle !
    • h2o
  • Librairies bayésiennes
    • stan
    • bugs

Le meilleur impact

Deux façon de faire une bonne impression :

  • Soit avec les résultats
  • Soit avec la façon dont les résultats sont présentés

R permet de générer des rapport (en html ou en LaTeX) avec Rmarkdown. Possibilité de mettre des vidéo, des graphiques (dynamiques ou non), des cartes (leaflet)

Contrer les idées reçues

Vitesse

R, c'est lent.

C'est évidemment faux, on a la possibilité de faire appel à Rcpp et même si on ne le fait pas, la plupart des packages le font. Exemples : xgboost, dplyr, …

Gros volume de données

Dès que le volume de données est important, R n'est pas capable de les traiter

Faux, pour plusieurs raisons :

  • La RAM aujourd'hui est vraiment accessible, on peut travailler dans un environnement infonuagique (amazon, Microsoft Azure, …) ou utiliser des serveurs internes.
  • Certains packages permettent de traiter les gros volumes : solutions de Microsoft, ff, biglm
  • Pour ce qui concerne la manipulation de données, on peut travailler directement avec des bases de données : dbplyr

Mise à jour du logiciel et des packages cassant le code

R, ça change tout le temps, dès qu'on fait une mise à jour, tout le code écrit avant devient inutile.

Il existe des solutions pour ça avec packrat ou chez Microsoft.

packrat permet d'utiliser pour chaque projet une librairie de packages unique. Le projet est ainsi isolé, portable et reproductible.

Comment diffuser son code

comment créer des livrables

Comment diffuser son code, comment créer un livrable avec R ?

On ne peut pas créer un exécutable, mais on a Shiny !

Il existe également d'autres alternatives : deployR de Microsoft, ou l'open scoring avec PMML.

Exemples de projets réalisés entièrement en R

Prévision du nombre d'appels

Etapes :

  1. Construire une prévision quotidienne du volume d'appels
    • Construction de plusieurs méthodes de prévisions : arima, ML, modèle mixte avec résidus autocorrélés, …
    • Méthode d'ensemble avec le package opera.
  2. Livraison d'une appli shiny permettant à l'utilisateur de
    • Mettre à jour les données (fait de façon hebdomadaire)
    • Visualiser les données (graphe calendaire, comparaison prévu/réalisé, …)
    • Lancer de nouvelles prévisions à l'horizon souhaité
    • Exporter ces prévisions

Conclusion

Que retenir de cette présentation ?

  • On utilise R chez Desjardins…
  • … et de plus en plus
  • C'est possible de faire évoluer de grosses structures vers les logiciels open-source, nous sommes au bon moment pour le faire.