I am developing an unlabeled mode choice experiment where the mode is treated as an attribute.
I have 12 potential modes. Only 5 alternatives will be offered to the respondent in each choice situation.
Given that I have an unlabeled design, I am trying to code this without an availability design, using constraints and require conditions,
where I basically let the software decide which 5 alternatives to offer in each choice situation.
For simplicity, I provide a simple specification with only 3 potential modes and 2 alternatives in each choice task, which I am using to test my approach.
- Code: Select all
Design
;alts = alt1*, alt2*
;rows = 16
;block = 2
;bdraws = sobol(500)
;eff=(mnl,d,mean)
;alg=mfederov
;cond:
if(alt1.mode.dummy[1] = 1, alt2.mode.dummy[1] = 0,
if(alt2.mode.dummy[1] = 1, alt1.mode.dummy[1] = 0,
if(alt1.mode.dummy[2] = 1, alt2.mode.dummy[2] = 0,
if(alt2.mode.dummy[2] = 1, alt1.mode.dummy[2] = 0,
if(alt1.mode.dummy[3] = 1, alt2.mode.dummy[3] = 0,
if(alt2.mode.dummy[3] = 1, alt1.mode.dummy[3] = 0
;require:
alt1.mode.dummy[1] + alt1.mode.dummy[2] + alt1.mode.dummy[3] = 1,
alt2.mode.dummy[1] + alt2.mode.dummy[2] + alt2.mode.dummy[3] = 1
;model:
U(alt1) = Beta.dummy[1.0|0.5] * mode[1,2,3] + BETA_Cost[-1.1] * Cost_1[0.5, 1, 1.5, 2] * mode.dummy[1] + BETA_Cost[-1.1] * Cost_2[0] * mode.dummy[2] + BETA_Cost[-1.1] * Cost_3[1.5, 2, 2.75, 3.5] * mode.dummy[3] + BETA_TT1[-0.15] * TT1_1[10, 15, 20, 25] * mode.dummy[1] + BETA_TT1[-0.15] * TT1_2[20, 25, 30, 35] * mode.dummy[2] + BETA_TT1[-0.15] * TT1_3[10, 15, 20, 25] * mode.dummy[3] /
U(alt2) = Beta.dummy[1.0|0.5] * mode[1,2,3] + BETA_Cost * Cost_1 * mode.dummy[1] + BETA_Cost * Cost_2 * mode.dummy[2] + BETA_Cost * Cost_3 * mode.dummy[3] + BETA_TT1 * TT1_1 * mode.dummy[1] + BETA_TT1 * TT1_2 * mode.dummy[2] + BETA_TT1 * TT1_3 * mode.dummy[3]
$
I get the error: A logical expression has an invalid element: alt1.mode.dummy[3] and I don't see why --could be because my approach is problematic, or ...?
Does someone have an intuition about it?
Thank you!
Eva