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/BIC

 data = 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/940268.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 HC_SR04的超声波测距数码管显示(智能小车超声波避障部分)

超声波测距模块HC-SR04 1、产品特色 ①典型工作用电压&#xff1a;5V ②超小静态工作电流&#xff1a;小于 5mA ③感应角度(R3 电阻越大,增益越高,探测角度越大)&#xff1a; R3 电阻为 392,不大于 15 度 R3 电阻为 472, 不大于 30 度 ④探测距离(R3 电阻可调节增益,即调节探测…

Unity 使用字符串更改Text指定文字颜色、大小、换行、透明

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、使用字符串改变文字属性的方法&#xff08;一&#xff09;修改颜色&#xff08;二&#xff09;修改大小&#xff08;三&#xff09;换行&#xff08;四&…

JS CSS HTML 的代码如何快速封装

我们为什么要封装代码&#xff0c;是因为封装后的代码&#xff0c;会显得非常美观&#xff0c;减少代码的复用&#xff0c;方便我们更好的去维护代码&#xff0c;不用一个一个页面的去找去改&#xff0c;直接封装好的代码里面去改就可以了 目录 1.html代码封装 2.CSS代码封装…

《Vue3实战教程》5:响应式基础

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 响应式基础​ API 参考 本页和后面很多页面中都分别包含了选项式 API 和组合式 API 的示例代码。现在你选择的是 组合式 API。你可以使用左侧侧边栏顶部的“API 风格偏好”开关在 API 风格之间切换。 声明响应式状态…

黑马Java面试教程_P8_并发编程

系列博客目录 文章目录 系列博客目录前言1.线程的基础知识1.1 线程和进程的区别&#xff1f;难2频3面试文稿 1.2 并行和并发有什么区别&#xff1f; 难1频1面试文稿 1.3 创建线程的四种方式 难2频4面试文稿 1.4 runnable 和 callable 有什么区别 难2频3面试文稿 1.5 线程的 run…

谷歌浏览器的扩展市场使用指南

谷歌浏览器的扩展市场为用户提供了丰富多样的功能扩展&#xff0c;可以大幅提升浏览体验。本文将为你详细介绍如何使用谷歌浏览器的扩展市场&#xff0c;包括安装、管理和一些推荐的无障碍工具、图标重置方法和便捷操作技巧。&#xff08;本文由https://chrome.py010.cn/的作者…

线程知识总结(一)

1、概述 1.1 进程与线程 进程是程序运行时&#xff0c;操作系统进行资源分配的最小单位&#xff0c;包括 CPU、内存空间、磁盘 IO 等。从另一个角度讲&#xff0c;进程是程序在设备&#xff08;计算机、手机等&#xff09;上的一次执行活动&#xff0c;或者说是正在运行中的程…

【优选算法】Prefix-Kage:前缀和的算法影(上)

文章目录 1.概念解析2.代码实现2.1【模版】前缀和&#xff08;一维&#xff09;2.1.1 原理2.1.2 代码实现 2.2【模版】前缀和&#xff08;二维&#xff09;2.2.1 原理2.2.2 代码实现 希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 本篇是优选算…

CVE-2024-32709 WordPress —— Recall 插件存在 SQL 注入漏洞

漏洞描述 WordPress 是一款免费开源的内容管理系统,适用于各类网站,包括个人博客、电子商务系统、企业网站。其插件 WP-Recall 的 account 存在 SQL 注入漏洞,攻击者可以通过该漏洞获取数据库敏感信息。 WP-Recall 版本 <= 16.26.5 漏洞复现 搭建环境、安装插件、完成…

网络安全概论——虚拟专网VPN技术

一、VPN概述 1、VPN的概念 所谓虚拟专网&#xff08;Virtual Private Network VPN&#xff09;是指将物理上分布在不同地点的网络通过公用网络连接而构成逻辑上的虚拟子网&#xff0c;它采用认证、访问控制、机密性、数据完整性等安全机制在公用网络上构建专用网络。 如何理…

