I would like to create a partial profile design with 13 attributes, each with 5 levels and 3 unlabelled alternatives. Only 6 of the attributes are to be displayed in the final version. The design creation works well overall, but I would like to avoid a particular issue, if possible. For the candidate set, I have first created random designs using Ngene (see below syntax 1) and Stata (Stata allows me a larger number of rows). I then create systematic overlaps for 7 attributes in each of the rows across all three alternatives. However, in the random designs, I still encounter a lot of overlaps where an attribute level overlaps between two alternatives (e.g. attribute 1 overlaps only between alternative 1 and alternative 2). Creating the partial profile design with the candidate set works without any problems (see below syntax 2). But of course, the final design shows a large number of the above-mentioned overlaps between two of the three alternatives for the 6 attributes displayed.
I would like to minimize the overlap of attribute levels between two alternatives. Can anyone suggest a method that is most effective to create a candidate set that minimizes such overlaps between two alternatives?
Thank you in advance for your help!
Andrew
(1) Syntax for a random design using Ngene:
- Code: Select all
Design
;alts = alt1*, alt2*, alt3*
;rows = 10000
;fact
;model:
U(alt1) =
b1.effects[0|0|0|0] * x1[1,2,3,4,5] +
b2.effects[0|0|0|0] * x2[1,2,3,4,5] +
b3.effects[0|0|0|0] * x3[1,2,3,4,5] +
b4.effects[0|0|0|0] * x4[1,2,3,4,5] +
b5.effects[0|0|0|0] * x5[1,2,3,4,5] +
b6.effects[0|0|0|0] * x6[1,2,3,4,5] +
b7.effects[0|0|0|0] * x7[1,2,3,4,5] +
b8.effects[0|0|0|0] * x8[1,2,3,4,5] +
b9.effects[0|0|0|0] * x9[1,2,3,4,5] +
b10.effects[0|0|0|0] * x10[1,2,3,4,5] +
b11.effects[0|0|0|0] * x11[1,2,3,4,5] +
b12.effects[0|0|0|0] * x12[1,2,3,4,5] +
b13.effects[0|0|0|0] * x13[1,2,3,4,5]
/
U(alt2) =
b1 * x1 +
b2 * x2 +
b3 * x3 +
b4 * x4 +
b5 * x5 +
b6 * x6 +
b7 * x7 +
b8 * x8 +
b9 * x9 +
b10 * x10 +
b11 * x11 +
b12 * x12 +
b13 * x13
/
U(alt3) =
b1 * x1 +
b2 * x2 +
b3 * x3 +
b4 * x4 +
b5 * x5 +
b6 * x6 +
b7 * x7 +
b8 * x8 +
b9 * x9 +
b10 * x10 +
b11 * x11 +
b12 * x12 +
b13 * x13
$
(2) Syntax for the partial profile design using the candidate set:
- Code: Select all
Design
;alts = alt1*, alt2*, alt3*
;rows = 120
;eff = (mnl,d)
;alg = mfederov(candidates = excel_design_random.csv)
;block = 1
;model:
U(alt1) =
b1.effects[0|0|0|0] * x1[1,2,3,4,5] +
b2.effects[0|0|0|0] * x2[1,2,3,4,5] +
b3.effects[0|0|0|0] * x3[1,2,3,4,5] +
b4.effects[0|0|0|0] * x4[1,2,3,4,5] +
b5.effects[0|0|0|0] * x5[1,2,3,4,5] +
b6.effects[0|0|0|0] * x6[1,2,3,4,5] +
b7.effects[0|0|0|0] * x7[1,2,3,4,5] +
b8.effects[0|0|0|0] * x8[1,2,3,4,5] +
b9.effects[0|0|0|0] * x9[1,2,3,4,5] +
b10.effects[0|0|0|0] * x10[1,2,3,4,5] +
b11.effects[0|0|0|0] * x11[1,2,3,4,5] +
b12.effects[0|0|0|0] * x12[1,2,3,4,5] +
b13.effects[0|0|0|0] * x13[1,2,3,4,5]
/
U(alt2) =
b1 * x1 +
b2 * x2 +
b3 * x3 +
b4 * x4 +
b5 * x5 +
b6 * x6 +
b7 * x7 +
b8 * x8 +
b9 * x9 +
b10 * x10 +
b11 * x11 +
b12 * x12 +
b13 * x13
/
U(alt3) =
b1 * x1 +
b2 * x2 +
b3 * x3 +
b4 * x4 +
b5 * x5 +
b6 * x6 +
b7 * x7 +
b8 * x8 +
b9 * x9 +
b10 * x10 +
b11 * x11 +
b12 * x12 +
b13 * x13
$