Aller au contenu

Log-Transform

·5 mins·

La transformation logarithmique est une technique mathématique utilisée pour convertir des données en une échelle logarithmique. C’est utile pour les variables qui ont un comportement difficile à exploiter : distributions très asymétriques, valeurs extrêmes, écarts gigantesques entre les observations…

C’est notamment le cas pour :

  • les revenus,
  • les prix immobiliers,
  • le chiffre d’affaires,
  • le trafic web,
  • ou encore les populations de villes.

Dans ce genre de situation, une transformation très classique consiste à appliquer un logarithme aux données. On parle alors de log transformation ou de transformation logarithmique.


Qu’est-ce qu’une log transformation ?
#

Le principe est simple : on applique une fonction logarithme Ă  une variable.

\[ Y’ = \log(Y) \]

Cette transformation compresse les grandes valeurs beaucoup plus fortement que les petites.

Par exemple :

Valeur\(\ln(x)\)
102.30
1004.60
1 0006.90
10 0009.21

On voit que des écarts énormes deviennent beaucoup plus raisonnables après transformation.


Pourquoi utiliser une transformation logarithmique ?
#

Stabiliser la variance
#

Certaines variables deviennent de plus en plus dispersées quand leur niveau augmente.
La log transformation permet souvent de réduire cette hétéroscédasticité et de rendre les données plus stables.

Hétéroscédasticité

L’hétéroscédasticité désigne une situation où la variance des résidus (erreurs) n’est pas constante dans les données. Par exemple, les erreurs peuvent être faibles pour les petites valeurs, mais beaucoup plus importantes pour les grandes.

À l’inverse, on parle d’homoscédasticité lorsque la dispersion des erreurs reste globalement constante, quelle que soit la valeur observée. C’est ce que l’on souhaite en régression.

Réduire l’impact des valeurs extrêmes
#

Le logarithme compresse fortement les grandes valeurs.
Cela limite l’influence disproportionnée de quelques observations très élevées dans les analyses statistiques ou les modèles.

Obtenir une distribution plus proche d’une loi normale
#

De nombreuses méthodes statistiques supposent des données approximativement normales :

  • rĂ©gression linĂ©aire,
  • ANOVA,
  • certains tests statistiques,
  • modèles paramĂ©triques.

Or les données réelles sont souvent très asymétriques. La transformation logarithmique aide alors à rendre la distribution plus “gaussienne”.

Travailler avec plusieurs ordres de grandeur
#

Quand une variable varie entre 1 et plusieurs millions, travailler directement sur l’échelle brute devient compliqué.

Le logarithme permet de remettre les données dans une plage beaucoup plus exploitable.


Sur quelles données utiliser le logarithme ?
#

La transformation logarithmique est surtout utilisée pour des variables :

  • strictement positives,
  • asymĂ©triques Ă  droite,
  • avec une longue queue de distribution.

Typiquement :

  • revenus,
  • prix,
  • tailles,
  • durĂ©es,
  • volumes.

En pratique, elle est surtout adaptée aux distributions positivement asymétriques.

Donc attention aux valeurs nulles ou négatives : le logarithme n’existe pas pour les valeurs à 0 et les valeurs négatives.

Pour contourner ce problème, on utilise une constante :

\[ \log(x + \epsilon) \]

avec \(\epsilon\) très petit.

Mais cette approche doit rester prudente, car elle modifie légèrement la distribution des données.


Les logarithmes courants
#

  • Logarithme naturel : \(\ln(x)\)
    C’est le plus utilisé en statistiques, économétrie et machine learning.
  • Logarithme dĂ©cimal : \(\log_{10}(x)\)
    Très pratique pour raisonner en ordres de grandeur.
  • Logarithme binaire : \(\log_2(x)\)
    Très utilisé en informatique et théorie de l’information.

Est-ce utile en machine learning ?
#

Cela dépend fortement du modèle utilisé.

Les méthodes statistiques classiques comme :

  • la rĂ©gression linĂ©aire,
  • les modèles paramĂ©triques,

sont souvent très sensibles à la distribution des variables. La log transformation peut alors améliorer fortement les résultats.

En revanche, les modèles basés sur les arbres :

  • Random Forest,
  • XGBoost,
  • LightGBM,
  • arbres de dĂ©cision,

sont beaucoup moins sensibles :

  • aux valeurs extrĂŞmes,
  • Ă  l’échelle des variables,
  • ou Ă  la normalitĂ© des donnĂ©es.

Cela ne veut pas dire que la transformation logarithmique est inutile, mais simplement qu’elle est souvent moins critique.


Interprétation selon les modèles
#

La log transformation permet aussi une interprétation particulièrement utile des coefficients de régression.

Modèle Log-Level
#

\[ \log(Y) = \beta_0 + \beta_1 X \]

Une variation de 1 unité de \(X\) entraîne environ \(100\beta_1\) de variation de \(Y\).


Modèle Level-Log
#

\[ Y = \beta_0 + \beta_1 \log(X) \]

Une augmentation de 1% de \(X\) entraîne une variation de \(\beta_1 / 100\) unités de \(Y\).


Modèle Log-Log
#

\[ \log(Y) = \beta_0 + \beta_1 \log(X) \]

\(Y\) varie de \(\beta_1\)% pour une augmentation de 1% de \(X\).

Ici, le coefficient représente directement une élasticité.

Élasticité

En économie, une élasticité mesure la sensibilité d’une variable par rapport à une autre.

Plus précisément, elle indique de combien une variable \(Y\) varie en pourcentage lorsque \(X\) augmente de 1 %.

Par exemple :

  • une Ă©lasticitĂ© de \(0.8\) signifie que :
    • si \(X\) augmente de 1%,
    • alors \(Y\) augmente en moyenne de 0.8%.

Les modèles log-log sont particulièrement intéressants, car leurs coefficients s’interprètent directement comme des élasticités.

Ce type de modèle est extrêmement utilisé en économie et en finance.


En conclusion
#

La log transformation est un outil très simple, mais extrêmement utile en analyse de données.

Elle permet notamment :

  • de rĂ©duire l’impact des valeurs extrĂŞmes,
  • de stabiliser la variance,
  • de rendre certaines distributions plus faciles Ă  modĂ©liser,
  • et d’obtenir des interprĂ©tations Ă©conomiques très intĂ©ressantes.

Mais ce n’est pas une solution magique. Comme souvent en data science, le plus important reste :

  • d’explorer les donnĂ©es,
  • de tester plusieurs approches,
  • et de comparer les rĂ©sultats avant de choisir une transformation.

Liens utiles
#

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data scientist