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

news2024/12/22 0:35:08

全文链接: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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp自定义树型结构数据弹窗,给默认选中的节点,禁用所有子节点

兼容H5、安卓App、微信小程序 实现逻辑&#xff1a;给默认选中节点的所有子节点添加一个disabled属性&#xff0c;以此禁用子节点。 /components/sonTreeNode/sonTreeNode.vue 封装成组件 <template><view><view :class"[item,item.is_level1?pL1:item…

水仙花数(流程图,NS流程图)

题目&#xff1a;打印出所有的100-999之间的"水仙花数"&#xff0c;并画出流程图和NS流程图。所谓"水仙花数"是指一个三位数&#xff0c;其各位数字立方和等于该数本身。例如&#xff1a;153是一个"水仙花数"&#xff0c;因为1531的三次方&#…

【C++读写.xlsx文件】OpenXLSX开源库在 Ubuntu 18.04 的编译、交叉编译与使用教程

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-17 …

Kioptix Level 2靶场练习保姆级---春不晚

1.将靶机导入至vm中 首先将靶机的网络设置为nat模式&#xff0c;然后在kali中使用arp-scan命令查找靶机ip 靶机ip为&#xff1a;61.139.2.130 arp-scan -l 2.使用nmap扫描目标ip的端口 nmap -p- 61.139.2.130 3.对存在端口进行服务版本和、系统版本、默认脚本检测 nmap -p…

电子元器件与电路之-MOS管的介绍和作用

一、基本概念 MOS 管&#xff0c;或MOSFET&#xff0c;全称是Metal-Oxide-Semiconductor Field-Effect Transistor&#xff08;金属 - 氧化物 - 半导体场效应晶体管&#xff09;。和三极管利用电流控制电流不同&#xff0c;它是一种利用电场效应来控制电流的半导体器件。和三级…

异地组网最简单的方法

01、使用硬件路由器的VPN功能 这是一种相对简单且常用的异地组网方法。你需要有支持VPN功能的路由器&#xff0c;如华硕、中兴等品牌。在主站点的路由器上配置VPN服务器&#xff0c;并在异地设备上通过操作系统自带的VPN连接功能添加一个VPN连接&#xff0c;输入主站点路由器的…

【GO环境安装】mac系统+GoLand使用

文章目录 下载安装包环境配置GoLandGo Modules 下载安装包 地址&#xff1a;GO下载地址 下载好后直接进行安装&#xff1a; 进入terminal&#xff0c;查看是否安装成功&#xff1a; 环境配置 在文稿下面创建工作目录&#xff1a; 在文稿下新建Go_Works文件夹&#xff0c;在…

点击数字层级从 admin.vue 跳转到 inviter-list.vue 组件

文章目录 1、admin.vue2、inviter-list.vue 1、admin.vue 好的&#xff0c;我们来分析一下代码中“层级”这一列的逻辑&#xff0c;并探讨它与后端的关联。 “层级” 列的逻辑 在您的代码中&#xff0c;“层级”列的渲染逻辑如下&#xff1a; <el-table-columnalign&quo…

LabVIEW实时信号采集与频谱分析

系统通过LabVIEW与PXIe硬件结合&#xff0c;实现高精度模拟信号的实时采集、频谱分析与可视化显示。核心功能包括采样率配置、快速傅里叶变换&#xff08;FFT&#xff09;、功率谱图生成及动态缩放调整&#xff0c;同时支持信号平均与噪声抑制。系统设计灵活&#xff0c;适用于…

【ComfyUI + 铅笔素描画风】艺术家DaTou发布了的彩色铅笔素描风格生成(真实感超强)

发布时间&#xff1a;2024年12月09日 项目主页&#xff1a;https://hf-mirror.com/Datou1111/shou_xin 基础模型&#xff1a;flux.1-dev comfyui工作流下载&#xff1a;https://pan.baidu.com/s/1FrLQ4o8ldckKwhIrN1Pv7g?pwd1220 自己测试 官方效果 生成猫猫 shou_xin, a m…

