Detección de valores atípicos espaciales (Estadística espacial)

Resumen

Identifica valores atípicos espaciales globales o locales en entidades de punto.

Un valor atípico global es un punto que está lejos de todos los demás puntos de una clase de entidad. Los valores atípicos globales se detectan examinando las distancias entre cada punto y uno de sus vecinos más cercanos (por defecto, el vecino más cercano) y detectando puntos donde la distancia es grande.

Un valor atípico local es un punto que está más lejos de sus vecinos de lo que cabría esperar por la densidad de puntos en el área circundante. Los valores atípicos locales se detectan calculando el factor de valor atípico local (LOF) de cada entidad. El LOF es una medida que describe cómo de aislada está una ubicación en comparación con sus vecinos locales. Un LOF más alto corresponde a un aislamiento mayor. La herramienta también se puede utilizar para producir una superficie de predicción ráster que se puede utilizar para estimar si las nuevas entidades se clasificarán como valores atípicos en función de la distribución espacial de los datos.

Más información sobre cómo funciona Detección de valores atípicos espaciales

Ilustración

Ilustración de la herramienta Detección de valores atípicos espaciales

Uso

  • Esta herramienta identifica los puntos suministrados en el parámetro Entidades de entrada como valores atípicos (outliers) espaciales o como inliers espaciales. El parámetro Mantener solo valores atípicos espaciales se puede utilizar para devolver solo los puntos identificados como valores atípicos.

  • La herramienta utiliza una vecindad local alrededor de cada entidad, especificada en el parámetro Cantidad de vecinos. Para la detección de valores atípicos locales, se utilizan todos los puntos dentro de la vecindad y la herramienta estima el valor predeterminado en el tiempo de ejecución. Para la detección de valores atípicos globales, solo se usa el vecino más lejano de la vecindad y el valor predeterminado es 1 (el vecino más cercano). Por ejemplo, un valor de 3 indica que los valores atípicos globales se detectan utilizando distancias al tercer vecino más cercano de cada punto.

  • Para la detección de valores atípicos locales, se utiliza el parámetro Porcentaje de ubicaciones consideradas valores atípicos para establecer un umbral para que el LOF designe cada entidad de punto como un valor atípico o típico.

    Nota:

    Las pequeñas diferencias en los valores del parámetro Porcentaje de ubicaciones consideradas valores atípicos pueden dar como resultado el mismo recuento de entidades de salida designadas como valores atípicos. Esto puede ocurrir cuando las similitudes en la distribución espacial de las entidades dan como resultado el mismo valor de LOF para varias entidades.

  • La capa de salida incluye dos gráficos. El primero es un gráfico de barras que muestra los recuentos de valores atípicos e inliers. El segundo gráfico es un histograma. Para la detección de valores atípicos locales, el histograma muestra la distribución de los valores de LOF para todas las entidades de punto y el umbral de LOF utilizado para determinar si una entidad es un valor atípico o típico. Para la detección de valores atípicos globales, el histograma muestra la distribución de distancias de vecindad y el umbral asociado.

  • Si el valor del parámetro Entidades de entrada tiene una coordenada z, la herramienta respetará la naturaleza 3D de los datos detectando valores atípicos espaciales en el espacio 3D. Cuando se agregan a una vista de escena, las entidades de salida se muestran en 3D para visualizar los valores atípicos espaciales 3D. Si la unidad (por ejemplo, metros) de la coordenada z no está definida en un sistema de coordenadas verticales, se presupone que la unidad es la misma que en las coordenadas x e y.

  • El parámetro Ráster de predicción de salida es una salida opcional que muestra los valores utilizados para determinar si cada celda es un valor atípico como una superficie continua en el área de estudio. Para la detección de valores atípicos locales, el ráster contiene el valor LOF calculado para la celda. Para la detección de valores atípicos globales, el ráster contiene la distancia al vecino más cercano. La salida se puede utilizar para determinar si las observaciones futuras son valores atípicos sin necesidad de recalcular el valor del nuevo punto. La salida solo se puede crear para entidades de entrada 2D.

    Nota:

    Las distancias de vecindad y los valores de LOF de los puntos no coincidirán con los valores de las celdas ráster bajo cada punto, aunque los puntos coincidan con un centro de celda del ráster. Esto se debe a que la entidad no se utiliza a sí misma como vecino, pero la celda ráster sí utiliza la entidad como vecino, de modo que cada cálculo utiliza distintos vecinos y produce un valor diferente.

  • Para obtener más información sobre el factor de valor atípico local y la optimización de parámetros, consulte las siguientes referencias:

    • Breunig, M. M., Kriegel, H. P., Ng, R. T., Sander, J. (2000). "LOF: identifying density-based local outliers." Proceedings of the 2000 ACM SIGMOD international conference on Management of data. (pp. 93-104).
    • Xu, Z., Kakde, D., Chaudhuri, A. (2019). "Automatic Hyperparameter Tuning Method for Local Outlier Factor, with Applications to Anomaly Detection." 2019 IEEE International Conference on Big Data. (pp. 4201-4207).

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Las entidades de punto que se utilizarán para crear el modelo de detección de valores atípicos espaciales. Cada punto se clasificará como un valor atípico (outlier) o un inlier en función de su factor de valor atípico local.

