Minimizar la suma de la desviación absoluta ( distancia

15

Tengo un conjunto de datos x1,x2,,xk y quiero encontrar el parámetro m manera que minimice la suma

i=1k|mxi|.
es decir

minmi=1k|mxi|.
mayenew
fuente
2
Podrías elaborar un poco?
Geoff Oxberry
En ese caso, ¿no sería la solución el punto medio entre los valores máximos y mínimos?
Paul
@Paul la mediana puede minimizar la suma, pero quiere saber cómo se podría hacer analíticamente, particularmente la minimización de l1
nuevo el
@kadu es cierto, la mediana es la solución. Calcular la mediana analíticamente es trivial; solo ordena y luego toma el valor medio.
David Ketcheson el

Respuestas:

22

¿Probablemente pides una prueba de que la mediana resuelve el problema? Bueno, esto se puede hacer así:

El objetivo es lineal por partes y, por lo tanto, diferenciable, excepto para los puntos . ¿Cuál es la pendiente del objetivo en algún punto m x i ? Bueno, la pendiente es la suma de las pendientes de los mapeos m | m - x j | y esto es + 1 (para m > x j ) o - 1 (para m < x j ). Por lo tanto, la pendiente indica cuántosm=ximxim|mxj|+1m>xj1m<xj son más pequeñas que mxim. Usted ve que la pendiente es cero si hay igualmente muchos más pequeños y más grandes que m (para un número par de x i ). Si hay un número impar de x i 's, entonces la pendiente es - 1 a la izquierda del "medio" y + 1 a la derecha, por lo tanto, el medio es el mínimo.ximxixi1+1

Puñal
fuente
16

Una generalización de este problema a múltiples dimensiones se llama problema geométrico mediano . Como señala David, la mediana es la solución para el caso 1-D; allí, podría usar algoritmos de selección de búsqueda de mediana , que son más eficientes que la clasificación. Los tipos son mientras que los algoritmos de selección son O (O(nlogn) ; las clasificaciones solo son más eficientes si se necesitan selecciones múltiples, en cuyo caso podría ordenar (costosamente) una vez y luego seleccionar repetidamente de la lista ordenada.O(n)

El enlace al problema de la mediana geométrica menciona soluciones para casos multidimensionales.

Geoff Oxberry
fuente
6

La solución explícita en términos de la mediana es correcta, pero en respuesta a un comentario de mayenew, aquí hay otro enfoque.

Es bien sabido que 1 problemas de minimización de general, y el problema publicado en particular, pueden resolverse mediante programación lineal.

La siguiente formulación LP servirá para el ejercicio dado con incógnitas :zi,m

tal que: z im - x i z ix i - m

minzi
zimxi
zixim

Claramente debe ser igual a | x i - m | como mínimo, por lo que pide que se minimice la suma de los valores absolutos de los errores.zi|xim|

hardmath
fuente
2

La forma de análisis convexo sobrecargada para mostrar esto es solo tomar subgraduados. De hecho, esto es equivalente al razonamiento utilizado en algunas de las otras respuestas que involucran pendientes.

El problema de optimización es convexo (porque el objetivo es convexo y no hay restricciones). Además, el subgradiente de es|mxi|

-1 si m<xi

[-1,1] si m=xi

+1 si .m>xi

Dado que una función convexa se minimiza si y solo si su subgradiente contiene cero, y el subgradiente de una suma de funciones convexas es la suma (establecida) de los subgradientes, obtienes que 0 está en el subgradiente si y solo si es la mediana de x 1 , ... x k .mx1,xk

cjordan1
fuente
0

Básicamente estamos detrás de:

argminmi=1N|mxi|

d|x|dx=sign(x)L1
i=1Nsign(mxi)
m=median{x1,x2,,xN}

Uno debería notar que la mediande un grupo discreto no está definida de manera única.
Además, no es necesariamente un elemento dentro del grupo.

Royi
fuente