Orthogonal Design Inquiry

This forum is for posts covering broader stated choice experimental design issues.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Orthogonal Design Inquiry

Postby tsilberg » Mon Aug 14, 2017 5:24 pm

Please forgive this novice question, but I am trying to create choice sets for an orthogonal design. I have no idea how to write the syntax to make the choice sets. I’ve read the manual, but the code is foreign to me. I was wondering if anyone has some syntax I could mimic. Here’s what I’m trying to do-

I would present 2 possible farming practices to participants to choose from or continue what they’re doing (i.e., opt out). Thus, they would have 3 options per choice set. I have a total of 5 farming practices and was hoping to make 6 choice sets in total where there’s not an obvious choice for participants to make (i.e., they would have to make tradeoff). I take it, NGENE would make sure these sets have a tradeoff and the best choice is not obvious. Each choice has 5 attributes with varying magnitudes. Listed below are the attributes and their levels according to each choice-

Attribute 1: Weed prevalence (1,2,3), Attribute 2: Labor (1,2,3), Attribute 3: Input Cost ($65,000MKW, $75,000MKW, $95,000MKW), Attribute 4: Maize Yield (0.75 tons, 1.25 ton, 1.75 tons, 2.25 tons), Attribute 5: Legume Yield (0 kg, 300 kg, 600 kg)

Choice 1 – Parasitic Weed Prevalence: 1, Labor: 2, Input Cost: 75,000, Maize Yield: 1.25, Legume Yield: 600
Choice 2– Parasitic Weed Prevalence: 1, Labor: 3, Input Cost: 75,000, Maize Yield: 2.00, Legume Yield: 300
Choice 3– Parasitic Weed Prevalence: 2, Labor: 3, Input Cost: 65,000, Maize Yield: 2.00, Legume Yield: 0
Choice 4– Parasitic Weed Prevalence: 3, Labor: 1, Input Cost: 65,000, Maize Yield: 0.75, Legume Yield: 0
Choice 5– Parasitic Weed Prevalence: 1, Labor: 1, Input Cost: 95,000, Maize Yield: 2.25, Legume Yield: 0
Choice 6– Opt out

Any and all help is much appreciated. Again, apologies for this basic question. It’s my first time using NGENE and I’m a bit lost.
tsilberg
 
Posts: 6
Joined: Sat Aug 12, 2017 12:11 am

Re: Orthogonal Design Inquiry

Postby Michiel Bliemer » Tue Aug 15, 2017 12:08 pm

I am not sure I understand exactly what you want (especially your choice 1 to 6 is confusing me, not sure what they mean), but if you have 3 alternatives (incl one opt out) and 5 attributes and you want to have an orthogonal design, then the following syntax could be used:

Code: Select all
design
;alts = alt1, alt2, optout
;rows = 12
;block = 2
;orth = seq
;model:
U(alt1) = bweed*weed[1,2,3] + blabor*labor[1,2,3] + binput*input[65,75,95] + bmaize * maize[0.75,1.75,2.25] + blegume*legume[0,300,600] /
U(alt2) = bweed*weed[1,2,3] + blabor*labor[1,2,3] + binput*input[65,75,95] + bmaize * maize[0.75,1.75,2.25] + blegume*legume[0,300,600] /
U(optout) = ACSoptout
$


Note that an orthogonal design with 6 choice tasks does not exist, you can only find one with 9 or 12 or more. I have used 12 and blocked it in two, such that you can give 6 choice tasks in the first block to one respondent and the other 6 choice tasks to another respondent, essentially creating two versions of the survey. The resulting experimental design is:

Code: Select all
Choice situation   alt1.weed   alt1.labor   alt1.input   alt1.maize   alt1.legume   alt2.weed   alt2.labor   alt2.input   alt2.maize   alt2.legume   Block
1   2   2   75   2.25   0   1   1   95   1.75   0   2
2   3   2   95   0.75   600   1   1   65   0.75   300   2
3   1   3   95   1.75   600   2   2   75   2.25   0   1
4   1   3   65   0.75   300   2   2   75   2.25   600   2
5   1   1   95   1.75   0   3   2   95   0.75   600   2
6   3   3   65   1.75   0   1   3   65   0.75   300   1
7   2   2   75   2.25   600   2   3   75   2.25   300   1
8   2   3   75   2.25   300   2   1   75   2.25   300   2
9   3   2   95   0.75   0   1   3   95   1.75   600   1
10   1   1   65   0.75   300   3   2   95   0.75   0   1
11   3   1   65   1.75   600   3   3   65   1.75   0   2
12   2   1   75   2.25   300   3   1   65   1.75   600   1


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

