Michiel,
thank you very much for the quick response. It was very helpful.
I removed all interactions with reference levels. Of course it is not necessary as with effects-coding estimates of reference levels can easily be calculated as inverted sum of remaining level coefficients of an attribute. So the calculated number of degrees of freedom was wrong as well. Anyway, the number of rows specified will be enough.
I got a design with following code now:
- Code: Select all
? design
Design
;alts = alt1, alt2, alt3
;rows = 144
;block = 12
;eff = (mnl,d,mean)
;bdraws = halton(500)
;model:
U(alt1) =
b1.effects[(n,-0.0003,0.0001)|(n,-0.0002,0.0001)|(n,-0.0001,0.00005)|(n,0.0001,0.00005)|(n,0.0002,0.0001)] * att1 [1,2,3,4,5,6] +
b2.effects[(n,-0.0002,0.0001)|(n,-0.001,0.00005)] * att2 [1,2,3] +
b3.effects[(n,-0.0002,0.0001)|(n,-0.001,0.00005)] * att3 [1,2,3] +
b4.effects[(n,-0.0002,0.0001)|(n,-0.001,0.00005)] * att4 [1,2,3] +
i1[0] * att1.effects[1] * att2.effects[1] +
i2[0] * att1.effects[1] * att2.effects[2] +
i3[0] * att1.effects[1] * att3.effects[1] +
i4[0] * att1.effects[1] * att3.effects[2] +
i5[0] * att1.effects[1] * att4.effects[1] +
i6[0] * att1.effects[1] * att4.effects[2] +
i7[0] * att1.effects[2] * att2.effects[1] +
i8[0] * att1.effects[2] * att2.effects[2] +
i9[0] * att1.effects[2] * att3.effects[1] +
i10[0] * att1.effects[2] * att3.effects[2] +
i11[0] * att1.effects[2] * att4.effects[1] +
i12[0] * att1.effects[2] * att4.effects[2] +
i13[0] * att1.effects[3] * att2.effects[1] +
i14[0] * att1.effects[3] * att2.effects[2] +
i15[0] * att1.effects[3] * att3.effects[1] +
i16[0] * att1.effects[3] * att3.effects[2] +
i17[0] * att1.effects[3] * att4.effects[1] +
i18[0] * att1.effects[3] * att4.effects[2] +
i19[0] * att1.effects[4] * att2.effects[1] +
i20[0] * att1.effects[4] * att2.effects[2] +
i21[0] * att1.effects[4] * att3.effects[1] +
i22[0] * att1.effects[4] * att3.effects[2] +
i23[0] * att1.effects[4] * att4.effects[1] +
i24[0] * att1.effects[4] * att4.effects[2] +
i25[0] * att1.effects[5] * att2.effects[1] +
i26[0] * att1.effects[5] * att2.effects[2] +
i27[0] * att1.effects[5] * att3.effects[1] +
i28[0] * att1.effects[5] * att3.effects[2] +
i29[0] * att1.effects[5] * att4.effects[1] +
i30[0] * att1.effects[5] * att4.effects[2] /
U(alt2) =
b1 * att1 +
b2 * att2 +
b3 * att3 +
b4 * att4 +
i1 * att1.effects[1] * att2.effects[1] +
i2 * att1.effects[1] * att2.effects[2] +
i3 * att1.effects[1] * att3.effects[1] +
i4 * att1.effects[1] * att3.effects[2] +
i5 * att1.effects[1] * att4.effects[1] +
i6 * att1.effects[1] * att4.effects[2] +
i7 * att1.effects[2] * att2.effects[1] +
i8 * att1.effects[2] * att2.effects[2] +
i9 * att1.effects[2] * att3.effects[1] +
i10 * att1.effects[2] * att3.effects[2] +
i11 * att1.effects[2] * att4.effects[1] +
i12 * att1.effects[2] * att4.effects[2] +
i13 * att1.effects[3] * att2.effects[1] +
i14 * att1.effects[3] * att2.effects[2] +
i15 * att1.effects[3] * att3.effects[1] +
i16 * att1.effects[3] * att3.effects[2] +
i17 * att1.effects[3] * att4.effects[1] +
i18 * att1.effects[3] * att4.effects[2] +
i19 * att1.effects[4] * att2.effects[1] +
i20 * att1.effects[4] * att2.effects[2] +
i21 * att1.effects[4] * att3.effects[1] +
i22 * att1.effects[4] * att3.effects[2] +
i23 * att1.effects[4] * att4.effects[1] +
i24 * att1.effects[4] * att4.effects[2] +
i25 * att1.effects[5] * att2.effects[1] +
i26 * att1.effects[5] * att2.effects[2] +
i27 * att1.effects[5] * att3.effects[1] +
i28 * att1.effects[5] * att3.effects[2] +
i29 * att1.effects[5] * att4.effects[1] +
i30 * att1.effects[5] * att4.effects[2] /
U(alt3) =
b1 * att1 +
b2 * att2 +
b3 * att3 +
b4 * att4 +
i1 * att1.effects[1] * att2.effects[1] +
i2 * att1.effects[1] * att2.effects[2] +
i3 * att1.effects[1] * att3.effects[1] +
i4 * att1.effects[1] * att3.effects[2] +
i5 * att1.effects[1] * att4.effects[1] +
i6 * att1.effects[1] * att4.effects[2] +
i7 * att1.effects[2] * att2.effects[1] +
i8 * att1.effects[2] * att2.effects[2] +
i9 * att1.effects[2] * att3.effects[1] +
i10 * att1.effects[2] * att3.effects[2] +
i11 * att1.effects[2] * att4.effects[1] +
i12 * att1.effects[2] * att4.effects[2] +
i13 * att1.effects[3] * att2.effects[1] +
i14 * att1.effects[3] * att2.effects[2] +
i15 * att1.effects[3] * att3.effects[1] +
i16 * att1.effects[3] * att3.effects[2] +
i17 * att1.effects[3] * att4.effects[1] +
i18 * att1.effects[3] * att4.effects[2] +
i19 * att1.effects[4] * att2.effects[1] +
i20 * att1.effects[4] * att2.effects[2] +
i21 * att1.effects[4] * att3.effects[1] +
i22 * att1.effects[4] * att3.effects[2] +
i23 * att1.effects[4] * att4.effects[1] +
i24 * att1.effects[4] * att4.effects[2] +
i25 * att1.effects[5] * att2.effects[1] +
i26 * att1.effects[5] * att2.effects[2] +
i27 * att1.effects[5] * att3.effects[1] +
i28 * att1.effects[5] * att3.effects[2] +
i29 * att1.effects[5] * att4.effects[1] +
i30 * att1.effects[5] * att4.effects[2]
$
But Ngene won't find a design when use ;alts = alt1*, alt2*, alt3* to check for dominant alternatives. Maybe I should reconsider the use of specified priors in the syntax. Though, we are certain about sign of parameters and ranking. I tried different specifications (larger priors and close to zero). But it didn't make any difference. Ngene detects too many cases of dominance and didn't come up with any design.
Could you give any advice how to specify my priors in a better way?
And I thought about using orthogonal design with foldover. But I would need at least 36 rows, with foldover 72. I am not sure if I can block the foldover design into more than 2 blocks. And the low number of respondents might be an issue too.
Thank you very much again.
Regards,
Andrew