Análise residual de regressão logística

12

Essa pergunta é geral e prolongada, mas por favor, tenha paciência comigo.

No meu aplicativo, tenho muitos conjuntos de dados, cada um consistindo em ~ 20.000 pontos de dados com ~ 50 recursos e uma única variável binária dependente. Estou tentando modelar os conjuntos de dados usando regressão logística regularizada (pacote R glmnet )

Como parte da minha análise, criei gráficos residuais da seguinte forma. Para cada recurso, classifico os pontos de dados de acordo com o valor desse recurso, divido os pontos de dados em 100 intervalos e, em seguida, calculo o valor médio da saída e o valor médio da previsão em cada intervalo. Eu traço essas diferenças.

Aqui está um exemplo de plotagem residual:

No gráfico acima, o recurso tem um intervalo de [0,1] (com uma alta concentração em 1). Como você pode ver, quando o valor do recurso é baixo, o modelo parece estar inclinado para superestimar a probabilidade de uma saída de 1. Por exemplo, no intervalo à esquerda, o modelo superestima a probabilidade em cerca de 9%.

Armado com essas informações, eu gostaria de alterar a definição do recurso de maneira direta para corrigir esse viés. Alterações como substituição

xx

ou

xfuma(x)={uma E se x<uma x outro

Como posso fazer isso? Estou procurando uma metodologia geral para que um humano possa rolar rapidamente todas as ~ 50 parcelas e fazer alterações, e fazer isso para todos os conjuntos de dados e repetir frequentemente para manter os modelos atualizados à medida que os dados evoluem ao longo do tempo.

Como uma pergunta geral, essa é a abordagem correta? As pesquisas do Google por "análise de resíduos de regressão logística" não retornam muitos resultados com bons conselhos práticos. Eles parecem estar determinados a responder à pergunta: "Este modelo é um bom ajuste?" e oferece vários testes, como Hosmer-Lemeshow, para responder. Mas não me importo se meu modelo é bom, quero saber como melhorá-lo!

dshin
fonte

Respostas:

4

Você não pode realmente avaliar o viés dessa maneira na regressão logística. Espera-se que a regressão logística não seja imparcial em probabilidades de log ou pontuações de logit, log (p / (1-p)). As proporções serão distorcidas e, portanto, parecerão tendenciosas. Você precisa plotar os resíduos em termos de probabilidades de log.

John
fonte
Como combinar os resíduos de log-ímpares em um balde? Média aritmética? Isso é um pouco perturbador para mim. Intuitivamente, se uma análise residual não mostrar viés, espero que, quando o modelo predizer Pr [y = 1] <0,2, y seja igual a 1 com probabilidade menor que 0,2. Mas sua resposta parece sugerir que esse não é o caso. Estou entendendo corretamente?
dshin
isso provavelmente é melhor publicado como um comentário.
probabilityislogic
Não, David, isso não implica nada além da probabilidade 0,2, talvez minhas edições deixem mais claro.
John
Desculpe, ainda estou um pouco confuso. Meu entendimento intuitivo de um modelo imparcial é que, se o modelo predizer p = 0,2 em cada um de um grande número de pontos de dados, então 20% desses pontos de dados deverão ter y = 1. Esse entendimento está correto? Nesse caso, parece que minha metodologia de plotagem deve exibir corretamente o viés. Se não ... então não estou muito feliz com esse conceito de "preconceito"! Se uma leitura de modelo imparcial de 0,2 não me diz nada sobre a probabilidade de y = 1, de que serve a imparcialidade?
dshin
Sim, 20% deve ter y = 1. Mas não vai dar certo, vai dar certo de alguma forma. No espaço de probabilidade, em que direção você acha que ele vai mudar a cada passo? Se for imparcial, cairá igualmente em algum lugar no .2: 1 ou no 0: .2. No entanto, como você pode ver pelo tamanho desses espaços, eles tendem a ficar mais distantes na área maior apenas porque podem. No espaço de logit, a distância deve ser igual a + ou -.
John
2

é improvável que exista algum software geral para fazer isso. provavelmente porque não existe uma teoria geral para corrigir problemas na regressão. portanto, esse é mais um tipo de resposta "o que eu faria" em vez de um procedimento teoricamente fundamentado.

o gráfico que você produz é basicamente um teste visual de HL com 100 posições, mas usando um único preditor em vez da probabilidade prevista de fazer o binning. isso significa que seu procedimento provavelmente herdará algumas das propriedades do teste HL.

seu procedimento parece razoável, embora você deva estar ciente de "ajustar demais" seus critérios. seu critério também é menos útil como diagnóstico porque se tornou parte do processo de estimativa. Além disso, sempre que você fizer algo por intuição, anote seu processo de tomada de decisão com o máximo de detalhes possível. isso ocorre porque você pode descobrir as sementes de um processo ou teoria geral que, quando desenvolvido, leva a um procedimento melhor (mais automático e ideal em relação a alguma teoria).

Eu acho que uma maneira de ir é primeiro reduzir o número de parcelas que você precisa investigar. Uma maneira de fazer isso é ajustar cada variável como um spline cúbico e, em seguida, investigar os gráficos que possuem estimativas não lineares diferentes de zero. dado o número de pontos de dados, essa também é uma correção automática fácil para não linearidades. isso expandirá seu modelo de 50 para 200 + 50k, onde k é o número de nós. você poderia pensar nisso como aplicar uma "expansão estatística da série de Taylor" da transformação "verdadeira".

se o diagnóstico ainda estiver ruim depois disso, tente adicionar termos de interação.

partes da sua pergunta parecem mais sobre como escrever um programa interativo, que é mais o domínio do stackoverflow do que aqui. também pode ser útil procurar ferramentas de análise de dados exploratórios, pois é mais provável que eles tenham recursos que você pode "criar".

probabilityislogic
fonte
Obrigado por esta resposta. Vou dar uma olhada na ideia do spline cúbico. Empreguei essa abordagem de "analisar gráficos e ajustar recursos" em um cenário de regressão linear, onde parecia mais óbvio como obter melhores ajustes. Por exemplo, se você vê um taco de hóquei, é óbvio que a aplicação de uma correção f_a (x) leva a um melhor ajuste. Muitas vezes, o conhecimento do domínio do problema coincide com esta decisão: se você está prevendo felicidade com a renda, por exemplo, faria sentido limitar a renda, a menos que você pense que bilionários são 1000 vezes mais felizes que milionários.
dshin
Mas quando mudei para uma configuração de regressão logística, percebi que não tinha muita certeza de como transferir minha metodologia. Daí esta submissão.
dshin