之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCA R数据分析:用R语言做潜类别分析LCA Mplus数据分析:潜在类别分析(LCA)流程(详细版) R数据分析:再写潜在类别分析LCA的做法与解释,今天继续给大家拓展一步。

今天要介绍的就是潜在转换分析,这个东西就是LCA的纵向版本。是一个专门用来研究质变的统计技巧。有一句话叫做量变起质变,你怎么知道质变到底发生没有?就用潜在转换分析。

Latent transition analysis is an extension of LCA in which you estimate the probabilities of transitions among behavior patterns over time.

潜在转换分析latent transition analysis (LTA)

潜在转换分析是潜在类别分析的纵向版,纵向研究设计的目的之一就是看变化,相应的,潜在转换分析就是用来看潜类别的变化的。

我们再来回忆一张图:

上图中我们知道根据潜变量是分类还是连续的,我们可以有潜在剖面分析和潜在类别分析,现在把这两个东西都放在纵向数据中,相应地,我们就有潜增长模型Latent growth model,潜在转换分析Latent transition analysis

所以,大家记住:

我们要研究潜剖面(潜变量为连续变量)的变化,就用潜增长模型

我们要研究潜类别(潜变量为分类变量)的变化,就用潜在转换分析

那么,现在看一个潜在转换分析的定义了:

LTA is a longitudinal extension of latent class models and enables the investigator to model a dynamic, or changing, latent variables。

上面这个定义太宽泛,再来看个具体的:

Latent transition analysis (LTA) is a statistical technique that, combining cross-sectional measurement of categorical latent variables and longitudinal description of change, comprises three methodological aspects: (1) a person-centered approach; (2) the use of latent categorical variables; and (3) a longitudinal design

这个就很具体了,所以大家记住潜在转换分析的3个特点:以人为中心,潜类别和纵向设计。

这个方法特别适合那种随着时间很可能会发生改变的人的特质,比如认知,随着时间的推移有的人就从高认知转换成低认知了,而另外一部分人可能从低认知转换为高认知....。所以研究这种动态变化的潜变量的质的改变一定记得潜在转换分析哦。

做潜在转换分析的时候我们都是从2个潜变量开始做的,因为你要转换嘛,所以起始类别一定是2,比如我现在想要研究儿童认知发展,我可以在每个时间点都用LCA将儿童划分为K(K≥2)个亚组,但是通过LTA我就可以得到是否随着时间变化儿童认知会在亚组间移动。

这么一来,问题就来了,你想知道儿童会不会随着时间从亚组A移动到亚组B,首先你得保证不同时间你测得东西是一样的吧,就是你在不同时间得到的亚组都是一样的,所以做潜在转换分析一定要保证亚组的稳定性。

大家好好理解下这个亚组稳定性:它不是说我时间1的时候某个人在亚组A,时间2的时候还是应该在亚组A,而是时间1的亚组A和时间2的亚组A都是同一个亚组A,亚组的特征不变!

上面的话一定要好好理解。

一个完整的LTA需要我们报告3个参数,其中两个和LCA一样,一个是变量响应概率另一个是亚组比例latent class prevalences and item-response probabilities。第三个参数便是转换概率transition probabilities,很好理解,就是时间1时候的亚组转换到时间2不同亚组的概率。

另外,LTA根据你是否有理论基础可以是验证性的,也可以是探索性,还可以加入协变量和远端结局变量,具体请往下看。

潜在转换分析五步法

潜在转换分析的做法可以分为五步,这5步法是Nylund (2007)提出来的,这个我给大家做做简单介绍,具体请参考本文末尾的参考文献:

  • 第1步确定每个时间点的LCA模型

这一步是给每个时间点都做LCA,如果你有很好的理论支持你就可以提前设定潜类别的个数,如果没有的话就一个一个试。

  • 第2步根据横断面结果探索转换趋势

我们在第1步的时候已经给每个时间点都做了LCA,那么在第二步就可以来看不同时间点潜类别的转换情况。就是说模型会给我们输出每个个体在每个时间点最有可能属于的潜类别,这个叫做modal class assignment (mcaPk)。

有了这个我们就可以给不同时间点的模型做一个交叉表格出来探索转换趋势。

  • 第3步

测量不变性评估过后就可以在模型中加上自回归了,探究类别在不同时间点的转换概率。

  • 第4步在模型中加协变量

模型中的协变量既可以是显变量也可以是潜变量。

  • 第5步加入远端结局变量

远端结局变量的意思就是潜类别有可能会导致某些结局事件,这个远端结局变量就是这些结局事件。

