0

I am new to geospatial data and have a task to identify outliers from polygons. I have been looking at the different tools that ArcGIS Pro has to offer: Optimize Outlier Analysis, Optimize HotSpot Analysis, and Clusters and Outliers Analysis. Nevertheless, some of these tools required an input distance (spatial relationship).

I have a .shp file with about 400 polygons. Each polygon has columns in the attribute tables for 10 different dates and each date has a float value (range: 1-100). Example:

Column1 = 04/23/2021: 22.04
Column1 = 04/23/2021: 21.16
Column1 = 04/23/2021: 15.78

Column2 = 05/23/2021: 11.24
Column2 = 05/23/2021: 31.17
Column2 = 05/23/2021: 85.48

I would like to identify outliers for each date column.

Which tool should I use to find these outliers? I do not need spatial relationship to be considered.

Update: I tried the Multivariate Clustering tool and set the number of clusters to 6. These tool does not require input distance values. Do you think this would be correct to use for the task? From this tool, I can see the Features Per Cluster and identify the cluster with the lower Count (outliers).

2
  • 1
    Clustering is not a valid way to identify outliers! There are too many potential solutions and the way the cluster centers are derived can have a profound effect in something like k-means (under the hood of multivariate clustering tool). ArcPro is not the place to perform statistical analysis, which is exactly what you are trying to do. You should be using something like the modified Z-score or in this case, potentially a time-seires anomaly detection method (which would indicate local deviation outliers). Commented Dec 7, 2021 at 16:42
  • @JeffreyEvans thanks for your answer. I believe I will be utilizing modified Z-score for this task. This will be calculated in Excel. Commented Dec 7, 2021 at 23:17

2 Answers 2

1

Clustering is not a valid way to identify outliers! There are too many potential cluster solutions and the way the cluster centers are derived can have a profound effect in a statistic like k-means (which is under the hood of multivariate clustering tool). You can never be sure that a given cluster solution are actually capturing the clusters in the data, especially if there are more than one. ArcPro is not the place to perform statistical analysis, which is exactly what you are trying to do here.

For identifying outliers on the tails of the distribution I would recommend using something like the modified Z-score (Iglewicz & Hoaglin 1993) or in this case, potentially treating the data as a time-series.

Please, just keep in mind that outliers, due to tail distributions (fig 1), are very different than outliers within a time-series, which are extreme local deviations within the serial component of the data (fig 2). This is why time-series data is often smoothed before analysis. If you are after the time-series component, smoothing is the way to go else-wise you are getting into extreme number theory and anomaly detection, which is not trivial. You can smooth a time-series using a lowess regression, spline or Savitzky-Golay convolution filter.

A modified Z-score will only identify outliers due to extreme values at the tails. So, it is important to understand what type of outlier effect you are after and it looks like your data may have a serial component. Here is a simple expression of the modified z-score ( (0.6745 * (x - median(x))) / mad(x) ) where; median is the 50th percentile and mad is the median absolute deviation from the median. Should be easy to implement in Excel.

fig 1. tail outliers

fig 2. local outliers

3
  • The data I am working on is plant canopy cover (percentage in specified area (0-100%)) estimation from drones. This was collected over the course of 17 weeks. I was thinking on detecting outliers within each flight (17 in total). As you mentioned using z-score and modified z-score does not seem to detect many outliers. Which method would you recommend for the type of data described? Commented Dec 8, 2021 at 0:29
  • 1
    PM me or you can find contact info in my profile, and we can discuss further. I can easily guide your through this in R. Or, you can ask a new question and provide example data and I can answer there. Commented Dec 8, 2021 at 1:04
0

I know ArcMap has a tool called Grouping Analysis but reading the help file in ArcPro this seems to have been split out into 2 tools. If I have understood it correctly the Multivariate Clustering will group data based upon selected attributes only and not proximity in the geometry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.