Differentiating scenarios across alternatives

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Differentiating scenarios across alternatives

Postby yhashida » Thu Feb 27, 2025 3:34 am

I am designing a choice experiment that asks respondents which wetland protection option they choose. There are two protection options and one status-quo option. Without protection, all attributes in status quo will see negative levels as wetlands' areas decline. The status quo attribute levels, therefore, only appear in the status quo alternative and do not appear in the other two alternatives.

Furthermore, there are two scenarios: the local scenario, in which protection projects take place locally, and the non-local scenario, in which protection options take place non-locally.

The attributes are the following: FISH represents recreational fishing, WILD represents wildlife habitat areas, ACCESS represents access from the roads, WALK represents a length of boardwalk, SCENARIO represents two different scenarios, and COST. The attribute levels are the following:
FISH -10% (status quo), 0%, 15%, 30%;
WILD -20% (status quo), 25%, 50%, 75%;
ACCESS -15% (status quo), 0%, 25%, 50%;
WALK -15% (status quo), 0 mile, 1 mile, 2 miles;
COST $10, 25, 50, 75, 100, 150, 200, 300;
SCENARIO 0 (local) and 1 (non-local)

I want to estimate varying coefficients depending on local vs. non-local projects, as respondents might have different preferences and willingness to pay for the attributes if they are local.
About a month ago, I asked how to code the scenario on this forum (thank you), and the current code is below.

The problem with the code, however, is the following:
1. In every choice card, respondents see either scenario 0 (local) or scenario 1 (non-local) for both alternatives, but the respondents should also see local vs non-local sometimes across alternatives.
2. If this is the case (one alternative is local and another non-local), since respondents usually prefer local projects, attribute levels in non-local project should be higher in at least one of the attributes.

My question is, how can I incorporate these into the code? I tried to add constraints but without much success. Any suggestions would be greatly appreciated.

Design
;alts = alt1*, alt2*, sq
;rows = 30
;block = 5
;eff = (mnl,d)

? FISH: recreational fish harvest FISH=0 reduction, FISH=1 maintain current level, FISH=1 15% increase, FISH = 2 30% increase
? WILD: % of restored land suitable as wildlife habitat WILD=0 no additional habitat, WILD=1 25% suitable, WILD=2 50% suitable, WILD=3 75% suitable
? ACCESS: % of restored land accessible ACCESS=0 no additional access and access declines, ACCESS=1 restricted, ACCESS=2 25%, ACCESS=3 50%
? WALK :miles of boardwalk WALK=0 no additional boardwalk and miles reduced, WALK=1 restricted, WALK=2 1 mile, WALK=3 2 miles
? COST: annual tax increase $10,25,50,75,100,150,200,300
? SCENARIO: 0 local, 1 non-local

;model:
U(alt1) = b1.dummy[0.001|0.002] * FISH[2,3,1]
+ b2.dummy[0.001|0.002] * WILD[2,3,1]
+ b3.dummy[0.001|0.002] * ACCESS[2,3,1]
+ b4.dummy[0.001|0.002] * WALK[2,3,1]
+ b5.dummy[-0.01|-0.02|-0.03|-0.04|-0.05|-0.06|-0.07] * COST[10,25,50,75,100,150,200,300]
+ i1 * FISH.dummy[2] * SCENARIO[0,1]
+ i2 * FISH.dummy[3] * SCENARIO
+ i3 * WILD.dummy[2] * SCENARIO
+ i4 * WILD.dummy[3] * SCENARIO
+ i5 * ACCESS.dummy[2] * SCENARIO
+ i6 * ACCESS.dummy[3] * SCENARIO
+ i7 * WALK.dummy[2] * SCENARIO
+ i8 * WALK.dummy[3] * SCENARIO
/
U(alt2) = b1.dummy*FISH
+ b2.dummy*WILD
+ b3.dummy*ACCESS
+ b4.dummy*WALK
+ b5.dummy*COST
+ i1 * FISH.dummy[2] * SCENARIO[SCENARIO]
+ i2 * FISH.dummy[3] * SCENARIO[SCENARIO]
+ i3 * WILD.dummy[2] * SCENARIO[SCENARIO]
+ i4 * WILD.dummy[3] * SCENARIO[SCENARIO]
+ i5 * ACCESS.dummy[2] * SCENARIO[SCENARIO]
+ i6 * ACCESS.dummy[3] * SCENARIO[SCENARIO]
+ i7 * WALK.dummy[2] * SCENARIO[SCENARIO]
+ i8 * WALK.dummy[3] * SCENARIO[SCENARIO]
/
U(sq) = sq_asc[0]
$
yhashida
 
