Eu tenho um problema semelhante à pergunta feita aqui:
Como se mede a não uniformidade de uma distribuição?
Eu tenho um conjunto de distribuições de probabilidade ao longo dos dias da semana. Quero medir o quão perto cada distribuição está (1/7,1 / 7, ..., 1/7).
No momento estou usando uma resposta da pergunta acima; uma norma L2, que tem valor 1 quando a distribuição possui massa 1 por um dos dias e é minimizada por (1/7,1 / 7, ..., 1/7). Estou escalando linearmente isso para que fique entre 0 e 1 e, em seguida, invertê-lo para que 0 signifique perfeitamente não uniforme e 1 signifique perfeitamente uniforme.
Isso funciona muito bem, mas eu tenho um problema com isso; ele trata todos os dias da semana igualmente como uma dimensão no espaço 7-Dim, para não levar em conta a proximidade dos dias; em outras palavras, atribui a mesma pontuação a (1 / 2,1 / 2,0,0,0,0,0) e (1 / 2,0,0,1 / 2,0,0,0) mesmo embora, em certo sentido, o último seja mais "difundido" e uniforme, devendo, idealmente, obter uma pontuação mais alta. Obviamente, há a complicação adicional de que a ordem dos dias é circular.
Como posso alterar essa heurística para explicar a proximidade de dias?
Respostas:
A distância do motor terra , também conhecida como métrica de Wasserstein, mede a distância entre dois histogramas. Essencialmente, ele considera um histograma como um número de pilhas de sujeira e, em seguida, avalia a quantidade de sujeira necessária para se mover e a que distância (!) Para transformar esse histograma no outro. Você mede a distância entre sua distribuição e uma distribuição uniforme ao longo dos dias da semana.
É claro que isso explica a proximidade de dias - é mais fácil mover a "sujeira" de segunda a terça-feira do que de segunda a quinta-feira, portanto (1 / 2,0,0,1 / 2,0,0,0) teria um menor distância do motor terra da distribuição uniforme do que um histograma concentrado na segunda e na terça-feira.
O que isso não faz é considerar a "circularidade" da semana, ou seja, que sábado e domingo estão tão próximos quanto domingo e segunda-feira. Para isso, você precisaria procurar uma distância de terra definida nas distribuições de massa de probabilidade circular . Isso deve ser possível usando uma abordagem de otimização adequada.
EDIT: No R, o
emd
pacote calcula as distâncias do movedor de terra entre os histogramas.Você pode resolver o problema da "circularidade" de uma maneira bastante simples (embora ad-hoc).
Isso cuida da circularidade às custas de alguns cálculos adicionais.
2ª EDIÇÃO: esta não é a distância do motor de terra circular como tal. Para isso, você precisará examinar algumas das literaturas em que uma pesquisa será exibida . Se a melhor maneira de mover a sujeira entre os dias envolver movê-la dois dias de sábado para segunda-feira, isso será exibido em cinco dos sete , mas não nos dois restantes (onde a sujeira precisará ser removida cinco dias).di
No entanto, eu ainda consideraria isso uma maneira potencialmente útil de, pelo menos, considerar a circularidade de alguma maneira - certamente melhor do que apenas usar um único histograma e definir a semana como indo de domingo a sábado ou de outra maneira arbitrária. Além disso, embora alguns links acima gerem implementações para a distância do movedor de terra circular, não conheço um para R, que provavelmente é a linguagem mais usada aqui.
fonte