SlideShare une entreprise Scribd logo
1  sur  25
Régression Logistique
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 1
Objectifs
 xxx.

6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 2
Sommaire
•
• Bibliographie
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 3
Régression logistique
• L'objectif est de prédire et/ou expliquer une variable catégorielle Y à partir d'une collection de
descripteurs ou variables explicatives X = (X1, X2, … ,Xp).
• Soit Y une variable catégorielle à deux modalités: Y = {y1 = 0, y2 = 1}
• On souhaite prédire la probabilité d'un individu ou observation d’appartenir à la classe yk
sachant les valeurs prises par les p descripteurs.
• Considérons p = 1 par exemple, peut-on modéliser avec une régression linéaire ?
• Non, pour quoi ?
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 4
Régression logistique
• Afin que p(X) soit comprise entre 0 et 1, on utilise la
fonction logistique
• L’estimation des coefficients β sera effectuée avec la
méthode du maximum de vraisemblance
• Après manipulation on retrouve le rapport de
chances (odds):
• un individu avec un odds P(Y=1|X) / P(Y=0|X) = 2 a deux
fois plus de chance d‘appartenir à la classe Y=1 qu’à la
classe Y=0.
• Et finalement la fonction logit (log-odds), linéaire et
additive
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 5
appelée également score et
notée ො𝜋(𝜔)
Régression logistique
• Soit les données « Credit ». On souhaite prédire
la probabilité de défaut de paiement (Y=1)
sachant les valeurs d’une variable explicative X1
ou « Balance »
• On suppose que l’on a construit le modèle avec
la fonction R glm(), d’où les résultats suivants
• Calculer la probabilité de défaut pour Balance=
1000 dollars: P(Y=1|X1=1000)
• Calculer la probabilité de défaut pour Balance=
2000 dollars: P(Y=1|X1=2000)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 6
Régression logistique
• Calculer la probabilité de défaut pour Balance=
2000 dollars: P(Y=1|X1=2000)
• Calculer le rapport de chances correspondant:
• 0.586 / (1 - 0.586) = 1.41
• 1.41 ~ 4/3 => « 3 contre 4 »
◦ 3 chances de ne pas faire défaut (3 chances de « perdre »)
◦ 4 chances de faire défaut (4 chances de « gagner »)
• Quelle valeur de Balance donne une probabilité
de défaut de paiement de 50% ?
• log(0.5 / (1 – 0.5)) = -10.6513 + 0.0055 X
• X = 1936.6 dollars
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 7
Régression logistique
• Interprétation de la fonction logit ou log-odds
• lorsque X varie d’une unité le log-odds varie de 𝛽1
• et pas p(X) !!
• On constate quand même que la relation entre
p(X) et X n’est pas une ligne droite
• La variation de p(X) due à la variation d’une
unité de X dépend de la valeur de X
• Cependant, quelque soit la valeur de X
• si 𝜷 𝟏> 0 alors une augmentation de la valeur de X
entraîne une augmentation de p(X)
• si 𝜷 𝟏< 0 alors une augmentation de la valeur de X
entraîne une diminution de p(X)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 8
Régression logistique
Cas des variables catégorielles
• On souhaite prédire la probabilité de défaut de
paiement (Y=1) sachant les valeurs d’une
variable explicative X1, ici « Student »
• On suppose que l’on a construit le modèle avec
la fonction R glm(), d’où les résultats suivants
• Calculer la probabilité de défaut pour un
étudiant: P(Y=1|X1=Yes)
• Calculer la probabilité de défaut pour non-
étudiant: P(Y=1|X1=No)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 9
après codage en student[Yes] = {0, 1}
Régression logistique
• Données HEART: 270 obs x 13 colonnes
• Train (70%) : 189 observations dont 80 réellement positifs (42.3%)
• Test (30%) : 91 observations
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 10
risque de maladie
le modèle NULL c’est celui qui retournera toujours
la moyenne des positifs comme la meilleure
estimation de la probabilité d’être positif.
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 11
Lecture des informations analogue à celle de la
régression linéaire.
Remarquez que l’on effectue le calcul d’une
statistique Z au lieu d’une statistique t ou Student.
Comme pour la régression linéaire, les prédictions
peuvent être bonnes en présence de variables
corrélées mais ces corrélations peuvent avoir un
effet négatif lors de l’interprétation et les conseils à
donner pour la prise de décision.
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 12
𝜋 = 𝑃 𝑌 = 𝑇𝑅𝑈𝐸 𝑋)
1 - 𝜋 = 𝑃 𝑌 = 𝐹𝐴𝐿𝑆𝐸 𝑋)
pour une observation 𝜔 la probabilité P[Y(𝜔)|X(𝜔)]
suit une loi binomiale 𝓑(𝟏, 𝝅)
Comment sont calculés les coefficients ? (1/4)
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 13
Comment sont calculés les coefficients ? (2/4)
La vraisemblance (L ou likelihood) d’un échantillon
ou d’un ensemble d’observations sera alors égale au
produit des probabilités P[Y(𝜔)|X(𝜔)]
on simplifie l’écriture
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 14
Comment sont calculés les coefficients ? (3/4)
On préfère utiliser la log-vraisemblance (LL ou log-
likelihood)
fonction négative, elle varie entre −∞ et 0 !!
Ce sont les coefficients qui maximisent LL
méthode de « maximum de vraisemblance »
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 15
Comment sont calculés les coefficients ? (4/4)
On peut également dire que l’on cherche à estimer les
valeurs des coefficients qui minimisent la déviance D:
fonction positive,
appelée aussi residual deviance
• La fonction LL est convexe: il existe une solution unique,
mais pas de solution analytique; il faut passer par des
heuristiques.
• Les logiciels s’appuient sur l’algorithme de Newton-Ralph
ou de ses variantes (Fisher Scoring)
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 16
D0 = -2 LL0 est la null deviance, calculée sur le modèle
uniquement composé de la constante.
• peut être interprétée comme la variance des données
autour de la proportion d’individus positifs.
DM = -2 LLM est la residual deviance, calculée sur le
modèle obtenu.
• peut être interprétée comme la variance des données
autour du modèle.
La réduction de la déviance est-elle
significative ou due au hasard ?
on doit effectuer un test chi-2
Il faut connaître les degrés de liberté du modèle NULL et
du modèle obtenu
• df.null = nb obs. – 1 = 189 – 1 = 188
• df.model = nb obs. – nb de coefficients = 189 – 19 = 170
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 17
D0 = -2 LL0 est la null deviance, calculée sur le modèle
uniquement composé de la constante.
• peut être interprétée comme la variance des données
autour de la proportion d’individus positifs.
DM = -2 LLM est la residual deviance, calculée sur le
modèle obtenu.
• peut être interprétée comme la variance des données
autour du modèle.
Le Pseudo R2 de McFadden
Analogue au R2 de la régression linéaire, elle
mesure combien (%) de déviance est expliquée par
le modèle
si elle est basse alors on peut dire que le modèle n’est pas
très prédictif, on n’a pas encore identifié toutes les facteurs
qui prédisent le risque de maladie
Régression logistique
fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train)
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 18
AIC d’Akaike
Pour effectuer une sélection de modèle: trouver un sous-
ensemble de variables qui minimise un critère qui ne peut
pas être la déviance, car elle diminue si l’on rajoute des
variables. C’est un critère qui comptabilise la qualité de
l’ajustement, par un indicateur qui comptabilise la
complexité du modèle.
Fisher scoring iterations
La méthode Fisher scoring est une optimisation itérative
semblable à la méthode de Newton utilisée dans glm()
afin de trouver les coefficients du modèle. Il devrait
converger en moins de 9 itérations, sinon peut être qu’elle
n’a pas convergée et que le modèle n’est pas valide.
nb de variables
Régression logistique
df.train$pred <- predict(fit.glm, newdata = df.train, type="response")
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 19
retourne les probabilités
distribution des deux classes, on
cherche à ce qu’elles soient séparées
ggplot(data = df.train, aes(x = pred, color=class, lineType=class)) +
geom_density()
si les distributions sont bien séparées
alors on peut choisir UN SEUIL dans
« la vallée » entre les deux pics.
Régression logistique
• Matrice de confusion
• Précision et Rappel
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 20
VRAI
PREDICTION
a: vrais positifs b: faux négatifs
c: faux positifs d: vrais négatifs
à partir des données d’apprentissage, on cherche UN SEUIL DE PROBABILITE à partir
duquel on classera positif un individu, et ainsi, pour les données de test, on pourra
construire la matrice de confusion et en extraire la précision et le rappel du classifieur
compromis
Régression logistique
• Déterminer le seuil
• On calcule le score ො𝜋(𝜔) de chaque
observation de l’ensemble
d’apprentissage à l’aide du modèle
de prédiction.
• Pour toutes les valeurs de seuil
possibles (entre 0 et 1) on génère
une matrice de confusion et on en
extrait la précision et le rappel.
• On affiche respectivement la
précision et le rappel en fonction des
valeurs de seuil possibles.
• Ensuite, c’est le métier (la
responsabilité) qui décide du niveau
de précision et de rappel acceptable
afin de déterminer le seuil.
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 21
une précision juste au-dessus de
80%, donc un ratio de de vrais
positifs sur tous les réellement
positifs est-il acceptable ?
un rappel de 75%, donc un ratio
de vrais positifs sur tous les
positifs classés par le modèle
est-il acceptable ?
si oui, voici le seuil à prendre
pour valider le modèle
Régression logistique
• Courbe ROC / AUC
• La courbe ROC met en relation le taux de vrais positifs TVP et le taux de faux positifs TFP dans un
graphique nuage de points. Ci-dessous deux situations extrêmes:
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 22
• Le critère AUC (area under the curve)
caractérise numériquement la courbe ROC en
calculant la surface située sous la courbe.
• Elle exprime la probabilité de placer un
individu positif devant un négatif.
Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, 2014
Régression logistique
• Construction de la courbe ROC
1. On calcule le score ො𝜋(𝜔) de chaque observation 𝜔
à l’aide du modèle de prédiction
2. Trier les scores calculées précédemment dans
l’ordre décroissant
3. Chaque valeur du score peut être potentiellement
un seuil s. Pour toutes les observations dont le
score est supérieur à s (donc la partie haute du
tableau), on compte le nombre de positifs n+(s) et
le nombre de négatifs n-(s) .
4. On en déduit
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 23
vraie classe
prédiction
(triée)
n+(s)=6, n-(s)=14
RakotomalalaR.,PratiquedelaRégressionLogistique,UniversitéLumièredeLyon2,2014
Régression logistique
• Construction de la courbe ROC
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 24
vraie classe
prédiction
(triée)
RakotomalalaR.,PratiquedelaRégressionLogistique,UniversitéLumièredeLyon2,2014
Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, 2014
Bibliographie
[1] James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014
[2] Hastle T., Qian J., Glmnet vignette, Stanford, 18 février 2015
[3] Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, février
2014
6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 25

