如何在R中的glm族参数中指定对数正态分布?


17

一个简单的问题:如何在R中的GLM系列参数中指定对数正态分布?我找不到如何实现的目标。为什么对数正态(或指数)不是family参数中的选项?

我读到R存档中的某个地方,只需指定GLM中设置为高斯的族的对数链接,即可指定对数正态。但是,这是无稽之谈,因为这将适合非线性回归并且R开始要求起始值。

有人知道如何为GLM设置对数正态(或指数)分布吗?


1
应该在带有[r]标签的SO上。
DWin 2012年

4
@DWin-我一次不同意-我经常投票决定自己将Q迁移到SO,但是这个问题具有重要的统计内容。
2012年

Answers:


8

gamlss包允许您以适应这两个对数正态分布和指数分布,和一堆别人的广义相加模型,其中一些品种在链接功能和使用,如果你愿意的话,基于惩罚样条半或者非参数模型。它已经发表了一些有关所使用的算法的论文,以及与我链接到的站点相关的文档和示例。


10

关于将指数模型拟合为glm:当使用glmfamily = Gamma 的函数时,还需要使用的支持工具summary.glm才能将色散参数固定为1:

?summary.glm
fit <- glm(formula =..., family = Gamma)
summary(fit,dispersion=1) 

正如我要指出的那样,但jbowman击败了我,“ gamlss”软件包提供了对数正态拟合:

help(dLOGNO, package=gamlss.dist)

1
我不知道固定色散参数(+1)。
jbowman 2012年

我认为我在另一篇文章中看到了该解决方案。但是,有两个问题。首先,在这种情况下,仅对摘要进行调整,但我需要提取的参数(残差等)未针对1的离散度进行调整,否则我错了吗?其次,由于数据集中有零(实际上是很小的数值,但设置为零),所以我不适合family = Gamma。我将签出gamlss.dist包!
詹斯2012年

1
好吧,零问题不是R或问题glm,而是数学问题,...,如果您有参数估计,则残差的构造在R中是微不足道的。用[r]标签在SO中发布该问题,您肯定会得到快速的响应。
DWin 2012年

9

对数正态分布不是一种选择,因为对数正态分布不在指数分布中。广义线性模型只能拟合指数族的分布。

我不太清楚为什么指数是不是一种选择,因为指数分布指数分布族(如你可能希望如此)。我熟悉的其他统计软件允许将指数分布作为GLM拟合,方法是将其视为Gamma分布的特例,其形状(aka标度或色散)参数固定为1,而不是估计值。但是,我看不到使用R glm()函数修复此参数的方法。一种替代方法是survreg()survival软件包中的函数与一起使用dist="exponential"

ylog(y)E(log(Y))log(E(Y)).


8
h(x),T(x),A(θ)

对于“广义线性模型只能拟合指数族的分布”的说法,您是否有参考?
亨里克(Henrik)'18年

5

拟合对数正态GLM与功能的分布或链接选项无关glm()。从这个意义上讲,术语“对数正态”相当混乱,但是它意味着响应变量是正态分布的(family = gaussian),并且通过以下方式对该变量进行了转换:

log.glm <- glm(log(y)~x, family=gaussian, data=my.dat)

但是,在将此对数正态glm与使用不同分布(例如gamma)的其他glms进行比较时,应更正AIC()函数。在这种情况下,有人会知道这些错误的AIC()的替代方法吗?


2
欢迎来到@CHarma网站。如果您有任何疑问,请单击右上角的灰色“询问问题”,而不是将其包括在答案中。
gung-恢复莫妮卡

1

尝试使用以下命令:

log.glm = glm(y ~ x, family=gaussian(link="log"), data=my.dat)

它在这里有效,AIC似乎是正确的。


7
这个答案是错误的。这将意味着y的条件分布是高斯分布,并且所记录的均值将等于线性预测变量。当然不是OP所描述的。
Michael M
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.