目录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、WEIWeibull等。copula指定Copula函数类型如N高斯、C0Clayton、FFrank等可处理正负尾依赖。model模型结构B双变量、T三变量、BSS样本选择等。cens1/cens2生存分析中的删失指示符支持右删失、区间删失等。uni.fit若TRUE先拟合单变量模型获取初值有助于收敛。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~x1x2x3,y2~x1x2x3),datadataSim,marginsc(probit,probit),modelB)# 含平滑项的双变量Probitout_s-gjrm(list(y1~x1s(x2)s(x3),y2~x1s(x2)s(x3)),datadataSim,marginsc(probit,probit),modelB)# 依赖参数也作为协变量函数含平滑项eq.mu.1-y1~x1s(x2)eq.mu.2-y2~x1s(x2)eq.theta-~x1s(x2)# θ的公式outD-gjrm(list(eq.mu.1,eq.mu.2,eq.theta),datadataSim,marginsc(probit,probit),modelB)2.5、 对用户的关键建议收敛问题处理若收敛失败优先尝试uni.fit TRUE其次检查模型设定是否合理边缘分布是否匹配数据、Copula是否选对。样本量要求使用三参数边缘分布如Weibull需要更多数据信息。依赖参数建模在样本选择或内生性模型中若将θ作为协变量函数需有明确的实质理由。
联合回归模型——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、WEIWeibull等。copula指定Copula函数类型如N高斯、C0Clayton、FFrank等可处理正负尾依赖。model模型结构B双变量、T三变量、BSS样本选择等。cens1/cens2生存分析中的删失指示符支持右删失、区间删失等。uni.fit若TRUE先拟合单变量模型获取初值有助于收敛。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~x1x2x3,y2~x1x2x3),datadataSim,marginsc(probit,probit),modelB)# 含平滑项的双变量Probitout_s-gjrm(list(y1~x1s(x2)s(x3),y2~x1s(x2)s(x3)),datadataSim,marginsc(probit,probit),modelB)# 依赖参数也作为协变量函数含平滑项eq.mu.1-y1~x1s(x2)eq.mu.2-y2~x1s(x2)eq.theta-~x1s(x2)# θ的公式outD-gjrm(list(eq.mu.1,eq.mu.2,eq.theta),datadataSim,marginsc(probit,probit),modelB)2.5、 对用户的关键建议收敛问题处理若收敛失败优先尝试uni.fit TRUE其次检查模型设定是否合理边缘分布是否匹配数据、Copula是否选对。样本量要求使用三参数边缘分布如Weibull需要更多数据信息。依赖参数建模在样本选择或内生性模型中若将θ作为协变量函数需有明确的实质理由。