Executando uma função rxLogit() que devem ser equivalentes a uma glm() e rxGlm() chamada nos mesmos dados pode retornar resultados diferentes do que o esperado.
O seguinte exemplo simples, os coeficientes retornados por glm() e rxGlm() corresponderá mas daqueles retornados pelo rxLogit() podem ser diferentes. 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)
A chave é definir initialValues = em rxLogit().
Para rxLogit, initialValues é NULL. Da Ajuda para rxLogit: "os valores iniciais serão estimados com base em uma regressão linear. Isso pode acelerar a convergência significativamente em muitos casos. Se o modelo não convergem usando esses valores, a estimativa é automaticamente reiniciada, usando a opção para os valores iniciais." Se for usada NA, "valores iniciais dos parâmetros são calculados por uma etapa ponderada dos mínimos quadrados". Para rxGlm, padrões de initialValues para NA. Portanto, se os resultados de rxLogit são inesperadamente diferentes, pode ser que o modelo convergir com initialValues = NULL e a função retorna resultados diferentes. Ao executar o exemplo com initalValues = na rxLogit(), todos os resultados correspondência.