Método outliers()

Identifica valores atípicos estadísticos en una columna numérica. Es posible identificar los valores atípicos para la columna en su totalidad o para grupos independientes en función de los valores idénticos de una o más columnas clave.

Sintaxis

nombre_marco_de_datos.outliers(keys = ["columna_clave", "...n"]|None, on = "columna_numérica", distance = número_de_desv_est, method = mean|median)

Parámetros

Nombre Descripción
keys = ["columna_clave", "...n"] | None
  • columna_clave la o las columnas clave que se deben usar para agrupar los datos del marco de datos

    Para cada grupo, se calcula una desviación estándar para los valores numéricos del grupo en columna_numérica. La desviación estándar del grupo se utiliza como la base para identificar los valores atípicos del grupo.

    Si agrupa por más de una columna, creó grupos anidados. El orden de anidamiento respeta el orden en el que usted especifica las columnas.

    Las columnas clave se colocan a la izquierda en el marco de datos de salida.

    Nota

    El método outliers() ordena automáticamente el marco de datos por las columnas clave antes de identificar los valores atípicos.

  • None los datos no se agrupan y se identifican los valores atípicos para columna_numérica en conjunto

    Se calcula una desviación estándar para columna_numérica en conjunto. La desviación estándar de la columna se utiliza como la base para identificar los valores atípicos de la columna.

on = "columna_numérica"

La columna numérica que se debe examinar para encontrar los valores atípicos. Puede examinar solo una columna por vez.

Los valores atípicos son valores que caen fuera de los límites superior e inferior establecidos por la desviación estándar del grupo o la columna, o por un múltiplo específico de la desviación estándar.

distance = number_of_std_devs

En columna_numérica, la cantidad de desviaciones estándar desde el promedio o la media hasta los límites superior e inferior. Usted puede especificar un decimal o entero positivo (0,5; 1; 1,5; 2 . . . )

La fórmula para crear los límites de los valores atípicos es la siguiente:

media/mediana ± (número_de_desv_est * desviación estándar)

Nota

La desviación estándar es una medida de la dispersión de un conjunto de datos; es decir, cuán dispersos están los valores. El cálculo de valores atípicos utiliza la desviación estándar de la población.

Ejemplo de límites de valores atípicos

distance = 2

establece, para la columna_numérica en su conjunto o para cada grupo de columna clave:

  • un límite de valor atípico superior equivalente a 2 desviaciones estándar por encima de la media o la mediana

    media/mediana + (2 * DE)

  • un límite de valor atípico inferior equivalente a 2 desviaciones estándar por debajo de la media o la mediana

    media/mediana - (2 * DE)

Todos los valores que sean superiores al límite superior o inferiores al límite inferior se incluyen como valores atípicos en los resultados de la salida.

Nota

Para el mismo conjunto de datos, a medida que incrementa el valor de número_de_desv_est, probablemente se reduce la cantidad de valores atípicos que se obtienen.

method = mean | median

opcional

El método para calcular el punto central de los valores de la columna_numérica (la columna de valor atípico).

  • mean calcula la media (el promedio) de los valores
  • median calcula la mediana de los valores

El punto central se calcula para cualquiera de los siguientes:

  • los valores numéricos de cada grupo de columnas clave
  • la columna numérica en su conjunto

Después, el punto central se utiliza para calcular la desviación estándar de cada grupo o de la columna numérica en su conjunto.

Si omite method, se utiliza el valor predeterminado de mean (media).

Consejo

Si los datos que está examinando en busca de valores atípicos están significativamente sesgados, el uso de median (mediana) puede generar resultados más representativos del conjunto de los datos.

Devuelve

Marco de datos de HCL.

Ejemplos

Identificar importes de transacciones que se encuentran fuera de lo habitual

Usted desea identificar importes de transacciones que se encuentran fuera de lo habitual en todo el marco de datos de cuentas por cobrar.

