Page 1 of 1

No valid design has been found

PostPosted: Tue Oct 03, 2023 7:31 pm
by ChrisG
Hi everyone

I am trying to generate a new design for a DCE; please see the code below. The problem is that I get the warning "No valid design has been found after 1000 evaluations." I am recommended to check whether probabilities might be too extreme or priors too large. However, given the defined priors probabilities stay pretty close to 0.5 in all possible choice sets, as is visible in the design reported when I stop the search process. Letting the search process run for a long time does not help either.
Does anyone see the mistake I seem to be overlooking?

Best,
Christian

Code: Select all
Design
;alts = alt_d, alt_g
;rows = 18
;block = 6
;eff = (mnl, d)
;model:
U(alt_d) = b1[-0.001]            * WD[65,75,85]
        + b2.dummy[0.2]          * C[1,2]
        + b3.dummy[0]             * YD[1,2]
        + b4[0]                          * C.dummy[1]*YD.dummy[2]
        + b5[0]                          * C.dummy[2]*YD.dummy[1]
        + b6[0]                          * C.dummy[1]*YD.dummy[1]
        /
U(alt_g) = b7[-0.001]            * WG[65,75,85]
        + b8.dummy[0.3]          * T[1,2]
        + b9.dummy[0]             * YG[1,2]
        + b10[0]                         * T.dummy[1]*YG.dummy[2]
        + b11[0]                         * T.dummy[2]*YG.dummy[1]
        + b12[0]                         * T.dummy[1]*YG.dummy[1]
$

Re: No valid design has been found

PostPosted: Wed Oct 04, 2023 12:21 pm
by Michiel Bliemer
You are overspecifying your model and it cannot be estimated, so the D-error becomes infinite. The issue is that you included interactions with both dummy[1] and dummy[2] into the model, but with dummy coding you can only use L-1 dummy variables, where L is the number of levels. So you should interact only with C.dummy[1] OR C.dummy[2] and only interact with YD.dummy[1] OR YD.dummy[2], as they will be relative to the one you left out. The last dummy level is the base level in Ngene, so in your case prior 0.2 refers to level 1 relative to base level 2. So I would choose to interact only with C.dummy[1] and with YD.dummy[1], while level 2 is the base level.

Michiel

Re: No valid design has been found

PostPosted: Wed Oct 04, 2023 5:46 pm
by ChrisG
Thank you so much, that helped!

Re: No valid design has been found

PostPosted: Fri Dec 08, 2023 11:01 pm
by ChrisG
Michiel Bliemer wrote:You are overspecifying your model and it cannot be estimated, so the D-error becomes infinite. The issue is that you included interactions with both dummy[1] and dummy[2] into the model, but with dummy coding you can only use L-1 dummy variables, where L is the number of levels. So you should interact only with C.dummy[1] OR C.dummy[2] and only interact with YD.dummy[1] OR YD.dummy[2], as they will be relative to the one you left out. The last dummy level is the base level in Ngene, so in your case prior 0.2 refers to level 1 relative to base level 2. So I would choose to interact only with C.dummy[1] and with YD.dummy[1], while level 2 is the base level.

Michiel

Hi again, I've added an alternative specific parameter b0 to alt_d, see below, now I again end up with no valid design has been found. Am I again overspecifying?

Code: Select all
Design
;alts = alt_d, alt_g
;rows = 21
;block = 7
;eff = (rppanel, d)
;model:
U(alt_d) = b0[n,0,0]
        + b1d[n,-0.001,0]             * WD[60,70,80]
        + b2d.dummy[n,0.2,0]          * C[1,0]
        + b3d.dummy[n,0,0]            * GD[1,0]
        + b4d.dummy[n,0,0]            * YD[1,0]
        + b5d[0]                      * C.dummy[1]*YD.dummy[1]
        /
U(alt_g) = b1g[n,-0.001,0]            * WG[60,70,80]
        + b2g.dummy[n,0.2,0]          * T[1,0]
        + b3g.dummy[n,0,0]            * GG[1,0]
        + b4g.dummy[n,0,0]            * YG[1,0]
        + b5g[0]                      * T.dummy[1]*YG.dummy[1]
$

Re: No valid design has been found

PostPosted: Sat Dec 09, 2023 10:10 am
by Michiel Bliemer
No, the utility specification is fine in this case, the parameters are identifiable. The issue is that you are trying to optimise for the panel mixed logit model (rppanel), which is extremely computationally extensive, and you are using non-sensible priors (e.g. all your standard deviations are zero, so essentially it is an mnl model). I suggest you use ;eff = (mnl,d).

Michiel

Re: No valid design has been found

PostPosted: Tue Dec 12, 2023 12:45 am
by ChrisG
I understand, thank you for your explanation and suggestion!

Christian