Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
W&B prend en charge plusieurs types de lissage :
Voir ces méthodes en direct dans un rapport W&B interactif.
Lissage par moyenne mobile exponentielle pondérée dans le temps (TWEMA) (par défaut)
L’algorithme de lissage par moyenne mobile exponentielle pondérée dans le temps (TWEMA) est une technique de lissage des données de séries temporelles qui attribue aux points précédents un poids décroissant de façon exponentielle. Pour plus de détails sur cette technique, voir Lissage exponentiel. La valeur est comprise entre 0 et 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 ligne (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 lignes aux caractéristiques différentes.
Voici un exemple de code montrant comment cela fonctionne en arrière-plan :
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 chart
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;
});
Voici ce que cela donne dans l’application:
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. La valeur lissée est calculée pour chaque valeur x en entrée, en se basant sur les points qui la précèdent et la suivent.
Voici à quoi cela ressemble dans l’application :
Lissage par moyenne mobile
La moyenne mobile est un algorithme de lissage qui remplace un point par la moyenne des points d’une fenêtre située avant et après la valeur x donnée. Voir « Boxcar Filter » sur Wikipedia. Le paramètre sélectionné pour la moyenne mobile indique à Weights and Biases le nombre de points à prendre en compte dans la moyenne mobile.
Envisagez plutôt d’utiliser le lissage gaussien si vos points sont espacés de façon irrégulière sur l’axe x.
Voici à quoi cela ressemble dans l’application:
Lissage par moyenne mobile exponentielle (EMA)
L’algorithme de lissage par moyenne mobile exponentielle (EMA) est une technique empirique 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 de nombreux cas, le lissage EMA est appliqué à un parcours complet de l’historique, plutôt qu’après un bucketing avant le lissage. Cela produit souvent 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
Voici un exemple de code montrant 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);
Voici ce que cela donne dans l’application:
Masquer les données d’origine
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.