Avoid dominant alternatives without a pilot

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Avoid dominant alternatives without a pilot

Postby yanyanyun » Sat Mar 11, 2023 7:31 pm

Dear Professors,

We do not plan to do a pilot and plan to use the below code for our final study to avoid the dominant alternatives. I have four questions and wanted to seek your kind advice.

Design
;alts = PackageA*, PackageB*, status quo
;rows = 24
;eff = (mnl,d)
;block = 3
;model:
U(PackageA) = b0[0] +
b1.dummy[0|0|0] * Ingredient[0,1,2,3] +
b2.dummy[0.00011|0.0001|-0.0001] * plastics[80,100,140,120] +
b3.dummy[0.00011|0.0001|-0.0001] * CO2[0.5,1.5,3.5,2.5] +
b4.dummy[0] * Origin[0, 1] +
b5[-0.0001] * Price[5,15,25,35] /

U(PackageB) = b0 +
b1 * Ingredient +
b2 * plastics +
b3 * CO2 +
b4 * Origin +
b5 * Price
$

Background information:
1. The last level is the baseline for all attributes except price.
2. I do not know the preference among attribute levels for 'Ingredient' and b 'Origin', that's why their priors are 0.
3. The dominant alternative for our study is when 'plastics', 'CO2', and 'Price' are much better (or less value) in one package compared to another. These are the dominant alternatives we wanted to avoid.

Questions:
1. For attributes 'plastics' and 'CO2' , even though it may be common sense that the public prefers fewer plastics contained and CO2 emission, I am not sure whether I can set up these two attributes as linear. Plus, in my later analysis (after collected data), I want to compare the economic value of non-baseline attribute levels with baseline attribute levels. Hence, I set up 'plastics' and 'CO2' as non-linear with dummy codes. Will you support this design?

2. For attributes 'plastics' and 'CO2' , our baseline is a 'middle value', which means there are attribute levels larger and lesser than the baseline value. Using 'plastics' as an example, the baseline is 120, we have an increased value (140) and two decreased values (80 and 100). It may be common sense that the public prefers lower plastics and CO2 and less like their increased value. Hence, for 'plastics' and 'CO2', I set up the first prior (0.00011) > second prior (0.0001) > baseline (0); and set up the third prior (-0.0001) < baseline (0). My purpose for adding these priors is to add the sign for the priors and avoid the dominant alternatives. May I ask if you think I can use this design in the final study without a pilot? (all prior values are made by me, not from a pilot study or literature).

3. If the answer to question #2 is yes, do you think I can ignore the below error message when I run the above code in the Ngene? I can receive the result with D-error 0.261059.
"A valid initial random design could not be generated after approximately 10 seconds. In this time, of the 312099 attempts made, there were 0 row repetitions, 1304 alternative repetitions, and 310795 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."

4. If the answer to question #2 is No. Would you suggest I set all priors as 0 (as below) and ignore the dominant alternative issue in our final study?
U(PackageA) = b0[0] +
b1.dummy[0|0|0] * Ingredient[0,1,2,3] +
b2.dummy[0|0|0] * plastics[80,100,140,120] +
b3.dummy[0|0|0] * CO2[0.5,1.5,3.5,2.5] +
b4.dummy[0] * Origin[0, 1] +
b5[0] * Price[5,15,25,35] /

Thank you so much for your help in advance. I learned a lot from this forum.

Warm regards,
Yan
yanyanyun
 
Posts: 3
Joined: Tue Sep 20, 2022 5:11 pm

Re: Avoid dominant alternatives without a pilot

Postby Michiel Bliemer » Sat Mar 11, 2023 7:51 pm

1. Yes you can use dummy coding in the design and test nonlinear relationships later. In model estimation, you may wish to consider logarithms or other continuous nonlinear functions instead of dummy coding for a numerical attribute.

2. Yes that should be fine, you are using uninformative priors indicating the preference order of attribute levels only, which allows avoiding dominant alternatives.

3. You need to switch to the modified Federov algorithm as it is too difficult for Ngene to find an attribute level balanced design. Simply add ;alg = mfederov and I recommend also adding (5-7,5-7,5-7,5-7) for the numerical price attribute to ensure that each level appears 5 to 7 times within the 24 rows. See script below.

Code: Select all
Design
;alts = PackageA*, PackageB*, status quo
;rows = 24
;block = 3
;eff = (mnl,d)
;alg = mfederov
;model:
U(PackageA) = b0[0] +
b1.dummy[0|0|0] * Ingredient[0,1,2,3] +
b2.dummy[0.00011|0.0001|-0.0001] * plastics[80,100,140,120] +
b3.dummy[0.00011|0.0001|-0.0001] * CO2[0.5,1.5,3.5,2.5] +
b4.dummy[0] * Origin[0, 1] +
b5[-0.0001] * Price[5,15,25,35](5-7,5-7,5-7,5-7) /

U(PackageB) = b0 +
b1 * Ingredient +
b2 * plastics +
b3 * CO2 +
b4 * Origin +
b5 * Price
$


I notice that you set the status quo to zero. Zero is usually for an opt-out. If it is a status quo, it usually has levels. You can set the levels using something like:

;require:
sq.ingredient=3, sq.plastics=120, sq.origin=1, sq.price=5

Setting these levels allows Ngene to also avoid dominant alternatives with respect to the status quo alternative.

Michiel
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 7 guests

cron