[From Bill Powers (950530.1315 MDT)]
Hans Blom (950530)--
I have started looking into your new demo. At first glance it
behaves just as you say. The perceptual signal varies with the
disturbance, but the controlled variable xt does not (nor does
x).
Frequency plays no role. In the code that follows I present
a demo where the observation noise term vt contains both a
low frequency AND a high frequency component (ft = 0). After
convergence, both are effectively disregarded so that xt
tracks xopt, whereas y does NOT track xopt.
I need a little help here. I increased the value of the
disturbance of y by modifying a program step as follows:
>>>
vvv
y := xt + 2.0*vt * (sin (run / 50) + sin (run / 155))
The result was that x began to depart noticeably from xt. When I
plotted xt - x, with a range from -1 to 1, the final amplitude of
the difference was about 0.5 units (the maximum total disturbance
amplitude was 2 units).
This led me to look at the final values of the parameters a and
b. In the "true" external system, they are a = 0.9, b := 0.1.
When we progressively increase the multiplier of vt above, we get
the following:
disturbance a b
0.0*vt 0.899 0.100
0.5*vt 0.908 0.091
1.0*vt 0.922 0.076
2.0*vt 0.939 0.054
4.0*vt 0.950 0.037
So that made me wonder what would happen if I put in an external
disturbance of xt. The result was that the system behaved as if
it were unstable, and the final difference (x - xt) was wandering
between more than +20 and less than -20 units, after 6000
iterations. Obviously, the requirement that the world-model
compensate for the input disturbance is incompatible with
compensating for a disturbance of the controlled variable -- at
least as I modified the program. I noticed quite a few
computational oscillations, too, during the adaptation.
I was wondering why it is necessary to specify in advance the
amplitude of the disturbances. Does the program need to know them
in advance?
I'm going to have to go back to the negative feedback control
system and see what would actually happen with a perceptual
disturbance. I thought I had it figured out, but I don't
understand the results your program gives.
Can you explain how the Kalman filter works in words of no more
than three syllables?
···
-----------------------------------------------------------------
------
Best,
Bill P.