Page 1 of 1

Overlapping Attributes

PostPosted: Mon May 20, 2019 2:23 am
by markp
Hello,

I would like prevent no more than 4 attributes from varying between alternatives. I am using the code at (viewtopic.php?f=4&t=525)

I've created a set of 10000 choice sets that meet this criteria (https://drive.google.com/file/d/19Uj6Tq ... sp=sharing)

When I run my code I get "MNL D-Error Undefined." All designs are invalid.

I was hoping on get help on getting this strategy to work, or an alternative strategy?

Thank you.

Code: Select all
Design
;alts(not_used) = alt1, alt2
;alts(main) = alt1, alt2
;rows = 120
;eff = main(mnl, d)
;block=10
;alg=mfederov(candidates=profiles_may13.csv)
;model(not_used):
U(alt1) = b1[0.76]*time[10,5,2,1] +
b2.dummy[0|0|0|0]*se[0,1,2,3,4]  +
ise1[-0.02]*se.dummy[1]*time +
ise2[-0.04]*se.dummy[2]*time +
ise3[-0.06]*se.dummy[3]*time +
ise4[-0.08]*se.dummy[4]*time +
b3.dummy[0|0|0|0]*l[0,1,2,3,4]  +
il1[-0.02]*l.dummy[1]*time +
il2[-0.04]*l.dummy[2]*time +
il3[-0.06]*l.dummy[3]*time +
il4[-0.08]*l.dummy[4]*time +
b4.dummy[0|0|0|0]*a[0,1,2,3,4]  +
ia1[-0.02]*a.dummy[1]*time +
ia2[-0.04]*a.dummy[2]*time +
ia3[-0.06]*a.dummy[3]*time +
ia4[-0.08]*a.dummy[4]*time +
b5.dummy[0|0|0|0]*bo[0,1,2,3,4]  +
ibo1[-0.02]*bo.dummy[1]*time +
ibo2[-0.04]*bo.dummy[2]*time +
ibo3[-0.06]*bo.dummy[3]*time +
ibo4[-0.08]*bo.dummy[4]*time +
b6.dummy[0|0|0|0]*bl[0,1,2,3,4]  +
ibl1[-0.02]*bl.dummy[1]*time +
ibl2[-0.04]*bl.dummy[2]*time +
ibl3[-0.06]*bl.dummy[3]*time +
ibl4[-0.08]*bl.dummy[4]*time +
b7.dummy[0|0|0|0]*p[0,1,2,3,4] +
ip1[-0.02]*p.dummy[1]*time +
ip2[-0.04]*p.dummy[2]*time +
ip3[-0.06]*p.dummy[3]*time +
ip4[-0.08]*p.dummy[4]*time +
b8.dummy[0|0|0|0]*m[0,1,2,3,4] +
im1[-0.02]*m.dummy[1]*time +
im2[-0.04]*m.dummy[2]*time +
im3[-0.06]*m.dummy[3]*time +
im4[-0.08]*m.dummy[4]*time +
b9.dummy[0|0|0|0]*so[0,1,2,3,4] +
iso1[-0.02]*so.dummy[1]*time +
iso2[-0.04]*so.dummy[2]*time +
iso3[-0.06]*so.dummy[3]*time +
iso4[-0.08]*so.dummy[4]*time /
U(alt2) = b1*time +
b2.dummy*se  +
ise1*se.dummy[1]*time +
ise2*se.dummy[2]*time +
ise3*se.dummy[3]*time +
ise4*se.dummy[4]*time +
b3.dummy*l  +
il1*l.dummy[1]*time +
il2*l.dummy[2]*time +
il3*l.dummy[3]*time +
il4*l.dummy[4]*time +
b4.dummy*a  +
ia1*a.dummy[1]*time +
ia2*a.dummy[2]*time +
ia3*a.dummy[3]*time +
ia4*a.dummy[4]*time +
b5.dummy*bo  +
ibo1*bo.dummy[1]*time +
ibo2*bo.dummy[2]*time +
ibo3*bo.dummy[3]*time +
ibo4*bo.dummy[4]*time +
b6.dummy*bl  +
ibl1*bl.dummy[1]*time +
ibl2*bl.dummy[2]*time +
ibl3*bl.dummy[3]*time +
ibl4*bl.dummy[4]*time +
b7.dummy*p +
ip1*p.dummy[1]*time +
ip2*p.dummy[2]*time +
ip3*p.dummy[3]*time +
ip4*p.dummy[4]*time +
b8.dummy*m +
im1*m.dummy[1]*time +
im2*m.dummy[2]*time +
im3*m.dummy[3]*time +
im4*m.dummy[4]*time +
b9.dummy*so +
iso1*so.dummy[1]*time +
iso2*so.dummy[2]*time +
iso3*so.dummy[3]*time +
iso4*so.dummy[4]*time

