Regressão isotônica é um método para obter um ajuste monotônico para dados unidimensionais. Digamos que temos dados
tal que . (Não assumimos vínculos entre os
Por simplicidade.) Informalmente, a regressão isotônica procura
de modo que o
Aproxima o
Está bem, enquanto monotonicamente não diminui. Formalmente, o
São a solução para o problema de otimização
(Nota: Existe uma solução correspondente para um ajuste monotonicamente não crescente. Às vezes, o acima é referido como regressão isotônica de ordenação linear, com a regressão isotônica se referindo a uma versão mais geral do problema acima. Para versões mais gerais, consulte as referências 1 e 2.)
A regressão isotônica é útil para impor um ajuste monotônico aos dados. Às vezes, você pode saber que sua tendência é monotônica, mas a saída do seu modelo não é monotônica. Nessa situação, você pode usar a regressão isotônica como uma solução mais suave para os dados ou uma etapa de pós-processamento para forçar a previsão do modelo a ser monotônica.
Um algoritmo comumente usado para obter a solução de regressão isotônica é o algoritmo de violadores de pool adjacente (PAVA). É executado em tempo linear e memória linear. Em um nível alto, funciona assim: vá da esquerda para a direita e defina
. Se definir como tal, causa uma violação da monotonicidade (por exemplo,
), substitua ambos
e
com a média
. Essa mudança pode resultar em violações anteriores (ou seja, a nova
pode ser menor que
): se isso acontecer, precisamos voltar e corrigi-lo por meio da média.
A animação abaixo funciona com um exemplo de como o PAVA funciona. (Essencialmente, escrevi uma versão caseira do PAVA, mas mantive um registro dos ajustes intermediários.) Observe que existem várias maneiras de implementar o PAVA: o que você vê abaixo pode não ser o mais eficiente. Clique aqui para o código R; você pode alterar o conjunto de dados para obter sua própria versão da animação abaixo.
Se você deseja fazer regressão isotônica em R, NÃO use minha versão homebrew, use o gpava
função no isotone
pacote em seu lugar.
Referências:
- Stat Wiki. Regressão isotônica.
- Mair, P., Hornik, M. e de Leeuw, J. (2009). Otimização isotônica em R: algoritmo de violadores adjacentes a pool (PAVA) e métodos de conjunto ativo.
Relacionado
Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha o seu sabor: e-mail, twitter, RSS ou facebook …