Answers:
关于将指数模型拟合为glm
:当使用glm
family = Gamma 的函数时,还需要使用的支持工具summary.glm
才能将色散参数固定为1:
?summary.glm
fit <- glm(formula =..., family = Gamma)
summary(fit,dispersion=1)
正如我要指出的那样,但jbowman击败了我,“ gamlss”软件包提供了对数正态拟合:
help(dLOGNO, package=gamlss.dist)
glm
,而是数学问题,...,如果您有参数估计,则残差的构造在R中是微不足道的。用[r]标签在SO中发布该问题,您肯定会得到快速的响应。
对数正态分布不是一种选择,因为对数正态分布不在指数分布族中。广义线性模型只能拟合指数族的分布。
我不太清楚为什么指数是不是一种选择,因为指数分布是指数分布族(如你可能希望如此)。我熟悉的其他统计软件允许将指数分布作为GLM拟合,方法是将其视为Gamma分布的特例,其形状(aka标度或色散)参数固定为1,而不是估计值。但是,我看不到使用R glm()
函数修复此参数的方法。一种替代方法是survreg()
将survival
软件包中的函数与一起使用dist="exponential"
。
拟合对数正态GLM与功能的分布或链接选项无关glm()
。从这个意义上讲,术语“对数正态”相当混乱,但是它意味着响应变量是正态分布的(family = gaussian),并且通过以下方式对该变量进行了转换:
log.glm <- glm(log(y)~x, family=gaussian, data=my.dat)
但是,在将此对数正态glm与使用不同分布(例如gamma)的其他glms进行比较时,应更正AIC()函数。在这种情况下,有人会知道这些错误的AIC()的替代方法吗?
尝试使用以下命令:
log.glm = glm(y ~ x, family=gaussian(link="log"), data=my.dat)
它在这里有效,AIC似乎是正确的。