如何根据潜类分析标记观察结果

时间:2015-03-18 12:55:16

标签: r bayesian

我使用

对二进制变量的数据集执行潜在类分析
library("BayesLCA")
data("Alzheimer")
alz <- data.blca(Alzheimer)
sj3.em <- blca.em(alz, 3)

现在我想标记我对Alzheimer的观察结果,考虑到每个属于某个特定群体的可能性。

我提取每个唯一数据点的类成员资格估计值

class_memb <- sj3.em$Z

并根据最高概率标记每个唯一数据点

labels_df <- apply(class_memb, 1, function(x) sample(names(x), 1, prob=x))

我将原始数据集Alzheimer的每一行折叠为10

的字符串
row_sequence <- apply(compl_cases_all, 1, 
                      function(x) as.factor(paste0(x, collapse='')))

最后我用我的最大概率

替换每个观察的序列
grouping <- labels_df[row_sequence]

然而classprob和我的标签不匹配。然后当我在更大的数据集上测试它时,类概率和标签比例之间的差距更大。我做错了吗?

sj3.em$classprob
# [1] 0.50162847 0.47880396 0.01956757
prop.table(table(grouping))
# grouping
#    Group 1    Group 2    Group 3 
#  0.54166667 0.43750000 0.02083333 

0 个答案:

没有答案