L’exécution d’une fonction rxLogit() qui devraient être équivalent à un glm() et un appel de rxGlm() sur les mêmes données peut-être retourner des résultats différents que prévu.
Dans l’exemple suivant, les coefficients retournés par glm() et rxGlm() correspond à mais celles retournées par rxLogit() peuvent être différents. myFormula <- as.formula("y ~ x1 + x2 + x3 ")model <- rxLogit( myFormula, data = sampleData)
modelGLM <- glm(myFormula,family=binomial(logit),data=sampleData) modelrxGLM <- rxGlm(myFormula,family=binomial(logit), data=sampleData)
La clé est de définir initialValues = NA dans rxLogit().
Pour rxLogit, initialValues par défaut est NULL. À partir de l’aide de rxLogit : « les valeurs d’origine seront déterminées selon une droite de régression linéaire. Cela peut accélérer la convergence de manière significative dans de nombreux cas. Si le modèle ne converge pas à l’aide de ces valeurs, estimation est automatiquement redémarrage, à l’aide de l’option NA pour les valeurs initiales ». Si NA est utilisé, « valeurs initiale des paramètres sont calculés en une étape pondérée des moindres carrés ». Pour rxGlm, initialValues par défaut NC. Si les résultats de rxLogit sont différentes de manière inattendue, elle peut être que le modèle converge avec initialValues = NULL et la fonction renvoie des résultats différents. Lors de l’exécution l’exemple avec initalValues = no dans la rxLogit(), tous les résultats de la correspondance.