Feature Layer
Entidades de salida

La clase de entidad de salida que contiene el factor de valor atípico local para cada entidad de entrada, así como un indicador de si el punto es un valor atípico espacial.

Feature Class
Cantidad de vecinos
(Opcional)

El número de vecinos que se utilizarán para detectar valores atípicos espaciales para cada punto de entrada.

Para la detección de valores atípicos locales, el valor debe ser al menos 2 y todas las entidades de la vecindad se utilizarán como vecinas. Si no se especifica ningún valor, se estima un valor en el tiempo de ejecución y se muestra como un mensaje de geoprocesamiento.

Para la detección de valores atípicos globales, solo se usará el vecino más lejano de la vecindad y el valor predeterminado es 1 (el vecino más cercano). Por ejemplo, un valor de 3 indica que los valores atípicos globales se detectan utilizando distancias al tercer vecino más cercano de cada punto.

Long
Porcentaje de ubicaciones consideradas valores atípicos
(Opcional)

El porcentaje de ubicaciones que se identificarán como valores atípicos espaciales mediante la definición del umbral del factor de valor atípico local. Si no se especifica ningún valor, se estima un valor en el tiempo de ejecución y se muestra como un mensaje de geoprocesamiento. Un máximo del 50 por ciento de las entidades se pueden identificar como valores atípicos espaciales.

Double
Ráster de predicción de salida
(Opcional)

El ráster de salida que contiene los factores de valores atípicos locales en cada celda, que se calcula según la distribución espacial de las entidades de entrada.

Este parámetro solo está disponible con una licencia Desktop Advanced.

Raster Dataset
Tipo de valor atípico
(Opcional)

Especifica el tipo de valor atípico que se detectará. Un valor atípico global es un punto que está lejos de todos los demás puntos de la clase de entidad. Un valor atípico local es un punto que está más lejos de sus vecinos de lo que cabría esperar por la densidad de puntos en el área circundante.

  • GlobalSe detectarán valores atípicos globales de los puntos de entrada. Esta es la opción predeterminada.
  • LocalSe detectarán valores atípicos locales de los puntos de entrada.
String
Sensibilidad de detección
(Opcional)

Especifica el nivel de sensibilidad que se utilizará para detectar valores atípicos globales. Cuanto mayor sea la sensibilidad, más puntos se detectarán como valores atípicos.

El valor de sensibilidad determinará el umbral, y cualquier punto con una distancia de vecindad mayor que este umbral se identificará como un valor atípico global. Los umbrales se determinan mediante la regla del diagrama de caja, en la que el umbral de alta sensibilidad es un rango intercuartílico por encima del tercer cuartil. Para una sensibilidad media, el umbral es 1,5 rangos intercuartílicos por encima del tercer cuartil. Para una sensibilidad baja, el umbral es dos rangos intercuartílicos por encima del tercer cuartil.

  • BajoLos valores atípicos se detectarán usando una sensibilidad baja. Esta opción detectará la menor cantidad de valores atípicos.
  • MedioLos valores atípicos se detectarán usando una sensibilidad moderada. Esta es la opción predeterminada.
  • AltoLos valores atípicos se detectarán usando una sensibilidad alta. Esta opción detectará la mayor cantidad de valores atípicos.
String
Mantener solo valores atípicos espaciales
(Opcional)

Especifica si las entidades de salida contendrán todas las entidades de entrada o solo las entidades identificadas como valores atípicos espaciales.

  • Activado: las entidades de salida solo contendrán entidades identificadas como valores atípicos espaciales.
  • Desactivado: las funciones de salida contendrán todas las funciones de entrada. Esta es la opción predeterminada.

Boolean

arcpy.stats.SpatialOutlierDetection(in_features, output_features, {n_neighbors}, {percent_outlier}, {output_raster}, {outlier_type}, {sensitivity}, {keep_type})
NombreExplicaciónTipo de datos
in_features

Las entidades de punto que se utilizarán para crear el modelo de detección de valores atípicos espaciales. Cada punto se clasificará como un valor atípico (outlier) o un inlier en función de su factor de valor atípico local.

Feature Layer
output_features

La clase de entidad de salida que contiene el factor de valor atípico local para cada entidad de entrada, así como un indicador de si el punto es un valor atípico espacial.

Feature Class
n_neighbors
(Opcional)

El número de vecinos que se utilizarán para detectar valores atípicos espaciales para cada punto de entrada.