Contenu connexe

Tendances

#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours
#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours
#capcom15 - AT16 : La communication d'un CHU : l'exemple de ToursCap'Com
 
Cours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulCours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulProfesseur Falloul
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesGiorgio Pauletto
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
modèle de scoring pour la clientèle
modèle de scoring pour la clientèle modèle de scoring pour la clientèle
modèle de scoring pour la clientèle Oulaya CHOUAY
 
Seminaire datamining Ecole de Statistique et d'Economie Appliquée
Seminaire datamining Ecole de Statistique et d'Economie AppliquéeSeminaire datamining Ecole de Statistique et d'Economie Appliquée
Seminaire datamining Ecole de Statistique et d'Economie AppliquéeJean Roger Mably
 
Clustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueClustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueYassine Mhadhbi
 
Analyses des données par SPSS et R
Analyses  des données par  SPSS et RAnalyses  des données par  SPSS et R
Analyses des données par SPSS et RAB IR
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data miningDonia Hammami
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-miningSawsen Larbi
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdfSidiAbdallah1
 
Exemple d’un plan d’action en matière de prévention et de lutte contre les i...
Exemple d’un plan d’action en matière de prévention et de lutte  contre les i...Exemple d’un plan d’action en matière de prévention et de lutte  contre les i...
Exemple d’un plan d’action en matière de prévention et de lutte contre les i...Ibnelafif Samir
 
