Minimizando a soma do desvio absoluto ( distância )

15

Eu tenho um conjunto de dados e quero encontrar o parâmetro tal que minimize a soma isso é m k i = 1 | m - x i | .x1,x2,...,xkm

Eu=1k|m-xEu|.

minmi=1k|mxi|.
renovar
fonte
2
Você poderia elaborar um pouco?
Geoff Oxberry
Nesse caso, a solução não seria o ponto médio entre os valores máximo e mínimo?
Paul
@ Paulo a mediana pode minimizar a soma mas quero saber como isso poderia ser feito de forma analítica, particularmente L1-minimização
mayenew
@ Kadu isso mesmo, a mediana é a solução. Computar a mediana analiticamente é trivial; basta classificar e depois pegar o valor médio.
David Ketcheson

Respostas:

22

Provavelmente você pede uma prova de que a mediana resolve o problema? Bem, isso pode ser feito assim:

O objetivo é linear por partes e, portanto, diferenciável, exceto pelos pontos . Qual é a inclinação do objetivo em algum ponto ? Bem, a inclinação é a soma das inclinações dos mapeamentose este é (para ) ou (para ). Portanto, a inclinação indica quantos são menores que . Você vê que a inclinação é zero se houver igualmente muitos menores e maiores que (para e número par de ). Se houver um número ímpar de m x i m | m - x j | + 1 m > x j - 1 m < x j x i m x i m x i x i - 1 + 1m=ximxim|mxj|+1m>xj1m<xjximximxixientão a inclinação fica esquerda da mais "média" e direita, portanto a mais baixa é o mínimo.1+1

Dirk
fonte
16

Uma generalização desse problema para múltiplas dimensões é chamada de problema da mediana geométrica . Como David aponta, a mediana é a solução para o caso 1-D; lá, você pode usar algoritmos de seleção de busca mediana , que são mais eficientes do que a classificação. As classificações são enquanto os algoritmos de seleção são ; as classificações são apenas mais eficientes se forem necessárias várias seleções; nesse caso, você pode classificar (cara) uma vez e depois selecionar repetidamente na lista classificada.O ( n )O(nlogn)O(n)

O link para o problema da mediana geométrica menciona soluções para casos multidimensionais.

Geoff Oxberry
fonte
6

A solução explícita em termos de mediana está correta, mas em resposta a um comentário de mayenew, aqui está outra abordagem.

É sabido que problemas de minimização em geral, e o problema postado em particular, podem ser resolvidos por programação linear.1

A seguinte formulação de LP fará para o exercício especificado com incógnitas :zi,m

minzi
tal que:
zimxi
zixim

Claramente deve ser igual ano mínimo, portanto, isso exige que a soma dos valores absolutos dos erros seja minimizada.zi|xim|

hardmath
fonte
2

A maneira de análise convexa sobrecarregada de mostrar isso é apenas usar subgradientes. De fato, isso é equivalente ao raciocínio usado em algumas das outras respostas que envolvem inclinações.

O problema de otimização é convexo (porque o objetivo é convexo e não há restrições.) Além disso, o subgradiente de é|mxi|

-1 se m<xi

[-1,1] se m=xi

+1 se .m>xi

mx1,xk

cjordan1
fonte
0

argminmi=1N|mxi|

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

Deve-se notar que o mediande um grupo discreto não está definido exclusivamente.
Além disso, não é necessariamente um item dentro do grupo.

Royi
fonte