GLM 的起始系数向量

机器算法验证 广义线性模型
2022-04-13 21:27:02

我想知道当 R 的start参数留空且默认为NULL. 对于我个人的 GLM 实现,我只是简单地将 β0 初始化为 1s。然而,虽然这通常很好,但它可能会导致迭代算法发散。

基本上,我只是在寻找一个简单的算法/公式,它考虑到 GLM 的数据点和族来选择原始系数向量 β0

2个回答

R'sglm不(默认)以β的初始值开始,它以μ的初始值开始。μ的初始值取决于家庭;它接近y但选择在可能的链接函数的域中。例如,对于二项式,y=r/n

μ=r+1/2nr+1/2
,对于泊松,μ=y+0.1,对于 Gamma,μ=y

μ的初始值用于计算工作响应和工作权重,这些用于计算β的第一个值(在第一次迭代之后)

可以指定一个初始值beta,并且对于某些链接/方差组合,您必须指定(例如,binomial(log)显然β=0不起作用但βT=(1,0,0,,0)确实)

好吧,经过大量搜索和阅读有关 GLM 背后理论的论文后,我发现了这个算法的初始值,它在数值上与 R 使用maxit = 1强制 R 输出其初始系数估计值一致。