实例操练及解释

依然还是给大家写一个例子:这个例子关于人的社会发展的,社会学家认为人的成熟有5大特征,分别是:完成教育,经济独立,离开父母,结婚,自觉成熟。这5个特征可以有先后,但是是否满足这5个特征被认为是成熟的标志。

那么我现在就想研究人群的成熟过程,或者叫成熟转换,就是我想看看随着时间的变化人群成熟亚组是如何转换的。

前提假设就是我们认为不同的人的成熟路径是不一样的,比如同样是20岁,有的人有了稳定的工作但是还和父母住在一起,有的人已经结婚养孩子了但是还没工作,等等。而且这些特征都会随着时间变化或者转化。这显然是一个以人为中心的研究,我们就考虑一波LTA,就是说我不光要看不同时间点人的成熟情况,我还要看随着时间的变化这中情况又是如何变化的。

不止如此,我还想看是什么因素造成了人的不同的成熟情况(模型加协变量)还有这个成熟情况的不同又会导致什么(模型加远端结局)

现在我假设一个变量,叫做经济水平(FWB),就是说经济水平和成熟过程的变化(成熟类型AC)是有交叉因果的,具体地,我们认为:时间点1的经济水平会影响影响时间点2的成熟类型,同样地,时间点1的成熟类型也会影响时间点2的经济水平还时间点3的经济水平。

在上面的示意图中,FWB1 and FWB2是两次数据收集过程中的协变量,FWB1会影响时点2的成熟类型AC2,FWB2则是AC1的结局。不同时点有自回归,相同时点有相关,这个就是一个典型的交叉滞后面板设计,见R数据分析:交叉滞后模型非专业解释 文献解读:纵向数据的测量不变性和交叉滞后模型(一) 文献解读:纵向数据的测量不变性和交叉滞后模型(二)

好,我们放在一个具体的研究中来解释做LTA的0到5步,我们是用了5个显变量做成熟类型的LCA,以FWB为协变量和结局变量:

第0步:

上面写了,第一步是描述统计,下图便是做LCA的显变量的描述统计结果:

下图便是我们的协变量和结局变量FWB的描述,这儿FWB会以潜变量进入模型,所以大家会看到显潜两个描述:

第1步

上面也说了这一步是给每个时间点都做LCA,下面的图便是在时间点1做的不同类别的LCA,共做了5个类别,中拟合指数上看,2类的时候BIC最小,满足BF大于3而且是最简洁的模型,cmP最大,3类的时候stdres小于5%而且最简洁,LMR-LRT和BLRT检验均显著,说明3类显著地比2类拟合更好,并且3类时AIC最小。综上最有可能成立的模型便是2或者3类。

所以我们就只把2类和3类拎出来进行分类诊断:

解释一下诊断结果:2类3类其实都不错,两个类别中mcaPk (class assignment proportion)均落入了πk (called class proportion)的置信区间之内,avePPk (average posterior probability)都超过了0.7的界值。但是从熵值上看3类时要好一点,OCCk( odd of correct classification)的值也更加好(OCCk的界值为5,越大越好)。所以我们最终确定3类为时间点1的最佳类别数量。见下图:

看上图的第一类:在时间点1,在这一类中基本上所有的人都没有进入成熟角色,37%的人主观上认为自己是成人。

第二类:在时间点1,这一类中离开父母的比例贼高,但是其它的成人角色就很低。

第三类:在时间点1,这一类中除了教育没完成,其他成熟指标都挺高。

以上就是时间点1的时候人群的潜类别状态。

同样的,我们在时间点2的数据中重复上面的步骤得到结果:

结果的概率图示如下图:

第二步

从上图中就可以看到,虽然类别数量依然是3类,但是各个潜类别的比例是不一样的。所以我们列出来时间点1和时间点2的类别比例的交叉表瞅瞅:通过这个表我们就可以大概知道不同时间点类别的转换了,这个就体现了纵向数据的威力,这个表大家只看右半边就行,因为我们是按照成熟程度由低到高排列的类别123,所以我们的前提就是类别转换只可能从1到2而不能反着来。

上表的作用也就是单纯的看一看趋势,是否时点1的类别1在时点2还是同样特征的类别1呢?我们需要进行测量不变性的评估:

测量不变性Measurement invariance

测量不变性这个问题之前写交叉之后模型的文章中有详细的介绍:文献解读:纵向数据的测量不变性和交叉滞后模型(一) 文献解读:纵向数据的测量不变性和交叉滞后模型(二)

