Выполнение функции rxLogit(), может быть должен быть эквивалентен glm() и вызов rxGlm() на тех же данных может возвращать разные результаты, чем ожидалось.
В следующем простом примере будет соответствовать коэффициенты, glm() и rxGlm(), но, возвращаемых rxLogit() могут отличаться.
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)
Ключом является значение initialValues = NA в rxLogit().
Для rxLogit initialValues по умолчанию используется значение NULL. В справке для rxLogit: «начальные значения будет оценить на основании линейной регрессии. Можно ускорить конвергенцию значительно во многих случаях. Если модель не сходится, используя эти значения, оценка автоматически перезапущен с помощью параметра NA начальных значений.» При использовании NA «начальные значения параметров вычисляются по методу наименьших квадратов взвешенный шаг». Для rxGlm initialValues по умолчанию NA.
Поэтому результаты rxLogit неожиданно различаются, возможно, модели сходятся с initialValues = NULL, и функция возвращает различные результаты. Во время работы в примере с initalValues = NA в rxLogit(), все результаты совпадают.