我正在尝试使用R中的optim
/ maxBFGS
函数来定制逻辑回归/生存分析函数,并手动定义函数。
我始终认为,对于包speedglm
,biglm
和glm
,logit模型或任何分布的似然函数都是硬锁定的。但是,我想知道我是否错了,或者是否可以指定我自己的可能性函数。原因是optim
/ maxBFGS
的运行速度比speedglm
慢。
答案 0 :(得分:1)
R glm功能仅用于处理指数族的可能性。拟合算法不会与任何其他类型的可能性一起工作,并且与其他任何算法一起实际上不适合glm而是其他类型的模型。
glm函数适合使用迭代重加权最小二乘法;指数族的似然函数的特殊形式使得Newton的求解最大似然方程的方法与重复拟合普通最小二乘回归相同,直到达到收敛。
这是一个比通用非线性优化更快的过程;因此,如果您想要使用的可能性已经过定制,以便它们不再来自指数族,那么您就不再适合广义线性模型。这意味着IRWLS算法不适用,正如您所发现的那样,拟合速度会变慢。