Introdução:
Eu tenho um conjunto de dados com um clássico "grande p, pequeno n problema". O número de amostras disponíveis n = 150, enquanto o número de possíveis preditores p = 400. O resultado é uma variável contínua.
Eu quero encontrar os descritores mais "importantes", ou seja, aqueles que são os melhores candidatos para explicar o resultado e ajudar a construir uma teoria.
Depois de pesquisar esse tópico, descobri que LASSO e Elastic Net são comumente usados no caso de p grande, pequeno n. Alguns de meus preditores são altamente correlacionados e eu quero preservar seus agrupamentos na avaliação de importância; portanto, optei pelo Elastic Net . Suponho que posso usar valores absolutos dos coeficientes de regressão como medida de importância (corrija-me se estiver errado; meu conjunto de dados é padronizado).
Problema:
Como meu número de amostras é pequeno, como posso obter um modelo estável?
Minha abordagem atual é encontrar os melhores parâmetros de ajuste (lambda e alfa) em uma pesquisa em grade em 90% do conjunto de dados com 10 vezes a validação cruzada, média da pontuação do MSE. Em seguida, treino o modelo com os melhores parâmetros de ajuste em todos os 90% do conjunto de dados. Sou capaz de avaliar meu modelo usando R ao quadrado no holdout 10% do conjunto de dados (que representam apenas 15 amostras).
Executando repetidamente esse procedimento, encontrei uma grande variação nas avaliações ao quadrado de R. Além disso, o número de preditores não zerados varia, bem como seus coeficientes.
Como posso obter uma avaliação mais estável da importância dos preditores e uma avaliação mais estável do desempenho do modelo final?
Posso executar repetidamente meu procedimento para criar vários modelos e, em seguida, coeficientes de regressão médios? Ou devo usar o número de ocorrências de um preditor nos modelos como seu escore de importância?
Atualmente, recebo cerca de 40-50 preditores não zerados. Devo penalizar mais o número de preditores por uma melhor estabilidade?
Respostas:
" Algoritmos esparsos não são estáveis: um teorema sem almoço grátis "
Eu acho que o título diz muito, como você apontou.
Confira o laço aleatório e a palestra de Peter Buhlmann .
Atualizar:
Achei este artigo mais fácil de acompanhar do que o artigo de Meinshausen e Buhlmann chamado "Seleção de Estabilidade".
Em " Random Lasso ", os autores consideram as duas desvantagens importantes do laço para grandes , pequenos problemas, ou seja,np n
A idéia principal do laço aleatório, capaz de lidar com os dois inconvenientes do laço é a seguinte
Amostras de inicialização são desenhadas para simular vários conjuntos de dados. Os coeficientes finais são obtidos pela média dos resultados de cada amostra de inicialização.
Seria ótimo se alguém pudesse elaborar e explicar mais esse algoritmo nas respostas.
fonte
Quão estáveis são os parâmetros de ajuste?
Você vê grandes diferenças entre a qualidade do ajuste (por exemplo, MSE da validação cruzada do parâmetro ideal) e o desempenho do teste independente de 10%?
Isso seria um sintoma de super ajuste:
O problema com a pesquisa de grade (e muitas outras estratégias de otimização de parâmetro) é que você assume basicamente um comportamento bastante suave de . Porém, para conjuntos de testes pequenos, a variação devido ao tamanho pequeno do conjunto de testes (total de 135 amostras em dobras de 10 cv) pode ser maior que as diferenças reais de . Nesse caso, os parâmetros já são bastante instáveis.M S E = f ( g r i d p a r a m e t e r s )MSE=f(gridparameters) MSE=f(gridparameters)
Existem várias possibilidades para construir esses modelos agregados:
Os termos de pesquisa seriam "modelos agregados", "agregação de bootstrap", "ensacamento".
Pensamento lateral: alguns tipos de dados têm colinearidade esperada e interpretável que pode fazer com que a seleção variável "salte" entre soluções mais ou menos iguais.
fonte
Não há como escapar disso. Como alguns disseram, os modelos são instáveis por natureza (caso contrário, as estatísticas não seriam necessárias).
Mas a própria instabilidade traz informações. Então, ao invés de tentar me livrar dele, tentei analisá-lo.
Executo simulações de validação cruzada várias vezes e, em seguida, obtenho os coeficientes para os melhores parâmetros selecionados em cada execução e os reunimos.
Então extraio os coeficientes de regressão para cada par de parâmetros e isso me dá uma distribuição de valores para cada parâmetro. Dessa forma, posso usar o valor médio / mediano para descrever a força do preditor e seu desvio padrão / IQR para descrever sua variabilidade, ou seja, sua estabilidade.
Um preditor muito estável significa que você pode esperar que seu efeito seja semelhante também com novos dados; um preditor instável, mesmo nos seus dados, provavelmente seria muito instável, mesmo com novos dados.
fonte