我有一篇论文,其中作者提出了无选择的嵌套多项 Logit 模型的 D 最优设计。设计如下:
CS 1:
替代 A: 1 2 2 1 2 2
替代 B: 2 2 1 2 1 2
替代 C: 0 0 0 0 0 0
CS 2:
替代项 1: 2 1 1 2 2 2
替代项 2: 2 2 2 2 1 1
替代 3: 0 0 0 0 0 0
CS 3:
替代项 1: 2 2 1 1 1 2
替代项 2: 1 1 2 2 2 1
替代 3: 0 0 0 0 0 0
CS 4:
替代项 1: 2 2 1 1 2 1
替代项 2: 1 1 2 2 1 2
替代 3: 0 0 0 0 0 0
CS 5:
替代项 1: 1 2 1 2 2 1
替代项 2: 2 1 2 1 1 2
替代 3: 0 0 0 0 0 0
CS 6:
替代项 1: 1 2 1 2 1 2
替代项 2: 2 1 2 1 2 1
替代 3: 0 0 0 0 0 0
CS 7:
替代项 1: 2 1 1 2 2 1
替代项 2: 1 2 2 1 2 2
替代 3: 0 0 0 0 0 0
CS 8:
替代项 1: 2 1 2 2 2 1
替代项 2: 1 2 2 1 1 2
替代 3: 0 0 0 0 0 0
该设计是具有 8 个选择集的 D 最优设计,每个选择集有 2 个备选方案(备选方案的 6 个二级属性)。我尝试使用 mlogit 和该设计来估计 R 中的嵌套多项式 Logit 模型。因此,我使用随机响应制作了一个模拟数据,如下所示:
个人--Choiceid--Mode----Choice----AA--AB--AC--AD--AE--AF
------1----------- --1---------A--------FALSE-----1-----2-----2-----1---- -2-----2
------1-------------1----------B--------FALSE-- ----2-----2-----1-----2-----1-----2
------1--------- ----1---------C--------TRUE-----0-----0-----0-----0- --0-----0
------1----------------2----------A-------- FALSE-----2-----1-----1-----2-----2-----2
-----1------ --------2---------B--------TRUE-----2-----2-----2---- -2-----1-----1
------1-------------2----------C---- ---FALSE-----0-----0-----0-----0-----0-----0
------1--- ----------3---------A--------FALSE-----2-----2-----1-- ---1--------1-----2
---1-------------3---------B-- -----FALSE-----1-----1-----2-----2-----2-----1
数据包含 30 个人的回答,也就是说,数据包含 240 个选项(每个人选择 8 个)。但是当我使用命令时
sim = read.csv("sim.csv",header=T)
dat <- mlogit.data(sim, choice = "choice", shape = "long",
alt.var = "mode", chid.var = "choideid",id.var="individual")
nl.dat <- mlogit(choice ~ AA+AB+AC+AD+AE, dat, reflevel="C",
nests = list(OUR = c("A","B") , SQ = c("C")),
unscaled = TRUE)
我收到以下错误
solve.default(crossprod(attr(x, "gradi")[, !fixed])) 中的错误:
系统在计算上是奇异的:倒数条件数 = 1.13304e-18
有人知道我做错了什么吗?