运行 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 = rxLogit() NA。
对于 rxLogit,initialValues 在缺省情况下为 NULL。从 rxLogit 的帮助:"的初始值将估计基于线性回归。这可以加快收敛,显著的是在很多情况下。如果模型不能成立使用这些值,估计就会自动重新启动 NA 选项使用的初始值。如果使用 NA,则"初始参数值是通过计算加权的最小二乘法的一个步骤"。对于 rxGlm,initialValues 默认为 na。 因此如果从 rxLogit 结果不意外不同,它可能是模型 does 收敛与 initialValues = NULL,该函数将返回不同的结果。当运行此示例,使用 initalValues = NA rxLogit(),所有的结果匹配。