R语言混合模型回归GBTM群组轨迹模型绘图可视化研究

全文链接:https://tecdat.cn/?p=38581

在回归分析的广袤领域中,面对具有多条未知函数线的复杂数据时,传统方法常常捉襟见肘。混合模型作为一种强有力的分析手段应运而生,其在处理此类复杂情境时展现出独特的优势与潜力**(** 点击文末"阅读原文"获取完整代码数据******** )。

在实际应用中,如重复测量基于群组的轨迹类型混合模型,诸多因素如样本量大小、时间周期长短、数据分布类型等都会对模型效果产生深刻影响,而这些影响在模型应用前往往难以确切预估。因此,通过模拟数据来深入探究混合模型在不同条件下的表现成为关键研究路径。

混合模型在回归分析中的应用:基于R语言的研究

本文探讨了混合模型在处理具有多条线的回归模型中的应用,通过在R语言中进行实验,展示了混合模型在不同情境下的表现,包括恢复正确的基础方程、AIC/BIC准则在确定群组数量时的局限性以及随机效应模型与潜在群组模型的对比等,为相关领域的研究和实践提供了参考。

在处理回归模型时,当需要拟合具有多条线且事先未知特定函数或线的识别情况时,混合模型是一种有效的解决方案。在测试不同算法时,模拟数据是一种重要的手段,因为通常难以知晓估计器在特定数据上的表现。在混合模型的诸多情形中,例如重复测量基于群组的轨迹类型混合模型,很难预先知道其效果。

例如,是大样本量NN和小时间周期TT,还是小NN和大TT?(如Erosheva等人在2014年指出,较大样本量往往会导致识别出更多的混合成分)。数据是稀疏泊松分布还是高计数泊松分布?有大量数据点时,数据规模和计算时间的关系如何?这些情况都适合通过模拟来观察在已知正确答案时模型的表现。这些问题与特定算法无关,例如对于k - 中心点算法(Adepeju等人,2021;Curman等人,2015)或在这种情况下使用的任何聚类算法都存在。

本文将展示一些不同的结果,包括基于群组的轨迹模型(GBTM)能够恢复正确的基础方程、AIC/BIC拟合统计量难以区分正确的群组数量以及当基础模型是随机效应而非潜在群组时,AIC/BIC表现良好等。

R语言中的示例

(一)数据

首先设置随机种子,三个不同泊松模型的纵向数据。需要注意的是,混合模型不会将一个观测值100%分配给一个基础混合成分,但此处模拟的数据是100%属于特定群组的。

go 复制代码
# 设置基础的3个模型
time <- dat$t
# 模型1的参数方程
p1 <- 3.5 - time
# 模型2的参数方程
p2 <- 1.3 + (-1 * time) + 0.1 * time^2
# 模型3的参数方程
p3 <- 0.15 * time

(二)模型拟合与评估

  1. 拟合3混合模型
  • 接着拟合一个3混合模型,将后验概率最高的值分配回原始数据集,并查看结果。
go 复制代码
# 拟合flexmix模型
mod3 <- flexmix(obs_pois ~ time + I(time^2) | id, 
model = FLXMRglm(family = "poisson"),
 data = dat, k = 3)
dat$mix3 <- clusters(mod3)
# 查看与真实标签的重叠情况
table(dat$lat, dat$mix3)/num\_time\_periods
  • 从结果(如图1所示)可以看出,识别出的群组效果较好,在这个例子中200个样本仅有4个群组被错误分类。

  • 图1:

  1. 检查基础方程的恢复情况
  • 然后检查基础方程是否被正确恢复(可能存在群组间分离良好,但多项式拟合不佳的情况)。

  • 结果(如图2所示)表明方程的估计效果达到预期。标准误差较大是因为对于广义线性模型而言,数据样本量并非足够大。

  • 图2:

  1. AIC/BIC在确定群组数量时的表现
  • 当不知道正确的群组数量时,拟合1到8个群组的模型,并使用典型的AIC/BIC准则来确定所选群组。

  • 结果(如图3所示)显示,对于3/5个群组实际上拟合了相同的模型(有时即使告诉flexmix拟合5个群组,它也可能只返回较少的数量)。可以看到从群组4开始的拟合统计量几乎相同。所以虽然在这个模拟示例中AIC/BIC在技术上选择了正确的数量,但在选择3个群组还是4个群组时界限很模糊。

  • 图3:

