Handling unlabeled alternatives

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Handling unlabeled alternatives

Postby ofirhil » Tue Jul 13, 2010 5:27 pm

Hi,
I'm trying to design an SP choice experiment with unlabeled alternatives. I have three unlabeled alternatives:alt1,alt2,alt3.
I decided first to begin with the example syntax from the manual (p. 169) with two unlabeled alternatives and it worked fine, but when i added the third alternative i got the error message below.
The example code(with three alternatives)
Code: Select all
Design
;alts = alt1*, alt2*, alt3*
;rows=9
;eff=(mnl,d)
;model:
U(alt1) = a[-0.1]*A[96,114,126,144] + b[-0.5]*B[25,28,31,34] + c[0.1]*C[20,40,60,80]/
U(alt2) = a*A + b*B + c*C/
U(alt3) = a*A + b*B + c*C
$


And the error message in the end of the process:
Code: Select all
Error: A random design could not be generated after 2000000 attempts. There were 0 row repetitions, 119497 alternative repetitions, and 1880503 cases of dominance
Finished.


The reason i use unlabeled alternatives is since i want to prevent: within choice task alternative repetition, dominance and choice task repetition.
Can you please direct me how to implement an unlabeled choice experiment with the three alternatives, is it possible?

Many Thanks,
Ofir
ofirhil
 
Posts: 2
Joined: Fri Jul 09, 2010 12:09 am

Re: Handling unlabeled alternatives

Postby Andrew Collins » Thu Jul 15, 2010 7:15 pm

Hi Ofir,

The problem is due to the high likelihood of at least one of the alternatives being dominated (i.e. should never be chosen as another alternative in the choice set is better on all attributes), given that there are three alternatives, and not that many attribute levels. There may be a design that doesn't fail, but since the first design is generated with a full randomisation of the levels, it may not be found.

Can you afford to add extra attribute levels? By adding a fifth level into each of the attributes below, Ngene can generate some designs and improve the d-error fairly well. You could keep the range the same and change the spacings, but this won't be possible with categorical attribute levels.

Another approach, if level balance is not important, is to use the modified federov algorithm by adding
Code: Select all
;alg=mfederov

Optionally, you could move to the swapping algorithm after a certain amount of time or iterations using something like:
Code: Select all
;alg=mfederov(stop = noimprov(1000 iterations)),swap

However, this does not seem to improve things much.

We are playing around with some different approaches to dominance, with the aim of making it more flexible in the future.

Cheers,
Andrew
Andrew Collins
 
Posts: 78
Joined: Sat Mar 28, 2009 4:48 pm

Re: Handling unlabeled alternatives

Postby ofirhil » Sun Jul 18, 2010 8:02 pm

Thanks for the tips, but i'm rather strict with the number of levels of the attributes, and the federov alg. isn't working for me since i have constraints on
attributes values.
I guess my major problem is that i need 27 choice sets in the unlabeled choice experiment , am i right?
ofirhil
 
Posts: 2
Joined: Fri Jul 09, 2010 12:09 am

Re: Handling unlabeled alternatives

Postby Andrew Collins » Mon Jul 19, 2010 10:47 am

Hi Ofir,

You can also apply constraints with the federov algorithm, however they are specified a little differently. I will use and example from "8.2.2 Constrained designs" in the demonstration project (from the help menu).

Code: Select all
Design
;alts = Alt1, Alt2
;rows = 6
;eff = (mnl, d)
;alg = mfederov
;reject:
Alt1.X1 > Alt2.X3
;model:
U(Alt1) = b1[-0.2] + b2[0.3] * X1[2,4,6](1-3,1-3,1-3) + b3[0.4] * X2[1,3,5](1-3,1-3,1-3) /
U(Alt2) =            b2      * X3[2,4,6](1-3,1-3,1-3) + b4[0.3] * X4[1,2,3](1-3,1-3,1-3) $


You can specify a series of reject conditions with the reject property (comma separate them as with the cond property). Any choice set that satisfies the logical rule with not make it into the experimental design. The round brackets after the attribute level specification specify how many times each level can appear. The narrower the range, the harder it will be to find a design. There is also a require property, where the choice set will not enter the experimental design if the logical rule evaluates to false.

So you could add the reject or require conditions to the following syntax:

Code: Select all
Design
;alts = alt1*, alt2*, alt3*
;rows=9
;eff=(mnl,d)
;alg=mfederov
;model:
U(alt1) = a[-0.1]*A[96,114,126,144](1-3,1-3,1-3,1-3) + b[-0.5]*B[25,28,31,34](1-3,1-3,1-3,1-3) + c[0.1]*C[20,40,60,80](1-3,1-3,1-3,1-3)/
U(alt2) = a*A + b*B + c*C/
U(alt3) = a*A + b*B + c*C
$


The problem is coming from a combination of the number of attributes (more attributes will tend to break the dominance situation), the number of levels (more levels makes it easier for an attribute to be better or worse than another attribute in the choices et), and the number of alternatives (more alternatives create more combinations of alternatives, each of which lead to a dominance situation). The advantage of the federov algorithm in this situation is that by not trying to force complete attribute level balance, a larger area of the design space can be examined.
Andrew Collins
 
Posts: 78
Joined: Sat Mar 28, 2009 4:48 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 29 guests