Оценка с использованием млогита в R

У меня есть статья, в которой автор предлагает D-оптимальный дизайн для модели Nested Multinomial Logit без выбора. Конструкция выглядит следующим образом:

CS 1:

Alt A: 1 2 2 1 2 2

Alt B: 2 2 1 2 1 2

Alt C: 0 0 0 0 0 0

CS 2:

Alt 1: 2 1 1 2 2 2

Alt 2: 2 2 2 2 1 1

Alt 3: 0 0 0 0 0 0

CS 3:

Alt 1: 2 2 1 1 1 2

Alt 2: 1 1 2 2 2 1

Alt 3: 0 0 0 0 0 0

CS 4:

Alt 1: 2 2 1 1 2 1

Alt 2: 1 1 2 2 1 2

Alt 3: 0 0 0 0 0 0

CS 5:

Alt 1: 1 2 1 2 2 1

Alt 2: 2 1 2 1 1 2

Alt 3: 0 0 0 0 0 0

CS 6:

Alt 1: 1 2 1 2 1 2

Alt 2: 2 1 2 1 2 1

Alt 3: 0 0 0 0 0 0

CS 7:

Alt 1: 2 1 1 2 2 1

Alt 2: 1 2 2 1 2 2

Alt 3: 0 0 0 0 0 0

CS 8:

Alt 1: 2 1 2 2 2 1

Alt 2: 1 2 2 1 1 2

Alt 3: 0 0 0 0 0 0

Проект является D-оптимальным дизайном с 8 наборами выбора, и каждый набор имеет 2 варианта (6 двухуровневых атрибутов по альтернативе). Я попытался оценить Nested Multinomial Logit Model в R, используя mlogit и этот дизайн. Таким образом, я сделал смоделированные данные, используя случайный ответ следующим образом:

Индивидуальный -Choiceid- Режим ---- Выбор ---- AA -AB- AC- AD- AE- AF
------ 1 ------------- 1 ---------- ------- ЛОЖЬ ----- 1 ---- -2 ----- ----- 2 ----- 1 ----- 2 2
------ 1 ------------- 1 -----------------B ЛОЖЬ ----- 2 ---- -2 ----- 1 ----- 2 ----- 1 ----- 2
------ 1 ------------- 1 ---------- С -------- значение TRUE ----- 0 --- --0 ----- 0 ----- 0 ----- 0 ----- 0
------ 1 2 ------------- ---------- ------- ЛОЖЬ ----- 2 ---- -1 ----- 1 ----- 2 ----- 2 ----- 2
------ 1 2 ------------- ----------B-------- ИСТИНА ----- 2 --- --2 ----- ----- 2 ----- 2 ----- 1 1
------ 1 2 ------------- ---------- ------- С ЛОЖЬ ----- 0 ---- -0 ----- 0 ----- 0 ----- 0 ----- 0
------ 1 ------------- 3 ---------- ------- ЛОЖЬ ----- 2 ---- -2 ----- 1 ----- 1 ----- 1 ----- 2
------ 1 ------------- 3 -----------------B ЛОЖЬ ----- 1 ---- -1 ----- ----- 2 ----- 2 ----- 1 2

Данные содержат ответы 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, "отклонение"))[,! Fixed])): система вычислительно единственная: число взаимных условий = 1.13304e-18

У кого-то есть идея, что я делаю не так?

0 ответов

Другие вопросы по тегам