Statistics - Maple Programming Help

Home : Support : Online Help : Statistics and Data Analysis : Statistics Package : Data Smoothing : Statistics/MovingStatistic

Statistics

 MovingStatistic
 compute moving statistics for a data set

 Calling Sequence MovingStatistic(X, m, f, options)

Parameters

 X - m - bandwidth f - statistic options - additional parameters to be passed to the procedure f.

Description

 • The MovingStatistic function computes moving statistics for a set of observations.
 • The first parameter X is a single data sample - given as e.g. a Vector. Each value represents an individual observation.
 • The second parameter m is the size of the moving window.
 • The third argument f is the statistic; can be any of the DescriptiveStatistics routines or a maple procedure which accepts a Vector and returns a floating point number.
 • Note that after f has been called on one subsample, the same Vector is reused for the next subsample, for efficiency reasons. All the builtin DescriptiveStatistics routines can handle this, but if you specify a custom maple procedure for f, you may need to copy its input Vector if you will need access to it after returning. See the example below for an explanation.

Examples

 > $\mathrm{with}\left(\mathrm{Statistics}\right):$
 > $A≔⟨\mathrm{seq}\left(\mathrm{sin}\left(i\right),i=1..20\right)⟩:$
 > $U≔\mathrm{MovingStatistic}\left(A,5,\mathrm{Mean}\right)$
  (1)
 > $V≔\mathrm{MovingStatistic}\left(A,5,t↦\mathrm{FivePointSummary}\left(t,\mathrm{output}=\mathrm{maximum}\right)\right)$
  (2)
 > f := proc(A, q)   Statistics[Quantile](A, q); end proc:
 > $W≔\mathrm{MovingStatistic}\left(A,5,f,0.3\right)$
  (3)
 > $\mathrm{LineChart}\left(\left[A,U,V,W\right],\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{thickness}=3,\mathrm{legend}=\left["original","mean","maximum","quantile"\right]\right)$

The following command will fail to apply the unassigned name $g$ to the two correct sub-Vectors, because the same Vector is reused internally, as described above:

 > $\mathrm{MovingStatistic}\left(⟨1,2,3⟩,2,g\right)$
 $\left[\begin{array}{c}{?}\\ {?}\end{array}\right]$ (4)

This command, however, will make a copy for every sub-Vector and thus get the correct answer.

 > $\mathrm{MovingStatistic}\left(⟨1,2,3⟩,2,v↦g\left(\mathrm{copy}\left(v\right)\right)\right)$
 $\left[\begin{array}{c}{?}\\ {?}\end{array}\right]$ (5)