Para la detección de valores atípicos locales, el valor debe ser al menos 2 y todas las entidades de la vecindad se utilizarán como vecinas. Si no se especifica ningún valor, se estima un valor en el tiempo de ejecución y se muestra como un mensaje de geoprocesamiento.

Para la detección de valores atípicos globales, solo se usará el vecino más lejano de la vecindad y el valor predeterminado es 1 (el vecino más cercano). Por ejemplo, un valor de 3 indica que los valores atípicos globales se detectan utilizando distancias al tercer vecino más cercano de cada punto.

Long
percent_outlier
(Opcional)

El porcentaje de ubicaciones que se identificarán como valores atípicos espaciales mediante la definición del umbral del factor de valor atípico local. Si no se especifica ningún valor, se estima un valor en el tiempo de ejecución y se muestra como un mensaje de geoprocesamiento. Un máximo del 50 por ciento de las entidades se pueden identificar como valores atípicos espaciales.

Double
output_raster
(Opcional)

El ráster de salida que contiene los factores de valores atípicos locales en cada celda, que se calcula según la distribución espacial de las entidades de entrada.

Este parámetro solo está disponible con una licencia Desktop Advanced.

Raster Dataset
outlier_type
(Opcional)

Especifica el tipo de valor atípico que se detectará. Un valor atípico global es un punto que está lejos de todos los demás puntos de la clase de entidad. Un valor atípico local es un punto que está más lejos de sus vecinos de lo que cabría esperar por la densidad de puntos en el área circundante.

  • GLOBALSe detectarán valores atípicos globales de los puntos de entrada. Esta es la opción predeterminada.
  • LOCALSe detectarán valores atípicos locales de los puntos de entrada.
String
sensitivity
(Opcional)

Especifica el nivel de sensibilidad que se utilizará para detectar valores atípicos globales. Cuanto mayor sea la sensibilidad, más puntos se detectarán como valores atípicos.

El valor de sensibilidad determinará el umbral, y cualquier punto con una distancia de vecindad mayor que este umbral se identificará como un valor atípico global. Los umbrales se determinan mediante la regla del diagrama de caja, en la que el umbral de alta sensibilidad es un rango intercuartílico por encima del tercer cuartil. Para una sensibilidad media, el umbral es 1,5 rangos intercuartílicos por encima del tercer cuartil. Para una sensibilidad baja, el umbral es dos rangos intercuartílicos por encima del tercer cuartil.

  • LOWLos valores atípicos se detectarán usando una sensibilidad baja. Esta opción detectará la menor cantidad de valores atípicos.
  • MEDIUMLos valores atípicos se detectarán usando una sensibilidad moderada. Esta es la opción predeterminada.
  • HIGHLos valores atípicos se detectarán usando una sensibilidad alta. Esta opción detectará la mayor cantidad de valores atípicos.
String
keep_type
(Opcional)

Especifica si las entidades de salida contendrán todas las entidades de entrada o solo las entidades identificadas como valores atípicos espaciales.

  • KEEP_OUTLIERLas entidades de salida solo contendrán entidades identificadas como valores atípicos espaciales.
  • KEEP_ALLLas funciones de salida contendrán todas las funciones de entrada. Esta es la opción predeterminada.
Boolean

Muestra de código

Ejemplo 1 de SpatialOutlierDetection (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función SpatialOutlierDetection.

arcpy.stats.SpatialOutlierDetection("Transaction_Locations", 
            "Transactions_SpatialOutliers", 20, 5, 
            "Transactions_OutliersPredictionSurface")
Ejemplo 2 de SpatialOutlierDetection (script independiente)

El siguiente script independiente de Python muestra cómo utilizar la función SpatialOutlierDetection.

# Import system modules.
import arcpy

try:
    # Set the workspace and input features.
    arcpy.env.workspace = 'C:\\SpatialOutlierDetection\\MyData.gdb'
    inputFeatures = "PM25_AirQualityStations"

    # Set the name of the output features
    outputFeatures = "AirQualityStations_SpatialOutliers"

    # Set the number of neighbors
    numberNeighbors = 8

    # Set the percentage of locations considered outliers
    pcntLocationsAsOutliers = 10

    # Set the output prediction raster
    outputPredictionRaster = airQualityStations_OutPredictionRaster


    # Run the Spatial Outlier Detection tool
    arcpy.stats.SpatialOutlierDetection(inputFeatures, outputFeatures, 
            numberNeighbors, pcntLocationsAsOutliers, outputPredictionRaster)

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Entornos

Casos especiales

Tamaño de celda

Este entorno solo afecta al ráster de salida.

Máscara

Este entorno solo afecta al ráster de salida.

Alinear ráster

Este entorno solo afecta al ráster de salida.

Extensión

Este entorno solo afecta al ráster de salida.

Información de licenciamiento

  • Basic: Limitado
  • Standard: Limitado
  • Advanced: Limitado

Temas relacionados