Page 1 of 1

Dummy variables alternative syntax equivalence?

PostPosted: Sat Dec 02, 2017 9:15 pm
by dov0101
Hello,

I am designing a CE in Ngene and I wonder whether the following syntax options are equivalent in term of design

+ b5.dummy[0|0|0]*LOCMULTVAR[0,1,2,3]
+ b5*LOCVAR[0,1] + b6*MULTVAR[0,1] + b56*LOCVAR[0,1]*MULTVAR[0,1]

where
LOCMULTVAR[0,1,2,3] = none, local, multiple, local+multiple
LOCVAR[0,1] = local
MULTVAR[0,1] = multiple

In both cases I get three parameters to be estimated, but what about the design?
Should the Ngene output be the same?

Maurizio

Re: Dummy variables alternative syntax equivalence?

PostPosted: Sun Dec 03, 2017 8:30 am
by Michiel Bliemer
Let me first rewrite your syntax a bit to make it easier to explain:

Syntax 1: b.dummy[b1,b2,b3] * locmultvar[1,2,3,0]
Syntax 2: b1*locvar[0,1] + b2*multvar[0,1] + b4*locvar*multvar

where "none" is the reference level in my specification, and where:
b1 represents the contribution to utility of "local"
b2 represents the contribution to utility of "multiple"
b3 and (b1+b2+b4) represent the contribution to utility of "local+multiple"

Both model formulations describe exactly the same behaviour.However, the models are slightly different. Since b1 to b4 will each have a standard error in estimation, I suspect that b1+b2+b4 will be less reliable in estimation (i.e.. a larger standard error) than b3. Since the covariance matrices of the two model formulations are different, the D-error will be different and hence the resulting efficient design may be slightly different. But I think that the design for both models will have similar choice tasks.

Michiel

Re: Dummy variables alternative syntax equivalence?

PostPosted: Sun Dec 03, 2017 10:30 pm
by dov0101
Thanks Michiel,

then, would you suggest to use the formulation that estimates b3, rather than (b1+b2+b4)?

Re: Dummy variables alternative syntax equivalence?

PostPosted: Mon Dec 04, 2017 5:13 am
by dov0101
I tested two equivalent syntaxes:

Code: Select all
Design   
;alts = alt1, alt2, alt3, alt4, none   
;rows = 16   
;orth = ood
;model:   
U(alt1) = b1*PRICE[11,13,15,17] + b2*AOP[0,1] + b3*BIO[0,1] + b23*AOP[0,1]*BIO[0,1] + b4*INTTASTE[0,1] + b5*LOCVAR[0,1] + b6*MULTVAR[0,1] + b56*LOCVAR[0,1]*MULTVAR[0,1] + b7.dummy[0|0|0]*COO[1,2,3,0] /   
U(alt2) = b1*PRICE              + b2*AOP      + b3*BIO      + b23*AOP*BIO           + b4*INTTASTE      + b5*LOCVAR      + b6*MULTVAR      + b56*LOCVAR*MULTVAR           + b7.dummy       *COO          /   
U(alt3) = b1*PRICE              + b2*AOP      + b3*BIO      + b23*AOP*BIO           + b4*INTTASTE      + b5*LOCVAR      + b6*MULTVAR      + b56*LOCVAR*MULTVAR           + b7.dummy       *COO          /   
U(alt4) = b1*PRICE              + b2*AOP      + b3*BIO      + b23*AOP*BIO           + b4*INTTASTE      + b5*LOCVAR      + b6*MULTVAR      + b56*LOCVAR*MULTVAR           + b7.dummy       *COO          /   
U(none) = b0   
$   


D optimality 98.83343%

versus the alternative syntax in which CERT = AOP*BIO and BIODIV = LOCVAR*MULTVAR

Code: Select all
Design   
;alts = alt1, alt2, alt3, alt4, none   
;rows = 16   
;orth = ood
;model:   
U(alt1) = b1[0]*PRICE[11,13,15,17] + b2.dummy[0|0|0]*CERT[1,2,3,0] + b3.dummy[0]*INTTASTE[1,0] + b4.dummy[0|0|0]*BIODIV[1,2,3,0] + b5.dummy[0|0|0]*COO[1,2,3,0]/   
U(alt2) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(alt3) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(alt4) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(none) = b0[0]   
$   



D optimality 91.915332% (in this case only one design is found)

However, I think the second formulation is clearer.
What do you think?

Maurizio

Re: Dummy variables alternative syntax equivalence?

PostPosted: Mon Dec 04, 2017 8:13 am
by Michiel Bliemer
This is personal preference really, both are similar.

I notice that you are using OOD. Do you not know the sign of the coefficients? I suppose the price parameter b1 is negative, and perhaps you also know the sign of the other parameters? If so, you could create an efficient design with very small positive or negative priors and let Ngene automatically remove dominant alternatives by adding a * after alt1 to alt4.

Re: Dummy variables alternative syntax equivalence?

PostPosted: Tue Dec 05, 2017 3:28 am
by dov0101
Thanks for the advice.

This was the starting design to get priors from an initial set of respondents, but I will definitely follow your instructions to improve it.

Maurizio

Re: Dummy variables alternative syntax equivalence?

PostPosted: Tue Dec 05, 2017 3:55 am
by dov0101
I tried this syntax

Code: Select all
Design   
;alts = alt1*, alt2*, alt3*, alt4*, none   
;rows = 16   
;eff=(mnl,d)   
;model:   
U(alt1) = b1[-.01]*PRICE[11,13,15,17] + b2.dummy[.01|.01|.02]*CERT[1,2,3,0] + b3.dummy[0]*INTTASTE[1,0] + b4.dummy[0|0|0]*BIODIV[1,2,3,0] + b5.dummy[.01|.01|-.01]*COO[1,2,3,0]/   
U(alt2) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(alt3) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(alt4) = b1   *PRICE              + b2.dummy       *CERT          + b3.dummy   *INTTASTE      + b4.dummy       *BIODIV          + b5.dummy       *COO         /   
U(none) = b0[-1]   
$   



the output was this message

A valid initial random design could not be generated after approximately 10 seconds. In this time, of the 119099 attempts made, there were 0 row repetitions, 1420 alternative repetitions, and 117679 cases of dominance. There are a number of possible causes for this, including the specification of too many constraints, not having enough attributes or attribute levels for the number of rows required, and the use of too many scenario attributes. A design may yet be found, and the search will continue for 10 minutes. Alternatively, you can stop the run and alter the syntax.


Did I make any mistake?
Please note that the ood stops at the first design found.

Re: Dummy variables alternative syntax equivalence?

PostPosted: Tue Dec 05, 2017 1:16 pm
by Michiel Bliemer
OOD is not an iterative process, it typically just generates one or a few designs. It simply uses design generators discussed by Street and Burgess and there are only a limited number of them.

You have put in a few priors with a sign while leaving the other ones zero. This means that Ngene will only look at dominance for the attributes that have a non-zero prior. But since you are asking for 4 alternatives, it is not possible for Ngene to create choice tasks without a dominant alternative. Maybe this is not problematic and if you look at the choice tasks manually and they are fine, then do not worry about it and remove the *. But if you think that some alternatives are clearly dominant, then that could be problematic. This can be resolved by showing less alternatives to a respondent. Do you really need to show 4 alternatives (each with 5 attributes)? These are complex choice tasks. If you reduce it to two, Ngene would be able to find an experimental design without any dominant alternatives (according to the priors you have set). But given that you do not know the sign of some of the attributes, I think dominance is not a real issue in your experiment.