As a final example, the following chart shows a moving average (or rolling average) plot for methane emissions under projected emissions scenario SSP5-8.5. A moving average is essentially a 1-dimensional convolution with a uniform (boxcar) filter. Toggle the data pane in the margin, and the try some of the suggestions there.
How are the year values used? (Try to avoid moving your mouse over Agriculture — these nodes currently participate in a lot of dependency
edges and so the system is currently quite laggy if you do this!)
You'll see that every year is used in both the original curve and its moving average.
Now try emissions. The behaviour here is different: each emissions value
contributes to one point in the original curve but three in the moving average.
As with the other examples, you can also interact with the output. This confirms that each point in the moving average consumes 3 emissions inputs and 1 year, as one might expect. Interacting with the points in the original curve is a bit laggy at the moment.
One of our goals is to support comprehension as an active inferential activity, where the reader not only formulates hypotheses about what they are looking at, but is able to actively test those hypotheses via the artifact. In the example above, we can conjecture that each moving average point consumes three inputs, representing the “window” for the moving average, and test that by interacting with the output. If we could enrich this with additional (intensional) information revealing that these three numbers were added together and then divided by three, we would be approaching a fully self-explanatory implementation.
As before, the infrastructure used to execute and host the visualisations provides these interactive transparency features automatically. The moving average itself is computed as a pure function of data, as shown below: