La winsorización o winsorización es la transformación de las estadísticas mediante la limitación de los valores extremos en los datos estadísticos para reducir el efecto de posibles valores atípicos espurios . Recibe su nombre en honor al ingeniero convertido en bioestadístico Charles P. Winsor (1895-1951). El efecto es el mismo que el recorte en el procesamiento de señales.
La distribución de muchas estadísticas puede verse muy influenciada por valores atípicos, que son valores que están "muy fuera" del volumen de los datos. Una estrategia típica para tener en cuenta, sin eliminar por completo, estos valores atípicos es "restablecer" los valores atípicos a un percentil específico (o un percentil superior e inferior) de los datos. Por ejemplo, una winsorización del 90 % vería todos los datos por debajo del percentil 5 establecidos en el percentil 5, y todos los datos por encima del percentil 95 establecidos en el percentil 95. Los estimadores winsorizados suelen ser más robustos a los valores atípicos que sus formas más estándar, aunque existen alternativas, como el recorte (ver a continuación), que lograrán un efecto similar.
Consideremos un conjunto de datos simple que consta de:
Los datos por debajo del percentil 5 se encuentran entre −40 y −5 inclusive, mientras que los datos por encima del percentil 95 se encuentran entre 101 y 1053 inclusive (los valores pertinentes se muestran en negrita ). La winsorización restablece de manera efectiva los valores atípicos a los valores de los datos en los percentiles 5 y 95. En consecuencia, una winsorización del 90% daría como resultado el siguiente conjunto de datos:
Después de la winsorización, la media ha caído a casi la mitad de su valor anterior y, en consecuencia, está más en línea o es más congruente con el conjunto de datos a partir del cual se calcula.
Tenga en cuenta que winsorizar no es equivalente a simplemente excluir datos, que es un procedimiento más simple, llamado recorte o truncamiento , sino que es un método de censura de datos.
En un estimador recortado, los valores extremos se descartan; en un estimador winsorizado, los valores extremos se reemplazan por ciertos percentiles (el mínimo y el máximo recortados).
Por lo tanto, una media winsorizada no es lo mismo que una media truncada o recortada . Por ejemplo, la media recortada al 10 % es el promedio del percentil 5 al 95 de los datos, mientras que la media winsorizada al 90 % establece el 5 % inferior en el percentil 5, el 5 % superior en el percentil 95 y luego promedia los datos. Por lo tanto, la winsorización no cambia el número total de valores en el conjunto de datos, N. En el ejemplo dado anteriormente, la media recortada se obtendría del conjunto más pequeño (truncado):
En este caso, la media winsorizada se puede expresar de forma equivalente como un promedio ponderado del percentil 5, la media truncada y el percentil 95 (para este caso de una media winsorizada del 10 %: 0,05 veces el percentil 5, 0,9 veces la media truncada del 10 % y 0,05 veces el percentil 95). Sin embargo, en general, las estadísticas winsorizadas no necesitan poder expresarse en términos de la estadística truncada correspondiente.
Más formalmente, son distintos porque las estadísticas de pedidos no son independientes.
La winsorización se utiliza en el contexto de la metodología de encuestas para "recortar" los pesos extremos de falta de respuesta en las encuestas. [1] También se utiliza en la construcción de algunos índices bursátiles cuando se analiza el rango de ciertos factores (por ejemplo, crecimiento y valor) para determinadas acciones. [2]
Python puede winsorizar datos usando la biblioteca SciPy :
importar numpy como np desde scipy.stats.mstats importar winsorize winsorize ( np . array ([ 92 , 19 , 101 , 58 , 1053 , 91 , 26 , 78 , 10 , 13 , - 40 , 101 , 86 , 85 , 15 , 89 , 89 , 28 , - 5 , 41 ]), límites = [ 0.05 , 0.05 ])
R puede winsorizar datos utilizando el paquete DescTools: [3]
biblioteca ( DescTools ) a <- c ( 92 , 19 , 101 , 58 , 1053 , 91 , 26 , 78 , 10 , 13 , -40 , 101 , 86 , 85 , 15 , 89 , 89 , 28 , -5 , 41 ) DescTools :: Winsorize ( a , probs = c ( 0.05 , 0.95 ))