洛谷 B3644 【模板】拓扑排序 / 家谱树 C语言

题目&#xff1a; https://www.luogu.com.cn/problem/B3644 题目描述 有个人的家族很大&#xff0c;辈分关系很混乱&#xff0c;请你帮整理一下这种关系。给出每个人的后代的信息。输出一个序列&#xff0c;使得每个人的后辈都比那个人后列出。 输入格式 第 1 行一个整数 …

unity接入coze智能体

官网链接 coze智能体创建、设置 点击创建–选着智能体&#xff0c;随便起一个名字&#xff0c;就可以了 添加令牌 把随便起一个名字&#xff0c;设置时间&#xff0c;把所有选项都勾选上&#xff0c;一定要勾选所有团队空间&#xff0c;否则无法点击确定。 点击确定后&a…

EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3

Assignment 6Beta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsTeamwork—Beta SprintTeam NameFZUGOObjectiveSprint Essay 3_Day5-Day6 (12.15-12.16)Other Reference1. WeChat Mini Program Design Guide 2. Javascript Style Guid…

国内主流的工程项目管理软件有哪些?

随着科技的发展&#xff0c;工程管理软件已经成为了工程管理的重要工具。在国内&#xff0c;有许多优秀的工程管理软件&#xff0c;它们可以帮助我们更好地管理工程项目。那么&#xff0c;你知道有哪些工程管理软件吗&#xff1f;下面就让我们一起来盘点一下。 1、广联达 广联…

网络变压器如何识别电路

1. 基本符号的理解 曲线&#xff1a;表示变压器的线圈&#xff08;windings&#xff09;&#xff0c;每个曲线代表一个独立的线圈。 直线&#xff1a;用于连接不同的元件或引脚&#xff0c;表明电流路径。 2. 关键标注解释 CT&#xff08;Center Tap&#xff09;&#xff1a;中…

【原生js案例】ajax的简易封装实现后端数据交互

ajax是前端与后端数据库进行交互的最基础的工具&#xff0c;第三方的工具库比如jquery,axios都有对ajax进行第二次的封装&#xff0c;fecth是浏览器原生自带的功能&#xff0c;但是它与ajax还是有区别的&#xff0c;总结如下&#xff1a; ajax与fetch对比 实现效果 代码实现 …

免费开源!推荐一款网页版数据库管理工具!

免费开源&#xff01;推荐一款网页版数据库管理工具&#xff01; DBGate 是一个开源的数据库管理工具&#xff0c;DBGate 的最大特点是可以 Web 访问&#xff01;&#xff0c;轻松实现一台机器部署&#xff0c;所有人使用&#xff01; 无论是 MySQL、PostgreSQL、SQLite 还是…

主要是使用#includenlohmannjson.hpp时显示找不到文件,但是我文件已正确导入visual studio配置,也保证文件正确存在

问题&#xff1a; 主要是在项目配置中包括了C/C配置中文件位置&#xff0c;但是没有把nlohmann上一级的目录包括进去&#xff0c;导致#include"nlohmann/json.hpp"找不到文件位置 解决&#xff1a; 加上上一级目录到附加包含目录 596513661)] 总结&#xff1a; 找不…

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展&#xff0c;公共交通作为城市运营的核心枢纽&#xff0c;正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network&#xff0c;控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术&#xff0c;构建的公交“大脑”…

[c++11(二)]Lambda表达式和Function包装器及bind函数

1.前言 Lambda表达式着重解决的是在某种场景下使用仿函数困难的问题&#xff0c;而function着重解决的是函数指针的问题&#xff0c;它能够将其简单化。 本章重点&#xff1a; 本章将着重讲解lambda表达式的规则和使用场景&#xff0c;以及function的使用场景及bind函数的相关使…