mk9*_*k9y 1 estimation r gamlss
从gamlss.dist页面exGAUSS:
心理学家经常使用前高斯分布来模拟响应时间 (RT)。它是通过添加两个随机变量来定义的,一个随机变量来自正态分布,另一个来自指数分布。参数
mu和sigma是正态分布变量的平均值和标准差,而参数nu是指数变量的平均值。
以下是我们应该如何估计参数:
library(gamlss)
y <- rexGAUS(100, mu = 300, nu = 100, sigma = 35)
m1 <- gamlss(y ~ 1, family = exGAUS)
m1
Run Code Online (Sandbox Code Playgroud)
不幸的是,估计值相差甚远:
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
Run Code Online (Sandbox Code Playgroud)
从 CRAN 中消失的软件包retimes仍然可以从
https://cran.r-project.org/src/contrib/Archive/retimes/retimes_0.1-2.tar.gz它有一个功能
mexgauss:
library(retimes)
mexgauss(y)
Run Code Online (Sandbox Code Playgroud)
给出:
mu sigma tau
319.42880 55.51562 85.94403
Run Code Online (Sandbox Code Playgroud)
哪个更接近。
sigma和 的估计值nu在模型输出中似乎相差甚远。这是因为exGaus()默认情况下这两个参数都使用日志链接。从文档中,显示默认值:
exGAUS(mu.link = "身份", sigma.link = "日志", nu.link = "日志")
输出显示模型尺度上的结果,因此这两个参数的估计值是在对数尺度上给出的。
如果我们对结果取幂sigma,nu那么我们会得到看起来更合理、更接近我们预期的估计值。
# 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
Run Code Online (Sandbox Code Playgroud)
由reprex 包于 2021 年 10 月 11 日创建(v2.0.0)