I have a numerical simulation $f$ that takes 6 input parameters $\mathbf x = x_1, x_2, \ldots x_6$. I have randomly selected $25,000$ random combinations of these inputs and calculated $f(\mathbf x)$. The output of the simulation is about 25 numbers $\mathbf y = y_1, y_2, \ldots y_{25}$ (although for the sake of simplicity we could pretend I am only computing $y_1$).

I am now trying to interpolate this function 6-dimensional function. I hold out a model, train on the remaining models, and test on the held-out model.

I have tried various schemes:

To my surprise, linear interpolation has outperformed the rest. (To be clear, I have tried various data preprocessing steps to ensure the data are normalized, etc., as well as several hours changing the parameters of each method.)

Is this what I should have expected? Is there another technique that may work better?

I would like to note that I have apparently failed to find a method that can do cubic interpolation with high dimensional input, which I would imagine to be a promising route. (SciPy at least is limited to 2D functions.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.