Solução em caso de violação do pressuposto de linearidade no modelo de regressão logística? (possivelmente em R)

Jan 08 2021

Tenho um problema com minha regressão logística que configurei e espero que alguém possa me ajudar. (Estou trabalhando com R)

Meus dados são baseados em valores horários. A variável dependente é uma variável dicotômica (1 ou 0). O modelo inclui 30 variáveis ​​independentes métricas (9 delas têm observações positivas e negativas).

Agora, meu problema: uma suposição da regressão logística é que existe uma relação linear entre o logit do resultado e cada variável métrica independente. Essa suposição é violada em todos os meus modelos. (Todas as outras suposições de regressão logística não são violadas).

Para verificar isso, apliquei o teste Box-Tidwell várias vezes. Uma vez com todas as variáveis ​​em uma regressão logística, onde fiz a regressão da variável dependente original nas variáveis ​​independentes e o produto das variáveis ​​independentes com a respectiva transformação logarítmica das variáveis ​​independentes.

(y ~ x1 + (x1*ln(x1)) + x2 + (x2*ln(x2)) + ... , familiy = binomial("logit"))

Além disso, testei a suposição de linearidade com a função R boxTidwell(model$linear.predictors ~ independent variable)para cada variável separadamente. Para quase todas as variáveis, o teste mostrou significância e, portanto, uma violação da suposição do modelo. Várias transformações das variáveis ​​independentes também não ajudaram. Além disso, meus modelos falharam no teste Hosmer-Lemeshow.

Eu sei que posso contornar a suposição se transformar as variáveis ​​independentes métricas em variáveis ​​categóricas. No entanto, gostaria de evitar isso. Também li que posso contornar o problema com a metodologia de splines. Infelizmente não consegui encontrar nenhuma literatura explicando isso. Especialmente para uma estimativa de modelo logístico.

Agora gostaria de saber se alguém pode gentilmente me ajudar aqui.

Uma violação da suposição significa que não tenho permissão para usar este modelo e, portanto, os resultados podem estar errados? (Não quero usar o modelo como um modelo preditivo ou de previsão, mas apenas para explicar / descrever dentro do período de tempo dos dados.)

Como aplico a metodologia de splines para resolver meu problema? Como posso interpretar os resultados? (Isso me ajudaria imensamente se essas explicações fossem apoiadas por códigos R.)

Respostas

1 kjetilbhalvorsen Jan 10 2021 at 12:09

Vários pontos:

  • O teste Hosmer-Lemeshow é considerado obsoleto: Hosmer-Lemeshow vs AIC para regressão logística

  • Em vez de testar a suposição de linearidade, use splines de regressão diretamente para não precisar dessa suposição. Existem muitos exemplos neste site (observe que o uso de splines na regressão logística funciona da mesma forma que em outros modelos de regressão). Como os splines funcionam quando usados ​​no lado direito de uma equação? , Como encontro um valor p de regressão de spline / loess suave?

  • Uma alternativa são os gam's (modelos aditivos generalizados) que podem escolher o grau de suavização (número de nós de spline, por exemplo) como parte do encaixe. Consulte Transformando variáveis ​​para regressão múltipla em R , por que minhas splines não se tornam mais flexíveis após alterar os parâmetros em R mgcv?