【发布时间】:2019-10-09 21:30:14
【问题描述】:
我想运行带有日志链接和偏移量的高斯 GLM。 出现以下问题:
y <- c(1,1,0,0)
t <- c(5,3,2,4)
没问题:
exp(coef(glm(y~1 + offset(log(t)), family=poisson)))
使用family=gaussian,需要指定起始值,在这里可以使用:
exp(coef(glm(y~1, family=gaussian(link=log), start=0)))
但在这里不起作用:
exp(coef(glm(y~1 + offset(log(t)), family=gaussian(link=log), start=0)))
eval(expr, envir, enclos) 中的错误:找不到有效的起始值:请指定一些”
有没有人看到有什么问题(希望只是在我的编码中)?
【问题讨论】:
-
"does not work" 不如实际的错误消息有用,实际错误消息是 "Error in eval(expr, envir, enclos) : 找不到有效的起始值:请指定一些" 我玩过 w/一些简单的
glm(y~1+offset(junk)),一切正常。我认为你有一个非常小的数据集和一些不太可能的偏移量,所以 glm 根本找不到合适的。 -
我的“非常小的数据集”就是人们所说的最小示例让你
-
是不是因为你想取log of 0?
-
不,起始值应该在线性预测尺度上,这意味着它从 beta_zero=0 开始。其他起始值相同的错误。想知道为什么 R 在实际指定初始值时会要求它们...
-
@Andi 我的意思是在
y值中记录 0。尝试使用非零正数y,它会起作用,并且不需要start。