samples and the function that generates them

[Hans Blom, 970429f]

(Bill Powers (970428.1807 MST))

Obviously, your program reproduces the sinusoid [al disturbance] ...

Yes and no. It reproduces a raw sequence of [disturbance] values that
_we_ but not _it_ know to be a sinusoid. To the controller, that
sequence of values has no structure or coherence at all yet, i.e. it
has not been modeled and is not known to belong to a sinusoid.

..., but it has no way to know that this effect comes from a
disturbance that simply rises linearly.

You assume too far much. Again, _we_ happen to know that this is true
[because we concocted the program/data generator], but it need not be
so. The problem for a "macine intelligence" in cases such as this one
is to discover some sequence e(t(i)) such that the samples d(t(i))
can be structured by some function f as in

  d(t(i)) = f(e(t(i)))

where both f and e have to be discovered. And where the goal is to
have a sample sequence e(t(i)), mapping to a continuous function
e(t), that is somehow "simpler" than sequence d(t(i)) or another
continuous function (if known) d(t). This "simpler" is subjective,
however, because it depends on what is known/familiar already and
what not.

Discovering that f=sin is only possible if one [the controller, in
this case] "knows about" sine-functions. If not, some polynomial
could possibly be discovered, since a sine can be arbitrarily exactly
approximated by one -- but only within fixed bounds, and only if the
(easier?) concept "polynomial" is known. Only f=sin gets rid of those
bounds and gives an accurate model "forever", i.e. for any future t.
On the other hand, the choice of a sequence e(i) is generally not
unique. One may discover that e=t works, but also e=t mod (2*pi), for
instance: a sawtooth rather than a straight line. Thus, whereas it is
often possible to discover a unique f, discovering a unique function
e usually is not. But then, that isn't required either: _any_ well-
fitting choice will do.

In engineering practice, the situation is often simpler. In the MCT
theodolite controller, for instance, it was not necessary to model
the disturbance: modeling the disturbance would not improve control.
That situation changes, however, if during some time periods no
observations would be forthcoming. In such cases, modeling the
disturbance becomes important, because it improves the quality of
control.

The situation is often simpler for another reason as well: in
engineering, many disturbances are white noise-like and cannot be
modeled at all, even in principle. In such cases, modeling efforts
would be unfruitful: so even don't _attempt_ to model. The reason for
the noise-like character of many disturbances is that engineers have
little trouble in discovering obvious regularities and including them
in their models.

A student of mine recently worked on an example of a sine-like
disturbance [Journal of Clinical Monitoring, somewhen in 1996]. The
blood pressure in the lung artery varies with respiratory pressure in
artificially ventilated patients. The measured signal contains two
rhythms, that of the heart (somewhat irregular) and that of the
respiration rate (constant, because generated by a machine). Modeling
the respiratory fraction of the measured signal as a first and a
second harmonic and subtracting these modeled sinusoids from the
signal delivers a result that does not contain the 'respiratory
artifact' anymore and is much cleaner, i.e. more indicative of heart
action.

If I ever get around to it, I think I can show that by calculating
the disturbing _effect_, your program is doing exactly what a PCT
model does without that calculation.

I cannot imagine a controller modeling a sequence of what _we_ know
to be samples of a sinusoid by a sine-function if the controller
itself does not know (or cannot introduce the notion of) sinusoids.

So I have no idea how you would want to discover the disturbing
_effect_ except by modeling it, where the model can be built up from
pre-existing knowledge. And that seems possible at the symbolic level
only, where the concept "sin" is known (or can be introduced, because
it is a useful notion that summarizes a lot of sample sequences that
would otherwise have no structure).

I wonder whether there is mathematical software (Mathematica?) that
could do such a matching of samples against its library of functions
and "discover" the underlying sine-wave. Does anyone know?

Greetings,

Hans

[From Bill Powers (970429.0911 MST)]

Hans Blom, 970429f --

This message was extremely confusing -- you seem to have got my point
exactly backward. I was not arguing that a control system (MCT or PCT)
_could_ deduce that the disturbing variable was acting via a sinusoidal
transform; I was arging that it _could not_. And this was not because the
transform happened to be sinusoidal; it was simply that the control system
knows nothing of where the perturbation of the controlled variable is coming
from. The _designer_ might know what the cause of a disturbance is, as in
the example you gave of the measurements of heart rate, and equip the system
with an appropriate sensor, but that has nothing to do with my point.

Best,

Bill P.

ยทยทยท

(Bill Powers (970428.1807 MST))

