Execução de uma função de rxLogit() que pode esperar que ser equivalente a um glm() e rxGlm() chamada nos mesmos dados pode devolver resultados diferentes que o esperado.
No seguinte exemplo simple, irão corresponder os coeficientes devolvidos por glm() e rxGlm(), mas aos devolvidos por 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 = ND em rxLogit().
Para rxLogit, initialValues o valor predefinido é nulo. A ajuda para rxLogit: "os valores iniciais irão ser estimados com base numa regressão linear. Isto pode acelerar a convergência significativamente em muitos casos. Se o modelo não convergir usando estes valores, estimativa é automaticamente reiniciada utilizando a opção de ND para os valores iniciais." Se o ND é utilizado, "valores inicial dos parâmetros são processados por um passo de quadrados ponderada." Para rxGlm, initialValues, por predefinição, ND.
Por isso se os resultados da rxLogit são inesperadamente diferentes, pode ser que o modelo convergir com initialValues = NULL e a função devolve resultados diferentes. Quando executar o exemplo com initalValues = ND na rxLogit(), todos os resultados correspondência.