interpolation

Dear Grass-users and programmers,

I have found, that recent discussion in this list on
interpolation has caused some confusion and I feel that
some more clarification is needed.

----------------Simon writes:--------------------------------------------------

However, it
is probably worth noting that in most cases, splines are just a fancy form of
curve-fitting (which is what they were for the wizened old draftspeople) and
their use often cannot be rigorously justified in terms of the processes being
modelled.

We are convinced that splines are not just `a fancy form of curve fitting'.
We would suggest to read a paper by Franke (1982) : Scattered data
interpolation : tests of some methods (Math. Comput. v.38, p.181) where
many methods have been tested and splines were among the most accurate ones
and also already mentioned paper by Mike Hutchinson and P.Gessler: Splines -
more than just a smooth interpolator, Geoderma, 1992.

Splines by itself do not model any process, splines create a curve, surface
or volume function which reproduces the original phenomenon as closely as
the functional form enables. HOWEVER they can be and they are used as a TOOL
for modeling processes and our and others experience is that they are
very successful in this matter. For example,
thanks to the high accuracy of spline derivatives we were able to develop
advanced method for modeling erosion and deposition in complex terrain,
where we use splines not only to interpolate the elevation data but also
to estimate the directional derivative of the surface representing
sediment transport capacity. (Splines seem to be unique among the
interpolation methods in giving high accuracy especially for the estimation
of the second derivatives.) Justification of splines (and also of kriging
which is mentioned later) is a typical A POSTERIORI process : one estimates
the surface from the data and then confronts it with reality using all
information available.

On its own terms, I think that Kriging, particularly
the more devloped forms (indicator, log-normal, etc) might be argued to
give a more honest result for cases where the processes are complex or
unknown, and it can also give some statistics about how good the estimate is!

Let me quote here Hutchinson (in J.D. Jasper (ed.) 1991, Data Assimilation
Systems", BMRC Research Report N.27, Bureau of Meteorology, Melbourne,p.104):

"The only serious competitor to thin plate spline technique is the method of
kriging which includes the optimal interpolation method described by
Gandin(1963). Like thin plate splines, kriging does extend easily to
higher dimensions and both methods attempt to achieve minimum error
(optimum) interpolation. There is in fact a formal inclusion of thin plate
splines within kriging (Wahba,1990). The main limitation on kriging is
that it depends critically on first estimating a spatial covariance function
or variogram. The method is hampered by an ad hoc assumptions about the form
that this variogram should take and there are computational difficulties in
assessing the merit of different functional forms (Dubrule 1983). Nevertheless
when the variogram is well chosen the results can be similar to those achieved
by thin plate splines (Seaman and Hutchinson, 1985, Laslett et al. 1987)."

Our experience with kriging and splines is similar.
The form of spline representation which is being used in s.surf.tps
and s.surf.3d has a direct correspondence to kriging. The spline S is
given by

S(X) = T(X) + sum(i) Ei R(X,Xi) X=(x,y) or X=(x,y,z)

where T(X) is a low order polynomial and R is a RADIAL BASIS FUNCTION which
is derived by minimizing smoothness functional and which includes a tension
parameter (sum is over the data points, Ei are expansion coefficients).
Of course, R can be interpreted as a generalized covariance.
Thus everybody who uses s.surf.tps works, in fact, with a special type of
kriging with covariance derived by minimizing the bending of the
surface under a given tension. The tension can be optimized by
statistical means like crossvalidation and also other tools of
geostatistical machinery can be used here. Maros from Bratislava might
be willing to share some experience in relation of variogram and tension.

Landscapes, for example, are the product of many processes, mostly non-linear,
etc, so there is no good way of modelling elevations short of process
simulations!

Sure. However, in almost any modeling or process simulation which uses
point data the interpolation is an unavoidable and important component.
There is a lot of experience proving that in many cases splines are a very good choice.
For example, for computing the hydrologically sound digital elevation
models Mike Hutchinson uses SPLINES in combination with drainage enforcement
(what is in fact a simplified flow simulation model).
Our implemenation of an erosion/deposition model uses SPLINES in combination with
unit stream power approach proposed by I.D.Moore and one can find many other
similar examples.

Some people like
this fractal interpolation since it can be shown that many natural
surfaces have scale dependent complexity, and the fractal interpolation
allows this complexity to be preserved as the observation scale is changed.

The problem with fractal digital terrain models which I have seen so far
was that due to the methods which were used they had approximately
the same number of pits and peaks. Water does not flow in such a
landscape but creates lots of ponds and lakes, so they were not very
useful for modeling of processes. The problem is that terrain and also
many other natural phenomena are not a 'pure' self-similar fractals
in the sense of Mandelbrot definition. Many phenomena have fractal character
only within rather restricted range of scales or fractal dimension varies
as the scale changes or that the fractal character varies dramatically with
the position changes, but this goes beyond the topic discussed here.

Before finishing this, I would like to let you know that because of
anticipated future use of splines in various types of models we are in
a process of designing an GRASS interpolation library. This is ment to give more
flexibility both to us and to users and will allow to plug in various
radial basis functions, add the information on derivatives
(got from data or modeling of processes like flow), use s.semivariogram
and make it work like kriging, combine interpolation with process simulations
etc. This will also allow more people to participate in the development of
models using interpolation and approximation tools of GRASS.

I would like to conclude this with another quotation, this time from
a book: Wahba, G.: Spline models for observational data, 1990, CBMS-NSF,
Regional conf. series in applied mathematics, page x (Foreword):

"The body of spline methods available and under development provide a rich
family of estimation and model building techniques that have found use in
many scientific disciplines. Today, it is hard to open an issue of the J.
of American Statistical Association, the Annals of Statistics, ....,
without finding the word "spline" somewhere. It is certainly a pleasure
to be associated with such a blossoming and important area of research."

Whoever needs some more info, explanation, examples or has some comments
please contact me directly at helena@zorro.cecer.army.mil
as I have a feeling that we have already taken too much space in this list.

Helena Mitasova
Spatial Analysis and Systems Team
U.S.Army CERL
Champaign, IL 61826

[followups to grassp-list, please]

Helena Mitasova (helena@zorro.cecer.army.mil) writes on 9 Jul 93:

Before finishing this, I would like to let you know that because of
anticipated future use of splines in various types of models we are in

looks like the jury has decided... but it's not written on stone tablets.
isn't it great to have source-code access?!

a process of designing an GRASS interpolation library.

I would like to know a lot more about this proposed library. Is it
strictly for interpolation or does it include some more basic
statistical and matrix operations? I have felt that grass needed
more support for people doing these kinds of programs.

flexibility both to us and to users and will allow to plug in various
radial basis functions, add the information on derivatives
(got from data or modeling of processes like flow), use s.semivariogram

for s.semivar, I am using a matrix library called "meschach"
(available from netlib). For matrix computations, it has all of
the basic tools. There's even a text being prepared for it's use.
However, unlike Numerical Recipes, this code is freely distributable
(see the copyright for more details).

Anyhow, regarding s.semivar, I'm looking for a few people
who would be willing to give me some feedback on its design.
I won't promise a delivery date (learned that lesson), but
I will say that I'm much closer to having something distributable.
Volunteers?

as I have a feeling that we have already taken too much space in this list.

I enjoy this much more than "'tool X' is giving me this error - what
do I do?" (though a valid question or subject :slight_smile:

--
James Darrell McCauley Dept of Ag Engineering, Purdue Univ
internet: mccauley@ecn.purdue.edu West Lafayette, Indiana 47907-1146, USA
bitnet: mccauley%ecn@purccvm UUCP: pur-ee!mccauley

I would like to thank Helena for her very informative posting and assure her
that she is _NOT_ taking up too much space! If we could sustain dialogue on
the important topics, like interpolation, for even 10% of the time it would
be a signigicant improvement to this discussion group. IMHO GRASS is about
spatial analysis and modelling and about providing the community development
of these tools that researchers are not likely to get in commercial products.

Helena, thanks for the tutorial it was much appreciated. However, there is
one aspect of your reply to Simon that you try and clarify for me. I have
chopped the following from your post:

On Fri, 9 Jul 1993, Helena Mitasova wrote:

----------------Simon writes:--------------------------------------------------
>However, it
>is probably worth noting that in most cases, splines are just a fancy form of
>curve-fitting (which is what they were for the wizened old draftspeople) and
>their use often cannot be rigorously justified in terms of the processes being
>modelled.

[stuff deleted...]

Splines by itself do not model any process, splines create a curve, surface
or volume function which reproduces the original phenomenon as closely as
the functional form enables. HOWEVER they can be and they are used as a TOOL
for modeling processes and our and others experience is that they are
very successful in this matter. For example,

Now, I think I may have changed the context of your reply, but I am interested
in what I think Simon has said because it seems that there is almost a
philosophy-split between the "kriging camp" and the "spline camp". Can
you comment on this?

I have pulled the following quote from Cressie 1991 (_Statistics for
Spatial Data_ John Wiley & Sons, New York, pg 182) to emphasis this point:

"the spline technology is built for, and is justified by, surfaces that
are deterministic or deterministic plus white noise.
   There is a fundametal difference between 'krigers' and 'spliners',
which is manifest in how they report their results. Only the spline...is
given ...without any local meausure of precision associated with each
Z^&(So). In contrast, at the very foundation of kriging is the
minimization of local mean-squared prediction error, whose minimized
value...is given by...the kriging predictor...
  One exception to the essentially deterministic treatment given to
splines can be found in Wahba (1983)...Wahba's simulations appear to show
accurate intervals because she simulates with additive Gaussian white
noise..."

Cressie goes on to explain why kriging is more generally suitable and
ends this section, entitled "Kriging and Splines", with,

"In conclusion, kriging and splines are formally alike, but
practically very different. Both disciplines can benefit from
each other's knowledge base...Nevertheless, between the two methods, my
preference is with kriging's obligatory spatial-dependence assessment
and its automatic calculation of mean-squared prediction errors (for
possibly different supports)."

I think Cressie does a fairly good job of objectively stating these
oposing interpolation philosophies, _however_ he did manage to write
an entire reference book on "statistics of spatial data" without
using splines :slight_smile:

I think our collective "tool box" really does need splines, we all
_know_ they are bloody useful. But, the geographer in me is
hesitant in using them for anything but making nice contour maps...
Is this just mathematical ignorance on my part (not hard to imagine) or
amongst Cressis's equations is he stating some sound earth science
principle?

Ooooooh too heavy, its time for a beer, so I'll leave it there.

Cheers,
Chris