如何将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)