mobilenetv2-inceptionv3-resnet50三大模型对比实现人脸识别反欺诈系统【带UI界面】

完整项目包获取→点击文章末尾名片&#xff01; 关于数据集&#xff1a;超大规模人脸欺诈数据集。共70多G。 关于模型对比&#xff1a; inceptionv3&#xff1a; mobilenetv2&#xff1a; resnet50&#xff1a; 关于系统&#xff1a; 界面&#xff1a;

十一、e2studio VS STM32CubeIDE之宏函数展开

目录 一、概述/目的 二、复杂宏函数举例 三、编译-预处理 四、stm32cubeide和e2studio的预处理 五、source insight和vscode 一、概述/目的 复杂宏函数如何快速展开 二、复杂宏函数举例 #define R_BSP_MODULE_START(ip, channel) {FSP_CRITICAL_SECTION_DEFI…

FreeRTOS的任务调度

1.启动任务调度器 vTaskStartScheduler void vTaskStartScheduler( void ) { BaseType_t xReturn;/* Add the idle task at the lowest priority. */#if ( INCLUDE_xTaskGetIdleTaskHandle 1 ){/* Create the idle task, storing its handle in xIdleTaskHandle so it canbe …

【Java基础面试题024】Java中包装类型和基本类型的区别是什么?

回答重点 基本类型&#xff1a; Java中有8种基本数据类型&#xff08;byte、short、int、long、float、double、char、boolean&#xff09;他们是直接存储数值的变量&#xff0c;位于栈上&#xff08;局部变量在栈上、成员变量在堆上&#xff0c;静态字段/类在方法区&#xf…

SpringBoot3+Vue3开发在线考试系统

项目介绍 项目分为3种角色&#xff0c;分别为&#xff1a;超级管理员、老师、学生。超级管理员&#xff0c;负责系统的设置、角色的创建、菜单的管理、老师的管理等功能&#xff0c;也可以叫做系统管理员&#xff1b;老师角色&#xff0c;负责系统业务的管理&#xff0c;包括学…

第3节 测试套件数据驱动

创建Excel、 CSV测试数据 1. 从主菜单中选择 File > New > Test Data。将显示新的测试数据对话框。输入测试数据的名称并选择数据类型作为Excel File/ CSV File 。单击OK。 2. 浏览到要导入Katalon Studio的Excel File, 选择Excel中的sheetName&#xff0c;或者CSV文件…

跨站点请求伪造(Cross Sites Request Forgery)类漏洞攻击方式与防御措施|软件安全测试技术系列

本系列文章分享JavaScript语言常见的安全漏洞&#xff0c;漏洞的原理&#xff0c;可能导致的安全问题&#xff0c;以及如何防御与避免。本文分享的是跨站点请求伪造&#xff08;Cross Sites Request Forgery&#xff09;。 跨站点请求伪造&#xff0c;指利用用户身份操作用户账…

【图像分类实用脚本】数据可视化以及高数量类别截断

图像分类时&#xff0c;如果某个类别或者某些类别的数量远大于其他类别的话&#xff0c;模型在计算的时候&#xff0c;更倾向于拟合数量更多的类别&#xff1b;因此&#xff0c;观察类别数量以及对数据量多的类别进行截断是很有必要的。 1.准备数据 数据的格式为图像分类数据集…

飞牛os使用ddns-go配合华为云实现内网穿透

DDNS-Go 是一个开源的动态域名解析工具&#xff0c;它支持多种操作系统&#xff0c;包括 Windows、Mac 和 Linux&#xff0c;并且支持 ARM 和 x86 架构。以下是使用 DDNS-Go 的基本步骤&#xff1a; 1. 下载和安装&#xff1a; 访问 DDNS-Go 的 GitHub 仓库&#xff08;&#x…

易语言OCR证件照文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…