Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
3. Sommaire
• Réduction du nombre des variables explicatives
• La subset selection et la stepwise selection
• Sélection du modèle par ajustement du RSS
• Cp, AIC, BIC, Adjusted R2
• Sélection du modèle par validation croisée (k-fold cross validation)
• Rétrécissement ou shrinkage
• pénalisation Ridge
• pénalisation Lasso
• Bibliographie
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 3
4. Sélection de modèle linéaire
• Réduction du nombre des variables explicatives
• Moins il y aura des variables, plus facile sera l’interprétation.
• Le déploiement sera facilité.
• Pour un même nombre d’observations, un modèle avec peu de variables a de meilleures
chances d’être plus robuste en généralisation.
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 4
5. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 5
• Best subset selection
• Stepwise selection
• Foward
• Backward
• Rétrécissement (Shrinkage)
• régression de Ridge (L2)
• Lasso (L1)
• Réduction de dimensionnalité: régressions PCR et PLS
appliqués aux méthodes qui estiment f par la méthode des moindres carrés où
on minimise RSS (somme des carrés des résidus). Par conséquent, assurez vous
que n > p !!
régularisation: on ajoute une pénalité à RSS, notions de normes L2 et L1
pas abordées dans ce cours
6. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 6
• La best subset selection
• on teste toutes les combinaisons possibles de variables et on
regarde quel est le meilleur modèle
• on part d’un modèle « null » et à chaque étape on rajoute un
descripteurs sur les p et on calcule le RSS ou R2
• RSS ou R2 est le critère de choix à chaque étape, mais à la fin on
doit faire une sélection parmi 2p modèles, on les regarde tous !
• méthode basée sur une exploration de l’espace des solutions: si
p ≥ 40: problème de surajustement; utilisez avec p ≤ 10
• regarder tous les modèles possibles n’est pas la solution, c’est un
problème de variance! pas de puissance de calcul
• Sélection selon erreur de test minimale
• Soit en ajustant l’erreur d’apprentissage:
• AIC, BIC, Cp (avec estimation de la variance de l’erreur: n > p)
• adjusted R2 uniquement pour régression linéaire
• Soit on évalue l’erreur de test avec validation croisée
On n’abordera pas cette méthode !
tous les modèles
à 8 variables
Important: le critère RSS est utilisé car on est dans le cas d’une
régression linéaire; généralement on utilise la déviance = 2LL
(généralisation de RSS) et elle sera appliquée pour d’autres types
de modèles comme la régression logistique
7. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 7
• La stepwise selection
• Foward:
• on part d’un modèle « null » (ne contient que l’intercept) et à
chaque étape on rajoute un descripteurs sur les p et on calcule le
RSS ou R2
• mais ici on se base sur le choix de l’étape précédente
• donc sélection finale parmi ~p2/2 modèles « imbriqués » << 2p
• Backward:
• on part d’un modèle avec toutes les variables et à chaque étape
on enlève un descripteurs sur les p et on calcule le RSS ou R2
• mais ici on se base sur le choix de l’étape précédente
• donc sélection finale parmi ~p2/2 modèles « imbriqués » << 2p
• Sélection selon erreur de test minimale
• Soit en ajustant l’erreur d’apprentissage:
• AIC, BIC, Cp (avec estimation de la variance de l’erreur: n > p)
• adjusted R2 uniquement pour régression linéaire
• Soit on évalue l’erreur de test avec validation croisée
(recommandée)
résultat différent à cause de corrélations entre variables
8. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 8
• Sélection selon erreur de test minimale
• Appliqué aux méthodes best subset selection et
stepwise selection
• On ajuste l’erreur d’apprentissage RSS:
• AIC, BIC, Cp (avec estimation de la variance de l’erreur: n > p)
• adjusted R2 uniquement pour régression linéaire
9. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 9
• Estimation de l’erreur de test en ajustant RSS
1. Le critère Cp de Mallow
• d = nombre de variables + l’intercept = p +1
• ො𝜎2 est l’estimation de la variance de l’erreur 𝜖
• ෝ𝝈2 = RSE sachant que
10. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 10
• Estimation de l’erreur de test en ajustant RSS
2. Le critère AIC d’Akaike
• d = nombre de variables + l’intercept = p +1
• L = le maximum de la fonction de vraisemblance
• -2 log L = RSS / RSE, donc Cp et AIC sont proportionnels: vrai pour des modèles linéaires
11. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 11
• Estimation de l’erreur de test en ajustant RSS
3. Le critère BIC de Schwartz
• d = nombre de variables + l’intercept = p +1
• n = nombre d’observations
• Equivalent à Cp sauf que 2d a été remplacé par log(n)
• BIC pénalise plus la complexité du modèle dès que l’effectif augmente ( log(n) > 2 )
12. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 12
• Estimation de l’erreur de test en ajustant RSS
4. Adjusted R2
• d = nombre de variables + l’intercept = p +1
• n = nombre d’observations
• Adjusted R2 permet d’effectuer la comparaison entre modèles ayant un nombre différent de variables
• on ne compare pas le R2 d’un modèle à 2 variables avec le R2 d’un autre modèle à 4 variables …!
• Vous payez un prix pour l’introduction des variables pas très explicatives
• Pas besoin de ො𝜎2 = RSE
Adjusted R2 est plus facile à expliquer que Cp, AIC, BIC …
mais Adjusted R2 n’est applicable qu’aux régressions
linéaires ! pas à la régression logistique, par exemple.
13. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 13
• Fonction R regsubsets() pour les méthodes suivantes
• best subset selection
• stepwise selection: forward, backward
• Sélection de modèle avec estimation de l’erreur de test en ajustant RSS (Cp, BIC, AIC, Adj R2)
regfit <- regsubsets(y~., data=train_data, nvmax=11)
regfit <- regsubsets(y~., data=train_data, nvmax=11, method=‘backward')
regfit <- regsubsets(y~., data=train_data, nvmax=11, method='forward')
summary.reg <- summary(regfit)
summary.reg$rss
summary.reg$cp
summary.reg$bic
summary.reg$adjr2
14. Sélection de modèle linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 14
• Estimation de l’erreur de test avec validation croisée (k-fold cross validation)
• On estime l’erreur de prédiction pour chaque modèle ℳ𝑝 (p variables):
1. On construit un modèle 𝑚 𝑝𝑖 (à p variables) pour chaque fold i, i=1,..,k
2. On valide chaque modèle 𝑚 𝑝𝑖: calcul du MSE avec données test
3. On effectue la moyenne des k MSE
• Pas besoin de ෝ𝝈2 = RSE ni de d
𝑚 𝑝1 𝑚 𝑝2 𝑚 𝑝3
=> MSE1 => MSE2 => MSE3
fold 1 fold 2 fold 3
Estimation des erreurs de test pour chaque modèle ℳ𝑝, p=0,1, ..,11
moyenne des k MSE
moyenne des k MSE
moyenne des k MSE
15. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 15
• Pénalisation ou Régression Ridge
• Au lieu d’estimer les coefficients መ𝛽 qui minimisent RSS,
nous allons estimer les coefficients መ𝛽R qui minimisent
« RSS + pénalité »:
• On pénalise les coefficients (sauf β0) qui deviendraient trop grands
• Le paramètre λ > 0 à choisir via VALIDATION CROISEE
• Il est préférable de normaliser les vecteurs avant de minimiser le
critère
pénalité
16. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 16
• Pénalisation ou Régression Ridge
• Valeurs approximatives des coefficients qui minimisent
RSS + 100 RSS + 200
RSS + 100
• Limit ~380
• Rating ~250
• Student ~140
• Income ~-280
• + 6 variables proches de zéro
RSS + 200
• Limit ~200
• Rating ~200
• Student ~100
• Income ~-100
• + 6 variables proches de zéro
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
17. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 17
• Pénalisation ou Régression Ridge
• Notion de norme L2 (𝓁2 norm)
• Graphique équivalent au précédent
avec sur l’axe des x
sachant que
coefficients avec
minimisation RSS
coefficients de Ridge:
minimisation RSS+pénalité
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
18. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 18
• Pénalisation ou Régression Ridge
• Meilleur λ
MSE = variance + biais2
variance
biais
…il serait préférable d’annuler les variables proches de
zéro si l’on souhaite effectuer une sélection de modèle…
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
19. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 19
• Pénalisation Lasso (sparse model, peu dense)
• Au lieu d’estimer les coefficients መ𝛽 qui minimisent RSS,
nous allons estimer les coefficients መ𝛽L qui minimisent
« RSS + pénalité »:
• On pénalise les coefficients (sauf β0) qui deviendraient trop grands
• Le paramètre λ > 0 à choisir via VALIDATION CROISEE
• Il est préférable de normaliser les vecteurs avant de minimiser le
critère
pénalité
norme L1 (𝓁1 norm)
20. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 20
• Pénalisation Lasso
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
21. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 21
• Ridge et Lasso
• Solutions aux problèmes d’optimisation sous contrainte
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
22. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 22
• Ridge et Lasso
• Lasso serait la méthode de préférence
lorsque l’on souhaite effectuer une sélection
de variables où l’interprétabilité du modèle
est important.
• Les résultats de Lasso seront meilleurs
lorsque la réponse est en réalité une
fonction de peu de variables (modèle peu
dense).
• Les résultats de Ridge de Lasso seront
meilleurs lorsque la réponse est en réalité
une fonction de beaucoup de variables
(modèle dense).
Lasso (solide), Ridge (pointillées)
MSE
variance
biais
R2 sur l’axe des x pour effectuer des
comparaisons entre Lasso et Ridge
Vrai modèle dense:
Vrai modèle sparse:
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
23. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 23
• Déterminer le meilleur λ
1. Déterminer les r valeurs de λ (r scénarios)
que l’on souhaite tester
• λ = (0, λ1, λ2, …, λr)
2. Effectuer une validation croisée pour
chaque valeur de λ
• k-fold cross-validation (k=5 ou 10)
3. Effectuer la moyenne des MSE (sur les k
modèles) pour chaque scénario
4. Sélectionner la valeur λi correspondante
au minimum des moyennes des MSE
calculées précédemment
…
λ = λ1
λ = λ2
λ = λr
…
…
…
…
…
…
…
fold 1 fold 2 fold k
24. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 24
• Package glmnet
α = 0: Ridge
α = 1: Lasso
α 𝜖 (0,1): Elastic
glmnet(
x = X,
y = y,
family = "gaussian",
weights = 1,
alpha = 1,
nlambda = 100,
standardize = TRUE
)
par
défaut
variables: matrice n x p;
réponse: matrice n x 1
un max de 100 valeurs de λ seront calculées
les variables x seront normalisées
les variables seront normalisées
toutes les observation ont la même importance ou poids
pour régression linéaire
peut être générée par model.matrix(), si variables
catégorielles; la présence de la colonne (Intercept)
n’affecte pas le résultat, le coefficient correspondant sera
doublé dont une des valeurs toujours nulle.
on peut également définir les valeurs de λ que l’on souhaite
utiliser avec les paramètres lambda.max et
lambda.min.ration.
27. Rétrécissement
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 27
• Package glmnet
>cvfit <- cv.glmnet(X,y)
>plot(cvfit)
>coef(cvfit, s = "lambda.min")
12 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) -483.2509168
Income -7.7070445
Limit 0.1759810
Rating 1.3365673
Cards 16.3250336
Age -0.5915165
Education -0.8235808
GenderFemale -8.9964174
StudentYes 422.3607831
MarriedYes -7.3636479
EthnicityAsian 13.0035518
EthnicityCaucasian 6.6959801
28. Bibliographie
James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
Hastle T., Qian J., Glmnet vignette, Stanford, 18 février 2015
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 28