AA vs. économétrie : objectifs différents, vocabulaire différent
Modèles linéaires régularisés : Lasso, Ridge, Elastic Net
Surapprentissage et validation de modèles
Autres modèles et prétraitement
Clustering
Qu’est-ce que l’apprentissage automatique ?
L’apprentissage automatique est une application de l’intelligence artificielle (IA) qui offre aux systèmes la capacité d’apprendre et de s’améliorer automatiquement à partir de l’expérience sans être explicitement programmés.
AA = algorithmes qui apprennent des patterns à partir de données pour faire des prédictions ou des décisions
En finance : prédire les rendements, classifier les entreprises, extraire des patterns complexes
Approches de l’apprentissage automatique
Apprentissage supervisé : L’ordinateur est présenté avec des exemples d’entrées et leurs sorties souhaitées (pensez aux MCO).
Exemple : prédire les rendements boursiers à partir des caractéristiques des entreprises
Apprentissage non supervisé : Aucune étiquette n’est donnée à l’algorithme, le laissant seul pour trouver une structure dans ses entrées.
Exemple : regrouper les actions selon leurs patterns de rendement
Apprentissage par renforcement : Un programme informatique interagit avec un environnement dynamique dans lequel il doit atteindre un certain objectif, recevant une rétroaction analogue à des récompenses, qu’il essaie de maximiser.
Exemple : algorithmes d’exécution de transactions
Prédiction vs. inférence
Économétrie
Estimer les effets causaux, tester des hypothèses
Inférence sur \beta : \beta est-il significatif ? Quelle est sa magnitude ?
Apprentissage automatique
Minimiser l’erreur de prédiction, maximiser la performance hors échantillon
« On ne se soucie pas de \beta — on se soucie de \hat{y} »
L’AA est bon pour prévoir ou extraire des patterns complexes (non linéaires) à partir de données. L’AA n’est pas bon pour l’inférence statistique.
Vocabulaire : AA vs. économétrie
Économétrie
Apprentissage automatique
Variable dépendante (y)
Cible / étiquette
Variables indépendantes (X)
Caractéristiques (features)
Estimation
Entraînement (training)
Coefficients (\beta)
Poids / paramètres
Échantillon
Jeu de données (dataset)
Hors échantillon
Jeu de test (test set)
Spécification du modèle
Sélection de modèle / architecture
Régression
Peut aussi signifier classification !
« Régression » en AA
En économétrie : régression = modéliser une relation (généralement linéaire)
En AA : régression = prédire une valeur continue (vs. classification = prédire une catégorie)
La régression logistique est un algorithme de classification en langage AA !
Types de tâches en AA
Les tâches courantes en AA peuvent être divisées en quatre groupes :
Classification : Identifier à quelle catégorie appartient une observation.
sklearn.preprocessing — mise à l’échelle, encodage
sklearn.model_selection — validation croisée, recherche sur grille
sklearn.metrics — métriques d’évaluation
L’API Estimator
Tous les modèles scikit-learn suivent le même patron :
from sklearn.linear_model import Ridgemodel = Ridge(alpha=1.0) # 1. Créer le modèle avec les hyperparamètresmodel.fit(X_train, y_train) # 2. Entraîner le modèley_pred = model.predict(X_test) # 3. Faire des prédictionsscore = model.score(X_test, y_test) # 4. Évaluer la performance
Cette interface cohérente facilite le remplacement d’un modèle par un autre.
Le modèle apprend le bruit dans les données d’entraînement au lieu du vrai pattern
Performe bien sur les données d’entraînement mais mal sur de nouvelles données
Analogie : mémoriser les réponses d’examen vs. comprendre la matière
Surapprentissage avec les MCO
Estimation de plusieurs modèles différents dans la même analyse statistique sur les mêmes données et sélection de celui qui optimise une fonction objectif :
R^2
Fonction de log-vraisemblance
Critères d’information
Profits générés (backtest)
Les modèles qui souffrent de surapprentissage tendent à mal performer hors échantillon.
Surapprentissage - Un modèle simple
Soient X_{t},Y_{t} nos variables avec Y_{t}=X_{t}\beta+\varepsilon_{t}
E\left(\varepsilon_{t}X_{t}\right)=0 et \varepsilon_{t}\sim N(0,\sigma) i.i.d.
\left\{X_{1,t},Y_{1,t}\right\} sont les données de notre échantillon principal
\left\{X_{2,t},Y_{2,t}\right\} sont les données d’un second échantillon
Problème
Nous voulons utiliser X pour prédire Y.
Supposons que nous voulons minimiser E\left[ \left( Y_{t}-X_{t}\theta\right)^{2}\right]
Idéalement, nous devrions utiliser \theta=\beta. Mais \beta est inconnu.
Si nous n’avions que \left\{ X_{1t},Y_{1t}\right\} , nous pourrions minimiser E\left[ \left( Y_{1,t}-X_{1,t}\theta\right)^{2}\right] \Rightarrow\widehat{\theta}=\widehat{\theta}_{MCO}
Le surapprentissage dans l’échantillon nuit à notre performance hors échantillon.
Plus on surapprend, plus cela nuit à notre prévision.
Pour éviter le surapprentissage, on devrait utiliser des modèles avec une performance similaire dans l’échantillon et hors échantillon et des techniques telles que la validation croisée.
Des MCO à la régularisation
Les MCO minimisent \sum(y_i - X_i\beta)^2
Problème : avec beaucoup de variables, les MCO surapprentissent — ils ajustent le bruit dans les données d’entraînement
Solution : ajouter un terme de pénalité pour contraindre \beta
Note : R^2peut être négatif hors échantillon ! Cela signifie que le modèle fait pire que simplement prédire la moyenne.
Métriques de classification
Exactitude (accuracy) : fraction de prédictions correctes
Précision : parmi toutes les prédictions positives, combien sont vraiment positives ?
Rappel (recall) : parmi tous les vrais positifs, combien avons-nous trouvés ?
Score F1 : moyenne harmonique de la précision et du rappel : F_1 = \frac{2 \cdot \text{Précision} \cdot \text{Rappel}}{\text{Précision} + \text{Rappel}}
Pourquoi l’exactitude peut être trompeuse : classes déséquilibrées
Si 99 % des entreprises ne font pas défaut, prédire « pas de défaut » donne 99 % d’exactitude !
En finance : considérer le coût des faux positifs vs. faux négatifs
Trouve la frontière optimale (hyperplan) qui sépare les classes
Peut gérer des frontières non linéaires via l’astuce du noyau (kernel trick)
Fonctionne pour la classification (SVC) et la régression (SVR)
Peut être lent sur de grands jeux de données
Résumé comparatif des modèles
Interprétabilité
Non-linéarité
Vitesse
Risque de surapprentissage
Modèles linéaires
Élevée
Faible
Rapide
Faible (avec rég.)
Arbres de décision
Élevée
Élevée
Rapide
Élevé
Forêts aléatoires
Moyenne
Élevée
Moyenne
Faible
SVM
Faible
Élevée
Lent
Moyen
Aucun modèle n’est le meilleur pour tous les problèmes
Commencer simple (modèles linéaires), ajouter de la complexité seulement si nécessaire
Pourquoi le prétraitement est important
Beaucoup d’algorithmes d’AA sont sensibles à l’échelle des variables (SVM, Ridge, Lasso)
Les valeurs manquantes et les variables catégorielles nécessitent un traitement
Rappelez-vous, nous ne nous soucions que de prédire y, pas de l’inférence, donc il est courant de normaliser X (et parfois y) pour améliorer les performances numériques.
Quelle que soit la transformation effectuée, elle doit être ajustée sur les données d’entraînement et la même transformation appliquée aux données de test.