首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gamlss包中的ga()在做什么?

gamlss包中的ga()在做什么?
EN

Stack Overflow用户
提问于 2022-04-13 20:50:33
回答 2查看 127关注 0票数 1

我一直在研究gamlss软件包来拟合半参数模型,并在ga()函数中发现了一些奇怪的东西。即使模型被指定为具有伽马分布,并使用REML拟合,模型的输出也是高斯的,用GCV拟合。

例子:

代码语言:javascript
复制
library(mgcv)
library(gamlss)
library(gamlss.add)
data(rent)
ga3 <- gam(R~s(Fl)+s(A), method="REML", data=rent, family=Gamma(log))
gn3 <- gamlss(R~ga(~s(Fl)+s(A), method="REML"), data=rent, family=GA)

政府间环境管理示范摘要:

代码语言:javascript
复制
summary(ga3)

族:伽马链函数: log公式:r~ s(Fl) + s(A)参数系数:估计Std。误差t值Pr(>\x)(截距) 6.667996 0.008646 771.2 <2e-16 *代码:0‘*’0.001‘**’0.01‘*’0.05‘.’0.1‘’1‘Ref.df F_p-值s(F1) 1.263 1.482 442.53 <2e-16 ** s(A) 4.051 4.814 36.34 <2e-16 *代码:0‘*’0.001‘**’0.01‘*’0.05‘.’0.1‘’1R-平方.(Adj)= 0.302 Deviance Deviance= 28.8% -REML = 13979 est.= 0.1472 n=1969年

GAMLSS的示范摘要:

代码语言:javascript
复制
summary(getSmo(gn3))

族:高斯链接函数:恒等式: Y.var ~s(F1)+ s(A)参数系数:估计Std。误差t值Pr(>x)(截距) 6.306e-13 8.646e-03 0 1光滑项的近似意义: edf Ref.df F值s(F1) 1.269 1.492 440.14 <2e-16 * s(A) 3.747 4.469 38.83 <2e-16 *-符号。代码:0‘*’0.001‘**’0.01‘*’0.05‘.’0.1‘’1R-平方.(Adj)= 0.294 Deviance explained = 29.6% GCV = 0.97441 sq.= 0.97144 n=1969年

问题:

为什么模型输出给出了不正确的分布和拟合方法?这里有我遗漏的东西吗这是正确的吗?

EN

回答 2

Stack Overflow用户

发布于 2022-07-22 11:08:25

在使用ga()-function时,gamlss在后台调用mgcv中的gam()-function,而不指定家庭。因此,样条拟合假定为正态分布。因此,当你看到合适的平滑人家族:高斯和链接函数:身份。还请注意,在使用ga()时返回的尺度估计与正态分布有关。

票数 0
EN

Stack Overflow用户

发布于 2022-07-25 15:40:20

是的,在使用ga()-function时,每个gamlss迭代都在后台调用mgcv中的gam()-function。在每次迭代时,它使用正确的局部工作变量和局部权重来表示伽马分布。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71863713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档