I am planing to use interpolation method using spatial analyst tool and I found several methods like spline NN and kriging. I know I can do interpolation using geostatistical analyst but some interpolation methods do not available in geostatistical analyst like spline and NN, although the errors measurement can be obtained from geostatistical analyst. My question is how to get error results such as root mean square errors and both observed and predicted data of interpolation model using Spatial Analyst in ArcMap?
2 Answers
Depending on the type of spline, it is most likely a special case of Radial Basis function interpolation but RDF is theoretically equivalent to one of the forms of kriging. With RBF you get an interpolating function, with kriging the interpolating function is implied but not explicitly given.
With kriging you can use a moving search neighborhood but not with RBF (although M. Powell has considered sequential approximation which is analogous to larger and larger search neigborhoods).
RBF does not generate the "interpolation errors" since it is also an exact interpolator so you would have to use a variation of cross validation.
See 1992, Myers, D.E., Selection of a radial basis function for data interpolation in Advances in Computer Methods for Partial Differential Eq. VII, R. Vichnevetsky, D. Knight and G.Richter (eds), IMACS, 553-558.
This can be downloaded at www.u.arizona.edu/~donaldm
You can easily calculate root mean square error (RMSE) for any Spatial Analyst interpolation method. Here's how I would do it:
- Add two extra fields to your point layer, and call them something like: interpolation and SqDeviation
- Run the interpolator of your choice to create the new surface (IDW, Kriging, Nearest Neighbor, etc.).
- Run the tool "Extract Values to Points" using your original point values and the new surface.
- Join the output to your original points to populate the "interpolation" column.
- Populate the "SqDeviation" column using Field Calculator to subtract the interpolated values from the original point values, and square them. (P1 - P2)2
- Now that you've calculated all of the squared deviations, add them up, divide by the n, and take the square root.
Steps 5 & 6 should satisfy this equation for RMSE:
Also, I would highly recommend reading this little 4-page fact sheet on Spatial Analyst interpolation methods, to understand what each ArcGIS tool is doing: http://www.esri.com/news/arcuser/0704/files/interpolating.pdf.
For example, with Spline, the surface is forced through the original points, so RMSE is basically meaningless because each of the squared deviations equal 0. It's good to keep in mind that RMSE is only one metric for evaluating results, but it shouldn't be the be-all-end-all test for your decision making. There are many articles on the internet about how RMSE can be misleading. In general, I use spline to make pretty smooth surfaces for presentations, but I actually use EBK in Geostatistical Analyst as my work-horse interpolator. I look at RMSE to compare tweaks of my various EBK runs to help me decide upon its settings and options in my underlying data, but I always take RMSE with a grain of salt.
-
This answer contains a mistake and should not be used--it trains your model on a dataset and then tests the mean squared error on that dataset directly. This will give severely downward-biased estimates when your model is overfitting, e.g. with splines. Commented Aug 14, 2022 at 0:54
-
To estimate the error, the most common approach is instead cross-validation, which works like this: Take every original data point x and leave it out of your dataset. Fit a model to the new dataset that does not include x, and use the model to predict x. Finally, calculate the squared error in predicting x by taking the difference between x and your predicted value. This approach will give (nearly) unbiased estimates for the error. Commented Aug 14, 2022 at 0:54