No valid design has been found

This forum is for posts that specifically focus on the Windows desktop version of Ngene (i.e. all version 1.x releases).

Moderators: Andrew Collins, Michiel Bliemer, johnr

Post Reply
ChrisG
Posts: 8
Joined: Wed Mar 08, 2023 2:16 am

No valid design has been found

Post 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]
$
Michiel Bliemer
Posts: 2055
Joined: Tue Mar 31, 2009 4:13 pm

Re: No valid design has been found

Post 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
ChrisG
Posts: 8
Joined: Wed Mar 08, 2023 2:16 am

Re: No valid design has been found

Post by ChrisG »

Thank you so much, that helped!
ChrisG
Posts: 8
Joined: Wed Mar 08, 2023 2:16 am

Re: No valid design has been found

Post 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]
$
Michiel Bliemer
Posts: 2055
Joined: Tue Mar 31, 2009 4:13 pm

Re: No valid design has been found

Post 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
ChrisG
Posts: 8
Joined: Wed Mar 08, 2023 2:16 am

Re: No valid design has been found

Post by ChrisG »

I understand, thank you for your explanation and suggestion!

Christian
Post Reply