SlideShare a Scribd company logo
1 of 28
Sélection de modèle
linéaire
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 1
Objectifs
 xxx.

6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 2
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
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
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
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
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
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
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
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
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 )
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.
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
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
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é
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
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
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
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)
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
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
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
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
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.
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 . .
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")
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
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

More Related Content

Viewers also liked

Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4jBoris Guarisma
 
04 Introduction au logiciel R
04 Introduction au logiciel R04 Introduction au logiciel R
04 Introduction au logiciel RBoris Guarisma
 
Microsoft Technologies for Data Science 201612
Microsoft Technologies for Data Science 201612Microsoft Technologies for Data Science 201612
Microsoft Technologies for Data Science 201612Mark Tabladillo
 
Music recommendations API with Neo4j
Music recommendations API with Neo4jMusic recommendations API with Neo4j
Music recommendations API with Neo4jBoris Guarisma
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4jBoris Guarisma
 
Analyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAnalyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAhmadou DICKO
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RLaurent Beauguitte
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introductionRobert Lujo
 
Natural language processing
Natural language processingNatural language processing
Natural language processingprashantdahake
 
Artificial Intelligence, Machine Learning and Deep Learning
Artificial Intelligence, Machine Learning and Deep LearningArtificial Intelligence, Machine Learning and Deep Learning
Artificial Intelligence, Machine Learning and Deep LearningSujit Pal
 
Analyse de sentiment - Charte des valeurs québécoises
Analyse de sentiment - Charte des valeurs québécoisesAnalyse de sentiment - Charte des valeurs québécoises
Analyse de sentiment - Charte des valeurs québécoisesMichelle Blanc
 
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...Gael Varoquaux
 
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"ACE Group Latinoamérica
 
Trabajo andres actividades terciarias
Trabajo andres actividades terciariasTrabajo andres actividades terciarias
Trabajo andres actividades terciariasandresitoserrano
 
Experiência do curto cicuito madu
Experiência do curto cicuito maduExperiência do curto cicuito madu
Experiência do curto cicuito maduanapaularegional
 
Isamar guerra
Isamar guerraIsamar guerra
Isamar guerraisa2790
 
Gerência de Riscos Para certificação MPS-BR
Gerência de Riscos Para certificação MPS-BRGerência de Riscos Para certificação MPS-BR
Gerência de Riscos Para certificação MPS-BRelliando dias
 

Viewers also liked (20)

Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
04 Introduction au logiciel R
04 Introduction au logiciel R04 Introduction au logiciel R
04 Introduction au logiciel R
 
Microsoft Technologies for Data Science 201612
Microsoft Technologies for Data Science 201612Microsoft Technologies for Data Science 201612
Microsoft Technologies for Data Science 201612
 
Music recommendations API with Neo4j
Music recommendations API with Neo4jMusic recommendations API with Neo4j
Music recommendations API with Neo4j
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
Analyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAnalyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introduction
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec R
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Artificial Intelligence, Machine Learning and Deep Learning
Artificial Intelligence, Machine Learning and Deep LearningArtificial Intelligence, Machine Learning and Deep Learning
Artificial Intelligence, Machine Learning and Deep Learning
 
NLP
NLPNLP
NLP
 
Analyse de sentiment - Charte des valeurs québécoises
Analyse de sentiment - Charte des valeurs québécoisesAnalyse de sentiment - Charte des valeurs québécoises
Analyse de sentiment - Charte des valeurs québécoises
 
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
 
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"
Concurso Países: "Conoce la historia de ACE GROUP en Latinoamérica"
 
Trabajo andres actividades terciarias
Trabajo andres actividades terciariasTrabajo andres actividades terciarias
Trabajo andres actividades terciarias
 
Experiência do curto cicuito madu
Experiência do curto cicuito maduExperiência do curto cicuito madu
Experiência do curto cicuito madu
 
Presentación google docs
Presentación google docsPresentación google docs
Presentación google docs
 
Google docs
Google docsGoogle docs
Google docs
 
Isamar guerra
Isamar guerraIsamar guerra
Isamar guerra
 
Gerência de Riscos Para certificação MPS-BR
Gerência de Riscos Para certificação MPS-BRGerência de Riscos Para certificação MPS-BR
Gerência de Riscos Para certificação MPS-BR
 

Similar to 05 Sélection de modèle linéaire

FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretjfeudeline
 
Analyse de-donnees-acp-afc-sous-spss
Analyse de-donnees-acp-afc-sous-spssAnalyse de-donnees-acp-afc-sous-spss
Analyse de-donnees-acp-afc-sous-spssgrandprime1
 
Stata- Séries Temp..pptx
Stata- Séries Temp..pptxStata- Séries Temp..pptx
Stata- Séries Temp..pptxCoachingProgram
 
Shared w2 evaluation-fr
Shared w2 evaluation-frShared w2 evaluation-fr
Shared w2 evaluation-frAli Hamieh
 
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016ibtissam el hassani
 

Similar to 05 Sélection de modèle linéaire (7)

FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
Analyse de-donnees-acp-afc-sous-spss
Analyse de-donnees-acp-afc-sous-spssAnalyse de-donnees-acp-afc-sous-spss
Analyse de-donnees-acp-afc-sous-spss
 
Stata- Séries Temp..pptx
Stata- Séries Temp..pptxStata- Séries Temp..pptx
Stata- Séries Temp..pptx
 
Optimisation
OptimisationOptimisation
Optimisation
 
Shared w2 evaluation-fr
Shared w2 evaluation-frShared w2 evaluation-fr
Shared w2 evaluation-fr
 
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016
Amélioration continue - 6 sigma - ibtissam el hassani-chapitre 2015-2016
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 

05 Sélection de modèle linéaire

  • 1. Sélection de modèle linéaire 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 1
  • 2. Objectifs  xxx.  6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - SÉLECTION DE MODÈLE 2
  • 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.
  • 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. 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. 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