1

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.

  • are you allow to use a computer program? like matlab? – Sergio Sarmiento Jun 13 '14 at 18:46
  • Yes. But I would also like to know the theory too. – GratefulNoobie Jun 13 '14 at 18:50
  • Regarding the theory I can not help you so much here, but if you have matlab you could use the following code f = @(xq) interp1(x,fx,xq); where the x represents the ¨time-interval¨ of your measurements, fx the values you get? I believe will be the 8 values you are talking about, and finally xq will interpolate the points, the result will be the function f. Please note that this method applies linear-interpolation if you need another method you can add spline or cubic after the xq – Sergio Sarmiento Jun 13 '14 at 18:56
  • take a look at this http://nf.nci.org.au/facilities/software/Matlab/techdoc/ref/interp1.html – Sergio Sarmiento Jun 13 '14 at 19:04
  • 1
  • I was looking at splines (specifically cubic splines) too, but I am not sure how to extend the splines into multiple dimensions (as I have 8 input variables). – GratefulNoobie Jun 13 '14 at 19:10
  • What do you mean by "non-linear" interpolation ? All classical methods are linear, in the sense that if you interpolate on the same input points with two different sets of output values $V_{n1}$ and $V_{n2}$, the interpolant of $\alpha V_{n1}+\beta V_{n2}$ is $\alpha$ times the interpolant of $V_{n1}$ plus $\beta$ times the interpolant of $V_{n2}$. –  Jun 13 '14 at 19:12
  • Are the input values regularly or irregularly distributed ? –  Jun 13 '14 at 19:14
  • By non-linear, I meant that the "lines" connecting the points are not "straight lines (or "plane", or whatever it is in 8 dimensions)" as like in a two dimensional case. The input values are regularly distributed. – GratefulNoobie Jun 13 '14 at 19:16

1 Answers1

1

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.

Emily
  • 35,688
  • 6
  • 93
  • 141
  • The inputs are dimensions of a solid part for a machine, so they must be there for control points. I am trying to figure out if there is any function that can map the changes in the output if I change any of the inputs. But I see what you are trying to say, how any variation in any of the data creates a new function. I will continue to look for alternatives to this problem. – GratefulNoobie Jun 13 '14 at 20:38
  • Error in inputs is rarely the issue in interpreting experimental data; the variation is almost always most prominent in the outputs (ie the thing you cannot control). – Emily Jun 16 '14 at 20:00