Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of responses on indicator items.
潜在剖面分析要做的事情就是根据个体在连续变量上的响应情况将个体分为互斥的群,或者说互斥的剖面。
大家肯定还听过潜在类别分析,其实潜在剖面分析和潜在类别分析在统计上都是一样的,唯一的不同就是显变变量是分类变量(二分类)的时候我们叫它潜在类别,显变量是连续变量的时候我们叫潜在剖面。
The difference between LPA and LCA is conceptual, not computational: LPA uses continuous indicators and LCA uses binary indicators
大家记住下面这张图:
老规矩,今天还是带着大家做一个潜在剖面分析的实例。
实例操练
今天手上有997个学生样本的数据集interests_clean.csv,对于每个学生我们都调查了他的兴趣爱好,总共有32个兴趣爱好,我们会让学生对每一个兴趣的爱好程度以1-5分进行打分,就得到了一个如下图的数据集:
今天要做的就是对此数据集进行潜剖面分析,我们希望通过学生对每个兴趣的响应将学生分为不同的剖面。
在进行潜剖面分析的时候需要我们的数据是没有缺失值的,同时我们有必要将所有的值进行标准化处理,以便观察不同剖面的差异从而给每个剖面命名。
interests_clustering <- interests_clean %>%
na.omit() %>%
mutate_all(list(scale))
上面的代码就将原始数据集进行了缺失删除处理和标准化。
接下来我们首先探索一下对于我们的数据我们应该分为几个剖面,这个问题一般情况下我们可以使用mclust包的mclustBIC看不同剖面模型的BIC,通常我们可以将不同模型的BIC画出来:
library(mclust)
BIC <- mclustBIC(interests_clustering)
plot(BIC)
summary(BIC)
看上面的BIC的变化图和summaryBIC的结果,初步得到,对于我们的数据划分3个剖面是比较合适的。
还有一个和BIC差不多的判断剖面个数的指标叫做ICL,Integrate