Spline de regressão adaptativa multivariada - Multivariate adaptive regression spline

Em estatística , splines de regressão adaptativa multivariada ( MARS ) é uma forma de análise de regressão introduzida por Jerome H. Friedman em 1991. É uma técnica de regressão não paramétrica e pode ser vista como uma extensão de modelos lineares que modelam automaticamente não linearidades e interações entre variáveis.

O termo "MARS" é uma marca registrada e licenciado para Salford Systems. Para evitar violações de marcas registradas, muitas implementações de código aberto do MARS são chamadas de "Terra".

O básico

Esta seção apresenta o MARS usando alguns exemplos. Começamos com um conjunto de dados: uma matriz de variáveis ​​de entrada x , e um vetor das respostas observadas y , com uma resposta para cada linha em x . Por exemplo, os dados podem ser:

x y
10,5 16,4
10,7 18,8
10,8 19,7
... ...
20,6 77,0

Aqui há apenas uma variável independente , então a matriz x é apenas uma única coluna. Dadas essas medidas, gostaríamos de construir um modelo que preveja o y esperado para um determinado x .

Um modelo linear

Um modelo linear para os dados acima é

O chapéu no indica que é estimado a partir dos dados. A figura à direita mostra um gráfico dessa função: uma linha que fornece o predito versus x , com os valores originais de y mostrados como pontos vermelhos.

Os dados nos extremos de x indicam que a relação entre y e x pode ser não linear (observe os pontos vermelhos relativos à linha de regressão nos valores baixo e alto de x ). Assim, recorremos ao MARS para construir automaticamente um modelo levando em consideração as não linearidades. Software MARS constrói um modelo a partir dos dados X e Y como se segue

Um modelo MARS simples dos mesmos dados

A figura à direita mostra um gráfico dessa função: o predito versus x , com os valores originais de y mais uma vez mostrados como pontos vermelhos. A resposta prevista agora se ajusta melhor aos valores y originais .

MARS produziu automaticamente uma torção no y previsto para levar em consideração a não linearidade. A torção é produzida por funções de dobradiça . As funções de dobradiça são as expressões que começam com (onde está se , senão ). As funções de dobradiça são descritas em mais detalhes abaixo.

Neste exemplo simples, podemos ver facilmente no gráfico que y tem uma relação não linear com x (e talvez possamos supor que y varia com o quadrado de x ). No entanto, em geral, haverá várias variáveis ​​independentes e a relação entre y e essas variáveis ​​não será clara e não será facilmente visível na plotagem. Podemos usar MARS para descobrir essa relação não linear.

Um exemplo de expressão MARS com múltiplas variáveis ​​é

Interação variável em um modelo MARS

Essa expressão modela a poluição do ar (nível de ozônio) em função da temperatura e de algumas outras variáveis. Observe que o último termo da fórmula (na última linha) incorpora uma interação entre e .

A figura à direita representa o previsto como e varia, com as outras variáveis ​​fixadas em seus valores medianos. A figura mostra que o vento não afeta o nível de ozônio, a menos que a visibilidade seja baixa. Vemos que o MARS pode construir superfícies de regressão bastante flexíveis combinando funções de dobradiça.

Para obter a expressão acima, o procedimento de construção do modelo MARS seleciona automaticamente quais variáveis ​​usar (algumas variáveis ​​são importantes, outras não), as posições das torções nas funções de dobradiça e como as funções de dobradiça são combinadas.

O modelo MARS

MARS constrói modelos do formulário

O modelo é uma soma ponderada de funções básicas . Cada um é um coeficiente constante. Por exemplo, cada linha na fórmula para ozônio acima é uma função de base multiplicada por seu coeficiente.

Cada função básica assume uma das seguintes três formas:

1) uma constante 1. Existe apenas um termo, o intercepto. Na fórmula do ozônio acima, o termo de interceptação é 5,2.

2) uma função de dobradiça . Uma função de dobradiça tem a forma ou . MARS seleciona automaticamente variáveis ​​e valores dessas variáveis ​​para nós das funções de dobradiça. Exemplos de tais funções básicas podem ser vistos nas três linhas intermediárias da fórmula do ozônio.

3) um produto de duas ou mais funções de dobradiça. Essas funções básicas podem modelar a interação entre duas ou mais variáveis. Um exemplo é a última linha da fórmula do ozônio.

Funções de dobradiça

Um par espelhado de dobradiça funciona com um nó em x = 3,1

Uma parte fundamental dos modelos MARS são as funções de dobradiça que assumem a forma