Ibm spss decision trees
Ibm spss decision treesIbm spss decision trees
Ibm spss decision treesisamil
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisinsBoris Guarisma
 

Tendances (20)

#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours
#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours
#capcom15 - AT16 : La communication d'un CHU : l'exemple de Tours
 
Calcul des prévisions
Calcul des prévisionsCalcul des prévisions
Calcul des prévisions
 
Cours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulCours Statistique descriptive pr Falloul
Cours Statistique descriptive pr Falloul
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes Statistiques
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
modèle de scoring pour la clientèle
modèle de scoring pour la clientèle modèle de scoring pour la clientèle
modèle de scoring pour la clientèle
 
Seminaire datamining Ecole de Statistique et d'Economie Appliquée
Seminaire datamining Ecole de Statistique et d'Economie AppliquéeSeminaire datamining Ecole de Statistique et d'Economie Appliquée
Seminaire datamining Ecole de Statistique et d'Economie Appliquée
 
Clustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueClustering: Méthode hiérarchique
Clustering: Méthode hiérarchique
 
Analyse de données avec spss,
Analyse de données avec spss,Analyse de données avec spss,
Analyse de données avec spss,
 
Analyses des données par SPSS et R
Analyses  des données par  SPSS et RAnalyses  des données par  SPSS et R
Analyses des données par SPSS et R
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-mining
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdf
 
