Como tratar preditores categóricos no LASSO

17

Estou executando um LASSO que possui alguns preditores de variáveis ​​categóricos e outros contínuos. Eu tenho uma pergunta sobre as variáveis ​​categóricas. O primeiro passo que entendo é dividir cada um deles em manequins, padronizá-los para uma penalização justa e depois regredir. Várias opções surgem para o tratamento das variáveis ​​fictícias:

  1. Inclua todos, exceto um dos manequins para cada fator, deixando-o como um nível de referência. A interpretação de um coeficiente fictício é relativa à categoria de "referência" excluída. A interceptação agora é a resposta média para a categoria de referência.

  2. Agrupe as variáveis ​​em cada fator para que sejam todas excluídas ou todas, exceto uma. Acredito que é o que @Glen_b está sugerindo aqui :

    Normalmente, sim, você mantém seus fatores todos juntos. Existem vários pacotes R que podem fazer isso, incluindo glmnet

  3. Inclua todos os níveis, conforme sugerido por @Andrew M aqui :

    Você também pode alterar a função de contraste padrão, que, por padrão, deixa de fora um nível de cada fator (codificação do tratamento). Porém, devido à penalidade no laço, isso não é mais necessário para a identificabilidade e, de fato, torna a interpretação das variáveis ​​selecionadas mais complicada. Para fazer isso, defina

    contr.Dummy <- function(contrasts, ...){
       conT <- contr.treatment(contrasts=FALSE, ...)
       conT
    }
    options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
    

    Agora, quaisquer que sejam os níveis de um fator selecionados, você pode pensar nisso como sugerindo que esses níveis específicos são importantes, versus todos os níveis omitidos. No aprendizado de máquina, eu vi essa codificação conhecida como codificação one-hot.

Questões:

  1. Qual é a interpretação do intercepto e coeficientes sob cada uma dessas abordagens?
  2. Quais são as considerações envolvidas na seleção de uma delas?
  3. Nós redimensionamos os coeficientes fictícios e os interpretamos como uma mudança de passar de off para on?
Hatshepsut
fonte

Respostas:

6

Ao lidar com variáveis ​​categóricas na regressão do LASSO, é comum usar um LASSO agrupado que mantenha as variáveis ​​fictícias correspondentes a uma variável categórica específica juntas (ou seja, você não pode excluir apenas algumas das variáveis ​​fictícias do modelo). Um método útil é o Grupo Modificado LASSO (MGL) descrito em Choi, Park e Seo (2012) . Nesse método, a penalidade é proporcional à norma do vetor para o conjunto de variáveis ​​dummy. Você ainda mantém uma categoria de referência nesse método, portanto o termo de interceptação ainda está incluído. Isso permite lidar com várias variáveis ​​categóricas sem problemas de identificação.β

Em resposta às suas perguntas específicas:

(1) O LASSO é um método de estimativa para os coeficientes, mas os próprios coeficientes são definidos pela equação do modelo inicial para sua regressão. Como tal, a interpretação dos coeficientes é a mesma que em uma regressão linear padrão; eles representam taxas de variação da resposta esperada devido a alterações nas variáveis ​​explicativas.

(2) A literatura acima recomenda agrupar as variáveis, mas mantendo uma categoria de referência. Isso implica implicitamente que você está comparando a presença de uma variável categórica com um modelo que a remove, mas ainda tem um termo de interceptação.

(3) Como mencionado acima, o método de estimativa não afeta a interpretação dos coeficientes, que são definidos pela declaração do modelo.

Restabelecer Monica
fonte
1
Hatshepsut: Se você achou esta resposta útil, considere fazer uma votação e / ou aceitá- la. Caso contrário, talvez você possa indicar o que ainda está faltando?
S. Kolassa - Restabelece Monica
@StephanKolassa done
Hatshepsut