high-quality prediction of "random" noise

[Hans Blom, 950912]

Long time ago Bill Powers (950607.0630 MDT) asked:

And for that matter, how are you going to model even a low-frequency
disturbance that doesn't follow any analytically-describable wave-
form and that doesn't repeat in a predictable way?

I assigned this task to myself as homework, but what I came up
with was pretty advanced. Too advanced to explain, perhaps. So
let me start out with a very simple example.

Is it really so hard to understand how to "predict" the future
of an "irregular" signal? Yes, if the signal is white noise.
No, in many of the signals that we encounter in practice.

The "irregular" signal is taken from the file MAINDIST, that
accompanies Bill's (first?) PCT demo disk, and that Bill uses
as the disturbance that control is to eliminate. I took the
first 8192 integers, one data set. The maximum value was 2048,
the minimum value was -1461. The average is nicely zero.

If you compute the signal power of this sequence (the sum of
the squared values divided by the number of samples), you get
the value 1369.136, which is quite something. Its square root
is the average signal amplitude, around 35.

Now let us try to predict the value of the next, as yet unread
and therefore unknown, sample. The simplest approach one can
try is to assume that the predicted value will equal the pre-
vious, known sample value, the one read last. This simplest
approach of all simply states that, at time t, we can predict
that the new value is going to be

          ^
          s (t+1) = s(t)

where the ^ over the s denotes an estimate, not a known value.
The true value is, after all, still unknown. Now this predict-
ion will of course be incorrect. But the funny thing is that if
you compare the prediction with the true value, i.e. if you
compute
                    ^
          s (t+1) - s (t+1)

you will only get a small difference. In fact, the power of the
difference (the "residual") happens to be 33.055, which tells
us that on average the prediction error is less than 6 units.
That is not bad, considering the fact that the maximum value of
the signal was 2048 and the minimum value -1461.

But we can do even better. If we try to predict the as yet un-
known sample value on the basis of the previous _two_ samples,
that is if we extrapolate the line from the one-but-last to the
last sample upto the time the new sample is due to arrive, we
use the formula

          ^
          s (t+1) = s (t) + (s (t) - s (t-1))

to predict an even better approximation. If we now compute the
match between prediction and observed value, the power of the
residual is 0.544, indicating that on average we make a pre-
diction error of slightly more than 0.7, less than one unit,
where the original range was from 2048 to -1461. Not bad, I
would say. Noise it is, but unpredictable?

_How_ good is the prediction? If you consider the prediction
error (the residual, the part that cannot be predicted) to be
noise, and the original "noise" to be the signal, you get a
signal-to-noise power ratio of 1369.136/0.544 = 2516.794. Not
quite hi-fi quality, but close...

That is the basics of prediction. All else is embellishment of
this basic method. Difficult?

Greetings,

Hans