如何将R中的gmnl函数应用于离散选择实验的潜在类分析?

如何将R中的gmnl函数应用于离散选择实验的潜在类分析?,r,R,我试图对我的离散选择实验数据进行潜在类分析。受访者需要在两个属性选项中进行选择:他们喜欢的孩子数量和他们喜欢的孩子教育水平(以孩子数量的混合表示)。我的数据的第一行如下所示: 第一次第一次之后第二次选择的受访者区块选择卡 1 1 1 1 0.0000000 0.0000000 0.00 0.0000000 0.0000000 1 1 1 0 0.3333333 0.666

我试图对我的离散选择实验数据进行潜在类分析。受访者需要在两个属性选项中进行选择:他们喜欢的孩子数量和他们喜欢的孩子教育水平(以孩子数量的混合表示)。我的数据的第一行如下所示:

第一次第一次之后第二次选择的受访者区块选择卡
1          1           1      1    0.0000000  0.0000000   0.00     0.0000000  0.0000000
1          1           1      0    0.3333333  0.6666667   0.00     0.0000000  0.0000000
1          2          12      0    0.3333333  0.3333333   0.00     0.0000000  0.0000000
1          2          12      1    0.1666667  0.0000000   0.00     0.3333333  0.1666667
1          3           2      0    0.0000000  0.0000000   1.00     0.0000000  0.0000000
1          3           2      1    0.0000000  0.0000000   0.25     0.0000000  0.0000000
小学M二年级M三年级儿童年龄地区宗教土著民族性别
1 0 1.00 0.0000000 1 180 0新教徒0沃莱塔女性
2 0 0.00 0.0000000 3 180 0新教徒0沃莱塔女性
30 0.00 0.3333333 9 180新教徒0沃莱塔女性
4 0 0.00 0.3333333 12 18 0新教徒0沃莱塔女性
5 0 0.00 0.0000000 1 180 0新教徒0沃莱塔女性
6 0 0.25 0.5000000 4 180 0新教徒0沃莱塔女性
教育水平学生或非农民或非婚姻状况有子女曾使用过避孕措施
1所高中-10年级1 0 0
2高中-10年级1 0 0
3高中-10年级1 0 0
4高中-10年级1 0 0
5高中-10年级1 0 0
6高中-10年级1 0 0
可供替代的
1           1
2           2
3           1
4           2
5           1
6           2
我查看了R中所有可用的包,我认为只有gmnl包可以处理我的数据类型,并且能够添加协变量。然而,如果我将我的潜在类别分析的输出与一个只有2个协变量(年龄和地区)(如下所述)的简单线性模型进行比较,那么当我对Stata进行相同的分析时,我的参数估计和对数似然(Stata中为-2598.6,R中为-2495.5)(见下面的代码)

在R中:


定义_数据这里有几件事值得考虑

由于i)潜在类模型容易根据起始值收敛到不同的局部最优值,以及ii)与最大似然法相比,期望最大化算法更可能收敛到不同的局部最优值,因此这两种模型之间可能存在一些细微的差异。然而,这里不太可能出现这种情况

可能的问题是Stata考虑了数据的面板结构,而在R中,您指定了一个横截面潜在类模型,将每个观察视为独立的。LL值的巨大差异是这方面的一个有力指标

请尝试以下操作(使用
panel=TRUE
):

mnl
mnl <- gmnl(y ~ price + contract + local + wknown + tod + seasonal | 0 | 0 | 0 | 1,
 data = TM, model = 'lc', Q = 3, panel = TRUE)