【问题标题】:Why does gamlss give incorrect estimates of ex-gaussian distribution parameters?为什么 gamlss 对前高斯分布参数的估计不正确?
【发布时间】:2021-10-11 16:22:34
【问题描述】:

来自exGAUSSgamlss.dist页面:

心理学家经常使用前高斯分布来模拟响应时间 (RT)。它是通过添加两个随机变量来定义的,一个来自正态分布,另一个来自指数分布。参数musigma是正态分布变量的均值和标准差,而参数nu是指数变量的均值。

这是我们应该如何估计参数:

library(gamlss)
y <- rexGAUS(100, mu = 300, nu = 100, sigma = 35)
m1 <- gamlss(y ~ 1, family = exGAUS)
m1

不幸的是,估计值相差甚远:

Family:  c("exGAUS", "ex-Gaussian") 
Fitting method: RS() 

Call:  gamlss(formula = y ~ 1, family = exGAUS) 

Mu Coefficients:
(Intercept)  
      302.9  
Sigma Coefficients:
(Intercept)  
      3.496  
Nu Coefficients:
(Intercept)  
       4.63  

从 CRAN 中消失的软件包,retimes,仍然可以从

安装
https://cran.r-project.org/src/contrib/Archive/retimes/retimes_0.1-2.tar.gz
有一个函数mexgauss
library(retimes)
mexgauss(y)

给予:

       mu     sigma       tau 
319.42880  55.51562  85.94403 

哪个更近。

【问题讨论】:

  • 你在这里问问题吗? Stack Overflow 是一个问答网站。这不是发布信息的地方。也许您可以编辑您的帖子以明确您的问题是什么。
  • 请注意,日志链接默认用于 sigma 和 nu,我认为这可能会使输出对于这两个参数有点混乱,因为输出似乎在模型(对数)尺度上。
  • @aosmith:您的见解显然是我应该看到的解决方案。我们知道 nu = 100, log(100) = 4.605,这与估计的 4.63 足够接近。同样 log(sigma) = log(35) = 3.555,接近估计值 3.496。 gamlss 的输出确实令人困惑,并且可以更加明确。

标签: r estimation gamlss


【解决方案1】:

sigmanu 的估计值在模型输出中似乎确实存在偏差。这是因为exGaus() 默认使用这两个参数的日志链接。从文档中,显示默认值:

exGAUS(mu.link = "identity", sigma.link = "log", nu.link = "log")

输出显示模型尺度的结果,因此这两个参数的估计值以对数尺度给出。

如果我们对 sigmanu 的结果求幂,那么我们得到的估计值看起来更合理,更接近我们的预期。

# estimated sigma should be close to 35
exp(3.496)
#> [1] 32.98325

# estimated nu shoud be close to 100
exp(4.63)
#> [1] 102.5141

reprex package (v2.0.0) 于 2021 年 10 月 11 日创建

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-21
    • 2019-02-24
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    相关资源
    最近更新 更多