Como interpretar variáveis ​​excluídas ou incluídas no modelo de laço?

9

Recebi de outros posts que não se pode atribuir 'importância' ou 'significância' às variáveis ​​preditoras que entram em um modelo de laço, porque calcular os valores p ou os desvios-padrão dessas variáveis ​​ainda é um trabalho em andamento.

Sob esse raciocínio, é correto afirmar que não se pode dizer que as variáveis ​​EXCLUÍDAS do modelo de laço são 'irrelevantes' ou 'insignificantes'?

Nesse caso, o que realmente posso reivindicar sobre as variáveis ​​que são excluídas ou incluídas em um modelo de laço? No meu caso específico, selecionei o parâmetro de ajuste lambda repetindo a validação cruzada 10 vezes 100 vezes para reduzir a perda de tempo e calcular a média das curvas de erro.

UPDATE1: Segui uma sugestão abaixo e refiz o laço usando amostras de bootstrap. Eu experimentei 100 amostras (essa era a quantidade que a energia do meu computador poderia gerenciar da noite para o dia) e alguns padrões surgiram. 2 das minhas 41 variáveis ​​entraram no modelo mais de 95% das vezes, 3 variáveis ​​mais de 90% e 5 variáveis ​​mais de 85%. Essas 5 variáveis ​​estão entre as 9 que entraram no modelo quando eu o executei com a amostra original e foram as que apresentaram os maiores valores de coeficiente. Se eu executar o laço com, digamos, 1000 amostras de autoinicialização e esses padrões forem mantidos, qual seria a melhor maneira de apresentar meus resultados?

  • 1000 amostras de inicialização soam o suficiente? (O tamanho da minha amostra é 116)

  • Devo listar todas as variáveis ​​e com que frequência elas entram no modelo e depois argumentar que aquelas que entram com mais frequência têm mais probabilidade de serem significativas?

  • Isso é o máximo que posso com minhas reivindicações? Por ser um trabalho em andamento (veja acima), não posso usar um valor de corte, certo?

ATUALIZAÇÃO2: Seguindo uma sugestão abaixo, calculei o seguinte: em média, 78% das variáveis ​​no modelo original entraram nos modelos gerados para as 100 amostras de autoinicialização. Por outro lado, apenas 41% ao contrário. Isso tem a ver em grande parte com o fato de que os modelos gerados para as amostras de bootstrap tendem a incluir muito mais variáveis ​​(17 em média) do que o modelo original (9).

ATUALIZAÇÃO3: Se você puder me ajudar a interpretar os resultados que obtive do bootstrapping e da simulação de Monte Carlo, dê uma olhada neste outro post.

Intrigado
fonte

Respostas:

10

Sua conclusão está correta. Pense em dois aspectos:

  1. Poder estatístico para detectar um efeito. A menos que o poder seja muito alto, pode-se perder até grandes efeitos reais.
  2. Confiabilidade: com alta probabilidade de encontrar os recursos certos (verdadeiros).

Há pelo menos quatro considerações principais:

  1. O método é reproduzível por você usando o mesmo conjunto de dados?
  2. O método é reproduzível por outras pessoas usando o mesmo conjunto de dados?
  3. Os resultados são reproduzíveis usando outros conjuntos de dados?
  4. O resultado é confiável?

Quando se deseja fazer mais do que a previsão, mas de fato tirar conclusões sobre quais características são importantes na previsão do resultado, 3. e 4. são cruciais.

Você abordou 3. (e, para esse propósito, 100 bootstraps são suficientes), mas além das frações de inclusão de recursos individuais, precisamos saber a 'distância' absoluta média entre um conjunto de recursos de bootstrap e o conjunto de recursos original selecionado. Por exemplo, qual é o número médio de recursos detectados em toda a amostra que foram encontrados na amostra de autoinicialização? Qual é o número médio de recursos selecionados a partir de uma amostra de bootstrap que foram encontrados na análise original? Qual é a proporção de vezes que um bootstrap encontrou uma correspondência exata com o conjunto de recursos original? Qual é a proporção que um bootstrap estava dentro de um recurso de concordar exatamente com o original? Dois recursos?

Não seria apropriado dizer que qualquer ponto de corte deve ser usado para se chegar a uma conclusão geral.

Em relação à parte 4., nada disso aborda a confiabilidade do processo, ou seja, quão perto o conjunto de recursos está do conjunto de recursos 'verdadeiro'. Para resolver isso, você pode fazer um estudo de re-simulação de Monte-Carlo, onde você obtém o resultado do laço da amostra original como a 'verdade' e simula novos vetores de resposta várias centenas de vezes usando alguma estrutura de erro presumida. Para cada re-simulação, você executa o laço em toda a matriz preditora original e no novo vetor de resposta e determina o quão próximo o conjunto de recursos do laço selecionado está da verdade da qual você simulou. Re-simulação de condições em todo o conjunto de preditores candidatos e usa estimativas de coeficientes do modelo ajustado inicialmente (e, no caso de laço, o conjunto de preditores selecionados) como uma 'verdade' conveniente para simular.

YXXβ

β

YXβY

lp <- predict(...) # assuming suitable predict method available, or fitted()
probs <- plogis(lp)
y <- ifelse(runif(n) <= probs, 1, 0)
Frank Harrell
fonte
3
N
11
Eu não estava me referindo ao bootstrapping. Eu estava me referindo a saber se você pode aprender alguma coisa com dezenas de variáveis ​​candidatas quando você tem apenas 32 eventos.
Frank Harrell
3
Y
11
Faça o experimento de re-simulação que sugeri para verificar a confiabilidade real do método em sua configuração exata.
Frank Harrell
2
Preciso encerrar esta discussão - a resposta básica para sua pergunta é a programação básica de R e dê uma olhada em simulações simples em biostat.mc.vanderbilt.edu/rms .
Frank Harrell