那么具体到LTA,测量不变性指的是每个时间点上每个潜类别的条目响应概率的一致性:

In LTA, the measurement parameters are the item-response probabilities estimated for each class at the different time points (Nylund, 2007).

我们依然是将两个时间点每个条目的响应概率画出来

在上图中可以看出:类别1在两个时间点在所有成熟指标上的响应概率都很低,时点2的类别1除了教育其余指标也都很低;类别2在两个时间点“离开父母”这个指标响应概率都很高,其他指标也没啥变化;类别3在时间1的教育不高,但在时间点2教育的响应概率变高了,两个时间点其余指标都很高。

这就说明两次的LCA虽然都将人群分了3类,但是这3类的意义还是有点儿不一致的。

第3步设定LTA模型

接下来我们就要给时间点之间的相同测量加上自回归了从而来拟合我们的LTA模型了,下图是两个时间点不同类别的比例

那么如何描述不同时间点类别的转换情况呢?

记住一个东西,叫做转换概率矩阵,就是下图了。

图中我们可以看到从时点1的Nothing类别到时点2的ALL类别的转换概率是0.353

因为我们认为人是不会越来越不成熟的,为了验证我们这个猜想,我们要用验证性的方法,就是所我们要把所有的负向转换路径的系数设定为0,就是我们不会让随着时间推移由类别3变类别2,或者类别2变类别1。然后我们把这个模型和全自由的模型进行对比,看看到底哪个模型才更符合我们的数据,最终我们发现两个模型确实不一样,并且负向转换路径全部固定为0拟合并不好,说明我们的猜想不成立,就是说会存在负向转换的人群的。

就如表10所示的那样:27.5%的人在时间1的成熟水平为only L(只离开父母居住),但是在时间2却成了Nothing+E(只完成学业),就是说有人在完成学业后又跑回去和父母住一起了。数据显示是存在这么一种负向转换方式的,并且实际上也很符合。

第4步在LTA中加协变量

对于我们这个例子我们会认为经济水平(FWB)和成熟情况会相互影响,这个时候就需要跑一个交叉滞后了

看时点1的经济水平FWB1是不是对时间2的成熟类型有影响,我们给出下表的转换概率矩阵结果:下表显示了有没有协变量FWB1时不同时点上的类别情况,以及差异。

上表告诉我们:在时点1时类别1和类别2在协变量存在的情况下,在时点2的时候其变为类别2的概率会增加,这就意味着经济水平高的情况下,类别1更容易转换成类别2,但是转换成类别1和3的概率却在减小。

但是对于时间点1的时候本来就是类别3的人来说,FWB的改变不会显著的影响时间2的类别转换,具体的显著性看下图:

我们还需要继续看成熟类型AC对于经济水平FWB的影响以及不同时间点AC的自回归,自回归系数见下图:

从上图可以看出来,所有的自回归系数都不显著,即时点1的成熟类型对时点2的成熟类型并没有影响。

当然了还要去看FWB的自回归以及两个时点断面上成熟类型与经济水平的关系。

这儿就属于横断面上的相关关系了,原文是用AC对FWB进行回归,结果见下图:

上面的结果就反映出在时点2上FWB对AC有作用:具体地,就是时间点2时候的经济水平越高其成为成为Nothing+E和only L组的概率相对于成为“ALL”组的概率越小,白话就是经济水平越好的人成熟越高(五个指标都好)。

第5步给模型加远端结局

加远端结局的目的就是去看看LTA中得到的类别是不是会对结局产生影响,依然是下面的图,涂红FWB3便是模型中的远端结局,我们想看看AC2是不是对FWB3有影响。

具体的操作便是在模型中加上AC2到FWB3的路径,AC2不是有3类嘛,对每一类求出FWB3,然后看这3个FWB3是不是有显著差异就可以。当然拟合整个模型的时候一定是整体进行的,下一篇文章会给大家写具体操作。

本文大部分内容来自参考文献:Sorgente, Angela & Lanz, Margherita & Serido, Joyce & Tagliabue, Semira & Shim, Soyeon. (2019). Latent transition analysis: Guidelines and an application to emerging adults’ social development. TPM - Testing. 26. 39-72. 10.4473/TPM26.1.3.

小结

今天给大家介绍了潜在转换分析及其做法,并且用一个实际例子给大家做了结果呈现,之后会给大家写具体操作。感谢大家耐心看完,自己的文章都写的很细,重要代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先记得收藏,再点赞分享。

也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,有疑问欢迎私信。

