为混合模型生成条件和边际 R 平方我在 JMP 16 中运行了一系列混合模型(一个随机效应,多个固定效应)。
我想生成以下估计:
- 边际 R^2 (R^2m):方差解释的比例固定效应相对于总体方差
- 条件 R^2 (R^2c): 解释方差的比例固定效应和随机效应相对于总体方差
有现成的脚本吗?
此外,JMP 如何计算R^2和调整后的 R^2在混合模型的拟合模型报告的“拟合摘要”选项卡中?
关于条件和边际 R^2 的注意事项: Nakagawa & Schielzeth (2013) 提出的方法适用于随机截距模型。 Johnson (2014) 提出了对包含随机斜率的模型的扩展(另请参见 Nakagawa、Schielzeth 和 Johnson 2017)。
约翰逊,PC 2014 年。 Nakagawa & Schielzeth 的 R2GLMM 扩展到随机斜率模型。 生态学与进化方法 5:944-46。 doi:10.1111/2041-210X.12225。
中川,S., & H。 席尔泽特。 2013 年。 从广义线性混合效应模型中获取 R2 的通用且简单的方法。 生态与进化方法 4(2):133-42。 doi:10.1111/j.2041-210x.2012.00261.x。
中川,S., H。 Schielzeth 和 PCD 约翰逊。 2017 年。 重新审视和扩展了广义线性混合效应模型中的决定系数 R2 和类内相关系数。 皇家学会界面杂志 14(134)。 doi:10.1098/rsif.2017.0213。
分析脚本视窗回复:为混合模型生成条件和边际 R 平方你看过说明书吗?
混合模型和随机效应模型 (jmp.com)
回复:为混合模型生成条件和边际 R 平方是的,我做到了,但我没有看到对条件或边际 R 平方的参考,也没有看到在哪里可以获得计算两个统计数据所需的方差项。 例如,请参阅 R 中的脚本说明: JAGS 中线性混合模型的边际和条件 R2 (samcarcagno.altervista.org)
回复:为混合模型生成条件和边际 R 平方我认为所有信息都可以在混合模型报告中找到。 但它可能需要大量的知识来识别和收集它们。 我会试一试。 我以 JMP 样本数据 Animals 为例。
第1部分
回答 JMP 如何获得 R^2。 运行嵌入在数据表中的脚本以显示报告。 并转到平台菜单并使用“保存列”->“条件预测值”来保存预测。 现在,您获得 R^2 的方式与从线性最小二乘模型中获得 R^2 的方式相同。 公式在这里拟合摘要. 例如,您需要响应和预测来获得残差并计算误差平方和 SSE;您需要响应及其平均值来计算总 SST 的平方和。 那么 R^2 是 (SST - SSE)/SST。 这是我的计算证明:

第2部分
现在回答你剩下的问题。 您需要 sigma_f^2、sigma_a^2 和 sigma_e^2。
您可以在拟合摘要中找到 sigma_e。 它是均方根误差。
您可以在 REML Variance Component Estimates 中找到 sigma_e^2。 它是与残差相关的 Var 组件。
这是他们关系的证明:

您可以在 REML Variance Component Estimates 中找到 sigma_a^2。 它是与随机效应相关的 Var Component。 对于此示例,只有一个组件:

现在来到 sigma_f^2。 这可能需要大量的线性模型知识。 您可能需要查阅一些教科书以了解以下步骤中的原因。 以下是步骤。
您需要固定参数估计的标准误差,并将它们放在一个称为 Matrix_S 的对角矩阵中,这些标准误差在对角线上。

您需要固定参数估计的相关矩阵。 您可以通过转到平台菜单“估计”>“估计的相关性”来找到它。 但是你不需要全部,只需要与固定参数相关联的左上角正方形部分。 将这部分矩阵放入称为 Matrix_R 的矩阵中。

现在你需要线性代数再次计算 Matrix_S、Matrix_R 和 Matrix_S 的乘积,得到一个新的矩阵。 结果是固定参数的协方差矩阵,称为COV。 对于这些矩阵运算,此页面可能会有所帮助:将相关矩阵转换为协方差矩阵
现在您再次需要 Parameter Estimates,这一次是 Estimate 部分。 将它们放在一个行向量中,称为 VECTOR。

