Calculates the moving variance of a series given a duration.
XMOVVARIANCE(series, xdur, rampflag, dof, "naflag", "edgeflag")
series |
- |
A series or array, the input series |
||||||||||||
xdur |
- |
A real, the X duration used to compute the integer number of samples for the moving interval. |
||||||||||||
rampflag |
- |
Optional. An integer, endpoint averaging flag.
|
||||||||||||
dof |
- |
Optional. An integer, the degrees of freedom normalization mode.
|
||||||||||||
"naflag" |
- |
Optional. A string, the NA handling method.
|
||||||||||||
"edgeflag" |
- |
Optional. A string, the edge processing flag.
|
A series or table.
W1: {1, 2, 4, 7};setdeltax(1/100)
W2: movvariance(w1, 3)
W3: xmovvariance(w1, 0.02)
W1 contains the input data with a sample rate of 100 Hz.
W2 computes a 3 point moving variance.
W3 computes the same moving variance except the block size is specified in terms of seconds. Since a 0.02 interval equates to 3 samples, both functions return the series:
{0, 0.5, 2.333, 6.333, 4.5, 0}
W1: integ(gnorm(10000, 1/10000)) * 1000
W2: movvariance(w1, 51)
W3: xmovvariance(w1, 0.005)
W4: W2 - W3
W1 synthesizes 10000 samples of data with a sample rate of 10kHz.
W2 computes a 51 point moving variance.
W3 computes a moving variance with a moving interval of 0.005 seconds.
Since a 0.005 interval equates to 51 samples, the two moving variance results are identical.
The interval duration xdur is converted to the integer sample interval N with:
N = xdur / deltax(s) + 1
where xdur >= deltax(s)
NaN values are ignored by default. Set naflag to "includenan" to process NaN values.
See MOVVARIANCE for more details on rampflag, naflag and edgeflag.
See XMOVVAR to compute the centered moving variance given a duration.