ou

onde está uma constante, chamada de . A figura à direita mostra um par espelhado de funções de dobradiça com um nó em 3.1.

Uma função de dobradiça é zero para parte de seu intervalo, portanto, pode ser usada para particionar os dados em regiões disjuntas, cada uma das quais pode ser tratada de forma independente. Assim, por exemplo, um par espelhado de funções de dobradiça na expressão

cria o gráfico linear por partes mostrado para o modelo MARS simples na seção anterior.

Pode-se supor que apenas funções lineares por partes podem ser formadas a partir de funções de dobradiça, mas as funções de dobradiça podem ser multiplicadas juntas para formar funções não lineares.

As funções de dobradiça também são chamadas de funções de rampa , taco de hóquei ou retificador . Em vez da notação usada neste artigo, as funções de dobradiça são frequentemente representadas por onde os meios assumem a parte positiva.

O processo de construção do modelo

MARS constrói um modelo em duas fases: o passe para a frente e o passe para trás. Essa abordagem de dois estágios é a mesma usada por árvores de particionamento recursivo .

O passe para frente

MARS começa com um modelo que consiste apenas no termo de interceptação (que é a média dos valores de resposta).

O MARS então adiciona repetidamente a função de base em pares ao modelo. Em cada etapa, ele encontra o par de funções básicas que fornece a redução máxima no erro residual da soma dos quadrados (é um algoritmo guloso ). As duas funções básicas no par são idênticas, exceto que um lado diferente de uma função de dobradiça espelhada é usado para cada função. Cada nova função de base consiste em um termo já no modelo (que talvez possa ser o termo de interceptação) multiplicado por uma nova função de dobradiça. Uma função de dobradiça é definida por uma variável e um nó, portanto, para adicionar uma nova função de base, MARS deve pesquisar todas as combinações do seguinte:

1) termos existentes (chamados de termos pais neste contexto)

2) todas as variáveis ​​(para selecionar uma para a nova função de base)

3) todos os valores de cada variável (para o nó da nova função de dobradiça).

Para calcular o coeficiente de cada termo, MARS aplica uma regressão linear sobre os termos.

Este processo de adição de termos continua até que a mudança no erro residual seja muito pequena para continuar ou até que o número máximo de termos seja alcançado. O número máximo de termos é especificado pelo usuário antes do início da construção do modelo.

A pesquisa em cada etapa é feita em uma forma de força bruta , mas um aspecto-chave do MARS é que, devido à natureza das funções de dobradiça, a pesquisa pode ser feita de forma relativamente rápida usando uma técnica de atualização de mínimos quadrados rápida. Na verdade, a busca não é exatamente de força bruta. A pesquisa pode ser acelerada com uma heurística que reduz o número de termos pais a serem considerados em cada etapa ("Fast MARS").

O passe para trás

O passe para frente geralmente cria um modelo de ajuste excessivo . (Um modelo de ajuste excessivo tem um bom ajuste para os dados usados ​​para construir o modelo, mas não generalizará bem para novos dados.) Para construir um modelo com melhor capacidade de generalização, o retrocesso remove o modelo. Ele remove os termos um a um, excluindo o termo menos eficaz em cada etapa até encontrar o melhor submodelo. Os subconjuntos do modelo são comparados usando o critério GCV descrito abaixo.

O passe para trás tem uma vantagem sobre o passe para frente: em qualquer passo, ele pode escolher qualquer termo para deletar, enquanto o passe para frente em cada passo pode ver apenas o próximo par de termos.

O passe para frente adiciona termos em pares, mas o passe para trás normalmente descarta um lado do par e, portanto, os termos geralmente não são vistos em pares no modelo final. Uma dobradiça emparelhada pode ser vista na equação para no primeiro exemplo MARS acima; não há pares completos retidos no exemplo do ozônio.

Validação cruzada generalizada

A passagem para trás usa validação cruzada generalizada (GCV) para comparar o desempenho dos subconjuntos do modelo a fim de escolher o melhor subconjunto: valores mais baixos de GCV são melhores. O GCV é uma forma de regularização : ele compara a adequação do ajuste com a complexidade do modelo.

(Queremos estimar o desempenho de um modelo com novos dados, não com os dados de treinamento. Esses novos dados geralmente não estão disponíveis no momento da construção do modelo, então, em vez disso, usamos o GCV para estimar qual seria o desempenho com os novos dados. A soma dos quadrados (RSS) residual bruta nos dados de treinamento é inadequada para comparar modelos, porque o RSS sempre aumenta à medida que os termos MARS são eliminados. Em outras palavras, se o RSS fosse usado para comparar modelos, a passagem para trás sempre escolheria o maior modelo, mas o maior modelo normalmente não tem o melhor desempenho de generalização.)