Obviously, your program reproduces the sinusoid [al disturbance] ...

Yes and no. It reproduces a raw sequence of [disturbance] values that
_we_ but not _it_ know to be a sinusoid. To the controller, that
sequence of values has no structure or coherence at all yet, i.e. it
has not been modeled and is not known to belong to a sinusoid.

..., but it has no way to know that this effect comes from a
disturbance that simply rises linearly.

You assume too far much. Again, _we_ happen to know that this is true
[because we concocted the program/data generator], but it need not be
so. The problem for a "macine intelligence" in cases such as this one
is to discover some sequence e(t(i)) such that the samples d(t(i))
can be structured by some function f as in

d(t(i)) = f(e(t(i)))

where both f and e have to be discovered. And where the goal is to
have a sample sequence e(t(i)), mapping to a continuous function
e(t), that is somehow "simpler" than sequence d(t(i)) or another
continuous function (if known) d(t). This "simpler" is subjective,
however, because it depends on what is known/familiar already and
what not.

Discovering that f=sin is only possible if one [the controller, in
this case] "knows about" sine-functions. If not, some polynomial
could possibly be discovered, since a sine can be arbitrarily exactly
approximated by one -- but only within fixed bounds, and only if the
(easier?) concept "polynomial" is known. Only f=sin gets rid of those
bounds and gives an accurate model "forever", i.e. for any future t.
On the other hand, the choice of a sequence e(i) is generally not
unique. One may discover that e=t works, but also e=t mod (2*pi), for
instance: a sawtooth rather than a straight line. Thus, whereas it is
often possible to discover a unique f, discovering a unique function
e usually is not. But then, that isn't required either: _any_ well-
fitting choice will do.

In engineering practice, the situation is often simpler. In the MCT
theodolite controller, for instance, it was not necessary to model
the disturbance: modeling the disturbance would not improve control.
That situation changes, however, if during some time periods no
observations would be forthcoming. In such cases, modeling the
disturbance becomes important, because it improves the quality of
control.

The situation is often simpler for another reason as well: in
engineering, many disturbances are white noise-like and cannot be
modeled at all, even in principle. In such cases, modeling efforts
would be unfruitful: so even don't _attempt_ to model. The reason for
the noise-like character of many disturbances is that engineers have
little trouble in discovering obvious regularities and including them
in their models.

A student of mine recently worked on an example of a sine-like
disturbance [Journal of Clinical Monitoring, somewhen in 1996]. The
blood pressure in the lung artery varies with respiratory pressure in
artificially ventilated patients. The measured signal contains two
rhythms, that of the heart (somewhat irregular) and that of the
respiration rate (constant, because generated by a machine). Modeling
the respiratory fraction of the measured signal as a first and a
second harmonic and subtracting these modeled sinusoids from the
signal delivers a result that does not contain the 'respiratory
artifact' anymore and is much cleaner, i.e. more indicative of heart
action.

If I ever get around to it, I think I can show that by calculating
the disturbing _effect_, your program is doing exactly what a PCT
model does without that calculation.

I cannot imagine a controller modeling a sequence of what _we_ know
to be samples of a sinusoid by a sine-function if the controller
itself does not know (or cannot introduce the notion of) sinusoids.

So I have no idea how you would want to discover the disturbing
_effect_ except by modeling it, where the model can be built up from
pre-existing knowledge. And that seems possible at the symbolic level
only, where the concept "sin" is known (or can be introduced, because
it is a useful notion that summarizes a lot of sample sequences that
would otherwise have no structure).

I wonder whether there is mathematical software (Mathematica?) that
could do such a matching of samples against its library of functions
and "discover" the underlying sine-wave. Does anyone know?

Greetings,

Hans

[Hans Blom, 970501]

(Bill Powers (970429.0911 MST))

This message [Hans Blom, 970429f] was extremely confusing

That not, I hope.

-- you seem to have got my point exactly backward.

But that, it seems.

I was not arguing that a control system (MCT or PCT) _could_ deduce
that the disturbing variable was acting via a sinusoidal transform;
I was arging that it _could not_. And this was not because the
transform happened to be sinusoidal; it was simply that the control
system knows nothing of where the perturbation of the controlled
variable is coming from.

We seem to have talked at cross-purposes, indeed. I talked about
functions, you about causes. Systems identification theory is about
functions, not causes. I proposed that a suitably equiped (control)
system might well be able to discover that the disturbance follows a
sinusoidally varying pattern. It will most likely _not_ be able to
discover a _cause_ for that pattern.

Greetings,

Hans