Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Le lissage vous aide à repérer les tendances dans des graphiques en courbes bruités en réduisant les variations d’un point à l’autre, ce qui rend le signal sous-jacent plus facile à lire. Cette page décrit les algorithmes de lissage que W&B prend en charge, dans quels cas chacun est le plus utile, et comment contrôler si les données d’origine restent visibles. W&B prend en charge plusieurs types de lissage : Pour voir ces algorithmes appliqués à des données réelles, consultez ce rapport W&B interactif.
Comparaison de différents algorithmes de lissage appliqués à un graphique en courbes bruité

lissage par moyenne mobile exponentielle pondérée par le temps (TWEMA) (par défaut)

L’algorithme de lissage par moyenne mobile exponentielle pondérée par le temps (TWEMA) est une technique de lissage des données de séries temporelles qui applique une décroissance exponentielle au poids des points précédents. Pour plus de détails sur cette technique, voir Exponential Smoothing. La valeur varie de 0 à 1. Un terme de correction du biais est ajouté afin que les premières valeurs de la série temporelle ne soient pas biaisées vers zéro. L’algorithme TWEMA prend en compte la densité des points sur la courbe (le nombre de valeurs y par unité de plage sur l’axe X). Cela permet d’obtenir un lissage cohérent lors de l’affichage simultané de plusieurs courbes aux caractéristiques différentes. L’exemple de code suivant montre comment cela fonctionne en interne :
const smoothingWeight = Math.min(Math.sqrt(smoothingParam || 0), 0.999);
let lastY = yValues.length > 0 ? 0 : NaN;
let debiasWeight = 0;

return yValues.map((yPoint, index) => {
  const prevX = index > 0 ? index - 1 : 0;
  // VIEWPORT_SCALE met le résultat à l'échelle de la plage de l'axe X du graphique
  const changeInX =
    ((xValues[index] - xValues[prevX]) / rangeOfX) * VIEWPORT_SCALE;
  const smoothingWeightAdj = Math.pow(smoothingWeight, changeInX);

  lastY = lastY * smoothingWeightAdj + yPoint;
  debiasWeight = debiasWeight * smoothingWeightAdj + 1;
  return lastY / debiasWeight;
});
Pour voir cet algorithme appliqué à des données en temps réel, consultez la section TWEMA du rapport W&B interactif.
Graphique en courbes avec le lissage TWEMA appliqué

Lissage gaussien

Le lissage gaussien (ou lissage par noyau gaussien) calcule une moyenne pondérée des points, où les poids correspondent à une distribution gaussienne dont l’écart type est défini comme paramètre de lissage. W&B calcule la valeur lissée pour chaque valeur x en entrée, en se basant sur les points qui la précèdent et la suivent. Pour voir cet algorithme appliqué à des données en direct, voir la section sur le lissage gaussien du rapport W&B interactif.
Graphique en courbes avec lissage gaussien appliqué

Lissage par moyenne glissante

La moyenne glissante est un algorithme de lissage qui remplace un point par la moyenne des points situés dans une fenêtre avant et après la valeur x donnée. Voir « Boxcar Filter » sur Wikipedia. Le paramètre sélectionné pour la moyenne glissante indique le nombre de points à prendre en compte dans la moyenne mobile. Si vos points sont espacés de manière irrégulière sur l’axe X, utilisez plutôt le lissage gaussien, car une fenêtre de largeur fixe peut produire des moyennes trompeuses lorsque la densité des points varie. Pour voir cet algorithme appliqué à des données en temps réel, consultez la section sur la moyenne glissante du rapport W&B interactif.
Graphique en courbes avec lissage par moyenne glissante appliqué

Lissage par moyenne mobile exponentielle (EMA)

L’algorithme de lissage par moyenne mobile exponentielle (EMA) est une technique heuristique de lissage des séries temporelles à l’aide de la fonction de fenêtre exponentielle. Pour en savoir plus sur cette technique, voir Exponential Smoothing. La valeur varie de 0 à 1. Un terme de débiaisage est ajouté afin que les premières valeurs de la série temporelle ne soient pas biaisées vers zéro. Dans la plupart des cas, le lissage EMA est appliqué à un parcours complet de l’historique, plutôt qu’après un bucketing avant le lissage. Cela produit généralement un lissage plus précis. Dans les situations suivantes, le lissage EMA est appliqué après le bucketing à la place :
  • Échantillonnage
  • Regroupement
  • Expressions
  • Axes x non monotones
  • Axes x basés sur le temps
L’exemple de code suivant montre comment cela fonctionne en arrière-plan :
  data.forEach(d => {
    const nextVal = d;
    last = last * smoothingWeight + (1 - smoothingWeight) * nextVal;
    numAccum++;
    debiasWeight = 1.0 - Math.pow(smoothingWeight, numAccum);
    smoothedData.push(last / debiasWeight);
Pour voir cet algorithme appliqué à des données en temps réel, voir la section EMA du rapport W&B interactif.
Graphique en courbes avec lissage EMA appliqué

Masquer les données d’origine

Comparez la ligne lissée aux données brutes pour évaluer dans quelle mesure le lissage altère le signal. Par défaut, les données d’origine non lissées s’affichent dans le graphique sous la forme d’une ligne discrète en arrière-plan. Cliquez sur Afficher l’original pour désactiver cette option.
Activer ou désactiver l’affichage des données d’origine non lissées dans un graphique en courbes