A fórmula para o GCV é

GCV = RSS / ( N · (1 - (número efetivo de parâmetros) / N ) 2 )

onde RSS é a soma dos quadrados residual medida nos dados de treinamento e N é o número de observações (o número de linhas na matriz x ).

O EffectiveNumberOfParameters é definido no contexto MARS como

(número efetivo de parâmetros) = (número de termos de Marte) + (penalidade) · ((número de termos de Marte) - 1) / 2

onde a penalidade é cerca de 2 ou 3 (o software MARS permite ao usuário predefinir a penalidade).

Observe que

(número de termos da Mars - 1) / 2

é o número de nós com função de dobradiça, então a fórmula penaliza a adição de nós. Assim, a fórmula GCV ajusta (ou seja, aumenta) o RSS de treinamento para levar em consideração a flexibilidade do modelo. Penalizamos a flexibilidade porque os modelos que são muito flexíveis modelarão a realização específica de ruído nos dados, em vez de apenas a estrutura sistemática dos dados.

A validação cruzada generalizada tem esse nome porque usa uma fórmula para aproximar o erro que seria determinado pela validação de exclusão. É apenas uma aproximação, mas funciona bem na prática. Os GCVs foram introduzidos por Craven e Wahba e estendidos por Friedman para MARS.

Restrições

Uma restrição já foi mencionada: o usuário pode especificar o número máximo de termos no passe para frente.

Uma restrição adicional pode ser colocada na passagem para frente especificando um grau máximo permitido de interação. Normalmente, apenas um ou dois graus de interação são permitidos, mas graus mais altos podem ser usados ​​quando os dados o justificam. O grau máximo de interação no primeiro exemplo MARS acima é um (ou seja, nenhuma interação ou um modelo aditivo ); no exemplo do ozônio, são dois.

Outras restrições no passe para frente são possíveis. Por exemplo, o usuário pode especificar que as interações são permitidas apenas para certas variáveis ​​de entrada. Essas restrições podem fazer sentido devido ao conhecimento do processo que gerou os dados.

Prós e contras

Nenhuma técnica de modelagem de regressão é a melhor para todas as situações. As diretrizes abaixo têm o objetivo de dar uma ideia dos prós e contras do MARS, mas haverá exceções às diretrizes. É útil comparar o MARS com o particionamento recursivo e isso é feito a seguir. (O particionamento recursivo também é comumente chamado de árvores de regressão , árvores de decisão ou CART ; consulte o artigo sobre particionamento recursivo para obter detalhes).

  • Os modelos MARS são mais flexíveis do que os modelos de regressão linear .
  • Os modelos MARS são simples de entender e interpretar. Compare a equação da concentração de ozônio acima com, digamos, as entranhas de uma rede neural treinada ou de uma floresta aleatória .
  • MARS pode lidar com dados contínuos e categóricos. MARS tende a ser melhor do que o particionamento recursivo para dados numéricos porque as dobradiças são mais apropriadas para variáveis ​​numéricas do que a segmentação constante por partes usada pelo particionamento recursivo.
  • A construção de modelos MARS geralmente requer pouca ou nenhuma preparação de dados. As funções de dobradiça particionam automaticamente os dados de entrada, para que o efeito de outliers seja contido. Nesse aspecto, o MARS é semelhante ao particionamento recursivo, que também particiona os dados em regiões disjuntas, embora usando um método diferente. (No entanto, como acontece com a maioria das técnicas de modelagem estatística, outliers conhecidos devem ser considerados para remoção antes de treinar um modelo MARS.)
  • MARS (como o particionamento recursivo) faz a seleção automática de variáveis (o que significa que inclui variáveis ​​importantes no modelo e exclui as não importantes). No entanto, pode haver alguma arbitrariedade na seleção, especialmente quando há preditores correlacionados, e isso pode afetar a interpretabilidade
  • Os modelos MARS tendem a ter uma boa compensação de viés-variância. Os modelos são flexíveis o suficiente para modelar não linearidade e interações variáveis ​​(assim, os modelos MARS têm um viés razoavelmente baixo), mas a forma restrita das funções básicas do MARS evita muita flexibilidade (assim, os modelos MARS têm variância bastante baixa).
  • MARS é adequado para lidar com conjuntos de dados bastante grandes. É uma questão de rotina construir um modelo MARS a partir de uma matriz de entrada com, digamos, 100 preditores e 10 5 observações. Esse modelo pode ser construído em cerca de um minuto em uma máquina de 1 GHz, assumindo que o grau máximo de interação dos termos MARS seja limitado a um (ou seja, apenas termos aditivos). Um modelo de grau dois com os mesmos dados na mesma máquina de 1 GHz leva mais tempo - cerca de 12 minutos. Esteja ciente de que esses horários são altamente dependentes de dados. O particionamento recursivo é muito mais rápido que o MARS.
  • Com os modelos MARS, como com qualquer regressão não paramétrica, os intervalos de confiança dos parâmetros e outras verificações no modelo não podem ser calculados diretamente (ao contrário dos modelos de regressão linear ). Validação cruzada e técnicas relacionadas devem ser usadas para validar o modelo.
  • Os modelos MARS não fornecem ajustes tão bons quanto as árvores aumentadas , mas podem ser construídos muito mais rapidamente e são mais interpretáveis. (Um modelo 'interpretável' está em uma forma que deixa claro qual é o efeito de cada preditor.)
  • A earth, mdae polsplineimplementações não permitem valores ausentes no preditores, mas implementações livres de árvores de regressão (como rparte party) não permite valores faltantes, usando uma técnica chamada splits substitutos.
  • Os modelos MARS podem fazer previsões rapidamente. A função de previsão simplesmente tem que avaliar a fórmula do modelo MARS. Compare isso a fazer uma previsão com, digamos, uma Máquina de Vetores de Suporte , onde cada variável deve ser multiplicada pelo elemento correspondente de cada vetor de suporte. Isso pode ser um processo lento se houver muitas variáveis ​​e muitos vetores de suporte.
  • A função ajustada resultante não é suave (não diferenciável ao longo das dobradiças).