Decide establecer los límites de los valores atípicos en 3 veces la desviación estándar de la columna Amount. La prueba devuelve 16 valores atípicos en el marco de datos de 772 filas.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3, method = "mean")

Repite la prueba, pero incrementa el múltiplo de la desviación estándar a 3,5. Ahora, la prueba devuelve únicamente 6 valores atípicos porque los límites de los valores atípicos están más alejados del punto central de los valores de la columna Amount.

outliers_ar = accounts_receivable.outliers(keys = None, on = "Amount", distance = 3.5, method = "mean")

Identificar los importes de transacciones que se encuentran fuera de lo habitual para cada cliente

Usted desea identificar importes de transacciones que se encuentran fuera de lo habitual para cada cliente en un marco de datos de cuentas por cobrar.

Decide establecer los límites de los valores atípicos en 3 veces la desviación estándar del grupo de transacciones de cada cliente.

outliers_customer_ar = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "mean")

La prueba devuelve 7 valores atípicos. Se reportan la media y la desviación estándar para el grupo de transacciones de cada cliente:

group no CustNum Amount mean stdev distance
0 65003 4.954,64 833,83 1015,58 3
1 262001 3.567,34 438,81 772,44 3
1 262001 (2.044,82) 438,81 772,44 3
2 376005 (931,55) 484,57 411,18 3
3 501657 5.549,19 441,14 1332,80 3
4 811002 3.409,82 672,10 634,20 3
5 925007 3.393,87 906,16 736,48 3

Cómo se identifican los valores atípicos para el cliente 262001

El cliente 262001 tiene 101 transacciones en el marco de datos de cuentas por cobrar y dos de ellas se reportan como valores atípicos porque superan los límites de valores atípicos de ese cliente:

Valor atípico Límite inferior Límite superior Valor atípico
(2.044,82) (1.878,51) 2.756,13 3.567,34

Cómo se calculan los límites de los valores atípicos para el cliente 262001

Los límites de los valores atípicos son la media de todas las transacciones del cliente 262001, más o menos el múltiplo especificado de la desviación estándar de las transacciones:

Media de todas las transacciones del cliente 262001 438,81
Múltiplo especificado de la desviación estándar 3
Desviación estándar de las transacciones 772,44

438,81 ± (3 * 772,44)

= 438,81 ± 2.317,32

= (1.878,51) (límite inferior)

= 2.756,13 (límite superior)

Usar median para identificar importes de transacciones que se encuentran fuera de lo habitual para cada cliente

Usted usa la mediana (median), en lugar de la media (mean), para realizar la misma prueba de valores atípicos que realizó en el ejemplo anterior.

outliers_customer_ar_median = accounts_receivable.outliers(keys = ["CustNum"], on = "Amount", distance = 3, method = "median")

La prueba devuelve 10 valores atípicos en lugar de los 7 que devuelve la prueba anterior. Según la naturaleza de los datos, la mediana y la media pueden devolver resultados algo diferentes:

group no CustNum Amount median stdev distance
0 65003 4.954,64 663,68 1015,58 3
1 262001 3.567,34 450,67 772,44 3
1 262001 (2.044,82) 450,67 772,44 3
2 376005 (931,55) 517,16 411,18 3
3 501657 4.426,14 146,80 1332,80 3
3 501657 5.549,19 146,80 1332,80 3
4 811002 3.409,82 624,53 634,20 3
5 925007 2.972,78 717,88 736,48 3
5 925007 3.030,71 717,88 736,48 3
5 925007 3.393,87 717,88 736,48 3

Cómo se calculan los límites de los valores atípicos para cada cliente

Los límites de los valores atípicos son el valor de la mediana de todas las transacciones del cliente, más o menos el múltiplo especificado de la desviación estándar de las transacciones.

Por ejemplo, para el cliente 262001: 450,67 ± (3 * 772,44)

Observaciones

Todas las columnas del marco de datos de entrada se incluyen automáticamente en el marco de datos de salida. Las columnas que no están directamente involucradas en el cálculo de valores atípicos se ubican en la parte derecha del marco de salida.