Posts: 6
Joined: Fri Feb 07, 2025 3:30 am

Re: Differentiating scenarios across alternatives

Postby Michiel Bliemer » Thu Feb 27, 2025 10:59 am

By specifying SCENARIO[SCENARIO] you indicate the this is a scenario variable, which MUST be identical across all alternatives (because scenario variables describe the choice context and are NOT a characteristic of the alternative). If you want also local versus non-local to appear in a choice task, then it is by definition not a scenario variable but rather a characteristic of the alternative. You can achieve this by simply removing "[SCENARIO]" from alt2. You will need to think about whether this makes sense. For example, weather is a scenario variable, and you do not choose between rainy and sunny weather, it is either rainy or sunny no matter what alternative you choose.

If you include SCENARIO as a regular attribute, then you have b6.dummy[0.1] * SCENARIO[1,0], where 0.1 indicates that level 1 is better than level 0. Because Ngene is performing dominance checks, there will always be one level better on the other attributes. This would not require any further constraints.

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

Re: Differentiating scenarios across alternatives

Postby yhashida » Fri Feb 28, 2025 2:48 am

If I want to estimate varying coefficients for each attribute depending on location (local projects within the respondent's neighboring counties or non-local projects outside of neighboring counties), shouldn't the location (that I call scenarios here, which was confusing) be one of the attributes so that respondents can evaluate local vs. local, non-local vs. non-local, but also local vs. non-local across two alternatives? Or does including these as scenarios (as in the original setup) still allow us to estimate them systematically?

One more question: both my original code and this new code (below, revised with your suggestions) result in a huge S estimate. This was the reason why I started thinking something was wrong with the original code. S estimate is even larger with the new setup. Any idea why that is the case? Is this something to be concerned about? Thank you.

;model:
U(alt1) = b1.dummy[0.001|0.002] * FISH[2,3,1]
+ b2.dummy[0.001|0.002] * WILD[2,3,1]
+ b3.dummy[0.001|0.002] * ACCESS[2,3,1]
+ b4.dummy[0.001|0.002] * WALK[2,3,1]
+ b5.dummy[-0.01|-0.02|-0.03|-0.04|-0.05|-0.06|-0.07] * COST[10,25,50,75,100,150,200,300]
+ b6.dummy[0.1] * SCENARIO[1,0]
+ i1 * FISH.dummy[2] * SCENARIO
+ i2 * FISH.dummy[3] * SCENARIO
+ i3 * WILD.dummy[2] * SCENARIO
+ i4 * WILD.dummy[3] * SCENARIO
+ i5 * ACCESS.dummy[2] * SCENARIO
+ i6 * ACCESS.dummy[3] * SCENARIO
+ i7 * WALK.dummy[2] * SCENARIO
+ i8 * WALK.dummy[3] * SCENARIO
/
U(alt2) = b1.dummy*FISH
+ b2.dummy*WILD
+ b3.dummy*ACCESS
+ b4.dummy*WALK
+ b5.dummy*COST
+ b6.dummy[0.1] * SCENARIO[1,0]
+ i1 * FISH.dummy[2] * SCENARIO
+ i2 * FISH.dummy[3] * SCENARIO
+ i3 * WILD.dummy[2] * SCENARIO
+ i4 * WILD.dummy[3] * SCENARIO
+ i5 * ACCESS.dummy[2] * SCENARIO
+ i6 * ACCESS.dummy[3] * SCENARIO
+ i7 * WALK.dummy[2] * SCENARIO
+ i8 * WALK.dummy[3] * SCENARIO
/
U(sq) = sq_asc[0]
$
yhashida
 
Posts: 6
Joined: Fri Feb 07, 2025 3:30 am

Re: Differentiating scenarios across alternatives

Postby Michiel Bliemer » Fri Feb 28, 2025 7:06 am

To answer your first question, by interacting with SCENARIO only (and not adding SCENARIO as a main effect) you are able to estimate the impact of the location on the preferences towards the other attributes, since this is captured in i1 to i8. For example, if location play a role in the preference for FISH, then i1 and i2 will be non-zero and statistically significant. You would not need to include SCENARIO as a main effect.

If SCENARIO is NOT a true scenario variable but rather an attribute of an alternative, then your second script would the correct.

You should ignore S estimates since you are using noninformative priors. With a prior value of 0.001 and 0.002 you are only indicating the preference order while the value itself is near-zero. With near-zero priors, sample size estimates will be very large because it indicates that the attribute has (almost) no effect on choice and therefore requires a huge sample size to estimate to a statistically significant level. They will go to infinite as the prior value approaches zero.

Once you have informative priors from a pilot study your S estimates can be interpreted meaningfully.

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


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 41 guests

cron