Extensões e conceitos relacionados

  • Modelos lineares generalizados (GLMs) podem ser incorporados aos modelos MARS aplicando uma função de link após o modelo MARS ser construído. Assim, por exemplo, os modelos MARS podem incorporar regressão logística para prever probabilidades.
  • A regressão não linear é usada quando a forma subjacente da função é conhecida e a regressão é usada apenas para estimar os parâmetros dessa função. O MARS, por outro lado, estima as próprias funções, embora com severas restrições sobre a natureza das funções. (Essas restrições são necessárias porque descobrir um modelo a partir dos dados é um problema inverso que não é bem colocado sem restrições no modelo.)
  • Particionamento recursivo (comumente chamado de CART). MARS pode ser visto como uma generalização do particionamento recursivo que permite ao modelo lidar melhor com dados numéricos (ou seja, não categóricos).
  • Modelos aditivos generalizados . Do ponto de vista do usuário, GAMs são semelhantes a MARS, mas (a) se encaixam em loess suave ou splines polinomiais em vez de funções de base MARS e (b) não modelam interações variáveis ​​automaticamente. O método de adaptação usado internamente pelos GAMs é muito diferente do MARS. Para modelos que não requerem descoberta automática de interações variáveis, GAMs freqüentemente competem favoravelmente com MARS.
  • TSMARS . Série temporal Marte é o termo usado quando os modelos MARS são aplicados em um contexto de série temporal. Normalmente, nesta configuração, os preditores são os valores da série temporal defasada, resultando em modelos spline autoregressivos. Esses modelos e extensões para incluir modelos de spline de média móvel são descritos em "Modelagem e previsão de série temporal univariada usando TSMARS: Um estudo de modelos autorregressivos, sazonais e de média móvel limite de série temporal usando TSMARS".
  • Bayesian MARS (BMARS) usa a mesma forma de modelo, mas constrói o modelo usando uma abordagem Bayesiana. Pode chegar a diferentes modelos MARS ótimos porque a abordagem de construção do modelo é diferente. O resultado do BMARS é tipicamente um conjunto de amostras posteriores de modelos MARS, o que permite a previsão probabilística.

Veja também

Referências

Leitura adicional

links externos

Vários pacotes de software gratuitos e comerciais estão disponíveis para ajustar modelos do tipo MARS.

Software grátis
Software comercial
  1. ^ Denison, DGT; Holmes, CC; Mallick, BK; Smith, AFM (2002). Métodos bayesianos de classificação e regressão não linear . Chichester, Inglaterra: Wiley. ISBN 978-0-471-49036-4.