(三)随机效应模型的模拟与对比

  1. 模拟随机效应模型
  • 模拟随机效应模型,包括随机截距和随时间的简单线性趋势。
go 复制代码
# 模拟随机效应模型
library(lme4)

re\_mod <- glmer(re\_pois ~ 1 + time + (1 | id),
  • 结果(如图4所示)表明随机效应模型运行良好,能够恢复固定系数并估计随机截距的正确方差。

  • 图4:

  1. AIC/BIC在随机效应模型与GBTM模型中的对比
  • 比较随机效应模型与GBTM模型在1到8个群组下的AIC/BIC。
go 复制代码
################################################
# 测试随机效应与GBTM的AIC/BIC

 data = dat, k = i)
 aic\[i + 1\] <- AIC(mod)
 bic\[i + 1\] <- BIC(mod)
}
  • 结果(如图5所示)表明flexmix最多给出2个群组的解,且随机效应模型的拟合(无论是AIC还是BIC)比GBTM小很多,不太可能出现错误选择。

  • 图5:

基于R语言的群组轨迹模型相关绘图分析

接下来我们聚焦于基于R语言的群组轨迹模型,详细阐述了如何利用ggplot2包进行数据处理与绘图分析。通过一系列自定义函数,对模型预测值、加权均值等进行计算与可视化展示,包括个体轨迹图、预测值与加权均值图等多种绘图类型,深入探讨了模型在绝对拟合度评估方面的表现,为相关研究与实践提供了全面且实用的参考。

数据加载与模型拟合

