Avaliação da regressão logística e interpretação da qualidade de ajuste de Hosmer-Lemeshow

24

Como todos sabemos, existem 2 métodos para avaliar o modelo de regressão logística e eles estão testando coisas muito diferentes

  1. Poder preditivo:

    Obtenha uma estatística que mede o quão bem você pode prever a variável dependente com base nas variáveis ​​independentes. Os bem conhecidos Pseudo R ^ 2 são McFadden (1974) e Cox e Snell (1989).

  2. Estatísticas de qualidade do ajuste

    O teste está dizendo se você poderia melhorar ainda mais, tornando o modelo mais complicado, que na verdade está testando se há alguma não linearidade ou interação.

    Implementei os dois testes no meu modelo, que adicionaram quadrática e interação
    :

    >summary(spec_q2)
    
    Call:
    glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + 
     I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, 
     family = binomial())
    
     Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
    (Intercept)  0.955431   8.838584   0.108   0.9139    
    Top          0.311891   0.189793   1.643   0.1003    
    Right       -1.015460   0.502736  -2.020   0.0434 *  
    Left        -0.962143   0.431534  -2.230   0.0258 *  
    Bottom       0.198631   0.157242   1.263   0.2065    
    I(Top^2)    -0.003213   0.002114  -1.520   0.1285    
    I(Left^2)   -0.054258   0.008768  -6.188 6.09e-10 ***
    I(Bottom^2)  0.003725   0.001782   2.091   0.0366 *  
    Top:Right    0.012290   0.007540   1.630   0.1031    
    Top:Bottom   0.004536   0.002880   1.575   0.1153    
    Right:Left  -0.044283   0.015983  -2.771   0.0056 ** 
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
    (Dispersion parameter for binomial family taken to be 1)
    Null deviance: 3350.3  on 2799  degrees of freedom
    Residual deviance: 1984.6  on 2789  degrees of freedom
    AIC: 2006.6

e a potência prevista é a seguinte, o MaFadden é 0,4004 e o valor entre 0,2 e 0,4 deve ser considerado como apresentando um ajuste muito bom do modelo (Louviere et al (2000), Domenich e McFadden (1975)):

 > PseudoR2(spec_q2)
    McFadden     Adj.McFadden        Cox.Snell       Nagelkerke McKelvey.Zavoina           Effron            Count        Adj.Count 
   0.4076315        0.4004680        0.3859918        0.5531859        0.6144487        0.4616466        0.8489286        0.4712500 
         AIC    Corrected.AIC 
2006.6179010     2006.7125925 

e as estatísticas de adequação:

 > hoslem.test(result,phat,g=8)

     Hosmer and Lemeshow goodness of fit (GOF) test

  data:  result, phat
  X-squared = 2800, df = 6, p-value < 2.2e-16

Pelo que entendi, o GOF está realmente testando a seguinte hipótese nula e alternativa:

  H0: The models does not need interaction and non-linearity
  H1: The models needs interaction and non-linearity

Como meus modelos acrescentaram interação, a não linearidade já e o valor p mostram H0 devem ser rejeitados, então cheguei à conclusão de que meu modelo precisa de interação, de fato não linearidade. Espero que minha interpretação esteja correta e obrigado por qualquer aviso prévio, obrigado.

Samoth
fonte
2
Melhor olhar para a tabela subjacente do que o valor p para o teste HL. E também nos gráficos dos resíduos do seu modelo. Isso mostrará onde está o problema.
probabilityislogic

Respostas:

26

Há vários problemas a serem resolvidos.

  • R2R2R2
  • O teste de Hosmer-Lemeshow é para erro geral de calibração, não para qualquer falta específica de ajuste, como efeitos quadráticos. Ele não leva em consideração o sobreajuste, é arbitrário na escolha dos compartimentos e no método de cálculo dos quantis e geralmente possui um poder muito baixo.
  • Por esses motivos, o teste Hosmer-Lemeshow não é mais recomendado. Hosmer e cols. Têm um teste de ajuste df omnibus melhor, implementado na função do rmspacote R.residuals.lrm
  • Para o seu caso, a qualidade do ajuste pode ser avaliada testando em conjunto (em um teste "chunk") a contribuição de todos os termos quadrados e de interação.
  • Mas eu recomendo especificar o modelo para torná-lo mais propenso a se ajustar de frente (especialmente no que diz respeito a relaxar as suposições de linearidade usando splines de regressão) e usar o bootstrap para estimar o overfitting e obter uma curva de calibração suave de alta resolução corrigida pelo overfitting para verificar valores absolutos. precisão. Isso é feito usando o rmspacote R.

No último ponto, prefiro a filosofia de que os modelos são flexíveis (de qualquer forma limitados pelo tamanho da amostra) e de que nos concentramos mais em "ajuste" do que em "falta de ajuste".

Frank Harrell
fonte
2
R2
1-R2
4

Da Wikipedia :

O teste avalia se as taxas de eventos observados correspondem ou não às taxas de eventos esperados nos subgrupos da população do modelo. O teste de Hosmer-Lemeshow identifica especificamente subgrupos como os decis dos valores de risco ajustados. Modelos para os quais as taxas de eventos esperados e observados nos subgrupos são semelhantes são chamados de bem calibrados.

Seu significado: após a construção do modelo com a pontuação do y do modelo, você deseja verificar se ele está distribuído por 10 decil semelhantes às taxas reais de eventos.

Então hipóteses serão

  • H0 0
  • H1

Portanto, se o valor- p for menor que 0,05, eles não serão bem distribuídos e você precisará refinar seu modelo.

Espero que isso responda algumas das suas perguntas.

Rajnish Kumar
fonte
3

Este é bastante discutível seguinte resposta da @ FrankHarrell, mas um fã do teste H-L se inferir a partir desse resultado que , apesar de sua inclusão de termos quadráticos e alguns interações de 2ª ordem, o modelo ainda mostrou significativa falta de ajuste, e que, talvez, um modelo ainda mais complexo seria apropriado. Você está testando o ajuste exatamente do modelo especificado, não do modelo mais simples de 1ª ordem.

† Não é um modelo completo de segunda ordem - existem três interações a seguir.

Scortchi - Restabelecer Monica
fonte