Bi
BiBi
Bi
 
Exemple d’un plan d’action en matière de prévention et de lutte contre les i...
Exemple d’un plan d’action en matière de prévention et de lutte  contre les i...Exemple d’un plan d’action en matière de prévention et de lutte  contre les i...
Exemple d’un plan d’action en matière de prévention et de lutte contre les i...
 
Ibm spss decision trees
Ibm spss decision treesIbm spss decision trees
Ibm spss decision trees
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 

En vedette

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
 
03 Apprentissage statistique
03 Apprentissage statistique03 Apprentissage statistique
03 Apprentissage statistiqueBoris Guarisma
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoiresBoris Guarisma
 
04 Introduction au logiciel R
04 Introduction au logiciel R04 Introduction au logiciel R
04 Introduction au logiciel RBoris Guarisma
 
Introduction à la Data Science l data business
Introduction à la Data Science l data businessIntroduction à la Data Science l data business
Introduction à la Data Science l data businessVincent de Stoecklin
 
05 Sélection de modèle linéaire
05 Sélection de modèle linéaire05 Sélection de modèle linéaire
05 Sélection de modèle linéaireBoris 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
 
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
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 

En vedette (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
 
03 Apprentissage statistique
03 Apprentissage statistique03 Apprentissage statistique
03 Apprentissage statistique
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
04 Introduction au logiciel R
04 Introduction au logiciel R04 Introduction au logiciel R
04 Introduction au logiciel R
 
Introduction à la Data Science l data business
Introduction à la Data Science l data businessIntroduction à la Data Science l data business
Introduction à la Data Science l data business
 
05 Sélection de modèle linéaire
05 Sélection de modèle linéaire05 Sélection de modèle linéaire
05 Sélection de modèle linéaire
 
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
 
log
loglog
log
 
Slides 2040-4
Slides 2040-4Slides 2040-4
Slides 2040-4
 
Slides act2040-a2013-2
Slides act2040-a2013-2Slides act2040-a2013-2
Slides act2040-a2013-2
 
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
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 

Similaire à 5.3 Régression logistique

fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdfSidiAbdallah1
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfSidiAbdallah1
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bArthur Charpentier
 
analyse_discriminante.pdf
analyse_discriminante.pdfanalyse_discriminante.pdf
analyse_discriminante.pdfSidiAbdallah1
 
Calage sur bornes minimales
Calage sur bornes minimalesCalage sur bornes minimales
Calage sur bornes minimalesAntoine Rebecq
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdfSidiAbdallah1
 
Apprentissage_Supervise.pdf
Apprentissage_Supervise.pdfApprentissage_Supervise.pdf
Apprentissage_Supervise.pdfSidiAbdallah1
 
Data Mining (Partie 3).pdf
Data Mining (Partie 3).pdfData Mining (Partie 3).pdf
Data Mining (Partie 3).pdfOuailChoukhairi
 
Cours_sur_les_Regression-Logistique-23-24.pdf
Cours_sur_les_Regression-Logistique-23-24.pdfCours_sur_les_Regression-Logistique-23-24.pdf
Cours_sur_les_Regression-Logistique-23-24.pdfMouhamedFall30
 
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
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdfSidiAbdallah1
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfnesrinetaamallah
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 

Similaire à 5.3 Régression logistique (15)

fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdf
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2b
 
analyse_discriminante.pdf
analyse_discriminante.pdfanalyse_discriminante.pdf
analyse_discriminante.pdf
 
Calage sur bornes minimales
Calage sur bornes minimalesCalage sur bornes minimales
Calage sur bornes minimales
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdf
 
Apprentissage_Supervise.pdf
Apprentissage_Supervise.pdfApprentissage_Supervise.pdf
Apprentissage_Supervise.pdf
 
Slides act6420-e2014-partie-2
Slides act6420-e2014-partie-2Slides act6420-e2014-partie-2
Slides act6420-e2014-partie-2
 
Data Mining (Partie 3).pdf
Data Mining (Partie 3).pdfData Mining (Partie 3).pdf
Data Mining (Partie 3).pdf
 
Cours_sur_les_Regression-Logistique-23-24.pdf
Cours_sur_les_Regression-Logistique-23-24.pdfCours_sur_les_Regression-Logistique-23-24.pdf
Cours_sur_les_Regression-Logistique-23-24.pdf
 
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
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdf
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 
Slides udm-080910
Slides udm-080910Slides udm-080910
Slides udm-080910
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 

Dernier

Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxbahija babzine
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Les Français, l'Europe et Emmanuel Macron
Les Français, l'Europe et Emmanuel MacronLes Français, l'Europe et Emmanuel Macron
Les Français, l'Europe et Emmanuel Macroncontact Elabe
 

Dernier (7)

Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptx
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Les Français, l'Europe et Emmanuel Macron
Les Français, l'Europe et Emmanuel MacronLes Français, l'Europe et Emmanuel Macron
Les Français, l'Europe et Emmanuel Macron
 

5.3 Régression logistique

  • 1. Régression Logistique 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 1
  • 2. Objectifs  xxx.  6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 2
  • 3. Sommaire • • Bibliographie 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 3
  • 4. Régression logistique • L'objectif est de prédire et/ou expliquer une variable catégorielle Y à partir d'une collection de descripteurs ou variables explicatives X = (X1, X2, … ,Xp). • Soit Y une variable catégorielle à deux modalités: Y = {y1 = 0, y2 = 1} • On souhaite prédire la probabilité d'un individu ou observation d’appartenir à la classe yk sachant les valeurs prises par les p descripteurs. • Considérons p = 1 par exemple, peut-on modéliser avec une régression linéaire ? • Non, pour quoi ? 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 4
  • 5. Régression logistique • Afin que p(X) soit comprise entre 0 et 1, on utilise la fonction logistique • L’estimation des coefficients β sera effectuée avec la méthode du maximum de vraisemblance • Après manipulation on retrouve le rapport de chances (odds): • un individu avec un odds P(Y=1|X) / P(Y=0|X) = 2 a deux fois plus de chance d‘appartenir à la classe Y=1 qu’à la classe Y=0. • Et finalement la fonction logit (log-odds), linéaire et additive 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 5 appelée également score et notée ො𝜋(𝜔)
  • 6. Régression logistique • Soit les données « Credit ». On souhaite prédire la probabilité de défaut de paiement (Y=1) sachant les valeurs d’une variable explicative X1 ou « Balance » • On suppose que l’on a construit le modèle avec la fonction R glm(), d’où les résultats suivants • Calculer la probabilité de défaut pour Balance= 1000 dollars: P(Y=1|X1=1000) • Calculer la probabilité de défaut pour Balance= 2000 dollars: P(Y=1|X1=2000) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 6
  • 7. Régression logistique • Calculer la probabilité de défaut pour Balance= 2000 dollars: P(Y=1|X1=2000) • Calculer le rapport de chances correspondant: • 0.586 / (1 - 0.586) = 1.41 • 1.41 ~ 4/3 => « 3 contre 4 » ◦ 3 chances de ne pas faire défaut (3 chances de « perdre ») ◦ 4 chances de faire défaut (4 chances de « gagner ») • Quelle valeur de Balance donne une probabilité de défaut de paiement de 50% ? • log(0.5 / (1 – 0.5)) = -10.6513 + 0.0055 X • X = 1936.6 dollars 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 7
  • 8. Régression logistique • Interprétation de la fonction logit ou log-odds • lorsque X varie d’une unité le log-odds varie de 𝛽1 • et pas p(X) !! • On constate quand même que la relation entre p(X) et X n’est pas une ligne droite • La variation de p(X) due à la variation d’une unité de X dépend de la valeur de X • Cependant, quelque soit la valeur de X • si 𝜷 𝟏> 0 alors une augmentation de la valeur de X entraîne une augmentation de p(X) • si 𝜷 𝟏< 0 alors une augmentation de la valeur de X entraîne une diminution de p(X) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 8
  • 9. Régression logistique Cas des variables catégorielles • On souhaite prédire la probabilité de défaut de paiement (Y=1) sachant les valeurs d’une variable explicative X1, ici « Student » • On suppose que l’on a construit le modèle avec la fonction R glm(), d’où les résultats suivants • Calculer la probabilité de défaut pour un étudiant: P(Y=1|X1=Yes) • Calculer la probabilité de défaut pour non- étudiant: P(Y=1|X1=No) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 9 après codage en student[Yes] = {0, 1}
  • 10. Régression logistique • Données HEART: 270 obs x 13 colonnes • Train (70%) : 189 observations dont 80 réellement positifs (42.3%) • Test (30%) : 91 observations 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 10 risque de maladie le modèle NULL c’est celui qui retournera toujours la moyenne des positifs comme la meilleure estimation de la probabilité d’être positif.
  • 11. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 11 Lecture des informations analogue à celle de la régression linéaire. Remarquez que l’on effectue le calcul d’une statistique Z au lieu d’une statistique t ou Student. Comme pour la régression linéaire, les prédictions peuvent être bonnes en présence de variables corrélées mais ces corrélations peuvent avoir un effet négatif lors de l’interprétation et les conseils à donner pour la prise de décision.
  • 12. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 12 𝜋 = 𝑃 𝑌 = 𝑇𝑅𝑈𝐸 𝑋) 1 - 𝜋 = 𝑃 𝑌 = 𝐹𝐴𝐿𝑆𝐸 𝑋) pour une observation 𝜔 la probabilité P[Y(𝜔)|X(𝜔)] suit une loi binomiale 𝓑(𝟏, 𝝅) Comment sont calculés les coefficients ? (1/4)
  • 13. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 13 Comment sont calculés les coefficients ? (2/4) La vraisemblance (L ou likelihood) d’un échantillon ou d’un ensemble d’observations sera alors égale au produit des probabilités P[Y(𝜔)|X(𝜔)] on simplifie l’écriture
  • 14. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 14 Comment sont calculés les coefficients ? (3/4) On préfère utiliser la log-vraisemblance (LL ou log- likelihood) fonction négative, elle varie entre −∞ et 0 !! Ce sont les coefficients qui maximisent LL méthode de « maximum de vraisemblance »
  • 15. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 15 Comment sont calculés les coefficients ? (4/4) On peut également dire que l’on cherche à estimer les valeurs des coefficients qui minimisent la déviance D: fonction positive, appelée aussi residual deviance • La fonction LL est convexe: il existe une solution unique, mais pas de solution analytique; il faut passer par des heuristiques. • Les logiciels s’appuient sur l’algorithme de Newton-Ralph ou de ses variantes (Fisher Scoring)
  • 16. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 16 D0 = -2 LL0 est la null deviance, calculée sur le modèle uniquement composé de la constante. • peut être interprétée comme la variance des données autour de la proportion d’individus positifs. DM = -2 LLM est la residual deviance, calculée sur le modèle obtenu. • peut être interprétée comme la variance des données autour du modèle. La réduction de la déviance est-elle significative ou due au hasard ? on doit effectuer un test chi-2 Il faut connaître les degrés de liberté du modèle NULL et du modèle obtenu • df.null = nb obs. – 1 = 189 – 1 = 188 • df.model = nb obs. – nb de coefficients = 189 – 19 = 170
  • 17. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 17 D0 = -2 LL0 est la null deviance, calculée sur le modèle uniquement composé de la constante. • peut être interprétée comme la variance des données autour de la proportion d’individus positifs. DM = -2 LLM est la residual deviance, calculée sur le modèle obtenu. • peut être interprétée comme la variance des données autour du modèle. Le Pseudo R2 de McFadden Analogue au R2 de la régression linéaire, elle mesure combien (%) de déviance est expliquée par le modèle si elle est basse alors on peut dire que le modèle n’est pas très prédictif, on n’a pas encore identifié toutes les facteurs qui prédisent le risque de maladie
  • 18. Régression logistique fit.glm <- glm(formula = class ~ ., family = binomial(link="logit"), data = df.train) 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 18 AIC d’Akaike Pour effectuer une sélection de modèle: trouver un sous- ensemble de variables qui minimise un critère qui ne peut pas être la déviance, car elle diminue si l’on rajoute des variables. C’est un critère qui comptabilise la qualité de l’ajustement, par un indicateur qui comptabilise la complexité du modèle. Fisher scoring iterations La méthode Fisher scoring est une optimisation itérative semblable à la méthode de Newton utilisée dans glm() afin de trouver les coefficients du modèle. Il devrait converger en moins de 9 itérations, sinon peut être qu’elle n’a pas convergée et que le modèle n’est pas valide. nb de variables
  • 19. Régression logistique df.train$pred <- predict(fit.glm, newdata = df.train, type="response") 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 19 retourne les probabilités distribution des deux classes, on cherche à ce qu’elles soient séparées ggplot(data = df.train, aes(x = pred, color=class, lineType=class)) + geom_density() si les distributions sont bien séparées alors on peut choisir UN SEUIL dans « la vallée » entre les deux pics.
  • 20. Régression logistique • Matrice de confusion • Précision et Rappel 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 20 VRAI PREDICTION a: vrais positifs b: faux négatifs c: faux positifs d: vrais négatifs à partir des données d’apprentissage, on cherche UN SEUIL DE PROBABILITE à partir duquel on classera positif un individu, et ainsi, pour les données de test, on pourra construire la matrice de confusion et en extraire la précision et le rappel du classifieur compromis
  • 21. Régression logistique • Déterminer le seuil • On calcule le score ො𝜋(𝜔) de chaque observation de l’ensemble d’apprentissage à l’aide du modèle de prédiction. • Pour toutes les valeurs de seuil possibles (entre 0 et 1) on génère une matrice de confusion et on en extrait la précision et le rappel. • On affiche respectivement la précision et le rappel en fonction des valeurs de seuil possibles. • Ensuite, c’est le métier (la responsabilité) qui décide du niveau de précision et de rappel acceptable afin de déterminer le seuil. 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 21 une précision juste au-dessus de 80%, donc un ratio de de vrais positifs sur tous les réellement positifs est-il acceptable ? un rappel de 75%, donc un ratio de vrais positifs sur tous les positifs classés par le modèle est-il acceptable ? si oui, voici le seuil à prendre pour valider le modèle
  • 22. Régression logistique • Courbe ROC / AUC • La courbe ROC met en relation le taux de vrais positifs TVP et le taux de faux positifs TFP dans un graphique nuage de points. Ci-dessous deux situations extrêmes: 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 22 • Le critère AUC (area under the curve) caractérise numériquement la courbe ROC en calculant la surface située sous la courbe. • Elle exprime la probabilité de placer un individu positif devant un négatif. Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, 2014
  • 23. Régression logistique • Construction de la courbe ROC 1. On calcule le score ො𝜋(𝜔) de chaque observation 𝜔 à l’aide du modèle de prédiction 2. Trier les scores calculées précédemment dans l’ordre décroissant 3. Chaque valeur du score peut être potentiellement un seuil s. Pour toutes les observations dont le score est supérieur à s (donc la partie haute du tableau), on compte le nombre de positifs n+(s) et le nombre de négatifs n-(s) . 4. On en déduit 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 23 vraie classe prédiction (triée) n+(s)=6, n-(s)=14 RakotomalalaR.,PratiquedelaRégressionLogistique,UniversitéLumièredeLyon2,2014
  • 24. Régression logistique • Construction de la courbe ROC 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 24 vraie classe prédiction (triée) RakotomalalaR.,PratiquedelaRégressionLogistique,UniversitéLumièredeLyon2,2014 Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, 2014
  • 25. Bibliographie [1] James and al., An introduction to Statistical Learning, ISBN 9781461471370, Springer, 2014 [2] Hastle T., Qian J., Glmnet vignette, Stanford, 18 février 2015 [3] Rakotomalala R., Pratique de la Régression Logistique, Université Lumière de Lyon 2, février 2014 6/30/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - RÉGRESSION LOGISTIQUE 25