go 复制代码
out1 <- crimCV(TO1adj,

首先加载数据,使用crimCV函数拟合基于群组的模型,并绘制基础图(如图1所示)。

此步骤为后续的深入分析与绘图奠定了基础,通过拟合模型得到初步的结果呈现。


点击标题查阅往期内容

R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据

左右滑动查看更多

01

02

03

04

绘图分析

(一)个体轨迹图

结果图(如图2所示)展示了个体轨迹,可观察其与预测模型的拟合程度以及是否存在异常值。通过设置透明度,能在一定程度上缓解数据重叠问题。

(二)预测值与加权均值图

go 复制代码
# 绘制预测值与加权均值图
p2 <- ggplot() + geom\_line(data = pred, aes(x = x, y = pred\_mean, col = as.factor(Group))) +

该图(如图3所示)呈现了预测均值与加权均值,weighted_means函数利用群组后验概率计算观测群组平均值,有助于对比分析模型预测与实际数据的关系。

(三)预测值、加权均值与非加权均值图

此图(如图4所示)展示了预测值、加权均值与非加权均值,可发现非加权均值与加权均值在某些群组中几乎相同,反映了数据的一些内在特征。

(四)预测值叠加个体轨迹图

go 复制代码
pred$GMax <- pred$Group

结果图(如图5所示)将预测群组均值叠加在个体轨迹上,直观展示了预测值与个体数据的分布关系。

(五)最大后验概率图

go 复制代码
p5 <- ggplot(data = subD, aes(x =

该图(如图6所示)为抖动点图,展示了每个群组的最大后验概率,可看出不同群组的概率分布差异,反映了群组分类的模糊性程度。

(六)散点图矩阵

散点图矩阵(如图7所示)展示了个体概率之间的关系,可观察到群组之间的分离情况,边缘点表示较好的群组分离,中间点则暗示分类的模糊性。

(七)堆叠面积图

堆叠面积图(如图8所示)呈现了不同群组数据的累积情况,从另一个角度展示了数据在群组间的分布特征。

结论

本文通过一系列函数的定义与应用,结合多种绘图分析,深入探讨了基于R语言的群组轨迹模型在数据处理与可视化方面的表现。从个体轨迹到各种均值对比图,再到反映模型拟合度指标的相关绘图,全面展示了模型的特性与数据的内在规律。这些分析方法与绘图结果有助于研究人员在相关领域更好地理解和应用群组轨迹模型,为进一步的研究与决策提供有力支持。同时,模型的绝对拟合度评估指标如平均最大后验概率和正确分类优势比等,为衡量模型性能提供了量化依据,可指导模型的优化与改进。在未来研究中,可进一步探索模型在不同数据场景下的应用与拓展,以及与其他分析方法的结合使用,以提升对复杂数据的处理与理解能力。

参考文献

Adepeju, M., Langton, S., & Bannister, J. (2021). Anchored k-medoids: a novel adaptation of k-medoids further refined to measure long-term instability in the exposure to crime. Journal of Computational Social Science, 1-26.

Grün, B., & Leisch, F. (2007). Fitting finite mixtures of generalized linear regressions in R. Computational Statistics & Data Analysis, 51(11), 5247-5252, 5247-5252").

Curman, A. S., Andresen, M. A., & Brantingham, P. J. (2015). Crime and place: A longitudinal examination of street segment patterns in Vancouver, BC. Journal of Quantitative Criminology, 31(1), 127-147, 127-147").

Erosheva, E. A., Matsueda, R. L., & Telesca, D. (2014). Breaking bad: Two decades of life-course data analysis in criminology, developmental psychology, and beyond. Annual Review of Statistics and Its Application, 1, 301-332.

本文中分析的数据、代码**** 分享到会员群,扫描下面二维码即可加群!

资料获取

在公众号后台回复"领资料",可免费获取数据分析、机器学习、深度学习等学习资料。

点击文末**"阅读原文"**

获取全文完整代码数据资料。

本文选自《R语言混合模型回归GBTM群组轨迹模型绘图可视化研究》。

点击标题查阅往期内容

多水平模型、分层线性模型HLM、混合效应模型研究教师的受欢迎程度

R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例

R语言混合线性模型、多层次模型、回归模型分析学生平均成绩GPA和可视化

R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例

R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据

R语言 线性混合效应模型实战案例

R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据

R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言建立和可视化混合效应模型mixed effect model

R语言LME4混合效应模型研究教师的受欢迎程度

R语言 线性混合效应模型实战案例

R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言如何解决线性混合模型中畸形拟合(Singular fit)的问题

基于R语言的lmer混合线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言分层线性模型案例

R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型

使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据

用SPSS估计HLM多层(层次)线性模型模型

相关推荐
雪兽软件6 分钟前
2024 年的科技趋势
人工智能·云计算·量子计算
开发者每周简报8 分钟前
量子革命 Google Willow
大数据·人工智能·ai
观音山保我别报错9 分钟前
Java中的LIst
开发语言·python
逆天小北鼻28 分钟前
linux 服务器安装jdk 1.8
java·linux·开发语言
羊小猪~~31 分钟前
C/C++语言基础--C++STL库之仿函数、函数对象、bind、function简介
java·c语言·开发语言·数据结构·c++·visualstudio·stl
jmoych42 分钟前
BI与业务对象-华为流程与数字化中的关键要素
大数据·运维·人工智能·低代码·华为·云计算
道友老李43 分钟前
【机器学习】数据分析之Pandas(一)
人工智能·python·机器学习·数据分析·pandas
最好Tony44 分钟前
人工智能学习总结blog3(Torch和PyTorch)
人工智能·pytorch·学习
堇舟1 小时前
第一章 从C到C++相关知识点
c语言·开发语言·c++
郝YH是人间理想1 小时前
某名校考研自命题C++程序设计——近10年真题汇总(下)
c语言·开发语言·c++·考研