Including/excluding no-choice alternative
Posted: Wed Aug 10, 2022 12:10 am
Dear users and moderators,
Currently I'm designing a DCE for measuring citizens' preferences for public participation along the policy cycle. The participation moment (in the policy cycle) is fixed in the two alternatives to enable a comprehensible comparison for respondents. The attribute `E' represents price, and the rest of the attribute levels are effects coded because they are not continuous but describe certain characteristics of a participation process.
I'm still not sure whether to include an opt-out alternative (i.e. no public participation), but an issue arose here. When I do not specify a third alternative `alt3' Ngene will not generate a design and report:
Warning: No valid design has been found after 1000 evaluations. There may be a problem with the specification of the design. A common problem is that the choice probabilities are too extreme (close to 1 and 0), perhaps because some or all of the prior values are too large. Also, it is generally a good idea to start with a simple design (MNL, non-Bayesian), then add complexity. If you press stop, a design will be reported, which may assist in diagnosing the problem.
However, if I do include a third alternative `alt3', Ngene does generate a design, but an opt-out option is not visible in the (formatted) scenarios. It also does not show if I specify `alt3' and include another utility function `U(alt3) = asc'.
So, my question is why does it not generate a design if I only specify two alternatives, and why does an opt-out alternative not show in the design if I specify one? Furthermore, I don't have knowledge about prior-values, so I did not specify any, and specified them as zero for the effects coding.
Thanks in advance!
Currently I'm designing a DCE for measuring citizens' preferences for public participation along the policy cycle. The participation moment (in the policy cycle) is fixed in the two alternatives to enable a comprehensible comparison for respondents. The attribute `E' represents price, and the rest of the attribute levels are effects coded because they are not continuous but describe certain characteristics of a participation process.
I'm still not sure whether to include an opt-out alternative (i.e. no public participation), but an issue arose here. When I do not specify a third alternative `alt3' Ngene will not generate a design and report:
Warning: No valid design has been found after 1000 evaluations. There may be a problem with the specification of the design. A common problem is that the choice probabilities are too extreme (close to 1 and 0), perhaps because some or all of the prior values are too large. Also, it is generally a good idea to start with a simple design (MNL, non-Bayesian), then add complexity. If you press stop, a design will be reported, which may assist in diagnosing the problem.
However, if I do include a third alternative `alt3', Ngene does generate a design, but an opt-out option is not visible in the (formatted) scenarios. It also does not show if I specify `alt3' and include another utility function `U(alt3) = asc'.
So, my question is why does it not generate a design if I only specify two alternatives, and why does an opt-out alternative not show in the design if I specify one? Furthermore, I don't have knowledge about prior-values, so I did not specify any, and specified them as zero for the effects coding.
Thanks in advance!
- Code: Select all
Design
;alts = alt1, alt2
? (Currently) 14 estimated parameters in utility-function, and 2 alternatives (alt3 is `opt out'). So, minimum of 14/2 = 7 choice tasks.
;rows = 14
;eff
;cond:
? If listen as a spectator, then only personal benefit possible
if(alt1.C = 1, alt1.D = 1),
if(alt2.C = 1, alt2.D = 1),
? If aggregate & bargain or deliberate & negotiate, listen as spectator not possible
if(alt1.C = [3, 4], alt1.D = [1, 2, 3, 4]),
if(alt2.C = [3, 4], alt2.D = [1, 2, 3, 4]),
? Specify costs for scenarios
if(alt1.B = 0 and alt1.C = 0, alt1.E = 62500),
if(alt1.B = 0 and alt1.C = 1, alt1.E = 156250),
if(alt1.B = 0 and alt1.C = 2, alt1.E = 250000),
if(alt1.B = 0 and alt1.C = 3, alt1.E = 437500),
if(alt1.B = 0 and alt1.C = 4, alt1.E = 625000),
if(alt1.B = 1 and alt1.C = 0, alt1.E = 37500),
if(alt1.B = 1 and alt1.C = 1, alt1.E = 62500),
if(alt1.B = 1 and alt1.C = 2, alt1.E = 156250),
if(alt1.B = 1 and alt1.C = 3, alt1.E = 250000),
if(alt1.B = 1 and alt1.C = 4, alt1.E = 437500),
if(alt1.B = 2 and alt1.C = 0, alt1.E = 12500),
if(alt1.B = 2 and alt1.C = 1, alt1.E = 37500),
if(alt1.B = 2 and alt1.C = 2, alt1.E = 62500),
if(alt1.B = 2 and alt1.C = 3, alt1.E = 156250),
if(alt1.B = 2 and alt1.C = 4, alt1.E = 250000),
if(alt2.B = 0 and alt2.C = 0, alt2.E = 62500),
if(alt2.B = 0 and alt2.C = 1, alt2.E = 156250),
if(alt2.B = 0 and alt2.C = 2, alt2.E = 250000),
if(alt2.B = 0 and alt2.C = 3, alt2.E = 437500),
if(alt2.B = 0 and alt2.C = 4, alt2.E = 625000),
if(alt2.B = 1 and alt2.C = 0, alt2.E = 37500),
if(alt2.B = 1 and alt2.C = 1, alt2.E = 62500),
if(alt2.B = 1 and alt2.C = 2, alt2.E = 156250),
if(alt2.B = 1 and alt2.C = 3, alt2.E = 250000),
if(alt2.B = 1 and alt2.C = 4, alt2.E = 437500),
if(alt2.B = 2 and alt2.C = 0, alt2.E = 12500),
if(alt2.B = 2 and alt2.C = 1, alt2.E = 37500),
if(alt2.B = 2 and alt2.C = 2, alt2.E = 62500),
if(alt2.B = 2 and alt2.C = 3, alt2.E = 156250),
if(alt2.B = 2 and alt2.C = 4, alt2.E = 250000)
? Effects coding for individual level utility observance
? Effects coding instead of dummy because non-zero base-levels. Better for comparison with other attributes
;model:
U(alt1) = A.effects[0|0|0] * A[0,1,2,3]
+ b2.effects[0|0] * B[0,1,2]
+ b3.effects[0|0|0|0] * C[0,1,2,3,4]
+ b4.effects[0|0|0|0] * D[0,1,2,3,4]
+ b5 * E[12500, 37500, 62500, 156250, 250000, 437500, 625000]
/
? Fix `A' as same moment as in alt1 for understandable comparison.
U(alt2) = A * A[A]
+ b2 * B
+ b3 * C
+ b4 * D
+ b5 * E
$