You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[DOCS-1410] Updates to smoothing algorithm docs
- Remove deprecation notice from EMA smoothing section, adjust its
content a bit
- Explain more about EMA smoothing section
- Add alt text to images
- Other minor copyedits
---------
Co-authored-by: Danny Goldstein <dgold@berkeley.edu>
{{< img src="/images/app_ui/beamer_smoothing.gif" alt="Demo of various smoothing algorithms" >}}
21
21
22
-
## Exponential Moving Average (Default)
22
+
## Time Weighted Exponential Moving Average (TWEMA) smoothing (Default)
23
23
24
-
Exponential smoothing is a technique for smoothing time series data by exponentially decaying the weight of previous points. The range is 0 to 1. See [Exponential Smoothing](https://www.wikiwand.com/en/Exponential_smoothing) for background. There is a de-bias term added so that early values in the time series are not biased towards zero.
24
+
The Time Weighted Exponential Moving Average (TWEMA) smoothing algorithm is a technique for smoothing time series data by exponentially decaying the weight of previous points. For details about the technique, see [Exponential Smoothing](https://www.wikiwand.com/en/Exponential_smoothing). The range is 0 to 1. There is a de-bias term added so that early values in the time series are not biased towards zero.
25
25
26
-
The EMA algorithm takes the density of points on the line (the number of `y` values per unit of range on x-axis) into account. This allows consistent smoothing when displaying multiple lines with different characteristics simultaneously.
26
+
The TWEMA algorithm takes the density of points on the line (the number of `y` values per unit of range on x-axis) into account. This allows consistent smoothing when displaying multiple lines with different characteristics simultaneously.
27
27
28
28
Here is sample code for how this works under the hood:
{{< img src="/images/app_ui/weighted_exponential_moving_average.png" alt="Demo of TWEMA smoothing" >}}
51
51
52
-
## Gaussian Smoothing
52
+
## Gaussian smoothing
53
53
54
-
Gaussian smoothing (or gaussian kernel smoothing) computes a weighted average of the points, where the weights correspond to a gaussian distribution with the standard deviation specified as the smoothing parameter. See . The smoothed value is calculated for every input x value.
55
-
56
-
Gaussian smoothing is a good standard choice for smoothing if you are not concerned with matching TensorBoard's behavior. Unlike an exponential moving average the point will be smoothed based on points occurring both before and after the value.
54
+
Gaussian smoothing (or Gaussian kernel smoothing) computes a weighted average of the points, where the weights correspond to a gaussian distribution with the standard deviation specified as the smoothing parameter. The smoothed value is calculated for every input x value, based on the points occurring both before and after it.
57
55
58
56
Here's what this looks like [in the app](https://wandb.ai/carey/smoothing-example/reports/W-B-Smoothing-Features--Vmlldzo1MzY3OTc#3.-gaussian-smoothing):
{{< img src="/images/app_ui/gaussian_smoothing.png" alt="Demo of gaussian smoothing" >}}
61
59
62
-
## Running Average
60
+
## Running average smoothing
63
61
64
62
Running average is a smoothing algorithm that replaces a point with the average of points in a window before and after the given x value. See "Boxcar Filter" at [https://en.wikipedia.org/wiki/Moving_average](https://en.wikipedia.org/wiki/Moving_average). The selected parameter for running average tells Weights and Biases the number of points to consider in the moving average.
65
63
66
-
Consider using Gaussian Smoothing if your points are spaced unevenly on the x-axis.
64
+
Consider using Gaussian Smoothing instead if your points are spaced unevenly on the x-axis.
65
+
66
+
Here's what this looks like [in the app](https://wandb.ai/carey/smoothing-example/reports/W-B-Smoothing-Features--Vmlldzo1MzY3OTc#4.-running-average):
67
67
68
-
The following image demonstrates how a running app looks like [in the app](https://wandb.ai/carey/smoothing-example/reports/W-B-Smoothing-Features--Vmlldzo1MzY3OTc#4.-running-average):
68
+
{{< img src="/images/app_ui/running_average.png" alt="Demo of running average smoothing" >}}
The Exponential Moving Average (EMA) smoothing algorithm is a rule of thumb technique for smoothing time series data using the exponential window function. For details about the technique, see [Exponential Smoothing](https://www.wikiwand.com/en/Exponential_smoothing). The range is 0 to 1. A debias term is added so that early values in the time series are not biases towards zero.
73
73
74
-
> The TensorBoard EMA algorithm has been deprecated as it cannot accurately smooth multiple lines on the same chart that do not have a consistent point density (number of points plotted per unit of x-axis).
74
+
In many situations, EMA smoothing is applied to a full scan of history, rather than bucketing first before smoothing. This often produces more accurate smoothing.
75
75
76
-
Exponential moving average is implemented to match TensorBoard's smoothing algorithm. The range is 0 to 1. See [Exponential Smoothing](https://www.wikiwand.com/en/Exponential_smoothing) for background. There is a debias term added so that early values in the time series are not biases towards zero.
76
+
In the following situations, EMA smoothing is after bucketing instead:
77
+
- Sampling
78
+
- Grouping
79
+
- Expressions
80
+
- Non-monotonic x-axes
81
+
- Time-based x-axes
77
82
78
83
Here is sample code for how this works under the hood:
79
84
@@ -88,14 +93,10 @@ Here is sample code for how this works under the hood:
88
93
89
94
Here's what this looks like [in the app](https://wandb.ai/carey/smoothing-example/reports/W-B-Smoothing-Features--Vmlldzo1MzY3OTc):
All of the smoothing algorithms run on the sampled data, meaning that if you log more than 1500 points, the smoothing algorithm will run _after_ the points are downloaded from the server. The intention of the smoothing algorithms is to help find patterns in data quickly. If you need exact smoothed values on metrics with a large number of logged points, it may be better to download your metrics through the API and run your own smoothing methods.
96
+
{{< img src="/images/app_ui/exponential_moving_average.png" alt="Demo of EMA smoothing" >}}
96
97
97
98
## Hide original data
98
99
99
-
By default we show the original, unsmoothed data as a faint line in the background. Click the **Show Original** toggle to turn this off.
100
+
By default, the original unsmoothed data displays in the plot as a faint line in the background. Click **Show Original** to turn this off.
0 commit comments