简单问题:如何在 R 中的 GLM 系列参数中指定对数正态分布?我找不到如何实现这一点。为什么对数正态(或指数)不是家庭论证中的一个选项?
在 R-Archives 的某个地方,我读到只需使用 GLM 中设置为高斯的系列的日志链接,即可指定对数正态。然而,这是无稽之谈,因为这将适合非线性回归,并且 R 开始要求起始值。
有人知道如何为 GLM 设置对数正态(或指数)分布吗?
简单问题:如何在 R 中的 GLM 系列参数中指定对数正态分布?我找不到如何实现这一点。为什么对数正态(或指数)不是家庭论证中的一个选项?
在 R-Archives 的某个地方,我读到只需使用 GLM 中设置为高斯的系列的日志链接,即可指定对数正态。然而,这是无稽之谈,因为这将适合非线性回归,并且 R 开始要求起始值。
有人知道如何为 GLM 设置对数正态(或指数)分布吗?
gamlss包允许您拟合具有对数正态分布和指数分布的广义加法模型,以及其他一些具有多种链接函数的模型,如果您愿意,还可以使用基于惩罚样条的半参数或非参数模型。它发表了一些关于使用的算法的论文以及链接到我链接到的站点的文档和示例。
对数正态不是一个选项,因为对数正态分布不在指数分布族中。广义线性模型只能拟合指数族的分布。
我不太清楚为什么不能选择指数,因为指数分布属于指数族(如您所愿)。我熟悉的其他统计软件允许将指数分布拟合为 GLM,方法是将其视为 Gamma 分布的特例,其形状(也称为比例或色散)参数固定为 1 而不是估计的。但是,我看不到使用 Rglm()
函数修复此参数的方法。一种替代方法是survreg()
使用survival
带有dist="exponential"
.
如果您认为响应数据服从对数正态分布,则拟合回归模型的常用方法是对其进行对数变换,因为将具有正态分布。最简单的情况是拟合一个普通的(即非广义的)线性模型。生成的模型与您可以使用日志链接拟合 GLM 时得到的模型并不完全相同,但是,如
拟合对数正态 GLM 与分布无关,也与glm()
函数的链接选项无关。术语“对数正态”在这个意义上是相当混乱的,但意味着响应变量是正态分布的(family=gaussian),并且通过以下方式对该变量应用变换:
log.glm <- glm(log(y)~x, family=gaussian, data=my.dat)
但是,当将此对数正态 glm 与其他使用不同分布(例如,伽玛)的 glm 进行比较时,应更正 AIC() 函数。在这种情况下,有人会知道这些错误 AIC() 的替代方法吗?
关于用 拟合指数模型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)