Mplus教程:如何做潜在类别分析LCA
之前潜在类别分析已经给大家写的很详细了,不过都是基于R软件的,我发现一个很奇怪的地方哦,找我做潜类别的基本都不用R,找我解决R语言问题的基本都不知道潜类别是干啥的,看样子做潜变量分析还是mplus受众广泛呀,今天就给大家写一个详细的使用Mplus做潜在类别分析的教程。
依然还是用实际例子手把手教学
实例操练
假如我想了解人们的饮酒行为,我手上收集了一群大汉的饮酒行为数据,用的工具是一个9条目的饮酒行为问卷,条目如下:
1.我爱饮酒
2.我爱喝烈酒
3.我早晨爱饮酒
4.工作时间也喝酒
5.每次喝酒都喝醉
6.酒的味道真滴好
7.喝酒帮助我睡眠
8.喝酒误我事
9.经常去酒吧
上面所有条目的回答均为是否二分类,具体长下图这样:
我现在要对数据做一个潜在类别分析
潜在类别给你输出的是个体选择每一个选项的条件概率,所以响应变量一定是分类变量,这儿一定要和潜在剖面分析区分开。
对于本例来说,假如你要三个潜类别,那么结果就会有不同的潜类别在每个问题上响应为yes的和响应为no的概率,我们就是通过这种概率的不同来给不同的潜类别命名的。
比如像下面这个图这样:
光看问题一,我们知道潜类别1和潜类别3在问题一上的响应为yes的概率真的很高,都达到了0.9以上,但是潜类别2在此问题上响应为yes的概率就不那么高了,再看问题5,只有潜类别3的人响应yes的概率高,其余都两个潜类别都不高。这些就是属于潜在类别的相应的特征,我们就是根据这些响应情况给潜类别命名的。
但是问题来了,我就这么一个条目一个看,老眼瞅花也看不清楚不同类别的具体区别呀。
没关系,虽然Mplus不好用,但是它也是可以出图来帮助我们分辨的。
我们点击plot,view plot这个选项再进一步选择line plot for multiple variables in a series
就可以把不同潜类别在每个条目上的响应概率给你画出线图出来,这样你就可以很容易地看清楚潜类别变化趋势,进而方便命名。
比如我的数据出来的图就是如下:
上图中x轴就是我们的条目编码,y轴是响应yes的概率,大家可以看到x轴上竟然还有各种小数,很无语哈,这个没得办法,mplus画的图只能自己瞅瞅,没法直接往论文中贴的,大家可以把每个潜类别的相应的响应概率提出来自己在excel中画,我认识的好多人都这么干的。
那么对于上面的图大家只看x轴上的整数就行,也就是条目1到9中不同潜类别的人群响应yes的概率,根据这个概率的走势给各个潜类别命名,比如我们看到蓝线是潜类别3,它在条目1,5,8中响应yes的概率都挺高,我们不妨给它命名为“酒鬼组”;而红线代表潜类别1,它在1,6,9响应比较高,但是没有像类别3那么能喝,我不妨叫它“社交饮酒组”或者“适量饮酒组”;绿线代表潜类别2,它在所有的条目中响应都不高,我不妨叫这个组“戒酒组”或者“节制组”。
还有,我们在mplus中跑完潜在类别分析后,可以把结果存下来会得到一个新的文件,比如我的例子就得到如下的新文件:
在这个文件中有你的原始数据,还有每个观测属于具体哪一个潜类别的概率,以及每个观测最可能的潜类别。看上图,第一个观测就属于潜类别1,第二个观测就属于潜类别3,以此类推。
到这儿,大家还可以进一步探究到底是哪些因素对潜类别有影响,进而发(水)好多好多文章,基本就是这么干,挺没意思的。
我就见过就找个新东西做做潜类别,做做轨迹,然后探究探究影响因素,然后就博士毕业啦。欸,太水了。
扯远了,继续说潜在类别分析,mplus还会给你输出每个类别人数的占比,以及TECHNICAL 11 OUTPUT,和TECHNICAL 14 OUTPUT,这两个检验都是进行模型比较的,都是用你做的n个类别数的模型和n-1个类别数的模型进行比较,比如我是做的3个潜类别的模型,那么这两个检验就是告诉我,3个潜类别的模型是不是显著地比2个潜类别的模型更好。
mplus还会输出各种常见的拟合指标比如AIC,BIC,ABIC熵值等等,大家都可以在输出文件中找得到,我就不给大家贴图了。
然后,就是你最关心的语法啦,全部给贴在下面,需要的自取吧:
Title:
关注Codewar不后悔.
Data:
File is lca1.dat ;
Variable:
names = id item1 item2 item3 item4 item5 item6 item7 item8 item9;
usevariables = item1 item2 item3 item4 item5 item6 item7 item8 item9;
categorical = item1 item2 item3 item4 item5 item6 item7 item8 item9;
classes = c(3);
Analysis:
Type=mixture;
Plot:
type is plot3;
series is item1 (1) item2 (2) item3 (3) item4 (4) item5 (5)
item6 (6) item7 (7) item8 (8) item9 (9);
Savedata:
file is lca1_save.txt ;
save is cprob;
format is free;
output:
tech11 tech14;
好了今天就写到这儿,晚安。