Introdução e motivação
tl; dr: Modelagem aditiva generalizada relutante (RGAM) produz modelos esparsos altamente interpretáveis que permitem relacionamentos não lineares entre a resposta e cada recurso individual. No entanto, relacionamentos não lineares são incluídos apenas se considerados importantes para melhorar o desempenho da previsão. Os RGAMs trabalham com respostas quantitativas, binárias, de contagem e sobrevivência e são computacionalmente eficientes.
Considere o ambiente de aprendizado supervisionado, onde temos
observações de características
para
e
, junto com n respostas
. Deixei
denotar os valores do
th característica. Modelos lineares generalizados (GLMs) suponha que a relação entre a resposta e os recursos seja
Onde
é uma função de link e é um termo de erro com média zero. Modelos de aditivos generalizados (GAMs) são uma classe de modelos mais flexível, assumindo que o verdadeiro relacionamento seja
onde o
Are s são funções desconhecidas a serem determinadas pelo modelo.
Essas duas classes de modelos incluem todos
recursos no modelo que geralmente são indesejáveis, especialmente quando temos vários recursos. (Normalmente, esperamos que apenas uma pequena fração dos recursos tenha influência na variável resposta). Isso é especialmente problemático com os GAMs, pois o ajuste excessivo pode ocorrer com muito mais facilidade. Surgiram vários métodos para criar escasso GAMs, ou seja, GAMs que envolvem apenas alguns recursos. Exemplos anteriores de tais exemplos incluem COSSO (Lin & Zhang 2006) e Spam (Ravikumar et al. 2007).
Ao fornecer escarsidade, esses métodos determinavam que os recursos incluídos tivessem que ter um relacionamento não linear com a resposta, mesmo que um relacionamento linear fosse suficiente para capturar o relacionamento. Métodos mais sofisticados foram desenvolvidos para fornecer escassez e a possibilidade de relações lineares ou não lineares entre os recursos e a resposta. Exemplos de tais métodos são GAMSEL (Chouldechova e Hastie 2015), SPLAM (Lou et al. 2016) e SPLAT (Petersen e Witten 2019). GAMSEL está disponível em R no gamsel
package (veja minha vinheta não oficial aqui) e não consegui encontrar pacotes R para os outros dois métodos.
Modelos aditivos generalizados relutantes (RGAM) caem na mesma classe que esse último grupo de métodos. Está disponível em R no relgam
pacote. Os RGAMs são computacionalmente rápidos e trabalham com variáveis quantitativas, binárias, de contagem e de resposta de sobrevivência. (Que eu saiba, o software existente funciona apenas para variáveis quantitativas e binárias.)
RGAM: O que é isso?
A relutante generalização da modelagem aditiva foi inspirada em modelagem de interação relutante (Yu et al. 2019). A ideia é que
Deve-se preferir um termo linear a um termo não linear, se tudo o resto for igual.
Um exemplo simples
A vinheta do CRAN é o melhor lugar para começar a aprender como encaixar os RGAMs na prática. Abaixo, dou um exemplo dos tipos de modelos que podem sair do RGAM. (O código deste exemplo pode ser encontrado aqui.)
Simulamos dados com
observações e características. Cada entrada no
matriz é um desenho independente da distribuição normal padrão, e a verdadeira resposta é
Ajustamos um RGAM a esses dados para uma sequência de
valores. Quanto maior o quanto menor for o índice
valor, menos penalidade imposta no laço na Etapa 3, resultando em modelos mais flexíveis.
Para cada
valor, as previsões da RGAM têm a forma
Deixei
. Traçamos o modelo adequado para os primeiros 30 valores na animação abaixo. Em cada um dos 12 painéis, vemos a estimativa
para cada variável (em azul, verde ou vermelho) e o verdadeiro relacionamento
de preto.
índices (ou seja, grandes
Está sendo zero ou linear. Enquanto o
Quando o índice aumenta, vemos que o modelo RGAM se encaixa cada vez mais perto dos verdadeiros relacionamentos. Passado alguns
índice, começamos a ver algumas adaptações acontecendo. O valor ideal de
pode ser escolhido por métodos como validação cruzada.
Eu acho que o RGAM é uma extensão interessante do GAM e de outros modelos aditivos esparsos. Pode nem sempre ter um desempenho melhor, mas acho que é uma boa ferramenta para adicionar ao seu arsenal de modelos interpretáveis para tentar problemas de aprendizado supervisionado!