Estoy tratando con datos lineales con valores atípicos, algunos de los cuales están a más de 5 desviaciones estándar de la línea de regresión estimada. Estoy buscando una técnica de regresión lineal que reduzca la influencia de estos puntos.
Hasta ahora, lo que hice fue estimar la línea de regresión con todos los datos, luego descartar el punto de datos con residuos cuadrados muy grandes (digamos el 10% superior) y repetir la regresión sin esos puntos.
En la literatura hay muchos enfoques posibles: cuadrados menos recortados, regresión cuantil, estimadores m, etc. Realmente no sé qué enfoque debería intentar, así que estoy buscando sugerencias. Lo importante para mí es que el método elegido debe ser rápido porque la regresión robusta se calculará en cada paso de una rutina de optimización. ¡Muchas gracias!
fuente
Respuestas:
Si sus datos contienen un solo valor atípico, se pueden encontrar de manera confiable utilizando el enfoque que sugiere (sin las iteraciones). Un enfoque formal para esto es
Para encontrar más de un valor atípico, durante muchos años, el método principal fue la llamada familia de enfoque de la estimaciónEsta es una familia bastante amplia de estimadores que incluye el estimador de regresión de Huber , la regresión L1 de Koenker y el enfoque propuesto por Procastinator en su comentario a su pregunta. Los estimadores con funciones convexas tienen la ventaja de tener aproximadamente la misma complejidad numérica que una estimación de regresión regular. La gran desventaja es que solo pueden encontrar los valores atípicos de manera confiable si:M M ρM M M ρ
Puede encontrar una buena implementación de ( ) estimaciones de regresión en el paquete ( ) . l 1M l1
robustbase
quantreg
R
Si sus datos contienen más de outlier potencialmente también fuera del espacio de diseño, entonces, encontrarlos equivale a resolver un problema combinatorio (equivalente a la solución de un estimador con re función descendente / no convexa ). Mρ⌊np+1⌋ M ρ
En los últimos 20 años (y especialmente los últimos 10) se ha diseñado un gran conjunto de algoritmos de detección de valores atípicos rápidos y confiables para resolver aproximadamente este problema combinatorio. Ahora se implementan ampliamente en los paquetes estadísticos más populares (R, Matlab, SAS, STATA, ...).
No obstante, la complejidad numérica de encontrar valores atípicos con estos enfoques suele ser del orden . La mayoría de los algoritmos se pueden usar en la práctica para los valores de a mediados de la adolescencia. Por lo general, estos algoritmos son lineales en (el número de observaciones), por lo que el número de observaciones no es un problema. Una gran ventaja es que la mayoría de estos algoritmos son vergonzosamente paralelos. Más recientemente, se han propuesto muchos enfoques diseñados específicamente para datos de dimensiones superiores.p nO(2p) p n
Dado que no especificó en su pregunta, enumeraré algunas referencias para el caso . Aquí hay algunos documentos que explican esto con mayor detalle en esta serie de artículos de revisión:p < 20p p<20
Un libro de referencia reciente sobre el problema de la identificación de valores atípicos es:
Estos (y muchas otras variaciones de estos) métodos se implementan (entre otros) en el paquete.
robustbase
R
fuente
Para la regresión simple (x simple), hay algo que decir de la línea Theil-Sen en términos de robustez para los valores atípicos y a los puntos influyentes, así como también una buena eficiencia (en la normalidad) en comparación con LS para la pendiente. El punto de ruptura de la pendiente es casi del 30%; Mientras la intercepción (hay una variedad de posibles intercepciones que la gente ha usado) no tiene un desglose más bajo, todo el procedimiento hace frente a una fracción considerable de contaminación bastante bien.
Su velocidad puede parecer mala: la mediana de las pendientes parece ser incluso con una mediana , pero recuerdo que se puede hacer más rápidamente si la velocidad es realmente un problema ( , creo)(n2) O(n2) O(n) O(nlogn)
Editar: el usuario603 solicitó una ventaja de la regresión de Theil sobre la regresión L1. La respuesta es la otra cosa que mencioné: puntos influyentes:
La línea roja es el ajuste (de la función en el paquete). El green encaja con una pendiente Theil. Todo lo que se necesita es un solo error tipográfico en el valor x, como escribir 533 en lugar de 53, y este tipo de cosas pueden suceder. Por lo tanto, el ajuste no es robusto para un solo error tipográfico en el espacio x.L1 L1
rq
quantreg
fuente
¿Has mirado en RANSAC (Wikipedia) ?
Esto debería ser bueno para calcular un modelo lineal razonable, incluso cuando hay muchos valores atípicos y ruido, ya que se basa en el supuesto de que solo una parte de los datos pertenecerá realmente al mecanismo.
fuente
Encontré la regresión de error penalizado mejor. También puede usarlo iterativamente y volver a pesar las muestras, que no son muy consistentes con la solución. La idea básica es aumentar su modelo con errores: donde es el vector de error desconocido. Ahora realiza la regresión en . Curiosamente, puede usar "lazo fusionado" para esto cuando puede estimar la certeza de sus mediciones de antemano y poner esto como ponderación en y para resolver la nueva tarea ligeramente diferentel1
Puede encontrar más información aquí: http://statweb.stanford.edu/~candes/papers/GrossErrorsSmallErrors.pdf
fuente