GAM贝塔回归中如何为phi添加回归项并修改phi的链接函数
mgcv惩罚贝塔回归phi参数建模方法
你需要同时修改贝塔回归家族的phi链接配置、传入双组分公式分别定义均值和phi的预测逻辑,实现代码如下:
library(mgcv) # 示例数据 y <- c(0.0000943615,0.0074918919,0.0157332851,0.0783308615, 0.1546375803,0.5558444681,0.8583806898,0.9617216854, 0.9848004112,0.9964662546) x <- log(c(0.05, 0.1, 0.15, 0.2, 0.4, 0.8, 1.6, 3.2, 4.5, 6.4)) # 拟合双组分贝塔回归 fit.gam <- gam( # 公式为列表格式:第一部分定义均值的预测模型,第二部分定义phi的预测模型 formula = list( y ~ x, # 均值使用默认logit链接,预测项为x ~ x # phi使用下方指定的identity链接,预测项为x ), # 指定贝塔家族,同时修改phi的链接为identity family = betar(link = "logit", link.phi = "identity") )
参数说明
- 你看到的
betar的theta参数是固定精度参数phi的入口,仅当你不需要对phi建模、要求所有样本共享同一个固定phi值时才需要传入数值,当前需求不需要配置该参数。 - 拟合完成后执行
summary(fit.gam)即可查看结果,输出的第一部分为均值模型的系数检验结果,第二部分为phi模型的系数检验结果。
注意事项
identity链接不会对phi的预测值做范围约束,若拟合过程中出现phi≤0的报错,说明你的数据场景下identity链接不适用,建议换回默认的log链接保证phi恒为正。
内容的提问来源于stack exchange,提问作者Chinyako
相关产品推荐
相关产品推荐

