Solution en cas de violation de l'hypothèse de linéarité dans le modèle de régression logistique? (éventuellement en R)

Jan 08 2021

J'ai un problème avec ma régression logistique que j'ai mise en place et j'espère que quelqu'un pourra m'aider. (Je travaille avec R)

Mes données sont basées sur des valeurs horaires. La variable dépendante est une variable dichotomique (1 ou 0). Le modèle comprend 30 variables indépendantes métriques (9 d'entre elles ont des observations positives et négatives).

Maintenant, mon problème: une hypothèse de la régression logistique est qu'il existe une relation linéaire entre le logit du résultat et chaque variable métrique indépendante. Cette hypothèse est violée dans tous mes modèles. (Toutes les autres hypothèses de régression logistique ne sont pas violées).

Pour vérifier cela, j'ai appliqué le test Box-Tidwell plusieurs fois. Une fois avec toutes les variables dans une régression logistique, où j'ai régressé la variable dépendante d'origine sur les variables indépendantes et le produit des variables indépendantes avec la transformation logarithmique respective des variables indépendantes.

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

De plus, j'ai testé l'hypothèse de linéarité avec la fonction R boxTidwell(model$linear.predictors ~ independent variable)pour chaque variable séparément. Pour presque toutes les variables, le test a montré une signification et donc une violation de l'hypothèse du modèle. Plusieurs transformations des variables indépendantes n'ont pas non plus aidé. De plus, mes modèles ont échoué au test Hosmer-Lemeshow.

Je sais que je peux contourner l'hypothèse si je transforme les variables indépendantes métriques en variables catégorielles. Cependant, je voudrais éviter cela. J'ai également lu que je peux contrer le problème avec la méthodologie des splines. Malheureusement, je n'ai trouvé aucune documentation expliquant cela. Surtout pas pour une estimation de modèle logistique.

Maintenant, j'aimerais savoir si quelqu'un peut m'aider ici.

Une violation de l'hypothèse signifie-t-elle que je ne suis pas autorisé à utiliser ce modèle et que les résultats pourraient donc être erronés? (Je ne veux pas utiliser le modèle comme modèle prédictif ou de prévision, mais uniquement pour expliquer / décrire dans la période de temps des données.)

Comment appliquer la méthodologie des splines pour résoudre mon problème? Comment interpréter les résultats? (Cela m'aiderait énormément si ces explications étaient appuyées par des codes R.)

Réponses

1 kjetilbhalvorsen Jan 10 2021 at 12:09

Plusieurs points:

  • Le test Hosmer-Lemeshow est considéré comme obsolète: Hosmer-Lemeshow vs AIC pour la régression logistique

  • Plutôt que de tester l'hypothèse de linéarité, utilisez directement des splines de régression pour ne pas avoir besoin de cette hypothèse. Il existe de nombreux exemples sur ce site (notez que l'utilisation de splines dans la régression logistique fonctionne de la même manière que dans d'autres modèles de régression) Comment fonctionnent les splines lorsqu'elles sont utilisées sur le côté droit d'une équation? , Comment puis-je trouver une valeur p d'une régression spline / loess lisse?

  • Une alternative est gam's (modèles additifs généralisés) qui peuvent choisir le degré de lissage (nombre de nœuds de spline, par exemple) dans le cadre de l'ajustement. Voir Transformation de variables pour la régression multiple dans R , Pourquoi mes splines ne deviennent-elles pas plus flexibles après avoir modifié les paramètres dans R mgcv?