Trees and forests

For my ACT6100 weekly quiz, I usually generate some datasets, and then ask students to compare various predictive algorithms. Last week, it was about classification trees and random forests. And students were surprised to have such differences (they had to estimate the probability to have a specific label, for the barycenter of the covariates).

Usually, I use the following to generate some (here 12) covariates that could be correlated

library(FactoMineR)
n=279
library(clusterGeneration)
library(mnormt)
k=12
S=genPositiveDefMat("unifcorrmat",dim=k)
X=round(rmnorm(n,varcov=S$Sigma)+8,2)
rownames(X)=1:n
colnames(X)=LETTERS[1:k]

Then I need to generate some data, based on some covariates (5 out of 12), with various strengths

idx = sample(1:k,size=5)
u = sample(c(-(4:1),1:4),5)
beta = rep(0,k)
beta[idx] = u
U = X%*%beta
U = U-min(U)
U = U/max(U)*6-3
p = exp(( U))/(1+exp((U )))
Y = rbinom(n,size=1,prob=p)
df = data.frame(Y=as.factor(Y),X)
levels(df$Y)=levels=c("blue","red")

We can run a classification tree

library(rpart)
arbre = rpart(Y~., data=df)

and a random forest,

library(randomForest)
set.seed(1)
arbres = randomForest(Y~., data=df)

Here are the partial plots for 4 of the explanatory variables that actually have an impact

partialPlot(arbres,pred.data = df, x.var = "A")


Predictions for the “average” point of the dataset is here

(parbre = predict(arbre,newdata=data.frame(t(apply(df[,-1],2,mean))),type = "prob"))
       blue       red
1 0.8064516 0.1935484
(parbres = predict(arbres,newdata=data.frame(t(apply(df[,-1],2,mean))),type = "prob"))
   blue   red
1 0.422 0.578
attr(,"class")
[1] "matrix" "votes"

and there is a substantial difference, with a probability of 19% with a single tree, 58% with 500 trees (the default value of the function).

To understand why we can have such a difference, we should not only focus on the bagging stratgy, but look at the variability of the predictions, obtained with trees,

B=1e4
parbres = rep(NA,B)
m=data.frame(t(apply(df[,-1],2,mean)))
for(b in 1:B){
  idx = sample(1:nrow(df),size=nrow(df),replace=TRUE)
  arbre = rpart(Y~., data=df[idx,])
  parbres[b] = predict(arbre,newdata=m,type = "prob")[2]
}
hist(parbres)

Surprisingly, we have here a bimodal function for \hat{y} which is either very small for some trees, of very large for others. On average, we have a value close to 55%… I think I will use more that generative algorithm for future quiz…

GLM, STT5100

Dernière ligne droite dans le cours STT5100 de modèles linéaires appliqués. Les supports de cours sont en ligne sur https://github.com/freakonometrics/STT5100. Cette session étant en distanciel, le cours est asynchrone, et je poste régulièrement des capsules vidéos. Les capsules en lien avec les modèles linéaires généralisés (GLM) sont maintenant en ligne,

  1. introduction générale video pdf (10:15)
  2. lois de Bernoulli, binomiale, multnomiale video pdf (29:23)
  3. régression logistique (Bernoulli) video pdf (23:04)
  4. régression multinomiale video pdf (21:45)
  5. régression logistique sur variables catégorielles video pdf (30:24)
  6. régression logistique sur variables continues video pdf (21:35)
  7. analyse discriminante et courbe ROC video pdf (56:53)
  8. modèles de comptage et loi de Poisson video pdf (19:28)
  9. régression de Poisson video pdf (25:38)
  10. régression de Poisson et interprétations video pdf (40:15)
  11. régression de Poisson et méthode des marges video pdf (25:29)
  12. régression de Poisson et application en assurance video pdf (36:23)
  13. famille exponentielle video pdf (30:01)
  14. famille exponentielle et GLM video pdf (41:02)
  15. loi et lien video video pdf (36:05)
  16. déviance et résidus video pdf (15:10)
  17. modèle Tweedie et poids video pdf (29:33)
  18. surdispersion video pdf (21:01)
  19. tests et GLM video pdf (19:41)
  20. GLM en petite dimension video pdf (23:34)
  21. méthode stepwise video pdf (17:57)
  22. Poisson vs. Binomiale, application en démographie video pdf (22:25)
  23. Exemple (1) video + pdf