R数据分析:潜在转化分析LTA的做法和解释(一)的更多相关文章

  1. R数据分析:生存分析与有竞争事件的生存分析的做法和解释

    今天被粉丝发的文章给难住了,又偷偷去学习了一下竞争风险模型,想起之前写的关于竞争风险模型的做法,真的都是皮毛哟,大家见笑了.想着就顺便把所有的生存分析的知识和R语言的做法和论文报告方法都给大家梳理一遍 ...

  2. R数据分析:生存分析的列线图的理解与绘制详细教程

    列线图作为一个非常简单明了的临床辅助决策工具,在临床中用的(发文章的)还是比较多的,尤其是肿瘤预后: Nomograms are widely used for cancer prognosis, p ...

  3. Mplus数据分析:随机截距交叉之后的做法和如何加协变量,写给粉丝

    记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后. 做之前我们需要知道一些Mplus的默认的设定: obse ...

  4. R数据分析:潜类别轨迹模型LCTM的做法,实例解析

    最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...

  5. R数据分析:二分类因变量的混合效应,多水平logistics模型介绍

    今天给大家写广义混合效应模型Generalised Linear Random Intercept Model的第一部分 ,混合效应logistics回归模型,这个和线性混合效应模型一样也有好几个叫法 ...

  6. R数据分析:跟随top期刊手把手教你做一个临床预测模型

    临床预测模型也是大家比较感兴趣的,今天就带着大家看一篇临床预测模型的文章,并且用一个例子给大家过一遍做法. 这篇文章来自护理领域顶级期刊的文章,文章名在下面 Ballesta-Castillejos ...

  7. R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...

  8. R数据分析:如何简洁高效地展示统计结果

    之前给大家写过一篇数据清洗的文章,解决的问题是你拿到原始数据后如何快速地对数据进行处理,处理到你基本上可以拿来分析的地步,其中介绍了如何选变量如何筛选个案,变量重新编码,如何去重,如何替换缺失值,如何 ...

  9. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  10. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

随机推荐

  1. 伯克利函数调用排行榜(BFCL)

    自 2022 年底以来,大语言模型(LLMs)凭借其执行通用任务的强大能力,成为众人关注的焦点.不仅限于聊天应用,将这些模型应用于开发各类 AI 应用和软件(如 Langchain, Llama In ...

  2. YAML 文件基本语法格式(十四)

    一.YAML 文件基本语法格式 前面我们得 Kubernetes 集群已经搭建成功了,现在我们就可以在集群里面来跑我们的应用了.要在集群里面运行我们自己的应用,首先我们需要知道几个概念. 第一个当然就 ...

  3. 修改Kubernetes主节点(控制节点)名称

    1.修改物理机主机名 hostnamectl set-hostname <hostname> 2.修改 /etc/kubernetes/manifests 目录下的文件,将文件内容包含旧主 ...

  4. M.2移动硬盘打造Win To Go系统:高效分区存储文件全攻略

    前言 大家好,我是 Frpee内网穿透 开发者 xnkyn, 曾经的我一直在互联网上学习技术,这次我要在博客园这片净土上给中国互联网技术做贡献,这是我在博客园写的第一篇技术文章,后续我会分享更多的技术 ...

  5. 16收16发ARINC429模块

    6通道发送, 16通道接收* 发送通道:每路发送通道FIFO大小为:511 x 32bit(CHR32216/32316) ,缓存256条发送消息(CHR32216-EX/32316-EX)发送FIF ...

  6. Module Warning (from ./node_modules/postcss-loader/dist/cjs.js): Warning

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  7. 快速部署kafka集群和可视化界面

    3台机器部署kafka集群的分布 10.1.161.111 -> kafka(1个节点)+ zookeeper(一个节点)+ kowl(一个节点) 10.1.161.112 -> kafk ...

  8. Machine Learning Week_3 Classification Model

    目录 1 Classification and Representation 1.1 Classification unfamiliar words 1.2 Hypothesis Representa ...

  9. 使用pandas进行数据分析

    目录 1.pandas的特点 2.Series 2.1新建Seriws 2.2使用标签来选择数据 2.3 通过指定位置选择数据 2.4 使用布尔值选择数据 2.5 其他操作 2.5.1 修改数据 2. ...

  10. 一文彻底弄懂Spring IOC 依赖注入

    Spring IOC(Inversion of Control,控制反转)依赖注入是 Spring 框架的核心特性之一,旨在实现对象之间的松耦合,提升代码的可维护性.可测试性和可扩展性.下面我们将从以 ...