Dear Professor,
I am currently designing a Discrete Choice Experiment (DCE) pilot study using Ngene. The design includes 18 choice tasks per respondent, with a total of 6 blocks of choice cards (24 cards in total). Each respondent will receive 3 choice cards. In this pilot study, I assume the utility function is based on continuous attributes, and I plan to use the results to establish priors for efficient design.
I am designing the DCE by optimizing the D-error measure to find an efficient design for the Multinomial Logit (MNL) model. To start, I have opted for zero priors for all the attributes.
The experiment is unlabeled, with two alternatives (no status quo option) and 6 attributes. All attributes take the same levels, currently set at £0, £5, £10, £15, and £20. I would like both alternatives (Option A and Option B) to be constrained so that the sum of the attribute levels always adds up to a fixed amount (ideally £50). However, I am only able to run a design where the sum constraint varies between £45 and £50.
Here is the current code: (Plan A)
design
;alts = opt1*, opt2*
;eff = (mnl, d)
;alg = mfederov
;rows = 18
;block=6,minsum
;require:
opt1.x1 + opt1.x2 + opt1.x3 + opt1.x4 + opt1.x5 + opt1.x6 <= 50,
opt2.x1 + opt2.x2 + opt2.x3 + opt2.x4 + opt2.x5 + opt2.x6 <= 50,
opt1.x1 + opt1.x2 + opt1.x3 + opt1.x4 + opt1.x5 + opt1.x6 >= 45,
opt2.x1 + opt2.x2 + opt2.x3 + opt2.x4 + opt2.x5 + opt2.x6 >= 45
;model:
U(opt1) = b1[0] * x1[0,5,10,15,20]
+ b2[0] * x2[0,5,10,15,20]
+ b3[0] * x3[0,5,10,15,20]
+ b4[0] * x4[0,5,10,15,20]
+ b5[0] * x5[0,5,10,15,20]
+ b6[0] * x6[0,5,10,15,20]
/
U(opt2) = b1 * x1
+ b2 * x2
+ b3 * x3
+ b4 * x4
+ b5 * x5
+ b6 * x6
$
The D-error is currently 0.001625, and the A-error is 0.010341. However, I am encountering the warning: "One or more attributes will not have level balance with the number of rows specified: opt1.x1, opt1.x2, opt1.x3, opt1.x4, opt1.x5, opt1.x6, opt2.x1, opt2.x2, opt2.x3, opt2.x4, opt2.x5, opt2.x6."
To address this, since dummy coding can be assumed for all attribute levels in a pilot study when using (near-)zero priors, I am also considering using dummy coding with near-zero priors to increase design efficiency. The design will include 25 choice tasks per respondent and 5 blocks of choice cards (24 cards in total). Each respondent will receive 5 choice card.
Below is my codes (dummy coding version Plan B)
Design
;alts = opt1*,opt2*
;rows = 25
;block = 5,minsum
;eff = (mnl,d)
;alg = mfederov
;require:
opt1.x1 + opt1.x2 + opt1.x3 + opt1.x4 + opt1.x5 + opt1.x6 <= 50,
opt2.x1 + opt2.x2 + opt2.x3 + opt2.x4 + opt2.x5 + opt2.x6 <= 50,
opt1.x1 + opt1.x2 + opt1.x3 + opt1.x4 + opt1.x5 + opt1.x6 >= 45,
opt2.x1 + opt2.x2 + opt2.x3 + opt2.x4 + opt2.x5 + opt2.x6 >= 45
;model:
U(opt1) = b1.dummy[0.01|0.02|0.03|0.04] * x1[5,10,15,20,0]
+ b2.dummy[0.01|0.02|0.03|0.04] * x2[5,10,15,20,0]
+ b3.dummy[0.01|0.02|0.03|0.04] * x3[5,10,15,20,0]
+ b4.dummy[0.01|0.02|0.03|0.04] * x4[5,10,15,20,0]
+ b5.dummy[0.01|0.02|0.03|0.04] * x5[5,10,15,20,0] + b6.dummy[0.01|0.02|0.03|0.04] * x6[5,10,15,20,0]
/
U(opt2) = b0
+ b1 * x1
+ b2 * x2
+ b3 * x3
+ b4 * x4 + b5 * x5 + b6 *x6
$
However, The D-error is currently 0.7901, and the A-error is 4.578.
Questions:
Is it possible to generate a design where the sum constraint is exactly £50?
I am flexible if the sum constraint needs to vary slightly. If it's easier to fix the sum at £60, for example, that would be perfectly acceptable.
For the pilot study, which approach you think is better: using continuous attributes or dummy coding?
How could I resolve the attribute imbalance issue?
I attempted to solve this by adding a constraint that ensures each level of the attributes appears at least once (1-4, 1-4, 1-4, 1-4, 1-4) at plan A, but I couldn't obtain a result.
Thank you for your help.
Best regards,
Steve