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

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%属于特定群组的。

# 设置基础的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混合模型,将后验概率最高的值分配回原始数据集,并查看结果。

# 拟合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:

8ca61af09b054c21c1c3257a2aa45fbd.png

  1. 检查基础方程的恢复情况

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

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

  • 图2:

c0b7bd2e90a86961530e61eb811265b8.png

  1. AIC/BIC在确定群组数量时的表现

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

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

  • 图3:

2d7d4011a38a985caffd4759aec1da00.png

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

  1. 模拟随机效应模型

  • 模拟随机效应模型,包括随机截距和随时间的简单线性趋势。

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

  • 图4:

c8f2c98084d320e6bf630a7688b92e70.png

  1. AIC/BIC在随机效应模型与GBTM模型中的对比

  • 比较随机效应模型与GBTM模型在1到8个群组下的AIC/BIC。

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

  • 图5:

ce402845affd25bef0eada3cf821894a.png

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

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

数据加载与模型拟合

out1 <- crimCV(TO1adj,

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

95d9ebb014fde6be0b86f28bb52b58a6.png

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


点击标题查阅往期内容

16f566ddbc79fb27d4d983dd76efd83e.jpeg

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

outside_default.png

左右滑动查看更多

outside_default.png

01

b9d7465ee4738ebd2e81b0a2c0b73391.png

02

a36dc169dde2021876da0910dc116ee5.png

03

e1aea2bdacdb4e93e5207500c01546c6.png

04

a90dabc1704fe75608fb5d5338ecf6cc.png

绘图分析

(一)个体轨迹图

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

54103c8235282ea0389f1aa8add872af.png

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

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

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

88794c1ad013ee87f6a13394515728bf.png

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

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

cd686cc6ef7e07f59050ce9be13693f4.png

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

pred$GMax <- pred$Group

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

9c4b5b2fc6d4426b86e1797c534f2459.png

(五)最大后验概率图

p5 <- ggplot(data = subD, aes(x =

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

4cab900da2f9cf01ebe3596068dcbe03.png

(六)散点图矩阵

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

6046959d8bf832cfc04c7b2493c11c05.png

(七)堆叠面积图

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

4419ae1bf60f2e250e2e45ef9d0b8f31.png

结论

本文通过一系列函数的定义与应用,结合多种绘图分析,深入探讨了基于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.

9cc913c5f78ee2e1df9bb1a76887d12f.jpeg

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

422a8eb642f751382ff154101b2d9f1a.png


资料获取

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

39c0c17ba2960db63af29850bab27176.jpeg

点击文末“阅读原文”

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

本文选自《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多层(层次)线性模型模型

faa392316d4bd7ed7ce74f826071e509.jpeg

ea43d1aab98a90278c44193891faf0e4.png

6a29dada5dfc77d1148f3f70a1c8cc24.png

21ab904d634bbca8f056041b13d02811.jpeg

ad714b3a67a4bd2487cf982e6c1fd0cf.png

相关文章:

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

全文链接&#xff1a;https://tecdat.cn/?p38581 在回归分析的广袤领域中&#xff0c;面对具有多条未知函数线的复杂数据时&#xff0c;传统方法常常捉襟见肘。混合模型作为一种强有力的分析手段应运而生&#xff0c;其在处理此类复杂情境时展现出独特的优势与潜力&#xff08…...

【毕业设计】A079-基于Java的影院订票系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看项目链接获取⬇️&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600个选题ex…...

Vue.js前端框架教程11:Vue监听器watch和watchEffect

文章目录 监听器&#xff08;watchers&#xff09;基本用法deep: trueimmediate: true总结 watchEffect基本用法自动追踪依赖停止监听与 watch 的对比性能优化总结 监听器&#xff08;watchers&#xff09; 在 Vue 中&#xff0c;监听器&#xff08;watchers&#xff09;是一种…...

疾风大模型气象系统:精准预报,引领未来

精准预报,引领未来 在当今快速变化的世界中,天气预报已成为日常生活和社会运行中不可或缺的一部分。从规划日常出行到防范极端天气影响,高精准的气象服务正在重新定义我们的生活方式。而在这一领域,疾风大模型气象系统以其卓越的技术实力和领先的预测能力,正引领气象服务…...

U9应收单拉单生成时找不到退货单

财务说做应收单时抓不到一张退货单。2022年单据。这样的单据让人联想翩翩&#xff0c;胡思乱想。怎么复杂怎么想&#xff0c;钻了牛角尖。分析了1天也没有结果。不知道系统的逻辑&#xff0c;只能用猜想的形式去分析。 问过顾问之后&#xff0c;原来是单据类型错了。从而知道了…...

设计模式--单例模式【创建型模式】

设计模式的分类 我们都知道有 23 种设计模式&#xff0c;这 23 种设计模式可分为如下三类&#xff1a; 创建型模式&#xff08;5 种&#xff09;&#xff1a;单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式&#xff08;7 种&#xff09;&#xff1…...

挑战一个月基本掌握C++(第七天)了解指针,引用,时间,输入输出,结构体,vector容器,数据结构 - 通用完结

一 指针 每一个变量都有一个内存位置&#xff0c;每一个内存位置都定义了可使用连字号&#xff08;&&#xff09;运算符访问的地址&#xff0c;它表示了在内存中的一个地址。 下面的实例&#xff0c;它将输出定义的变量地址&#xff1a; #include <iostream>using…...

百度面试手撕 go context channel部分学习

题目 手撕 对无序的切片查询指定数 使用context进行子协程的销毁 并且进行超时处理。 全局变量定义 var (startLoc int64(0) // --- 未处理切片数据起始位置endLoc int64(0) // --- 切片数据右边界 避免越界offset int64(0) // --- 根据切片和协程数量 在主线程 动态设…...

Spring事务管理详解

一、什么是事务管理 事务是一个最小的不可再分的工作单元。 一个事务对应一套完整的业务操作。事务管理是指这些操作要么全部成功执行&#xff0c;要么全部回滚&#xff0c;从而保证数据的一致性和完整性。比如银行转账&#xff0c;需要保证转出和转入是一个原子操作。Spring提…...

社区版 IDEA 开发webapp 配置tomcat

1.安装tomcat 参考Tomcat配置_tomcat怎么配置成功-CSDN博客 2.构建webapp项目结构 新建一个普通项目 然后添加webapp的目录结构&#xff1a; main目录下新建 webapp 文件夹 webapp文件夹下新建WEB_INF文件夹 *WEB_INF目录下新建web.xml wenapp文件夹下再新建index.html …...

打 印 菱 形

本题要求你写个程序打印成菱形的形状。例如给定17个符号&#xff0c;要求按下列格式打印 **** *********所谓“菱形形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;符号数从1开始先从小到大顺序递增&#xff…...

ffmpeg翻页转场动效的安装及使用

文章目录 前言一、背景二、选型分析2.1 ffmpeg自带的xfade滤镜2.2 ffmpeg使用GL Transition库2.3 xfade-easing项目 三、安装3.1、安装依赖&#xff08;[参考](https://trac.ffmpeg.org/wiki/CompilationGuide/macOS#InstallingdependencieswithHomebrew)&#xff09;3.2、获取…...

[RocketMQ] 发送重试机制与消费重试机制~

发送重试 RocketMQ 客户端发送消息时&#xff0c;由于网络故障等因素导致消息发送失败&#xff0c;这时客户端SDK会触发重试机制&#xff0c;尝试重新发送以达到调用成功的效果。 触发条件 客户端消息发送请求失败或超时。服务端节点处于重启或下线状态。服务端运行慢造成请…...

基于Redis的网关鉴权方案与性能优化

文章目录 前言一、微服务鉴权1.1 前端权限检查1.2 后端权限检查1.3 优缺点 二、网关鉴权2.1 接口权限存储至Redis2.2 网关鉴权做匹配 总结 前言 在微服务架构中&#xff0c;如何通过网关鉴权结合Redis缓存提升权限控制的效率与性能。首先&#xff0c;文章对比了两种常见的权限…...

计算机网络-L2TP VPN基础概念与原理

一、概述 前面学习了GRE和IPSec VPN&#xff0c;今天继续学习另外一个也很常见的VPN类型-L2TP VPN。 L2TP&#xff08;Layer 2 Tunneling Protocol&#xff09; 协议结合了L2F协议和PPTP协议的优点&#xff0c;是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN&…...

Node.js day-01

01.Node.js 讲解 什么是 Node.js&#xff0c;有什么用&#xff0c;为何能独立执行 JS 代码&#xff0c;演示安装和执行 JS 文件内代码 Node.js 是一个独立的 JavaScript 运行环境&#xff0c;能独立执行 JS 代码&#xff0c;因为这个特点&#xff0c;它可以用来编写服务器后端…...

vue el-dialog实现可拖拉

el-dialog实现拖拉&#xff0c;每次点击度居中显示&#xff0c;以下贴出代码具体实现&#xff0c;我是可以正常拖拉并且每次度显示在中间&#xff0c;效果还可以&#xff0c;需要的可以丢上去跑跑 组件部分&#xff1a; <el-dialog:visible.sync"dialogVisible"…...

go配置文件

https://github.com/spf13/viper viper golang中常用的配置文件工具为viper库&#xff0c;是一个第三方库。viper功能&#xff1a; 解析JSON、TOML、YAML、HCL等格式的配置文件。监听配置文件的变化(WatchConfig)&#xff0c;不需要重启程序就可以读到最新的值。...

C++ OpenGL学习笔记(2、绘制橙色三角形绘制、绿色随时间变化的三角形绘制)

相关文章链接 C OpenGL学习笔记&#xff08;1、Hello World空窗口程序&#xff09; 目录 绘制橙色三角形绘制1、主要修改内容有&#xff1a;1.1、在主程序的基础上增加如下3个函数1.2、另外在主程序外面新增3个全局变量1.3、编写两个shader程序文件 2、initModel()函数3、initS…...

项目搭建+删除(单/批)

一 : 删除没有单独的页面,在列表页面写 二 : 删除在列表的页面 1.删除(单/双)的按钮 ① : 在列表文档就绪函数的ajax里面,成功回调函数追加数据里写删除按钮 注意点 : 删除/修改/回显都是根据id来的,记得传id ② : 批删给批删按钮,定义批删的方法 one : 示例(单删) : //循环追…...

《小米创业思考》

《小米创业思考》是小米创始人雷军对小米创业历程的系统梳理和深度思考&#xff0c;蕴含着许多宝贵的创业经验与智慧&#xff0c;以下是主要内容&#xff1a; 创业初心与梦想 - 源于热爱与使命感&#xff1a;雷军及团队怀着对科技的热爱和让每个人享受科技乐趣的使命感创立小米…...

多种注意力机制详解及其源码

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

VMWare 的克隆操作

零、碎碎念 VMWare 的这个克隆操作很简单&#xff0c;单拎出来成贴的目的是方便后续使用。 一、操作步骤 1.1、在“源”服务器上点右键&#xff0c;选择“管理--克隆” 1.2、选择“虚拟机的当前状态”为基础制作克隆&#xff0c;如下图所示&#xff0c;然后点击“下一页” 1.3、…...

Y3编辑器教程7:界面编辑器

文章目录 一、简介1.1 导航栏1.2 画板1.3 场景界面1.4 控件1.4.1 空节点1.4.2 按钮1.4.3 图片1.4.4 模型1.4.5 文本1.4.6 输入框1.4.7 进度条1.4.8 列表 1.5 元件1.5.1 简介1.5.2 差异说明1.5.3 元件实例的覆盖、还原与禁止操作1.5.4 迷雾控件 1.6 属性1.7 事件&#xff08;动画…...

「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具

本篇将带你实现一个评分统计工具&#xff0c;用户可以对多个选项进行评分。应用会实时更新每个选项的评分结果&#xff0c;并统计平均分。这一功能适合用于问卷调查或评分统计的场景。 关键词 UI互动应用评分统计状态管理数据处理多目标评分 一、功能说明 评分统计工具允许用…...

run postinstall error, please remove node_modules before retry!

下载 node_modules 报错&#xff1a;run postinstall error, please remove node_modules before retry! 原因&#xff1a;node 版本出现错误&#xff0c;我的项目之前是在 12 下运行的。解决方法&#xff1a; 先卸载node_modules清除缓存将node版本切换到12重新下载即可...

详细解读TISAX认证的意义

详细解读TISAX认证的意义&#xff0c;犹如揭开信息安全领域的一颗璀璨明珠&#xff0c;它不仅代表了企业在信息安全管理方面的卓越成就&#xff0c;更是通往全球汽车供应链信任桥梁的关键一环。TISAX&#xff0c;即“Trusted Information Security Assessment Exchange”&#…...

【开源项目】数字孪生轨道~经典开源项目数字孪生智慧轨道——开源工程及源码

飞渡科技数字孪生轨道可视化平台&#xff0c;基于国产数字孪生引擎&#xff0c;结合物联网IOT、大数据、激光雷达等技术&#xff0c;对交通轨道进行超远距、高精度、全天侯的监测&#xff0c;集成轨道交通运营数据&#xff0c;快速准确感知目标&#xff0c;筑牢轨交运营生命线。…...

云原生是什么

云原生是一种构建和运行应用程序的方法&#xff0c;它充分利用了云计算的优势。它不仅仅是指在云上运行应用程序&#xff0c;更重要的是指应用程序的设计、开发、部署和运维方式都充分考虑了云环境的特性&#xff0c;从而能够更好地利用云的弹性、可扩展性和灵活性。 更详细地…...

买卖股票的最佳时机 IV - 困难

************* C topic&#xff1a;188. 买卖股票的最佳时机 IV - 力扣&#xff08;LeetCode&#xff09; ************* Stock angin: Still stocks. Intuitively, it feels hard. For once: class Solution { public:int maxProfit(vector<int>& prices) {in…...