Uma introdução aos splines de regressão adaptativa multivariada
Quando a relação entre um conjunto de variáveis preditoras e uma variável de resposta é linear, muitas vezes podemos usar a regressão linear , que assume que a relação entre uma determinada variável preditora e uma variável de resposta assume a forma:
Y = β 0 + β 1 X + ε
Mas, na prática, a relação entre as variáveis pode, na verdade, ser não linear e a tentativa de utilizar a regressão linear pode resultar num modelo mal ajustado.
Uma maneira de explicar um relacionamento não linear entre o preditor e a variável de resposta é usar a regressão polinomial , que assume a forma:
Y = β 0 + β 1 X + β 2 X 2 +… + β h
Nesta equação, h é chamado de “grau” do polinômio. À medida que aumentamos o valor de h , o modelo se torna mais flexível e consegue se adaptar a dados não lineares.
No entanto, a regressão polinomial tem algumas desvantagens:
1. A regressão polinomial pode facilmente superajustar um conjunto de dados se o grau , h , for escolhido muito grande. Na prática, h raramente é maior que 3 ou 4 porque além desse ponto corresponde simplesmente ao ruído de um conjunto de treinamento e não generaliza bem para dados invisíveis.
2. A regressão polinomial impõe uma função global a todo o conjunto de dados, que nem sempre é precisa.
Uma alternativa à regressão polinomial são os splines de regressão adaptativa multivariada .
A ideia básica
Splines de regressão adaptativa multivariada funcionam da seguinte maneira:
1. Divida um conjunto de dados em k partes.
Primeiro, dividimos um conjunto de dados em k elementos diferentes. Os pontos onde dividimos o conjunto de dados são chamados de nós .
Identificamos nós avaliando cada ponto de cada preditor como um nó potencial e criando um modelo de regressão linear usando os recursos candidatos. O ponto capaz de reduzir mais erros no modelo é o nó.
Depois de identificarmos o primeiro nó, repetimos o processo para encontrar nós adicionais. Você pode encontrar quantos nós achar razoável para começar.
2. Ajuste uma função de regressão a cada parte para formar uma função de dobradiça.
Depois de escolhermos os nós e ajustarmos um modelo de regressão para cada elemento do conjunto de dados, terminamos com o que é chamado de função de dobradiça , denotada por h(xa) , onde a é o(s) limite(s) do(s) valor(es).
Por exemplo, a função de dobradiça para um modelo de um nó pode ser:
- y = β 0 + β 1 (4,3 – x) se x < 4,3
- y = β 0 + β 1 (x – 4,3) se x > 4,3
Neste caso, determinou-se que a escolha de 4,3 como valor limite permitiu a redução máxima do erro entre todos os valores limites possíveis. Em seguida, ajustamos um modelo de regressão diferente para valores abaixo de 4,3 versus valores acima de 4,3.
Uma função de dobradiça com dois nós pode ser a seguinte:
- y = β 0 + β 1 (4,3 – x) se x < 4,3
- y = β 0 + β 1 (x – 4,3) se x > 4,3 & x < 6,7
- y = β 0 + β 1 (6,7 – x) se x > 6,7
Neste caso, foi determinado que a escolha de 4,3 e 6,7 como valores limite permitiu a redução máxima de erros entre todos os valores limites possíveis. Ajustamos então um modelo de regressão para valores abaixo de 4,3, outro modelo de regressão para valores entre 4,3 e 6,7 e outro modelo de regressão para valores acima de 4,3.
3. Escolha k com base na validação cruzada k-fold.
Finalmente, depois de ajustarmos vários modelos diferentes usando um número diferente de nós para cada modelo, podemos realizar a validação cruzada k-fold para identificar o modelo que produz o menor erro quadrático médio de teste (MSE).
O modelo com o teste MSE mais baixo é escolhido como o modelo que melhor generaliza para os novos dados.
Vantagens e desvantagens
Splines de regressão adaptativa multivariada têm as seguintes vantagens e desvantagens:
Vantagens :
- Pode ser usado tanto para problemas de regressão quanto para problemas de classificação .
- Isso funciona bem em grandes conjuntos de dados.
- Oferece cálculo rápido.
- Isso não exige que você padronize as variáveis preditoras.
As desvantagens:
- Ele tende a não funcionar tão bem quanto métodos não lineares, como florestas aleatórias e máquinas de aumento de gradiente.
Como ajustar modelos MARS em R e Python
Os tutoriais a seguir fornecem exemplos passo a passo de como ajustar splines de regressão adaptativa multivariada (MARS) em R e Python:
Splines de regressão adaptativa multivariada em R
Splines de regressão adaptativa multivariada em Python