当前位置: 首页 > news >正文

联合回归模型——R语言包(GJRM)

目录

  • 1、简介
    • 1.1、主要功能与模型支持
    • 1.2、主要应用领域
    • 1.3、学术引用
  • 2、核心函数简介——gjrm()
    • 2.1、模型核心框架
    • 2.2、 主要参数解析
    • 2.3、 重要特性
    • 2.4、 示例代码(文档中的典型用法)
    • 2.5、 对用户的关键建议

1、简介

GJRM(Generalised Joint Regression Modelling) 是一个R语言软件包,用于构建和拟合灵活的联合回归模型,其核心特点是能够处理多个响应变量之间的关联性(即误差项相关)。
它通过使用copula(连接函数)来建模变量间的线性和非线性依赖关系,同时允许每个变量的边缘分布和依赖参数本身都作为协变量的灵活函数进行建模。该包最早名为SemiParBIVProbit,随着功能大幅扩展,现已更名为GJRM以更准确地反映其能力。

1.1、主要功能与模型支持

  • 模型类型广泛:支持二元(双变量)回归模型、样本选择模型、三元(三变量)二元模型,以及处理连续、离散、计数和生存数据等各类结局变量的联合模型。
  • 灵活的效应估计:可以通过惩罚回归样条(penalised regression splines)来估计协变量的非线性、平滑效应,其平滑参数选择机制借鉴了mgcv包。
  • 丰富的分布选择:支持多种边缘分布(如泊松、负二项、正态、生存分布等)和多种copula函数(如高斯、Frank、Clayton等)。
  • 估计与推断:采用基于惩罚似然的信赖域算法(trust region algorithm)进行参数估计,并提供基于贝叶斯近似的置信区间和用于检验光滑项的p值。

1.2、主要应用领域

GJRM的灵活性使其在多个领域得到应用,例如在体育分析中建模足球比赛主客队进球数的相关性,在健康经济学中处理带有样本选择或体制转换的数据,以及在生存分析中处理混合删失数据。

1.3、学术引用

在学术成果中使用GJRM时,通常建议引用其核心方法论论文或软件包本身。软件包作者提供的引用信息如下:

Marra G, Radice R (2024).GJRM: Generalised Joint Regression Modelling. R package version 0.2-6.7.

该包的主要作者是Giampiero Marra (伦敦大学学院) 和 Rosalba Radice (伦敦大学城市学院),其维护和开发获得了EPSRC的资助。更多详细信息可参考CRAN上的官方页面或作者于2025年出版的专著《Copula Additive Distributional Regression Using R》。

2、核心函数简介——gjrm()

gjrm()详细给出了如何拟合具有二元/连续/离散/生存边缘分布的广义联合回归模型。

以下是对函数内容的梳理和关键点解读:

2.1、模型核心框架

gjrm通过Copula(连接函数)将多个响应变量的边缘分布连接起来,并同时建模:

  • 边缘分布margins):每个响应变量可以服从不同的分布(如正态、泊松、Weibull、二项式logit/probit等)。
  • 依赖结构copula):通过Copula函数(如Gaussian、Clayton、Frank等)描述变量间的相关性,且依赖参数(θ)本身也可以作为协变量的函数进行建模。
  • 方程类型model):支持双变量/三变量模型、样本选择模型(BSS/TSS)、部分可观测模型(BPO)和体制转换模型(SWITCH)。

2.2、 主要参数解析

参数作用
formula核心参数。通常是一个列表,包含2个(或3个)公式。使用mgcv风格的s()指定平滑项。
margins指定每个响应的边缘分布,如"N"(正态)、"P"(泊松)、"probit"(二元probit)、"WEI"(Weibull)等。
copula指定Copula函数类型,如"N"(高斯)、"C0"(Clayton)、"F"(Frank)等,可处理正负尾依赖。
model模型结构:"B"(双变量)、"T"(三变量)、"BSS"(样本选择)等。
cens1/cens2生存分析中的删失指示符,支持右删失、区间删失等。
uni.fitTRUE,先拟合单变量模型获取初值,有助于收敛。
penCor三变量二元模型中相关系数的惩罚类型(lasso/ridge等)。