ACT6100, analyse supervisée

On avance dans le cours ACT6100 d’analyse des données en actuariat. Les supports de cours sont en ligne sur https://github.com/freakonometrics/ACT6100. Les capsules présentant les principales méthodes d’analyse supervisée sont maintenant en ligne

  1. Risque video pdf (45:06)
  2. Validation Croisée video pdf (32:00)
  3. Fonction de perte video pdf (20:04)
  4. Règle de Bayes et analyse discriminante video pdf (37:23)
  5. Dimension de Vapnik-Chervonenkis video pdf
  6. Régularisation et pénalisation video pdf (27:17)
  7. Régularisation – Ridge video pdf (36:46)
  8. Régularisation – Lasso (1) video pdf (41:23)
  9. Régularisation – Lasso (2) video pdf (32:24)
  10. Régularisation – GLM (Ridge et Lasso) video pdf (20:57)
  11. Régularisation – SVM video pdf (38:25)
  12. Simulations et monte carlo video pdf (50:29)
  13. Simulations et bootstrap video pdf (36:03)
  14. Arbres (1) video pdf (44:15)
  15. Arbres (2) video pdf (39:35)
  16. Arbres (3) video pdf (37:30)
  17. Interprétabilité video pdf (36:14)
  18. Méthode d’ensembles video pdf (41:17)
  19. Stacking & bagging video pdf (40:15)
  20. Forêts aléatoires video pdf (31:55)
  21. Agrégation séquentielle et boosting (1) video pdf (17:46)
  22. Agrégation séquentielle et boosting (2) video pdf (46:06)
  23. Réseaux de neurones (1) video pdf (45:43)
  24. Réseaux de neurones (2) video pdf (32:40)
  25. Réseaux de neurones (3) video pdf (31:44)
  26. Réseaux de neurones (4) video pdf (35:54)

Si les liens des vidéos ne marchent pas, je renvoie vers l’ensemble des capsules du cours, ici.

Insurance Data Science Conference 2021 (online)

The Insurance Data Science Conference returns in 2021 for an on-line global event. The conference will run over three half-days (afternoons in Europe & Africa / mornings in the Americas). The conference brings together academics and practitioners in areas including data science, analytics, machine learning, artificial intelligence, computational statistics and software, as applied in the insurance industry. For more information, see https://insurancedatascience.org/

Insurance against Natural Catastrophes: Balancing Actuarial Fairness and Social Solidarity

Our research paper, Insurance against Natural Catastrophes: Balancing Actuarial Fairness and Social Solidarity, with Molly James and Laurence Barry, is now available.

Natural disasters offer a special case for the study of private and public insurance mix. Indeed, the experience accumulated over the past decades has made it possible to transform poorly known hazards, long considered uninsurable, into risks that can be assessed with some precision. They exemplify however the limits of the risk-based premiums method, as it might imply unaffordability for some. The French scheme reflects such ideas and offers a wide coverage for moderate premiums to all, but is shaken by climate change: we show that some wealthier areas, that were not perceived as “at risk” in the past, have become exposed to submersion risk in the future. This singularly makes some well-off properties the potential main beneficiaries of a scheme that was historically thought to protect the worst-off. Acknowledging that some segmentation might become desirable, we examine several models for flood risk and the disparity in premiums they entail.

Intervention au séminaire TransNum de Sciences Po

Vendredi, j’interviendrai avec les collègues de la chaire PARI au séminaire TransNum à Sciences Po, à Paris, sur le thème Des risques individualisables ? Enjeux et limites pour le secteur assurantiel. 

Depuis la fin du XVIIIe siècle, l’industrie assurantielle repose sur un principe de mutualisation : tous (ou en tout cas un grand nombre) cotisent pour se couvrir contre un risque qui ne frappera que quelques-uns. La différence entre les sommes cotisées et celles qui sont versées rémunèrent les assureurs, dont le modèle économique repose sur la mobilisation d’outils mathématiques – les probabilités – dont le développement accompagne celui de cette industrie. L’arrivée des données massives est-elle susceptible de remettre en cause ce modèle ? La discussion sera menée d’un triple point de vue : historique, épistémologique et économique.

Les slides de mon intervention sont en ligne.