O que é regressão isotônica? | R-bloggers

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Regressão isotônica é um método para obter um ajuste monotônico para dados unidimensionais. Digamos que temos dados (x_1, y_1), pontos, (x_n, y_n) em mathbb {R} ^ 2

tal que  x_1 <x_2 < pontos <x_n. (Não assumimos vínculos entre os XIPor simplicidade.) Informalmente, a regressão isotônica procura  beta_1, dots, beta_n in mathbb {R} de modo que o  beta_iAproxima o y_iEstá bem, enquanto monotonicamente não diminui. Formalmente, o  beta_iSão a solução para o problema de otimização

 begin {alinhado} text {minimize} _ { beta_1, dots, beta_n} quad & sum_ {i = 1} ^ n (y_i - beta_i) ^ 2 \ text {sujeito a} quad & beta_1 leq dots leq beta_n. end {alinhado}

(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  beta_i = y_i

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

. Se definir  beta_i como tal, causa uma violação da monotonicidade (por exemplo,  beta_i = y_i <y_ {i-1} = beta_ {i-1}), substitua ambos  beta_i e  beta_ {i-1} com a média (y_ {i-1} + y_i) / 2. Essa mudança pode resultar em violações anteriores (ou seja, a nova  beta_ {i-1} pode ser menor que  beta_ {i-2}): se isso acontecer, precisamos voltar e corrigi-lo por meio da média.

Leia Também  Um mergulho profundo no glmnet: predict.glmnet

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:

  1. Stat Wiki. Regressão isotônica.
  2. 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.



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 …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br