I have tens of thousands of unstructured points in a multidimensional space. I would like to interpolate these to tens of thousands of other unstructured points. The interpolation can be smoothing, but piecewise linear is preferred, and I would prefer for it to be smoother than a nearest neighbour interpolation. Extrapolation may be required, so LinearNDInterpolator is out. The input and output points will consist of clusters, so it is inefficient to use methods such as scipy's RBF interpolator as I believe this will use all of the input points to calculate each output point, even though many of the input points will be similar to each other.
This answer to a similar question indicated that it is possible to make the RBF interpolation more efficient when the number of inputs is large, but did not include the details. How can it be done?
As I can tolerate smoothing, and many of the inputs will be similar to each other, support vector regression might be appropriate. Are there other methods that are suited to this situation (preferably ones with a Python interface)?