05 Sélection de modèle linéaire

10 vues

Publié le

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.

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
10
Sur SlideShare
0
Issues des intégrations
0
Intégrations
0
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

05 Sélection de modèle linéaire

  1. 1. Sélection de modèle linéaire 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 1
  2. 2. Objectifs  xxx.  6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 2
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  25. 25. Rétrécissement 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 25 • Package glmnet >fit <- glmnet(X,y) >print(fit) Df %Dev Lambda [1,] 0 0.0000 396.6000 [2,] 1 0.1266 361.3000 [3,] 1 0.2318 329.2000 [4,] 1 0.3190 300.0000 [5,] 1 0.3915 273.3000 [6,] 1 0.4517 249.1000 … … … [66,] 11 0.955 0.9377 [67,] 11 0.955 0.8544 [68,] 11 0.955 0.7785 [69,] 11 0.955 0.7093 [70,] 11 0.955 0.6463 [71,] 11 0.955 0.5889 >coef(fit, s=c(0.5, 1.0, 250, 270)) 12 x 4 sparse Matrix of class "dgCMatrix" 1 2 3 4 (Intercept) -483.1828148 -483.3484598 183.3764373 229.3142597 Income -7.7230974 -7.6689002 . . Limit 0.1768314 0.1741490 . . Rating 1.3276726 1.3548545 0.9484379 0.8190137 Cards 16.4412907 16.0593878 . . Age -0.5955643 -0.5815959 . . Education -0.8639704 -0.7269825 . . GenderFemale -9.2782021 -8.3171097 . . StudentYes 422.8535873 421.1833213 . . MarriedYes -7.6203634 -6.7361380 . . EthnicityAsian 13.6925718 11.3366040 . . EthnicityCaucasian 7.2799124 5.2860885 . .
  26. 26. Rétrécissement 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 26 • Package glmnet plot(fit, label = TRUE, xvar = "lambda")
  27. 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. 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

×