Re: Orthogonal Design Inquiry

Postby tsilberg » Fri Aug 18, 2017 10:05 pm

Thank you Michiel Bliemer. This syntax is very helpful! I think I may be able to run my choice experiments now.

Please forgive the confusion. I believe I'm trying to make an orthogonal design, but perhaps if I elaborate on what I'm doing, you can suggest if the orthogonal design is appropriate. Also the syntax may need to be changed.

I interviewed farmers to figure out what practices they heard of to control weeds. Listed below (Alternative 1 through 5) are the practices farmers have heard about and what they demand in terms of labor and cost. In addition, each practice will deliver some level of weed control, maize yield and legume yield. Thus, the attributes of each weed control practice include weed response, labor requirement, input cost, maize yield and legume yield. The magnitude of each attribute are SET for each attribute. That is, they cannot change because their values are what actually occurs in the real world.

Cowpea/Maize Intercrop (Alternative 1)– Parasitic Weed Prevalence: 1, Labor: 2, Input Cost: 75,000, Maize Yield: 1.25, Legume Yield: 600
Pigeon Pea/Maize Intercrop (Alternative 2)– Parasitic Weed Prevalence: 1, Labor: 3, Input Cost: 75,000, Maize Yield: 2.00, Legume Yield: 300
Mulch & Minimum Tillage (Alternative 3)– Parasitic Weed Prevalence: 2, Labor: 3, Input Cost: 65,000, Maize Yield: 2.00, Legume Yield: 0
Early Maturing Maize Variety (Alternative 4)– Parasitic Weed Prevalence: 3, Labor: 1, Input Cost: 65,000, Maize Yield: 0.75, Legume Yield: 0
Herbicide Application (Alternative 5)– Parasitic Weed Prevalence: 1, Labor: 1, Input Cost: 95,000, Maize Yield: 2.25, Legume Yield: 0

I want to present two alternatives with an opt-out option for each choice set (e.g., Farmer must choose between Alternative 1, Alternative 5 or Opt Out). In total I want to have 6 choice sets I can run.

Please excuse the lengthy explanation. I think by expanding on my first question, I can give some better context. Thank you again for all of your help!
tsilberg
 
Posts: 6
Joined: Sat Aug 12, 2017 12:11 am

Re: Orthogonal Design Inquiry

Postby Michiel Bliemer » Fri Aug 18, 2017 10:43 pm

I still am not sure I understamd.
If your alternatives have fixed attribute levels, then there is only one choice task. What would you like to vary across the six choice tasks? Stated choice experiments are only useful if attribute levels vary in a hypothetical context, for example changing cost over multiple choice tasks to find out what the sensitivity is towards price. These choice tasks are hypothetical, they do not need to be levels existing in the current market.
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Orthogonal Design Inquiry

Postby Michiel Bliemer » Sun Aug 20, 2017 10:18 am

\Maybe it would be useful if you could give two or three examples of choice tasks you intend to give to respondents?
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Orthogonal Design Inquiry

Postby tsilberg » Wed Aug 23, 2017 7:53 am

No I think you have answered my question very well. Thank you. The only difficulty I'm having is figuring out an orthogonal design that has these levels for each attibute-

design
;alts = alt1, alt2, optout
;rows = 8
;block = 5
;orth = seq
;model:
U(alt1) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25, 0.25, 0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,-0.25,0.00,0.25,0.50] [/b]+ blegume*legume[0,1,2] /
U(alt2) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25, 0.25, 0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,-0.25,0.00,0.25,0.50] + blegume*legume[0,1,2] /
U(optout) = ACSoptout
$

If I remove the 0 value from the maize attribute (see below), I get 36 sets between 5 blocks.
bmaize * maize[-0.50,-0.25,0.25,0.50]

Do you have any suggestions for how to solve this issue. Perhaps it has to do with how many rows and blocks indicate in the syntax? Thank you for your time and consideration.
tsilberg
 
Posts: 6
Joined: Sat Aug 12, 2017 12:11 am

Re: Orthogonal Design Inquiry

