[Math] Non-linear ways to interpolate some data.

interpolation

I'm trying to solve a problem where I have a large set of data points. Each data "point" has 8 independent variables (input) and 1 dependent variable (the output). I got this data through experimentation.

Are there any non-linear ways that I can interpolate the data?

I am not looking for regression because each data point is a control point, and must be part of the answer. Any keywords or general formulas would be helpful.

Best Answer

It is curious that you want an exact interpolant for measured data. That's rarely what you really want.

In any case, there are infinitely many ways to interpolate your data. You can set up a polynomial in 8-dimensions with appropriate degree and solve for all the coefficients. Most likely, you will have an under-defined system so you won't be able to solve the coefficients exactly, but rather find an infinite solution set.

However, interpolation is not always useful. The price you pay for going exactly through your data points is that you tend lose control on the behavior of the interpolating surface everywhere between the points. And besides, without a (deterministic) sense of what the function should look like between those points, who's to say that your interpolation makes any sense to begin with?

Furthermore, such interpolants are very sensitive to small perturbations. Suppose you had a very small error in one of your measurements... correcting this error can introduce a whole different interpolating surface!

There are things you should ask yourself about how you expect the curve to behave. Does it go off to infinity as your independent variables get large? Or does it vanish? Or neither?

Do you constrain your first derivatives? Second? Third?

If you cannot answer those questions, you will have a harder time finding the "right" answer. But if all you need is an exact interpolant, then there are methods out there. Polynomial neural networks provide one such approach: set up your eight inputs, one output, some arbitrary number of hidden layers/nodes, and simply continue to solve for the weights until your relative error is within some very small tolerance.

Nevertheless, I caution against it. I can not even think of one situation where that is the "right" thing to do.

Related Question