2.3、 重要特性

  • 非线性效应:通过mgcv风格的平滑样条(s())自动估计,并利用惩罚似然选择平滑参数。
  • 收敛诊断:使用conv.check()检查分数和信息矩阵,若收敛失败,文档建议:
    • 尝试uni.fit = TRUE获取更好初值;
    • 简化模型或更换Copula/边缘分布;
    • 检查数据稀疏性或模型设定是否合理(例如,使用Clayton 90°旋转Copula但实际为正相关会导致失败)。
  • 样本选择模型注意事项:确保选择样本和完整数据中因子变量的水平数一致,否则预测会出问题。

2.4、 示例代码(文档中的典型用法)

library(GJRM)# 经典双变量Probit模型(不含平滑项)out<-gjrm(list(y1~x1+x2+x3,y2~x1+x2+x3),data=dataSim,margins=c("probit","probit"),model="B")# 含平滑项的双变量Probitout_s<-gjrm(list(y1~x1+s(x2)+s(x3),y2~x1+s(x2)+s(x3)),data=dataSim,margins=c("probit","probit"),model="B")# 依赖参数也作为协变量函数(含平滑项)eq.mu.1<-y1~x1+s(x2)eq.mu.2<-y2~x1+s(x2)eq.theta<-~x1+s(x2)# θ的公式outD<-gjrm(list(eq.mu.1,eq.mu.2,eq.theta),data=dataSim,margins=c("probit","probit"),model="B")

2.5、 对用户的关键建议

  • 收敛问题处理:若收敛失败,优先尝试uni.fit = TRUE;其次检查模型设定是否合理(边缘分布是否匹配数据、Copula是否选对)。
  • 样本量要求:使用三参数边缘分布(如Weibull)需要更多数据信息。
  • 依赖参数建模:在样本选择或内生性模型中,若将θ作为协变量函数,需有明确的实质理由。

http://www.jsqmd.com/news/1301813/

相关文章:

  • AI如何30分钟揪出掺假牛肉?食品溯源系统漏洞扫描与智能识别实战(2024最新算法解密)
  • git 详解-问题篇
  • 音乐生成模型评测:旋律连贯性、和声合理性与风格一致性(续篇)
  • 解密高效Java字节码分析:CFR反编译工具专业指南
  • EasyAdmin 后台管理系统:基于 ThinkPHP6 和 Layui 的企业级开发解决方案
  • 过来人坦言:90% 自学网安新手踩下的 5 个大坑,避开少走半年弯路
  • DVWA Brute Force(暴力破解)Low/Medium/High 完整攻击流程
  • 百度网盘Mac版SVIP破解终极教程:免费解锁高速下载限制
  • 【AI减负实战指南】:20年IT老兵亲授5大高频重复场景的自动化落地路径
  • 官宣!Wayland正式支持基于IntelliJ的IDE
  • 2026年服装企业管理升级:从设计到成衣,ERP如何打通研产供销全链路?
  • 一篇让你明白整个网络架构的计算机网络入门教程。
  • Windows上直接运行安卓应用的终极指南:APK安装器完全教程
  • GDB 调试实战:从基础命令到高级汇编调试技巧
  • 如何在Linux系统上完美支持100+打印机:foo2zjs开源驱动完整指南
  • 三分钟唤醒你的智能伙伴:让小爱音箱拥有ChatGPT的灵魂
  • 终极中文POB指南:3分钟掌握PoeCharm流放之路角色构建
  • OpenClaw便携式2026,笔记本与U盘双模式使用
  • untrunc终极指南:快速修复损坏MP4视频的免费开源神器
  • 从0到月入3万:AI接单者不愿公开的定价阶梯模型,含成本锚点计算表
  • 如何在嵌入式设备上实现高性能AI推理:RKNPU2神经网络处理单元深度解析
  • 认知虫洞构造手册:基于黎曼-彭罗斯条件的对话拓扑隧道及其在创造性突破中的实证检测(手稿)
  • 如何在3分钟内免安装使用微信网页版:终极指南
  • 终极KMS激活指南:3分钟免费激活Windows和Office全系列
  • 30KG重载机器人对比:柔性力控与恒力打磨工艺,越疆行业智能升级
  • 终极QMC音频解密指南:免费快速转换QQ音乐加密文件
  • YimMenu终极指南:如何用这款GTA5防崩溃菜单保护你的游戏体验
  • Loop for macOS:5分钟掌握视觉化窗口管理终极解决方案
  • 692.前k个高频单词(堆优先队列)
  • Box64终极指南:如何在ARM64设备上流畅运行x86_64 Linux程序