Postby Michiel Bliemer » Wed Aug 23, 2017 9:41 am

Orthogonal designs are very restrictive and only allow you to choose specific combinations of numbers of attribute levels, the number of blocks, and the number of rows.

While most attributes have 3 levels, your maize attribute has 5. Finding an orthogonal design with 3 and 5 levels is difficult, it is much easier to find orthogonal designs with 3 and 4 levels (as you indicated), and even easier if all of them are 3 levels as in the syntax below. Note that the number of rows needs to be at least divisible by the number of levels (so just 3, or 3 and 4, or 3 and 5), and the number of rows needs to be divisible by the number of blocks. So the syntax below would work. In this example you would be giving 9 choice tasks to each respondent.

Code: Select all
design
;alts = alt1, alt2, optout
;rows = 18
?;block = 2
;orth = seq
;model:
U(alt1) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.50] + blegume*legume[0,1,2] /
U(alt2) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.50] + blegume*legume[0,1,2] /
U(optout) = ACSoptout
$


If you want to remove yourself from the restrictions of an orthogonal design, then you can use an efficient design with zero priors, which essentially will create a near-orthogonal design. Note that there is no problem in letting go of orthogonality, this has no consequences for choice models. So you could also use the following syntax, which allows you to use your 5 levels in the maize attribute. In this example, respondents would be facing 10 choice tasks each.

Code: Select all
design
;alts = alt1, alt2, optout
;rows = 30
;block = 3
;eff = (mnl,d)
;model:
U(alt1) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,-0.25,0,0.25,0.50] + blegume*legume[0,1,2] /
U(alt2) = bstrigaprev*strigaprev[1,2,3] + blabor*labor[-0.25,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,-0.25,0,0.25,0.50] + blegume*legume[0,1,2] /
U(optout) = ACSoptout
$


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

Re: Orthogonal Design Inquiry

Postby tsilberg » Wed Aug 23, 2017 6:33 pm

Dear Michiel,

Thank you for your explanation on orthoganality as well as the syntax. I tried keeping my attributes with only 3 levels or 3/4 levels. This has given me better results with designs. The only problem I have now is that when I use the syntax below (2 examples), NGENE's interface does not show me the blocks for choice situations. So I see all the choice situations, but without column showing me the blocks. Is this just one block or is there something I'm missing?

EXAMPLE 1-

design
;alts = alt1, alt2, optout
;rows = 36
?;block = 3
;orth = seq
;model:
U(alt1) = bstrigaprev*strigaprev[0,1,2] + blabor*labor[-0.50,0.00,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.00,0.25,0.50] + blegume*legume[0,1,2] /
U(alt2) = bstrigaprev*strigaprev[0,1,2] + blabor*labor[-0.50,0.00,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.00,0.25,0.50] + blegume*legume[0,1,2] /
U(optout) = ACSoptout
$

EXAMPLE 2-

design
;alts = alt1, alt2, optout
;rows = 40
?;block = 5
;orth = seq
;model:
U(alt1) = bstrigaprev*strigaprev[0,1,2] + blabor*labor[-0.25,0.00,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.00,0.25,0.50] + blegume*legume[0,1,2] /
U(alt2) = bstrigaprev*strigaprev[0,1,2] + blabor*labor[-0.25,0.00,0.25,0.5] + bfertility*fertility[0,1,2] + bmaize * maize[-0.50,0.00,0.25,0.50] + blegume*legume[0,1,2] /
U(optout) = ACSoptout
$

My guess with EXAMPLE 2 is because 72 cannot be divided into 5 equal blocks. Also because the rows are not divisible by 3 (only 4) that might be a problem as well. Is there a different
tsilberg
 
Posts: 6
Joined: Sat Aug 12, 2017 12:11 am

Re: Orthogonal Design Inquiry

Postby tsilberg » Wed Aug 23, 2017 6:36 pm

OH! There's a question mark ("?) in front of the block. Apologies for the bother.
tsilberg
 
Posts: 6
Joined: Sat Aug 12, 2017 12:11 am

Re: Orthogonal Design Inquiry

Postby Michiel Bliemer » Wed Aug 23, 2017 6:58 pm

Oops yes i forgot to delete the ?
:)
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm


Return to Choice experiments - general

Who is online

Users browsing this forum: No registered users and 2 guests

cron