;model(main):
U(alt1) =
ise1[-0.02]*se.dummy[1]*time +
ise2[-0.04]*se.dummy[2]*time +
ise3[-0.06]*se.dummy[3]*time +
ise4[-0.08]*se.dummy[4]*time +
il1[-0.02]*l.dummy[1]*time +
il2[-0.04]*l.dummy[2]*time +
il3[-0.06]*l.dummy[3]*time +
il4[-0.08]*l.dummy[4]*time +
ia1[-0.02]*a.dummy[1]*time +
ia2[-0.04]*a.dummy[2]*time +
ia3[-0.06]*a.dummy[3]*time +
ia4[-0.08]*a.dummy[4]*time +
ibo1[-0.02]*bo.dummy[1]*time +
ibo2[-0.04]*bo.dummy[2]*time +
ibo3[-0.06]*bo.dummy[3]*time +
ibo4[-0.08]*bo.dummy[4]*time +
ibl1[-0.02]*bl.dummy[1]*time +
ibl2[-0.04]*bl.dummy[2]*time +
ibl3[-0.06]*bl.dummy[3]*time +
ibl4[-0.08]*bl.dummy[4]*time +
ip1[-0.02]*p.dummy[1]*time +
ip2[-0.04]*p.dummy[2]*time +
ip3[-0.06]*p.dummy[3]*time +
ip4[-0.08]*p.dummy[4]*time +
im1[-0.02]*m.dummy[1]*time +
im2[-0.04]*m.dummy[2]*time +
im3[-0.06]*m.dummy[3]*time +
im4[-0.08]*m.dummy[4]*time +
iso1[-0.02]*so.dummy[1]*time +
iso2[-0.04]*so.dummy[2]*time +
iso3[-0.06]*so.dummy[3]*time +
iso4[-0.08]*so.dummy[4]*time /
U(alt2) =
ise1*se.dummy[1]*time +
ise2*se.dummy[2]*time +
ise3*se.dummy[3]*time +
ise4*se.dummy[4]*time +
il1*l.dummy[1]*time +
il2*l.dummy[2]*time +
il3*l.dummy[3]*time +
il4*l.dummy[4]*time +
ia1*a.dummy[1]*time +
ia2*a.dummy[2]*time +
ia3*a.dummy[3]*time +
ia4*a.dummy[4]*time +
ibo1*bo.dummy[1]*time +
ibo2*bo.dummy[2]*time +
ibo3*bo.dummy[3]*time +
ibo4*bo.dummy[4]*time +
ibl1*bl.dummy[1]*time +
ibl2*bl.dummy[2]*time +
ibl3*bl.dummy[3]*time +
ibl4*bl.dummy[4]*time +
ip1*p.dummy[1]*time +
ip2*p.dummy[2]*time +
ip3*p.dummy[3]*time +
ip4*p.dummy[4]*time +
im1*m.dummy[1]*time +
im2*m.dummy[2]*time +
im3*m.dummy[3]*time +
im4*m.dummy[4]*time +
iso1*so.dummy[1]*time +
iso2*so.dummy[2]*time +
iso3*so.dummy[3]*time +
iso4*so.dummy[4]*time
$


Re: Overlapping Attributes

PostPosted: Thu May 23, 2019 11:07 am
by Michiel Bliemer
There is an issue with your candidate set.

Please add a header row. In your case I suggest: resp, cset, alt1.time, alt1.se, etc. Otherwise it is very difficult to see what is the issue.
Please make sure that all levels appear in each column. For example, in the column for alt1.l level 4 never appears, therefore you cannot estimate the model since you have dummy coded this attribute.

For future Ngene related questions, please use the Ngene forum (this forum is for general questions about stated choice experiments).

Michiel