Based on the examples I’ve applied this technique to, I have found it preferable - but like most things, it most likely depends on your application. I am really not sure why natural neighbour interpolation is not more popular - maybe the implementation details are just a bit difficult? It gives really good results in other comparison papers too (search e.g. "natural neighbor interpolation" AND "comparison"
.
The key things would probably be:
- (+) Natural neighbour interpolants (NNI) are very inexpensive to compute and setup.
- (+) NNIs are robust to irregular distributed datasets, in contrast to e.g. inverse distance weighted interpolants which can struggle in these scenarios (many point distributions in geospatial datasets are irregular distributed).
- (+) Since the points used for evaluating the interpolant around a point is chosen automatically, geospatial features are automatically considered when evaluating an NNI, and this also means that no hyperparameters need to be thought about at all for using an NNI. This locality of the NNI is much preferable to the global nature of e.g. radial basis function interpolants which require the solution of a large linear system.
- (+) NNIs have a continuous dependence on the positions of the data sites.(If you use e.g.
Triangle()
interpolation that is commonly used, small perturbations of a point can completely change the triangle around that point! NNIs don’t have this issue thanks to very nice properties of Voronoi tessellations.) - (-) NNIs are, in principle, generalisable to higher dimensions, but they get extremely complex to implement even in three dimensions, and even evaluating them can be slow.
- (-)
Hiyoshi(2)
, a globally smooth C^2 interpolant, can be pretty expensive to compute in some cases. - (-) NNIs do not extrapolate well beyond the convex hull of the data points, whereas other methods like radial basis functions naturally extrapolate. (There are methods for extrapolation of NNIs, but I’ve not implemented them or assessed them critically.)
Overall, especially for the second point above, I would prefer to use NNIs for geospatial modelling. If extrapolation really is important, I don’t think you want NNIs. If you need interpolation in \mathbb R^d, d \geq 3, then I don’t have the tools for that either. I’m sure there are advantages/disadvantages I’ve missed though.
Maybe (if I ever have more time…) I need to eventually write up a more rigorous example for a geospatial application, examining e.g. the impact of the distribution of a set of points on the interpolated surface, with comparisons to other commonly used interpolants.