现在,更多的线性代数。您需要计算 VECTOR * COV * transpose(VECTOR)。 你有你的 sigma_f^2。
现在你已经拥有了所有三个部分。 其余的计算是容易的部分。 但是编写一个脚本来自动完成它可能需要相当多的努力。
回复:为混合模型生成条件和边际 R 平方非常感谢您花时间提供详细的解释(以及相关的视觉效果)。
不幸的是,我认为计算sigma_f^2 组件超出了我的范围。
再次感谢!
回复:为混合模型生成条件和边际 R 平方事后看来,如果参考论文有数据集和模型,并给出了他们的结果,我可以提出以下建议吗?
使用他们的数据集并在 JMP 中拟合他们的模型。 你得到一个 JMP R^2。 将 JMP R^2 与其条件 R^2 进行比较。
然后,按照上面计算 JMP R^2 的相同步骤,但不是使用“条件预测值”,而是使用“保存列”菜单下的“预测值”,并计算不同的 R^2,称之为 R*^ 2. 将 R*^2 与论文中的边际 R^2 进行比较。
看看这些比较有多接近。 如果你能做到这些,请发回你发现的内容,让社区读者知道。 谢谢!
回复:为混合模型生成条件和边际 R 平方谢谢你。他们似乎确实在手稿的附录中提供了一个数据集。我会看看我是否可以检索它并运行您建议的测试。
我会让你知道发生了什么。 再次感谢您的意见。
回复:为混合模型生成条件和边际 R 平方再一次问好,
我尝试通过 JMP 中的混合建模程序(通过混合模型或带 REML 的 SLS)运行来自 Nakagawa 的“尺寸模型”数据。 输出导致随机效应的方差分量相似,AIC、BIC 值相似,但固定效应的系数与 Nakagawa 论文中的系数不同(见附件 pdf 中的表 3)。这可能是因为 R 和 JMP 对 3 种分类处理的系数使用不同的基本条件(例如,男性而不是女性)?
JMP 中的 R^2 (0.755) 与论文中的条件 R^2 (0.741) 非常相似,但并不完全相同。 我从 JMP 模型生成了一列预测值,并将这些预测值与原始数据进行了回归(如果我正确理解了您的建议)。 这产生了与边缘 R^2 (0.392) 非常相似的 R^2 (0.402),但又不完全相同。 你对这些差异有什么想法吗?
我附上了 Nakagawa 论文和导入的数据文件——后者有两个额外的列:预测值和条件预测值。
如果您想进一步探索数据,请这样做。 我将有兴趣了解更多信息。
再次感谢你。
回复:为混合模型生成条件和边际 R 平方补充观察:JMP 的截距值也与论文中报告的完整模型不同,但截距与空模型报告的截距相同。 结果的另一个小差异。
回复:为混合模型生成条件和边际 R 平方你做对了! 而且我能够匹配 JMP 和 R 结果。 您看到的差异是由于设计矩阵编码约定之间的差异。
这是并排的结果屏幕截图。 首先,方差分量完全匹配。 其次,JMP 固定效应参数估计(截距除外)正好是 R 的一半。标准误差也是一半。 R 对二进制 X 变量使用 (0, 1) 编码,JMP 对二进制 X 变量使用 (-1, 1) 编码。

我无法使用我在此处看到的数字来验证论文中提议的 R^2 数字,无论是 JMP 数字还是 R 数字。 我有点迷失他们所做的事情。 我注意到报告了他们的 R^2 的 GLMM 版本,其中涉及 sigma_d^2,我不明白它是什么,它在单独的论文中。 也许这就是缺失的部分。 此外,JMP 报告了随机效应之间的轻微相关性。 本文没有考虑随机效应之间的相关性。 这可能是第二个缺失的部分。
JMP 产生的 R^2 和我建议的另一个在概念上与他们想要实现的目标相似。 但我不知道如何获得他们的号码。 我很高兴这些数字相当接近。
回复:为混合模型生成条件和边际 R 平方
谢谢。 这很有意义:固定效应系数(尽管我不了解截距的差异)。
这是一个解释 R^2(m) 和 R^2(c) 的计算和组件的网站
https://jonlefcheck.net/2013/03/13/r2-for-linear-mixed-effects-models/
它描述了分母中的最后两项如下:“ ... t最后两项将剩余方差加起来,分别是加性色散分量(对于非正态模型)和特定于分布的方差”。不知道这意味着什么。
你认为这些解释了微小的差异(即它们是微小的调整)吗?
回复:为混合模型生成条件和边际 R 平方对不起,还有一个相关的问题。如果要从 JMP 中的完整模型输出中近似条件 R^2,您建议使用 R^2 还是调整后的 R^2?