首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mgcv GAM,带betar

mgcv GAM,带betar
EN

Stack Overflow用户
提问于 2019-11-26 05:59:00
回答 1查看 530关注 0票数 0

有谁知道如何从模型输出(具有beta分布的mgcv GAM )获得拟合的φ参数?

参考提供的betar gam example

代码语言:javascript
复制
library(mgcv)
## Simulate some beta data...
set.seed(3);n<-400
dat <- gamSim(1,n=n)
mu <- binomial()$linkinv(dat$f/4-2)
phi <- .5
a <- mu*phi;b <- phi - a;
dat$y <- rbeta(n,a,b) 

bm <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=betar(link="logit"),data=dat)

输出显示了"Family:Beta regression“下的phi估计。

代码语言:javascript
复制
> bm

Family: Beta regression(0.491) 
Link function: logit 

Formula:
y ~ s(x0) + s(x1) + s(x2) + s(x3)

Estimated degrees of freedom:
1.73 1.63 5.62 1.00  total = 10.98 
EN

回答 1

Stack Overflow用户

发布于 2019-11-26 07:58:56

在拟合期间,gam函数调用betar(),然后betar()估计名为theta的phi参数。我引用了下面对函数的描述:

描述:

与‘gam’或‘bam’一起使用的族,为(0,1)上的beta分布数据实现回归。线性预测器控制β分布的均值µ,而方差则是µ(1-µ)/(1+phi),其中参数φ在拟合期间被估计,以及平滑参数。

用法:

betar(theta = NULL,link = "logit",eps=.Machine$double.eps*100)参数: theta:额外的参数(上面的phi)。

使用您已有的示例,您只需查看gam对象:

代码语言:javascript
复制
bm <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),family=betar(link="logit"),data=dat)
exp(bm$family$getTheta())
[1] 0.4913482
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59040708

复制
相关文章

相似问题

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