Étude de la robustesse de la régression logistique contre la violation de la linéarité du logit

10

Je procède à une régression logistique avec un résultat binaire (démarrage et non démarrage). Ma combinaison de prédicteurs sont toutes des variables continues ou dichotomiques.

En utilisant l'approche Box-Tidwell, l'un de mes prédicteurs continus viole potentiellement l'hypothèse de linéarité du logit. Rien dans les statistiques de qualité de l'ajustement n'indique que l'ajustement est problématique.

J'ai ensuite exécuté à nouveau le modèle de régression, en remplaçant la variable continue d'origine par: premièrement, une transformation de racine carrée et deuxièmement, une version dichotomique de la variable.

Lors de l'inspection de la sortie, il semble que la qualité de l'ajustement s'améliore légèrement mais les résidus deviennent problématiques. Les estimations de paramètres, les erreurs standard et restent relativement similaires. L'interprétation des données ne change pas selon mon hypothèse, à travers les 3 modèles.exp(β)

Par conséquent, en termes d'utilité de mes résultats et de sens d'interprétation des données, il semble approprié de rapporter le modèle de régression en utilisant la variable continue d'origine.

Je me demande ceci:

  1. Quand la régression logistique est-elle robuste contre la violation potentielle de la linéarité de l'hypothèse logit?
  2. Compte tenu de mon exemple ci-dessus, semble-t-il acceptable d'inclure la variable continue d'origine dans le modèle?
  3. Existe-t-il des références ou des guides pour recommander lorsqu'il est satisfaisant d'accepter que le modèle est robuste contre la violation potentielle de la linéarité du logit?
Elizabeth court
la source

Réponses:

16

L'hypothèse de linéarité est si souvent violée dans la régression qu'elle devrait être appelée une surprise plutôt qu'une hypothèse. Comme d'autres modèles de régression, le modèle logistique n'est pas robuste à la non-linéarité lorsque vous supposez faussement la linéarité. Plutôt que de détecter la non-linéarité à l'aide de tests résiduels ou de la qualité globale de l'ajustement, il est préférable d'utiliser des tests directs. Par exemple, développez des prédicteurs continus à l'aide de splines de régression et effectuez un test composite de tous les termes non linéaires. Mieux encore, ne testez pas les termes et attendez-vous simplement à la non-linéarité. Cette approche est bien meilleure que d'essayer différents choix de transformations sur une seule pente comme la racine carrée, le log, etc., car l'inférence statistique survient après que de telles analyses seront incorrectes car elle n'a pas suffisamment de degrés de liberté de numérateur.

Voici un exemple dans R.

require(rms)
f <- lrm(y ~ rcs(age,4) + rcs(blood.pressure,5) + sex + rcs(height,4))
# Fits restricted cubic splines in 3 variables with default knots
# 4, 5, 4 knots = 2, 3, 2 nonlinear terms
Function(f)   # display algebraic form of fit
anova(f)      # obtain individual + combined linearity tests
Frank Harrell
la source
Votre réponse a un sens fantastique - merci! Pourriez-vous suggérer une syntaxe à utiliser dans SPSS? Je n'ai malheureusement pas accès (ni compétences) pour utiliser R.
Court Elizabeth
1
Cela vaut vraiment la peine d'apprendre le R, et j'ai beaucoup de documents liés à la modélisation logistique et au paquet rms. Ce serait difficile à faire dans SPSS.
Frank Harrell
@FrankHarrell: la f <- lrm(y ~ ...ligne donne une erreur object 'y' not found- pouvez-vous corriger?
arielf
1
C'est une erreur R très basique qui n'est pas propre à mon rmspackage. Passez un peu de temps à vous familiariser avec R, en commençant par le matériel disponible pour la lmfonction de régression de base .
Frank Harrell
1
Les exemples intégrés aux pages d'aide du logiciel simulent de telles données, alors regardez l'exemple entier dans son contexte. Faites require(rms)alors ?lrmalorsexamples(lrm)
Frank Harrell